[SCM] zynaddsubfx/master: Added patch to fix build on armel arch.
mira-guest at users.alioth.debian.org
mira-guest at users.alioth.debian.org
Tue Sep 29 20:59:38 UTC 2015
The following commit has been merged in the master branch:
commit 05959c8a8d91c4985dd9efc15165c572c3087173
Author: Jaromír Mikeš <mira.mikes at seznam.cz>
Date: Tue Sep 29 22:43:08 2015 +0200
Added patch to fix build on armel arch.
diff --git a/debian/patches/05-fix_build_armel.patch b/debian/patches/05-fix_build_armel.patch
new file mode 100644
index 0000000..365aa74
--- /dev/null
+++ b/debian/patches/05-fix_build_armel.patch
@@ -0,0 +1,79 @@
+Description: Fix build on armel - from upstream.
+Author: Jaromír Mikeš <mira.mikes at seznam.cz>
+Forwarded: no
+
+Index: zynaddsubfx/src/CMakeLists.txt
+===================================================================
+--- zynaddsubfx.orig/src/CMakeLists.txt
++++ zynaddsubfx/src/CMakeLists.txt
+@@ -4,6 +4,7 @@ message(STATUS "Checking Library Path" $
+
+ #Dependency check
+ include(CheckFunctionExists)
++include(CheckCXXSourceCompiles)
+ find_package(PkgConfig REQUIRED)
+ find_package(zlib REQUIRED)
+ find_package(X11)
+@@ -33,6 +34,15 @@ mark_as_advanced(LIBLO_LIBRARIES)
+
+ CHECK_FUNCTION_EXISTS(sched_setscheduler HAVE_SCHEDULER)
+
++set(CMAKE_REQUIRED_FLAGS "-std=c++11")
++CHECK_CXX_SOURCE_COMPILES(
++ "#include <future>
++ #if ATOMIC_INT_LOCK_FREE<2
++ #error unreliable atomics
++ #endif
++ int main(){return 0;}" HAVE_ASYNC)
++set(CMAKE_REQUIRED_FLAGS "")
++
+ execute_process(COMMAND echo fistpl 0
+ COMMAND as -
+ ERROR_VARIABLE AVOID_ASM)
+@@ -75,6 +85,8 @@ if(NOT "Darwin" STREQUAL ${CMAKE_SYSTEM_
+ add_definitions(-DHAVE_SCHEDULER=${HAVE_SCHEDULER})
+ endif()
+
++add_definitions(-DHAVE_ASYNC=${HAVE_ASYNC})
++
+
+ # Give a good guess on the best Input/Output default backends
+ if (JackEnable)
+@@ -445,4 +457,5 @@ package_status(LIBLO_FOUND "liblo
+ package_status(FLTK_FOUND "fltk " "found" ${Yellow})
+ package_status(NTK_FOUND "ntk " "found" ${Yellow})
+ package_status(X11_FOUND "x11 " "found" ${Yellow})
++package_status(HAVE_ASYNC "c++ async" "usable" ${Yellow})
+ message(STATUS "Link libraries: ${ZLIB_LIBRARY} ${FFTW_LIBRARY} ${MXML_LIBRARIES} ${AUDIO_LIBRARIES} ${OS_LIBRARIES}")
+Index: zynaddsubfx/src/Misc/MiddleWare.cpp
+===================================================================
+--- zynaddsubfx.orig/src/Misc/MiddleWare.cpp
++++ zynaddsubfx/src/Misc/MiddleWare.cpp
+@@ -668,6 +668,9 @@ public:
+ return;
+ assert(actual_load[npart] <= pending_load[npart]);
+
++ //load part async when possible
++#if HAVE_ASYNC
++
+ auto alloc = std::async(std::launch::async,
+ [master,filename,this,npart](){
+ Part *p = new Part(*master->memory, synth, &master->microtonal, master->fft);
+@@ -689,6 +692,17 @@ public:
+ }
+
+ Part *p = alloc.get();
++#else
++ Part *p = new Part(*master->memory, synth, &master->microtonal, master->fft);
++ if(p->loadXMLinstrument(filename))
++ fprintf(stderr, "Warning: failed to load part<%s>!\n", filename);
++
++ auto isLateLoad = [this,npart]{
++ return actual_load[npart] != pending_load[npart];
++ };
++
++ p->applyparameters(isLateLoad);
++#endif
+
+ obj_store.extractPart(p, npart);
+ kits.extractPart(p, npart);
--
zynaddsubfx packaging
More information about the pkg-multimedia-commits
mailing list