diff options
Diffstat (limited to 'www-client/google-chrome/google-chrome-16.0.912.59_beta112386.ebuild')
-rw-r--r-- | www-client/google-chrome/google-chrome-16.0.912.59_beta112386.ebuild | 194 |
1 files changed, 194 insertions, 0 deletions
diff --git a/www-client/google-chrome/google-chrome-16.0.912.59_beta112386.ebuild b/www-client/google-chrome/google-chrome-16.0.912.59_beta112386.ebuild new file mode 100644 index 000000000000..79cfd4e09ab4 --- /dev/null +++ b/www-client/google-chrome/google-chrome-16.0.912.59_beta112386.ebuild @@ -0,0 +1,194 @@ +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/www-client/google-chrome/google-chrome-16.0.912.59_beta112386.ebuild,v 1.1 2011/12/02 10:19:57 floppym Exp $ + +EAPI="4" + +inherit eutils fdo-mime gnome2-utils multilib pax-utils + +DESCRIPTION="The web browser from Google" +HOMEPAGE="http://www.google.com/chrome" + +case ${PV} in + *_alpha*) + SLOT="unstable" + MY_PV=${PV/_alpha/-r} + ;; + *_beta*) + SLOT="beta" + MY_PV=${PV/_beta/-r} + ;; + *_p*) + SLOT="stable" + MY_PV=${PV/_p/-r} + ;; + *) + die "Invalid value for \${PV}: ${PV}" + ;; +esac + +MY_PN="${PN}-${SLOT}" +MY_P="${MY_PN}_${MY_PV}" + +SRC_BASE="http://dl.google.com/linux/chrome/deb/pool/main/g/${MY_PN}/${MY_P}_" +SRC_URI="amd64? ( ${SRC_BASE}amd64.deb ) x86? ( ${SRC_BASE}i386.deb )" + +LICENSE="google-chrome" +KEYWORDS="-* ~amd64 ~x86" +IUSE="+plugins" +RESTRICT="mirror strip" + +# en_US is ommitted on purpose from the list below. It must always be available. +LANGS="am ar bg bn ca cs da de el en_GB es es_LA et fa fi fil fr gu he hi hr +hu id it ja kn ko lt lv ml mr nb nl pl pt_BR pt_PT ro ru sk sl sr sv sw ta te th +tr uk vi zh_CN zh_TW" +for lang in ${LANGS}; do + IUSE+=" linguas_${lang}" +done + +RDEPEND="app-arch/bzip2 + app-misc/ca-certificates + media-libs/alsa-lib + dev-libs/atk + dev-libs/dbus-glib + dev-libs/expat + dev-libs/glib:2 + dev-libs/libxslt + dev-libs/nspr + dev-libs/nss + gnome-base/gconf:2 + media-libs/fontconfig + media-libs/freetype + net-print/cups + media-libs/libpng:1.2 + sys-apps/dbus + || ( >=sys-devel/gcc-4.4.0[-nocxx] >=sys-devel/gcc-4.4.0[cxx] ) + sys-libs/zlib + x11-libs/cairo + x11-libs/gdk-pixbuf + x11-libs/gtk+:2 + x11-libs/libXScrnSaver + x11-libs/libX11 + x11-libs/libXrender + x11-libs/libXext + x11-libs/pango + x11-misc/xdg-utils" + +# Add blockers for the other slots. +for x in 0 beta stable unstable; do + if [[ ${SLOT} != ${x} ]]; then + RDEPEND+=" !${CATEGORY}/${PN}:${x}" + fi +done + +QA_PREBUILT="*" +S=${WORKDIR} + +# Chromium uses different names for some langs, +# return Chromium name corresponding to a Gentoo lang. +chromium_lang() { + if [[ "$1" == "es_LA" ]]; then + echo "es_419" + else + echo "$1" + fi +} + +chrome_unpack() { + local x + for x in "${@}"; do + if [[ ${x} == *.deb ]]; then + # Avoid automagic usage of deb2targz. + echo ">>> Unpacking ${x} to ${PWD}" + ar x "${DISTDIR}/${x}" || die + else + unpack "${x}" + fi + done +} + +src_unpack() { + chrome_unpack ${A} ./data.tar.lzma +} + +src_prepare() { + CHROME_HOME="opt/google/chrome/" + + pax-mark m ${CHROME_HOME}chrome || die + rm -rf usr/share/menu || die + mv usr/share/doc/${PN} usr/share/doc/${PF} || die + + # Support LINGUAS, bug #332751. + cd "${CHROME_HOME}locales" || die + local pak + for pak in *.pak; do + local pakbasename="$(basename ${pak})" + local pakname="${pakbasename%.pak}" + local langname="${pakname//-/_}" + + # Do not issue warning for en_US locale. This is the fallback + # locale so it should always be installed. + if [[ "${langname}" == "en_US" ]]; then + continue + fi + + local found=false + local lang + for lang in ${LANGS}; do + local crlang="$(chromium_lang ${lang})" + if [[ "${langname}" == "${crlang}" ]]; then + found=true + break + fi + done + if ! $found; then + ewarn "LINGUAS warning: no ${langname} in LANGS" + fi + done + local lang + for lang in ${LANGS}; do + local crlang="$(chromium_lang ${lang})" + local pakfile="${crlang//_/-}.pak" + if [ ! -f "${pakfile}" ]; then + ewarn "LINGUAS warning: no .pak file for ${lang} (${pakfile} not found)" + fi + if ! use linguas_${lang}; then + rm "${pakfile}" || die + fi + done + +} + +src_install() { + mv opt usr "${D}" || die + + fperms u+s "/${CHROME_HOME}chrome-sandbox" || die + + if use plugins ; then + local args='"$@"' + local plugins="/usr/$(get_libdir)/nsbrowser/plugins" + sed -e "s:${args}:--extra-plugin-dir=\"${plugins}\" \\0:" \ + -i "${D}${CHROME_HOME}google-chrome" || die + fi + + domenu "${D}${CHROME_HOME}google-chrome.desktop" || die + local size + for size in 16 22 24 32 48 64 128 256 ; do + insinto /usr/share/icons/hicolor/${size}x${size}/apps + newins "${D}${CHROME_HOME}product_logo_${size}.png" google-chrome.png + done +} + +pkg_preinst() { + gnome2_icon_savelist +} + +pkg_postinst() { + fdo-mime_desktop_database_update + gnome2_icon_cache_update +} + +pkg_postrm() { + fdo-mime_desktop_database_update + gnome2_icon_cache_update +} |