diff options
author | Paweł Hajdan <phajdan.jr@gentoo.org> | 2010-10-01 08:34:59 +0000 |
---|---|---|
committer | Paweł Hajdan <phajdan.jr@gentoo.org> | 2010-10-01 08:34:59 +0000 |
commit | 8a00996c3cf2f98983ee9946567b305b68bc4272 (patch) | |
tree | d6630bb645154988a3fbff5bf780ffd3d9e8e972 /www-client | |
parent | Respect LDFLAGS. Bug #337273 (diff) | |
download | gentoo-2-8a00996c3cf2f98983ee9946567b305b68bc4272.tar.gz gentoo-2-8a00996c3cf2f98983ee9946567b305b68bc4272.tar.bz2 gentoo-2-8a00996c3cf2f98983ee9946567b305b68bc4272.zip |
Version bump for dev channel release. Add an option to build with system-provided sqlite library. Re-enable tcmalloc support. Minor ebuild cleanups. Remove old versions.
(Portage version: 2.1.8.3/cvs/Linux i686)
Diffstat (limited to 'www-client')
-rw-r--r-- | www-client/chromium/ChangeLog | 13 | ||||
-rw-r--r-- | www-client/chromium/chromium-6.0.472.59.ebuild | 226 | ||||
-rw-r--r-- | www-client/chromium/chromium-6.0.472.62-r1.ebuild | 223 | ||||
-rw-r--r-- | www-client/chromium/chromium-6.0.472.63-r1.ebuild | 223 | ||||
-rw-r--r-- | www-client/chromium/chromium-7.0.536.2.ebuild (renamed from www-client/chromium/chromium-7.0.517.13.ebuild) | 33 | ||||
-rw-r--r-- | www-client/chromium/chromium-9999.ebuild | 32 | ||||
-rw-r--r-- | www-client/chromium/files/chromium-system-sqlite-r0.patch | 50 | ||||
-rw-r--r-- | www-client/chromium/metadata.xml | 4 |
8 files changed, 101 insertions, 703 deletions
diff --git a/www-client/chromium/ChangeLog b/www-client/chromium/ChangeLog index c4919c416cb5..6983e19247f5 100644 --- a/www-client/chromium/ChangeLog +++ b/www-client/chromium/ChangeLog @@ -1,6 +1,17 @@ # 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.191 2010/09/29 09:54:08 phajdan.jr Exp $ +# $Header: /var/cvsroot/gentoo-x86/www-client/chromium/ChangeLog,v 1.192 2010/10/01 08:34:59 phajdan.jr Exp $ + +*chromium-7.0.536.2 (01 Oct 2010) + + 01 Oct 2010; Pawel Hajdan jr <phajdan.jr@gentoo.org> + +files/chromium-system-sqlite-r0.patch, -chromium-6.0.472.59.ebuild, + -chromium-6.0.472.62-r1.ebuild, -chromium-6.0.472.63-r1.ebuild, + -chromium-7.0.517.13.ebuild, +chromium-7.0.536.2.ebuild, + chromium-9999.ebuild, metadata.xml: + Version bump for dev channel release. Add an option to build with + system-provided sqlite library. Re-enable tcmalloc support. Minor ebuild + cleanups. Remove old versions. *chromium-7.0.517.24 (29 Sep 2010) diff --git a/www-client/chromium/chromium-6.0.472.59.ebuild b/www-client/chromium/chromium-6.0.472.59.ebuild deleted file mode 100644 index d19f7156b31f..000000000000 --- a/www-client/chromium/chromium-6.0.472.59.ebuild +++ /dev/null @@ -1,226 +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-6.0.472.59.ebuild,v 1.3 2010/09/18 09:56:11 hwoarang 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-keyring sse2" - -RDEPEND="app-arch/bzip2 - >=dev-libs/libevent-1.4.13 - >=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 - >=gnome-base/gnome-keyring-2.28.2 - 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" - -get_chromium_home() { - echo "/usr/$(get_libdir)/chromium-browser" -} - -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 -} - -src_prepare() { - # Fix compilation, bug #332131. - epatch "${FILESDIR}"/${PN}-make-3.82-compatibility-r0.patch - - # Add Gentoo plugin paths. - epatch "${FILESDIR}"/${PN}-plugins-path-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/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/lzma_sdk" - remove_bundled_lib "third_party/molokocacao" - remove_bundled_lib "third_party/ocmock" - remove_bundled_lib "third_party/py" - remove_bundled_lib "third_party/pyftpdlib" - remove_bundled_lib "third_party/simplejson" - remove_bundled_lib "third_party/tlslite" - # TODO: also remove third_party/libxml and third_party/libxslt when - # http://crbug.com/29333 is fixed. - # TODO: also remove third_party/zlib. For now the compilation fails if we - # remove it (minizip-related). -} - -src_configure() { - local myconf="" - - # Make it possible to build chromium on non-sse2 systems. - if use sse2; then - myconf="${myconf} -Ddisable_sse2=0" - else - myconf="${myconf} -Ddisable_sse2=1" - fi - - # Use system-provided libraries. - # TODO: use_system_ffmpeg (http://crbug.com/50678). - # TODO: use_system_libxml (http://crbug.com/29333). - # TODO: use_system_sqlite (http://crbug.com/22208). - # TODO: use_system_icu, use_system_hunspell (upstream changes needed). - # TODO: use_system_ssl when we have a recent enough system NSS. - myconf="${myconf} - -Duse_system_bzip2=1 - -Duse_system_libevent=1 - -Duse_system_libjpeg=1 - -Duse_system_libpng=1 - -Duse_system_zlib=1" - - # The dependency on cups is optional, see bug #324105. - if use cups; then - myconf="${myconf} -Duse_cups=1" - else - myconf="${myconf} -Duse_cups=0" - fi - - if use "gnome-keyring"; then - myconf="${myconf} -Dlinux_link_gnome_keyring=1" - else - # TODO: we should also disable code trying to dlopen - # gnome-keyring in that case. - myconf="${myconf} -Dlinux_link_gnome_keyring=0" - fi - - # Enable sandbox. - myconf="${myconf} - -Dlinux_sandbox_path=$(get_chromium_home)/chrome_sandbox - -Dlinux_sandbox_chrome_path=$(get_chromium_home)/chrome" - - # Disable the V8 snapshot. It breaks the build on hardened (bug #301880), - # and the performance gain isn't worth it. - myconf="${myconf} -Dv8_use_snapshot=0" - - # Disable tcmalloc memory allocator. It causes problems, - # for example bug #320419. - myconf="${myconf} -Dlinux_use_tcmalloc=0" - - # Disable gpu rendering, it is incompatible with nvidia-drivers, - # bug #319331. - myconf="${myconf} -Denable_gpu=0" - - # Use target arch detection logic from bug #296917. - local myarch="$ABI" - [[ $myarch = "" ]] && myarch="$ARCH" - - if [[ $myarch = amd64 ]] ; then - myconf="${myconf} -Dtarget_arch=x64" - elif [[ $myarch = x86 ]] ; then - myconf="${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="${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="${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="${myconf} -Dwerror=" - - build/gyp_chromium -f make build/all.gyp ${myconf} --depth=. || die "gyp failed" -} - -src_compile() { - emake -r V=1 chrome chrome_sandbox BUILDTYPE=Release \ - rootdir="${S}" \ - CC="$(tc-getCC)" \ - CXX="$(tc-getCXX)" \ - AR="$(tc-getAR)" \ - RANLIB="$(tc-getRANLIB)" \ - || die "compilation failed" -} - -src_install() { - dodir "$(get_chromium_home)" - - exeinto "$(get_chromium_home)" - pax-mark m out/Release/chrome - doexe out/Release/chrome - doexe out/Release/chrome_sandbox - fperms 4755 "$(get_chromium_home)/chrome_sandbox" - doexe out/Release/xdg-settings - doexe "${FILESDIR}"/chromium-launcher.sh - - insinto "$(get_chromium_home)" - doins out/Release/chrome.pak || die "installing chrome.pak failed" - doins out/Release/resources.pak || die "installing resources.pak failed" - - doins -r out/Release/locales - doins -r out/Release/resources - - # chrome.1 is for chromium --help - newman out/Release/chrome.1 chrome.1 - newman out/Release/chrome.1 chromium.1 - - 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 - dosym "$(get_chromium_home)/chromium-launcher.sh" /usr/bin/chromium - 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 "desktop file sed failed" - - # Install GNOME default application entry (bug #303100). - dodir /usr/share/gnome-control-center/default-apps - insinto /usr/share/gnome-control-center/default-apps - doins "${FILESDIR}"/chromium.xml -} diff --git a/www-client/chromium/chromium-6.0.472.62-r1.ebuild b/www-client/chromium/chromium-6.0.472.62-r1.ebuild deleted file mode 100644 index 09dac581122d..000000000000 --- a/www-client/chromium/chromium-6.0.472.62-r1.ebuild +++ /dev/null @@ -1,223 +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-6.0.472.62-r1.ebuild,v 1.2 2010/09/22 08:33:24 phajdan.jr 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-keyring" - -RDEPEND="app-arch/bzip2 - >=dev-libs/libevent-1.4.13 - >=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.4.4 ) - 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 - >=gnome-base/gnome-keyring-2.28.2 - 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" - -get_chromium_home() { - echo "/usr/$(get_libdir)/chromium-browser" -} - -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 -} - -src_prepare() { - # Fix compilation, bug #332131. - epatch "${FILESDIR}"/${PN}-make-3.82-compatibility-r0.patch - - # Add Gentoo plugin paths. - epatch "${FILESDIR}"/${PN}-plugins-path-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/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/lzma_sdk" - remove_bundled_lib "third_party/molokocacao" - remove_bundled_lib "third_party/ocmock" - remove_bundled_lib "third_party/py" - remove_bundled_lib "third_party/pyftpdlib" - remove_bundled_lib "third_party/simplejson" - remove_bundled_lib "third_party/tlslite" - # TODO: also remove third_party/libxml and third_party/libxslt when - # http://crbug.com/29333 is fixed. - # 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_libxml (http://crbug.com/29333). - # TODO: use_system_sqlite (http://crbug.com/22208). - # TODO: use_system_icu, use_system_hunspell (upstream changes needed). - # TODO: use_system_ssl when we have a recent enough system NSS. - myconf="${myconf} - -Duse_system_bzip2=1 - -Duse_system_libevent=1 - -Duse_system_libjpeg=1 - -Duse_system_libpng=1 - -Duse_system_zlib=1" - - # The dependency on cups is optional, see bug #324105. - if use cups; then - myconf="${myconf} -Duse_cups=1" - else - myconf="${myconf} -Duse_cups=0" - fi - - if use "gnome-keyring"; then - myconf="${myconf} -Dlinux_link_gnome_keyring=1" - else - # TODO: we should also disable code trying to dlopen - # gnome-keyring in that case. - myconf="${myconf} -Dlinux_link_gnome_keyring=0" - fi - - # Enable sandbox. - myconf="${myconf} - -Dlinux_sandbox_path=$(get_chromium_home)/chrome_sandbox - -Dlinux_sandbox_chrome_path=$(get_chromium_home)/chrome" - - # Disable the V8 snapshot. It breaks the build on hardened (bug #301880), - # and the performance gain isn't worth it. - myconf="${myconf} -Dv8_use_snapshot=0" - - # Disable tcmalloc memory allocator. It causes problems, - # for example bug #320419. - myconf="${myconf} -Dlinux_use_tcmalloc=0" - - # Disable gpu rendering, it is incompatible with nvidia-drivers, - # bug #319331. - myconf="${myconf} -Denable_gpu=0" - - # Use target arch detection logic from bug #296917. - local myarch="$ABI" - [[ $myarch = "" ]] && myarch="$ARCH" - - if [[ $myarch = amd64 ]] ; then - myconf="${myconf} -Dtarget_arch=x64" - elif [[ $myarch = x86 ]] ; then - myconf="${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="${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="${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="${myconf} -Dwerror=" - - build/gyp_chromium -f make build/all.gyp ${myconf} --depth=. || die "gyp failed" -} - -src_compile() { - emake -r V=1 chrome chrome_sandbox BUILDTYPE=Release \ - rootdir="${S}" \ - CC="$(tc-getCC)" \ - CXX="$(tc-getCXX)" \ - AR="$(tc-getAR)" \ - RANLIB="$(tc-getRANLIB)" \ - || die "compilation failed" -} - -src_install() { - dodir "$(get_chromium_home)" - - exeinto "$(get_chromium_home)" - pax-mark m out/Release/chrome - doexe out/Release/chrome - doexe out/Release/chrome_sandbox - fperms 4755 "$(get_chromium_home)/chrome_sandbox" - doexe out/Release/xdg-settings - doexe "${FILESDIR}"/chromium-launcher.sh - - insinto "$(get_chromium_home)" - doins out/Release/chrome.pak || die "installing chrome.pak failed" - doins out/Release/resources.pak || die "installing resources.pak failed" - - doins -r out/Release/locales - doins -r out/Release/resources - - # chrome.1 is for chromium --help - newman out/Release/chrome.1 chrome.1 - newman out/Release/chrome.1 chromium.1 - - 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 - dosym "$(get_chromium_home)/chromium-launcher.sh" /usr/bin/chromium - 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 "desktop file sed failed" - - # Install GNOME default application entry (bug #303100). - dodir /usr/share/gnome-control-center/default-apps - insinto /usr/share/gnome-control-center/default-apps - doins "${FILESDIR}"/chromium.xml -} diff --git a/www-client/chromium/chromium-6.0.472.63-r1.ebuild b/www-client/chromium/chromium-6.0.472.63-r1.ebuild deleted file mode 100644 index 25061fd82442..000000000000 --- a/www-client/chromium/chromium-6.0.472.63-r1.ebuild +++ /dev/null @@ -1,223 +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-6.0.472.63-r1.ebuild,v 1.1 2010/09/23 12:28:23 phajdan.jr 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-keyring" - -RDEPEND="app-arch/bzip2 - >=dev-libs/libevent-1.4.13 - >=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.4.4 ) - 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 - >=gnome-base/gnome-keyring-2.28.2 - 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" - -get_chromium_home() { - echo "/usr/$(get_libdir)/chromium-browser" -} - -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 -} - -src_prepare() { - # Fix compilation, bug #332131. - epatch "${FILESDIR}"/${PN}-make-3.82-compatibility-r0.patch - - # Add Gentoo plugin paths. - epatch "${FILESDIR}"/${PN}-plugins-path-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/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/lzma_sdk" - remove_bundled_lib "third_party/molokocacao" - remove_bundled_lib "third_party/ocmock" - remove_bundled_lib "third_party/py" - remove_bundled_lib "third_party/pyftpdlib" - remove_bundled_lib "third_party/simplejson" - remove_bundled_lib "third_party/tlslite" - # TODO: also remove third_party/libxml and third_party/libxslt when - # http://crbug.com/29333 is fixed. - # 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_libxml (http://crbug.com/29333). - # TODO: use_system_sqlite (http://crbug.com/22208). - # TODO: use_system_icu, use_system_hunspell (upstream changes needed). - # TODO: use_system_ssl when we have a recent enough system NSS. - myconf="${myconf} - -Duse_system_bzip2=1 - -Duse_system_libevent=1 - -Duse_system_libjpeg=1 - -Duse_system_libpng=1 - -Duse_system_zlib=1" - - # The dependency on cups is optional, see bug #324105. - if use cups; then - myconf="${myconf} -Duse_cups=1" - else - myconf="${myconf} -Duse_cups=0" - fi - - if use "gnome-keyring"; then - myconf="${myconf} -Dlinux_link_gnome_keyring=1" - else - # TODO: we should also disable code trying to dlopen - # gnome-keyring in that case. - myconf="${myconf} -Dlinux_link_gnome_keyring=0" - fi - - # Enable sandbox. - myconf="${myconf} - -Dlinux_sandbox_path=$(get_chromium_home)/chrome_sandbox - -Dlinux_sandbox_chrome_path=$(get_chromium_home)/chrome" - - # Disable the V8 snapshot. It breaks the build on hardened (bug #301880), - # and the performance gain isn't worth it. - myconf="${myconf} -Dv8_use_snapshot=0" - - # Disable tcmalloc memory allocator. It causes problems, - # for example bug #320419. - myconf="${myconf} -Dlinux_use_tcmalloc=0" - - # Disable gpu rendering, it is incompatible with nvidia-drivers, - # bug #319331. - myconf="${myconf} -Denable_gpu=0" - - # Use target arch detection logic from bug #296917. - local myarch="$ABI" - [[ $myarch = "" ]] && myarch="$ARCH" - - if [[ $myarch = amd64 ]] ; then - myconf="${myconf} -Dtarget_arch=x64" - elif [[ $myarch = x86 ]] ; then - myconf="${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="${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="${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="${myconf} -Dwerror=" - - build/gyp_chromium -f make build/all.gyp ${myconf} --depth=. || die "gyp failed" -} - -src_compile() { - emake -r V=1 chrome chrome_sandbox BUILDTYPE=Release \ - rootdir="${S}" \ - CC="$(tc-getCC)" \ - CXX="$(tc-getCXX)" \ - AR="$(tc-getAR)" \ - RANLIB="$(tc-getRANLIB)" \ - || die "compilation failed" -} - -src_install() { - dodir "$(get_chromium_home)" - - exeinto "$(get_chromium_home)" - pax-mark m out/Release/chrome - doexe out/Release/chrome - doexe out/Release/chrome_sandbox - fperms 4755 "$(get_chromium_home)/chrome_sandbox" - doexe out/Release/xdg-settings - doexe "${FILESDIR}"/chromium-launcher.sh - - insinto "$(get_chromium_home)" - doins out/Release/chrome.pak || die "installing chrome.pak failed" - doins out/Release/resources.pak || die "installing resources.pak failed" - - doins -r out/Release/locales - doins -r out/Release/resources - - # chrome.1 is for chromium --help - newman out/Release/chrome.1 chrome.1 - newman out/Release/chrome.1 chromium.1 - - 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 - dosym "$(get_chromium_home)/chromium-launcher.sh" /usr/bin/chromium - 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 "desktop file sed failed" - - # Install GNOME default application entry (bug #303100). - dodir /usr/share/gnome-control-center/default-apps - insinto /usr/share/gnome-control-center/default-apps - doins "${FILESDIR}"/chromium.xml -} diff --git a/www-client/chromium/chromium-7.0.517.13.ebuild b/www-client/chromium/chromium-7.0.536.2.ebuild index 55e513ab7781..269a18d281ff 100644 --- a/www-client/chromium/chromium-7.0.517.13.ebuild +++ b/www-client/chromium/chromium-7.0.536.2.ebuild @@ -1,6 +1,6 @@ # 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.13.ebuild,v 1.1 2010/09/27 09:53:11 phajdan.jr Exp $ +# $Header: /var/cvsroot/gentoo-x86/www-client/chromium/chromium-7.0.536.2.ebuild,v 1.1 2010/10/01 08:34:59 phajdan.jr Exp $ EAPI="2" @@ -13,9 +13,10 @@ SRC_URI="http://build.chromium.org/buildbot/official/${P}.tar.bz2" LICENSE="BSD" SLOT="0" KEYWORDS="~amd64 ~arm ~x86" -IUSE="cups gnome gnome-keyring" +IUSE="cups gnome gnome-keyring system-sqlite" RDEPEND="app-arch/bzip2 + system-sqlite? ( >=dev-db/sqlite-3.6.23.1[fts3,secure-delete] ) >=dev-libs/icu-4.4.1 >=dev-libs/libevent-1.4.13 dev-libs/libxml2 @@ -64,8 +65,9 @@ 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 + # Small fixes to the system-provided sqlite support, + # to be upstreamed. + epatch "${FILESDIR}"/${PN}-system-sqlite-r0.patch remove_bundled_lib "third_party/bzip2" remove_bundled_lib "third_party/codesighs" @@ -86,6 +88,11 @@ src_prepare() { remove_bundled_lib "third_party/tlslite" # TODO: also remove third_party/zlib. For now the compilation fails if we # remove it (minizip-related). + + if use system-sqlite; then + remove_bundled_lib "third_party/sqlite/src" + remove_bundled_lib "third_party/sqlite/preprocessed" + fi } src_configure() { @@ -97,7 +104,6 @@ src_configure() { # 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+=" @@ -109,6 +115,10 @@ src_configure() { -Duse_system_libxml=1 -Duse_system_zlib=1" + if use system-sqlite; then + myconf+=" -Duse_system_sqlite=1" + fi + # The dependency on cups is optional, see bug #324105. if use cups; then myconf+=" -Duse_cups=1" @@ -133,10 +143,6 @@ src_configure() { # 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" @@ -169,16 +175,11 @@ src_configure() { # the build to fail because of that. myconf+=" -Dwerror=" - build/gyp_chromium -f make build/all.gyp ${myconf} --depth=. || die + build/gyp_chromium --depth=. ${myconf} || 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 + emake chrome chrome_sandbox BUILDTYPE=Release V=1 || die } src_install() { diff --git a/www-client/chromium/chromium-9999.ebuild b/www-client/chromium/chromium-9999.ebuild index 6dc49ff3f20e..5da0c86f5569 100644 --- a/www-client/chromium/chromium-9999.ebuild +++ b/www-client/chromium/chromium-9999.ebuild @@ -1,6 +1,6 @@ # 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.86 2010/09/23 12:31:25 phajdan.jr Exp $ +# $Header: /var/cvsroot/gentoo-x86/www-client/chromium/chromium-9999.ebuild,v 1.87 2010/10/01 08:34:59 phajdan.jr Exp $ EAPI="2" @@ -15,9 +15,10 @@ EGCLIENT_REPO_URI="http://src.chromium.org/svn/trunk/src/" LICENSE="BSD" SLOT="0" KEYWORDS="" -IUSE="cups gnome gnome-keyring" +IUSE="cups gnome gnome-keyring system-sqlite" RDEPEND="app-arch/bzip2 + system-sqlite? ( >=dev-db/sqlite-3.6.23.1[fts3,secure-delete] ) >=dev-libs/icu-4.4.1 >=dev-libs/libevent-1.4.13 dev-libs/libxml2 @@ -109,6 +110,10 @@ src_prepare() { # Add Gentoo plugin paths. epatch "${FILESDIR}"/${PN}-plugins-path-r0.patch + # Small fixes to the system-provided sqlite support, + # to be upstreamed. + epatch "${FILESDIR}"/${PN}-system-sqlite-r0.patch + remove_bundled_lib "third_party/bzip2" remove_bundled_lib "third_party/codesighs" remove_bundled_lib "third_party/cros" @@ -128,6 +133,11 @@ src_prepare() { remove_bundled_lib "third_party/tlslite" # TODO: also remove third_party/zlib. For now the compilation fails if we # remove it (minizip-related). + + if use system-sqlite; then + remove_bundled_lib "third_party/sqlite/src" + remove_bundled_lib "third_party/sqlite/preprocessed" + fi } src_configure() { @@ -139,7 +149,6 @@ src_configure() { # 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+=" @@ -151,6 +160,10 @@ src_configure() { -Duse_system_libxml=1 -Duse_system_zlib=1" + if use system-sqlite; then + myconf+=" -Duse_system_sqlite=1" + fi + # The dependency on cups is optional, see bug #324105. if use cups; then myconf+=" -Duse_cups=1" @@ -175,10 +188,6 @@ src_configure() { # 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" @@ -211,16 +220,11 @@ src_configure() { # the build to fail because of that. myconf+=" -Dwerror=" - build/gyp_chromium -f make build/all.gyp ${myconf} --depth=. || die + build/gyp_chromium --depth=. ${myconf} || 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 + emake chrome chrome_sandbox BUILDTYPE=Release V=1 || die } src_install() { diff --git a/www-client/chromium/files/chromium-system-sqlite-r0.patch b/www-client/chromium/files/chromium-system-sqlite-r0.patch new file mode 100644 index 000000000000..1fa919769731 --- /dev/null +++ b/www-client/chromium/files/chromium-system-sqlite-r0.patch @@ -0,0 +1,50 @@ +--- third_party/sqlite/sqlite3.h.orig 2010-09-30 13:13:26.000000000 +0200 ++++ third_party/sqlite/sqlite3.h 2010-09-30 13:13:37.000000000 +0200 +@@ -14,7 +14,7 @@ + + // A no-op implementation of database preloading (not available + // when using system sqlite). +-int sqlite3Preload(sqlite3 *db) { return SQLITE_OK; } ++int sqlite3Preload(sqlite3 *db); + #else + #include "third_party/sqlite/preprocessed/sqlite3.h" + #endif +--- third_party/sqlite/sqlite.gyp.orig 2010-09-30 11:49:48.000000000 +0200 ++++ third_party/sqlite/sqlite.gyp 2010-09-30 11:51:38.000000000 +0200 +@@ -32,7 +32,7 @@ + }, + }], + ['(OS=="linux" or OS=="freebsd" or OS=="openbsd") and use_system_sqlite', { +- 'type': 'settings', ++ 'type': '<(library)', + 'direct_dependent_settings': { + 'cflags': [ + # This next command produces no output but it it will fail (and +@@ -54,6 +54,9 @@ + '<!@(pkg-config --libs-only-l sqlite3)', + ], + }, ++ 'sources': [ ++ 'stubs.cc', ++ ], + }, { # else: OS != "linux" or ! use_system_sqlite + 'product_name': 'sqlite3', + 'type': '<(library)', +--- /dev/null 2010-09-03 08:04:12.886666449 +0200 ++++ third_party/sqlite/stubs.cc 2010-09-30 11:53:35.000000000 +0200 +@@ -0,0 +1,5 @@ ++#include <sqlite3.h> ++ ++int sqlite3Preload(sqlite3 *db) { ++ return SQLITE_OK; ++} +--- chrome/chrome.gyp.orig 2010-10-01 06:57:23.000000000 +0200 ++++ chrome/chrome.gyp 2010-10-01 06:58:09.000000000 +0200 +@@ -1018,6 +1018,7 @@ + '_USE_32BIT_TIME_T', + ], + 'dependencies': [ ++ 'common', + '../skia/skia.gyp:skia', + '../third_party/libjingle/libjingle.gyp:libjingle', + 'browser/sync/protocol/sync_proto.gyp:sync_proto_cpp', diff --git a/www-client/chromium/metadata.xml b/www-client/chromium/metadata.xml index 47002a437f00..593fb01b9ed4 100644 --- a/www-client/chromium/metadata.xml +++ b/www-client/chromium/metadata.xml @@ -3,4 +3,8 @@ <pkgmetadata> <herd>chromium</herd> <longdescription>Chromium is the open-source web browser project behind Google Chrome</longdescription> + <use> + <flag name="system-sqlite">Use the system-wide <pkg>dev-db/sqlite</pkg> + installation with secure-delete enabled</flag> + </use> </pkgmetadata> |