[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