# Copyright 1999-2009 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Header: $ EAPI=2 inherit eutils multilib toolchain-funcs versionator MY_PN="${PN%-bin}-unstable" MY_P="${MY_PN}_current" SRC_BASE="http://dl.google.com/linux/direct/" DESCRIPTION="Google Chrome is a browser that combines a minimal design with sophisticated technology to make the web faster, safer, and easier." HOMEPAGE="http://www.google.com/chrome" SRC_URI=" x86? ( ${SRC_BASE}${MY_P}_i386.deb ) amd64? ( ${SRC_BASE}${MY_P}_amd64.deb mirror://debian/pool/main/g/gconf/libgconf2-4_2.26.2-3_i386.deb mirror://debian/pool/main/o/orbit2/liborbit2_2.14.17-0.1_i386.deb )" LICENSE="BSD" SLOT="0" KEYWORDS="~x86 ~amd64" IUSE="" RESTRICT="primaryuri" DEPEND="app-arch/lzma-utils" RDEPEND=">=sys-devel/gcc-4.2[-nocxx] || ( media-fonts/liberation-fonts media-fonts/corefonts ) x86? ( dev-libs/atk x11-libs/cairo media-libs/fontconfig media-libs/freetype dev-libs/glib:2 x11-libs/gtk+:2 dev-libs/nspr dev-libs/nss x11-libs/pango ) !x86? ( app-emulation/emul-linux-x86-baselibs >=app-emulation/emul-linux-x86-gtklibs-20081109 app-emulation/emul-linux-x86-soundlibs app-emulation/emul-linux-x86-xlibs ) x11-misc/xdg-utils" CHROME_HOME="/opt/google/chrome" QA_PRESTRIPPED=" opt/google/chrome/libavformat.so.52 opt/google/chrome/lib32/libORBit-2.so.0.1.0 opt/google/chrome/lib32/libnssdbm3.so opt/google/chrome/lib32/libfreebl3.so opt/google/chrome/lib32/libplc4.so.0d opt/google/chrome/lib32/libplds4.so.0d opt/google/chrome/lib32/libsoftokn3.so opt/google/chrome/lib32/libgconf-2.so.4.1.5 opt/google/chrome/lib32/libssl3.so.1d opt/google/chrome/lib32/libsqlite3.so.0.8.6 opt/google/chrome/lib32/libORBit-imodule-2.so.0.0.0 opt/google/chrome/lib32/libgconf2-4/2/libgconfbackend-oldxml.so opt/google/chrome/lib32/libgconf2-4/2/libgconfbackend-evoldap.so opt/google/chrome/lib32/libgconf2-4/2/libgconfbackend-xml.so opt/google/chrome/lib32/libgconf2-4/gconf-sanity-check-2 opt/google/chrome/lib32/libgconf2-4/gconfd-2 opt/google/chrome/lib32/libsmime3.so.1d opt/google/chrome/lib32/libnssckbi.so opt/google/chrome/lib32/libnss3.so.1d opt/google/chrome/lib32/libORBitCosNaming-2.so.0.1.0 opt/google/chrome/lib32/orbit-2.0/Everything_module.so opt/google/chrome/lib32/libnspr4.so.0d opt/google/chrome/lib32/libnssutil3.so.1d opt/google/chrome/chrome opt/google/chrome/libavutil.so.50 opt/google/chrome/libavcodec.so.52 opt/google/chrome/chrome-sandbox" # Ogg/Theora/Vorbis-only FFmpeg binaries QA_TEXTRELS=" opt/google/chrome/libavformat.so.52 opt/google/chrome/libavutil.so.50 opt/google/chrome/libavcodec.so.52" QA_EXECSTACK="opt/google/chrome/chrome" pkg_nofetch() { elog "Please download" for i in ${A}; do [[ ${i} = ${MY_PN}_* ]] && elog "${SRC_BASE}${i}" done elog "and save to ${DISTDIR}" } src_unpack() { for i in ${A}; do unpack ${i} if [[ ${i} = *.deb ]]; then if [[ -e ${WORKDIR}/data.tar.lzma ]]; then mv ${WORKDIR}/data.tar.lzma ${WORKDIR}/${i%%_*}.tar.lzma elif [[ -e ${WORKDIR}/data.tar.gz ]]; then mv ${WORKDIR}/data.tar.gz ${WORKDIR}/${i%%_*}.tar.gz else die "Can't find data from ${i}" fi fi done } src_install() { cd ${D} lzma -cd ${WORKDIR}/${MY_PN}.tar.lzma | tar xvf - || die "Couldn't extract" rm -r "${D}"/{etc,usr/bin/google-chrome} dosym ../../..${CHROME_HOME}/${PN%-bin}.desktop \ /usr/share/applications/${PN%-bin}.desktop if use x86 ; then mkdir -p ${D}${CHROME_HOME}/lib32 for i in nss/lib{nss{,util},smime,ssl}3.so.1d \ nspr/lib{pl{ds,c},nspr}4.so.0d ; do dosym ../../../../usr/$(get_libdir)/${i%.*} \ ${CHROME_HOME}/lib32/${i##*/} done elif use amd64 ; then mkdir -p ${WORKDIR}/usr ${D}${CHROME_HOME}/lib32 ln -fns ${D}${CHROME_HOME}/lib32 ${WORKDIR}/usr/lib for i in libgconf2-4 liborbit2; do gzip -cd ${WORKDIR}/${i}.tar.gz | ( cd ${WORKDIR} && tar xvf - ./usr/lib/ ) || die "Couldn't extract ${i}" done fi cat <"${D}"/usr/bin/google-chrome #!/bin/sh exec ${CHROME_HOME}/google-chrome \ --enable-plugins \ --enable-greasemonkey \ --enable-user-scripts \ --enable-extensions "\$@" EOF fperms 0755 /usr/bin/google-chrome use amd64 && multilib_toolchain_setup x86 dosym /usr/$(get_libdir)/nsbrowser/plugins \ ${CHROME_HOME}/plugins } pkg_postinst() { elog "This Chrome binary package is from the developer preview channel. It is" elog "not guaranteed to be stable or even usable." elog "" elog "Chrome's auto-update mechanism is only available for Debian-based" elog "distributions, and has been disabled." elog "" elog "Please see" elog " http://dev.chromium.org/for-testers/bug-reporting-guidlines-for-the-mac-linux-builds" elog "before filing any bugs." use x86 || multilib_toolchain_setup x86 if ! version_is_at_least 4.2 "$(gcc-version)" || [[ -z $(tc-getCXX) ]]; then einfo "" ewarn "This Chrome binary package depends on C++ libraries from >=sys-devel/gcc-4.2," ewarn "which do not appear to be available. Google Chrome may not run." ebeep fi }