# Force out of source build %undefine __cmake_in_source_build %global upstream_version 3_5_0 #%%global prerelease RC1 %global documentation 1 Name: opensubdiv Version: 3.5.0 Release: %autorelease Summary: High performance subdivision surface libraries License: Apache-2.0 #URL: http://graphics.pixar.com/%%{name} Url: https://github.com/PixarAnimationStudios/OpenSubdiv Source: https://github.com/PixarAnimationStudios/OpenSubdiv/archive/v%{upstream_version}%{?prerelease}/%{name}-%{version}%{?prerelease}.tar.gz # fix linking against libdl (see https://github.com/PixarAnimationStudios/OpenSubdiv/issues/1196) Patch: %{name}-rpath.patch # make doxygen generated files consistent across builds & architectures Patch: opensubdiv-3.5.0-reproducible-docs.patch BuildRequires: cmake %if 0%{?documentation} BuildRequires: doxygen BuildRequires: python3dist(docutils) %endif BuildRequires: gcc-c++ BuildRequires: graphviz-devel BuildRequires: pkgconfig(glew) BuildRequires: pkgconfig(glfw3) BuildRequires: pkgconfig(OpenCL) BuildRequires: pkgconfig(Ptex) BuildRequires: pkgconfig(python3) BuildRequires: tbb2020.3-devel BuildRequires: pkgconfig(zlib) BuildRequires: python3dist(pygments) # Drop libs subpackage Obsoletes: %{name}-libs < %{version}-%{release} %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. %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}. %if 0%{?documentation} %package doc Summary: High performance subdivision surface libraries BuildArch: noarch %description doc OpenSubdiv is a set of open source libraries that implement high performance subdivision surface (subdiv) evaluation on massively parallel CPU and GPU architectures. This code path is optimized for drawing deforming surfaces with static topology at interactive frame rates. This package includes the documentation of OpenSubdiv. %endif %prep %autosetup -p1 -n OpenSubdiv-%{upstream_version}%{?prerelease} # work around linking glitch # https://github.com/PixarAnimationStudios/OpenSubdiv/issues/1196 sed -i 's|${PLATFORM_GPU_LIBRARIES}|${PLATFORM_GPU_LIBRARIES} ${CMAKE_DL_LIBS}|' opensubdiv/CMakeLists.txt %build %cmake \ -DCMAKE_INSTALL_PREFIX=%{_prefix} \ -DCMAKE_LIBDIR_BASE=%{_libdir} \ -DGLEW_LOCATION=%{_libdir} \ -DGLFW_LOCATION=%{_libdir} \ -DNO_CLEW=1 \ -DNO_CUDA=1 \ %if 0%{?documentation} -DNO_DOC=0 \ %else -DNO_DOC=1\ %endif -DNO_EXAMPLES=1 \ -DNO_GLFW_X11=1 \ -DNO_OPENCL=1 \ -DNO_METAL=1 \ -DNO_REGRESSION=1 \ -DNO_TUTORIALS=1 \ -DOpenGL_GL_PREFERENCE=GLVND \ -DTBB_LOCATION=%{_libdir} %cmake_build %{?_with_tests: %check make test V=1 } %install %cmake_install # Remove static files find %{buildroot} -name '*.la' -delete find %{buildroot} -name '*.a' -delete %files %license LICENSE.txt %doc README.md %{_libdir}/*.so.%{version} %files devel %doc NOTICE.txt README.md %{_includedir}/* %{_libdir}/*.so %{_libdir}/cmake/OpenSubdiv/ %if 0%{?documentation} %files doc %{_docdir}/%{name}/ %endif %changelog %autochangelog