[arch-commits] Commit in openshadinglanguage/trunk (2 files)

Evangelos Foutras foutrelis at archlinux.org
Wed Apr 15 22:53:00 UTC 2020


    Date: Wednesday, April 15, 2020 @ 22:53:00
  Author: foutrelis
Revision: 615075

upgpkg: openshadinglanguage 1.10.9-4: LLVM 10 rebuild

Added:
  openshadinglanguage/trunk/0001-Allow-OSL-to-compile-with-LLVM-10.x-1128.patch
Modified:
  openshadinglanguage/trunk/PKGBUILD

-----------------------------------------------------+
 0001-Allow-OSL-to-compile-with-LLVM-10.x-1128.patch |   85 ++++++++++++++++++
 PKGBUILD                                            |   13 +-
 2 files changed, 94 insertions(+), 4 deletions(-)

Added: 0001-Allow-OSL-to-compile-with-LLVM-10.x-1128.patch
===================================================================
--- 0001-Allow-OSL-to-compile-with-LLVM-10.x-1128.patch	                        (rev 0)
+++ 0001-Allow-OSL-to-compile-with-LLVM-10.x-1128.patch	2020-04-15 22:53:00 UTC (rev 615075)
@@ -0,0 +1,85 @@
+From 2f9093ed2aedc008ba6e0a0b3ba0ff1839d73ac1 Mon Sep 17 00:00:00 2001
+From: Christopher Kulla <fpsunflower at 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);

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2020-04-15 22:38:22 UTC (rev 615074)
+++ PKGBUILD	2020-04-15 22:53:00 UTC (rev 615075)
@@ -1,7 +1,7 @@
 # Maintainer: Sven-Hendrik Haase <svenstaro at gmail.com>
 pkgname=openshadinglanguage
 pkgver=1.10.9
-pkgrel=3
+pkgrel=4
 pkgdesc="Advanced shading language for production GI renderers"
 arch=(x86_64)
 url="https://github.com/imageworks/OpenShadingLanguage"
@@ -9,11 +9,15 @@
 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)
-sha512sums=('aed137bfed55dad86087f39c67c03a62a5c61495cb3b20395c8b6b86463a2c23e78fa502970274960522cd7d2dd5ae6fefe84b1f7fe932cc63c2bcb8772d96de')
+source=(https://github.com/imageworks/OpenShadingLanguage/archive/Release-${pkgver}.tar.gz
+        0001-Allow-OSL-to-compile-with-LLVM-10.x-1128.patch)
+sha512sums=('aed137bfed55dad86087f39c67c03a62a5c61495cb3b20395c8b6b86463a2c23e78fa502970274960522cd7d2dd5ae6fefe84b1f7fe932cc63c2bcb8772d96de'
+            '23c9230915ac40dfa4567807a0b0d54e2cfb3ddeb4b104d765e00f69e863b25c396494e714a0e416f358233e63c86fea7f01edc8202d13f07104ad6c901e3af7')
 
 prepare() {
-  mkdir OpenShadingLanguage-Release-$pkgver/src/build
+  cd OpenShadingLanguage-Release-$pkgver
+  mkdir src/build
+  patch -Np1 -i ../0001-Allow-OSL-to-compile-with-LLVM-10.x-1128.patch
 }
 
 build() {
@@ -22,6 +26,7 @@
   cmake ../.. \
     -DCMAKE_INSTALL_PREFIX=/usr \
     -DCMAKE_INSTALL_LIBDIR=lib \
+    -DCMAKE_CXX_STANDARD=14 \
     -DLLVM_STATIC=0 \
     -DENABLERTTI=ON \
     -DSTOP_ON_WARNING=OFF


More information about the arch-commits mailing list