diff options
author | bartus | 2021-02-15 21:59:06 +0100 |
---|---|---|
committer | bartus | 2021-02-15 21:59:06 +0100 |
commit | 8fa1ed1183cee6e4f00f7d2d19a3ccc126e2ed91 (patch) | |
tree | 61030753fb6eb1dc4a8704dceb8c2d23a724d7cf | |
download | aur-8fa1ed1183cee6e4f00f7d2d19a3ccc126e2ed91.tar.gz |
Init
-rw-r--r-- | .SRCINFO | 28 | ||||
-rw-r--r-- | 0001-Allow-OSL-to-compile-with-LLVM-10.x-1128.patch | 85 | ||||
-rw-r--r-- | PKGBUILD | 38 |
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: |