diff options
author | Paweł Hajdan <phajdan.jr@gentoo.org> | 2010-11-07 18:53:35 +0000 |
---|---|---|
committer | Paweł Hajdan <phajdan.jr@gentoo.org> | 2010-11-07 18:53:35 +0000 |
commit | a3a14fcc7a247848c5e298e7847e1a1a8d1fe13c (patch) | |
tree | 2df7cb2c14a0078194b47251ac5475b50df6c0d4 /www-client | |
parent | Convert media-libs/jpeg to virtual/jpeg (diff) | |
download | gentoo-2-a3a14fcc7a247848c5e298e7847e1a1a8d1fe13c.tar.gz gentoo-2-a3a14fcc7a247848c5e298e7847e1a1a8d1fe13c.tar.bz2 gentoo-2-a3a14fcc7a247848c5e298e7847e1a1a8d1fe13c.zip |
Check /dev/shm compatibility in pkg_setup instead of the launcher script, and make the checks non-fatal. This makes the package more friendly for customized setups.
(Portage version: 2.1.8.3/cvs/Linux i686)
Diffstat (limited to 'www-client')
-rw-r--r-- | www-client/chromium/ChangeLog | 11 | ||||
-rw-r--r-- | www-client/chromium/chromium-7.0.517.41.ebuild | 220 | ||||
-rw-r--r-- | www-client/chromium/chromium-7.0.517.44.ebuild | 18 | ||||
-rw-r--r-- | www-client/chromium/chromium-8.0.552.28.ebuild | 18 | ||||
-rw-r--r-- | www-client/chromium/chromium-9.0.570.0-r1.ebuild | 18 | ||||
-rw-r--r-- | www-client/chromium/chromium-9.0.570.0.ebuild | 18 | ||||
-rw-r--r-- | www-client/chromium/chromium-9999.ebuild | 18 | ||||
-rw-r--r-- | www-client/chromium/files/chromium-launcher.sh | 19 |
8 files changed, 85 insertions, 255 deletions
diff --git a/www-client/chromium/ChangeLog b/www-client/chromium/ChangeLog index f9243f683491..1b6aa223d4a3 100644 --- a/www-client/chromium/ChangeLog +++ b/www-client/chromium/ChangeLog @@ -1,6 +1,15 @@ # ChangeLog for www-client/chromium # Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/www-client/chromium/ChangeLog,v 1.219 2010/11/07 17:41:17 phajdan.jr Exp $ +# $Header: /var/cvsroot/gentoo-x86/www-client/chromium/ChangeLog,v 1.220 2010/11/07 18:53:35 phajdan.jr Exp $ + + 07 Nov 2010; Pawel Hajdan jr <phajdan.jr@gentoo.org> + -chromium-7.0.517.41.ebuild, chromium-7.0.517.44.ebuild, + chromium-8.0.552.28.ebuild, chromium-9.0.570.0.ebuild, + chromium-9.0.570.0-r1.ebuild, chromium-9999.ebuild, + files/chromium-launcher.sh: + Check /dev/shm compatibility in pkg_setup instead of the launcher script, + and make the checks non-fatal. This makes the package more friendly for + customized setups. *chromium-9.0.570.0-r1 (07 Nov 2010) diff --git a/www-client/chromium/chromium-7.0.517.41.ebuild b/www-client/chromium/chromium-7.0.517.41.ebuild deleted file mode 100644 index f6ca07b62eec..000000000000 --- a/www-client/chromium/chromium-7.0.517.41.ebuild +++ /dev/null @@ -1,220 +0,0 @@ -# Copyright 1999-2010 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/www-client/chromium/chromium-7.0.517.41.ebuild,v 1.4 2010/10/20 10:31:19 fauli Exp $ - -EAPI="2" - -inherit eutils flag-o-matic multilib pax-utils toolchain-funcs - -DESCRIPTION="Open-source version of Google Chrome web browser" -HOMEPAGE="http://chromium.org/" -SRC_URI="http://build.chromium.org/buildbot/official/${P}.tar.bz2" - -LICENSE="BSD" -SLOT="0" -KEYWORDS="amd64 ~arm x86" -IUSE="cups gnome gnome-keyring" - -RDEPEND="app-arch/bzip2 - >=dev-libs/icu-4.4.1 - >=dev-libs/libevent-1.4.13 - dev-libs/libxml2 - dev-libs/libxslt - >=dev-libs/nss-3.12.3 - >=gnome-base/gconf-2.24.0 - gnome-keyring? ( >=gnome-base/gnome-keyring-2.28.2 ) - >=media-libs/alsa-lib-1.0.19 - media-libs/jpeg:0 - media-libs/libpng - cups? ( >=net-print/cups-1.3.11 ) - sys-libs/zlib - >=x11-libs/gtk+-2.14.7 - x11-libs/libXScrnSaver" -DEPEND="${RDEPEND} - dev-lang/perl - >=dev-util/gperf-3.0.3 - >=dev-util/pkgconfig-0.23 - sys-devel/flex" -RDEPEND+=" - || ( - x11-themes/gnome-icon-theme - x11-themes/oxygen-molecule - x11-themes/tango-icon-theme - x11-themes/xfce4-icon-theme - ) - x11-apps/xmessage - x11-misc/xdg-utils - virtual/ttf-fonts" - -remove_bundled_lib() { - einfo "Removing bundled library $1 ..." - local out - out="$(find $1 -mindepth 1 \! -iname '*.gyp' -print -delete)" \ - || die "failed to remove bundled library $1" - if [[ -z $out ]]; then - die "no files matched when removing bundled library $1" - fi -} - -pkg_setup() { - CHROMIUM_HOME="/usr/$(get_libdir)/chromium-browser" -} - -src_prepare() { - # Add Gentoo plugin paths. - epatch "${FILESDIR}"/${PN}-plugins-path-r0.patch - - # Make compile-time dependency on gnome-keyring optional, bug #332411. - epatch "${FILESDIR}"/${PN}-gnome-keyring-r0.patch - - remove_bundled_lib "third_party/bzip2" - remove_bundled_lib "third_party/codesighs" - remove_bundled_lib "third_party/cros" - remove_bundled_lib "third_party/icu" - remove_bundled_lib "third_party/jemalloc" - remove_bundled_lib "third_party/lcov" - remove_bundled_lib "third_party/libevent" - remove_bundled_lib "third_party/libjpeg" - remove_bundled_lib "third_party/libpng" - remove_bundled_lib "third_party/libxml" - remove_bundled_lib "third_party/libxslt" - remove_bundled_lib "third_party/lzma_sdk" - remove_bundled_lib "third_party/molokocacao" - remove_bundled_lib "third_party/ocmock" - remove_bundled_lib "third_party/pyftpdlib" - remove_bundled_lib "third_party/simplejson" - remove_bundled_lib "third_party/tlslite" - # TODO: also remove third_party/zlib. For now the compilation fails if we - # remove it (minizip-related). -} - -src_configure() { - local myconf="" - - # Never tell the build system to "enable" SSE2, it has a few unexpected - # additions, bug #336871. - myconf+=" -Ddisable_sse2=1" - - # Use system-provided libraries. - # TODO: use_system_ffmpeg (http://crbug.com/50678). - # TODO: use_system_sqlite (http://crbug.com/22208). - # TODO: use_system_hunspell (upstream changes needed). - # TODO: use_system_ssl when we have a recent enough system NSS. - myconf+=" - -Duse_system_bzip2=1 - -Duse_system_icu=1 - -Duse_system_libevent=1 - -Duse_system_libjpeg=1 - -Duse_system_libpng=1 - -Duse_system_libxml=1 - -Duse_system_zlib=1" - - # The dependency on cups is optional, see bug #324105. - if use cups; then - myconf+=" -Duse_cups=1" - else - myconf+=" -Duse_cups=0" - fi - - if use "gnome-keyring"; then - myconf+=" -Duse_gnome_keyring=1 -Dlinux_link_gnome_keyring=1" - else - # TODO: we should also disable code trying to dlopen - # gnome-keyring in that case. - myconf+=" -Duse_gnome_keyring=0 -Dlinux_link_gnome_keyring=0" - fi - - # Enable sandbox. - myconf+=" - -Dlinux_sandbox_path=${CHROMIUM_HOME}/chrome_sandbox - -Dlinux_sandbox_chrome_path=${CHROMIUM_HOME}/chrome" - - # Disable the V8 snapshot. It breaks the build on hardened (bug #301880), - # and the performance gain isn't worth it. - myconf+=" -Dv8_use_snapshot=0" - - # Disable tcmalloc memory allocator. It causes problems, - # for example bug #320419. - myconf+=" -Dlinux_use_tcmalloc=0" - - # Use target arch detection logic from bug #296917. - local myarch="$ABI" - [[ $myarch = "" ]] && myarch="$ARCH" - - if [[ $myarch = amd64 ]] ; then - myconf+=" -Dtarget_arch=x64" - elif [[ $myarch = x86 ]] ; then - myconf+=" -Dtarget_arch=ia32" - elif [[ $myarch = arm ]] ; then - # TODO: check this again after - # http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39509 is fixed. - append-flags -fno-tree-sink - - myconf+=" -Dtarget_arch=arm -Ddisable_nacl=1 -Dlinux_use_tcmalloc=0" - else - die "Failed to determine target arch, got '$myarch'." - fi - - if [[ "$(gcc-major-version)$(gcc-minor-version)" == "44" ]]; then - myconf+=" -Dno_strict_aliasing=1 -Dgcc_version=44" - fi - - # Work around a likely GCC bug, see bug #331945. - if [[ "$(gcc-major-version)$(gcc-minor-version)" == "45" ]]; then - append-flags -fno-ipa-cp - fi - - # Make sure that -Werror doesn't get added to CFLAGS by the build system. - # Depending on GCC version the warnings are different and we don't want - # the build to fail because of that. - myconf+=" -Dwerror=" - - build/gyp_chromium -f make build/all.gyp ${myconf} --depth=. || die -} - -src_compile() { - emake -r V=1 chrome chrome_sandbox BUILDTYPE=Release \ - CC="$(tc-getCC)" \ - CXX="$(tc-getCXX)" \ - AR="$(tc-getAR)" \ - RANLIB="$(tc-getRANLIB)" \ - || die -} - -src_install() { - exeinto "${CHROMIUM_HOME}" - pax-mark m out/Release/chrome - doexe out/Release/chrome - doexe out/Release/chrome_sandbox || die - fperms 4755 "${CHROMIUM_HOME}/chrome_sandbox" - doexe out/Release/xdg-settings || die - doexe "${FILESDIR}"/chromium-launcher.sh || die - - insinto "${CHROMIUM_HOME}" - doins out/Release/chrome.pak || die - doins out/Release/resources.pak || die - - doins -r out/Release/locales || die - doins -r out/Release/resources || die - - # chrome.1 is for chromium --help - newman out/Release/chrome.1 chrome.1 || die - newman out/Release/chrome.1 chromium.1 || die - - doexe out/Release/ffmpegsumo_nolink || die - doexe out/Release/libffmpegsumo.so || die - - # Install icon and desktop entry. - newicon out/Release/product_logo_48.png ${PN}-browser.png || die - dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium || die - make_desktop_entry chromium "Chromium" ${PN}-browser "Network;WebBrowser" \ - "MimeType=text/html;text/xml;application/xhtml+xml;" - sed -e "/^Exec/s/$/ %U/" -i "${D}"/usr/share/applications/*.desktop || die - - # Install GNOME default application entry (bug #303100). - if use gnome; then - dodir /usr/share/gnome-control-center/default-apps || die - insinto /usr/share/gnome-control-center/default-apps - doins "${FILESDIR}"/chromium.xml || die - fi -} diff --git a/www-client/chromium/chromium-7.0.517.44.ebuild b/www-client/chromium/chromium-7.0.517.44.ebuild index bf894d8567b9..8a1ca11ad685 100644 --- a/www-client/chromium/chromium-7.0.517.44.ebuild +++ b/www-client/chromium/chromium-7.0.517.44.ebuild @@ -1,10 +1,10 @@ # Copyright 1999-2010 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/www-client/chromium/chromium-7.0.517.44.ebuild,v 1.3 2010/11/05 03:11:09 hwoarang Exp $ +# $Header: /var/cvsroot/gentoo-x86/www-client/chromium/chromium-7.0.517.44.ebuild,v 1.4 2010/11/07 18:53:35 phajdan.jr Exp $ EAPI="2" -inherit eutils flag-o-matic multilib pax-utils toolchain-funcs +inherit eutils flag-o-matic multilib pax-utils portability toolchain-funcs DESCRIPTION="Open-source version of Google Chrome web browser" HOMEPAGE="http://chromium.org/" @@ -42,7 +42,6 @@ RDEPEND+=" x11-themes/tango-icon-theme x11-themes/xfce4-icon-theme ) - x11-apps/xmessage x11-misc/xdg-utils virtual/ttf-fonts" @@ -58,6 +57,19 @@ remove_bundled_lib() { pkg_setup() { CHROMIUM_HOME="/usr/$(get_libdir)/chromium-browser" + + # Prevent user problems like bug #299777. + if ! grep -q /dev/shm <<< $(get_mounts); then + ewarn "You don't have tmpfs mounted at /dev/shm." + ewarn "${PN} may fail to start in that configuration." + ewarn "Please uncomment the /dev/shm entry in /etc/fstab," + ewarn "and run 'mount /dev/shm'." + fi + if [ `stat -c %a /dev/shm` -ne 1777 ]; then + ewarn "/dev/shm does not have correct permissions." + ewarn "${PN} may fail to start in that configuration." + ewarn "Please run 'chmod 1777 /dev/shm'." + fi } src_prepare() { diff --git a/www-client/chromium/chromium-8.0.552.28.ebuild b/www-client/chromium/chromium-8.0.552.28.ebuild index 825f30032715..db0a83b08062 100644 --- a/www-client/chromium/chromium-8.0.552.28.ebuild +++ b/www-client/chromium/chromium-8.0.552.28.ebuild @@ -1,10 +1,10 @@ # Copyright 1999-2010 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/www-client/chromium/chromium-8.0.552.28.ebuild,v 1.1 2010/11/04 20:58:33 phajdan.jr Exp $ +# $Header: /var/cvsroot/gentoo-x86/www-client/chromium/chromium-8.0.552.28.ebuild,v 1.2 2010/11/07 18:53:35 phajdan.jr Exp $ EAPI="2" -inherit eutils flag-o-matic multilib pax-utils toolchain-funcs +inherit eutils flag-o-matic multilib pax-utils portability toolchain-funcs DESCRIPTION="Open-source version of Google Chrome web browser" HOMEPAGE="http://chromium.org/" @@ -47,7 +47,6 @@ RDEPEND+=" x11-themes/tango-icon-theme x11-themes/xfce4-icon-theme ) - x11-apps/xmessage x11-misc/xdg-utils virtual/ttf-fonts gecko-mediaplayer? ( !www-plugins/gecko-mediaplayer[gnome] )" @@ -67,6 +66,19 @@ pkg_setup() { # Make sure the build system will use the right tools, bug #340795. tc-export AR CC CXX RANLIB + + # Prevent user problems like bug #299777. + if ! grep -q /dev/shm <<< $(get_mounts); then + ewarn "You don't have tmpfs mounted at /dev/shm." + ewarn "${PN} may fail to start in that configuration." + ewarn "Please uncomment the /dev/shm entry in /etc/fstab," + ewarn "and run 'mount /dev/shm'." + fi + if [ `stat -c %a /dev/shm` -ne 1777 ]; then + ewarn "/dev/shm does not have correct permissions." + ewarn "${PN} may fail to start in that configuration." + ewarn "Please run 'chmod 1777 /dev/shm'." + fi } src_prepare() { diff --git a/www-client/chromium/chromium-9.0.570.0-r1.ebuild b/www-client/chromium/chromium-9.0.570.0-r1.ebuild index 7afe6687c56a..7f1b801c4ac0 100644 --- a/www-client/chromium/chromium-9.0.570.0-r1.ebuild +++ b/www-client/chromium/chromium-9.0.570.0-r1.ebuild @@ -1,11 +1,11 @@ # Copyright 1999-2010 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/www-client/chromium/chromium-9.0.570.0-r1.ebuild,v 1.1 2010/11/07 17:41:17 phajdan.jr Exp $ +# $Header: /var/cvsroot/gentoo-x86/www-client/chromium/chromium-9.0.570.0-r1.ebuild,v 1.2 2010/11/07 18:53:35 phajdan.jr Exp $ EAPI="3" PYTHON_DEPEND="2:2.6" -inherit eutils flag-o-matic multilib pax-utils python toolchain-funcs +inherit eutils flag-o-matic multilib pax-utils portability python toolchain-funcs DESCRIPTION="Open-source version of Google Chrome web browser" HOMEPAGE="http://chromium.org/" @@ -48,7 +48,6 @@ RDEPEND+=" x11-themes/tango-icon-theme x11-themes/xfce4-icon-theme ) - x11-apps/xmessage x11-misc/xdg-utils virtual/ttf-fonts gecko-mediaplayer? ( !www-plugins/gecko-mediaplayer[gnome] )" @@ -71,6 +70,19 @@ pkg_setup() { # Make sure the build system will use the right python, bug #344367. python_set_active_version 2 + + # Prevent user problems like bug #299777. + if ! grep -q /dev/shm <<< $(get_mounts); then + ewarn "You don't have tmpfs mounted at /dev/shm." + ewarn "${PN} may fail to start in that configuration." + ewarn "Please uncomment the /dev/shm entry in /etc/fstab," + ewarn "and run 'mount /dev/shm'." + fi + if [ `stat -c %a /dev/shm` -ne 1777 ]; then + ewarn "/dev/shm does not have correct permissions." + ewarn "${PN} may fail to start in that configuration." + ewarn "Please run 'chmod 1777 /dev/shm'." + fi } src_prepare() { diff --git a/www-client/chromium/chromium-9.0.570.0.ebuild b/www-client/chromium/chromium-9.0.570.0.ebuild index dc650575324b..e88afb2c2951 100644 --- a/www-client/chromium/chromium-9.0.570.0.ebuild +++ b/www-client/chromium/chromium-9.0.570.0.ebuild @@ -1,11 +1,11 @@ # Copyright 1999-2010 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/www-client/chromium/chromium-9.0.570.0.ebuild,v 1.4 2010/11/07 14:37:55 phajdan.jr Exp $ +# $Header: /var/cvsroot/gentoo-x86/www-client/chromium/chromium-9.0.570.0.ebuild,v 1.5 2010/11/07 18:53:35 phajdan.jr Exp $ EAPI="3" PYTHON_DEPEND="2:2.6" -inherit eutils flag-o-matic multilib pax-utils python toolchain-funcs +inherit eutils flag-o-matic multilib pax-utils portability python toolchain-funcs DESCRIPTION="Open-source version of Google Chrome web browser" HOMEPAGE="http://chromium.org/" @@ -48,7 +48,6 @@ RDEPEND+=" x11-themes/tango-icon-theme x11-themes/xfce4-icon-theme ) - x11-apps/xmessage x11-misc/xdg-utils virtual/ttf-fonts gecko-mediaplayer? ( !www-plugins/gecko-mediaplayer[gnome] )" @@ -71,6 +70,19 @@ pkg_setup() { # Make sure the build system will use the right python, bug #344367. python_set_active_version 2 + + # Prevent user problems like bug #299777. + if ! grep -q /dev/shm <<< $(get_mounts); then + ewarn "You don't have tmpfs mounted at /dev/shm." + ewarn "${PN} may fail to start in that configuration." + ewarn "Please uncomment the /dev/shm entry in /etc/fstab," + ewarn "and run 'mount /dev/shm'." + fi + if [ `stat -c %a /dev/shm` -ne 1777 ]; then + ewarn "/dev/shm does not have correct permissions." + ewarn "${PN} may fail to start in that configuration." + ewarn "Please run 'chmod 1777 /dev/shm'." + fi } src_prepare() { diff --git a/www-client/chromium/chromium-9999.ebuild b/www-client/chromium/chromium-9999.ebuild index 68efae9330dc..1974b32d1e4b 100644 --- a/www-client/chromium/chromium-9999.ebuild +++ b/www-client/chromium/chromium-9999.ebuild @@ -1,11 +1,11 @@ # Copyright 1999-2010 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/www-client/chromium/chromium-9999.ebuild,v 1.103 2010/11/07 17:41:17 phajdan.jr Exp $ +# $Header: /var/cvsroot/gentoo-x86/www-client/chromium/chromium-9999.ebuild,v 1.104 2010/11/07 18:53:35 phajdan.jr Exp $ EAPI="3" PYTHON_DEPEND="2:2.6" -inherit eutils flag-o-matic multilib pax-utils python subversion toolchain-funcs +inherit eutils flag-o-matic multilib pax-utils portability python subversion toolchain-funcs DESCRIPTION="Open-source version of Google Chrome web browser" HOMEPAGE="http://chromium.org/" @@ -50,7 +50,6 @@ RDEPEND+=" x11-themes/tango-icon-theme x11-themes/xfce4-icon-theme ) - x11-apps/xmessage x11-misc/xdg-utils virtual/ttf-fonts gecko-mediaplayer? ( !www-plugins/gecko-mediaplayer[gnome] )" @@ -116,6 +115,19 @@ pkg_setup() { # Make sure the build system will use the right python, bug #344367. python_set_active_version 2 + + # Prevent user problems like bug #299777. + if ! grep -q /dev/shm <<< $(get_mounts); then + ewarn "You don't have tmpfs mounted at /dev/shm." + ewarn "${PN} may fail to start in that configuration." + ewarn "Please uncomment the /dev/shm entry in /etc/fstab," + ewarn "and run 'mount /dev/shm'." + fi + if [ `stat -c %a /dev/shm` -ne 1777 ]; then + ewarn "/dev/shm does not have correct permissions." + ewarn "${PN} may fail to start in that configuration." + ewarn "Please run 'chmod 1777 /dev/shm'." + fi } src_prepare() { diff --git a/www-client/chromium/files/chromium-launcher.sh b/www-client/chromium/files/chromium-launcher.sh index a52268ef19e1..32e563c8c5a8 100644 --- a/www-client/chromium/files/chromium-launcher.sh +++ b/www-client/chromium/files/chromium-launcher.sh @@ -4,25 +4,6 @@ # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. -if ! grep -q /dev/shm /proc/mounts ; then - xmessage -file - <<EOF -You don't have tmpfs mounted at /dev/shm. -The browser isn't going to work in that configuration. -Please uncomment the /dev/shm entry in /etc/fstab, -run 'mount /dev/shm' and try again. -EOF - exit 1 -fi - -if [ `stat -c %a /dev/shm` -ne 1777 ]; then - xmessage -file - <<EOF -/dev/shm does not have correct permissions. -The browser isn't going to work in that configuration. -Please run chmod 1777 /dev/shm and try again. -EOF - exit 1 -fi - # Let the wrapped binary know that it has been run through the wrapper export CHROME_WRAPPER="`readlink -f "$0"`" |