[packages/netgen-mesher] - fix (32-bit) arm build, allow also i686
qboosh
qboosh at pld-linux.org
Tue Sep 22 20:26:37 CEST 2026
commit 2ad0d4caa06e131f14685c51eb3747049e53accd
Author: Jakub Bogusz <qboosh at pld-linux.org>
Date: Tue Sep 22 18:57:15 2026 +0200
- fix (32-bit) arm build, allow also i686
netgen-mesher-arch.patch | 48 ++++++++++++++++++++++++++++++++++++++++++++++++
netgen-mesher.spec | 4 +++-
2 files changed, 51 insertions(+), 1 deletion(-)
---
diff --git a/netgen-mesher.spec b/netgen-mesher.spec
index 735c810..fbe2012 100644
--- a/netgen-mesher.spec
+++ b/netgen-mesher.spec
@@ -32,6 +32,7 @@ Patch6: netgen_include-order.patch
# Fix invalid egg-info version
Patch7: %{name}_egg-info-version.patch
Patch8: std-namespace.patch
+Patch9: %{name}-arch.patch
URL: https://www.ngsolve.org/
BuildRequires: Mesa-libGLU-devel
BuildRequires: OpenCASCADE-devel
@@ -47,7 +48,7 @@ BuildRequires: tk-devel
BuildRequires: xorg-lib-libXmu-devel
Requires: %{name}-common = %{version}-%{release}
Requires: %{name}-libs = %{version}-%{release}
-ExclusiveArch: %{x8664}
+ExclusiveArch: %{x8664} %{arm} aarch64 i686 pentium2 pentium3 pentium4 athlon
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
# false negative _ZN6ngcore11TaskManager9thread_idE from libngcore
@@ -134,6 +135,7 @@ Development files for Netgen compiled against mpich.
%patch -P 6 -p1
%patch -P 7 -p1
%patch -P 8 -p1
+%patch -P 9 -p1
%build
mkdir -p build
diff --git a/netgen-mesher-arch.patch b/netgen-mesher-arch.patch
new file mode 100644
index 0000000..6facc34
--- /dev/null
+++ b/netgen-mesher-arch.patch
@@ -0,0 +1,48 @@
+--- netgen-6.2.2404/libsrc/core/table.hpp.orig 2024-06-12 20:10:06.000000000 +0200
++++ netgen-6.2.2404/libsrc/core/table.hpp 2026-09-19 21:17:18.232517429 +0200
+@@ -103,8 +103,10 @@ namespace ngcore
+ { return TablePrefixSum32 (FlatArray<unsigned> (entrysize.Size(), (unsigned int*)(int*)(entrysize.Addr(0)))); }
+ NETGEN_INLINE size_t * TablePrefixSum (FlatArray<std::atomic<int>> entrysize)
+ { return TablePrefixSum32 (FlatArray<unsigned> (entrysize.Size(), (unsigned int*)(std::atomic<int>*)entrysize.Addr(0))); }
++#ifdef __LP64__
+ NETGEN_INLINE size_t * TablePrefixSum (FlatArray<size_t> entrysize)
+ { return TablePrefixSum64 (entrysize); }
++#endif
+
+
+ /**
+--- netgen-6.2.2404/libsrc/core/utils.hpp.orig 2024-06-12 20:10:06.000000000 +0200
++++ netgen-6.2.2404/libsrc/core/utils.hpp 2026-09-19 21:18:32.285449583 +0200
+@@ -16,7 +16,7 @@
+ #include <mach/mach_time.h>
+ #endif
+
+-#ifdef NETGEN_ARCH_AMD64
++#if defined(NETGEN_ARCH_AMD64) || defined(__i686__)
+ #ifdef WIN32
+ #include <intrin.h> // for __rdtsc() CPU time step counter
+ #else
+@@ -65,7 +65,7 @@ namespace ngcore
+ {
+ #if defined(__APPLE__) && defined(NETGEN_ARCH_ARM64)
+ return mach_absolute_time();
+-#elif defined(NETGEN_ARCH_AMD64)
++#elif defined(NETGEN_ARCH_AMD64) || defined(__i686__)
+ return __rdtsc();
+ #elif defined(NETGEN_ARCH_ARM64) && defined(__GNUC__)
+ // __GNUC__ is also defined by CLANG. Use inline asm to read Generic Timer
+--- netgen-6.2.2404/libsrc/core/python_ngcore.hpp.orig 2024-06-12 20:10:06.000000000 +0200
++++ netgen-6.2.2404/libsrc/core/python_ngcore.hpp 2026-09-19 21:23:45.953750296 +0200
+@@ -182,10 +182,12 @@ namespace ngcore
+ static std::string GetName() { return "D"; }
+ };
+
++#ifdef __LP64__
+ template<>
+ struct PyNameTraits<size_t> {
+ static std::string GetName() { return "S"; }
+ };
++#endif
+
+ template<typename T>
+ struct PyNameTraits<std::shared_ptr<T>> {
================================================================
---- gitweb:
http://git.pld-linux.org/gitweb.cgi/packages/netgen-mesher.git/commitdiff/760cba5943e6bb4c69413181fc2b409b71773c93
More information about the pld-cvs-commit
mailing list