diff --git a/chromium-54.0.2840.59.ebuild b/chromium-54.0.2840.59.ebuild index 80087d2..6db85a5 100644 --- a/chromium-54.0.2840.59.ebuild +++ b/chromium-54.0.2840.59.ebuild @@ -13,13 +13,132 @@ inherit check-reqs chromium-2 eutils gnome2-utils flag-o-matic multilib multipro DESCRIPTION="Open-source version of Google Chrome web browser" HOMEPAGE="http://chromium.org/" -SRC_URI="https://commondatastorage.googleapis.com/chromium-browser-official/${P}.tar.xz" +SRC_URI="https://commondatastorage.googleapis.com/chromium-browser-official/${P}.tar.xz +nacl? ( + https://storage.googleapis.com/nativeclient-archive2/builds/11953a35fcd4f999b097a343bc49d89f94af21a8/linux_x86/nacl_x86_newlib.json -> nacl_x86_newlib_11953a35fcd4f999b097a343bc49d89f94af21a8.json + https://storage.googleapis.com/nativeclient-archive2/builds/25a7ef81d2dc76b58450fa2d5f97070eafa20164/linux_x86/pnacl_newlib.json -> pnacl_newlib_25a7ef81d2dc76b58450fa2d5f97070eafa20164.json + https://storage.googleapis.com/nativeclient-archive2/builds/25a7ef81d2dc76b58450fa2d5f97070eafa20164/shared/pnacl_translator.json -> pnacl_translator_25a7ef81d2dc76b58450fa2d5f97070eafa20164.json + + https://storage.googleapis.com/nativeclient-archive2/builds/11953a35fcd4f999b097a343bc49d89f94af21a8/linux_x86/nacl_x86_newlib/core_sdk.tgz.json -> core_sdk_11953a35fcd4f999b097a343bc49d89f94af21a8.tgz.json + https://storage.googleapis.com/nativeclient-archive2/toolchain/11953a35fcd4f999b097a343bc49d89f94af21a8/core_sdk_linux_x86.tgz -> core_sdk_11953a35fcd4f999b097a343bc49d89f94af21a8.tgz + + https://storage.googleapis.com/nativeclient-archive2/builds/11953a35fcd4f999b097a343bc49d89f94af21a8/linux_x86/nacl_x86_newlib/gdb_i686_linux.tgz.json -> gdb_i686_linux_a9a003c04d06a2ee9f3fbb6223ee31510543bb72.tgz.json + https://storage.googleapis.com/nativeclient-once/object/gdb_i686_linux_a9a003c04d06a2ee9f3fbb6223ee31510543bb72.tgz + + https://storage.googleapis.com/nativeclient-archive2/builds/11953a35fcd4f999b097a343bc49d89f94af21a8/linux_x86/nacl_x86_newlib/naclsdk.tgz.json -> naclsdk_11953a35fcd4f999b097a343bc49d89f94af21a8.tgz.json + https://storage.googleapis.com/nativeclient-archive2/toolchain/11953a35fcd4f999b097a343bc49d89f94af21a8/naclsdk_linux_x86.tgz -> naclsdk_11953a35fcd4f999b097a343bc49d89f94af21a8.tgz + + https://storage.googleapis.com/nativeclient-archive2/builds/25a7ef81d2dc76b58450fa2d5f97070eafa20164/linux_x86/pnacl_newlib/binutils_x86_64_linux.tgz.json -> binutils_x86_64_linux_8ccf4b8a74c844a041d2ad5d15e3999157eeffaf.tgz.json + https://storage.googleapis.com/nativeclient-once/object/binutils_x86_64_linux_8ccf4b8a74c844a041d2ad5d15e3999157eeffaf.tgz + + https://storage.googleapis.com/nativeclient-archive2/builds/25a7ef81d2dc76b58450fa2d5f97070eafa20164/linux_x86/pnacl_newlib/binutils_x86_x86_64_linux.tgz.json -> binutils_x86_x86_64_linux_48782a43a8af3479f0fe0a7aaace7d072aeb988f.tgz.json + https://storage.googleapis.com/nativeclient-once/object/binutils_x86_x86_64_linux_48782a43a8af3479f0fe0a7aaace7d072aeb988f.tgz + + https://storage.googleapis.com/nativeclient-archive2/builds/25a7ef81d2dc76b58450fa2d5f97070eafa20164/linux_x86/pnacl_newlib/compiler_rt_bc_i686_bc.tgz.json -> compiler_rt_bc_i686_bc_71090b27cd8b1715e837612db7bb6ae9884eb9b2.tgz.json + https://storage.googleapis.com/nativeclient-once/object/compiler_rt_bc_i686_bc_71090b27cd8b1715e837612db7bb6ae9884eb9b2.tgz + + https://storage.googleapis.com/nativeclient-archive2/builds/25a7ef81d2dc76b58450fa2d5f97070eafa20164/linux_x86/pnacl_newlib/compiler_rt_bc_le32.tgz.json -> compiler_rt_bc_le32_8ffbdf3186f342d7bfbac5d6d213d30d906ce0c8.tgz.json + https://storage.googleapis.com/nativeclient-once/object/compiler_rt_bc_le32_8ffbdf3186f342d7bfbac5d6d213d30d906ce0c8.tgz + + https://storage.googleapis.com/nativeclient-archive2/builds/25a7ef81d2dc76b58450fa2d5f97070eafa20164/linux_x86/pnacl_newlib/compiler_rt_bc_x86_64_bc.tgz.json -> compiler_rt_bc_x86_64_bc_835c0d337b0862daabf5f1c90c90acb70250d078.tgz.json + https://storage.googleapis.com/nativeclient-once/object/compiler_rt_bc_x86_64_bc_835c0d337b0862daabf5f1c90c90acb70250d078.tgz + + https://storage.googleapis.com/nativeclient-archive2/builds/25a7ef81d2dc76b58450fa2d5f97070eafa20164/linux_x86/pnacl_newlib/core_sdk_libs_i686.tgz.json -> core_sdk_libs_i686_da4ae62443144b77a31a9e995d48725d93d649ed.tgz.json + https://storage.googleapis.com/nativeclient-once/object/core_sdk_libs_i686_da4ae62443144b77a31a9e995d48725d93d649ed.tgz + + https://storage.googleapis.com/nativeclient-archive2/builds/25a7ef81d2dc76b58450fa2d5f97070eafa20164/linux_x86/pnacl_newlib/core_sdk_libs_le32.tgz.json -> core_sdk_libs_le32_ec7a6d86bc8b03a7dba36f4ec5b20688866101e9.tgz.json + https://storage.googleapis.com/nativeclient-once/object/core_sdk_libs_le32_ec7a6d86bc8b03a7dba36f4ec5b20688866101e9.tgz + + https://storage.googleapis.com/nativeclient-archive2/builds/25a7ef81d2dc76b58450fa2d5f97070eafa20164/linux_x86/pnacl_newlib/core_sdk_libs_x86_64.tgz.json -> core_sdk_libs_x86_64_16084d5bbd51b0c52d475d669675f6c57474abac.tgz.json + https://storage.googleapis.com/nativeclient-once/object/core_sdk_libs_x86_64_16084d5bbd51b0c52d475d669675f6c57474abac.tgz + + https://storage.googleapis.com/nativeclient-archive2/builds/25a7ef81d2dc76b58450fa2d5f97070eafa20164/linux_x86/pnacl_newlib/driver_x86_64_linux.tgz.json -> driver_x86_64_linux_aebe5000b2daaa6ca9fff580835fa5d5948fdebc.tgz.json + https://storage.googleapis.com/nativeclient-once/object/driver_x86_64_linux_aebe5000b2daaa6ca9fff580835fa5d5948fdebc.tgz + + https://storage.googleapis.com/nativeclient-archive2/builds/25a7ef81d2dc76b58450fa2d5f97070eafa20164/linux_x86/pnacl_newlib/libcxx_i686.tgz.json -> libcxx_i686_ba67ebc8ed4865c85d28ac3189e36a492fd5906a.tgz.json + https://storage.googleapis.com/nativeclient-once/object/libcxx_i686_ba67ebc8ed4865c85d28ac3189e36a492fd5906a.tgz + + https://storage.googleapis.com/nativeclient-archive2/builds/25a7ef81d2dc76b58450fa2d5f97070eafa20164/linux_x86/pnacl_newlib/libcxx_i686_bc.tgz.json -> libcxx_i686_bc_2ec9472750ffb4ff9714cfa5c17c933f08f63e9a.tgz.json + https://storage.googleapis.com/nativeclient-once/object/libcxx_i686_bc_2ec9472750ffb4ff9714cfa5c17c933f08f63e9a.tgz + + https://storage.googleapis.com/nativeclient-archive2/builds/25a7ef81d2dc76b58450fa2d5f97070eafa20164/linux_x86/pnacl_newlib/libcxx_le32.tgz.json -> libcxx_le32_cd7894ffc6dd897b9549ed5930c4e46cec037de3.tgz.json + https://storage.googleapis.com/nativeclient-once/object/libcxx_le32_cd7894ffc6dd897b9549ed5930c4e46cec037de3.tgz + + https://storage.googleapis.com/nativeclient-archive2/builds/25a7ef81d2dc76b58450fa2d5f97070eafa20164/linux_x86/pnacl_newlib/libcxx_x86_64.tgz.json -> libcxx_x86_64_54d64049fb92ed08573101943a02a52d0d3fda90.tgz.json + https://storage.googleapis.com/nativeclient-once/object/libcxx_x86_64_54d64049fb92ed08573101943a02a52d0d3fda90.tgz + + https://storage.googleapis.com/nativeclient-archive2/builds/25a7ef81d2dc76b58450fa2d5f97070eafa20164/linux_x86/pnacl_newlib/libcxx_x86_64_bc.tgz.json -> libcxx_x86_64_bc_cf9a7da4e44786685120a521f6fbbcece2ea177f.tgz.json + https://storage.googleapis.com/nativeclient-once/object/libcxx_x86_64_bc_cf9a7da4e44786685120a521f6fbbcece2ea177f.tgz + + https://storage.googleapis.com/nativeclient-archive2/builds/25a7ef81d2dc76b58450fa2d5f97070eafa20164/linux_x86/pnacl_newlib/libcxx_x86_64_linux.tgz.json -> libcxx_x86_64_linux_232c2b1151bad4df41fe89551f32e5f81ebc716f.tgz.json + https://storage.googleapis.com/nativeclient-once/object/libcxx_x86_64_linux_232c2b1151bad4df41fe89551f32e5f81ebc716f.tgz + + https://storage.googleapis.com/nativeclient-archive2/builds/25a7ef81d2dc76b58450fa2d5f97070eafa20164/linux_x86/pnacl_newlib/libgcc_eh_x86_32.tgz.json -> libgcc_eh_x86_32_6dc8bbe08474537602c66fd6db3024b812d91448.tgz.json + https://storage.googleapis.com/nativeclient-once/object/libgcc_eh_x86_32_6dc8bbe08474537602c66fd6db3024b812d91448.tgz + + https://storage.googleapis.com/nativeclient-archive2/builds/25a7ef81d2dc76b58450fa2d5f97070eafa20164/linux_x86/pnacl_newlib/libgcc_eh_x86_64.tgz.json -> libgcc_eh_x86_64_729cfb07fe284ff8deb43d30467ab31a3ae17edd.tgz.json + https://storage.googleapis.com/nativeclient-once/object/libgcc_eh_x86_64_729cfb07fe284ff8deb43d30467ab31a3ae17edd.tgz + + https://storage.googleapis.com/nativeclient-archive2/builds/25a7ef81d2dc76b58450fa2d5f97070eafa20164/linux_x86/pnacl_newlib/libs_support_i686.tgz.json -> libs_support_i686_97b91213450f99f7562375aa934779ba98b5d598.tgz.json + https://storage.googleapis.com/nativeclient-once/object/libs_support_i686_97b91213450f99f7562375aa934779ba98b5d598.tgz + + https://storage.googleapis.com/nativeclient-archive2/builds/25a7ef81d2dc76b58450fa2d5f97070eafa20164/linux_x86/pnacl_newlib/libs_support_i686_bc.tgz.json -> libs_support_i686_bc_a270af9146913a4c0d922f0380a21e61e09e5ea8.tgz.json + https://storage.googleapis.com/nativeclient-once/object/libs_support_i686_bc_a270af9146913a4c0d922f0380a21e61e09e5ea8.tgz + + https://storage.googleapis.com/nativeclient-archive2/builds/25a7ef81d2dc76b58450fa2d5f97070eafa20164/linux_x86/pnacl_newlib/libs_support_le32.tgz.json -> libs_support_le32_ebaf6761a9ba9d5c3f2693b78efd5988763a712c.tgz.json + https://storage.googleapis.com/nativeclient-once/object/libs_support_le32_ebaf6761a9ba9d5c3f2693b78efd5988763a712c.tgz + + https://storage.googleapis.com/nativeclient-archive2/builds/25a7ef81d2dc76b58450fa2d5f97070eafa20164/linux_x86/pnacl_newlib/libs_support_translator_x86_32.tgz.json -> libs_support_translator_x86_32_270be6a605f07e051e645d1af63fe2dd7b32543a.tgz.json + https://storage.googleapis.com/nativeclient-once/object/libs_support_translator_x86_32_270be6a605f07e051e645d1af63fe2dd7b32543a.tgz + + https://storage.googleapis.com/nativeclient-archive2/builds/25a7ef81d2dc76b58450fa2d5f97070eafa20164/linux_x86/pnacl_newlib/libs_support_translator_x86_32_nonsfi.tgz.json -> libs_support_translator_x86_32_nonsfi_0d890fe58714973398681c3cd82c0d1e2ac5521b.tgz.json + https://storage.googleapis.com/nativeclient-once/object/libs_support_translator_x86_32_nonsfi_0d890fe58714973398681c3cd82c0d1e2ac5521b.tgz + + https://storage.googleapis.com/nativeclient-archive2/builds/25a7ef81d2dc76b58450fa2d5f97070eafa20164/linux_x86/pnacl_newlib/libs_support_translator_x86_64.tgz.json -> libs_support_translator_x86_64_ae6ca014ebc54ae04f398324eff54f2492330c3f.tgz.json + https://storage.googleapis.com/nativeclient-once/object/libs_support_translator_x86_64_ae6ca014ebc54ae04f398324eff54f2492330c3f.tgz + + https://storage.googleapis.com/nativeclient-archive2/builds/25a7ef81d2dc76b58450fa2d5f97070eafa20164/linux_x86/pnacl_newlib/libs_support_x86_64.tgz.json -> libs_support_x86_64_2c339a4b13ae5a3bc6dce14f78a9ed405960fce7.tgz.json + https://storage.googleapis.com/nativeclient-once/object/libs_support_x86_64_2c339a4b13ae5a3bc6dce14f78a9ed405960fce7.tgz + + https://storage.googleapis.com/nativeclient-archive2/builds/25a7ef81d2dc76b58450fa2d5f97070eafa20164/linux_x86/pnacl_newlib/libs_support_x86_64_bc.tgz.json -> libs_support_x86_64_bc_96a311b617562f6035ddebddcfa8ef57955f4d63.tgz.json + https://storage.googleapis.com/nativeclient-once/object/libs_support_x86_64_bc_96a311b617562f6035ddebddcfa8ef57955f4d63.tgz + + https://storage.googleapis.com/nativeclient-archive2/builds/25a7ef81d2dc76b58450fa2d5f97070eafa20164/linux_x86/pnacl_newlib/llvm_x86_64_linux.tgz.json -> llvm_x86_64_linux_4714c5a92e796beda585a7aa080069cdd3d4f4eb.tgz.json + https://storage.googleapis.com/nativeclient-once/object/llvm_x86_64_linux_4714c5a92e796beda585a7aa080069cdd3d4f4eb.tgz + + https://storage.googleapis.com/nativeclient-archive2/builds/25a7ef81d2dc76b58450fa2d5f97070eafa20164/linux_x86/pnacl_newlib/metadata.tgz.json -> metadata_3e42a7875fe3db05f30ceb7132008b530a60e429.tgz.json + https://storage.googleapis.com/nativeclient-once/object/metadata_3e42a7875fe3db05f30ceb7132008b530a60e429.tgz + + https://storage.googleapis.com/nativeclient-archive2/builds/25a7ef81d2dc76b58450fa2d5f97070eafa20164/linux_x86/pnacl_newlib/newlib_i686.tgz.json -> newlib_i686_bc57b675ba76cde66ad58810c2fb64fbbc888b50.tgz.json + https://storage.googleapis.com/nativeclient-once/object/newlib_i686_bc57b675ba76cde66ad58810c2fb64fbbc888b50.tgz + + https://storage.googleapis.com/nativeclient-archive2/builds/25a7ef81d2dc76b58450fa2d5f97070eafa20164/linux_x86/pnacl_newlib/newlib_i686_bc.tgz.json -> newlib_i686_bc_665d891237ad05188343e99663ae22d6af07378b.tgz.json + https://storage.googleapis.com/nativeclient-once/object/newlib_i686_bc_665d891237ad05188343e99663ae22d6af07378b.tgz + + https://storage.googleapis.com/nativeclient-archive2/builds/25a7ef81d2dc76b58450fa2d5f97070eafa20164/linux_x86/pnacl_newlib/newlib_le32.tgz.json -> newlib_le32_c6642a55a464c9ee71b8c38117dccb83781a8db6.tgz.json + https://storage.googleapis.com/nativeclient-once/object/newlib_le32_c6642a55a464c9ee71b8c38117dccb83781a8db6.tgz + + https://storage.googleapis.com/nativeclient-archive2/builds/25a7ef81d2dc76b58450fa2d5f97070eafa20164/linux_x86/pnacl_newlib/newlib_x86_64.tgz.json -> newlib_x86_64_4d77590618780ad27f9d02be457cf5d402fea69a.tgz.json + https://storage.googleapis.com/nativeclient-once/object/newlib_x86_64_4d77590618780ad27f9d02be457cf5d402fea69a.tgz + + https://storage.googleapis.com/nativeclient-archive2/builds/25a7ef81d2dc76b58450fa2d5f97070eafa20164/linux_x86/pnacl_newlib/newlib_x86_64_bc.tgz.json -> newlib_x86_64_bc_a90b5589e73df4fac7557f083e82c3f9a0d4da2e.tgz.json + https://storage.googleapis.com/nativeclient-once/object/newlib_x86_64_bc_a90b5589e73df4fac7557f083e82c3f9a0d4da2e.tgz + + https://storage.googleapis.com/nativeclient-archive2/builds/25a7ef81d2dc76b58450fa2d5f97070eafa20164/linux_x86/pnacl_newlib/unsandboxed_runtime_x86_32_linux.tgz.json -> unsandboxed_runtime_x86_32_linux_ec43cb9a60d17bb73aa07c41cc69cf6713820357.tgz.json + https://storage.googleapis.com/nativeclient-once/object/unsandboxed_runtime_x86_32_linux_ec43cb9a60d17bb73aa07c41cc69cf6713820357.tgz + + https://storage.googleapis.com/nativeclient-archive2/builds/25a7ef81d2dc76b58450fa2d5f97070eafa20164/linux_x86/pnacl_newlib/unsandboxed_runtime_x86_64_linux.tgz.json -> unsandboxed_runtime_x86_64_linux_39cd59ce6be14ee949c9f430947bd393fb6182e8.tgz.json + https://storage.googleapis.com/nativeclient-once/object/unsandboxed_runtime_x86_64_linux_39cd59ce6be14ee949c9f430947bd393fb6182e8.tgz + + https://storage.googleapis.com/nativeclient-archive2/builds/25a7ef81d2dc76b58450fa2d5f97070eafa20164/shared/pnacl_translator/sandboxed_translators.tgz.json -> sandboxed_translators_588542cc5272b1ef528750e378e7a2afbc8f3fff.tgz.json + https://storage.googleapis.com/nativeclient-once/object/sandboxed_translators_588542cc5272b1ef528750e378e7a2afbc8f3fff.tgz +)" LICENSE="BSD" SLOT="0" KEYWORDS="amd64 ~arm ~arm64 x86" -IUSE="cups +gn gnome gnome-keyring gtk3 +hangouts kerberos neon pic +proprietary-codecs pulseaudio selinux +suid +system-ffmpeg +tcmalloc widevine" -RESTRICT="!system-ffmpeg? ( proprietary-codecs? ( bindist ) )" +IUSE="cups +gn gnome gnome-keyring gtk3 +hangouts kerberos nacl neon pic +proprietary-codecs pulseaudio selinux +suid +system-ffmpeg +tcmalloc widevine" +RESTRICT="!system-ffmpeg? ( proprietary-codecs? ( bindist ) ) arm? ( !nacl ) arm64? ( !nacl )" # Native Client binaries are compiled with different set of flags, bug #452066. QA_FLAGS_IGNORED=".*\.nexe" @@ -166,6 +285,7 @@ PATCHES=( "${FILESDIR}/${PN}-widevine-r1.patch" "${FILESDIR}/chromium-54-ffmpeg2compat.patch" "${FILESDIR}/${PN}-gn-bootstrap-ld.patch" + "${FILESDIR}/${PN}-gn-nacl.patch" ) pkg_pretend() { @@ -193,6 +313,62 @@ pkg_setup() { chromium_suid_sandbox_check_kernel_config } +src_unpack() { + unpack ${P}.tar.xz + + if use nacl; then + local toolchains + # for NaCL we have to place toolchain JSON metadata files into appropriate place + # so download_nacl_toolchains.py can find and use them for archives extraction + for jsonfile in $DISTDIR/*.json; do + case $jsonfile in + *.tgz.json) ;; # Skip per-package metadata + + *.json) # create symlinks and directories for toolchain metadata JSON files + jsonfile=${jsonfile##*/} + local toolchain=${jsonfile%_*} + toolchains="${toolchains} ${toolchain}" + + mkdir -p ${S}/native_client/toolchain/.tars/linux_x86/${toolchain} && + ln -s ${DISTDIR}/${jsonfile} ${S}/native_client/toolchain/.tars/linux_x86/${toolchain}.json || + die + ;; + esac + done + + for jsonfile in ${DISTDIR}/*.tgz.json; do + # getting package hash from JSON file to use it as a destination tar name + local tgzhash + tgzhash=$( grep '"hash"' $jsonfile ) || die + tgzhash=${tgzhash%\"*} + tgzhash=${tgzhash##*\"} + # stripping path components from JSON file + jsonfile=${jsonfile##*/} + # original tar archive name + local distfile=${jsonfile%.json} + # tar archive name without revision hash + local tgzname=${distfile%_*.tgz}.tgz + # checking toolchain name this package belongs to + local jsondest + jsondest=$( grep -l "$tgzname" ${S}/native_client/toolchain/.tars/linux_x86/*.json ) || die + jsondest=${jsondest%.json} + jsondest=${jsondest##*/} + # placing everything into appropriate places + mkdir -p ${S}/native_client/toolchain/.tars/package_archives/${tgzname} && + ln -s ${DISTDIR}/${distfile} ${S}/native_client/toolchain/.tars/package_archives/${tgzname}/${tgzhash}.tgz && + ln -s ${DISTDIR}/${jsonfile} ${S}/native_client/toolchain/.tars/linux_x86/${jsondest}/${tgzname}.json || + die + done + + # Use download_nacl_toolchains.py to extract archives + cd $S || die + for toolchain in $toolchains; do + python build/download_nacl_toolchains.py --packages $toolchain extract --skip-missing || die + done + cd $WORKDIR || die + fi +} + src_prepare() { default @@ -314,6 +490,11 @@ src_prepare() { third_party/yasm/run_yasm.py ) fi + if use nacl; then + keeplibs+=( + native_client/src/third_party/dlmalloc + ) + fi # Remove most bundled libraries. Some are still needed. build/linux/unbundle/remove_bundled_libraries.py "${keeplibs[@]}" --do-remove || die @@ -330,9 +511,10 @@ src_configure() { # additions, bug #336871. myconf_gyp+=" -Ddisable_sse2=1" - # Disable nacl, we can't build without pnacl (http://crbug.com/269560). - myconf_gyp+=" -Ddisable_nacl=1" - myconf_gn+=" enable_nacl=false" + if ! use nacl ; then + myconf_gyp+=" -Ddisable_nacl=1" + myconf_gn+=" enable_nacl=false" + fi # Make it possible to remove third_party/adobe. echo > "${T}/flapper_version.h" || die @@ -535,6 +717,11 @@ src_configure() { fi fi + if use nacl; then + filter-flags -fstack-protector -fstack-protector-strong + append-flags -fno-stack-protector + fi + # Make sure the build system will use the right tools, bug #340795. tc-export AR CC CXX NM @@ -632,12 +819,11 @@ src_install() { doexe out/Release/chromedriver || die use widevine && doexe out/Release/libwidevinecdmadapter.so - # if ! use arm; then - # doexe out/Release/nacl_helper{,_bootstrap} || die - # insinto "${CHROMIUM_HOME}" - # doins out/Release/nacl_irt_*.nexe || die - # doins out/Release/libppGoogleNaClPluginChrome.so || die - # fi + if use nacl; then + doexe out/Release/nacl_helper{,_bootstrap} || die + insinto "${CHROMIUM_HOME}" + doins out/Release/nacl_irt_*.nexe || die + fi local sedargs=( -e "s:/usr/lib/:/usr/$(get_libdir)/:g" ) if [[ -n ${CHROMIUM_SUFFIX} ]]; then diff --git a/files/chromium-gn-nacl.patch b/files/chromium-gn-nacl.patch new file mode 100644 index 0000000..728cc18 --- /dev/null +++ b/files/chromium-gn-nacl.patch @@ -0,0 +1,33 @@ +diff --git a/build/toolchain/gcc_toolchain.gni b/build/toolchain/gcc_toolchain.gni +index eecb409..61b9bee 100644 +--- a/build/toolchain/gcc_toolchain.gni ++++ b/build/toolchain/gcc_toolchain.gni +@@ -452,10 +452,16 @@ template("clang_toolchain") { + toolprefix = "" + } + + gcc_toolchain(target_name) { +- prefix = rebase_path("$clang_base_path/bin", root_build_dir) +- cc = "$prefix/clang" +- cxx = "$prefix/clang++" ++ if (is_clang) { ++ prefix = rebase_path("$clang_base_path/bin", root_build_dir) ++ cc = "$prefix/clang" ++ cxx = "$prefix/clang++" ++ } else { ++ cc = getenv("CC") ++ cxx = getenv("CXX") ++ } ++ + ld = cxx + + readelf = "${toolprefix}readelf" +@@ -468,7 +478,7 @@ template("clang_toolchain") { + if (defined(invoker.toolchain_args)) { + forward_variables_from(invoker.toolchain_args, "*") + } +- is_clang = true ++ is_clang = is_clang + } + } + }