# # spec file for package OpenShadingLanguage # # Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via http://bugs.opensuse.org/ # # The library soname versions follow the package version major and minor numbers. %define sover %(echo %{version} | cut -d . -f 1,2) %define sufx %(echo %{sover}|tr . _) #NOTE: This package was created for blender, blender doesn't build against # the 1.10.x ABI. If there is the need to update to such a version please consult me # first davejplater@gmail.com or suffix the package with a 110 or something. Name: OpenShadingLanguage Version: 1.9.13 Release: 0 Summary: A language for programmable shading License: BSD-3-Clause Group: Productivity/Graphics/Other Url: https://github.com/imageworks/OpenShadingLanguage Source0: https://github.com/imageworks/OpenShadingLanguage/archive/Release-%{version}.tar.gz#/%{name}-Release-%{version}.tar.gz Source1: https://creativecommons.org/licenses/by/3.0/legalcode.txt #PATCH-FIX-UPSTREAM OpenShadingLanguage-shaderinstalldir.patch - davejplater@gmail.com - shaders are installed directly under /usr #https://github.com/imageworks/OpenShadingLanguage/issues/955 Patch0: OpenShadingLanguage-shaderinstalldir.patch BuildRequires: bison BuildRequires: cmake BuildRequires: cmake(pugixml) BuildRequires: clang5-devel BuildRequires: flex BuildRequires: gcc-c++ BuildRequires: libboost_atomic-devel BuildRequires: libboost_filesystem-devel BuildRequires: libboost_locale-devel BuildRequires: libboost_regex-devel BuildRequires: libboost_thread-devel BuildRequires: libboost_wave-devel BuildRequires: OpenImageIO-devel BuildRequires: OpenEXR-devel BuildRequires: python Recommends: %{name}-doc = %{version} %description Open Shading Language (OSL) is a language for programmable shading in advanced renderers and other applications, ideal for describing materials, lights, displacement, and pattern generation. This package contains binaries. %package doc Summary: Documentation for OpenShadingLanguage License: CC-BY-3.0 Group: Documentation/Other Requires: %{name} = %{version} %description doc Open Shading Language (OSL) is a language for programmable shading in advanced renderers and other applications, ideal for describing materials, lights, displacement, and pattern generation. This package contains documentation. %package shaders-devel Summary: Headers for shading Group: Development/Languages/Other Requires: %{name} = %{version} %description shaders-devel Open Shading Language (OSL) is a language for programmable shading in advanced renderers and other applications, ideal for describing materials, lights, displacement, and pattern generation. This package contains shaders and headers used by OSL. %package -n liboslcomp%{sufx} Summary: OpenShadingLanguage's compiler component library Group: System/Libraries %description -n liboslcomp%{sufx} Open Shading Language (OSL) is a language for programmable shading in advanced renderers and other applications, ideal for describing materials, lights, displacement, and pattern generation. %package -n liboslexec%{sufx} Summary: OpenShadingLanguage's execution component library Group: System/Libraries %description -n liboslexec%{sufx} Open Shading Language (OSL) is a language for programmable shading in advanced renderers and other applications, ideal for describing materials, lights, displacement, and pattern generation. %package -n liboslnoise%{sufx} Summary: OpenShadingLanguage's image noise generation library Group: System/Libraries %description -n liboslnoise%{sufx} Open Shading Language (OSL) is a language for programmable shading in advanced renderers and other applications, ideal for describing materials, lights, displacement, and pattern generation. %package -n liboslquery%{sufx} Summary: Osl library Group: System/Libraries %description -n liboslquery%{sufx} Open Shading Language (OSL) is a language for programmable shading in advanced renderers and other applications, ideal for describing materials, lights, displacement, and pattern generation. %package -n libtestshade%{sufx} Summary: Osl library Group: System/Libraries %description -n libtestshade%{sufx} Open Shading Language (OSL) is a language for programmable shading in advanced renderers and other applications, ideal for describing materials, lights, displacement, and pattern generation. %package -n osl.imageio%{sufx} Summary: Shader interface to OpenImageIO functions Group: System/Libraries %description -n osl.imageio%{sufx} Open Shading Language (OSL) is a language for programmable shading in advanced renderers and other applications, ideal for describing materials, lights, displacement, and pattern generation. %package devel Summary: Development files for %{name} Group: Development/Libraries/C and C++ Requires: %{name} = %{version} Requires: liboslcomp%{sufx} = %{version} Requires: liboslexec%{sufx} = %{version} Requires: liboslnoise%{sufx} = %{version} Requires: liboslquery%{sufx} = %{version} Requires: libtestshade%{sufx} = %{version} Requires: osl.imageio%{sufx} = %{version} %description devel The %{name}-devel package contains libraries and header files for developing applications that use %{name}. %prep %setup -q -n %{name}-Release-%{version} # Shaders and includes for OSL are installed in $PREFIX/shaders %patch0 %build %cmake \ -DLLVM_MCJIT_LIBRARY:FILEPATH=%{_libdir}/libLLVM.so \ -DCMAKE_INSTALL_DOCDIR:PATH=%{_docdir}/%{name} \ -DCMAKE_INSTALL_DATADIR:PATH=%{_datadir}/%{name} make %{?_smp_mflags} %install %cmake_install # Add Creative Commons license for documentation cp -v %{SOURCE1} . find %{buildroot} -name LICENSE -print -delete find %{buildroot} -type f -name "*.la" -delete -print %post -n liboslcomp%{sufx} -p /sbin/ldconfig %postun -n liboslcomp%{sufx} -p /sbin/ldconfig %post -n liboslexec%{sufx} -p /sbin/ldconfig %postun -n liboslexec%{sufx} -p /sbin/ldconfig %post -n liboslnoise%{sufx} -p /sbin/ldconfig %postun -n liboslnoise%{sufx} -p /sbin/ldconfig %post -n liboslquery%{sufx} -p /sbin/ldconfig %postun -n liboslquery%{sufx} -p /sbin/ldconfig %post -n libtestshade%{sufx} -p /sbin/ldconfig %postun -n libtestshade%{sufx} -p /sbin/ldconfig %post -n osl.imageio%{sufx} -p /sbin/ldconfig %postun -n osl.imageio%{sufx} -p /sbin/ldconfig %files %defattr(-,root,root) %{_bindir}/* %files doc %license legalcode.txt %doc %{_docdir}/%{name}/ %files shaders-devel %license LICENSE %_datadir/%{name}/ %files -n liboslcomp%{sufx} %license LICENSE %{_libdir}/liboslcomp.so.%{sover}* %files -n liboslexec%{sufx} %license LICENSE %{_libdir}/liboslexec.so.%{sover}* %files -n liboslnoise%{sufx} %license LICENSE %{_libdir}/liboslnoise.so.%{sover}* %files -n liboslquery%{sufx} %license LICENSE %{_libdir}/liboslquery.so.%{sover}* %files -n libtestshade%{sufx} %license LICENSE %{_libdir}/libtestshade.so.%{sover}* %files -n osl.imageio%{sufx} %license LICENSE %{_libdir}/osl.imageio.so.%{sover}* %files devel %defattr(-,root,root) %license LICENSE %{_includedir}/* %{_libdir}/*.so %changelog