## START: Set by rpmautospec ## (rpmautospec version 0.8.4) ## RPMAUTOSPEC: autorelease, autochangelog %define autorelease(e:s:pb:n) %{?-p:0.}%{lua: release_number = 2; base_release_number = tonumber(rpm.expand("%{?-b*}%{!?-b:1}")); print(release_number + base_release_number - 1); }%{?-e:.%{-e*}}%{?-s:.%{-s*}}%{!?-n:%{?dist}} ## END: Set by rpmautospec # Shared-library SONAME for OpenVDB 13.1.x %global soversion 13.1 # Optional components %bcond tests 0 %bcond ax 1 %bcond docs 0 %bcond imath 0 %bcond openexr 0 %bcond nanovdb 1 %bcond python 1 # Keep AX on a known-compatible LLVM stream when explicitly enabled. %global llvm_compat 20 %global _description %{expand: 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 represented on three-dimensional grids. It is developed and maintained by the Academy Software Foundation for use in volumetric applications typically encountered in feature film production.} Name: openvdb Version: 13.1.0 Release: %autorelease Summary: C++ library for sparse volumetric data License: Apache-2.0 URL: https://www.openvdb.org/ Source0: https://github.com/AcademySoftwareFoundation/openvdb/archive/v%{version}/%{name}-%{version}.tar.gz # OpenVDB builds are too memory-intensive on 32-bit x86. ExcludeArch: %{ix86} Requires: %{name}-libs%{?_isa} = %{version}-%{release} # Bootstrap requirement: keep CMake static so Fedora's CMake RPM macros are # available before dynamic BuildRequires are evaluated. BuildRequires: cmake >= 3.24 %description %{_description} This package contains OpenVDB command-line tools. %package libs Summary: Core OpenVDB libraries %description libs %{_description} %package devel Summary: Development files for %{name} Requires: %{name}-libs%{?_isa} = %{version}-%{release} Requires: boost-devel%{?_isa} >= 1.82 Requires: cmake(tbb) Requires: pkgconfig(blosc) >= 1.17.0 Requires: pkgconfig(log4cplus) >= 2.0 Requires: pkgconfig(zlib) > 1.2.7 %if %{with imath} Requires: pkgconfig(Imath) >= 3.2 %endif %if %{with openexr} Requires: pkgconfig(OpenEXR) >= 3.2 %endif %if %{with docs} Provides: %{name}-doc = %{version}-%{release} %endif %description devel %{_description} The %{name}-devel package contains headers, the development shared-library link, and CMake metadata for developing applications that use OpenVDB. %if %{with ax} %package ax Summary: OpenVDB AX command-line tool Requires: %{name}-ax-libs%{?_isa} = %{version}-%{release} %description ax OpenVDB AX is a high-performance expression language for operating on OpenVDB volumes and point data. This optional package contains the vdb_ax command-line tool. %package ax-libs Summary: OpenVDB AX runtime library Requires: %{name}-libs%{?_isa} = %{version}-%{release} %description ax-libs This package contains the shared OpenVDB AX runtime library. %package ax-devel Summary: Development files for OpenVDB AX Requires: %{name}-ax-libs%{?_isa} = %{version}-%{release} Requires: %{name}-devel%{?_isa} = %{version}-%{release} Requires: llvm%{llvm_compat}-devel%{?_isa} %description ax-devel This package contains headers and the development shared-library link for developing applications with OpenVDB AX. %endif %if %{with nanovdb} %package nanovdb Summary: NanoVDB command-line tools Requires: %{name}-libs%{?_isa} = %{version}-%{release} %description nanovdb NanoVDB is a lightweight, GPU-friendly, header-only implementation of VDB. This package contains the NanoVDB command-line tools. %package nanovdb-devel Summary: Header-only development files for NanoVDB Requires: %{name}-devel%{?_isa} = %{version}-%{release} %description nanovdb-devel NanoVDB is a lightweight, GPU-friendly, header-only implementation of VDB. This package contains the NanoVDB headers for developing applications that use NanoVDB and its OpenVDB conversion helpers. %endif %if %{with python} %package -n python3-%{name} Summary: OpenVDB Python module Requires: %{name}-libs%{?_isa} = %{version}-%{release} %if %{with ax} Requires: %{name}-ax-libs%{?_isa} = %{version}-%{release} %endif %description -n python3-%{name} %{_description} This package contains the OpenVDB module for Python 3. %endif %prep %autosetup -p1 %generate_buildrequires # Core build requirements printf '%s\n' \ 'gcc-c++' \ 'findutils' \ 'boost-devel >= 1.82' \ 'cmake(tbb)' \ 'pkgconfig(blosc) >= 1.17.0' \ 'pkgconfig(log4cplus) >= 2.0' \ 'pkgconfig(zlib) > 1.2.7' # External Imath is optional until Fedora provides Imath >= 3.2. %if %{with imath} printf '%s\n' 'pkgconfig(Imath) >= 3.2' %endif # OpenEXR support is optional. %if %{with openexr} printf '%s\n' 'pkgconfig(OpenEXR) >= 3.2' %endif # AX is optional and intentionally uses Fedora's LLVM 20 compatibility stack, # which is within OpenVDB 13.1's upstream-tested LLVM range. %if %{with ax} printf '%s\n' 'llvm%{llvm_compat}-devel' %endif # Optional documentation support. %if %{with docs} printf '%s\n' 'doxygen' %endif # Optional Python bindings. %if %{with python} printf '%s\n' \ 'python3-devel >= 3.11' \ 'python3-nanobind-devel >= 2.0' %endif # Optional unit tests. %if %{with tests} printf '%s\n' 'cmake(GTest)' %endif %build # OPENVDB_PYTHON_USE_AX controls whether upstream defines PY_OPENVDB_USE_AX # and links the Python module against OpenVDB AX. %cmake \ -DCMAKE_NO_SYSTEM_FROM_IMPORTED=TRUE \ -DDISABLE_DEPENDENCY_VERSION_CHECKS=OFF \ -DOPENVDB_ENABLE_RPATH=OFF \ %if %{with openexr} -DUSE_EXR=ON \ %else -DUSE_EXR=OFF \ %endif %if %{with imath} -DUSE_IMATH_HALF=ON \ %else -DUSE_IMATH_HALF=OFF \ %endif -DUSE_LOG4CPLUS=ON \ %if %{with tests} -DOPENVDB_BUILD_UNITTESTS=ON \ %else -DOPENVDB_BUILD_UNITTESTS=OFF \ %endif %if %{with docs} -DOPENVDB_BUILD_DOCS=ON \ %else -DOPENVDB_BUILD_DOCS=OFF \ %endif %if %{with python} -DOPENVDB_BUILD_PYTHON_MODULE=ON \ -Dnanobind_DIR="$(python3 -m nanobind --cmake_dir)" \ -DVDB_PYTHON_INSTALL_DIRECTORY=%{python3_sitearch} \ %if %{with ax} -DOPENVDB_PYTHON_USE_AX=ON \ %else -DOPENVDB_PYTHON_USE_AX=OFF \ %endif %else -DOPENVDB_BUILD_PYTHON_MODULE=OFF \ -DOPENVDB_PYTHON_USE_AX=OFF \ %endif %if %{with ax} -DOPENVDB_BUILD_AX=ON \ -DOPENVDB_AX_SHARED=ON \ -DOPENVDB_AX_STATIC=OFF \ -DOPENVDB_BUILD_VDB_AX=ON \ -DUSE_AX=ON \ -DLLVM_DIR="$("%{_bindir}/llvm-config-%{llvm_compat}" --cmakedir)" \ %if %{with tests} -DOPENVDB_BUILD_AX_UNITTESTS=ON \ %else -DOPENVDB_BUILD_AX_UNITTESTS=OFF \ %endif %else -DOPENVDB_BUILD_AX=OFF \ -DOPENVDB_BUILD_VDB_AX=OFF \ -DUSE_AX=OFF \ %endif %if %{with nanovdb} -DOPENVDB_BUILD_NANOVDB=ON \ -DUSE_NANOVDB=ON \ -DNANOVDB_BUILD_TOOLS=ON \ -DNANOVDB_USE_OPENVDB=ON \ -DNANOVDB_USE_TBB=ON \ -DNANOVDB_USE_BLOSC=ON \ -DNANOVDB_USE_ZLIB=ON \ %if %{with tests} -DNANOVDB_BUILD_UNITTESTS=ON \ %else -DNANOVDB_BUILD_UNITTESTS=OFF \ %endif %else -DOPENVDB_BUILD_NANOVDB=OFF \ -DUSE_NANOVDB=OFF \ %endif %{nil} # OpenVDB is exceptionally memory-intensive on some secondary architectures. %cmake_build %limit_build -m 12288 %install %cmake_install %if %{with docs} mv %{buildroot}%{_docdir}/OpenVDB/html . rm -rf %{buildroot}%{_datadir}/doc %endif # Static libraries are not shipped. find %{buildroot} -type f -name '*.a' -delete %check %if %{with tests} %if %{with ax} # vdb_ax_cmd_test currently fails in Fedora's build environment while the # remaining OpenVDB, NanoVDB, Python, and AX unit tests pass. %ctest --output-on-failure --exclude-regex '^vdb_ax_cmd_test$' %else %ctest --output-on-failure %endif %endif %files %doc README.md %{_bindir}/vdb_print %files libs %license LICENSE %doc README.md CHANGES %{_libdir}/lib%{name}.so.%{version} %{_libdir}/lib%{name}.so.%{soversion} %files devel %doc README.md %if %{with docs} %doc html %endif %{_includedir}/%{name}/ %{_libdir}/lib%{name}.so %{_libdir}/cmake/OpenVDB/ %if %{with ax} %files ax %doc README.md %{_bindir}/vdb_ax %files ax-libs %{_libdir}/lib%{name}_ax.so.%{version} %{_libdir}/lib%{name}_ax.so.%{soversion} %files ax-devel %doc README.md %{_includedir}/%{name}_ax/ %{_libdir}/lib%{name}_ax.so %endif %if %{with nanovdb} %files nanovdb %doc README.md %{_bindir}/nanovdb_convert %{_bindir}/nanovdb_print %{_bindir}/nanovdb_validate %files nanovdb-devel %doc README.md %{_includedir}/nanovdb/ %endif %if %{with python} %files -n python3-%{name} %doc README.md %{python3_sitearch}/%{name}.cpython-*.so %endif %changelog ## START: Generated by rpmautospec * Sat Sep 19 2026 Luya Tshimbalanga - 13.1.0-2 - Disable ctest * Sat Sep 19 2026 Luya Tshimbalanga - 13.1.0-1 - Update to OpenVDB 13.1.0 (rhbz#2535419) * Thu Sep 17 2026 Orion Poplawski - 13.0.0-9 - Make openvdb-devel require pkgconfig(blosc) to avoid cmake error * Thu Aug 06 2026 Ali Erdinc Koroglu - 13.0.0-8 - FTBSFS fix (rhbz#2504382) * Thu Jul 16 2026 Fedora Release Engineering - 13.0.0-7 - Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild * Thu Jun 04 2026 Python Maint - 13.0.0-6 - Rebuilt for Python 3.15 * Sun May 31 2026 Richard Shaw - 13.0.0-5 - Rebuild for OpenColorIO 2.5.2. * Mon May 25 2026 Richard Shaw - 13.0.0-4 - Rebuild for OpenEXR 3.4.12. * Fri Jan 16 2026 Fedora Release Engineering - 13.0.0-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild * Mon Jan 12 2026 Jonathan Wakely - 13.0.0-2 - Rebuilt for Boost 1.90 * Sat Nov 22 2025 Luya Tshimbalanga - 13.0.0-1 - Update to 13.0.0 (rhbz#2412104) * Fri Oct 17 2025 Yaakov Selkowitz - 12.1.1-2 - Fix flatpak build * Tue Sep 30 2025 Luya Tshimbalanga - 12.1.1-1 - Update to 12.1.1 (rhbz#2387230) * Wed Aug 20 2025 Jerry James - 12.0.1-7 - Rebuild for tbb 2022.2.0 * Thu Jul 24 2025 Fedora Release Engineering - 12.0.1-6 - Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild * Thu Jul 10 2025 Luya Tshimbalanga - 12.0.1-5 - Rebuild for the latest tbb * Wed Jun 04 2025 Python Maint - 12.0.1-4 - Rebuilt for Python 3.14 * Mon Apr 07 2025 Luya Tshimbalanga - 12.0.1-3 - Fix dependencies for subpackages * Sun Apr 06 2025 Luya Tshimbalanga - 12.0.1-2 - Upload source * Sun Apr 06 2025 Luya Tshimbalanga - 12.0.1-1 - Update to 12.0.1 * Fri Jan 17 2025 Tom Rix - 11.0.0-19 - Disable nanovdb and docs to workaround build break. * Sat Dec 21 2024 Luya Tshimbalanga - 11.0.0-18 - Use pkgconfig for Imath build reuirement * Fri Dec 20 2024 Davide Cavalca - 11.0.0-17 - Build with imath support * Fri Dec 20 2024 Davide Cavalca - 11.0.0-16 - Update spec to the latest packaging guidelines * Fri Dec 20 2024 Benjamin A. Beasley - 11.0.0-15 - Add a fully-versioned dep. on the -libs subpkg. from the base pkg. * Thu Jul 18 2024 Fedora Release Engineering - 11.0.0-14 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild * Wed Jul 10 2024 Luya Tshimbalanga - 11.0.0-13 - Fix tbb requirement for devel subpackage (rhbz#2296365) * Tue Jun 11 2024 Python Maint - 11.0.0-12 - Rebuilt for Python 3.13 * Sun Jun 09 2024 Luya Tshimbalanga - 11.0.0-11 - Requires tbb 2020.3 for VFX Reference Platform guideline * Sun Jun 09 2024 Python Maint - 11.0.0-10 - Rebuilt for Python 3.13 * Tue Apr 23 2024 Benjamin A. Beasley - 11.0.0-9 - Rebuilt for openexr 3.2.4 * Sat Apr 20 2024 Luya Tshimbalanga - 11.0.0-8 - Drop backward compatibility ABI changes ... This commit reverted changes aiming to resolve Blender build failure * Fri Mar 29 2024 Luya Tshimbalanga - 11.0.0-7 - Enable backward compatibility for ABI 10 - This update fixes built for Blender with OpenVDB enabled * Sun Jan 28 2024 Richard Shaw - 11.0.0-6 - i686 no longer builds due to 4GB memory per thread limitation on 32bit arches. * Sun Jan 28 2024 Richard Shaw - 11.0.0-5 - Change build requirements of tbb from pkgconfig to cmake to fix i686 pulling in the wrong package. * Sat Jan 27 2024 Richard Shaw - 11.0.0-4 - Increase per core memory build limit from 8GB to 10GB so s390x and ppc64 don't arches don't OOM kill. * Sun Jan 21 2024 Fedora Release Engineering - 11.0.0-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild * Wed Jan 17 2024 Jonathan Wakely - 11.0.0-2 - Rebuilt for Boost 1.83 * Thu Nov 16 2023 Luya Tshimbalanga - 11.0.0-1 - Update to 11.0.0 (rhbz#2243424) * Sat Oct 21 2023 Ali Erdinc Koroglu - 10.1.0-1 - Update to 10.1.0 * Thu Jul 20 2023 Fedora Release Engineering - 10.0.1-8 - Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild * Mon Jul 03 2023 Python Maint - 10.0.1-7 - Rebuilt for Python 3.12 * Thu Jun 01 2023 Ali Erdinc Koroglu - 10.0.1-6 - tbb-devel and zlib-devel run-require for openvdb-devel * Mon Mar 06 2023 aekoroglu - 10.0.1-5 - CMAKE_MODULES enabled for openvkl * Mon Feb 20 2023 Jonathan Wakely - 10.0.1-4 - Rebuilt for Boost 1.81 * Thu Jan 19 2023 Fedora Release Engineering - 10.0.1-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild * Thu Dec 15 2022 Luya Tshimbalanga - 10.0.1-2 - Increase memory usage for ppc64le architecture * Mon Dec 12 2022 Luya Tshimbalanga - 10.0.1-1 - Update to 10.0.1 (#2095665) * Wed Sep 14 2022 Tom Rix - 9.1.0-4 - Disable smp builds for ppc64le and s390 epel * Fri Jul 22 2022 Fedora Release Engineering - 9.1.0-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild * Mon Jun 13 2022 Python Maint - 9.1.0-2 - Rebuilt for Python 3.11 * Sun Jun 12 2022 Luya Tshimbalanga - 9.1.0-1 - local build * Wed May 04 2022 Thomas Rodgers - 9.0.0-6 - Rebuilt for Boost 1.78 * Thu Jan 20 2022 Fedora Release Engineering - 9.0.0-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild * Thu Nov 25 2021 Luya Tshimbalanga - 9.0.0-4 - Enable NanoVDB support as module for OpenVDB * Wed Nov 24 2021 Dan Horák - 9.0.0-3 - workaround OOM on armv7 builders (#2021376) * Fri Nov 19 2021 Luya Tshimbalanga - 9.0.0-2 - Update to 9.0.0 * Sat Nov 13 2021 Luya Tshimbalanga - 9.0.0-1 - Update to 9.0.0 * Fri Aug 20 2021 Richard Shaw - 8.1.0-6 - Rebuild for OpenEXR/Imath 3.1. * Sat Aug 07 2021 Jonathan Wakely - 8.1.0-5 - Rebuilt for Boost 1.76 * Sun Aug 01 2021 Luya Tshimbalanga - 8.1.0-4 - Drop no longer needed OpenEXR and Imath dependencies * Fri Jul 23 2021 Richard Shaw - 8.1.0-3 - Move to OpenEXR 3.x. * Thu Jul 22 2021 Fedora Release Engineering - 8.1.0-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild * Mon Jun 14 2021 Luya Tshimbalanga - 8.1.0-1 - Update to 8.1.0 Resolves rhbz#1971100 * Fri Jun 04 2021 Python Maint - 8.0.1-3 - Rebuilt for Python 3.10 * Tue Mar 30 2021 Jonathan Wakely - 8.0.1-2 - Rebuilt for removed libstdc++ symbol (#1937698) * Sat Feb 06 2021 Luya Tshimbalanga - 8.0.1-1 - Update to 8.0.1 * Tue Jan 26 2021 Fedora Release Engineering - 8.0.0-6 - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild * Mon Jan 25 2021 Kalev Lember - 8.0.0-5 - Rebuilt for Boost 1.75 * Mon Jan 25 2021 Luya Tshimbalanga - 8.0.0-4 - Rebuild to resolve .so dependency * Fri Jan 22 2021 Jonathan Wakely - 8.0.0-3 - Rebuilt for Boost 1.75 * Fri Jan 01 2021 Richard Shaw - 8.0.0-2 - Rebuild for OpenEXR 2.5.3. * Sat Dec 26 2020 Luya Tshimbalanga - 8.0.0-1 - Update to 8.0.0 * Mon Aug 24 2020 Simone Caronni - 7.1.0-3 - Fix typo * Mon Aug 24 2020 Simone Caronni - 7.1.0-2 - List shared object versions * Fri Aug 14 2020 Luya Tshimbalanga - 7.1.0-1 - Update to 7.1.0 Adhere to https://docs.fedoraproject.org/en-US/packaging- guidelines/CMake/ * Sat Aug 01 2020 Fedora Release Engineering - 7.0.0-13 - Second attempt - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild * Tue Jul 28 2020 Fedora Release Engineering - 7.0.0-12 - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild * Sun Jun 21 2020 Luya Tshimbalanga - 7.0.0-11 - Disable jemalloc build for RHEL and its derivative * Thu May 28 2020 Jonathan Wakely - 7.0.0-10 - Rebuilt for Boost 1.73 * Tue May 26 2020 Miro Hrončok - 7.0.0-9 - Rebuilt for Python 3.9 * Sat May 23 2020 Luya Tshimbalanga - 7.0.0-8 - Drop boost-python3-devel build requirement for Fedora 33+ * Sat May 23 2020 Luya Tshimbalanga - 7.0.0-7 - Drop removed boost-python3-devel from Fedora 33+ * Sat May 23 2020 Luya Tshimbalanga - 7.0.0-6 - Disable python3 binding for CentOS and Red Hat Enterprise On RHEL and CentOS, glfw is exclusive for x86_64 Switch to pkgconfig build requirements as possible * Sat May 23 2020 Luya Tshimbalanga - 7.0.0-5 - Disable python3 binding for CentOS and Red Hat Enterprise Switch to pkgconfig build requirements as possible * Sat May 23 2020 Luya Tshimbalanga - 7.0.0-4 - RPMAUTOSPEC: unresolvable merge ## END: Generated by rpmautospec