svn commit: r486198 - in head/www/chromium: . files
Emmanuel Vadot
manu at FreeBSD.org
Thu Nov 29 17:26:32 UTC 2018
Author: manu
Date: Thu Nov 29 17:26:30 2018
New Revision: 486198
URL: https://svnweb.freebsd.org/changeset/ports/486198
Log:
www/chromium: Fix build on aarch64
arm64 doesn't have elf_aux_info and FreeBSD doesn't support getauxval.
For both boringssl and zlib disable the feature checking until we have
a way to expose those feature to the user.
Remove a patch (patch-third__party_boringssl_src_crypto_cpu-aarch64-linux.c) which is a no op
as all the code in under OPENSSL_LINUX which isn't defined.
Reviewed by: cpm (earier version), bapt (earlier version)
Approved by: bapt (mentor, implicit)
Added:
head/www/chromium/files/patch-third__party_zlib_arm__features.c (contents, props changed)
Modified:
head/www/chromium/Makefile
head/www/chromium/files/patch-third__party_boringssl_src_crypto_cpu-aarch64-linux.c
head/www/chromium/files/patch-third__party_zlib_BUILD.gn
head/www/chromium/pkg-plist
Modified: head/www/chromium/Makefile
==============================================================================
--- head/www/chromium/Makefile Thu Nov 29 16:55:34 2018 (r486197)
+++ head/www/chromium/Makefile Thu Nov 29 17:26:30 2018 (r486198)
@@ -204,6 +204,13 @@ TEST_DISTFILES= ${PORTNAME}-${DISTVERSION}-testdata${
.include <bsd.port.options.mk>
+# swiftshader/lib/{libEGL.so,libGLESv2.so} is x86 only
+.if ${ARCH} == aarch64
+PLIST_SUB+= NOT_AARCH64="@comment "
+.else
+PLIST_SUB+= NOT_AARCH64=""
+.endif
+
BUILD_DEPENDS+= ${LOCALBASE}/bin/ar:devel/binutils
EXTRA_PATCHES+= ${FILESDIR}/extra-patch-llvm-base
@@ -297,11 +304,13 @@ do-install:
.endfor
# SwiftShader
+.if ${ARCH} != aarch64
@${MKDIR} ${STAGEDIR}${DATADIR}/swiftshader
.for g in libEGL.so libGLESv2.so
${INSTALL_LIB} ${WRKSRC}/out/${BUILDTYPE}/swiftshader/${g} \
${STAGEDIR}${DATADIR}/swiftshader
.endfor
+.endif
post-install-DEBUG-on:
${INSTALL_LIB} ${WRKSRC}/out/${BUILDTYPE}/*.so \
Modified: head/www/chromium/files/patch-third__party_boringssl_src_crypto_cpu-aarch64-linux.c
==============================================================================
--- head/www/chromium/files/patch-third__party_boringssl_src_crypto_cpu-aarch64-linux.c Thu Nov 29 16:55:34 2018 (r486197)
+++ head/www/chromium/files/patch-third__party_boringssl_src_crypto_cpu-aarch64-linux.c Thu Nov 29 17:26:30 2018 (r486198)
@@ -1,40 +1,11 @@
---- third_party/boringssl/src/crypto/cpu-aarch64-linux.c.orig 2017-09-11 03:00:27.842983000 +0200
-+++ third_party/boringssl/src/crypto/cpu-aarch64-linux.c 2017-09-11 03:02:56.830632000 +0200
-@@ -16,7 +16,9 @@
-
- #if defined(OPENSSL_AARCH64) && !defined(OPENSSL_STATIC_ARMCAP)
-
-+#if defined(OPENSSL_LINUX)
- #include <sys/auxv.h>
-+#endif
-
- #include <openssl/arm_arch.h>
-
-@@ -26,6 +28,7 @@
- extern uint32_t OPENSSL_armcap_P;
-
- void OPENSSL_cpuid_setup(void) {
-+#if defined(OPENSSL_LINUX)
- unsigned long hwcap = getauxval(AT_HWCAP);
-
- /* See /usr/include/asm/hwcap.h on an aarch64 installation for the source of
-@@ -41,9 +44,11 @@
- * either. */
- return;
- }
-+#endif
-
- OPENSSL_armcap_P |= ARMV7_NEON;
-
-+#if defined(OPENSSL_LINUX)
- if (hwcap & kAES) {
- OPENSSL_armcap_P |= ARMV8_AES;
- }
-@@ -56,6 +61,7 @@
- if (hwcap & kSHA256) {
- OPENSSL_armcap_P |= ARMV8_SHA256;
- }
-+#endif
+--- third_party/boringssl/src/crypto/cpu-aarch64-linux.c.orig 2018-09-11 22:58:51 UTC
++++ third_party/boringssl/src/crypto/cpu-aarch64-linux.c
+@@ -60,3 +60,8 @@ void OPENSSL_cpuid_setup(void) {
}
- #endif /* OPENSSL_AARCH64 && !OPENSSL_STATIC_ARMCAP */
+ #endif // OPENSSL_AARCH64 && !OPENSSL_STATIC_ARMCAP
++
++#ifdef __FreeBSD__
++void OPENSSL_cpuid_setup(void) {
++}
++#endif
Modified: head/www/chromium/files/patch-third__party_zlib_BUILD.gn
==============================================================================
--- head/www/chromium/files/patch-third__party_zlib_BUILD.gn Thu Nov 29 16:55:34 2018 (r486197)
+++ head/www/chromium/files/patch-third__party_zlib_BUILD.gn Thu Nov 29 17:26:30 2018 (r486198)
@@ -1,5 +1,14 @@
---- third_party/zlib/BUILD.gn.orig 2018-06-13 00:11:08.000000000 +0200
-+++ third_party/zlib/BUILD.gn 2018-07-19 21:36:13.071700000 +0200
+--- third_party/zlib/BUILD.gn.orig 2018-08-08 21:11:58.000000000 +0200
++++ third_party/zlib/BUILD.gn 2018-09-12 01:00:34.445630000 +0200
+@@ -68,7 +68,7 @@
+ if (is_android) {
+ defines += [ "ARMV8_OS_ANDROID" ]
+ } else if (is_linux || is_chromeos) {
+- defines += [ "ARMV8_OS_LINUX" ]
++# defines += [ "ARMV8_OS_LINUX" ]
+ }
+ }
+ }
@@ -327,7 +327,7 @@
]
}
Added: head/www/chromium/files/patch-third__party_zlib_arm__features.c
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/www/chromium/files/patch-third__party_zlib_arm__features.c Thu Nov 29 17:26:30 2018 (r486198)
@@ -0,0 +1,29 @@
+--- third_party/zlib/arm_features.c.orig 2018-09-11 22:58:25 UTC
++++ third_party/zlib/arm_features.c
+@@ -16,12 +16,13 @@
+ #include <asm/hwcap.h>
+ #include <sys/auxv.h>
+ #else
+-#error ### No ARM CPU features detection in your platform/OS
++/* #error ### No ARM CPU features detection in your platform/OS */
+ #endif
+
+ int ZLIB_INTERNAL arm_cpu_enable_crc32 = 0;
+ int ZLIB_INTERNAL arm_cpu_enable_pmull = 0;
+
++#ifdef ARMV8_OS_LINUX
+ static pthread_once_t cpu_check_inited_once = PTHREAD_ONCE_INIT;
+
+ static void init_arm_features(void)
+@@ -53,8 +54,11 @@ static void init_arm_features(void)
+ if (capabilities & flag_pmull)
+ arm_cpu_enable_pmull = 1;
+ }
++#endif
+
+ void ZLIB_INTERNAL arm_check_features(void)
+ {
++#ifdef ARMV8_OS_LINUX
+ pthread_once(&cpu_check_inited_once, init_arm_features);
++#endif
+ }
Modified: head/www/chromium/pkg-plist
==============================================================================
--- head/www/chromium/pkg-plist Thu Nov 29 16:55:34 2018 (r486197)
+++ head/www/chromium/pkg-plist Thu Nov 29 17:26:30 2018 (r486198)
@@ -313,8 +313,8 @@ bin/chrome
%%DATADIR%%/resources/inspector/worker_app.js
%%DATADIR%%/resources/inspector/workspace_diff/workspace_diff_module.js
%%DATADIR%%/snapshot_blob.bin
-%%DATADIR%%/swiftshader/libEGL.so
-%%DATADIR%%/swiftshader/libGLESv2.so
+%%NOT_AARCH64%%%%DATADIR%%/swiftshader/libEGL.so
+%%NOT_AARCH64%%%%DATADIR%%/swiftshader/libGLESv2.so
%%DATADIR%%/v8_context_snapshot.bin
%%DATADIR%%/views_mus_resources.pak
%%DEBUG%%%%DATADIR%%/character_data_generator
More information about the svn-ports-head
mailing list