[arch-commits] Commit in openshadinglanguage/repos (4 files)
Evangelos Foutras
foutrelis at archlinux.org
Tue Mar 26 03:58:20 UTC 2019
Date: Tuesday, March 26, 2019 @ 03:58:20
Author: foutrelis
Revision: 443533
archrelease: copy trunk to community-staging-x86_64
Added:
openshadinglanguage/repos/community-staging-x86_64/
openshadinglanguage/repos/community-staging-x86_64/PKGBUILD
(from rev 443532, openshadinglanguage/trunk/PKGBUILD)
openshadinglanguage/repos/community-staging-x86_64/clang7.patch
(from rev 443532, openshadinglanguage/trunk/clang7.patch)
openshadinglanguage/repos/community-staging-x86_64/llvm-static-system-libs.patch
(from rev 443532, openshadinglanguage/trunk/llvm-static-system-libs.patch)
-------------------------------+
PKGBUILD | 51 +++++++++++
clang7.patch | 173 ++++++++++++++++++++++++++++++++++++++++
llvm-static-system-libs.patch | 15 +++
3 files changed, 239 insertions(+)
Copied: openshadinglanguage/repos/community-staging-x86_64/PKGBUILD (from rev 443532, openshadinglanguage/trunk/PKGBUILD)
===================================================================
--- community-staging-x86_64/PKGBUILD (rev 0)
+++ community-staging-x86_64/PKGBUILD 2019-03-26 03:58:20 UTC (rev 443533)
@@ -0,0 +1,51 @@
+# Maintainer: Sven-Hendrik Haase <sh at lutzhaase.com>
+pkgname=openshadinglanguage
+pkgver=1.9.10
+pkgrel=5
+pkgdesc="Advanced shading language for production GI renderers"
+arch=(x86_64)
+url="https://github.com/imageworks/OpenShadingLanguage"
+license=('custom')
+depends=('boost-libs' 'openimageio' 'openexr' 'intel-tbb' 'freetype2' 'libpng'
+ 'libtiff' 'zlib' 'ncurses')
+makedepends=('boost' 'cmake' 'python' 'llvm' 'clang')
+source=(https://github.com/imageworks/OpenShadingLanguage/archive/Release-${pkgver}.tar.gz
+ clang7.patch)
+sha512sums=('61c52cb673863bd67e257aef2c37026a49c392de9a41739e07926f8dd878f6c90ac2da6224eb3f78b8ba8e6ca121502ba41c65a6c3353f3cb7fec631a43f016b'
+ 'c6a9ba70e38f5fc93e99912fed1ac853521c4125e77f316eb2dfdf6ec2ee3ac34af2ed91bf144d09d25b1bfc06e736d1a9a10954f83d45950a1c83990fed4498')
+
+prepare() {
+ cd OpenShadingLanguage-Release-$pkgver
+
+ # Add system libraries needed to link against LLVM components (zlib, ncurses)
+ # This is required in order to statically link against LLVM
+ #patch -Np1 < $srcdir/llvm-static-system-libs.patch
+ patch -Np1 -i "$srcdir"/clang7.patch
+}
+
+build() {
+ cd OpenShadingLanguage-Release-$pkgver/src
+
+ [[ -d build ]] && rm -r build
+ mkdir build && cd build
+
+ cmake ../.. \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DLLVM_STATIC=0 \
+ -DENABLERTTI=ON \
+ -DSTOP_ON_WARNING=OFF
+ make
+}
+
+package() {
+ cd OpenShadingLanguage-Release-$pkgver/src/build
+
+ make DESTDIR="$pkgdir/" install
+ mkdir "$pkgdir"/usr/share/OSL
+ mv "$pkgdir"/usr/shaders "$pkgdir"/usr/share/OSL/shaders
+
+ install -Dm644 "$pkgdir"/usr/share/doc/OSL/LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
+}
+
+# vim:set ts=2 sw=2 et:
Copied: openshadinglanguage/repos/community-staging-x86_64/clang7.patch (from rev 443532, openshadinglanguage/trunk/clang7.patch)
===================================================================
--- community-staging-x86_64/clang7.patch (rev 0)
+++ community-staging-x86_64/clang7.patch 2019-03-26 03:58:20 UTC (rev 443533)
@@ -0,0 +1,173 @@
+From 8fbbe7dc32e2a418cc259ff8392bd29045d228f8 Mon Sep 17 00:00:00 2001
+From: Larry Gritz <lg at larrygritz.com>
+Date: Sun, 23 Sep 2018 13:19:49 -0700
+Subject: [PATCH] Support clang7 and llvm7
+
+(backported from master)
+---
+ CHANGES.md | 2 +-
+ INSTALL.md | 2 +-
+ site/spi/Makefile-bits | 24 +++++++++++++--
+ src/liboslcomp/oslcomp.cpp | 6 ++++
+ src/liboslexec/llvm_util.cpp | 28 +++++++++++++++---
+ .../render-background/ref/out-clang7mac.exr | Bin 0 -> 345516 bytes
+ 6 files changed, 53 insertions(+), 9 deletions(-)
+ create mode 100644 testsuite/render-background/ref/out-clang7mac.exr
+
+diff --git a/site/spi/Makefile-bits b/site/spi/Makefile-bits
+index fc7dd5542..3ec6a4270 100644
+--- a/site/spi/Makefile-bits
++++ b/site/spi/Makefile-bits
+@@ -18,7 +18,7 @@ ifeq ($(SP_OS), rhel7)
+
+ ## If not overridden, here is our preferred LLVM installation
+ ## (may be changed as new versions are rolled out to the facility)
+- LLVM_DIRECTORY ?= /shots/spi/home/lib/arnold/rhel7/llvm_5.0.0
++ LLVM_DIRECTORY ?= /shots/spi/home/lib/arnold/rhel7/llvm_7.0.0
+
+ # A variety of tags can be used to try specific versions of gcc or
+ # clang from the site-specific places we have installed them.
+@@ -28,14 +28,26 @@ ifeq ($(SP_OS), rhel7)
+ -DCMAKE_CXX_COMPILER=/shots/spi/home/lib/arnold/rhel7/llvm_4.0_final/bin/clang++
+ else ifeq (${COMPILER}, clang5)
+ MY_CMAKE_FLAGS += \
+- -DCMAKE_C_COMPILER=/shots/spi/home/lib/arnold/rhel7/llvm_5.0.0/bin/clang \
+- -DCMAKE_CXX_COMPILER=/shots/spi/home/lib/arnold/rhel7/llvm_5.0.0/bin/clang++
++ -DCMAKE_C_COMPILER=/shots/spi/home/lib/arnold/rhel7/llvm_5.0.1/bin/clang \
++ -DCMAKE_CXX_COMPILER=/shots/spi/home/lib/arnold/rhel7/llvm_5.0.1/bin/clang++
++ else ifeq (${COMPILER}, clang6)
++ MY_CMAKE_FLAGS += \
++ -DCMAKE_C_COMPILER=/shots/spi/home/lib/arnold/rhel7/llvm_6.0.1/bin/clang \
++ -DCMAKE_CXX_COMPILER=/shots/spi/home/lib/arnold/rhel7/llvm_6.0.1/bin/clang++
++ else ifeq (${COMPILER}, clang7)
++ MY_CMAKE_FLAGS += \
++ -DCMAKE_C_COMPILER=/shots/spi/home/lib/arnold/rhel7/llvm_7.0.0/bin/clang \
++ -DCMAKE_CXX_COMPILER=/shots/spi/home/lib/arnold/rhel7/llvm_7.0.0/bin/clang++
+ else ifeq (${COMPILER},clang)
+ MY_CMAKE_FLAGS += -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++
+ else ifeq (${COMPILER}, gcc490)
+ MY_CMAKE_FLAGS += \
+ -DCMAKE_C_COMPILER=/net/soft_scratch/apps/arnold/tools/gcc-4.9-20130512-test/bin/gcc \
+ -DCMAKE_CXX_COMPILER=/net/soft_scratch/apps/arnold/tools/gcc-4.9-20130512-test/bin/g++
++ else ifeq (${COMPILER}, gcc6)
++ MY_CMAKE_FLAGS += \
++ -DCMAKE_C_COMPILER=/opt/rh/devtoolset-6/root/usr/bin/gcc \
++ -DCMAKE_CXX_COMPILER=/opt/rh/devtoolset-6/root/usr/bin/g++
+ else ifeq (${COMPILER},gcc)
+ MY_CMAKE_FLAGS += -DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++
+ else ifeq (${COMPILER},)
+@@ -43,8 +55,12 @@ ifeq ($(SP_OS), rhel7)
+ MY_CMAKE_FLAGS += \
+ -DCMAKE_C_COMPILER=${LLVM_DIRECTORY}/bin/clang \
+ -DCMAKE_CXX_COMPILER=${LLVM_DIRECTORY}/bin/clang++
++ MY_CMAKE_FLAGS += -DCMAKE_C_FLAGS="--gcc-toolchain=/usr" \
++ -DCMAKE_CXX_FLAGS="--gcc-toolchain=/usr" \
++ -DTOOLCHAIN_FLAGS="--gcc-toolchain=/usr"
+ endif
+
++
+ MY_CMAKE_FLAGS += \
+ -DOPENEXR_CUSTOM_INCLUDE_DIR=/usr/include/OpenEXR2 \
+ -DOPENEXR_CUSTOM_LIB_DIR=/usr/lib64/OpenEXR2 \
+@@ -93,6 +109,8 @@ else ifeq (${platform}, macosx)
+ MY_CMAKE_FLAGS += -DCMAKE_C_COMPILER=clang-3.5 -DCMAKE_CXX_COMPILER=clang++-3.5
+ else ifeq (${COMPILER},clang40)
+ MY_CMAKE_FLAGS += -DCMAKE_C_COMPILER=/usr/local/opt/llvm at 4/bin/clang -DCMAKE_CXX_COMPILER=/usr/local/opt/llvm at 4/bin/clang++
++ else ifeq (${COMPILER},clang7)
++ MY_CMAKE_FLAGS += -DCMAKE_C_COMPILER=/usr/local/Cellar/llvm/7.0.0/bin/clang -DCMAKE_CXX_COMPILER=/usr/local/Cellar/llvm/7.0.0/bin/clang++
+ else ifeq (${COMPILER},clang)
+ MY_CMAKE_FLAGS += -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++
+ else ifeq (${COMPILER},gcc)
+diff --git a/src/liboslcomp/oslcomp.cpp b/src/liboslcomp/oslcomp.cpp
+index 56baa05dc..308d88cad 100644
+--- a/src/liboslcomp/oslcomp.cpp
++++ b/src/liboslcomp/oslcomp.cpp
+@@ -331,6 +331,12 @@ OSLCompilerImpl::preprocess_buffer (const std::string &buffer,
+
+ inst.getPreprocessorOutputOpts().ShowCPP = 1;
+ inst.getPreprocessorOutputOpts().ShowMacros = 0;
++#if OSL_LLVM_VERSION >= 40
++ inst.getPreprocessorOutputOpts().ShowComments = 0;
++ inst.getPreprocessorOutputOpts().ShowLineMarkers = 1;
++ inst.getPreprocessorOutputOpts().ShowMacroComments = 0;
++ inst.getPreprocessorOutputOpts().ShowIncludeDirectives = 0;
++#endif
+
+ clang::HeaderSearchOptions &headerOpts = inst.getHeaderSearchOpts();
+ headerOpts.UseBuiltinIncludes = 0;
+diff --git a/src/liboslexec/llvm_util.cpp b/src/liboslexec/llvm_util.cpp
+index ca8b3585d..041f6cd0d 100644
+--- a/src/liboslexec/llvm_util.cpp
++++ b/src/liboslexec/llvm_util.cpp
+@@ -88,6 +88,11 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ # include <llvm/Transforms/Scalar/GVN.h>
+ #endif
+
++#if OSL_LLVM_VERSION >= 70
++#include <llvm/Transforms/Utils.h>
++#include <llvm/Transforms/InstCombine/InstCombine.h>
++#endif
++
+ OSL_NAMESPACE_ENTER
+
+ namespace pvt {
+@@ -1353,6 +1358,10 @@ LLVM_Util::op_memset (llvm::Value *ptr, int val, int len, int align)
+ void
+ LLVM_Util::op_memset (llvm::Value *ptr, int val, llvm::Value *len, int align)
+ {
++#if OSL_LLVM_VERSION >= 70
++ builder().CreateMemSet (ptr, builder().getInt8((unsigned char)val),
++ len, (unsigned)align);
++#else
+ // memset with i32 len
+ // and with an i8 pointer (dst) for LLVM-2.8
+ llvm::Type* types[] = {
+@@ -1381,6 +1390,7 @@ LLVM_Util::op_memset (llvm::Value *ptr, int val, llvm::Value *len, int align)
+ };
+ builder().CreateCall (func, llvm::ArrayRef<llvm::Value*>(args, 5));
+
++#endif
+ #endif
+ }
+
+@@ -1389,6 +1399,10 @@ LLVM_Util::op_memset (llvm::Value *ptr, int val, llvm::Value *len, int align)
+ void
+ LLVM_Util::op_memcpy (llvm::Value *dst, llvm::Value *src, int len, int align)
+ {
++#if OSL_LLVM_VERSION >= 70
++ builder().CreateMemCpy (dst, (unsigned)align, src, (unsigned)align,
++ uint64_t(len));
++#else
+ // i32 len
+ // and with i8 pointers (dst and src) for LLVM-2.8
+ llvm::Type* types[] = {
+@@ -1412,6 +1426,7 @@ LLVM_Util::op_memcpy (llvm::Value *dst, llvm::Value *src, int len, int align)
+ };
+ builder().CreateCall (func, llvm::ArrayRef<llvm::Value*>(args, 5));
+ #endif
++#endif
+ }
+
+
+@@ -1713,12 +1728,17 @@ LLVM_Util::write_bitcode_file (const char *filename, std::string *err)
+ std::string local_error;
+ llvm::raw_fd_ostream out (filename, err ? *err : local_error, llvm::sys::fs::F_None);
+ #endif
+- llvm::WriteBitcodeToFile (module(), out);
+-
++ if (! out.has_error()) {
++#if OSL_LLVM_VERSION >= 70
++ llvm::WriteBitcodeToFile (*module(), out);
++#else
++ llvm::WriteBitcodeToFile (module(), out);
++#endif
+ #if OSL_LLVM_VERSION >= 36
+- if (err && local_error)
+- *err = local_error.message ();
++ if (err && local_error)
++ *err = local_error.message ();
+ #endif
++ }
+ }
+
+
Copied: openshadinglanguage/repos/community-staging-x86_64/llvm-static-system-libs.patch (from rev 443532, openshadinglanguage/trunk/llvm-static-system-libs.patch)
===================================================================
--- community-staging-x86_64/llvm-static-system-libs.patch (rev 0)
+++ community-staging-x86_64/llvm-static-system-libs.patch 2019-03-26 03:58:20 UTC (rev 443533)
@@ -0,0 +1,15 @@
+diff -upr OpenShadingLanguage-Release-1.5.12.orig/src/cmake/externalpackages.cmake OpenShadingLanguage-Release-1.5.12/src/cmake/externalpackages.cmake
+--- OpenShadingLanguage-Release-1.5.12.orig/src/cmake/externalpackages.cmake 2014-12-26 22:22:53.000000000 +0200
++++ OpenShadingLanguage-Release-1.5.12/src/cmake/externalpackages.cmake 2015-03-16 03:12:56.052479730 +0200
+@@ -211,9 +211,10 @@ if ((LLVM_LIBRARY OR LLVM_STATIC) AND LL
+ # if static LLVM libraries were requested, use llvm-config to generate
+ # the list of what libraries we need, and substitute that in the right
+ # way for LLVM_LIBRARY.
+- execute_process (COMMAND ${LLVM_CONFIG} --libfiles
++ execute_process (COMMAND ${LLVM_CONFIG} --libfiles --system-libs
+ OUTPUT_VARIABLE LLVM_LIBRARY
+ OUTPUT_STRIP_TRAILING_WHITESPACE)
++ string (REPLACE "\n" " " LLVM_LIBRARY ${LLVM_LIBRARY})
+ string (REPLACE " " ";" LLVM_LIBRARY ${LLVM_LIBRARY})
+ endif ()
+ if (VERBOSE)
More information about the arch-commits
mailing list