From e5aec7d60936e7c4cd1b0136da8ae0349ea10aba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miroslav=20=C5=A0ulc?= Date: Sun, 28 Jun 2026 18:44:35 +0200 Subject: [PATCH] media-sound/ardour: dropped obsolete 8.12-r2 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Bug: https://bugs.gentoo.org/977277 Closes: https://bugs.gentoo.org/974186 Signed-off-by: Miroslav Ć ulc --- media-sound/ardour/Manifest | 1 - media-sound/ardour/ardour-8.12-r2.ebuild | 241 ------------------ .../files/ardour-9.0.0-fix-clang-crash.patch | 123 --------- ...r-9.0.0-fix-unlikely-buffer-overflow.patch | 19 -- ...our-9.0.0-properly-check-for-syscall.patch | 16 -- 5 files changed, 400 deletions(-) delete mode 100644 media-sound/ardour/ardour-8.12-r2.ebuild delete mode 100644 media-sound/ardour/files/ardour-9.0.0-fix-clang-crash.patch delete mode 100644 media-sound/ardour/files/ardour-9.0.0-fix-unlikely-buffer-overflow.patch delete mode 100644 media-sound/ardour/files/ardour-9.0.0-properly-check-for-syscall.patch diff --git a/media-sound/ardour/Manifest b/media-sound/ardour/Manifest index 73ed538472fa2..8f62bb9909851 100644 --- a/media-sound/ardour/Manifest +++ b/media-sound/ardour/Manifest @@ -1,3 +1,2 @@ -DIST Ardour-8.12.0.tar.bz2 17816405 BLAKE2B 7826081746c0c4d7fd5076b681fa2fdff204af26f2af82bb048294cc916eb1a33999a8f7900edc28984868f4941cbf9d8ba1caba38e5359f4b0077e82d905834 SHA512 cc74ea3a7faa43d0620fac3e251c9f765b3bb61756a90966756245eb9acca59b043605ccb0e4d5a6165f65e1be3c63ca738b84f6613d705236b5f787bc11de53 DIST Ardour-9.2.0.tar.bz2 18038842 BLAKE2B fc0668132291e015d2bb075e925a1e5b4922e415ea74affccc9b3af983b6a2f7f67a0582c5b53ca2231236f8dc4bd2c887885c172bd6710829ad5d5614be2a84 SHA512 f4d86dba07d7a3846411890e24f9cdf3d3ea4fbd8e5a575f56a3620859630fc96c1105b047024982f719d753729527f4d752414b443d56d2be6a70277b9dfa9a DIST Ardour-9.7.0.tar.bz2 18118247 BLAKE2B f49ba1a35fa24054e97aff584ab8d489e21e925f5db4b19befb3a44dfe11043f4cd3a5a209db50b03abe5e66e0d08272bf0b307d4f9837e4c64b437d161fa85f SHA512 4cb155c413cbc29687d303f8d666ac5ca0481b859ae868753ec57480ca957b4fb61ebb012066069b47195f990bcff66158e0ce9f7783ec7d882d818f4dfc484e diff --git a/media-sound/ardour/ardour-8.12-r2.ebuild b/media-sound/ardour/ardour-8.12-r2.ebuild deleted file mode 100644 index a5955db8292cb..0000000000000 --- a/media-sound/ardour/ardour-8.12-r2.ebuild +++ /dev/null @@ -1,241 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{11..13} ) -PYTHON_REQ_USE='threads(+)' -inherit desktop edo flag-o-matic optfeature python-any-r1 waf-utils toolchain-funcs xdg - -DESCRIPTION="Digital Audio Workstation" -HOMEPAGE="https://ardour.org/" - -if [[ ${PV} == *9999* ]]; then - # Main repo not stable - #EGIT_REPO_URI="https://git.ardour.org/ardour/ardour.git" - EGIT_REPO_URI="https://github.com/Ardour/ardour.git" - inherit git-r3 -else - # We previously had 8.12 instead of 8.12.0 despite SRC_URI + S - [[ ${PV} != 8.12 ]] && die "Please fix the version to be X.Y.Z instead of X.Y on this next bump!" - # upstream doesn't provide a release tarball in github repo - # see https://github.com/Ardour/ardour/blob/master/README-GITHUB.txt - # official link is available here, but with token/expiration: - # https://community.ardour.org/download?architecture=x86_64&type=source - SRC_URI="https://dev.gentoo.org/~fordfrog/distfiles/Ardour-${PV}.0.tar.bz2" - S="${WORKDIR}/Ardour-${PV}.0" - KEYWORDS="amd64 ~loong ~x86" -fi - -LICENSE="GPL-2" -SLOT="8" -IUSE="doc jack phonehome pulseaudio test" -CPU_USE=( - cpu_flags_x86_{avx,avx512f,fma3,sse} -) -IUSE+=" ${CPU_USE[@]}" -RESTRICT="!test? ( test )" - -RDEPEND=" - app-arch/libarchive:= - dev-cpp/cairomm:0[X] - dev-cpp/glibmm:2 - dev-cpp/pangomm:1.4 - dev-libs/glib:2 - dev-libs/libsigc++:2 - dev-libs/libxml2:2= - media-libs/alsa-lib - media-libs/aubio:= - media-libs/flac - media-libs/fontconfig - media-libs/freetype:2 - media-libs/liblo - media-libs/liblrdf - media-libs/libpng:= - media-libs/libsamplerate - media-libs/libsndfile - media-libs/lilv - media-libs/lv2 - media-libs/raptor:2 - media-libs/rubberband:= - media-libs/taglib:= - media-libs/vamp-plugin-sdk - net-libs/libwebsockets:= - net-misc/curl - sys-apps/dbus - sys-libs/readline:0= - sci-libs/fftw:3.0=[threads] - virtual/libusb:1 - x11-libs/cairo[X] - x11-libs/libX11 - x11-libs/libXext - x11-libs/libXinerama - x11-libs/libXrandr - x11-libs/pango - x11-themes/hicolor-icon-theme - jack? ( virtual/jack ) - pulseaudio? ( media-libs/libpulse ) -" -# media-libs/suil[X,gtk2] bundled suil is used, maybe probably because of ytk -# !bundled-libs? ( media-sound/fluidsynth ) at least libltc is missing to be able to unbundle... -DEPEND=" - ${RDEPEND} - dev-libs/boost - dev-libs/sord - media-libs/sratom - test? ( dev-util/cppunit ) -" -BDEPEND=" - ${PYTHON_DEPS} - dev-util/itstool - sys-devel/gettext - virtual/pkgconfig - doc? ( - app-text/doxygen - media-gfx/graphviz - ) -" - -PATCHES=( - "${FILESDIR}/${PN}-9.0.0-fix-clang-crash.patch" - "${FILESDIR}/${PN}-9.0.0-properly-check-for-syscall.patch" - "${FILESDIR}/${PN}-9.0.0-fix-unlikely-buffer-overflow.patch" - "${FILESDIR}/${PN}-8.12-fix_fpu.patch" - # see bug #966219 - "${FILESDIR}/${PN}-8.12-fix_fftranscode.patch" -) - -src_prepare() { - default - - local optflags=( - $(usev cpu_flags_x86_sse sse) - ) - # these flags imply sse and avx - if use cpu_flags_x86_sse && use cpu_flags_x86_avx; then - optflags+=( - avx - $(usev cpu_flags_x86_avx512f avx512f) - $(usev cpu_flags_x86_fma3 fma) - ) - fi - - # use only flags defined by users - sed 's/flag_line = o.*/flag_line = \": '"${optflags[*]}"'\"/' \ - -i wscript || die - - # shebang - python_fix_shebang wscript - python_fix_shebang waf - - # fix hardcoded cpp, apply `gcc -E` needs patching but will fail w/ clang - tc-export CPP - sed -e "s@obj.command = 'cpp'@obj.command = '${CPP/-gcc -E/-cpp}'@" \ - -i gtk2_ardour/wscript || die - - # skip non-generic tests with failures - sed -e "\@'test/fpu_test.cc',@d" -i libs/ardour/wscript || die -} - -src_configure() { - # avoid bug https://bugs.gentoo.org/800067 - local -x AS="$(tc-getCC) -c" - - # -Werror=odr - # https://tracker.ardour.org/view.php?id=9649 - # https://bugs.gentoo.org/917095 - filter-lto - - append-ldflags -Wl,-rpath,"${EPREFIX}/usr/$(get_libdir)/ardour${SLOT}" - - local backends=( - alsa - dummy - $(usev jack) - $(usev pulseaudio) - ) - - # VST support is enabled by default given --no-lxvst is not called. - # But please keep in mind the README (obsolete?) made by upstream. - # https://github.com/Ardour/ardour/blob/master/PACKAGER_README - - tc-export CC CXX - local myconf=( - --configdir="${EPREFIX}"/etc - --cxx17 - --freedesktop - --noconfirm - --optimize - --with-backends=$(IFS=','; echo "${backends[*]}") - $(usev !cpu_flags_x86_sse --no-fpu-optimization) - $(usev !phonehome --no-phone-home) - $(usev test --test) - # not possible right now --use-external-libs - # missing dependency: https://github.com/c4dm/qm-dsp - ) - - waf-utils_src_configure "${myconf[@]}" -} - -src_compile() { - waf-utils_src_compile - waf-utils_src_compile i18n - if use doc; then - pushd doc >/dev/null || die - doxygen -u Doxyfile || die - doxygen Doxyfile || die - find . \( -iname '*.map' -o -iname '*.md5' \) -delete || die - popd >/dev/null || die - fi -} - -src_test() { - pushd "${S}"/libs/ardour/ >/dev/null || die - edo ./run-tests.sh - popd >/dev/null || die -} - -src_install() { - use doc && local HTML_DOCS=( doc/html/. ) - - waf-utils_src_install - - mv ${PN}.1 ${PN}${SLOT}.1 || die - doman ${PN}${SLOT}.1 - - local s - for s in 16 22 32 48 256 512; do - newicon -s ${s} gtk2_ardour/resources/Ardour-icon_${s}px.png ardour${SLOT}.png - done - - sed -i \ - -e "s/\(^Name=\).*/\1Ardour ${SLOT}/" \ - -e 's/;AudioEditing;/;X-AudioEditing;/' \ - build/gtk2_ardour/ardour${SLOT}.desktop || die - domenu build/gtk2_ardour/ardour${SLOT}.desktop - - insinto /usr/share/mime/packages - newins build/gtk2_ardour/ardour.xml ardour${SLOT}.xml - rm "${D}/usr/share/mime/packages/ardour.xml" || die - - # the appdata directory is deprecated - # no patch because this causes the translation fail - mv "${ED}"/usr/share/{appdata,metainfo} || die - - if use test; then - # do not install the testsuite - rm "${ED}"/usr/bin/run-tests || die - rm "${ED}"/usr/$(get_libdir)/ardour${SLOT}/run-tests || die - fi -} - -pkg_postinst() { - xdg_pkg_postinst - - optfeature "another synth used by default if installed" media-plugins/gmsynth-lv2 - optfeature "exporting audio in mp3" media-video/ffmpeg[lame] - - elog "Please do _not_ report problems with the package to ${PN} upstream." - elog "If you think you've found a bug, check the upstream binary package" - elog "before you report anything to upstream." -} diff --git a/media-sound/ardour/files/ardour-9.0.0-fix-clang-crash.patch b/media-sound/ardour/files/ardour-9.0.0-fix-clang-crash.patch deleted file mode 100644 index 6162782d91f5b..0000000000000 --- a/media-sound/ardour/files/ardour-9.0.0-fix-clang-crash.patch +++ /dev/null @@ -1,123 +0,0 @@ -From f17a6562174ccf658eb35ba7a425d3ac340c1607 Mon Sep 17 00:00:00 2001 -From: Robin Gareus -Date: Mon, 4 Nov 2024 18:46:21 +0100 -Subject: [PATCH] use modern C++ for snprintf (#9841) - -This replaces vector::operator[] (which now -a constexpr since C++20). We could use &vector::data(), -but a unique_ptr seems more appropriate for the case at hand. ---- a/libs/ardour/broadcast_info.cc -+++ b/libs/ardour/broadcast_info.cc -@@ -39,15 +39,15 @@ namespace ARDOUR - static void - snprintf_bounded_null_filled (char* target, size_t target_size, char const * fmt, ...) - { -- std::vector buf(target_size+1); -+ std::unique_ptr buf (new char [target_size + 1]); - va_list ap; - - va_start (ap, fmt); -- vsnprintf (&buf[0], target_size+1, fmt, ap); -+ vsnprintf (buf.get (), target_size+1, fmt, ap); - va_end (ap); - - memset (target, 0, target_size); -- memcpy (target, &buf[0], target_size); -+ memcpy (target, buf.get (), target_size); - - } - ---- a/libs/ardour/export_graph_builder.cc -+++ b/libs/ardour/export_graph_builder.cc -@@ -796,9 +796,9 @@ ExportGraphBuilder::Intermediate::Intermediate (ExportGraphBuilder & parent, Fil - int format = ExportFormatBase::F_RAW | ExportFormatBase::SF_Float; - - if (parent._realtime) { -- tmp_file.reset (new TmpFileRt (&tmpfile_path_buf[0], format, channels, config.format->sample_rate())); -+ tmp_file.reset (new TmpFileRt (tmpfile_path_buf.data (), format, channels, config.format->sample_rate())); - } else { -- tmp_file.reset (new TmpFileSync (&tmpfile_path_buf[0], format, channels, config.format->sample_rate())); -+ tmp_file.reset (new TmpFileSync (tmpfile_path_buf.data (), format, channels, config.format->sample_rate())); - } - - tmp_file->FileWritten.connect_same_thread (post_processing_connection, ---- a/libs/ardour/io.cc -+++ b/libs/ardour/io.cc -@@ -1338,7 +1338,6 @@ IO::bundle_changed (Bundle::Change /*c*/) - string - IO::build_legal_port_name (std::shared_ptr ports, DataType type) - { -- const int name_size = AudioEngine::instance()->port_name_size(); - int limit; - string suffix; - -@@ -1372,21 +1371,24 @@ IO::build_legal_port_name (std::shared_ptr ports, DataType type) - - // allow up to 4 digits for the output port number, plus the slash, suffix and extra space - -+ uint32_t name_size = AudioEngine::instance()->port_name_size(); - limit = name_size - AudioEngine::instance()->my_name().length() - (suffix.length() + 5); - -- std::vector buf1(name_size+1); -- std::vector buf2(name_size+1); -+ ++name_size; // allow for \0 -+ -+ std::unique_ptr buf1 (new char[name_size]); -+ std::unique_ptr buf2 (new char[name_size]); - - /* colons are illegal in port names, so fix that */ - - string nom = legalize_io_name (_name.val()); - -- snprintf (&buf1[0], name_size+1, ("%.*s/%s"), limit, nom.c_str(), suffix.c_str()); -+ std::snprintf (buf1.get(), name_size, ("%.*s/%s"), limit, nom.c_str(), suffix.c_str()); - -- int port_number = find_port_hole (ports, &buf1[0]); -- snprintf (&buf2[0], name_size+1, "%s %d", &buf1[0], port_number); -+ int port_number = find_port_hole (ports, buf1.get ()); -+ std::snprintf (buf2.get(), name_size, "%s %d", buf1.get (), port_number); - -- return string (&buf2[0]); -+ return string (buf2.get ()); - } - - int32_t -@@ -1400,17 +1402,17 @@ IO::find_port_hole (std::shared_ptr ports, const char* base) - return 1; - } - -- /* we only allow up to 4 characters for the port number -- */ -+ uint32_t const name_size = AudioEngine::instance()->port_name_size() + 1; - -+ /* we only allow up to 4 characters for the port number */ - for (n = 1; n < 9999; ++n) { -- std::vector buf (AudioEngine::instance()->port_name_size()); - PortSet::const_iterator i = ports->begin (); - -- snprintf (&buf[0], buf.size()+1, _("%s %u"), base, n); -+ std::unique_ptr buf (new char[name_size]); -+ std::snprintf (buf.get (), name_size, "%s %u", base, n); - - for ( ; i != ports->end (); ++i) { -- if (string (i->name()) == string (&buf[0])) { -+ if (string (i->name()) == string (buf.get ())) { - break; - } - } -@@ -1526,13 +1528,13 @@ IO::bundle_channel_name (uint32_t c, uint32_t n, DataType t) const - case 2: - return c == 0 ? _("L") : _("R"); - default: -- snprintf (buf, sizeof(buf), "%d", (c + 1)); -+ std::snprintf (buf, sizeof(buf), "%d", (c + 1)); - return buf; - } - - } else { - -- snprintf (buf, sizeof(buf), "%d", (c + 1)); -+ std::snprintf (buf, sizeof(buf), "%d", (c + 1)); - return buf; - - } diff --git a/media-sound/ardour/files/ardour-9.0.0-fix-unlikely-buffer-overflow.patch b/media-sound/ardour/files/ardour-9.0.0-fix-unlikely-buffer-overflow.patch deleted file mode 100644 index fd698f67bdd32..0000000000000 --- a/media-sound/ardour/files/ardour-9.0.0-fix-unlikely-buffer-overflow.patch +++ /dev/null @@ -1,19 +0,0 @@ -From 02fde5f1aa3997d880f185c2083707e8715cfa59 Mon Sep 17 00:00:00 2001 -From: Robin Gareus -Date: Wed, 6 Nov 2024 04:07:01 +0100 -Subject: [PATCH] Fix unlikely buffer overflow #9845 - -> warning: 'sscanf' may overflow; destination buffer in argument 6 -> has size 32, but the corresponding specifier may require size 33 -> [-Wfortify-source] ---- a/gtk2_ardour/transcode_ffmpeg.cc -+++ b/gtk2_ardour/transcode_ffmpeg.cc -@@ -192,7 +192,7 @@ TranscodeFfmpeg::probe () - PARSE_FRACTIONAL_FPS (timebase) - } else if (key == X_("timecode") && m_duration == 0 && m_fps > 0) { - int h, m, s; -- char f[32]; -+ char f[33]; - if (sscanf (i->at (16).c_str (), "%d:%d:%d:%32s", &h, &m, &s, f) == 4) { - m_duration = (ARDOUR::samplecnt_t)floor (m_fps * (h * 3600.0 + m * 60.0 + s * 1.0 + atoi (f) / pow ((double)10, (int)strlen (f)))); - } diff --git a/media-sound/ardour/files/ardour-9.0.0-properly-check-for-syscall.patch b/media-sound/ardour/files/ardour-9.0.0-properly-check-for-syscall.patch deleted file mode 100644 index 12f677c3828c2..0000000000000 --- a/media-sound/ardour/files/ardour-9.0.0-properly-check-for-syscall.patch +++ /dev/null @@ -1,16 +0,0 @@ -From ba4d9709c6e442ee57329fd592d48fc98ea0b937 Mon Sep 17 00:00:00 2001 -From: Robin Gareus -Date: Wed, 6 Nov 2024 04:07:25 +0100 -Subject: [PATCH] Properly check for syscall (#9845) - ---- a/libs/ardour/wscript -+++ b/libs/ardour/wscript -@@ -355,7 +355,7 @@ def configure(conf): - features = 'c', - mandatory = False, - execute = False, -- fragment = "#include \nint main () { syscall(SYS_ioprio_set, 1, 0, 8192); return 0; }") -+ fragment = "#include \n#include \nint main () { syscall(SYS_ioprio_set, 1, 0, 8192); return 0; }") - - if have_sys_ioprio: - conf.define('HAVE_IOPRIO', 1)