commit:     88adb5ef8e618fd95ea77bd34ae59ede4fec56e4
Author:     Nicolas PARLANT <nicolas.parlant <AT> parhuet <DOT> fr>
AuthorDate: Thu Dec  4 05:38:56 2025 +0000
Commit:     Miroslav Šulc <fordfrog <AT> gentoo <DOT> org>
CommitDate: Sun Dec 14 18:48:06 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=88adb5ef

media-sound/ardour: sync with live

... except for libXi added with 9.0
and testsuite binaries that must be removed

Bug: https://bugs.gentoo.org/733972
Closes: https://bugs.gentoo.org/966219
Closes: https://bugs.gentoo.org/967187
Signed-off-by: Nicolas PARLANT <nicolas.parlant <AT> parhuet.fr>
Part-of: https://github.com/gentoo/gentoo/pull/44943
Signed-off-by: Miroslav Šulc <fordfrog <AT> gentoo.org>

 media-sound/ardour/ardour-8.12-r2.ebuild | 240 +++++++++++++++++++++++++++++++
 1 file changed, 240 insertions(+)

diff --git a/media-sound/ardour/ardour-8.12-r2.ebuild 
b/media-sound/ardour/ardour-8.12-r2.ebuild
new file mode 100644
index 000000000000..91d86ecd8398
--- /dev/null
+++ b/media-sound/ardour/ardour-8.12-r2.ebuild
@@ -0,0 +1,240 @@
+# Copyright 1999-2025 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 "[email protected] = '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 "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."
+}

Reply via email to