diff --git a/.gitignore b/.gitignore index a7761a7..2d41628 100644 --- a/.gitignore +++ b/.gitignore @@ -77,3 +77,4 @@ /gmsh-4.13.2-source-fedora.tar.xz /gmsh-4.14.0-source-fedora.tar.xz /gmsh-4.14.1-source-fedora.tar.xz +/gmsh-4.15.0-source-fedora.tar.xz diff --git a/gmsh.spec b/gmsh.spec index 664da70..f1597f5 100644 --- a/gmsh.spec +++ b/gmsh.spec @@ -9,7 +9,7 @@ %endif %bcond_without mpich -%global sover 4.14 +%global sover 4.15 %if 0%{?fedora} >= 33 || 0%{?rhel} >= 9 %bcond_without flexiblas @@ -17,8 +17,8 @@ Name: gmsh Summary: A three-dimensional finite element mesh generator -Version: 4.14.1 -Release: 2%{?dist} +Version: 4.15.0 +Release: 1%{?dist} # MPI not available on i686 ExcludeArch: %{ix86} @@ -41,6 +41,8 @@ Patch2: gmsh_julia.patch Patch3: gmsh_install.patch # Unbundle gl2ps Patch4: gmsh_unbundle_gl2ps.patch +# Make gmm use superlu +Patch5: gmsh_gmm.patch BuildRequires: ann-devel %if %{with flexiblas} @@ -48,7 +50,6 @@ BuildRequires: flexiblas-devel %else BuildRequires: blas-devel, lapack-devel %endif -BuildRequires: eigen3-devel BuildRequires: cgnslib-devel BuildRequires: cmake BuildRequires: desktop-file-utils @@ -69,6 +70,7 @@ BuildRequires: netgen-mesher-devel-private BuildRequires: opencascade-devel BuildRequires: python3-devel BuildRequires: python3-setuptools +BuildRequires: SuperLU-devel BuildRequires: voro++-devel BuildRequires: zlib-devel BuildRequires: texinfo @@ -218,10 +220,12 @@ cp contrib/Netgen/nglib_gmsh.h contrib/Netgen/nglib_gmsh.cpp src/mesh # hxt: see contrib/hxt/CREDITS.txt # kbipack: Source not available on the net anymore # onelab: gmsh internal module +# WinslowUntangler: gmsh internal module (?) ( cd contrib; ls -1 | \ grep -v ^bamg$ | \ + grep -v ^blossom$ | \ grep -v ^DiscreteIntegration$ | \ grep -v ^MeshOptimizer$ | \ grep -v ^HighOrderMeshOptimizer$ | \ @@ -230,6 +234,7 @@ ls -1 | \ grep -v ^kbipack$ | \ grep -v ^onelab$ | \ grep -v ^tinyobjloader$ | \ + grep -v ^WinslowUntangler$ | \ xargs rm -rf ) @@ -244,18 +249,11 @@ gmsh_cmake_args="\ -DENABLE_BUILD_LIB=YES \ -DENABLE_BUILD_SHARED=YES \ -DENABLE_BUILD_DYNAMIC=YES \ - -DENABLE_MPEG_ENCODE=NO \ - -DENABLE_METIS=YES \ - -DENABLE_BLOSSOM=NO \ - -DENABLE_CGNS=YES \ - -DENABLE_MED=YES \ - -DENABLE_EIGEN=YES \ - -DEIGEN_INC=%{_includedir}/eigen3 \ - -DENABLE_OCC=YES" + -DENABLE_MPEG_ENCODE=NO" ### serial version ### %define _vpath_builddir %{_target_platform} -%cmake .. \ +%cmake \ -DENABLE_OPENMP=ON \ $gmsh_cmake_args @@ -266,7 +264,7 @@ gmsh_cmake_args="\ %{_openmpi_load} export CXX=mpicxx %define _vpath_builddir %{_target_platform}-openmpi -%cmake .. \ +%cmake \ -DENABLE_MPI=YES \ -DCMAKE_INSTALL_BINDIR=$MPI_BIN \ -DCMAKE_INSTALL_LIBDIR=$MPI_LIB \ @@ -282,7 +280,7 @@ export CXX=mpicxx %{_mpich_load} export CXX=mpicxx %define _vpath_builddir %{_target_platform}-mpich -%cmake .. \ +%cmake \ -DENABLE_MPI=YES \ -DCMAKE_INSTALL_BINDIR=$MPI_BIN \ -DCMAKE_INSTALL_LIBDIR=$MPI_LIB \ @@ -322,7 +320,7 @@ cp -a src/parser/Gmsh.* %{_target_platform}-mpich find %{buildroot} -type f -name libgmsh.a -exec rm -f {} \; # Install icon and .desktop file -convert -scale 128 utils/icons/gmsh.png icon_128x128.png +magick utils/icons/gmsh.png -scale 128 icon_128x128.png install -Dpm 0644 icon_128x128.png %{buildroot}%{_datadir}/icons/hicolor/128x128/apps/%{name}.png desktop-file-install --dir=%{buildroot}%{_datadir}/applications %{SOURCE1} @@ -402,6 +400,9 @@ rm -f %{buildroot}%{_defaultdocdir}/%{name}/LICENSE.txt %changelog +* Sun Oct 26 2025 Sandro Mani - 4.15.0-1 +- Update to 4.15.0 + * Fri Sep 19 2025 Python Maint - 4.14.1-2 - Rebuilt for Python 3.14.0rc3 bytecode diff --git a/gmsh_gmm.patch b/gmsh_gmm.patch new file mode 100644 index 0000000..271327e --- /dev/null +++ b/gmsh_gmm.patch @@ -0,0 +1,22 @@ +diff -rupN gmsh-4.15.0-source/CMakeLists.txt gmsh-4.15.0-source-new/CMakeLists.txt +--- gmsh-4.15.0-source/CMakeLists.txt 2025-11-16 12:12:00.997452631 +0100 ++++ gmsh-4.15.0-source-new/CMakeLists.txt 2025-11-16 13:18:32.590269286 +0100 +@@ -1271,6 +1271,18 @@ if(HAVE_SOLVER) + if(ENABLE_GMM) # use GMM/MUMPS interface + add_definitions(-DGMM_USES_MUMPS) + endif() ++ else() ++ if(ENABLE_GMM) # use GMM/MUMPS interface ++ add_definitions(-DGMM_USES_SUPERLU -DGMM_NO_SUPERLU_INCLUDE_SUBDIR) ++ find_path(SUPERLU_INC "slu_util.h" PATH_SUFFIXES SuperLU) ++ include_directories(${SUPERLU_INC}) ++ endif() ++ endif() ++ else() ++ if(ENABLE_GMM) # use GMM/MUMPS interface ++ add_definitions(-DGMM_USES_SUPERLU -DGMM_NO_SUPERLU_INCLUDE_SUBDIR) ++ find_path(SUPERLU_INC "slu_util.h" PATH_SUFFIXES SuperLU) ++ include_directories(${SUPERLU_INC}) + endif() + endif() + diff --git a/gmsh_install.patch b/gmsh_install.patch index cd3370c..5e02993 100644 --- a/gmsh_install.patch +++ b/gmsh_install.patch @@ -1,6 +1,6 @@ -diff -rupN --no-dereference gmsh-4.14.1-source/CMakeLists.txt gmsh-4.14.1-source-new/CMakeLists.txt ---- gmsh-4.14.1-source/CMakeLists.txt 2025-09-02 14:32:42.435707935 +0200 -+++ gmsh-4.14.1-source-new/CMakeLists.txt 2025-09-02 14:32:42.439022497 +0200 +diff -rupN --no-dereference gmsh-4.15.0-source/CMakeLists.txt gmsh-4.15.0-source-new/CMakeLists.txt +--- gmsh-4.15.0-source/CMakeLists.txt 2025-11-16 12:11:30.706154249 +0100 ++++ gmsh-4.15.0-source-new/CMakeLists.txt 2025-11-16 12:11:30.710717577 +0100 @@ -278,7 +278,7 @@ if(ENABLE_RPATH) # when building, don't use the install RPATH already (but later on when # installing) diff --git a/gmsh_julia.patch b/gmsh_julia.patch index 2b936f7..90c37cf 100644 --- a/gmsh_julia.patch +++ b/gmsh_julia.patch @@ -1,6 +1,6 @@ -diff -rupN --no-dereference gmsh-4.14.1-source/CMakeLists.txt gmsh-4.14.1-source-new/CMakeLists.txt ---- gmsh-4.14.1-source/CMakeLists.txt 2025-09-02 14:32:41.955321611 +0200 -+++ gmsh-4.14.1-source-new/CMakeLists.txt 2025-09-02 14:32:42.213216407 +0200 +diff -rupN --no-dereference gmsh-4.15.0-source/CMakeLists.txt gmsh-4.15.0-source-new/CMakeLists.txt +--- gmsh-4.15.0-source/CMakeLists.txt 2025-11-16 12:11:30.209672907 +0100 ++++ gmsh-4.15.0-source-new/CMakeLists.txt 2025-11-16 12:11:30.455854462 +0100 @@ -2041,7 +2041,7 @@ endif() if(ENABLE_BUILD_LIB OR ENABLE_BUILD_SHARED OR ENABLE_BUILD_DYNAMIC) install(FILES ${GMSH_API} DESTINATION ${GMSH_INC}) diff --git a/gmsh_med.patch b/gmsh_med.patch index 9390b3a..696ca1b 100644 --- a/gmsh_med.patch +++ b/gmsh_med.patch @@ -1,6 +1,6 @@ -diff -rupN --no-dereference gmsh-4.14.1-source/src/common/CommandLine.cpp gmsh-4.14.1-source-new/src/common/CommandLine.cpp ---- gmsh-4.14.1-source/src/common/CommandLine.cpp 2025-07-24 12:35:20.000000000 +0200 -+++ gmsh-4.14.1-source-new/src/common/CommandLine.cpp 2025-09-02 14:32:41.960203688 +0200 +diff -rupN --no-dereference gmsh-4.15.0-source/src/common/CommandLine.cpp gmsh-4.15.0-source-new/src/common/CommandLine.cpp +--- gmsh-4.15.0-source/src/common/CommandLine.cpp 2025-10-01 16:39:02.000000000 +0200 ++++ gmsh-4.15.0-source-new/src/common/CommandLine.cpp 2025-11-16 12:11:30.214030834 +0100 @@ -42,7 +42,7 @@ #endif @@ -10,10 +10,10 @@ diff -rupN --no-dereference gmsh-4.14.1-source/src/common/CommandLine.cpp gmsh-4 #endif #if defined(HAVE_POST) -diff -rupN --no-dereference gmsh-4.14.1-source/src/fltk/helpWindow.cpp gmsh-4.14.1-source-new/src/fltk/helpWindow.cpp ---- gmsh-4.14.1-source/src/fltk/helpWindow.cpp 2025-09-02 11:38:17.000000000 +0200 -+++ gmsh-4.14.1-source-new/src/fltk/helpWindow.cpp 2025-09-02 14:32:41.960660399 +0200 -@@ -36,7 +36,7 @@ +diff -rupN --no-dereference gmsh-4.15.0-source/src/fltk/helpWindow.cpp gmsh-4.15.0-source-new/src/fltk/helpWindow.cpp +--- gmsh-4.15.0-source/src/fltk/helpWindow.cpp 2025-10-01 16:39:02.000000000 +0200 ++++ gmsh-4.15.0-source-new/src/fltk/helpWindow.cpp 2025-11-16 12:11:30.214367145 +0100 +@@ -37,7 +37,7 @@ #endif #if defined(HAVE_MED) @@ -22,9 +22,9 @@ diff -rupN --no-dereference gmsh-4.14.1-source/src/fltk/helpWindow.cpp gmsh-4.14 #endif static const char *help_link(Fl_Widget *w, const char *uri) -diff -rupN --no-dereference gmsh-4.14.1-source/src/geo/GModelIO_MED.cpp gmsh-4.14.1-source-new/src/geo/GModelIO_MED.cpp ---- gmsh-4.14.1-source/src/geo/GModelIO_MED.cpp 2025-07-24 12:35:20.000000000 +0200 -+++ gmsh-4.14.1-source-new/src/geo/GModelIO_MED.cpp 2025-09-02 14:32:41.960938701 +0200 +diff -rupN --no-dereference gmsh-4.15.0-source/src/geo/GModelIO_MED.cpp gmsh-4.15.0-source-new/src/geo/GModelIO_MED.cpp +--- gmsh-4.15.0-source/src/geo/GModelIO_MED.cpp 2025-10-01 16:39:02.000000000 +0200 ++++ gmsh-4.15.0-source-new/src/geo/GModelIO_MED.cpp 2025-11-16 12:11:30.214658519 +0100 @@ -26,7 +26,7 @@ #include "discreteVertex.h" #include "Context.h" @@ -34,9 +34,9 @@ diff -rupN --no-dereference gmsh-4.14.1-source/src/geo/GModelIO_MED.cpp gmsh-4.1 #if(MED_MAJOR_NUM >= 3) // To avoid too many ifdefs below we use defines for the bits of the -diff -rupN --no-dereference gmsh-4.14.1-source/src/post/PViewDataGModelIO_MED.cpp gmsh-4.14.1-source-new/src/post/PViewDataGModelIO_MED.cpp ---- gmsh-4.14.1-source/src/post/PViewDataGModelIO_MED.cpp 2025-07-24 12:35:21.000000000 +0200 -+++ gmsh-4.14.1-source-new/src/post/PViewDataGModelIO_MED.cpp 2025-09-02 14:32:41.961256864 +0200 +diff -rupN --no-dereference gmsh-4.15.0-source/src/post/PViewDataGModelIO_MED.cpp gmsh-4.15.0-source-new/src/post/PViewDataGModelIO_MED.cpp +--- gmsh-4.15.0-source/src/post/PViewDataGModelIO_MED.cpp 2025-10-01 16:39:03.000000000 +0200 ++++ gmsh-4.15.0-source-new/src/post/PViewDataGModelIO_MED.cpp 2025-11-16 12:11:30.214886156 +0100 @@ -11,7 +11,7 @@ #if defined(HAVE_MED) diff --git a/gmsh_python.patch b/gmsh_python.patch index 06dcb3a..75cfbb1 100644 --- a/gmsh_python.patch +++ b/gmsh_python.patch @@ -1,6 +1,6 @@ -diff -rupN --no-dereference gmsh-4.14.1-source/CMakeLists.txt gmsh-4.14.1-source-new/CMakeLists.txt ---- gmsh-4.14.1-source/CMakeLists.txt 2025-08-30 13:14:13.000000000 +0200 -+++ gmsh-4.14.1-source-new/CMakeLists.txt 2025-09-02 14:32:41.711919812 +0200 +diff -rupN --no-dereference gmsh-4.15.0-source/CMakeLists.txt gmsh-4.15.0-source-new/CMakeLists.txt +--- gmsh-4.15.0-source/CMakeLists.txt 2025-10-25 17:09:26.000000000 +0200 ++++ gmsh-4.15.0-source-new/CMakeLists.txt 2025-11-16 12:11:29.982761471 +0100 @@ -2001,6 +2001,8 @@ else() set(GMSH_INC ${CMAKE_INSTALL_INCLUDEDIR}) endif() @@ -28,9 +28,9 @@ diff -rupN --no-dereference gmsh-4.14.1-source/CMakeLists.txt gmsh-4.14.1-source if(ENABLE_PRIVATE_API) install(FILES ${GMSH_PRIVATE_API} DESTINATION ${GMSH_INC}/gmsh) if(HAVE_CONTRIB_EIGEN) # the private API depends on Eigen -diff -rupN --no-dereference gmsh-4.14.1-source/src/common/GmshMessage.cpp gmsh-4.14.1-source-new/src/common/GmshMessage.cpp ---- gmsh-4.14.1-source/src/common/GmshMessage.cpp 2025-08-19 12:22:31.000000000 +0200 -+++ gmsh-4.14.1-source-new/src/common/GmshMessage.cpp 2025-09-02 14:32:41.712447178 +0200 +diff -rupN --no-dereference gmsh-4.15.0-source/src/common/GmshMessage.cpp gmsh-4.15.0-source-new/src/common/GmshMessage.cpp +--- gmsh-4.15.0-source/src/common/GmshMessage.cpp 2025-10-01 16:39:02.000000000 +0200 ++++ gmsh-4.15.0-source-new/src/common/GmshMessage.cpp 2025-11-16 12:11:29.983375719 +0100 @@ -177,14 +177,6 @@ void Msg::Initialize(int argc, char **ar if(CTX::instance()->exeFileName.empty() && _commandLineArgs.size()) CTX::instance()->exeFileName = _commandLineArgs[0]; diff --git a/gmsh_unbundle_gl2ps.patch b/gmsh_unbundle_gl2ps.patch index 1c7a5c1..0c0047d 100644 --- a/gmsh_unbundle_gl2ps.patch +++ b/gmsh_unbundle_gl2ps.patch @@ -1,6 +1,6 @@ -diff -rupN --no-dereference gmsh-4.14.1-source/CMakeLists.txt gmsh-4.14.1-source-new/CMakeLists.txt ---- gmsh-4.14.1-source/CMakeLists.txt 2025-09-02 14:32:42.662049508 +0200 -+++ gmsh-4.14.1-source-new/CMakeLists.txt 2025-09-02 14:32:42.665923375 +0200 +diff -rupN --no-dereference gmsh-4.15.0-source/CMakeLists.txt gmsh-4.15.0-source-new/CMakeLists.txt +--- gmsh-4.15.0-source/CMakeLists.txt 2025-11-16 12:11:30.943987998 +0100 ++++ gmsh-4.15.0-source-new/CMakeLists.txt 2025-11-16 12:11:30.948218140 +0100 @@ -1728,6 +1728,8 @@ if(NOT ENABLE_BUILD_DYNAMIC AND NOT ENAB endif() endif() @@ -10,9 +10,9 @@ diff -rupN --no-dereference gmsh-4.14.1-source/CMakeLists.txt gmsh-4.14.1-source # Linux-specific linker options if(${CMAKE_SYSTEM_NAME} MATCHES "Linux") if(HAVE_OCC) -diff -rupN --no-dereference gmsh-4.14.1-source/src/graphics/CMakeLists.txt gmsh-4.14.1-source-new/src/graphics/CMakeLists.txt ---- gmsh-4.14.1-source/src/graphics/CMakeLists.txt 2025-07-24 12:35:21.000000000 +0200 -+++ gmsh-4.14.1-source-new/src/graphics/CMakeLists.txt 2025-09-02 14:32:42.666317929 +0200 +diff -rupN --no-dereference gmsh-4.15.0-source/src/graphics/CMakeLists.txt gmsh-4.15.0-source-new/src/graphics/CMakeLists.txt +--- gmsh-4.15.0-source/src/graphics/CMakeLists.txt 2025-10-01 16:39:02.000000000 +0200 ++++ gmsh-4.15.0-source-new/src/graphics/CMakeLists.txt 2025-11-16 12:11:30.948782419 +0100 @@ -15,7 +15,6 @@ set(SRC drawScales.cpp drawGraph2d.cpp diff --git a/sources b/sources index b2ba876..753782a 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (gmsh-4.14.1-source-fedora.tar.xz) = a7f8697af921f8739aa69158581c064c7209daf58c2a48f30950b449edc3cf7c4453a665ab698f10c57211c2baec96544dbc56aee4ac62b8dde1629297b65ce6 +SHA512 (gmsh-4.15.0-source-fedora.tar.xz) = eac4f6e8cd342ec07e1a83cae966d81716e1d158398ed930c82322b61785f8ab38c84ec07efc91f7be523d872e3331e1a64ce81b20a8c899a82107fab9834add