Compare commits

..

No commits in common. "rawhide" and "f28" have entirely different histories.

17 changed files with 675 additions and 768 deletions

57
.gitignore vendored
View file

@ -21,60 +21,3 @@
/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

View file

@ -1,20 +0,0 @@
#!/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 .

648
gmsh.spec
View file

@ -1,55 +1,34 @@
%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: 4.15.0
Release: 1%{?dist}
# MPI not available on i686
ExcludeArch: %{ix86}
Version: 3.0.6
Release: 6%{?dist}
# 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
License: GPLv2+
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
# Install onelab.py and gmsh.py into the python site-packages directory
Patch0: gmsh_python.patch
# 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
# Adapt med.h include path
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
Patch6: gmsh_med.patch
BuildRequires: alglib-devel
BuildRequires: ann-devel
%if %{with flexiblas}
BuildRequires: flexiblas-devel
%else
BuildRequires: blas-devel, lapack-devel
%endif
BuildRequires: blas-devel
BuildRequires: cgnslib-devel
BuildRequires: cmake
BuildRequires: desktop-file-utils
@ -59,26 +38,23 @@ 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: metis-devel
BuildRequires: mmg3d-devel
BuildRequires: netgen-mesher-devel-private
BuildRequires: opencascade-devel
BuildRequires: OCE-devel
BuildRequires: python3-devel
BuildRequires: python3-setuptools
BuildRequires: SuperLU-devel
BuildRequires: swig
BuildRequires: tetgen-devel
BuildRequires: voro++-devel
BuildRequires: zlib-devel
BuildRequires: texinfo
# For transforming icon
BuildRequires: ImageMagick
Provides: bundled(netgen-mesher) = svn469
Requires: %{name}-common = %{version}-%{release}
@ -111,22 +87,16 @@ the base %{name} package and are used for development only.
%package -n python3-%{name}
Summary: Python3 API for %{name}
Summary: Python3 wrapper for %{name}
%{?python_provide:%python_provide python3-%{name}}
Obsoletes: python3-%{name}-private
BuildArch: noarch
Requires: %{name}-libs = %{version}-%{release}
%description -n python3-%{name}
Python3 API for %{name}.
Python3 wrapper 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}.
@ -142,7 +112,6 @@ Documentation, demo projects and tutorials for %{name}.
###############################################################################
%if %{with openmpi}
%package openmpi
Summary: %{name} compiled against openmpi
BuildRequires: openmpi-devel
@ -154,28 +123,23 @@ 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
@ -187,147 +151,168 @@ 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
cp contrib/Netgen/nglib_gmsh.h contrib/Netgen/nglib_gmsh.cpp src/mesh
# 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
# 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
# WinslowUntangler: gmsh internal module (?)
(
cd contrib;
ls -1 | \
# rtree: single header file from http://superliminal.com/sources/sources.htm
ls -1 contrib | \
grep -v ^bamg$ | \
grep -v ^blossom$ | \
grep -v ^Chaco$ | \
grep -v ^DiscreteIntegration$ | \
grep -v ^MeshOptimizer$ | \
grep -v ^HighOrderMeshOptimizer$ | \
grep -v ^QuadTri$ | \
grep -v ^hxt$ | \
grep -v ^kbipack$ | \
grep -v ^onelab$ | \
grep -v ^tinyobjloader$ | \
grep -v ^WinslowUntangler$ | \
xargs rm -rf
)
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
%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_MPEG_ENCODE=NO \
-DENABLE_METIS=NO \
-DENABLE_BLOSSOM=NO \
-DENABLE_CGNS=YES \
-DENABLE_MED=YES \
-DENABLE_OCC=YES"
### serial version ###
%define _vpath_builddir %{_target_platform}
%cmake \
-DENABLE_OPENMP=ON \
mkdir build-serial
pushd build-serial
LDFLAGS="%{__global_ldflags} -Wl,--as-needed" %cmake .. \
-DENABLE_WRAP_PYTHON=ON \
$gmsh_cmake_args
%cmake_build
make %{?_smp_mflags}
popd
### openmpi version ###
%if %{with openmpi}
%{_openmpi_load}
export CXX=mpicxx
%define _vpath_builddir %{_target_platform}-openmpi
%cmake \
mkdir build-openmpi
pushd build-openmpi
LDFLAGS="%{__global_ldflags} -Wl,--as-needed" %cmake .. \
-DENABLE_MPI=YES \
-DCMAKE_INSTALL_BINDIR=$MPI_BIN \
-DCMAKE_INSTALL_LIBDIR=$MPI_LIB \
-DCMAKE_INSTALL_INCLUDEDIR=$MPI_INCLUDE \
-DGMSH_BIN=$MPI_BIN \
-DGMSH_LIB=$MPI_LIB \
-DGMSH_INCLUDE=$MPI_INCLUDE \
$gmsh_cmake_args
%cmake_build
make %{?_smp_mflags}
popd
%{_openmpi_unload}
%endif
### mpich version ###
%if %{with mpich}
%{_mpich_load}
export CXX=mpicxx
%define _vpath_builddir %{_target_platform}-mpich
%cmake \
mkdir build-mpich
pushd build-mpich
LDFLAGS="%{__global_ldflags} -Wl,--as-needed" %cmake .. \
-DENABLE_MPI=YES \
-DCMAKE_INSTALL_BINDIR=$MPI_BIN \
-DCMAKE_INSTALL_LIBDIR=$MPI_LIB \
-DCMAKE_INSTALL_INCLUDEDIR=$MPI_INCLUDE \
-DGMSH_BIN=$MPI_BIN \
-DGMSH_LIB=$MPI_LIB \
-DGMSH_INCLUDE=$MPI_INCLUDE \
$gmsh_cmake_args
%cmake_build
make %{?_smp_mflags}
popd
%{_mpich_unload}
%endif
# Built html documentation
%cmake_build --target html
# Fix to create correct debuginfo
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
cp -a Parser/Gmsh.* build-serial
cp -a Parser/Gmsh.* build-openmpi
cp -a Parser/Gmsh.* build-mpich
%install
%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
%make_install -C build-openmpi
%make_install -C build-mpich
%make_install -C build-serial
# 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
magick utils/icons/gmsh.png -scale 128 icon_128x128.png
install -Dpm 0644 icon_128x128.png %{buildroot}%{_datadir}/icons/hicolor/128x128/apps/%{name}.png
install -Dpm 0644 utils/icons/solid_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
@ -336,433 +321,54 @@ rm -f %{buildroot}%{_defaultdocdir}/%{name}/LICENSE.txt
%{_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}/tutorials
%doc %{_defaultdocdir}/%{name}/examples
%doc %{_defaultdocdir}/%{name}/%{name}.html
%doc %{_defaultdocdir}/%{name}/images/
%doc %{_defaultdocdir}/%{name}/tutorial
%doc %{_defaultdocdir}/%{name}/demos
%doc %{_defaultdocdir}/%{name}/api
%files
%{_bindir}/%{name}
%files devel
%{_includedir}/gmsh.h
%{_includedir}/gmshc.h
%{_includedir}/gmsh.h_cwrap
%{_includedir}/gmsh.f90
%{_libdir}/libgmsh.so
%{_includedir}/%{name}/
%{_libdir}/libGmsh.so
%files libs
%license LICENSE.txt
%{_libdir}/libgmsh.so.%{sover}*
%{_libdir}/libGmsh.so.3.0*
%files -n python3-%{name}
%{python3_sitelib}/gmsh.py
%{python3_sitelib}/__pycache__/gmsh.*.pyc
%{python3_sitelib}/gmsh-%{version}*.dist-info/
%{python3_sitearch}/gmshpy/
%if %{with openmpi}
%files openmpi
%{_libdir}/openmpi/bin/%{name}
%files openmpi-devel
%{_includedir}/openmpi*/gmsh.h
%{_includedir}/openmpi*/gmshc.h
%{_includedir}/openmpi*/gmsh.h_cwrap
%{_includedir}/openmpi*/gmsh.f90
%{_libdir}/openmpi/lib/libgmsh.so
%{_includedir}/openmpi*/%{name}/
%{_libdir}/openmpi/lib/libGmsh.so
%files openmpi-libs
%license LICENSE.txt
%{_libdir}/openmpi/lib/libgmsh.so.%{sover}*
%endif
%{_libdir}/openmpi/lib/libGmsh.so.3.0*
%if %{with mpich}
%files mpich
%{_libdir}/mpich/bin/%{name}
%files mpich-devel
%{_includedir}/mpich*/gmsh.h
%{_includedir}/mpich*/gmshc.h
%{_includedir}/mpich*/gmsh.h_cwrap
%{_includedir}/mpich*/gmsh.f90
%{_libdir}/mpich/lib/libgmsh.so
%{_includedir}/mpich*/%{name}/
%{_libdir}/mpich/lib/libGmsh.so
%files mpich-libs
%license LICENSE.txt
%{_libdir}/mpich/lib/libgmsh.so.%{sover}*
%endif
%{_libdir}/mpich/lib/libGmsh.so.3.0*
%changelog
* Sun Oct 26 2025 Sandro Mani <manisandro@gmail.com> - 4.15.0-1
- Update to 4.15.0
* Fri Sep 19 2025 Python Maint <python-maint@redhat.com> - 4.14.1-2
- Rebuilt for Python 3.14.0rc3 bytecode
* Tue Sep 02 2025 Sandro Mani <manisandro@gmail.com> - 4.14.1-1
- Update to 4.14.1
* Fri Aug 15 2025 Python Maint <python-maint@redhat.com> - 4.14.0-4
- Rebuilt for Python 3.14.0rc2 bytecode
* Wed Jul 23 2025 Fedora Release Engineering <releng@fedoraproject.org> - 4.14.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
* Thu Jul 17 2025 Sandro Mani <manisandro@gmail.com> - 4.14.0-2
- Use %%cmake_build instead of make
* Fri Jul 04 2025 Sandro Mani <manisandro@gmail.com> - 4.14.0-1
- Update to 4.14.0
* Wed Jun 04 2025 Python Maint <python-maint@redhat.com> - 4.13.2-12
- Rebuilt for Python 3.14
* Thu May 29 2025 Richard Shaw <hobbes1069@gmail.com> - 4.13.2-11
- Rebuild for opencascade 7.9.1.
* Wed May 28 2025 Richard Shaw <hobbes1069@gmail.com> - 4.13.2-10
- Rebuild for opencascade 7.9.1.
* Sat May 24 2025 Sandro Mani <manisandro@gmail.com> - 4.13.2-9
- Add fix for GCC15 build failure
* Mon Feb 3 2025 Jaroslav Škarvada <jskarvad@redhat.com> - 4.13.2-8
- Rebuild for tcl/tk
* Tue Jan 28 2025 Sandro Mani <manisandro@gmail.com> - 4.13.2-7
- Rebuild (cgnslib)
* Fri Jan 24 2025 Sandro Mani <manisandro@gmail.com> - 4.13.2-6
- Rebuild (cgnslib)
* Thu Jan 16 2025 Fedora Release Engineering <releng@fedoraproject.org> - 4.13.2-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
* Fri Oct 25 2024 Orion Poplawski <orion@nwra.com> - 4.13.2-4
- Rebuild for hdf5 1.14.5
* Thu Jul 18 2024 Fedora Release Engineering <releng@fedoraproject.org> - 4.13.2-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
* Sun Jun 09 2024 Python Maint <python-maint@redhat.com> - 4.13.2-2
- Rebuilt for Python 3.13
* Tue Jun 04 2024 Sandro Mani <manisandro@gmail.com> - 4.13.2-1
- Update to 4.13.2
* Sun Jun 02 2024 Richard Shaw <hobbes1069@gmail.com> - 4.13.1-2
- Rebuild for opencascade 7.8.1.
* Wed May 08 2024 Sandro Mani <manisandro@gmail.com> - 4.13.1-1
- Update to 4.13.1
* Tue Apr 09 2024 Benjamin A. Beasley <code@musicinmybrain.net> - 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 <hobbes1069@gmail.com> - 4.13.0-2
- Rebuild for OpenCascade 7.8.0.
* Tue Feb 27 2024 Sandro Mani <manisandro@gmail.com> - 4.13.0-1
- Update to 4.13.0
* Tue Jan 23 2024 Sandro Mani <manisandro@gmail.com> - 4.12.2-1
- Update to 4.12.2
* Fri Jan 19 2024 Fedora Release Engineering <releng@fedoraproject.org> - 4.12.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Sun Jan 14 2024 Sandro Mani <manisandro@gmail.com> - 4.12.1-1
- Update to 4.12.1
* Mon Jan 01 2024 Sandro Mani <manisandro@gmail.com> - 4.12.0-1
- Update to 4.12.0
* Sun Oct 29 2023 Orion Poplawski <orion@nwra.com> - 4.11.1-7
- Rebuild for openmpi 5.0.0, drops i686 and C++ API
* Wed Jul 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 4.11.1-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Thu Jul 06 2023 Sandro Mani <manisandro@gmail.com> - 4.11.1-5
- Rebuild (cgnslib)
* Sat Jun 17 2023 Python Maint <python-maint@redhat.com> - 4.11.1-4
- Rebuilt for Python 3.12
* Thu Jan 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 4.11.1-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Sat Jan 14 2023 Richard Shaw <hobbes1069@gmail.com> - 4.11.1-2
- Rebuild for opencascade.
* Wed Dec 21 2022 Sandro Mani <manisandro@gmail.com> - 4.11.1-1
- Update to 4.11.1
* Tue Nov 08 2022 Sandro Mani <manisandro@gmail.com> - 4.11.0-1
- Update to 4.11.0
* Thu Jul 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 4.10.5-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Sun Jul 03 2022 Sandro Mani <manisandro@gmail.com> - 4.10.5-1
- Update to 4.10.5
* Mon Jun 20 2022 Python Maint <python-maint@redhat.com> - 4.10.4-2
- Rebuilt for Python 3.11
* Sun Jun 19 2022 Sandro Mani <manisandro@gmail.com> - 4.10.4-1
- Update to 4.10.4
* Mon Jun 13 2022 Python Maint <python-maint@redhat.com> - 4.10.3-2
- Rebuilt for Python 3.11
* Mon May 30 2022 Sandro Mani <manisandro@gmail.com> - 4.10.3-1
- Update to 4.10.3
* Fri May 13 2022 Sandro Mani <manisandro@gmail.com> - 4.10.2-1
- Update to 4.10.2
* Mon May 09 2022 Sandro Mani <manisandro@gmail.com> - 4.10.1-2
- Fix removing bundled libraries
* Tue May 03 2022 Sandro Mani <manisandro@gmail.com> - 4.10.1-1
- Update to 4.10.1
* Tue Apr 26 2022 Sandro Mani <manisandro@gmail.com> - 4.10.0-1
- Update to 4.10.0
* Tue Mar 22 2022 Sandro Mani <manisandro@gmail.com> - 4.9.5-2
- Rebuild for cgnslib-4.3.0
* Mon Feb 21 2022 Richard Shaw <hobbes1069@gmail.com> - 4.9.5-1
- Update to 4.9.5.
* Fri Feb 04 2022 Sandro Mani <manisandro@gmail.com> - 4.9.4-1
- Update to 4.9.4
* Thu Jan 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 4.9.3-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Sat Jan 08 2022 Sandro Mani <manisandro@gmail.com> - 4.9.3-1
- Update to 4.9.3
* Thu Dec 23 2021 Richard Shaw <hobbes1069@gmail.com> - 4.9.2-1
- Update to 4.9.2.
* Sat Dec 18 2021 Richard Shaw <hobbes1069@gmail.com> - 4.9.1-1
- Update to 4.9.1.
* Fri Dec 03 2021 Richard Shaw <hobbes1069@gmail.com> - 4.9.0-1
- Update to 4.9.0.
* Wed Oct 27 2021 Sandro Mani <manisandro@gmail.com> - 4.8.4-6
- Rebuild (alglib)
* Thu Jul 22 2021 Fedora Release Engineering <releng@fedoraproject.org> - 4.8.4-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Tue Jul 13 2021 Björn Esser <besser82@fedoraproject.org> - 4.8.4-4
- Properly set BLA_VENDOR to FlexiBLAS for cmake >= 3.19
* Fri Jun 04 2021 Python Maint <python-maint@redhat.com> - 4.8.4-3
- Rebuilt for Python 3.10
* Thu Apr 29 2021 Sandro Mani <manisandro@gmail.com> - 4.8.4-2
- Rebuild (cgnslib)
* Thu Apr 29 2021 Sandro Mani <manisandro@gmail.com> - 4.8.4-1
- Update to 4.8.4
* Tue Apr 06 2021 Sandro Mani <manisandro@gmail.com> - 4.8.3-1
- Update to 4.8.3
* Mon Mar 29 2021 Sandro Mani <manisandro@gmail.com> - 4.8.2-1
- Update to 4.8.2
* Wed Mar 24 2021 Sandro Mani <manisandro@gmail.com> - 4.8.1-1
- Update to 4.8.1
* Tue Mar 02 2021 Sandro Mani <manisandro@gmail.com> - 4.8.0-1
- Update to 4.8.0
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 4.7.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Mon Nov 16 2020 Richard Shaw <hobbes1069@gmail.com> - 4.7.1-1
- Update to 4.7.1.
* Sun Nov 08 2020 Richard Shaw <hobbes1069@gmail.com> - 4.7.0-1
- Update to 4.7.0.
* Thu Aug 27 2020 Iñaki Úcar <iucar@fedoraproject.org> - 4.6.0-5
- https://fedoraproject.org/wiki/Changes/FlexiBLAS_as_BLAS/LAPACK_manager
* Sat Aug 01 21:40:30 GMT 2020 Sandro Mani <manisandro@gmail.com> - 4.6.0-4
- Rebuild (med)
* Mon Jul 27 2020 Fedora Release Engineering <releng@fedoraproject.org> - 4.6.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Fri Jul 24 2020 Jeff Law <law@redhat.com> - 4.6.0-2
- Use __cmake_in_source_build
* Mon Jul 13 2020 Sandro Mani <manisandro@gmail.com> - 4.6.0-1
- Update to 4.6.0
* Tue May 26 2020 Miro Hrončok <mhroncok@redhat.com> - 4.5.6-4
- Rebuilt for Python 3.9
* Fri May 08 2020 Richard Shaw <hobbes1069@gmail.com> - 4.5.6-3
- Rebuild for unannounced soname bump in libcgns.
* Mon Apr 06 2020 Sandro Mani <manisandro@gmail.com> - 4.5.6-2
- Unbundle gl2ps (#1821461)
* Mon Mar 30 2020 Sandro Mani <manisandro@gmail.com> - 4.5.6-1
- Update to 4.5.6
* Sat Mar 21 2020 Sandro Mani <manisandro@gmail.com> - 4.5.5-1
- Update to 4.5.5
* Mon Mar 02 2020 Sandro Mani <manisandro@gmail.com> - 4.5.4-1
- Update to 4.5.4
* Sat Feb 22 2020 Sandro Mani <manisandro@gmail.com> - 4.5.3-1
- Update to 4.5.3
* Fri Feb 21 2020 Sandro Mani <manisandro@gmail.com> - 4.5.2-3
- Rebuild (cgnslib)
* Mon Feb 17 2020 Sandro Mani <manisandro@gmail.com> - 4.5.2-2
- Rebuild (cgnslib)
* Thu Jan 30 2020 Richard Shaw <hobbes1069@gmail.com> - 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 <releng@fedoraproject.org> - 4.5.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Sat Dec 28 2019 Sandro Mani <manisandro@gmail.com> - 4.5.1-1
- Update to 4.5.1
* Thu Oct 03 2019 Miro Hrončok <mhroncok@redhat.com> - 4.4.1-3
- Rebuilt for Python 3.8.0rc1 (#1748018)
* Mon Aug 19 2019 Miro Hrončok <mhroncok@redhat.com> - 4.4.1-2
- Rebuilt for Python 3.8
* Mon Jul 29 2019 Sandro Mani <manisandro@gmail.com> - 4.4.1-1
- Update to 4.4.1
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 4.4.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Mon Jul 01 2019 Sandro Mani <manisandro@gmail.com> - 4.4.0-1
- Update to 4.4.0
* Fri Apr 19 2019 Sandro Mani <manisandro@gmail.com> - 4.3.0-1
- Update to 4.3.0
* Thu Apr 04 2019 Sandro Mani <manisandro@gmail.com> - 4.2.3-1
- Update to 4.2.3
* Thu Mar 21 2019 Sandro Mani <manisandro@gmail.com> - 4.2.2-2
- Cleanup spec, drop references to non existing contrib modules
- Enable MeshOptimizer, QuadTri
- Clarify license
* Mon Mar 18 2019 Orion Poplawski <orion@nwra.com>
- Rebuild for hdf5 1.10.5
* Wed Mar 13 2019 Sandro Mani <manisandro@gmail.com> - 4.2.2-1
- Update to 4.2.2
* Tue Mar 12 2019 Sandro Mani <manisandro@gmail.com> - 4.2.1-3
- Rebuild (cgnslib)
* Mon Mar 11 2019 Sandro Mani <manisandro@gmail.com> - 4.2.1-2
- Drop private API packages by upstream request
- Enable OpenMP in serial version
- Cleanup BuildRequires
* Thu Mar 07 2019 Sandro Mani <manisandro@gmail.com> - 4.2.1-1
- Update to 4.2.1
* Wed Mar 06 2019 Sandro Mani <manisandro@gmail.com> - 4.2.0-1
- Update to 4.2.0
* Sat Feb 23 2019 Sandro Mani <manisandro@gmail.com> - 4.1.5-2
- Rebuild (alglib)
* Fri Feb 15 2019 Sandro Mani <manisandro@gmail.com> - 4.1.5-1
- Update to 4.1.5
* Thu Feb 14 2019 Orion Poplawski <orion@nwra.com> - 4.1.4-2
- Rebuild for openmpi 3.1.3
* Mon Feb 04 2019 Sandro Mani <manisandro@gmail.com> - 4.1.4-1
- Update to 4.1.4
* Thu Jan 31 2019 Fedora Release Engineering <releng@fedoraproject.org> - 4.1.3-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Thu Jan 24 2019 Sandro Mani <manisandro@gmail.com> - 4.1.3-1
- Update to 4.1.3
* Tue Jan 22 2019 Sandro Mani <manisandro@gmail.com> - 4.1.2-1
- Update to 4.1.2
* Sun Jan 20 2019 Richard Shaw <hobbes1069@gmail.com> - 4.1.1-1
- Update to 4.1.1.
* Mon Jan 14 2019 Sandro Mani <manisandro@gmail.com> - 4.1.0-1
- Update to 4.1.0
* Mon Dec 10 2018 Sandro Mani <manisandro@gmail.com> - 4.0.7-1
- Update to 4.0.7
* Sun Nov 25 2018 Sandro Mani <manisandro@gmail.com> - 4.0.6-1
- Update to 4.0.6
* Fri Nov 16 2018 Sandro Mani <manisandro@gmail.com> - 4.0.5-1
- Update to 4.0.5
* Mon Oct 22 2018 Sandro Mani <manisandro@gmail.com> - 4.0.4-1
- Update to 4.0.4
* Thu Sep 27 2018 Sandro Mani <manisandro@gmail.com> - 4.0.2-1
- Update to 4.0.2
* Mon Sep 10 2018 Sandro Mani <manisandro@gmail.com> - 4.0.1-1
- Update to 4.0.1
* Thu Aug 23 2018 Sandro Mani <manisandro@gmail.com> - 4.0.0-1
- Update to 4.0.0
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 3.0.6-11
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Mon Jul 02 2018 Miro Hrončok <mhroncok@redhat.com> - 3.0.6-10
- Rebuilt for Python 3.7
* Sun Jul 01 2018 Sandro Mani <manisandro@gmail.com> - 3.0.6-9
- Rebuild (alglib)
* Tue Jun 19 2018 Miro Hrončok <mhroncok@redhat.com> - 3.0.6-8
- Rebuilt for Python 3.7
* Mon Jun 11 2018 Sandro Mani <manisandro@gmail.com> - 3.0.6-7
- Rebuild (mmg3d)
* Sat Mar 10 2018 Sandro Mani <manisandro@gmail.com> - 3.0.6-6
- Rebuild (med)

142
gmsh_alglib.patch Normal file
View file

@ -0,0 +1,142 @@
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 <alglib/ap.h>
+#include <alglib/alglibinternal.h>
+#include <alglib/alglibmisc.h>
+#include <alglib/linalg.h>
+#include <alglib/optimization.h>
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 <alglib/ap.h>
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 <alglib/ap.h>
+#include <alglib/alglibinternal.h>
+#include <alglib/alglibmisc.h>
+#include <alglib/linalg.h>
+#include <alglib/optimization.h>
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 <alglib/ap.h>
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 <string>
-#include "ap.h"
+#include <alglib/ap.h>
#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 <string>
#include <vector>
-#include "ap.h"
+#include <alglib/ap.h>
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 <alglib/stdafx.h>
+#include <alglib/optimization.h>
#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 <alglib/ap.h>
+#include <alglib/alglibinternal.h>
+#include <alglib/alglibmisc.h>
+#include <alglib/linalg.h>
+#include <alglib/optimization.h>
#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 <alglib/ap.h>
+#include <alglib/alglibinternal.h>
+#include <alglib/alglibmisc.h>
+#include <alglib/linalg.h>
+#include <alglib/optimization.h>
#include "polynomialBasis.h"
#include "MElementOctree.h"
#include "GModel.h"

95
gmsh_build.patch Normal file
View file

@ -0,0 +1,95 @@
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 <FL/Fl.H>
-#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 <FL/Fl.H>
+#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 <gmsh@onelab.info>.
+#include "GmshConfig.h"
+
+#if defined(HAVE_MED)
+#include "med.h"
+#endif
+
#include <sstream>
#include <algorithm>
#include <FL/Fl_Help_View.H>
#include <FL/Fl_Check_Button.H>
#include <FL/Fl_Input.H>
#include <FL/Fl_Color_Chooser.H>
-#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 <med.h>
-}
#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 <med.h>
-}
#if (MED_MAJOR_NUM == 3)
// To avoid too many ifdefs below we use defines for the bits of the

56
gmsh_c++14.patch Normal file
View file

@ -0,0 +1,56 @@
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/)

View file

@ -1,22 +0,0 @@
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()

45
gmsh_install-dirs.patch Normal file
View file

@ -0,0 +1,45 @@
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");
}

View file

@ -1,12 +0,0 @@
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

View file

@ -1,12 +0,0 @@
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)

View file

@ -1,48 +1,60 @@
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 @@
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 @@
#endif
#if defined(HAVE_MED)
-#include <med.h>
-#include "med.h"
+#include <med/med.h>
#endif
#if defined(HAVE_POST)
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
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"
#if defined(HAVE_MED)
-#include <med.h>
-#include "med.h"
+#include <med/med.h>
#endif
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 <sstream>
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"
#include "discreteVertex.h"
#include "Context.h"
-#include <med.h>
+#include <med/med.h>
#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 --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 @@
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[
#if defined(HAVE_MED)
-#include <med.h>
+#include <med/med.h>
#if(MED_MAJOR_NUM >= 3)
#if (MED_MAJOR_NUM == 3)
// To avoid too many ifdefs below we use defines for the bits of the

View file

@ -1,29 +0,0 @@
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");
}

View file

@ -1,48 +0,0 @@
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

35
gmsh_tetgen.patch Normal file
View file

@ -0,0 +1,35 @@
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");

139
gmsh_unbundle.patch Normal file
View file

@ -0,0 +1,139 @@
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 <libmmg3d.h>
+#include <libmmg3d4.h>
#define M_UNUSED (1 << 0)
}

View file

@ -1,23 +0,0 @@
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

View file

@ -1 +1 @@
SHA512 (gmsh-4.15.0-source-fedora.tar.xz) = eac4f6e8cd342ec07e1a83cae966d81716e1d158398ed930c82322b61785f8ab38c84ec07efc91f7be523d872e3331e1a64ce81b20a8c899a82107fab9834add
SHA512 (gmsh-3.0.6-source-fedora.tar.xz) = 535bfa34f20b33e202197e4dfe1710fcae137d0836c906171012244188564f67243fabecbf0ad42a39e5a0242f475519c86e7060d08746ee2bb2709a4cad4e5e