summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorTeteros2019-10-19 03:09:13 +0100
committerTeteros2019-10-19 03:10:35 +0100
commitf9b80a62457c7b5f3f920ba3a613311a462f2474 (patch)
tree69d38a5fb5cacc4492193bc17812a7eba76d73ac
parentd90945f93d5212cdb691d74aa6a9c4564770b7f3 (diff)
downloadaur-f9b80a62457c7b5f3f920ba3a613311a462f2474.tar.gz
5.9.76-1
Add LLVM9 support patch based on upstream https://github.com/kmatheussen/radium/pull/1230
-rw-r--r--.SRCINFO8
-rw-r--r--PKGBUILD11
-rw-r--r--add-faust-llvm90-support.patch140
3 files changed, 153 insertions, 6 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 1f467bb26dc6..e30f800a6419 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,6 +1,6 @@
pkgbase = radium
pkgdesc = A graphical music editor. A next generation tracker.
- pkgver = 5.9.74
+ pkgver = 5.9.76
pkgrel = 1
url = https://users.notam02.no/~kjetism/radium
arch = i686
@@ -32,11 +32,13 @@ pkgbase = radium
optdepends = calf-ladspa: Default chorus plugin
optdepends = ladspa-plugins: Package group for default radium plugins incl in binary releases
options = !strip
- source = https://github.com/kmatheussen/radium/archive/5.9.74.tar.gz
+ source = https://github.com/kmatheussen/radium/archive/5.9.76.tar.gz
+ source = add-faust-llvm90-support.patch
source = use-libtirpc-headers.patch
source = use-system-libxcb.patch
source = use-system-vstsdk.patch
- sha256sums = 5f192a6b7c82be2b094a7da63005e2d38e9212be84b32d6a72f12550c52b2d21
+ sha256sums = e8a5d690822b87539972a1091986b6db7ec60d90018188220998d5f837a64d8b
+ sha256sums = eedde2cf78989f307f35bcf7aea49052b829c459db59805502b0cb5d831e75b4
sha256sums = 0dfa3014bc6a66989564c7da2d963681f5d129eb0be28153744693dd533e4909
sha256sums = 6c29e825e06d1c3aec4afd915718b8c46da705d1411a94f7c0f777b888a9b50d
sha256sums = 045e4b4c444d1a37dffdcecb87e5245188fadf68444f9a4b14207a5b98671344
diff --git a/PKGBUILD b/PKGBUILD
index 30d323d43e87..a9d02b0094c5 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -3,7 +3,7 @@
# Maintainer: Teteros <teteros at teknik dot io>
pkgname=radium
-pkgver=5.9.74
+pkgver=5.9.76
pkgrel=1
pkgdesc="A graphical music editor. A next generation tracker."
arch=('i686' 'x86_64')
@@ -42,10 +42,12 @@ optdepends=(
)
options=(!strip)
source=("https://github.com/kmatheussen/${pkgname}/archive/${pkgver}.tar.gz"
+ "add-faust-llvm90-support.patch"
"use-libtirpc-headers.patch"
"use-system-libxcb.patch"
"use-system-vstsdk.patch")
-sha256sums=('5f192a6b7c82be2b094a7da63005e2d38e9212be84b32d6a72f12550c52b2d21'
+sha256sums=('e8a5d690822b87539972a1091986b6db7ec60d90018188220998d5f837a64d8b'
+ 'eedde2cf78989f307f35bcf7aea49052b829c459db59805502b0cb5d831e75b4'
'0dfa3014bc6a66989564c7da2d963681f5d129eb0be28153744693dd533e4909'
'6c29e825e06d1c3aec4afd915718b8c46da705d1411a94f7c0f777b888a9b50d'
'045e4b4c444d1a37dffdcecb87e5245188fadf68444f9a4b14207a5b98671344')
@@ -53,6 +55,9 @@ sha256sums=('5f192a6b7c82be2b094a7da63005e2d38e9212be84b32d6a72f12550c52b2d21'
prepare() {
cd "${pkgname}-${pkgver}"
+ # Add support for LLVM9 in FAUST
+ patch -p1 < "${srcdir}/add-faust-llvm90-support.patch"
+
# glibc-2.27 deprecated legacy rpc, header files for libpd are in libtirpc
patch -p1 < "${srcdir}/use-libtirpc-headers.patch"
@@ -107,4 +112,4 @@ warn_build_references() {
true
}
-# vim:set sw=2 ts=2 indentexpr=GetShIndent() et:
+# vim:set sw=2 ts=2 et:
diff --git a/add-faust-llvm90-support.patch b/add-faust-llvm90-support.patch
new file mode 100644
index 000000000000..798dfcc8f7af
--- /dev/null
+++ b/add-faust-llvm90-support.patch
@@ -0,0 +1,140 @@
+diff -aur --no-dereference radium-5.9.76.pristine/bin/packages/faust.patch radium-5.9.76.new/bin/packages/faust.patch
+--- radium-5.9.76.pristine/bin/packages/faust.patch 2019-10-16 18:45:56.000000000 +0100
++++ radium-5.9.76.new/bin/packages/faust.patch 2019-10-19 02:40:13.375925685 +0100
+@@ -1,5 +1,5 @@
+ diff --git a/build/CMakeLists.txt b/build/CMakeLists.txt
+-index ece37cb..e99dfae 100644
++index ece37cb0b..ff2b549e0 100644
+ --- a/build/CMakeLists.txt
+ +++ b/build/CMakeLists.txt
+ @@ -84,8 +84,8 @@ if (INCLUDE_LLVM )
+@@ -14,7 +14,7 @@
+ set (FAUST_LIBS ${FAUST_LIBS} ${LLVM_LD_FLAGS} ${LLVM_LIBS})
+
+ diff --git a/build/backends/most.cmake b/build/backends/most.cmake
+-index c6333e5..0589c5d 100644
++index c6333e550..0589c5d41 100644
+ --- a/build/backends/most.cmake
+ +++ b/build/backends/most.cmake
+ @@ -8,14 +8,14 @@
+@@ -41,3 +41,120 @@
+ +set ( RUST_BACKEND OFF CACHE STRING "Include RUST backend" FORCE )
+ +set ( SOUL_BACKEND OFF CACHE STRING "Include SOUL backend" FORCE )
+ +set ( WASM_BACKEND OFF WASM CACHE STRING "Include WASM backend" FORCE )
++
++diff --git a/compiler/generator/llvm/llvm_code_container.cpp b/compiler/generator/llvm/llvm_code_container.cpp
++index 07df9dc32..1d1c717d8 100644
++--- a/compiler/generator/llvm/llvm_code_container.cpp
+++++ b/compiler/generator/llvm/llvm_code_container.cpp
++@@ -71,7 +71,7 @@ LLVMCodeContainer::LLVMCodeContainer(const string& name, int numInputs, int numO
++
++ // Set "-fast-math"
++ FastMathFlags FMF;
++-#if defined(LLVM_60) || defined(LLVM_70) || defined(LLVM_80)
+++#if defined(LLVM_60) || defined(LLVM_70) || defined(LLVM_80) || defined(LLVM_90)
++ FMF.setFast(); // has replaced the below function
++ #else
++ FMF.setUnsafeAlgebra();
++@@ -91,7 +91,7 @@ LLVMCodeContainer::LLVMCodeContainer(const string& name, int numInputs, int numO
++
++ // Set "-fast-math"
++ FastMathFlags FMF;
++-#if defined(LLVM_60) || defined(LLVM_70) || defined(LLVM_80)
+++#if defined(LLVM_60) || defined(LLVM_70) || defined(LLVM_80) || defined(LLVM_90)
++ FMF.setFast(); // has replaced the below function
++ #else
++ FMF.setUnsafeAlgebra();
++diff --git a/compiler/generator/llvm/llvm_dynamic_dsp_aux.cpp b/compiler/generator/llvm/llvm_dynamic_dsp_aux.cpp
++index 55f173e86..a0db47d17 100644
++--- a/compiler/generator/llvm/llvm_dynamic_dsp_aux.cpp
+++++ b/compiler/generator/llvm/llvm_dynamic_dsp_aux.cpp
++@@ -109,7 +109,7 @@ void llvm_dynamic_dsp_factory_aux::write(ostream* out, bool binary, bool small)
++ string res;
++ raw_string_ostream out_str(res);
++ if (binary) {
++-#if defined(LLVM_70) || defined(LLVM_80)
+++#if defined(LLVM_70) || defined(LLVM_80) || defined(LLVM_90)
++ WriteBitcodeToFile(*fModule, out_str);
++ #else
++ WriteBitcodeToFile(fModule, out_str);
++@@ -126,7 +126,7 @@ string llvm_dynamic_dsp_factory_aux::writeDSPFactoryToBitcode()
++ string res;
++
++ raw_string_ostream out(res);
++-#if defined(LLVM_70) || defined(LLVM_80)
+++#if defined(LLVM_70) || defined(LLVM_80) || defined(LLVM_90)
++ WriteBitcodeToFile(*fModule, out);
++ #else
++ WriteBitcodeToFile(fModule, out);
++@@ -143,7 +143,7 @@ bool llvm_dynamic_dsp_factory_aux::writeDSPFactoryToBitcodeFile(const string& bi
++ cerr << "ERROR : writeDSPFactoryToBitcodeFile could not open file : " << err.message();
++ return false;
++ }
++-#if defined(LLVM_70) || defined(LLVM_80)
+++#if defined(LLVM_70) || defined(LLVM_80) || defined(LLVM_90)
++ WriteBitcodeToFile(*fModule, out);
++ #else
++ WriteBitcodeToFile(fModule, out);
++@@ -204,7 +204,7 @@ static void AddOptimizationPasses(PassManagerBase& MPM, FUNCTION_PASS_MANAGER& F
++ }
++ Builder.Inliner = createFunctionInliningPass(Threshold);
++ } else {
++-#if defined(LLVM_50) || defined(LLVM_60) || defined(LLVM_70) || defined(LLVM_80)
+++#if defined(LLVM_50) || defined(LLVM_60) || defined(LLVM_70) || defined(LLVM_80) || defined(LLVM_90)
++ Builder.Inliner = createAlwaysInlinerLegacyPass();
++ #else
++ Builder.Inliner = createAlwaysInlinerPass();
++@@ -263,7 +263,7 @@ bool llvm_dynamic_dsp_factory_aux::initJIT(string& error_msg)
++
++ builder.setOptLevel(CodeGenOpt::Aggressive);
++ builder.setEngineKind(EngineKind::JIT);
++-#if !defined(LLVM_60) && !defined(LLVM_70) && !defined(LLVM_80)
+++#if !defined(LLVM_60) && !defined(LLVM_70) && !defined(LLVM_80) && !defined(LLVM_90)
++ builder.setCodeModel(CodeModel::JITDefault);
++ #endif
++
++@@ -278,7 +278,7 @@ bool llvm_dynamic_dsp_factory_aux::initJIT(string& error_msg)
++ TargetOptions targetOptions;
++
++ // -fastmath is activated at IR level, and has to be setup at JIT level also
++-#if !defined(LLVM_50) && !defined(LLVM_60) && !defined(LLVM_70) && !defined(LLVM_80)
+++#if !defined(LLVM_50) && !defined(LLVM_60) && !defined(LLVM_70) && !defined(LLVM_80) && !defined(LLVM_90)
++ targetOptions.LessPreciseFPMADOption = true;
++ #endif
++ targetOptions.AllowFPOpFusion = FPOpFusion::Fast;
++@@ -287,7 +287,7 @@ bool llvm_dynamic_dsp_factory_aux::initJIT(string& error_msg)
++ targetOptions.NoNaNsFPMath = true;
++ targetOptions.GuaranteedTailCallOpt = true;
++
++-#if defined(LLVM_50) || defined(LLVM_60) || defined(LLVM_70) || defined(LLVM_80)
+++#if defined(LLVM_50) || defined(LLVM_60) || defined(LLVM_70) || defined(LLVM_80) || defined(LLVM_90)
++ targetOptions.NoTrappingFPMath = true;
++ targetOptions.FPDenormalMode = FPDenormal::IEEE;
++ #endif
++@@ -329,7 +329,7 @@ bool llvm_dynamic_dsp_factory_aux::initJIT(string& error_msg)
++ }
++
++ if ((debug_var != "") && (debug_var.find("FAUST_LLVM1") != string::npos)) {
++-#if defined(LLVM_60) || defined(LLVM_70) || defined(LLVM_80)
+++#if defined(LLVM_60) || defined(LLVM_70) || defined(LLVM_80) || defined(LLVM_90)
++ // TargetRegistry::printRegisteredTargetsForVersion(cout);
++ #else
++ TargetRegistry::printRegisteredTargetsForVersion();
++@@ -345,7 +345,7 @@ bool llvm_dynamic_dsp_factory_aux::initJIT(string& error_msg)
++ pm.add(createVerifierPass());
++
++ if ((debug_var != "") && (debug_var.find("FAUST_LLVM4") != string::npos)) {
++-#if defined(LLVM_50) || defined(LLVM_60) || defined(LLVM_70) || defined(LLVM_80)
+++#if defined(LLVM_50) || defined(LLVM_60) || defined(LLVM_70) || defined(LLVM_80) || defined(LLVM_90)
++ // TODO
++ #else
++ tm->addPassesToEmitFile(pm, fouts(), TargetMachine::CGFT_AssemblyFile, true);
++@@ -524,7 +524,7 @@ bool llvm_dynamic_dsp_factory_aux::writeDSPFactoryToObjectcodeFileAux(const stri
++ legacy::PassManager pass;
++ auto FileType = TargetMachine::CGFT_ObjectFile;
++
++-#if defined(LLVM_70) || defined(LLVM_80)
+++#if defined(LLVM_70) || defined(LLVM_80) || defined(LLVM_90)
++ if (TheTargetMachine->addPassesToEmitFile(pass, dest, nullptr, FileType)) {
++ #else
++ if (TheTargetMachine->addPassesToEmitFile(pass, dest, FileType, true)) {