%global python_version %(%{__python3} -c "import sys ; print(sys.version[:3])") %{!?python3_sitearch: %global python3_sitearch %(%{__python3} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")} # Set to 1 to enable testsuite. Fails everywhere with GCC 8+. %global with_tests 0 Name: openvdb Version: 5.1.0 Release: 3%{?dist} Summary: C++ library for sparse volumetric data discretized on three-dimensional grids License: MPLv2.0 URL: http://www.openvdb.org/ Source0: https://github.com/dreamworksanimation/%{name}/archive/v%{version}.tar.gz#/%{name}-%{version}.tar.gz BuildRequires: blosc-devel >= 1.5.0 BuildRequires: boost-devel >= 1.57.0 BuildRequires: boost-python3-devel BuildRequires: cmake >= 2.8 BuildRequires: cppunit-devel >= 1.10 BuildRequires: doxygen >= 1.8.11 BuildRequires: epydoc BuildRequires: gcc-c++ BuildRequires: ghostscript >= 8.70 BuildRequires: glfw-devel >= 2.7 BuildRequires: ilmbase-devel BuildRequires: libXi-devel BuildRequires: log4cplus-devel >= 1.0 BuildRequires: OpenEXR-devel BuildRequires: python3 BuildRequires: python3-numpy BuildRequires: python3-devel BuildRequires: tbb-devel >= 3.0 BuildRequires: zlib-devel %description OpenVDB is an Academy Award-winning open-source C++ library comprising a novel hierarchical data structure and a suite of tools for the efficient storage and manipulation of sparse volumetric data discretized on three-dimensional grids. It is developed and maintained by DreamWorks Animation for use in volumetric applications typically encountered in feature film production. This package contains some graphical tools. %package libs Summary: Core OpenVDB libraries %description libs OpenVDB is an Academy Award-winning open-source C++ library comprising a novel hierarchical data structure and a suite of tools for the efficient storage and manipulation of sparse volumetric data discretized on three-dimensional grids. It is developed and maintained by DreamWorks Animation for use in volumetric applications typically encountered in feature film production. %package devel Summary: Development files for %{name} Requires: %{name}-libs%{?_isa} = %{version}-%{release} %description devel The %{name}-devel package contains libraries and header files for developing applications that use %{name}. %package python3 Summary: OpenVDB Python module Requires: %{name}-libs%{?_isa} = %{version}-%{release} Obsoletes: %{name}-python2 < 5.1.0-1 Provides: %{name}-python2 = %{version}-%{release} %description python3 OpenVDB is an Academy Award-winning open-source C++ library comprising a novel hierarchical data structure and a suite of tools for the efficient storage and manipulation of sparse volumetric data discretized on three-dimensional grids. It is developed and maintained by DreamWorks Animation for use in volumetric applications typically encountered in feature film production. This package contains the Python module. %package doc Summary: Documentation for %{name} BuildArch: noarch %description doc The %{name}-doc package contains documentation for developing applications that use %{name}. %prep %autosetup -p1 iconv -f iso8859-1 -t utf-8 %{name}/CHANGES > %{name}/CHANGES.conv && \ mv -f %{name}/CHANGES.conv %{name}/CHANGES # Hardcoded values for Python module sed -i \ -e 's|lib$|%{_lib}|g' -e 's|lib/python|%{_lib}/python|g' \ -e 's|REQUIRED COMPONENTS python|REQUIRED COMPONENTS python3|g' \ %{name}/CMakeLists.txt %{name}/python/CMakeLists.txt # Save Makefile that contains doc building instructions, new cmake build system # does not build docs yet cp %{name}/Makefile %{name}/Makefile.docbuild %build export CXXFLAGS="%{optflags} -Wl,--as-needed" %cmake \ -DBLOSC_LOCATION=%{_prefix} \ -DCPPUNIT_LOCATION=%{_prefix} \ -DGLEW_LOCATION=%{_prefix} \ -DGLFW3_LOCATION=%{_prefix} \ -DILMBASE_NAMESPACE_VERSIONING=OFF \ -DILMBASE_LOCATION=%{_prefix} \ -DOPENEXR_LOCATION=%{_prefix} \ -DOPENEXR_NAMESPACE_VERSIONING=OFF \ -DOPENVDB_ENABLE_RPATH=OFF \ -DOPENVDB_ABI_VERSION_NUMBER=3 \ -DPYTHON_VERSION=%{python_version} \ -DTBB_LOCATION=%{_prefix} \ -DUSE_GLFW3=True %make_build # Build docs with previously saved Makefile pushd %{name} make -f Makefile.docbuild doc popd %if 0%{?with_tests} %ifarch x86_64 %check %make test %endif %endif %install %make_install # Remove CMakeFiles from includes rm -fr %{buildroot}/%{_includedir}/%{name}/CMakeFiles # Let RPM pick up HTML documents in the files section rm -fr %{buildroot}/%{_datadir}/doc find %{buildroot} -name '*.a' -delete %post libs -p /sbin/ldconfig %postun libs -p /sbin/ldconfig %files %{_bindir}/vdb_view %{_bindir}/vdb_print %{_bindir}/vdb_render %files libs %license %{name}/LICENSE %{name}/COPYRIGHT %doc README.md %{name}/CHANGES %{_libdir}/*.so.* %files python3 %{_libdir}/python%{python_version}/py%{name}.so %files devel %{_includedir}/* %{_libdir}/*.so %files doc %doc %{name}/doc/html %changelog * Tue Jul 17 2018 Simone Caronni - 5.1.0-3 - Require libs subpackage for python3/devel. * Tue Jul 17 2018 Simone Caronni - 5.1.0-2 - Fix Python 3 Boost link. * Tue Jul 17 2018 Simone Caronni - 5.1.0-1 - Update to 5.1.0. - Switch to Python 3. * Fri Jul 13 2018 Fedora Release Engineering - 5.0.0-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild * Tue May 01 2018 Jonathan Wakely - 5.0.0-3 - Add BuildRequires: boost-python2-devel to fix build with boost-1.66.0-7.fc29 * Sun Mar 04 2018 Luya Tshimbalanga - 5.0.0-2 - Added gcc-c++ dependency - Upstream patch for Boost compability * Mon Feb 26 2018 Luya Tshimbalanga - 5.0.0-1 - Update to 5.0.0 - Use new upstream macro for abi compatibility - Rebuild for Boost 1.66 * Thu Feb 08 2018 Fedora Release Engineering - 4.0.2-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild * Mon Sep 11 2017 Simone Caronni - 4.0.2-1 - Update to 4.0.2. * Thu Aug 03 2017 Fedora Release Engineering - 4.0.1-7 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild * Thu Jul 27 2017 Fedora Release Engineering - 4.0.1-6 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild * Sun Jul 23 2017 Simone Caronni - 4.0.1-5 - Rename python subpackage (module) to python2. * Wed Jul 19 2017 Jonathan Wakely - 4.0.1-4 - Rebuilt for s390x binutils bug * Tue Jul 18 2017 Jonathan Wakely - 4.0.1-3 - Rebuilt for Boost 1.64 * Sat May 06 2017 Simone Caronni - 4.0.1-2 - Review fixes. * Sat Apr 22 2017 Simone Caronni - 4.0.1-1 - Update to 4.0.1. - Perform tests, build HTML documentation. - Require main OpenVDB library for Python module. * Wed Nov 23 2016 Simone Caronni - 4.0.0-2 - Update to 4.0.0. * Sun Oct 16 2016 Simone Caronni - 4.0.0-1.20161015git40271e7 - First build.