%global python_version %(%{__python2} -c "import sys ; print(sys.version[:3])") %{!?python2_sitearch: %global python2_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")} Name: openvdb Version: 4.0.1 Release: 7%{?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: cmake >= 2.8 BuildRequires: cppunit-devel >= 1.10 BuildRequires: doxygen >= 1.8.11 BuildRequires: epydoc BuildRequires: ghostscript >= 8.70 BuildRequires: glfw-devel >= 2.7 BuildRequires: ilmbase-devel BuildRequires: libXi-devel BuildRequires: log4cplus-devel >= 1.0 BuildRequires: OpenEXR-devel BuildRequires: python2 BuildRequires: python2-numpy BuildRequires: python2-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}%{?_isa} = %{version}-%{release} %description devel The %{name}-devel package contains libraries and header files for developing applications that use %{name}. %package python2 Summary: OpenVDB Python module Requires: %{name}%{?_isa} = %{version}-%{release} Obsoletes: %{name}-python < 4.0.1-5 Provides: %{name}-python = %{version}-%{release} %description python2 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 %setup -q iconv -f iso8859-1 -t utf-8 %{name}/CHANGES > %{name}/CHANGES.conv && \ mv -f %{name}/CHANGES.conv %{name}/CHANGES # Hardcoded paths for installation, as described in the INSTALL file sed -i -e 's@lib@%{_lib}@g' %{name}/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_ENABLE_3_ABI_COMPATIBLE=ON \ -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 # vdb_unit_test fails everywhere except on x86_64 %ifarch x86_64 %check make test %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 python2 %{_libdir}/python%{python_version}/py%{name}.so %files devel %{_includedir}/* %{_libdir}/*.so %files doc %doc %{name}/doc/html %changelog * 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.