fde0919
# Set to 1 to enable testsuite. Fails everywhere with GCC 8+.
fde0919
%global with_tests 0
e78e645
e78e645
Name:           openvdb
3fc4e0c
Version:        7.0.0
2cd6c7b
Release:        8%{?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(IlmBase)
b43ae63
BuildRequires:  pkgconfig(jemalloc)
b43ae63
BuildRequires:  pkgconfig(log4cplus) >= 1.0
b43ae63
BuildRequires:  pkgconfig(OpenEXR) >= 2.2
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}
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)
3fc4e0c
BuildRequires:  python3-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
21f4f5b
%autosetup
e78e645
ee76930
# Hardcoded values
543410d
sed -i \
ee76930
    -e 's|lib$|%{_lib}|g' \
0d47522
    %{name}/CMakeLists.txt %{name}/python/CMakeLists.txt
e78e645
2d19ad2
mkdir build
2d19ad2
e78e645
%build
2d19ad2
pushd 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 \
3fc4e0c
    -DPYOPENVDB_INSTALL_DIRECTORY=%{python3_sitearch} \
ee76930
    ..
e78e645
%make_build
a7c3c2a
popd
e78e645
fde0919
%if 0%{?with_tests}
fde0919
%check
fde0919
%make test
fde0919
%endif
e78e645
e78e645
%install
2d19ad2
pushd build
e78e645
%make_install
2d19ad2
popd
e78e645
e78e645
# Let RPM pick up HTML documents in the files section
21f4f5b
mv %{buildroot}%{_prefix}/doc/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
e78e645
%license %{name}/LICENSE %{name}/COPYRIGHT
21f4f5b
%doc README.md CHANGES
e78e645
%{_libdir}/*.so.*
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}/*
e78e645
%{_libdir}/*.so
e78e645
e78e645
%changelog
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.