diff options
author | Jeroen Roovers <jer@gentoo.org> | 2008-10-02 02:59:21 +0000 |
---|---|---|
committer | Jeroen Roovers <jer@gentoo.org> | 2008-10-02 02:59:21 +0000 |
commit | 86eb5b733c84d5c6c95353c9831303e408e92e43 (patch) | |
tree | 66ca59d6c66c9cb92eb38eeef17a411ede640426 /www-client/opera | |
parent | Revision bump and cleanup of old ebuilds. Also modified the warning at the e... (diff) | |
download | gentoo-2-86eb5b733c84d5c6c95353c9831303e408e92e43.tar.gz gentoo-2-86eb5b733c84d5c6c95353c9831303e408e92e43.tar.bz2 gentoo-2-86eb5b733c84d5c6c95353c9831303e408e92e43.zip |
Version bump <http://my.opera.com/desktopteam/blog/2008/10/01/opera-9-6-rc-1>. Implement install.sh changes thanks to Pacho Ramos (bug #204294).
(Portage version: 2.2_rc11/cvs/Linux 2.6.25-gentoo-r7-JeR i686)
Diffstat (limited to 'www-client/opera')
-rw-r--r-- | www-client/opera/ChangeLog | 11 | ||||
-rw-r--r-- | www-client/opera/files/opera-freedesktop.patch | 35 | ||||
-rw-r--r-- | www-client/opera/files/opera-gentoo.patch | 70 | ||||
-rw-r--r-- | www-client/opera/files/opera-simplify-desktop.patch | 24 | ||||
-rw-r--r-- | www-client/opera/opera-9.60_pre2440.ebuild | 243 |
5 files changed, 382 insertions, 1 deletions
diff --git a/www-client/opera/ChangeLog b/www-client/opera/ChangeLog index e0a16cd5f0e9..18232ed5580f 100644 --- a/www-client/opera/ChangeLog +++ b/www-client/opera/ChangeLog @@ -1,6 +1,15 @@ # ChangeLog for www-client/opera # Copyright 2002-2008 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/www-client/opera/ChangeLog,v 1.286 2008/09/26 17:29:58 jer Exp $ +# $Header: /var/cvsroot/gentoo-x86/www-client/opera/ChangeLog,v 1.287 2008/10/02 02:59:20 jer Exp $ + +*opera-9.60_pre2440 (02 Oct 2008) + + 02 Oct 2008; Jeroen Roovers <jer@gentoo.org> + +files/opera-freedesktop.patch, +files/opera-gentoo.patch, + +files/opera-simplify-desktop.patch, +opera-9.60_pre2440.ebuild: + Version bump + <http://my.opera.com/desktopteam/blog/2008/10/01/opera-9-6-rc-1>. + Implement install.sh changes thanks to Pacho Ramos (bug #204294). *opera-9.60_pre2436 (26 Sep 2008) diff --git a/www-client/opera/files/opera-freedesktop.patch b/www-client/opera/files/opera-freedesktop.patch new file mode 100644 index 000000000000..16c6614ab5da --- /dev/null +++ b/www-client/opera/files/opera-freedesktop.patch @@ -0,0 +1,35 @@ +--- install.sh~ 2008-09-07 14:22:32.000000000 +0200 ++++ install.sh 2008-09-07 14:22:32.000000000 +0200 +@@ -1405,7 +1405,6 @@ + EOF + fi + cat <<EOF +-Encoding=UTF-8 + Name=Opera + Name[af]=opera + Name[eo]=Opero +@@ -1438,19 +1437,20 @@ + # http://standards.freedesktop.org/menu-spec/menu-spec-latest.html + # + # but Chris included it anyway to fix +-# http://bugs.gentoo.org/show_bug.cgi?id=90508 ++# http://bugs.gentoo.org/show_bug.cgi?id=90508 -> This is already fixed ++# in Gnome + # + # Other possible categories: + # Email, Presentation, IRCClient, FileTransfer, P2P, News, WebDevelopment + + if test "$1" = "xdg" + then cat <<EOF +-Categories=Application;Qt;Network;WebBrowser;X-Ximian-Main;X-Ximian-Toplevel +-Icon=opera.png ++Categories=Qt;Network;WebBrowser;X-Ximian-Main;X-Ximian-Toplevel; ++Icon=opera + EOF + else echo 'Icon=opera' + fi +- echo 'MimeType=text/html;text/xml;application/xhtml+xml' ++ echo 'MimeType=text/html;text/xml;application/xhtml+xml;' + fi + cat <<EOF + Comment=Web Browser diff --git a/www-client/opera/files/opera-gentoo.patch b/www-client/opera/files/opera-gentoo.patch new file mode 100644 index 000000000000..8fb02dd50e8a --- /dev/null +++ b/www-client/opera/files/opera-gentoo.patch @@ -0,0 +1,70 @@ +--- install.sh.orig 2008-08-12 23:45:42.000000000 +0200 ++++ install.sh 2008-08-13 23:09:44.000000000 +0200 +@@ -1720,6 +1720,18 @@ + fi + } + ++gentoo() ++{ ++ if test -e /etc/gentoo-release ; then ++ for res in 16x16 22x22 32x32 48x48 ; do ++ mkdir -p /usr/share/icons/hicolor/${res}/apps ++ cp usr/share/icons/hicolor/${res}/apps/opera.png /usr/share/icons/hicolor/${res}/apps ++ done ++ mkdir -p ${D}/usr/share/applications ++ generate_desktop ${D}/usr/share/applications xdg ++ fi ++} ++ + huntdirs() + { + # $GNOME2PATH and $GNOMEPATH skipped (too few hits google site:gnome.org) +@@ -1737,47 +1749,7 @@ + + xdg() + { # http://standards.freedesktop.org +- UDD='' +- for BIN_DIR in `pathdirs`; do +- test -x ${BIN_DIR}/update-desktop-database || continue +- UDD=${BIN_DIR}/update-desktop-database; break +- done +- +- # http://standards.freedesktop.org/icon-theme-spec/icon-theme-spec-latest.html +- if test "$UDD"; then +- for ICON_DIR in `echo ${XDG_DATA_DIRS}:/usr/local/share:/usr/share|tr : '\012'|sed -e '/^$/d;s:$:/icons/hicolor:'` /usr/share/pixmaps/hicolor +- do test -d ${ICON_DIR} && break +- done +- +- if test ! -d ${ICON_DIR} +- then warn "Could not find icon installation directory, icons not installed." +- elif test ! -w ${ICON_DIR} +- then warn "Directory \"${ICON_DIR}\" not writable by user \"${USER}\", icons not installed." +- elif [ "`cd $ICON_DIR; /bin/pwd`" != "`cd usr/share/icons/hicolor; /bin/pwd`" ] +- then +- for RESOLUTION in 48x48 32x32 22x22 +- do TO_DIR=${ICON_DIR}/${RESOLUTION}/apps +- test -d $TO_DIR && test -w $TO_DIR && cp $cpv usr/share/icons/hicolor/$RESOLUTION/apps/opera.png $TO_DIR +- done +- fi +- +- for SHORTCUT_DIR in ${XDG_DATA_HOME}/applications /usr/local/share/applications /usr/share/applications +- do test -d ${SHORTCUT_DIR} && break; +- done +- +- if test ! -d ${SHORTCUT_DIR}; then warn "Could not find shortcut installation directory, desktop entry not installed."; return +- elif test ! -w ${SHORTCUT_DIR}; then warn "Directory \"${SHORTCUT_DIR}\" not writable by user \"${USER}\", desktop entry not installed."; return +- fi +- generate_desktop ${SHORTCUT_DIR} xdg +- ${UDD} +- else +- icons +- gnome +- kde 3 +- kde 2 +- kde1 +- mandrake +- fi ++ gentoo + } + + echo test | sed -n -e 's/test//' || error 'sed' diff --git a/www-client/opera/files/opera-simplify-desktop.patch b/www-client/opera/files/opera-simplify-desktop.patch new file mode 100644 index 000000000000..10d8f5a7110c --- /dev/null +++ b/www-client/opera/files/opera-simplify-desktop.patch @@ -0,0 +1,24 @@ +--- install.sh~ 2008-08-12 23:39:54.000000000 +0200 ++++ install.sh 2008-08-12 23:39:54.000000000 +0200 +@@ -1331,20 +1331,7 @@ + fi + + # Shorcuts and Icons +- bool_icons=1 # install icons by default +- if test "${flag_mode}" = "--force" -o "${flag_mode}" = "--prefix=" +- then +- warn +- warn "Shortcut icons would be ignored if installed with the prefix \"$prefix\"." +- if [ "$flag_mode" = "--force" ] +- then warn "Installing them in default locations." +- else bool_icons=0; warn "Ignoring them; menus shall lack nice icons." +- fi +- fi +- +- if test "$bool_icons" -ne 0 +- then xdg +- fi ++ xdg + + fi # OPERADESTDIR + diff --git a/www-client/opera/opera-9.60_pre2440.ebuild b/www-client/opera/opera-9.60_pre2440.ebuild new file mode 100644 index 000000000000..4461fd51cafa --- /dev/null +++ b/www-client/opera/opera-9.60_pre2440.ebuild @@ -0,0 +1,243 @@ +# Copyright 1999-2008 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/www-client/opera/opera-9.60_pre2440.ebuild,v 1.1 2008/10/02 02:59:20 jer Exp $ + +GCONF_DEBUG="no" + +inherit eutils gnome2 + +DESCRIPTION="A standards-compliant graphical Web browser" +HOMEPAGE="http://www.opera.com/" + +SLOT="0" +LICENSE="OPERA-9.0" +KEYWORDS="~amd64 ~ppc ~x86 ~x86-fbsd" + +RESTRICT="mirror strip test" + +IUSE="elibc_FreeBSD gnome ia32 qt-static qt3-static spell" +MY_LINGUAS="be bg cs da de el en en-GB es-ES es-LA fi fr fr-CA fy hi hr hu id it +ja ka ko lt mk nb nl nn pl pt pt-BR ru sv tr uk zh-CN zh-TW" + +for MY_LINGUA in ${MY_LINGUAS}; do + IUSE="${IUSE} linguas_${MY_LINGUA/-/_}" +done + +O_SUFF="2440" +O_P="${PN}-9.60-${O_SUFF}" +O_URI="http://snapshot.opera.com/unix/snapshot-${O_SUFF}/" + +SRC_URI=" + x86-fbsd? ( ${O_URI}intel-freebsd/${O_P}.freebsd5-shared-qt3.i386.tar.bz2 ) + ppc? ( ${O_URI}ppc-linux/${O_P}.gcc4-shared-qt3.ppc.tar.bz2 ) + qt-static? ( + qt3-static? ( + amd64? ( + ia32? ( ${O_URI}intel-linux/${O_P}.gcc4-static-qt3.i386.tar.bz2 ) + !ia32? ( ${O_URI}x86_64-linux/${O_P}.gcc4-shared-qt3.x86_64.tar.bz2 ) + ) + x86? ( ${O_URI}intel-linux/${O_P}.gcc4-static-qt3.i386.tar.bz2 ) + ) + !qt3-static? ( + amd64? ( + ia32? ( ${O_URI}intel-linux/${O_P}.gcc4-qt4.i386.tar.bz2 ) + !ia32? ( ${O_URI}x86_64-linux/${O_P}.gcc4-shared-qt3.x86_64.tar.bz2 ) + ) + x86? ( ${O_URI}intel-linux/${O_P}.gcc4-qt4.i386.tar.bz2 ) + ) + ) + !qt-static? ( + qt3-static? ( + amd64? ( + ia32? ( ${O_URI}intel-linux/${O_P}.gcc4-shared-qt3.i386.tar.bz2 ) + !ia32? ( ${O_URI}x86_64-linux/${O_P}.gcc4-shared-qt3.x86_64.tar.bz2 ) + ) + x86? ( ${O_URI}intel-linux/${O_P}.gcc4-shared-qt3.i386.tar.bz2 ) + ) + !qt3-static? ( + amd64? ( + ia32? ( ${O_URI}intel-linux/${O_P}.gcc4-shared-qt3.i386.tar.bz2 ) + !ia32? ( ${O_URI}x86_64-linux/${O_P}.gcc4-shared-qt3.x86_64.tar.bz2 ) + ) + x86? ( ${O_URI}intel-linux/${O_P}.gcc4-shared-qt3.i386.tar.bz2 ) + ) + ) + " + +DEPEND=">=sys-apps/sed-4" + +RDEPEND="media-libs/libexif + media-libs/jpeg + >=media-libs/fontconfig-2.1.94-r1 + x11-libs/libXrandr + x11-libs/libXp + x11-libs/libXmu + x11-libs/libXi + x11-libs/libXft + x11-libs/libXext + x11-libs/libXcursor + x11-libs/libX11 + x11-libs/libSM + x11-libs/libICE + x86? ( !qt-static? ( !qt3-static? ( =x11-libs/qt-3* ) ) ) + amd64? ( + ia32? ( app-emulation/emul-linux-x86-qtlibs ) + !ia32? ( =x11-libs/qt-3* ) + ) + ppc? ( =x11-libs/qt-3* ) + spell? ( app-text/aspell ) + x86-fbsd? ( + =virtual/libstdc++-3* + !qt-static? ( !qt3-static? ( =x11-libs/qt-3* ) ) + ) + " + +opera_cd() { + cd "${WORKDIR}"/${O_P}* || die "failed to enter work directory" + S="$(pwd)" + einfo "Working in ${S}" +} + +src_unpack() { + unpack ${A} + opera_cd + + #epatch "${FILESDIR}/${PN}-9.00-install.patch" + epatch "${FILESDIR}/${PN}-gentoo.patch" + epatch "${FILESDIR}/${PN}-simplify-desktop.patch" + epatch "${FILESDIR}/${PN}-freedesktop.patch" + + # bug #181300: + if use elibc_FreeBSD; then + epatch "${FILESDIR}/${PN}-9.50-pluginpath-fbsd.patch" + else + epatch "${FILESDIR}/${PN}-9.50-pluginpath.patch" + fi + + sed -i -e "s:config_dir=\"/etc\":config_dir=\"${D}/etc/\":g" \ + -e "s:/usr/share/applnk:${D}/usr/share/applnk:g" \ + -e "s:/usr/share/pixmaps:${D}/usr/share/pixmaps:g" \ + -e "s:/usr/share/icons:${D}/usr/share/icons:g" \ + -e "s:/etc/X11:${D}/etc/X11:g" \ + -e "s:/usr/share/gnome:${D}/usr/share/gnome:g" \ + -e "s:/opt/gnome/share:${D}/opt/gnome/share:g" \ + -e 's:#\(OPERA_FORCE_JAVA_ENABLED=\):\1:' \ + -e 's:#\(export LD_PRELOAD OPERA_FORCE_JAVA_ENABLED\):\1:' \ + -e 's:read str_answer:return 0:' \ + -e "s:/opt/kde:${D}/usr/kde:" \ + -e "s:\(str_localdirplugin=\).*$:\1/opt/opera/lib/opera/plugins:" \ + install.sh || die "sed failed" + +} + +src_compile() { + # This workaround is sadly needed because gnome2.eclass doesn't check + # whether a configure script or Makefile exists. + true +} + +src_install() { + opera_cd + # Prepare installation directories for Opera's installer script. + dodir /etc + + # Opera's native installer. + ./install.sh --prefix="${D}"/opt/opera || die "install.sh failed" + + einfo "It is safe to ignore warnings about failed checksums" + einfo "and about files that would be ignored ..." + einfo "Completing the installation where install.sh abandoned us ..." + + # java workaround + sed -i -e 's:LD_PRELOAD="${OPERA_JAVA_DIR}/libawt.so":LD_PRELOAD="$LD_PRELOAD"\:"${OPERA_JAVA_DIR}/libawt.so":' "${D}"/opt/opera/bin/opera + + dosed /opt/opera/bin/opera + dosed /opt/opera/share/opera/java/opera.policy + + # Install the icons + insinto /usr/share/pixmaps + doins usr/share/pixmaps/opera.xpm + + local res + for res in 16x16 22x22 32x32 48x48 ; do + insinto /usr/share/icons/hicolor/${res}/apps + doins usr/share/icons/hicolor/${res}/apps/opera.png + done + + # Install the menu entry + make_desktop_entry opera Opera /usr/share/pixmaps/opera.xpm 'Network;WebBrowser;Email;FileTransfer;IRCClient' + + # Install a symlink /usr/bin/opera + dodir /usr/bin + dosym /opt/opera/bin/opera /usr/bin/opera + + # fix plugin path + echo "Plugin Path=/opt/opera/lib/opera/plugins" >> "${D}"/etc/opera6rc + + # enable spellcheck + if use spell; then + if use qt-static; then + DIR=${P}.1 + else + use sparc && DIR=${P}.2 || DIR=${P}.5 + fi + echo "Spell Check Engine=/opt/opera/lib/opera/${DIR}/spellcheck.so" >> "${D}"/opt/opera/share/opera/ini/spellcheck.ini + fi + + dodir /etc/revdep-rebuild + echo 'SEARCH_DIRS_MASK="/opt/opera/lib/opera/plugins"' > "${D}"/etc/revdep-rebuild/90opera + + # Change libz.so.3 to libz.so.1 for gentoo/freebsd + if use elibc_FreeBSD; then + scanelf -qR -N libz.so.3 -F "#N" "${D}"/opt/${PN}/ | \ + while read i; do + if [[ $(strings "$i" | fgrep -c libz.so.3) -ne 1 ]]; + then + export SANITY_CHECK_LIBZ_FAILED=1 + break + fi + sed -i -e 's/libz\.so\.3/libz.so.1/g' "$i" + done + [[ "$SANITY_CHECK_LIBZ_FAILED" = "1" ]] && die "failed to change libz.so.3 to libz.so.1" + fi + + # Add the Opera man dir to MANPATH: + insinto /etc/env.d + echo 'MANPATH="/opt/opera/share/man"' >> "${D}"/etc/env.d/90opera + + # Remove unwanted LINGUAS: + local LINGUA + local LNGDIR="${D}/opt/opera/share/opera/locale" + einfo "Keeping these locales: ${LINGUAS}." + for LINGUA in ${MY_LINGUAS}; do + if ! use linguas_${LINGUA/-/_}; then + LINGUA=$(find "${LNGDIR}" -maxdepth 1 -type d -iname ${LINGUA/_/-}) + rm -r "${LINGUA}" + fi + done +} + +pkg_postinst() { + use gnome && gnome2_pkg_postinst + + elog "To change the UI language, choose [Tools] -> [Preferences], open the" + elog "[General] tab, click on [Details...] then [Choose...] and point the" + elog "file chooser at /opt/opera/share/opera/locale/, then enter the" + elog "directory for the language you want and [Open] the .lng file." + elog + elog "To use the spellchecker (USE=spell) for non-English simply do" + elog "$ emerge app-dicts/aspell-[your language]." + + if use elibc_FreeBSD; then + elog + elog "To improve shared memory usage please set:" + elog "$ sysctl kern.ipc.shm_allow_removed=1" + fi + + elog "The Opera betas may still have issues with plugins, notably" + elog "net-www/netscape-flash. See also https://bugs.gentoo.org/198162" +} + +pkg_postrm() { + use gnome && gnome2_pkg_postrm +} |