http://my.opera.com/desktopteam/blog/2011/10/10/featherweight-and-plugin-installation...
authorJeroen Roovers <jer@gentoo.org>
Mon, 10 Oct 2011 20:43:19 +0000 (20:43 +0000)
committerJeroen Roovers <jer@gentoo.org>
Mon, 10 Oct 2011 20:43:19 +0000 (20:43 +0000)
Package-Manager: portage-2.2.0_alpha64/cvs/Linux x86_64

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

index 403790c33c3cb431c64057037082f46b1acb33cb..9eae517d74141f6d3ec476011011171de6742246 100644 (file)
@@ -1,6 +1,12 @@
 # ChangeLog for www-client/opera-next
 # Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/www-client/opera-next/ChangeLog,v 1.45 2011/10/07 15:12:04 jer Exp $
+# $Header: /var/cvsroot/gentoo-x86/www-client/opera-next/ChangeLog,v 1.46 2011/10/10 20:43:19 jer Exp $
+
+*opera-next-12.00.1090 (10 Oct 2011)
+
+  10 Oct 2011; Jeroen Roovers <jer@gentoo.org> +opera-next-12.00.1090.ebuild:
+  http://my.opera.com/desktopteam/blog/2011/10/10/featherweight-and-plugin-inst
+  allation-improves-plus-important-fixes
 
 *opera-next-12.00.1085 (07 Oct 2011)
 
index 6527cc9c08e45a618226f2f305c5531c7010e0cd..063c6e863d8b46ccd96f5194a38a27d0a3a41ac9 100644 (file)
@@ -16,17 +16,21 @@ DIST opera-next-12.00-1076.x86_64.linux.tar.xz 12018828 RMD160 f8586c02f794336b6
 DIST opera-next-12.00-1085.i386.freebsd.tar.xz 11453760 RMD160 b9b27b7b2c6b133a5d2d11c3c5747e56af937539 SHA1 84c815e0faacdc3cf2ad18758434744b290a3f62 SHA256 ad97126c88574b12502c52ab35b733e821cdb6e8800ab4f3ed5685df74abbc66
 DIST opera-next-12.00-1085.i386.linux.tar.xz 11449132 RMD160 dfd98084df91323dbc0edd9cfe1c8b81a99a902d SHA1 6c90ac901ffd5cf824a62f67e25854d8644fccdc SHA256 af5f4095464de3a8c00edde6ec3f60d1f9eb00d4ff3dfcb6d7bcfcf47e9b3df5
 DIST opera-next-12.00-1085.x86_64.linux.tar.xz 12249256 RMD160 f9b6dd9a5dc25518a9b886b8c1dae84bebe7a786 SHA1 0066487cae9a09ef456c5bf7a7f7984a1aa57547 SHA256 d416417d48f94bf5552058f0d36c1fababb7006fe74c2b8c345013204be609af
+DIST opera-next-12.00-1090.i386.freebsd.tar.xz 11285220 RMD160 594b8db0e9b222ae1540ea9a6d085350fdfdf2ba SHA1 be52b66dd98b1e9439329622ac9f335a37aff3a9 SHA256 dd8aebeb485d7137c97749ad79b5492f9bc6d91f58a5dad5a6249859b7cbe642
+DIST opera-next-12.00-1090.i386.linux.tar.xz 11253452 RMD160 28a40fb6075c65a3ef4cbe579d9bcd02e4b1a7d4 SHA1 5157f09b5ca5aeebe5aa573cfb595049a56a327b SHA256 0587902b7a0aef92f2f9cd945c4dc23347e128e86479d1bca83484b1d61ff1df
+DIST opera-next-12.00-1090.x86_64.linux.tar.xz 12079884 RMD160 c993bdcf9301bb0807a820c4e45c22253961aa44 SHA1 2b6bbdcbded513b4f33dec8d7ab8bc2d1776970e SHA256 8b0e71a89803e3a822e7a6a04c7fa26b04866730c05c0b9ff31ee756e5f92765
 EBUILD opera-next-12.00.1054.ebuild 6068 RMD160 caa4d42e4a0e8a726c0170608e74aa12a7f6522a SHA1 61eb01e530a65333edddebf89755f42a0e97f739 SHA256 a410dae1dad6cfa7c3048e88ab310fe551f9982a56ed91d89e26330e51ab27ce
 EBUILD opera-next-12.00.1060.ebuild 6064 RMD160 6e3d6efd15e0e1d3cbc1bd071db65397961362e0 SHA1 85f279d9384346f6fdff9fde56ac33997cb237ee SHA256 bbc2ab32bc18b1a96aed409a5e7867300a82a7521624c058855fb2ec3ddd62db
 EBUILD opera-next-12.00.1065.ebuild 6065 RMD160 771f43d386b283f862295a642d57c85b6fb81629 SHA1 c20624909c9df94d3ca30f00cc980540898a81c4 SHA256 93d7481ff1e10f899ddd3627e933d1902fdc7e27bd5aaf68eb4140f9eb61991c
 EBUILD opera-next-12.00.1076.ebuild 5864 RMD160 765d6b2afd37a7fb8b7d9047b3453b0d952f6d42 SHA1 095fdbf7e6e612cd12473340d5eb8abcb302e1f2 SHA256 78915b413ae755f709548a85f062cd836166ca5b5245e33414cfc821bc1104b6
 EBUILD opera-next-12.00.1085.ebuild 5862 RMD160 1f40fad9ca05f95ef9ff8cfe18c58b4af55ca916 SHA1 a62fc19545637ef3f1d6001fe2c69fd06fa32982 SHA256 5ece8d7350b20a2d86104452bd69876980593edd2f761c8d8cc940e7cfaef19b
-MISC ChangeLog 9096 RMD160 83a0b087bdefd00ba4dfec49d698a0fb8757a237 SHA1 6585902c5cb288c8b07a23e568fb121a2b1f49d2 SHA256 987ee5247f7cb9de36ceef43ac5bde3ba2dc6071c124d7e6dedd52c3fc515b6f
+EBUILD opera-next-12.00.1090.ebuild 5866 RMD160 a4cc520bcf5acae6f55876beecdad1208d5d1db2 SHA1 4623c2f0efdbeda20d2a953969400e88ce699577 SHA256 b07ede6e0646c899fb338503dd7be0620aaafc28ca39d2a56cfd280228bbf6e4
+MISC ChangeLog 9334 RMD160 407c307cd796476bf291f63aaddc1de953f40223 SHA1 f188801e3a1e35a11181c15fa18dd1521eece820 SHA256 8ed0192140e95b1e3bd758e22ee22661ebb582b359d3e8ee32fc0bde9eb6e650
 MISC metadata.xml 1526 RMD160 0148fe23f26a0425e8cae068363e59fa36af7db5 SHA1 5153ce9757f7e664f6b6e52fd952441394620ee4 SHA256 ae8acdaecc24fd0c49c3eea1169613b531810f243e3488408d1e3100ec93c7bc
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2.0.17 (GNU/Linux)
 
-iEYEARECAAYFAk6PFs4ACgkQVWmRsqeSphOPHgCfZo4eewInFb1RSLNRTS0///0Y
-izIAn0V9AdpQp26nl8r7QD7WEhvoGQ2x
-=jV3H
+iEYEARECAAYFAk6TWOwACgkQVWmRsqeSphNiMQCeKt61vkk9bEVriWbIHZusM0Y7
+QCUAn3lSMuvqebMD8ZviBWpr8n4/Fj2C
+=o5gV
 -----END PGP SIGNATURE-----
diff --git a/www-client/opera-next/opera-next-12.00.1090.ebuild b/www-client/opera-next/opera-next-12.00.1090.ebuild
new file mode 100644 (file)
index 0000000..565dc69
--- /dev/null
@@ -0,0 +1,225 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/www-client/opera-next/opera-next-12.00.1090.ebuild,v 1.1 2011/10/10 20:43:19 jer Exp $
+
+EAPI="4"
+
+inherit eutils fdo-mime gnome2-utils multilib pax-utils versionator
+
+DESCRIPTION="A fast and secure web browser and Internet suite"
+HOMEPAGE="http://www.opera.com/"
+
+SLOT="0"
+LICENSE="OPERA-11 LGPL-2 LGPL-3"
+KEYWORDS="~amd64 ~x86 ~x86-fbsd"
+IUSE="elibc_FreeBSD gtk kde +gstreamer"
+
+O_V="$(get_version_component_range 1-2)" # Major version, i.e. 11.00
+O_B="$(get_version_component_range 3)"   # Build version, i.e. 1156
+
+O_D="feathers_${O_V}-${O_B}"
+O_P="${PN}-${O_V}-${O_B}"
+O_U="http://snapshot.opera.com/unix/"
+
+SRC_URI="
+       amd64? ( ${O_U}${O_D}/${O_P}.x86_64.linux.tar.xz )
+       x86? ( ${O_U}${O_D}/${O_P}.i386.linux.tar.xz )
+       x86-fbsd? ( ${O_U}${O_D}/${O_P}.i386.freebsd.tar.xz )
+"
+
+OPREFIX="/usr/$(get_libdir)"
+
+QA_DT_HASH="${OPREFIX}/${PN}/.*"
+QA_PRESTRIPPED="${OPREFIX}/${PN}/.*"
+
+O_LINGUAS="af az be bg bn cs da de el en-GB es-ES es-LA et fi fr fr-CA fy gd hi
+hr hu id it ja ka ko lt me mk ms nb nl nn pa pl pt pt-BR ro ru sk sr sv sw ta te
+th tl tr uk uz vi zh-CN zh-TW zu"
+
+for O_LINGUA in ${O_LINGUAS}; do
+       IUSE="${IUSE} linguas_${O_LINGUA/-/_}"
+done
+
+DEPEND="
+       >=sys-apps/sed-4
+       app-arch/xz-utils
+"
+GTKRDEPEND="
+       dev-libs/atk
+       dev-libs/glib:2
+       x11-libs/cairo
+       x11-libs/gdk-pixbuf
+       x11-libs/gtk+:2
+       x11-libs/pango
+       x11-libs/pixman
+"
+KDERDEPEND="
+       kde-base/kdelibs
+       x11-libs/qt-core
+       x11-libs/qt-gui
+"
+GSTRDEPEND="
+       dev-libs/glib
+       dev-libs/libxml2
+       media-plugins/gst-plugins-meta
+       media-libs/gstreamer
+"
+RDEPEND="
+       media-libs/fontconfig
+       media-libs/freetype
+       sys-apps/util-linux
+       sys-libs/zlib
+       virtual/opengl
+       x11-libs/libICE
+       x11-libs/libSM
+       x11-libs/libX11
+       x11-libs/libXext
+       x11-libs/libXft
+       x11-libs/libXrender
+       gtk? ( ${GTKRDEPEND} )
+       kde? ( ${KDERDEPEND} )
+       gstreamer? ( ${GSTRDEPEND} )
+"
+
+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}
+       mv -v ${PN}* "${S}" || die
+}
+
+src_prepare() {
+       local LNGDIR="share/${PN}/locale"
+
+       # Count linguas
+       count() { echo ${#}; }
+       local lingua_count=$(count ${O_LINGUAS} en)
+       local locale_count=$(count ${LNGDIR}/*)
+       [[ ${lingua_count} = ${locale_count} ]] \
+               || die "Number of LINGUAS does not match number of locales"
+       unset count
+
+       # Remove unwanted linguas
+       einfo "Keeping these locales (linguas): ${LINGUAS}."
+       for LINGUA in ${O_LINGUAS}; do
+               if ! use linguas_${LINGUA/-/_}; then
+                       LINGUA=$(find "${LNGDIR}" -maxdepth 1 -type d -iname ${LINGUA/_/-})
+                       rm -r "${LINGUA}" || die "The list of linguas needs to be fixed"
+               fi
+       done
+
+       # Remove doc directory but keep the LICENSE under another name (bug #315473)
+       mv share/doc/${PN}/LICENSE share/${PN}/defaults/license.txt
+       rm -rf share/doc
+       for locale in share/${PN}/locale/*; do
+               rm -f "${locale}/license.txt"
+               ln -sn /usr/share/${PN}/defaults/license.txt "${locale}/license.txt" \
+                       || die "ln -sn license.txt"
+       done
+
+       # Remove package directory
+       rm -rf share/${PN}/package
+
+       # Leave libopera*.so only if the user chooses
+       if ! use gtk; then
+               rm lib/${PN}/liboperagtk2.so || die "rm liboperagtk.so failed"
+       fi
+       if ! use kde; then
+               rm lib/${PN}/liboperakde4.so || die "rm liboperakde4.so failed"
+       fi
+
+       # Unzip the man pages before sedding
+       gunzip share/man/man1/* || die "gunzip failed"
+
+       # Replace PREFIX, SUFFIX and PN in various files
+       sed -i \
+               -e "s:@@{PREFIX}:/usr:g" \
+               -e "s:@@{SUFFIX}::g" \
+               -e "s:@@{_SUFFIX}::g" \
+               -e "s:@@{USUFFIX}::g" \
+               -e "s:opera:${PN}:g" \
+               share/man/man1/* \
+               share/applications/${PN}-*.desktop \
+               || die "sed failed"
+
+       # Replace "Opera" with "Opera Next"
+       if [[ ${PN} = opera-next ]]; then
+               sed -i share/applications/${PN}-*.desktop \
+                       -e "/^Name=Opera\|^ Next/s:Opera:& Next:" || die
+       fi
+
+       # Create /usr/bin/opera wrapper
+       echo '#!/bin/sh' > ${PN}
+       echo 'export OPERA_DIR=/usr/share/'"${PN}" >> ${PN}
+       echo 'export OPERA_PERSONALDIR=${OPERA_PERSONALDIR:-"${HOME}/.'${PN}'"}' \
+               >> ${PN}
+       echo 'exec '"${OPREFIX}/${PN}/${PN}"' "$@"' >> ${PN}
+
+       # Change libz.so.3 to libz.so.1 for gentoo/freebsd
+       if use elibc_FreeBSD; then
+               scanelf -qR -N libz.so.3 -F "#N" lib/${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 \
+                               "$i" \
+                               -e 's/libz\.so\.3/libz.so.1/g'
+               done
+               [[ "$SANITY_CHECK_LIBZ_FAILED" = "1" ]] \
+                       && die "failed to change libz.so.3 to libz.so.1"
+       fi
+}
+
+src_install() {
+       # 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"
+
+       # Install startup scripts
+       dobin ${PN}
+
+       # Stop revdep-rebuild from checking opera binaries
+       dodir /etc/revdep-rebuild
+       echo "SEARCH_DIRS_MASK=\"${OPREFIX}/${PN}\"" \
+               > "${D}"/etc/revdep-rebuild/90${PN}
+
+       # Set PaX markings for hardened/PaX (bug #344267)
+       pax-mark m \
+               "${D}/${OPREFIX}/${PN}/${PN}" \
+               "${D}/${OPREFIX}/${PN}/operaplugincleaner" \
+               "${D}/${OPREFIX}/${PN}/operapluginwrapper"
+}
+
+pkg_preinst() {
+       gnome2_icon_savelist
+}
+
+pkg_postinst() {
+       if use elibc_FreeBSD; then
+               elog
+               elog "To improve shared memory usage please set:"
+               elog "$ sysctl kern.ipc.shm_allow_removed=1"
+       fi
+
+       # Update desktop file database and gtk icon cache (bug #334993)
+       gnome2_icon_cache_update
+       fdo-mime_desktop_database_update
+}
+
+pkg_postrm() {
+       # Update desktop file database and gtk icon cache (bug #334993)
+       gnome2_icon_cache_update
+       fdo-mime_desktop_database_update
+}