diff --git a/.gitignore b/.gitignore index e48ad47..2d41628 100644 --- a/.gitignore +++ b/.gitignore @@ -21,3 +21,60 @@ /gmsh-3.0.4-source-fedora.tar.xz /gmsh-3.0.5-source-fedora.tar.xz /gmsh-3.0.6-source-fedora.tar.xz +/gmsh-4.0.0-source-fedora.tar.xz +/gmsh-4.0.1-source-fedora.tar.xz +/gmsh-4.0.2-source-fedora.tar.xz +/gmsh-4.0.4-source-fedora.tar.xz +/gmsh-4.0.5-source-fedora.tar.xz +/gmsh-4.0.6-source-fedora.tar.xz +/gmsh-4.0.7-source-fedora.tar.xz +/gmsh-4.1.0-source-fedora.tar.xz +/gmsh-4.1.1-source-fedora.tar.xz +/gmsh-4.1.2-source-fedora.tar.xz +/gmsh-4.1.3-source-fedora.tar.xz +/gmsh-4.1.4-source-fedora.tar.xz +/gmsh-4.1.5-source-fedora.tar.xz +/gmsh-4.2.0-source-fedora.tar.xz +/gmsh-4.2.1-source-fedora.tar.xz +/gmsh-4.2.2-source-fedora.tar.xz +/gmsh-4.2.3-source-fedora.tar.xz +/gmsh-4.3.0-source-fedora.tar.xz +/gmsh-4.4.0-source-fedora.tar.xz +/gmsh-4.4.1-source-fedora.tar.xz +/gmsh-4.5.1-source-fedora.tar.xz +/gmsh-4.5.2-source-fedora.tar.xz +/gmsh-4.5.3-source-fedora.tar.xz +/gmsh-4.5.4-source-fedora.tar.xz +/gmsh-4.5.5-source-fedora.tar.xz +/gmsh-4.5.6-source-fedora.tar.xz +/gmsh-4.6.0-source-fedora.tar.xz +/gmsh-4.7.0-source-fedora.tar.xz +/gmsh-4.7.1-source-fedora.tar.xz +/gmsh-4.8.0-source-fedora.tar.xz +/gmsh-4.8.1-source-fedora.tar.xz +/gmsh-4.8.2-source-fedora.tar.xz +/gmsh-4.8.3-source-fedora.tar.xz +/gmsh-4.8.4-source-fedora.tar.xz +/gmsh-4.9.0-source-fedora.tar.xz +/gmsh-4.9.1-source-fedora.tar.xz +/gmsh-4.9.2-source-fedora.tar.xz +/gmsh-4.9.3-source-fedora.tar.xz +/gmsh-4.9.4-source-fedora.tar.xz +/gmsh-4.9.5-source-fedora.tar.xz +/gmsh-4.10.0-source-fedora.tar.xz +/gmsh-4.10.1-source-fedora.tar.xz +/gmsh-4.10.2-source-fedora.tar.xz +/gmsh-4.10.3-source-fedora.tar.xz +/gmsh-4.10.4-source-fedora.tar.xz +/gmsh-4.10.5-source-fedora.tar.xz +/gmsh-4.11.0-source-fedora.tar.xz +/gmsh-4.11.1-source-fedora.tar.xz +/gmsh-4.12.0-source-fedora.tar.xz +/gmsh-4.12.1-source-fedora.tar.xz +/gmsh-4.12.2-source-fedora.tar.xz +/gmsh-4.13.0-source-fedora.tar.xz +/gmsh-4.13.1-source-fedora.tar.xz +/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/fedoratarball.sh b/fedoratarball.sh new file mode 100755 index 0000000..b42d209 --- /dev/null +++ b/fedoratarball.sh @@ -0,0 +1,20 @@ +#!/bin/sh + +ver=`grep Version: gmsh.spec | awk -F " " '{print $2}'` + +echo "This will download and rearchive gmsh version $ver" +read -p "Press any key to Continue..." + +TMPDIR=`mktemp -d /tmp/gmsh.XXXXXX` +pushd "$TMPDIR" + +curl -LO http://geuz.org/gmsh/src/gmsh-$ver-source.tgz +tar xf gmsh-$ver-source.tgz + +rm -rf contrib/blossom contrib/mpeg_encode + +tar cfJ gmsh-$ver-source-fedora.tar.xz gmsh-$ver-source + +popd + +mv $TMPDIR/gmsh-$ver-source-fedora.tar.xz . diff --git a/gmsh.spec b/gmsh.spec index a253a67..f1597f5 100644 --- a/gmsh.spec +++ b/gmsh.spec @@ -1,34 +1,55 @@ +%if 0%{?fedora} >= 40 +%ifarch %{ix86} +%bcond_with openmpi +%else +%bcond_without openmpi +%endif +%else +%bcond_without openmpi +%endif +%bcond_without mpich + +%global sover 4.15 + +%if 0%{?fedora} >= 33 || 0%{?rhel} >= 9 +%bcond_without flexiblas +%endif + Name: gmsh Summary: A three-dimensional finite element mesh generator -Version: 3.0.6 -Release: 6%{?dist} +Version: 4.15.0 +Release: 1%{?dist} +# MPI not available on i686 +ExcludeArch: %{ix86} -License: GPLv2+ +# gmsh is GPL-2.0-or-later WITH Gmsh-exception, see LICENSE.txt +# contrib/{DiscreteIntegration, HighOrderMeshOptimizer, MeshOptimizer, onelab} are MIT, see respective README.txt +License: GPL-2.0-or-later WITH Gmsh-exception AND MIT URL: http://geuz.org/gmsh/ # Download source from http://geuz.org/gmsh/src/%%{name}-%%{version}-source.tgz # Delete contrib/blossom and contrib/mpeg_encode from source archive Source0: %{name}-%{version}-source-fedora.tar.xz Source1: %{name}.desktop -# Unbundle most of the bundled libraries, see comments in %%prep -Patch0: gmsh_unbundle.patch -# Fix include paths for alglib headers -Patch1: gmsh_alglib.patch -# Port to newer tetgen -Patch2: gmsh_tetgen.patch -# Installation paths fixup, allow setting them from command line for MPI compilation -Patch3: gmsh_install-dirs.patch -# Fix macro collision with symbol by re-ordering includes -# Fix header in extern C block which causes conflicting declarations -Patch4: gmsh_build.patch -# Use c++14 (needed by netgen component) -Patch5: gmsh_c++14.patch +# Install onelab.py and gmsh.py into the python site-packages directory +Patch0: gmsh_python.patch # Adapt med.h include path -Patch6: gmsh_med.patch +Patch1: gmsh_med.patch +# Install Julia API to share/gmsh +Patch2: gmsh_julia.patch +# Remove odd install of gmsh shared library +Patch3: gmsh_install.patch +# Unbundle gl2ps +Patch4: gmsh_unbundle_gl2ps.patch +# Make gmm use superlu +Patch5: gmsh_gmm.patch -BuildRequires: alglib-devel BuildRequires: ann-devel -BuildRequires: blas-devel +%if %{with flexiblas} +BuildRequires: flexiblas-devel +%else +BuildRequires: blas-devel, lapack-devel +%endif BuildRequires: cgnslib-devel BuildRequires: cmake BuildRequires: desktop-file-utils @@ -38,23 +59,26 @@ BuildRequires: gcc-gfortran BuildRequires: gmm-devel BuildRequires: gmp-devel BuildRequires: hdf5-devel -BuildRequires: lapack-devel BuildRequires: libjpeg-turbo-devel BuildRequires: liblbfgs-devel BuildRequires: libpng-devel -BuildRequires: make BuildRequires: mathex-devel BuildRequires: med-devel BuildRequires: mesa-libGLU-devel -# BuildRequires: metis-devel -BuildRequires: mmg3d-devel +BuildRequires: metis-devel BuildRequires: netgen-mesher-devel-private -BuildRequires: OCE-devel +BuildRequires: opencascade-devel BuildRequires: python3-devel -BuildRequires: swig -BuildRequires: tetgen-devel +BuildRequires: python3-setuptools +BuildRequires: SuperLU-devel BuildRequires: voro++-devel BuildRequires: zlib-devel +BuildRequires: texinfo +# For transforming icon +BuildRequires: ImageMagick + +Provides: bundled(netgen-mesher) = svn469 + Requires: %{name}-common = %{version}-%{release} @@ -87,16 +111,22 @@ the base %{name} package and are used for development only. %package -n python3-%{name} -Summary: Python3 wrapper for %{name} +Summary: Python3 API for %{name} %{?python_provide:%python_provide python3-%{name}} +Obsoletes: python3-%{name}-private + +BuildArch: noarch + +Requires: %{name}-libs = %{version}-%{release} %description -n python3-%{name} -Python3 wrapper for %{name}. +Python3 API for %{name}. %package devel Summary: Development with %{name} Requires: %{name}-libs%{?_isa} = %{version}-%{release} +Obsoletes: %{name}-devel-private %description devel Header files for development with %{name}. @@ -112,6 +142,7 @@ Documentation, demo projects and tutorials for %{name}. ############################################################################### +%if %{with openmpi} %package openmpi Summary: %{name} compiled against openmpi BuildRequires: openmpi-devel @@ -123,23 +154,28 @@ Requires: %{name}-openmpi-libs%{?_isa} = %{version}-%{release} %description openmpi %{name} compiled against openmpi. + %package openmpi-libs Summary: %{name} libraries compiled against openmpi %description openmpi-libs %{name} libraries compiled against openmpi. + %package openmpi-devel Summary: Development files for %{name} compiled against openmpi # Require explicitly for dir ownership Requires: openmpi-devel Requires: %{name}-openmpi%{?_isa} = %{version}-%{release} +Obsoletes: %{name}-openmpi-devel-private %description openmpi-devel Development files for %{name} compiled against openmpi. +%endif ############################################################################### +%if %{with mpich} %package mpich Summary: %{name} compiled against mpich BuildRequires: mpich-devel @@ -151,168 +187,147 @@ Requires: %{name}-mpich-libs%{?_isa} = %{version}-%{release} %description mpich %{name} compiled against mpich. + %package mpich-libs Summary: %{name} libraries compiled against mpich %description mpich-libs %{name} libraries compiled against mpich. + %package mpich-devel Summary: Development files for %{name} compiled against mpich # Require explicitly for dir ownership Requires: mpich-devel Requires: %{name}-mpich%{?_isa} = %{version}-%{release} +Obsoletes: %{name}-mpich-devel-private %description mpich-devel Development files for %{name} compiled against mpich. +%endif ############################################################################### %prep %autosetup -p1 -n %{name}-%{version}-source -# Copy these outside the contrib folder (Patch takes care of including these in the build) -cp contrib/Netgen/nglib_gmsh.h contrib/Netgen/nglib_gmsh.cpp Mesh +# Copy these outside the contrib folder +cp contrib/Netgen/nglib_gmsh.h contrib/Netgen/nglib_gmsh.cpp src/mesh # Bamg: part of freefem++, modified source code -# Chaco: http://www.cs.sandia.gov/~bahendr/chaco.html - no fedora package, modified source code, see contrib/Chaco/README.txt # DiscreteIntegration: gmsh internal module # HighOrderMeshOptimizer: gmsh internal module +# hxt: see contrib/hxt/CREDITS.txt # kbipack: Source not available on the net anymore # onelab: gmsh internal module -# rtree: single header file from http://superliminal.com/sources/sources.htm -ls -1 contrib | \ +# WinslowUntangler: gmsh internal module (?) +( +cd contrib; +ls -1 | \ grep -v ^bamg$ | \ - grep -v ^Chaco$ | \ + grep -v ^blossom$ | \ grep -v ^DiscreteIntegration$ | \ + grep -v ^MeshOptimizer$ | \ grep -v ^HighOrderMeshOptimizer$ | \ + grep -v ^QuadTri$ | \ + grep -v ^hxt$ | \ grep -v ^kbipack$ | \ grep -v ^onelab$ | \ - grep -v ^rtree$ | \ -rm -rf - -# Convert to utf-8 -for file in tutorial/t12.geo; do - iconv -f ISO-8859-1 -t UTF-8 -o $file.new $file && \ - touch -r $file $file.new && \ - mv $file.new $file -done + grep -v ^tinyobjloader$ | \ + grep -v ^WinslowUntangler$ | \ +xargs rm -rf +) %build # mpeg not in fedora due to patent issues -# gmsh only supports metis 4 # blossoms is nonfree, see contrib/blossoms/README.txt gmsh_cmake_args="\ + %{?with_flexiblas:-DBLA_VENDOR=FlexiBLAS} \ + -DENABLE_SYSTEM_CONTRIB=YES \ -DENABLE_BUILD_LIB=YES \ -DENABLE_BUILD_SHARED=YES \ -DENABLE_BUILD_DYNAMIC=YES \ - -DENABLE_MPEG_ENCODE=NO \ - -DENABLE_METIS=NO \ - -DENABLE_BLOSSOM=NO \ - -DENABLE_CGNS=YES \ - -DENABLE_MED=YES \ - -DENABLE_OCC=YES" + -DENABLE_MPEG_ENCODE=NO" ### serial version ### -mkdir build-serial -pushd build-serial -LDFLAGS="%{__global_ldflags} -Wl,--as-needed" %cmake .. \ - -DENABLE_WRAP_PYTHON=ON \ +%define _vpath_builddir %{_target_platform} +%cmake \ + -DENABLE_OPENMP=ON \ $gmsh_cmake_args -make %{?_smp_mflags} -popd +%cmake_build ### openmpi version ### +%if %{with openmpi} %{_openmpi_load} export CXX=mpicxx -mkdir build-openmpi -pushd build-openmpi -LDFLAGS="%{__global_ldflags} -Wl,--as-needed" %cmake .. \ +%define _vpath_builddir %{_target_platform}-openmpi +%cmake \ -DENABLE_MPI=YES \ - -DGMSH_BIN=$MPI_BIN \ - -DGMSH_LIB=$MPI_LIB \ - -DGMSH_INCLUDE=$MPI_INCLUDE \ + -DCMAKE_INSTALL_BINDIR=$MPI_BIN \ + -DCMAKE_INSTALL_LIBDIR=$MPI_LIB \ + -DCMAKE_INSTALL_INCLUDEDIR=$MPI_INCLUDE \ $gmsh_cmake_args -make %{?_smp_mflags} -popd +%cmake_build %{_openmpi_unload} +%endif ### mpich version ### +%if %{with mpich} %{_mpich_load} export CXX=mpicxx -mkdir build-mpich -pushd build-mpich -LDFLAGS="%{__global_ldflags} -Wl,--as-needed" %cmake .. \ +%define _vpath_builddir %{_target_platform}-mpich +%cmake \ -DENABLE_MPI=YES \ - -DGMSH_BIN=$MPI_BIN \ - -DGMSH_LIB=$MPI_LIB \ - -DGMSH_INCLUDE=$MPI_INCLUDE \ + -DCMAKE_INSTALL_BINDIR=$MPI_BIN \ + -DCMAKE_INSTALL_LIBDIR=$MPI_LIB \ + -DCMAKE_INSTALL_INCLUDEDIR=$MPI_INCLUDE \ $gmsh_cmake_args -make %{?_smp_mflags} -popd +%cmake_build %{_mpich_unload} +%endif +# Built html documentation +%cmake_build --target html # Fix to create correct debuginfo -cp -a Parser/Gmsh.* build-serial -cp -a Parser/Gmsh.* build-openmpi -cp -a Parser/Gmsh.* build-mpich +cp -a src/parser/Gmsh.* %{_target_platform} +%if %{with openmpi} +cp -a src/parser/Gmsh.* %{_target_platform}-openmpi +%endif +%if %{with mpich} +cp -a src/parser/Gmsh.* %{_target_platform}-mpich +%endif %install -%make_install -C build-openmpi -%make_install -C build-mpich -%make_install -C build-serial +%if %{with openmpi} +%define _vpath_builddir %{_target_platform}-openmpi +%cmake_install +%endif +%if %{with mpich} +%define _vpath_builddir %{_target_platform}-mpich +%cmake_install +%endif +%define _vpath_builddir %{_target_platform} +%cmake_install # Remove static libraries -find %{buildroot} -type f -name libGmsh.a -exec rm -f {} \; +find %{buildroot} -type f -name libgmsh.a -exec rm -f {} \; # Install icon and .desktop file -install -Dpm 0644 utils/icons/solid_128x128.png %{buildroot}%{_datadir}/icons/hicolor/128x128/apps/%{name}.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} -# Add API demo to documentation -install -Dpm 0644 utils/api_demos/mainSimple.cpp %{buildroot}%{_defaultdocdir}/%{name}/api/mainSimple.cpp - # Install License.txt via %%license rm -f %{buildroot}%{_defaultdocdir}/%{name}/LICENSE.txt -%post common -/usr/bin/update-desktop-database &> /dev/null || : -/bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null || : - -%postun common -/usr/bin/update-desktop-database &> /dev/null || : -if [ $1 -eq 0 ] ; then - /bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null - /usr/bin/gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : -fi - -%posttrans common -/usr/bin/gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : - - -%post libs -p /sbin/ldconfig - -%postun libs -p /sbin/ldconfig - - -%post openmpi-libs -p /sbin/ldconfig - -%postun openmpi-libs -p /sbin/ldconfig - - -%post mpich-libs -p /sbin/ldconfig - -%postun mpich-libs -p /sbin/ldconfig - - %files common %doc %{_defaultdocdir}/%{name}/CREDITS.txt %doc %{_defaultdocdir}/%{name}/README.txt @@ -321,54 +336,433 @@ fi %{_mandir}/man1/gmsh.1.gz %{_datadir}/icons/hicolor/128x128/apps/%{name}.png %{_datadir}/applications/%{name}.desktop +%{_datadir}/%{name}/ %{python3_sitelib}/onelab.py %{python3_sitelib}/__pycache__/onelab.* %files doc %license LICENSE.txt -%doc %{_defaultdocdir}/%{name}/tutorial -%doc %{_defaultdocdir}/%{name}/demos -%doc %{_defaultdocdir}/%{name}/api +%doc %{_defaultdocdir}/%{name}/tutorials +%doc %{_defaultdocdir}/%{name}/examples +%doc %{_defaultdocdir}/%{name}/%{name}.html +%doc %{_defaultdocdir}/%{name}/images/ %files %{_bindir}/%{name} %files devel -%{_includedir}/%{name}/ -%{_libdir}/libGmsh.so +%{_includedir}/gmsh.h +%{_includedir}/gmshc.h +%{_includedir}/gmsh.h_cwrap +%{_includedir}/gmsh.f90 +%{_libdir}/libgmsh.so %files libs %license LICENSE.txt -%{_libdir}/libGmsh.so.3.0* +%{_libdir}/libgmsh.so.%{sover}* %files -n python3-%{name} -%{python3_sitearch}/gmshpy/ +%{python3_sitelib}/gmsh.py +%{python3_sitelib}/__pycache__/gmsh.*.pyc +%{python3_sitelib}/gmsh-%{version}*.dist-info/ +%if %{with openmpi} %files openmpi %{_libdir}/openmpi/bin/%{name} %files openmpi-devel -%{_includedir}/openmpi*/%{name}/ -%{_libdir}/openmpi/lib/libGmsh.so +%{_includedir}/openmpi*/gmsh.h +%{_includedir}/openmpi*/gmshc.h +%{_includedir}/openmpi*/gmsh.h_cwrap +%{_includedir}/openmpi*/gmsh.f90 +%{_libdir}/openmpi/lib/libgmsh.so %files openmpi-libs %license LICENSE.txt -%{_libdir}/openmpi/lib/libGmsh.so.3.0* +%{_libdir}/openmpi/lib/libgmsh.so.%{sover}* +%endif +%if %{with mpich} %files mpich %{_libdir}/mpich/bin/%{name} %files mpich-devel -%{_includedir}/mpich*/%{name}/ - -%{_libdir}/mpich/lib/libGmsh.so +%{_includedir}/mpich*/gmsh.h +%{_includedir}/mpich*/gmshc.h +%{_includedir}/mpich*/gmsh.h_cwrap +%{_includedir}/mpich*/gmsh.f90 +%{_libdir}/mpich/lib/libgmsh.so %files mpich-libs %license LICENSE.txt -%{_libdir}/mpich/lib/libGmsh.so.3.0* +%{_libdir}/mpich/lib/libgmsh.so.%{sover}* +%endif %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 + +* Tue Sep 02 2025 Sandro Mani - 4.14.1-1 +- Update to 4.14.1 + +* Fri Aug 15 2025 Python Maint - 4.14.0-4 +- Rebuilt for Python 3.14.0rc2 bytecode + +* Wed Jul 23 2025 Fedora Release Engineering - 4.14.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + +* Thu Jul 17 2025 Sandro Mani - 4.14.0-2 +- Use %%cmake_build instead of make + +* Fri Jul 04 2025 Sandro Mani - 4.14.0-1 +- Update to 4.14.0 + +* Wed Jun 04 2025 Python Maint - 4.13.2-12 +- Rebuilt for Python 3.14 + +* Thu May 29 2025 Richard Shaw - 4.13.2-11 +- Rebuild for opencascade 7.9.1. + +* Wed May 28 2025 Richard Shaw - 4.13.2-10 +- Rebuild for opencascade 7.9.1. + +* Sat May 24 2025 Sandro Mani - 4.13.2-9 +- Add fix for GCC15 build failure + +* Mon Feb 3 2025 Jaroslav Škarvada - 4.13.2-8 +- Rebuild for tcl/tk + +* Tue Jan 28 2025 Sandro Mani - 4.13.2-7 +- Rebuild (cgnslib) + +* Fri Jan 24 2025 Sandro Mani - 4.13.2-6 +- Rebuild (cgnslib) + +* Thu Jan 16 2025 Fedora Release Engineering - 4.13.2-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + +* Fri Oct 25 2024 Orion Poplawski - 4.13.2-4 +- Rebuild for hdf5 1.14.5 + +* Thu Jul 18 2024 Fedora Release Engineering - 4.13.2-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + +* Sun Jun 09 2024 Python Maint - 4.13.2-2 +- Rebuilt for Python 3.13 + +* Tue Jun 04 2024 Sandro Mani - 4.13.2-1 +- Update to 4.13.2 + +* Sun Jun 02 2024 Richard Shaw - 4.13.1-2 +- Rebuild for opencascade 7.8.1. + +* Wed May 08 2024 Sandro Mani - 4.13.1-1 +- Update to 4.13.1 + +* Tue Apr 09 2024 Benjamin A. Beasley - 4.13.0-3 +- Ensure python3-gmsh depends on gmsh-libs +- Make the python3-gmsh subpackage noarch, since the bindings are pure Python + +* Fri Mar 29 2024 Richard Shaw - 4.13.0-2 +- Rebuild for OpenCascade 7.8.0. + +* Tue Feb 27 2024 Sandro Mani - 4.13.0-1 +- Update to 4.13.0 + +* Tue Jan 23 2024 Sandro Mani - 4.12.2-1 +- Update to 4.12.2 + +* Fri Jan 19 2024 Fedora Release Engineering - 4.12.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Sun Jan 14 2024 Sandro Mani - 4.12.1-1 +- Update to 4.12.1 + +* Mon Jan 01 2024 Sandro Mani - 4.12.0-1 +- Update to 4.12.0 + +* Sun Oct 29 2023 Orion Poplawski - 4.11.1-7 +- Rebuild for openmpi 5.0.0, drops i686 and C++ API + +* Wed Jul 19 2023 Fedora Release Engineering - 4.11.1-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Thu Jul 06 2023 Sandro Mani - 4.11.1-5 +- Rebuild (cgnslib) + +* Sat Jun 17 2023 Python Maint - 4.11.1-4 +- Rebuilt for Python 3.12 + +* Thu Jan 19 2023 Fedora Release Engineering - 4.11.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Sat Jan 14 2023 Richard Shaw - 4.11.1-2 +- Rebuild for opencascade. + +* Wed Dec 21 2022 Sandro Mani - 4.11.1-1 +- Update to 4.11.1 + +* Tue Nov 08 2022 Sandro Mani - 4.11.0-1 +- Update to 4.11.0 + +* Thu Jul 21 2022 Fedora Release Engineering - 4.10.5-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Sun Jul 03 2022 Sandro Mani - 4.10.5-1 +- Update to 4.10.5 + +* Mon Jun 20 2022 Python Maint - 4.10.4-2 +- Rebuilt for Python 3.11 + +* Sun Jun 19 2022 Sandro Mani - 4.10.4-1 +- Update to 4.10.4 + +* Mon Jun 13 2022 Python Maint - 4.10.3-2 +- Rebuilt for Python 3.11 + +* Mon May 30 2022 Sandro Mani - 4.10.3-1 +- Update to 4.10.3 + +* Fri May 13 2022 Sandro Mani - 4.10.2-1 +- Update to 4.10.2 + +* Mon May 09 2022 Sandro Mani - 4.10.1-2 +- Fix removing bundled libraries + +* Tue May 03 2022 Sandro Mani - 4.10.1-1 +- Update to 4.10.1 + +* Tue Apr 26 2022 Sandro Mani - 4.10.0-1 +- Update to 4.10.0 + +* Tue Mar 22 2022 Sandro Mani - 4.9.5-2 +- Rebuild for cgnslib-4.3.0 + +* Mon Feb 21 2022 Richard Shaw - 4.9.5-1 +- Update to 4.9.5. + +* Fri Feb 04 2022 Sandro Mani - 4.9.4-1 +- Update to 4.9.4 + +* Thu Jan 20 2022 Fedora Release Engineering - 4.9.3-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Sat Jan 08 2022 Sandro Mani - 4.9.3-1 +- Update to 4.9.3 + +* Thu Dec 23 2021 Richard Shaw - 4.9.2-1 +- Update to 4.9.2. + +* Sat Dec 18 2021 Richard Shaw - 4.9.1-1 +- Update to 4.9.1. + +* Fri Dec 03 2021 Richard Shaw - 4.9.0-1 +- Update to 4.9.0. + +* Wed Oct 27 2021 Sandro Mani - 4.8.4-6 +- Rebuild (alglib) + +* Thu Jul 22 2021 Fedora Release Engineering - 4.8.4-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Tue Jul 13 2021 Björn Esser - 4.8.4-4 +- Properly set BLA_VENDOR to FlexiBLAS for cmake >= 3.19 + +* Fri Jun 04 2021 Python Maint - 4.8.4-3 +- Rebuilt for Python 3.10 + +* Thu Apr 29 2021 Sandro Mani - 4.8.4-2 +- Rebuild (cgnslib) + +* Thu Apr 29 2021 Sandro Mani - 4.8.4-1 +- Update to 4.8.4 + +* Tue Apr 06 2021 Sandro Mani - 4.8.3-1 +- Update to 4.8.3 + +* Mon Mar 29 2021 Sandro Mani - 4.8.2-1 +- Update to 4.8.2 + +* Wed Mar 24 2021 Sandro Mani - 4.8.1-1 +- Update to 4.8.1 + +* Tue Mar 02 2021 Sandro Mani - 4.8.0-1 +- Update to 4.8.0 + +* Tue Jan 26 2021 Fedora Release Engineering - 4.7.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Mon Nov 16 2020 Richard Shaw - 4.7.1-1 +- Update to 4.7.1. + +* Sun Nov 08 2020 Richard Shaw - 4.7.0-1 +- Update to 4.7.0. + +* Thu Aug 27 2020 Iñaki Úcar - 4.6.0-5 +- https://fedoraproject.org/wiki/Changes/FlexiBLAS_as_BLAS/LAPACK_manager + +* Sat Aug 01 21:40:30 GMT 2020 Sandro Mani - 4.6.0-4 +- Rebuild (med) + +* Mon Jul 27 2020 Fedora Release Engineering - 4.6.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Fri Jul 24 2020 Jeff Law - 4.6.0-2 +- Use __cmake_in_source_build + +* Mon Jul 13 2020 Sandro Mani - 4.6.0-1 +- Update to 4.6.0 + +* Tue May 26 2020 Miro Hrončok - 4.5.6-4 +- Rebuilt for Python 3.9 + +* Fri May 08 2020 Richard Shaw - 4.5.6-3 +- Rebuild for unannounced soname bump in libcgns. + +* Mon Apr 06 2020 Sandro Mani - 4.5.6-2 +- Unbundle gl2ps (#1821461) + +* Mon Mar 30 2020 Sandro Mani - 4.5.6-1 +- Update to 4.5.6 + +* Sat Mar 21 2020 Sandro Mani - 4.5.5-1 +- Update to 4.5.5 + +* Mon Mar 02 2020 Sandro Mani - 4.5.4-1 +- Update to 4.5.4 + +* Sat Feb 22 2020 Sandro Mani - 4.5.3-1 +- Update to 4.5.3 + +* Fri Feb 21 2020 Sandro Mani - 4.5.2-3 +- Rebuild (cgnslib) + +* Mon Feb 17 2020 Sandro Mani - 4.5.2-2 +- Rebuild (cgnslib) + +* Thu Jan 30 2020 Richard Shaw - 4.5.2-1 +- Update to 4.5.2. +- Update install patch to correctly set RPATH for binaries and libraries. + +* Tue Jan 28 2020 Fedora Release Engineering - 4.5.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Sat Dec 28 2019 Sandro Mani - 4.5.1-1 +- Update to 4.5.1 + +* Thu Oct 03 2019 Miro Hrončok - 4.4.1-3 +- Rebuilt for Python 3.8.0rc1 (#1748018) + +* Mon Aug 19 2019 Miro Hrončok - 4.4.1-2 +- Rebuilt for Python 3.8 + +* Mon Jul 29 2019 Sandro Mani - 4.4.1-1 +- Update to 4.4.1 + +* Thu Jul 25 2019 Fedora Release Engineering - 4.4.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Mon Jul 01 2019 Sandro Mani - 4.4.0-1 +- Update to 4.4.0 + +* Fri Apr 19 2019 Sandro Mani - 4.3.0-1 +- Update to 4.3.0 + +* Thu Apr 04 2019 Sandro Mani - 4.2.3-1 +- Update to 4.2.3 + +* Thu Mar 21 2019 Sandro Mani - 4.2.2-2 +- Cleanup spec, drop references to non existing contrib modules +- Enable MeshOptimizer, QuadTri +- Clarify license + +* Mon Mar 18 2019 Orion Poplawski +- Rebuild for hdf5 1.10.5 + +* Wed Mar 13 2019 Sandro Mani - 4.2.2-1 +- Update to 4.2.2 + +* Tue Mar 12 2019 Sandro Mani - 4.2.1-3 +- Rebuild (cgnslib) + +* Mon Mar 11 2019 Sandro Mani - 4.2.1-2 +- Drop private API packages by upstream request +- Enable OpenMP in serial version +- Cleanup BuildRequires + +* Thu Mar 07 2019 Sandro Mani - 4.2.1-1 +- Update to 4.2.1 + +* Wed Mar 06 2019 Sandro Mani - 4.2.0-1 +- Update to 4.2.0 + +* Sat Feb 23 2019 Sandro Mani - 4.1.5-2 +- Rebuild (alglib) + +* Fri Feb 15 2019 Sandro Mani - 4.1.5-1 +- Update to 4.1.5 + +* Thu Feb 14 2019 Orion Poplawski - 4.1.4-2 +- Rebuild for openmpi 3.1.3 + +* Mon Feb 04 2019 Sandro Mani - 4.1.4-1 +- Update to 4.1.4 + +* Thu Jan 31 2019 Fedora Release Engineering - 4.1.3-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Thu Jan 24 2019 Sandro Mani - 4.1.3-1 +- Update to 4.1.3 + +* Tue Jan 22 2019 Sandro Mani - 4.1.2-1 +- Update to 4.1.2 + +* Sun Jan 20 2019 Richard Shaw - 4.1.1-1 +- Update to 4.1.1. + +* Mon Jan 14 2019 Sandro Mani - 4.1.0-1 +- Update to 4.1.0 + +* Mon Dec 10 2018 Sandro Mani - 4.0.7-1 +- Update to 4.0.7 + +* Sun Nov 25 2018 Sandro Mani - 4.0.6-1 +- Update to 4.0.6 + +* Fri Nov 16 2018 Sandro Mani - 4.0.5-1 +- Update to 4.0.5 + +* Mon Oct 22 2018 Sandro Mani - 4.0.4-1 +- Update to 4.0.4 + +* Thu Sep 27 2018 Sandro Mani - 4.0.2-1 +- Update to 4.0.2 + +* Mon Sep 10 2018 Sandro Mani - 4.0.1-1 +- Update to 4.0.1 + +* Thu Aug 23 2018 Sandro Mani - 4.0.0-1 +- Update to 4.0.0 + +* Fri Jul 13 2018 Fedora Release Engineering - 3.0.6-11 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Mon Jul 02 2018 Miro Hrončok - 3.0.6-10 +- Rebuilt for Python 3.7 + +* Sun Jul 01 2018 Sandro Mani - 3.0.6-9 +- Rebuild (alglib) + +* Tue Jun 19 2018 Miro Hrončok - 3.0.6-8 +- Rebuilt for Python 3.7 + +* Mon Jun 11 2018 Sandro Mani - 3.0.6-7 +- Rebuild (mmg3d) + * Sat Mar 10 2018 Sandro Mani - 3.0.6-6 - Rebuild (med) diff --git a/gmsh_alglib.patch b/gmsh_alglib.patch deleted file mode 100644 index ebf600b..0000000 --- a/gmsh_alglib.patch +++ /dev/null @@ -1,142 +0,0 @@ -diff -rupN gmsh-3.0.6-source/contrib/HighOrderMeshOptimizer/OptHOM.cpp gmsh-3.0.6-source-new/contrib/HighOrderMeshOptimizer/OptHOM.cpp ---- gmsh-3.0.6-source/contrib/HighOrderMeshOptimizer/OptHOM.cpp 2017-10-03 22:01:51.000000000 +0200 -+++ gmsh-3.0.6-source-new/contrib/HighOrderMeshOptimizer/OptHOM.cpp 2018-03-10 10:28:44.669972085 +0100 -@@ -44,11 +44,11 @@ static int NEVAL = 0; - - #if defined(HAVE_BFGS) - --#include "ap.h" --#include "alglibinternal.h" --#include "alglibmisc.h" --#include "linalg.h" --#include "optimization.h" -+#include -+#include -+#include -+#include -+#include - - static inline double compute_f(double v, double barrier) - { -diff -rupN gmsh-3.0.6-source/contrib/HighOrderMeshOptimizer/OptHOM.h gmsh-3.0.6-source-new/contrib/HighOrderMeshOptimizer/OptHOM.h ---- gmsh-3.0.6-source/contrib/HighOrderMeshOptimizer/OptHOM.h 2017-10-03 22:01:51.000000000 +0200 -+++ gmsh-3.0.6-source-new/contrib/HighOrderMeshOptimizer/OptHOM.h 2018-03-10 10:28:44.669972085 +0100 -@@ -38,7 +38,7 @@ - - #if defined(HAVE_BFGS) - --#include "ap.h" -+#include - - class OptHOM - { -diff -rupN gmsh-3.0.6-source/contrib/MeshOptimizer/MeshOpt.cpp gmsh-3.0.6-source-new/contrib/MeshOptimizer/MeshOpt.cpp ---- gmsh-3.0.6-source/contrib/MeshOptimizer/MeshOpt.cpp 2017-10-03 22:01:51.000000000 +0200 -+++ gmsh-3.0.6-source-new/contrib/MeshOptimizer/MeshOpt.cpp 2018-03-10 10:28:44.669972085 +0100 -@@ -38,11 +38,11 @@ - - #if defined(HAVE_BFGS) - --#include "ap.h" --#include "alglibinternal.h" --#include "alglibmisc.h" --#include "linalg.h" --#include "optimization.h" -+#include -+#include -+#include -+#include -+#include - - - namespace { -diff -rupN gmsh-3.0.6-source/contrib/MeshOptimizer/MeshOpt.h gmsh-3.0.6-source-new/contrib/MeshOptimizer/MeshOpt.h ---- gmsh-3.0.6-source/contrib/MeshOptimizer/MeshOpt.h 2017-10-03 22:01:51.000000000 +0200 -+++ gmsh-3.0.6-source-new/contrib/MeshOptimizer/MeshOpt.h 2018-03-10 10:28:44.670972085 +0100 -@@ -42,7 +42,7 @@ - - #if defined(HAVE_BFGS) - --#include "ap.h" -+#include - - - class MeshOptParameters; -diff -rupN gmsh-3.0.6-source/contrib/MeshOptimizer/MeshOptObjContrib.h gmsh-3.0.6-source-new/contrib/MeshOptimizer/MeshOptObjContrib.h ---- gmsh-3.0.6-source/contrib/MeshOptimizer/MeshOptObjContrib.h 2017-10-03 22:01:51.000000000 +0200 -+++ gmsh-3.0.6-source-new/contrib/MeshOptimizer/MeshOptObjContrib.h 2018-03-10 10:28:44.670972085 +0100 -@@ -4,7 +4,7 @@ - #define _MESHOPTOBJCONTRIB_H_ - - #include --#include "ap.h" -+#include - #include "MeshOptCommon.h" - - -diff -rupN gmsh-3.0.6-source/contrib/MeshOptimizer/MeshOptObjectiveFunction.h gmsh-3.0.6-source-new/contrib/MeshOptimizer/MeshOptObjectiveFunction.h ---- gmsh-3.0.6-source/contrib/MeshOptimizer/MeshOptObjectiveFunction.h 2017-10-03 22:01:51.000000000 +0200 -+++ gmsh-3.0.6-source-new/contrib/MeshOptimizer/MeshOptObjectiveFunction.h 2018-03-10 10:28:44.670972085 +0100 -@@ -5,7 +5,7 @@ - - #include - #include --#include "ap.h" -+#include - - class ObjContrib; - class Patch; -diff -rupN gmsh-3.0.6-source/Geo/GFace.cpp gmsh-3.0.6-source-new/Geo/GFace.cpp ---- gmsh-3.0.6-source/Geo/GFace.cpp 2017-10-03 22:01:51.000000000 +0200 -+++ gmsh-3.0.6-source-new/Geo/GFace.cpp 2018-03-10 10:28:44.670972085 +0100 -@@ -28,8 +28,8 @@ - #endif - - #if defined(HAVE_BFGS) --#include "stdafx.h" --#include "optimization.h" -+#include -+#include - #endif - - #define SQU(a) ((a)*(a)) -diff -rupN gmsh-3.0.6-source/Mesh/Levy3D.cpp gmsh-3.0.6-source-new/Mesh/Levy3D.cpp ---- gmsh-3.0.6-source/Mesh/Levy3D.cpp 2017-10-03 22:01:51.000000000 +0200 -+++ gmsh-3.0.6-source-new/Mesh/Levy3D.cpp 2018-03-10 10:28:44.670972085 +0100 -@@ -19,11 +19,11 @@ - #include "directions3D.h" - - #if defined(HAVE_BFGS) --#include "ap.h" --#include "alglibinternal.h" --#include "alglibmisc.h" --#include "linalg.h" --#include "optimization.h" -+#include -+#include -+#include -+#include -+#include - #endif - - /*********definitions*********/ -diff -rupN gmsh-3.0.6-source/Mesh/meshGFaceLloyd.cpp gmsh-3.0.6-source-new/Mesh/meshGFaceLloyd.cpp ---- gmsh-3.0.6-source/Mesh/meshGFaceLloyd.cpp 2017-10-03 22:01:51.000000000 +0200 -+++ gmsh-3.0.6-source-new/Mesh/meshGFaceLloyd.cpp 2018-03-10 10:28:44.671972085 +0100 -@@ -22,11 +22,11 @@ - - #if defined(HAVE_BFGS) - --#include "ap.h" --#include "alglibinternal.h" --#include "alglibmisc.h" --#include "linalg.h" --#include "optimization.h" -+#include -+#include -+#include -+#include -+#include - #include "polynomialBasis.h" - #include "MElementOctree.h" - #include "GModel.h" diff --git a/gmsh_build.patch b/gmsh_build.patch deleted file mode 100644 index b72699c..0000000 --- a/gmsh_build.patch +++ /dev/null @@ -1,95 +0,0 @@ -diff -rupN gmsh-3.0.6-source/Common/CommandLine.cpp gmsh-3.0.6-source-new/Common/CommandLine.cpp ---- gmsh-3.0.6-source/Common/CommandLine.cpp 2017-11-04 20:27:37.000000000 +0100 -+++ gmsh-3.0.6-source-new/Common/CommandLine.cpp 2018-03-10 10:28:44.969972068 +0100 -@@ -20,15 +20,6 @@ - #include "CreateFile.h" - #include "OS.h" - --#if defined(HAVE_FLTK) --#include --#if (FL_MAJOR_VERSION == 1) && (FL_MINOR_VERSION >= 3) --// OK --#else --#error "Gmsh requires FLTK >= 1.3" --#endif --#endif -- - #if defined(HAVE_PETSC) - #include "petsc.h" - #endif -@@ -49,6 +40,15 @@ - #include "Parser.h" - #endif - -+#if defined(HAVE_FLTK) -+#include -+#if (FL_MAJOR_VERSION == 1) && (FL_MINOR_VERSION >= 3) -+// OK -+#else -+#error "Gmsh requires FLTK >= 1.3" -+#endif -+#endif -+ - int GetGmshMajorVersion(){ return GMSH_MAJOR_VERSION; } - int GetGmshMinorVersion(){ return GMSH_MINOR_VERSION; } - int GetGmshPatchVersion(){ return GMSH_PATCH_VERSION; } -diff -rupN gmsh-3.0.6-source/Fltk/helpWindow.cpp gmsh-3.0.6-source-new/Fltk/helpWindow.cpp ---- gmsh-3.0.6-source/Fltk/helpWindow.cpp 2017-10-03 22:01:51.000000000 +0200 -+++ gmsh-3.0.6-source-new/Fltk/helpWindow.cpp 2018-03-10 10:28:44.969972068 +0100 -@@ -3,13 +3,18 @@ - // See the LICENSE.txt file for license information. Please report all - // bugs and problems to the public mailing list . - -+#include "GmshConfig.h" -+ -+#if defined(HAVE_MED) -+#include "med.h" -+#endif -+ - #include - #include - #include - #include - #include - #include --#include "GmshConfig.h" - #include "FlGui.h" - #include "inputValue.h" - #include "helpWindow.h" -@@ -33,10 +38,6 @@ - #include "Standard_Version.hxx" - #endif - --#if defined(HAVE_MED) --#include "med.h" --#endif -- - static const char *help_link(Fl_Widget *w, const char *uri) - { - fl_open_uri(uri); -diff -rupN gmsh-3.0.6-source/Geo/GModelIO_MED.cpp gmsh-3.0.6-source-new/Geo/GModelIO_MED.cpp ---- gmsh-3.0.6-source/Geo/GModelIO_MED.cpp 2017-10-03 22:01:51.000000000 +0200 -+++ gmsh-3.0.6-source-new/Geo/GModelIO_MED.cpp 2018-03-10 10:28:44.969972068 +0100 -@@ -25,9 +25,7 @@ - #include "MPyramid.h" - #include "discreteVertex.h" - --extern "C" { - #include --} - - #if (MED_MAJOR_NUM == 3) - // To avoid too many ifdefs below we use defines for the bits of the -diff -rupN gmsh-3.0.6-source/Post/PViewDataGModelIO.cpp gmsh-3.0.6-source-new/Post/PViewDataGModelIO.cpp ---- gmsh-3.0.6-source/Post/PViewDataGModelIO.cpp 2017-10-03 22:01:51.000000000 +0200 -+++ gmsh-3.0.6-source-new/Post/PViewDataGModelIO.cpp 2018-03-10 10:28:44.970972068 +0100 -@@ -361,9 +361,7 @@ void PViewDataGModel::importLists(int N[ - - #if defined(HAVE_MED) - --extern "C" { - #include --} - - #if (MED_MAJOR_NUM == 3) - // To avoid too many ifdefs below we use defines for the bits of the diff --git a/gmsh_c++14.patch b/gmsh_c++14.patch deleted file mode 100644 index 3244588..0000000 --- a/gmsh_c++14.patch +++ /dev/null @@ -1,56 +0,0 @@ -diff -rupN gmsh-3.0.6-source/CMakeLists.txt gmsh-3.0.6-source-new/CMakeLists.txt ---- gmsh-3.0.6-source/CMakeLists.txt 2018-03-10 10:28:44.967972069 +0100 -+++ gmsh-3.0.6-source-new/CMakeLists.txt 2018-03-10 10:28:45.071972063 +0100 -@@ -45,7 +45,7 @@ opt(CGNS "Enable CGNS mesh export (exper - opt(CAIRO "Enable Cairo to render fonts (experimental)" ${DEFAULT}) - opt(CHACO "Enable Chaco mesh partitioner (alternative to Metis)" ${DEFAULT}) - opt(COMPRESSED_IO "Enable compressed (gzip) input/output using zlib" OFF) --opt(CXX11 "Enable C++11" ${DEFAULT}) -+opt(CXX14 "Enable C++14" ${DEFAULT}) - opt(DINTEGRATION "Enable discrete integration (needed for levelsets)" ${DEFAULT}) - opt(FLTK "Enable FLTK graphical user interface (requires mesh/post)" ${DEFAULT}) - opt(FOURIER_MODEL "Enable Fourier geometrical models (experimental)" OFF) -@@ -269,14 +269,14 @@ if(ENABLE_OPENMP) - endif(OPENMP_FOUND) - endif(ENABLE_OPENMP) - --if(ENABLE_CXX11) -+if(ENABLE_CXX14) - # in recent cmake versions we could do e.g. set(CMAKE_CXX_STANDARD 11) -- check_cxx_compiler_flag("-std=c++11" STDCXX11) -- if(STDCXX11) -- set_config_option(HAVE_CXX11 "C++11") -- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11") -- endif(STDCXX11) --endif(ENABLE_CXX11) -+ check_cxx_compiler_flag("-std=c++14" STDCXX14) -+ if(STDCXX14) -+ set_config_option(HAVE_CXX14 "C++14") -+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14") -+ endif(STDCXX14) -+endif(ENABLE_CXX14) - - macro(append_gmsh_src DIRNAME FILES) - foreach(FILE ${FILES}) -@@ -1435,10 +1435,10 @@ if(ENABLE_REVOROPT) - get_source_file_property(PROP Plugin/CVTRemesh.cpp COMPILE_FLAGS) - if(PROP) - set_source_files_properties(Plugin/CVTRemesh.cpp PROPERTIES -- COMPILE_FLAGS "${PROP} -std=c++11") -+ COMPILE_FLAGS "${PROP} -std=c++14") - else(PROP) - set_source_files_properties(Plugin/CVTRemesh.cpp PROPERTIES -- COMPILE_FLAGS "-std=c++11") -+ COMPILE_FLAGS "-std=c++14") - endif(PROP) - else(EIGEN3_INC AND HAVE_MESH AND HAVE_PLUGINS AND HAVE_ANN AND HAVE_BFGS) - message(WARNING "Revoropt requires Eigen3, Mesh, Plugins, Ann and BFGS") -@@ -1552,7 +1552,7 @@ if(ENABLE_BUILD_ANDROID) - message(FATAL_ERROR "Cannot compile Gmsh for android without android-cmake") - endif(NOT CMAKE_TOOLCHAIN_FILE) - add_definitions(-D_GLIBCXX_USE_C99_MATH=1) -- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11") -+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14") - set(CMAKE_BUILD_TYPE Release) - set(LIBRARY_OUTPUT_PATH_ROOT ${CMAKE_CURRENT_BINARY_DIR}) - set(LIBRARY_OUTPUT_PATH ${CMAKE_CURRENT_BINARY_DIR}/libs/) 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-dirs.patch b/gmsh_install-dirs.patch deleted file mode 100644 index 1d1a221..0000000 --- a/gmsh_install-dirs.patch +++ /dev/null @@ -1,45 +0,0 @@ -diff -rupN gmsh-3.0.6-source/CMakeLists.txt gmsh-3.0.6-source-new/CMakeLists.txt ---- gmsh-3.0.6-source/CMakeLists.txt 2018-03-10 10:28:44.667972085 +0100 -+++ gmsh-3.0.6-source-new/CMakeLists.txt 2018-03-10 10:28:44.870972074 +0100 -@@ -1723,8 +1723,9 @@ elseif(APPLE AND ENABLE_OS_SPECIFIC_INST - set(GMSH_DOC ../../..) - set(GMSH_MAN ../../..) - else(WIN32 OR CYGWIN) -- set(GMSH_BIN bin) -- set(GMSH_LIB lib) -+ set(GMSH_BIN bin CACHE INTERNAL "Bin path") -+ set(GMSH_LIB lib${LIB_SUFFIX} CACHE INTERNAL "Lib path") -+ set(GMSH_INCLUDE include CACHE INTERNAL "Include path") - set(GMSH_DOC share/doc/gmsh) - set(GMSH_MAN share/man/man1) - endif(WIN32 OR CYGWIN) -@@ -1774,10 +1775,11 @@ if(ENABLE_BUILD_SHARED OR ENABLE_BUILD_D - endif(ENABLE_BUILD_SHARED OR ENABLE_BUILD_DYNAMIC) - - if(ENABLE_ONELAB) -- install(FILES ${ONELAB_PY} DESTINATION ${GMSH_BIN}) -+ execute_process ( COMMAND python3 -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())" OUTPUT_VARIABLE PYTHON3_SITE_PACKAGES OUTPUT_STRIP_TRAILING_WHITESPACE) -+ install(FILES ${ONELAB_PY} DESTINATION ${PYTHON3_SITE_PACKAGES}) - endif(ENABLE_ONELAB) - if(ENABLE_BUILD_LIB OR ENABLE_BUILD_SHARED OR ENABLE_BUILD_DYNAMIC) -- install(FILES ${GMSH_API} DESTINATION include/gmsh) -+ install(FILES ${GMSH_API} DESTINATION ${GMSH_INCLUDE}/gmsh) - endif(ENABLE_BUILD_LIB OR ENABLE_BUILD_SHARED OR ENABLE_BUILD_DYNAMIC) - install(FILES ${WELCOME_FILE} DESTINATION ${GMSH_DOC} RENAME README.txt) - install(FILES ${LICENSE_FILE} DESTINATION ${GMSH_DOC}) -diff -rupN gmsh-3.0.6-source/Common/GmshMessage.cpp gmsh-3.0.6-source-new/Common/GmshMessage.cpp ---- gmsh-3.0.6-source/Common/GmshMessage.cpp 2017-11-05 13:05:54.000000000 +0100 -+++ gmsh-3.0.6-source-new/Common/GmshMessage.cpp 2018-03-10 10:28:44.870972074 +0100 -@@ -149,12 +149,6 @@ void Msg::Init(int argc, char **argv) - if(CTX::instance()->exeFileName.empty() && argc && argv) - CTX::instance()->exeFileName = argv[0]; - -- // add the directory where the binary is installed to the path where Python -- // looks for modules, and to the path for executables (this allows us to find -- // the onelab.py module or subclients automatically) -- addGmshPathToEnvironmentVar("PYTHONPATH"); -- addGmshPathToEnvironmentVar("PATH"); -- - InitializeOnelab("Gmsh"); - } - diff --git a/gmsh_install.patch b/gmsh_install.patch new file mode 100644 index 0000000..5e02993 --- /dev/null +++ b/gmsh_install.patch @@ -0,0 +1,12 @@ +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) + set(CMAKE_BUILD_WITH_INSTALL_RPATH FALSE) +- set(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/lib") ++ set(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_LIBDIR}") + + # add the automatically determined parts of the RPATH which point to + # directories outside the build tree to the install RPATH diff --git a/gmsh_julia.patch b/gmsh_julia.patch new file mode 100644 index 0000000..90c37cf --- /dev/null +++ b/gmsh_julia.patch @@ -0,0 +1,12 @@ +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}) + install(FILES ${GMSH_PY} DESTINATION ${PYTHON3_SITE_PACKAGES}) +- install(FILES ${GMSH_JL} DESTINATION ${GMSH_LIB}) ++ install(FILES ${GMSH_JL} DESTINATION share/gmsh) + install(FILES ${CMAKE_CURRENT_BINARY_DIR}/METADATA DESTINATION + ${PYTHON3_SITE_PACKAGES}/gmsh-${GMSH_PYTHON_VERSION}.dist-info) + if(ENABLE_PRIVATE_API) diff --git a/gmsh_med.patch b/gmsh_med.patch index b727559..696ca1b 100644 --- a/gmsh_med.patch +++ b/gmsh_med.patch @@ -1,60 +1,48 @@ -diff -rupN gmsh-3.0.6-source/CMakeLists.txt gmsh-3.0.6-source-new/CMakeLists.txt ---- gmsh-3.0.6-source/CMakeLists.txt 2018-03-10 10:28:45.165972058 +0100 -+++ gmsh-3.0.6-source-new/CMakeLists.txt 2018-03-10 11:25:50.178782609 +0100 -@@ -893,7 +893,7 @@ if(ENABLE_MED OR ENABLE_CGNS) - set(HDF5_LIB "${HDF5_C_LIBRARIES}") - list(APPEND EXTERNAL_INCLUDES ${HDF5_INCLUDE_DIRS}) - if(ENABLE_MED) -- find_library(MED_LIB med) -+ find_library(MED_LIB medC) - if(MED_LIB) - set_config_option(HAVE_MED "Med") - list(APPEND EXTERNAL_LIBRARIES ${MED_LIB}) -diff -rupN gmsh-3.0.6-source/Common/CommandLine.cpp gmsh-3.0.6-source-new/Common/CommandLine.cpp ---- gmsh-3.0.6-source/Common/CommandLine.cpp 2018-03-10 10:28:45.068972063 +0100 -+++ gmsh-3.0.6-source-new/Common/CommandLine.cpp 2018-03-10 10:28:45.167972057 +0100 -@@ -29,7 +29,7 @@ +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 #if defined(HAVE_MED) --#include "med.h" +-#include +#include #endif #if defined(HAVE_POST) -diff -rupN gmsh-3.0.6-source/Fltk/helpWindow.cpp gmsh-3.0.6-source-new/Fltk/helpWindow.cpp ---- gmsh-3.0.6-source/Fltk/helpWindow.cpp 2018-03-10 10:28:45.069972063 +0100 -+++ gmsh-3.0.6-source-new/Fltk/helpWindow.cpp 2018-03-10 10:28:45.167972057 +0100 -@@ -6,7 +6,7 @@ - #include "GmshConfig.h" +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) --#include "med.h" +-#include +#include #endif - #include -diff -rupN gmsh-3.0.6-source/Geo/GModelIO_MED.cpp gmsh-3.0.6-source-new/Geo/GModelIO_MED.cpp ---- gmsh-3.0.6-source/Geo/GModelIO_MED.cpp 2018-03-10 10:28:45.069972063 +0100 -+++ gmsh-3.0.6-source-new/Geo/GModelIO_MED.cpp 2018-03-10 10:29:30.961969524 +0100 -@@ -25,7 +25,7 @@ - #include "MPyramid.h" + static const char *help_link(Fl_Widget *w, const char *uri) +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" -#include +#include - #if (MED_MAJOR_NUM == 3) + #if(MED_MAJOR_NUM >= 3) // To avoid too many ifdefs below we use defines for the bits of the -diff -rupN gmsh-3.0.6-source/Post/PViewDataGModelIO.cpp gmsh-3.0.6-source-new/Post/PViewDataGModelIO.cpp ---- gmsh-3.0.6-source/Post/PViewDataGModelIO.cpp 2018-03-10 10:28:45.069972063 +0100 -+++ gmsh-3.0.6-source-new/Post/PViewDataGModelIO.cpp 2018-03-10 10:29:46.418968669 +0100 -@@ -361,7 +361,7 @@ void PViewDataGModel::importLists(int N[ +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) -#include +#include - #if (MED_MAJOR_NUM == 3) + #if(MED_MAJOR_NUM >= 3) // To avoid too many ifdefs below we use defines for the bits of the diff --git a/gmsh_onelab.patch b/gmsh_onelab.patch new file mode 100644 index 0000000..3ad031d --- /dev/null +++ b/gmsh_onelab.patch @@ -0,0 +1,29 @@ +diff -rupN gmsh-4.0.0-source/CMakeLists.txt gmsh-4.0.0-source-new/CMakeLists.txt +--- gmsh-4.0.0-source/CMakeLists.txt 2018-08-23 11:57:38.816721896 +0200 ++++ gmsh-4.0.0-source-new/CMakeLists.txt 2018-08-23 11:57:38.952721889 +0200 +@@ -1769,7 +1769,8 @@ if(ENABLE_BUILD_SHARED OR ENABLE_BUILD_D + endif(ENABLE_BUILD_SHARED OR ENABLE_BUILD_DYNAMIC) + + if(ENABLE_ONELAB) +- install(FILES ${ONELAB_PY} DESTINATION ${GMSH_BIN}) ++ execute_process ( COMMAND python3 -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())" OUTPUT_VARIABLE PYTHON3_SITE_PACKAGES OUTPUT_STRIP_TRAILING_WHITESPACE) ++ install(FILES ${ONELAB_PY} DESTINATION ${PYTHON3_SITE_PACKAGES}) + endif(ENABLE_ONELAB) + if(ENABLE_BUILD_LIB OR ENABLE_BUILD_SHARED OR ENABLE_BUILD_DYNAMIC) + install(FILES ${GMSH_API} DESTINATION ${GMSH_INC}) +diff -rupN gmsh-4.0.0-source/Common/GmshMessage.cpp gmsh-4.0.0-source-new/Common/GmshMessage.cpp +--- gmsh-4.0.0-source/Common/GmshMessage.cpp 2018-06-27 22:44:49.000000000 +0200 ++++ gmsh-4.0.0-source-new/Common/GmshMessage.cpp 2018-08-23 11:57:38.953721888 +0200 +@@ -154,12 +154,6 @@ void Msg::Init(int argc, char **argv) + if(CTX::instance()->exeFileName.empty() && argc && argv) + CTX::instance()->exeFileName = argv[0]; + +- // add the directory where the binary is installed to the path where Python +- // looks for modules, and to the path for executables (this allows us to find +- // the onelab.py module or subclients automatically) +- addGmshPathToEnvironmentVar("PYTHONPATH"); +- addGmshPathToEnvironmentVar("PATH"); +- + InitializeOnelab("Gmsh"); + } + diff --git a/gmsh_python.patch b/gmsh_python.patch new file mode 100644 index 0000000..75cfbb1 --- /dev/null +++ b/gmsh_python.patch @@ -0,0 +1,48 @@ +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() + ++execute_process ( COMMAND python3 -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())" OUTPUT_VARIABLE PYTHON3_SITE_PACKAGES OUTPUT_STRIP_TRAILING_WHITESPACE) ++ + # mark targets as optional so we can install them separately if needed + # (e.g. "make lib" or "make shared" followed by "make install/fast") + install(TARGETS gmsh +@@ -2034,14 +2036,14 @@ if(ENABLE_BUILD_LIB OR ENABLE_BUILD_SHAR + endif() + + if(ENABLE_ONELAB AND EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/contrib/onelab) +- install(FILES ${ONELAB_PY} DESTINATION ${GMSH_BIN}) ++ install(FILES ${ONELAB_PY} DESTINATION ${PYTHON3_SITE_PACKAGES}) + endif() + if(ENABLE_BUILD_LIB OR ENABLE_BUILD_SHARED OR ENABLE_BUILD_DYNAMIC) + install(FILES ${GMSH_API} DESTINATION ${GMSH_INC}) +- install(FILES ${GMSH_PY} DESTINATION ${GMSH_LIB}) ++ install(FILES ${GMSH_PY} DESTINATION ${PYTHON3_SITE_PACKAGES}) + install(FILES ${GMSH_JL} DESTINATION ${GMSH_LIB}) + install(FILES ${CMAKE_CURRENT_BINARY_DIR}/METADATA DESTINATION +- ${GMSH_LIB}/gmsh-${GMSH_PYTHON_VERSION}.dist-info) ++ ${PYTHON3_SITE_PACKAGES}/gmsh-${GMSH_PYTHON_VERSION}.dist-info) + 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.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]; + +- if(_env) { +- // add the directory where the binary is installed to the path where Python +- // looks for modules, and to the path for executables (this allows us to +- // find the onelab.py module or subclients automatically) +- addGmshPathToEnvironmentVar("PYTHONPATH"); +- addGmshPathToEnvironmentVar("PATH"); +- } +- + if(_locale) { + // make sure to use the "C" locale; in particular this ensures that we will + // use a dot for for the decimal separator when writing ASCII mesh files diff --git a/gmsh_tetgen.patch b/gmsh_tetgen.patch deleted file mode 100644 index 0a3e682..0000000 --- a/gmsh_tetgen.patch +++ /dev/null @@ -1,35 +0,0 @@ -diff -rupN gmsh-3.0.6-source/Mesh/meshGRegion.cpp gmsh-3.0.6-source-new/Mesh/meshGRegion.cpp ---- gmsh-3.0.6-source/Mesh/meshGRegion.cpp 2017-11-05 13:05:54.000000000 +0100 -+++ gmsh-3.0.6-source-new/Mesh/meshGRegion.cpp 2018-03-10 10:28:44.773972079 +0100 -@@ -513,7 +513,9 @@ bool CreateAnEmptyVolumeMesh(GRegion *gr - (Msg::GetVerbosity() < 3) ? "Q" : (Msg::GetVerbosity() > 6) ? "V" : "", - CTX::instance()->mesh.toleranceInitialDelaunay); - try{ -- tetrahedralize(opts, &in, &out); -+ tetgenbehavior behaviour; -+ behaviour.parse_commandline(opts); -+ tetrahedralize(&behaviour, &in, &out); - } - catch (int error){ - Msg::Error("Self intersecting surface mesh"); -@@ -583,14 +585,18 @@ void MeshDelaunayVolumeTetgen(std::vecto - (Msg::GetVerbosity() < 3) ? "Q" : (Msg::GetVerbosity() > 6) ? "V" : "", - CTX::instance()->mesh.toleranceInitialDelaunay); - try{ -- tetrahedralize(opts, &in, &out); -+ tetgenbehavior behaviour; -+ behaviour.parse_commandline(opts); -+ tetrahedralize(&behaviour, &in, &out); - } - catch (int error){ - Msg::Error("Self intersecting surface mesh, computing intersections " - "(this could take a while)"); - sprintf(opts, "dV"); - try{ -- tetrahedralize(opts, &in, &out); -+ tetgenbehavior behaviour; -+ behaviour.parse_commandline(opts); -+ tetrahedralize(&behaviour, &in, &out); - Msg::Info("%d intersecting faces have been saved into 'intersect.pos'", - out.numberoftrifaces); - FILE *fp = Fopen("intersect.pos", "w"); diff --git a/gmsh_unbundle.patch b/gmsh_unbundle.patch deleted file mode 100644 index 42135ca..0000000 --- a/gmsh_unbundle.patch +++ /dev/null @@ -1,139 +0,0 @@ -diff -rupN gmsh-3.0.6-source/CMakeLists.txt gmsh-3.0.6-source-new/CMakeLists.txt ---- gmsh-3.0.6-source/CMakeLists.txt 2017-10-17 21:13:18.000000000 +0200 -+++ gmsh-3.0.6-source-new/CMakeLists.txt 2018-03-10 10:28:44.563972091 +0100 -@@ -162,8 +162,7 @@ set(GMSH_API - contrib/MeshOptimizer/MeshOptObjectiveFunction.h contrib/MeshOptimizer/MeshOptVertexCoord.h - contrib/MeshQualityOptimizer/MeshQualityObjContribIdealJac.h - contrib/MeshQualityOptimizer/MeshQualityObjContribInvCond.h -- contrib/MeshQualityOptimizer/MeshQualityOptimizer.h -- contrib/MathEx/mathex.h) -+ contrib/MeshQualityOptimizer/MeshQualityOptimizer.h) - - get_property(IAMCHILD DIRECTORY PROPERTY PARENT_DIRECTORY) - if(IAMCHILD) -@@ -665,7 +664,7 @@ endif(HAVE_FLTK OR HAVE_QT OR ENABLE_GRA - - if(HAVE_MESH OR HAVE_PLUGINS) - if(ENABLE_ANN) -- find_library(ANN_LIB ann PATH_SUFFIXES lib) -+ find_library(ANN_LIB ANN PATH_SUFFIXES lib) - find_path(ANN_INC "ANN.h" PATH_SUFFIXES src include ANN) - if(ANN_LIB AND ANN_INC) - list(APPEND EXTERNAL_LIBRARIES ${ANN_LIB}) -@@ -680,8 +679,16 @@ if(HAVE_MESH OR HAVE_PLUGINS) - endif(HAVE_MESH OR HAVE_PLUGINS) - - if(ENABLE_BFGS) -- add_subdirectory(contrib/lbfgs) -- include_directories(contrib/lbfgs) -+ find_library(BFGS_LIB lbfgs PATH_SUFFIXES lib) -+ find_path(BFGS_INC "lbfgs.h" PATH_SUFFIXES include) -+ if(BFGS_LIB AND BFGS_INC) -+ list(APPEND EXTERNAL_LIBRARIES ${BFGS_LIB} -lalglib) -+ list(APPEND EXTERNAL_INCLUDES ${BFGS_INC}) -+ else(BFGS_LIB AND BFGS_INC) -+ message(STATUS "System libbfgs not found: using contrib/lbfgs instead") -+ add_subdirectory(contrib/lbfgs) -+ include_directories(contrib/lbfgs) -+ endif(BFGS_LIB AND BFGS_INC) - set_config_option(HAVE_BFGS "Bfgs") - endif(ENABLE_BFGS) - -@@ -730,8 +737,16 @@ if(ENABLE_KBIPACK) - endif(ENABLE_KBIPACK) - - if(ENABLE_MATHEX) -- add_subdirectory(contrib/MathEx) -- include_directories(contrib/MathEx) -+ find_library(MATHEX_LIB mathex PATH_SUFFIXES lib) -+ find_path(MATHEX_INC "mathex.h" PATH_SUFFIXES src include) -+ if(MATHEX_LIB AND MATHEX_INC) -+ list(APPEND EXTERNAL_LIBRARIES ${MATHEX_LIB}) -+ list(APPEND EXTERNAL_INCLUDES ${MATHEX_INC}) -+ else(MATHEX_LIB AND MATHEX_INC) -+ message(STATUS "System MATHEX not found: using contrib/MathEx instead") -+ add_subdirectory(contrib/MathEx) -+ include_directories(contrib/MathEx) -+ endif(MATHEX_LIB AND MATHEX_INC) - set_config_option(HAVE_MATHEX "MathEx") - endif(ENABLE_MATHEX) - -@@ -782,8 +797,16 @@ if(HAVE_MESH) - set_config_option(HAVE_TETGENBR "TetGen/BR") - - if(ENABLE_VORO3D) -- add_subdirectory(contrib/voro++) -- include_directories(contrib/voro++/src) -+ find_library(VORO3D_LIB voro++ PATH_SUFFIXES lib) -+ find_path(VORO3D_INC "voro++.hh" PATH_SUFFIXES include/voro++) -+ if(VORO3D_LIB AND VORO3D_INC) -+ list(APPEND EXTERNAL_LIBRARIES ${VORO3D_LIB}) -+ list(APPEND EXTERNAL_INCLUDES ${VORO3D_INC}) -+ else(VORO3D_LIB AND VORO3D_INC) -+ message(STATUS "System voro++ not found: using contrib/voro++ instead") -+ add_subdirectory(contrib/voro++) -+ include_directories(contrib/voro++) -+ endif(VORO3D_LIB AND VORO3D_INC) - set_config_option(HAVE_VORO3D "Voro3D") - endif(ENABLE_VORO3D) - -@@ -795,9 +818,22 @@ if(HAVE_MESH) - endif(ENABLE_BLOSSOM) - - if(ENABLE_NETGEN) -- add_subdirectory(contrib/Netgen) -- include_directories(contrib/Netgen contrib/Netgen/libsrc/include -- contrib/Netgen/nglib) -+ find_library(NETGEN_LIB nglib PATH_SUFFIXES lib) -+ find_path(NETGEN_INC "nglib.h" PATH_SUFFIXES include/netgen-mesher) -+ if(NETGEN_LIB AND NETGEN_INC) -+ list(APPEND EXTERNAL_LIBRARIES ${NETGEN_LIB}) -+ list(APPEND EXTERNAL_INCLUDES ${NETGEN_INC}) -+ # Netgen private headers contain what contrib/Salome does -+ list(APPEND EXTERNAL_LIBRARIES -lngocc -lngcsg -lngmesh -lnginterface) -+ list(APPEND EXTERNAL_INCLUDES ${NETGEN_INC}/private ${NETGEN_INC} ${NETGEN_INC}/private/include) -+ add_definitions(-DOCCGEOMETRY) -+ set_config_option(HAVE_SALOME "Salome") -+ else(NETGEN_LIB AND NETGEN_INC) -+ message(STATUS "System netgen not found: using contrib/Netgen instead") -+ add_subdirectory(contrib/Netgen) -+ include_directories(contrib/Netgen contrib/Netgen/libsrc/include -+ contrib/Netgen/nglib) -+ endif(NETGEN_LIB AND NETGEN_INC) - set_config_option(HAVE_NETGEN "Netgen") - add_definitions(-DNO_PARALLEL_THREADS -DNOTCL) - endif(ENABLE_NETGEN) -@@ -809,8 +845,8 @@ if(HAVE_MESH) - endif(ENABLE_BAMG) - - if(ENABLE_MMG3D) -- find_library(MMG3D_LIB mmg3dlib4.0 PATH_SUFFIXES lib) -- find_path(MMG3D_INC "libmmg3d.h" PATH_SUFFIXES src include) -+ find_library(MMG3D_LIB mmg3d4 PATH_SUFFIXES lib) -+ find_path(MMG3D_INC "libmmg3d4.h" PATH_SUFFIXES src include) - if(MMG3D_LIB AND MMG3D_INC) - list(APPEND EXTERNAL_LIBRARIES ${MMG3D_LIB}) - list(APPEND EXTERNAL_INCLUDES ${MMG3D_INC}) -diff -rupN gmsh-3.0.6-source/Mesh/CMakeLists.txt gmsh-3.0.6-source-new/Mesh/CMakeLists.txt ---- gmsh-3.0.6-source/Mesh/CMakeLists.txt 2017-10-03 22:01:51.000000000 +0200 -+++ gmsh-3.0.6-source-new/Mesh/CMakeLists.txt 2018-03-10 10:28:44.563972091 +0100 -@@ -47,6 +47,7 @@ set(SRC - yamakawa.cpp - Field.cpp - surfaceFiller.cpp -+ nglib_gmsh.cpp - ) - - file(GLOB HDR RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} *.h) -diff -rupN gmsh-3.0.6-source/Mesh/meshGRegionMMG3D.cpp gmsh-3.0.6-source-new/Mesh/meshGRegionMMG3D.cpp ---- gmsh-3.0.6-source/Mesh/meshGRegionMMG3D.cpp 2017-10-03 22:01:51.000000000 +0200 -+++ gmsh-3.0.6-source-new/Mesh/meshGRegionMMG3D.cpp 2018-03-10 10:28:44.564972091 +0100 -@@ -19,7 +19,7 @@ - #include "Context.h" - - extern "C" { --#include -+#include - #define M_UNUSED (1 << 0) - } - diff --git a/gmsh_unbundle_gl2ps.patch b/gmsh_unbundle_gl2ps.patch new file mode 100644 index 0000000..0c0047d --- /dev/null +++ b/gmsh_unbundle_gl2ps.patch @@ -0,0 +1,23 @@ +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() + ++list(APPEND LINK_LIBRARIES -lgl2ps -lGL) ++ + # Linux-specific linker options + if(${CMAKE_SYSTEM_NAME} MATCHES "Linux") + if(HAVE_OCC) +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 + drawGlyph.cpp +- gl2ps.cpp + gl2gif.cpp + gl2jpeg.cpp + gl2png.cpp diff --git a/sources b/sources index 0195694..753782a 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (gmsh-3.0.6-source-fedora.tar.xz) = 535bfa34f20b33e202197e4dfe1710fcae137d0836c906171012244188564f67243fabecbf0ad42a39e5a0242f475519c86e7060d08746ee2bb2709a4cad4e5e +SHA512 (gmsh-4.15.0-source-fedora.tar.xz) = eac4f6e8cd342ec07e1a83cae966d81716e1d158398ed930c82322b61785f8ab38c84ec07efc91f7be523d872e3331e1a64ce81b20a8c899a82107fab9834add