summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeroen Roovers <jer@gentoo.org>2008-10-02 02:59:21 +0000
committerJeroen Roovers <jer@gentoo.org>2008-10-02 02:59:21 +0000
commit86eb5b733c84d5c6c95353c9831303e408e92e43 (patch)
tree66ca59d6c66c9cb92eb38eeef17a411ede640426 /www-client/opera
parentRevision bump and cleanup of old ebuilds. Also modified the warning at the e... (diff)
downloadgentoo-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/ChangeLog11
-rw-r--r--www-client/opera/files/opera-freedesktop.patch35
-rw-r--r--www-client/opera/files/opera-gentoo.patch70
-rw-r--r--www-client/opera/files/opera-simplify-desktop.patch24
-rw-r--r--www-client/opera/opera-9.60_pre2440.ebuild243
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
+}