summaryrefslogtreecommitdiffstats
path: root/audio/ardour
diff options
context:
space:
mode:
Diffstat (limited to 'audio/ardour')
-rw-r--r--audio/ardour/README2
-rw-r--r--audio/ardour/ardour.SlackBuild62
-rw-r--r--audio/ardour/ardour.info8
-rw-r--r--audio/ardour/libxml2-2.12-fix.patch53
-rw-r--r--audio/ardour/vendor_qm-dsp.patch37
5 files changed, 138 insertions, 24 deletions
diff --git a/audio/ardour/README b/audio/ardour/README
index ab2819d848..4d95504b53 100644
--- a/audio/ardour/README
+++ b/audio/ardour/README
@@ -2,4 +2,4 @@ Ardour is an application to fit the needs of musicians under Linux.
It is designed to be a fully functional professional audio application,
that uses the professional sound server jack for sound i/o.
-cppunit, lua and suil are optional dependencies.
+soundtouch, libwebsockets, cppunit and lua are optional dependencies.
diff --git a/audio/ardour/ardour.SlackBuild b/audio/ardour/ardour.SlackBuild
index 94e80e5cc9..63f72ba036 100644
--- a/audio/ardour/ardour.SlackBuild
+++ b/audio/ardour/ardour.SlackBuild
@@ -1,9 +1,9 @@
-#!/bin/sh
+#!/bin/bash
# Slackware build script for ardour
# Copyright 2008-2016 Heinz Wiesinger, Amsterdam, The Netherlands
-# Copyright 2018 Matteo Bernardini, Pisa, Italy
+# Copyright 2018-2023 Matteo Bernardini, Pisa, Italy
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -23,10 +23,17 @@
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+# 20230703 bkw: Modified by SlackBuilds.org, BUILD=2:
+# - make .desktop file validate.
+
+cd $(dirname $0) ; CWD=$(pwd)
+
PRGNAM=ardour
-VERSION=${VERSION:-5.12.0}
+VERSION=${VERSION:-8.1.0}
+MAJVER=$(echo $VERSION | cut -d. -f1)
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
+PKGTYPE=${PKGTYPE:-tgz}
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
@@ -36,11 +43,6 @@ if [ -z "$ARCH" ]; then
esac
fi
-CWD=$(pwd)
-TMP=${TMP:-/tmp/SBo}
-PKG=$TMP/package-$PRGNAM
-OUTPUT=${OUTPUT:-/tmp}
-
if [ "$ARCH" = "i586" ]; then
SLKCFLAGS="-O2 -march=i586 -mtune=i686"
LIBDIRSUFFIX=""
@@ -59,20 +61,35 @@ else
TARGET="$ARCH"
fi
+# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
+# the name of the created package would be, and then exit. This information
+# could be useful to other scripts.
+if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
+ echo "$PRGNAM-$VERSION-$TARGET-$BUILD$TAG.$PKGTYPE"
+ exit 0
+fi
+
+TMP=${TMP:-/tmp/SBo}
+PKG=$TMP/package-$PRGNAM
+OUTPUT=${OUTPUT:-/tmp}
+
set -e
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
rm -rf Ardour-$VERSION
-tar xvf $CWD/Ardour-$VERSION.tar.bz2
+tar xvf $CWD/Ardour-$VERSION.tar.?z*
cd Ardour-$VERSION
chown -R root:root .
find -L . \
\( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
- -o -perm 511 \) -exec chmod 755 {} \; -o \
+ -o -perm 511 \) -exec chmod 755 {} + -o \
\( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
- -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
+ -o -perm 440 -o -perm 400 \) -exec chmod 644 {} +
+
+# Thanks to fourtysixandtwo for pointing at this upstream pull request!
+patch -p1 < $CWD/libxml2-2.12-fix.patch
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
@@ -82,12 +99,12 @@ CXXFLAGS="$SLKCFLAGS" \
--configdir=/etc \
--mandir=/usr/man \
--docdir=/usr/doc/$PRGNAM-$VERSION \
- --with-backends="jack,alsa" \
+ --with-backends="dummy,alsa,jack,pulseaudio" \
--libjack=weak \
--optimize \
--freedesktop \
--no-phone-home \
- --cxx11
+ --ptformat
./waf build
@@ -97,12 +114,19 @@ find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | gr
| cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
mkdir -p $PKG/usr/share/{appdata,applications,icons}
-cp build/gtk2_ardour/ardour5.appdata.xml $PKG/usr/share/appdata/
-cp build/gtk2_ardour/ardour5.desktop $PKG/usr/share/applications/
+cp build/gtk2_ardour/ardour$MAJVER.appdata.xml $PKG/usr/share/appdata/
+
+# 20230703 bkw: desktop-file-validate complained about Categories.
+# The desktop menu spec:
+# https://specifications.freedesktop.org/menu-spec/latest/apa.html
+# ...has no such category as AudioEditing.
+sed 's,AudioEditing;,X-&,' build/gtk2_ardour/ardour$MAJVER.desktop \
+ > $PKG/usr/share/applications/ardour$MAJVER.desktop
+
for isize in 16 22 32 48 ; do
mkdir -p $PKG/usr/share/icons/hicolor/${isize}x${isize}/apps
cp gtk2_ardour/icons/application-x-ardour_${isize}px.png \
- $PKG/usr/share/icons/hicolor/${isize}x${isize}/apps/ardour5.png
+ $PKG/usr/share/icons/hicolor/${isize}x${isize}/apps/ardour$MAJVER.png
done
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
@@ -115,12 +139,12 @@ cat $CWD/slack-desc > $PKG/install/slack-desc
cat $CWD/doinst.sh > $PKG/install/doinst.sh
# Let's not clobber config files
-cd $PKG/etc/ardour5
+cd $PKG/etc/ardour$MAJVER
for i in $(find . -type f) ; do
mv $i $i.new
- echo "config etc/ardour5/$i.new" >> $PKG/install/doinst.sh
+ echo "config etc/ardour$MAJVER/$i.new" >> $PKG/install/doinst.sh
done
cd -
cd $PKG
-/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$TARGET-$BUILD$TAG.${PKGTYPE:-tgz}
+/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$TARGET-$BUILD$TAG.$PKGTYPE
diff --git a/audio/ardour/ardour.info b/audio/ardour/ardour.info
index e96d4c2604..c68b2e5110 100644
--- a/audio/ardour/ardour.info
+++ b/audio/ardour/ardour.info
@@ -1,10 +1,10 @@
PRGNAM="ardour"
-VERSION="5.12.0"
+VERSION="8.1.0"
HOMEPAGE="http://ardour.org"
-DOWNLOAD="http://ponce.cc/slackware/sources/repo/Ardour-5.12.0.tar.bz2"
-MD5SUM="cb45f31a59dd5a0da07422e4ac1c44fd"
+DOWNLOAD="https://ponce.cc/slackware/sources/repo/Ardour-8.1.0.tar.bz2"
+MD5SUM="278d59f3343057124989acbbf67d7f15"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
-REQUIRES="aubio jack-audio-connection-kit liblo liblrdf vamp-plugin-sdk rubberband lv2 cwiid lilv"
+REQUIRES="aubio jack liblo liblrdf rubberband suil cwiid lilv vst3sdk"
MAINTAINER="Matteo Bernardini"
EMAIL="ponce@slackbuilds.org"
diff --git a/audio/ardour/libxml2-2.12-fix.patch b/audio/ardour/libxml2-2.12-fix.patch
new file mode 100644
index 0000000000..00ebd0f4e2
--- /dev/null
+++ b/audio/ardour/libxml2-2.12-fix.patch
@@ -0,0 +1,53 @@
+From e995daa37529715214c6c4a2587e4134aaaba02f Mon Sep 17 00:00:00 2001
+From: Nils Philippsen <nils@tiptoe.de>
+Date: Fri, 17 Nov 2023 23:26:06 +0100
+Subject: [PATCH] Fix failure to build with libxml2 version 2.12
+
+This declared some xmlError pointers const, which probably was always
+assumed, but not made explicit.
+
+Signed-off-by: Nils Philippsen <nils@tiptoe.de>
+---
+ gtk2_ardour/ardour_ui.cc | 8 ++++++--
+ libs/pbd/xml++.cc | 2 +-
+ 2 files changed, 7 insertions(+), 3 deletions(-)
+
+diff --git a/gtk2_ardour/ardour_ui.cc b/gtk2_ardour/ardour_ui.cc
+index 54ed79ea83d..77ddbbe99ca 100644
+--- a/gtk2_ardour/ardour_ui.cc
++++ b/gtk2_ardour/ardour_ui.cc
+@@ -255,7 +255,7 @@ libxml_generic_error_func (void* /* parsing_context*/,
+
+ static void
+ libxml_structured_error_func (void* /* parsing_context*/,
+- xmlErrorPtr err)
++ const xmlError *err)
+ {
+ string msg;
+
+@@ -403,7 +403,11 @@ ARDOUR_UI::ARDOUR_UI (int *argcp, char **argvp[], const char* localedir)
+ /* stop libxml from spewing to stdout/stderr */
+
+ xmlSetGenericErrorFunc (this, libxml_generic_error_func);
+- xmlSetStructuredErrorFunc (this, libxml_structured_error_func);
++
++ /* Cast to xmlStructuredErrorFunc to cope with different constness in different
++ * versions of libxml2. */
++
++ xmlSetStructuredErrorFunc (this, (xmlStructuredErrorFunc)libxml_structured_error_func);
+
+ /* Set this up early */
+
+diff --git a/libs/pbd/xml++.cc b/libs/pbd/xml++.cc
+index 5c57ad8395d..1f5a85772f6 100644
+--- a/libs/pbd/xml++.cc
++++ b/libs/pbd/xml++.cc
+@@ -170,7 +170,7 @@ XMLTree::write() const
+ result = xmlSaveFormatFileEnc(_filename.c_str(), doc, "UTF-8", 1);
+ #ifndef NDEBUG
+ if (result == -1) {
+- xmlErrorPtr xerr = xmlGetLastError ();
++ const xmlError *xerr = xmlGetLastError ();
+ if (!xerr) {
+ std::cerr << "unknown XML error during xmlSaveFormatFileEnc()." << std::endl;
+ } else {
diff --git a/audio/ardour/vendor_qm-dsp.patch b/audio/ardour/vendor_qm-dsp.patch
new file mode 100644
index 0000000000..f8265fd6e4
--- /dev/null
+++ b/audio/ardour/vendor_qm-dsp.patch
@@ -0,0 +1,37 @@
+diff --git i/libs/qm-dsp/wscript w/libs/qm-dsp/wscript
+index 775098e06b..13f6b9410a 100644
+--- i/libs/qm-dsp/wscript
++++ w/libs/qm-dsp/wscript
+@@ -23,17 +23,10 @@ def options(opt):
+ autowaf.set_options(opt)
+
+ def configure(conf):
+- if conf.is_defined('USE_EXTERNAL_LIBS'):
+- conf.check_cxx(header_name="base/Pitch.h", mandatory=True)
+- conf.check_cxx(lib="qm-dsp", uselib_store="QMDSP", mandatory=True)
+- else:
+- conf.load('compiler_cxx')
+- autowaf.configure(conf)
++ conf.load('compiler_cxx')
++ autowaf.configure(conf)
+
+ def build(bld):
+- if bld.is_defined('USE_EXTERNAL_LIBS'):
+- return
+-
+ # Host Library
+ obj = bld(features = 'c cxx cxxstlib')
+ obj.source = '''
+diff --git i/wscript w/wscript
+index 1c9bb1ff5d..95d377d8a7 100644
+--- i/wscript
++++ w/wscript
+@@ -1041,8 +1041,6 @@ def configure(conf):
+
+ if Options.options.use_external_libs:
+ conf.define('USE_EXTERNAL_LIBS', 1)
+- conf.env.append_value(
+- 'CXXFLAGS', '-I' + Options.options.qm_dsp_include)
+
+ if Options.options.boost_include != '':
+ conf.env.append_value('CXXFLAGS', '-I' + Options.options.boost_include)