commit: 0701fdc8e9076e71de7bc4e64f760413028f130b Author: Sam James <sam <AT> gentoo <DOT> org> AuthorDate: Fri May 12 02:19:40 2023 +0000 Commit: Sam James <sam <AT> gentoo <DOT> org> CommitDate: Fri May 12 02:55:37 2023 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0701fdc8
media-plugins/mda-lv2: wire up tests; fix LICENSE; fix strict aliasing Signed-off-by: Sam James <sam <AT> gentoo.org> .../files/mda-lv2-1.2.10-autoship-disable.patch | 38 +++++++++++++++++ .../files/mda-lv2-1.2.10-strict-aliasing.patch | 37 +++++++++++++++++ media-plugins/mda-lv2/mda-lv2-1.2.10-r1.ebuild | 47 ++++++++++++++++++++++ 3 files changed, 122 insertions(+) diff --git a/media-plugins/mda-lv2/files/mda-lv2-1.2.10-autoship-disable.patch b/media-plugins/mda-lv2/files/mda-lv2-1.2.10-autoship-disable.patch new file mode 100644 index 000000000000..c358416ffd85 --- /dev/null +++ b/media-plugins/mda-lv2/files/mda-lv2-1.2.10-autoship-disable.patch @@ -0,0 +1,38 @@ +https://gitlab.com/drobilla/mda-lv2/-/commit/e85a6c7fc8e0bccbe23691a6bf10bbbd2ce048bf + +From e85a6c7fc8e0bccbe23691a6bf10bbbd2ce048bf Mon Sep 17 00:00:00 2001 +From: David Robillard <[email protected]> +Date: Mon, 22 Aug 2022 10:50:10 -0400 +Subject: [PATCH] Only run autoship test in strict mode + +--- a/meson.build ++++ b/meson.build +@@ -61,15 +61,17 @@ subdir('mda.lv2') + ######### + + if not get_option('tests').disabled() and not meson.is_subproject() +- # Check release metadata +- autoship = find_program('autoship', required: get_option('tests')) +- if autoship.found() +- test( +- 'autoship', +- autoship, +- args: ['test', meson.current_source_dir()], +- suite: 'data', +- ) ++ if get_option('strict') ++ # Check release metadata ++ autoship = find_program('autoship', required: get_option('tests')) ++ if autoship.found() ++ test( ++ 'autoship', ++ autoship, ++ args: ['test', meson.current_source_dir()], ++ suite: 'data', ++ ) ++ endif + endif + + # Check licensing metadata +-- +GitLab diff --git a/media-plugins/mda-lv2/files/mda-lv2-1.2.10-strict-aliasing.patch b/media-plugins/mda-lv2/files/mda-lv2-1.2.10-strict-aliasing.patch new file mode 100644 index 000000000000..d8e6c8e605aa --- /dev/null +++ b/media-plugins/mda-lv2/files/mda-lv2-1.2.10-strict-aliasing.patch @@ -0,0 +1,37 @@ +https://gitlab.com/drobilla/mda-lv2/-/commit/ac0590c5a8f84f9edcd6817e44976ad75fccb252 + +From ac0590c5a8f84f9edcd6817e44976ad75fccb252 Mon Sep 17 00:00:00 2001 +From: David Robillard <[email protected]> +Date: Tue, 16 Aug 2022 17:04:16 -0400 +Subject: [PATCH] Fix strict aliasing violation + +Generally, I maintain this as a faithful port with minimal changes, but in this +case, it's just filling a float up with garbage anyway, so the worst case can't +be that bad. +--- a/meson/suppressions/meson.build ++++ b/meson/suppressions/meson.build +@@ -82,11 +82,5 @@ if is_variable('cpp') + endif + endif + +- if cpp.get_id() == 'gcc' +- cpp_suppressions += [ +- '-Wno-strict-aliasing', +- ] +- endif +- + cpp_suppressions = cpp.get_supported_arguments(cpp_suppressions) + endif +--- a/src/mdaJX10.cpp ++++ b/src/mdaJX10.cpp +@@ -468,7 +468,7 @@ void mdaJX10::processReplacing(float **inputs, float **outputs, int32_t sampleFr + + noise = (noise * 196314165) + 907633515; + r = (noise & 0x7FFFFF) + 0x40000000; //generate noise + fast convert to float +- w = *(float *)&r; ++ memcpy(&w, &r, sizeof(float)); + w = ww * (w - 3.0f); + + if(--k<0) +-- +GitLab diff --git a/media-plugins/mda-lv2/mda-lv2-1.2.10-r1.ebuild b/media-plugins/mda-lv2/mda-lv2-1.2.10-r1.ebuild new file mode 100644 index 000000000000..5bd3984346c9 --- /dev/null +++ b/media-plugins/mda-lv2/mda-lv2-1.2.10-r1.ebuild @@ -0,0 +1,47 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit meson + +DESCRIPTION="LV2 port of the MDA plugins by Paul Kellett" +HOMEPAGE="https://drobilla.net/software/mda-lv2.html" +SRC_URI="https://download.drobilla.net/${P}.tar.xz" + +# See README +LICENSE="|| ( GPL-2+ MIT )" +SLOT="0" +KEYWORDS="~amd64" +IUSE="test" +# Tests fail because of lvz_new_audioeffectx symbol in plugins, check +# on new lv2lint release (>0.16.2) +RESTRICT="!test? ( test ) test" + +DEPEND="media-libs/lv2" +RDEPEND="${DEPEND}" +BDEPEND=" + virtual/pkgconfig + test? ( dev-util/lv2lint ) +" + +PATCHES=( + "${FILESDIR}"/${P}-strict-aliasing.patch + "${FILESDIR}"/${P}-autoship-disable.patch +) + +src_prepare() { + default + + # reuse isn't packaged right now, but it's only for licencing + # i.e. it's essentially a lint check so not relevant for us downstream. + sed -i -e "/reuse = find_program('reuse', required/s:get_option('tests'):false:" meson.build || die +} + +src_configure() { + local emesonargs=( + $(meson_feature test tests) + ) + + meson_src_configure +}
