[PATCH core-updates 0/4] Add more tests to lsp-plugins

  • Open
  • quality assurance status badge
Details
One participant
  • Parnikkapore
Owner
unassigned
Submitted by
Parnikkapore
Severity
normal
P
P
Parnikkapore wrote on 21 Apr 00:03 +0200
(address . guix-patches@gnu.org)
cover.1713647481.git.poomklao@yahoo.com
Hi Guix!

This patch series has a few updates and fixes building towards using
lv2lint and lv2_validate to test lsp-plugins further.

Because changing sord affects many packages, this series should go on
core-updates; it should be OK to merge the first patch straight to
master, however.

The last patch requires https://issues.guix.gnu.org/70486.

Parnikkapore (4):
gnu: lv2lint: Update to 0.16.2.
gnu: sord: Fix missing sord_validate.
gnu: lv2: Hard-code path for sord_validate
gnu: lsp-plugins: Test with lv2lint and lv2_validate.

gnu/packages/audio.scm | 26 +++++++++-----
gnu/packages/music.scm | 79 ++++++++++++++++++++++++++++--------------
gnu/packages/rdf.scm | 2 +-
3 files changed, 72 insertions(+), 35 deletions(-)


base-commit: 43a4215cad8c6da357f895569c0cedf5e854cee0
prerequisite-patch-id: 1104b4fdc3ddb7633d2bee4f68cb70d6c8961243
prerequisite-patch-id: 5cb5081aefcfd465769f508a7e0beaff2b4e339e
prerequisite-patch-id: 14af9262fcd071dd89e7b5ea33f3c5ca7ef97333
prerequisite-patch-id: 79ff13b50e217e6fc18dd1a2c3fcc56aad69d9c7
prerequisite-patch-id: f294eb85e37c3409b9bd3349d3d265df4baaf9bc
--
2.41.0
P
P
Parnikkapore wrote on 21 Apr 01:02 +0200
[PATCH core-updates 1/4] gnu: lv2lint: Update to 0.16.2.
(address . 70487@debbugs.gnu.org)
55416d4cf7cf7172cc2efc898e2cae35ec1dcea3.1713647481.git.poomklao@yahoo.com
* gnu/packages/audio.scm (lv2lint): Update to 0.16.2.
[configure-flags]: Enable X11 tests, like upstream builds.
[inputs]: Add lv2 and libx11.

Change-Id: Ib331399d8d95117574beab900480885ab4a73fcf
---
gnu/packages/audio.scm | 17 +++++++++--------
1 file changed, 9 insertions(+), 8 deletions(-)

Toggle diff (55 lines)
diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index 1a88698165..e3a6c692d2 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -45,7 +45,7 @@
;;; Copyright © 2023 Sharlatan Hellseher <sharlatanus@gmail.com>
;;; Copyright © 2023 Gabriel Wicki <gabriel@erlikon.ch>
;;; Copyright © 2023 Zheng Junjie <873216071@qq.com>
-;;; Copyright © 2023 Parnikkapore <poomklao@yahoo.com>
+;;; Copyright © 2023, 2024 Parnikkapore <poomklao@yahoo.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -5733,31 +5733,32 @@ (define-public libaudec
(define-public lv2lint
(package
(name "lv2lint")
- (version "0.8.0")
+ (version "0.16.2")
(source
(origin
(method git-fetch)
(uri (git-reference
- (url "https://git.open-music-kontrollers.ch/lv2/lv2lint")
+ (url "https://git.open-music-kontrollers.ch/~hp/lv2lint")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
- "1jrka0hsn4n1clri7zfkcl3c2vi52144lkpjm81l51ff8rqy8ks1"))))
+ "0cyiq5amf02k6fkmbch3kgmfx6wa33k310ig7zzf6rwbswmdnk1n"))))
(build-system meson-build-system)
(arguments
`(#:configure-flags
- `("-Delf-tests=true" ; for checking symbol visibility
- "-Donline-tests=true"))) ; for checking URI existence
+ `("-Donline-tests=enabled" ; for checking URI existence
+ "-Delf-tests=enabled" ; for checking symbol visibility
+ "-Dx11-tests=enabled"))) ; for checking X11 UI instantiation
(inputs
- (list curl libelf lilv))
+ (list lv2 lilv curl libelf libx11))
(native-inputs
(list pkg-config))
(synopsis "LV2 plugin lint tool")
(description "lv2lint is an LV2 lint-like tool that checks whether a
given plugin and its UI(s) match up with the provided metadata and adhere
to well-known best practices.")
- (home-page "https://open-music-kontrollers.ch/lv2/lv2lint/")
+ (home-page "https://git.open-music-kontrollers.ch/~hp/lv2lint")
(license license:artistic2.0)))
(define-public lv2toweb
--
2.41.0
P
P
Parnikkapore wrote on 21 Apr 01:02 +0200
[PATCH core-updates 2/4] gnu: sord: Fix missing sord_validate.
(address . 70487@debbugs.gnu.org)
84ca529753c8dad411e0dbfdae90f3d0f2b8ceca.1713647481.git.poomklao@yahoo.com
* gnu/packages/rdf.scm (sord): Fix missing sord_validate.
[inputs]: Replace pcre with pcre2

Change-Id: I0e78419476097c8c72a1986c9ce68d774824c2c3
---
gnu/packages/rdf.scm | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

Toggle diff (15 lines)
diff --git a/gnu/packages/rdf.scm b/gnu/packages/rdf.scm
index cc6b009f14..bd9e8c9e54 100644
--- a/gnu/packages/rdf.scm
+++ b/gnu/packages/rdf.scm
@@ -316,7 +316,7 @@ (define-public sord
"1l2zjz6gypxbf1z32zyqkljdcn9mz452djc4xq1dlhv1fmnqfzr5"))))
(build-system meson-build-system)
(inputs
- (list pcre))
+ (list pcre2))
(native-inputs
(list pkg-config))
(propagated-inputs
--
2.41.0
P
P
Parnikkapore wrote on 21 Apr 01:02 +0200
[PATCH core-updates 3/4] gnu: lv2: Hard-code path for sord_validate
(address . 70487@debbugs.gnu.org)
43ec83da41d66fa5982755eba2b95f8286c15bb4.1713647481.git.poomklao@yahoo.com
Change-Id: I29323db7133a17fdf11c37db4df10f4ddce9e8b7
---
gnu/packages/audio.scm | 9 +++++++++
1 file changed, 9 insertions(+)

Toggle diff (22 lines)
diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index e3a6c692d2..532c835b20 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -3146,6 +3146,15 @@ (define-public lv2
(base32
"0gwm63jrvg9lww0rl3sjkgbjwfz0vascpb19cfxmhkmm477ipibq"))))
(build-system meson-build-system)
+ (arguments
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'patch
+ (lambda _
+ (substitute* "util/lv2_validate.in"
+ (("sord_validate")
+ #$(file-append sord "/bin/sord_validate"))))))))
(inputs
;; Leaving off cairo and gtk+-2.0 which are needed for example plugins
(list libsndfile))
--
2.41.0
P
P
Parnikkapore wrote on 21 Apr 01:02 +0200
[PATCH core-updates 4/4] gnu: lsp-plugins: Test with lv2lint and lv2_validate.
(address . 70487@debbugs.gnu.org)
7ad4b3dc6f1788dc11b325d8c201023ee33dcaaa.1713647481.git.poomklao@yahoo.com
* gnu/packages/music.scm (lsp-plugins): Add more tests.
[arguments]: Add (guix build json) to the environment.
[phases]: Run lv2_validate and lv2lint.
[native-inputs]: Add lv2 (for lv2_validate) and lv2lint.

Change-Id: Ie73c5943298611dd0f8b42455151306d86a29a1e
---
gnu/packages/music.scm | 79 ++++++++++++++++++++++++++++--------------
1 file changed, 53 insertions(+), 26 deletions(-)

Toggle diff (106 lines)
diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
index 4a3e615c15..a234cbe3c2 100644
--- a/gnu/packages/music.scm
+++ b/gnu/packages/music.scm
@@ -90,6 +90,7 @@ (define-module (gnu packages music)
#:use-module (guix download)
#:use-module (guix gexp)
#:use-module (guix git-download)
+ #:use-module (guix modules)
#:use-module (guix packages)
#:use-module (guix utils)
#:use-module (gnu packages)
@@ -6213,31 +6214,57 @@ (define-public lsp-plugins
#:make-flags
#~(list (string-append "CC=" #$(cc-for-target)))
#:phases
- #~(modify-phases %standard-phases
- (replace 'configure
- (lambda _
- (invoke "make" "config"
- "STRICT=1"
- "TEST=1"
- "FEATURES=clap doc jack ladspa lv2 vst2 xdg"
- (string-append "PREFIX=" #$output)
- (string-append "ETCDIR=" #$output "/etc"))))
- (replace 'check
- (lambda* (#:key tests? #:allow-other-keys)
- (when tests?
- (invoke ".build/host/lsp-plugin-fw/lsp-plugins-test" "utest"))))
- (add-after 'install 'move-large-subdirs
- (lambda _
- (define (move-to-output output path)
- (let ((source (string-append #$output path))
- (target (string-append output path)))
- (mkdir-p (dirname target))
- (rename-file source target)))
- (move-to-output #$output:doc "/share/doc") ; 29MB
- (move-to-output #$output:lv2 "/lib/lv2") ; 32MB
- (move-to-output #$output:bin "/bin") ; Avoid cluttering xdg menu
- (move-to-output #$output:bin "/share")
- (move-to-output #$output:bin "/etc"))))))
+ (with-imported-modules (source-module-closure '((guix build json)))
+ #~(modify-phases %standard-phases
+ (replace 'configure
+ (lambda _
+ (invoke "make" "config"
+ "STRICT=1"
+ "TEST=1"
+ "FEATURES=clap doc jack ladspa lv2 vst2 xdg"
+ (string-append "PREFIX=" #$output)
+ (string-append "ETCDIR=" #$output "/etc"))))
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (invoke ".build/host/lsp-plugin-fw/lsp-plugins-test" "utest"))))
+ (add-after 'install 'move-large-subdirs
+ (lambda _
+ (define (move-to-output output path)
+ (let ((source (string-append #$output path))
+ (target (string-append output path)))
+ (mkdir-p (dirname target))
+ (rename-file source target)))
+ (move-to-output #$output:doc "/share/doc") ; 29MB
+ (move-to-output #$output:lv2 "/lib/lv2") ; 32MB
+ (move-to-output #$output:bin "/bin") ; Avoid cluttering xdg menu
+ (move-to-output #$output:bin "/share")
+ (move-to-output #$output:bin "/etc")))
+ (add-after 'move-large-subdirs 'postinstall-check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (use-modules (guix build json))
+ (let* ((plugins-json
+ (call-with-input-file
+ ".build/target/lsp-plugin-fw/plugins.json"
+ read-json))
+ (plugin-objects
+ (assoc-ref plugins-json "plugins"))
+ (plugin-urls
+ (map (lambda (obj) (assoc-ref obj "lv2_uri"))
+ plugin-objects))
+ (plugin-urls (filter ->bool plugin-urls)))
+ (setenv
+ "LV2_PATH"
+ (string-append #$output:lv2 "/lib/lv2:" #$lv2 "/lib/lv2"))
+ (for-each
+ (lambda (url)
+ (invoke "lv2lint" "-Mpack" "-t" "* Symbols" url))
+ plugin-urls))
+ (system
+ (string-append "lv2_validate "
+ #$output:lv2
+ "/usr/lib/lv2/lsp-*.lv2/*.ttl")))))))))
(inputs
(list cairo
freetype
@@ -6246,7 +6273,7 @@ (define-public lsp-plugins
libx11
libxrandr
mesa))
- (native-inputs (list pkg-config php))
+ (native-inputs (list pkg-config php lv2 lv2lint))
(outputs '("out" "doc" "lv2" "debug"))
(synopsis "Audio plugin collection")
(description "LSP (Linux Studio Plugins) is a collection of audio
--
2.41.0
?
Your comment

Commenting via the web interface is currently disabled.

To comment on this conversation send an email to 70487@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 70487
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch