OBS-URL: https://build.opensuse.org/package/show/science/med-tools?expand=0&rev=29
232 lines
7.2 KiB
RPMSpec
232 lines
7.2 KiB
RPMSpec
#
|
|
# spec file for package med-tools
|
|
#
|
|
# Copyright (c) 2025 SUSE LLC
|
|
#
|
|
# All modifications and additions to the file contributed by third parties
|
|
# remain the property of their copyright owners, unless otherwise agreed
|
|
# upon. The license for this file, and modifications and additions to the
|
|
# file, is the same license as for the pristine package itself (unless the
|
|
# license for the pristine package is not an Open Source License, in which
|
|
# case the license is the MIT License). An "Open Source License" is a
|
|
# license that conforms to the Open Source Definition (Version 1.9)
|
|
# published by the Open Source Initiative.
|
|
|
|
# Please submit bugfixes or comments via https://bugs.opensuse.org/
|
|
#
|
|
|
|
|
|
%define sover 11
|
|
|
|
%bcond_without python_bindings
|
|
%bcond_with mpi
|
|
|
|
Name: med-tools
|
|
Summary: A library to store and exchange meshed data
|
|
License: LGPL-3.0-only
|
|
Group: Productivity/Graphics/Other
|
|
Version: 5.0.0
|
|
Release: 0
|
|
URL: https://www.salome-platform.org/
|
|
# Download server is unreachable except for specific user-agents, causing issues with bots
|
|
# curl -A MozillaFirefox https://files.salome-platform.org/Salome/medfile/med-%{version}.tar.bz2
|
|
# sha256sum 267e76d0c67ec51c10e3199484ec1508baa8d5ed845c628adf660529dce7a3d4
|
|
Source0: med-%{version}.tar.bz2
|
|
# PATCH-FIX-OPENSUSE
|
|
Patch0: fix-cmakefiles.patch
|
|
# PATCH-FIX-OPENSUSE
|
|
Patch1: 0003-Avoid-format-warnings-on-64-bit.patch
|
|
# PATCH-FIX-OPENSUSE
|
|
Patch2: use_installed_python_modules_for_tests.patch
|
|
# PATCH-FIX-OPENSUSE
|
|
Patch3: Fix-no_return_in_nonvoid_function.patch
|
|
# PATCH-FIX-OPENSUSE
|
|
Patch4: 0001-Fix-AppendOutput-signature-for-Swig-4.3.patch
|
|
# PATCH-FIX-UPSTREAM
|
|
Patch5: https://src.fedoraproject.org/rpms/med/raw/rawhide/f/hdf5-1.14.patch#/med-tools-hdf1_14.patch
|
|
# PATCH-FIX-UPSTREAM rebase based on ref:https://src.fedoraproject.org/rpms/med/blob/rawhide/f/med-py3.13.patch
|
|
Patch6: med-tools-python3_13.patch
|
|
# PATCH-FIX-UPSTREAM
|
|
Patch7: https://src.fedoraproject.org/rpms/med/raw/rawhide/f/med-gcc15.patch#/med-tools-gcc15.patch
|
|
BuildRequires: cmake
|
|
BuildRequires: fdupes
|
|
BuildRequires: gcc
|
|
BuildRequires: gcc-c++
|
|
BuildRequires: gcc-fortran
|
|
BuildRequires: hdf5-devel >= 1.12.1
|
|
BuildRequires: make
|
|
BuildRequires: zlib-devel
|
|
%if %{with python_bindings}
|
|
BuildRequires: python3-devel
|
|
BuildRequires: swig >= 4.1
|
|
%endif
|
|
# test suite fails and we don't build FreeCAD on 32bit either anymore
|
|
ExcludeArch: %ix86
|
|
|
|
%description
|
|
MED-fichier (Modélisation et Echanges de Données,
|
|
in English Modelisation and Data Exchange) is a library
|
|
to store and exchange meshed data or computation results.
|
|
It uses the HDF5 file format to store the data.
|
|
|
|
%package -n libmedC%{sover}
|
|
Summary: C++ API for the MED mesh data library
|
|
Group: System/Libraries
|
|
|
|
%description -n libmedC%{sover}
|
|
MED-fichier (Modélisation et Echanges de Données,
|
|
in English Modelisation and Data Exchange) is a library
|
|
to store and exchange meshed data or computation results.
|
|
It uses the HDF5 file format to store the data.
|
|
|
|
%package -n libmedfwrap%{sover}
|
|
Summary: Fortran API for the MED mesh data library
|
|
Group: System/Libraries
|
|
|
|
%description -n libmedfwrap%{sover}
|
|
MED-fichier (Modélisation et Echanges de Données,
|
|
in English Modelisation and Data Exchange) is a library
|
|
to store and exchange meshed data or computation results.
|
|
It uses the HDF5 file format to store the data.
|
|
|
|
%package -n libmed%{sover}
|
|
Summary: A library to store and exchange meshed data
|
|
Group: System/Libraries
|
|
|
|
%description -n libmed%{sover}
|
|
MED-fichier (Modélisation et Echanges de Données,
|
|
in English Modelisation and Data Exchange) is a library
|
|
to store and exchange meshed data or computation results.
|
|
It uses the HDF5 file format to store the data.
|
|
|
|
%package -n libmed-python
|
|
Summary: Python wrapper for the MED library
|
|
Group: Development/Languages/Python
|
|
|
|
%description -n libmed-python
|
|
MED-fichier (Modélisation et Echanges de Données,
|
|
in English Modelisation and Data Exchange) is a library
|
|
to store and exchange meshed data or computation results.
|
|
It uses the HDF5 file format to store the data.
|
|
|
|
This package contains the python bindings
|
|
|
|
%package -n libmed-devel
|
|
Requires: hdf5-devel >= 1.12.1
|
|
Requires: libmed%{sover} = %{version}
|
|
Requires: libmedC%{sover} = %{version}
|
|
Requires: libmedimport0 = %{version}
|
|
Summary: Libmed development files
|
|
Group: Development/Libraries/C and C++
|
|
|
|
%description -n libmed-devel
|
|
MED-fichier (Modélisation et Echanges de Données,
|
|
in English Modelisation and Data Exchange) is a library
|
|
to store and exchange meshed data or computation results.
|
|
It uses the HDF5 file format to store the data.
|
|
|
|
%package -n libmedimport0
|
|
Summary: MED import Library
|
|
Group: System/Libraries
|
|
|
|
%description -n libmedimport0
|
|
MED-fichier (Modélisation et Echanges de Données,
|
|
in English Modelisation and Data Exchange) is a library
|
|
to store and exchange meshed data or computation results.
|
|
It uses the HDF5 file format to store the data.
|
|
|
|
%package doc
|
|
Summary: MED documentation
|
|
Group: Documentation/HTML
|
|
BuildArch: noarch
|
|
|
|
%description doc
|
|
MED-fichier (Modélisation et Echanges de Données,
|
|
in English Modelisation and Data Exchange) is a library
|
|
to store and exchange meshed data or computation results.
|
|
It uses the HDF5 file format to store the data.
|
|
|
|
%prep
|
|
%autosetup -p1 -n med-%{version}
|
|
|
|
# Fix file not utf8
|
|
iconv --from=ISO-8859-1 --to=UTF-8 ChangeLog > ChangeLog.new && \
|
|
touch -r ChangeLog ChangeLog.new && \
|
|
mv ChangeLog.new ChangeLog
|
|
|
|
%build
|
|
%cmake \
|
|
-DMEDFILE_BUILD_PYTHON:BOOL=%{?with_python_bindings:ON}%{!?with_python_bindings:OFF} \
|
|
-DMEDFILE_USE_MPI:BOOL=%{?with_mpi:ON}%{!?with_mpi:OFF} \
|
|
-DMEDFILE_INSTALL_DOC:BOOL=ON
|
|
|
|
%cmake_build
|
|
|
|
%install
|
|
%cmake_install
|
|
|
|
# drop tests
|
|
rm -rf %buildroot/usr/bin/test*
|
|
|
|
# fix bash tag
|
|
sed -i -e 's,/usr/bin/env wish,/usr/bin/wish,' %buildroot/usr/bin/xmdump*
|
|
|
|
# move documentation
|
|
mkdir -p %{buildroot}/%{_docdir}
|
|
mv %{buildroot}/%{_datadir}/doc/med* %{buildroot}/%{_docdir}/med-tools
|
|
|
|
# add missing symlinks, install tries to generate these outside the buildroot
|
|
ln -sf mdump3 %{buildroot}/usr/bin/mdump
|
|
ln -sf xmdump3 %{buildroot}/usr/bin/xmdump
|
|
|
|
%fdupes %{buildroot}%{_datadir}
|
|
%fdupes %{buildroot}%{_includedir}
|
|
%if %{with python_bindings}
|
|
%fdupes %{buildroot}%{python_sitearch}
|
|
%endif
|
|
|
|
%check
|
|
cd build
|
|
export LC_ALL=C.utf8
|
|
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:%{buildroot}%{_libdir}
|
|
export PYTHONPATH=$PYTHONPATH:%{buildroot}%{python3_sitearch}
|
|
%make_build test ARGS="--output-on-failure"
|
|
|
|
%ldconfig_scriptlets -n libmed%{sover}
|
|
%ldconfig_scriptlets -n libmedC%{sover}
|
|
%ldconfig_scriptlets -n libmedfwrap%{sover}
|
|
%ldconfig_scriptlets -n libmedimport0
|
|
|
|
%files
|
|
%{_bindir}/mdump*
|
|
%{_bindir}/medconforme
|
|
%{_bindir}/medimport
|
|
%{_bindir}/xmdump*
|
|
|
|
%files -n libmed%{sover}
|
|
%{_libdir}/libmed.so.*
|
|
|
|
%files -n libmed-devel
|
|
%{_datadir}/cmake/*
|
|
%{_includedir}/*
|
|
%{_libdir}/*.so
|
|
|
|
%files -n libmedC%{sover}
|
|
%{_libdir}/libmedC.so.*
|
|
|
|
%files -n libmedfwrap%{sover}
|
|
%{_libdir}/libmedfwrap.so.*
|
|
|
|
%files -n libmedimport0
|
|
%{_libdir}/libmedimport.so.*
|
|
|
|
%if %{with python_bindings}
|
|
%files -n libmed-python
|
|
%{_libdir}/python*
|
|
%endif
|
|
|
|
%files doc
|
|
%{_docdir}/med-tools
|
|
|
|
%changelog
|