## START: Set by rpmautospec ## (rpmautospec version 0.3.0) %define autorelease(e:s:pb:n) %{?-p:0.}%{lua: release_number = 1; 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 # Force out of source build %undefine __cmake_in_source_build # Use soversion %global soversion 10.0 # Set to 1 to enable testsuite. Fails everywhere with GCC 8+. %global with_tests 0 # Optional supports %global with_openexr 1 %global with_ax 0 Name: openvdb Version: 10.0.1 Release: %autorelease Summary: C++ library for sparse volumetric data discretized on three-dimensional grids License: MPL-2.0 URL: http://www.openvdb.org/ Source0: https://github.com/AcademySoftwareFoundation/%{name}/archive/v%{version}.tar.gz#/%{name}-%{version}.tar.gz BuildRequires: boost-devel >= 1.61 # boost-python3-devel merged in boost-devel for Fedora 33+ # https://src.fedoraproject.org/rpms/boost/c/1f2e448e099a867f9da62b9da009d3dec5e1ad64?branch=master %if 0%{?rhel} BuildRequires: boost-python3-devel %endif BuildRequires: cmake >= 2.8 BuildRequires: doxygen >= 1.8.11 #BuildRequires: epydoc BuildRequires: gcc-c++ BuildRequires: ghostscript >= 8.70 BuildRequires: libstdc++-devel %if 0%{?with_ax} BuildRequires: llvm-devel BuildRequires: pkgconfig(libffi) %endif BuildRequires: pkgconfig(blosc) >= 1.5.0 BuildRequires: pkgconfig(cppunit) >= 1.10 # RHEL and CentOS only have that build requirement for x86_64 %if 0%{?rhel} %ifarch x86_64 BuildRequires: glfw-devel >= 2.7 %endif %else BuildRequires: pkgconfig(glfw3) >= 2.7 %endif BuildRequires: pkgconfig(jemalloc) BuildRequires: pkgconfig(log4cplus) >= 1.0 %if 0%{?with_openexr} BuildRequires: pkgconfig(OpenEXR) >= 3.0 %endif BuildRequires: pkgconfig(tbb) >= 3.0 BuildRequires: pkgconfig(xi) BuildRequires: pkgconfig(zlib) > 1.2.7 %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 Academy Software Foundation 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 Academy Software Foundation for use in volumetric applications typically encountered in feature film production. %package devel Summary: Development files for %{name} BuildRequires: texlive-latex Requires: %{name}-libs%{?_isa} = %{version}-%{release} Obsoletes: %{name}-doc < 6.1.0-1 Provides: %{name}-doc = %{version}-%{release} %description devel The %{name}-devel package contains libraries and header files for developing applications that use %{name}. %if 0%{?fedora} %package -n python3-%{name} Summary: OpenVDB Python module BuildRequires: pkgconfig(python3) BuildRequires: python3dist(numpy) Requires: %{name}-libs%{?_isa} = %{version}-%{release} Obsoletes: %{name}-python3 < 6.2.0 Obsoletes: %{name}-python2 < 5.1.0-1 Provides: %{name}-python2 = %{version}-%{release} %{?python_provide:%python_provide python3-%{name}} %description -n python3-%{name} %{description} This package contains the Python module. %endif %prep %autosetup -p1 # Hardcoded values sed -i \ -e 's|lib$|%{_lib}|g' \ %{name}/%{name}/CMakeLists.txt %{name}/%{name}/python/CMakeLists.txt %build %ifarch %{arm} # https://bugzilla.redhat.com/show_bug.cgi?id=2021376 %global optflags %(echo %{optflags} | sed 's/-g /-g1 /') %endif %ifarch ppc64le %undefine _smp_mflags %endif export CXXFLAGS="%{build_cxxflags} -Wl,--as-needed" # Ignore versions (python 3, etc.) %cmake \ -DCMAKE_NO_SYSTEM_FROM_IMPORTED=TRUE \ -DDISABLE_DEPENDENCY_VERSION_CHECKS=ON \ -DOPENVDB_BUILD_DOCS=ON \ %if 0%{?fedora} -DOPENVDB_BUILD_PYTHON_MODULE=ON \ %endif %if 0%{?rhel} -DCONCURRENT_MALLOC=None \ %endif -DOPENVDB_BUILD_UNITTESTS=OFF \ -DOPENVDB_ENABLE_RPATH=OFF \ -DOPENVDB_INSTALL_CMAKE_MODULES=OFF \ -DPYOPENVDB_INSTALL_DIRECTORY=%{python3_sitearch} \ %if 0%{?with_ax} -DHAVE_FFI_CALL=ON \ -DUSE_AX=ON \ %endif %if 0%{?with_openexr} -DUSE_EXR=ON \ %endif -DUSE_NANOVDB=ON %ifarch ppc64le && %if 0%{?fedora} >= 38 %cmake_build -j1 %else %cmake_build %endif %if 0%{?with_tests} %check %ctest test %endif %install %cmake_install # Let RPM pick up html documents in the files section mv %{buildroot}%{_docdir}/OpenVDB/html . rm -fr %{buildroot}%{_datadir}/doc find %{buildroot} -name '*.a' -delete %files %{_bindir}/vdb_print %{_bindir}/nanovdb_{print,validate} %files libs %license LICENSE %doc README.md CHANGES %{_libdir}/lib%{name}.so.%{version} %{_libdir}/lib%{name}.so.%{soversion} %if 0%{?fedora} %files -n python3-%{name} %{python3_sitearch}/py%{name}.so %endif %files devel %doc html %{_includedir}/* %{_libdir}/lib%{name}.so %changelog * 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 2020 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