summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeroen Roovers <jer@gentoo.org>2011-05-03 19:42:43 +0000
committerJeroen Roovers <jer@gentoo.org>2011-05-03 19:42:43 +0000
commit0bc4dac4b13147511c2716462d95242b353c3766 (patch)
treeafe0fac49746fbd1a3b8a62acfb88e61132c80be
parentUSE flags work this time (passed to configure phase). (diff)
downloadgentoo-2-0bc4dac4b13147511c2716462d95242b353c3766.tar.gz
gentoo-2-0bc4dac4b13147511c2716462d95242b353c3766.tar.bz2
gentoo-2-0bc4dac4b13147511c2716462d95242b353c3766.zip
Initial commit <http://my.opera.com/desktopteam/blog/swordfish-and-opera-next>.
(Portage version: 2.2.0_alpha30/cvs/Linux i686)
-rw-r--r--www-client/opera-next/ChangeLog11
-rw-r--r--www-client/opera-next/metadata.xml22
-rw-r--r--www-client/opera-next/opera-next-11.50.1009.ebuild225
3 files changed, 258 insertions, 0 deletions
diff --git a/www-client/opera-next/ChangeLog b/www-client/opera-next/ChangeLog
new file mode 100644
index 000000000000..77323bcb0d78
--- /dev/null
+++ b/www-client/opera-next/ChangeLog
@@ -0,0 +1,11 @@
+# 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.1 2011/05/03 19:42:43 jer Exp $
+
+*opera-next-11.50.1009 (03 May 2011)
+
+ 03 May 2011; Jeroen Roovers <jer@gentoo.org> +opera-next-11.50.1009.ebuild,
+ +metadata.xml:
+ Initial commit
+ <http://my.opera.com/desktopteam/blog/swordfish-and-opera-next>.
+
diff --git a/www-client/opera-next/metadata.xml b/www-client/opera-next/metadata.xml
new file mode 100644
index 000000000000..24ebc936ebb5
--- /dev/null
+++ b/www-client/opera-next/metadata.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>no-herd</herd>
+<maintainer>
+<email>jer@gentoo.org</email>
+<name>Jeroen Roovers</name>
+</maintainer>
+<longdescription>
+Opera is a graphical Web browser available on several platforms. The desktop
+version runs on GNU/Linux and FreeBSD. Versions for Macintosh and
+Windows are also available.
+
+Opera Next is a stand-alone installation of the Opera desktop browser intended for testing the development of new features, technologies, and improvements. It is automatically updated to include the latest changes as they become available. As such, it may be unstable and include known issues, such as crashes or data loss situations. The 11.50 alpha is the first release for this product.
+
+Opera Next is an entirely separate product to the official <pkg>www-client/opera</pkg> browser product, which is the stable product intended for day-to-day use. There is no connection or interaction between them unless you manually configure this; all preferences and settings are saved for each product individually. For example, a bookmark saved in Opera Next will not display in your primary Opera browser. This ensures that your valuable data and settings remain untouched when you try out our latest changes.
+</longdescription>
+<use>
+<flag name='gtk'>Set runtime dependencies to support GTK+/GNOME desktop integration</flag>
+<flag name='kde'>Set runtime dependencies to support KDE desktop integration</flag>
+</use>
+</pkgmetadata>
diff --git a/www-client/opera-next/opera-next-11.50.1009.ebuild b/www-client/opera-next/opera-next-11.50.1009.ebuild
new file mode 100644
index 000000000000..3aa349937c80
--- /dev/null
+++ b/www-client/opera-next/opera-next-11.50.1009.ebuild
@@ -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-11.50.1009.ebuild,v 1.1 2011/05/03 19:42:43 jer Exp $
+
+EAPI="3"
+
+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"
+
+RESTRICT="test"
+
+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="alpha_${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 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 pl pt pt-BR ro ru sk sr sv ta te th tl tr
+ uk uz vi zh-CN zh-TW
+"
+
+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() {
+ # Remove unwanted linguas
+ LNGDIR="share/${PN}/locale"
+ 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}"
+ 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}/liboperagtk.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 and SUFFIX in various files
+ sed -i \
+ -e "s:@@{PREFIX}:/usr:g" \
+ -e "s:@@{SUFFIX}::g" \
+ -e "s:@@{_SUFFIX}::g" \
+ -e "s:@@{USUFFIX}::g" \
+ share/man/man1/* \
+ share/applications/${PN}-browser.desktop \
+ || die "sed failed"
+
+ # 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} || die "dobin failed"
+
+ # 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() {
+ 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/${PN}/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
+
+ # 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
+}