From e0d56b2d433c0985a985854745291ecf4b3f8cc9 Mon Sep 17 00:00:00 2001 From: Ryan Fox Date: Fri, 4 Mar 2022 09:27:06 -0800 Subject: [PATCH] media-sound/ardour: New package I'm adding this to experiment with the tracker editor branch. It doesn't seem to work right now. I'll look into that later. Package-Manager: Portage-3.0.30, Repoman-3.0.3 Signed-off-by: Ryan Fox --- media-sound/ardour/Manifest | 3 + media-sound/ardour/ardour-9999.ebuild | 191 ++++++++++++++++++ .../ardour/files/ardour-6.8-metadata.patch | 13 ++ media-sound/ardour/metadata.xml | 15 ++ 4 files changed, 222 insertions(+) create mode 100644 media-sound/ardour/Manifest create mode 100644 media-sound/ardour/ardour-9999.ebuild create mode 100644 media-sound/ardour/files/ardour-6.8-metadata.patch create mode 100644 media-sound/ardour/metadata.xml diff --git a/media-sound/ardour/Manifest b/media-sound/ardour/Manifest new file mode 100644 index 0000000..aa0f1ff --- /dev/null +++ b/media-sound/ardour/Manifest @@ -0,0 +1,3 @@ +AUX ardour-6.8-metadata.patch 653 BLAKE2B 3929d825fd8de5205d0f5aa8d0172e6374ca9ffd195789386b756ae540e1842a9902592b8b6d74019c52f134e8cb9886085e23277ef022883c4425dc580c5bc9 SHA512 963f3cfcd00a3fb15cb9875f7fc31a8294058898b6fab94feb32f786369643139b1e8787ecc47a4ea6a33dabe6bd90f564b6009e0d6e482d8e5129534c789972 +EBUILD ardour-9999.ebuild 5221 BLAKE2B 6b945dcbc06f858e6a7a29925d753b1b2441f0cf7833aa6aa02d516a974c2e7831cf1db905f2d8f8e4fddb69b40d0d836fbabf6e585fe27e50dbeb1718d3f5bd SHA512 31e3b812b9ed0d83ff0b29222e2b72e1a2c112cf200d3edfe5268196c1e64f44561358bd4de6ff497a8d988ebc204f46ffb93dbc6a74f51158733f8d1e7812b5 +MISC metadata.xml 502 BLAKE2B 161c42ebb18eb51f60fa043c5aa35ed1c4d3eec7b432b01b88423bd189deac455dde16da0b3932b7071fca19d3472726014f8e4eb588f688b79855f28cf9f2e1 SHA512 2d70cf7a9236475162307316037f014691e521d6f7cccd2277e3cc8f6f3f5b82ed8d4e59dea86c619d88a2fe9a28c050fcf063b67babb99e3029af9d64af6d2d diff --git a/media-sound/ardour/ardour-9999.ebuild b/media-sound/ardour/ardour-9999.ebuild new file mode 100644 index 0000000..13f3563 --- /dev/null +++ b/media-sound/ardour/ardour-9999.ebuild @@ -0,0 +1,191 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 +PYTHON_COMPAT=( python3_{7,8,9,10} ) +PYTHON_REQ_USE='threads(+)' +PLOCALES="cs de el en_GB es eu fr it ja nn pl pt pt_PT ru sv zh" +inherit eutils toolchain-funcs flag-o-matic plocale python-any-r1 waf-utils desktop xdg + +DESCRIPTION="Digital Audio Workstation" +HOMEPAGE="https://ardour.org/" + +if [[ ${PV} == *9999* ]]; then + EGIT_REPO_URI="https://github.com/ngeiswei/ardour.git" + EGIT_BRANCH="tracker-editor-wip" + inherit git-r3 +else + KEYWORDS="~amd64 ~x86" + SRC_URI="https://dev.gentoo.org/~fordfrog/distfiles/Ardour-${PV}.0.tar.bz2" + S="${WORKDIR}/Ardour-${PV}.0" +fi + +LICENSE="GPL-2" +SLOT="7" +IUSE="altivec doc jack nls phonehome pulseaudio trackereditor cpu_flags_x86_sse cpu_flags_x86_mmx cpu_flags_x86_3dnow" + +RDEPEND=" + dev-cpp/glibmm:2 + dev-cpp/gtkmm:2.4 + dev-cpp/libgnomecanvasmm:2.6 + dev-libs/boost:= + dev-libs/glib:2 + dev-libs/libsigc++:2 + dev-libs/libxml2:2 + dev-libs/libxslt + >=gnome-base/libgnomecanvas-2 + media-libs/alsa-lib + media-libs/aubio + media-libs/flac + media-libs/freetype:2 + media-libs/libart_lgpl + media-libs/liblo + media-libs/liblrdf + media-libs/libsamplerate + media-libs/libsndfile + media-libs/libsoundtouch + media-libs/raptor:2 + media-libs/rubberband + media-libs/taglib + media-libs/vamp-plugin-sdk + net-misc/curl + sys-libs/readline:0= + sci-libs/fftw:3.0[threads] + virtual/libusb:1 + x11-libs/cairo + x11-libs/gtk+:2 + x11-libs/pango + jack? ( virtual/jack ) + pulseaudio? ( media-sound/pulseaudio ) + media-libs/lilv + media-libs/sratom + dev-libs/sord + media-libs/suil[gtk] + media-libs/lv2" +# !bundled-libs? ( media-sound/fluidsynth ) at least libltc is missing to be able to unbundle... + +DEPEND="${RDEPEND} + ${PYTHON_DEPS} + dev-util/itstool + sys-devel/gettext + virtual/pkgconfig + doc? ( app-doc/doxygen[dot] ) + jack? ( virtual/jack )" + +PATCHES=( + "${FILESDIR}/${PN}-6.8-metadata.patch" +) + +pkg_pretend() { + [[ $(tc-getLD) == *gold* ]] && (has_version sci-libs/fftw[openmp] || has_version sci-libs/fftw[threads]) && \ + ewarn "Linking with gold linker might produce broken executable, see bug #733972" +} + +pkg_setup() { + if has_version \>=dev-libs/libsigc++-2.6 ; then + append-cxxflags -std=c++11 + fi + python-any-r1_pkg_setup +} + +src_prepare() { + xdg_src_prepare + + sed -i 's/return rev, date/return "7.1", date/' wscript # Janky fix + + sed 's/'full-optimization\'\ :\ \\[.*'/'full-optimization\'\ :\ \'\','/' -i "${S}"/wscript || die + MARCH=$(get-flag march) + OPTFLAGS="" + if use cpu_flags_x86_sse; then + if [[ ${MARCH} == "i686" ]] || [[ ${MARCH} == "i486" ]]; then + elog "You enabled sse but use an march that does not support sse!" + elog "We add -msse to the flags now, but please consider switching your march in make.conf!" + fi + OPTFLAGS="sse" + fi + if use cpu_flags_x86_mmx; then + if [[ ${MARCH} == "i486" ]]; then + elog "You enabled mmx with i486 set as march! You have been warned!" + fi + OPTFLAGS="${OPTFLAGS} mmx" + fi + if use cpu_flags_x86_3dnow; then + OPTFLAGS="${OPTFLAGS} 3dnow" + fi + sed 's/flag_line\ =\ o.*/flag_line\ =\ \": '"${OPTFLAGS}"' just some place holders\"/' \ + -i "${S}"/wscript || die + sed 's/cpu\ ==\ .*/cpu\ ==\ "LeaveMarchAsIs":/' -i "${S}"/wscript || die + append-flags "-lboost_system" + python_fix_shebang "${S}"/wscript + python_fix_shebang "${S}"/waf + my_lcmsg() { + rm -f {gtk2_ardour,gtk2_ardour/appdata,libs/ardour,libs/gtkmm2ext}/po/${1}.po + } + plocale_for_each_disabled_locale my_lcmsg +} + +src_configure() { + # avoid bug https://bugs.gentoo.org/800067 + local -x AS="$(tc-getCC) -c" + + local backends="alsa,dummy" + use jack && backends+=",jack" + use pulseaudio && backends+=",pulseaudio" + + tc-export CC CXX + mkdir -p "${D}" + local myconf=( + --configdir=/etc + --freedesktop + --noconfirm + --optimize + --with-backends=${backends} + $(usex trackereditor "--with-tracker-editor" '') + $(usex phonehome "--phone-home" "--no-phone-home") + $({ use altivec || use cpu_flags_x86_sse; } && echo "--fpu-optimization" || echo "--no-fpu-optimization") + $(usex doc "--docs" '') + $(usex nls "--nls" "--no-nls") + $(usex phonehome "--phone-home" "--no-phone-home") + # not possible right now --use-external-libs + ) + + waf-utils_src_configure "${myconf[@]}" +} + +src_compile() { + waf-utils_src_compile + use nls && waf-utils_src_compile i18n +} + +src_install() { + local s + + waf-utils_src_install + + mv ${PN}.1 ${PN}${SLOT}.1 || die + doman ${PN}${SLOT}.1 + + 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 + + # the build system still installs ardour6.png files so we get rid of those to not conflict with ardour:6 + find "${D}/usr/share/icons/" -name ardour6.png -delete + + 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 +} + +pkg_postinst() { + xdg_pkg_postinst + + 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-6.8-metadata.patch b/media-sound/ardour/files/ardour-6.8-metadata.patch new file mode 100644 index 0000000..fa7b6e1 --- /dev/null +++ b/media-sound/ardour/files/ardour-6.8-metadata.patch @@ -0,0 +1,13 @@ +diff --git a/gtk2_ardour/wscript b/gtk2_ardour/wscript +index f5d0533..a68cb3f 100644 +--- a/gtk2_ardour/wscript ++++ b/gtk2_ardour/wscript +@@ -943,7 +943,7 @@ def build(bld): + obj.chmod = Utils.O644 + obj.dict = freedesktop_subst_dict + set_subst_dict(obj, freedesktop_subst_dict) +- bld.install_files (os.path.join (bld.env['PREFIX'], 'share/appdata'), obj.target) ++ bld.install_files (os.path.join (bld.env['PREFIX'], 'share/metadata'), obj.target) + + # install desktop icon files + bld.install_as('${PREFIX}/share/icons/hicolor/16x16/apps/ardour6.png', 'resources/Ardour-icon_16px.png') diff --git a/media-sound/ardour/metadata.xml b/media-sound/ardour/metadata.xml new file mode 100644 index 0000000..8281fdb --- /dev/null +++ b/media-sound/ardour/metadata.xml @@ -0,0 +1,15 @@ + + + + + flewkey@2a03.party + Ryan Fox + + + ngeiswei/ardour + + + contact ardour.org at startup for new announcements + Build with the experimental tracker editor + +