Add www-client/google-chrome-bin.
[overlay.git] / www-client / google-chrome-bin / google-chrome-bin-4.0.223.11.ebuild
1 # Copyright 1999-2009 Gentoo Foundation
2 # Distributed under the terms of the GNU General Public License v2
3 # $Header: $
4
5 EAPI="2"
6
7 inherit eutils toolchain-funcs versionator
8
9 MY_PN="${PN%-bin}-unstable"
10 MY_P="${MY_PN}_${PV/_p/-r}"
11 SRC_BASE="http://dl.google.com/linux/deb/pool/main/${MY_PN:0:1}/${MY_PN}/"
12 DESCRIPTION="A browser that combines a minimal design with sophisticated technology"
13 HOMEPAGE="http://www.google.com/chrome"
14 SRC_URI="
15         x86? ( ${SRC_BASE}${MY_P}-r29900_i386.deb )
16         amd64? ( ${SRC_BASE}${MY_P}-r29916_amd64.deb )"
17
18 LICENSE="BSD"
19 SLOT="0"
20 KEYWORDS="~amd64 ~x86"
21 IUSE=""
22
23 DEPEND="|| ( app-arch/xz-utils app-arch/lzma-utils )"
24 RDEPEND="
25         || ( media-fonts/liberation-fonts media-fonts/corefonts )
26         dev-libs/atk
27         dev-libs/glib:2
28         dev-libs/nspr
29         dev-libs/nss
30         gnome-base/gconf
31         media-libs/fontconfig
32         media-libs/freetype
33         >=sys-devel/gcc-4.2[-nocxx]
34         x11-libs/cairo
35         x11-libs/gtk+:2
36         x11-libs/pango
37         x11-misc/xdg-utils"
38
39 RESTRICT="mirror"
40
41 QA_EXECSTACK="opt/google/chrome/chrome"
42 QA_PRESTRIPPED="
43         opt/google/chrome/chrome
44         opt/google/chrome/chrome-sandbox
45         opt/google/chrome/libavutil.so.50
46         opt/google/chrome/libavformat.so.52
47         opt/google/chrome/libavcodec.so.52"
48 QA_TEXTRELS="opt/google/chrome/libavcodec.so.52"
49
50 pkg_nofetch() {
51         elog "Please download"
52         for i in ${A}; do
53                 [[ ${i} = ${MY_PN}_* ]] && elog "${SRC_BASE}${i}"
54         done
55         elog "and save to ${DISTDIR}"
56 }
57
58 src_unpack() {
59         for i in ${A}; do
60                 ar x "${DISTDIR}"/${i}
61                 if [[ ${i} = *.deb ]]; then
62                         if [[ -e "${WORKDIR}"/data.tar.lzma ]]; then
63                                 mv "${WORKDIR}"/data.tar.lzma "${WORKDIR}"/${i%%_*}.tar.lzma
64                         elif [[ -e "${WORKDIR}"/data.tar.gz ]]; then
65                                 mv "${WORKDIR}"/data.tar.gz "${WORKDIR}"/${i%%_*}.tar.gz
66                         else
67                                 die "Can't find data from ${i}"
68                         fi
69                 fi
70         done
71 }
72
73 src_install() {
74         declare CHROME_HOME="/opt/google/chrome"
75
76         cd "${D}"
77         lzma -cd "${WORKDIR}"/${MY_PN}.tar.lzma | tar xvf - || die "Couldn't extract"
78         rm -r "${D}"/{etc,usr/bin/google-chrome}
79
80         sed -i "s|Exec=${CHROME_HOME//\//\\/}\/|Exec=|g" "${D}"${CHROME_HOME}/${PN%-bin}.desktop
81         domenu "${D}"${CHROME_HOME}/${PN%-bin}.desktop
82         rm "${D}"${CHROME_HOME}/${PN%-bin}.desktop
83
84         for i in nss/lib{nss{,util},smime,ssl}3.so.1d \
85                  nspr/lib{pl{ds,c},nspr}4.so.0d ; do
86                 dosym ../../../../usr/$(get_libdir)/${i%.*} \
87                         ${CHROME_HOME}/${i##*/}
88         done
89
90         cat <<EOF >"${D}"/usr/bin/google-chrome
91 #!/bin/sh
92 exec ${CHROME_HOME}/google-chrome \
93         --enable-greasemonkey \
94         --enable-user-scripts \
95         --enable-extensions "\$@"
96 EOF
97         fperms 0755 /usr/bin/google-chrome
98
99         dosym /usr/$(get_libdir)/nsbrowser/plugins ${CHROME_HOME}/plugins
100 }
101
102 pkg_postinst() {
103         elog "This Chrome binary package is from the developer preview channel.  It is"
104         elog "not guaranteed to be stable or even usable."
105         elog ""
106         elog "Chrome's auto-update mechanism is only available for Debian-based"
107         elog "distributions, and has been disabled."
108         elog ""
109         elog "Please see"
110         elog "    http://dev.chromium.org/for-testers/bug-reporting-guidlines-for-the-mac-linux-builds"
111         elog "before filing any bugs."
112         if ! version_is_at_least 4.2 "$(gcc-version)" || [[ -z $(tc-getCXX) ]]; then
113                 einfo ""
114                 ewarn "This Chrome binary package depends on C++ libraries from >=sys-devel/gcc-4.2,"
115                 ewarn "which do not appear to be available.  Google Chrome may not run."
116                 ebeep
117         fi
118 }