summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorbartus2021-02-15 21:59:06 +0100
committerbartus2021-02-15 21:59:06 +0100
commit8fa1ed1183cee6e4f00f7d2d19a3ccc126e2ed91 (patch)
tree61030753fb6eb1dc4a8704dceb8c2d23a724d7cf
downloadaur-8fa1ed1183cee6e4f00f7d2d19a3ccc126e2ed91.tar.gz
Init
-rw-r--r--.SRCINFO28
-rw-r--r--0001-Allow-OSL-to-compile-with-LLVM-10.x-1128.patch85
-rw-r--r--PKGBUILD38
3 files changed, 151 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..f489b30e57b8
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,28 @@
+pkgbase = openshadinglanguage-qfix
+ pkgdesc = Advanced shading language for production GI renderers (build against opencolorio=2
+ pkgver = 1.11.11.0
+ pkgrel = 1
+ url = https://github.com/imageworks/OpenShadingLanguage
+ arch = x86_64
+ license = custom
+ makedepends = boost
+ makedepends = cmake
+ makedepends = python
+ makedepends = llvm
+ makedepends = ninja
+ depends = boost-libs
+ depends = openimageio-qfix
+ depends = openexr
+ depends = intel-tbb
+ depends = freetype2
+ depends = libpng
+ depends = libtiff
+ depends = zlib
+ depends = ncurses
+ depends = clang
+ optdepends = python: the Python module
+ source = openshadinglanguage-qfix-1.11.11.0.tar.gz::https://github.com/imageworks/OpenShadingLanguage/archive/Release-1.11.11.0.tar.gz
+ sha512sums = 2a5e45255d21edea631cf6fd957eb8516fc87760e16ae4f32c7f732cfb3500f92477ad9b9fbda50bc34e2fc89867d3c7ff0e31ecb815c053dcf77dc226a2681c
+
+pkgname = openshadinglanguage-qfix
+
diff --git a/0001-Allow-OSL-to-compile-with-LLVM-10.x-1128.patch b/0001-Allow-OSL-to-compile-with-LLVM-10.x-1128.patch
new file mode 100644
index 000000000000..cd40df461c73
--- /dev/null
+++ b/0001-Allow-OSL-to-compile-with-LLVM-10.x-1128.patch
@@ -0,0 +1,85 @@
+From 2f9093ed2aedc008ba6e0a0b3ba0ff1839d73ac1 Mon Sep 17 00:00:00 2001
+From: Christopher Kulla <fpsunflower@users.noreply.github.com>
+Date: Thu, 12 Mar 2020 13:16:19 -0700
+Subject: [PATCH] Allow OSL to compile with LLVM 10.x (#1128)
+
+---
+ src/liboslexec/backendllvm.cpp | 4 ++++
+ src/liboslexec/llvm_util.cpp | 27 +++++++++++++++++++++------
+ 2 files changed, 25 insertions(+), 6 deletions(-)
+
+diff --git a/src/liboslexec/backendllvm.cpp b/src/liboslexec/backendllvm.cpp
+index 263d8cab..93e091b0 100644
+--- a/src/liboslexec/backendllvm.cpp
++++ b/src/liboslexec/backendllvm.cpp
+@@ -368,7 +368,11 @@ BackendLLVM::addCUDAVariable(const std::string& name, int size, int alignment,
+
+ ASSERT (g_var && "Unable to create GlobalVariable");
+
++#if OSL_LLVM_VERSION >= 100
++ g_var->setAlignment (llvm::MaybeAlign(alignment));
++#else
+ g_var->setAlignment (alignment);
++#endif
+ g_var->setLinkage (llvm::GlobalValue::ExternalLinkage);
+ g_var->setVisibility (llvm::GlobalValue::DefaultVisibility);
+ g_var->setInitializer(constant);
+diff --git a/src/liboslexec/llvm_util.cpp b/src/liboslexec/llvm_util.cpp
+index 8fa915fe..dde2f1e6 100644
+--- a/src/liboslexec/llvm_util.cpp
++++ b/src/liboslexec/llvm_util.cpp
+@@ -1160,8 +1160,12 @@ LLVM_Util::op_return (llvm::Value *retval)
+ void
+ LLVM_Util::op_memset (llvm::Value *ptr, int val, int len, int align)
+ {
+- builder().CreateMemSet (ptr, builder().getInt8((unsigned char)val),
+- uint64_t(len), (unsigned)align);
++ builder().CreateMemSet (ptr, builder().getInt8((unsigned char)val), uint64_t(len),
++#if OSL_LLVM_VERSION >= 100
++ llvm::MaybeAlign(align));
++#else
++ unsigned(align));
++#endif
+ }
+
+
+@@ -1169,8 +1173,12 @@ 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)
+ {
+- builder().CreateMemSet (ptr, builder().getInt8((unsigned char)val),
+- len, (unsigned)align);
++ builder().CreateMemSet (ptr, builder().getInt8((unsigned char)val), len,
++#if OSL_LLVM_VERSION >= 100
++ llvm::MaybeAlign(align));
++#else
++ unsigned(align));
++#endif
+ }
+
+
+@@ -1187,7 +1195,10 @@ void
+ LLVM_Util::op_memcpy (llvm::Value *dst, int dstalign,
+ llvm::Value *src, int srcalign, int len)
+ {
+-#if OSL_LLVM_VERSION >= 70
++#if OSL_LLVM_VERSION >= 100
++ builder().CreateMemCpy (dst, llvm::MaybeAlign(dstalign), src, llvm::MaybeAlign(srcalign),
++ uint64_t(len));
++#elif OSL_LLVM_VERSION >= 70
+ builder().CreateMemCpy (dst, (unsigned)dstalign, src, (unsigned)srcalign,
+ uint64_t(len));
+ #else
+@@ -1588,7 +1599,11 @@ LLVM_Util::ptx_compile_group (llvm::Module* lib_module, const std::string& name,
+ llvm::raw_svector_ostream assembly_stream (assembly);
+
+ // TODO: Make sure rounding modes, etc., are set correctly
+-#if OSL_LLVM_VERSION >= 70
++#if OSL_LLVM_VERSION >= 100
++ target_machine->addPassesToEmitFile (mod_pm, assembly_stream,
++ nullptr, // FIXME: Correct?
++ llvm::CGFT_AssemblyFile);
++#elif OSL_LLVM_VERSION >= 70
+ target_machine->addPassesToEmitFile (mod_pm, assembly_stream,
+ nullptr, // FIXME: Correct?
+ llvm::TargetMachine::CGFT_AssemblyFile);
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..b430e3a32555
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,38 @@
+# Maintainer: Sven-Hendrik Haase <svenstaro@gmail.com>
+pkgname=openshadinglanguage-qfix
+pkgver=1.11.11.0
+pkgrel=1
+pkgdesc="Advanced shading language for production GI renderers (build against opencolorio=2"
+arch=(x86_64)
+url="https://github.com/imageworks/OpenShadingLanguage"
+license=('custom')
+depends=('boost-libs' 'openimageio-qfix' 'openexr' 'intel-tbb' 'freetype2' 'libpng'
+ 'libtiff' 'zlib' 'ncurses' 'clang')
+makedepends=('boost' 'cmake' 'python' 'llvm' 'ninja')
+optdepends=('python: the Python module')
+source=($pkgname-$pkgver.tar.gz::https://github.com/imageworks/OpenShadingLanguage/archive/Release-${pkgver}.tar.gz)
+sha512sums=('2a5e45255d21edea631cf6fd957eb8516fc87760e16ae4f32c7f732cfb3500f92477ad9b9fbda50bc34e2fc89867d3c7ff0e31ecb815c053dcf77dc226a2681c')
+
+build() {
+ cd OpenShadingLanguage-Release-$pkgver
+
+ cmake \
+ -B build \
+ -GNinja \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_CXX_STANDARD=14 \
+ -DLLVM_STATIC=0 \
+ -DSTOP_ON_WARNING=OFF
+ ninja -C build
+}
+
+package() {
+ cd OpenShadingLanguage-Release-$pkgver
+
+ DESTDIR="$pkgdir/" ninja -C build install
+
+ install -Dm644 LICENSE.md "$pkgdir"/usr/share/licenses/$pkgname/LICENSE.md
+}
+
+# vim:set ts=2 sw=2 et: