## START: Set by rpmautospec ## (rpmautospec version 0.6.0) ## RPMAUTOSPEC: autorelease, autochangelog %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 # Build and run tests? %bcond tests 1 # When tests are enabled, run tests that require X11/xvfb? %bcond xtests 1 Name: opensubdiv Version: 3.6.0 # Even a patch release is an SONAME version bump. While the following # duplicates %%{version}, we require it to be updated separately as a reminder # of the need to handle ABI-incompatible updates. See discussion at # https://github.com/PixarAnimationStudios/OpenSubdiv/issues/1240. %global soname_version 3.6.0 Release: %autorelease Summary: An Open-Source subdivision surface library # The entire source is Pixar except: # # MIT: # - glLoader/khrplatform.h # - documentation/tipuesearch/ License: Pixar AND MIT URL: https://github.com/PixarAnimationStudios/OpenSubdiv # e.g. 3.6.0~rc1 would become 3_6_0_RC1 %global srcversion %(echo '%{version}' | tr '.~[:lower:]' '__[:upper:]') Source: %{url}/archive/v%{srcversion}/OpenSubdiv-%{srcversion}.tar.gz # fix linking against libdl (see https://github.com/PixarAnimationStudios/OpenSubdiv/issues/1196) Patch: %{name}-rpath.patch BuildRequires: cmake BuildRequires: ninja-build BuildRequires: gcc-c++ BuildRequires: pkgconfig(glew) BuildRequires: pkgconfig(OpenCL) BuildRequires: cmake(TBB) %if %{with tests} && %{with xtests} BuildRequires: xorg-x11-server-Xvfb # Without this, we encounter: # GLFW reported error 65542: GLX: GLX extension not found BuildRequires: mesa-dri-drivers %endif # Drop libs subpackage Obsoletes: %{name}-libs < 3.5.0-10 # Doxygen-generated HTML documentation is not suitable for packaging; see # https://bugzilla.redhat.com/show_bug.cgi?id=2006555 for discussion. Obsoletes: %{name}-doc < 3.5.0-10 %description OpenSubdiv is a set of open source libraries that implement high performance subdivision surface (subdiv) evaluation on massively parallel CPU and GPU architectures. This codepath is optimized for drawing deforming subdivs with static topology at interactive framerates. The resulting limit surface matches Pixar’s Renderman to numerical precision. %package devel Summary: Development files for %{name} Requires: %{name}%{?_isa} = %{version}-%{release} %description devel The %{name}-devel package contains libraries and header files for developing applications that use %{name}. %prep %autosetup -p1 -n OpenSubdiv-%{srcversion} # https://docs.fedoraproject.org/en-US/packaging-guidelines/JavaScript/#_compilationminification find . -type f -name '*.min.js' -print -delete %build %cmake -GNinja \ -DCMAKE_INSTALL_PREFIX=%{_prefix} \ -DCMAKE_LIBDIR_BASE=%{_libdir} \ -DGLEW_LOCATION=%{_libdir} \ -DGLFW_LOCATION=%{_libdir} \ -DNO_CLEW=1 \ -DNO_CUDA=1 \ -DNO_DOC=1\ -DNO_EXAMPLES=1 \ -DNO_GLFW_X11=1 \ -DNO_OPENCL=1 \ -DNO_METAL=1 \ -DNO_REGRESSION=%{?!with_tests:1}%{?with_tests:0} \ -DNO_TUTORIALS=1 \ -DOpenGL_GL_PREFERENCE=GLVND %cmake_build %if %{with tests} %check # Test osd_regression requires X11: # GLFW reported error 65544: X11: The DISPLAY environment variable is missing # DISPLAY set to '(null)' %if %{with xtests} %global __ctest xvfb-run -a ctest %ctest %else %ctest --exclude-regex '^(osd_regression)$' %endif %endif %install %cmake_install %if %{with tests} # Remove regression test executables, which should not have been installed find '%{buildroot}%{_bindir}' ! -type d -print -delete %endif # Remove static libraries find '%{buildroot}' -type f -name '*.a' -print -delete %files %license LICENSE.txt %doc README.md NOTICE.txt %{_libdir}/libosd{C,G}PU.so.%{soname_version} %files devel %{_includedir}/opensubdiv/ %{_libdir}/libosd{C,G}PU.so %{_libdir}/cmake/OpenSubdiv/ %changelog ## START: Generated by rpmautospec * Sat Feb 24 2024 Benjamin A. Beasley - 3.6.0-1 - Update to 3.6.0 * Sat Feb 24 2024 Benjamin A. Beasley - 3.5.1-1 - Update to 3.5.1 * Sat Feb 24 2024 Benjamin A. Beasley - 3.5.0-34 - Remove BuildRequires that are only for building examples * Sat Feb 24 2024 Benjamin A. Beasley - 3.5.0-33 - Use the Ninja backend for CMake - This speeds up the build slightly and has no disadvantages * Sat Feb 24 2024 Benjamin A. Beasley - 3.5.0-32 - Remove unused BuildRequires associated with removed -doc subpackage * Sat Feb 24 2024 Benjamin A. Beasley - 3.5.0-31 - Enable the tests * Sat Feb 24 2024 Benjamin A. Beasley - 3.5.0-30 - Fix running tests that require X11 and GLX * Sat Feb 24 2024 Benjamin A. Beasley - 3.5.0-29 - Fix building and running (non-X11) tests - Add missing %%bcond for tests * Sat Feb 24 2024 Benjamin A. Beasley - 3.5.0-27 - Include NOTICE.txt in the base package; don’t package duplicate readmes * Sat Feb 24 2024 Benjamin A. Beasley - 3.5.0-25 - Do not glob over shared directories * Sat Feb 24 2024 Benjamin A. Beasley - 3.5.0-24 - Do not automatically form the SONAME version from the version * Sat Feb 24 2024 Benjamin A. Beasley - 3.5.0-22 - Adjust Source url so the archive name and extraction directory match * Sat Feb 24 2024 Benjamin A. Beasley - 3.5.0-21 - Use a fixed version and release number for Obsoleting the libs subpackage * Sat Feb 24 2024 Benjamin A. Beasley - 3.5.0-18 - Update Summary/description from upstream * Sat Feb 24 2024 Benjamin A. Beasley - 3.5.0-16 - Automatically form the upstream version/tag from Version, even for pre- releases * Sat Feb 24 2024 Benjamin A. Beasley - 3.5.0-15 - Drop the reproducible docs patch, sincw we no longer build docs * Fri Jan 26 2024 Benjamin A. Beasley - 3.5.0-14 - Drop the -doc subpackage due to Doxygen guidelines issues * Fri Jan 26 2024 Benjamin A. Beasley - 3.5.0-13 - Add missing license file in -doc subpackage * Fri Jan 26 2024 Benjamin A. Beasley - 3.5.0-12 - Better handle bundled and pre-minified tipuesearch JS * Fri Jan 26 2024 Benjamin A. Beasley - 3.5.0-11 - Correct license to Pixar AND MIT * Thu Jan 25 2024 Fedora Release Engineering - 3.5.0-10 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild * Sun Jan 21 2024 Fedora Release Engineering - 3.5.0-9 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild * Wed Jan 17 2024 Jonathan Wakely - 3.5.0-8 - Build against tbb2020.3 instead of tbb * Wed Jan 17 2024 Jonathan Wakely - 3.5.0-7 - Rebuilt for Boost 1.83 * Thu Jul 20 2023 Fedora Release Engineering - 3.5.0-6 - Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild * Thu Jan 19 2023 Fedora Release Engineering - 3.5.0-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild * Tue Jan 03 2023 Todd Zullinger - 3.5.0-4 - make doxygen generated files consistent across builds/arches * Tue Jan 03 2023 Luya Tshimbalanga - 3.5.0-3 - Drop libs subpackage and move version .so to core * Mon Jan 02 2023 Luya Tshimbalanga - 3.5.0-2 - Disable doc subpackage due to strange failure * Mon Jan 02 2023 Luya Tshimbalanga - 3.5.0-1 - Update to 3.5.0 * Fri Jul 22 2022 Fedora Release Engineering - 3.4.4-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild * Thu Jan 20 2022 Fedora Release Engineering - 3.4.4-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild * Thu Jul 22 2021 Fedora Release Engineering - 3.4.4-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild * Wed May 19 2021 Luya Tshimbalanga - 3.4.4-1 - Update to 3.4.4 - Rebuild for ptex 2.4.0 * Fri Feb 05 2021 Luya Tshimbalanga - 3.4.4-0.1.RC1 - Update to 3.4.4 RC1 - Enable ptex support * Mon Sep 21 2020 Luya Tshimbalanga - 3.4.3-1 - Update to 3.4.3 - Port Mageia patch for building with Python 3 dependency - Add doc subpackage - Disable OpenCL due to upstream bug * Sat Aug 01 2020 Fedora Release Engineering - 3.4.0-6 - Second attempt - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild * Tue Jul 28 2020 Fedora Release Engineering - 3.4.0-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild * Wed Jan 29 2020 Fedora Release Engineering - 3.4.0-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild * Mon Oct 14 2019 Luya Tshimbalanga - 3.4.0-3 - Remove rpath - Remove unneeded ldconfig_scriptlets macro - Improve spec file upon review (rhbz #1762155) * Mon Oct 14 2019 Luya Tshimbalanga - 3.4.0-2 - Adjust maximum line limit on description * Mon Oct 14 2019 Luya Tshimbalanga - 3.4.0-1 - Initial package ## END: Generated by rpmautospec