Install libopera(gtk|kde4).so optionally.
authorJeroen Roovers <jer@gentoo.org>
Thu, 8 Jul 2010 22:32:46 +0000 (22:32 +0000)
committerJeroen Roovers <jer@gentoo.org>
Thu, 8 Jul 2010 22:32:46 +0000 (22:32 +0000)
Package-Manager: portage-2.2_rc67/cvs/Linux i686

www-client/opera/ChangeLog
www-client/opera/Manifest
www-client/opera/opera-10.60-r1.ebuild [new file with mode: 0644]

index 63de527eef046330376fb8d41b7572eae13cb848..167aa564708cd816091084cb3feb14f24b8fa40b 100644 (file)
@@ -1,6 +1,11 @@
 # ChangeLog for www-client/opera
 # Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/www-client/opera/ChangeLog,v 1.514 2010/07/02 21:59:40 pacho Exp $
+# $Header: /var/cvsroot/gentoo-x86/www-client/opera/ChangeLog,v 1.515 2010/07/08 22:32:46 jer Exp $
+
+*opera-10.60-r1 (08 Jul 2010)
+
+  08 Jul 2010; Jeroen Roovers <jer@gentoo.org> +opera-10.60-r1.ebuild:
+  Install libopera(gtk|kde4).so optionally.
 
   02 Jul 2010; Pacho Ramos <pacho@gentoo.org> opera-10.60.ebuild:
   stable amd64, security bug 326413
index f07222b45c36111e951ef688cc7fc84588d5cf58..d8257798fbad2be8311427abab609922b23a9c4b 100644 (file)
@@ -1,6 +1,3 @@
------BEGIN PGP SIGNED MESSAGE-----
-Hash: SHA1
-
 AUX opera 123 RMD160 69142622c1e9930354e708f1cb59a5cb529957df SHA1 be6610d3fe5bd60cf9d4c31ca4072155130c54c3 SHA256 bd412849d77521621398feb0efa342aaa31901746d395a6078065422502bd428
 AUX opera-10.00-pluginpath-fbsd.patch 341 RMD160 735a872421680b1468e2694f9ed41a56d0f23f60 SHA1 41ba2709c1fa585491221f924b3cd000768cd7c2 SHA256 0af425e1845617d7a5f23b1a991c7d306ea2b62b548a2201aa6f0b0ad060d023
 AUX opera-10.00-pluginpath.patch 439 RMD160 9fc1bcb8430d185d040a811c2714077eaad159af SHA1 37a6b63d4d1d34e8f43f6ba838d09ceec6cfd607 SHA256 b34e438bab40599b70a7dfd4946a82e718fb46de0384062b41c51db5a047db4c
@@ -17,13 +14,7 @@ DIST opera-10.60-6386.i386.linux.tar.bz2 12653386 RMD160 f35bb15f4354ee6a638ba3b
 DIST opera-10.60-6386.ppc.linux.tar.bz2 12988748 RMD160 c72c9f71ee5b2546829515d210eee81ef889f9da SHA1 5fb76f24dc7f9c962af8e2ed0463e00ca7858ff2 SHA256 4edad3e4814747b7438dfa37b6397996faee6c5e6e9d6fe3773175fd2e42d09b
 DIST opera-10.60-6386.x86_64.linux.tar.bz2 13680030 RMD160 c1975c7a552fc503282103441b557034e6a5ad8f SHA1 4f5285415c88199614ddc61a282d47b21533b3fe SHA256 1d35c9a37966e97d253663ee50d7b7be12f940c51d8b0b88848cdf06d1e32c0c
 EBUILD opera-10.11.ebuild 4931 RMD160 13ff28c49a332f816a6c6977f44b105f6063a7e6 SHA1 c3b88e01930c067585647ec7e527c35cd346dc72 SHA256 8d1bb4b49055f5542c3398233513ec51f95d8e7d565e46f74d1cd3b01d099fe3
+EBUILD opera-10.60-r1.ebuild 5117 RMD160 f21139fb16e84c151ae33952f8a7e880dd2184f6 SHA1 cb854aefb8d4f96e58822692abee55c038c8c245 SHA256 a45ea695ebcef52b85a23e98bb460434ef1d39a52bd1f33f44cb7f4692959ce7
 EBUILD opera-10.60.ebuild 4887 RMD160 085113bab085a1383060dec37d1afbaf86657e51 SHA1 48d7d850727ea9e953bc6ab21459881f3c64231e SHA256 494d7e28896011d6663a268424db9e2f65a5fc427bea9073c709b11423c869fc
-MISC ChangeLog 99201 RMD160 365c7f35eb87f513ed1066715af25ad59c32c4be SHA1 1ebd234b31d85c4e33d3b176cd172b92cdb15ddc SHA256 fd8cdb22a25f59ab348a4862d1990bd8f1cb95aded19f511e1e6516ad13441b9
+MISC ChangeLog 99346 RMD160 9488dfb617acccfcca139de8c3f7d099ee0b71f4 SHA1 dafbdcb4acead79872706f12492f5bd66120e9e2 SHA256 34873e93c49f81c1c1b8a4ae1e0c835e85870df189d0ebc03302195a9f3fa965
 MISC metadata.xml 722 RMD160 f424184eb789ae7afcf8c19a74de21a6029366d2 SHA1 5726f20bc46f15fd7a769293bda721afd2d3df8c SHA256 415493d83f3ebe328fd8a4038f90833cbcc0f983b43c01d9440782bbcfeb4e3a
------BEGIN PGP SIGNATURE-----
-Version: GnuPG v2.0.15 (GNU/Linux)
-
-iEYEARECAAYFAkwuYVYACgkQCaWpQKGI+9TnKgCeOeBFrMS3fijJ70yANhWMpfyW
-dekAnic5z50PaVx10ZkwUV/CZ52gwtO9
-=gSA4
------END PGP SIGNATURE-----
diff --git a/www-client/opera/opera-10.60-r1.ebuild b/www-client/opera/opera-10.60-r1.ebuild
new file mode 100644 (file)
index 0000000..806c13c
--- /dev/null
@@ -0,0 +1,194 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/www-client/opera/opera-10.60-r1.ebuild,v 1.1 2010/07/08 22:32:46 jer Exp $
+
+EAPI="2"
+
+inherit eutils multilib
+
+DESCRIPTION="A standards-compliant graphical Web browser"
+HOMEPAGE="http://www.opera.com/"
+
+SLOT="0"
+LICENSE="OPERA-10.53 LGPL-2 LGPL-3"
+KEYWORDS="~amd64 ~ppc ~x86 ~x86-fbsd"
+IUSE="elibc_FreeBSD gtk kde +gstreamer"
+
+RESTRICT="mirror test"
+
+OPREFIX="/usr/$(get_libdir)"
+
+QA_DT_HASH="${OPREFIX}/${PN}/.*"
+QA_PRESTRIPPED="${OPREFIX}/${PN}/.*"
+
+MY_LINGUAS="
+       be bg cs da de el en-GB es-ES es-LA et fi fr fr-CA fy hi hr hu id it ja ka
+       ko lt mk nb nl nn pl pt pt-BR ro ru sk sr sv ta te tr uk vi zh-CN zh-HK
+       zh-TW
+"
+
+for MY_LINGUA in ${MY_LINGUAS}; do
+       IUSE="${IUSE} linguas_${MY_LINGUA/-/_}"
+done
+
+O_U="mirror://opera/"
+O_P="${P}-6386"
+
+SRC_URI="
+       amd64? ( ${O_U}linux/${PV/./}/${O_P}.x86_64.linux.tar.bz2 )
+       ppc? ( ${O_U}linux/${PV/./}/${O_P}.ppc.linux.tar.bz2 )
+       x86? ( ${O_U}linux/${PV/./}/${O_P}.i386.linux.tar.bz2 )
+       x86-fbsd? ( ${O_U}unix/${PV/./}/${O_P}.i386.freebsd.tar.bz2 )
+"
+
+DEPEND=">=sys-apps/sed-4"
+
+RDEPEND="
+       gtk? (
+               =x11-libs/gtk+-2*
+               dev-libs/atk
+               dev-libs/glib
+               media-libs/glitz
+               x11-libs/cairo
+               x11-libs/pango
+               x11-libs/pixman
+       )
+       kde? (
+               kde-base/kdelibs
+       )
+       dev-libs/expat
+       media-libs/fontconfig
+       media-libs/freetype
+       gstreamer? ( media-plugins/gst-plugins-meta )
+       sys-apps/util-linux
+       sys-libs/zlib
+       virtual/opengl
+       x11-libs/libICE
+       x11-libs/libSM
+       x11-libs/libX11
+       x11-libs/libXau
+       x11-libs/libXcomposite
+       x11-libs/libXcursor
+       x11-libs/libXdamage
+       x11-libs/libXdmcp
+       x11-libs/libXext
+       x11-libs/libXfixes
+       x11-libs/libXi
+       x11-libs/libXmu
+       x11-libs/libXrandr
+       x11-libs/libXrender
+       x11-libs/libXt
+       x11-libs/libxcb
+       x11-libs/xcb-util
+       "
+
+opera_linguas() {
+       # Remove unwanted LINGUAS:
+       local LINGUA
+       local LNGDIR="${D}usr/share/${PN}/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_setup() {
+       echo -e \
+               " ${GOOD}****************************************************${NORMAL}"
+       elog "If you seek support, please file a bug report at"
+       elog "https://bugs.gentoo.org and post the output of"
+       elog " \`emerge --info =${CATEGORY}/${P}'"
+       echo -e \
+               " ${GOOD}****************************************************${NORMAL}"
+}
+
+src_unpack() {
+       unpack ${A}
+       if [[ ! -d ${S} ]]; then
+               cd "${WORKDIR}"/${PN}* || die "failed to enter work directory"
+               S="$(pwd)"
+               einfo "Setting WORKDIR to ${S}"
+       fi
+}
+
+src_install() {
+       # Remove "license directory" (bug #315473)
+       rm -rf "share/doc/opera"
+       
+       # Leave libopera*.so only if the user chooses
+       if ! use gtk; then
+               rm lib/opera/liboperagtk.so || die "rm liboperagtk.so failed"
+       fi
+       if ! use kde; then
+               rm lib/opera/liboperakde4.so || die "rm liboperakde4.so failed"
+       fi
+
+       # We install into usr instead of opt as Opera does not support the latter
+       dodir /usr
+       mv lib/  "${D}/${OPREFIX}" || die "mv lib/ failed"
+       mv share/ "${D}/usr/" || die "mv share/ failed"
+
+       # Unzip the man pages before sedding
+       gunzip "${D}"/usr/share/man/man1/* || die "gunzip failed"
+
+       # Replace PREFIX and SUFFIX in various files
+       sed -i \
+               -e "s:@@{PREFIX}:/usr:g" \
+               -e "s:@@{SUFFIX}::g" \
+               -e "s:@@{_SUFFIX}::g" \
+               -e "s:@@{USUFFIX}::g" \
+               "${D}"/usr/share/mime/packages/opera-widget.xml \
+               "${D}"/usr/share/man/man1/* \
+               "${D}"/usr/share/applications/opera-browser.desktop \
+               "${D}"/usr/share/applications/opera-widget-manager.desktop || die "sed failed"
+
+       # Sed libdir in opera script
+       sed "${FILESDIR}"/opera \
+               -e "s|OPERA_LIBDIR|${OPREFIX}|g" > opera \
+               || die "sed opera script failed"
+
+       # Sed libdir in defaults/pluginpath.ini
+       sed -i \
+               -e "s|/usr/lib32|${OPREFIX}|g" \
+               "${D}"/usr/share/opera/defaults/pluginpath.ini \
+               || die "sed pluginpath.ini failed"
+
+       # Install startup scripts
+       dobin ${PN} ${PN}-widget-manager || die "dobin failed"
+
+       # Stop revdep-rebuild from checking opera binaries
+       dodir /etc/revdep-rebuild
+       echo "SEARCH_DIRS_MASK=\"${OPREFIX}/${PN}\"" > "${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}"${OPREFIX}/${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
+
+       [[ -z MY_LINGUAS ]] || opera_linguas
+}
+
+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 /usr/share/opera/locale/, then enter the"
+       elog "directory for the language you want and [Open] the .lng file."
+
+       if use elibc_FreeBSD; then
+               elog
+               elog "To improve shared memory usage please set:"
+               elog "$ sysctl kern.ipc.shm_allow_removed=1"
+       fi
+}