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
193 changed files with 5035 additions and 2246 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,4 +0,0 @@
# * yeah I know yocto does not want us to change this
# * we have to do this to avoid our qttools change break qt5-creator
PACKAGECONFIG_append = " ${@bb.utils.contains('BBFILE_COLLECTIONS', 'clang-layer', ' clang', '', d)}"

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

@@ -121,13 +121,8 @@ 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

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

@@ -7,15 +7,17 @@ QT_TRANSLATION_FILES ??= "${datadir}/*/translations/*.qm ${datadir}/*/translatio
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,7 +51,7 @@ 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))
@@ -61,7 +63,7 @@ python qt_do_split_locales() {
if 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 "

View File

@@ -6,11 +6,6 @@ BBFILES += "${LAYERDIR}/recipes-*/*.bb ${LAYERDIR}/recipes-*/*/*.bb ${LAYERDIR}/
# appends
BBFILES += "${LAYERDIR}/appends/*/*.bbappend"
BBFILES_DYNAMIC += "\
rust-layer:${LAYERDIR}/dynamic-layers/meta-rust/*.bb \
"
BBFILE_COLLECTIONS += "meta-musicians"
BBFILE_PATTERN_meta-musicians := "^${LAYERDIR}/"
BBFILE_PRIORITY_meta-musicians = "20"
@@ -25,4 +20,4 @@ LAYERDEPENDS_meta-musicians = " \
meta-python \
qt5-layer \
"
LAYERSERIES_COMPAT_meta-musicians = "dunfell gatesgarth hardknott"
LAYERSERIES_COMPAT_meta-musicians = "zeus dunfell"

View File

@@ -1,18 +0,0 @@
SUMMARY = "Lightweight Spotify client using Qt"
HOMEPAGE = "https://github.com/kraxarn/spotify-qt"
LICENSE = "GPLv3"
LIC_FILES_CHKSUM = "file://license;md5=e49f4652534af377a713df3d9dec60cb"
SRC_URI = "git://github.com/kraxarn/spotify-qt.git"
SRCREV = "684ec3b0f0c919ab9273f73283cfae04ee49c679"
S = "${WORKDIR}/git"
PV = "3.6"
DEPENDS = " \
qtbase \
qtsvg \
"
inherit cmake_qt5 gtk-icon-cache
RRECOMMENDS_${PN} = "spotifyd"

View File

@@ -1,414 +0,0 @@
SUMMARY = "A Spotify daemon"
HOMEPAGE = "https://github.com/Spotifyd/spotifyd"
LICENSE = "GPLv3"
LIC_FILES_CHKSUM = "file://LICENSE;md5=84dcc94da3adb52b53ae4fa38fe49e5d"
python() {
if 'rust-layer' not in d.getVar('BBFILE_COLLECTIONS').split():
raise bb.parse.SkipRecipe('Requires meta-rust to be present.')
}
DEPENDS = " \
alsa-lib \
libogg \
openssl \
dbus \
"
inherit cargo
SRC_URI = "git://github.com/Spotifyd/spotifyd.git"
SRCREV = "27ce5ac95c3a9b8de84bc4c0969a942fda2e2ad0"
S = "${WORKDIR}/git"
# crate ruins SRCPV so set PV manually
#PV = "0.2.24+git133a1199"
PV = "0.3.0"
# No unconditional start on each boot
#do_install_append() {
# install -d ${D}${systemd_user_unitdir}
# install -m 644 ${S}/contrib/spotifyd.service ${D}${systemd_user_unitdir}
#}
PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'pulseaudio', d)}"
PACKAGECONFIG[pulseaudio] = ",,pulseaudio"
PACKAGECONFIG[portaudio] = ",,portaudio"
CARGO_BUILD_FLAGS += "--features dbus_mpris,dbus_keyring,alsa_backend${@bb.utils.contains('PACKAGECONFIG', 'pulseaudio', ',pulseaudio_backend', '', d)}${@bb.utils.contains('PACKAGECONFIG', 'portaudio', ',portaudio_backend', '', d)}"
FILES_${PN} += "${systemd_user_unitdir}"
############################################################################
# The following parts were auto-generated by cargo-bitbake - have no idea
CARGO_SRC_DIR = ""
SRC_URI += " \
crate://crates.io/aes-ctr/0.3.0 \
crate://crates.io/aes-soft/0.3.3 \
crate://crates.io/aes/0.3.2 \
crate://crates.io/aesni/0.6.0 \
crate://crates.io/aho-corasick/0.7.6 \
crate://crates.io/alga/0.9.2 \
crate://crates.io/alsa-sys/0.1.2 \
crate://crates.io/alsa/0.2.2 \
crate://crates.io/alsa/0.3.0 \
crate://crates.io/ansi_term/0.11.0 \
crate://crates.io/anyhow/1.0.26 \
crate://crates.io/approx/0.3.2 \
crate://crates.io/arc-swap/0.4.4 \
crate://crates.io/atty/0.2.14 \
crate://crates.io/autocfg/0.1.7 \
crate://crates.io/autocfg/1.0.0 \
crate://crates.io/backtrace-sys/0.1.32 \
crate://crates.io/backtrace/0.3.40 \
crate://crates.io/base64/0.10.1 \
crate://crates.io/base64/0.11.0 \
crate://crates.io/base64/0.9.3 \
crate://crates.io/bindgen/0.51.1 \
crate://crates.io/bit-set/0.5.1 \
crate://crates.io/bit-vec/0.5.1 \
crate://crates.io/bitflags/0.9.1 \
crate://crates.io/bitflags/1.2.1 \
crate://crates.io/block-buffer/0.7.3 \
crate://crates.io/block-buffer/0.9.0 \
crate://crates.io/block-cipher-trait/0.6.2 \
crate://crates.io/block-modes/0.3.3 \
crate://crates.io/block-padding/0.1.5 \
crate://crates.io/boxfnonce/0.1.1 \
crate://crates.io/bumpalo/3.2.0 \
crate://crates.io/byte-tools/0.3.1 \
crate://crates.io/byteorder/1.3.2 \
crate://crates.io/bytes/0.4.12 \
crate://crates.io/bytes/0.5.4 \
crate://crates.io/c2-chacha/0.2.3 \
crate://crates.io/cc/1.0.50 \
crate://crates.io/cexpr/0.3.6 \
crate://crates.io/cfg-if/0.1.10 \
crate://crates.io/chrono/0.4.11 \
crate://crates.io/clang-sys/0.28.1 \
crate://crates.io/clap/2.33.0 \
crate://crates.io/cloudabi/0.0.3 \
crate://crates.io/core-foundation-sys/0.5.1 \
crate://crates.io/core-foundation-sys/0.6.2 \
crate://crates.io/core-foundation-sys/0.7.0 \
crate://crates.io/core-foundation/0.6.4 \
crate://crates.io/core-foundation/0.7.0 \
crate://crates.io/coreaudio-rs/0.9.1 \
crate://crates.io/coreaudio-sys/0.2.3 \
crate://crates.io/cpal/0.8.2 \
crate://crates.io/cpuid-bool/0.1.2 \
crate://crates.io/crossbeam-deque/0.7.2 \
crate://crates.io/crossbeam-epoch/0.8.0 \
crate://crates.io/crossbeam-queue/0.1.2 \
crate://crates.io/crossbeam-utils/0.6.6 \
crate://crates.io/crossbeam-utils/0.7.0 \
crate://crates.io/crypto-mac/0.7.0 \
crate://crates.io/ctr/0.3.2 \
crate://crates.io/daemonize/0.4.1 \
crate://crates.io/darling/0.9.0 \
crate://crates.io/darling_core/0.9.0 \
crate://crates.io/darling_macro/0.9.0 \
crate://crates.io/dbus-tokio/0.2.1 \
crate://crates.io/dbus/0.2.3 \
crate://crates.io/dbus/0.6.5 \
crate://crates.io/derefable/0.1.0 \
crate://crates.io/derive_builder/0.7.2 \
crate://crates.io/derive_builder_core/0.5.0 \
crate://crates.io/digest/0.8.1 \
crate://crates.io/digest/0.9.0 \
crate://crates.io/dotenv/0.13.0 \
crate://crates.io/dtoa/0.4.4 \
crate://crates.io/either/1.5.3 \
crate://crates.io/encoding_rs/0.8.22 \
crate://crates.io/env_logger/0.6.2 \
crate://crates.io/env_logger/0.7.1 \
crate://crates.io/error-chain/0.11.0 \
crate://crates.io/error-chain/0.12.1 \
crate://crates.io/failure/0.1.7 \
crate://crates.io/failure_derive/0.1.7 \
crate://crates.io/fake-simd/0.1.2 \
crate://crates.io/fern/0.6.0 \
crate://crates.io/fnv/1.0.6 \
crate://crates.io/foreign-types-shared/0.1.1 \
crate://crates.io/foreign-types/0.3.2 \
crate://crates.io/fuchsia-cprng/0.1.1 \
crate://crates.io/fuchsia-zircon-sys/0.3.3 \
crate://crates.io/fuchsia-zircon/0.3.3 \
crate://crates.io/futures-channel/0.3.4 \
crate://crates.io/futures-core/0.3.4 \
crate://crates.io/futures-cpupool/0.1.8 \
crate://crates.io/futures-executor/0.3.4 \
crate://crates.io/futures-io/0.3.4 \
crate://crates.io/futures-macro/0.3.4 \
crate://crates.io/futures-sink/0.3.4 \
crate://crates.io/futures-task/0.3.4 \
crate://crates.io/futures-util/0.3.4 \
crate://crates.io/futures/0.1.29 \
crate://crates.io/futures/0.3.4 \
crate://crates.io/gcc/0.3.55 \
crate://crates.io/generic-array/0.12.3 \
crate://crates.io/generic-array/0.14.4 \
crate://crates.io/gethostname/0.2.1 \
crate://crates.io/getopts/0.2.21 \
crate://crates.io/getrandom/0.1.14 \
crate://crates.io/glob/0.3.0 \
crate://crates.io/h2/0.2.1 \
crate://crates.io/heck/0.3.1 \
crate://crates.io/hermit-abi/0.1.6 \
crate://crates.io/hex/0.3.2 \
crate://crates.io/hex/0.4.2 \
crate://crates.io/hkdf/0.8.0 \
crate://crates.io/hmac/0.7.1 \
crate://crates.io/http-body/0.3.1 \
crate://crates.io/http/0.2.0 \
crate://crates.io/httparse/1.3.4 \
crate://crates.io/humantime/1.3.0 \
crate://crates.io/hyper-proxy/0.4.1 \
crate://crates.io/hyper-tls/0.4.1 \
crate://crates.io/hyper/0.11.27 \
crate://crates.io/hyper/0.13.2 \
crate://crates.io/ident_case/1.0.1 \
crate://crates.io/idna/0.1.5 \
crate://crates.io/idna/0.2.0 \
crate://crates.io/indexmap/1.3.0 \
crate://crates.io/iovec/0.1.4 \
crate://crates.io/itertools/0.8.2 \
crate://crates.io/itoa/0.4.4 \
crate://crates.io/js-sys/0.3.35 \
crate://crates.io/kernel32-sys/0.2.2 \
crate://crates.io/keyring/0.9.0 \
crate://crates.io/language-tags/0.2.2 \
crate://crates.io/lazy_static/1.4.0 \
crate://crates.io/lewton/0.9.4 \
crate://crates.io/libc/0.2.73 \
crate://crates.io/libdbus-sys/0.2.1 \
crate://crates.io/libloading/0.5.2 \
crate://crates.io/libm/0.1.4 \
crate://crates.io/libmdns/0.2.4 \
crate://crates.io/libpulse-sys/0.0.0 \
crate://crates.io/librespot-audio/0.1.1 \
crate://crates.io/librespot-connect/0.1.1 \
crate://crates.io/librespot-core/0.1.1 \
crate://crates.io/librespot-metadata/0.1.1 \
crate://crates.io/librespot-playback/0.1.1 \
crate://crates.io/librespot-protocol/0.1.1 \
crate://crates.io/librespot-tremor/0.1.0 \
crate://crates.io/librespot/0.1.1 \
crate://crates.io/linear-map/1.2.0 \
crate://crates.io/lock_api/0.3.3 \
crate://crates.io/log/0.3.9 \
crate://crates.io/log/0.4.8 \
crate://crates.io/matches/0.1.8 \
crate://crates.io/matrixmultiply/0.2.3 \
crate://crates.io/maybe-uninit/2.0.0 \
crate://crates.io/memchr/2.3.0 \
crate://crates.io/memoffset/0.5.3 \
crate://crates.io/mime/0.3.16 \
crate://crates.io/mime_guess/2.0.1 \
crate://crates.io/mio-named-pipes/0.1.6 \
crate://crates.io/mio-uds/0.6.7 \
crate://crates.io/mio/0.6.21 \
crate://crates.io/miow/0.2.1 \
crate://crates.io/miow/0.3.3 \
crate://crates.io/multimap/0.4.0 \
crate://crates.io/nalgebra/0.18.1 \
crate://crates.io/native-tls/0.2.3 \
crate://crates.io/net2/0.2.33 \
crate://crates.io/nix/0.10.0 \
crate://crates.io/nix/0.14.1 \
crate://crates.io/nix/0.9.0 \
crate://crates.io/nom/4.2.3 \
crate://crates.io/num-bigint/0.2.5 \
crate://crates.io/num-complex/0.2.4 \
crate://crates.io/num-integer/0.1.42 \
crate://crates.io/num-iter/0.1.40 \
crate://crates.io/num-rational/0.2.3 \
crate://crates.io/num-traits/0.2.11 \
crate://crates.io/num/0.2.1 \
crate://crates.io/num_cpus/1.11.1 \
crate://crates.io/ogg-sys/0.0.9 \
crate://crates.io/ogg/0.7.0 \
crate://crates.io/opaque-debug/0.2.3 \
crate://crates.io/opaque-debug/0.3.0 \
crate://crates.io/openssl-probe/0.1.2 \
crate://crates.io/openssl-sys/0.9.53 \
crate://crates.io/openssl/0.10.26 \
crate://crates.io/parking_lot/0.9.0 \
crate://crates.io/parking_lot_core/0.6.2 \
crate://crates.io/pbkdf2/0.3.0 \
crate://crates.io/peeking_take_while/0.1.2 \
crate://crates.io/percent-encoding/1.0.1 \
crate://crates.io/percent-encoding/2.1.0 \
crate://crates.io/pin-project-internal/0.4.8 \
crate://crates.io/pin-project-lite/0.1.4 \
crate://crates.io/pin-project/0.4.8 \
crate://crates.io/pin-utils/0.1.0-alpha.4 \
crate://crates.io/pkg-config/0.3.17 \
crate://crates.io/portaudio-rs/0.3.2 \
crate://crates.io/portaudio-sys/0.1.1 \
crate://crates.io/ppv-lite86/0.2.6 \
crate://crates.io/proc-macro-error-attr/1.0.2 \
crate://crates.io/proc-macro-error/1.0.2 \
crate://crates.io/proc-macro-hack/0.5.11 \
crate://crates.io/proc-macro-nested/0.1.3 \
crate://crates.io/proc-macro2/0.4.30 \
crate://crates.io/proc-macro2/1.0.19 \
crate://crates.io/protobuf-codegen-pure/2.10.0 \
crate://crates.io/protobuf-codegen/2.10.0 \
crate://crates.io/protobuf/2.10.0 \
crate://crates.io/quick-error/1.2.3 \
crate://crates.io/quote/0.6.13 \
crate://crates.io/quote/1.0.2 \
crate://crates.io/rand/0.3.23 \
crate://crates.io/rand/0.4.6 \
crate://crates.io/rand/0.5.6 \
crate://crates.io/rand/0.6.5 \
crate://crates.io/rand/0.7.3 \
crate://crates.io/rand_chacha/0.1.1 \
crate://crates.io/rand_chacha/0.2.1 \
crate://crates.io/rand_core/0.3.1 \
crate://crates.io/rand_core/0.4.2 \
crate://crates.io/rand_core/0.5.1 \
crate://crates.io/rand_hc/0.1.0 \
crate://crates.io/rand_hc/0.2.0 \
crate://crates.io/rand_isaac/0.1.1 \
crate://crates.io/rand_jitter/0.1.4 \
crate://crates.io/rand_os/0.1.3 \
crate://crates.io/rand_pcg/0.1.2 \
crate://crates.io/rand_xorshift/0.1.1 \
crate://crates.io/random/0.12.2 \
crate://crates.io/rawpointer/0.2.1 \
crate://crates.io/rdrand/0.4.0 \
crate://crates.io/redox_syscall/0.1.56 \
crate://crates.io/regex-syntax/0.6.13 \
crate://crates.io/regex/1.3.3 \
crate://crates.io/relay/0.1.1 \
crate://crates.io/remove_dir_all/0.5.2 \
crate://crates.io/reqwest/0.10.1 \
crate://crates.io/rodio/0.9.0 \
crate://crates.io/rpassword/3.0.2 \
crate://crates.io/rspotify/0.8.0 \
crate://crates.io/rustc-demangle/0.1.16 \
crate://crates.io/rustc-hash/1.0.1 \
crate://crates.io/rustc-serialize/0.3.24 \
crate://crates.io/rustc_version/0.2.3 \
crate://crates.io/ryu/1.0.2 \
crate://crates.io/safemem/0.3.3 \
crate://crates.io/schannel/0.1.16 \
crate://crates.io/scoped-tls/0.1.2 \
crate://crates.io/scopeguard/1.0.0 \
crate://crates.io/secret-service/1.1.0 \
crate://crates.io/security-framework-sys/0.3.3 \
crate://crates.io/security-framework-sys/0.4.3 \
crate://crates.io/security-framework/0.3.4 \
crate://crates.io/security-framework/0.4.4 \
crate://crates.io/semver-parser/0.7.0 \
crate://crates.io/semver/0.9.0 \
crate://crates.io/serde/1.0.115 \
crate://crates.io/serde_derive/1.0.115 \
crate://crates.io/serde_json/1.0.44 \
crate://crates.io/serde_urlencoded/0.6.1 \
crate://crates.io/sha-1/0.8.2 \
crate://crates.io/sha-1/0.9.1 \
crate://crates.io/sha2/0.8.1 \
crate://crates.io/shannon/0.2.0 \
crate://crates.io/shell-words/0.1.0 \
crate://crates.io/shlex/0.1.1 \
crate://crates.io/signal-hook-registry/1.2.0 \
crate://crates.io/signal-hook/0.1.12 \
crate://crates.io/slab/0.3.0 \
crate://crates.io/slab/0.4.2 \
crate://crates.io/smallvec/0.2.1 \
crate://crates.io/smallvec/0.6.13 \
crate://crates.io/smallvec/1.1.0 \
crate://crates.io/socket2/0.2.4 \
crate://crates.io/socket2/0.3.11 \
crate://crates.io/sourcefile/0.1.4 \
crate://crates.io/stdweb/0.1.3 \
crate://crates.io/stream-cipher/0.3.2 \
crate://crates.io/strsim/0.7.0 \
crate://crates.io/strsim/0.8.0 \
crate://crates.io/structopt-derive/0.4.10 \
crate://crates.io/structopt/0.3.17 \
crate://crates.io/subtle/1.0.0 \
crate://crates.io/syn-mid/0.5.0 \
crate://crates.io/syn/0.15.44 \
crate://crates.io/syn/1.0.39 \
crate://crates.io/synstructure/0.12.3 \
crate://crates.io/syslog/4.0.1 \
crate://crates.io/take/0.1.0 \
crate://crates.io/tempfile/3.1.0 \
crate://crates.io/termcolor/1.1.0 \
crate://crates.io/textwrap/0.11.0 \
crate://crates.io/thread_local/1.0.1 \
crate://crates.io/time/0.1.42 \
crate://crates.io/tokio-codec/0.1.1 \
crate://crates.io/tokio-core/0.1.17 \
crate://crates.io/tokio-current-thread/0.1.6 \
crate://crates.io/tokio-executor/0.1.9 \
crate://crates.io/tokio-fs/0.1.6 \
crate://crates.io/tokio-io/0.1.13 \
crate://crates.io/tokio-process/0.2.4 \
crate://crates.io/tokio-proto/0.1.1 \
crate://crates.io/tokio-reactor/0.1.11 \
crate://crates.io/tokio-service/0.1.0 \
crate://crates.io/tokio-signal/0.1.5 \
crate://crates.io/tokio-signal/0.2.7 \
crate://crates.io/tokio-socks/0.2.0 \
crate://crates.io/tokio-sync/0.1.7 \
crate://crates.io/tokio-tcp/0.1.3 \
crate://crates.io/tokio-threadpool/0.1.17 \
crate://crates.io/tokio-timer/0.2.12 \
crate://crates.io/tokio-tls/0.3.0 \
crate://crates.io/tokio-udp/0.1.5 \
crate://crates.io/tokio-uds/0.2.5 \
crate://crates.io/tokio-util/0.2.0 \
crate://crates.io/tokio/0.1.22 \
crate://crates.io/tokio/0.2.11 \
crate://crates.io/toml/0.5.6 \
crate://crates.io/tower-service/0.3.0 \
crate://crates.io/try-lock/0.1.0 \
crate://crates.io/try-lock/0.2.2 \
crate://crates.io/typenum/1.12.0 \
crate://crates.io/unicase/2.6.0 \
crate://crates.io/unicode-bidi/0.3.4 \
crate://crates.io/unicode-normalization/0.1.11 \
crate://crates.io/unicode-segmentation/1.6.0 \
crate://crates.io/unicode-width/0.1.7 \
crate://crates.io/unicode-xid/0.1.0 \
crate://crates.io/unicode-xid/0.2.0 \
crate://crates.io/url/1.7.2 \
crate://crates.io/url/2.1.1 \
crate://crates.io/uuid/0.7.4 \
crate://crates.io/vcpkg/0.2.8 \
crate://crates.io/vec_map/0.8.1 \
crate://crates.io/vergen/3.0.4 \
crate://crates.io/version_check/0.1.5 \
crate://crates.io/version_check/0.9.1 \
crate://crates.io/void/1.0.2 \
crate://crates.io/want/0.0.4 \
crate://crates.io/want/0.3.0 \
crate://crates.io/wasi/0.9.0+wasi-snapshot-preview1 \
crate://crates.io/wasm-bindgen-backend/0.2.58 \
crate://crates.io/wasm-bindgen-futures/0.4.8 \
crate://crates.io/wasm-bindgen-macro-support/0.2.58 \
crate://crates.io/wasm-bindgen-macro/0.2.58 \
crate://crates.io/wasm-bindgen-shared/0.2.58 \
crate://crates.io/wasm-bindgen-webidl/0.2.58 \
crate://crates.io/wasm-bindgen/0.2.58 \
crate://crates.io/web-sys/0.3.35 \
crate://crates.io/webbrowser/0.5.2 \
crate://crates.io/weedle/0.10.0 \
crate://crates.io/whoami/0.9.0 \
crate://crates.io/widestring/0.4.0 \
crate://crates.io/winapi-build/0.1.1 \
crate://crates.io/winapi-i686-pc-windows-gnu/0.4.0 \
crate://crates.io/winapi-util/0.1.3 \
crate://crates.io/winapi-x86_64-pc-windows-gnu/0.4.0 \
crate://crates.io/winapi/0.2.8 \
crate://crates.io/winapi/0.3.8 \
crate://crates.io/winreg/0.6.2 \
crate://crates.io/ws2_32-sys/0.2.1 \
crate://crates.io/xdg/2.2.0 \
"

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

@@ -4,13 +4,14 @@ LICENSE = "LGPLv2 & FLTK"
LIC_FILES_CHKSUM = "file://COPYING;md5=f6b26344a24a941a01a5b0826e80b5ca"
SRC_URI = " \
git://github.com/falkTX/ntk.git \
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
@@ -29,11 +30,11 @@ WAF_EXTRA_CONF = " \
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

@@ -37,13 +37,6 @@ do_configure_prepend() {
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}"
CACHED_CONFIGUREVARS_append_x86 = " ac_cv_header_emmintrin_h=no ac_cv_header_xmmintrin_h=no"

View File

@@ -11,18 +11,17 @@ DEPENDS += " \
"
SRC_URI = "git://github.com/amsynth/amsynth.git;branch=develop"
SRCREV = "4d980f3421f61cc8ea53e92eba5e43e823af7c02"
PV = "1.12.2"
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 += " \

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

@@ -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"
SRCREV = "1734fac4105106e02219834d330fa9eb0ceef3cd"
PV = "6.8"
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 \
@@ -69,9 +72,20 @@ do_configure_prepend() {
ln -sf `which python3` ${B}/python
}
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 += " \
${datadir}/appdata \
${datadir}/mime \
${libdir}/${BPN}/libardour.so \
${libdir}/${BPN}/libardouralsautil.so \
${libdir}/${BPN}/libaudiographer.so \
@@ -90,6 +104,3 @@ FILES_${PN}-dev += " \
FILES_${PN}-staticdev += " \
${libdir}/${BPN}/*.a \
"
PROVIDES = "ardour"
RPROVIDES_${PN} = "ardour"

View File

@@ -1,52 +0,0 @@
SUMMARY = "Audacity is an easy-to-use, multi-track audio editor and recorder"
HOMEPAGE = "https://www.audacityteam.org/"
LICENSE = "GPL-2.0 & CC-BY-3.0"
LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=549b88b1c547acbec8f9e262f30b573e"
PV = "2.4.2"
SRC_URI = " \
git://github.com/audacity/audacity.git \
file://0001-Do-not-ask-git-for-version-information-it-breaks-bui.patch \
"
SRCREV ="16d52f63a4183bba77ef7305d14622958dc0d1d5"
S = "${WORKDIR}/git"
DEPENDS = " \
wxwidgets \
lame \
soxr \
portaudio-v19 \
portmidi \
alsa-lib \
jack \
libid3tag \
ffmpeg \
libmad \
vamp-plugin-sdk \
libogg \
libvorbis \
flac \
lv2 \
lilv \
serd \
sord \
sratom \
suil \
soundtouch \
"
inherit cmake 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

@@ -16,11 +16,11 @@ DEPENDS += " \
SRC_URI = " \
git://github.com/sjaehn/BJumblr.git \
file://0001-Allow-parallel-build.patch \
file://0001-BJumblr.cpp-Fix-build-with-gcc10.patch \
"
SRCREV = "bf1a0a076c15a641f6d213afcb0f4b9245c87d18"
SRCREV = "7a240470926e7929048121f0b67938851d712b6c"
S = "${WORKDIR}/git"
PV = "1.6.6"
PV = "1.2.0"
do_install() {
DESTDIR=${D} PREFIX=${prefix} oe_runmake install

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

@@ -29,9 +29,6 @@ EXTRA_OECONF = " \
--enable-jack-default-audio \
"
# The fix necessary is huge and requires background knowledge
CFLAGS += "-fcommon"
do_install_append() {
# the tar magic makes files owned by build user
chown -R root:root ${D}${datadir}

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,25 +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 | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
source/plugin/Makefile | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/source/plugin/Makefile b/source/plugin/Makefile
index 2ec4eb305..726ec32c0 100644
index 59b5c5d..3bcb368 100644
--- a/source/plugin/Makefile
+++ b/source/plugin/Makefile
@@ -478,8 +478,7 @@ $(BINDIR)/carla.lv2/manifest.ttl: $(OBJDIR)/carla-lv2-export.cpp.o $(BINDIR)/car
@echo "Linking carla-lv2-export$(APP_EXT)"
@$(CXX) $< $(LIBS_START) $(LIBS) $(LIBS_END) $(NATIVE_LINK_FLAGS) -o $(BINDIR)/carla-lv2-export$(APP_EXT)
- @echo "Generating LV2 ttl data"
- @cd $(BINDIR) && $(EXE_WRAPPER) ./carla-lv2-export$(APP_EXT)
+ @echo "LV2 ttl data creation is postponed"
@@ -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-* .
$(BINDIR)/carla-lv2-export$(APP_EXT): $(OBJDIR)/carla-lv2-export.cpp.o
--
2.30.2
2.9.4

View File

@@ -7,17 +7,17 @@ LIC_FILES_CHKSUM = " \
"
SRC_URI = " \
git://github.com/falkTX/Carla.git;branch=main \
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 = "545304f5cfa484d4037b845a4df4abd530f82669"
SRCREV = "1b5080dff02b1e751e32f0582e4aee7bc2c74a67"
S = "${WORKDIR}/git"
PV = "2.3.0+git${SRCPV}"
PV = "2.1.1"
REQUIRED_DISTRO_FEATURES = "x11"
inherit qmake5_base python3native 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}"

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

@@ -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 \
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"

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,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

@@ -8,7 +8,8 @@ LIC_FILES_CHKSUM = " \
SRC_URI = " \
git://github.com/DISTRHO/DISTRHO-Ports.git \
file://0001-Modify-ttl-generation-target-so-we-can-sed-it-to-cor.patch \
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"
@@ -45,13 +46,42 @@ 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() {
# 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
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}
}
# ttl-generator bindir for distrho-ports-extra
SYSROOT_DIRS_append = " ${bindir}"
@@ -68,6 +98,9 @@ FILES_${PN}-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"

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

@@ -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,46 +0,0 @@
SUMMARY = "A set of free reverb effects"
HOMEPAGE = "https://github.com/michaelwillis/dragonfly-reverb"
LICENSE = "GPLv3"
LIC_FILES_CHKSUM = "file://LICENSE;md5=1ebbd3e34237af26da5dc08a4e440464"
REQUIRED_DISTRO_FEATURES = "x11 opengl"
inherit lv2-turtle-helper pack_audio_plugins features_check
DEPENDS += " \
virtual/libx11 \
virtual/libgl \
jack \
"
SRC_URI = "gitsm://github.com/michaelwillis/dragonfly-reverb.git"
SRCREV = "bf4b55d5f96ff316109335d957a32bd05e0dc289"
S = "${WORKDIR}/git"
PV = "3.2.0"
EXTRA_OEMAKE += " \
NOOPT=true \
SKIP_STRIPPING=true \
"
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

@@ -16,6 +16,6 @@ SRC_URI = " \
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,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
@@ -23,9 +23,9 @@ SRC_URI = " \
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} += " \
${libdir}/jack \

View File

@@ -13,8 +13,8 @@ SRC_URI = " \
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 = " \

View File

@@ -16,6 +16,6 @@ SRC_URI = " \
gitsm://gitlab.com/drobilla/patchage.git;protocol=https \
file://0001-Fix-build-for-python3-only-environments.patch \
"
SRCREV = "34f5d891fabe5c4e6137ce3d94aee8ca1955ebab"
PV = "1.0.4"
SRCREV = "b69c3bac42c9cf5cfcd79bce3363b4343bf0cd2e"
PV = "1.0.2"
S = "${WORKDIR}/git"

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
PV = "0.30.8"
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] = "672ec48f55f6f5bf1b548f3d6a76f127e803dbae2550ddb730bb02d2fd28fa87"
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.8"
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] = "7c289d2eaabf82fa6ac219107ce632d704672dcfb966e1a7ff0bbc4ce93f5e14"
SRCREV = "834610cd3faceff24c083738dbe88a56d412368c"
S = "${WORKDIR}/git"
PV = "0.16.4+git${SRCPV}"

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 \
"

View File

@@ -3,9 +3,7 @@ HOMEPAGE = "https://www.drumgizmo.org"
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,32 +0,0 @@
SUMMARY = "A free software percussion synthesizer"
HOMEPAGE = "https://gitlab.com/iurie-sw/geonkick"
LICENSE = "GPLv3"
LIC_FILES_CHKSUM = "file://LICENSE;md5=84dcc94da3adb52b53ae4fa38fe49e5d"
inherit cmake mime mime-xdg gtk-icon-cache
DEPENDS += " \
redkite-native \
libsndfile1 \
rapidjson \
jack \
lv2 \
"
SRC_URI = " \
git://gitlab.com/iurie-sw/geonkick;protocol=https \
file://0001-Execute-native-REDKITE-S-rkpng2c.patch \
"
SRCREV = "77b2155f8b30ea7e4af5c664e930eeb43c17a24d"
PV = "2.7.3"
S = "${WORKDIR}/git"
EXTRA_OECMAKE = " \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DGKICK_ARCHITECTURE=${TARGET_ARCH} \
"
FILES_${PN} += " \
${datadir}/mime \
${libdir}/lv2 \
"

View File

@@ -1,31 +0,0 @@
From 3488aac706bea4e03a1a29fa6d929d4caafc9b0e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
Date: Sat, 3 Apr 2021 00:44:26 +0200
Subject: [PATCH] Execute native REDKITE'S rkpng2c
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>
---
CMakeLists.txt | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 242db79..cf4f099 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -237,7 +237,7 @@ foreach(pngFile ${gkick_rc_png_files})
string(REPLACE " " "_" filename ${filename})
add_custom_command(OUTPUT ${CMAKE_BINARY_DIR}/resources/${filename}.c
COMMAND mkdir -p ${CMAKE_BINARY_DIR}/resources
- && ${CMAKE_BINARY_DIR}/redkite/tools/rkpng2c
+ && rkpng2c
"${GKICK_RC_DIR}/${pngFile}" "${CMAKE_BINARY_DIR}/resources/${filename}.c" "rk__${filename}")
set(GKICK_RC_OUTPUT ${GKICK_RC_OUTPUT} ${CMAKE_BINARY_DIR}/resources/${filename}.c)
endforeach()
--
2.26.2

View File

@@ -1,16 +0,0 @@
SUMMARY = "Redkite is a small free software GUI toolkit"
LICENSE = "GPLv3"
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"
SRCREV = "5ff4841320716e93a27b5be7c8557df8b333492a"
PV = "1.3.1"
S = "${WORKDIR}/git"
BBCLASSEXTEND = "native"

View File

@@ -8,8 +8,8 @@ SRC_URI = " \
file://0001-Rework-messages-somehow-yes-or-no-is-missing.patch \
file://0002-Do-not-strip-LV2-plugins.patch \
"
SRCREV = "7dfddb517000b3a5c22875c5b06f71ed589adddd"
PV = "0.42.1+git${SRCPV}"
SRCREV = "9e6dbe30cb5fc226e5d3c02190f1bce0b3fde539"
PV = "0.40.0+git${SRCPV}"
S = "${WORKDIR}/git/trunk"
inherit waf fontcache gettext

View File

@@ -8,9 +8,7 @@ SRCREV = "e40b34f3fd5dc4c6523dc826062d0ddb2578f573"
S = "${WORKDIR}/git"
PV = "0.8"
inherit pkgconfig features_check
REQUIRED_DISTRO_FEATURES = "x11"
inherit pkgconfig
DEPENDS += " \
cairo \

View File

@@ -1,33 +0,0 @@
SUMMARY = "Virtual Midi Keyboard for Jack Audio Connection Kit"
HOMEPAGE = "https://github.com/brummer10/Mamba"
LICENSE = "BSD-0-Clause"
LIC_FILES_CHKSUM = "file://LICENSE;md5=1a396d84ed72b4a017f02f5c5d1eaafe"
SRC_URI = "gitsm://github.com/brummer10/Mamba.git"
SRCREV = "6b1c0011a6cf4bf7e4996b2120a9ff12ed45e0ae"
PV = "2.2"
S = "${WORKDIR}/git"
inherit pkgconfig features_check mime-xdg gettext
REQUIRED_DISTRO_FEATURES = "x11"
DEPENDS += " \
vim-native \
cairo \
virtual/libx11 \
libsigc++-2.0 \
lv2 \
liblo \
jack \
fluidsynth \
libsmf \
"
do_compile() {
oe_runmake SSE_CFLAGS= STRIP=echo
}
do_install() {
oe_runmake DESTDIR=${D} PREFIX=${prefix} install
}

View File

@@ -30,7 +30,7 @@ DEPENDS += " \
SRC_URI = " \
git://github.com/hydrogen-music/hydrogen.git;branch=releases/1.0 \
git://github.com/hydrogen-music/hydrogen.git \
file://0001-hydrogen.default.conf-do-not-show-developer-warnings.patch \
\
http://hydro.smoors.de/Audiophob.h2drumkit;downloadfilename=Audiophob.tar.gz;name=Audiophob;subdir=drumkits \
@@ -80,8 +80,8 @@ SRC_URI = " \
https://freewavesamples.com/files/YamahaRX15Kit.h2drumkit;downloadfilename=YamahaRX15Kit.tar.gz;name=YamahaRX15Kit;subdir=drumkits \
https://freewavesamples.com/files/YamahaTG-55Kit.h2drumkit;downloadfilename=YamahaTG-55Kit.tar.gz;name=YamahaTG-55Kit;subdir=drumkits \
"
SRCREV = "3294c3942b6899fb9140c4dc0b343d86bc0935ac"
PV ="1.0.2"
SRCREV = "d186d169f12bd8c5f34677aab713a9542bace52c"
PV ="1.0.0~rc1+git${SRCPV}"
###############################################################################
# drumkits URIs from http://hydrogen-music.org/feeds/drumkit_list.php
@@ -250,8 +250,6 @@ do_install_append() {
done
}
QT_TRANSLATION_FILES = "${datadir}/i18n/*.qm"
PACKAGES =+ "${PN}-drumkits"
# do not move so-libs to -dev package

View File

@@ -0,0 +1,28 @@
From 7637d0c9c836831eb23af2d72dd8195c65b0aca0 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
Date: Mon, 9 Dec 2019 20:25:10 +0100
Subject: [PATCH] Fix build for python3-only environments
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>
---
waf | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/waf b/waf
index 061fb98..3208571 100755
--- a/waf
+++ b/waf
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env python3
# encoding: latin-1
# Thomas Nagy, 2005-2018
#
--
2.21.0

View File

@@ -1,34 +0,0 @@
From 6f06bd6f85f6920c2619853536934ade83ad9580 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
Date: Sat, 8 May 2021 14:59:40 +0200
Subject: [PATCH] Fix build with gcc11
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
| ../git/libs/lua/sol/sol.hpp:9816:51: error: 'numeric_limits' is not a member of 'std'
| 9816 | std::size_t space = (std::numeric_limits<std::size_t>::max)();
| | ^~~~~~~~~~~~~~
Upstream-Status: Submitted [https://github.com/kushview/Element/pull/418]
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
---
libs/lua/sol/sol.hpp | 1 +
1 file changed, 1 insertion(+)
diff --git a/libs/lua/sol/sol.hpp b/libs/lua/sol/sol.hpp
index c25fd549..5d79428d 100644
--- a/libs/lua/sol/sol.hpp
+++ b/libs/lua/sol/sol.hpp
@@ -37,6 +37,7 @@
#include <sol/config.hpp>
#include <cstdint>
+#include <limits>
#define SOL_VERSION_MAJOR 3
#define SOL_VERSION_MINOR 5
--
2.30.2

View File

@@ -3,7 +3,7 @@ HOMEPAGE = "https://kushview.net/element/"
LICENSE = "GPLv3"
LIC_FILES_CHKSUM = "file://LICENSE;md5=1ebbd3e34237af26da5dc08a4e440464"
inherit waf gtk-icon-cache pkgconfig features_check
inherit waf pkgconfig features_check
REQUIRED_DISTRO_FEATURES = "x11"
@@ -17,15 +17,14 @@ DEPENDS += " \
lilv \
suil \
ladspa-sdk \
jack \
"
SRC_URI = " \
gitsm://github.com/kushview/Element.git \
file://0001-Fix-build-with-gcc11.patch \
file://0001-Fix-build-for-python3-only-environments.patch \
"
SRCREV = "30cab91b515b2fc7a224a3c976bdbaf96273e6e5"
PV = "0.46.3"
SRCREV = "c73c120334f4e170dba029f3794e5e8ba601c127"
PV = "0.44.0"
S = "${WORKDIR}/git"
EXTRA_OECONF = " \
@@ -33,13 +32,6 @@ EXTRA_OECONF = " \
--libdir=${libdir} \
"
PATH_append = ":${B}"
do_configure_prepend() {
# link python -> python3
ln -sf `which python3` ${B}/python
}
FILES_${PN} += "${datadir}/element"
# TBD - we should send a fix upstream..

View File

@@ -1,21 +0,0 @@
SUMMARY = "Community version of Non Session Manager"
HOMEPAGE = "https://linuxaudio.github.io/new-session-manager/"
LICENSE = "GPLv3"
LIC_FILES_CHKSUM = "file://COPYING;md5=1ebbd3e34237af26da5dc08a4e440464"
DEPENDS = " \
fltk-native \
fltk \
jack \
liblo \
"
SRC_URI = "git://github.com/linuxaudio/new-session-manager.git"
SRCREV = "b23c052c8bfc4c67e6e02105eed624982834e8be"
PV = "1.5.0"
S = "${WORKDIR}/git"
inherit meson gtk-icon-cache
RCONFLICTS_${PN} = "non-session-manager"
RREPLACES_${PN} = "non-session-manager"

View File

@@ -25,7 +25,6 @@ SRC_URI[md5sum] = "2597cfddbceb28f5e764929e6c9755ab"
SRC_URI[sha256sum] = "2b77069302f8721fd614ae4e3ca364f1977731deb166bf5af00d389e9908ab21"
EXTRA_OEMAKE = "LIBTOOLFLAGS='--tag=CXX'"
CXXFLAGS += "-std=c++11"
do_install_append() {
mv ${D}${libdir}/${BPN}/* ${D}${libdir}

View File

@@ -39,8 +39,6 @@ EXTRA_OECONF = " \
--enable-plugin-dir=${libdir}/${BPN}/plugins \
"
CXXFLAGS += "-std=c++11"
do_install_append() {
mv ${D}${libdir}/${BPN}/* ${D}${libdir}
rmdir ${D}${libdir}/${BPN}

View File

@@ -10,21 +10,20 @@ Upstream-Status: Inappropriate [embedded specific]
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
---
src/utils/Makefile | 28 ++++++++++------------------
1 file changed, 10 insertions(+), 18 deletions(-)
src/utils/Makefile | 26 +++++++++-----------------
1 file changed, 9 insertions(+), 17 deletions(-)
diff --git a/src/utils/Makefile b/src/utils/Makefile
index 88b37393..b6d4e7a5 100644
index 37383b05..3cc76ca8 100644
--- a/src/utils/Makefile
+++ b/src/utils/Makefile
@@ -15,23 +15,15 @@ ifeq ($(LSP_TESTING),1)
@@ -14,22 +14,14 @@ ifeq ($(LSP_TESTING),1)
OBJ_EXTRA += $(OBJ_TEST_CORE)
endif
-ifeq ($(findstring lv2,$(BUILD_MODULES)),lv2)
- MODULES += $(UTL_GENTTL)
- FILELIST += lv2_genttl.o
- INCLUDE_EXTRA += $(LV2_HEADERS)
-endif
-ifeq ($(findstring vst,$(BUILD_MODULES)),vst)
- MODULES += $(UTL_VSTMAKE)
@@ -32,21 +31,20 @@ index 88b37393..b6d4e7a5 100644
-endif
-ifeq ($(findstring jack,$(BUILD_MODULES)),jack)
- MODULES += $(UTL_JACKMAKE)
- FILELIST += jack_genmake.o
- FILELIST += jack_genmake.o
-endif
-ifeq ($(findstring doc,$(BUILD_MODULES)),doc)
- MODULES += $(UTL_GENPHP)
- FILELIST += gen_php.o
- FILELIST += gen_php.o
-endif
+MODULES += $(UTL_GENTTL)
+FILELIST += lv2_genttl.o
+INCLUDE_EXTRA += $(LV2_HEADERS)
+MODULES += $(UTL_VSTMAKE)
+FILELIST += vst_genmake.o
+MODULES += $(UTL_JACKMAKE)
+FILELIST += jack_genmake.o
+FILELIST += jack_genmake.o
+MODULES += $(UTL_GENPHP)
+FILELIST += gen_php.o
+FILELIST += gen_php.o
FILES = $(addprefix $(OBJDIR)/, $(FILELIST))

View File

@@ -20,11 +20,7 @@ DEPENDS += " \
SRC_URI += " \
file://0001-Makefile-align-for-oe-cross-build.patch \
file://0002-Pass-LDFLAGS-to-so-lib-builds.patch \
"
# musl is CORRECT and causing nothing but waste of resources
SRC_URI_append_libc-musl = " \
file://musl/0001-Hack-remove-runtime-charset-conversions.patch \
file://musl/0002-Fix-build-with-musl.patch \
file://0003-Hack-remove-runtime-charset-conversions.patch \
"
ARM_INSTRUCTION_SET = "arm"
@@ -81,12 +77,3 @@ FILES_${PN} += " \
PACKAGES =+ "${PN}-standalone"
FILES_${PN}-standalone = "${bindir}"
# lsp-plugins (and maybe others) need a gconv cache for target use of iconv
# see https://github.com/sadko4u/lsp-plugins/issues/17#issuecomment-487416107
RDEPENDS_${PN}_append_libc-glibc += " \
glibc-gconv glibc-gconvs glibc-utils \
"
pkg_postinst_ontarget_${PN}_append_libc-glibc() {
iconvconfig
}

View File

@@ -7,10 +7,8 @@ SRC_URI = " \
gitsm://github.com/sadko4u/lsp-plugins.git \
file://0001-Add-missing-dsp-in-SUBDIRS.patch \
"
SRCREV = "d78befc2faaa6de64050c3c4b662dea429e47c40"
SRCREV = "9e7a8e517fc7959a955b3c395d93e3e553adbde0"
S = "${WORKDIR}/git"
PV = "1.1.30"
PV = "1.1.22"
do_configure[noexec] = "1"
SECURITY_LDFLAGS = ""

View File

@@ -33,10 +33,10 @@ index 189af3f5..52706983 100644
# Files
diff --git a/scripts/make/configure.mk b/scripts/make/configure.mk
index 09aee9a0..5a796e85 100644
index e2d3d58a..660c1b5a 100644
--- a/scripts/make/configure.mk
+++ b/scripts/make/configure.mk
@@ -58,69 +58,8 @@ export INSTALLATIONS
@@ -57,69 +57,6 @@ export INSTALLATIONS
export UNINSTALLATIONS
export RELEASES
@@ -66,7 +66,6 @@ index 09aee9a0..5a796e85 100644
-endif
-
-ifeq ($(BUILD_PLATFORM), BSD)
- INCLUDE += -I/usr/local/include
- ifeq ($(BUILD_PROFILE),arm)
- CC_ARCH = -marm
- ifneq ($(LD_PATH),)
@@ -98,14 +97,15 @@ index 09aee9a0..5a796e85 100644
-ifeq ($(BUILD_PROFILE),aarch64)
- CC_ARCH = -march=armv8-a
-endif
-
-
-export CC_ARCH
-export LD_ARCH
-export LD_PATH
export INCLUDE
-
export INCLUDE = -I"${CURDIR}/include"
# Dependencies: compile headers and linkage libraries
--
2.26.2
2.21.0

View File

@@ -1,4 +1,4 @@
From bc8d07b9f2c0bab4ec66023d9c925539bdc09f63 Mon Sep 17 00:00:00 2001
From b8d6bc13a68a78dc026db863cbc7103bbb584afe Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
Date: Sun, 28 Apr 2019 22:17:48 +0200
Subject: [PATCH] Hack: remove runtime charset conversions
@@ -10,16 +10,15 @@ There are no charsets installed yet and I have no idea which are required. So
treat all texts as UTF-8.
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
---
src/core/LSPString.cpp | 11 +++++++----
1 file changed, 7 insertions(+), 4 deletions(-)
diff --git a/src/core/LSPString.cpp b/src/core/LSPString.cpp
index 44174cff..8ed9c1b5 100644
index 8e0d72af..e8cf00ff 100644
--- a/src/core/LSPString.cpp
+++ b/src/core/LSPString.cpp
@@ -1651,7 +1651,8 @@ namespace lsp
@@ -1418,7 +1418,8 @@ namespace lsp
return true;
}
@@ -29,7 +28,7 @@ index 44174cff..8ed9c1b5 100644
LSPString temp;
// Open conversion
@@ -1712,7 +1713,7 @@ namespace lsp
@@ -1479,7 +1480,7 @@ namespace lsp
// Close descriptor
iconv_close(cd);
@@ -38,7 +37,7 @@ index 44174cff..8ed9c1b5 100644
return true;
}
#endif /* PLATFORM_WINDOWS */
@@ -1878,7 +1879,9 @@ namespace lsp
@@ -1641,7 +1642,9 @@ namespace lsp
if (first >= last)
return (last == first) ? "" : NULL;
@@ -48,8 +47,8 @@ index 44174cff..8ed9c1b5 100644
+/* // Open conversion
iconv_t cd = init_iconv_from_wchar_t(charset);
if (cd == iconv_t(-1))
return get_utf8(first, last);
@@ -1940,7 +1943,7 @@ namespace lsp
return NULL;
@@ -1703,7 +1706,7 @@ namespace lsp
if (!append_temp("\x00\x00\x00\x00", 4))
return NULL;
@@ -58,3 +57,6 @@ index 44174cff..8ed9c1b5 100644
}
#endif /* PLATFORM_WINDOWS */
--
2.20.1

View File

@@ -1,32 +0,0 @@
From 436b33a805714d9030543b5617885701761488bc Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
Date: Fri, 25 Jun 2021 21:41:24 +0200
Subject: [PATCH] Fix build with musl
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
| /include/data/cvector.h:415:24: error: 'ssize_t' does not name a type; did you mean 'size_t'?
Upstream-Status: Inappropriate[musl]
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
---
include/data/cvector.h | 1 +
1 file changed, 1 insertion(+)
diff --git a/include/data/cvector.h b/include/data/cvector.h
index eccc94a6..d8a2b7d1 100644
--- a/include/data/cvector.h
+++ b/include/data/cvector.h
@@ -22,6 +22,7 @@
#ifndef DATA_CVECTOR_H_
#define DATA_CVECTOR_H_
+#include <unistd.h>
#include <stddef.h>
#include <stdlib.h>
#include <string.h>
--
2.31.1

View File

@@ -1,19 +1,19 @@
SUMMARY = "C library providing simple use of LV2 plugins"
HOMEPAGE = "http://drobilla.net/software/lilv"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://COPYING;md5=b698a6a2120a83eecb34a9c6f1b93989"
LIC_FILES_CHKSUM = "file://COPYING;md5=0c6c8928b7dc2190a0aff762ae5a0f64"
inherit waf python3native bash-completion pkgconfig
DEPENDS += "lv2 serd sord sratom"
PV = "0.24.12"
SRC_URI = " \
http://download.drobilla.net/${BPN}-${PV}.tar.bz2 \
gitsm://github.com/lv2/lilv.git \
file://0001-Fix-build-for-python3-only-environments.patch \
"
SRC_URI[sha256sum] = "26a37790890c9c1f838203b47f5b2320334fe92c02a4d26ebbe2669dbd769061"
SRCREV = "20f2351a859568ca87bf71ef48a9ec4441c156f3"
S = "${WORKDIR}/git"
PV = "0.24.8"
EXTRA_OECONF = "--configdir=${sysconfdir} --dyn-manifest"
PACKAGES += "${PN}-python3"

View File

@@ -8,7 +8,7 @@ SRC_URI = " \
file://0001-Fix-build-for-python3-only-environments.patch \
"
S = "${WORKDIR}/git"
SRCREV = "cd152104c84bcee9fec22ef780cec2af7ba85d0c"
PV = "1.18.2"
SRCREV = "5f40c5c421ffc50783962efb4cab151c8c2519dd"
PV = "1.18.0"
inherit waf pkgconfig

View File

@@ -1,15 +1,17 @@
SUMMARY = "Sratom is a library for serialising LV2 atoms to and from RDF"
HOMEPAGE = "http://drobilla.net/software/sratom"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://COPYING;md5=02c12fd13bfe8cd6878ad1ea35778acf"
LIC_FILES_CHKSUM = "file://COPYING;md5=ebc7934238811c788037421c6c548ddf"
inherit waf pkgconfig
DEPENDS += "lv2 serd sord"
PV = "0.6.8"
SRC_URI = " \
http://download.drobilla.net/${BPN}-${PV}.tar.bz2 \
gitsm://github.com/lv2/sratom.git \
file://0001-Fix-build-for-python3-only-environments.patch \
"
SRC_URI[sha256sum] = "3acb32b1adc5a2b7facdade2e0818bcd6c71f23f84a1ebc17815bb7a0d2d02df"
SRCREV = "2a585c391df6d8d9b0c92e850eab891b6a8f74f3"
S = "${WORKDIR}/git"
PV = "0.6.4+git${SRCPV}"

View File

@@ -1,7 +1,7 @@
SUMMARY = "Suil is a lightweight C library for loading and wrapping LV2 plugin UIs"
HOMEPAGE = "https://drobilla.net/software/suil"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://COPYING;md5=323e8282a413e218c2ec674a44c02cf4"
LIC_FILES_CHKSUM = "file://COPYING;md5=31b283049b7bf3fc441d62cd43d8f4b9"
inherit waf features_check pkgconfig
@@ -9,11 +9,12 @@ REQUIRED_DISTRO_FEATURES = "x11"
DEPENDS = "gtk+ gtk+3 qtbase lv2"
PV = "0.10.10"
SRC_URI = " \
http://download.drobilla.net/${BPN}-${PV}.tar.bz2 \
gitsm://github.com/lv2/suil.git \
file://0001-Fix-build-for-python3-only-environments.patch \
"
SRC_URI[sha256sum] = "750f08e6b7dc941a5e694c484aab02f69af5aa90edcc9fb2ffb4fb45f1574bfb"
SRCREV = "5d45fda230192d47a4afadecdf3dce038b8d6fe9"
S = "${WORKDIR}/git"
PV = "0.10.6+git${SRCPV}"
FILES_${PN} += "${libdir}/suil-0"

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