[packages/ardour] - fixed rubberband 4 check and libydk/libytk linking, cleaned up locales, updated dependencies
qboosh
qboosh at pld-linux.org
Thu Aug 28 20:37:36 CEST 2025
commit 375016ccf225e3b97019b7f148f568c62b8b34eb
Author: Jakub Bogusz <qboosh at pld-linux.org>
Date: Thu Aug 28 20:40:11 2025 +0200
- fixed rubberband 4 check and libydk/libytk linking, cleaned up locales, updated dependencies
ardour-link.patch | 38 +++++++++++++++++++++
ardour-rubberband.patch | 11 ++++++
ardour.spec | 91 +++++++++++++++++++++++++++++++++++--------------
3 files changed, 114 insertions(+), 26 deletions(-)
---
diff --git a/ardour.spec b/ardour.spec
index a3b208c..8b1db82 100644
--- a/ardour.spec
+++ b/ardour.spec
@@ -3,54 +3,92 @@ Summary(pl.UTF-8): Wielościeżkowy magnetofon nagrywający na twardym dysku
Name: ardour
Version: 8.12
Release: 2
-License: GPL
+License: GPL v2+
Group: X11/Applications/Sound
# Aredour does not allow fetching github tags:/
# https://tracker.ardour.org/view.php?id=7328
# https://github.com/Ardour/ardour/archive/%{version}/%{name}-%{version}.tar.gz
+# one can use https://community.ardour.org/src/Ardour-%{version}.tar.bz2
Source0: %{name}-%{version}.tar.xz
# Source0-md5: 655db71e5511f2e26b82d031576433c4
Patch0: localedir.patch
Patch1: no_proc_build.patch
Patch2: ffmpeg_paths.patch
+Patch3: %{name}-rubberband.patch
+Patch4: %{name}-link.patch
URL: http://ardour.org/
BuildRequires: alsa-lib-devel >= 0.9.0
BuildRequires: aubio-devel >= 0.4.0
-BuildRequires: boost-devel
+BuildRequires: boost-devel >= 1.68
BuildRequires: cairo-devel >= 1.12.0
BuildRequires: cairomm-devel >= 1.8.4
BuildRequires: curl-devel >= 7.0.0
BuildRequires: dbus-devel
-BuildRequires: fftw3-single-devel
+BuildRequires: fftw3-single-devel >= 3.3.5
BuildRequires: flac-devel >= 1.2.1
BuildRequires: fontconfig-devel
BuildRequires: glib2-devel >= 1:2.28
-BuildRequires: gtk+2-devel >= 2:2.18
-BuildRequires: gtkmm-devel >= 2.8
+BuildRequires: glibmm-devel >= 2.32.0
BuildRequires: itstool >= 2.0.0
BuildRequires: jack-audio-connection-kit-devel >= 0.121
BuildRequires: libarchive-devel >= 3.0.0
BuildRequires: liblo-devel >= 0.26
BuildRequires: liblrdf-devel >= 0.4.0
-BuildRequires: libogg-devel >= 1.1.2
+BuildRequires: libogg-devel >= 1:1.1.2
+BuildRequires: libpng-devel
BuildRequires: libsamplerate-devel >= 0.1.7
BuildRequires: libsigc++-devel >= 2.0
BuildRequires: libsndfile-devel >= 1.0.18
-BuildRequires: libusb-devel
-BuildRequires: libxml2-devel
-BuildRequires: lilv-devel >= 0.21.3
-BuildRequires: lv2-devel >= 1.10.0
+BuildRequires: libusb-devel >= 1.0.16
+BuildRequires: libwebsockets-devel >= 2.0.0
+BuildRequires: libxml2-devel >= 2.0
+BuildRequires: lilv-devel >= 0.24.2
+BuildRequires: lv2-devel >= 1.18.6
+BuildRequires: pango-devel >= 1:1.36.8
BuildRequires: pangomm-devel >= 1.4
-BuildRequires: rubberband-devel
+BuildRequires: pkgconfig
+BuildRequires: pulseaudio-devel
+BuildRequires: python3 >= 1:3
+BuildRequires: rubberband-devel >= 3.0
BuildRequires: serd-devel >= 0.14.0
BuildRequires: sord-devel >= 0.8.0
BuildRequires: sratom-devel >= 0.2.0
BuildRequires: suil-devel >= 0.6.0
-BuildRequires: taglib-devel >= 1.6
+BuildRequires: taglib-devel >= 1.9
BuildRequires: udev-devel
BuildRequires: vamp-devel >= 2.1
BuildRequires: xorg-lib-libX11-devel >= 1.1
+BuildRequires: xorg-lib-libXext-devel
+BuildRequires: xorg-lib-libXinerama-devel
+BuildRequires: xorg-lib-libXrandr-devel >= 1.5.0
+BuildRequires: xorg-lib-libXrender-devel
+Requires: aubio >= 0.4.0
+Requires: cairo >= 1.12.0
+Requires: cairomm >= 1.8.4
+Requires: fftw3-single >= 3.3.5
+Requires: flac >= 1.2.1
+Requires: glib2 >= 1:2.28
+Requires: glibmm >= 2.32.0
Requires: jack-audio-connection-kit-libs >= 0.121
+Requires: liblo >= 0.26
+Requires: liblrdf >= 0.4.0
+Requires: libogg >= 1:1.1.2
+Requires: libsamplerate >= 0.1.7
+Requires: libsndfile >= 1.0.18
+Requires: libusb >= 1.0.16
+Requires: libwebsockets >= 2.0.0
+Requires: lilv >= 0.24.2
+Requires: lv2 >= 1.18.6
+Requires: pango >= 1:1.36.8
+Requires: pangomm >= 1.4
+Requires: serd >= 0.14.0
+Requires: sord >= 0.8.0
+Requires: sratom >= 0.2.0
+Requires: suil >= 0.6.0
+Requires: taglib >= 1.9
+Requires: vamp >= 2.1
+Requires: xorg-lib-libX11 >= 1.1
+Requires: xorg-lib-libXrandr >= 1.5.0
Suggests: harvid
Suggests: xjadeo
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
@@ -59,12 +97,6 @@ BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%define _noautoreq ^libardour.* libaudiographer.so.0 libcanvas.so.0 libevoral.so.0 libgtkmm2ext.so.0 libmidipp.so.4 libpbd.so.4 libptformat.so.0 libqmdsp.so.0 libtimecode.so libwaveview.so.0 libwidgets.so.0
# False negatives:
-# Unresolved symbols found in: libydk.so.*
-# XRenderQueryExtension
-# Unresolved symbols found in: libytk.so.*
-# FcInitReinitialize
-# FcConfigUptoDate
-# Those are defined in the executable
# Unresolved symbols found in: libardour.so.*
# _Z10vstfx_exitv
# _Z10vstfx_initPv
@@ -72,7 +104,7 @@ BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
# _ZN8Temporal8TempoMap12_tempo_map_pE
# Unresolved symbols found in: libwaveview.so.*
# _ZN8Temporal8TempoMap12_tempo_map_pE
-%define skip_post_check_so libardour.so.* libydk.so.* libytk.so.* libwaveview.so.*
+%define skip_post_check_so libardour.so.* libwaveview.so.*
%description
A "professional" multitrack, multichannel audio recorder and DAW for
@@ -91,6 +123,8 @@ MMC, niedestruktywny, nieliniowy edytor oraz wtyczki LADSPA.
%patch -P0 -p1
%patch -P1 -p1
%patch -P2 -p1
+%patch -P3 -p1
+%patch -P4 -p1
%build
export CC="%{__cc}"
@@ -99,7 +133,7 @@ export CFLAGS="%{rpmcflags}"
export CXXFLAGS="%{rpmcxxflags}"
export LDFLAGS="%{rpmldflags}"
-./waf configure \
+%{__python3} waf configure \
--prefix=%{_prefix} \
--bindir=%{_bindir} \
--configdir=%{_sysconfdir} \
@@ -111,14 +145,15 @@ export LDFLAGS="%{rpmldflags}"
--cxx17 \
--freedesktop
-./waf build -v
-./waf i18n -v
+%{__python3} waf build -v -j %{__jobs}
+
+%{__python3} waf i18n -v
%install
rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT{%{_desktopdir},%{_pixmapsdir}}
+install -d $RPM_BUILD_ROOT%{_pixmapsdir}
-./waf install -v \
+%{__python3} waf install -v \
--destdir=$RPM_BUILD_ROOT \
--prefix=%{_prefix} \
--bindir=%{_bindir} \
@@ -128,9 +163,13 @@ install -d $RPM_BUILD_ROOT{%{_desktopdir},%{_pixmapsdir}}
--libdir=%{_libdir} \
--mandir=%{_mandir}
-cp -a gtk2_ardour/icons/application-x-ardour_48px.png $RPM_BUILD_ROOT%{_pixmapsdir}/ardour.png
+cp -p gtk2_ardour/icons/application-x-ardour_48px.png $RPM_BUILD_ROOT%{_pixmapsdir}/ardour.png
-%{__rm} -r $RPM_BUILD_ROOT%{_localedir}/{pt_PT,zh}
+# what a mess... pt.po is pt_BR in gtk2_ardour (but pt_PT in other domains)
+%{__mv} $RPM_BUILD_ROOT%{_localedir}/{pt,pt_BR}/LC_MESSAGES/gtk2_ardour8.mo
+%{__mv} $RPM_BUILD_ROOT%{_localedir}/{pt_PT,pt}/LC_MESSAGES/gtk2_ardour8.mo
+# assume zh_CN as main translator's mail is in .edu.cn domain
+%{__mv} $RPM_BUILD_ROOT%{_localedir}/{zh,zh_CN}
%find_lang %{name} --all-name
diff --git a/ardour-link.patch b/ardour-link.patch
new file mode 100644
index 0000000..c619a45
--- /dev/null
+++ b/ardour-link.patch
@@ -0,0 +1,38 @@
+--- ardour-8.12/libs/tk/ydk/wscript.orig 2025-08-18 02:04:54.000000000 +0200
++++ ardour-8.12/libs/tk/ydk/wscript 2025-08-28 17:39:02.438578527 +0200
+@@ -161,6 +161,7 @@ def configure(conf):
+ autowaf.check_pkg(conf, 'gio-unix-2.0', uselib_store='GIO-UNIX', mandatory=True)
+ autowaf.check_pkg(conf, 'xrandr', uselib_store='RANDR', mandatory=False, atleast_version='1.2.99')
+ autowaf.check_pkg(conf, 'xrandr', uselib_store='RANDR15', mandatory=False, atleast_version='1.5.0')
++ autowaf.check_pkg(conf, 'xrender', uselib_store='RENDER', mandatory=True)
+ conf.check_cc(header_name='X11/extensions/Xinerama.h',
+ lib='Xinerama', uselib_store="XINERAMA", define_name='HAVE_XFREE_XINERAMA',
+ execute = False, mandatory=False)
+@@ -202,7 +203,7 @@ def build(bld):
+ obj.ldflags = '-limm32 -lole32 -lgdi32 -lcomdlg32 -lwinspool -lcomctl32 -luuid'
+ else:
+ obj.source = libydk_sources + libydk_x11_sources
+- obj.uselib += ' GIO-UNIX X11 XEXT XINERAMA RANDR'
++ obj.uselib += ' GIO-UNIX X11 XEXT XINERAMA RANDR RENDER'
+ obj.includes += ['ydk/x11/gdk', 'ydk/gdk/x11']
+ obj.export_includes += ['ydk/gdk']
+ obj.export_includes += ['ydk/x11']
+--- ardour-8.12/libs/tk/ytk/wscript.orig 2025-08-18 02:04:54.000000000 +0200
++++ ardour-8.12/libs/tk/ytk/wscript 2025-08-28 17:40:09.341567369 +0200
+@@ -267,6 +267,7 @@ def configure(conf):
+ if conf.env['build_target'] != 'mingw' and sys.platform != 'darwin': # Linux
+ autowaf.check_pkg(conf, 'x11', uselib_store='X11', system=True, mandatory=True)
+ autowaf.check_pkg(conf, 'xext', uselib_store='XEXT', system=True, mandatory=True)
++ autowaf.check_pkg(conf, 'fontconfig', uselib_store='FONTCONFIG', system=True, mandatory=True)
+
+ def build(bld):
+ if not bld.is_defined('YTK'):
+@@ -305,7 +306,7 @@ def build(bld):
+ obj.linkflags = ['-Wl,--export-all-symbols']
+ else:
+ obj.source = libytk_sources + libytk_x11_sources
+- obj.uselib += ' X11 XEXT'
++ obj.uselib += ' X11 XEXT FONTCONFIG'
+
+ # i18n
+ if bld.is_defined('ENABLE_NLS'):
diff --git a/ardour-rubberband.patch b/ardour-rubberband.patch
new file mode 100644
index 0000000..596544d
--- /dev/null
+++ b/ardour-rubberband.patch
@@ -0,0 +1,11 @@
+--- ardour-8.12/wscript.orig 2025-08-28 17:35:39.539113919 +0200
++++ ardour-8.12/wscript 2025-08-28 17:38:00.025059498 +0200
+@@ -1257,7 +1257,7 @@ def configure(conf):
+ define_name= 'HAVE_RUBBERBAND_3_0_0',
+ fragment = '''
+ #include <rubberband/RubberBandStretcher.h>
+-#if RUBBERBAND_API_MAJOR_VERSION >= 2 && RUBBERBAND_API_MINOR_VERSION >= 7
++#if (RUBBERBAND_API_MAJOR_VERSION > 2) || RUBBERBAND_API_MAJOR_VERSION == 2 && RUBBERBAND_API_MINOR_VERSION >= 7
+ int main () { return 0; }
+ #else
+ #error
================================================================
---- gitweb:
http://git.pld-linux.org/gitweb.cgi/packages/ardour.git/commitdiff/8ee27dffd8c9955918cdbaf1a1a7cb589b581079
More information about the pld-cvs-commit
mailing list