1 Commits

Author SHA1 Message Date
Andreas Müller
b7d825f68a distrho-ports: upgrade 2018-04-16+ -> 2020-07-14+
Give up musl patches: they don't apply due to juce upgrade

Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
2020-07-22 00:46:00 +02:00
299 changed files with 6014 additions and 8853 deletions

View File

@@ -17,8 +17,8 @@ Policies
* **Please do not send private emails to maintainer - they will not be answered anymore**. For bug-reports/questions/suggestions.. use [issues](https://github.com/schnitzeltony/meta-musicians/issues).
* Pull requests should follow [OE-Styleguide](https://www.openembedded.org/wiki/Styleguide) with the following additions:
* Use 4 spaces for indentation always (shell and python code)
* For splitting of long list values use four-space indentation on successive lines and prefer the closing quote as the first character ([OE-Styleguide](https://www.openembedded.org/wiki/Styleguide) - second example)
* Pull-requests with patches fixing issues for musl, clang or gold-linker are accepted only if patches have upstream-status "Applied" or "Backport" and contain a link to the upstream patch.
* For splitting of long list values use four-space indentation on sucessive lines and prefer the closing quote as the first character ([OE-Styleguide](https://www.openembedded.org/wiki/Styleguide) - second example)
* Pull-requests with patches fixing issues for musl, clang or gold-linker are accepeted only if patches have upstream-status "Applied" or "Backport" and contain a link to the upstream patch.
* Be aware that **this layer changes other layer's defaults by bbappends**. Maintainer disagrees with common 'configure to death practice' and won't waste time explaining dozens of knobs that are mandatory to get working/useful builds. See
[appends](appends).
Pull requests removing appends for sake of magic 'compliant' scripts are not accepted.

View File

@@ -1,33 +0,0 @@
# Will did send this to meta-oe master but don't expect to get it into dunfell.
# So do the necessary changes in a way that is compatibile to meta-oe dunfell
# and master
inherit binconfig
PACKAGECONFIG:append = " ${@bb.utils.filter('DISTRO_FEATURES', 'opengl', d)}"
PACKAGECONFIG[opengl] = ",,libglu"
do_patch[postfuncs] += "do_patch_nocross"
do_patch_nocross() {
# This one will be patched in meta-oe but we cannot do same
sed -i 's:@cross_compiling@:no:g' ${S}/wx-config.in
}
do_compile:append() {
if [ -L ${B}/wx-config ]; then
echo "wxwidget recipe is not yet updated to wx-config adjustments so we do"
# ${B}/wx-config is a symlink for build and not needed after compile
# So for our purposes do:
# 1. make a file out of wx-config so that binconfig.bbclass detects it
# 2. make sure we do not move the file used for compiling into sysroot
cp --remove-destination `readlink ${B}/wx-config | sed 's:inplace-::'` ${B}/wx-config
fi
# 3. Set full sysroot paths so sstate can translate them when setting
# up wxwidgets's consumer sysroots
sed -i \
-e 's,^includedir=.*,includedir="${STAGING_INCDIR}",g' \
-e 's,^libdir=.*",libdir="${STAGING_LIBDIR}",g' \
-e 's,^bindir=.*",bindir="${STAGING_BINDIR}",g' \
${B}/wx-config
}

View File

@@ -1,46 +0,0 @@
BBCLASSEXTEND = "native"
DEPENDS:class-native = "qtbase-native sip3-native python3-native"
PYQT_MODULES:class-native = "QtCore"
# This is a copy from meta-qt5 adjusted to native staging
do_configure:prepend:class-native() {
cd ${S}
echo "py_platform = linux" > pyqt.cfg
echo "py_inc_dir = %(sysroot)/$includedir/python%(py_major).%(py_minor)${PYTHON_ABI}" >> pyqt.cfg
echo "py_pylib_dir = %(sysroot)/${libdir}/python%(py_major).%(py_minor)" >> pyqt.cfg
echo "py_pylib_lib = python$%(py_major).%(py_minor)" >> pyqt.cfg
echo "pyqt_module_dir = ${D}/${libdir}/python%(py_major).%(py_minor)/site-packages" >> pyqt.cfg
echo "pyqt_bin_dir = ${D}/${bindir}" >> pyqt.cfg
echo "pyqt_sip_dir = ${D}/${datadir}/sip/PyQt5" >> pyqt.cfg
echo "pyuic_interpreter = ${D}/${bindir}/python%(py_major).%(py_minor)" >> pyqt.cfg
echo "pyqt_disabled_features = ${DISABLED_FEATURES}" >> pyqt.cfg
echo "qt_shared = True" >> pyqt.cfg
QT_VERSION=`${OE_QMAKE_QMAKE} -query QT_VERSION`
echo "[Qt $QT_VERSION]" >> pyqt.cfg
echo "pyqt_modules = ${PYQT_MODULES}" >> pyqt.cfg
echo yes | ${PYTHON} configure.py --verbose --qmake ${STAGING_BINDIR_NATIVE}/${QT_DIR_NAME}/qmake --configuration pyqt.cfg --sysroot ${STAGING_DIR_NATIVE}
qmake5_base_do_configure
# avoid running code prepended by recipe
return 0
}
CFLAGS:append:class-native = " -I${STAGING_INCDIR_NATIVE}/${PYTHON_DIR}"
CXXFLAGS:append:class-native = " -I${STAGING_INCDIR_NATIVE}/${PYTHON_DIR}"
do_install:class-native() {
cd ${S}
oe_runmake MAKEFLAGS='-j 1' install
# should be done for target either...
for file in `find ${D}${bindir} -name 'py*5'`; do
echo "Remove abs path in $file..."
sed -i 's:exec.*${PYTHON_DIR}:exec ${PYTHON_PN}:g' "$file"
done
}
RDEPENDS:${PN}:class-native = ""

View File

@@ -1,2 +1,2 @@
PACKAGECONFIG:append = " gui imageformats"
PACKAGECONFIG_append = " gui imageformats"

View File

@@ -1,2 +0,0 @@
# yeah I know yocto does not want us to change this
PACKAGECONFIG:append = "${@bb.utils.contains('BBFILE_COLLECTIONS', 'clang-layer', ' clang', '', d)}"

View File

@@ -12,12 +12,12 @@
# 3. Generate ttl-files at first boot / after package was installed
# File containing names of plugins to handle in do_compile:append
# File containing names of plugins to handle in do_compile_append
# Line-format expected: <some-path-in-build>/<plugin>.so
LV2_PLUGIN_INFO_FILE = "${WORKDIR}/lv2-ttl-generator-data"
LV2_PLUGIN_INFO_FILE_CLEANED = "${LV2_PLUGIN_INFO_FILE}-cleaned"
# File containing names of plugins to handle in do_compile:append
# File containing names of plugins to handle in do_compile_append
# Line-format expected: <path-ontarget>/<plugin>.so
LV2_PLUGIN_POSTINST_INFO_FILE = "${LV2_PLUGIN_INFO_FILE}-postinst"
@@ -33,26 +33,26 @@ inherit qemu-ext-musicians audio-plugin-common
# override this function and execute sed (or other magic) to adjust Makefiles
# so that lv2-ttl-generator is not executed but plugin information. Same here:
# Set default match many dpf-based plugins
# Set default matich many dpf-based plugins
do_ttl_sed() {
sed -i 's|"$GEN" "./$FILE"|echo "`realpath "./$FILE"`" >> ${LV2_PLUGIN_INFO_FILE}|g' ${S}/dpf/utils/generate-ttl.sh
}
do_configure:prepend() {
do_configure_prepend() {
# 1st configure?
if [ ! -f ${LV2_PLUGIN_INFO_FILE} ]; then
do_ttl_sed
fi
}
do_compile:prepend() {
do_compile_prepend() {
# remove plugin-info from previous build
rm -f ${LV2_PLUGIN_INFO_FILE}
rm -f ${LV2_PLUGIN_POSTINST_INFO_FILE}
}
do_compile[vardeps] += "LV2_TTL_GENERATOR"
do_compile:append() {
do_compile_append() {
rm -f ${LV2_PLUGIN_INFO_FILE_CLEANED}
if [ -e ${LV2_PLUGIN_INFO_FILE} ]; then
echo
@@ -106,7 +106,7 @@ python do_ttl_qa() {
bb.warn("%i of %i LV2-plugins in %s are postponed to post-install! Check %s and log.do_compile for details" % (num_plugins_postinst, num_plugins, name, lv2_plugin_postinst_info_file))
}
do_install:append() {
do_install_append() {
# create postinst manifest
if [ -e ${LV2_PLUGIN_POSTINST_INFO_FILE} ]; then
install -d ${D}`dirname ${LV2_POSTINST_MANIFEST}`
@@ -117,23 +117,18 @@ do_install:append() {
fi
}
pkg_postinst_ontarget:${PN_LV2}() {
pkg_postinst_ontarget_${PN_LV2}() {
if [ -e ${LV2_POSTINST_MANIFEST} ]; then
oldpath=`pwd`
for sofile in `cat ${LV2_POSTINST_MANIFEST}`; do
lv2_path=`dirname "$sofile"`
cd "$lv2_path"
if ! lv2-ttl-generator "$sofile"; then
echo "Error: Turtle files for $sofile could not be created - remove $lv2_path!"
cd ..
rm -rf "$lv2_path"
fi
cd `dirname "$sofile"`
lv2-ttl-generator "$sofile" || echo "Error: Turtle files for $sofile could not be created!"
done
cd $oldpath
fi
}
pkg_prerm:${PN_LV2}() {
pkg_prerm_${PN_LV2}() {
if [ -e ${LV2_POSTINST_MANIFEST} ]; then
for sofile in `cat ${LV2_POSTINST_MANIFEST}`; do
path=`dirname "$sofile"`
@@ -144,5 +139,5 @@ pkg_prerm:${PN_LV2}() {
fi
}
FILES:${PN_LV2} += "${LV2_POSTINST_MANIFEST}"
RDEPENDS:${PN_LV2} += "lv2-ttl-generator"
FILES_${PN_LV2} += "${LV2_POSTINST_MANIFEST}"
RDEPENDS_${PN_LV2} += "lv2-ttl-generator"

View File

@@ -4,8 +4,8 @@ inherit audio-plugin-common
PACKAGES =+ "${PN_DSSI} ${PN_LADSPA} ${PN_LV2} ${PN_VST} ${PN_VST3}"
FILES:${PN_DSSI} += "${libdir}/dssi"
FILES:${PN_LADSPA} += "${libdir}/ladspa"
FILES:${PN_LV2} += "${libdir}/lv2"
FILES:${PN_VST} += "${libdir}/vst"
FILES:${PN_VST3} += "${libdir}/vst3"
FILES_${PN_DSSI} += "${libdir}/dssi"
FILES_${PN_LADSPA} += "${libdir}/ladspa"
FILES_${PN_LV2} += "${libdir}/lv2"
FILES_${PN_VST} += "${libdir}/vst"
FILES_${PN_VST3} += "${libdir}/vst3"

View File

@@ -1,6 +1,6 @@
inherit qemu
DEPENDS:append = " qemu-native coreutils-native"
DEPENDS_append = " qemu-native qemu-with-timeout-native coreutils-native"
# This is an extended/modified qemu.bbclass tailored four our needs:
#
@@ -11,12 +11,8 @@ DEPENDS:append = " qemu-native coreutils-native"
# not yet installed.
# * A recipe can set an extra library path in 'QEMU_EXTRA_LIBDIR'. This path is
# an absolute path.
# * To catch infine qemu runs we create a wrapper adding timeout handling
# and ensuring there is only one qemu instance at a time (we learned in
# meta-microcontroller/vtk that spawning many qemu instances in short time
# can lead to zombie processes)
QEMU_TIMEOUT ?= "180"
# * To catch infine qemu runs we make use of qemu-with-timeout-native which
# hand timeouts as errors
def qemu_run_binary_local(data, rootfs_path, binary):
libdir = rootfs_path + data.getVar("libdir")
@@ -27,23 +23,4 @@ def qemu_run_binary_local(data, rootfs_path, binary):
cmdline = qemu_wrapper_cmdline(data, rootfs_path, [libdir, base_libdir, extra_libdir]) + binary
else:
cmdline = qemu_wrapper_cmdline(data, rootfs_path, [libdir, base_libdir]) + binary
return cmdline.replace(qemu_target_binary(data), data.getVar("WORKDIR") + '/' + qemu_target_binary(data) + '-timeout')
create_qemu_ext_wrappers() {
# create qemu wrappers:
# * run one instance of qemu at a time
# * add timeout: run infinite is what makes using qemu suck
for qemu in `find ${STAGING_BINDIR_NATIVE} -name qemu-*`; do
qemu_name=`basename $qemu`
if [ "x${@qemu_target_binary(d)}" = "x$qemu_name" ]; then
wrapper_name="$qemu_name-timeout"
echo '#!/bin/sh' > ${WORKDIR}/$wrapper_name
echo 'set -e' >> ${WORKDIR}/$wrapper_name
echo "flock ${WORKDIR}/qemu.lock timeout ${QEMU_TIMEOUT} $qemu_name \$@" >> ${WORKDIR}/$wrapper_name
chmod +x ${WORKDIR}/$wrapper_name
fi
done
}
do_configure[prefuncs] += "create_qemu_ext_wrappers"
return cmdline.replace(qemu_target_binary(data), qemu_target_binary(data) + '-timeout')

View File

@@ -5,17 +5,19 @@ DEPENDS += "qttools-native"
# default location
QT_TRANSLATION_FILES ??= "${datadir}/*/translations/*.qm ${datadir}/*/translations/*/*.qm ${datadir}/*/translations/*/*/*.qm"
FILES:${PN}-locale = "${datadir}/*/translations"
FILES_${PN}-locale = "${datadir}/*/translations"
# remove ${datadir}/${BPN} set by bitbake.conf
FILES_${PN}_remove = "${datadir}/${BPN}"
python qt_do_split_locales() {
import glob
import collections
if (d.getVar('PACKAGE_NO_LOCALE') == '1'):
bb.debug(1, "package requested not splitting locales")
return
packages = collections.deque((d.getVar('PACKAGES') or "").split())
packages = (d.getVar('PACKAGES') or "").split()
datadir = d.getVar('datadir')
if not datadir:
@@ -39,7 +41,7 @@ python qt_do_split_locales() {
locales.append(locale)
if not locales:
bb.warn("No locale files for recipe %s. Remove qt5-translation from inherit?" % d.getVar('PN'))
bb.debug(1, "No locale files in this package")
return
summary = d.getVar('SUMMARY') or pn
@@ -49,20 +51,20 @@ python qt_do_split_locales() {
for l in sorted(locales):
ln = legitimize_package_name(l)
pkg = pn + '-locale-' + ln
packages.appendleft(pkg)
packages.append(pkg)
files = ''
for transvar in d.getVar('QT_TRANSLATION_FILES').split():
files = '%s %s' % (files, transvar.replace('*.qm', '*_%s.qm' % l))
d.setVar('FILES:' + pkg, files )
d.setVar('RRECOMMENDS:' + pkg, '%svirtual-locale-%s' % (mlprefix, ln))
d.setVar('RPROVIDES:' + pkg, '%s-locale %s%s-translation' % (pn, mlprefix, ln))
d.setVar('SUMMARY:' + pkg, '%s - %s translations' % (summary, l))
d.setVar('DESCRIPTION:' + pkg, '%s This package contains language translation files for the %s locale.' % (description, l))
d.setVar('FILES_' + pkg, files )
d.setVar('RRECOMMENDS_' + pkg, '%svirtual-locale-%s' % (mlprefix, ln))
d.setVar('RPROVIDES_' + pkg, '%s-locale %s%s-translation' % (pn, mlprefix, ln))
d.setVar('SUMMARY_' + pkg, '%s - %s translations' % (summary, l))
d.setVar('DESCRIPTION_' + pkg, '%s This package contains language translation files for the %s locale.' % (description, l))
if locale_section:
d.setVar('SECTION:' + pkg, locale_section)
d.setVar('SECTION_' + pkg, locale_section)
d.setVar('PACKAGES', ' '.join(list(packages)))
d.setVar('PACKAGES', ' '.join(packages))
}
PACKAGESPLITFUNCS:prepend = "qt_do_split_locales "
PACKAGESPLITFUNCS_prepend = "qt_do_split_locales "

View File

@@ -1,7 +1,7 @@
# avoids build breaks when using no-static-libs.inc
DISABLE_STATIC = ""
EXTRA_OECONF:append = " ${PACKAGECONFIG_CONFARGS}"
EXTRA_OECONF_append = " ${PACKAGECONFIG_CONFARGS}"
python waf_preconfigure() {
import subprocess

View File

@@ -6,21 +6,18 @@ BBFILES += "${LAYERDIR}/recipes-*/*.bb ${LAYERDIR}/recipes-*/*/*.bb ${LAYERDIR}/
# appends
BBFILES += "${LAYERDIR}/appends/*/*.bbappend"
BBFILE_COLLECTIONS += "meta-musicians"
BBFILE_PATTERN_meta-musicians := "^${LAYERDIR}/"
BBFILE_PRIORITY_meta-musicians = "20"
# ffmpeg4-layer: https://github.com/schnitzeltony/meta-ffmpeg4
LAYERDEPENDS_meta-musicians = " \
core \
openembedded-layer \
multimedia-layer \
ffmpeg4-layer \
networking-layer \
xfce-layer \
gnome-layer \
meta-python \
qt5-layer \
"
LAYERSERIES_COMPAT_meta-musicians = "honister kirkstone langdale"
LAYERSERIES_COMPAT_meta-musicians = "zeus dunfell"

View File

@@ -0,0 +1,31 @@
From f583921012ed1f4e853f41d4fd3d95d1a819ac03 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
Date: Sat, 4 Aug 2018 02:48:14 +0200
Subject: [PATCH] Make sure to find python3 sip code generator
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Upstream-Status: Inappropriate [configuration]
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
---
configure.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/configure.py b/configure.py
index a263efb..daefc0e 100644
--- a/configure.py
+++ b/configure.py
@@ -522,7 +522,7 @@ class TargetConfiguration:
self.qtconf_prefix = ''
self.qt_shared = False
self.qt_version = 0
- self.sip = self._find_exe('sip5', 'sip')
+ self.sip = self._find_exe('sip3')
self.sip_h_version = None
self.sip_inc_dir = self.py_venv_inc_dir
self.static = False
--
2.14.4

View File

@@ -0,0 +1,76 @@
SUMMARY = "Python Qt5 Bindings"
AUTHOR = "Phil Thomson @ riverbank.co.uk"
HOMEPAGE = "http://riverbankcomputing.co.uk"
SECTION = "devel/python"
LICENSE = "GPLv3"
LIC_FILES_CHKSUM = "file://LICENSE;md5=d32239bcb673463ab874e80d47fae504"
SRC_URI = "\
https://sourceforge.net/projects/pyqt/files/PyQt5/PyQt-${PV}/PyQt5_gpl-${PV}.tar.gz \
file://0001-Make-sure-to-find-python3-sip-code-generator.patch \
"
SRC_URI[md5sum] = "33d6d2ab8183da17ac18b8132a4b278e"
SRC_URI[sha256sum] = "c190dac598c97b0113ca5e7a37c71c623f02d1d713088addfacac4acfa4b8394"
PE = "1"
inherit qmake5 python3native
DEPENDS += "sip3-native sip3 qtbase python3"
DEPENDS_append_class-target = "qtsvg"
S = "${WORKDIR}/PyQt5_gpl-${PV}"
B = "${S}"
DISABLED_FEATURES = "PyQt_Desktop_OpenGL"
DISABLED_FEATURES_append_arm = " PyQt_qreal_double"
PYQT_MODULES = "QtCore QtGui QtNetwork QtWidgets QtSvg"
PYQT_MODULES_class-native = "QtCore"
PYQT_MODULES_aarch64 = "QtCore QtGui QtNetwork QtWidgets QtSvg"
# full paths
SYSROOTDIR = "${STAGING_DIR_HOST}"
SYSROOTDIR_class-native = "${STAGING_DIR_NATIVE}"
INCLUDEDIR = "${STAGING_INCDIR}"
INCLUDEDIR_class-native = "${STAGING_INCDIR_NATIVE}"
LIBDIR = "${STAGING_LIBDIR}"
LIBDIR_class-native = "${STAGING_LIBDIR_NATIVE}"
PYTHONEXEC="${bindir}/${PYTHON_PN}"
PYTHONEXEC_class-native="${PYTHON}"
do_configure() {
echo "py_platform = linux" > pyqt.cfg
echo "py_inc_dir = ${INCLUDEDIR}/python${PYTHON_BASEVERSION}${PYTHON_ABI}" >> pyqt.cfg
echo "py_pylib_dir = ${LIBDIR}/python${PYTHON_BASEVERSION}" >> pyqt.cfg
echo "py_pylib_lib = python${PYTHON_BASEVERSION}${PYTHON_ABI}" >> pyqt.cfg
echo "pyqt_module_dir = ${D}/${PYTHON_SITEPACKAGES_DIR}" >> pyqt.cfg
echo "pyqt_bin_dir = ${D}/${bindir}" >> pyqt.cfg
echo "pyqt_sip_dir = ${D}/${datadir}/sip/PyQt5" >> pyqt.cfg
echo "pyuic_interpreter = ${PYTHONEXEC}" >> pyqt.cfg
echo "pyqt_disabled_features = ${DISABLED_FEATURES}" >> pyqt.cfg
echo "qt_shared = True" >> pyqt.cfg
QT_VERSION=`${OE_QMAKE_QMAKE} -query QT_VERSION`
echo "[Qt $QT_VERSION]" >> pyqt.cfg
echo "pyqt_modules = ${PYQT_MODULES}" >> pyqt.cfg
echo yes | python3 configure.py --verbose --qmake ${OE_QMAKE_QMAKE} --configuration pyqt.cfg --sysroot ${SYSROOTDIR}
}
do_install() {
oe_runmake install
}
do_install_class-native() {
oe_runmake install
}
RDEPENDS_${PN}_append_class-target = " python3-core python3-sip"
FILES_${PN} += " \
${libdir}/${PYTHON_DIR}/site-packages \
${datadir}/sip/PyQt5 \
"
BBCLASSEXTEND += "native nativesdk"

View File

@@ -0,0 +1,44 @@
SUMMARY = "SIP is a C++/Python Wrapper Generator"
HOMEPAGE = "http://www.riverbankcomputing.co.uk/sip"
SECTION = "devel"
LICENSE = "GPLv2+"
LIC_FILES_CHKSUM = "file://LICENSE-GPL2;md5=e91355d8a6f8bd8f7c699d62863c7303"
inherit python3-dir
DEPENDS = "python3"
SRC_URI = "${SOURCEFORGE_MIRROR}/project/pyqt/sip/sip-${PV}/sip-${PV}.tar.gz"
SRC_URI[md5sum] = "0625fb20347d4ff1b5da551539be0727"
SRC_URI[sha256sum] = "7eaf7a2ea7d4d38a56dd6d2506574464bddf7cf284c960801679942377c297bc"
BPN = "sip"
BBCLASSEXTEND = "native"
PACKAGES += "python3-sip"
do_configure_prepend_class-target() {
echo "py_platform = linux" > sip.cfg
echo "py_inc_dir = %(sysroot)/${includedir}/python${PYTHON_BASEVERSION}${PYTHON_ABI}" >> sip.cfg
echo "sip_bin_dir = ${D}/${bindir}" >> sip.cfg
echo "sip_inc_dir = ${D}/${includedir}" >> sip.cfg
echo "sip_module_dir = ${D}/${libdir}/python${PYTHON_BASEVERSION}/site-packages" >> sip.cfg
echo "sip_sip_dir = ${D}/${datadir}/sip" >> sip.cfg
python3 configure.py --configuration sip.cfg --sysroot ${STAGING_DIR_HOST} CC="${CC}" CXX="${CXX}" LINK="${CXX}" STRIP="" LINK_SHLIB="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" LFLAGS="${LDFLAGS}"
}
do_configure_prepend_class-native() {
echo "py_platform = linux" > sip.cfg
echo "py_inc_dir = ${includedir}/python${PYTHON_BASEVERSION}${PYTHON_ABI}" >> sip.cfg
echo "sip_bin_dir = ${D}/${bindir}" >> sip.cfg
echo "sip_inc_dir = ${D}/${includedir}" >> sip.cfg
echo "sip_module_dir = ${D}/${libdir}/python${PYTHON_BASEVERSION}/site-packages" >> sip.cfg
echo "sip_sip_dir = ${D}/${datadir}/sip" >> sip.cfg
python3 configure.py --configuration sip.cfg --sysroot ${STAGING_DIR_NATIVE}
}
do_install() {
oe_runmake install
# avoid conflicts with sip for python2
mv ${D}/${bindir}/sip ${D}/${bindir}/sip3
}
FILES_python3-sip = "${libdir}/${PYTHON_DIR}/site-packages/"

View File

@@ -0,0 +1,20 @@
SUMMARY = "A simple build configuration and project generation tool using lua"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=fdafc691aa5fb7f8e2a9e9521fef771b"
HOMEPAGE = "http://premake.github.io/"
DEPENDS = "lua-native"
SRC_URI = "http://downloads.sourceforge.net/project/premake/Premake/${PV}/premake-src-${PV}.zip"
SRC_URI[md5sum] = "8d30dc5bbc52aad81abb1509c1dd7d8f"
SRC_URI[sha256sum] = "b59841a519e75d5b6566848a2c5be2f91455bf0cc6ae4d688fcbd4c40db934d5"
S = "${WORKDIR}/Premake-${PV}"
BBCLASSEXTEND = "native"
do_install() {
install -d ${D}${bindir}
install -m 755 ${S}/bin/premake ${D}${bindir}
}

View File

@@ -0,0 +1,34 @@
From 8ca73d78d0e7ce388654b2033cfbb78e3ed5d1f1 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
Date: Sun, 25 Jun 2017 18:54:01 +0200
Subject: [PATCH] Premake4.make: keep more of our build defaults
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Upstream-Status: Inappropriate [embedded specific]
Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
---
build/gmake.unix/Premake4.make | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/build/gmake.unix/Premake4.make b/build/gmake.unix/Premake4.make
index bbc159b..80fc136 100644
--- a/build/gmake.unix/Premake4.make
+++ b/build/gmake.unix/Premake4.make
@@ -26,9 +26,9 @@ ifeq ($(config),release)
DEFINES += -DNDEBUG -DLUA_USE_POSIX -DLUA_USE_DLOPEN
INCLUDES += -I../../src/host/lua-5.1.4/src
CPPFLAGS += -MMD -MP $(DEFINES) $(INCLUDES)
- CFLAGS += $(CPPFLAGS) $(ARCH) -Wall -Os
+ CFLAGS += $(CPPFLAGS) $(ARCH) -Wall
CXXFLAGS += $(CFLAGS)
- LDFLAGS += -s -rdynamic
+ LDFLAGS +=
LIBS += -lm -ldl
RESFLAGS += $(DEFINES) $(INCLUDES)
LDDEPS +=
--
2.9.4

View File

@@ -0,0 +1,25 @@
SUMMARY = "A simple build configuration and project generation tool using lua"
LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=6f3a39cc652afb51d2f2bc39b67e308f"
HOMEPAGE = "http://premake.github.io/"
SRC_URI = " \
http://downloads.sourceforge.net/project/premake/Premake/${PV}/premake-${PV}-src.zip \
file://0001-Premake4.make-keep-more-of-our-build-defaults.patch \
"
SRC_URI[md5sum] = "8cfafee76f9665c93b2e9ad15b015eb7"
SRC_URI[sha256sum] = "36536490f8928d8ecde135da80cd8b751ea5bebe50cabba5c0de49cd41cb2780"
S = "${WORKDIR}/premake-${PV}"
BBCLASSEXTEND = "native"
do_compile_prepend() {
cd ${S}/build/gmake.unix
}
do_install() {
install -d ${D}${bindir}
install -m 755 ${S}/bin/release/premake4 ${D}${bindir}
}

View File

@@ -0,0 +1,25 @@
SUMMARY = "A simple build configuration and project generation tool using lua"
LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=4d2a821a590b53e6ca55241102be4dbe"
HOMEPAGE = "http://premake.github.io/"
SRC_URI = " \
https://github.com/premake/premake-core/releases/download/v5.0.0-alpha14/premake-5.0.0-alpha14-src.zip \
"
SRC_URI[md5sum] = "f26699599c53865f7b154e9ed22a0ba4"
SRC_URI[sha256sum] = "7c9fa4488156625c819dd03f2b48bfd4712fbfabdc2b5768e8c7f52dd7d16608"
S = "${WORKDIR}/premake-${PV}-alpha14"
BBCLASSEXTEND = "native"
do_compile_prepend() {
cd ${S}/build/gmake.unix
export config=debug
}
do_install() {
install -d ${D}${bindir}
install -m 755 ${S}/bin/debug/premake5 ${D}${bindir}
}

View File

@@ -1,16 +1,17 @@
SUMMARY = "NTK is a fork of FLTK"
SECTION = "libs"
LICENSE = "LGPL-2.0-only & FLTK"
LICENSE = "LGPLv2 & FLTK"
LIC_FILES_CHKSUM = "file://COPYING;md5=f6b26344a24a941a01a5b0826e80b5ca"
SRC_URI = " \
git://github.com/falkTX/ntk.git;branch=master;protocol=https \
git://github.com/original-male/${BPN}.git \
file://0001-wscript-check-compile-instead-of-tun-check-datatype-.patch \
file://0002-Fix-build-for-python3-only-environments.patch \
"
SRCREV = "720d8d33200ebd030df700c6c7a5a9cdf4581c03"
SRCREV = "dae177189b12f74ea01ac2389b76326c06d9be78"
S = "${WORKDIR}/git"
PV = "1.3.1001"
PV_LAST_RELEASE = "1.3.1000"
PV = "${PV_LAST_RELEASE}+git${SRCPV}"
inherit waf pkgconfig
@@ -26,14 +27,14 @@ WAF_EXTRA_CONF = " \
--libdir=${libdir} \
"
do_install:append() {
do_install_append() {
rm ${D}${libdir}/libntk.a
rm ${D}${libdir}/libntk.a.1
mv ${D}${libdir}/libntk.a.${PV} ${D}${libdir}/libntk.a
mv ${D}${libdir}/libntk.a.${PV_LAST_RELEASE} ${D}${libdir}/libntk.a
rm ${D}${libdir}/libntk_images.a
rm ${D}${libdir}/libntk_images.a.1
mv ${D}${libdir}/libntk_images.a.${PV} ${D}${libdir}/libntk_images.a
mv ${D}${libdir}/libntk_images.a.${PV_LAST_RELEASE} ${D}${libdir}/libntk_images.a
}
BBCLASSEXTEND = "native"

View File

@@ -1,6 +1,6 @@
require gst-plugins.inc
LICENSE = "GPL-2.0-or-later & LGPL-2.0-or-later"
LICENSE = "GPLv2+ & LGPLv2+"
LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3 \
file://common/coverage/coverage-report.pl;beginline=2;endline=17;md5=622921ffad8cb18ab906c56052788a3f \
file://COPYING.LIB;md5=55ca817ccb7d5b5b66355690e9abc605 \
@@ -32,21 +32,14 @@ PACKAGECONFIG[pango] = "--enable-pango,--disable-pango,pango"
PACKAGECONFIG[x11] = "--enable-x --enable-xvideo,--disable-x --disable-xvideo,virtual/libx11 libxv libsm libice"
PACKAGECONFIG[cdparanoia] = "--enable-cdparanoia,--disable-cdparanoia,cdparanoia"
do_configure:prepend() {
do_configure_prepend() {
# This m4 file contains nastiness which conflicts with libtool 2.2.2
rm -f ${S}/m4/lib-link.m4
}
do_configure:append() {
# remove stay \ introduced by make 4.3
if make -v | grep '4\.3'; then
sed -i 's:\\#include:#include:g' `find -name Makefile`
fi
}
FILES_${PN} += "${datadir}/${BPN}"
FILES:${PN} += "${datadir}/${BPN}"
CACHED_CONFIGUREVARS:append:x86 = " ac_cv_header_emmintrin_h=no ac_cv_header_xmmintrin_h=no"
CACHED_CONFIGUREVARS_append_x86 = " ac_cv_header_emmintrin_h=no ac_cv_header_xmmintrin_h=no"
# /usr/bin/gst-visualise-0.10 is a perl script.
RDEPENDS:${PN}-apps += "perl"
RDEPENDS_${PN}-apps += "perl"

View File

@@ -1,5 +1,5 @@
PACKAGESPLITFUNCS:prepend = " split_gstreamer10_packages "
PACKAGESPLITFUNCS:append = " set_metapkg_rdepends "
PACKAGESPLITFUNCS_prepend = " split_gstreamer10_packages "
PACKAGESPLITFUNCS_append = " set_metapkg_rdepends "
python split_gstreamer10_packages () {
gst_libdir = d.expand('${libdir}/gstreamer-${LIBV}')
@@ -19,8 +19,8 @@ python set_metapkg_rdepends () {
pn = d.getVar('PN')
metapkg = pn + '-meta'
d.setVar('ALLOW_EMPTY:' + metapkg, "1")
d.setVar('FILES:' + metapkg, "")
d.setVar('ALLOW_EMPTY_' + metapkg, "1")
d.setVar('FILES_' + metapkg, "")
blacklist = [ pn, pn + '-meta' ]
metapkg_rdepends = []
pkgdest = d.getVar('PKGDEST')
@@ -37,20 +37,20 @@ python set_metapkg_rdepends () {
is_empty = len(dir_contents) == 0
if not is_empty:
metapkg_rdepends.append(pkg)
d.setVar('RDEPENDS:' + metapkg, ' '.join(metapkg_rdepends))
d.setVar('DESCRIPTION:' + metapkg, pn + ' meta package')
d.setVar('RDEPENDS_' + metapkg, ' '.join(metapkg_rdepends))
d.setVar('DESCRIPTION_' + metapkg, pn + ' meta package')
}
# each plugin-dev depends on PN-dev, plugin-staticdev on PN-staticdev
# so we need them even when empty (like in gst-plugins-good case)
ALLOW_EMPTY:${PN} = "1"
ALLOW_EMPTY:${PN}-dev = "1"
ALLOW_EMPTY:${PN}-staticdev = "1"
ALLOW_EMPTY_${PN} = "1"
ALLOW_EMPTY_${PN}-dev = "1"
ALLOW_EMPTY_${PN}-staticdev = "1"
PACKAGES += "${PN}-apps ${PN}-meta ${PN}-glib"
FILES:${PN} = ""
FILES:${PN}-apps = "${bindir}"
FILES:${PN}-glib = "${datadir}/glib-2.0"
FILES_${PN} = ""
FILES_${PN}-apps = "${bindir}"
FILES_${PN}-glib = "${datadir}/glib-2.0"
RRECOMMENDS:${PN} += "${PN}-meta"
RRECOMMENDS_${PN} += "${PN}-meta"

View File

@@ -21,7 +21,7 @@ PACKAGES_DYNAMIC += "^${PN}-.*"
# apply gstreamer hack after Makefile.in.in in source is replaced by our version from
# ${STAGING_DATADIR_NATIVE}/gettext/po/Makefile.in.in, but before configure is executed
# http://lists.linuxtogo.org/pipermail/openembedded-core/2012-November/032233.html
oe_runconf:prepend() {
oe_runconf_prepend() {
if [ -e ${S}/po/Makefile.in.in ]; then
sed -i -e "1a\\" -e 'GETTEXT_PACKAGE = @GETTEXT_PACKAGE@' ${S}/po/Makefile.in.in
fi

View File

@@ -53,7 +53,7 @@ gst_registry_binary_fill_feature(GList **list, GstPluginFeature *orig, GstBinary
chk->data = dest;
chk->size = sizeof (GstBinaryPluginFeature);
*list = g_list:append(*list, chk);
*list = g_list_append(*list, chk);
dest->rank = orig->rank;
if (!strncpy(dest->typename, name, GST_BINARY_REGISTRY_TYPENAME_TYPENAME_LEN) ||
@@ -149,7 +149,7 @@ gst_registry_binary_save_plugin(GList **list, GstRegistry *registry, GstPlugin *
chk->data = e;
chk->size = sizeof (GstBinaryPluginElement);
*list = g_list:append(*list, chk);
*list = g_list_append(*list, chk);
if (!strncpy(e->name, plugin->desc.name, GST_BINARY_REGISTRY_NAME_LEN) ||
!strncpy(e->description, plugin->desc.description, GST_BINARY_REGISTRY_DESCRIPTION_LEN) ||
@@ -235,7 +235,7 @@ gst_registry_binary_write_cache(GstRegistry *registry, const char *location)
magic_chunck->data = magic;
magic_chunck->size = sizeof (GstBinaryRegistryMagic);
to_write = g_list:append(to_write, magic_chunck);
to_write = g_list_append(to_write, magic_chunck);
/* Iterate trough the list of plugins in the GstRegistry and adapt them to our structures */
for (walk = g_list_last(registry->plugins); walk; walk = g_list_previous(walk))
@@ -410,7 +410,7 @@ gst_registry_binary_get_binary_plugin(GstRegistry *registry, gchar *in)
return -1;
}
gstfeat->plugin_name = g_strdup(plugin->desc.name);
plugin_features = g_list:prepend(plugin_features, gstfeat);
plugin_features = g_list_prepend(plugin_features, gstfeat);
}
GST_DEBUG("Added plugin \"%s\" to global registry from binary registry", plugin->desc.name);

View File

@@ -5,7 +5,7 @@ HOMEPAGE = "http://gstreamer.freedesktop.org/"
BUGTRACKER = "https://bugzilla.gnome.org/enter_bug.cgi?product=Gstreamer"
SECTION = "multimedia"
LICENSE = "LGPL-2.0-or-later"
LICENSE = "LGPLv2+"
LIC_FILES_CHKSUM = " \
file://COPYING;md5=55ca817ccb7d5b5b66355690e9abc605 \
file://gst/gst.h;beginline=1;endline=21;md5=8e5fe5e87d33a04479fde862e238eaa4 \
@@ -42,8 +42,8 @@ CACHED_CONFIGUREVARS += "ac_cv_header_valgrind_valgrind_h=no"
# apply gstreamer hack after Makefile.in.in in source is replaced by our version from
# ${STAGING_DATADIR_NATIVE}/gettext/po/Makefile.in.in, but before configure is executed
# http://lists.linuxtogo.org/pipermail/openembedded-core/2012-November/032233.html
oe_runconf:prepend() {
oe_runconf_prepend() {
sed -i -e "1a\\" -e 'GETTEXT_PACKAGE = @GETTEXT_PACKAGE@' ${S}/po/Makefile.in.in
}
FILES:${PN} += " ${libdir}/gstreamer-0.10/*.so"
FILES_${PN} += " ${libdir}/gstreamer-0.10/*.so"

View File

@@ -1,6 +1,6 @@
SUMMARY = "Software synth with a classic subtractive synthesizer topology"
HOMEPAGE = "http://amsynth.github.io/"
LICENSE = "GPL-2.0-only"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=67b604758dd265c185ce36fcf76a889d"
inherit autotools pkgconfig gtk-icon-cache gettext pack_audio_plugins
@@ -10,41 +10,40 @@ DEPENDS += " \
intltool-native \
"
SRC_URI = "git://github.com/amsynth/amsynth.git;branch=develop;protocol=https"
SRCREV = "39bd448fd499e0e802aa6a20273d64655bda356a"
PV = "1.12.4"
SRC_URI = "git://github.com/amsynth/amsynth.git;branch=develop"
SRCREV = "3994bc3edfd606b5965f0bacdf128a664a78b86a"
PV = "1.10.0"
S = "${WORKDIR}/git"
PACKAGECONFIG ??= "alsa jack lv2 nsm"
PACKAGECONFIG ??= "alsa jack lv2"
PACKAGECONFIG[oss] = "--with-oss,--without-oss"
PACKAGECONFIG[alsa] = "--with-alsa,--without-alsa,alsa-lib"
PACKAGECONFIG[dssi] = "--with-dssi,--without-dssi,dssi liblo"
PACKAGECONFIG[jack] = "--with-jack,--without-jack,jack"
PACKAGECONFIG[lv2] = "--with-lv2,--without-lv2,lv2"
PACKAGECONFIG[nsm] = "--with-nsm,--without-nsm,liblo,new-session-manager"
PACKAGES =+ "${PN}-standalone"
FILES:${PN}-standalone += " \
FILES_${PN}-standalone += " \
${datadir}/appdata/amsynth.appdata.xml \
${datadir}/applications \
${datadir}/icons \
${bindir} \
"
FILES:${PN_DSSI} += " \
FILES_${PN_DSSI} += " \
${datadir}/appdata/dssi-amsynth-plugin.metainfo.xml \
"
FILES:${PN_LV2} += " \
FILES_${PN_LV2} += " \
${datadir}/appdata/lv2-amsynth-plugin.metainfo.xml \
"
FILES:${PN_VST} += " \
FILES_${PN_VST} += " \
${datadir}/appdata/vst-amsynth-plugin.metainfo.xml \
"
RDEPENDS:${PN}-standalone += "${PN}"
RDEPENDS:${PN_DSSI} += "${PN}"
RDEPENDS:${PN_LV2} += "${PN}"
RDEPENDS:${PN_VST} += "${PN}"
RDEPENDS_${PN}-standalone += "${PN}"
RDEPENDS_${PN_DSSI} += "${PN}"
RDEPENDS_${PN_LV2} += "${PN}"
RDEPENDS_${PN_VST} += "${PN}"

View File

@@ -0,0 +1,74 @@
From 24b6038dc7c235780038d3fce2d9c83fada6ac8b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
Date: Mon, 6 Feb 2017 23:33:45 +0100
Subject: [PATCH] remove all build flags that cause trouble for cross
configure/build
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Upstream-Status: Inappropriate [cross specific]
Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
---
tools/autowaf.py | 1 +
wscript | 26 --------------------------
2 files changed, 1 insertion(+), 26 deletions(-)
diff --git a/tools/autowaf.py b/tools/autowaf.py
index 375dc5909..bb7714335 100644
--- a/tools/autowaf.py
+++ b/tools/autowaf.py
@@ -93,6 +93,7 @@ def copyfile (task):
def check_header(conf, lang, name, define='', mandatory=True):
"Check for a header"
+ return True
includes = '' # search default system include paths
if sys.platform == "darwin":
includes = '/opt/local/include'
diff --git a/wscript b/wscript
index 9fd84bb2c..d4178cb36 100644
--- a/wscript
+++ b/wscript
@@ -476,31 +476,6 @@ int main() { return 0; }''',
compiler_flags.append ("-DARCH_X86")
- if platform == 'linux' :
-
- #
- # determine processor flags via /proc/cpuinfo
- #
-
- if conf.env['build_target'] != 'i386':
-
- flag_line = os.popen ("cat /proc/cpuinfo | grep '^flags'").read()[:-1]
- x86_flags = flag_line.split (": ")[1:][0].split ()
-
- if "mmx" in x86_flags:
- compiler_flags.append ("-mmmx")
- if "sse" in x86_flags:
- build_host_supports_sse = True
- if "3dnow" in x86_flags:
- compiler_flags.append ("-m3dnow")
-
- if cpu == "i586":
- compiler_flags.append ("-march=i586")
- elif cpu == "i686":
- compiler_flags.append ("-march=i686")
-
- if not is_clang and ((conf.env['build_target'] == 'i686') or (conf.env['build_target'] == 'x86_64')) and build_host_supports_sse:
- compiler_flags.extend ([ flags_dict['sse'], flags_dict['fpmath-sse'], flags_dict['xmmintrinsics'] ])
if (conf.env['build_target'] == 'mingw'):
if (re.search ("(x86_64|AMD64)", cpu) != None):
@@ -1034,7 +1009,6 @@ def configure(conf):
fragment = "#include <dlfcn.h>\n int main(void) { dlopen (\"\", 0); return 0;}\n",
linkflags='-ldl', uselib_store='DL', execute = False)
conf.check_cxx(fragment = "#include <boost/version.hpp>\nint main(void) { return (BOOST_VERSION >= 103900 ? 0 : 1); }\n",
- execute = "1",
mandatory = True,
msg = 'Checking for boost library >= 1.39',
okmsg = 'ok',

View File

@@ -0,0 +1,229 @@
From 610ce4e19b0b39d0e8391057b22163d4fdc7bdb4 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
Date: Mon, 3 Jul 2017 23:24:55 +0200
Subject: [PATCH 2/2] Use ARM NEON intrinsics if available for mixing functions
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
---
libs/ardour/ardour/mix.h | 10 +++
libs/ardour/globals.cc | 13 ++++
libs/ardour/mix.cc | 157 +++++++++++++++++++++++++++++++++++++++++++++++
3 files changed, 180 insertions(+)
diff --git a/libs/ardour/ardour/mix.h b/libs/ardour/ardour/mix.h
index 4676c01..55919f0 100644
--- a/libs/ardour/ardour/mix.h
+++ b/libs/ardour/ardour/mix.h
@@ -65,6 +65,16 @@ LIBARDOUR_API void veclib_mix_buffers_no_gain (ARDOUR::Sample * dst, cons
#endif
+#if defined (__ARM_NEON__)
+
+LIBARDOUR_API float neon_compute_peak (const ARDOUR::Sample * buf, ARDOUR::pframes_t nsamples, float current);
+LIBARDOUR_API void neon_find_peaks (const ARDOUR::Sample * buf, ARDOUR::pframes_t nsamples, float *min, float *max);
+LIBARDOUR_API void neon_apply_gain_to_buffer (ARDOUR::Sample * buf, ARDOUR::pframes_t nframes, float gain);
+LIBARDOUR_API void neon_mix_buffers_with_gain (ARDOUR::Sample * dst, const ARDOUR::Sample * src, ARDOUR::pframes_t nframes, float gain);
+LIBARDOUR_API void neon_mix_buffers_no_gain (ARDOUR::Sample * dst, const ARDOUR::Sample * src, ARDOUR::pframes_t nframes);
+
+#endif
+
/* non-optimized functions */
LIBARDOUR_API float default_compute_peak (const ARDOUR::Sample * buf, ARDOUR::pframes_t nsamples, float current);
diff --git a/libs/ardour/globals.cc b/libs/ardour/globals.cc
index 28eb818..d562b35 100644
--- a/libs/ardour/globals.cc
+++ b/libs/ardour/globals.cc
@@ -222,6 +222,19 @@ setup_hardware_optimization (bool try_optimization)
info << "Apple VecLib H/W specific optimizations in use" << endmsg;
}
+#elif defined (__ARM_NEON__)
+ // No runtime detection
+ compute_peak = neon_compute_peak;
+ find_peaks = neon_find_peaks;
+ apply_gain_to_buffer = neon_apply_gain_to_buffer;
+ mix_buffers_with_gain = neon_mix_buffers_with_gain;
+ mix_buffers_no_gain = neon_mix_buffers_no_gain;
+ copy_vector = default_copy_vector;
+
+ generic_mix_functions = false;
+
+ info << "ARM NEON optimizations in use" << endmsg;
+
#endif
/* consider FPU denormal handling to be "h/w optimization" */
diff --git a/libs/ardour/mix.cc b/libs/ardour/mix.cc
index 96ae624..d1a46a2 100644
--- a/libs/ardour/mix.cc
+++ b/libs/ardour/mix.cc
@@ -182,4 +182,161 @@ veclib_mix_buffers_no_gain (ARDOUR::Sample * dst, const ARDOUR::Sample * src, pf
#endif
+#if defined (__ARM_NEON__)
+#include <arm_neon.h>
+
+float
+neon_compute_peak (const ARDOUR::Sample * buf, ARDOUR::pframes_t nsamples, float current)
+{
+ float32x4_t v4current = vdupq_n_f32(current);
+ float32x4_t v4work;
+ float32x2_t v2current;
+
+ // unaligned lead (spread single float to vector)
+ while (((intptr_t)buf) % 16 != 0 && nsamples > 0) {
+ v4work = vdupq_n_f32(*buf);
+ v4current = vmaxq_f32(v4current, vabsq_f32(v4work));
+
+ buf++;
+ nsamples--;
+ }
+ // aligned
+ while (nsamples >= 4) {
+ v4work = vld1q_f32(buf);
+ v4current = vmaxq_f32(v4current, vabsq_f32(v4work));
+
+ buf+=4;
+ nsamples-=4;
+ }
+ // rest < 4 (spread single float to vector)
+ while (nsamples > 0) {
+ v4work = vdupq_n_f32(*buf);
+ v4current = vmaxq_f32(v4current, vabsq_f32(v4work));
+
+ buf++;
+ nsamples--;
+ }
+
+ // calc max in vector by pairwise max done twice
+ v2current = vpmax_f32(vget_low_f32(v4current), vget_high_f32(v4current));
+ v2current = vpmax_f32(v2current, v2current);
+ return vget_lane_f32(v2current, 0);
+}
+
+void
+neon_find_peaks (const ARDOUR::Sample * buf, ARDOUR::pframes_t nsamples, float *min, float *max)
+{
+ float32x4_t v4min = vdupq_n_f32(*min);
+ float32x4_t v4max = vdupq_n_f32(*max);
+ float32x4_t v4work;
+ float32x2_t v2min, v2max;
+
+ // vector
+ while (nsamples >= 4) {
+ v4work = vld1q_f32(buf);
+ v4min = vminq_f32(v4min, v4work);
+ v4max = vmaxq_f32(v4max, v4work);
+
+ buf+=4;
+ nsamples-=4;
+ }
+ // rest < 4 (spread single float to vector)
+ while (nsamples > 0) {
+ v4work = vdupq_n_f32(*buf);
+ v4min = vminq_f32(v4min, v4work);
+ v4max = vmaxq_f32(v4max, v4work);
+
+ buf++;
+ nsamples--;
+ }
+
+ // calc min in vector by pairwise max done twice
+ v2min = vpmin_f32(vget_low_f32(v4min), vget_high_f32(v4min));
+ v2min = vpmax_f32(v2min, v2min);
+ *min = vget_lane_f32(v2min, 0);
+ // calc max in vector by pairwise max done twice
+ v2max = vpmax_f32(vget_low_f32(v4max), vget_high_f32(v4max));
+ v2max = vpmax_f32(v2max, v2max);
+ *max = vget_lane_f32(v2max, 0);
+}
+
+void
+neon_apply_gain_to_buffer (ARDOUR::Sample * buf, ARDOUR::pframes_t nframes, float gain)
+{
+ float32x4_t v4gain = vdupq_n_f32(gain);
+ float32x4_t v4work;
+
+ // vector
+ while (nframes >= 4) {
+ v4work = vld1q_f32(buf);
+ v4work = vmulq_f32(v4work, v4gain);
+ vst1q_f32(buf, v4work);
+
+ buf+=4;
+ nframes-=4;
+ }
+ // rest < 4
+ while (nframes > 0) {
+ *buf *= gain;
+
+ buf++;
+ nframes--;
+ }
+}
+
+void
+neon_mix_buffers_with_gain (ARDOUR::Sample * dst, const ARDOUR::Sample * src, ARDOUR::pframes_t nframes, float gain)
+{
+ float32x4_t v4gain = vdupq_n_f32(gain);
+ float32x4_t v4src, v4dst;
+
+ // vector
+ while (nframes >= 4) {
+ v4src = vld1q_f32(src);
+ v4dst = vld1q_f32(dst);
+ // v4dst = v4dst + v4src * v4gain
+ v4dst = vmlaq_f32(v4dst, v4src, v4gain);
+ vst1q_f32(dst, v4dst);
+
+ src+=4;
+ dst+=4;
+ nframes-=4;
+ }
+ // rest < 4
+ while (nframes > 0) {
+ *dst += *src * gain;
+
+ src++;
+ dst++;
+ nframes--;
+ }
+}
+
+void
+neon_mix_buffers_no_gain (ARDOUR::Sample * dst, const ARDOUR::Sample * src, ARDOUR::pframes_t nframes)
+{
+ float32x4_t v4src, v4dst;
+
+ // vector
+ while (nframes >= 4) {
+ v4src = vld1q_f32(src);
+ v4dst = vld1q_f32(dst);
+ v4dst = vaddq_f32(v4dst, v4src);
+ vst1q_f32(dst, v4dst);
+
+ src+=4;
+ dst+=4;
+ nframes-=4;
+ }
+ // rest < 4
+ while (nframes > 0) {
+ *dst += *src;
+
+ src++;
+ dst++;
+ nframes--;
+ }
+}
+
+#endif
--
2.9.4

View File

@@ -0,0 +1,29 @@
From be826f363522dbca96c8263d404c57c4fe9ff0e2 Mon Sep 17 00:00:00 2001
From: Robin Gareus <robin@gareus.org>
Date: Wed, 3 Oct 2018 20:54:14 +0200
Subject: [PATCH] Prevent excessive meter redraws for inactive meters at zero
Upstream-Status: Backport [1]
[1] https://github.com/Ardour/ardour/commit/be826f363522dbca96c8263d404c57c4fe9ff0e2
---
libs/widgets/fastmeter.cc | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/libs/widgets/fastmeter.cc b/libs/widgets/fastmeter.cc
index cf1d9dd07..a9ecf5dad 100644
--- a/libs/widgets/fastmeter.cc
+++ b/libs/widgets/fastmeter.cc
@@ -703,7 +703,7 @@ FastMeter::set (float lvl, float peak)
if (pixwidth <= 0 || pixheight <=0) return;
if (peak == -1) {
- if (lvl >= current_peak) {
+ if (lvl >= current_peak && lvl > 0) {
current_peak = lvl;
hold_state = hold_cnt;
}
--
2.14.4

View File

@@ -0,0 +1,34 @@
From 8d5e7e9f4e4372debb9ce285336ccc1ecc0383f6 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
Date: Wed, 17 Oct 2018 22:10:41 +0200
Subject: [PATCH] Prevent excessive meter redraws for inactive meters at zero
II
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Same as be826f363522dbca96c8263d404c57c4fe9ff0e2
Upstream-Status: Applied
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
---
libs/canvas/meter.cc | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/libs/canvas/meter.cc b/libs/canvas/meter.cc
index b539a1b4a..76e31bf58 100644
--- a/libs/canvas/meter.cc
+++ b/libs/canvas/meter.cc
@@ -702,7 +702,7 @@ Meter::set (float lvl, float peak)
if (pixwidth <= 0 || pixheight <=0) return;
if (peak == -1) {
- if (lvl >= current_peak) {
+ if (lvl >= current_peak && lvl > 0) {
current_peak = lvl;
hold_state = hold_cnt;
}
--
2.14.4

View File

@@ -0,0 +1,117 @@
From ae281f2135607e55675d7cc18a9fe1a5b88464ec Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
Date: Fri, 12 Oct 2018 00:56:59 +0200
Subject: [PATCH] Follow fluidsynth's API changes introduced with 2.0.0
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Upstream-Status: Submitted [1]
[1] https://github.com/Ardour/ardour/pull/431
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
---
libs/ardour/fluid_synth.cc | 14 ++++++++++++++
libs/plugins/a-fluidsynth.lv2/a-fluidsynth.cc | 27 ++++++++++++++++++++++++++-
2 files changed, 40 insertions(+), 1 deletion(-)
diff --git a/libs/ardour/fluid_synth.cc b/libs/ardour/fluid_synth.cc
index 45653a9e7..c9b7b526e 100644
--- a/libs/ardour/fluid_synth.cc
+++ b/libs/ardour/fluid_synth.cc
@@ -71,6 +71,7 @@ FluidSynth::load_sf2 (const std::string& fn)
}
size_t count;
+#if FLUIDSYNTH_VERSION_MAJOR < 2
fluid_preset_t preset;
sfont->iteration_start (sfont);
@@ -83,7 +84,20 @@ FluidSynth::load_sf2 (const std::string& fn)
preset.get_banknum (&preset),
preset.get_num (&preset)));
}
+#else
+ fluid_preset_t* preset;
+ fluid_sfont_iteration_start (sfont);
+ for (count = 0; (preset = fluid_sfont_iteration_next (sfont)) != 0; ++count) {
+ if (count < 16) {
+ fluid_synth_program_select (_synth, count, _synth_id, fluid_preset_get_banknum (preset), fluid_preset_get_num (preset));
+ }
+ _presets.push_back (BankProgram (
+ fluid_preset_get_name (preset),
+ fluid_preset_get_banknum (preset),
+ fluid_preset_get_num (preset)));
+ }
+#endif
if (count == 0) {
return false;
}
diff --git a/libs/plugins/a-fluidsynth.lv2/a-fluidsynth.cc b/libs/plugins/a-fluidsynth.lv2/a-fluidsynth.cc
index e6cf1e29d..6d168d5fe 100644
--- a/libs/plugins/a-fluidsynth.lv2/a-fluidsynth.cc
+++ b/libs/plugins/a-fluidsynth.lv2/a-fluidsynth.cc
@@ -184,6 +184,7 @@ load_sf2 (AFluidSynth* self, const char* fn)
}
int chn;
+#if FLUIDSYNTH_VERSION_MAJOR < 2
fluid_preset_t preset;
sfont->iteration_start (sfont);
pthread_mutex_lock (&self->bp_lock);
@@ -192,15 +193,33 @@ load_sf2 (AFluidSynth* self, const char* fn)
fluid_synth_program_select (self->synth, chn, synth_id,
preset.get_banknum (&preset), preset.get_num (&preset));
}
+#else
+ fluid_preset_t *preset;
+ fluid_sfont_iteration_start (sfont);
+ pthread_mutex_lock (&self->bp_lock);
+ for (chn = 0; (preset = fluid_sfont_iteration_next (sfont)); ++chn) {
+ if (chn < 16) {
+ fluid_synth_program_select (self->synth, chn, synth_id,
+ fluid_preset_get_banknum (preset), fluid_preset_get_num (preset));
+ }
+#endif // FLUIDSYNTH_VERSION_MAJOR < 2
#ifndef LV2_EXTENDED
else { break ; }
#else
+#if FLUIDSYNTH_VERSION_MAJOR < 2
self->presets[preset.get_banknum (&preset)].push_back (
BankProgram (
preset.get_name (&preset),
preset.get_banknum (&preset),
preset.get_num (&preset)));
-#endif
+#else
+ self->presets[fluid_preset_get_banknum (preset)].push_back (
+ BankProgram (
+ fluid_preset_get_name (preset),
+ fluid_preset_get_banknum (preset),
+ fluid_preset_get_num (preset)));
+#endif // FLUIDSYNTH_VERSION_MAJOR < 2
+#endif // LV2_EXTENDED
}
pthread_mutex_unlock (&self->bp_lock);
@@ -681,9 +700,15 @@ work_response (LV2_Handle instance,
}
for (int chn = 0; chn < 16; ++chn) {
+#if FLUIDSYNTH_VERSION_MAJOR < 2
unsigned int sfid = 0;
unsigned int bank = 0;
unsigned int program = -1;
+#else
+ int sfid = 0;
+ int bank = 0;
+ int program = -1;
+#endif
if (FLUID_OK == fluid_synth_get_program (self->synth, chn, &sfid, &bank, &program)) {
self->program_state[chn].bank = bank;
self->program_state[chn].program = program;
--
2.14.4

View File

@@ -0,0 +1,33 @@
From de5b65e6e5c558237fbdcfb4c6a284bc17a6054e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
Date: Sat, 25 Jan 2020 22:11:56 +0100
Subject: [PATCH] Find fmt-binding in out-of-tree building
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Upstream-Status: Submitted [1]
[1] https://github.com/Ardour/ardour/pull/465
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
---
gtk2_ardour/wscript | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/gtk2_ardour/wscript b/gtk2_ardour/wscript
index beb5b196b8..ed1d5631dd 100644
--- a/gtk2_ardour/wscript
+++ b/gtk2_ardour/wscript
@@ -852,7 +852,7 @@ def build(bld):
# NATIVE ARDOUR BINDING FILES
# explicitly state the use of perl here so that it works on windows too
#
- a_rule = 'perl ../tools/fmt-bindings --platform="%s" --winkey="%s" --accelmap ${SRC[0].abspath()} >${TGT}' % (sys.platform, bld.env['WINDOWS_KEY'] )
+ a_rule = 'perl %s/tools/fmt-bindings --platform="%s" --winkey="%s" --accelmap ${SRC[0].abspath()} >${TGT}' % (bld.top_dir, sys.platform, bld.env['WINDOWS_KEY'] )
for b in [ 'ardour' ] :
obj = bld(
target = b + '.keys',
--
2.21.0

View File

@@ -0,0 +1,10 @@
[Desktop Entry]
Name=Ardour
Comment=Record, mix and master audio
Exec=ardour5
Icon=ardour5
Terminal=false
MimeType=application/x-ardour;
Type=Application
Categories=AudioVideo;Audio;X-Recorders;X-Multitrack;X-Jack;X-AudioEditing;
GenericName=Digital Audio Workstation

View File

@@ -0,0 +1,859 @@
From 2e9ac80e998bc79d5ef9029415008198b22168dc Mon Sep 17 00:00:00 2001
From: David Runge <dave@sleepmap.de>
Date: Mon, 20 Jan 2020 23:08:11 +0100
Subject: [PATCH 1/8] Towards waf python 2+3 support
Upstream-Status: Backport [1]
[1] https://github.com/Ardour/ardour/commit/2e9ac80e998bc79d5ef9029415008198b22168dc
---
gtk2_ardour/wscript | 32 +-
libs/ardour/wscript | 2 +-
libs/pbd/wscript | 17 +-
libs/plugins/a-comp.lv2/wscript | 13 +-
libs/plugins/a-delay.lv2/wscript | 14 +-
libs/plugins/a-eq.lv2/wscript | 14 +-
libs/plugins/a-fluidsynth.lv2/wscript | 16 +-
libs/plugins/a-reverb.lv2/wscript | 14 +-
libs/plugins/reasonablesynth.lv2/wscript | 14 +-
libs/ptformat/wscript | 1 +
libs/surfaces/osc/wscript | 2 +-
libs/surfaces/push2/wscript | 24 +-
libs/surfaces/wiimote/wscript | 2 +-
libs/widgets/wscript | 2 +-
session_utils/wscript | 2 +-
tools/bb/wscript | 15 +-
tools/luadevel/wscript | 2 +-
tools/misc.py | 355 +++++++++++++++++++++++
wscript | 10 +-
19 files changed, 457 insertions(+), 94 deletions(-)
create mode 100644 tools/misc.py
diff --git a/gtk2_ardour/wscript b/gtk2_ardour/wscript
index d3824a0a63..beb5b196b8 100644
--- a/gtk2_ardour/wscript
+++ b/gtk2_ardour/wscript
@@ -369,20 +369,15 @@ def configure(conf):
if sys.platform == 'darwin':
- retval = conf.run_c_code (code='#include <AppKit/NSWindow.h>\n\
- int main(void) { (void) NSWindowWillStartLiveResizeNotification; return 0; }\n',
- env = conf.env.derive (),
- features = [ 'c' ],
- compiler = 'cc',
- compile_filename='test.m',
- mandatory = False,
- )
-
- if retval == 0:
- autowaf.display_msg (conf, 'Checking for Cocoa live resizing constants', 'ok')
- conf.define ('HAVE_COCOA_LIVE_RESIZING', 1)
- else:
- autowaf.display_msg (conf, 'Checking for Cocoa live resizing constants', 'too old - AU plugin windows will be fixed size')
+ conf.check(
+ msg ='Checking for Cocoa live resizing constants',
+ fragment = '#include <AppKit/NSWindow.h>\n int main(void) { (void) NSWindowWillStartLiveResizeNotification; return 0; }\n',
+ define_name = 'HAVE_COCOA_LIVE_RESIZING',
+ uselib_store = 'COCOA_LIVE_RESIZING',
+ compiler = 'cc',
+ compile_filename = 'test.m',
+ execute = True,
+ mandatory = False)
conf.write_config_header('gtk2ardour-config.h', remove=False)
@@ -475,7 +470,6 @@ def build(bld):
obj.source = list(gtk2_ardour_sources)
obj.target = 'luadoc'
obj.includes = ['.', '../libs']
- obj.ldflags = ['-no-undefined']
obj.use = [
'libpbd',
'libardour',
@@ -515,7 +509,6 @@ def build(bld):
# obj.source = [ 'ardour_button.cc', 'ui_config.cc', 'tooltips.cc' ]
# obj.target = 'canvas_test'
# obj.includes = ['.', '../libs']
-# obj.ldflags = ['-no-undefined']
# obj.use = [
# 'libpbd',
# 'libardour',
@@ -586,9 +579,8 @@ def build(bld):
obj = bld (features = 'cxx c cxxprogram')
# operate on copy to avoid adding sources twice
obj.source = list(gtk2_ardour_sources)
- obj.target = 'ardour-' + str (bld.env['VERSION'])
- obj.includes = ['.']
- obj.ldflags = ['-no-undefined']
+ obj.target = 'ardour-' + str (bld.env['VERSION'])
+ obj.includes = ['.']
if bld.is_defined('WINDOWS_VST_SUPPORT'):
# Windows VST support mingw
@@ -617,7 +609,7 @@ def build(bld):
]
obj.install_path = bld.env['DLLDIR']
obj.linkflags = ''
- obj.uselib = 'UUID FLAC FONTCONFIG GLIBMM GTHREAD GTK OGG CURL DL GTKMM CANVAS FFTW3F LO TAGLIB XML '
+ obj.uselib = 'UUID FLAC FONTCONFIG GLIBMM GTHREAD GTK OGG CURL DL GTKMM CANVAS FFTW3F LO TAGLIB XML LILV'
if sys.platform == 'darwin':
obj.uselib += ' AUDIOUNITS OSX '
diff --git a/libs/ardour/wscript b/libs/ardour/wscript
index 7148a26042..8a65daaaf0 100644
--- a/libs/ardour/wscript
+++ b/libs/ardour/wscript
@@ -474,7 +474,7 @@ def build(bld):
avx_cxxflags = list(bld.env['CXXFLAGS'])
avx_cxxflags.append (bld.env['compiler_flags_dict']['avx'])
avx_cxxflags.append (bld.env['compiler_flags_dict']['pic'])
- bld(features = 'cxx',
+ bld(features = 'cxx cxxstlib asm',
source = avx_sources,
cxxflags = avx_cxxflags,
includes = [ '.' ],
diff --git a/libs/pbd/wscript b/libs/pbd/wscript
index 29d82edcb4..8dffb71dd7 100644
--- a/libs/pbd/wscript
+++ b/libs/pbd/wscript
@@ -108,12 +108,21 @@ def configure(conf):
autowaf.check_pkg(conf, 'glibmm-2.4', uselib_store='GLIBMM', atleast_version='2.32.0', mandatory=True)
autowaf.check_pkg(conf, 'giomm-2.4', uselib_store='GIOMM', atleast_version='2.2', mandatory=True)
- conf.check(function_name='getmntent', header_name='mntent.h', define_name='HAVE_GETMNTENT',mandatory=False)
conf.check(header_name='execinfo.h', define_name='HAVE_EXECINFO',mandatory=False)
conf.check(header_name='unistd.h', define_name='HAVE_UNISTD',mandatory=False)
if not Options.options.ppc:
- conf.check_cc(function_name='posix_memalign', header_name='stdlib.h', cflags='-D_XOPEN_SOURCE=600', define_name='HAVE_POSIX_MEMALIGN', mandatory=False)
- conf.check(function_name='localtime_r', header_name='time.h', define_name='HAVE_LOCALTIME_R',mandatory=False)
+ conf.check_cc(
+ msg="Checking for function 'posix_memalign' in stdlib.h",
+ fragment = "#define _XOPEN_SOURCE 600\n #include <stdlib.h>\n int main(void) { return posix_memalign (0, 64, 1); }\n",
+ define_name='HAVE_POSIX_MEMALIGN', execute = False, mandatory=False)
+ conf.check_cc(
+ msg="Checking for function 'getmntent' in mntent.h",
+ fragment = "#include <mntent.h>\n int main(void) { return (int)getmntent(0); }\n",
+ define_name='HAVE_GETMNTENT', execute = False, mandatory=False)
+ conf.check_cc(
+ msg="Checking for function 'localtime_r' in time.h",
+ fragment = "#include <time.h>\n int main(void) { return localtime_r(NULL, NULL); }\n",
+ define_name='HAVE_LOCALTIME_R', execute = False, mandatory=False)
# Boost headers
autowaf.check_header(conf, 'cxx', 'boost/shared_ptr.hpp')
@@ -161,7 +170,7 @@ def build(bld):
obj.includes = ['.']
obj.name = 'libpbd'
obj.target = 'pbd'
- obj.uselib = 'GLIBMM SIGCPP XML UUID SNDFILE GIOMM ARCHIVE CURL'
+ obj.uselib = 'GLIBMM SIGCPP XML UUID SNDFILE GIOMM ARCHIVE CURL XML'
if sys.platform == 'darwin':
TaskGen.task_gen.mappings['.mm'] = TaskGen.task_gen.mappings['.cc']
if 'cocoa_open_uri.mm' not in obj.source:
diff --git a/libs/plugins/a-comp.lv2/wscript b/libs/plugins/a-comp.lv2/wscript
index f0ebb1d33d..99d7bb03f1 100644
--- a/libs/plugins/a-comp.lv2/wscript
+++ b/libs/plugins/a-comp.lv2/wscript
@@ -25,15 +25,16 @@ def build(bld):
module_pat = re.sub('^lib', '', bld.env.cshlib_PATTERN)
module_ext = module_pat[module_pat.rfind('.'):]
- if bld.is_defined ('HAVE_LV2'):
+ if bld.is_defined('HAVE_LV2'):
# Build RDF files
for i in ['manifest.ttl', 'a-comp.ttl', 'a-comp#stereo.ttl', 'presets.ttl']:
bld(features = 'subst',
- source = i + '.in',
- target = '../../LV2/%s/%s' % (bundle, i),
- install_path = '${LV2DIR}/%s' % bundle,
- chmod = Utils.O644,
- LIB_EXT = module_ext)
+ obj = bld(features='subst')
+ obj.source = i + '.in'
+ obj.target = '../../LV2/%s/%s' % (bundle, i)
+ obj.install_path = '${LV2DIR}/%s' % bundle
+ obj.chmod = Utils.O644
+ obj.dict = {'LIB_EXT': module_ext}
# Build plugin library
obj = bld(features = 'c cshlib',
diff --git a/libs/plugins/a-delay.lv2/wscript b/libs/plugins/a-delay.lv2/wscript
index 666ef0d5ab..2af05ff137 100644
--- a/libs/plugins/a-delay.lv2/wscript
+++ b/libs/plugins/a-delay.lv2/wscript
@@ -25,15 +25,15 @@ def build(bld):
module_pat = re.sub('^lib', '', bld.env.cshlib_PATTERN)
module_ext = module_pat[module_pat.rfind('.'):]
- if bld.is_defined ('HAVE_LV2'):
+ if bld.is_defined('HAVE_LV2'):
# Build RDF files
for i in ['manifest.ttl', 'a-delay.ttl', 'presets.ttl']:
- bld(features = 'subst',
- source = i + '.in',
- target = '../../LV2/%s/%s' % (bundle, i),
- install_path = '${LV2DIR}/%s' % bundle,
- chmod = Utils.O644,
- LIB_EXT = module_ext)
+ obj = bld(features='subst')
+ obj.source = i + '.in'
+ obj.target = '../../LV2/%s/%s' % (bundle, i)
+ obj.install_path = '${LV2DIR}/%s' % bundle
+ obj.chmod = Utils.O644
+ obj.dict = {'LIB_EXT': module_ext}
# Build plugin library
obj = bld(features = 'c cshlib',
diff --git a/libs/plugins/a-eq.lv2/wscript b/libs/plugins/a-eq.lv2/wscript
index 0610ba2eea..e36a804f7f 100644
--- a/libs/plugins/a-eq.lv2/wscript
+++ b/libs/plugins/a-eq.lv2/wscript
@@ -25,15 +25,15 @@ def build(bld):
module_pat = re.sub('^lib', '', bld.env.cshlib_PATTERN)
module_ext = module_pat[module_pat.rfind('.'):]
- if bld.is_defined ('HAVE_LV2'):
+ if bld.is_defined('HAVE_LV2'):
# Build RDF files
for i in ['manifest.ttl', 'a-eq.ttl']:
- bld(features = 'subst',
- source = i + '.in',
- target = '../../LV2/%s/%s' % (bundle, i),
- install_path = '${LV2DIR}/%s' % bundle,
- chmod = Utils.O644,
- LIB_EXT = module_ext)
+ obj = bld(features='subst')
+ obj.source = i + '.in'
+ obj.target = '../../LV2/%s/%s' % (bundle, i)
+ obj.install_path = '${LV2DIR}/%s' % bundle
+ obj.chmod = Utils.O644
+ obj.dict = {'LIB_EXT': module_ext}
# Build plugin library
obj = bld(features = 'c cshlib',
diff --git a/libs/plugins/a-fluidsynth.lv2/wscript b/libs/plugins/a-fluidsynth.lv2/wscript
index af6fcf08a8..3a093259d6 100644
--- a/libs/plugins/a-fluidsynth.lv2/wscript
+++ b/libs/plugins/a-fluidsynth.lv2/wscript
@@ -24,15 +24,15 @@ def build(bld):
module_pat = re.sub('^lib', '', bld.env.cshlib_PATTERN)
module_ext = module_pat[module_pat.rfind('.'):]
- if bld.is_defined ('HAVE_LV2'):
+ if bld.is_defined('HAVE_LV2'):
# Build RDF files
for i in ['manifest.ttl', 'a-fluidsynth.ttl']:
- bld(features = 'subst',
- source = i + '.in',
- target = '../../LV2/%s/%s' % (bundle, i),
- install_path = '${LV2DIR}/%s' % bundle,
- chmod = Utils.O644,
- LIB_EXT = module_ext)
+ obj = bld(features='subst')
+ obj.source = i + '.in'
+ obj.target = '../../LV2/%s/%s' % (bundle, i)
+ obj.install_path = '${LV2DIR}/%s' % bundle
+ obj.chmod = Utils.O644
+ obj.dict = {'LIB_EXT': module_ext}
# Build plugin library
obj = bld(features = 'cxx cshlib',
@@ -42,7 +42,7 @@ def build(bld):
includes = [ '../../ardour' ],
target = '../../LV2/%s/a-fluidsynth' % bundle,
install_path = '${LV2DIR}/%s' % bundle,
- uselib = ['LIBFLUIDSYNTH'],
+ uselib = ['LIBFLUIDSYNTH', 'GLIB'],
use = ['LV2_1_0_0']
)
diff --git a/libs/plugins/a-reverb.lv2/wscript b/libs/plugins/a-reverb.lv2/wscript
index 35601f2179..3eb5ce10bc 100644
--- a/libs/plugins/a-reverb.lv2/wscript
+++ b/libs/plugins/a-reverb.lv2/wscript
@@ -24,15 +24,15 @@ def build(bld):
module_pat = re.sub('^lib', '', bld.env.cshlib_PATTERN)
module_ext = module_pat[module_pat.rfind('.'):]
- if bld.is_defined ('HAVE_LV2'):
+ if bld.is_defined('HAVE_LV2'):
# Build RDF files
for i in ['manifest.ttl', 'a-reverb.ttl']:
- bld(features = 'subst',
- source = i + '.in',
- target = '../../LV2/%s/%s' % (bundle, i),
- install_path = '${LV2DIR}/%s' % bundle,
- chmod = Utils.O644,
- LIB_EXT = module_ext)
+ obj = bld(features='subst')
+ obj.source = i + '.in'
+ obj.target = '../../LV2/%s/%s' % (bundle, i)
+ obj.install_path = '${LV2DIR}/%s' % bundle
+ obj.chmod = Utils.O644
+ obj.dict = {'LIB_EXT': module_ext}
# Build plugin library
obj = bld(features = 'c cshlib',
diff --git a/libs/plugins/reasonablesynth.lv2/wscript b/libs/plugins/reasonablesynth.lv2/wscript
index cedda4c308..0eb5c55a04 100644
--- a/libs/plugins/reasonablesynth.lv2/wscript
+++ b/libs/plugins/reasonablesynth.lv2/wscript
@@ -24,15 +24,15 @@ def build(bld):
module_pat = re.sub('^lib', '', bld.env.cshlib_PATTERN)
module_ext = module_pat[module_pat.rfind('.'):]
- if bld.is_defined ('HAVE_LV2'):
+ if bld.is_defined('HAVE_LV2'):
# Build RDF files
for i in ['manifest.ttl', 'reasonablesynth.ttl']:
- bld(features = 'subst',
- source = i + '.in',
- target = '../../LV2/%s/%s' % (bundle, i),
- install_path = '${LV2DIR}/%s' % bundle,
- chmod = Utils.O644,
- LIB_EXT = module_ext)
+ obj = bld(features='subst')
+ obj.source = i + '.in'
+ obj.target = '../../LV2/%s/%s' % (bundle, i)
+ obj.install_path = '${LV2DIR}/%s' % bundle
+ obj.chmod = Utils.O644
+ obj.dict = {'LIB_EXT': module_ext}
# Build plugin library
obj = bld(features = 'c cshlib',
diff --git a/libs/ptformat/wscript b/libs/ptformat/wscript
index 4d381234fe..8dc9ff7430 100644
--- a/libs/ptformat/wscript
+++ b/libs/ptformat/wscript
@@ -35,6 +35,7 @@ def build(bld):
obj.name = 'libptformat'
obj.target = 'ptformat'
obj.use = 'libardour'
+ obj.uselib = 'GLIBMM'
autowaf.ensure_visible_symbols (obj, True)
obj.vnum = LIBPTFORMAT_LIB_VERSION
obj.install_path = bld.env['LIBDIR']
diff --git a/libs/surfaces/osc/wscript b/libs/surfaces/osc/wscript
index 4d0dba6750..5bbe7d3946 100644
--- a/libs/surfaces/osc/wscript
+++ b/libs/surfaces/osc/wscript
@@ -30,7 +30,7 @@ def build(bld):
obj.includes = ['.', './osc']
obj.name = 'libardour_osc'
obj.target = 'ardour_osc'
- obj.uselib = 'LO GTKMM GTK GDK'
+ obj.uselib = 'LO GTKMM GTK GDK XML'
obj.use = 'libardour libardour_cp libgtkmm2ext libpbd'
obj.install_path = os.path.join(bld.env['LIBDIR'], 'surfaces')
diff --git a/libs/surfaces/push2/wscript b/libs/surfaces/push2/wscript
index 9c75f9d69f..f7a5134153 100644
--- a/libs/surfaces/push2/wscript
+++ b/libs/surfaces/push2/wscript
@@ -21,28 +21,28 @@ def build(bld):
push2.cc
buttons.cc
canvas.cc
- interface.cc
+ interface.cc
midi_byte_array.cc
leds.cc
level_meter.cc
- gui.cc
- knob.cc
- layout.cc
- menu.cc
- mix.cc
- scale.cc
- splash.cc
- track_mix.cc
- utils.cc
+ gui.cc
+ knob.cc
+ layout.cc
+ menu.cc
+ mix.cc
+ scale.cc
+ splash.cc
+ track_mix.cc
+ utils.cc
'''
obj.export_includes = ['.']
obj.defines = [ 'PACKAGE="ardour_push2"' ]
obj.defines += [ 'ARDOURSURFACE_DLL_EXPORTS' ]
obj.defines += [ 'VERSIONSTRING="' + bld.env['VERSION'] + '"' ]
- obj.includes = [ '.', './push2']
+ obj.includes = ['.', './push2']
obj.name = 'libardour_push2'
obj.target = 'ardour_push2'
- obj.uselib = 'CAIROMM PANGOMM USB GTKMM SIGCPP'
+ obj.uselib = 'CAIROMM PANGOMM USB GTKMM SIGCPP XML'
obj.use = 'libardour libardour_cp libgtkmm2ext libpbd libevoral libcanvas libtimecode'
obj.install_path = os.path.join(bld.env['LIBDIR'], 'surfaces')
diff --git a/libs/surfaces/wiimote/wscript b/libs/surfaces/wiimote/wscript
index 03d01635a1..d38296f37f 100644
--- a/libs/surfaces/wiimote/wscript
+++ b/libs/surfaces/wiimote/wscript
@@ -24,7 +24,7 @@ def build(bld):
obj.includes = ['.', '../libs']
obj.name = 'libardour_wiimote'
obj.target = 'ardour_wiimote'
- obj.uselib = 'GTKMM CWIID'
+ obj.uselib = 'GTKMM CWIID XML'
obj.use = 'libardour libardour_cp libgtkmm2ext'
obj.install_path = os.path.join(bld.env['LIBDIR'], 'surfaces')
diff --git a/libs/widgets/wscript b/libs/widgets/wscript
index 0559abe4dc..2216c38348 100644
--- a/libs/widgets/wscript
+++ b/libs/widgets/wscript
@@ -76,7 +76,7 @@ def build(bld):
obj.defines = [ ]
obj.export_includes = ['.']
- obj.includes = ['.']
+ obj.includes = ['.'] + bld.env['INCLUDES_GLIB']
obj.uselib = 'SIGCPP CAIROMM GTKMM BOOST XML'
obj.use = [ 'libpbd', 'libgtkmm2ext' ]
obj.name = 'libwidgets'
diff --git a/session_utils/wscript b/session_utils/wscript
index 5fe9445426..a98694f3d6 100644
--- a/session_utils/wscript
+++ b/session_utils/wscript
@@ -86,7 +86,7 @@ def build(bld):
utils = bld.path.ant_glob('*.cc', excl=['example.cc', 'common.cc'])
for util in utils:
- fn = str(util)[:-3]
+ fn = os.path.splitext(os.path.basename(str(util)))[0]
build_ardour_util(bld, fn)
if bld.env['build_target'] != 'mingw':
bld.symlink_as(bld.env['BINDIR'] + '/' + pgmprefix + "-" + fn, bld.env['LIBDIR'] + '/utils/ardour-util.sh')
diff --git a/tools/bb/wscript b/tools/bb/wscript
index e419fa2465..3e9fd8d2d7 100644
--- a/tools/bb/wscript
+++ b/tools/bb/wscript
@@ -12,14 +12,13 @@ def configure(ctx):
pass
def build(bld):
- obj = bld (features = 'cxx c cxxprogram')
- obj.install_path = None
- obj.source = [ 'bb.cc', 'gui.cc', 'misc.cc' ]
- obj.target = 'bb'
- obj.includes = ['.', '../libs']
- obj.ldflags = ['-no-undefined']
- obj.use = [ 'libardour', 'libevoral', ]
- obj.uselib = ' JACK GTKMM '
+ obj = bld (features = 'cxx c cxxprogram')
+ obj.install_path = None
+ obj.source = [ 'bb.cc', 'gui.cc', 'misc.cc' ]
+ obj.target = 'bb'
+ obj.includes = ['.', '../libs']
+ obj.use = [ 'libardour', 'libevoral', ]
+ obj.uselib = 'JACK GTKMM XML'
wrapper_subst_dict = {
'INSTALL_PREFIX' : bld.env['PREFIX'],
diff --git a/tools/luadevel/wscript b/tools/luadevel/wscript
index 3190380091..03889c72d7 100755
--- a/tools/luadevel/wscript
+++ b/tools/luadevel/wscript
@@ -18,7 +18,7 @@ def options(opt):
def configure(conf):
conf.load('misc')
conf.load('compiler_cxx')
- conf.check_cc(function_name='readline',
+ conf.check_cc(
header_name='stdio.h readline/readline.h',
lib='readline',
uselib_store='READLINE',
diff --git a/tools/misc.py b/tools/misc.py
new file mode 100644
index 0000000000..b82cdb63ba
--- /dev/null
+++ b/tools/misc.py
@@ -0,0 +1,355 @@
+#!/usr/bin/env python
+# encoding: utf-8
+# Thomas Nagy, 2006-2010 (ita)
+
+"""
+This tool is totally deprecated
+
+Try using:
+ .pc.in files for .pc files
+ the feature intltool_in - see demos/intltool
+ make-like rules
+"""
+
+import shutil, re, os
+from waflib import TaskGen, Node, Task, Utils, Build, Errors
+from waflib.TaskGen import feature, after_method, before_method
+from waflib.Logs import debug
+
+def copy_attrs(orig, dest, names, only_if_set=False):
+ """
+ copy class attributes from an object to another
+ """
+ for a in Utils.to_list(names):
+ u = getattr(orig, a, ())
+ if u or not only_if_set:
+ setattr(dest, a, u)
+
+def copy_func(tsk):
+ "Make a file copy. This might be used to make other kinds of file processing (even calling a compiler is possible)"
+ env = tsk.env
+ infile = tsk.inputs[0].abspath()
+ outfile = tsk.outputs[0].abspath()
+ try:
+ shutil.copy2(infile, outfile)
+ except (OSError, IOError):
+ return 1
+ else:
+ if tsk.chmod: os.chmod(outfile, tsk.chmod)
+ return 0
+
+def action_process_file_func(tsk):
+ "Ask the function attached to the task to process it"
+ if not tsk.fun: raise Errors.WafError('task must have a function attached to it for copy_func to work!')
+ return tsk.fun(tsk)
+
+@feature('cmd')
+def apply_cmd(self):
+ "call a command everytime"
+ if not self.fun: raise Errors.WafError('cmdobj needs a function!')
+ tsk = Task.TaskBase()
+ tsk.fun = self.fun
+ tsk.env = self.env
+ self.tasks.append(tsk)
+ tsk.install_path = self.install_path
+
+@feature('copy')
+@before_method('process_source')
+def apply_copy(self):
+ Utils.def_attrs(self, fun=copy_func)
+ self.default_install_path = 0
+
+ lst = self.to_list(self.source)
+ self.meths.remove('process_source')
+
+ for filename in lst:
+ node = self.path.find_resource(filename)
+ if not node: raise Errors.WafError('cannot find input file %s for processing' % filename)
+
+ target = self.target
+ if not target or len(lst)>1: target = node.name
+
+ # TODO the file path may be incorrect
+ newnode = self.path.find_or_declare(target)
+
+ tsk = self.create_task('copy', node, newnode)
+ tsk.fun = self.fun
+ tsk.chmod = getattr(self, 'chmod', Utils.O644)
+
+ if not tsk.env:
+ tsk.debug()
+ raise Errors.WafError('task without an environment')
+
+####################
+## command-output ####
+####################
+
+class cmd_arg(object):
+ """command-output arguments for representing files or folders"""
+ def __init__(self, name, template='%s'):
+ self.name = name
+ self.template = template
+ self.node = None
+
+class input_file(cmd_arg):
+ def find_node(self, base_path):
+ assert isinstance(base_path, Node.Node)
+ self.node = base_path.find_resource(self.name)
+ if self.node is None:
+ raise Errors.WafError("Input file %s not found in " % (self.name, base_path))
+
+ def get_path(self, env, absolute):
+ if absolute:
+ return self.template % self.node.abspath()
+ else:
+ return self.template % self.node.srcpath()
+
+class output_file(cmd_arg):
+ def find_node(self, base_path):
+ assert isinstance(base_path, Node.Node)
+ self.node = base_path.find_or_declare(self.name)
+ if self.node is None:
+ raise Errors.WafError("Output file %s not found in " % (self.name, base_path))
+
+ def get_path(self, env, absolute):
+ if absolute:
+ return self.template % self.node.abspath()
+ else:
+ return self.template % self.node.bldpath()
+
+class cmd_dir_arg(cmd_arg):
+ def find_node(self, base_path):
+ assert isinstance(base_path, Node.Node)
+ self.node = base_path.find_dir(self.name)
+ if self.node is None:
+ raise Errors.WafError("Directory %s not found in " % (self.name, base_path))
+
+class input_dir(cmd_dir_arg):
+ def get_path(self, dummy_env, dummy_absolute):
+ return self.template % self.node.abspath()
+
+class output_dir(cmd_dir_arg):
+ def get_path(self, env, dummy_absolute):
+ return self.template % self.node.abspath()
+
+
+class command_output(Task.Task):
+ color = "BLUE"
+ def __init__(self, env, command, command_node, command_args, stdin, stdout, cwd, os_env, stderr):
+ Task.Task.__init__(self, env=env)
+ assert isinstance(command, (str, Node.Node))
+ self.command = command
+ self.command_args = command_args
+ self.stdin = stdin
+ self.stdout = stdout
+ self.cwd = cwd
+ self.os_env = os_env
+ self.stderr = stderr
+
+ if command_node is not None: self.dep_nodes = [command_node]
+ self.dep_vars = [] # additional environment variables to look
+
+ def run(self):
+ task = self
+ #assert len(task.inputs) > 0
+
+ def input_path(node, template):
+ if task.cwd is None:
+ return template % node.bldpath()
+ else:
+ return template % node.abspath()
+ def output_path(node, template):
+ fun = node.abspath
+ if task.cwd is None: fun = node.bldpath
+ return template % fun()
+
+ if isinstance(task.command, Node.Node):
+ argv = [input_path(task.command, '%s')]
+ else:
+ argv = [task.command]
+
+ for arg in task.command_args:
+ if isinstance(arg, str):
+ argv.append(arg)
+ else:
+ assert isinstance(arg, cmd_arg)
+ argv.append(arg.get_path(task.env, (task.cwd is not None)))
+
+ if task.stdin:
+ stdin = open(input_path(task.stdin, '%s'))
+ else:
+ stdin = None
+
+ if task.stdout:
+ stdout = open(output_path(task.stdout, '%s'), "w")
+ else:
+ stdout = None
+
+ if task.stderr:
+ stderr = open(output_path(task.stderr, '%s'), "w")
+ else:
+ stderr = None
+
+ if task.cwd is None:
+ cwd = ('None (actually %r)' % os.getcwd())
+ else:
+ cwd = repr(task.cwd)
+ debug("command-output: cwd=%s, stdin=%r, stdout=%r, argv=%r" %
+ (cwd, stdin, stdout, argv))
+
+ if task.os_env is None:
+ os_env = os.environ
+ else:
+ os_env = task.os_env
+ command = Utils.subprocess.Popen(argv, stdin=stdin, stdout=stdout, stderr=stderr, cwd=task.cwd, env=os_env)
+ return command.wait()
+
+@feature('command-output')
+def init_cmd_output(self):
+ Utils.def_attrs(self,
+ stdin = None,
+ stdout = None,
+ stderr = None,
+ # the command to execute
+ command = None,
+
+ # whether it is an external command; otherwise it is assumed
+ # to be an executable binary or script that lives in the
+ # source or build tree.
+ command_is_external = False,
+
+ # extra parameters (argv) to pass to the command (excluding
+ # the command itself)
+ argv = [],
+
+ # dependencies to other objects -> this is probably not what you want (ita)
+ # values must be 'task_gen' instances (not names!)
+ dependencies = [],
+
+ # dependencies on env variable contents
+ dep_vars = [],
+
+ # input files that are implicit, i.e. they are not
+ # stdin, nor are they mentioned explicitly in argv
+ hidden_inputs = [],
+
+ # output files that are implicit, i.e. they are not
+ # stdout, nor are they mentioned explicitly in argv
+ hidden_outputs = [],
+
+ # change the subprocess to this cwd (must use obj.input_dir() or output_dir() here)
+ cwd = None,
+
+ # OS environment variables to pass to the subprocess
+ # if None, use the default environment variables unchanged
+ os_env = None)
+
+@feature('command-output')
+@after_method('init_cmd_output')
+def apply_cmd_output(self):
+ if self.command is None:
+ raise Errors.WafError("command-output missing command")
+ if self.command_is_external:
+ cmd = self.command
+ cmd_node = None
+ else:
+ cmd_node = self.path.find_resource(self.command)
+ assert cmd_node is not None, ('''Could not find command '%s' in source tree.
+Hint: if this is an external command,
+use command_is_external=True''') % (self.command,)
+ cmd = cmd_node
+
+ if self.cwd is None:
+ cwd = None
+ else:
+ assert isinstance(cwd, CmdDirArg)
+ self.cwd.find_node(self.path)
+
+ args = []
+ inputs = []
+ outputs = []
+
+ for arg in self.argv:
+ if isinstance(arg, cmd_arg):
+ arg.find_node(self.path)
+ if isinstance(arg, input_file):
+ inputs.append(arg.node)
+ if isinstance(arg, output_file):
+ outputs.append(arg.node)
+
+ if self.stdout is None:
+ stdout = None
+ else:
+ assert isinstance(self.stdout, str)
+ stdout = self.path.find_or_declare(self.stdout)
+ if stdout is None:
+ raise Errors.WafError("File %s not found" % (self.stdout,))
+ outputs.append(stdout)
+
+ if self.stderr is None:
+ stderr = None
+ else:
+ assert isinstance(self.stderr, str)
+ stderr = self.path.find_or_declare(self.stderr)
+ if stderr is None:
+ raise Errors.WafError("File %s not found" % (self.stderr,))
+ outputs.append(stderr)
+
+ if self.stdin is None:
+ stdin = None
+ else:
+ assert isinstance(self.stdin, str)
+ stdin = self.path.find_resource(self.stdin)
+ if stdin is None:
+ raise Errors.WafError("File %s not found" % (self.stdin,))
+ inputs.append(stdin)
+
+ for hidden_input in self.to_list(self.hidden_inputs):
+ node = self.path.find_resource(hidden_input)
+ if node is None:
+ raise Errors.WafError("File %s not found in dir %s" % (hidden_input, self.path))
+ inputs.append(node)
+
+ for hidden_output in self.to_list(self.hidden_outputs):
+ node = self.path.find_or_declare(hidden_output)
+ if node is None:
+ raise Errors.WafError("File %s not found in dir %s" % (hidden_output, self.path))
+ outputs.append(node)
+
+ if not (inputs or getattr(self, 'no_inputs', None)):
+ raise Errors.WafError('command-output objects must have at least one input file or give self.no_inputs')
+ if not (outputs or getattr(self, 'no_outputs', None)):
+ raise Errors.WafError('command-output objects must have at least one output file or give self.no_outputs')
+
+ cwd = self.bld.variant_dir
+ task = command_output(self.env, cmd, cmd_node, self.argv, stdin, stdout, cwd, self.os_env, stderr)
+ task.generator = self
+ copy_attrs(self, task, 'before after ext_in ext_out', only_if_set=True)
+ self.tasks.append(task)
+
+ task.inputs = inputs
+ task.outputs = outputs
+ task.dep_vars = self.to_list(self.dep_vars)
+
+ for dep in self.dependencies:
+ assert dep is not self
+ dep.post()
+ for dep_task in dep.tasks:
+ task.set_run_after(dep_task)
+
+ if not task.inputs:
+ # the case for svnversion, always run, and update the output nodes
+ task.runnable_status = type(Task.TaskBase.run)(runnable_status, task, task.__class__) # always run
+ task.post_run = type(Task.TaskBase.run)(post_run, task, task.__class__)
+
+ # TODO the case with no outputs?
+
+def post_run(self):
+ for x in self.outputs:
+ x.sig = Utils.h_file(x.abspath())
+
+def runnable_status(self):
+ return self.RUN_ME
+
+Task.task_factory('copy', vars=[], func=action_process_file_func)
+
diff --git a/wscript b/wscript
index 4b5acb0ad7..f5d1b28e56 100644
--- a/wscript
+++ b/wscript
@@ -1011,9 +1011,15 @@ def configure(conf):
if Options.options.dist_target != 'mingw':
if Options.options.dist_target != 'msvc' and re.search ("openbsd", sys.platform) == None:
if re.search ("freebsd", sys.platform) != None:
- conf.check_cc(function_name='dlopen', header_name='dlfcn.h', uselib_store='DL')
+ conf.check_cc(
+ msg="Checking for function 'dlopen' in dlfcn.h",
+ fragment = "#include <dlfcn.h>\n int main(void) { dlopen (\"\", 0); return 0;}\n",
+ uselib_store='DL', execute = False)
else:
- conf.check_cc(function_name='dlopen', header_name='dlfcn.h', lib='dl', uselib_store='DL')
+ conf.check_cc(
+ msg="Checking for function 'dlopen' in dlfcn.h",
+ fragment = "#include <dlfcn.h>\n int main(void) { dlopen (\"\", 0); return 0;}\n",
+ linkflags='-ldl', uselib_store='DL', execute = False)
conf.check_cxx(fragment = "#include <boost/version.hpp>\nint main(void) { return (BOOST_VERSION >= 103900 ? 0 : 1); }\n",
execute = "1",
mandatory = True,
--
2.21.0

View File

@@ -0,0 +1,99 @@
From 19603d075f7013453c79711a646301df694c7b03 Mon Sep 17 00:00:00 2001
From: Robin Gareus <robin@gareus.org>
Date: Mon, 20 Jan 2020 23:08:55 +0100
Subject: [PATCH 2/8] Update waf to v2.0.19
For oe:
* Removed waf: we cannot patch binary files. Recipe ships waf
* tools/misc.py was added from master in previous patch so no adjustment here
Upstream-Status: Backport [1]
[1] https://github.com/Ardour/ardour/commit/19603d075f7013453c79711a646301df694c7b03
---
doc/updating_waf.txt | 25 +++++++++++-------
tools/autowaf.py | 11 ++++----
tools/waf-str.patch | 11 ++++++++
4 files changed, 31 insertions(+), 77 deletions(-)
create mode 100644 tools/waf-str.patch
diff --git a/doc/updating_waf.txt b/doc/updating_waf.txt
index 69c1225d63..0c192d4489 100644
--- a/doc/updating_waf.txt
+++ b/doc/updating_waf.txt
@@ -1,15 +1,20 @@
-Download waf (https://waf.io/)
-
-autowaf.py is present in the tools directory of the Ardour source code.
-a patch for C++11/clang can be found in tools/waflib.patch (needed for waf 1.8.19)
-
-Current waf is build as follows;
+# Download waf (https://waf.io/)
+#
+# autowaf.py and misc.py are present in the tools directory of the Ardour source code.
+# - waf-str.patch is needed for py2/py3 compatible install_dir:
+# * in py2 paths are byte-arrays and would need to be converted using .encode("utf-8")
+# (otherwise waf expands them /t/o/p/a/t/h/s/l/i/k/e/t/h/i/s)
+# * however py3 cannot handled encoded arrays:
+# (TypeError: cannot use a string pattern on a bytes-like object)
+#
+# Current waf is build as follows:
ARDOURSRC=`pwd`
cd /tmp
-curl https://waf.io/waf-1.6.11.tar.bz2 | tar xj
-cd waf-1.6.11
+curl https://waf.io/waf-2.0.19.tar.bz2 | tar xj
+cd waf-2.0.19
+
+patch -p1 < $ARDOURSRC/tools/waf-str.patch
-patch -p1 < $ARDOURSRC/tools/waflib.patch
-./waf-light -v --make-waf --tools=misc,doxygen,$ARDOURSRC/tools/autowaf.py --prelude=''
+./waf-light -v --make-waf --tools=misc,doxygen,$ARDOURSRC/tools/autowaf.py,$ARDOURSRC/tools/misc.py --prelude=''
cp ./waf $ARDOURSRC/waf
diff --git a/tools/autowaf.py b/tools/autowaf.py
index f82b80a83f..375dc5909a 100644
--- a/tools/autowaf.py
+++ b/tools/autowaf.py
@@ -140,14 +140,13 @@ def check_pkg(conf, name, **args):
found = None
pkg_var_name = 'PKG_' + name.replace('-', '_')
pkg_name = name
- if conf.env.PARDEBUG:
- args['mandatory'] = False # Smash mandatory arg
- found = conf.check_cfg(package=pkg_name + 'D', args="--cflags --libs", **args)
- if found:
- pkg_name += 'D'
if mandatory:
args['mandatory'] = True # Unsmash mandatory arg
- if not found:
+ if 'atleast_version' in args:
+ if not 'msg' in args:
+ args['msg'] = 'Checking for %r >= %s' %(pkg_name, args['atleast_version'])
+ found = conf.check_cfg(package=pkg_name, args=[pkg_name + " >= " + args['atleast_version'], '--cflags', '--libs'], **args)
+ else:
found = conf.check_cfg(package=pkg_name, args="--cflags --libs", **args)
if found:
conf.env[pkg_var_name] = pkg_name
diff --git a/tools/waf-str.patch b/tools/waf-str.patch
new file mode 100644
index 0000000000..8d37f68d32
--- /dev/null
+++ b/tools/waf-str.patch
@@ -0,0 +1,11 @@
+--- a/waflib/Build.py 2020-01-21 15:01:13.864899388 +0100
++++ b/waflib/Build.py 2020-01-21 15:01:59.573030630 +0100
+@@ -953,7 +953,7 @@
+ tsk.link = kw.get('link', '') or kw.get('install_from', '')
+ tsk.relative_trick = kw.get('relative_trick', False)
+ tsk.type = kw['type']
+- tsk.install_to = tsk.dest = kw['install_to']
++ tsk.install_to = tsk.dest = str(kw['install_to'])
+ tsk.install_from = kw['install_from']
+ tsk.relative_base = kw.get('cwd') or kw.get('relative_base', self.path)
+ tsk.install_user = kw.get('install_user')
--
2.21.0

View File

@@ -0,0 +1,31 @@
From 1d2cfd6f2d736144b8c81179126b5850a718f769 Mon Sep 17 00:00:00 2001
From: Robin Gareus <robin@gareus.org>
Date: Tue, 21 Jan 2020 02:23:51 +0100
Subject: [PATCH 3/8] Change waf/darwin default compiler to prefer gcc (if
available)
---
wscript | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/wscript b/wscript
index cb3980ed41..e1beb6a86d 100644
--- a/wscript
+++ b/wscript
@@ -11,6 +11,13 @@ from waflib.Tools import winres
from waflib.Build import Context
from waflib.Build import BuildContext
+# Fixup OSX 10.5/10.6 builds
+# prefer gcc, g++ 4.x over ancient clang-1.5
+from waflib.Tools.compiler_c import c_compiler
+from waflib.Tools.compiler_cxx import cxx_compiler
+c_compiler['darwin'] = ['gcc', 'clang' ]
+cxx_compiler['darwin'] = ['g++', 'clang++' ]
+
class i18n(BuildContext):
cmd = 'i18n'
fun = 'i18n'
--
2.21.0

View File

@@ -0,0 +1,128 @@
From 5a841ef4624ef4b776e578af80d2397241754b00 Mon Sep 17 00:00:00 2001
From: Robin Gareus <robin@gareus.org>
Date: Wed, 22 Jan 2020 00:47:33 +0100
Subject: [PATCH 5/8] Tweaks to build/package scripts for new waf
* Windows: delete waf installed .dll.a files
* Windows: override waf's conf.env.LIBDIR = conf.env.BINDIR
with explicit --libdir
* Windows: fix asm (`x86_64-w64-mingw32-as` -D flag is for
debug messages, -D defines are not available)
* Mac: override waf adding -install_name (and
-Wl,-compatibility_version -Wl,-current_version)
by moving -dynamiclib from linkflags to ldflags
* Mac: Allow libs with compat version number suffix
(not needed anymore, but may help in the future)
Upstream-Status: Backport [1]
[1] https://github.com/Ardour/ardour/commit/5a841ef4624ef4b776e578af80d2397241754b00
---
libs/ardour/wscript | 7 ++++++-
tools/osx_packaging/osx_build | 2 +-
tools/x-win/compile.sh | 3 ++-
tools/x-win/package.sh | 1 +
wscript | 17 +++++++++++++++++
5 files changed, 27 insertions(+), 3 deletions(-)
diff --git a/libs/ardour/wscript b/libs/ardour/wscript
index 8a65daaaf0..a27826953a 100644
--- a/libs/ardour/wscript
+++ b/libs/ardour/wscript
@@ -1,6 +1,6 @@
#!/usr/bin/env python
from waflib.extras import autowaf as autowaf
-from waflib import Options
+from waflib import Options, Task, Tools
import os
import sys
import re
@@ -369,6 +369,11 @@ def build(bld):
# micro increment <=> no interface changes
LIBARDOUR_LIB_VERSION = "3.0.0"
+ # remove '${DEFINES_ST:DEFINES}' from run_str.
+ # x86_64-w64-mingw32-as (mingw) -D flag is for debug messages
+ if bld.env['build_target'] == 'mingw':
+ class asm(Task.classes['asm']): run_str = '${AS} ${ASFLAGS} ${ASMPATH_ST:INCPATHS} ${AS_SRC_F}${SRC} ${AS_TGT_F}${TGT}'
+
# operate on copy to avoid adding sources twice
sources = list(libardour_sources)
if bld.is_tracks_build():
diff --git a/tools/osx_packaging/osx_build b/tools/osx_packaging/osx_build
index 2b417b86af..cb681bafd1 100755
--- a/tools/osx_packaging/osx_build
+++ b/tools/osx_packaging/osx_build
@@ -449,7 +449,7 @@ while [ true ] ; do
strip -u -r -arch all $file &>/dev/null
fi
- deps=`otool -L $file | awk '{print $1}' | egrep "($GTKSTACK_ROOT|$ARDOURSTACK_ROOT|/opt/|/local/|libs/$STDCPP)" | grep -v 'libjack\.' | grep -v "$(basename $file)"`
+ deps=`otool -L $file | awk '{print $1}' | egrep "($GTKSTACK_ROOT|$ARDOURSTACK_ROOT|/opt/|/local/|libs/$STDCPP)" | grep -v 'libjack\.' | egrep -v "$(basename $file .dylib).*.dylib"`
# echo -n "."
for dep in $deps ; do
base=`basename $dep`
diff --git a/tools/x-win/compile.sh b/tools/x-win/compile.sh
index d778e921b5..4f54f6623d 100755
--- a/tools/x-win/compile.sh
+++ b/tools/x-win/compile.sh
@@ -79,7 +79,8 @@ LDFLAGS="-L${PREFIX}/lib" ./waf configure \
--dist-target=mingw \
--also-include=${PREFIX}/include \
$ARDOURCFG \
- --prefix=${PREFIX}
+ --prefix=${PREFIX} \
+ --libdir=${PREFIX}/lib
./waf ${CONCURRENCY}
if [ "$(id -u)" = "0" ]; then
diff --git a/tools/x-win/package.sh b/tools/x-win/package.sh
index bfb7381e41..032c45a192 100755
--- a/tools/x-win/package.sh
+++ b/tools/x-win/package.sh
@@ -200,6 +200,7 @@ cp gtk2_ardour/icons/cursor_square/* $DESTDIR/share/${LOWERCASE_DIRNAME}/icons/
# clean build-dir after depoyment
echo " === bundle completed, cleaning up"
./waf uninstall
+find $DESTDIR -name "*.dll.a" | xargs rm
echo " === complete"
du -sh $DESTDIR
diff --git a/wscript b/wscript
index d4724ecb72..9fd84bb2ca 100644
--- a/wscript
+++ b/wscript
@@ -915,6 +915,12 @@ def configure(conf):
conf.env.append_value ('CXXFLAGS', '-DSILENCE_AFTER')
conf.define ('FREEBIE', 1)
+ # set explicit LIBDIR, otherwise mingw/windows builds use
+ # conf.env.LIBDIR = conf.env.BINDIR and `waf install` fails
+ # because $BINDIR/ardour6 is the main binary, and $LIBDIR/ardour6/ a directory
+ if Options.options.libdir:
+ conf.env.LIBDIR = Options.options.libdir
+
if Options.options.lv2dir:
conf.env['LV2DIR'] = Options.options.lv2dir
else:
@@ -1247,6 +1253,17 @@ int main () { return 0; }
# Fix utterly braindead FLAC include path to not smash assert.h
conf.env['INCLUDES_FLAC'] = []
+ if sys.platform == 'darwin':
+ # override waf's -install_name added in
+ # waflib/Tools/ccroot.py when -dynamiclib is used
+ if conf.env.LINKFLAGS_cshlib:
+ conf.env.LINKFLAGS_cshlib = [];
+ conf.env.LDFLAGS_cshlib = ['-dynamiclib']
+
+ if conf.env.LINKFLAGS_cxxshlib:
+ conf.env.LINKFLAGS_cxxshlib = [];
+ conf.env.LDFLAGS_cxxshlib = ['-dynamiclib']
+
config_text = open('libs/ardour/config_text.cc', "w")
config_text.write('''#include "ardour/ardour.h"
namespace ARDOUR {
--
2.21.0

View File

@@ -0,0 +1,25 @@
From 7c381dab6e0977f61f9bbd08bd1d20f0fe2abcf6 Mon Sep 17 00:00:00 2001
From: Robin Gareus <robin@gareus.org>
Date: Sat, 25 Jan 2020 04:17:53 +0100
Subject: [PATCH 6/8] Downgrade "using all channels" warning to info - part 2
---
libs/backends/alsa/alsa_audiobackend.cc | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/libs/backends/alsa/alsa_audiobackend.cc b/libs/backends/alsa/alsa_audiobackend.cc
index 6b044f9fd0..357b00c044 100644
--- a/libs/backends/alsa/alsa_audiobackend.cc
+++ b/libs/backends/alsa/alsa_audiobackend.cc
@@ -883,7 +883,7 @@ AlsaAudioBackend::_start (bool for_latency_measurement)
} else {
_n_outputs = std::min (_n_outputs, _pcmi->nplay ());
}
- PBD::warning << _("AlsaAudioBackend: adjusted output channel count to match device.") << endmsg;
+ PBD::info << _("AlsaAudioBackend: adjusted output channel count to match device.") << endmsg;
}
if (_n_inputs != _pcmi->ncapt ()) {
--
2.21.0

View File

@@ -0,0 +1,114 @@
From 4fe30364951ea46b93e3c93acbaf2f777343d131 Mon Sep 17 00:00:00 2001
From: Robin Gareus <robin@gareus.org>
Date: Sat, 25 Jan 2020 06:20:16 +0100
Subject: [PATCH 7/8] Update waf2.x "subst" feature uses obj attributes
Upstrem-Status: Backport [1]
[1] https://github.com/Ardour/ardour/commit/4fe30364951ea46b93e3c93acbaf2f777343d131
---
libs/fst/wscript | 4 +---
libs/plugins/a-comp.lv2/wscript | 2 +-
libs/plugins/a-delay.lv2/wscript | 2 +-
libs/plugins/a-eq.lv2/wscript | 2 +-
libs/plugins/a-fluidsynth.lv2/wscript | 2 +-
libs/plugins/a-reverb.lv2/wscript | 2 +-
libs/plugins/reasonablesynth.lv2/wscript | 2 +-
7 files changed, 7 insertions(+), 9 deletions(-)
diff --git a/libs/fst/wscript b/libs/fst/wscript
index ca90b7207d..bbac8d6f27 100644
--- a/libs/fst/wscript
+++ b/libs/fst/wscript
@@ -52,9 +52,7 @@ def build(bld):
obj.target = 'ardour-vst-scanner'
obj.chmod = Utils.O755
obj.install_path = os.path.join(bld.env['LIBDIR'])
- obj.dict = {
- 'VERSION' : bld.env['VERSION'],
- }
+ obj.VERSION = bld.env['VERSION']
obj = bld (features = 'c cxx cxxprogram wine')
obj.source = (
diff --git a/libs/plugins/a-comp.lv2/wscript b/libs/plugins/a-comp.lv2/wscript
index 99d7bb03f1..00099cb564 100644
--- a/libs/plugins/a-comp.lv2/wscript
+++ b/libs/plugins/a-comp.lv2/wscript
@@ -34,7 +34,7 @@ def build(bld):
obj.target = '../../LV2/%s/%s' % (bundle, i)
obj.install_path = '${LV2DIR}/%s' % bundle
obj.chmod = Utils.O644
- obj.dict = {'LIB_EXT': module_ext}
+ obj.LIB_EXT = module_ext
# Build plugin library
obj = bld(features = 'c cshlib',
diff --git a/libs/plugins/a-delay.lv2/wscript b/libs/plugins/a-delay.lv2/wscript
index 2af05ff137..c28d7cabcf 100644
--- a/libs/plugins/a-delay.lv2/wscript
+++ b/libs/plugins/a-delay.lv2/wscript
@@ -33,7 +33,7 @@ def build(bld):
obj.target = '../../LV2/%s/%s' % (bundle, i)
obj.install_path = '${LV2DIR}/%s' % bundle
obj.chmod = Utils.O644
- obj.dict = {'LIB_EXT': module_ext}
+ obj.LIB_EXT = module_ext
# Build plugin library
obj = bld(features = 'c cshlib',
diff --git a/libs/plugins/a-eq.lv2/wscript b/libs/plugins/a-eq.lv2/wscript
index e36a804f7f..6f380aa232 100644
--- a/libs/plugins/a-eq.lv2/wscript
+++ b/libs/plugins/a-eq.lv2/wscript
@@ -33,7 +33,7 @@ def build(bld):
obj.target = '../../LV2/%s/%s' % (bundle, i)
obj.install_path = '${LV2DIR}/%s' % bundle
obj.chmod = Utils.O644
- obj.dict = {'LIB_EXT': module_ext}
+ obj.LIB_EXT = module_ext
# Build plugin library
obj = bld(features = 'c cshlib',
diff --git a/libs/plugins/a-fluidsynth.lv2/wscript b/libs/plugins/a-fluidsynth.lv2/wscript
index 3a093259d6..681ad1f489 100644
--- a/libs/plugins/a-fluidsynth.lv2/wscript
+++ b/libs/plugins/a-fluidsynth.lv2/wscript
@@ -32,7 +32,7 @@ def build(bld):
obj.target = '../../LV2/%s/%s' % (bundle, i)
obj.install_path = '${LV2DIR}/%s' % bundle
obj.chmod = Utils.O644
- obj.dict = {'LIB_EXT': module_ext}
+ obj.LIB_EXT = module_ext
# Build plugin library
obj = bld(features = 'cxx cshlib',
diff --git a/libs/plugins/a-reverb.lv2/wscript b/libs/plugins/a-reverb.lv2/wscript
index 3eb5ce10bc..a11e2cf7af 100644
--- a/libs/plugins/a-reverb.lv2/wscript
+++ b/libs/plugins/a-reverb.lv2/wscript
@@ -32,7 +32,7 @@ def build(bld):
obj.target = '../../LV2/%s/%s' % (bundle, i)
obj.install_path = '${LV2DIR}/%s' % bundle
obj.chmod = Utils.O644
- obj.dict = {'LIB_EXT': module_ext}
+ obj.LIB_EXT = module_ext
# Build plugin library
obj = bld(features = 'c cshlib',
diff --git a/libs/plugins/reasonablesynth.lv2/wscript b/libs/plugins/reasonablesynth.lv2/wscript
index 0eb5c55a04..ee54ce8bee 100644
--- a/libs/plugins/reasonablesynth.lv2/wscript
+++ b/libs/plugins/reasonablesynth.lv2/wscript
@@ -32,7 +32,7 @@ def build(bld):
obj.target = '../../LV2/%s/%s' % (bundle, i)
obj.install_path = '${LV2DIR}/%s' % bundle
obj.chmod = Utils.O644
- obj.dict = {'LIB_EXT': module_ext}
+ obj.LIB_EXT = module_ext
# Build plugin library
obj = bld(features = 'c cshlib',
--
2.21.0

View File

@@ -0,0 +1,55 @@
From cf71cc33c44d25a5483ef3ed4ea994f845e0f9b8 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
Date: Sat, 25 Jan 2020 17:20:39 +0100
Subject: [PATCH] a-comp.lv2/wscript: sync to master
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Upstream-Status: Backport
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
---
libs/plugins/a-comp.lv2/wscript | 12 +++++-------
1 file changed, 5 insertions(+), 7 deletions(-)
diff --git a/libs/plugins/a-comp.lv2/wscript b/libs/plugins/a-comp.lv2/wscript
index 00099cb564..c739e4bea7 100644
--- a/libs/plugins/a-comp.lv2/wscript
+++ b/libs/plugins/a-comp.lv2/wscript
@@ -15,10 +15,9 @@ def options(opt):
def configure(conf):
conf.load('compiler_c')
autowaf.configure(conf)
- if Options.options.lv2:
- autowaf.check_pkg(conf, 'lv2', atleast_version='1.0.0',
- uselib_store='LV2_1_0_0')
- autowaf.check_pkg(conf, 'cairo', uselib_store='CAIRO', atleast_version='1.12.0')
+ autowaf.check_pkg(conf, 'lv2', atleast_version='1.0.0',
+ uselib_store='LV2_1_0_0')
+ autowaf.check_pkg(conf, 'cairo', uselib_store='CAIRO', atleast_version='1.12.0')
def build(bld):
bundle = 'a-comp.lv2'
@@ -28,7 +27,6 @@ def build(bld):
if bld.is_defined('HAVE_LV2'):
# Build RDF files
for i in ['manifest.ttl', 'a-comp.ttl', 'a-comp#stereo.ttl', 'presets.ttl']:
- bld(features = 'subst',
obj = bld(features='subst')
obj.source = i + '.in'
obj.target = '../../LV2/%s/%s' % (bundle, i)
@@ -40,8 +38,8 @@ def build(bld):
obj = bld(features = 'c cshlib',
source = 'a-comp.c',
name = 'a-comp',
- cflags = [ '-fPIC', bld.env['compiler_flags_dict']['c99'] ],
- includes = [ '../../ardour' ],
+ cflags = [ bld.env['compiler_flags_dict']['pic'], bld.env['compiler_flags_dict']['c99'] ],
+ includes = [ '../../ardour', '../shared' ],
target = '../../LV2/%s/a-comp' % bundle,
install_path = '${LV2DIR}/%s' % bundle,
uselib = 'CAIRO',
--
2.21.0

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,123 @@
SUMMARY = "Ardour is a multi-channel digital audio workstation"
HOMEPAGE = "http://ardour.org/"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=4641e94ec96f98fabc56ff9cc48be14b"
DEPENDS += " \
gettext-native \
gtk+ \
gtkmm \
cppunit \
jack \
alsa-lib \
fftw \
vamp-plugin-sdk \
aubio \
taglib \
boost \
virtual/libx11 \
dssi \
zlib \
lrdf \
rubberband \
suil \
lilv \
libarchive \
libltc \
qm-dsp \
fluidsynth \
"
inherit waf features_check gtk-icon-cache pkgconfig python3native mime-xdg
REQUIRED_DISTRO_FEATURES = "x11"
SRC_URI = " \
git://github.com/Ardour/ardour.git \
file://waf-backport/waf \
file://waf-backport/0001-Towards-waf-python-2-3-support.patch \
file://waf-backport/0002-Update-waf-to-v2.0.19.patch \
file://waf-backport/0003-Change-waf-darwin-default-compiler-to-prefer-gcc-if-.patch \
file://waf-backport/0004-Tweaks-to-build-package-scripts-for-new-waf.patch \
file://waf-backport/0005-Downgrade-using-all-channels-warning-to-info-part-2.patch \
file://waf-backport/0006-Update-waf2.x-subst-feature-uses-obj-attributes.patch \
file://waf-backport/0007-a-comp.lv2-wscript-sync-to-master.patch \
file://0001-remove-all-build-flags-that-cause-trouble-for-cross-.patch \
file://0002-Use-ARM-NEON-intrinsics-if-available-for-mixing-func.patch \
file://0003-Prevent-excessive-meter-redraws-for-inactive-meters-.patch \
file://0004-Prevent-excessive-meter-redraws-for-inactive-meters-.patch \
file://0005-Follow-fluidsynth-s-API-changes-introduced-with-2.0..patch \
file://0006-Find-fmt-binding-in-out-of-tree-building.patch \
file://ardour5.desktop \
"
SRCREV = "ae0dcdc0c5d13483271065c360e378202d20170a"
PV = "5.12"
S = "${WORKDIR}/git"
# arch specific override - default (tested) is ARM -> no fpu-optimizations
# can be something like i686 / x86_64 see file 'wscript' in sourcepath for more details
BUILD_DIST_TARGET ??= "none"
EXTRA_OECONF = " \
--configdir=${sysconfdir} \
--bindir=${bindir} \
--libdir=${libdir} \
--optimize \
--cxx11 \
--no-phone-home \
--use-external-libs \
--qm-dsp-include=${STAGING_INCDIR}/qm-dsp \
\
--with-backends="jack,alsa" \
--dist-target=${BUILD_DIST_TARGET} \
"
PATH_append = ":${B}"
# Asking fails - waf supports --bindir / --libdir
waf_preconfigure() {
}
do_configure_prepend() {
# link python -> python3
ln -sf `which python3` ${B}/python
# copy waf
cp -f ${WORKDIR}/waf-backport/waf ${S}/
}
do_install_append() {
# install icons to freedesktop locations
for s in 16 22 32 48 256 512; do
install -d ${D}${datadir}/icons/hicolor/${s}x${s}/apps
ln -s ../../../../${BPN}/resources/Ardour-icon_${s}px.png \
${D}${datadir}/icons/hicolor/${s}x${s}/apps/${BPN}.png
done
# install .desktop
install -d ${D}${datadir}/applications
install -m 0644 ${WORKDIR}/ardour5.desktop ${D}${datadir}/applications
}
FILES_${PN} += " \
${datadir}/${BPN} \
${libdir}/${BPN} \
"
FILES_${PN}-dev += " \
${libdir}/${BPN}/libardour.so \
${libdir}/${BPN}/libardouralsautil.so \
${libdir}/${BPN}/libaudiographer.so \
${libdir}/${BPN}/libcanvas.so \
${libdir}/${BPN}/libevoral.so \
${libdir}/${BPN}/libgtkmm2ext.so \
${libdir}/${BPN}/libmidipp.so \
${libdir}/${BPN}/libpbd.so \
${libdir}/${BPN}/libptformat.so \
${libdir}/${BPN}/libwaveview.so \
${libdir}/${BPN}/libwidgets.so \
${libdir}/${BPN}/vamp/*.so \
"
FILES_${PN}-staticdev += " \
${libdir}/${BPN}/*.a \
"

View File

@@ -0,0 +1,66 @@
From 24b6038dc7c235780038d3fce2d9c83fada6ac8b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
Date: Mon, 6 Feb 2017 23:33:45 +0100
Subject: [PATCH] remove all build flags that cause trouble for cross
configure/build
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Upstream-Status: Inappropriate [cross specific]
Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
---
tools/autowaf.py | 1 +
wscript | 26 --------------------------
2 files changed, 1 insertion(+), 26 deletions(-)
diff --git a/tools/autowaf.py b/tools/autowaf.py
index 375dc5909..bb7714335 100644
--- a/tools/autowaf.py
+++ b/tools/autowaf.py
@@ -93,6 +93,7 @@ def copyfile (task):
def check_header(conf, lang, name, define='', mandatory=True):
"Check for a header"
+ return True
includes = '' # search default system include paths
if sys.platform == "darwin":
includes = '/opt/local/include'
diff --git a/wscript b/wscript
index 9fd84bb2c..d4178cb36 100644
--- a/wscript
+++ b/wscript
@@ -476,31 +476,6 @@ int main() { return 0; }''',
compiler_flags.append ("-DARCH_X86")
- if platform == 'linux' :
-
- #
- # determine processor flags via /proc/cpuinfo
- #
-
- if conf.env['build_target'] != 'i386':
-
- flag_line = os.popen ("cat /proc/cpuinfo | grep '^flags'").read()[:-1]
- x86_flags = flag_line.split (": ")[1:][0].split ()
-
- if "mmx" in x86_flags:
- compiler_flags.append ("-mmmx")
- if "sse" in x86_flags:
- build_host_supports_sse = True
- if "3dnow" in x86_flags:
- compiler_flags.append ("-m3dnow")
-
- if cpu == "i586":
- compiler_flags.append ("-march=i586")
- elif cpu == "i686":
- compiler_flags.append ("-march=i686")
-
- if not is_clang and ((conf.env['build_target'] == 'i686') or (conf.env['build_target'] == 'x86_64')) and build_host_supports_sse:
- compiler_flags.extend ([ flags_dict['sse'], flags_dict['fpmath-sse'], flags_dict['xmmintrinsics'] ])
if (conf.env['build_target'] == 'mingw'):
if (re.search ("(x86_64|AMD64)", cpu) != None):

View File

@@ -0,0 +1,229 @@
From 610ce4e19b0b39d0e8391057b22163d4fdc7bdb4 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
Date: Mon, 3 Jul 2017 23:24:55 +0200
Subject: [PATCH 2/2] Use ARM NEON intrinsics if available for mixing functions
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
---
libs/ardour/ardour/mix.h | 10 +++
libs/ardour/globals.cc | 13 ++++
libs/ardour/mix.cc | 157 +++++++++++++++++++++++++++++++++++++++++++++++
3 files changed, 180 insertions(+)
diff --git a/libs/ardour/ardour/mix.h b/libs/ardour/ardour/mix.h
index 4676c01..55919f0 100644
--- a/libs/ardour/ardour/mix.h
+++ b/libs/ardour/ardour/mix.h
@@ -65,6 +65,16 @@ LIBARDOUR_API void veclib_mix_buffers_no_gain (ARDOUR::Sample * dst, cons
#endif
+#if defined (__ARM_NEON__)
+
+LIBARDOUR_API float neon_compute_peak (const ARDOUR::Sample * buf, ARDOUR::pframes_t nsamples, float current);
+LIBARDOUR_API void neon_find_peaks (const ARDOUR::Sample * buf, ARDOUR::pframes_t nsamples, float *min, float *max);
+LIBARDOUR_API void neon_apply_gain_to_buffer (ARDOUR::Sample * buf, ARDOUR::pframes_t nframes, float gain);
+LIBARDOUR_API void neon_mix_buffers_with_gain (ARDOUR::Sample * dst, const ARDOUR::Sample * src, ARDOUR::pframes_t nframes, float gain);
+LIBARDOUR_API void neon_mix_buffers_no_gain (ARDOUR::Sample * dst, const ARDOUR::Sample * src, ARDOUR::pframes_t nframes);
+
+#endif
+
/* non-optimized functions */
LIBARDOUR_API float default_compute_peak (const ARDOUR::Sample * buf, ARDOUR::pframes_t nsamples, float current);
diff --git a/libs/ardour/globals.cc b/libs/ardour/globals.cc
index 28eb818..d562b35 100644
--- a/libs/ardour/globals.cc
+++ b/libs/ardour/globals.cc
@@ -222,6 +222,19 @@ setup_hardware_optimization (bool try_optimization)
info << "Apple VecLib H/W specific optimizations in use" << endmsg;
}
+#elif defined (__ARM_NEON__)
+ // No runtime detection
+ compute_peak = neon_compute_peak;
+ find_peaks = neon_find_peaks;
+ apply_gain_to_buffer = neon_apply_gain_to_buffer;
+ mix_buffers_with_gain = neon_mix_buffers_with_gain;
+ mix_buffers_no_gain = neon_mix_buffers_no_gain;
+ copy_vector = default_copy_vector;
+
+ generic_mix_functions = false;
+
+ info << "ARM NEON optimizations in use" << endmsg;
+
#endif
/* consider FPU denormal handling to be "h/w optimization" */
diff --git a/libs/ardour/mix.cc b/libs/ardour/mix.cc
index 96ae624..d1a46a2 100644
--- a/libs/ardour/mix.cc
+++ b/libs/ardour/mix.cc
@@ -182,4 +182,161 @@ veclib_mix_buffers_no_gain (ARDOUR::Sample * dst, const ARDOUR::Sample * src, pf
#endif
+#if defined (__ARM_NEON__)
+#include <arm_neon.h>
+
+float
+neon_compute_peak (const ARDOUR::Sample * buf, ARDOUR::pframes_t nsamples, float current)
+{
+ float32x4_t v4current = vdupq_n_f32(current);
+ float32x4_t v4work;
+ float32x2_t v2current;
+
+ // unaligned lead (spread single float to vector)
+ while (((intptr_t)buf) % 16 != 0 && nsamples > 0) {
+ v4work = vdupq_n_f32(*buf);
+ v4current = vmaxq_f32(v4current, vabsq_f32(v4work));
+
+ buf++;
+ nsamples--;
+ }
+ // aligned
+ while (nsamples >= 4) {
+ v4work = vld1q_f32(buf);
+ v4current = vmaxq_f32(v4current, vabsq_f32(v4work));
+
+ buf+=4;
+ nsamples-=4;
+ }
+ // rest < 4 (spread single float to vector)
+ while (nsamples > 0) {
+ v4work = vdupq_n_f32(*buf);
+ v4current = vmaxq_f32(v4current, vabsq_f32(v4work));
+
+ buf++;
+ nsamples--;
+ }
+
+ // calc max in vector by pairwise max done twice
+ v2current = vpmax_f32(vget_low_f32(v4current), vget_high_f32(v4current));
+ v2current = vpmax_f32(v2current, v2current);
+ return vget_lane_f32(v2current, 0);
+}
+
+void
+neon_find_peaks (const ARDOUR::Sample * buf, ARDOUR::pframes_t nsamples, float *min, float *max)
+{
+ float32x4_t v4min = vdupq_n_f32(*min);
+ float32x4_t v4max = vdupq_n_f32(*max);
+ float32x4_t v4work;
+ float32x2_t v2min, v2max;
+
+ // vector
+ while (nsamples >= 4) {
+ v4work = vld1q_f32(buf);
+ v4min = vminq_f32(v4min, v4work);
+ v4max = vmaxq_f32(v4max, v4work);
+
+ buf+=4;
+ nsamples-=4;
+ }
+ // rest < 4 (spread single float to vector)
+ while (nsamples > 0) {
+ v4work = vdupq_n_f32(*buf);
+ v4min = vminq_f32(v4min, v4work);
+ v4max = vmaxq_f32(v4max, v4work);
+
+ buf++;
+ nsamples--;
+ }
+
+ // calc min in vector by pairwise max done twice
+ v2min = vpmin_f32(vget_low_f32(v4min), vget_high_f32(v4min));
+ v2min = vpmax_f32(v2min, v2min);
+ *min = vget_lane_f32(v2min, 0);
+ // calc max in vector by pairwise max done twice
+ v2max = vpmax_f32(vget_low_f32(v4max), vget_high_f32(v4max));
+ v2max = vpmax_f32(v2max, v2max);
+ *max = vget_lane_f32(v2max, 0);
+}
+
+void
+neon_apply_gain_to_buffer (ARDOUR::Sample * buf, ARDOUR::pframes_t nframes, float gain)
+{
+ float32x4_t v4gain = vdupq_n_f32(gain);
+ float32x4_t v4work;
+
+ // vector
+ while (nframes >= 4) {
+ v4work = vld1q_f32(buf);
+ v4work = vmulq_f32(v4work, v4gain);
+ vst1q_f32(buf, v4work);
+
+ buf+=4;
+ nframes-=4;
+ }
+ // rest < 4
+ while (nframes > 0) {
+ *buf *= gain;
+
+ buf++;
+ nframes--;
+ }
+}
+
+void
+neon_mix_buffers_with_gain (ARDOUR::Sample * dst, const ARDOUR::Sample * src, ARDOUR::pframes_t nframes, float gain)
+{
+ float32x4_t v4gain = vdupq_n_f32(gain);
+ float32x4_t v4src, v4dst;
+
+ // vector
+ while (nframes >= 4) {
+ v4src = vld1q_f32(src);
+ v4dst = vld1q_f32(dst);
+ // v4dst = v4dst + v4src * v4gain
+ v4dst = vmlaq_f32(v4dst, v4src, v4gain);
+ vst1q_f32(dst, v4dst);
+
+ src+=4;
+ dst+=4;
+ nframes-=4;
+ }
+ // rest < 4
+ while (nframes > 0) {
+ *dst += *src * gain;
+
+ src++;
+ dst++;
+ nframes--;
+ }
+}
+
+void
+neon_mix_buffers_no_gain (ARDOUR::Sample * dst, const ARDOUR::Sample * src, ARDOUR::pframes_t nframes)
+{
+ float32x4_t v4src, v4dst;
+
+ // vector
+ while (nframes >= 4) {
+ v4src = vld1q_f32(src);
+ v4dst = vld1q_f32(dst);
+ v4dst = vaddq_f32(v4dst, v4src);
+ vst1q_f32(dst, v4dst);
+
+ src+=4;
+ dst+=4;
+ nframes-=4;
+ }
+ // rest < 4
+ while (nframes > 0) {
+ *dst += *src;
+
+ src++;
+ dst++;
+ nframes--;
+ }
+}
+
+#endif
--
2.9.4

View File

@@ -1,6 +1,6 @@
SUMMARY = "Ardour is a multi-channel digital audio workstation"
HOMEPAGE = "http://ardour.org/"
LICENSE = "GPL-2.0-only"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=4641e94ec96f98fabc56ff9cc48be14b"
DEPENDS += " \
@@ -29,13 +29,17 @@ DEPENDS += " \
hidapi \
"
inherit waf features_check gtk-icon-cache pkgconfig python3native mime mime-xdg
inherit waf features_check gtk-icon-cache pkgconfig python3native mime-xdg
REQUIRED_DISTRO_FEATURES = "x11"
SRC_URI = "git://github.com/Ardour/ardour.git;branch=master;protocol=https"
SRCREV = "945c8f288077565fe3de32c6ac0cb50e286722e4"
PV = "6.9"
SRC_URI = " \
git://github.com/Ardour/ardour.git \
file://0001-remove-all-build-flags-that-cause-trouble-for-cross-.patch \
file://0002-Use-ARM-NEON-intrinsics-if-available-for-mixing-func.patch \
"
SRCREV = "c8e92338fffa92e4ee0bc03ca8ca9ff93ed8b2b4"
PV = "6.2"
S = "${WORKDIR}/git"
# arch specific override - default (tested) is ARM -> no fpu-optimizations
@@ -47,7 +51,6 @@ EXTRA_OECONF = " \
--bindir=${bindir} \
--libdir=${libdir} \
--optimize \
--fpu-optimization \
--freedesktop \
--cxx11 \
--no-phone-home \
@@ -58,20 +61,31 @@ EXTRA_OECONF = " \
--dist-target=${BUILD_DIST_TARGET} \
"
PATH:append = ":${B}"
PATH_append = ":${B}"
# Asking fails - waf supports --bindir / --libdir
waf_preconfigure() {
}
do_configure:prepend() {
do_configure_prepend() {
# link python -> python3
ln -sf `which python3` ${B}/python
}
FILES:${PN}-dev += " \
${datadir}/appdata \
${datadir}/mime \
do_install_append() {
# install icons to freedesktop locations
for s in 16 22 32 48 256 512; do
install -d ${D}${datadir}/icons/hicolor/${s}x${s}/apps
ln -s ../../../../${BPN}/resources/Ardour-icon_${s}px.png \
${D}${datadir}/icons/hicolor/${s}x${s}/apps/${BPN}.png
done
# install .desktop
install -d ${D}${datadir}/applications
install -m 0644 ${B}/gtk2_ardour/ardour6.desktop ${D}${datadir}/applications
}
FILES_${PN}-dev += " \
${libdir}/${BPN}/libardour.so \
${libdir}/${BPN}/libardouralsautil.so \
${libdir}/${BPN}/libaudiographer.so \
@@ -87,9 +101,6 @@ FILES:${PN}-dev += " \
${libdir}/${BPN}/vamp/*.so \
"
FILES:${PN}-staticdev += " \
FILES_${PN}-staticdev += " \
${libdir}/${BPN}/*.a \
"
PROVIDES = "ardour"
RPROVIDES:${PN} = "ardour"

View File

@@ -1,27 +0,0 @@
From 8a05420e5dd8c7b8b2447f82dc919765876511b3 Mon Sep 17 00:00:00 2001
From: Paul Brossier <piem@piem.org>
Date: Tue, 25 Jan 2022 18:30:27 +0100
Subject: [PATCH] [source_avcodec] define FF_API_LAVF_AVCTX for libavcodec >
59, thx @berolinux (closes gh-353)
Upstream-Status: Accepted[https://github.com/aubio/aubio/commit/8a05420e5dd8c7b8b2447f82dc919765876511b3]
---
src/io/source_avcodec.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/src/io/source_avcodec.c b/src/io/source_avcodec.c
index e0ae93b5..1421bd9a 100644
--- a/src/io/source_avcodec.c
+++ b/src/io/source_avcodec.c
@@ -68,6 +68,10 @@
#define AUBIO_AVCODEC_MAX_BUFFER_SIZE AV_INPUT_BUFFER_MIN_SIZE
#endif
+#if LIBAVCODEC_VERSION_MAJOR >= 59
+#define FF_API_LAVF_AVCTX 1
+#endif
+
struct _aubio_source_avcodec_t {
uint_t hop_size;
uint_t samplerate;

View File

@@ -1,6 +1,6 @@
SUMMARY = "aubio is designed for the extraction of annotations from audio signals"
HOMEPAGE = "https://aubio.org/"
LICENSE = "GPL-3.0-only"
LICENSE = "GPLv3"
LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
inherit waf pkgconfig
@@ -17,8 +17,8 @@ SRC_URI = " \
https://aubio.org/pub/${BPN}-${PV}.tar.bz2 \
file://0001-do-not-build-tests.patch \
file://0002-Fix-build-for-python3-only-environments.patch \
file://0003-define_FF_API_LAVF_AVCTX_for_libavcodec_59.patch \
"
SRC_URI[md5sum] = "50c9c63b15a2692378af5d602892f16a"
SRC_URI[sha256sum] = "d48282ae4dab83b3dc94c16cf011bcb63835c1c02b515490e1883049c3d1f3da"
EXTRA_OECONF = " \

View File

@@ -1,53 +0,0 @@
SUMMARY = "Audacity is an easy-to-use, multi-track audio editor and recorder"
HOMEPAGE = "https://www.audacityteam.org/"
LICENSE = "GPL-2.0-only & CC-BY-3.0"
LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=549b88b1c547acbec8f9e262f30b573e"
PV = "2.4.2"
SRC_URI = " \
git://github.com/audacity/audacity.git;branch=master;protocol=https \
file://0001-Do-not-ask-git-for-version-information-it-breaks-bui.patch \
file://0002-Build-with-ffmpeg4.patch \
"
SRCREV ="16d52f63a4183bba77ef7305d14622958dc0d1d5"
S = "${WORKDIR}/git"
DEPENDS = " \
wxwidgets \
lame \
soxr \
portaudio-v19 \
portmidi \
alsa-lib \
jack \
libid3tag \
ffmpeg4 \
libmad \
vamp-plugin-sdk \
libogg \
libvorbis \
flac \
lv2 \
lilv \
serd \
sord \
sratom \
suil \
soundtouch \
"
inherit cmake pkgconfig python3native gettext gtk-icon-cache mime mime-xdg
do_configure:append() {
# do set version
# see 0001-Do-not-ask-git-for-version-information-it-breaks-bui.patch
# and ${S}/cmake-proxies/cmake-modules/Version.cmake. Think it erros out
# because it assumes execution in source dir
cd ${S}
git show -s "--format=#define REV_LONG \"%H\"%n#define REV_TIME \"%cd\"%n" >> ${B}/src/private/RevisionIdent.h
}
FILES:${PN} += " \
${datadir}/appdata \
${datadir}/mime \
"

View File

@@ -1,33 +0,0 @@
From f14857a1889201583b1ba4a054537e8a48277079 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
Date: Sat, 19 Dec 2020 19:39:45 +0100
Subject: [PATCH] Do not ask git for version information - it breaks build
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
We sit on a tagged version anyway
Upstream-Status: Inapproprate [OE-specific]
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
---
CMakeLists.txt | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 4ff543049..3b0116fa9 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -125,7 +125,7 @@ endif()
set( GIT_COMMIT_SHORT "unknown" )
set( GIT_COMMIT_LONG "unknown" )
set( GIT_COMMIT_TIME "unknown" )
-find_package( Git QUIET )
+#find_package( Git QUIET )
if( GIT_FOUND )
execute_process(
COMMAND
--
2.26.2

View File

@@ -1,47 +0,0 @@
From 7b62fe6f493f0110ccdea23c9cf7ea493d152f0c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
Date: Thu, 17 Mar 2022 21:50:27 +0100
Subject: [PATCH] Build with ffmpeg4
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
---
cmake-proxies/CMakeLists.txt | 2 +-
cmake-proxies/ffmpeg/CMakeLists.txt | 6 +++---
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/cmake-proxies/CMakeLists.txt b/cmake-proxies/CMakeLists.txt
index 9ca7286ac..62e515491 100644
--- a/cmake-proxies/CMakeLists.txt
+++ b/cmake-proxies/CMakeLists.txt
@@ -137,7 +137,7 @@ addlib( portaudio-v19 portaudio PORTAUDIO YES YES "" )
# Optional libraries
#
# directory option symbol req chk version
-addlib( ffmpeg ffmpeg FFMPEG NO NO "libavcodec >= 51.53" "libavformat >= 52.12" "libavutil >= 52.66" )
+addlib( ffmpeg ffmpeg FFMPEG NO NO "libavcodec4 >= 51.53" "libavformat4 >= 52.12" "libavutil4 >= 52.66" )
addlib( libid3tag id3tag LIBID3TAG NO YES "id3tag >= 0.15.1b" )
addlib( libmad mad LIBMAD NO YES "mad >= 0.15.1b" )
addlib( libnyquist nyquist NYQUIST NO YES "" )
diff --git a/cmake-proxies/ffmpeg/CMakeLists.txt b/cmake-proxies/ffmpeg/CMakeLists.txt
index 98f12c86d..f5ed33f33 100644
--- a/cmake-proxies/ffmpeg/CMakeLists.txt
+++ b/cmake-proxies/ffmpeg/CMakeLists.txt
@@ -2,9 +2,9 @@
# Add our target and all of it's aliases
add_library( ${TARGET} INTERFACE )
add_library( ${symbol} ALIAS ${TARGET} )
-add_library( libavcodec ALIAS ${TARGET} )
-add_library( libavformat ALIAS ${TARGET} )
-add_library( libavutil ALIAS ${TARGET} )
+add_library( libavcodec4 ALIAS ${TARGET} )
+add_library( libavformat4 ALIAS ${TARGET} )
+add_library( libavutil4 ALIAS ${TARGET} )
# Pull in standard variables
def_vars()
--
2.34.1

View File

@@ -10,4 +10,4 @@ do_install() {
}
RDEPENDS:${PN} = "pam-plugin-limits"
RDEPENDS_${PN} = "pam-plugin-limits"

View File

@@ -1,6 +1,6 @@
SUMMARY = "Pattern-controlled audio stream / sample re-sequencer LV2 plugin"
HOMEPAGE = "https://github.com/sjaehn/BJumblr"
LICENSE = "GPL-3.0-only"
LICENSE = "GPLv3"
LIC_FILES_CHKSUM = "file://LICENSE;md5=1ebbd3e34237af26da5dc08a4e440464"
REQUIRED_DISTRO_FEATURES = "x11"
@@ -14,15 +14,16 @@ DEPENDS += " \
lv2 \
"
SRC_URI = "git://github.com/sjaehn/BJumblr.git;branch=master;protocol=https"
SRCREV = "eeafe2d0a7d856eb990cb0f7725e82195ff80c71"
SRC_URI = " \
git://github.com/sjaehn/BJumblr.git \
file://0001-BJumblr.cpp-Fix-build-with-gcc10.patch \
"
SRCREV = "7a240470926e7929048121f0b67938851d712b6c"
S = "${WORKDIR}/git"
PV = "1.6.8"
EXTRA_OEMAKE = "STRIP=echo STRIPFLAG=-e"
PV = "1.2.0"
do_install() {
DESTDIR=${D} PREFIX=${prefix} oe_runmake install
}
FILES:${PN} += "${libdir}/lv2"
FILES_${PN} += "${libdir}/lv2"

View File

@@ -0,0 +1,56 @@
From aceb6d17c6ef7abb6780606df780fd6288ff4e71 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
Date: Tue, 9 Jun 2020 22:30:48 +0200
Subject: [PATCH] BJumblr.cpp: Fix build with gcc10
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Error message:
| src/BJumblr.cpp:70:21: error: 'invalid_argument' is not a member of 'std'
| 70 | if (!m) throw std::invalid_argument ("BJumblr.lv2: Host does not support urid:map.");
| | ^~~~~~~~~~~~~~~~
| src/BJumblr.cpp:71:34: error: 'invalid_argument' is not a member of 'std'
| 71 | if (!workerSchedule) throw std::invalid_argument ("BJumblr.lv2: Host does not support work:schedule.");
| | ^~~~~~~~~~~~~~~~
| src/BJumblr.cpp: In constructor 'BJumblr::Sample::Sample(const char*)':
| src/BJumblr.cpp:104:50: error: 'invalid_argument' is not a member of 'std'
| 104 | if (!sndfile || !info.frames) throw std::invalid_argument("BJumblr.lv2: Can't open " + std::string(samplepath) + ".");
| | ^~~~~~~~~~~~~~~~
| src/BJumblr.cpp: In member function 'LV2_State_Status BJumblr::state_restore(LV2_State_Retrieve_Function, LV2_State_Handle, uint32_t, const LV2_Feature* const*)':
| src/BJumblr.cpp:701:15: error: 'invalid_argument' in namespace 'std' does not name a type
| 701 | catch (std::invalid_argument &ia)
| | ^~~~~~~~~~~~~~~~
| src/BJumblr.cpp:703:29: error: 'ia' was not declared in this scope
| 703 | fprintf (stderr, "%s\n", ia.what());
| | ^~
| src/BJumblr.cpp: In member function 'LV2_Worker_Status BJumblr::work(LV2_Worker_Respond_Function, LV2_Worker_Respond_Handle, uint32_t, const void*)':
| src/BJumblr.cpp:842:17: error: 'invalid_argument' in namespace 'std' does not name a type
| 842 | catch (std::invalid_argument &ia)
| | ^~~~~~~~~~~~~~~~
| src/BJumblr.cpp:844:31: error: 'ia' was not declared in this scope
| 844 | fprintf (stderr, "%s\n", ia.what());
| | ^~
Upstream-Status: Submitted[https://github.com/sjaehn/BJumblr/pull/9]
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
---
src/BJumblr.cpp | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/BJumblr.cpp b/src/BJumblr.cpp
index 5f89e41..3e97e6a 100644
--- a/src/BJumblr.cpp
+++ b/src/BJumblr.cpp
@@ -19,6 +19,7 @@
*/
#include "BJumblr.hpp"
+#include <stdexcept>
inline double floorfrac (const double value) {return value - floor (value);}
inline double floormod (const double numer, const double denom) {return numer - floor(numer / denom) * denom;}
--
2.26.2

View File

@@ -1,6 +1,6 @@
SUMMARY = "Emulator for vintage synthesisers, electric pianos and organs"
HOMEPAGE = "https://sourceforge.net/projects/bristol/"
LICENSE = "GPL-3.0-only"
LICENSE = "GPLv3"
LIC_FILES_CHKSUM = "file://COPYING.GPL;md5=d32239bcb673463ab874e80d47fae504"
inherit autotools pkgconfig features_check
@@ -29,10 +29,7 @@ EXTRA_OECONF = " \
--enable-jack-default-audio \
"
# The fix necessary is huge and requires background knowledge
CFLAGS += "-fcommon"
do_install:append() {
do_install_append() {
# the tar magic makes files owned by build user
chown -R root:root ${D}${datadir}
# align data paths

View File

@@ -1,13 +1,13 @@
SUMMARY = "High quality open source audio plugins for musicians"
HOMEPAGE = "http://calf-studio-gear.org/"
LICENSE = "GPL-2.0-only & LGPL-2.1-only"
LICENSE = "GPLv2 & LGPLv2.1"
LIC_FILES_CHKSUM = " \
file://COPYING;md5=dcf3c825659e82539645da41a7908589 \
file://COPYING.GPL;md5=94d55d512a9ba36caa9b7df079bae19f \
"
SRC_URI = " \
git://github.com/calf-studio-gear/calf.git;branch=master;protocol=https \
git://github.com/calf-studio-gear/calf.git \
file://0001-Do-store-calfmakerdf-commandline-for-later-use-in-qe.patch \
file://0002-fluidsynth-Activate-synth.dynamic-sample-loading-for.patch \
"
@@ -31,19 +31,19 @@ EXTRA_OECONF += " \
--enable-experimental \
"
do_configure:prepend() {
do_configure_prepend() {
sed -i 's:%QEMUCOMMAND%:${WORKDIR}/QemuCommands:g' `find ${S} -name Makefile.am`
}
QEMU_EXTRA_LIBDIR = "${D}${libdir}/calf"
do_install:prepend() {
do_install_prepend() {
# These are installed by calfmakerdf but that's moved to end of installation
install -d ${D}${libdir}/lv2
install -d ${D}${datadir}/calf
}
do_install:append() {
do_install_append() {
# build ttl-files must be done in quemu (lv2-ttl-generator-data loads
# so-files and calls functions to create ttl-files)
cat ${WORKDIR}/QemuCommands | while read calfmakerdf_param; do
@@ -58,5 +58,5 @@ do_install:append() {
}
FILES:${PN} += "${libdir}/lv2"
INSANE_SKIP:${PN} = "dev-so"
FILES_${PN} += "${libdir}/lv2"
INSANE_SKIP_${PN} = "dev-so"

View File

@@ -1,5 +1,5 @@
From 88c61efce068b4cfe6d4c175bd9d1b85def23708 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
Date: Sat, 15 Jul 2017 00:03:36 +0200
Subject: [PATCH] do not try to cross-run carla-lv2-export
MIME-Version: 1.0
@@ -8,27 +8,24 @@ Content-Transfer-Encoding: 8bit
Upstream-Status: Inappropriate [cross specific]
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
---
source/plugin/Makefile | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
source/plugin/Makefile | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/source/plugin/Makefile b/source/plugin/Makefile
index 389dd77ee..251ecc18c 100644
index 59b5c5d..3bcb368 100644
--- a/source/plugin/Makefile
+++ b/source/plugin/Makefile
@@ -528,9 +528,7 @@ $(BINDIR)/carla.lv2/manifest.ttl: $(OBJDIR)/carla-lv2-export.cpp.o $(BINDIR)/car
@echo "Linking carla-lv2-export$(APP_EXT)"
$(SILENT)$(CXX) $< $(LIBS_START) $(LIBS) $(LIBS_juce) $(LIBS_END) $(NATIVE_LINK_FLAGS) -o $(BINDIR)/carla-lv2-export$(APP_EXT)
@@ -206,7 +206,7 @@ $(BINDIR)/carla.lv2/manifest.ttl: $(OBJDIR)/carla-lv2-export.cpp.o $(LIBS)
ifeq ($(BUILDING_FOR_WINDOWS),true)
@cd $(BINDIR) && wine ./carla-lv2-export$(APP_EXT)
else
- @cd $(BINDIR) && ./carla-lv2-export$(APP_EXT)
+ @cd $(BINDIR)
endif
@cd $(BINDIR)/carla.lv2 && ln -sf ../*bridge-* ../carla-discovery-* .
- @echo "Generating LV2 ttl data"
- $(SILENT)cd $(BINDIR) && $(EXE_WRAPPER) ./carla-lv2-export$(APP_EXT)
- $(SILENT)cd $(BINDIR)/carla.lv2 && ln -sf ../*bridge-* ../carla-discovery-* .
+ @echo "LV2 ttl data creation is postponed"
$(BINDIR)/carla-lv2-export$(APP_EXT): $(OBJDIR)/carla-lv2-export.cpp.o
-@mkdir -p $(BINDIR)
--
2.34.3
2.9.4

View File

@@ -0,0 +1,30 @@
From 079d1a1b34394b76d23ce7d92254cb785333d3e7 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
Date: Thu, 20 Sep 2018 22:44:48 +0200
Subject: [PATCH] Do not try to find Qt5 host bins - it won't work
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Upstream-Status: Inappropriate [cross specific]
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
---
source/Makefile.mk | 1 -
1 file changed, 1 deletion(-)
diff --git a/source/Makefile.mk b/source/Makefile.mk
index 6d1b24859..37518ef96 100644
--- a/source/Makefile.mk
+++ b/source/Makefile.mk
@@ -285,7 +285,6 @@ endif
endif
ifeq ($(HAVE_QT5),true)
-QT5_HOSTBINS = $(shell $(PKG_CONFIG) --variable=host_bins Qt5Core)
MOC_QT5 ?= $(QT5_HOSTBINS)/moc
RCC_QT5 ?= $(QT5_HOSTBINS)/rcc
UIC_QT5 ?= $(QT5_HOSTBINS)/uic
--
2.26.2

View File

@@ -1,22 +1,23 @@
SUMMARY = "Audio plugin host"
HOMEPAGE = "http://kxstudio.linuxaudio.org/Applications:Carla"
LICENSE = "GPL-2.0-only & LGPL-3.0-only"
LICENSE = "GPLv2 & LGPLv3"
LIC_FILES_CHKSUM = " \
file://doc/GPL.txt;md5=4641e94ec96f98fabc56ff9cc48be14b \
file://doc/LGPL.txt;md5=e6a600fd5e1d9cbde2d983680233ad02 \
"
SRC_URI = " \
git://github.com/falkTX/Carla.git;branch=main;protocol=https \
git://github.com/falkTX/Carla.git \
file://0001-do-not-try-to-cross-run-carla-lv2-export.patch \
file://0002-Do-not-try-to-find-Qt5-host-bins-it-won-t-work.patch \
"
SRCREV = "6bc9a90ebb1767649d2538108ed4a604ce96dacb"
SRCREV = "1b5080dff02b1e751e32f0582e4aee7bc2c74a67"
S = "${WORKDIR}/git"
PV = "2.5.0"
PV = "2.1.1"
REQUIRED_DISTRO_FEATURES = "x11"
inherit qmake5_base python3native pkgconfig qemu-ext-musicians features_check mime mime-xdg gtk-icon-cache
inherit qmake5_base pkgconfig qemu-ext-musicians features_check mime mime-xdg gtk-icon-cache
B = "${S}"
@@ -47,18 +48,16 @@ do_configure() {
oe_runmake features
}
do_compile:append() {
do_compile_append() {
cd ${S}/bin
${@qemu_run_binary_local(d, '${STAGING_DIR_TARGET}', 'carla-lv2-export')}
cd ${S}/bin/carla.lv2 && ln -sf ../*bridge-* ../carla-discovery-* .
}
do_install() {
oe_runmake DESTDIR=${D} PREFIX=${prefix} LIBDIR=${libdir} install
}
FILES:${PN} += " \
${datadir}/appdata \
FILES_${PN} += " \
${datadir}/icons \
${datadir}/mime \
${libdir}/jack \
@@ -66,6 +65,6 @@ FILES:${PN} += " \
${libdir}/vst \
"
INSANE_SKIP:${PN} = "dev-so"
INSANE_SKIP_${PN} = "dev-so"
RDEPENDS:${PN} += "python3-pyqt5 bash"
RDEPENDS_${PN} += "python3-pyqt5 bash"

View File

@@ -1,6 +1,6 @@
SUMMARY = "Chromaprint is library that extracts fingerprints from audio sources"
HOMEPAGE = "https://acoustid.org/chromaprint"
LICENSE = "MIT & LGPL-2.1-only"
LICENSE = "MIT & LGPLv2.1"
LIC_FILES_CHKSUM = "file://LICENSE.md;md5=5d50f7a9fde1110fa1756b0f5faa26f2"
inherit cmake
@@ -10,7 +10,7 @@ DEPENDS += " \
ffmpeg \
"
SRC_URI = "git://github.com/acoustid/chromaprint.git;branch=master;protocol=https"
SRC_URI = "git://github.com/acoustid/chromaprint.git"
SRCREV = "516e3b31c7fa6e822035ea3b3e31f9c7f51ef4b6"
PV = "1.5.0"
S = "${WORKDIR}/git"

View File

@@ -1,68 +0,0 @@
From d707f174bb67b5b1d8a4ab00b024990a07dc5e37 Mon Sep 17 00:00:00 2001
From: Peter Robinson <pbrobinson@gmail.com>
Date: Thu, 1 Feb 2018 09:29:23 +0000
Subject: [PATCH 3/4] use standard plugins path
Stolen from [1]
[1] https://src.fedoraproject.org/rpms/csound/tree/master
Upstream-Status: Pending
---
CMakeLists.txt | 8 +-------
Top/csmodule.c | 4 ++--
installer/misc/mkpackage.py | 2 +-
3 files changed, 4 insertions(+), 10 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 2c1db25d5..ee88ca66f 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -198,13 +198,7 @@
endif()
message(STATUS "LIBRARY INSTALL DIR: ${LIBRARY_INSTALL_DIR}")
-if(USE_DOUBLE)
- message(STATUS "Building with 64-bit floats")
- set(PLUGIN_INSTALL_DIR "${LIBRARY_INSTALL_DIR}/csound/plugins64-${APIVERSION}")
-else()
- message(STATUS "Building with 32-bit floats")
- set(PLUGIN_INSTALL_DIR "${LIBRARY_INSTALL_DIR}/csound/plugins-${APIVERSION}")
-endif()
+set(PLUGIN_INSTALL_DIR "${LIBRARY_INSTALL_DIR}/csound/plugins-${APIVERSION}")
execute_process (
COMMAND python -c
diff --git a/Top/csmodule.c b/Top/csmodule.c
index 21381b9f0..0a16616b1 100644
--- a/Top/csmodule.c
+++ b/Top/csmodule.c
@@ -159,9 +159,9 @@ static const char *plugindir64_envvar = "OPCODE6DIR64";
# define ENABLE_OPCODEDIR_WARNINGS 0
# ifndef CS_DEFAULT_PLUGINDIR
# ifndef USE_DOUBLE
-# define CS_DEFAULT_PLUGINDIR "/usr/local/lib/csound/plugins"
+# define CS_DEFAULT_PLUGINDIR "/usr/lib/csound/plugins"
# else
-# define CS_DEFAULT_PLUGINDIR "/usr/local/lib/csound/plugins64"
+# define CS_DEFAULT_PLUGINDIR "/usr/lib64/csound/plugins"
# endif
# endif
#endif
diff --git a/installer/misc/mkpackage.py b/installer/misc/mkpackage.py
index 801311b18..fe3d86077 100755
--- a/installer/misc/mkpackage.py
+++ b/installer/misc/mkpackage.py
@@ -27,7 +27,7 @@ libDir2 = libDir + '/csound/lib'
# single precision plugin libraries
pluginDir32 = libDir + '/csound/plugins'
# double precision plugin libraries
-pluginDir64 = libDir + '/csound/plugins64'
+pluginDir64 = libDir + '/csound/plugins'
# documentation
docDir = instPrefix + '/share/doc/csound'
# tclcsound.so
--
2.21.0

View File

@@ -1,5 +1,5 @@
SUMMARY = "A sound and music computing system"
LICENSE = "LGPL-2.1-only"
LICENSE = "LGPLv2.1"
LIC_FILES_CHKSUM = "file://COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343"
inherit cmake gettext python3native
@@ -9,7 +9,7 @@ DEPENDS += " \
flex-native \
bison-native \
swig-native \
python3 \
python \
alsa-lib \
libsndfile1 \
portaudio-v19 \
@@ -25,21 +25,20 @@ DEPENDS += " \
"
SRC_URI = " \
git://github.com/csound/csound.git;branch=develop;protocol=https \
git://github.com/csound/csound.git \
file://0001-Do-not-set-include-path-to-usr-local-include.patch \
file://0002-use-standard-plugins-path.patch \
file://0002-Do-not-use-try_run-for-portaudio.patch \
"
SRCREV = "18c2c7897425f462b9a7743cee157cb410c88198"
SRCREV = "297845a370b8b5e1b555a60a0be3c5c757599530"
S = "${WORKDIR}/git"
PV = "6.15.0"
PV = "6.13.0"
# Where to get lua-version from?
LUA_VERSION = "5.3"
EXTRA_OECMAKE += " \
-DUSE_DOUBLE=OFF \
-DPYTHON_MODULE_INSTALL_DIR:STRING=${PYTHON_SITEPACKAGES_DIR} \
-DPYTHON3_MODULE_INSTALL_DIR:STRING=${PYTHON_SITEPACKAGES_DIR} \
-DPYTHON_MODULE_INSTALL_DIR=${PYTHON_SITEPACKAGES_DIR} \
-DUSE_LIB64=${@bb.utils.contains("baselib", "lib64", "ON", "OFF",d)} \
"
@@ -50,13 +49,9 @@ PACKAGECONFIG[luajit] = "-DLUA_MODULE_INSTALL_DIR=${libdir}/lua/${LUA_VERSION},,
PACKAGES =+ " \
${PN}-python \
${PN}-luajit \
${PN}-samples \
"
FILES:${PN}-python = "${PYTHON_SITEPACKAGES_DIR}"
RDEPENDS:${PN}-python += "python3-core"
FILES:${PN}-luajit = "${libdir}/lua"
FILES:${PN}-samples = "${datadir}/samples"
FILES_${PN}-python = "${PYTHON_SITEPACKAGES_DIR}"
RDEPENDS_${PN}-python += "python3-core"
FILES_${PN}-luajit = "${libdir}/lua"

View File

@@ -1,6 +1,6 @@
From 1ae6204460552d524398765ca3931f73c7647472 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
Date: Sun, 6 Sep 2020 16:39:30 +0200
Date: Sun, 20 May 2018 20:22:21 +0200
Subject: [PATCH] Do not set include path to /usr/local/include
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
@@ -14,18 +14,18 @@ Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
1 file changed, 2 deletions(-)
diff --git a/InOut/CMakeLists.txt b/InOut/CMakeLists.txt
index 0ec1dc8c8..97ddf8d14 100644
index 9422575e3..535528c83 100644
--- a/InOut/CMakeLists.txt
+++ b/InOut/CMakeLists.txt
@@ -15,8 +15,6 @@ option(USE_AUDIOUNIT "Build the CoreAudio AudioUnit I/O module (requires CoreAud
option(USE_FLTK "Use FLTK for graphs and widget opcodes" ON)
@@ -16,8 +16,6 @@ option(USE_FLTK "Use FLTK for graphs and widget opcodes" ON)
option(BUILD_VIRTUAL_KEYBOARD "Build Virtual MIDI keyboard" ON)
option(NEED_PORTTIME "porttime library separate from portmidi" ON)
-list(APPEND CMAKE_REQUIRED_INCLUDES "/usr/local/include")
-set(CMAKE_REQUIRED_INCLUDES /usr/local/include)
-
# FIND LIBRARIES AND HEADERS
if(USE_ALSA AND LINUX)
if(USE_ALSA)
--
2.26.2
2.14.3

View File

@@ -0,0 +1,51 @@
From 70b48196f3f2eb7a8cd2b21a3c39986bdb24bff2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
Date: Sun, 20 May 2018 20:59:59 +0200
Subject: [PATCH] Do not use try_run for portaudio
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Upstream-Status: Inappropriate [OE specific]
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
---
InOut/CMakeLists.txt | 13 -------------
1 file changed, 13 deletions(-)
diff --git a/InOut/CMakeLists.txt b/InOut/CMakeLists.txt
index 9422575e3..7590a8c01 100644
--- a/InOut/CMakeLists.txt
+++ b/InOut/CMakeLists.txt
@@ -27,19 +27,6 @@ endif()
if(USE_PORTAUDIO)
find_path(PORTAUDIO_INCLUDE_PATH portaudio.h)
find_library(PORTAUDIO_LIBRARY NAMES portaudio portaudio_x64)
-
- if(PORTAUDIO_INCLUDE_PATH AND PORTAUDIO_LIBRARY)
- try_run(PORTAUDIO_V19 PORTAUDIO_TEST_COMPILED
- ${CMAKE_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/../cmake/portaudio_test.c
- CMAKE_FLAGS -DLINK_LIBRARIES:STRING=${PORTAUDIO_LIBRARY}
- COMPILE_DEFINITIONS "-I${PORTAUDIO_INCLUDE_PATH}"
- COMPILE_OUTPUT_VARIABLE OUTPUT)
- if(NOT PORTAUDIO_TEST_COMPILED AND NOT WIN32)
- set(PORTAUDIO_V19 false)
- endif()
- else()
- set(PORTAUDIO_V19 false)
- endif()
endif()
if(USE_PORTMIDI)
find_path(PORTMIDI_INCLUDE_PATH portmidi.h)
@@ -117,7 +117,7 @@ endif()
if(WIN32)
check_deps(USE_PORTAUDIO PORTAUDIO_INCLUDE_PATH PORTAUDIO_LIBRARY)
else()
- check_deps(USE_PORTAUDIO PORTAUDIO_INCLUDE_PATH PORTAUDIO_LIBRARY PORTAUDIO_TEST_COMPILED)
+ check_deps(USE_PORTAUDIO PORTAUDIO_INCLUDE_PATH PORTAUDIO_LIBRARY)
endif()
if(USE_PORTAUDIO AND PORTAUDIO_V19 MATCHES 1)
message(STATUS "Building rtpa module.")
--
2.14.3

View File

@@ -0,0 +1,34 @@
From 083bbdcab900d1d3b101ee2adb9eff6f15aa56a2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
Date: Sun, 26 May 2019 01:20:53 +0200
Subject: [PATCH] Remove -Werror from CXXFLAGS
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Works around warning -> errors
| #warning This header is deprecated, use <alsa/asoundlib.h> instead.
| ^~~~~~~
| In file included from ../../git/src/midiconnectionsmodel.h:7,
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
---
common.pri | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/common.pri b/common.pri
index 11d9315..35f696e 100644
--- a/common.pri
+++ b/common.pri
@@ -10,6 +10,6 @@ INSTALL_BIN = $${INSTALL_PREFIX}/bin
INSTALL_TRANSLATION = $${INSTALL_PREFIX}/share/$${APPNAME}/$${APPNAME}
CONFIG += c++11 link_pkgconfig warn_on
-QMAKE_CXXFLAGS += -Werror
+#QMAKE_CXXFLAGS += -Werror
PKGCONFIG += alsa
--
2.20.1

View File

@@ -2,25 +2,24 @@ SUMMARY = "A linux editor for the Akai LPD8"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE.md;md5=6dc9df5fa3108f437a4580b0aebca196"
inherit cmake_qt5 pkgconfig gtk-icon-cache
inherit pkgconfig qmake5 gtk-icon-cache
DEPENDS += " \
qttools-native \
qttools \
qtbase \
qtsvg \
alsa-lib \
"
SRC_URI = " \
git://github.com/charlesfleche/lpd8editor.git;branch=master;protocol=https \
git://github.com/charlesfleche/lpd8editor.git \
file://0001-Remove-Werror-from-CXXFLAGS.patch\
file://lpd8-editor.desktop \
"
SRCREV = "ae9072e58d23d5926ca8d0228400eead9248a494"
PV = "0.0.16"
SRCREV = "c5b3a64487b3f126f9da15e94d547eff8e972c0c"
PV = "0.0.13"
S = "${WORKDIR}/git"
do_install:append() {
do_install_append() {
install -Dm 644 ${WORKDIR}/lpd8-editor.desktop ${D}/${datadir}/applications/lpd8-editor.desktop
install -Dm 644 ${S}/lpd8editor.svg ${D}/${datadir}/icons/hicolor/scalable/apps/lpd8-editor.svg
}

View File

@@ -0,0 +1,71 @@
SUMMARY = "Collection of synthesizers and plugins"
HOMEPAGE = "http://distrho.sourceforge.net/ports"
LICENSE = "GPLv2 & MIT"
LIC_FILES_CHKSUM = " \
file://ports/argotlunar/README.md;md5=81abc323be6ba481ab72864b53b3daca \
file://ports/protoplug/license.txt;md5=56b9d913eb7c3ef00ca375ab614bf02f \
"
SRC_URI = " \
git://github.com/DISTRHO/DISTRHO-Ports-Extra.git \
"
# TODO:
# argolunar: no sound (presets?)
# pdpulp: segfault
# protoplug asks for files
SRCREV = "b6f25f1feb4de49136844f20d88bec6439cdfbc5"
S = "${WORKDIR}/git"
PV = "0.0.0+git${SRCPV}"
REQUIRED_DISTRO_FEATURES = "x11 opengl"
inherit lv2-turtle-helper features_check pack_audio_plugins
# distro-ports dependency for special hack script / libs
DEPENDS += " \
premake3-native \
virtual/libgl \
libx11 \
libxext \
libxcursor \
freetype \
csound \
distrho-ports \
"
LV2_TTL_GENERATOR = "${STAGING_BINDIR}/lv2_ttl_generator"
do_ttl_sed() {
# Seems this collection is not ready for public
# scripts/libs are (broken) symlinks to /usr/src/distrho) - copy 'shared'
# from distrho-ports (hack but we need to patch distrho-ports only)
rm -rf ${S}/libs
rm -rf ${S}/scripts
cp -r ${STAGING_BINDIR}/scripts ${S}
cp -r ${STAGING_LIBDIR}/libs ${S}
# manipulate scripts to keep lv2_ttl_generator-calls in script for lv2-turtle-helper
sed -i 's|$GEN ./$FILE|echo "`pwd`/$FILE" >> ${LV2_PLUGIN_INFO_FILE}|g' `find ${S}/scripts -name *.sh`
}
do_configure() {
cd ${S}
# platforms supporting sse2 can override NOOPTIMIZATIONS - later todo?
NOOPTIMIZATIONS=1 ${S}/scripts/premake-update.sh linux
}
do_install() {
install -d ${D}${libdir}
cp -r ${S}/bin/* ${D}${libdir}
}
FILES_${PN} += " \
${libdir}/cabbage* \
"
# for common (?) cabbage files
RDEPENDS_${PN_LV2} += "${PN}"
RDEPENDS_${PN_VST} += "${PN}"
# Have not found what causes stripping - debugging of plugins is unlikely
INSANE_SKIP_${PN} = "already-stripped"

View File

@@ -1,14 +1,15 @@
SUMMARY = "Collection of synthesizers and plugins"
HOMEPAGE = "http://distrho.sourceforge.net/ports"
LICENSE = "GPL-2.0-only & LGPL-3.0-only"
LICENSE = "GPLv2 & LGPLv3"
LIC_FILES_CHKSUM = " \
file://doc/GPL.txt;md5=4641e94ec96f98fabc56ff9cc48be14b \
file://doc/LGPL.txt;md5=e6a600fd5e1d9cbde2d983680233ad02 \
"
SRC_URI = " \
git://github.com/DISTRHO/DISTRHO-Ports.git;branch=master;protocol=https \
file://0001-Modify-ttl-generation-target-so-we-can-sed-it-to-cor.patch \
git://github.com/DISTRHO/DISTRHO-Ports.git \
file://0001-Adjust-build-so-ttl-generation-is-postponed.patch \
file://0002-make-project.lua-Adjust-includepath-to-fix-build-of-.patch \
\
http://linuxsynths.com/ObxdPatchesDemos/ObxdPatchesBrian-01.tar.gz;name=linuxsynths-obxd-patches1;subdir=linuxsynths-obxd-patches \
\
@@ -16,9 +17,9 @@ SRC_URI = " \
http://linuxsynths.com/VexPatchesDemos/VexPatches02.tar.gz;name=linuxsynths-vex-patches2;subdir=linuxsynths-vex-patches \
"
SRCREV = "2131ac41eef308c2ba11df6f1ae3985f3c868485"
SRCREV = "b1770b2258f309c11d32ee718bd7f78bc9ca0ae3"
S = "${WORKDIR}/git"
PV = "2021-03-15+git${SRCPV}"
PV = "2020-07-14+git${SRCPV}"
SRC_URI[linuxsynths-obxd-patches1.md5sum] = "32244f847a54a71ee3c25079df5c8b84"
SRC_URI[linuxsynths-obxd-patches1.sha256sum] = "246fccadd71bb9f0606a95bf7b0aee7807fd3a14f754367425423a51c31e160e"
@@ -30,7 +31,7 @@ SRC_URI[linuxsynths-vex-patches2.sha256sum] = "378cff261dab333c5f29246b6f3f557e0
REQUIRED_DISTRO_FEATURES = "x11 opengl"
inherit meson pkgconfig lv2-turtle-helper features_check pack_audio_plugins
inherit meson lv2-turtle-helper features_check pack_audio_plugins
DEPENDS += " \
virtual/libgl \
@@ -45,33 +46,61 @@ DEPENDS += " \
LV2_TTL_GENERATOR = "${B}/libs/lv2-ttl-generator/lv2_ttl_generator"
do_ttl_sed() {
sed -i 's|%PLUGIN_INFO_FILE%|${LV2_PLUGIN_INFO_FILE}|g' `find ${S} -name meson.build`
sed -i 's|$GEN ./$FILE|echo "`pwd`/$FILE" >> ${LV2_PLUGIN_INFO_FILE}|g' `find ${S}/scripts -name *.sh`
sed -i \
-e 's|lv2_ttl_generator,|'\''echo'\'', plugin_lv2_dir / plugin_name + lib_suffix, '\''>>'\'', '\''${LV2_PLUGIN_INFO_FILE}'\'',|g' \
${S}/ports-legacy/meson.build ${S}/ports/meson.build
}
EXTRA_OEMESON += " \
-Doptimizations=false \
"
do_configure_append() {
# Have no idea how to teach meson this properly...
sed -i 's|'\''>>'\''|>>|g' ${B}/build.ninja
}
do_install:append() {
# obxd-presets
do_install_append() {
# presets
install -d ${D}${libdir}/lv2
# obxd
for file in `find ${WORKDIR}/linuxsynths-obxd-patches -mindepth 1 -maxdepth 1` ; do
cp -rf $file ${D}${libdir}/lv2/
done
# vex-presets
# vex
for file in `find ${WORKDIR}/linuxsynths-vex-patches -mindepth 1 -maxdepth 1` ; do
cp -rf $file ${D}${libdir}/lv2/
done
# install ttl-generator and scripts for distrho-ports-extra
install -d ${D}${bindir}/scripts
install -m 755 ${B}/libs/lv2-ttl-generator/lv2_ttl_generator ${D}${bindir}
for file in `find ${S}/scripts -name '*.sh'` ; do
install -m 755 $file ${D}${bindir}/scripts
done
install -m 755 ${S}/scripts/make-project.lua ${D}${bindir}/scripts
# juce libs & headers for distrho-ports-extra
cp -r ${S}/libs ${D}${libdir}/
install -m 644 ${B}/libs/juced/libjuced.a ${D}${libdir}
install -m 644 ${B}/libs/juce-legacy/libjuce-legacy.a ${D}${libdir}
install -m 644 ${B}/libs/juce-current/libjuce-current.a ${D}${libdir}
}
PACKAGES =+ "${PN}-presets"
RDEPENDS:${PN}-presets = "${PN_LV2}"
# ttl-generator bindir for distrho-ports-extra
SYSROOT_DIRS_append = " ${bindir}"
FILES:${PN}-presets = " \
${libdir}/lv2/*.preset.lv2 \
${libdir}/lv2/*/presets.ttl \
${libdir}/lv2/Vitalium-unfa.lv2 \
PACKAGES =+ "${PN}-presets"
RDEPENDS_${PN}-presets = "${PN_LV2}"
FILES_${PN}-presets = "${libdir}/lv2/*.preset.lv2"
# dummy pack ttl-generator for distrho-ports-extra
PACKAGES =+ "${PN}-ttl-generator"
FILES_${PN}-ttl-generator += " \
${bindir}/lv2_ttl_generator \
${bindir}/scripts \
${libdir}/libs \
"
# ${PN}-ttl-generator is intented for build of distrho-ports-extra and
# definitely nothing to be installed on target
INSANE_SKIP_${PN}-ttl-generator = "file-rdeps"
# Have not found what causes stripping - debugging of plugins is unlikely
INSANE_SKIP:${PN} = "already-stripped"
INSANE_SKIP_${PN} = "already-stripped"

View File

@@ -0,0 +1,45 @@
From 6854821d70fb76a799d9535ec85abf4c43a21255 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
Date: Tue, 21 Jul 2020 20:21:58 +0200
Subject: [PATCH] Adjust build so ttl-generation is postponed
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Upstream-Status: Inappropriate [embedded-specific]
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
---
ports-legacy/meson.build | 2 +-
ports/meson.build | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/ports-legacy/meson.build b/ports-legacy/meson.build
index f72df49b..817e18c9 100644
--- a/ports-legacy/meson.build
+++ b/ports-legacy/meson.build
@@ -274,7 +274,7 @@ if plugin in get_option('plugins')
'mkdir', '-p', plugin_lv2_dir, '&&',
'cd', plugin_lv2_dir, '&&',
'cp', plugin_lv2_lib.full_path(), plugin_lv2_dir / plugin_name + lib_suffix, '&&',
- (meson.is_cross_build() ? 'wine' : 'env'), lv2_ttl_generator, '.' / plugin_name + lib_suffix,
+ 'echo', plugin_lv2_dir / plugin_name + lib_suffix, '>>', '/home/superandy/tmp/oe-core-glibc/work/cortexa7t2hf-neon-vfpv4-mortsgna-linux-gnueabi/distrho-ports/2020-07-14+gitAUTOINC+b1770b2258-r0/lv2-ttl-generator-data',
],
install: true,
install_dir: lv2dir,
diff --git a/ports/meson.build b/ports/meson.build
index 51e3ad93..e06370ab 100644
--- a/ports/meson.build
+++ b/ports/meson.build
@@ -220,7 +220,7 @@ foreach plugin : plugins
'mkdir', '-p', plugin_lv2_dir, '&&',
'cd', plugin_lv2_dir, '&&',
'cp', plugin_lv2_lib.full_path(), plugin_lv2_dir / plugin_name + lib_suffix, '&&',
- (meson.is_cross_build() ? 'wine' : 'env'), lv2_ttl_generator, '.' / plugin_name + lib_suffix,
+ lv2_ttl_generator,
],
install: true,
install_dir: lv2dir,
--
2.21.3

View File

@@ -1,45 +0,0 @@
From 649914c369578ef2a2db42ec02f4c1836b5eb8b7 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
Date: Fri, 30 Jul 2021 23:15:40 +0200
Subject: [PATCH] Modify ttl generation target so we can sed it to correct path
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Upstream-Status: Inappropriate[Configuration]
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
---
ports-legacy/meson.build | 2 +-
ports/meson.build | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/ports-legacy/meson.build b/ports-legacy/meson.build
index cc8a6001..5ebcdd45 100644
--- a/ports-legacy/meson.build
+++ b/ports-legacy/meson.build
@@ -281,7 +281,7 @@ if build_lv2 or build_vst2
'mkdir', '-p', plugin_lv2_dir, '&&',
'cd', plugin_lv2_dir, '&&',
'cp', plugin_lv2_lib.full_path(), plugin_lv2_dir / plugin_name + lib_suffix, '&&',
- (meson.is_cross_build() ? 'wine' : 'env'), lv2_ttl_generator, '.' / plugin_name + lib_suffix,
+ 'eval', 'echo', plugin_lv2_dir / plugin_name + lib_suffix, '>>', '%PLUGIN_INFO_FILE%',
],
install: true,
install_dir: lv2dir,
diff --git a/ports/meson.build b/ports/meson.build
index 248c4c71..d6a8ede1 100644
--- a/ports/meson.build
+++ b/ports/meson.build
@@ -224,7 +224,7 @@ foreach plugin : plugins
'mkdir', '-p', plugin_lv2_dir, '&&',
'cd', plugin_lv2_dir, '&&',
'mv', plugin_lv2_lib.full_path(), plugin_lv2_dir / plugin_name + lib_suffix, '&&',
- (meson.is_cross_build() ? 'wine' : 'env'), lv2_ttl_generator, '.' / plugin_name + lib_suffix,
+ 'eval', 'echo', plugin_lv2_dir / plugin_name + lib_suffix, '>>', '%PLUGIN_INFO_FILE%',
],
install: true,
install_dir: lv2dir,
--
2.31.1

View File

@@ -0,0 +1,52 @@
From f420c0b5754060bd4a93108a5c75a1ba4eed886e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
Date: Tue, 21 Jul 2020 21:31:47 +0200
Subject: [PATCH] make-project.lua: Adjust includepath to fix build of
DISTRHO-Ports-Extra
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
---
scripts/make-project.lua | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/scripts/make-project.lua b/scripts/make-project.lua
index a68a09eb..c7d074f5 100644
--- a/scripts/make-project.lua
+++ b/scripts/make-project.lua
@@ -124,7 +124,7 @@ function make_plugin_project(name, spec)
"../../../libs/juce-legacy/source",
"../../../libs/juce-legacy/source/modules",
"../../../libs/juce-plugin",
- "../../../libs/juce-plugin/juce-legacy"
+ "../../../libs/juce-legacy"
}
package.libpaths = {
@@ -156,8 +156,8 @@ end
function make_juce_lv2_project(name)
package = make_plugin_project(name, "LV2")
- package.config["Release"].links = { "juce-legacy" }
- package.config["Debug"].links = { "juce-legacy_debug" }
+ package.config["Release"].links = { "juce-current" }
+ package.config["Debug"].links = { "juce-current_debug" }
if (windows) then
package.links = { "comdlg32", "gdi32", "imm32", "ole32", "oleaut32", "shlwapi", "uuid", "version", "winmm", "wininet", "ws2_32" }
@@ -184,8 +184,8 @@ end
function make_juce_vst_project(name)
package = make_plugin_project(name, "VST")
- package.config["Release"].links = { "juce-legacy" }
- package.config["Debug"].links = { "juce-legacy_debug" }
+ package.config["Release"].links = { ""juce-legacy", juce-current" }
+ package.config["Debug"].links = { "juce-legacy_debug", "juce-current_debug" }
package.buildoptions = {
package.buildoptions,
--
2.21.3

View File

@@ -1,13 +1,13 @@
SUMMARY = "Collection of DPF-based plugins"
LICENSE = "ISC & GPL-2.0-only & GPL-3.0-only & LGPL-3.0-only & MIT"
LICENSE = "ISC & GPLv2 & GPLv3 & LGPLv3 & MIT"
LIC_FILES_CHKSUM = " \
file://LICENSE;md5=ec024abddfab2ee463c8c1ad98883d12 \
"
SRC_URI = "git://github.com/DISTRHO/DPF-Plugins.git;branch=master;protocol=https"
SRCREV = "014db6d4ef170b44653b1eb668686b624e4ae3f8"
SRC_URI = "git://github.com/DISTRHO/DPF-Plugins.git"
SRCREV = "86084a934adb26f529038cbcf901fd7a09b95897"
S = "${WORKDIR}/git"
PV = "v1.4"
PV = "v1.3+git${SRCPV}"
REQUIRED_DISTRO_FEATURES = "x11 opengl"
@@ -29,10 +29,6 @@ EXTRA_OEMAKE += " \
SKIP_STRIPPING=true \
"
do_ttl_sed() {
sed -i 's|${EXE_WRAPPER} "${GEN}" "./\x24{FILE}"|echo "`realpath "./$FILE"`" >> ${LV2_PLUGIN_INFO_FILE}|g' ${S}/dpf/utils/generate-ttl.sh
}
do_install() {
install -d ${D}${bindir}
for executable in `find ${S}/bin/ -executable -mindepth 1 -maxdepth 1 -type f ! -name '*.so'`; do
@@ -60,4 +56,4 @@ do_install() {
}
PACKAGES =+ "${PN}-standalone"
FILES:${PN}-standalone = "${bindir}"
FILES_${PN}-standalone = "${bindir}"

View File

@@ -4,7 +4,7 @@ LIC_FILES_CHKSUM = " \
file://LICENSE;md5=87cb0d450c5426796754d1261693dc57 \
"
SRC_URI = "git://github.com/DISTRHO/DPF.git;protocol=https;branch=master"
SRC_URI = "git://github.com/DISTRHO/DPF.git"
SRCREV = "14842be64ba309b8717592c5cf461925fa8a98af"
S = "${WORKDIR}/git"
PV = "0.0.0+git${SRCPV}"
@@ -20,7 +20,3 @@ do_install() {
install -d ${D}${bindir}
install -m 0755 ${S}/utils/lv2_ttl_generator ${D}${bindir}/lv2-ttl-generator
}
# There are cases we neet we need target versions
SYSROOT_DIRS:append:class-target = " ${bindir}"

View File

@@ -1,50 +0,0 @@
SUMMARY = "A set of free reverb effects"
HOMEPAGE = "https://github.com/michaelwillis/dragonfly-reverb"
LICENSE = "GPL-3.0-only"
LIC_FILES_CHKSUM = "file://LICENSE;md5=1ebbd3e34237af26da5dc08a4e440464"
REQUIRED_DISTRO_FEATURES = "x11 opengl"
inherit pkgconfig lv2-turtle-helper pack_audio_plugins features_check
DEPENDS += " \
virtual/libx11 \
virtual/libgl \
jack \
"
SRC_URI = "gitsm://github.com/michaelwillis/dragonfly-reverb.git;branch=master;protocol=https"
SRCREV = "465bfa2586a06ec9bd8684a84f402a275e8b65aa"
S = "${WORKDIR}/git"
PV = "3.2.6"
EXTRA_OEMAKE += " \
NOOPT=true \
SKIP_STRIPPING=true \
"
do_ttl_sed() {
sed -i 's|${EXE_WRAPPER} "${GEN}" "./\x24{FILE}"|echo "`realpath "./$FILE"`" >> ${LV2_PLUGIN_INFO_FILE}|g' ${S}/dpf/utils/generate-ttl.sh
}
do_install() {
install -d ${D}${bindir}
for executable in `find ${S}/bin/ -executable -mindepth 1 -maxdepth 1 -type f ! -name '*.so'`; do
install -m 755 $executable ${D}${bindir}
done
install -d ${D}${libdir}/lv2
for plugindir in `find ${S}/bin/ -maxdepth 1 -name *.lv2`; do
lv2dir=${D}${libdir}/lv2/`basename $plugindir`
install -d $lv2dir
for plugin in `find $plugindir -type f`; do
install -m 644 $plugin $lv2dir/
done
done
install -d ${D}${libdir}/vst
for plugin in `find ${S}/bin/ -name *vst.so`; do
install -m 644 $plugin ${D}${libdir}/vst/
done
}

View File

@@ -1,6 +1,6 @@
SUMMARY = "An LV2 sampler plugin that plays hydrogen drum kits "
HOMEPAGE = "https://github.com/nicklan/drmr"
LICENSE = "GPL-3.0-only"
LICENSE = "GPLv3"
LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
DEPENDS += " \
@@ -14,7 +14,7 @@ DEPENDS += " \
inherit cmake pkgconfig
SRC_URI = " \
git://github.com/nicklan/drmr.git;branch=lv2unstable;protocol=https \
git://github.com/nicklan/drmr.git;branch=lv2unstable \
file://0001-CMake-Keep-build-system-flags.patch \
"
SRCREV = "f244f3b09bb290dd6a4b9c14d4abaf69e9861f9d"
@@ -26,4 +26,4 @@ EXTRA_OECMAKE = " \
-DLV2_INSTALL_DIR:PATH=${baselib}/lv2 \
"
FILES:${PN} += "${libdir}/lv2"
FILES_${PN} += "${libdir}/lv2"

View File

@@ -1,10 +1,10 @@
SUMMARY = "Ganv is a Gtk widget for interactive graph-like environments"
DESCRIPTION = "Ganv is a Gtk widget for interactive graph-like environments, such as modular synthesizers or finite state machines"
HOMEPAGE = "http://drobilla.net/software/ganv"
LICENSE = "GPL-3.0-only"
LICENSE = "GPLv3"
LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
inherit waf pkgconfig
inherit waf
DEPENDS += " \
glib-2.0-native \
@@ -13,9 +13,9 @@ DEPENDS += " \
"
SRC_URI = " \
gitsm://gitlab.com/drobilla/ganv.git;protocol=https;branch=master \
gitsm://gitlab.com/drobilla/ganv.git;protocol=https \
file://0001-Fix-build-for-python3-only-environments.patch \
"
SRCREV = "17f58b94abf5e7b1ad7ea3c40d0cd1107298d41a"
SRCREV = "662bcbc0eceab2c3d4013efbd99861e451c8cf3b"
S = "${WORKDIR}/git"
PV = "1.8.0"
PV = "1.6.0"

View File

@@ -1,6 +1,6 @@
SUMMARY = "Ingen is a modular audio processing system for Jack and LV2 based systems"
HOMEPAGE = "http://drobilla.net/software/ingen"
LICENSE = "AGPL-3.0-only"
LICENSE = "AGPLv3"
LIC_FILES_CHKSUM = "file://COPYING;md5=73f1eb20517c55bf9493b7dd6e480788"
inherit waf pkgconfig gtk-icon-cache pack_audio_plugins python3native
@@ -16,7 +16,7 @@ DEPENDS += " \
"
SRC_URI = " \
gitsm://gitlab.com/drobilla/ingen.git;protocol=https;branch=master \
gitsm://gitlab.com/drobilla/ingen.git;protocol=https \
file://0001-Fix-build-for-python3-only-environments.patch \
"
SRCREV = "36949a845cf79e105445b9bc8656f2560469dc4d"
@@ -39,18 +39,18 @@ PACKAGES =+ "${PN}-standalone ${PN}-python"
FILES_SOLIBSDEV = "${libdir}/libingen-*${SOLIBSDEV}"
FILES:${PN} += " \
FILES_${PN} += " \
${libdir}/libingen_*.so \
"
FILES:${PN}-standalone = " \
FILES_${PN}-standalone = " \
${datadir}/applications \
${datadir}/icons \
${bindir}/ingen \
"
# pyton tools are not expected to work: we do not have rdflib yet
FILES:${PN}-python = " \
FILES_${PN}-python = " \
${bindir}/ingenams \
${bindir}/ingenish \
${PYTHON_SITEPACKAGES_DIR} \

View File

@@ -1,7 +1,7 @@
SUMMARY = "Jalv is a simple but fully featured LV2 host for Jack"
HOMEPAGE = "http://drobilla.net/software/jalv"
LICENSE = "ISC"
LIC_FILES_CHKSUM = "file://COPYING;md5=f6c5b43b95e2c2f1a006d1310332a8fb"
LIC_FILES_CHKSUM = "file://COPYING;md5=2b0c9f0c37e43f926aac5d7732f06dfb"
inherit waf pkgconfig gtk-icon-cache
@@ -20,13 +20,13 @@ DEPENDS += " \
"
SRC_URI = " \
gitsm://gitlab.com/drobilla/jalv.git;protocol=https;branch=master \
gitsm://gitlab.com/drobilla/jalv.git;protocol=https \
file://0001-Fix-build-for-python3-only-environments.patch \
"
SRCREV = "9ab6e66c6ea7230f716b74d62c03fc5d19f56abe"
SRCREV = "15f779a8603bc3f020e7000189900c52964771cd"
S = "${WORKDIR}/git"
PV = "1.6.6"
PV = "1.6.4+git${SRCPV}"
FILES:${PN} += " \
FILES_${PN} += " \
${libdir}/jack \
"

View File

@@ -1,6 +1,6 @@
SUMMARY = "MDA-LV2 is an LV2 port of the MDA plugins by Paul Kellett"
HOMEPAGE = "https://drobilla.net/software/mda-lv2"
LICENSE = "GPL-3.0-only"
LICENSE = "GPLv3"
LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
inherit waf features_check pkgconfig
@@ -10,16 +10,16 @@ REQUIRED_DISTRO_FEATURES = "x11"
DEPENDS = "lv2"
SRC_URI = " \
gitsm://gitlab.com/drobilla/mda-lv2.git;protocol=https;branch=master \
gitsm://gitlab.com/drobilla/mda-lv2.git;protocol=https \
file://0001-Fix-build-for-python3-only-environments.patch \
"
SRCREV = "19752af61234581e0f73db539d5609ab14b3d928"
PV = "1.2.6"
SRCREV = "1761c1c97a4a4b9b5dc1bbb5b2784bafa8c7d2d5"
PV = "1.2.4"
S = "${WORKDIR}/git"
EXTRA_OECONF = " \
--lv2dir=${libdir}/lv2 \
"
FILES:${PN} += "${libdir}/lv2"
FILES_${PN} += "${libdir}/lv2"

View File

@@ -1,7 +1,7 @@
SUMMARY = "Patchage is a modular patch bay for audio and MIDI systems"
DESCRIPTION = "Patchage is a modular patch bay for audio and MIDI systems based on Jack and Alsa"
HOMEPAGE = "http://drobilla.net/software/patchage"
LICENSE = "GPL-3.0-only"
LICENSE = "GPLv3"
LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
inherit waf gtk-icon-cache pkgconfig
@@ -13,9 +13,9 @@ DEPENDS += " \
"
SRC_URI = " \
gitsm://gitlab.com/drobilla/patchage.git;protocol=https;branch=master \
gitsm://gitlab.com/drobilla/patchage.git;protocol=https \
file://0001-Fix-build-for-python3-only-environments.patch \
"
SRCREV = "1eed3df05526b22d716a2f89f166804f894ac5b1"
PV = "1.0.6"
SRCREV = "b69c3bac42c9cf5cfcd79bce3363b4343bf0cd2e"
PV = "1.0.2"
S = "${WORKDIR}/git"

View File

@@ -1,13 +1,13 @@
SUMMARY = "Raul is a utility library primarily aimed at audio/musical applications"
DESCRIPTION = "Raul (Realtime Audio Utility Library) is a C++ utility library primarily aimed at audio/musical applications"
HOMEPAGE = "https://drobilla.net/software/raul"
LICENSE = "GPL-3.0-only"
LICENSE = "GPLv3"
LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
inherit waf pkgconfig
inherit waf
SRC_URI = " \
gitsm://github.com/drobilla/raul.git;protocol=https;branch=master \
gitsm://gitlab.com/drobilla/raul.git;protocol=https \
file://0001-Fix-build-for-python3-only-environments.patch \
"
SRCREV = "e87bb398f025912fb989a09f1450b838b251aea1"

View File

@@ -1,13 +1,14 @@
SUMMARY = "C library for RDF syntax which supports accessing Turtle and NTriples"
HOMEPAGE = "http://drobilla.net/software/serd"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://COPYING;md5=b698a6a2120a83eecb34a9c6f1b93989"
LIC_FILES_CHKSUM = "file://COPYING;md5=7aceb3a3edc99517b08f5cdd557e11fb"
inherit waf pkgconfig
inherit waf
PV = "0.30.12"
SRC_URI = " \
http://download.drobilla.net/${BPN}-${PV}.tar.bz2 \
gitsm://gitlab.com/drobilla/serd.git;protocol=https \
file://0001-Fix-build-for-python3-only-environments.patch \
"
SRC_URI[sha256sum] = "9f9dab4125d88256c1f694b6638cbdbf84c15ce31003cd83cb32fb2192d3e866"
SRCREV = "227565f5be637d4d5db231f8860ee24c610ddad7"
S = "${WORKDIR}/git"
PV = "0.30.4"

View File

@@ -1,15 +1,16 @@
SUMMARY = "C library for storing RDF data in memory"
HOMEPAGE = "http://drobilla.net/software/sord"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://COPYING;md5=b698a6a2120a83eecb34a9c6f1b93989"
LIC_FILES_CHKSUM = "file://COPYING;md5=6b8d060e6d32fbd53684f9dc0443b6a3"
inherit waf pkgconfig
DEPENDS += "libpcre serd"
PV = "0.16.10"
SRC_URI = " \
http://download.drobilla.net/${BPN}-${PV}.tar.bz2 \
gitsm://gitlab.com/drobilla/sord.git;protocol=https \
file://0001-Fix-build-for-python3-only-environments.patch \
"
SRC_URI[sha256sum] = "9c70b3fbbb0c5c7bf761ef66c3d5b939ab45ad063e055990f17f40f1f6f96572"
SRCREV = "834610cd3faceff24c083738dbe88a56d412368c"
S = "${WORKDIR}/git"
PV = "0.16.4+git${SRCPV}"

View File

@@ -1,6 +1,6 @@
SUMMARY = "DrumGizmo drumkit editor"
HOMEPAGE = "https://www.drumgizmo.org"
LICENSE = "LGPL-3.0-only"
LICENSE = "LGPLv3"
LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
DEPENDS += " \

View File

@@ -3,7 +3,7 @@ require ${BPN}.inc
inherit native
do_compile() {
${CXX} ${CXXFLAGS} -I${S}/getoptpp -o ${S}/drumgizmo-rcgen ${S}/plugingui/rcgen.cc ${LDFLAGS}
${CXX} ${CXXFLAGS} -o ${S}/drumgizmo-rcgen ${S}/plugingui/rcgen.cc $(LDFLAGS)
}
do_install() {

View File

@@ -20,7 +20,7 @@ SRC_URI += " \
file://0001-automake-enable-subdir-objects.patch \
file://0002-Use-native-rcgen.patch \
file://0003-Do-not-create-Manifest.ttl-with-cross-ttlgen.patch \
file://0004-Do-not-perform-tests-they-don-t-work-cross.patch \
file://0004-Fix-build-with-lv2-1.1.18.patch \
file://drumgizmo.desktop \
"
@@ -31,13 +31,13 @@ EXTRA_OECONF = " \
--disable-sse \
"
do_compile:append() {
do_compile_append() {
# build manifest.ttl
cd ${B}/plugin
${@qemu_run_binary_local(d, '${STAGING_DIR_TARGET}', 'ttlgen')} .libs/drumgizmo.so manifest.ttl || echo "ERROR: at QEMU for ttlgen"
}
do_install:append() {
do_install_append() {
install -d ${D}${datadir}/pixmaps
install -m 0644 ${S}/plugingui/resources/logo.png ${D}${datadir}/pixmaps/drumgizmo-logo.png
@@ -45,4 +45,4 @@ do_install:append() {
install -m 0644 ${WORKDIR}/${BPN}.desktop ${D}${datadir}/applications/
}
FILES:${PN} += "${libdir}/lv2"
FILES_${PN} += "${libdir}/lv2"

View File

@@ -1,11 +1,9 @@
SUMMARY = "DrumGizmo is drum plugin and stand-alone application"
HOMEPAGE = "https://www.drumgizmo.org"
LICENSE = "LGPL-3.0-only"
LICENSE = "LGPLv3"
LIC_FILES_CHKSUM = "file://COPYING;md5=e6a600fd5e1d9cbde2d983680233ad02"
SRC_URI = " \
http://www.drumgizmo.org/releases/${BPN}-${PV}/${BPN}-${PV}.tar.gz \
file://0001-Fix-build-with-gcc11.patch \
"
SRC_URI[sha256sum] = "7426f38b58fbb82d3eada60c204d74e6c5de31ef424c017e3f890117e146a2a3"
PV = "0.9.19"
SRC_URI = "http://www.drumgizmo.org/releases/${BPN}-${PV}/${BPN}-${PV}.tar.gz"
SRC_URI[md5sum] = "fb2340ab61062e0814f4539657dc14ec"
SRC_URI[sha256sum] = "67a2d9d4aa11ee92f000cc8a49710408c2328b2581a5339be3cbfe91d99feb2e"
PV = "0.9.18.1"

View File

@@ -1,31 +0,0 @@
From 15eefcf7d4db242b1bc00db00194475646d4313d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
Date: Fri, 8 Jan 2021 17:00:44 +0100
Subject: [PATCH] Do not perform tests - they don't work cross
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Upstream-Status: Inappropriate [oe-specific]
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
---
Makefile.am | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/Makefile.am b/Makefile.am
index 4196db7..87c401e 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -1,6 +1,6 @@
AUTOMAKE_OPTIONS = gnu
-SUBDIRS = tools src plugingui plugin drumgizmo man test
-DISTDIRS = tools src plugingui plugin drumgizmo man test
+SUBDIRS = tools src plugingui plugin drumgizmo man
+DISTDIRS = tools src plugingui plugin drumgizmo man
EXTRA_DIST = \
version.h \
--
2.26.2

View File

@@ -1,32 +0,0 @@
From 584273e28bceb0b52b5b852b56950a04a4fcc4a2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
Date: Sat, 8 May 2021 15:42:48 +0200
Subject: [PATCH] Fix build with gcc11
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
| translation.h:35:6: error: 'uint64_t' in namespace 'std' does not name a type; did you mean 'wint_t'?
| 35 | std::uint64_t constexpr const_hash(const char* input)
| | ^~~~~~~~
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
---
src/translation.h | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/translation.h b/src/translation.h
index 7f506a6..43545b0 100644
--- a/src/translation.h
+++ b/src/translation.h
@@ -31,6 +31,7 @@
#ifdef WITH_NLS
#include <memory>
+#include <cstdint>
std::uint64_t constexpr const_hash(const char* input)
{
--
2.30.2

View File

@@ -14,18 +14,18 @@ Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/plugingui/Makefile.am b/plugingui/Makefile.am
index d102024..8a4a677 100644
index dd36783..ca30e84 100644
--- a/plugingui/Makefile.am
+++ b/plugingui/Makefile.am
@@ -71,7 +71,7 @@ BUILT_SOURCES = \
$(NLS_RES)
@@ -28,7 +28,7 @@ RES = \
../COPYING
resource_data.cc: rcgen$(EXEEXT) $(RES) $(NLS_RES)
- $(rcgen_verbose)./rcgen$(EXEEXT) -s $(top_srcdir)/plugingui/ -s $(top_builddir)/plugingui/ -o $@ $(RES) $(NLS_RES)
+ drumgizmo-rcgen -s $(top_srcdir)/plugingui/ -s $(top_builddir)/plugingui/ -o $@ $(RES) $(NLS_RES)
resource_data.cc : rcgen $(RES)
- ./rcgen $(RES) > resource_data.cc
+ drumgizmo-rcgen $(RES) > resource_data.cc
CLEANFILES = \
resource_data.cc \
libdggui_la_CPPFLAGS = \
$(GUI_CPPFLAGS) \
--
2.26.2
2.14.3

View File

@@ -14,18 +14,18 @@ Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/plugin/Makefile.am b/plugin/Makefile.am
index f382acc..2181854 100644
index 6c0d324..5b36f21 100644
--- a/plugin/Makefile.am
+++ b/plugin/Makefile.am
@@ -75,7 +75,7 @@ ttlgen_verbose_ = $(ttlgen_verbose_@AM_DEFAULT_V@)
ttlgen_verbose_0 = @echo " TTLGEN "$@;
@@ -66,7 +66,7 @@ UITYPE=CocoaUI
endif
manifest.ttl : ttlgen drumgizmo.la
- $(ttlgen_verbose)./ttlgen .libs/drumgizmo.so manifest.ttl $(UITYPE) > /dev/null
+ echo $(ttlgen_verbose)./ttlgen .libs/drumgizmo.so manifest.ttl $(UITYPE) > /dev/null
- ./ttlgen .libs/drumgizmo.so manifest.ttl $(UITYPE)
+ echo ./ttlgen .libs/drumgizmo.so manifest.ttl $(UITYPE)
#######
--
2.26.2
2.21.0

View File

@@ -0,0 +1,63 @@
From 69a7bfe770436964140d310288991dfb08c42ff9 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
Date: Thu, 21 May 2020 22:48:18 +0200
Subject: [PATCH] Fix build with lv2 >= 1.1.18
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Upstream-Status: Pending
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
---
plugin/plugingizmo/pluginlv2.cc | 4 ++--
plugin/plugingizmo/pluginlv2.h | 4 ++--
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/plugin/plugingizmo/pluginlv2.cc b/plugin/plugingizmo/pluginlv2.cc
index d12c0e7..afcd7ab 100644
--- a/plugin/plugingizmo/pluginlv2.cc
+++ b/plugin/plugingizmo/pluginlv2.cc
@@ -86,7 +86,7 @@ void PluginLV2::setLatency(float latency)
}
}
-LV2_Handle PluginLV2::instantiate(const struct _LV2_Descriptor* descriptor,
+LV2_Handle PluginLV2::instantiate(const struct LV2_Descriptor* descriptor,
double sample_rate,
const char* bundle_path,
const LV2_Feature *const *features)
@@ -616,7 +616,7 @@ const void* PluginLV2::extensionData(const char *uri)
//
// GUI
//
-LV2UI_Handle PluginLV2::uiInstantiate(const struct _LV2UI_Descriptor*descriptor,
+LV2UI_Handle PluginLV2::uiInstantiate(const struct LV2UI_Descriptor*descriptor,
const char * plugin_uri,
const char * bundle_path,
LV2UI_Write_Function write_function,
diff --git a/plugin/plugingizmo/pluginlv2.h b/plugin/plugingizmo/pluginlv2.h
index 8365de7..3955710 100644
--- a/plugin/plugingizmo/pluginlv2.h
+++ b/plugin/plugingizmo/pluginlv2.h
@@ -192,7 +192,7 @@ public:
void closeWindow() override;
public:
- static LV2_Handle instantiate(const struct _LV2_Descriptor* descriptor,
+ static LV2_Handle instantiate(const struct LV2_Descriptor* descriptor,
double sample_rate,
const char* bundle_path,
const LV2_Feature* const * features);
@@ -222,7 +222,7 @@ public:
uint32_t flags,
const LV2_Feature *const * features);
- static LV2UI_Handle uiInstantiate(const struct _LV2UI_Descriptor * descriptor,
+ static LV2UI_Handle uiInstantiate(const struct LV2UI_Descriptor * descriptor,
const char * plugin_uri,
const char * bundle_path,
LV2UI_Write_Function write_function,
--
2.21.1

View File

@@ -1,6 +1,6 @@
SUMMARY = "DSSI plugin wrapper for VST plugins"
HOMEPAGE = "http://breakfastquay.com/dssi-vst/"
LICENSE = "LGPL-2.0-only"
LICENSE = "LGPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=3523f03012c30f3347df42d632e5762c"
inherit pkgconfig
@@ -14,7 +14,7 @@ DEPENDS += " \
zlib \
"
SRC_URI = "git://github.com/falkTX/dssi-vst.git;branch=master;protocol=https"
SRC_URI = "git://github.com/falkTX/dssi-vst.git"
SRCREV = "9462b34563af84b452795d4924d4f18af9072529"
S = "${WORKDIR}/git"
PV = "0.9.2+git${SRCPV}"
@@ -33,9 +33,9 @@ do_install() {
install -m 755 ${S}/dssi-vst_gui ${D}${libdir}/dssi/dssi-vst
}
INSANE_SKIP:${PN} = "dev-so"
INSANE_SKIP_${PN} = "dev-so"
FILES:${PN} += " \
FILES_${PN} += " \
${libdir}/ladspa \
${libdir}/dssi \
"

View File

@@ -1,6 +1,6 @@
SUMMARY = "DSSI is an audio plugin API for soft synths and effects"
HOMEPAGE = "http://dssi.sourceforge.net"
LICENSE = "LGPL-2.1-only"
LICENSE = "LGPLv2.1"
LIC_FILES_CHKSUM = "file://COPYING;md5=9f46aa1ea6e91bb339e8fa2f11d17e4d"
inherit autotools pkgconfig
@@ -18,7 +18,7 @@ SRC_URI[md5sum] = "619ab73c883b02dc37ddb37001591f8b"
SRC_URI[sha256sum] = "f2c82b073a947c8255284249097667f9b14e660bf86186f3fcd3b3b3e087814e"
PACKAGES =+ "${PN}-examples"
FILES:${PN}-examples = " \
FILES_${PN}-examples = " \
${bindir}/dssi_* \
${bindir}/karplong \
${bindir}/*trivial* \

View File

@@ -1,28 +0,0 @@
SUMMARY = "A free software percussion synthesizer"
HOMEPAGE = "https://gitlab.com/iurie-sw/geonkick"
LICENSE = "GPL-3.0-only"
LIC_FILES_CHKSUM = "file://LICENSE;md5=84dcc94da3adb52b53ae4fa38fe49e5d"
inherit cmake pkgconfig mime mime-xdg gtk-icon-cache
DEPENDS += " \
libsndfile1 \
rapidjson \
jack \
lv2 \
"
SRC_URI = "git://gitlab.com/iurie-sw/geonkick;protocol=https;branch=main"
SRCREV = "ce95f97363de78cc0cc0f0830f965ecced59195d"
PV = "2.9.1"
S = "${WORKDIR}/git"
EXTRA_OECMAKE = " \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DGKICK_ARCHITECTURE=${TARGET_ARCH} \
"
FILES:${PN} += " \
${datadir}/mime \
${libdir}/lv2 \
"

View File

@@ -1,16 +0,0 @@
SUMMARY = "Redkite is a small free software GUI toolkit"
LICENSE = "GPL-3.0-only"
LIC_FILES_CHKSUM = "file://LICENSE;md5=84216b5b30fa50e81f28b8f28feb2e10"
DEPENDS = "cairo"
inherit cmake features_check
REQUIRED_DISTRO_FEATURES = "x11"
SRC_URI = "git://github.com/iurie-sw/redkite.git;branch=master;protocol=https"
SRCREV = "5ff4841320716e93a27b5be7c8557df8b333492a"
PV = "1.3.1"
S = "${WORKDIR}/git"
BBCLASSEXTEND = "native"

View File

@@ -1,17 +1,17 @@
SUMMARY = "GTK+ application that shows MIDI events"
LICENSE = "LGPL-2.0-only & PD"
LICENSE = "LGPLv2 & PD"
LIC_FILES_CHKSUM = " \
file://COPYING;md5=f1e8b3e96c0abf4e3abb3b0f8e8eaf7f \
file://COPYING.icon;md5=1d49e879912b1ea962200c42d117ca6c \
"
inherit meson pkgconfig gtk-icon-cache
inherit meson gtk-icon-cache
DEPENDS += " \
gtk+3 \
jack \
"
SRC_URI = "git://github.com/schnitzeltony/gmidimonitor.git;branch=master;protocol=https"
SRC_URI = "git://github.com/schnitzeltony/gmidimonitor.git"
SRCREV = "af366f49970ed91a414e5b832a13436417be4bdb"
S = "${WORKDIR}/git"

View File

@@ -1,19 +1,18 @@
SUMMARY = "A virtual guitar amplifier"
HOMEPAGE = "http://guitarix.org/"
LICENSE = "GPL-2.0-only"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=384f45fb7968a0fe30622ce6160d3b69"
SRC_URI = " \
git://github.com/brummer10/guitarix.git;branch=master;protocol=https \
git://github.com/brummer10/guitarix.git \
file://0001-Rework-messages-somehow-yes-or-no-is-missing.patch \
file://0002-Do-not-strip-LV2-plugins.patch \
file://0003-gx_system.h-Make-sure-we-have-a-working-g_atomic_int.patch \
"
SRCREV = "efccbd14afb5a85be142319b94be088b9cf1d5fd"
PV = "0.44.1"
SRCREV = "9e6dbe30cb5fc226e5d3c02190f1bce0b3fde539"
PV = "0.40.0+git${SRCPV}"
S = "${WORKDIR}/git/trunk"
inherit waf pkgconfig fontcache gettext
inherit waf fontcache gettext
DEPENDS += " \
gperf-native \
@@ -50,18 +49,18 @@ EXTRA_OECONF = " \
python waf_preconfigure() {
}
PATH:prepend = "${B}:"
PATH_prepend = "${B}:"
do_configure:prepend() {
do_configure_prepend() {
# link python -> python3
ln -sf `which python3` ${B}/python
}
do_compile:prepend() {
do_compile_prepend() {
export STRIP=echo
}
do_install:append() {
do_install_append() {
# some corrections [dev-elf] - inspired by https://src.fedoraproject.org/rpms/guitarix/blob/master/f/guitarix.spec
chmod 755 ${D}${libdir}/libgxw*.so.0.1
rm -rf ${D}${libdir}/libgxw*.so
@@ -69,9 +68,8 @@ do_install:append() {
ln -sf libgxw.so.0.1 ${D}${libdir}/libgxw.so
}
FILES:${PN} += " \
FILES_${PN} += " \
${datadir}/fonts \
${datadir}/metainfo \
${datadir}/gx_head \
${datadir}/ladspa \
${libdir}/ladspa \

Some files were not shown because too many files have changed in this diff Show More