diff options
Diffstat (limited to 'media-plugins/mda-lv2')
-rw-r--r-- | media-plugins/mda-lv2/files/mda-lv2-1.2.10-autoship-disable.patch | 38 | ||||
-rw-r--r-- | media-plugins/mda-lv2/files/mda-lv2-1.2.10-strict-aliasing.patch | 37 | ||||
-rw-r--r-- | media-plugins/mda-lv2/mda-lv2-1.2.10-r1.ebuild | 47 | ||||
-rw-r--r-- | media-plugins/mda-lv2/mda-lv2-1.2.10.ebuild | 19 | ||||
-rw-r--r-- | media-plugins/mda-lv2/metadata.xml | 3 |
5 files changed, 125 insertions, 19 deletions
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 <d@drobilla.net> +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 <d@drobilla.net> +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..f2887da2410b --- /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 ~arm ~arm64 ~ppc ~ppc64 x86" +IUSE="test" +# Tests fail because of lvz_new_audioeffectx symbol in plugins, check +# on new lv2lint release (>0.16.2). See https://gitlab.com/drobilla/mda-lv2/-/issues/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 +} diff --git a/media-plugins/mda-lv2/mda-lv2-1.2.10.ebuild b/media-plugins/mda-lv2/mda-lv2-1.2.10.ebuild deleted file mode 100644 index faf6618f6de4..000000000000 --- a/media-plugins/mda-lv2/mda-lv2-1.2.10.ebuild +++ /dev/null @@ -1,19 +0,0 @@ -# Copyright 1999-2022 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" - -LICENSE="GPL-3" -SLOT="0" -KEYWORDS="amd64 ~arm ~arm64 ~ppc ~ppc64 x86" - -BDEPEND=" - virtual/pkgconfig -" -RDEPEND="media-libs/lv2" diff --git a/media-plugins/mda-lv2/metadata.xml b/media-plugins/mda-lv2/metadata.xml index 6ba8ddc33e95..f5ccf86599e1 100644 --- a/media-plugins/mda-lv2/metadata.xml +++ b/media-plugins/mda-lv2/metadata.xml @@ -14,4 +14,7 @@ The instrument plugins make use of the new atom:AtomPort to receive MIDI. Apologies for any inconvenience, but this means they will only work in modern hosts which have implemented atom-based MIDI. The effects should work fine in any LV2 host. </longdescription> +<upstream> + <remote-id type="gitlab">drobilla/mda-lv2</remote-id> +</upstream> </pkgmetadata> |