Compare commits
10 Commits
de6786f4b2
...
bc8956cea8
Author | SHA1 | Date |
---|---|---|
David Abdurachmanov | bc8956cea8 | |
Sandro Mani | 669f31d926 | |
Orion Poplawski | 54bf13eec1 | |
Orion Poplawski | 6ac8d12b23 | |
Orion Poplawski | 3b88f3fa84 | |
Orion Poplawski | e984408381 | |
Orion Poplawski | 5f9a1f7ae7 | |
Yaakov Selkowitz | b3db91756a | |
Fedora Release Engineering | 9b75c31167 | |
Sandro Mani | d7c5c6ec01 |
196
vtk.spec
196
vtk.spec
|
@ -9,13 +9,27 @@
|
|||
# TODO - buid separate OSMesa version if desired
|
||||
%bcond_with OSMesa
|
||||
# No more Java on i686
|
||||
%ifarch %{java_arches}
|
||||
%ifnarch riscv64
|
||||
%bcond_without java
|
||||
%else
|
||||
%bcond_with java
|
||||
%endif
|
||||
%if 0%{?flatpak}
|
||||
%bcond_with mpich
|
||||
%bcond_with openmpi
|
||||
%else
|
||||
%bcond_without mpich
|
||||
# No openmpi on i668 with openmpi 5 in Fedora 40+
|
||||
%if 0%{?fedora} >= 40
|
||||
%ifarch %{ix86}
|
||||
%bcond_with openmpi
|
||||
%else
|
||||
%bcond_without openmpi
|
||||
%endif
|
||||
%else
|
||||
%bcond_without openmpi
|
||||
%endif
|
||||
%endif
|
||||
# s390x on EL8 does not have xorg-x11-drv-dummy
|
||||
%if 0%{?rhel}
|
||||
%ifarch s390x
|
||||
|
@ -40,7 +54,7 @@
|
|||
Summary: The Visualization Toolkit - A high level 3D visualization library
|
||||
Name: vtk
|
||||
Version: 9.2.6
|
||||
Release: 4%{?dist}
|
||||
Release: 11.0.riscv64%{?dist}
|
||||
License: BSD-3-Clause
|
||||
Source0: https://www.vtk.org/files/release/9.2/VTK-%{version}.tar.gz
|
||||
Source1: https://www.vtk.org/files/release/9.2/VTKData-%{version}.tar.gz
|
||||
|
@ -274,7 +288,7 @@ Requires: %{name}-java%{?_isa} = %{version}-%{release}
|
|||
%endif
|
||||
Requires: python%{python3_pkgversion}-%{name}%{?_isa} = %{version}-%{release}
|
||||
Requires: hdf5-devel%{?_isa}
|
||||
Requires: netcdf-mpich-devel%{?_isa}
|
||||
Requires: netcdf-cxx-devel%{?_isa}
|
||||
%{vtk_devel_requires}
|
||||
|
||||
%description devel
|
||||
|
@ -317,7 +331,10 @@ Requires: %{name}%{?_isa} = %{version}-%{release}
|
|||
%description qt
|
||||
Qt bindings for VTK.
|
||||
|
||||
%global mpi_list %{nil}
|
||||
|
||||
%if %{with mpich}
|
||||
%global mpi_list %mpi_list mpich
|
||||
%package mpich
|
||||
Summary: The Visualization Toolkit - mpich version
|
||||
|
||||
|
@ -343,6 +360,7 @@ Requires: %{name}-mpich%{?_isa} = %{version}-%{release}
|
|||
Requires: python%{python3_pkgversion}-%{name}-mpich%{?_isa} = %{version}-%{release}
|
||||
Requires: mpich-devel
|
||||
Requires: hdf5-mpich-devel%{?_isa}
|
||||
Requires: netcdf-mpich-devel%{?_isa}
|
||||
%{vtk_devel_requires}
|
||||
|
||||
%description mpich-devel
|
||||
|
@ -386,6 +404,7 @@ Qt bindings for VTK with mpich.
|
|||
%endif
|
||||
|
||||
%if %{with openmpi}
|
||||
%global mpi_list %mpi_list openmpi
|
||||
%package openmpi
|
||||
Summary: The Visualization Toolkit - openmpi version
|
||||
|
||||
|
@ -462,6 +481,13 @@ Obsoletes: vtkdata < 6.1.0-3
|
|||
%description data
|
||||
VTK data files for tests and examples.
|
||||
|
||||
%package doc
|
||||
Summary: API documentation for VTK
|
||||
BuildArch: noarch
|
||||
|
||||
%description doc
|
||||
Generated API documentation for VTK
|
||||
|
||||
%package testing
|
||||
Summary: Testing programs for VTK
|
||||
Requires: %{name}%{?_isa} = %{version}-%{release}, %{name}-data = %{version}
|
||||
|
@ -502,22 +528,6 @@ cp -a Examples vtk-examples
|
|||
find vtk-examples -type f | xargs chmod -R a-x
|
||||
|
||||
|
||||
%build
|
||||
export CFLAGS="%{optflags} -D_UNICODE -DHAVE_UINTPTR_T"
|
||||
export CXXFLAGS="%{optflags} -D_UNICODE -DHAVE_UINTPTR_T"
|
||||
export CPPFLAGS=-DACCEPT_USE_OF_DEPRECATED_PROJ_API_H
|
||||
%if %{with java}
|
||||
export JAVA_HOME=/usr/lib/jvm/java
|
||||
%ifarch %{arm} s390x
|
||||
# getting "java.lang.OutOfMemoryError: Java heap space" during the build
|
||||
export JAVA_TOOL_OPTIONS=-Xmx2048m
|
||||
%endif
|
||||
%ifarch %{arm}
|
||||
# Likely running out of memory during build
|
||||
%global _smp_ncpus_max 2
|
||||
%endif
|
||||
%endif
|
||||
|
||||
%global vtk_cmake_options \\\
|
||||
-DCMAKE_INSTALL_DOCDIR=share/doc/%{name} \\\
|
||||
-DCMAKE_INSTALL_JARDIR=share/java \\\
|
||||
|
@ -569,7 +579,25 @@ export JAVA_TOOL_OPTIONS=-Xmx2048m
|
|||
# https://gitlab.kitware.com/cmake/cmake/issues/17223
|
||||
#-DVTK_MODULE_ENABLE_VTK_IOPostgreSQL:STRING=YES \\\
|
||||
|
||||
%global _vpath_builddir build
|
||||
# $mpi will be evaluated in the loops below
|
||||
%global _vpath_builddir %{_vendor}-%{_target_os}-build-${mpi:-serial}
|
||||
|
||||
%build
|
||||
export CFLAGS="%{optflags} -D_UNICODE -DHAVE_UINTPTR_T"
|
||||
export CXXFLAGS="%{optflags} -D_UNICODE -DHAVE_UINTPTR_T"
|
||||
export CPPFLAGS=-DACCEPT_USE_OF_DEPRECATED_PROJ_API_H
|
||||
%if %{with java}
|
||||
export JAVA_HOME=/usr/lib/jvm/java
|
||||
%ifarch %{arm} s390x
|
||||
# getting "java.lang.OutOfMemoryError: Java heap space" during the build
|
||||
export JAVA_TOOL_OPTIONS=-Xmx2048m
|
||||
%endif
|
||||
%ifarch %{arm}
|
||||
# Likely running out of memory during build
|
||||
%global _smp_ncpus_max 2
|
||||
%endif
|
||||
%endif
|
||||
|
||||
%cmake %{cmake_gen} \
|
||||
%{vtk_cmake_options} \
|
||||
-DVTK_BUILD_DOCUMENTATION:BOOL=ON \
|
||||
|
@ -578,39 +606,24 @@ export JAVA_TOOL_OPTIONS=-Xmx2048m
|
|||
%cmake_build -- --output-sync
|
||||
%cmake_build --target DoxygenDoc
|
||||
|
||||
%if %{with mpich}
|
||||
%global _vpath_builddir build-mpich
|
||||
%_mpich_load
|
||||
export CC=mpicc
|
||||
export CXX=mpic++
|
||||
%cmake %{cmake_gen} \
|
||||
%{vtk_cmake_options} \
|
||||
-DCMAKE_PREFIX_PATH:PATH=$MPI_HOME \
|
||||
-DCMAKE_INSTALL_PREFIX:PATH=$MPI_HOME \
|
||||
-DCMAKE_INSTALL_LIBDIR:PATH=lib \
|
||||
-DCMAKE_INSTALL_JNILIBDIR:PATH=lib/%{name} \
|
||||
-DCMAKE_INSTALL_QMLDIR:PATH=lib/qt5/qml \
|
||||
-DVTK_USE_MPI:BOOL=ON
|
||||
%cmake_build -- --output-sync
|
||||
%_mpich_unload
|
||||
%endif
|
||||
|
||||
%if %{with openmpi}
|
||||
%global _vpath_builddir build-openmpi
|
||||
%_openmpi_load
|
||||
export CC=mpicc
|
||||
export CXX=mpic++
|
||||
%cmake %{cmake_gen} \
|
||||
%{vtk_cmake_options} \
|
||||
-DCMAKE_PREFIX_PATH:PATH=$MPI_HOME \
|
||||
-DCMAKE_INSTALL_PREFIX:PATH=$MPI_HOME \
|
||||
-DCMAKE_INSTALL_LIBDIR:PATH=lib \
|
||||
-DCMAKE_INSTALL_JNILIBDIR:PATH=lib/%{name} \
|
||||
-DCMAKE_INSTALL_QMLDIR:PATH=lib/qt5/qml \
|
||||
-DVTK_USE_MPI:BOOL=ON
|
||||
%cmake_build -- --output-sync
|
||||
%_openmpi_unload
|
||||
%endif
|
||||
for mpi in %{mpi_list}
|
||||
do
|
||||
module load mpi/$mpi-%{_arch}
|
||||
#CMAKE_INSTALL_LIBDIR -> ARCHIVE_DESTINATION must not be an absolute path
|
||||
%cmake %{cmake_gen} \
|
||||
%{vtk_cmake_options} \
|
||||
-DCMAKE_PREFIX_PATH:PATH=$MPI_HOME \
|
||||
-DCMAKE_INSTALL_PREFIX:PATH=$MPI_HOME \
|
||||
-DCMAKE_INSTALL_LIBDIR:PATH=lib \
|
||||
-DCMAKE_INSTALL_JNILIBDIR:PATH=lib/%{name} \
|
||||
-DCMAKE_INSTALL_QMLDIR:PATH=lib/qt5/qml \
|
||||
-DVTK_USE_MPI:BOOL=ON
|
||||
%cmake_build -- --output-sync
|
||||
module purge
|
||||
done
|
||||
|
||||
# Remove executable bits from sources (some of which are generated)
|
||||
find . -name \*.c -or -name \*.cxx -or -name \*.h -or -name \*.hxx -or \
|
||||
|
@ -618,10 +631,9 @@ find . -name \*.c -or -name \*.cxx -or -name \*.h -or -name \*.hxx -or \
|
|||
|
||||
|
||||
%install
|
||||
%global _vpath_builddir build
|
||||
%cmake_install
|
||||
|
||||
pushd build
|
||||
pushd %{_vpath_builddir}
|
||||
# Gather list of non-java/python/qt libraries
|
||||
ls %{buildroot}%{_libdir}/*.so.* \
|
||||
| grep -Ev '(Java|Qt|Python)' | sed -e's,^%{buildroot},,' > libs.list
|
||||
|
@ -639,35 +651,25 @@ done
|
|||
# Fix up filelist paths
|
||||
perl -pi -e's,^,%{_bindir}/,' testing.list
|
||||
|
||||
# Install data
|
||||
mkdir -p %{buildroot}%{_datadir}/vtkdata
|
||||
cp -alL ExternalData/* %{buildroot}%{_datadir}/vtkdata/
|
||||
|
||||
popd
|
||||
|
||||
%if %{with mpich}
|
||||
%_mpich_load
|
||||
%global _vpath_builddir build-mpich
|
||||
%cmake_install
|
||||
for mpi in %{mpi_list}
|
||||
do
|
||||
module load mpi/$mpi-%{_arch}
|
||||
%cmake_install
|
||||
|
||||
# Gather list of non-java/pythonl/qt libraries
|
||||
ls %{buildroot}%{_libdir}/mpich/lib/*.so.* \
|
||||
| grep -Ev '(Java|Python|Qt)' | sed -e's,^%{buildroot},,' > build-mpich/libs.list
|
||||
# Gather list of non-java/pythonl/qt libraries
|
||||
ls %{buildroot}%{_libdir}/${mpi}/lib/*.so.* \
|
||||
| grep -Ev '(Java|Python|Qt)' | sed -e's,^%{buildroot},,' > %{_vpath_builddir}/libs.list
|
||||
|
||||
# Move licenses since we cannot install them outside of CMAKE_INSTALL_PREFIX (MPI_HOME)
|
||||
mv %{buildroot}%{_libdir}/mpich/share/licenses/vtk %{buildroot}%{_defaultlicensedir}/%{name}-mpich
|
||||
%_mpich_unload
|
||||
%endif
|
||||
|
||||
%if %{with openmpi}
|
||||
%_openmpi_load
|
||||
%global _vpath_builddir build-openmpi
|
||||
%cmake_install
|
||||
|
||||
# Gather list of non-java/python//qt libraries
|
||||
ls %{buildroot}%{_libdir}/openmpi/lib/*.so.* \
|
||||
| grep -Ev '(Java|Python|Qt)' | sed -e's,^%{buildroot},,' > build-openmpi/libs.list
|
||||
|
||||
# Move licenses since we cannot install them outside of CMAKE_INSTALL_PREFIX (MPI_HOME)
|
||||
mv %{buildroot}%{_libdir}/openmpi/share/licenses/vtk %{buildroot}%{_defaultlicensedir}/%{name}-openmpi
|
||||
%_openmpi_unload
|
||||
%endif
|
||||
# Move licenses since we cannot install them outside of CMAKE_INSTALL_PREFIX (MPI_HOME)
|
||||
mv %{buildroot}%{_libdir}/${mpi}/share/licenses/vtk %{buildroot}%{_defaultlicensedir}/%{name}-${mpi}
|
||||
module purge
|
||||
done
|
||||
|
||||
# Remove exec bit from non-scripts and %%doc
|
||||
for file in `find %{buildroot} -type f -perm 0755 \
|
||||
|
@ -681,9 +683,6 @@ find Utilities/Upgrading -type f -print0 | xargs -0 chmod -x
|
|||
mkdir -p _docs
|
||||
cp -pr --parents Wrapping/*/README* _docs/
|
||||
|
||||
# Install data
|
||||
mkdir -p %{buildroot}%{_datadir}/vtkdata
|
||||
cp -alL build/ExternalData/* %{buildroot}%{_datadir}/vtkdata/
|
||||
# Make noarch data sub-package the same on all arches
|
||||
# At the moment this only contains Java/Testing/Data/Baseline
|
||||
rm -rf %{buildroot}%{_datadir}/vtkdata/Wrapping
|
||||
|
@ -710,7 +709,6 @@ fi
|
|||
$Xorg -noreset +extension GLX +extension RANDR +extension RENDER -logfile ./xorg.log -config ./xorg.conf -configdir . :99 &
|
||||
export DISPLAY=:99
|
||||
%endif
|
||||
%global _vpath_builddir build
|
||||
export FLEXIBLAS=netlib
|
||||
%ctest --verbose || :
|
||||
%if %{with xdummy}
|
||||
|
@ -719,7 +717,7 @@ cat xorg.log
|
|||
%endif
|
||||
|
||||
|
||||
%files -f build/libs.list
|
||||
%files -f %{_vendor}-%{_target_os}-build-serial/libs.list
|
||||
%license %{_defaultlicensedir}/%{name}/
|
||||
%doc README.md _docs/Wrapping
|
||||
|
||||
|
@ -734,7 +732,6 @@ cat xorg.log
|
|||
%{_libdir}/cmake/%{name}/
|
||||
%dir %{_libdir}/%{name}
|
||||
%{_libdir}/%{name}/hierarchy/
|
||||
%{_docdir}/%{name}/
|
||||
|
||||
%files -n python%{python3_pkgversion}-vtk
|
||||
%{python3_sitearch}/*
|
||||
|
@ -757,7 +754,7 @@ cat xorg.log
|
|||
%{_libdir}/qt5/qml/*
|
||||
|
||||
%if %{with mpich}
|
||||
%files mpich -f build-mpich/libs.list
|
||||
%files mpich -f %{_vendor}-%{_target_os}-build-mpich/libs.list
|
||||
%license %{_defaultlicensedir}/%{name}-mpich/
|
||||
%doc README.md _docs/Wrapping
|
||||
|
||||
|
@ -795,7 +792,7 @@ cat xorg.log
|
|||
%endif
|
||||
|
||||
%if %{with openmpi}
|
||||
%files openmpi -f build-openmpi/libs.list
|
||||
%files openmpi -f %{_vendor}-%{_target_os}-build-openmpi/libs.list
|
||||
%license %{_defaultlicensedir}/%{name}-openmpi/
|
||||
%doc README.md _docs/Wrapping
|
||||
|
||||
|
@ -835,13 +832,40 @@ cat xorg.log
|
|||
%files data
|
||||
%{_datadir}/vtkdata
|
||||
|
||||
%files testing -f build/testing.list
|
||||
%files doc
|
||||
%{_docdir}/%{name}/
|
||||
|
||||
%files testing -f %{_vendor}-%{_target_os}-build-serial/testing.list
|
||||
|
||||
%files examples
|
||||
%doc vtk-examples/Examples
|
||||
|
||||
|
||||
%changelog
|
||||
* Thu Dec 07 2023 David Abdurachmanov <davidlt@rivosinc.com> - 9.2.6-11.0.riscv64
|
||||
- Disable Java for riscv64 to bootstrap
|
||||
|
||||
* Wed Nov 15 2023 Sandro Mani <manisandro@gmail.com> - 9.2.6-11
|
||||
- Rebuild (gdal)
|
||||
|
||||
* Thu Nov 02 2023 Philip Matura <pfed@tura-home.de> - 9.2.6-10
|
||||
- Move API docs to separate doc sub-package (bz#2247327)
|
||||
|
||||
* Wed Oct 11 2023 Orion Poplawski <orion@nwra.com> - 9.2.6-9
|
||||
- Rebuild for openslide 4.0.0
|
||||
|
||||
* Sun Sep 17 2023 Orion Poplawski <orion@nwra.com> - 9.2.6-8
|
||||
- Use loops for mpi builds/intalls
|
||||
|
||||
* Sun Sep 10 2023 Orion Poplawski <orion@nwra.com> - 9.2.6-7
|
||||
- Fix -devel deps on netcdf-*-devel
|
||||
|
||||
* Sat Jul 22 2023 Fedora Release Engineering <releng@fedoraproject.org> - 9.2.6-6
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
|
||||
|
||||
* Thu Jul 06 2023 Sandro Mani <manisandro@gmail.com> - 9.2.6-5
|
||||
- Rebuild (cgnslib)
|
||||
|
||||
* Fri Jun 16 2023 Python Maint <python-maint@redhat.com> - 9.2.6-4
|
||||
- Rebuilt for Python 3.12
|
||||
|
||||
|
|
Loading…
Reference in New Issue