#gentoo #opera #sabayon

Opera 26 install on Gentoo/Sabayon

  1. Download the .deb file from here: http://www.opera.com/download/get/?partner=www&opsys=Linux&product=Opera%20Developer&utm_medium=sm&utm_source=desktop_blog&utm_campaign=developer

  2. Copy it to .distfiles

cp opera-developer_26.0.1632.0_amd64.deb /usr/portage/distfiles/opera-developer_26.0.1632.0_amd64.deb
  1. Create an ebuild in /usr/local/portage/www-client/opera-developer/opera-developer_26.0.1632.0.ebuild
# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $

EAPI=5

CHROMIUM_LANGS="af ar az be bg bn ca cs da de el en_GB en_US es_LA es fi fr_CA
        fr fy gd hi hr hu id it ja kk ko lt lv me mk ms nb nl nn pa pl pt_BR
        pt_PT ro ru sk sr sv sw ta te th tl tr uk uz vi zh_CN zh_TW zu"

inherit chromium multilib unpacker

DESCRIPTION="A fast and secure web browser"
HOMEPAGE="http://www.opera.com/"
SRC_URI_BASE="http://get.geo.opera.com/pub/"
SRC_URI="
        amd64? ( "${SRC_URI_BASE}${PN}/${PV}/linux/${PN}_${PV}_amd64.deb" )
"

LICENSE="OPERA-2014"
SLOT="0"
KEYWORDS="~amd64"
IUSE=""

DEPEND="app-arch/deb2targz"
RDEPEND="
        dev-libs/glib:2
        dev-libs/nspr
        dev-libs/nss
        =dev-libs/openssl-1.0.1*
        gnome-base/gconf:2
        media-libs/alsa-lib
        sys-apps/dbus
        sys-libs/libcap
        virtual/libudev
        x11-libs/cairo
        x11-libs/gdk-pixbuf
        x11-libs/gtk+:2
        x11-libs/libXScrnSaver
        x11-libs/libXcomposite
        x11-libs/libXcursor
        x11-libs/libXdamage
        x11-libs/libXfixes
        x11-libs/libXi
        x11-libs/libXrandr
        x11-libs/libXrender
        x11-libs/libXtst
        x11-libs/pango
"

QA_PREBUILT="*"
S=${WORKDIR}
OPERA_HOME="usr/$(get_libdir)/${PN}"

src_unpack() {
        unpack_deb ${A}
}

src_prepare() {
        mv usr/lib/x86_64-linux-gnu usr/$(get_libdir) || die
        rm -r usr/lib || die

        rm usr/bin/${PN} || die

        rm usr/share/doc/${PN}/copyright || die
        mv usr/share/doc/${PN} usr/share/doc/${PF} || die

        pushd "${OPERA_HOME}/localization" > /dev/null || die
        chromium_remove_language_paks
        popd > /dev/null || die

        sed -i \
                -e 's|^TargetEnvironment|X-&|g' \
                usr/share/applications/opera-developer.desktop || die
}

src_install() {
        cp -a * "${D}" || die
        dosym ../$(get_libdir)/${PN}/opera /usr/bin/${PN}
        dodir /usr/$(get_libdir)/${PN}/lib
        dosym /$(get_libdir)/libudev.so.1 /usr/$(get_libdir)/${PN}/lib/libudev.so.0
        fperms 4711 /usr/$(get_libdir)/${PN}/opera_sandbox
}

  1. Prepare manifest
ebuild opera-developer_26.0.1632.0.ebuild manifest
  1. Install
emerge -av opera-developer
  1. Postinstall
#correct the symbolic links
rm  /usr/lib64/opera-developer/lib/libudev.so.0
ln -s /usr/lib64/libudev.so.1 /usr/lib64/opera-developer/lib/libudev.so.0

rm /usr/bin/opera-developer
ln -s /usr/lib64/opera-developer/opera-developer /usr/bin/opera-developer