summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaweł Hajdan <phajdan.jr@gentoo.org>2011-06-21 10:22:13 +0000
committerPaweł Hajdan <phajdan.jr@gentoo.org>2011-06-21 10:22:13 +0000
commit3b6884d564a4c941a227e1984e6fad4c8f0cdeef (patch)
treee239e2985e2dbc110b9de7188a525d45c64dab69 /www-client/chromium
parentAdded fortran-2.eclass support (diff)
downloadhistorical-3b6884d564a4c941a227e1984e6fad4c8f0cdeef.tar.gz
historical-3b6884d564a4c941a227e1984e6fad4c8f0cdeef.tar.bz2
historical-3b6884d564a4c941a227e1984e6fad4c8f0cdeef.zip
Backport perl-5.14 compile fix, bug #372301 by Markus Peloquin <markus@cs.wisc.edu>.
Package-Manager: portage-2.1.9.42/cvs/Linux i686
Diffstat (limited to 'www-client/chromium')
-rw-r--r--www-client/chromium/ChangeLog11
-rw-r--r--www-client/chromium/Manifest15
-rw-r--r--www-client/chromium/chromium-12.0.742.91-r2.ebuild (renamed from www-client/chromium/chromium-13.0.782.24.ebuild)129
-rw-r--r--www-client/chromium/chromium-13.0.782.24-r1.ebuild5
-rw-r--r--www-client/chromium/chromium-14.0.794.0.ebuild5
-rw-r--r--www-client/chromium/files/chromium-perl-5.14-r0.patch37
6 files changed, 116 insertions, 86 deletions
diff --git a/www-client/chromium/ChangeLog b/www-client/chromium/ChangeLog
index 9385879b66e0..e5d10f2b9b65 100644
--- a/www-client/chromium/ChangeLog
+++ b/www-client/chromium/ChangeLog
@@ -1,6 +1,15 @@
# ChangeLog for www-client/chromium
# Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/www-client/chromium/ChangeLog,v 1.386 2011/06/18 09:14:06 phajdan.jr Exp $
+# $Header: /var/cvsroot/gentoo-x86/www-client/chromium/ChangeLog,v 1.387 2011/06/21 10:22:13 phajdan.jr Exp $
+
+*chromium-12.0.742.91-r2 (21 Jun 2011)
+
+ 21 Jun 2011; Pawel Hajdan jr <phajdan.jr@gentoo.org>
+ +files/chromium-perl-5.14-r0.patch, +chromium-12.0.742.91-r2.ebuild,
+ -chromium-13.0.782.24.ebuild, chromium-13.0.782.24-r1.ebuild,
+ chromium-14.0.794.0.ebuild:
+ Backport perl-5.14 compile fix, bug #372301 by Markus Peloquin
+ <markus@cs.wisc.edu>.
*chromium-14.0.794.0 (18 Jun 2011)
diff --git a/www-client/chromium/Manifest b/www-client/chromium/Manifest
index 2ed93d5630b5..892714efa74e 100644
--- a/www-client/chromium/Manifest
+++ b/www-client/chromium/Manifest
@@ -6,6 +6,7 @@ AUX chromium-cups-r0.patch 1237 RMD160 601fc9a46027580a1817a77abfb47b2b59e212ca
AUX chromium-ffmpeg-build-r0.patch 774 RMD160 a11ebd15927195fb047a366b1f9ab412a35d1262 SHA1 1972826179eed503f70a1499521072eb99c1fd16 SHA256 205a136035d09fb88549dfe4dbb97508e43a46f35ca791efa79d6c401aea5d84
AUX chromium-launcher-r1.sh 680 RMD160 17fdc3576819c41d9320fab4b2dde3b8dc3c251b SHA1 5be5d25be14906458eb93cd7275c47f73c55fce4 SHA256 fa9cd53ee929ac77a52abc09eb65bb605b72b384533ba52fb90a905c72c3c208
AUX chromium-launcher-r2.sh 940 RMD160 7a64e597998a8f95a7e3d1c26377842ff8106f89 SHA1 9630a36af707a810cbd646f3bac5deba984439f6 SHA256 842e121bbfa33513ca964744f0ba8401401946e672cd6a0a95bc80a28212e87e
+AUX chromium-perl-5.14-r0.patch 1099 RMD160 dcd18bd2d9e36c30c83f9a9fcb73da7744cfe2df SHA1 321a051eefbfcc45a31afe63103d092030051080 SHA256 246db25e5210bdd42de4df7f3ae5e2370ac1e0a4777bfe5d3e5c3a68e18fa0f4
AUX chromium-system-vpx-r3.patch 1168 RMD160 3f59b6dfff335be21b55de70ccd9a77b008f5cd0 SHA1 09d1d4a6b0b031839d002abc62ec4efef6faef71 SHA256 c46f61559bdbd7e29bb47607f0b152647f73e2cc3e836f53c67bb2925e8957d7
AUX chromium-system-vpx-r4.patch 476 RMD160 ff7feff7dff9de28bdc4c80b43c9574d7769a288 SHA1 b87516b0dac8f65431fdce86f26a3c92cfc313af SHA256 6bf0801a8d4ff208f558fa5740adfbed6178d391314297c80e0c3a058910a10e
AUX chromium-system-zlib-r0.patch 1318 RMD160 2debfc4f179a57119d5022305134307f4cbbe04d SHA1 036e7573b04046ee0275abcb99a7e7a8b490e47b SHA256 79668fbf6206cd958db328798298a0514d3a95683b41affd3a607a0ac95453e3
@@ -16,16 +17,16 @@ DIST chromium-12.0.742.91.tar.bz2 151259660 RMD160 eb0389f815c638897cf556df5b58e
DIST chromium-13.0.782.24.tar.bz2 155090700 RMD160 5a2935ebbc4a199a48bf800076e2e5b1b332e7b5 SHA1 de55d958a31c89761fbeeb91be8d6f0415ecdab1 SHA256 5f9be1928ed40bf8dd64bb48756fda8ab3fc0eba9a8c903b5fe93d2b2f5bb15f
DIST chromium-14.0.794.0.tar.bz2 156344705 RMD160 2c58742906e28e8d5d2e6f38b7abe4bf22a687bd SHA1 0b61f1b067dcf0bd43ffaaa67229b5c71619f4ff SHA256 9f05451f7a8f7150b3214d88ea3a988843ef3d1ff974ee586e68a8dc3887d535
EBUILD chromium-12.0.742.91-r1.ebuild 11924 RMD160 e875af5b3fe7da35660cd9d3f76183faa55150ce SHA1 0030a7576bdfa9ab78ecddfe46c9dc3b3770b47f SHA256 dca9bf82fae0be92651f5d7dd0e13788dd275422c82b62d06d9f674b6f282e6e
-EBUILD chromium-13.0.782.24-r1.ebuild 12554 RMD160 2ef1fa2ab57a7965acdeea3eb74532e18df16911 SHA1 389f20391fd28d51180deefb3ced5c2216f2b850 SHA256 4189517f76d5885a6742b81ada6b816a969ba4751be06c6460c0ac3cdc4b0062
-EBUILD chromium-13.0.782.24.ebuild 12326 RMD160 5b7d5ae8ae64cc9b81525612817c9c8c15af826b SHA1 552d7138dc62ed038e50ecf399198b5e7a626128 SHA256 c2cfc63080cc199f7e1af458927f7dc805d90604a9132bea92e039a7aa895c75
-EBUILD chromium-14.0.794.0.ebuild 12550 RMD160 f1d50b7ce590367725fe201bb79e76cde3cfe197 SHA1 0343bb7e9e2237e649f3c2ddedddc1e3432de10b SHA256 3fd9b157bb316b9aad5d449b13b8d0c9ec0f2a6738d65e7eba9a9fe8d924bf11
+EBUILD chromium-12.0.742.91-r2.ebuild 12026 RMD160 342f53d975a56c8911d251907a92419ed154d798 SHA1 3fe44f9d7d28c216f18b8e2c7c0561ea45420e92 SHA256 25c75549806d72a829902caf431c7dbf1dd11bd4dc71c6f0e7364903e4e48a61
+EBUILD chromium-13.0.782.24-r1.ebuild 12652 RMD160 58ab354e37940b0e03216d4ac995924b8e990f02 SHA1 efdf0d36387fd8096d5d86a5e9f7fb22df18aeba SHA256 50b18192177c812210a85aa4909e64a31e8f32356b18370e96aefe0d7ed77cb4
+EBUILD chromium-14.0.794.0.ebuild 12648 RMD160 b9cf3e10dadfcc8fac331e83f447edc1d725ad95 SHA1 251eed89e87ebf5ee6064e847e91067b95574ba3 SHA256 1bf9266bc5b25256591523e75deaa57669959ffc23167626c36370f4497d0147
EBUILD chromium-9999-r1.ebuild 14676 RMD160 f0c9ba924b094e35c33ccc1e64fc726dc89a9e56 SHA1 d6b675647764582df209cf890316d2d885115596 SHA256 0353094cd3a4572743593c5de592e0668c12ddb85fbf763d4f263d3883469fe2
-MISC ChangeLog 85916 RMD160 87c15d7545823b402bfc96ae5e748f602ea6177c SHA1 a594c4ba73f13fc0aa98f134ec12640254a02052 SHA256 c75ec6d88e7b1a32ed8d08379733d4232cfdfe237e1db612c60a4142de158f9a
+MISC ChangeLog 86266 RMD160 a7991962d2e42a89a779febff56c259cb1ff42b7 SHA1 b576b2844d725509ee7181fd0458f703c74025b7 SHA256 4e9749c812e1998a3f1ff9b71062ff95d191b5033bf1b72fe886035806f3260b
MISC metadata.xml 267 RMD160 3a166415fec415d539c1b7c32ed40b188488b9fb SHA1 5c3d71a9cea27175cbe8c98369b42b79c8643c6c SHA256 4e6afae33f60d6752cacf2785f7f9a396b8711cce605b73d0d752a4af7d01fc8
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.17 (GNU/Linux)
-iEYEARECAAYFAk38bGsACgkQuUQtlDBCeQL5jgCfewHTQa9a7xPWa3LcKJR448Qa
-0vEAnRZ8A55AaBISGfs7CiWiFqa/0+Y+
-=8SUx
+iEYEARECAAYFAk4AcOYACgkQuUQtlDBCeQLcagCdG8x75kqcGPhXD5GclbqsubH0
+nr0An2SsD7rXTDECARhXJQn2IzX2Q3w8
+=soKV
-----END PGP SIGNATURE-----
diff --git a/www-client/chromium/chromium-13.0.782.24.ebuild b/www-client/chromium/chromium-12.0.742.91-r2.ebuild
index c8b892acb6d1..76a8c6247a47 100644
--- a/www-client/chromium/chromium-13.0.782.24.ebuild
+++ b/www-client/chromium/chromium-12.0.742.91-r2.ebuild
@@ -1,6 +1,6 @@
# 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.782.24.ebuild,v 1.1 2011/06/16 12:34:25 phajdan.jr Exp $
+# $Header: /var/cvsroot/gentoo-x86/www-client/chromium/chromium-12.0.742.91-r2.ebuild,v 1.1 2011/06/21 10:22:13 phajdan.jr Exp $
EAPI="3"
PYTHON_DEPEND="2:2.6"
@@ -14,17 +14,9 @@ SRC_URI="http://build.chromium.org/official/${P}.tar.bz2"
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~x86"
+KEYWORDS="~amd64 ~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
@@ -42,13 +34,14 @@ RDEPEND="app-arch/bzip2
>=media-libs/libwebp-0.1.2
media-libs/speex
cups? ( >=net-print/cups-1.3.11 )
+ sys-libs/pam
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-lang/yasm
>=dev-util/gperf-3.0.3
>=dev-util/pkgconfig-0.23
sys-devel/flex
@@ -79,16 +72,6 @@ egyp() {
"${@}"
}
-# 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"
@@ -99,6 +82,19 @@ pkg_setup() {
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
@@ -111,6 +107,8 @@ pkg_setup() {
# 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
}
@@ -118,6 +116,15 @@ src_prepare() {
# Make sure we don't use bundled libvpx headers.
epatch "${FILESDIR}/${PN}-system-vpx-r4.patch"
+ # Fix compilation with system zlib, bug #364205. To be upstreamed.
+ epatch "${FILESDIR}/${PN}-system-zlib-r0.patch"
+
+ # Fix compilation without CUPS, bug #364525. To be upstreamed.
+ epatch "${FILESDIR}/${PN}-cups-r0.patch"
+
+ # Backport build fix for perl-5.14, bug #372301.
+ epatch "${FILESDIR}/${PN}-perl-5.14-r0.patch"
+
# Remove most bundled libraries. Some are still needed.
find third_party -type f \! -iname '*.gyp*' \
\! -path 'third_party/WebKit/*' \
@@ -134,7 +141,7 @@ src_prepare() {
\! -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/*' \
@@ -164,13 +171,13 @@ src_configure() {
myconf+=" -Ddisable_sse2=1"
# Use system-provided libraries.
+ # TODO: use_system_ffmpeg (bug #71931). That makes yasm unneeded.
# 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
@@ -180,6 +187,7 @@ src_configure() {
-Duse_system_speex=1
-Duse_system_vpx=1
-Duse_system_xdg_utils=1
+ -Duse_system_yasm=1
-Duse_system_zlib=1"
# Optional dependencies.
@@ -202,9 +210,22 @@ src_configure() {
# Our system ffmpeg should support more codecs than the bundled one
# for Chromium.
- myconf+=" -Dproprietary_codecs=1"
+ # TODO: uncomment when bug #371931 is fixed.
+ # 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
- local myarch="$(tc-arch)"
if [[ $myarch = amd64 ]] ; then
myconf+=" -Dtarget_arch=x64"
elif [[ $myarch = x86 ]] ; then
@@ -273,11 +294,7 @@ src_install() {
doexe out/Release/chrome
doexe out/Release/chrome_sandbox || die
fperms 4755 "${CHROMIUM_HOME}/chrome_sandbox"
-
- insinto "${CHROMIUM_HOME}"
- doins out/Release/libppGoogleNaClPluginChrome.so || die
-
- newexe "${FILESDIR}"/chromium-launcher-r2.sh chromium-launcher.sh || die
+ newexe "${FILESDIR}"/chromium-launcher-r1.sh chromium-launcher.sh || die
# It is important that we name the target "chromium-browser",
# xdg-utils expect it; bug #355517.
@@ -285,49 +302,6 @@ src_install() {
# 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
@@ -340,9 +314,12 @@ src_install() {
# 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
+ # TODO: uncomment when bug #371931 is fixed.
+ #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
+ doexe out/Release/ffmpegsumo_nolink || die
+ doexe out/Release/libffmpegsumo.so || die
# Install icons and desktop entry.
for SIZE in 16 22 24 32 48 64 128 256 ; do
diff --git a/www-client/chromium/chromium-13.0.782.24-r1.ebuild b/www-client/chromium/chromium-13.0.782.24-r1.ebuild
index 66588c391083..8964e54bec58 100644
--- a/www-client/chromium/chromium-13.0.782.24-r1.ebuild
+++ b/www-client/chromium/chromium-13.0.782.24-r1.ebuild
@@ -1,6 +1,6 @@
# 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.782.24-r1.ebuild,v 1.1 2011/06/17 15:10:48 phajdan.jr Exp $
+# $Header: /var/cvsroot/gentoo-x86/www-client/chromium/chromium-13.0.782.24-r1.ebuild,v 1.2 2011/06/21 10:22:13 phajdan.jr Exp $
EAPI="3"
PYTHON_DEPEND="2:2.6"
@@ -118,6 +118,9 @@ src_prepare() {
# Make sure we don't use bundled libvpx headers.
epatch "${FILESDIR}/${PN}-system-vpx-r4.patch"
+ # Backport build fix for perl-5.14, bug #372301.
+ epatch "${FILESDIR}/${PN}-perl-5.14-r0.patch"
+
# Remove most bundled libraries. Some are still needed.
find third_party -type f \! -iname '*.gyp*' \
\! -path 'third_party/WebKit/*' \
diff --git a/www-client/chromium/chromium-14.0.794.0.ebuild b/www-client/chromium/chromium-14.0.794.0.ebuild
index 6efc84cdb092..1969f586d2af 100644
--- a/www-client/chromium/chromium-14.0.794.0.ebuild
+++ b/www-client/chromium/chromium-14.0.794.0.ebuild
@@ -1,6 +1,6 @@
# 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-14.0.794.0.ebuild,v 1.1 2011/06/18 09:14:06 phajdan.jr Exp $
+# $Header: /var/cvsroot/gentoo-x86/www-client/chromium/chromium-14.0.794.0.ebuild,v 1.2 2011/06/21 10:22:13 phajdan.jr Exp $
EAPI="3"
PYTHON_DEPEND="2:2.6"
@@ -118,6 +118,9 @@ src_prepare() {
# Make sure we don't use bundled libvpx headers.
epatch "${FILESDIR}/${PN}-system-vpx-r4.patch"
+ # Backport build fix for perl-5.14, bug #372301.
+ epatch "${FILESDIR}/${PN}-perl-5.14-r0.patch"
+
# Remove most bundled libraries. Some are still needed.
find third_party -type f \! -iname '*.gyp*' \
\! -path 'third_party/WebKit/*' \
diff --git a/www-client/chromium/files/chromium-perl-5.14-r0.patch b/www-client/chromium/files/chromium-perl-5.14-r0.patch
new file mode 100644
index 000000000000..e4a3365164c0
--- /dev/null
+++ b/www-client/chromium/files/chromium-perl-5.14-r0.patch
@@ -0,0 +1,37 @@
+Index: third_party/WebKit/Source/WebCore/make-hash-tools.pl
+===================================================================
+--- third_party/WebKit/Source/WebCore/make-hash-tools.pl (revision 72664)
++++ third_party/WebKit/Source/WebCore/make-hash-tools.pl (revision 89265)
+@@ -21,5 +21,4 @@
+
+ use strict;
+-use Switch;
+ use File::Basename;
+
+@@ -29,7 +28,5 @@
+
+
+-switch ($option) {
+-
+-case "DocTypeStrings" {
++if ($option eq "DocTypeStrings") {
+
+ my $docTypeStringsGenerated = "$outdir/DocTypeStrings.cpp";
+@@ -39,7 +36,5 @@
+ system("gperf --key-positions=\"*\" -s 2 $docTypeStringsGperf > $docTypeStringsGenerated") == 0 || die "calling gperf failed: $?";
+
+-} # case "DocTypeStrings"
+-
+-case "ColorData" {
++} elsif ($option eq "ColorData") {
+
+ my $colorDataGenerated = "$outdir/ColorData.cpp";
+@@ -49,5 +44,5 @@
+ system("gperf --key-positions=\"*\" -D -s 2 $colorDataGperf > $colorDataGenerated") == 0 || die "calling gperf failed: $?";
+
+-} # case "ColorData"
+-
+-} # switch ($option)
++} else {
++ die "Unknown option.";
++}