diff --git a/recipes-misc/recipes-multimedia/zynaddsubfx/files/0001-No-target-specific-asm.patch b/recipes-misc/recipes-multimedia/zynaddsubfx/files/0001-No-target-specific-asm.patch new file mode 100644 index 00000000..ce4cff81 --- /dev/null +++ b/recipes-misc/recipes-multimedia/zynaddsubfx/files/0001-No-target-specific-asm.patch @@ -0,0 +1,38 @@ +From 20401a8a78c4f6757b887579f940365ef2e0f01f Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Andreas=20M=C3=BCller?= +Date: Fri, 30 Dec 2016 01:37:15 +0100 +Subject: [PATCH] No target specific asm +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Upstream-Status: Pending + +Signed-off-by: Andreas Müller +--- + src/globals.h | 8 -------- + 1 file changed, 8 deletions(-) + +diff --git a/src/globals.h b/src/globals.h +index f3fb1c7..e6a908d 100644 +--- a/src/globals.h ++++ b/src/globals.h +@@ -248,15 +248,7 @@ enum LegatoMsg { + }; + + //is like i=(int)(floor(f)) +-#ifdef ASM_F2I_YES +-#define F2I(f, \ +- i) __asm__ __volatile__ ("fistpl %0" : "=m" (i) : "t" (f \ +- - \ +- 0.49999999f) \ +- : "st"); +-#else + #define F2I(f, i) (i) = ((f > 0) ? ((int)(f)) : ((int)(f - 1.0f))); +-#endif + + + +-- +2.5.5 + diff --git a/recipes-misc/recipes-multimedia/zynaddsubfx/zynaddsubfx_2.5.4.bb b/recipes-misc/recipes-multimedia/zynaddsubfx/zynaddsubfx_2.5.4.bb new file mode 100644 index 00000000..29f3228e --- /dev/null +++ b/recipes-misc/recipes-multimedia/zynaddsubfx/zynaddsubfx_2.5.4.bb @@ -0,0 +1,71 @@ +SUMMARY = "ZynAddSubFX is an open source software synthesizer" +HOMEPAGE = "http://zynaddsubfx.sourceforge.net" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=21fa88a5e50a1c608d22612c1fbe1971" + +inherit cmake qemu pkgconfig gtk-icon-cache distro_features_check + +REQUIRED_DISTRO_FEATURES = "x11" + +DEPENDS += " \ + qemu-native \ + virtual/libx11 \ + alsa-lib \ + jack \ + portaudio-v19 \ + dssi \ + lv2 \ + liblo \ + zlib \ + fltk \ + mxml \ +" + +SRC_URI = " \ + ${SOURCEFORGE_MIRROR}/project/${BPN}/${BPN}/${PV}/${BPN}-${PV}.tar.bz2 \ + file://0001-No-target-specific-asm.patch \ +" +SRC_URI[md5sum] = "7dc757512e5b6f3013bfb168ed01cfa3" +SRC_URI[sha256sum] = "014b1d9ad1750c310369676b46a4555ba6bec512c38ccba17ceb89c78552949a" + +do_configure_prepend() { + # We cannot run lv2-ttl-generator in cross environment so keep commands in + # shell script. Builddir is deleted so keep our script in ${WORKDIR} + + # manipulate CMakeLists.txt to keep commands in script + sed -i 's|lv2-ttl-generator $> ${WORKDIR}/lv2-ttl-generator-data|g' `find ${S} -name CMakeLists.txt` +} + + +# slightly reworked qemu_run_binary: qemu.bbclass expects binary in sysroot but +# our binary is not (yet) installed +# ${@qemu_run_binary_local(d, '$D', '/usr/bin/test_app')} [test_app arguments] +# +def qemu_run_binary_local(data, rootfs_path, binary): + qemu_binary = qemu_target_binary(data) + if qemu_binary == "qemu-allarch": + qemu_binary = "qemuwrapper" + + libdir = rootfs_path + data.getVar("libdir", False) + base_libdir = rootfs_path + data.getVar("base_libdir", False) + qemu_options = data.getVar("QEMU_OPTIONS", True) + + return "PSEUDO_UNLOAD=1 " + qemu_binary + " " + qemu_options + " -L " + rootfs_path\ + + " -E LD_LIBRARY_PATH=" + libdir + ":" + base_libdir + " "\ + + binary + +do_compile_append() { + for sofile in `cat ${WORKDIR}/lv2-ttl-generator-data | awk '{ print $2 }'`; do + cd `dirname ${sofile}` + ${@qemu_run_binary_local(d, '${STAGING_DIR_TARGET}', '${B}/src/Plugin/lv2-ttl-generator')} ${sofile} + done +} + +# we are not linking against dssi - so +RDEPENDS_${PN} += "dssi" + +FILES_${PN} += " \ + ${libdir}/dssi \ + ${libdir}/lv2 \ + ${libdir}/vst \ +"