# Contributor: Carlo Landmeter # Maintainer: Carlo Landmeter pkgname=chromium pkgver=49.0.2623.110 pkgrel=1 pkgdesc="chromium web browser" url="http://www.chromium.org/" arch="x86_64" license="BSD" depends="xdg-utils" depends_dev="" makedepends="$depends_dev alsa-lib-dev libevent-dev libpng-dev jpeg-dev cairo-dev cups-dev mesa-dev libcap-dev dbus-glib-dev gtk+-dev libxml2-dev freetype-dev jpeg-dev libxslt-dev libxtst-dev icu-dev flac-dev speex-dev hunspell-dev libxinerama-dev ffmpeg-dev nss-dev libwebp-dev bzip2-dev libvpx-dev sqlite-dev libelf-dev libgcrypt-dev zlib-dev gnutls-dev mesa-dev libxcursor-dev libxcomposite-dev krb5-dev libxrandr-dev libxscrnsaver-dev pciutils-dev eudev-dev libexif-dev hwdata-usb ninja libbsd-dev harfbuzz-dev snappy-dev bsd-compat-headers openssl-dev libre2-dev jsoncpp-dev minizip-dev linux-headers xdg-utils yasm gperf bison flex perl python bash paxmark findutils" install="" options=suid subpackages="$pkgname-doc $pkgname-chromedriver" source="https://commondatastorage.googleapis.com/chromium-browser-official/$pkgname-$pkgver.tar.xz chromium-launcher.sh chromium.conf chromium.desktop google-api.keys musl-fixes.patch no-execinfo.patch resolver.patch no-mallinfo.patch no-getcontext.patch musl-sandbox.patch chromium-system-jinja-r7.patch chromium-widevine.patch musl-hacks.patch " _builddir="$srcdir"/$pkgname-$pkgver case "${CARCH}" in x86_64) target_arch=x64;; x86) target_arch=ia32;; arm) target_arch=arm;; esac prepare() { cd "$_builddir" local i cd "$_builddir" for i in $source; do case $i in *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; esac done # Remove bundled ICU; its header files appear to get picked up instead of # the system ones, leading to errors during the final link stage. # https://groups.google.com/a/chromium.org/d/topic/chromium-packagers/BNGvJc08B6Q find third_party/icu -type f \! -regex '.*\.\(gyp\|gypi\|isolate\)' -delete # https://groups.google.com/a/chromium.org/d/topic/chromium-packagers/9JX1N2nf4PU/discussion touch chrome/test/data/webui/i18n_process_css_test.html || return 1 } build() { cd "$_builddir" # currently does not build with system vpx 1.4 # remoting/codec/video_encoder_vpx.cc:308:10: error: # 'vpx_codec_control_VP9E_GET_ACTIVEMAP' was not declared in this scope local vpx=0 # reusable system library settings local use_system=" -Duse_system_bzip2=1 -Duse_system_flac=1 -Duse_system_harfbuzz=1 -Duse_system_icu=1 -Duse_system_jsoncpp=1 -Duse_system_libevent=1 -Duse_system_libjpeg=1 -Duse_system_libpng=1 -Duse_system_libvpx=$vpx -Duse_system_libxml=1 -Duse_system_snappy=1 -Duse_system_xdg_utils=1 -Duse_system_yasm=1 -Duse_system_nspr=1 -Duse_system_re2=1 -Duse_system_speex=1 -Duse_system_libwebp=1 -Duse_system_libxslt=1 -Duse_system_zlib=1 -Duse_system_minizip=1 " msg "Replacing gyp files" build/linux/unbundle/replace_gyp_files.py ${use_system} || return 1 ############################################################## # Please dont use these keys outside of Alpine Linux project # # You can create your own at: # # http://www.chromium.org/developers/how-tos/api-keys # ############################################################## eval "$(base64 -d < $srcdir/google-api.keys)" msg "Running gyp_chromium" build/gyp_chromium --depth=. \ ${use_system} \ -Dgoogle_api_key="$_google_api_key" \ -Dgoogle_default_client_id="$_google_default_client_id" \ -Dgoogle_default_client_secret="$_google_default_client_secret" \ -Dwerror= \ -Dclang=0 \ -Dpython_ver=2.7 \ -Dlinux_link_gsettings=1 \ -Dlinux_link_libpci=1 \ -Dlinux_link_libspeechd=0 \ -Dlinux_strip_binary=1 \ -Dlinux_use_bundled_binutils=0 \ -Dlinux_use_bundled_gold=0 \ -Dlinux_use_gold_flags=0 \ -Dicu_use_data_file_flag=0 \ -Dlogging_like_official_build=1 \ -Dlibspeechd_h_prefix=speech-dispatcher/ \ -Dffmpeg_branding=Chrome \ -Dproprietary_codecs=1 \ -Duse_allocator=none \ -Duse_gnome_keyring=0 \ -Dusb_ids_path=/usr/share/hwdata/usb.ids \ -Duse_mojo=0 \ -Duse_gconf=0 \ -Duse_sysroot=0 \ -Duse_pulseaudio=0 \ -Denable_hotwording=0 \ -Ddisable_fatal_linker_warnings=1 \ -Ddisable_glibc=1 \ -Ddisable_nacl=1 \ -Ddisable_pnacl=1 \ -Dtarget_arch="$target_arch" \ -Drelease_extra_cflags="$CFLAGS" \ -Ddisable_sse2=1 \ || return 1 msg "Ninja turtles GO!" # build mksnapshot and paxmark it ninja -C out/Release mksnapshot || return 1 paxmark -m out/Release/mksnapshot || return 1 # finish rest of the build ninja -C out/Release chrome chrome_sandbox chromedriver || return 1 paxmark -m out/Release/chrome || return 1 } package() { cd "$_builddir" local bin pak for bin in chrome natives_blob.bin snapshot_blob.bin; do install -Dm755 out/Release/$bin \ "$pkgdir"/usr/lib/$pkgname/$bin || return 1 done install -Dm4755 "$_builddir"/out/Release/chrome_sandbox \ "$pkgdir"/usr/lib/$pkgname/chrome-sandbox || return 1 for pak in out/Release/*.pak; do install -Dm644 $pak \ "$pkgdir"/usr/lib/$pkgname/${pak##*/} || return 1 done install -Dm755 "$srcdir"/chromium-launcher.sh \ "$pkgdir"/usr/lib/$pkgname/chromium-launcher.sh || return 1 cp -r out/Release/locales "$pkgdir"/usr/lib/$pkgname/ || return 1 install -Dm644 out/Release/chrome.1 \ "$pkgdir"/usr/share/man/man1/chrome.1 || return 1 install -Dm644 out/Release/chrome.1 \ "$pkgdir"/usr/share/man/man1/chromium.1 || return 1 # It is important that we name the target "chromium-browser", # xdg-utils expect it; bug #355517. mkdir -p "$pkgdir"/usr/bin || return 1 cd "$pkgdir"/usr/bin || return 1 ln -sf /usr/lib/$pkgname/chromium-launcher.sh \ chromium-browser || return 1 ln -sf /usr/lib/$pkgname/chromedriver || return 1 cd "$_builddir" install -Dm644 "$srcdir"/chromium.conf \ "$pkgdir"/etc/chromium/chromium.conf || return 1 install -Dm644 "$srcdir"/chromium.desktop \ "$pkgdir"/usr/share/applications/chromium.desktop for size in 22 24 48 64 128 256; do install -Dm644 "chrome/app/theme/chromium/product_logo_$size.png" \ "$pkgdir/usr/share/icons/hicolor/${size}x${size}/apps/chromium.png" done for size in 16 32; do install -Dm644 "chrome/app/theme/default_100_percent/chromium/product_logo_$size.png" \ "$pkgdir/usr/share/icons/hicolor/${size}x${size}/apps/chromium.png" done } chromedriver() { pkgdesc="WebDriver driver for the Chromium Browser" install -Dm755 "$_builddir"/out/Release/chromedriver \ "$subpkgdir"/usr/lib/$pkgname/chromedriver || return 1 } md5sums="7fd11db62370c23db681ca6e09e2e633 chromium-49.0.2623.110.tar.xz b6d015c1da85aa65ee21bc974c7fc7d2 chromium-launcher.sh c5aa73a87d4b88cce9f1a680ca691bb6 chromium.conf 2962ac6259e39a797d441daf43aa49c9 chromium.desktop 2d2ee5f22d65c756871301b4a407f4ca google-api.keys 8d28a0bf8315bbc796fe04a5d94c90a7 musl-fixes.patch 00ae59dd9d09c60a116fd0133f9f3a60 no-execinfo.patch f99a4572c0be2c2123acc2478905e01f resolver.patch 68befd7a58485973e15ca8a3263112d7 no-mallinfo.patch 2c8de771a7c0e5e0e9fc68fa978785f7 no-getcontext.patch 72f430ba7a83b32c0046152bc8c13a60 musl-sandbox.patch 97b1578585ab600ed9adef4f341ccd80 chromium-system-jinja-r7.patch de717d6430532f34fe161035dfdafcdf chromium-widevine.patch 5f1bca53835b6380b5949c96860f6894 musl-hacks.patch" sha256sums="41840925d3769555ce4ebd780ee0dc6789ffae27b1684006c9b543bcaa35bbd2 chromium-49.0.2623.110.tar.xz 89f1eb19d1ed998a190045ea173959f01faee3490d58a6a34ca3fe21228e569f chromium-launcher.sh b466559340a36998354a0577325fe533d9e6b74c24a15b7599671171506bf128 chromium.conf 3ae90cea7503d0039de53448ed112b9bc0cb5a09f6b0045506eb777fc23517e5 chromium.desktop 267ba8ff50574e51d2582c4fca9b9e14f7225c1fa064d135cbceff9cef2324ac google-api.keys 42e800f6cc223593188e977ab4e7010cda253204d91bace548c338578674804a musl-fixes.patch 505a55c28e971e067f189e3a1ce697d711cec82a765d81f78eb49ec1f6df56cf no-execinfo.patch 914c513bb54d4d97cd2a7622647f6af5cd0c8d29a0aa2962a60fdbed88f54429 resolver.patch 6834c9a0623dc632baecb274ae9a8e7c0eca08b07268875d59a117dce16ae29e no-mallinfo.patch ea79f9a46116c8b56bbc69d226abd9252e4ae4d946ca695203f2298279cc2211 no-getcontext.patch 16a3986a3ae9f662b27b2b8fb5d10e8a5afc84f183eb3cf4ab1cd8b8499744e0 musl-sandbox.patch 872f5a38d8263b14308bb117828496a4093d0e6ad755d39d2c5e6857314fe071 chromium-system-jinja-r7.patch 1d1ead77250475228524770e57c17282aff9098c5efc3d7719b0df76229b8874 chromium-widevine.patch 10a4d81e1d8f70e4993ba0b7e1b9069f18c28190e6660e0f67bf24d598aa7c66 musl-hacks.patch" sha512sums="d945cc26ddb6b7c6f159206f34db5698917312245b3967b9b2a8e909262ed36e235bd35554e62864bed3e1de0038649fa72756b910480d48b8c62cbf37d53ccd chromium-49.0.2623.110.tar.xz b9a810416dd7a8ffc3a5ced85ad9acebda1665bd08a57eec7b189698cc5f74d2c3fd69044e20fcb83297a43214b2772a1312b2c6122ea0eb716abacf39524d60 chromium-launcher.sh f6d962b9e4c22dd42183df3db5d3202dab33eccecafb1bf63ca678147289581262db1e5e64cbe8f9c212beefb0a6717bb8d311e497f56b55fe95b8bab2db493f chromium.conf e182c998a43d22d1c76a86c561619afd1fca8c2be668265ad5e2f81a3806f7a154272cc027a2f8b370fb69446892c69e5967a4be76082325c14245ee7915234c chromium.desktop 2d8237a940ea691bd10b08315429677a587f7ef9692a0cca53bfd066eae82998a6c71f402a8669e9de39f94d7f3280745d1628ea6eac5d76ca7116844d4e0dac google-api.keys 0d112ce486fd3b93ef60eadbc4db7f1746c51bc02634212ce986f34480915ea37f4ca8ff37d56316abecb112bb0fc1079e7bc27e603ec9ceabde01caa2777561 musl-fixes.patch 4f756d3e404033f7a36b38266176b7302f7e2a2e78c9f8b8d362a53a3dbdc675cdaa581393a70c23a29135b34566cf4109513cb13a289dc111bbce65ec065ebd no-execinfo.patch d60407a8faadfd2a8294570163b4d1b1112c8a70a6f8e778fc3aff25d20613a2e26c66cd87e69c54953cc1b984e4038015ad04797b0495df13932541b05398fe resolver.patch 170173a05167cb073403501c9dc57bb86c2f77d54bcabf970cb1beb2302f848dc21a89c3406940b0156b94dfb20c12e2d2bdb73064613a28bc3af39ba1f453b5 no-mallinfo.patch 42d9a6ebea2d95cdc169b921cc1a1b846cf500997059fd3084de09e21f00b63b76e60c6124f4af247d402ff5ca3f4bf8867a6f2c78198c05b4273ca01fb29241 no-getcontext.patch 2f5a54bf952eeecced66dc3711f11802a5c00854d0dc546f13b37a63804809233ac7ea52c56e18cc652794cb2dd7dfcf2a8f67097e1f20d9b1e85ce2e2d14654 musl-sandbox.patch 10bcc6a467b6766d13b5e41e7b7dcdbd62de7c04daad16c83037e88043032a0c118627029f91ef8a2a57faaaebc8b6f4ee16e8d1fecb5921d0d49efd60a27863 chromium-system-jinja-r7.patch 4a11b46afa8ce84bd23a8c506301b5848ee4291a764f3aed282b8a98706ece16cf9346dec6cc71b1e17812b15f43a5cbc7bc6d38ed4dcc88c12d6fcb03bd9295 chromium-widevine.patch 4043dd7a64dcb9b73e15786b407934dd1b171df8b628ab1b18718fd93f9758c76eb25d1bdf1e1a22901544185088b8f817d3e2a58154c54949704dc8cc87b84d musl-hacks.patch"