From 27c573a900136133d45e816db7ca468b27af4620dc9ad3dbc9f3e32ba77000c9 Mon Sep 17 00:00:00 2001 From: Marcus Meissner Date: Tue, 8 Jan 2019 10:53:09 +0000 Subject: [PATCH] Accepting request 663570 from home:plater:blender New package for blender cycles with OSL see: boo#1120406 OBS-URL: https://build.opensuse.org/request/show/663570 OBS-URL: https://build.opensuse.org/package/show/graphics/OpenShadingLanguage?expand=0&rev=1 --- .gitattributes | 23 ++ .gitignore | 1 + OpenShadingLanguage-Release-1.9.13.tar.gz | 3 + OpenShadingLanguage-shaderinstalldir.patch | 21 ++ OpenShadingLanguage.changes | 8 + OpenShadingLanguage.spec | 240 +++++++++++++++++++++ 6 files changed, 296 insertions(+) create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 OpenShadingLanguage-Release-1.9.13.tar.gz create mode 100644 OpenShadingLanguage-shaderinstalldir.patch create mode 100644 OpenShadingLanguage.changes create mode 100644 OpenShadingLanguage.spec diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..57affb6 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.osc diff --git a/OpenShadingLanguage-Release-1.9.13.tar.gz b/OpenShadingLanguage-Release-1.9.13.tar.gz new file mode 100644 index 0000000..3ec6763 --- /dev/null +++ b/OpenShadingLanguage-Release-1.9.13.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2bcd1d835f210dbc9e73f1d8892bb15c067d269cbb7b77d9fe5054e2f4fee394 +size 15451839 diff --git a/OpenShadingLanguage-shaderinstalldir.patch b/OpenShadingLanguage-shaderinstalldir.patch new file mode 100644 index 0000000..0ace97f --- /dev/null +++ b/OpenShadingLanguage-shaderinstalldir.patch @@ -0,0 +1,21 @@ +Index: src/shaders/CMakeLists.txt +=================================================================== +--- src/shaders/CMakeLists.txt.orig 2018-12-02 04:00:52.000000000 +0200 ++++ src/shaders/CMakeLists.txt 2019-01-02 12:32:36.665656281 +0200 +@@ -63,4 +63,4 @@ add_custom_target (shaders ALL + SOURCES ${shader_source} ${shader_headers}) + + install (FILES ${shader_headers} ${shader_source} ${shader_objs} +- DESTINATION shaders) ++ DESTINATION ${CMAKE_INSTALL_DATADIR}/shaders) +Index: src/shaders/MaterialX/CMakeLists.txt +=================================================================== +--- src/shaders/MaterialX/CMakeLists.txt.orig 2018-12-02 04:00:52.000000000 +0200 ++++ src/shaders/MaterialX/CMakeLists.txt 2019-01-02 12:50:34.020012017 +0200 +@@ -196,5 +196,5 @@ add_custom_target (mxshaders ALL + SOURCES ${shader_source} ${mx_shader_headers}) + + install (FILES ${mx_shader_headers} ${mx_shader_objs} ${mx_shader_osls} +- DESTINATION shaders/MaterialX) ++ DESTINATION ${CMAKE_INSTALL_DATADIR}/shaders/MaterialX) + diff --git a/OpenShadingLanguage.changes b/OpenShadingLanguage.changes new file mode 100644 index 0000000..1b891d6 --- /dev/null +++ b/OpenShadingLanguage.changes @@ -0,0 +1,8 @@ +------------------------------------------------------------------- +Mon Dec 31 11:35:09 UTC 2018 - davejplater@gmail.com + +- Initial version 1.9.13 created for blender see boo#1120406 +- Blender fails to build with 1.10.x versions +- Added OpenShadingLanguage-shaderinstalldir.patch shaders are + installed directly under /usr see: + https://github.com/imageworks/OpenShadingLanguage/issues/955 diff --git a/OpenShadingLanguage.spec b/OpenShadingLanguage.spec new file mode 100644 index 0000000..c6174d4 --- /dev/null +++ b/OpenShadingLanguage.spec @@ -0,0 +1,240 @@ +# +# 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 +#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 small but rich 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: Headers for shading +Group: Documentation/Other +Requires: %{name} = %{version} + +%description doc +Open Shading Language (OSL) is a small but rich 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 small but rich 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: Osl library +Group: System/Libraries + +%description -n liboslcomp%{sufx} +Open Shading Language (OSL) is a small but rich language for +programmable shading in advanced renderers and other applications, +ideal for describing materials, lights, displacement, and pattern +generation. + +%package -n liboslexec%{sufx} +Summary: Osl library +Group: System/Libraries + +%description -n liboslexec%{sufx} +Open Shading Language (OSL) is a small but rich language for +programmable shading in advanced renderers and other applications, +ideal for describing materials, lights, displacement, and pattern +generation. + +%package -n liboslnoise%{sufx} +Summary: Osl library +Group: System/Libraries + +%description -n liboslnoise%{sufx} +Open Shading Language (OSL) is a small but rich 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 small but rich 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 small but rich 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: Osl library +Group: System/Libraries + +%description -n osl.imageio%{sufx} +Open Shading Language (OSL) is a small but rich 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 + +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 LICENSE +%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