d2cc020
# Force out of source build
d2cc020
%undefine __cmake_in_source_build
d2cc020
fde0919
# Set to 1 to enable testsuite. Fails everywhere with GCC 8+.
fde0919
%global with_tests 0
e78e645
e78e645
Name:           openvdb
d898782
Version:        8.2.0
d898782
Release:        1%{?dist}
e78e645
Summary:        C++ library for sparse volumetric data discretized on three-dimensional grids
e78e645
License:        MPLv2.0
e78e645
URL:            http://www.openvdb.org/
e78e645
45052a3
Source0:        https://github.com/AcademySoftwareFoundation/%{name}/archive/v%{version}.tar.gz#/%{name}-%{version}.tar.gz
e78e645
2d19ad2
BuildRequires:  boost-devel >= 1.61
8c2ca4d
# boost-python3-devel merged in boost-devel for Fedora 33+
8c2ca4d
# https://src.fedoraproject.org/rpms/boost/c/1f2e448e099a867f9da62b9da009d3dec5e1ad64?branch=master
798ba80
%if 0%{?fedora} < 33
fde0919
BuildRequires:  boost-python3-devel
798ba80
%endif
e78e645
BuildRequires:  cmake >= 2.8
e78e645
BuildRequires:  doxygen >= 1.8.11
3fc4e0c
#BuildRequires:  epydoc
ee76930
BuildRequires:  gcc-c++
e78e645
BuildRequires:  ghostscript >= 8.70
ee76930
BuildRequires:  libstdc++-devel
b43ae63
BuildRequires:  pkgconfig(blosc) >= 1.5.0
b43ae63
BuildRequires:  pkgconfig(cppunit) >= 1.10
315b01b
# RHEL and CentOS only has that build requirement for x86_64
315b01b
%if 0%{?rhel}
315b01b
%ifarch x86_64
315b01b
BuildRequires:  glfw-devel >= 2.7
315b01b
%endif
315b01b
%else
b43ae63
BuildRequires:  pkgconfig(glfw3) >= 2.7
315b01b
%endif
b43ae63
BuildRequires:  pkgconfig(jemalloc)
b43ae63
BuildRequires:  pkgconfig(log4cplus) >= 1.0
b43ae63
BuildRequires:  pkgconfig(tbb) >= 3.0
b43ae63
BuildRequires:  pkgconfig(xi)
b43ae63
BuildRequires:  pkgconfig(zlib) > 1.2.7
e78e645
e78e645
%description
e78e645
OpenVDB is an Academy Award-winning open-source C++ library comprising a novel
e78e645
hierarchical data structure and a suite of tools for the efficient storage and
e78e645
manipulation of sparse volumetric data discretized on three-dimensional grids.
ee76930
It is developed and maintained by Academy Software Foundation for use in
ee76930
volumetric applications typically encountered in feature film production.
e78e645
e78e645
This package contains some graphical tools.
e78e645
e78e645
%package        libs
e78e645
Summary:        Core OpenVDB libraries
e78e645
e78e645
%description    libs
e78e645
OpenVDB is an Academy Award-winning open-source C++ library comprising a novel
e78e645
hierarchical data structure and a suite of tools for the efficient storage and
e78e645
manipulation of sparse volumetric data discretized on three-dimensional grids.
ee76930
It is developed and maintained by Academy Software Foundation for use in
ee76930
volumetric applications typically encountered in feature film production.
e78e645
e78e645
%package        devel
e78e645
Summary:        Development files for %{name}
0f5b374
BuildRequires:  texlive-latex
3d699f4
Requires:       %{name}-libs%{?_isa} = %{version}-%{release}
ee76930
Obsoletes:      %{name}-doc < 6.1.0-1
ee76930
Provides:       %{name}-doc = %{version}-%{release}
e78e645
e78e645
%description    devel
e78e645
The %{name}-devel package contains libraries and header files for developing
e78e645
applications that use %{name}.
e78e645
b43ae63
%if 0%{?fedora}
21f4f5b
%package        -n python3-%{name}
e78e645
Summary:        OpenVDB Python module
3fc4e0c
BuildRequires:  pkgconfig(python3)
0f5b374
BuildRequires:  python3dist(numpy)
3d699f4
Requires:       %{name}-libs%{?_isa} = %{version}-%{release}
21f4f5b
Obsoletes:      %{name}-python3 < 6.2.0
fde0919
Obsoletes:      %{name}-python2 < 5.1.0-1
fde0919
Provides:       %{name}-python2 = %{version}-%{release}
3fc4e0c
%{?python_provide:%python_provide python3-%{name}}
21f4f5b
21f4f5b
%description    -n python3-%{name}
3fc4e0c
%{description}
e78e645
e78e645
This package contains the Python module.
b43ae63
%endif
b43ae63
e78e645
e78e645
%prep
5d0b811
%autosetup -p1
e78e645
ee76930
# Hardcoded values
543410d
sed -i \
ee76930
    -e 's|lib$|%{_lib}|g' \
0f5b374
    %{name}/%{name}/CMakeLists.txt %{name}/%{name}/python/CMakeLists.txt
e78e645
2d19ad2
e78e645
%build
a1261af
export CXXFLAGS="%{optflags} -Wl,--as-needed"
ee76930
# Ignore versions (python 3, etc.)
e78e645
%cmake \
ee76930
    -DCMAKE_NO_SYSTEM_FROM_IMPORTED=TRUE \
a7c3c2a
    -DDISABLE_DEPENDENCY_VERSION_CHECKS=ON \
ee76930
    -DOPENVDB_BUILD_DOCS=ON \
b43ae63
%if 0%{?fedora}
3fc4e0c
    -DOPENVDB_BUILD_PYTHON_MODULE=ON \
b43ae63
%endif
f972080
%if 0%{?rhel}
f972080
    -DCONCURRENT_MALLOC=None \
f972080
%endif
c601478
    -DOPENVDB_BUILD_UNITTESTS=OFF \
ee76930
    -DOPENVDB_ENABLE_RPATH=OFF \
ee76930
    -DOPENVDB_INSTALL_CMAKE_MODULES=OFF \
0f5b374
    -DPYOPENVDB_INSTALL_DIRECTORY=%{python3_sitearch} 
d2cc020
%cmake_build
e78e645
fde0919
%if 0%{?with_tests}
fde0919
%check
d2cc020
%ctest test
fde0919
%endif
e78e645
e78e645
%install
d2cc020
%cmake_install
e78e645
b4346ff
# Let RPM pick up html documents in the files section
b4346ff
mv %{buildroot}%{_docdir}/OpenVDB/html .
21f4f5b
rm -fr %{buildroot}%{_datadir}/doc
e78e645
e78e645
find %{buildroot} -name '*.a' -delete
e78e645
e78e645
%files
e78e645
%{_bindir}/vdb_print
e78e645
e78e645
%files libs
0f5b374
%license LICENSE
21f4f5b
%doc README.md CHANGES
4792088
%{_libdir}/lib%{name}.so.%{version}
d898782
%{_libdir}/lib%{name}.so.8.2
e78e645
b43ae63
%if 0%{?fedora}
21f4f5b
%files -n python3-%{name}
f688fdb
%{python3_sitearch}/py%{name}.so
b43ae63
%endif
e78e645
e78e645
%files devel
ee76930
%doc html
e78e645
%{_includedir}/*
4792088
%{_libdir}/lib%{name}.so
e78e645
e78e645
%changelog
d898782
* Thu Nov 25 2021 Luya Tshimbalanga <luya@fedoraproject.org> - 8.2.0-1
d898782
- Update to 8.2.0
d898782
764be4a
* Sun Aug 1 2021 Luya Tshimbalanga <luya@fedoraproject.org> - 8.1.0-4
764be4a
- Drop no longer needed OpenEXR and Imath dependencies
764be4a
5d0b811
* Fri Jul 23 2021 Richard Shaw <hobbes1069@gmail.com> - 8.1.0-3
5d0b811
- Move to OpenEXR 3.x.
5d0b811
2290195
* Thu Jul 22 2021 Fedora Release Engineering <releng@fedoraproject.org> - 8.1.0-2
2290195
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
2290195
05e65fa
* Mon Jun 14 2021 Luya Tshimbalanga <luya@fedoraproject.org> - 8.1.0-1
05e65fa
- Update to 8.1.0
05e65fa
- Resolves rhbz#1971100
05e65fa
4878ab1
* Fri Jun 04 2021 Python Maint <python-maint@redhat.com> - 8.0.1-3
4878ab1
- Rebuilt for Python 3.10
4878ab1
747e27c
* Tue Mar 30 2021 Jonathan Wakely <jwakely@redhat.com> - 8.0.1-2
747e27c
- Rebuilt for removed libstdc++ symbol (#1937698)
747e27c
b4346ff
* Fri Feb 05 2021 Luya Tshimbalanga <luya@fedoraproject.org> - 8.0.1-1
b4346ff
- Update to 8.0.1
b4346ff
95cb275
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 8.0.0-6
95cb275
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
95cb275
a251738
* Mon Jan 25 2021 Kalev Lember <klember@redhat.com> - 8.0.0-5
a251738
- Rebuilt for Boost 1.75
a251738
c8db630
* Sun Jan 24 2021 Luya Tshimbalanga <luya@fedoraproject.org> - 8.0.0-4
c8db630
- Rebuild to resolve .so dependency
c8db630
8195647
* Fri Jan 22 2021 Jonathan Wakely <jwakely@redhat.com> - 8.0.0-3
8195647
- Rebuilt for Boost 1.75
8195647
f83c08c
* Fri Jan 01 2021 Richard Shaw <hobbes1069@gmail.com> - 8.0.0-2
f83c08c
- Rebuild for OpenEXR 2.5.3.
f83c08c
0f5b374
* Thu Dec 24 2020 Luya Tshimbalanga <luya@fedoraproject.org> - 8.0.0-1
0f5b374
- Update to 8.0.0
0f5b374
0f5b374
* Thu Dec 10 2020 Luya Tshimbalanga <luya@fedoraproject.org> - 7.2.0-1
0f5b374
- Update to 7.2.0
0f5b374
4792088
* Mon Aug 24 2020 Simone Caronni <negativo17@gmail.com> - 7.1.0-2
4792088
- List shared object versions.
4792088
d2cc020
* Fri Aug 14 2020 Luya Tshimbalanga <luya@fedoraproject.org> - 7.1.0-1
d2cc020
- Update to 7.1.0
d2cc020
- Adhere to https://docs.fedoraproject.org/en-US/packaging-guidelines/CMake/
d2cc020
6db09db
* Sat Aug 01 2020 Fedora Release Engineering <releng@fedoraproject.org> - 7.0.0-9
6db09db
- Second attempt - Rebuilt for
6db09db
  https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
6db09db
2cd6c7b
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 7.0.0-8
2cd6c7b
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
2cd6c7b
f972080
* Sun Jun 21 2020 Luya Tshimbalanga <luya@fedoraproject.org> - 7.0.0-7
f972080
- Disable jemalloc build for RHEL and its derivative
f972080
065e226
* Thu May 28 2020 Jonathan Wakely <jwakely@redhat.com> - 7.0.0-6
065e226
- Rebuilt for Boost 1.73
065e226
771a793
* Tue May 26 2020 Miro Hrončok <mhroncok@redhat.com> - 7.0.0-5
771a793
- Rebuilt for Python 3.9
771a793
798ba80
* Sat May 23 2020 Luya Tshimbalanga <luya@fedoraproject.org> - 7.0.0-4
8c2ca4d
- Drop boost-python3-devel build requirement for Fedora 33+ 
798ba80
095bf1f
* Sat May 23 2020 Luya Tshimbalanga <luya@fedoraproject.org> - 7.0.0-3
b43ae63
- Disable python3 binding for CentOS and Red Hat Enterprise
7638693
- On RHEL and CentOS, glfw is exclusive for x86_64
315b01b
- Switch to pkgconfig build requirements as possible
b43ae63
02fd0a6
* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 7.0.0-2
02fd0a6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
02fd0a6
3fc4e0c
* Wed Dec 11 2019 Luya Tshimbalanga <luya@fedoraproject.org> - 7.0.0-1
3fc4e0c
- Update to 7.0.0
3fc4e0c
- Set python3 module installation path via cmake
3fc4e0c
- Drop epydoc dependency
3fc4e0c
21f4f5b
* Thu Sep 19 2019 Luya Tshimbalanga <luya@fedoraproject.org> - 6.2.0-1
21f4f5b
- Update to 6.2.0
21f4f5b
- Drop no longer needed upstream patch
21f4f5b
- Rename subpackge module to python3-*
21f4f5b
- Fix correct python module installation path
21f4f5b
6bd8302
* Mon Aug 19 2019 Miro Hrončok <mhroncok@redhat.com> - 6.1.0-3
6bd8302
- Rebuilt for Python 3.8
6bd8302
ee76930
* Sun Aug 18 2019 Simone Caronni <negativo17@gmail.com> - 6.1.0-2
ee76930
- Fix build with latest options.
ee76930
- Update SPEC file.
ee76930
- rpmlint fixes.
ee76930
2d19ad2
* Thu Aug 01 2019 Luya Tshimbalanga <luya@fedoraproject.org> - 6.1.0-1
2d19ad2
- Update to 6.1.0
2d19ad2
- Fix cmake build
2d19ad2
7a0942d
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 6.0.0-3
7a0942d
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
7a0942d
675460c
* Fri Apr 12 2019 Richard Shaw <hobbes1069@gmail.com> - 6.0.0-2
675460c
- Rebuild for Ilmbase 2.3.0.
675460c
45052a3
* Sat Feb 16 2019 Luya Tshimbalanga <luya@fedoraproject.org> - 6.0.0-1
45052a3
- Update to 6.0.0
45052a3
- Update source url and description
c601478
- Apply patch for boost 1.6.9 borrowed from Arch Linux
45052a3
2771e79
* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 5.1.0-5
2771e79
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
2771e79
0ec7ee7
* Sat Oct 13 2018 Jerry James <loganjerry@gmail.com> - 5.1.0-4
0ec7ee7
- Rebuild for tbb 2019_U1
0ec7ee7
3d699f4
* Tue Jul 17 2018 Simone Caronni <negativo17@gmail.com> - 5.1.0-3
3d699f4
- Require libs subpackage for python3/devel.
3d699f4
543410d
* Tue Jul 17 2018 Simone Caronni <negativo17@gmail.com> - 5.1.0-2
543410d
- Fix Python 3 Boost link.
543410d
fde0919
* Tue Jul 17 2018 Simone Caronni <negativo17@gmail.com> - 5.1.0-1
fde0919
- Update to 5.1.0.
fde0919
- Switch to Python 3.
fde0919
fbd2adc
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 5.0.0-4
fbd2adc
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
fbd2adc
67b40ac
* Tue May 01 2018 Jonathan Wakely <jwakely@redhat.com> - 5.0.0-3
67b40ac
- Add BuildRequires: boost-python2-devel to fix build with boost-1.66.0-7.fc29
67b40ac
071a4ff
* Sun Mar 04 2018 Luya Tshimbalanga <luya@fedoraproject.org> - 5.0.0-2
071a4ff
- Added gcc-c++ dependency
071a4ff
- Upstream patch for Boost compability
071a4ff
2dab0d7
* Mon Feb 26 2018 Luya Tshimbalanga <luya@fedoraproject.org> - 5.0.0-1
2dab0d7
- Update to 5.0.0
071a4ff
- Use new upstream macro for abi compatibility
071a4ff
- Rebuild for Boost 1.66
411c91d
19e86b0
* Thu Feb 08 2018 Fedora Release Engineering <releng@fedoraproject.org> - 4.0.2-2
19e86b0
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
19e86b0
0d47522
* Mon Sep 11 2017 Simone Caronni <negativo17@gmail.com> - 4.0.2-1
0d47522
- Update to 4.0.2.
0d47522
220cb9d
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 4.0.1-7
220cb9d
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
220cb9d
b460c3c
* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 4.0.1-6
b460c3c
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
b460c3c
4078160
* Sun Jul 23 2017 Simone Caronni <negativo17@gmail.com> - 4.0.1-5
4078160
- Rename python subpackage (module) to python2.
4078160
d218576
* Wed Jul 19 2017 Jonathan Wakely <jwakely@redhat.com> - 4.0.1-4
d218576
- Rebuilt for s390x binutils bug
d218576
8b308a5
* Tue Jul 18 2017 Jonathan Wakely <jwakely@redhat.com> - 4.0.1-3
8b308a5
- Rebuilt for Boost 1.64
8b308a5
a1261af
* Sat May 06 2017 Simone Caronni <negativo17@gmail.com> - 4.0.1-2
a1261af
- Review fixes.
a1261af
e78e645
* Sat Apr 22 2017 Simone Caronni <negativo17@gmail.com> - 4.0.1-1
e78e645
- Update to 4.0.1.
e78e645
- Perform tests, build HTML documentation.
e78e645
- Require main OpenVDB library for Python module.
e78e645
e78e645
* Wed Nov 23 2016 Simone Caronni <negativo17@gmail.com> - 4.0.0-2
e78e645
- Update to 4.0.0.
e78e645
e78e645
* Sun Oct 16 2016 Simone Caronni <negativo17@gmail.com> - 4.0.0-1.20161015git40271e7
e78e645
- First build.