diff --git a/srcpkgs/chromium/files/musl-patches/musl-hacks.patch b/srcpkgs/chromium/files/musl-patches/musl-hacks.patch index d1f580a81d0..91706ef2efb 100644 --- a/srcpkgs/chromium/files/musl-patches/musl-hacks.patch +++ b/srcpkgs/chromium/files/musl-patches/musl-hacks.patch @@ -1,14 +1,3 @@ ---- ./third_party/usrsctp/usrsctplib/usrsctplib/netinet/sctp_userspace.c.orig -+++ ./third_party/usrsctp/usrsctplib/usrsctplib/netinet/sctp_userspace.c -@@ -72,7 +72,7 @@ - pthread_setname_np(name); - #endif - #if defined(__Userspace_os_Linux) -- pthread_setname_np(pthread_self(), name); -+ //pthread_setname_np(pthread_self(), name); - #endif - #if defined(__Userspace_os_FreeBSD) - pthread_set_name_np(pthread_self(), name); --- ./base/debug/stack_trace.cc.orig +++ ./base/debug/stack_trace.cc @@ -33,7 +33,7 @@ diff --git a/srcpkgs/chromium/patches/fix-cups-2.2.patch b/srcpkgs/chromium/patches/fix-cups-2.2.patch deleted file mode 100644 index 85559e13167..00000000000 --- a/srcpkgs/chromium/patches/fix-cups-2.2.patch +++ /dev/null @@ -1,31 +0,0 @@ -commit 5132ca58a0a3ada1aee99732fd30d53ebe5af984 -author saiarcot895 Mon Aug 22 18:41:54 2016 -committer Commit bot Mon Aug 22 18:44:13 2016 -tree b4783f1c90f2fdb001843ad83463e260de9b292c -parent da7b21cac1ded0c70cb330e4f76a1f7915e38ccf - -Fix compiling with CUPS 2.2 backend. - -cupsGetPPD() and cupsGetPPD2() have been moved into the cups/ppd.h -header starting with CUPS 2.2. This header file now needs to be included -to use these functions. The header file also exists on older versions of -CUPS, so a compile error will not occur. - -R=skau@chromium.org, thestig@chromium.org - -Review-Url: https://codereview.chromium.org/2258333004 -Cr-Commit-Position: refs/heads/master@{#413484} - -diff --git printing/backend/cups_helper.h printing/backend/cups_helper.h -index fd7601d..b72903f 100644 ---- printing/backend/cups_helper.h -+++ printing/backend/cups_helper.h - -@@ -6,6 +6,7 @@ - #define PRINTING_BACKEND_CUPS_HELPER_H_ - - #include -+#include - - #include "base/strings/string_piece.h" - #include "printing/printing_export.h" diff --git a/srcpkgs/chromium/patches/gn_bootstrap.patch b/srcpkgs/chromium/patches/gn_bootstrap.patch new file mode 100644 index 00000000000..662a67f35ff --- /dev/null +++ b/srcpkgs/chromium/patches/gn_bootstrap.patch @@ -0,0 +1,97 @@ +--- tools/gn/bootstrap/bootstrap.py.orig 2016-11-17 00:15:29.112867732 +0100 ++++ tools/gn/bootstrap/bootstrap.py 2016-11-17 00:43:54.712718406 +0100 +@@ -159,7 +159,7 @@ + mkdir_p(root_gen_dir) + + write_buildflag_header_manually(root_gen_dir, 'base/allocator/features.h', +- {'USE_EXPERIMENTAL_ALLOCATOR_SHIM': 'true' if is_linux else 'false'}) ++ {'USE_EXPERIMENTAL_ALLOCATOR_SHIM': 'false'}) + + write_buildflag_header_manually(root_gen_dir, 'base/debug/debugging_flags.h', + {'ENABLE_PROFILING': 'false'}) +@@ -366,8 +366,6 @@ + 'base/third_party/superfasthash/superfasthash.c', + ]) + static_libraries['base']['sources'].extend([ +- 'base/allocator/allocator_check.cc', +- 'base/allocator/allocator_extension.cc', + 'base/at_exit.cc', + 'base/base_paths.cc', + 'base/base_switches.cc', +@@ -541,29 +539,9 @@ + 'base/time/time_posix.cc', + 'base/trace_event/heap_profiler_allocation_register_posix.cc', + ]) +- static_libraries['libevent'] = { +- 'sources': [ +- 'base/third_party/libevent/buffer.c', +- 'base/third_party/libevent/evbuffer.c', +- 'base/third_party/libevent/evdns.c', +- 'base/third_party/libevent/event.c', +- 'base/third_party/libevent/event_tagging.c', +- 'base/third_party/libevent/evrpc.c', +- 'base/third_party/libevent/evutil.c', +- 'base/third_party/libevent/http.c', +- 'base/third_party/libevent/log.c', +- 'base/third_party/libevent/poll.c', +- 'base/third_party/libevent/select.c', +- 'base/third_party/libevent/signal.c', +- 'base/third_party/libevent/strlcpy.c', +- ], +- 'tool': 'cc', +- 'include_dirs': [], +- 'cflags': cflags + ['-DHAVE_CONFIG_H'], +- } + + if is_linux: +- libs.extend(['-lrt', '-latomic']) ++ libs.extend(['-lrt', '-levent']) + ldflags.extend(['-pthread']) + + static_libraries['xdg_user_dirs'] = { +@@ -573,8 +551,6 @@ + 'tool': 'cxx', + } + static_libraries['base']['sources'].extend([ +- 'base/allocator/allocator_shim.cc', +- 'base/allocator/allocator_shim_default_dispatch_to_glibc.cc', + 'base/memory/shared_memory_posix.cc', + 'base/nix/xdg_util.cc', + 'base/process/internal_linux.cc', +@@ -587,12 +563,6 @@ + 'base/threading/platform_thread_linux.cc', + 'base/trace_event/malloc_dump_provider.cc', + ]) +- static_libraries['libevent']['include_dirs'].extend([ +- os.path.join(SRC_ROOT, 'base', 'third_party', 'libevent', 'linux') +- ]) +- static_libraries['libevent']['sources'].extend([ +- 'base/third_party/libevent/epoll.c', +- ]) + + + if is_mac: +--- base/message_loop/message_pump_libevent.cc.orig 2016-11-17 01:07:57.633819544 +0100 ++++ base/message_loop/message_pump_libevent.cc 2016-11-17 01:08:38.985851678 +0100 +@@ -14,7 +14,7 @@ + #include "base/files/file_util.h" + #include "base/logging.h" + #include "base/posix/eintr_wrapper.h" +-#include "base/third_party/libevent/event.h" ++#include "event.h" + #include "base/time/time.h" + #include "base/trace_event/trace_event.h" + #include "build/build_config.h" +--- base/native_library_posix.cc.orig 2016-11-17 01:45:50.032002326 +0100 ++++ base/native_library_posix.cc 2016-11-17 01:46:23.729001549 +0100 +@@ -12,6 +12,10 @@ + #include "base/strings/utf_string_conversions.h" + #include "base/threading/thread_restrictions.h" + ++#ifndef RTLD_DEEPBIND ++#define RTLD_DEEPBIND 0 ++#endif ++ + namespace base { + + std::string NativeLibraryLoadError::ToString() const { diff --git a/srcpkgs/chromium/patches/issue2495583002_1.patch b/srcpkgs/chromium/patches/issue2495583002_1.patch index a20ce656c3a..b1eb3ef9a99 100644 --- a/srcpkgs/chromium/patches/issue2495583002_1.patch +++ b/srcpkgs/chromium/patches/issue2495583002_1.patch @@ -1,8 +1,8 @@ -Index: net/quic/crypto/proof_verifier_chromium.cc -diff --git net/quic/crypto/proof_verifier_chromium.cc net/quic/crypto/proof_verifier_chromium.cc +Index: net/quic/chromium/crypto/proof_verifier_chromium.cc +diff --git net/quic/chromium/crypto/proof_verifier_chromium.cc net/quic/chromium/crypto/proof_verifier_chromium.cc index 546b00740fef947a95a109e7e9bc22ffdedce785..160191bf6226292d49997bec94429e3a1d0fe990 100644 ---- net/quic/crypto/proof_verifier_chromium.cc -+++ net/quic/crypto/proof_verifier_chromium.cc +--- net/quic/chromium/crypto/proof_verifier_chromium.cc ++++ net/quic/chromium/crypto/proof_verifier_chromium.cc @@ -426,6 +426,8 @@ int ProofVerifierChromium::Job::DoVerifyCertComplete(int result) { int ct_result = OK; if (verify_details_->ct_verify_result.cert_policy_compliance != diff --git a/srcpkgs/chromium/patches/last-commit-position.patch b/srcpkgs/chromium/patches/last-commit-position.patch new file mode 100644 index 00000000000..fdef5adf3bb --- /dev/null +++ b/srcpkgs/chromium/patches/last-commit-position.patch @@ -0,0 +1,26 @@ +--- tools/gn/gn_main.cc.orig 2015-11-12 11:49:56.260549036 +0000 ++++ tools/gn/gn_main.cc 2015-11-12 11:50:14.780931485 +0000 +@@ -11,13 +11,7 @@ + #include "tools/gn/standard_out.h" + #include "tools/gn/switches.h" + +-// Only the GN-generated build makes this header for now. +-// TODO(brettw) consider adding this if we need it in GYP. +-#if defined(GN_BUILD) +-#include "tools/gn/last_commit_position.h" +-#else + #define LAST_COMMIT_POSITION "UNKNOWN" +-#endif + + namespace { + +--- tools/gn/BUILD.gn.orig 2015-11-12 11:50:43.513524769 +0000 ++++ tools/gn/BUILD.gn 2015-11-12 11:50:57.697817632 +0000 +@@ -227,7 +227,6 @@ + + deps = [ + ":gn_lib", +- ":last_commit_position", + "//base", + "//build/config/sanitizers:deps", + ] diff --git a/srcpkgs/chromium/patches/no-mallinfo.patch b/srcpkgs/chromium/patches/no-mallinfo.patch index 9c5ea398785..3ea66e475d8 100644 --- a/srcpkgs/chromium/patches/no-mallinfo.patch +++ b/srcpkgs/chromium/patches/no-mallinfo.patch @@ -1,9 +1,9 @@ ---- base/trace_event/malloc_dump_provider.cc.orig 2016-05-08 08:04:01.166374018 +0200 -+++ base/trace_event/malloc_dump_provider.cc 2016-05-08 08:05:07.846264723 +0200 -@@ -61,7 +61,7 @@ bool MallocDumpProvider::OnMemoryDump(co - // fixed quantum, so the excess region will not be resident. - // See crrev.com/1531463004 for detailed explanation. - resident_size = stats.max_size_in_use; +--- base/trace_event/malloc_dump_provider.cc.orig 2016-11-16 02:19:56.753320143 +0100 ++++ base/trace_event/malloc_dump_provider.cc 2016-11-16 02:13:58.286196506 +0100 +@@ -224,7 +224,7 @@ + resident_size = all_heap_info.committed_size; + allocated_objects_size = all_heap_info.allocated_size; + allocated_objects_count = all_heap_info.block_count; -#else +#elif defined(OS_LINUX) && defined(__GLIBC__) struct mallinfo info = mallinfo(); diff --git a/srcpkgs/chromium/template b/srcpkgs/chromium/template index 54454f47f22..1d57d3c09d2 100644 --- a/srcpkgs/chromium/template +++ b/srcpkgs/chromium/template @@ -1,23 +1,26 @@ # Template file for 'chromium' pkgname=chromium # See http://www.chromium.org/developers/calendar for the latest version -version=53.0.2785.143 -revision=3 +version=54.0.2840.100 +revision=1 short_desc="Google's attempt at creating a safer, faster, and more stable browser" maintainer="Juan RP " homepage="http://www.chromium.org/" license="BSD" distfiles="https://commondatastorage.googleapis.com/chromium-browser-official/${pkgname}-${version}.tar.xz" -checksum=c52a58b79bfb27bb87e4a0a6ff213001485fbc747657b290f75d39ddce07dcc3 - -# XXX: trigger rebuild +checksum=e2e7f54a780c93ec2e933af09e1126837e6cf940b57213d39f36d58df10c89df only_for_archs="i686 x86_64 x86_64-musl" lib32disabled=yes nodebug=yes nopie=yes # contains tools that are not PIE, enables PIE itself -hostmakedepends="yasm python pkg-config perl gperf bison ninja hwids libatomic-devel" +build_options="nacl" +build_options_default="" +desc_option_nacl="Enabled NaCL support" + +hostmakedepends="yasm python pkg-config perl gperf bison ninja hwids + libatomic-devel libevent-devel libglib-devel" makedepends="libpng-devel gtk+-devel nss-devel pciutils-devel libXi-devel libgcrypt-devel libgnome-keyring-devel cups-devel elfutils-devel libXcomposite-devel speech-dispatcher-devel libXrandr-devel mit-krb5-devel @@ -27,12 +30,10 @@ makedepends="libpng-devel gtk+-devel nss-devel pciutils-devel libjpeg-turbo-devel libevent-devel json-c-devel harfbuzz-devel minizip-devel jsoncpp-devel zlib-devel libcap-devel libXdamage-devel" depends="libexif hwids desktop-file-utils hicolor-icon-theme" -nostrip_files="nacl_irt_x86_64.nexe nacl_irt_x86_32.nexe" +nostrip_files="$(vopt_if nacl 'nacl_irt_x86_64.nexe nacl_irt_x86_32.nexe')" -if [ -z "$CROSS_BUILD" -a "$XBPS_MACHINE" = "x86_64" ]; then - # Is this required? - hostmakedepends+=" gcc-multilib" -fi +# nacl currently makes problems with GN +[ "$build_option_nacl" ] && broken=yes post_extract() { case "${XBPS_TARGET_MACHINE}" in @@ -42,49 +43,44 @@ post_extract() { done ;; esac - } pre_configure() { - if [ "$XBPS_TARGET_MACHINE" = "x86_64" ]; then + # Use the file at run time instead of effectively compiling it in + sed 's|//third_party/usb_ids/usb.ids|/usr/share/hwdata/usb.ids|g' \ + -i device/usb/BUILD.gn + + # Work around bug in blink in which GCC 6 optimizes away null pointer checks + # https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=833524 + # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68853#c2 + sed -i '/config("compiler")/ a cflags_cc = [ "-fno-delete-null-pointer-checks" ]' \ + build/config/linux/BUILD.gn +} +do_configure() { + local system="" bootstrap_conf="" conf="" + export -n CFLAGS CXXFLAGS LDFLAGS + + # bootstrap NaCL toolchain + if [ -n "$build_option_nacl" ] && [ "$XBPS_TARGET_MACHINE" = "x86_64" ]; then # XXX xtraeme: fix gcc{,-c++}-multilib instead. ldconfig &>/dev/null # Download NaCL toolchains - python2 build/download_nacl_toolchains.py \ - --packages nacl_x86_newlib,pnacl_newlib,pnacl_translator \ - sync --extract + python2 nbuild/download_acl_toolchains.py \ + --packages nacl_x86_newlib,pnacl_newlib,pnacl_translator sync --extract + # donwload clang + python2 tools/clang/scripts/update.py + ln -s /usr/lib/libncursesw.so.6 third_party/llvm-build/Release+Asserts/lib/libtinfo.so.5 fi - # 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 - - # https://code.google.com/p/chromium/issues/detail?id=541273 - sed -i "/'target_name': 'libvpx'/s/libvpx/&_new/" build/linux/unbundle/libvpx.gyp -} -do_configure() { - local conf="" - - export -n CFLAGS CXXFLAGS LDFLAGS - if [ "$CROSS_BUILD" ]; then - export GYP_CROSSCOMPILE=1 - fi - - # Google API keys (see http://www.chromium.org/developers/how-tos/api-keys) - # Note: These are for Void Linux use ONLY. - conf+=" - -Dgoogle_api_key=AIzaSyCIFdBA7eQP43R6kXRwTq7j6Mvj1ITze90 - -Dgoogle_default_client_id=858256686058.apps.googleusercontent.com - -Dgoogle_default_client_secret=sMVx271L_MAz23TW2ek3AASn" - - # Disable glibc Native Client toolchain. - conf+=" -Ddisable_glibc=1" - - # Disable clang for native and host builds. - conf+=" -Dclang=0 -Dhost_clang=0" + # bootstrap GN + bootstrap_conf=' + use_sysroot=false + is_clang=false + use_gconf=false + treat_warnings_as_errors=false + binutils_path="/usr/bin" + use_allocator="none"' + AR="ar" CC=$CC_FOR_BUILD CXX=$CXX_FOR_BUILD LD=$CXX_FOR_BUILD \ + python2 tools/gn/bootstrap/bootstrap.py --gn-gen-args "${bootstrap_conf// / }" # Use system-provided libraries. # TODO: use_system_hunspell (upstream changes needed). @@ -92,127 +88,119 @@ do_configure() { # TODO: use_system_libusb (http://crbug.com/266149). # TODO: use_system_ssl (http://crbug.com/58087). # TODO: use_system_sqlite (http://crbug.com/22208). - # # XXX xtraeme: broken currently - # -Duse_system_opus=1 (needs opus_custom.h) - # -Duse_system_protobuf - # -Duse_system_v8=1 - # -Duse_system_zlib=1 - # -Duse_system_libvpx=1 - # -Duse_system_re2=1 // breaks with re2-devel-2016.06.01 - conf+=" - -Dclang_use_chrome_plugins=0 - -Dpython_ver=2.7 - -Dicu_use_data_file_flag=1 - -Duse_system_bzip2=1 - -Duse_system_flac=1 - -Duse_system_harfbuzz=1 - -Duse_system_jsoncpp=1 - -Duse_system_libevent=1 - -Duse_system_libjpeg=1 - -Duse_system_libpng=1 - -Duse_system_libxml=1 - -Duse_system_libxslt=1 - -Duse_system_minizip=1 - -Duse_system_nspr=1 - -Duse_system_snappy=1 - -Duse_system_speex=1 - -Duse_system_xdg_utils=1 - -Duse_system_yasm=1 - -Duse_system_icu=0 - -Duse_system_libvpx=0 - -Duse_cups=1 - -Duse_pulseaudio=1 - -Duse_mojo=0 - -Duse_gconf=0 - -Duse_sysroot=0 - -Denable_widevine=1 - -Denable_hangout_services_extension=1" + # use_system_opus=1 (needs opus_custom.h) + # use_system_protobuf + # use_system_v8=1 + # use_system_zlib=1 + # use_system_libvpx=1 + # use_system_re2=1 // breaks with re2-devel-2016.06.01 + # libevent + # bzip2 jsoncpp nspr minizip xdg_utils snappy speex + system=" + flac + harfbuzz-ng + libevent + libjpeg + libpng + libxml + libxslt + snappy + yasm" - if [ "$CROSS_BUILD" ]; then - conf+=" -Denable_webrtc=0" - conf+=" -Duse_system_libwebp=0" + # TODO: is this still broken? + [ -z "$CROSS_BUILD" ] && system+=" libwebp" + + # remove build scripts for system provided dependencies + for LIB in ${system} libjpeg_turbo; do + find -type f -path "*third_party/$LIB/*" \ + \! -path "*third_party/$LIB/chromium/*" \ + \! -path "*third_party/$LIB/google/*" \ + \! -regex '.*\.\(gn\|gni\|isolate\|py\)' \ + -delete + done + + # switch to system provided dependencies + python2 build/linux/unbundle/replace_gn_files.py --system-libraries ${system} + + python2 third_party/libaddressinput/chromium/tools/update-strings.py + + # Google API keys (see http://www.chromium.org/developers/how-tos/api-keys) + # Note: These are for Void Linux use ONLY. + conf+=' + google_api_key="AIzaSyCIFdBA7eQP43R6kXRwTq7j6Mvj1ITze90" + google_default_client_id="858256686058.apps.googleusercontent.com" + google_default_client_secret="sMVx271L_MAz23TW2ek3AASn"' + + + if [ "$build_option_nacl" ] && [ "$XBPS_TARGET_MACHINE" = "x86_64" ]; then + # Disable glibc Native Client toolchain. + conf+=' is_nacl_glibc=false' + conf+=' enable_nacl=true enable_nacl_nonsfi=true' else - conf+=" -Duse_system_libwebp=1" + conf+=' enable_nacl=false enable_nacl_nonsfi=false' fi - # Use explicit library dependencies instead of dlopen. - conf+=" - -Dlinux_link_cups=1 - -Dlinux_link_pulseaudio=1 - -Dlinux_link_gsettings=1 - -Dlinux_link_libpci=1 - -Dlinux_link_libspeechd=1 - -Dlibspeechd_h_prefix=speech-dispatcher/" + conf+=' + is_clang=false + is_debug=false + remove_webcore_debug_symbols=true + symbol_level=0 + icu_use_data_file=true + use_cups=true + use_pulseaudio=true + use_gconf=false + use_sysroot=false + use_allocator="none" + use_experimental_allocator_shim=false + enable_widevine=true + enable_hangout_services_extension=true' - # TODO: use the file at run time instead of effectively compiling it in. - conf+=" -Dusb_ids_path=/usr/share/hwdata/usb.ids" + # TODO: is this still broken? + [ "$CROSS_BUILD" ] && conf+=' enable_webrtc=false' + + # Use explicit library dependencies instead of dlopen. + # GN only has "link_pulseaudio", the other options used before are not available atm + # linux_link_cups=true + # linux_link_gsettings=true + # linux_link_libpci=true + # linux_link_libspeechd=true + # libspeechd_h_prefix=\"speech-dispatcher/\"" + conf+=' link_pulseaudio=true' # Never use bundled binutils/gold binary. - conf+=" -Dlinux_use_bundled_binutils=0 -Dlinux_use_bundled_gold=0 -Dlinux_use_gold_flags=1" + conf+=" + binutils_path=\"${XBPS_CROSS_BASE}/usr/bin\" + gold_path=\"${XBPS_CROSS_BASE}/usr/bin/ld.gold\" + use_gold=true" # Always support proprietary codecs. - conf+=" -Dproprietary_codecs=1" - # Enable H.264 support in bundled ffmpeg. - conf+=" -Dffmpeg_branding=Chrome" + conf+=' + proprietary_codecs=true + ffmpeg_branding="Chrome"' # 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. - conf+=" -Dwerror=" + conf+=' + treat_warnings_as_errors=false + fatal_linker_warnings=false' # Save space by removing DLOG and DCHECK messages (about 6% reduction). - conf+=" -Dlogging_like_official_build=1" - conf+=" -Dtracing_like_official_build=1" - conf+=" -Dfieldtrial_testing_like_official_build=1" + # conf+=" logging_like_official_build=true" + conf+=' fieldtrial_testing_like_official_build=true' case "${XBPS_TARGET_MACHINE}" in - x86_64-musl*) - conf+=" -Ddisable_nacl=1 -Ddisable_pnacl=1" - conf+=" -Duse_allocator=none -Duse_experimental_allocator_shim=false -Dtarget_arch=x64" - ;; - i686-musl*) - conf+=" -Ddisable_nacl=1 -Ddisable_pnacl=1" - conf+=" -Duse_allocator=none -Duse_experimental_allocator_shim=false -Dtarget_arch=ia32" - ;; - i686) - conf+=" -Ddisable_nacl=1 -Ddisable_pnacl=1" - ;; - arm*) - conf+=" -Ddisable_nacl=1 -Ddisable_pnacl=1" - conf+=" -Dtarget_arch=arm -Dv8_use_arm_eabi_hardfloat=true" - conf+=" -Darm_float_abi=hard" - if [ "$CROSS_BUILD" ]; then - sed -i "s/arm-linux-gnueabihf-/${XBPS_CROSS_TRIPLET}-/g" build/common.gypi - conf+=" -Duse_sysroot=1 -Dsysroot=${XBPS_CROSS_BASE}" - fi - ;; - esac - case "${XBPS_TARGET_MACHINE}" in - armv7*) conf+=" - -Darmv7=1 - -Darm_neon=1 - -Darm_thumb=1 - -Darm_fpu=neon" - CFLAGS=${CFLAGS/vfpv3/neon} - ;; - armv6*) - conf+=" - -Darmv7=0 - -Darmv6=1 - -Darm_neon=0 - -Darm_fpu=vfp - -Darm_thumb=0 - -Dv8_can_use_vfp_instructions=false - -Dv8_can_use_vfp2_instructions=true";; + x86_64*) conf+=' target_cpu="x64"' ;; + i686*) conf+=' target_cpu="x86"' ;; + arm*) conf+=' target_cpu="arm"' ;; + aarch64*) conf+=' target_cpu="arm64"' ;; esac - build/linux/unbundle/replace_gyp_files.py ${conf} - build/gyp_chromium --depth=. ${conf} -Drelease_extra_cflags="${CFLAGS}" + out/Release/gn gen out/Release --args="${conf// / }" } do_build() { - export -n CFLAGS CXXFLAGS LDFLAGS ninja -C out/Release ${makejobs} chrome chrome_sandbox chromedriver } do_install() { @@ -220,7 +208,7 @@ do_install() { vinstall out/Release/chromedriver 755 usr/lib/${pkgname} chromedriver vinstall out/Release/chrome_sandbox 4755 usr/lib/${pkgname} chrome-sandbox - if [ "$XBPS_TARGET_MACHINE" = "x86_64" ]; then + if [ "$build_option_nacl" ] && [ "$XBPS_TARGET_MACHINE" = "x86_64" ]; then cp out/Release/nacl_helper{,_bootstrap} ${DESTDIR}/usr/lib/chromium cp out/Release/nacl_irt_x86_64.nexe ${DESTDIR}/usr/lib/chromium fi