[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