Hello community, here is the log from the commit of package vtk for openSUSE:Factory checked in at 2019-01-11 14:04:10 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/vtk (Old) and /work/SRC/openSUSE:Factory/.vtk.new.28833 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "vtk" Fri Jan 11 14:04:10 2019 rev:38 rq:663766 version:8.1.2 Changes: -------- --- /work/SRC/openSUSE:Factory/vtk/vtk.changes 2018-12-18 14:57:46.078307980 +0100 +++ /work/SRC/openSUSE:Factory/.vtk.new.28833/vtk.changes 2019-01-11 14:04:37.771851945 +0100 @@ -1,0 +2,22 @@ +Sun Jan 6 18:32:58 UTC 2019 - Stefan Brüns <[email protected]> + +- Correct names of built packages, the mpi flavors were lacking the + flavor specific name infix, i.e. all flavors were named identically. + +------------------------------------------------------------------- +Wed Jan 2 23:19:48 UTC 2019 - Stefan Brüns <[email protected]> + +- Add openmpi2 flavor +- BuildRequire netcdf-{mpi_flavor}-devel for MPI flavors +- Add Conflicts between flavors of python3 subpackage (all flavors + install into python_sitearch). + +------------------------------------------------------------------- +Fri Dec 14 23:15:27 UTC 2018 - Stefan Brüns <[email protected]> + +- Convert openmpi package to multibuild flavor +- Use correct mpi version - openmpi currently means openmpi, and not openmpi2/3 + Otherwise, VTK depends on openmpi1 (HDF5, netcdf) and openmpi2/3 (direct) +- Remove several mpi BuildRequires in serial flavor + +------------------------------------------------------------------- Old: ---- vtk-openmpi.changes vtk-openmpi.spec New: ---- _multibuild ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ vtk.spec ++++++ --- /var/tmp/diff_new_pack.zNgB3r/_old 2019-01-11 14:04:39.103850605 +0100 +++ /var/tmp/diff_new_pack.zNgB3r/_new 2019-01-11 14:04:39.107850601 +0100 @@ -1,7 +1,7 @@ # # spec file for package vtk # -# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -16,12 +16,44 @@ # -%define compat_gl 0 +%global flavor @BUILD_FLAVOR@%{nil} + %define pkgname vtk -%define vtklib lib%{pkgname}1 + +%if "%{flavor}" == "" +%define my_prefix %_prefix +%define my_bindir %_bindir +%define my_libdir %_libdir +%define my_incdir %_includedir +%define my_datadir %_datadir +%endif + +%if "%{flavor}" == "openmpi" +%define my_suffix -openmpi +%define mpi_flavor openmpi +%define mpiprefix %{_libdir}/mpi/gcc/%{mpi_flavor} +%endif + +%if "%{flavor}" == "openmpi2" +%define my_suffix -openmpi2 +%define mpi_flavor openmpi2 +%define mpiprefix %{_libdir}/mpi/gcc/%{mpi_flavor} +%endif + +%{?mpi_flavor:%{bcond_without mpi}}%{!?mpi_flavor:%{bcond_with mpi}} + +%if %{with mpi} +%define my_prefix %{mpiprefix} +%define my_bindir %{my_prefix}/bin +%define my_libdir %{my_prefix}/%{_lib}/ +%define my_incdir %{my_prefix}/include/ +%define my_datadir %{my_prefix}/share/ +%endif + +%define vtklib lib%{pkgname}1%{?my_suffix} %define shlib %{vtklib} -Name: vtk +Name: vtk%{?my_suffix} Version: 8.1.2 Release: 0 %define series 8.1 @@ -51,14 +83,22 @@ BuildRequires: gl2ps-devel BuildRequires: gnuplot BuildRequires: graphviz +%if %{with mpi} +BuildRequires: hdf5-%{mpi_flavor}-devel +%endif BuildRequires: hdf5-devel BuildRequires: java-devel BuildRequires: libjpeg-devel BuildRequires: libmysqlclient-devel BuildRequires: libnetcdf_c++-devel BuildRequires: libtiff-devel +%if %{with mpi} +BuildRequires: %{mpi_flavor}-devel +%endif BuildRequires: python3-devel +%if %{with mpi} BuildRequires: python3-mpi4py-devel +%endif BuildRequires: python3-numpy-devel BuildRequires: python3-qt5-devel BuildRequires: wget @@ -72,15 +112,24 @@ BuildRequires: pkgconfig(freetype2) BuildRequires: pkgconfig(gl) BuildRequires: pkgconfig(jsoncpp) +%if 0%{?suse_version} < 1500 +# libav pulls in a conflicting libnetcdf version +BuildConflicts: libnetcdf7 +BuildConflicts: libavfilter6 +%else BuildRequires: pkgconfig(libavcodec) BuildRequires: pkgconfig(libavdevice) BuildRequires: pkgconfig(libavformat) BuildRequires: pkgconfig(libavutil) +%endif BuildRequires: pkgconfig(libiodbc) BuildRequires: pkgconfig(liblz4) >= 1.7.3 BuildRequires: pkgconfig(libpng) BuildRequires: pkgconfig(libswscale) BuildRequires: pkgconfig(netcdf) +%if %{with mpi} +BuildRequires: netcdf-%{mpi_flavor}-devel +%endif BuildRequires: pkgconfig(tcl) BuildRequires: pkgconfig(theora) BuildRequires: pkgconfig(tk) @@ -90,12 +139,13 @@ %if 0%{?suse_version} >= 1500 BuildRequires: libboost_graph-devel BuildRequires: libboost_graph_parallel-devel +%if %{with mpi} BuildRequires: libboost_mpi-devel +%endif BuildRequires: libboost_serialization-devel %else BuildRequires: boost-devel %endif -Provides: python3-%{name}-qt = %{version} %if %{?sles_version} BuildRequires: libxml2-devel %else @@ -126,12 +176,11 @@ %package devel Summary: VTK header files for building C++ code -Group: Development/Libraries/C and C++ # not strictly necessary, but required by VTKs cmake files +Group: Development/Libraries/C and C++ Requires: %{name}-java = %{version} Requires: %{name}-tcl = %{version} Requires: %{shlib} = %{version} -Requires: python3-%{name} = %{version} Requires: R-base-devel Requires: cmake >= 3.4 Requires: gcc-c++ @@ -139,11 +188,16 @@ Requires: gnuplot Requires: graphviz Requires: hdf5-devel +%{?with_mpi:Requires: hdf5-%{mpi_flavor}-devel} Requires: java-devel Requires: libjpeg-devel Requires: libmysqlclient-devel Requires: libnetcdf_c++-devel Requires: libtiff-devel +Requires: python3-%{name} = %{version} +Requires: python3-%{name} = %{version} +%{?with_mpi:Requires: %{mpi_flavor}} +%{?with_mpi:Requires: %{mpi_flavor}-devel} Requires: pkgconfig(Qt5Core) Requires: pkgconfig(Qt5OpenGL) Requires: pkgconfig(Qt5OpenGLExtensions) @@ -214,10 +268,14 @@ Summary: Python bindings for VTK Group: Development/Libraries/Python Requires: %{shlib} = %{version} -Requires: python3-mpi4py +%{?with_mpi:Requires: python3-mpi4py} Requires: python3-numpy Requires: python3-qt5 Conflicts: python3-vtk-compat_gl +%if %{with mpi} +Conflicts: python3-vtk +Provides: python3-vtk = %{version} +%endif %description -n python3-%{name} VTK is a software system for image processing, 3D graphics, volume @@ -258,10 +316,11 @@ This package provides tcl bindings for VTK. +# The examples work with any VTK flavor, just package these once +%if "%{flavor}" == "" %package examples Summary: Examples for VTK Group: Documentation/Other -Requires: %{shlib} = %{version} Recommends: vtkdata = %{version} Conflicts: vtk-compat_gl-examples @@ -275,7 +334,7 @@ This package contains many examples showing how to use VTK. Examples are available in the C++, Tcl, Python and Java programming languages. - +%endif %prep %setup -q -n VTK-%{version} @@ -288,6 +347,15 @@ grep -rl '\.\./\.\./\.\./\.\./VTKData' . | xargs -r perl -pi -e's,\.\./\.\./\.\./\.\./VTKData,%{_datadir}/vtkdata,g' %build +%if %{with mpi} +source %{mpiprefix}/bin/mpivars.sh +export CC=mpicc +export CXX=mpicxx +%else +export CC=gcc +export CXX=g++ +%endif + export CFLAGS="%{optflags}" export CXXFLAGS="%{optflags}" @@ -300,8 +368,6 @@ -DBUILD_DOCUMENTATION:BOOL=ON \ -DBUILD_EXAMPLES:BOOL=ON \ -DBUILD_TESTING:BOOL=OFF \ - -DCMAKE_C_COMPILER:STRING='gcc' \ - -DCMAKE_CXX_COMPILER::STRING='g++' \ -DCMAKE_NO_BUILTIN_CHRPATH:BOOL=ON \ -DJava_JAVAH_EXECUTABLE:PATH=%{_bindir}/true \ -DModule_vtkTestingCore:BOOL=ON \ @@ -310,17 +376,22 @@ -DVTK_CUSTOM_LIBRARY_SUFFIX="" \ -DVTK_EXTERNAL_LIBHARU_IS_SHARED:BOOL=OFF \ -DVTK_Group_Imaging:BOOL=ON \ +%if %{with mpi} + -DVTK_Group_MPI:BOOL=ON \ +%else -DVTK_Group_MPI:BOOL=OFF \ +%endif -DVTK_Group_Qt:BOOL=ON \ -DVTK_Group_Rendering:BOOL=ON \ -DVTK_Group_StandAlone:BOOL=ON \ -DVTK_Group_Tk:BOOL=ON \ -DVTK_Group_Views:BOOL=ON \ + -DCMAKE_INSTALL_PREFIX:PATH=%{my_prefix} \ -DVTK_INSTALL_ARCHIVE_DIR:PATH=%{_lib} \ -DVTK_INSTALL_LIBRARY_DIR:PATH=%{_lib} \ -DVTK_INSTALL_PACKAGE_DIR:PATH=%{_lib}/cmake/%{pkgname} \ -DVTK_INSTALL_QT_DIR:STRING=%{_lib}/qt5/plugins/designer \ - -DVTK_INSTALL_PYTHON_MODULE_DIR:PATH=%( realpath --relative-to=%{_prefix} %{python3_sitearch} ) \ + -DVTK_INSTALL_PYTHON_MODULE_DIR:PATH=%{python3_sitearch} \ -DVTK_INSTALL_TCL_DIR:PATH=share/tcl/%{pkgname} \ -DVTK_PYTHON_VERSION=3 \ -DVTK_QT_VERSION=5 \ @@ -337,7 +408,7 @@ -DVTK_WRAP_PYTHON:BOOL=ON \ -DVTK_WRAP_PYTHON_SIP:BOOL=ON \ -DVTK_WRAP_TCL:BOOL=ON \ - -DVTK_INSTALL_DOC_DIR:PATH=%( realpath --relative-to=%{_prefix} %{_docdir}/%{name}-%{series} ) + -DVTK_INSTALL_DOC_DIR:PATH=%{_docdir}/%{name}-%{series} %make_jobs make %{?_smp_mflags} DoxygenDoc @@ -392,48 +463,51 @@ EOF # Install examples +%if "%{flavor}" == "" for file in `cat examples.list`; do - install -p build/bin/$file %{buildroot}%{_bindir} + install -p build/bin/$file %{buildroot}%{my_bindir} done -perl -pi -e's,^,%{_bindir}/,' examples.list +perl -pi -e's,^,%{my_bindir}/,' examples.list +%endif %fdupes -s %{buildroot} %check # Make sure the python library is at least importable -export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:%{buildroot}%{_libdir} +%if %{with mpi} +source %{mpiprefix}/bin/mpivars.sh +%endif +export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:%{buildroot}%{my_libdir} export PYTHONPATH=%{buildroot}%{python3_sitearch} python3 -c "import vtk" %post -n %{shlib} -p /sbin/ldconfig %postun -n %{shlib} -p /sbin/ldconfig -%post -n python3-%{name} -p /sbin/ldconfig -%postun -n python3-%{name} -p /sbin/ldconfig - %files -n %{shlib} %license Copyright.txt -%{_libdir}/lib*.so.* +%{my_libdir}/lib*.so.* %files devel %license Copyright.txt -%{_bindir}/%{pkgname}EncodeString -%{_bindir}/%{pkgname}HashSource -%{_bindir}/%{pkgname}ParseJava -%{_bindir}/%{pkgname}WrapHierarchy -%{_bindir}/%{pkgname}WrapJava -%{_bindir}/%{pkgname}WrapPython -%{_bindir}/%{pkgname}WrapPythonInit -%{_bindir}/%{pkgname}WrapTcl -%{_bindir}/%{pkgname}WrapTclInit -%{_libdir}/*.so -%{_libdir}/cmake/%{pkgname}/ -%{_libdir}/libvtkWrappingTools.a -%{_includedir}/%{pkgname}-%{series}/ -# VTK JNI bindings -%exclude %{_libdir}/libvtk*Java.so -%exclude %{_libdir}/libvtkRenderingPythonTkWidgets*.so -%exclude %{_datadir}/tcl/vtk/vtktcl.c +%{my_bindir}/%{pkgname}EncodeString +%{my_bindir}/%{pkgname}HashSource +%{my_bindir}/%{pkgname}ParseJava +%{my_bindir}/%{pkgname}WrapHierarchy +%{my_bindir}/%{pkgname}WrapJava +%{my_bindir}/%{pkgname}WrapPython +%{my_bindir}/%{pkgname}WrapPythonInit +%{my_bindir}/%{pkgname}WrapTcl +%{my_bindir}/%{pkgname}WrapTclInit +%{my_libdir}/*.so +%{?with_mpi: %dir %{my_libdir}/cmake/} +%{my_libdir}/cmake/%{pkgname}/ +%{my_libdir}/libvtkWrappingTools.a +%{my_incdir}/%{pkgname}-%{series}/ +# VTK JNI, PythonTkinter, TCL bindings +%exclude %{my_libdir}/libvtk*Java.so +%exclude %{my_libdir}/libvtkRenderingPythonTkWidgets*.so +%exclude %{my_datadir}/tcl/vtk/vtktcl.c %files devel-doc %license Copyright.txt @@ -441,26 +515,37 @@ %files java %license Copyright.txt -%{_libdir}/%{pkgname}.jar -%{_libdir}/libvtk*Java.so +%{my_libdir}/%{pkgname}.jar +%{my_libdir}/libvtk*Java.so %files -n python3-%{name} %license Copyright.txt -%{_bindir}/%{pkgname}python -%{_libdir}/libvtkRenderingPythonTkWidgets*.so +%{my_bindir}/%{pkgname}python +%if %{with mpi} +%{my_bindir}/p%{pkgname}python +%endif +%{my_libdir}/libvtkRenderingPythonTkWidgets*.so %{python3_sitearch}/%{pkgname}/ %files tcl %license Copyright.txt -%{_bindir}/%{pkgname} -%{_datadir}/tcl/%{pkgname}/ +%{my_bindir}/%{pkgname} +%if %{with mpi} +%{my_bindir}/p%{pkgname} +%dir %{my_datadir}/tcl/ +%endif +%{my_datadir}/tcl/%{pkgname}/ %files qt %license Copyright.txt -%dir %{_prefix}/%{_lib}/qt5/plugins/designer -%{_prefix}/%{_lib}/qt5/plugins/designer/libQVTKWidgetPlugin.so +%{?with_mpi: %dir %{my_libdir}/qt5/} +%{?with_mpi: %dir %{my_libdir}/qt5/plugins/} +%dir %{my_libdir}/qt5/plugins/designer/ +%{my_libdir}/qt5/plugins/designer/libQVTKWidgetPlugin.so +%if "%{flavor}" == "" %files examples -f examples.list %license Copyright.txt +%endif %changelog ++++++ _multibuild ++++++ <multibuild> <package>openmpi</package> <package>openmpi2</package> </multibuild>
