Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package ardour for openSUSE:Factory checked in at 2026-08-04 21:33:38 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/ardour (Old) and /work/SRC/openSUSE:Factory/.ardour.new.16738 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ardour" Tue Aug 4 21:33:38 2026 rev:25 rq:1369238 version:9.7.0 Changes: -------- --- /work/SRC/openSUSE:Factory/ardour/ardour.changes 2026-08-01 18:36:28.606592054 +0200 +++ /work/SRC/openSUSE:Factory/.ardour.new.16738/ardour.changes 2026-08-04 21:34:10.743647612 +0200 @@ -1,0 +2,30 @@ +Sun Aug 2 18:35:04 UTC 2026 - Martin Pluskal <[email protected]> + +- Build with the default compiler again, pinning the language standard + instead: GCC 16 moved its default dialect to gnu++20, where u8"" + literals stop converting to std::string -- 77 of them across 29 + files, so the right fix is upstream's own --cxx17 switch, which + Debian, Arch and Gentoo already pass. Drops force_gcc_version and + the gcc15-c++ dependency (boo#1261794) +- Hand the distribution flags to waf via --arch: they were discarded + wholesale, so packages shipped without -g (near-empty debuginfo), + without any hardening, and with upstream's -O3 -ffast-math instead + of -O2. -ffast-math is nothing to ship in a DAW by default +- Pass --dist-target=aarch64 on aarch64: the wscript's autodetection + does not recognise the machine, silently losing ARM_NEON_SUPPORT. + Keep the explanatory comment outside the configure invocation's + backslash continuation chain -- a comment line inside it terminates + the command mid-way and broke the aarch64 build outright +- Build the ardour-lang subpackage the declared %lang_package always + promised: the translations were being swallowed by the main package +- Enable Xinerama support, which was silently off for want of the + header, and correct the AudioEditing desktop-file category to the + registered AudioVideoEditing +- Drop the deprecated %suse_update_desktop_file and update-desktop-files, + the never-used ldconfig-era Requires(post/postun) pairs and the bogus + runtime dependency on graphviz +- Correct dependency floors: libcurl >= 7.55.0 (what configure checks), + itstool >= 2.0.0, and drop the over-broad libhidapi-devel for the + pkgconfig(hidapi-hidraw) the build actually probes + +------------------------------------------------------------------- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ ardour.spec ++++++ --- /var/tmp/diff_new_pack.qO9HWE/_old 2026-08-04 21:34:11.639678906 +0200 +++ /var/tmp/diff_new_pack.qO9HWE/_new 2026-08-04 21:34:11.639678906 +0200 @@ -16,10 +16,6 @@ # -%if 0%{?suse_version} >= 1699 -%global force_gcc_version 15 -%endif - %define dirbase ardour9 Name: ardour Version: 9.7.0 @@ -37,21 +33,19 @@ BuildRequires: doxygen BuildRequires: fdupes BuildRequires: fftw3-threads-devel -BuildRequires: gcc%{?force_gcc_version}-c++ +BuildRequires: gcc-c++ BuildRequires: gettext-devel BuildRequires: glibc-devel BuildRequires: graphviz BuildRequires: hicolor-icon-theme -BuildRequires: itstool > 2.0.0 +BuildRequires: itstool >= 2.0.0 BuildRequires: jack-devel BuildRequires: libcppunit-devel -BuildRequires: libhidapi-devel BuildRequires: libtool BuildRequires: pkgconfig BuildRequires: python3 BuildRequires: readline-devel BuildRequires: rubberband-vamp -BuildRequires: update-desktop-files BuildRequires: pkgconfig(alsa) BuildRequires: pkgconfig(atkmm-1.6) >= 2.22.6 BuildRequires: pkgconfig(aubio) >= 0.3.2 @@ -67,9 +61,10 @@ BuildRequires: pkgconfig(glibmm-2.4) >= 2.32.0 BuildRequires: pkgconfig(gtk+-2.0) >= 2.24.18 BuildRequires: pkgconfig(gtkmm-2.4) >= 2.24.2 +BuildRequires: pkgconfig(hidapi-hidraw) BuildRequires: pkgconfig(jack) BuildRequires: pkgconfig(libarchive) -BuildRequires: pkgconfig(libcurl) >= 7.25.0 +BuildRequires: pkgconfig(libcurl) >= 7.55.0 BuildRequires: pkgconfig(libexslt) BuildRequires: pkgconfig(libjpeg) BuildRequires: pkgconfig(liblo) >= 0.26 @@ -102,13 +97,9 @@ BuildRequires: pkgconfig(vorbis) >= 1.3.2 BuildRequires: pkgconfig(x11) BuildRequires: pkgconfig(x11-xcb) -Requires: graphviz +BuildRequires: pkgconfig(xinerama) Requires: lv2 %requires_ge liblilv-0-0 -Requires(post): desktop-file-utils -Requires(post): shared-mime-info -Requires(postun): desktop-file-utils -Requires(postun): shared-mime-info Recommends: a2jmidid Recommends: gtk2-engine-clearlooks Recommends: libcanberra-gtk2-module @@ -148,23 +139,41 @@ # don't use python2 find . -name wscript -o -name waf -o -name '*.py' \ - | xargs sed -i -e '1{s|^#!.*python$|#!/usr/bin/python3|}' + | xargs sed -i -e '1{s|^#!.*python$|#!%{_bindir}/python3|}' + +# AudioEditing is not a registered freedesktop menu category; the registered +# one is AudioVideoEditing. The deprecated %%suse_update_desktop_file used to +# paper over this, and rpmlint rejects the file without it. +sed -i 's/;AudioEditing;/;AudioVideoEditing;/' gtk2_ardour/ardour.desktop.in # Also search vst3 plugins from /usr/lib64 on relevant archs %ifnarch %{ix86} %{arm} -sed -i 's#/usr/local/lib/vst3:/usr/lib/vst3#/usr/local/lib64/vst3:/usr/local/lib/vst3:/usr/lib64/vst3:/usr/lib/vst3#' libs/ardour/plugin_manager.cc -sed -i 's#/usr/local/lib/vst:/usr/lib/vst#/usr/local/lib64/vst:/usr/local/lib/vst:/usr/lib64/vst:/usr/lib/vst#' libs/ardour/search_paths.cc +sed -i 's#%{_prefix}/local/lib/vst3:%{_prefix}/lib/vst3#%{_prefix}/local/lib64/vst3:%{_prefix}/local/lib/vst3:%{_libdir}/vst3:%{_prefix}/lib/vst3#' libs/ardour/plugin_manager.cc +sed -i 's#%{_prefix}/local/lib/vst:%{_prefix}/lib/vst#%{_prefix}/local/lib64/vst:%{_prefix}/local/lib/vst:%{_libdir}/vst:%{_prefix}/lib/vst#' libs/ardour/search_paths.cc %endif # --no-execstack will avoid linter errors but prevent loading of external plugins # see https://discourse.ardour.org/t/tls-1295-lea-so-linux-vers-doesnt-work/111778/21 # selinux would prevent this anyway, the gaming policy is necessary for this to work %build -%if 0%{?force_gcc_version} -export CC="gcc-%{?force_gcc_version}" -export CXX="g++-%{?force_gcc_version}" -%endif +# waf ignores the distribution flags unless they are handed to it explicitly. +# --arch replaces the optimization flag list wholesale ("ARCH=... overrides +# all", wscript:709), which is both how %%{optflags} gets in -- the build shipped +# without -g, so its debuginfo was nearly empty -- and what stops upstream +# prepending its own -O3 -ffast-math -fomit-frame-pointer -fstrength-reduce: +# that set is only added when no -O flag is present yet (wscript:721-729) and +# %%{optflags} carries -O2. -ffast-math is not something to ship in a DAW. +# +# --dist-target on aarch64 only: the wscript's autodetect regex knows only +# i[0-6]86/x86_64/powerpc/ppc/ppc64/arm/s390x, so on aarch64 build_target +# becomes 'none' and ARM_NEON_SUPPORT is silently never defined. Do NOT widen +# this to other architectures -- they autodetect correctly, and an explicit +# value would bypass the i[0-5]86 -> i386 normalisation that the 32-bit x86 +# SSE handling depends on. The comment lives up here because a # line inside +# the backslash continuation chain would terminate the command mid-way (rpm +# keeps shell comments in %%build, so the continuation joins onto the '#'). ./waf configure \ + --arch="%{optflags}" \ --prefix=%{_prefix} \ --libdir=%{_libdir} \ --includedir=%{_includedir} \ @@ -178,6 +187,10 @@ --noconfirm \ --no-phone-home \ --optimize \ + --cxx17 \ +%ifarch aarch64 + --dist-target=aarch64 \ +%endif --ptformat ./waf i18n @@ -190,7 +203,6 @@ install -D -m 644 -t %{buildroot}%{_datadir}/metainfo %{buildroot}%{_datadir}/appdata/ardour9.appdata.xml rm -r %{buildroot}%{_datadir}/appdata -%suse_update_desktop_file -i ardour9 AudioVideo Recorder %find_lang ardour9 %find_lang gtk2_ardour9 %find_lang gtkmm2ext3 @@ -199,7 +211,7 @@ # remove dupes %fdupes -s %{buildroot}%{_datadir} -%files -f ardour9.lang -f gtk2_ardour9.lang -f gtkmm2ext3.lang -f ytk9.lang +%files %license COPYING %doc doc README %dir %{_sysconfdir}/%{dirbase} @@ -215,6 +227,15 @@ %{_datadir}/metainfo/ardour9.appdata.xml %{_datadir}/mime/packages/ardour.xml %{_libdir}/%{dirbase}/ +# the .mo files below here belong to the lang subpackage, not the main one +%exclude %{_datadir}/%{dirbase}/locale %exclude %{_datadir}/%{dirbase}/templates/.stub %exclude %{_libdir}/%{dirbase}/libhidapi.a +%files lang -f ardour9.lang -f gtk2_ardour9.lang -f gtkmm2ext3.lang -f ytk9.lang +# %%find_lang lists only the .mo files; in a private locale tree it does not +# emit directory ownership, so own the hierarchy here. +%dir %{_datadir}/%{dirbase}/locale +%dir %{_datadir}/%{dirbase}/locale/* +%dir %{_datadir}/%{dirbase}/locale/*/LC_MESSAGES + ++++++ ardour-rpmlintrc ++++++ --- /var/tmp/diff_new_pack.qO9HWE/_old 2026-08-04 21:34:11.691680723 +0200 +++ /var/tmp/diff_new_pack.qO9HWE/_new 2026-08-04 21:34:11.699681002 +0200 @@ -1,3 +1,7 @@ addFilter("devel-file-in-non-devel-package") +# x86 only: the SSE assembler sources carry no .note.GNU-stack section, so the +# linker marks the stack executable there. The spec deliberately does not pass +# --no-execstack (see the comment in %build); on other architectures no such +# asm is built and this filter is reported as unused, which is harmless. addFilter("E: executable-stack")
