3 Commits

Author SHA1 Message Date
Andreas Müller
c0083756d2 Merge remote-tracking branch 'origin/master' into warrior 2019-09-01 00:10:37 +02:00
Andreas Müller
4b977b6e3d mixxx: upgrade 2.2.1+ -> 2.2.2
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
2019-08-20 00:39:08 +02:00
Andreas Müller
7cd914e327 mixxx: upgrade to latest maste to fix build with current oe
Something changed in scons/python3:
| TypeError: changed_since_last_build_node() takes 3 positional arguments but 4 were given:

Guess this one fixed it:

Author: Uwe Klotz <uklotz@mixxx.org>
Date:   Fri Aug 9 15:18:05 2019 +0200

    Fix signature of changed_since_last_build_node() for SCons 3.1.x

    Add a 4th parameter with default value:
    https://scons.org/doc/3.1.0/HTML/scons-api/SCons.Node-module.html#changed_since_last_build_nodehttps://scons.org/doc/3.1.0/HTML/scons-api/SCons.Node-module.html

Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
2019-08-20 00:38:55 +02:00
284 changed files with 4222 additions and 6323 deletions

View File

@@ -4,7 +4,7 @@ OE layer for digital audio workstations and plugins
Layer dependencies:
----------------------
see [layer.conf](conf/layer.conf) for dependencies and [Layer-index](https://layers.openembedded.org/layerindex/branch/master/layers/) where to find layers
see [layer.conf](conf/layer.conf) for dependencies and https://layers.openembedded.org/layerindex/branch/master/layers/ where to find layers
Contributing
@@ -14,14 +14,11 @@ Contributing
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).
* Please do not send private emails to maintainers. For questions/suggestions.. use GitHub 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)
* Use 4 spaces for indention always
* 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.
Maintainers

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 @@
PACKAGECONFIG_append = " gui imageformats"

View File

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

View File

@@ -1,9 +0,0 @@
# class for audio plugin common settings
# plugin package names
PN_DSSI = "${PN}-dssi"
PN_LADSPA = "${PN}-ladspa"
PN_LV2 = "${PN}-lv2"
PN_VST = "${PN}-vst"
PN_VST3 = "${PN}-vst3"

View File

@@ -0,0 +1,53 @@
# Helper class to handle ontarget-postinst creation of lv2 turtle files
# File created during compile usually. To create this file makefiles have to be
# aligned - see do_configure_prepend at zynaddsubfx or distrho-ports. The file
# is expected with the following format
# lv2-ttl-generator <path>/plugin.so
LV2-TURTLE-BUILD-DATA = "${WORKDIR}/lv2-ttl-generator-data"
# E.g zynaddsubfx needs to create dummy lv2 turtle files to keep install sane.
# To delete them automatically (see below) the contain a dummy string:
LV2-DUMMY-TURTLE-STR = "lv2-dummy-turtle-string"
# To make ontarget postinst/prerm happen, the names of all plugins with their
# paths as installed on target a stored in a file called lv2-postinst-manifest
LV2-POSTINST-MANIFEST = "${datadir}/${BPN}/lv2-postinst-manifest"
do_install_append() {
# remove dummy lv2-turtles again
cd ${D}/${libdir}/lv2
for tfile in `grep -rl ${LV2-DUMMY-TURTLE-STR}`; do
rm $tfile
done
# create postinst manifest
install -d ${D}`dirname ${LV2-POSTINST-MANIFEST}`
for sofile in `cat ${LV2-TURTLE-BUILD-DATA} | awk '{ print $2 }'`; do
sofile=`basename $sofile`
installed=`find ${D}${libdir}/lv2 -name $sofile | sed 's|${D}||g'`
echo $installed >> ${D}${LV2-POSTINST-MANIFEST}
done
}
pkg_postinst_ontarget_${PN}-lv2() {
oldpath=`pwd`
for sofile in `cat ${LV2-POSTINST-MANIFEST}`; do
cd `dirname "$sofile"`
lv2-ttl-generator "$sofile"
done
cd $oldpath
}
pkg_prerm_${PN}-lv2() {
for sofile in `cat ${LV2-POSTINST-MANIFEST}`; do
path=`dirname "$sofile"`
for turtle in `find $path -name '*.ttl'`; do
rm $turtle
done
done
}
FILES_${PN}-lv2 += "${LV2-POSTINST-MANIFEST}"
RDEPENDS_${PN}-lv2 += "lv2-ttl-generator"

View File

@@ -1,148 +0,0 @@
# Helper class to handle creation of lv2 turtle files
# Turtle files (*.ttl) are created during compile usually. This does not work
# for us because cross build libraries cannot be opened by build host. To get
# around we:
#
# 1. Adjust build (see do_ttl_sed) so that instead calling LV2_TTL_GENERATOR
# the plugin file name is written to LV2_PLUGIN_INFO_FILE
# 2. Try to generate ttl with the help of qemu. This can faile for various
# reasons: SIMD instructions not supported / qemu itself / ...
# For files not handled properly we try:
# 3. Generate ttl-files at first boot / after package was installed
# File containing names of plugins to handle in do_compile_append
# Line-format expected: <some-path-in-build>/<plugin>.so
LV2_PLUGIN_INFO_FILE = "${WORKDIR}/lv2-ttl-generator-data"
LV2_PLUGIN_INFO_FILE_CLEANED = "${LV2_PLUGIN_INFO_FILE}-cleaned"
# File containing names of plugins to handle in do_compile_append
# Line-format expected: <path-ontarget>/<plugin>.so
LV2_PLUGIN_POSTINST_INFO_FILE = "${LV2_PLUGIN_INFO_FILE}-postinst"
# To make ontarget postinst/prerm happen, the names of all plugins with their
# paths as installed on target a stored in a file called lv2-postinst-manifest
LV2_POSTINST_MANIFEST = "${datadir}/${BPN}/lv2-postinst-manifest"
# Path to the ttl-generator qemu will use. Since most plugins are based on dpf
# (added by git-submodule) we can set a default matchin > 80%+
LV2_TTL_GENERATOR ?= "${S}/dpf/utils/lv2_ttl_generator"
inherit qemu-ext-musicians audio-plugin-common
# override this function and execute sed (or other magic) to adjust Makefiles
# so that lv2-ttl-generator is not executed but plugin information. Same here:
# Set default matich many dpf-based plugins
do_ttl_sed() {
sed -i 's|"$GEN" "./$FILE"|echo "`realpath "./$FILE"`" >> ${LV2_PLUGIN_INFO_FILE}|g' ${S}/dpf/utils/generate-ttl.sh
}
do_configure_prepend() {
# 1st configure?
if [ ! -f ${LV2_PLUGIN_INFO_FILE} ]; then
do_ttl_sed
fi
}
do_compile_prepend() {
# remove plugin-info from previous build
rm -f ${LV2_PLUGIN_INFO_FILE}
rm -f ${LV2_PLUGIN_POSTINST_INFO_FILE}
}
do_compile[vardeps] += "LV2_TTL_GENERATOR"
do_compile_append() {
rm -f ${LV2_PLUGIN_INFO_FILE_CLEANED}
if [ -e ${LV2_PLUGIN_INFO_FILE} ]; then
echo
echo "---------- start of lv2 ttl generation ----------"
echo "lv2-plugins found - try ttl-generation with LV2_TTL_GENERATOR: '${LV2_TTL_GENERATOR}'"
# try build ttl-files with quemu
for sofile in `sort ${LV2_PLUGIN_INFO_FILE} | uniq`; do
echo $sofile >> ${LV2_PLUGIN_INFO_FILE_CLEANED}
sobase=`basename $sofile`
ttl_failed=""
if [ "x${ttl_failed}" = "x" ]; then
cd `dirname ${sofile}`
echo "QEMU lv2-ttl-generator for ${sofile}..."
${@qemu_run_binary_local(d, '${STAGING_DIR_TARGET}', '${LV2_TTL_GENERATOR}')} ${sofile} || ttl_failed="$?"
if [ "x${ttl_failed}" = "x" ]; then
echo "Generation succeeded."
else
if [ "x${ttl_failed}" = "x124" ]; then
echo "ERROR: ttl-generation for `basename ${sofile}` timed out!"
else
echo "ERROR: ttl-generation for `basename ${sofile}` failed!"
echo "LV2_TTL_GENERATOR set correctly - check few lines above?"
# qemu failed: remove generated core files
rm -f *.core
fi
fi
fi
if [ "x${ttl_failed}" != "x" ]; then
# postpone on target
echo `basename $sofile` >> ${LV2_PLUGIN_POSTINST_INFO_FILE}
fi
done
else
echo
echo "LV2_PLUGIN_INFO_FILE was not created during compilation - check do_ttl_sed() or patch postponing ttl-generation"
echo
exit -1
fi
}
do_compile[postfuncs] += "do_ttl_qa"
python do_ttl_qa() {
lv2_plugin_postinst_info_file = d.getVar('LV2_PLUGIN_POSTINST_INFO_FILE')
if os.path.isfile(lv2_plugin_postinst_info_file):
lv2_plugin_info_file_cleaned = d.getVar('LV2_PLUGIN_INFO_FILE_CLEANED')
num_plugins = len(open(lv2_plugin_info_file_cleaned).readlines())
num_plugins_postinst = len(open(lv2_plugin_postinst_info_file).readlines())
name = d.getVar('PN')
if num_plugins == num_plugins_postinst:
bb.warn("All LV2-plugins in %s are postponed to post-install! Check log.do_compile for valid LV2_TTL_GENERATOR (%s)" % (name,d.getVar('LV2_TTL_GENERATOR')))
else:
bb.warn("%i of %i LV2-plugins in %s are postponed to post-install! Check %s and log.do_compile for details" % (num_plugins_postinst, num_plugins, name, lv2_plugin_postinst_info_file))
}
do_install_append() {
# create postinst manifest
if [ -e ${LV2_PLUGIN_POSTINST_INFO_FILE} ]; then
install -d ${D}`dirname ${LV2_POSTINST_MANIFEST}`
for sofile in `cat ${LV2_PLUGIN_POSTINST_INFO_FILE}`; do
installed=`find ${D}${libdir}/lv2 -name $sofile | sed 's|${D}||g'`
echo $installed >> ${D}${LV2_POSTINST_MANIFEST}
done
fi
}
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
done
cd $oldpath
fi
}
pkg_prerm_${PN_LV2}() {
if [ -e ${LV2_POSTINST_MANIFEST} ]; then
for sofile in `cat ${LV2_POSTINST_MANIFEST}`; do
path=`dirname "$sofile"`
for turtle in `find $path -name '*.ttl'`; do
rm $turtle
done
done
fi
}
FILES_${PN_LV2} += "${LV2_POSTINST_MANIFEST}"
RDEPENDS_${PN_LV2} += "lv2-ttl-generator"

View File

@@ -1,11 +1,8 @@
# Auto package audio plugins
inherit audio-plugin-common
PACKAGES =+ "${PN}-dssi ${PN}-ladspa ${PN}-lv2 ${PN}-vst"
PACKAGES =+ "${PN_DSSI} ${PN_LADSPA} ${PN_LV2} ${PN_VST} ${PN_VST3}"
FILES_${PN_DSSI} += "${libdir}/dssi"
FILES_${PN_LADSPA} += "${libdir}/ladspa"
FILES_${PN_LV2} += "${libdir}/lv2"
FILES_${PN_VST} += "${libdir}/vst"
FILES_${PN_VST3} += "${libdir}/vst3"
FILES_${PN}-dssi += "${libdir}/dssi"
FILES_${PN}-ladspa += "${libdir}/ladspa"
FILES_${PN}-lv2 += "${libdir}/lv2"
FILES_${PN}-vst += "${libdir}/vst"

View File

@@ -1,49 +0,0 @@
inherit qemu
DEPENDS_append = " qemu-native coreutils-native"
# This is an extended/modified qemu.bbclass tailored four our needs:
#
# * add qemu-native to DEPENDS: we can do that because there is no
# introspection/interception delayed qemu usage here
# * The executable binary is set by absolute path: oe-core's qemu.bbclass
# expects it in sysroot. Here we usually run binaries in builddir which are
# 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 ?= "600"
def qemu_run_binary_local(data, rootfs_path, binary):
libdir = rootfs_path + data.getVar("libdir")
base_libdir = rootfs_path + data.getVar("base_libdir")
extra_libdir = data.getVar("QEMU_EXTRA_LIBDIR")
if extra_libdir:
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"

22
classes/qemu-ext.bbclass Normal file
View File

@@ -0,0 +1,22 @@
inherit qemu
DEPENDS += "qemu-native"
# This is an extended/modified qemu.bbclass tailored four our needs:
#
# * add qemu-native to DEPENDS: we can do that because there is no
# introspection/interception delayed qemu usage here
# * The executable binary is set by absolute path: oe-core's qemu.bbclass
# expects it in sysroot. Here we usually run binaries in builddir which are
# not yet installed.
# * A recipe can set an extra library path in 'QEMU_EXTRA_LIBDIR'. This path is
# an absolute path.
def qemu_run_binary_local(data, rootfs_path, binary):
libdir = rootfs_path + data.getVar("libdir")
base_libdir = rootfs_path + data.getVar("base_libdir")
extra_libdir = data.getVar("QEMU_EXTRA_LIBDIR")
if extra_libdir:
return qemu_wrapper_cmdline(data, rootfs_path, [libdir, base_libdir, extra_libdir]) + binary
else:
return qemu_wrapper_cmdline(data, rootfs_path, [libdir, base_libdir]) + binary

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

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

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

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

View File

@@ -1,28 +0,0 @@
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 19: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

@@ -4,13 +4,13 @@ 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 = "1e3f5106d404562902bed2983403301db24a3f78"
S = "${WORKDIR}/git"
PV = "1.3.1001"
PV_LAST_RELEASE = "1.3.1000"
PV = "${PV_LAST_RELEASE}"
inherit waf pkgconfig
@@ -29,11 +29,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

@@ -1,56 +0,0 @@
PACKAGESPLITFUNCS_prepend = " split_gstreamer10_packages "
PACKAGESPLITFUNCS_append = " set_metapkg_rdepends "
python split_gstreamer10_packages () {
gst_libdir = d.expand('${libdir}/gstreamer-${LIBV}')
postinst = d.getVar('plugin_postinst')
glibdir = d.getVar('libdir')
do_split_packages(d, glibdir, r'^lib(.*)\.so\.*', 'lib%s', 'gstreamer %s library', extra_depends='', allow_links=True)
do_split_packages(d, gst_libdir, r'libgst(.*)\.so$', d.expand('${PN}-%s'), 'GStreamer plugin for %s', postinst=postinst, extra_depends='')
do_split_packages(d, glibdir+'/girepository-1.0', r'Gst(.*)-1.0\.typelib$', d.expand('${PN}-%s-typelib'), 'GStreamer typelib file for %s', postinst=postinst, extra_depends='')
do_split_packages(d, gst_libdir, r'libgst(.*)\.la$', d.expand('${PN}-%s-dev'), 'GStreamer plugin for %s (development files)', extra_depends='${PN}-dev')
do_split_packages(d, gst_libdir, r'libgst(.*)\.a$', d.expand('${PN}-%s-staticdev'), 'GStreamer plugin for %s (static development files)', extra_depends='${PN}-staticdev')
}
python set_metapkg_rdepends () {
import os
import oe.utils
pn = d.getVar('PN')
metapkg = pn + '-meta'
d.setVar('ALLOW_EMPTY_' + metapkg, "1")
d.setVar('FILES_' + metapkg, "")
blacklist = [ pn, pn + '-meta' ]
metapkg_rdepends = []
pkgdest = d.getVar('PKGDEST')
for pkg in oe.utils.packages_filter_out_system(d):
if pkg not in blacklist and pkg not in metapkg_rdepends:
# See if the package is empty by looking at the contents of its PKGDEST subdirectory.
# If this subdirectory is empty, then the package is.
# Empty packages do not get added to the meta package's RDEPENDS
pkgdir = os.path.join(pkgdest, pkg)
if os.path.exists(pkgdir):
dir_contents = os.listdir(pkgdir) or []
else:
dir_contents = []
is_empty = len(dir_contents) == 0
if not is_empty:
metapkg_rdepends.append(pkg)
d.setVar('RDEPENDS_' + metapkg, ' '.join(metapkg_rdepends))
d.setVar('DESCRIPTION_' + metapkg, pn + ' meta package')
}
# each plugin-dev depends on PN-dev, plugin-staticdev on PN-staticdev
# so we need them even when empty (like in gst-plugins-good case)
ALLOW_EMPTY_${PN} = "1"
ALLOW_EMPTY_${PN}-dev = "1"
ALLOW_EMPTY_${PN}-staticdev = "1"
PACKAGES += "${PN}-apps ${PN}-meta ${PN}-glib"
FILES_${PN} = ""
FILES_${PN}-apps = "${bindir}"
FILES_${PN}-glib = "${datadir}/glib-2.0"
RRECOMMENDS_${PN} += "${PN}-meta"

View File

@@ -14,7 +14,7 @@ EXTRA_OECONF = "--disable-valgrind ${GSTREAMER_DEBUG} --disable-examples"
acpaths = "-I ${S}/common/m4 -I ${S}/m4"
LIBV = "0.10"
require gst-plugins-package.inc
require recipes-multimedia/gstreamer/gst-plugins-package.inc
PACKAGES_DYNAMIC += "^${PN}-.*"

View File

@@ -11,18 +11,19 @@ DEPENDS += " \
"
SRC_URI = "git://github.com/amsynth/amsynth.git;branch=develop"
SRCREV = "4d980f3421f61cc8ea53e92eba5e43e823af7c02"
PV = "1.12.2"
SRCREV = "71544e4991f494f9871e13a50d6cf9217bb86986"
PV = "1.9.0"
S = "${WORKDIR}/git"
PACKAGECONFIG ??= "alsa jack lv2 nsm"
PACKAGECONFIG ??= "alsa jack sndfile 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[sndfile] = "--with-sndfile,--without-sndfile,libsndfile1"
PACKAGECONFIG[lv2] = "--with-lv2,--without-lv2,lv2"
PACKAGECONFIG[nsm] = "--with-nsm,--without-nsm,liblo,new-session-manager"
PACKAGES =+ "${PN}-standalone"
FILES_${PN}-standalone += " \
@@ -32,19 +33,19 @@ FILES_${PN}-standalone += " \
${bindir} \
"
FILES_${PN_DSSI} += " \
FILES_${PN}-dssi += " \
${datadir}/appdata/dssi-amsynth-plugin.metainfo.xml \
"
FILES_${PN_LV2} += " \
FILES_${PN}-lv2 += " \
${datadir}/appdata/lv2-amsynth-plugin.metainfo.xml \
"
FILES_${PN_VST} += " \
FILES_${PN}-vst += " \
${datadir}/appdata/vst-amsynth-plugin.metainfo.xml \
"
RDEPENDS_${PN}-standalone += "${PN}"
RDEPENDS_${PN_DSSI} += "${PN}"
RDEPENDS_${PN_LV2} += "${PN}"
RDEPENDS_${PN_VST} += "${PN}"
RDEPENDS_${PN}-dssi += "${PN}"
RDEPENDS_${PN}-lv2 += "${PN}"
RDEPENDS_${PN}-vst += "${PN}"

View File

@@ -1,33 +0,0 @@
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

@@ -1,859 +0,0 @@
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

@@ -1,99 +0,0 @@
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

@@ -1,31 +0,0 @@
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

@@ -1,128 +0,0 @@
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

@@ -1,25 +0,0 @@
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

@@ -1,114 +0,0 @@
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

@@ -1,55 +0,0 @@
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

@@ -28,39 +28,30 @@ DEPENDS += " \
fluidsynth \
"
inherit waf features_check gtk-icon-cache pkgconfig python3native mime-xdg siteinfo
inherit wafold distro_features_check gtk-icon-cache pkgconfig
REQUIRED_DISTRO_FEATURES = "x11"
REQUIRED_DISTRO_FEATURE = "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 \
@@ -72,19 +63,6 @@ EXTRA_OECONF = " \
--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
@@ -121,7 +99,3 @@ FILES_${PN}-dev += " \
FILES_${PN}-staticdev += " \
${libdir}/${BPN}/*.a \
"
# did not get ardour6 to fly on 32bit systems - so (r)provide for 32 bits as fallback
PROVIDES = "${@oe.utils.conditional('SITEINFO_BITS', '32', 'ardour', '', d)}"
RPROVIDES_${PN} = "${@oe.utils.conditional('SITEINFO_BITS', '32', 'ardour', '', d)}"

View File

@@ -1,96 +0,0 @@
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 \
hidapi \
"
inherit waf features_check gtk-icon-cache pkgconfig python3native mime mime-xdg siteinfo
REQUIRED_DISTRO_FEATURES = "x11"
SRC_URI = "git://github.com/Ardour/ardour.git"
SRCREV = "6733a847eeb55b4640a65a8bfebac8c7166521c8"
PV = "6.7"
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 \
--fpu-optimization \
--freedesktop \
--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
}
FILES_${PN}-dev += " \
${datadir}/appdata \
${datadir}/mime \
${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}/libtemporal.so \
${libdir}/${BPN}/libwaveview.so \
${libdir}/${BPN}/libwidgets.so \
${libdir}/${BPN}/vamp/*.so \
"
FILES_${PN}-staticdev += " \
${libdir}/${BPN}/*.a \
"
# did not get ardour6 to fly on 32bit systems - so (r)provide for 64 bits only
PROVIDES = "${@oe.utils.conditional('SITEINFO_BITS', '64', 'ardour', '', d)}"
RPROVIDES_${PN} = "${@oe.utils.conditional('SITEINFO_BITS', '64', 'ardour', '', d)}"

View File

@@ -10,14 +10,12 @@ 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(-)
tools/autowaf.py | 1 +
wscript | 26 -
diff --git a/tools/autowaf.py b/tools/autowaf.py
index 375dc5909..bb7714335 100644
index f82b80a..626e951 100644
--- a/tools/autowaf.py
+++ b/tools/autowaf.py
@@ -93,6 +93,7 @@ def copyfile (task):
@@ -29,10 +27,10 @@ index 375dc5909..bb7714335 100644
if sys.platform == "darwin":
includes = '/opt/local/include'
diff --git a/wscript b/wscript
index 9fd84bb2c..d4178cb36 100644
index a7dd5e2..35acc51 100644
--- a/wscript
+++ b/wscript
@@ -476,31 +476,6 @@ int main() { return 0; }''',
@@ -440,31 +440,6 @@ int main() { return 0; }''',
compiler_flags.append ("-DARCH_X86")
@@ -64,11 +62,14 @@ index 9fd84bb2c..d4178cb36 100644
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)
@@ -965,7 +940,6 @@ def configure(conf):
else:
conf.check_cc(function_name='dlopen', header_name='dlfcn.h', lib='dl', uselib_store='DL')
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',
--
2.9.3

View File

@@ -1,5 +1,5 @@
[Desktop Entry]
Name=Ardour 5
Name=Ardour
Comment=Record, mix and master audio
Exec=ardour5
Icon=ardour5

View File

@@ -1,28 +0,0 @@
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

@@ -16,7 +16,6 @@ DEPENDS += " \
SRC_URI = " \
https://aubio.org/pub/${BPN}-${PV}.tar.bz2 \
file://0001-do-not-build-tests.patch \
file://0002-Fix-build-for-python3-only-environments.patch \
"
SRC_URI[md5sum] = "50c9c63b15a2692378af5d602892f16a"
SRC_URI[sha256sum] = "d48282ae4dab83b3dc94c16cf011bcb63835c1c02b515490e1883049c3d1f3da"

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

@@ -3,7 +3,7 @@ HOMEPAGE = "https://sourceforge.net/projects/bristol/"
LICENSE = "GPLv3"
LIC_FILES_CHKSUM = "file://COPYING.GPL;md5=d32239bcb673463ab874e80d47fae504"
inherit autotools pkgconfig features_check
inherit autotools pkgconfig distro_features_check
REQUIRED_DISTRO_FEATURES = "x11"
@@ -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

@@ -0,0 +1,39 @@
From 021850be25992b8a090182a05ad62660414c964f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
Date: Sat, 19 Jan 2019 21:48:29 +0100
Subject: [PATCH 1/2] Fix detection of LV2 for latest git
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
LV2 removed lv2-core.pc in [1]. So find lv2 and set required version to 1.1.4
which was released in September 2016 and should be avalaible on most
environments. This should be compatible to LV2 1.1.14 because from pkg-config
point of view lv2-core.pc and lv2.pc look similar.
Upstream-Status: Submitted [2]
[1] https://github.com/drobilla/lv2/commit/4db67120efca2d4c200d2e1ba5cf3d7b97cab97e
[2] https://github.com/calf-studio-gear/calf/pull/213
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
---
configure.ac | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/configure.ac b/configure.ac
index b9c3d500..a0368773 100644
--- a/configure.ac
+++ b/configure.ac
@@ -79,7 +79,7 @@ if test "$JACK_FOUND" = "yes"; then
PKG_CHECK_MODULES(JACK_RENAME_PORT, jack >= 1.9.11, JACK_HAS_RENAME="yes", JACK_HAS_RENAME_DUMMY="no")
fi
-PKG_CHECK_MODULES(LV2_DEPS, lv2core >= 6, LV2_FOUND="yes", LV2_FOUND="no")
+PKG_CHECK_MODULES(LV2_DEPS, lv2 >= 1.1.14, LV2_FOUND="yes", LV2_FOUND="no")
PKG_CHECK_MODULES(LASH_DEPS, lash-1.0 >= 0.6.0,
AC_CHECK_LIB([lash], [lash_client_is_being_restored], LASH_0_6_FOUND="yes", LASH_0_6_FOUND="no"),
--
2.20.1

View File

@@ -0,0 +1,75 @@
From 855cf20b9bb9fec30b72fa05a9b4cd28a1b4d35d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
Date: Sat, 19 Jan 2019 23:00:49 +0100
Subject: [PATCH 2/2] Find headers for all versions of LV2
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Upstream-Status: Submitted [1]
[1] https://github.com/calf-studio-gear/calf/pull/213
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
---
src/calf/lv2_options.h | 2 +-
src/calf/lv2_ui.h | 2 +-
src/calf/lv2wrap.h | 2 +-
src/makerdf.cpp | 2 +-
4 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/src/calf/lv2_options.h b/src/calf/lv2_options.h
index 29568b8d..d66153da 100644
--- a/src/calf/lv2_options.h
+++ b/src/calf/lv2_options.h
@@ -20,7 +20,7 @@
#include <stdint.h>
#include "lv2_urid.h"
-#include "lv2.h"
+#include "lv2/lv2plug.in/ns/lv2core/lv2.h"
#define LV2_OPTIONS_URI "http://lv2plug.in/ns/ext/options"
#define LV2_OPTIONS_PREFIX LV2_OPTIONS_URI "#"
diff --git a/src/calf/lv2_ui.h b/src/calf/lv2_ui.h
index b802ec59..c3e60822 100644
--- a/src/calf/lv2_ui.h
+++ b/src/calf/lv2_ui.h
@@ -27,7 +27,7 @@
#include <stdint.h>
-#include "lv2.h"
+#include "lv2/lv2plug.in/ns/lv2core/lv2.h"
#define LV2_UI_URI "http://lv2plug.in/ns/extensions/ui"
#define LV2_UI_PREFIX LV2_UI_URI "#"
diff --git a/src/calf/lv2wrap.h b/src/calf/lv2wrap.h
index 8d6b13c4..d19eae7b 100644
--- a/src/calf/lv2wrap.h
+++ b/src/calf/lv2wrap.h
@@ -25,7 +25,7 @@
#include <string>
#include <vector>
-#include <lv2.h>
+#include "lv2/lv2plug.in/ns/lv2core/lv2.h"
#include <calf/giface.h>
#include <calf/lv2_atom.h>
#include <calf/lv2_atom_util.h>
diff --git a/src/makerdf.cpp b/src/makerdf.cpp
index 0b6cec5c..9f782534 100644
--- a/src/makerdf.cpp
+++ b/src/makerdf.cpp
@@ -22,7 +22,7 @@
#include <calf/preset.h>
#include <calf/utils.h>
#if USE_LV2
-#include <lv2.h>
+#include "lv2/lv2plug.in/ns/lv2core/lv2.h"
#include <calf/lv2_atom.h>
#include <calf/lv2_options.h>
#include <calf/lv2_state.h>
--
2.20.1

View File

@@ -10,12 +10,14 @@ SRC_URI = " \
git://github.com/calf-studio-gear/calf.git \
file://0001-Do-store-calfmakerdf-commandline-for-later-use-in-qe.patch \
file://0002-fluidsynth-Activate-synth.dynamic-sample-loading-for.patch \
file://0003-Fix-detection-of-LV2-for-latest-git.patch \
file://0004-Find-headers-for-all-versions-of-LV2.patch \
"
SRCREV = "41a2b7fb029cf0099fc05b7a9c569208034018de"
SRCREV = "e5c08dc2483c444d18d24a37c395274002320f5c"
S = "${WORKDIR}/git"
PV = "0.90.3"
PV = "0.90.1"
inherit autotools-brokensep pkgconfig gtk-icon-cache bash-completion qemu-ext-musicians
inherit autotools-brokensep pkgconfig gtk-icon-cache bash-completion qemu-ext
DEPENDS += " \
gtk+ \

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

@@ -14,17 +14,17 @@ Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
1 file changed, 1 deletion(-)
diff --git a/source/Makefile.mk b/source/Makefile.mk
index 6d1b24859..37518ef96 100644
index 688dca20..07afc7a2 100644
--- a/source/Makefile.mk
+++ b/source/Makefile.mk
@@ -285,7 +285,6 @@ endif
@@ -253,7 +253,6 @@ endif
endif
ifeq ($(HAVE_QT5),true)
-QT5_HOSTBINS = $(shell $(PKG_CONFIG) --variable=host_bins Qt5Core)
-QT5_HOSTBINS = $(shell pkg-config --variable=host_bins Qt5Core)
MOC_QT5 ?= $(QT5_HOSTBINS)/moc
RCC_QT5 ?= $(QT5_HOSTBINS)/rcc
UIC_QT5 ?= $(QT5_HOSTBINS)/uic
--
2.26.2
2.14.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;branch=develop \
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 = "74ee581a3c68cb4b3c13c83bb3f215a8d114b5a7"
SRCREV = "8385b5ee418357e2dc907518ac39c20beb3b28ed"
S = "${WORKDIR}/git"
PV = "2.3.0"
PV = "2.0.0+git${SRCPV}"
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 distro_features_check mime gtk-icon-cache
B = "${S}"

View File

@@ -10,9 +10,10 @@ DEPENDS += " \
ffmpeg \
"
SRC_URI = "git://github.com/acoustid/chromaprint.git"
SRCREV = "516e3b31c7fa6e822035ea3b3e31f9c7f51ef4b6"
PV = "1.5.0"
SRCREV = "ecd2edd73315530d4f9c1b1186aee24c63a7b6c2"
PV = "1.4.3"
S = "${WORKDIR}/git"
EXTRA_OECMAKE += " \

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

@@ -2,14 +2,14 @@ SUMMARY = "A sound and music computing system"
LICENSE = "LGPLv2.1"
LIC_FILES_CHKSUM = "file://COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343"
inherit cmake gettext python3native
inherit cmake gettext python-dir
# TBD: fltk is not propely detected
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)} \
"
@@ -48,15 +47,11 @@ PACKAGECONFIG[pulseaudio] = "-DUSE_PULSEAUDIO=ON,-DUSE_PULSEAUDIO=OFF,pulseaudio
PACKAGECONFIG[luajit] = "-DLUA_MODULE_INSTALL_DIR=${libdir}/lua/${LUA_VERSION},,luajit"
PACKAGES =+ " \
${PN}-python \
${PN}-python2 \
${PN}-luajit \
${PN}-samples \
"
FILES_${PN}-python = "${PYTHON_SITEPACKAGES_DIR}"
RDEPENDS_${PN}-python += "python3-core"
FILES_${PN}-python2 = "${PYTHON_SITEPACKAGES_DIR}"
RDEPENDS_${PN}-python2 += "python"
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

@@ -15,8 +15,8 @@ SRC_URI = " \
file://0001-Remove-Werror-from-CXXFLAGS.patch\
file://lpd8-editor.desktop \
"
SRCREV = "c5b3a64487b3f126f9da15e94d547eff8e972c0c"
PV = "0.0.13"
SRCREV = "5ca6f2b90889893e0633b23ffe0e4a014096656a"
PV = "0.0.12"
S = "${WORKDIR}/git"
do_install_append() {

View File

@@ -20,7 +20,7 @@ PV = "0.0.0+git${SRCPV}"
REQUIRED_DISTRO_FEATURES = "x11 opengl"
inherit lv2-turtle-helper features_check pack_audio_plugins
inherit lv2-postinst-helper distro_features_check pack_audio_plugins
# distro-ports dependency for special hack script / libs
DEPENDS += " \
@@ -34,23 +34,21 @@ DEPENDS += " \
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?
# reconfigure?
if [ ! -f ${LV2-TURTLE-BUILD-DATA} ] ; then
# Seems this collection is not ready for public - copy 'shared' from distrho-ports
rm -rf ${S}/scripts
rm -rf ${S}/libs
cp -rf ${STAGING_LIBDIR}/distrho-ports-build/* ${S}/
# manipulate scripts to keep lv2_ttl_generator-calls in script for lv2-postinst-helper
sed -i 's|$GEN ./$FILE|echo "lv2-ttl-generator `pwd`/$FILE" >> ${LV2-TURTLE-BUILD-DATA}|g' `find ${S}/scripts -name *.sh`
else
rm -f ${LV2-TURTLE-BUILD-DATA}
fi
cd ${S}
# platforms supporting sse2 can override NOOPTIMIZATIONS
NOOPTIMIZATIONS=1 ${S}/scripts/premake-update.sh linux
}
@@ -64,8 +62,8 @@ FILES_${PN} += " \
"
# for common (?) cabbage files
RDEPENDS_${PN_LV2} += "${PN}"
RDEPENDS_${PN_VST} += "${PN}"
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,8 +8,11 @@ LIC_FILES_CHKSUM = " \
SRC_URI = " \
git://github.com/DISTRHO/DISTRHO-Ports.git \
file://0001-Fix-build-with-musl-by-removing-unused-SystemStats-g.patch \
file://0002-Further-musl-fix-by-removal-of-unused-function.patch \
file://0001-disable-pitchedDelay-it-uses-double-precision-SSE2-b.patch \
file://0002-Refine-Plugin-do-not-include-xmmintrin.h.patch \
file://0003-Fix-build-with-musl-by-removing-unused-SystemStats-g.patch \
file://0004-Further-musl-fix-by-removal-of-unused-function.patch \
file://0005-Fix-build-with-gcc9.patch \
\
http://linuxsynths.com/ObxdPatchesDemos/ObxdPatchesBrian-01.tar.gz;name=linuxsynths-obxd-patches1;subdir=linuxsynths-obxd-patches \
\
@@ -17,9 +20,9 @@ SRC_URI = " \
http://linuxsynths.com/VexPatchesDemos/VexPatches02.tar.gz;name=linuxsynths-vex-patches2;subdir=linuxsynths-vex-patches \
"
SRCREV = "65c7c68a79e532d01695466f5b94c0e1cc4ae940"
SRCREV = "a82fff059baafc03f7c0e8b9a99f383af7bfbd79"
S = "${WORKDIR}/git"
PV = "2018-04-16+git${SRCPV}"
PV = "2018-04-16"
SRC_URI[linuxsynths-obxd-patches1.md5sum] = "32244f847a54a71ee3c25079df5c8b84"
SRC_URI[linuxsynths-obxd-patches1.sha256sum] = "246fccadd71bb9f0606a95bf7b0aee7807fd3a14f754367425423a51c31e160e"
@@ -31,7 +34,7 @@ SRC_URI[linuxsynths-vex-patches2.sha256sum] = "378cff261dab333c5f29246b6f3f557e0
REQUIRED_DISTRO_FEATURES = "x11 opengl"
inherit dos2unix lv2-turtle-helper features_check pack_audio_plugins
inherit dos2unix lv2-postinst-helper distro_features_check pack_audio_plugins
DEPENDS += " \
premake3-native \
@@ -44,16 +47,18 @@ DEPENDS += " \
ladspa-sdk \
"
LV2_TTL_GENERATOR = "${B}/libs/lv2_ttl_generator"
do_ttl_sed() {
# keep unmodified scripts for distrho-ports-extra
cp -r ${S}/scripts ${WORKDIR}
sed -i 's|$GEN ./$FILE|echo "`pwd`/$FILE" >> ${LV2_PLUGIN_INFO_FILE}|g' `find ${S}/scripts -name *.sh`
}
do_configure() {
# platforms supporting sse2 can override NOOPTIMIZATIONS - later todo?
# reconfigure?
if [ ! -f ${LV2-TURTLE-BUILD-DATA} ] ; then
# keep unmodified scripts
cp -r ${S}/scripts ${WORKDIR}
# manipulate scripts to keep lv2_ttl_generator-calls in script for lv2-postinst-helper
sed -i 's|$GEN ./$FILE|echo "lv2-ttl-generator `pwd`/$FILE" >> ${LV2-TURTLE-BUILD-DATA}|g' `find ${S}/scripts -name *.sh`
else
rm -f ${LV2-TURTLE-BUILD-DATA}
fi
# platforms supporting sse2 can override this (NOOPTIMIZATIONS)
NOOPTIMIZATIONS=1 ${S}/scripts/premake-update.sh linux
}
@@ -72,32 +77,23 @@ do_install() {
cp -rf $file ${D}${libdir}/lv2/
done
# install ttl-generator bindir for distrho-ports-extra
install -d ${D}/${bindir}/scripts
install -m 755 ${S}/libs/lv2_ttl_generator ${D}/${bindir}
rm ${S}/libs/lv2_ttl_generator
cp -r ${WORKDIR}/scripts ${D}/${bindir}/
cp -r ${S}/libs ${D}/${libdir}/
mv ${D}/${libdir}/libs/*.a ${D}/${libdir}
# install scripts for distro-ports-extra (and abuse libdir to ensure is is found in sysroot)
install -d ${D}/${libdir}/distrho-ports-build
cp -rf ${WORKDIR}/scripts ${D}${libdir}/distrho-ports-build/
cp -rf ${S}/libs ${D}${libdir}/distrho-ports-build/
rm -f ${D}${libdir}/distrho-ports-build/libs/lv2_ttl_generator
}
# ttl-generator bindir for distrho-ports-extra
SYSROOT_DIRS_append = " ${bindir}"
PACKAGES =+ "${PN}-presets"
RDEPENDS_${PN}-presets = "${PN_LV2}"
RDEPENDS_${PN}-presets = "${PN}-lv2"
FILES_${PN}-presets = "${libdir}/lv2/*.preset.lv2"
# dummy pack ttl-generator for distrho-ports-extra
PACKAGES =+ "${PN}-ttl-generator"
FILES_${PN}-ttl-generator += " \
${bindir}/lv2_ttl_generator \
${bindir}/scripts \
${libdir}/libs \
# dummy pack scripts for distrho-ports-extra
FILES_${PN}-staticdev += " \
${libdir}/distrho-ports-build \
"
# ${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"
RDEPENDS_${PN}-staticdev = "bash perl"
# Have not found what causes stripping - debugging of plugins is unlikely
INSANE_SKIP_${PN} = "already-stripped"

View File

@@ -0,0 +1,57 @@
From b1b48a24ed4eda34e4dc4d649a1ef030c37694ec Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
Date: Mon, 26 Jun 2017 23:12:22 +0200
Subject: [PATCH] disable pitchedDelay - it uses double precision SSE2 by
default
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Our build system should setz proper flags.
Upstream-Status: Inappropriate [embedded specific]
Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
---
ports/Makefile | 4 ----
1 file changed, 4 deletions(-)
diff --git a/ports/Makefile b/ports/Makefile
index d87da4af..521d9e1e 100644
--- a/ports/Makefile
+++ b/ports/Makefile
@@ -59,7 +59,6 @@ else
$(MAKE) -C LUFSMeter/LV2-Multi
$(MAKE) -C luftikus/LV2
$(MAKE) -C obxd/LV2
- $(MAKE) -C pitchedDelay/LV2
$(MAKE) -C refine/LV2
$(MAKE) -C stereosourceseparation/LV2
$(MAKE) -C tal-dub-3/LV2
@@ -98,7 +97,6 @@ vst: libs
$(MAKE) -C LUFSMeter/VST-Multi
$(MAKE) -C luftikus/VST
$(MAKE) -C obxd/VST
- $(MAKE) -C pitchedDelay/VST
$(MAKE) -C refine/VST
$(MAKE) -C stereosourceseparation/VST
$(MAKE) -C tal-dub-3/VST
@@ -136,7 +134,6 @@ clean:
$(MAKE) clean -C LUFSMeter/LV2-Multi
$(MAKE) clean -C luftikus/LV2
$(MAKE) clean -C obxd/LV2
- $(MAKE) clean -C pitchedDelay/LV2
$(MAKE) clean -C refine/LV2
$(MAKE) clean -C stereosourceseparation/LV2
$(MAKE) clean -C tal-dub-3/LV2
@@ -170,7 +167,6 @@ clean:
$(MAKE) clean -C LUFSMeter/VST-Multi
$(MAKE) clean -C luftikus/VST
$(MAKE) clean -C obxd/VST
- $(MAKE) clean -C pitchedDelay/VST
$(MAKE) clean -C refine/VST
$(MAKE) clean -C stereosourceseparation/VST
$(MAKE) clean -C tal-dub-3/VST
--
2.14.3

View File

@@ -0,0 +1,31 @@
From 8681831fa6fc5e58a7eebfc46bb0a467c8f19dcc Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
Date: Fri, 29 Dec 2017 23:36:46 +0100
Subject: [PATCH] Refine-Plugin: do not include "xmmintrin.h"
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Upstream-Status: Submitted [1]
[1] https://github.com/DISTRHO/DISTRHO-Ports/pull/31
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
---
ports/refine/source/PluginProcessor.cpp | 1 -
1 file changed, 1 deletion(-)
diff --git a/ports/refine/source/PluginProcessor.cpp b/ports/refine/source/PluginProcessor.cpp
index 6c9e6182..ab50a6ad 100644
--- a/ports/refine/source/PluginProcessor.cpp
+++ b/ports/refine/source/PluginProcessor.cpp
@@ -1,6 +1,5 @@
#include "PluginProcessor.h"
#include "PluginEditor.h"
-#include "xmmintrin.h"
ReFinedAudioProcessor::ReFinedAudioProcessor()
{
--
2.14.3

View File

@@ -0,0 +1,163 @@
From cee14bbe5a46de8cf0941b10686e84c30f7eaf76 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
Date: Thu, 1 Aug 2019 22:29:06 +0200
Subject: [PATCH] Fix build with gcc9
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Ported from [1]
[1] https://github.com/WeAreROLI/JUCE/commit/4e0adb2af8b424c43d22bd431011c9a6c57d36b6
Upstream-Status: Submitted [1]
[2] https://github.com/DISTRHO/DISTRHO-Ports/pull/42
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
---
.../juce_graphics/colour/juce_PixelFormats.h | 33 +++-----------
.../native/juce_RenderingHelpers.h | 44 +------------------
2 files changed, 8 insertions(+), 69 deletions(-)
diff --git a/libs/juce/source/modules/juce_graphics/colour/juce_PixelFormats.h b/libs/juce/source/modules/juce_graphics/colour/juce_PixelFormats.h
index cb0867cf..dea97a6b 100644
--- a/libs/juce/source/modules/juce_graphics/colour/juce_PixelFormats.h
+++ b/libs/juce/source/modules/juce_graphics/colour/juce_PixelFormats.h
@@ -105,22 +105,9 @@ public:
//==============================================================================
forcedinline uint8 getAlpha() const noexcept { return components.a; }
- forcedinline uint8 getRed() const noexcept { return components.r; }
+ forcedinline uint8 getRed() const noexcept { return components.r; }
forcedinline uint8 getGreen() const noexcept { return components.g; }
- forcedinline uint8 getBlue() const noexcept { return components.b; }
-
- #if JUCE_GCC
- // NB these are here as a workaround because GCC refuses to bind to packed values.
- forcedinline uint8& getAlpha() noexcept { return comps [indexA]; }
- forcedinline uint8& getRed() noexcept { return comps [indexR]; }
- forcedinline uint8& getGreen() noexcept { return comps [indexG]; }
- forcedinline uint8& getBlue() noexcept { return comps [indexB]; }
- #else
- forcedinline uint8& getAlpha() noexcept { return components.a; }
- forcedinline uint8& getRed() noexcept { return components.r; }
- forcedinline uint8& getGreen() noexcept { return components.g; }
- forcedinline uint8& getBlue() noexcept { return components.b; }
- #endif
+ forcedinline uint8 getBlue() const noexcept { return components.b; }
//==============================================================================
/** Copies another pixel colour over this one.
@@ -340,9 +327,6 @@ private:
{
uint32 internal;
Components components;
- #if JUCE_GCC
- uint8 comps[4]; // helper struct needed because gcc does not allow references to packed union members
- #endif
};
}
#ifndef DOXYGEN
@@ -425,13 +409,9 @@ public:
//==============================================================================
forcedinline uint8 getAlpha() const noexcept { return 0xff; }
- forcedinline uint8 getRed() const noexcept { return r; }
+ forcedinline uint8 getRed() const noexcept { return r; }
forcedinline uint8 getGreen() const noexcept { return g; }
- forcedinline uint8 getBlue() const noexcept { return b; }
-
- forcedinline uint8& getRed() noexcept { return r; }
- forcedinline uint8& getGreen() noexcept { return g; }
- forcedinline uint8& getBlue() noexcept { return b; }
+ forcedinline uint8 getBlue() const noexcept { return b; }
//==============================================================================
/** Copies another pixel colour over this one.
@@ -646,11 +626,10 @@ public:
//==============================================================================
forcedinline uint8 getAlpha() const noexcept { return a; }
- forcedinline uint8& getAlpha() noexcept { return a; }
- forcedinline uint8 getRed() const noexcept { return 0; }
+ forcedinline uint8 getRed() const noexcept { return 0; }
forcedinline uint8 getGreen() const noexcept { return 0; }
- forcedinline uint8 getBlue() const noexcept { return 0; }
+ forcedinline uint8 getBlue() const noexcept { return 0; }
//==============================================================================
/** Copies another pixel colour over this one.
diff --git a/libs/juce/source/modules/juce_graphics/native/juce_RenderingHelpers.h b/libs/juce/source/modules/juce_graphics/native/juce_RenderingHelpers.h
index e552758b..6dd943fb 100644
--- a/libs/juce/source/modules/juce_graphics/native/juce_RenderingHelpers.h
+++ b/libs/juce/source/modules/juce_graphics/native/juce_RenderingHelpers.h
@@ -585,10 +585,6 @@ namespace EdgeTableFillers
{
areRGBComponentsEqual = sourceColour.getRed() == sourceColour.getGreen()
&& sourceColour.getGreen() == sourceColour.getBlue();
- filler[0].set (sourceColour);
- filler[1].set (sourceColour);
- filler[2].set (sourceColour);
- filler[3].set (sourceColour);
}
else
{
@@ -644,7 +640,6 @@ namespace EdgeTableFillers
const Image::BitmapData& destData;
PixelType* linePixels;
PixelARGB sourceColour;
- PixelRGB filler [4];
bool areRGBComponentsEqual;
forcedinline PixelType* getPixel (const int x) const noexcept
@@ -659,43 +654,8 @@ namespace EdgeTableFillers
forcedinline void replaceLine (PixelRGB* dest, const PixelARGB colour, int width) const noexcept
{
- if (destData.pixelStride == sizeof (*dest))
- {
- if (areRGBComponentsEqual) // if all the component values are the same, we can cheat..
- {
- memset (dest, colour.getRed(), (size_t) width * 3);
- }
- else
- {
- if (width >> 5)
- {
- const int* const intFiller = reinterpret_cast<const int*> (filler);
-
- while (width > 8 && (((pointer_sized_int) dest) & 7) != 0)
- {
- dest->set (colour);
- ++dest;
- --width;
- }
-
- while (width > 4)
- {
- int* d = reinterpret_cast<int*> (dest);
- *d++ = intFiller[0];
- *d++ = intFiller[1];
- *d++ = intFiller[2];
- dest = reinterpret_cast<PixelRGB*> (d);
- width -= 4;
- }
- }
-
- while (--width >= 0)
- {
- dest->set (colour);
- ++dest;
- }
- }
- }
+ if ((size_t) destData.pixelStride == sizeof (*dest) && areRGBComponentsEqual)
+ memset ((void*) dest, colour.getRed(), (size_t) width * 3); // if all the component values are the same, we can cheat..
else
{
JUCE_PERFORM_PIXEL_OP_LOOP (set (colour))
--
2.21.0

View File

@@ -4,37 +4,43 @@ LIC_FILES_CHKSUM = " \
file://LICENSE;md5=ec024abddfab2ee463c8c1ad98883d12 \
"
SRC_URI = "git://github.com/DISTRHO/DPF-Plugins.git"
SRCREV = "86084a934adb26f529038cbcf901fd7a09b95897"
SRC_URI = " \
git://github.com/DISTRHO/DPF-Plugins.git \
"
SRCREV = "3adff289617ed32f9d0cb679b05e430531cbf0dd"
S = "${WORKDIR}/git"
PV = "v1.3+git${SRCPV}"
PV = "v1.1+git${SRCPV}"
REQUIRED_DISTRO_FEATURES = "x11 opengl"
inherit pkgconfig lv2-turtle-helper pack_audio_plugins features_check
inherit qemu-ext distro_features_check pkgconfig pack_audio_plugins
# TODO standalone: *.desktop
# TODO standalones: DEPEND jack / install / *.desktop
DEPENDS += " \
virtual/libgl \
cairo \
ladspa-sdk \
lv2 \
liblo \
jack \
projectm \
"
EXTRA_OEMAKE += " \
NOOPT=true \
SKIP_STRIPPING=true \
"
do_compile_prepend() {
export NOOPT=true
rm -f ${WORKDIR}/lv2_ttl_generator-data
# manipulate scripts to keep lv2_ttl_generator-calls in script for qemu
sed -i 's|"$GEN" "./$FILE"|echo `pwd`/$FILE >> ${WORKDIR}/lv2_ttl_generator-data|g' ${S}/dpf/utils/generate-ttl.sh
}
do_compile_append() {
# build ttl-files must be done in quemu
for sofile in `cat ${WORKDIR}/lv2_ttl_generator-data`; do
cd `dirname ${sofile}`
echo "QEMU lv2_ttl_generator for ${sofile}..."
${@qemu_run_binary_local(d, '${STAGING_DIR_TARGET}', '${S}/dpf/utils/lv2_ttl_generator')} ${sofile} || echo "ERROR: for QEMU lv2_ttl_generator for ${sofile}!"
done
}
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}/ladspa
for plugin in `find ${S}/bin/ -name *ladspa.so`; do
install -m 644 $plugin ${D}${libdir}/ladspa/
@@ -55,5 +61,5 @@ do_install() {
done
}
PACKAGES =+ "${PN}-standalone"
FILES_${PN}-standalone = "${bindir}"
# Have not found what causes stripping - debugging of plugins is unlikely
INSANE_SKIP_${PN} = "already-stripped"

View File

@@ -1,11 +1,11 @@
SUMMARY = "lv2-ttl-generator-native"
LICENSE = "ISC"
LIC_FILES_CHKSUM = " \
file://LICENSE;md5=87cb0d450c5426796754d1261693dc57 \
file://LICENSE;md5=7b4d7947003bd60e5475fc61c6d014da \
"
SRC_URI = "git://github.com/DISTRHO/DPF.git"
SRCREV = "14842be64ba309b8717592c5cf461925fa8a98af"
SRCREV = "70cec6a9d0222b32abdcaec02cd7b01378c4d78b"
S = "${WORKDIR}/git"
PV = "0.0.0+git${SRCPV}"
@@ -20,7 +20,3 @@ do_install() {
install -d ${D}${bindir}
install -m 0755 ${S}/utils/lv2_ttl_generator ${D}${bindir}/lv2-ttl-generator
}
# There are cases we neet we need target versions
SYSROOT_DIRS_append_class-target = " ${bindir}"

View File

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

@@ -0,0 +1,31 @@
From 36b834661ac4169db20c682bddfdcdf96df5a2f7 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
Date: Sat, 19 Jan 2019 00:44:13 +0100
Subject: [PATCH] Do not inject /usr/local/include to include paths
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>
---
waflib/extras/autowaf.py | 2 --
1 file changed, 2 deletions(-)
diff --git a/waflib/extras/autowaf.py b/waflib/extras/autowaf.py
index feaae3c6..119c95b5 100644
--- a/waflib/extras/autowaf.py
+++ b/waflib/extras/autowaf.py
@@ -189,8 +189,6 @@ def check_pkg(conf, name, **args):
if 'COMPILER_CXX' in conf.env:
conf.env.append_value('CXXFLAGS', ['-isystem', path])
- conf.env.append_value('CXXFLAGS', ['-isystem', '/usr/local/include'])
-
def normpath(path):
if sys.platform == 'win32':
return os.path.normpath(path).replace('\\', '/')
--
2.20.1

View File

@@ -1,25 +0,0 @@
From 1c871f1154cd67b00f1fc41d49fb94bddbf4b714 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
Date: Fri, 6 Dec 2019 18:11:09 +0100
Subject: [PATCH] Fix build for python3-only environments
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Thanks for upgrading waflib
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 887215c..2538272 100755
--- a/waf
+++ b/waf
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env python3
# Minimal waf script for projects that include waflib directly

View File

@@ -13,9 +13,9 @@ DEPENDS += " \
"
SRC_URI = " \
gitsm://gitlab.com/drobilla/ganv.git;protocol=https \
file://0001-Fix-build-for-python3-only-environments.patch \
git://git.drobilla.net/ganv.git;protocol=http \
file://0001-Do-not-inject-usr-local-include-to-include-paths.patch \
"
SRCREV = "17f58b94abf5e7b1ad7ea3c40d0cd1107298d41a"
SRCREV = "ccc9b971ab206fa3dc32a432a3e76db976192f58"
S = "${WORKDIR}/git"
PV = "1.8.0"
PV = "1.4.2+git${SRCPV}"

View File

@@ -3,7 +3,7 @@ HOMEPAGE = "http://drobilla.net/software/ingen"
LICENSE = "AGPLv3"
LIC_FILES_CHKSUM = "file://COPYING;md5=73f1eb20517c55bf9493b7dd6e480788"
inherit waf pkgconfig gtk-icon-cache pack_audio_plugins python3native
inherit waf pkgconfig gtk-icon-cache pack_audio_plugins pythonnative
DEPENDS += " \
boost \
@@ -16,10 +16,10 @@ DEPENDS += " \
"
SRC_URI = " \
gitsm://gitlab.com/drobilla/ingen.git;protocol=https \
file://0001-Fix-build-for-python3-only-environments.patch \
git://github.com/drobilla/ingen.git \
file://0001-Do-not-inject-usr-local-include-to-include-paths.patch \
"
SRCREV = "36949a845cf79e105445b9bc8656f2560469dc4d"
SRCREV = "cc3d7ef610e5f93086eb46406cc600ee81a23e98"
S = "${WORKDIR}/git"
PV = "0.5.1+git${SRCPV}"
@@ -37,7 +37,7 @@ PACKAGECONFIG[doc] = "--docs,,${DOCDEPENDS}"
PACKAGES =+ "${PN}-standalone ${PN}-python"
FILES_SOLIBSDEV = "${libdir}/libingen-*${SOLIBSDEV}"
FILES_SOLIBSDEV = "${libdir}/libingen${SOLIBSDEV}"
FILES_${PN} += " \
${libdir}/libingen_*.so \

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=eb60cfffc455677d4f11cf7f36c12093"
inherit waf pkgconfig gtk-icon-cache
@@ -20,12 +20,12 @@ DEPENDS += " \
"
SRC_URI = " \
gitsm://gitlab.com/drobilla/jalv.git;protocol=https \
file://0001-Fix-build-for-python3-only-environments.patch \
git://github.com/drobilla/jalv.git \
file://0001-Do-not-inject-usr-local-include-to-include-paths.patch \
"
SRCREV = "9ab6e66c6ea7230f716b74d62c03fc5d19f56abe"
SRCREV = "8311df91cc212adf3220acfcb50ab63414fe9dd6"
S = "${WORKDIR}/git"
PV = "1.6.6"
PV = "1.6.0+git${SRCPV}"
FILES_${PN} += " \
${libdir}/jack \

View File

@@ -1,21 +0,0 @@
SUMMARY = "C library providing simple use of LV2 plugins"
HOMEPAGE = "http://drobilla.net/software/lilv"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://COPYING;md5=b698a6a2120a83eecb34a9c6f1b93989"
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 \
file://0001-Fix-build-for-python3-only-environments.patch \
"
SRC_URI[sha256sum] = "26a37790890c9c1f838203b47f5b2320334fe92c02a4d26ebbe2669dbd769061"
EXTRA_OECONF = "--configdir=${sysconfdir} --dyn-manifest"
PACKAGES += "${PN}-python3"
FILES_${PN}-python3 += "${PYTHON_SITEPACKAGES_DIR}"
RDEPENDS_${PN}-python3 += "python3-core"

View File

@@ -0,0 +1,14 @@
SUMMARY = "C library providing simple use of LV2 plugins"
HOMEPAGE = "http://drobilla.net/software/lilv"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://COPYING;md5=7aceb3a3edc99517b08f5cdd557e11fb"
inherit waf bash-completion pkgconfig
DEPENDS += "lv2 serd sord sratom"
SRC_URI = "http://download.drobilla.net/${BPN}-${PV}.tar.bz2"
SRC_URI[md5sum] = "fb340958a6df5a683bf25e291493dc4d"
SRC_URI[sha256sum] = "c33b84b7a6e8e8fffb412fbcd6f69e59ca297ef3e29d829249b4ccc94f634438"
EXTRA_OECONF = "--configdir=${sysconfdir} --dyn-manifest"

View File

@@ -3,12 +3,11 @@ LICENSE = "ISC"
LIC_FILES_CHKSUM = "file://COPYING;md5=0383f162366b0c5a316292759a55d292"
SRC_URI = " \
gitsm://github.com/lv2/lv2.git \
git://github.com/drobilla/lv2.git \
file://0001-Output-more-details-on-import-error-to-catch-missing.patch \
file://0001-Fix-build-for-python3-only-environments.patch \
"
S = "${WORKDIR}/git"
SRCREV = "cd152104c84bcee9fec22ef780cec2af7ba85d0c"
PV = "1.18.2"
SRCREV = "96a6283a5fe023c59113242631f337da5f0eb278"
PV = "1.14.0+git${SRCPV}"
inherit waf pkgconfig

View File

@@ -30,12 +30,12 @@ index 23a239d..685f32e 100755
doap = rdflib.Namespace('http://usefulinc.com/ns/doap#')
diff --git a/lv2specgen/lv2specgen.py b/lv2specgen/lv2specgen.py
index 8cfa1c7..028e731 100755
index ddd0ba5..c86157e 100755
--- a/lv2specgen/lv2specgen.py
+++ b/lv2specgen/lv2specgen.py
@@ -66,13 +66,15 @@ try:
import pygments.formatters
@@ -63,13 +63,15 @@ try:
from pygments.lexer import RegexLexer, include, bygroups
from pygments.token import Text, Comment, Operator, Keyword, Name, String, Literal, Punctuation
have_pygments = True
-except ImportError:
+except ImportError as imperror:

View File

@@ -3,19 +3,15 @@ HOMEPAGE = "https://drobilla.net/software/mda-lv2"
LICENSE = "GPLv3"
LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
inherit waf features_check pkgconfig
inherit waf distro_features_check pkgconfig
REQUIRED_DISTRO_FEATURES = "x11"
DEPENDS = "lv2"
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"
S = "${WORKDIR}/git"
SRC_URI = "http://download.drobilla.net/${BPN}-${PV}.tar.bz2"
SRC_URI[md5sum] = "1962f48c54eafe52a3d2471cd3072aa8"
SRC_URI[sha256sum] = "a476c31ed9f8b009ebacc32a02d06ba9584c0d0d03f03dd62b1354d10a030442"
EXTRA_OECONF = " \
--lv2dir=${libdir}/lv2 \

View File

@@ -13,9 +13,9 @@ DEPENDS += " \
"
SRC_URI = " \
gitsm://gitlab.com/drobilla/patchage.git;protocol=https \
file://0001-Fix-build-for-python3-only-environments.patch \
git://git.drobilla.net/patchage.git;protocol=http \
file://0001-Do-not-inject-usr-local-include-to-include-paths.patch \
"
SRCREV = "34f5d891fabe5c4e6137ce3d94aee8ca1955ebab"
PV = "1.0.4"
SRCREV = "b69a38d171758c6e979d74541fc21d12b7e6abda"
PV = "1.0.0+git${SRCPV}"
S = "${WORKDIR}/git"

View File

@@ -6,10 +6,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
inherit waf
SRC_URI = " \
gitsm://gitlab.com/drobilla/raul.git;protocol=https \
file://0001-Fix-build-for-python3-only-environments.patch \
"
SRCREV = "e87bb398f025912fb989a09f1450b838b251aea1"
SRC_URI = "git://github.com/drobilla/raul.git"
SRCREV = "5eb7a555de2291f4df8c75ce261c555552725beb"
S = "${WORKDIR}/git"
PV = "1.0.0+git${SRCPV}"
PV = "0.8.10+git${SRCPV}"

View File

@@ -1,13 +0,0 @@
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"
inherit waf
PV = "0.30.8"
SRC_URI = " \
http://download.drobilla.net/${BPN}-${PV}.tar.bz2 \
file://0001-Fix-build-for-python3-only-environments.patch \
"
SRC_URI[sha256sum] = "672ec48f55f6f5bf1b548f3d6a76f127e803dbae2550ddb730bb02d2fd28fa87"

View File

@@ -0,0 +1,10 @@
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=7aceb3a3edc99517b08f5cdd557e11fb"
inherit waf
SRC_URI = "http://download.drobilla.net/${BPN}-${PV}.tar.bz2"
SRC_URI[md5sum] = "82243362b8b5a47dd46dac7ae893f562"
SRC_URI[sha256sum] = "6efb0efa5c2155e6bbac941cddeeabb7ed26d70a57d24178894ff169d8f6cefb"

View File

@@ -1,15 +0,0 @@
SUMMARY = "C library for storing RDF data in memory"
HOMEPAGE = "http://drobilla.net/software/sord"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://COPYING;md5=b698a6a2120a83eecb34a9c6f1b93989"
inherit waf pkgconfig
DEPENDS += "libpcre serd"
PV = "0.16.8"
SRC_URI = " \
http://download.drobilla.net/${BPN}-${PV}.tar.bz2 \
file://0001-Fix-build-for-python3-only-environments.patch \
"
SRC_URI[sha256sum] = "7c289d2eaabf82fa6ac219107ce632d704672dcfb966e1a7ff0bbc4ce93f5e14"

View File

@@ -0,0 +1,12 @@
SUMMARY = "C library for storing RDF data in memory"
HOMEPAGE = "http://drobilla.net/software/sord"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://COPYING;md5=6b8d060e6d32fbd53684f9dc0443b6a3"
inherit waf pkgconfig
DEPENDS += "libpcre serd"
SRC_URI = "http://download.drobilla.net/${BPN}-${PV}.tar.bz2"
SRC_URI[md5sum] = "eb1d1c62ffb5153d5e1f5d12a3b7279b"
SRC_URI[sha256sum] = "09f51174dd8f3efbd95f44f0bb0b165f08e066e052d40095de59de787987da8d"

View File

@@ -1,15 +0,0 @@
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"
inherit waf pkgconfig
DEPENDS += "lv2 serd sord"
PV = "0.6.8"
SRC_URI = " \
http://download.drobilla.net/${BPN}-${PV}.tar.bz2 \
file://0001-Fix-build-for-python3-only-environments.patch \
"
SRC_URI[sha256sum] = "3acb32b1adc5a2b7facdade2e0818bcd6c71f23f84a1ebc17815bb7a0d2d02df"

View File

@@ -0,0 +1,12 @@
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=ebc7934238811c788037421c6c548ddf"
inherit waf pkgconfig
DEPENDS += "lv2 serd sord"
SRC_URI = "http://download.drobilla.net/${BPN}-${PV}.tar.bz2"
SRC_URI[md5sum] = "aa3c540032da43cf6cf68f684983d7f5"
SRC_URI[sha256sum] = "0a514a55d6b6cb7b5d6f32d1dcb78a1e6e54537fa22fce533e4ef6adf240e853"

View File

@@ -1,19 +0,0 @@
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"
inherit waf features_check pkgconfig
REQUIRED_DISTRO_FEATURES = "x11"
DEPENDS = "gtk+ gtk+3 qtbase lv2"
PV = "0.10.10"
SRC_URI = " \
http://download.drobilla.net/${BPN}-${PV}.tar.bz2 \
file://0001-Fix-build-for-python3-only-environments.patch \
"
SRC_URI[sha256sum] = "750f08e6b7dc941a5e694c484aab02f69af5aa90edcc9fb2ffb4fb45f1574bfb"
FILES_${PN} += "${libdir}/suil-0"

View File

@@ -0,0 +1,16 @@
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=31b283049b7bf3fc441d62cd43d8f4b9"
inherit waf distro_features_check pkgconfig
REQUIRED_DISTRO_FEATURES = "x11"
DEPENDS = "gtk+ gtk+3 qtbase lv2"
SRC_URI = "http://download.drobilla.net/${BPN}-${PV}.tar.bz2"
SRC_URI[md5sum] = "b5a0ccb70ec0791531ee69f3a5b86ab6"
SRC_URI[sha256sum] = "a1e9899012790eef8867b5475853d76689b246cca88a99ac0d379a6c0d85c72b"
FILES_${PN} += "${libdir}/suil-0"

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

@@ -1,8 +1,8 @@
require ${BPN}.inc
inherit autotools-brokensep pkgconfig features_check gtk-icon-cache qemu-ext-musicians
inherit autotools-brokensep pkgconfig distro_features_check gtk-icon-cache qemu-ext
REQUIRED_DISTRO_FEATURES = "x11"
REQUIRED_DISTRO_FEATURE = "x11"
DEPENDS += " \
${BPN}-native \
@@ -20,7 +20,6 @@ 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://drumgizmo.desktop \
"

View File

@@ -4,5 +4,6 @@ LICENSE = "LGPLv3"
LIC_FILES_CHKSUM = "file://COPYING;md5=e6a600fd5e1d9cbde2d983680233ad02"
SRC_URI = "http://www.drumgizmo.org/releases/${BPN}-${PV}/${BPN}-${PV}.tar.gz"
SRC_URI[sha256sum] = "7426f38b58fbb82d3eada60c204d74e6c5de31ef424c017e3f890117e146a2a3"
PV = "0.9.19"
SRC_URI[md5sum] = "370b0931f5ab95952d0b85eea2533837"
SRC_URI[sha256sum] = "a1a31b2af5544e39e8e19c370fa6fee0a372a14fffa762d4d12debf4e711ec9c"
PV = "0.9.17"

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

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

@@ -1,6 +1,6 @@
From 5e5395fb24a2fac8e5377aba16e5a47ccfba977f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
Date: Thu, 24 Oct 2019 21:47:59 +0200
Date: Wed, 31 Jul 2019 20:20:25 +0200
Subject: [PATCH] Do not create Manifest.ttl with cross ttlgen
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, 1 insertion(+), 1 deletion(-)
diff --git a/plugin/Makefile.am b/plugin/Makefile.am
index f382acc..2181854 100644
index 7751154..d22f9c5 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 "$@;
@@ -42,7 +42,7 @@ ttlgen_SOURCES = \
$(top_srcdir)/plugin/plugingizmo/ttlgen.cc
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
+ echo ./ttlgen .libs/drumgizmo.so manifest.ttl
#######
--
2.26.2
2.21.0

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