From e387936bc0e17f8f1a6eb82283f571cc2aadc534 Mon Sep 17 00:00:00 2001 From: Paweł Hajdan Date: Wed, 10 Nov 2010 15:33:23 +0000 Subject: Version bump for dev channel release. Fix bug #343805 by Julien Sanchez . Remove old. (Portage version: 2.1.8.3/cvs/Linux i686) --- www-client/chromium/ChangeLog | 10 +- www-client/chromium/chromium-9.0.570.0.ebuild | 277 ------------------- www-client/chromium/chromium-9.0.576.0.ebuild | 292 +++++++++++++++++++++ www-client/chromium/chromium-9999.ebuild | 28 +- .../chromium/files/chromium-system-vpx-r0.patch | 68 +++++ 5 files changed, 385 insertions(+), 290 deletions(-) delete mode 100644 www-client/chromium/chromium-9.0.570.0.ebuild create mode 100644 www-client/chromium/chromium-9.0.576.0.ebuild create mode 100644 www-client/chromium/files/chromium-system-vpx-r0.patch (limited to 'www-client') diff --git a/www-client/chromium/ChangeLog b/www-client/chromium/ChangeLog index 39d6c299af1b..f14e90306505 100644 --- a/www-client/chromium/ChangeLog +++ b/www-client/chromium/ChangeLog @@ -1,6 +1,14 @@ # 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.223 2010/11/09 17:28:06 phajdan.jr Exp $ +# $Header: /var/cvsroot/gentoo-x86/www-client/chromium/ChangeLog,v 1.224 2010/11/10 15:33:23 phajdan.jr Exp $ + +*chromium-9.0.576.0 (10 Nov 2010) + + 10 Nov 2010; Pawel Hajdan jr + +files/chromium-system-vpx-r0.patch, -chromium-9.0.570.0.ebuild, + +chromium-9.0.576.0.ebuild, chromium-9999.ebuild: + Version bump for dev channel release. Fix bug #343805 by Julien Sanchez + . Remove old. 09 Nov 2010; Pawel Hajdan jr chromium-9999.ebuild: Remove patch applied upstream, bug #344787 by Julien Sanchez diff --git a/www-client/chromium/chromium-9.0.570.0.ebuild b/www-client/chromium/chromium-9.0.570.0.ebuild deleted file mode 100644 index 931c123f8c74..000000000000 --- a/www-client/chromium/chromium-9.0.570.0.ebuild +++ /dev/null @@ -1,277 +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-9.0.570.0.ebuild,v 1.7 2010/11/08 16:45:35 arfrever Exp $ - -EAPI="3" -PYTHON_DEPEND="2:2.6" - -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/" -SRC_URI="http://build.chromium.org/buildbot/official/${P}.tar.bz2" - -LICENSE="BSD" -SLOT="0" -KEYWORDS="~amd64 ~arm ~x86" -IUSE="cups +gecko-mediaplayer gnome gnome-keyring system-sqlite system-v8" - -RDEPEND="app-arch/bzip2 - system-sqlite? ( - >=dev-db/sqlite-3.6.23.1[fts3,icu,secure-delete,threadsafe] - ) - system-v8? ( ~dev-lang/v8-2.5.2 ) - >=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 - virtual/jpeg - media-libs/libpng - >=media-video/ffmpeg-0.6_p25423[threads] - 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-misc/xdg-utils - virtual/ttf-fonts - gecko-mediaplayer? ( !www-plugins/gecko-mediaplayer[gnome] )" - -remove_bundled_lib() { - einfo "Removing bundled library $1 ..." - local out - out="$(find $1 -type f \! -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" - - # Make sure the build system will use the right tools, bug #340795. - tc-export AR CC CXX RANLIB - - # 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() { - # Enable optional support for gecko-mediaplayer. - epatch "${FILESDIR}"/${PN}-gecko-mediaplayer-r0.patch - - remove_bundled_lib "third_party/bzip2" - remove_bundled_lib "third_party/codesighs" - 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/ffmpeg (needs to be compile-tested). - # 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 - - if use system-v8; then - # Provide our own gyp file that links with the system v8. - # TODO: move this upstream. - cp "${FILESDIR}"/v8.gyp v8/tools/gyp || die - - remove_bundled_lib "v8" - - # The implementation files include v8 headers with full path, - # like #include "v8/include/v8.h". Make sure the system headers - # will be used. - # TODO: find a solution that can be upstreamed. - rmdir v8/include || die - ln -s /usr/include v8/include || die - fi - - # Make sure the build system will use the right python, bug #344367. - # Only convert directories that need it, to save time. - python_convert_shebangs -q -r 2 build tools -} - -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_hunspell (upstream changes needed). - # TODO: use_system_ssl (need to consult upstream). - myconf+=" - -Duse_system_bzip2=1 - -Duse_system_ffmpeg=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" - - 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" - 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" - - if host-is-pax; then - # Prevent the build from failing (bug #301880). The performance - # difference is very small. - myconf+=" -Dv8_use_snapshot=0" - fi - - if use gecko-mediaplayer; then - # Disable hardcoded blacklist for gecko-mediaplayer. - # When www-plugins/gecko-mediaplayer is compiled with USE=gnome, it causes - # the browser to hang. We can handle the situation via dependencies, - # thus making it possible to use gecko-mediaplayer. - append-flags -DGENTOO_CHROMIUM_ENABLE_GECKO_MEDIAPLAYER - fi - - # Our system ffmpeg should support more codecs than the bundled one - # for Chromium. - myconf+=" -Dproprietary_codecs=1" - - # 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 --depth=. ${myconf} || die -} - -src_compile() { - emake chrome chrome_sandbox BUILDTYPE=Release V=1 || 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 - - # Chromium looks for these in its folder - # See media_posix.cc and base_paths_linux.cc - dosym /usr/$(get_libdir)/libavcodec.so.52 "${CHROMIUM_HOME}" || die - dosym /usr/$(get_libdir)/libavformat.so.52 "${CHROMIUM_HOME}" || die - dosym /usr/$(get_libdir)/libavutil.so.50 "${CHROMIUM_HOME}" || 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-9.0.576.0.ebuild b/www-client/chromium/chromium-9.0.576.0.ebuild new file mode 100644 index 000000000000..1a8b336e1d97 --- /dev/null +++ b/www-client/chromium/chromium-9.0.576.0.ebuild @@ -0,0 +1,292 @@ +# 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.576.0.ebuild,v 1.1 2010/11/10 15:33:23 phajdan.jr Exp $ + +EAPI="3" +PYTHON_DEPEND="2:2.6" + +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/" +SRC_URI="http://build.chromium.org/buildbot/official/${P}.tar.bz2" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64 ~arm ~x86" +IUSE="cups +gecko-mediaplayer gnome gnome-keyring system-sqlite system-v8" + +RDEPEND="app-arch/bzip2 + system-sqlite? ( + >=dev-db/sqlite-3.6.23.1[fts3,icu,secure-delete,threadsafe] + ) + system-v8? ( ~dev-lang/v8-2.5.4 ) + dev-libs/dbus-glib + >=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? ( >=gnome-base/gconf-2.24.0 ) + gnome-keyring? ( >=gnome-base/gnome-keyring-2.28.2 ) + >=media-libs/alsa-lib-1.0.19 + virtual/jpeg + media-libs/libpng + media-libs/libvpx + >=media-video/ffmpeg-0.6_p25423[threads] + 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-misc/xdg-utils + virtual/ttf-fonts + gecko-mediaplayer? ( !www-plugins/gecko-mediaplayer[gnome] )" + +egyp() { + set -- build/gyp_chromium --depth=. "${@}" + echo "${@}" >&2 + "${@}" +} + +remove_bundled_lib() { + einfo "Removing bundled library $1 ..." + local out + out="$(find $1 -type f \! -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" + + # Make sure the build system will use the right tools, bug #340795. + tc-export AR CC CXX RANLIB + + # 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() { + # Enable optional support for gecko-mediaplayer. + epatch "${FILESDIR}"/${PN}-gecko-mediaplayer-r0.patch + + # Make GConf dependency optional, http://crbug.com/13322. + epatch "${FILESDIR}"/${PN}-gconf-optional-r0.patch + + # Make sure we don't use bundled libvpx headers. + epatch "${FILESDIR}"/${PN}-system-vpx-r0.patch + + remove_bundled_lib "third_party/bzip2" + remove_bundled_lib "third_party/codesighs" + 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/libvpx" + 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" + remove_bundled_lib "third_party/yasm" + # TODO: also remove third_party/ffmpeg (needs to be compile-tested). + # 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 + + if use system-v8; then + # Provide our own gyp file that links with the system v8. + # TODO: move this upstream. + cp "${FILESDIR}"/v8.gyp v8/tools/gyp || die + + remove_bundled_lib "v8" + + # The implementation files include v8 headers with full path, + # like #include "v8/include/v8.h". Make sure the system headers + # will be used. + # TODO: find a solution that can be upstreamed. + rmdir v8/include || die + ln -s /usr/include v8/include || die + fi + + # Make sure the build system will use the right python, bug #344367. + # Only convert directories that need it, to save time. + python_convert_shebangs -q -r 2 build tools +} + +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_hunspell (upstream changes needed). + # TODO: use_system_ssl (need to consult upstream). + myconf+=" + -Duse_system_bzip2=1 + -Duse_system_ffmpeg=1 + -Duse_system_icu=1 + -Duse_system_libevent=1 + -Duse_system_libjpeg=1 + -Duse_system_libpng=1 + -Duse_system_libxml=1 + -Duse_system_vpx=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" + else + myconf+=" -Duse_cups=0" + fi + + # Make GConf dependency optional, http://crbug.com/13322. + if use gnome; then + myconf+=" -Duse_gconf=1" + else + myconf+=" -Duse_gconf=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" + + if host-is-pax; then + # Prevent the build from failing (bug #301880). The performance + # difference is very small. + myconf+=" -Dv8_use_snapshot=0" + fi + + if use gecko-mediaplayer; then + # Disable hardcoded blacklist for gecko-mediaplayer. + # When www-plugins/gecko-mediaplayer is compiled with USE=gnome, it causes + # the browser to hang. We can handle the situation via dependencies, + # thus making it possible to use gecko-mediaplayer. + append-flags -DGENTOO_CHROMIUM_ENABLE_GECKO_MEDIAPLAYER + fi + + # Our system ffmpeg should support more codecs than the bundled one + # for Chromium. + myconf+=" -Dproprietary_codecs=1" + + # 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 + + # 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=" + + egyp ${myconf} || die +} + +src_compile() { + emake chrome chrome_sandbox BUILDTYPE=Release V=1 || 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 + + # Chromium looks for these in its folder + # See media_posix.cc and base_paths_linux.cc + dosym /usr/$(get_libdir)/libavcodec.so.52 "${CHROMIUM_HOME}" || die + dosym /usr/$(get_libdir)/libavformat.so.52 "${CHROMIUM_HOME}" || die + dosym /usr/$(get_libdir)/libavutil.so.50 "${CHROMIUM_HOME}" || 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-9999.ebuild b/www-client/chromium/chromium-9999.ebuild index d84cd1ef44dc..53ce8beb68fd 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.108 2010/11/09 17:28:06 phajdan.jr Exp $ +# $Header: /var/cvsroot/gentoo-x86/www-client/chromium/chromium-9999.ebuild,v 1.109 2010/11/10 15:33:23 phajdan.jr Exp $ EAPI="3" PYTHON_DEPEND="2:2.6" @@ -22,7 +22,7 @@ RDEPEND="app-arch/bzip2 system-sqlite? ( >=dev-db/sqlite-3.6.23.1[fts3,icu,secure-delete,threadsafe] ) - system-v8? ( ~dev-lang/v8-2.5.2 ) + system-v8? ( ~dev-lang/v8-2.5.4 ) dev-libs/dbus-glib >=dev-libs/icu-4.4.1 >=dev-libs/libevent-1.4.13 @@ -34,6 +34,7 @@ RDEPEND="app-arch/bzip2 >=media-libs/alsa-lib-1.0.19 virtual/jpeg media-libs/libpng + media-libs/libvpx >=media-video/ffmpeg-0.6_p25423[threads] cups? ( >=net-print/cups-1.3.11 ) sys-libs/zlib @@ -98,6 +99,12 @@ src_unpack() { elog "Installing/updating to version ${MAJOR}.${MINOR}.${BUILD}.${PATCH}_p${CREV} " } +egyp() { + set -- build/gyp_chromium --depth=. "${@}" + echo "${@}" >&2 + "${@}" +} + remove_bundled_lib() { einfo "Removing bundled library $1 ..." local out @@ -135,6 +142,9 @@ src_prepare() { # Enable optional support for gecko-mediaplayer. epatch "${FILESDIR}"/${PN}-gecko-mediaplayer-r0.patch + # Make sure we don't use bundled libvpx headers. + epatch "${FILESDIR}"/${PN}-system-vpx-r0.patch + remove_bundled_lib "third_party/bzip2" remove_bundled_lib "third_party/codesighs" remove_bundled_lib "third_party/icu" @@ -143,6 +153,7 @@ src_prepare() { remove_bundled_lib "third_party/libevent" remove_bundled_lib "third_party/libjpeg" remove_bundled_lib "third_party/libpng" + remove_bundled_lib "third_party/libvpx" remove_bundled_lib "third_party/libxml" remove_bundled_lib "third_party/libxslt" remove_bundled_lib "third_party/lzma_sdk" @@ -151,6 +162,7 @@ src_prepare() { remove_bundled_lib "third_party/pyftpdlib" remove_bundled_lib "third_party/simplejson" remove_bundled_lib "third_party/tlslite" + remove_bundled_lib "third_party/yasm" # TODO: also remove third_party/ffmpeg (needs to be compile-tested). # TODO: also remove third_party/zlib. For now the compilation fails if we # remove it (minizip-related). @@ -198,6 +210,7 @@ src_configure() { -Duse_system_libjpeg=1 -Duse_system_libpng=1 -Duse_system_libxml=1 + -Duse_system_vpx=1 -Duse_system_zlib=1" if use system-sqlite; then @@ -267,21 +280,12 @@ src_configure() { 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 --depth=. ${myconf} || die + egyp ${myconf} || die } src_compile() { diff --git a/www-client/chromium/files/chromium-system-vpx-r0.patch b/www-client/chromium/files/chromium-system-vpx-r0.patch new file mode 100644 index 000000000000..102a083ac589 --- /dev/null +++ b/www-client/chromium/files/chromium-system-vpx-r0.patch @@ -0,0 +1,68 @@ +--- remoting/base/encoder_vp8.cc.orig 2010-11-10 09:52:56.000000000 +0100 ++++ remoting/base/encoder_vp8.cc 2010-11-10 09:53:32.000000000 +0100 +@@ -11,9 +11,9 @@ + + extern "C" { + #define VPX_CODEC_DISABLE_COMPAT 1 +-#include "third_party/libvpx/include/vpx/vpx_codec.h" +-#include "third_party/libvpx/include/vpx/vpx_encoder.h" +-#include "third_party/libvpx/include/vpx/vp8cx.h" ++#include "vpx/vpx_codec.h" ++#include "vpx/vpx_encoder.h" ++#include "vpx/vp8cx.h" + } + + namespace remoting { +--- remoting/base/decoder_vp8.cc.orig 2010-11-10 09:54:14.000000000 +0100 ++++ remoting/base/decoder_vp8.cc 2010-11-10 09:54:37.000000000 +0100 +@@ -10,9 +10,9 @@ + + extern "C" { + #define VPX_CODEC_DISABLE_COMPAT 1 +-#include "third_party/libvpx/include/vpx/vpx_codec.h" +-#include "third_party/libvpx/include/vpx/vpx_decoder.h" +-#include "third_party/libvpx/include/vpx/vp8dx.h" ++#include "vpx/vpx_codec.h" ++#include "vpx/vpx_decoder.h" ++#include "vpx/vp8dx.h" + } + + namespace remoting { +--- third_party/ffmpeg/ffmpeg_stub_headers.fragment.orig 2010-11-10 09:55:43.000000000 +0100 ++++ third_party/ffmpeg/ffmpeg_stub_headers.fragment 2010-11-10 09:56:09.000000000 +0100 +@@ -7,9 +7,9 @@ + #include + + #define VPX_CODEC_DISABLE_COMPAT 1 +-#include "third_party/libvpx/include/vpx/vpx_codec.h" +-#include "third_party/libvpx/include/vpx/vpx_encoder.h" +-#include "third_party/libvpx/include/vpx/vpx_decoder.h" ++#include "vpx/vpx_codec.h" ++#include "vpx/vpx_encoder.h" ++#include "vpx/vpx_decoder.h" + + typedef int (*AVLockMgrOperation)(void**, enum AVLockOp); + +--- third_party/ffmpeg/ffmpeg.gyp.orig 2010-11-10 11:53:27.000000000 +0100 ++++ third_party/ffmpeg/ffmpeg.gyp 2010-11-10 11:55:07.000000000 +0100 +@@ -902,10 +902,20 @@ + 'cflags': [ + '