aboutsummaryrefslogtreecommitdiff
path: root/databases/galera26
diff options
context:
space:
mode:
authorMikael Urankar <mikael@FreeBSD.org>2020-11-09 15:59:42 +0000
committerMikael Urankar <mikael@FreeBSD.org>2020-11-09 15:59:42 +0000
commit7a6e9183c80f36238ee30cdee37808a2f99cbcb5 (patch)
tree1efa3c5677fc0d7be6d1a19300760d2b0c3ecdc9 /databases/galera26
parent528f8f72111437c448833cb1af491998dbfc09d8 (diff)
downloadports-7a6e9183c80f36238ee30cdee37808a2f99cbcb5.tar.gz
ports-7a6e9183c80f36238ee30cdee37808a2f99cbcb5.zip
Notes
Diffstat (limited to 'databases/galera26')
-rw-r--r--databases/galera26/Makefile3
-rw-r--r--databases/galera26/files/patch-galerautils_SConscript12
-rw-r--r--databases/galera26/files/patch-galerautils_src_gu__byteswap.h22
-rw-r--r--databases/galera26/files/patch-galerautils_src_gu__crc32c__arm64.c16
4 files changed, 50 insertions, 3 deletions
diff --git a/databases/galera26/Makefile b/databases/galera26/Makefile
index 0ace864dd7d1..7a5c2c84fb11 100644
--- a/databases/galera26/Makefile
+++ b/databases/galera26/Makefile
@@ -13,9 +13,6 @@ COMMENT= Synchronous multi-master replication engine
LICENSE= GPLv2
-BROKEN_aarch64= fails to compile: gu_int128.h: use of undeclared identifier '__bswap64_var'
-BROKEN_armv6= fails to compile: gu_int128.h: use of undeclared identifier '__bswap64_var'
-BROKEN_armv7= fails to compile: gu_int128.h: use of undeclared identifier '__bswap64_var'
NOT_FOR_ARCHS= i386
# On i386 older versions of clang produce:
# cannot compile this atomic library call yet ... __atomic_add_fetch
diff --git a/databases/galera26/files/patch-galerautils_SConscript b/databases/galera26/files/patch-galerautils_SConscript
new file mode 100644
index 000000000000..70e82cba8867
--- /dev/null
+++ b/databases/galera26/files/patch-galerautils_SConscript
@@ -0,0 +1,12 @@
+--- galerautils/SConscript.orig 2020-10-27 20:24:02 UTC
++++ galerautils/SConscript
+@@ -48,7 +48,9 @@ if not crc32c_no_hardware:
+
+ int main()
+ {
++ #if defined(__linux__)
+ (void)getauxval(AT_HWCAP);
++ #endif
+
+ (void)__crc32b(0, 0);
+ (void)__crc32h(0, 0);
diff --git a/databases/galera26/files/patch-galerautils_src_gu__byteswap.h b/databases/galera26/files/patch-galerautils_src_gu__byteswap.h
new file mode 100644
index 000000000000..42b5b5af8525
--- /dev/null
+++ b/databases/galera26/files/patch-galerautils_src_gu__byteswap.h
@@ -0,0 +1,22 @@
+--- galerautils/src/gu_byteswap.h.orig 2020-10-12 06:33:51 UTC
++++ galerautils/src/gu_byteswap.h
+@@ -54,10 +54,15 @@ static GU_FORCE_INLINE uint64_t GU_ROTL64 (uint64_t x,
+ # define gu_bswap32 _OSSwapInt32
+ # define gu_bswap64 _OSSwapInt64
+ #elif defined(__FreeBSD__)
+-/* do not use bswapXX, because gcc44 gives old-style cast warnings */
+-# define gu_bswap16 __bswap16_var
+-# define gu_bswap32 __bswap32_var
+-# define gu_bswap64 __bswap64_var
++# if defined(__aarch64__) || defined(__arm__)
++# define gu_bswap16 bswap16
++# define gu_bswap32 bswap32
++# define gu_bswap64 bswap64
++# else
++# define gu_bswap16 __bswap16_var
++# define gu_bswap32 __bswap32_var
++# define gu_bswap64 __bswap64_var
++# endif // __FreeBSD__
+ #elif defined(__sun__)
+ # define gu_bswap16 BSWAP_16
+ # define gu_bswap32 BSWAP_32
diff --git a/databases/galera26/files/patch-galerautils_src_gu__crc32c__arm64.c b/databases/galera26/files/patch-galerautils_src_gu__crc32c__arm64.c
new file mode 100644
index 000000000000..1f39bc6ba863
--- /dev/null
+++ b/databases/galera26/files/patch-galerautils_src_gu__crc32c__arm64.c
@@ -0,0 +1,16 @@
+--- galerautils/src/gu_crc32c_arm64.c.orig 2020-10-27 20:24:41 UTC
++++ galerautils/src/gu_crc32c_arm64.c
+@@ -74,7 +74,13 @@ gu_crc32c_arm64(gu_crc32c_t state, const void* data, s
+ gu_crc32c_func_t
+ gu_crc32c_hardware()
+ {
++#if defined(__linux__)
+ unsigned long int const hwcaps = getauxval(AT_HWCAP);
++#endif
++#if defined(__FreeBSD__)
++ unsigned long hwcaps;
++ elf_aux_info(AT_HWCAP, &hwcaps, sizeof(hwcaps));
++#endif
+ if (hwcaps & HWCAP_CRC32)
+ {
+ gu_info ("CRC-32C: using hardware acceleration.");