public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Donnie Berkholz" <dberkholz@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] dev/dberkholz:master commit in: www-client/chromium/
Date: Mon, 30 May 2011 13:38:25 +0000 (UTC)	[thread overview]
Message-ID: <2ea02609a33f57aacc20418505703f057f6181b1.dberkholz@gentoo> (raw)

commit:     2ea02609a33f57aacc20418505703f057f6181b1
Author:     Donnie Berkholz <dberkholz <AT> gentoo <DOT> org>
AuthorDate: Mon May 30 13:38:11 2011 +0000
Commit:     Donnie Berkholz <dberkholz <AT> gentoo <DOT> org>
CommitDate: Mon May 30 13:38:11 2011 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=dev/dberkholz.git;a=commit;h=2ea02609

chromium: add my patch to the latest revision in the tree.

---
 www-client/chromium/Manifest                      |    1 +
 www-client/chromium/chromium-13.0.772.0-r1.ebuild |  428 +++++++++++++++++++++
 2 files changed, 429 insertions(+), 0 deletions(-)

diff --git a/www-client/chromium/Manifest b/www-client/chromium/Manifest
index 6adb118..ecad739 100644
--- a/www-client/chromium/Manifest
+++ b/www-client/chromium/Manifest
@@ -9,6 +9,7 @@ AUX chromium-system-zlib-r0.patch 1318 RMD160 2debfc4f179a57119d5022305134307f4c
 AUX chromium.xml 390 RMD160 6b2f901da76555a7112f71a6f9dae6e2e3307324 SHA1 81148a0b094bc697ff2c9d33efe976b1bffb72a3 SHA256 a81c6257346eaa4f6389fc9ea8834fd2dd3b006cf4e9e999028aca812d76fe9a
 AUX dot-gclient 253 RMD160 a768770d8e6f5b73395451277beea1cc9240fc3a SHA1 3eaf2074da58cfe4f2af3d08f59b27a16fe13dad SHA256 8c5750251ff681044cc584ef3768fe39c56c7877ade5fb9107298734126e62cf
 DIST chromium-13.0.772.0.tar.bz2 151228656 RMD160 e262ccac7adf9ecc43c5fef4c08a70c828c8ac43 SHA1 fb608e09454a06ded186e77a1a1cd50123535304 SHA256 b0e200badba8ffdf066c35a567f15baa1592946de1a62c1dcb708cdbdf30f2bf
+EBUILD chromium-13.0.772.0-r1.ebuild 13162 RMD160 67f4778277b81e39edf1a2d717e5d35884cfb9b5 SHA1 83ab2e1f80fa7a45b3b7d4a82c5c840d4a0ce7be SHA256 e37e3751fb5c29d3ddb80904c58866563d920dcaefc334004c66c720a1cc19a2
 EBUILD chromium-13.0.772.0.ebuild 11510 RMD160 516043a2381bb924aa06aca643101e48891e1227 SHA1 3c70c7dec2239a812809602ce2876dcd0d359e7a SHA256 bf9b857437ad99c23a5a0976df4b7a4e8bd613de2d725e98e652231439c98766
 MISC ChangeLog 81977 RMD160 4d005d33bd5e9afaa6333ec1639fdb8c919bc91e SHA1 24acefbbe5f87d2561fc39c936676c053343574a SHA256 6d34ce755b7da6b18b2c1fdfbb7383b92cc8e8bcdff9da6e62c396ddc454f26c
 MISC metadata.xml 267 RMD160 3a166415fec415d539c1b7c32ed40b188488b9fb SHA1 5c3d71a9cea27175cbe8c98369b42b79c8643c6c SHA256 4e6afae33f60d6752cacf2785f7f9a396b8711cce605b73d0d752a4af7d01fc8

diff --git a/www-client/chromium/chromium-13.0.772.0-r1.ebuild b/www-client/chromium/chromium-13.0.772.0-r1.ebuild
new file mode 100644
index 0000000..e064521
--- /dev/null
+++ b/www-client/chromium/chromium-13.0.772.0-r1.ebuild
@@ -0,0 +1,428 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/www-client/chromium/chromium-13.0.772.0-r1.ebuild,v 1.2 2011/05/29 15:08:06 phajdan.jr Exp $
+
+EAPI="3"
+PYTHON_DEPEND="2:2.6"
+
+inherit eutils fdo-mime flag-o-matic gnome2-utils linux-info multilib \
+	pax-utils portability python toolchain-funcs versionator virtualx
+
+DESCRIPTION="Open-source version of Google Chrome web browser"
+HOMEPAGE="http://chromium.org/"
+SRC_URI="http://build.chromium.org/official/${P}.tar.bz2"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~x86"
+IUSE="cups gnome gnome-keyring kerberos xinerama"
+
+# 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
+	dev-libs/dbus-glib
+	>=dev-libs/icu-4.4.1
+	>=dev-libs/libevent-1.4.13
+	dev-libs/libxml2[icu]
+	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
+	media-libs/flac
+	virtual/jpeg
+	media-libs/libpng
+	>=media-libs/libvpx-0.9.5
+	>=media-libs/libwebp-0.1.2
+	media-libs/speex
+	cups? ( >=net-print/cups-1.3.11 )
+	sys-libs/zlib
+	>=virtual/ffmpeg-0.6.90[threads]
+	x11-libs/gtk+:2
+	x11-libs/libXScrnSaver
+	x11-libs/libXtst"
+DEPEND="${RDEPEND}
+	dev-lang/perl
+	>=dev-util/gperf-3.0.3
+	>=dev-util/pkgconfig-0.23
+	sys-devel/flex
+	>=sys-devel/make-3.81-r2
+	x11-libs/libXinerama
+	test? (
+		dev-python/pyftpdlib
+		dev-python/simplejson
+		virtual/krb5
+	)"
+RDEPEND+="
+	kerberos? ( virtual/krb5 )
+	xinerama? ( x11-libs/libXinerama )
+	x11-misc/xdg-utils
+	virtual/ttf-fonts"
+
+gyp_use() {
+	if [[ $# -lt 2 ]]; then
+		echo "!!! usage: gyp_use <USEFLAG> <GYPFLAG>" >&2
+		return 1
+	fi
+	if use "$1"; then echo "-D$2=1"; else echo "-D$2=0"; fi
+}
+
+egyp() {
+	set -- build/gyp_chromium --depth=. "${@}"
+	echo "${@}" >&2
+	"${@}"
+}
+
+# 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
+}
+
+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
+	python_pkg_setup
+
+	# 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
+
+	# Prevent user problems like bug #348235.
+	eshopts_push -s extglob
+	if is-flagq '-g?(gdb)?([1-9])'; then
+		ewarn "You have enabled debug info (probably have -g or -ggdb in your \$C{,XX}FLAGS)."
+		ewarn "You may experience really long compilation times and/or increased memory usage."
+		ewarn "If compilation fails, please try removing -g{,gdb} before reporting a bug."
+	fi
+	eshopts_pop
+
+	# Warn if the kernel doesn't support features useful for sandboxing,
+	# bug #363907.
+	CONFIG_CHECK="~PID_NS ~NET_NS"
+	PID_NS_WARNING="PID (process id) namespaces are needed for sandboxing."
+	NET_NS_WARNING="Network namespaces are needed for sandboxing."
+	check_extra_config
+}
+
+src_prepare() {
+	# Make sure we don't use bundled libvpx headers.
+	epatch "${FILESDIR}/${PN}-system-vpx-r4.patch"
+
+	# Fix for gcc 4.6
+	epatch "${FILESDIR}/chromium-gcc4.6.patch"
+
+	# Remove most bundled libraries. Some are still needed.
+	find third_party -type f \! -iname '*.gyp*' \
+		\! -path 'third_party/WebKit/*' \
+		\! -path 'third_party/angle/*' \
+		\! -path 'third_party/cacheinvalidation/*' \
+		\! -path 'third_party/cld/*' \
+		\! -path 'third_party/expat/*' \
+		\! -path 'third_party/ffmpeg/*' \
+		\! -path 'third_party/flac/flac.h' \
+		\! -path 'third_party/gpsd/*' \
+		\! -path 'third_party/harfbuzz/*' \
+		\! -path 'third_party/hunspell/*' \
+		\! -path 'third_party/iccjpeg/*' \
+		\! -path 'third_party/launchpad_translations/*' \
+		\! -path 'third_party/leveldb/*' \
+		\! -path 'third_party/libjingle/*' \
+		\! -path 'third_party/libphonenumber/*' \
+		\! -path 'third_party/libsrtp/*' \
+		\! -path 'third_party/libvpx/libvpx.h' \
+		\! -path 'third_party/mesa/*' \
+		\! -path 'third_party/modp_b64/*' \
+		\! -path 'third_party/npapi/*' \
+		\! -path 'third_party/openmax/*' \
+		\! -path 'third_party/ots/*' \
+		\! -path 'third_party/protobuf/*' \
+		\! -path 'third_party/skia/*' \
+		\! -path 'third_party/speex/speex.h' \
+		\! -path 'third_party/sqlite/*' \
+		\! -path 'third_party/tcmalloc/*' \
+		\! -path 'third_party/tlslite/*' \
+		\! -path 'third_party/undoview/*' \
+		\! -path 'third_party/zlib/contrib/minizip/*' \
+		-delete || die
+
+	# 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"
+
+	# Temporarily disable Native Client, bug #366413.
+	myconf+=" -Ddisable_nacl=1"
+
+	# Use system-provided libraries.
+	# TODO: use_system_hunspell (upstream changes needed).
+	# TODO: use_system_ssl (http://crbug.com/58087).
+	# TODO: use_system_sqlite (http://crbug.com/22208).
+	myconf+="
+		-Duse_system_bzip2=1
+		-Duse_system_flac=1
+		-Duse_system_ffmpeg=1
+		-Duse_system_icu=1
+		-Duse_system_libevent=1
+		-Duse_system_libjpeg=1
+		-Duse_system_libpng=1
+		-Duse_system_libwebp=1
+		-Duse_system_libxml=1
+		-Duse_system_speex=1
+		-Duse_system_vpx=1
+		-Duse_system_xdg_utils=1
+		-Duse_system_zlib=1"
+
+	# Optional dependencies.
+	myconf+="
+		$(gyp_use cups use_cups)
+		$(gyp_use gnome use_gconf)
+		$(gyp_use gnome-keyring use_gnome_keyring)
+		$(gyp_use gnome-keyring linux_link_gnome_keyring)"
+
+	# 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
+
+	# Our system ffmpeg should support more codecs than the bundled one
+	# for Chromium.
+	myconf+=" -Dproprietary_codecs=1"
+
+	# Use target arch detection logic from bug #354601.
+	case ${CHOST} in
+		i?86-*) myarch=x86 ;;
+		x86_64-*)
+			if [[ $ABI = "" ]] ; then
+				myarch=amd64
+			else
+				myarch="$ABI"
+			fi ;;
+		arm*-*) myarch=arm ;;
+		*) die "Unrecognized CHOST: ${CHOST}"
+	esac
+
+	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="
+
+	# Avoid a build error with -Os, bug #352457.
+	replace-flags "-Os" "-O2"
+
+	egyp ${myconf} || die
+}
+
+src_compile() {
+	emake chrome chrome_sandbox BUILDTYPE=Release V=1 || die
+	pax-mark m out/Release/chrome
+	if use test; then
+		emake {base,crypto,googleurl,net}_unittests BUILDTYPE=Release V=1 || die
+		pax-mark m out/Release/{base,crypto,googleurl,net}_unittests
+	fi
+}
+
+src_test() {
+	# For more info see bug #350349.
+	local mylocale='en_US.utf8'
+	if ! locale -a | grep -q "$mylocale"; then
+		eerror "${PN} requires ${mylocale} locale for tests"
+		eerror "Please read the following guides for more information:"
+		eerror "  http://www.gentoo.org/doc/en/guide-localization.xml"
+		eerror "  http://www.gentoo.org/doc/en/utf-8.xml"
+		die "locale ${mylocale} is not supported"
+	fi
+
+	# For more info see bug #350347.
+	LC_ALL="${mylocale}" VIRTUALX_COMMAND=out/Release/base_unittests virtualmake \
+		'--gtest_filter=-ICUStringConversionsTest.*'
+
+	LC_ALL="${mylocale}" VIRTUALX_COMMAND=out/Release/crypto_unittests virtualmake
+	LC_ALL="${mylocale}" VIRTUALX_COMMAND=out/Release/googleurl_unittests virtualmake
+
+	# NetUtilTest: bug #361885.
+	# UDP: unstable, active development. We should revisit this later.
+	LC_ALL="${mylocale}" VIRTUALX_COMMAND=out/Release/net_unittests virtualmake \
+		'--gtest_filter=-NetUtilTest.IDNToUnicode*:NetUtilTest.FormatUrl*:*UDP*'
+}
+
+src_install() {
+	exeinto "${CHROMIUM_HOME}"
+	doexe out/Release/chrome
+	doexe out/Release/chrome_sandbox || die
+	fperms 4755 "${CHROMIUM_HOME}/chrome_sandbox"
+	newexe "${FILESDIR}"/chromium-launcher-r2.sh chromium-launcher.sh || die
+
+	# It is important that we name the target "chromium-browser",
+	# xdg-utils expect it; bug #355517.
+	dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium-browser || die
+	# keep the old symlink around for consistency
+	dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium || die
+
+	# Allow users to override command-line options, bug #357629.
+	dodir /etc/chromium || die
+	insinto /etc/chromium
+	newins "${FILESDIR}/chromium.default" "default" || die
+
+	# Support LINGUAS, bug #332751.
+	local pak
+	for pak in out/Release/locales/*.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="out/Release/locales/${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
+
+	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
+
+	newman out/Release/chrome.1 chromium.1 || die
+	newman out/Release/chrome.1 chromium-browser.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 icons and desktop entry.
+	for SIZE in 16 22 24 32 48 64 128 256 ; do
+		insinto /usr/share/icons/hicolor/${SIZE}x${SIZE}/apps
+		newins chrome/app/theme/chromium/product_logo_${SIZE}.png \
+			chromium-browser.png || die
+	done
+	local mime_types="text/html;text/xml;application/xhtml+xml;"
+	mime_types+="x-scheme-handler/http;x-scheme-handler/https;" # bug #360797
+	make_desktop_entry chromium-browser "Chromium" chromium-browser \
+		"Network;WebBrowser" "MimeType=${mime_types}"
+	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-browser.xml || die
+	fi
+}
+
+pkg_preinst() {
+	gnome2_icon_savelist
+}
+
+pkg_postinst() {
+	fdo-mime_desktop_database_update
+	gnome2_icon_cache_update
+
+	# For more info see bug #292201, bug #352263, bug #361859.
+	elog
+	elog "Depending on your desktop environment, you may need"
+	elog "to install additional packages to get icons on the Downloads page."
+	elog
+	elog "For KDE, the required package is kde-base/oxygen-icons."
+	elog
+	elog "For other desktop environments, try one of the following:"
+	elog " - x11-themes/gnome-icon-theme"
+	elog " - x11-themes/tango-icon-theme"
+
+	# For more info see bug #359153.
+	elog
+	elog "Some web pages may require additional fonts to display properly."
+	elog "Try installing some of the following packages if some characters"
+	elog "are not displayed properly:"
+	elog " - media-fonts/arphicfonts"
+	elog " - media-fonts/bitstream-cyberbit"
+	elog " - media-fonts/droid"
+	elog " - media-fonts/ipamonafont"
+	elog " - media-fonts/ja-ipafonts"
+	elog " - media-fonts/takao-fonts"
+	elog " - media-fonts/wqy-microhei"
+	elog " - media-fonts/wqy-zenhei"
+}
+
+pkg_postrm() {
+	gnome2_icon_cache_update
+}



             reply	other threads:[~2011-05-30 13:38 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-05-30 13:38 Donnie Berkholz [this message]
  -- strict thread matches above, loose matches on Subject: below --
2011-05-31  2:42 [gentoo-commits] dev/dberkholz:master commit in: www-client/chromium/ Donnie Berkholz

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=2ea02609a33f57aacc20418505703f057f6181b1.dberkholz@gentoo \
    --to=dberkholz@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox