Date: Wednesday, January 8, 2014 @ 04:12:05 Author: svenstaro Revision: 103588
archrelease: copy trunk to community-staging-i686, community-staging-x86_64 Added: openshadinglanguage/repos/community-staging-i686/ openshadinglanguage/repos/community-staging-i686/PKGBUILD (from rev 103587, openshadinglanguage/trunk/PKGBUILD) openshadinglanguage/repos/community-staging-i686/llvm32.patch (from rev 103587, openshadinglanguage/trunk/llvm32.patch) openshadinglanguage/repos/community-staging-x86_64/ openshadinglanguage/repos/community-staging-x86_64/PKGBUILD (from rev 103587, openshadinglanguage/trunk/PKGBUILD) openshadinglanguage/repos/community-staging-x86_64/llvm32.patch (from rev 103587, openshadinglanguage/trunk/llvm32.patch) ---------------------------------------+ community-staging-i686/PKGBUILD | 48 +++++++++++++++++++++ community-staging-i686/llvm32.patch | 71 ++++++++++++++++++++++++++++++++ community-staging-x86_64/PKGBUILD | 48 +++++++++++++++++++++ community-staging-x86_64/llvm32.patch | 71 ++++++++++++++++++++++++++++++++ 4 files changed, 238 insertions(+) Copied: openshadinglanguage/repos/community-staging-i686/PKGBUILD (from rev 103587, openshadinglanguage/trunk/PKGBUILD) =================================================================== --- community-staging-i686/PKGBUILD (rev 0) +++ community-staging-i686/PKGBUILD 2014-01-08 03:12:05 UTC (rev 103588) @@ -0,0 +1,48 @@ +# $Id$ +# Maintainer: Sven-Hendrik Haase <s...@lutzhaase.com> +pkgname=openshadinglanguage +pkgver=1.5.4dev +pkgrel=1 +pkgdesc="Advanced shading language for production GI renderers" +arch=(i686 x86_64) +url="https://github.com/imageworks/OpenShadingLanguage" +license=('custom') +depends=('boost-libs' 'openimageio' 'openexr' 'intel-tbb' 'freetype2' 'libpng' 'libtiff' 'llvm') +makedepends=('boost' 'cmake' 'clang') +source=(https://github.com/imageworks/OpenShadingLanguage/archive/Release-${pkgver}.tar.gz + https://github.com/imageworks/OpenShadingLanguage/pull/320.patch) +md5sums=('4dda1fb2919d3440344d36ecbdf13d47' + '590137809ea344b41b1ad1e0fc81738c') + +build() { + cd OpenShadingLanguage-Release-$pkgver + + # LLVM 3.4 build fix + patch -Np1 < $srcdir/320.patch + + cd src + + [[ -d build ]] && rm -r build + mkdir build && cd build + + cmake \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DLLVM_STATIC=0 \ + ../.. + make +} + +package() { + cd OpenShadingLanguage-Release-$pkgver/src/build + + make DESTDIR="$pkgdir/" install + + mkdir -p "$pkgdir"/usr/share/OSL/ + mkdir -p "$pkgdir"/usr/share/licenses/$pkgname + mv "$pkgdir"/usr/LICENSE "$pkgdir"/usr/share/licenses/$pkgname # TODO: Tell upstream about this shit + mv "$pkgdir"/usr/{CHANGES,README.md,INSTALL} "$pkgdir"/usr/share/OSL/ + mv "$pkgdir"/usr/doc "$pkgdir"/usr/share/OSL/doc + mv "$pkgdir"/usr/shaders "$pkgdir"/usr/share/OSL/shaders +} + +# vim:set ts=2 sw=2 et: Copied: openshadinglanguage/repos/community-staging-i686/llvm32.patch (from rev 103587, openshadinglanguage/trunk/llvm32.patch) =================================================================== --- community-staging-i686/llvm32.patch (rev 0) +++ community-staging-i686/llvm32.patch 2014-01-08 03:12:05 UTC (rev 103588) @@ -0,0 +1,71 @@ +commit c391ceb1936459b70147d6f8ac389ded26a7e028 +Author: Sven-Hendrik Haase <s...@lutzhaase.com> +Date: Fri Dec 28 09:00:33 2012 +0100 + + Fix for LLVM 3.2 + +diff --git a/src/liboslexec/llvm_headers.h b/src/liboslexec/llvm_headers.h +index 41a7a11..5ff4384 100644 +--- a/src/liboslexec/llvm_headers.h ++++ b/src/liboslexec/llvm_headers.h +@@ -45,10 +45,18 @@ namespace llvm = LLVM_NAMESPACE; + #include <llvm/LLVMContext.h> + #include <llvm/Module.h> + #include <llvm/PassManager.h> ++#if OSL_LLVM_VERSION >= 32 ++#include <llvm/IRBuilder.h> ++#else + #include <llvm/Support/IRBuilder.h> ++#endif + #include <llvm/Support/ManagedStatic.h> + #include <llvm/Support/MemoryBuffer.h> + #include <llvm/Support/raw_ostream.h> ++#if OSL_LLVM_VERSION >= 32 ++#include <llvm/DataLayout.h> ++#else + #include <llvm/Target/TargetData.h> ++#endif + + #endif /* OSL_LLVM_HEADERS_H */ +diff --git a/src/liboslexec/llvm_instance.cpp b/src/liboslexec/llvm_instance.cpp +index 8709c8b..3e42557 100644 +--- a/src/liboslexec/llvm_instance.cpp ++++ b/src/liboslexec/llvm_instance.cpp +@@ -1273,13 +1273,21 @@ RuntimeOptimizer::llvm_setup_optimization_passes () + // + m_llvm_func_passes = new llvm::FunctionPassManager(llvm_module()); + llvm::FunctionPassManager &fpm (*m_llvm_func_passes); ++#if OSL_LLVM_VERSION >= 32 ++ fpm.add (new llvm::DataLayout(llvm_module())); ++#else + fpm.add (new llvm::TargetData(llvm_module())); ++#endif + + // Specify module-wide (interprocedural optimization) passes + // + m_llvm_passes = new llvm::PassManager; + llvm::PassManager &passes (*m_llvm_passes); ++#if OSL_LLVM_VERSION >= 32 ++ passes.add (new llvm::DataLayout(llvm_module())); ++#else + passes.add (new llvm::TargetData(llvm_module())); ++#endif + + if (shadingsys().llvm_optimize() >= 1 && shadingsys().llvm_optimize() <= 3) { + // For LLVM 3.0 and higher, llvm_optimize 1-3 means to use the +diff --git a/src/liboslexec/llvm_util.cpp b/src/liboslexec/llvm_util.cpp +index 135da2e..4e0eefe 100644 +--- a/src/liboslexec/llvm_util.cpp ++++ b/src/liboslexec/llvm_util.cpp +@@ -42,7 +42,11 @@ namespace pvt { + llvm::Type * + RuntimeOptimizer::llvm_type_union(const std::vector<llvm::Type *> &types) + { ++#if OSL_LLVM_VERSION >= 32 ++ llvm::DataLayout target(llvm_module()); ++#else + llvm::TargetData target(llvm_module()); ++#endif + size_t max_size = 0; + size_t max_align = 1; + for (size_t i = 0; i < types.size(); ++i) { Copied: openshadinglanguage/repos/community-staging-x86_64/PKGBUILD (from rev 103587, openshadinglanguage/trunk/PKGBUILD) =================================================================== --- community-staging-x86_64/PKGBUILD (rev 0) +++ community-staging-x86_64/PKGBUILD 2014-01-08 03:12:05 UTC (rev 103588) @@ -0,0 +1,48 @@ +# $Id$ +# Maintainer: Sven-Hendrik Haase <s...@lutzhaase.com> +pkgname=openshadinglanguage +pkgver=1.5.4dev +pkgrel=1 +pkgdesc="Advanced shading language for production GI renderers" +arch=(i686 x86_64) +url="https://github.com/imageworks/OpenShadingLanguage" +license=('custom') +depends=('boost-libs' 'openimageio' 'openexr' 'intel-tbb' 'freetype2' 'libpng' 'libtiff' 'llvm') +makedepends=('boost' 'cmake' 'clang') +source=(https://github.com/imageworks/OpenShadingLanguage/archive/Release-${pkgver}.tar.gz + https://github.com/imageworks/OpenShadingLanguage/pull/320.patch) +md5sums=('4dda1fb2919d3440344d36ecbdf13d47' + '590137809ea344b41b1ad1e0fc81738c') + +build() { + cd OpenShadingLanguage-Release-$pkgver + + # LLVM 3.4 build fix + patch -Np1 < $srcdir/320.patch + + cd src + + [[ -d build ]] && rm -r build + mkdir build && cd build + + cmake \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DLLVM_STATIC=0 \ + ../.. + make +} + +package() { + cd OpenShadingLanguage-Release-$pkgver/src/build + + make DESTDIR="$pkgdir/" install + + mkdir -p "$pkgdir"/usr/share/OSL/ + mkdir -p "$pkgdir"/usr/share/licenses/$pkgname + mv "$pkgdir"/usr/LICENSE "$pkgdir"/usr/share/licenses/$pkgname # TODO: Tell upstream about this shit + mv "$pkgdir"/usr/{CHANGES,README.md,INSTALL} "$pkgdir"/usr/share/OSL/ + mv "$pkgdir"/usr/doc "$pkgdir"/usr/share/OSL/doc + mv "$pkgdir"/usr/shaders "$pkgdir"/usr/share/OSL/shaders +} + +# vim:set ts=2 sw=2 et: Copied: openshadinglanguage/repos/community-staging-x86_64/llvm32.patch (from rev 103587, openshadinglanguage/trunk/llvm32.patch) =================================================================== --- community-staging-x86_64/llvm32.patch (rev 0) +++ community-staging-x86_64/llvm32.patch 2014-01-08 03:12:05 UTC (rev 103588) @@ -0,0 +1,71 @@ +commit c391ceb1936459b70147d6f8ac389ded26a7e028 +Author: Sven-Hendrik Haase <s...@lutzhaase.com> +Date: Fri Dec 28 09:00:33 2012 +0100 + + Fix for LLVM 3.2 + +diff --git a/src/liboslexec/llvm_headers.h b/src/liboslexec/llvm_headers.h +index 41a7a11..5ff4384 100644 +--- a/src/liboslexec/llvm_headers.h ++++ b/src/liboslexec/llvm_headers.h +@@ -45,10 +45,18 @@ namespace llvm = LLVM_NAMESPACE; + #include <llvm/LLVMContext.h> + #include <llvm/Module.h> + #include <llvm/PassManager.h> ++#if OSL_LLVM_VERSION >= 32 ++#include <llvm/IRBuilder.h> ++#else + #include <llvm/Support/IRBuilder.h> ++#endif + #include <llvm/Support/ManagedStatic.h> + #include <llvm/Support/MemoryBuffer.h> + #include <llvm/Support/raw_ostream.h> ++#if OSL_LLVM_VERSION >= 32 ++#include <llvm/DataLayout.h> ++#else + #include <llvm/Target/TargetData.h> ++#endif + + #endif /* OSL_LLVM_HEADERS_H */ +diff --git a/src/liboslexec/llvm_instance.cpp b/src/liboslexec/llvm_instance.cpp +index 8709c8b..3e42557 100644 +--- a/src/liboslexec/llvm_instance.cpp ++++ b/src/liboslexec/llvm_instance.cpp +@@ -1273,13 +1273,21 @@ RuntimeOptimizer::llvm_setup_optimization_passes () + // + m_llvm_func_passes = new llvm::FunctionPassManager(llvm_module()); + llvm::FunctionPassManager &fpm (*m_llvm_func_passes); ++#if OSL_LLVM_VERSION >= 32 ++ fpm.add (new llvm::DataLayout(llvm_module())); ++#else + fpm.add (new llvm::TargetData(llvm_module())); ++#endif + + // Specify module-wide (interprocedural optimization) passes + // + m_llvm_passes = new llvm::PassManager; + llvm::PassManager &passes (*m_llvm_passes); ++#if OSL_LLVM_VERSION >= 32 ++ passes.add (new llvm::DataLayout(llvm_module())); ++#else + passes.add (new llvm::TargetData(llvm_module())); ++#endif + + if (shadingsys().llvm_optimize() >= 1 && shadingsys().llvm_optimize() <= 3) { + // For LLVM 3.0 and higher, llvm_optimize 1-3 means to use the +diff --git a/src/liboslexec/llvm_util.cpp b/src/liboslexec/llvm_util.cpp +index 135da2e..4e0eefe 100644 +--- a/src/liboslexec/llvm_util.cpp ++++ b/src/liboslexec/llvm_util.cpp +@@ -42,7 +42,11 @@ namespace pvt { + llvm::Type * + RuntimeOptimizer::llvm_type_union(const std::vector<llvm::Type *> &types) + { ++#if OSL_LLVM_VERSION >= 32 ++ llvm::DataLayout target(llvm_module()); ++#else + llvm::TargetData target(llvm_module()); ++#endif + size_t max_size = 0; + size_t max_align = 1; + for (size_t i = 0; i < types.size(); ++i) {