Apply substitutions to all desktop files. Change Name in desktop files to "Opera...
authorJeroen Roovers <jer@gentoo.org>
Sun, 7 Aug 2011 03:02:03 +0000 (03:02 +0000)
committerJeroen Roovers <jer@gentoo.org>
Sun, 7 Aug 2011 03:02:03 +0000 (03:02 +0000)
Package-Manager: portage-2.2.0_alpha50/cvs/Linux i686

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

index 1e975f1074095b421c4d3efbfb351a9409341f18..ee5488fe25826cdac52bf824dce5a4a87f62ebf5 100644 (file)
@@ -1,6 +1,13 @@
 # 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.36 2011/08/05 16:00:57 jer Exp $
+# $Header: /var/cvsroot/gentoo-x86/www-client/opera-next/ChangeLog,v 1.37 2011/08/07 03:02:03 jer Exp $
+
+*opera-next-12.00.1042-r1 (07 Aug 2011)
+
+  07 Aug 2011; Jeroen Roovers <jer@gentoo.org>
+  +opera-next-12.00.1042-r1.ebuild:
+  Apply substitutions to all desktop files. Change Name in desktop files to
+  "Opera Next" when appropriate.
 
 *opera-next-12.00.1042 (05 Aug 2011)
 
index b4bca5da2792dffed312f364272b7ef1006bf005..c49a1fe64fcd996d9b9e2778e092a4c966e32bdd 100644 (file)
@@ -29,13 +29,14 @@ EBUILD opera-next-12.00.1027.ebuild 6179 RMD160 f34a032afc90274ef4a9e255109e0a1c
 EBUILD opera-next-12.00.1033-r1.ebuild 6514 RMD160 f28a03be2fb432e57b452f648a5a558d38dd8e0a SHA1 3a5036de2111c3607a233e841630a40d6508a0a7 SHA256 8e5f84bb94d777acd9634ec729705b2c858ba38da7fee11c010a31392ec95140
 EBUILD opera-next-12.00.1033.ebuild 6182 RMD160 0fb21fd9ebd851169e8e2a0b5d95a432146630c1 SHA1 ee3b38835627e387ea7021fafa2a640956c242ae SHA256 5da2ccd0cadd7dbac59fb0ce785ae17044ca4fba65edc0af64b4b834b8e60f4e
 EBUILD opera-next-12.00.1039.ebuild 5891 RMD160 cb7a9e7b42dcf9749afe37f9aada761dcb683827 SHA1 ff073969b75642a5f10c219a5d744db8aa9640fa SHA256 a9cc17e80aff866c0872cfc69529fb9d199e75a24751a2a32cd3af9fc9fe9117
+EBUILD opera-next-12.00.1042-r1.ebuild 6065 RMD160 f7448d789cf5ea0bc2750347bbce2c50ca1ce5b9 SHA1 d018ca2d013d6ccf4f5473612e75263efe123fe6 SHA256 7afc244d3286a26fa5fa0f169587ca41a95e8cd8104142f8901b0a4a074bf36f
 EBUILD opera-next-12.00.1042.ebuild 5893 RMD160 f682c18d6313f95e340ff9cffca847d9538aa177 SHA1 45040adb7e36b5c90d259f1e8058f3f0da660621 SHA256 95ecf514091d93465aa7e5334aa15102e1490a1d12e7ef15e629d8605a30df54
-MISC ChangeLog 7155 RMD160 4a8c9f35a89a0c6ef1fc2043b3ddb677b1e65df9 SHA1 69da0eeb70b60224ccfa4d85888b1304db3e7b50 SHA256 9c0dacd0e045f9615741c63f5de13212ff8866b36d6e5df59bf7374672d215c3
+MISC ChangeLog 7389 RMD160 016560e772d6a8e72edb75520476fe2990d21878 SHA1 7fa44be26cdc09018443d279422f8113fba47a07 SHA256 641c5a745e9ae59f162d5f5833b9aa68ba1e1148cfdfa05130cd8b1f88114713
 MISC metadata.xml 1547 RMD160 465d146bcfdb6553f7f0ab2dddd68c4dcb2e7731 SHA1 1afb7e0ccc0833ba0eb73be38b282b66ad629ff6 SHA256 5cfc6e7cbf3c454d563eb407b4569f0f5a9b3ce7770026d6055f27211d481915
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2.0.17 (GNU/Linux)
 
-iEYEARECAAYFAk48E8MACgkQVWmRsqeSphOnfwCcDAGv1Shq7NCqhwBXaJzuz/cu
-EA4An1n1jJzuFaXM3rF8376Ipw+UL5aP
-=UXQ3
+iEYEARECAAYFAk4+ADAACgkQVWmRsqeSphMvWgCeKgJ8MXyN/w5Zqx1ZoEWrxZqK
++KwAn2geGqWQk4Rr6zpFRwsWnd7fG+pI
+=CUfm
 -----END PGP SIGNATURE-----
diff --git a/www-client/opera-next/opera-next-12.00.1042-r1.ebuild b/www-client/opera-next/opera-next-12.00.1042-r1.ebuild
new file mode 100644 (file)
index 0000000..df21829
--- /dev/null
@@ -0,0 +1,232 @@
+# 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.1042-r1.ebuild,v 1.1 2011/08/07 03:02:03 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="animate_${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}
+
+       # Fix libdir in defaults/pluginpath.ini
+       sed -i \
+               share/${PN}/defaults/pluginpath.ini \
+               -e "s|/usr/lib32|${OPREFIX}|g" \
+               -e '/netscape/{s|[0-1]|2|g}' \
+               || die "sed pluginpath.ini failed"
+
+       # 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
+}