aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPiotr Kubaj <pkubaj@FreeBSD.org>2023-03-09 09:49:06 +0000
committerPiotr Kubaj <pkubaj@FreeBSD.org>2023-03-09 09:49:06 +0000
commite00aca7abcbeb0aecd2f47d75a03bcde7ce3aa2a (patch)
tree72a434183044b3c810899778335747e2bde97291
parent2f784ffe3b4c6f884d85d5ef2c9401f63213667c (diff)
downloadports-e00aca7abcbeb0aecd2f47d75a03bcde7ce3aa2a.tar.gz
ports-e00aca7abcbeb0aecd2f47d75a03bcde7ce3aa2a.zip
devel/convco: fix build on powerpc*
Same patches as for shells/starfish.
-rw-r--r--devel/convco/files/patch-cargo-crates_libz-ng-sys-1.1.8_src_zlib-ng_arch_power_chunkset__power8.c11
-rw-r--r--devel/convco/files/patch-cargo-crates_libz-ng-sys-1.1.8_src_zlib-ng_arch_power_power__features.c36
-rw-r--r--devel/convco/files/patch-cargo-crates_libz-ng-sys-1.1.8_src_zlib-ng_cmake_detect-intrinsics.cmake38
3 files changed, 85 insertions, 0 deletions
diff --git a/devel/convco/files/patch-cargo-crates_libz-ng-sys-1.1.8_src_zlib-ng_arch_power_chunkset__power8.c b/devel/convco/files/patch-cargo-crates_libz-ng-sys-1.1.8_src_zlib-ng_arch_power_chunkset__power8.c
new file mode 100644
index 000000000000..84846c87cd7c
--- /dev/null
+++ b/devel/convco/files/patch-cargo-crates_libz-ng-sys-1.1.8_src_zlib-ng_arch_power_chunkset__power8.c
@@ -0,0 +1,11 @@
+--- cargo-crates/libz-sys-1.1.8/src/zlib-ng/arch/power/chunkset_power8.c.orig 2022-12-29 16:08:43 UTC
++++ cargo-crates/libz-sys-1.1.8/src/zlib-ng/arch/power/chunkset_power8.c
+@@ -27,7 +27,7 @@ static inline void chunkmemset_4(uint8_t *from, chunk_
+ }
+
+ static inline void chunkmemset_8(uint8_t *from, chunk_t *chunk) {
+- uint64_t tmp;
++ unsigned long long tmp;
+ zmemcpy_8(&tmp, from);
+ *chunk = (vector unsigned char)vec_splats(tmp);
+ }
diff --git a/devel/convco/files/patch-cargo-crates_libz-ng-sys-1.1.8_src_zlib-ng_arch_power_power__features.c b/devel/convco/files/patch-cargo-crates_libz-ng-sys-1.1.8_src_zlib-ng_arch_power_power__features.c
new file mode 100644
index 000000000000..0fe62f5c33de
--- /dev/null
+++ b/devel/convco/files/patch-cargo-crates_libz-ng-sys-1.1.8_src_zlib-ng_arch_power_power__features.c
@@ -0,0 +1,36 @@
+--- cargo-crates/libz-sys-1.1.8/src/zlib-ng/arch/power/power_features.c.orig 1973-11-29 21:33:09 UTC
++++ cargo-crates/libz-sys-1.1.8/src/zlib-ng/arch/power/power_features.c
+@@ -7,6 +7,9 @@
+ #ifdef HAVE_SYS_AUXV_H
+ # include <sys/auxv.h>
+ #endif
++#ifdef __FreeBSD__
++#include <machine/cpu.h>
++#endif
+ #include "../../zbuild.h"
+ #include "power_features.h"
+
+@@ -17,7 +20,11 @@ Z_INTERNAL int power_cpu_has_arch_3_00 = 0;
+ void Z_INTERNAL power_check_features(void) {
+ #ifdef PPC_FEATURES
+ unsigned long hwcap;
++#ifdef __FreeBSD__
++ elf_aux_info(AT_HWCAP, &hwcap, sizeof(hwcap));
++#else
+ hwcap = getauxval(AT_HWCAP);
++#endif
+
+ if (hwcap & PPC_FEATURE_HAS_ALTIVEC)
+ power_cpu_has_altivec = 1;
+@@ -25,7 +32,11 @@ void Z_INTERNAL power_check_features(void) {
+
+ #ifdef POWER_FEATURES
+ unsigned long hwcap2;
++#ifdef __FreeBSD__
++ elf_aux_info(AT_HWCAP2, &hwcap2, sizeof(hwcap2));
++#else
+ hwcap2 = getauxval(AT_HWCAP2);
++#endif
+
+ if (hwcap2 & PPC_FEATURE2_ARCH_2_07)
+ power_cpu_has_arch_2_07 = 1;
diff --git a/devel/convco/files/patch-cargo-crates_libz-ng-sys-1.1.8_src_zlib-ng_cmake_detect-intrinsics.cmake b/devel/convco/files/patch-cargo-crates_libz-ng-sys-1.1.8_src_zlib-ng_cmake_detect-intrinsics.cmake
new file mode 100644
index 000000000000..56732bab61e9
--- /dev/null
+++ b/devel/convco/files/patch-cargo-crates_libz-ng-sys-1.1.8_src_zlib-ng_cmake_detect-intrinsics.cmake
@@ -0,0 +1,38 @@
+--- cargo-crates/libz-sys-1.1.8/src/zlib-ng/cmake/detect-intrinsics.cmake.orig 1973-11-29 21:33:09 UTC
++++ cargo-crates/libz-sys-1.1.8/src/zlib-ng/cmake/detect-intrinsics.cmake
+@@ -280,8 +280,17 @@ macro(check_ppc_intrinsics)
+ set(CMAKE_REQUIRED_FLAGS "${PPCFLAGS} ${NATIVEFLAG}")
+ check_c_source_compiles(
+ "#include <sys/auxv.h>
++ #ifdef __FreeBSD__
++ #include <machine/cpu.h>
++ #endif
+ int main() {
++ #ifdef __FreeBSD__
++ unsigned long hwcap;
++ elf_aux_info(AT_HWCAP, &hwcap, sizeof(hwcap));
++ return (hwcap & PPC_FEATURE_HAS_ALTIVEC);
++ #else
+ return (getauxval(AT_HWCAP) & PPC_FEATURE_HAS_ALTIVEC);
++ #endif
+ }"
+ HAVE_VMX
+ )
+@@ -298,8 +307,17 @@ macro(check_power8_intrinsics)
+ set(CMAKE_REQUIRED_FLAGS "${POWER8FLAG} ${NATIVEFLAG}")
+ check_c_source_compiles(
+ "#include <sys/auxv.h>
++ #ifdef __FreeBSD__
++ #include <machine/cpu.h>
++ #endif
+ int main() {
++ #ifdef __FreeBSD__
++ unsigned long hwcap;
++ elf_aux_info(AT_HWCAP2, &hwcap, sizeof(hwcap));
++ return (hwcap & PPC_FEATURE2_ARCH_2_07);
++ #else
+ return (getauxval(AT_HWCAP2) & PPC_FEATURE2_ARCH_2_07);
++ #endif
+ }"
+ HAVE_POWER8_INTRIN
+ )