commit:     cedca6fdea3efc1051e872d9ae1c3e0129293601
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Tue May  9 18:15:34 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Tue May  9 18:15:45 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=cedca6fd

media-libs/lv2: wire up tests (and conditionally build them instead)

Signed-off-by: Sam James <sam <AT> gentoo.org>

 .../lv2/files/lv2-1.18.10-tests-optional.patch     | 53 ++++++++++++++++++++++
 media-libs/lv2/lv2-1.18.10.ebuild                  | 10 +++-
 2 files changed, 62 insertions(+), 1 deletion(-)

diff --git a/media-libs/lv2/files/lv2-1.18.10-tests-optional.patch 
b/media-libs/lv2/files/lv2-1.18.10-tests-optional.patch
new file mode 100644
index 000000000000..dca3540cf171
--- /dev/null
+++ b/media-libs/lv2/files/lv2-1.18.10-tests-optional.patch
@@ -0,0 +1,53 @@
+https://gitlab.com/lv2/lv2/-/commit/8726bffa337e6374b04d0739df2812798b2c8858
+
+From 8726bffa337e6374b04d0739df2812798b2c8858 Mon Sep 17 00:00:00 2001
+From: David Robillard <d...@drobilla.net>
+Date: Sat, 19 Nov 2022 17:49:14 -0500
+Subject: [PATCH] Avoid test directory entirely if tests are disabled
+
+--- a/meson.build
++++ b/meson.build
+@@ -346,7 +346,9 @@ endif
+ subdir('util')
+ 
+ # Data and build tests
+-subdir('test')
++if not get_option('tests').disabled()
++  subdir('test')
++endif
+ 
+ if not meson.is_subproject()
+   summary('Tests', not get_option('tests').disabled(), bool_yn: true)
+--- a/test/meson.build
++++ b/test/meson.build
+@@ -122,17 +122,15 @@ test_names = [
+ ]
+ 
+ # Build and run tests
+-if not get_option('tests').disabled()
+-  foreach test_name : test_names
+-    test(
++foreach test_name : test_names
++  test(
++    test_name,
++    executable(
+       test_name,
+-      executable(
+-        test_name,
+-        files('test_@0@.c'.format(test_name)),
+-        c_args: c_suppressions,
+-        dependencies: lv2_dep,
+-      ),
+-      suite: 'unit',
+-    )
+-  endforeach
+-endif
++      files('test_@0@.c'.format(test_name)),
++      c_args: c_suppressions,
++      dependencies: lv2_dep,
++    ),
++    suite: 'unit',
++  )
++endforeach
+-- 
+GitLab

diff --git a/media-libs/lv2/lv2-1.18.10.ebuild 
b/media-libs/lv2/lv2-1.18.10.ebuild
index 4ebd59a52b56..575c13e2e43e 100644
--- a/media-libs/lv2/lv2-1.18.10.ebuild
+++ b/media-libs/lv2/lv2-1.18.10.ebuild
@@ -15,7 +15,8 @@ SRC_URI="https://lv2plug.in/spec/${P}.tar.xz";
 LICENSE="MIT"
 SLOT="0"
 KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv 
~sparc x86"
-IUSE="doc plugins"
+IUSE="doc plugins test"
+RESTRICT="!test? ( test )"
 REQUIRED_USE="${PYTHON_REQUIRED_USE}"
 
 BDEPEND="
@@ -24,6 +25,11 @@ BDEPEND="
                app-doc/doxygen
                dev-python/rdflib
        )
+       test? (
+               dev-libs/serd
+               dev-libs/sord[tools]
+               dev-python/rdflib
+       )
 "
 CDEPEND="
        ${PYTHON_DEPS}
@@ -48,6 +54,7 @@ RDEPEND="
 
 PATCHES=(
        "${FILESDIR}/${PN}-1.18.6-add-missing-lv2.h.patch"
+       "${FILESDIR}/${P}-tests-optional.patch"
 )
 
 src_prepare() {
@@ -62,6 +69,7 @@ multilib_src_configure() {
                -Dlv2dir="${EPREFIX}"/usr/$(get_libdir)/lv2
                $(meson_native_use_feature doc docs)
                $(meson_feature plugins)
+               $(meson_feature test tests)
        )
 
        meson_src_configure

Reply via email to