# Limit parallel builds %global _smp_ncpus_max 4 %bcond_with docs # OpenEXR support is optional: # The new embedded version of half floating point types can be used instead of # the Half implementation from IMath %bcond_without openexr %define major 11.0 %define libname %mklibname %{name} %{major} %define develname %mklibname %{name} -d Name: openvdb Version: 11.0.0 Release: %mkrel 3 Summary: C++ library for sparse volumetric data discretized on three-dimensional grids License: MPLv2.0 Group: System/Libraries URL: https://www.openvdb.org/ Source0: https://github.com/AcademySoftwareFoundation/%{name}/archive/v%{version}/%{name}-%{version}.tar.gz # OpenVDB no longer builds on 32bits with latest TBB due to OOM. ExcludeArch: %{ix86} %{arm} BuildRequires: cmake BuildRequires: ninja %if %{with docs} BuildRequires: doxygen BuildRequires: dot %endif BuildRequires: gcc-c++ BuildRequires: ghostscript BuildRequires: python3dist(numpy) BuildRequires: boost-devel >= 1.57.0 BuildRequires: cmake(pybind11) BuildRequires: pkgconfig(blosc) BuildRequires: pkgconfig(cppunit) BuildRequires: pkgconfig(glfw3) BuildRequires: pkgconfig(jemalloc) %if %{with openexr} BuildRequires: pkgconfig(OpenEXR) %endif BuildRequires: pkgconfig(python3) BuildRequires: pkgconfig(tbb) BuildRequires: pkgconfig(xcursor) BuildRequires: pkgconfig(xi) BuildRequires: pkgconfig(xinerama) BuildRequires: pkgconfig(xrandr) BuildRequires: pkgconfig(zlib) %if %{without docs} Obsoletes: %{name}-doc < %{version}-%{release} %endif %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 -n %{libname} Summary: Core OpenVDB libraries Group: System/Libraries %description -n %{libname} 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 -n %{develname} Summary: Development files for %{name} Group: Development/C++ Requires: %{libname} >= %{version}-%{release} Provides: %{name}-devel = %{version}-%{release} %description -n %{develname} The %{develname} package contains libraries and header files for developing applications that use %{name}. %package -n python3-%{name} Summary: OpenVDB Python 3 module Group: Development/Python Requires: %{libname} >= %{version}-%{release} %{?python_provide:%python_provide python3-%{name}} %description -n python3-%{name} 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 3 module. %package doc Summary: Documentation for %{name} Group: Documentation BuildArch: noarch %description doc The %{name}-doc package contains documentation for developing applications that use %{name}. %prep %autosetup -p1 # Hardcoded paths for installation, as described in the INSTALL file sed -i \ -e 's|lib$|%{_lib}|g' \ %{name}/%{name}/CMakeLists.txt %{name}/%{name}/python/CMakeLists.txt %build %cmake -GNinja \ -DOPENVDB_BUILD_DOCS=%{?with_docs:ON}%{?!with_docs:OFF} \ -DCMAKE_NO_SYSTEM_FROM_IMPORTED=TRUE \ -DDISABLE_DEPENDENCY_VERSION_CHECKS=ON \ -DOPENVDB_ENABLE_RPATH=OFF \ -DOPENVDB_BUILD_PYTHON_MODULE=ON \ -DOPENVDB_INSTALL_CMAKE_MODULES=ON \ -DPYOPENVDB_INSTALL_DIRECTORY=%{python3_sitearch} \ -DOPENVDB_BUILD_UNITTESTS=OFF \ -DUSE_IMATH_HALF=%{?with_openexr:ON}%{!?with_openexr:OFF} \ -DUSE_NANOVDB=ON %cmake_build %limit_build -m 8192 %install %cmake_install %if %{with docs} # Let RPM pick up HTML documents in the files section rm -fr %{buildroot}%{_prefix}/docs %endif find %{buildroot} -name '*.a' -delete %files %license LICENSE %doc README.md CHANGES %{_bindir}/vdb_print %{_bindir}/nanovdb_{print,validate} %files -n %{libname} %{_libdir}/lib%{name}.so.%{major}{,.*} %files -n %{develname} %{_includedir}/openvdb/ %{_includedir}/nanovdb/ %{_libdir}/lib%{name}.so %{_libdir}/cmake/OpenVDB/ %files -n python3-%{name} %{python3_sitearch}/py%{name}*.so %if %{with docs} %files doc %doc build/openvdb/doc/html %endif %changelog * Mon Jan 29 2024 daviddavid <daviddavid> 11.0.0-3.mga10 + Revision: 2035741 - exclude also armv7 support * Mon Jan 29 2024 daviddavid <daviddavid> 11.0.0-2.mga10 + Revision: 2035706 - OpenVDB no longer builds on 32bits with latest TBB due to OOM - rebuild for tbb 2021.11.0 * Sat Jan 13 2024 wally <wally> 11.0.0-1.mga10 + Revision: 2030824 - new version 11.0.0 * Sat Jan 13 2024 daviddavid <daviddavid> 10.1.0-3.mga10 + Revision: 2030797 - backport upstream fix to fix build with boost 1.84.0 + wally <wally> - rebuild for boost 1.84.0 * Wed Dec 27 2023 daviddavid <daviddavid> 10.1.0-2.mga10 + Revision: 2022183 - rebuild for py3.12 * Sat Oct 28 2023 daviddavid <daviddavid> 10.1.0-1.mga10 + Revision: 2002217 - new version: 10.1.0 - now libmajor is 10.1 * Thu Oct 12 2023 wally <wally> 10.0.1-3.mga10 + Revision: 1995216 - rebuild for boost 1.83.0 - enable nanovdb * Mon Dec 26 2022 wally <wally> 10.0.1-1.mga9 + Revision: 1926920 - new version 10.0.1 - new lib major 10.0 - rebuild for boost 1.81.0 * Sun Jul 03 2022 wally <wally> 8.2.0-4.mga9 + Revision: 1867295 - rebuild for boost 1.79.0 * Wed Mar 30 2022 umeabot <umeabot> 8.2.0-3.mga9 + Revision: 1834947 - Mageia 9 Mass Rebuild * Mon Feb 28 2022 mrambo3501 <mrambo3501> 8.2.0-2.mga9 + Revision: 1786728 - rebuild for python-3.10 * Sun Dec 26 2021 wally <wally> 8.2.0-1.mga9 + Revision: 1764068 - new version 8.2.0 - enable optional OpenEXR/Half/IMath support for now - install CMake modules - rebuild for openexr 3.1.3 * Sun Dec 19 2021 wally <wally> 8.0.1-5.mga9 + Revision: 1762661 - rebuild for boost 1.78.0 * Thu Sep 09 2021 wally <wally> 8.0.1-4.mga9 + Revision: 1744611 - rebuild for boost 1.77.0 * Fri May 14 2021 wally <wally> 8.0.1-3.mga9 + Revision: 1723002 - rebuild for boost 1.76.0 * Sat Mar 20 2021 daviddavid <daviddavid> 8.0.1-2.mga9 + Revision: 1705249 - rebuild for python 3.9 * Sun Mar 07 2021 wally <wally> 8.0.1-1.mga9 + Revision: 1700364 - fix build with python 3.8 + daviddavid <daviddavid> - new version: 8.0.1 - now libmajor is 8.0 * Thu Dec 31 2020 wally <wally> 7.1.0-4.mga8 + Revision: 1666798 - rebuild for boost 1.75.0 * Sun Dec 20 2020 wally <wally> 7.1.0-3.mga8 + Revision: 1662040 - rebuild for boost 1.74.0 * Wed Sep 09 2020 akien <akien> 7.1.0-2.mga8 + Revision: 1623817 - Rebuild for new OpenEXR/Ilm * Tue Aug 18 2020 daviddavid <daviddavid> 7.1.0-1.mga8 + Revision: 1614723 - new version: 7.1.0 - now libmajor is 7.1 * Sun May 03 2020 wally <wally> 7.0.0-4.mga8 + Revision: 1578094 - rebuild for boost 1.73.0 * Wed Feb 19 2020 umeabot <umeabot> 7.0.0-3.mga8 + Revision: 1544882 - Mageia 8 Mass Rebuild * Sun Jan 26 2020 wally <wally> 7.0.0-2.mga8 + Revision: 1483412 - rebuild for boost 1.72.0 - build with new cmake macros * Fri Dec 13 2019 daviddavid <daviddavid> 7.0.0-1.mga8 + Revision: 1466194 - new version: 7.0.0 - now libmajor is 7.0 - set python3 module installation path via cmake * Thu Oct 03 2019 daviddavid <daviddavid> 6.2.1-1.mga8 + Revision: 1449050 - new version: 6.2.1 * Sat Sep 21 2019 daviddavid <daviddavid> 6.2.0-1.mga8 + Revision: 1444146 - new version: 6.2.0 - drop no longer needed upstream patch - fix correct python module installation path - drop no more available BR epydoc - rebuild for python3.8 * Fri Aug 23 2019 daviddavid <daviddavid> 6.1.0-1.mga8 + Revision: 1431432 - new version: 6.1.0 - now libmajor is 6.1 - drop deprecated OPENVDB ABI version 3 support * Fri Apr 26 2019 akien <akien> 6.0.0-2.mga7 + Revision: 1395383 - Rebuild for glfw 3.3 * Tue Apr 02 2019 daviddavid <daviddavid> 6.0.0-1.mga7 + Revision: 1385412 - new version: 6.0.0 - now libmajor is 6.0 * Tue Jan 08 2019 daviddavid <daviddavid> 5.2.0-6.mga7 + Revision: 1352470 - rebuild for new Python 3.7 * Wed Oct 17 2018 wally <wally> 5.2.0-5.mga7 + Revision: 1321722 - add patch to fix linking - rebuild for new boost 1.68.0 * Mon Oct 15 2018 daviddavid <daviddavid> 5.2.0-4.mga7 + Revision: 1320542 - rebuild for new ilmbase and openexr 2.3.0 * Sun Sep 23 2018 wally <wally> 5.2.0-2.mga7 + Revision: 1297260 - fix and enable doc build * Sun Sep 23 2018 wally <wally> 5.2.0-1.mga7 + Revision: 1297236 - disable doc subpkg - new libmajor 5.2 + daviddavid <daviddavid> - new version: 5.2.0 * Sun Aug 26 2018 wally <wally> 5.1.0-4.mga7 + Revision: 1254687 - limit parallel builds to 4 on aarch64 * Sun Aug 26 2018 wally <wally> 5.1.0-3.mga7 + Revision: 1254671 - another rebuild for aarch64 * Tue Aug 07 2018 wally <wally> 5.1.0-2.mga7 + Revision: 1248694 - rebuild for aarch64 * Thu Jul 19 2018 daviddavid <daviddavid> 5.1.0-1.mga7 + Revision: 1244341 - new version: 5.1.0 - switch to Python 3 * Sun May 27 2018 wally <wally> 5.0.0-2.mga7 + Revision: 1232428 - rebuild for openexr 2.2.1 * Sat Mar 24 2018 daviddavid <daviddavid> 5.0.0-1.mga7 + Revision: 1211862 - initial package openvdb