[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