* [bug#58681] [PATCH] gnu: Add synthpod @ 2022-10-21 11:19 Sughosha via Guix-patches via 2022-10-25 9:25 ` Christopher Baines ` (2 more replies) 0 siblings, 3 replies; 6+ messages in thread From: Sughosha via Guix-patches via @ 2022-10-21 11:19 UTC (permalink / raw) To: 58681 * gnu/packages/music.scm (synthpod): New variable. --- gnu/packages/music.scm | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index 6b37c79..6ff2c99 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -173,6 +173,7 @@ #:use-module (gnu packages sqlite) #:use-module (gnu packages stb) #:use-module (gnu packages tcl) + #:use-module (gnu packages terminals) #:use-module (gnu packages texinfo) #:use-module (gnu packages tex) #:use-module (gnu packages time) @@ -3456,6 +3457,50 @@ analogue-like user interface.") socket or command line.") (license license:gpl3+)))) +(define-public synthpod + (package + (name "synthpod") + (version "0.1.6505") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://git.open-music-kontrollers.ch/lv2/synthpod") + ;; Version is not tagged but mentioned in VERSION file. + (commit "8273142cd702583cb3662fbe0e2fd5d4075ee703"))) + (sha256 + (base32 + "120qsd090pwkc21g9a5mm0pjb0rqn1iy4rs5lx3fs0qf3wa7k6ri")))) + (build-system meson-build-system) + ;; Fontconfig error: No writable cache directories + (arguments (list #:tests? #f)) + (inputs (list alsa-lib + cairo + eudev + freetype + fontconfig + glew + glu + jack-1 + libevdev + libinput + libvterm + lilv + lv2 + pixman + sratom + xcb-util + xcb-util-wm + xcb-util-xrm + zita-alsa-pcmi)) + (native-inputs (list ;lv2lint ; needed for tests + pkg-config)) + (home-page "https://open-music-kontrollers.ch/lv2/synthpod/") + (synopsis "Nonlinear LV2 plugin container") + (description + "Synthpod is an LV2 host. It can be run as a standalone app and be used +as a tool for live performances or general audio and event filtering.") + (license (list license:artistic2.0 license:gpl3+)))) + (define-public curseradio (let ((commit "1bd4bd0faeec675e0647bac9a100b526cba19f8d") (revision "1")) -- libgit2 1.4.3 ^ permalink raw reply related [flat|nested] 6+ messages in thread
* [bug#58681] [PATCH] gnu: Add synthpod 2022-10-21 11:19 [bug#58681] [PATCH] gnu: Add synthpod Sughosha via Guix-patches via @ 2022-10-25 9:25 ` Christopher Baines 2023-01-06 14:27 ` [bug#58681] [PATCH v2] " Sughosha via Guix-patches via 2023-01-22 22:58 ` Ricardo Wurmus 2 siblings, 0 replies; 6+ messages in thread From: Christopher Baines @ 2022-10-25 9:25 UTC (permalink / raw) To: Sughosha; +Cc: 58681 [-- Attachment #1: Type: text/plain, Size: 3593 bytes --] Sughosha via Guix-patches via <guix-patches@gnu.org> writes: > * gnu/packages/music.scm (synthpod): New variable. > --- > gnu/packages/music.scm | 45 +++++++++++++++++++++++++++++++++++++++++++++ > 1 file changed, 45 insertions(+) Hey, thanks for the patch. > + (source (origin > + (method git-fetch) > + (uri (git-reference > + (url "https://git.open-music-kontrollers.ch/lv2/synthpod") > + ;; Version is not tagged but mentioned in VERSION file. > + (commit "8273142cd702583cb3662fbe0e2fd5d4075ee703"))) > + (sha256 > + (base32 > + "120qsd090pwkc21g9a5mm0pjb0rqn1iy4rs5lx3fs0qf3wa7k6ri")))) The linter should be telling you something about the source file not containing the package name. I'd take a look at the file-name bit in other package sources that also use git-fetch. > + (build-system meson-build-system) > + ;; Fontconfig error: No writable cache directories > + (arguments (list #:tests? #f)) The cache directory bit is a hint, as that's often within the users home directory. The build environment uses a non-existent home directory, but you can change that. Quite a few packages have (setenv "HOME" "/tmp") for the tests. Adding that looks like: (arguments (list #:phases #~(modify-phases %standard-phases (add-before 'check 'fix-home-directory (lambda _ ;; Tests fail with: Fontconfig error: No writable cache ;; directories (setenv "HOME" "/tmp")))))) If you do that though, the tests still fail, seems like there's a missing font? starting phase `check' ninja: Entering directory `/tmp/guix-build-synthpod-0.1.6505.drv-0/build' ninja: no work to do. 1/9 d2tk / Test core OK 0.09s 2/9 d2tk / Test base OK 0.48s 3/9 d2tk / FiraSans-Bold.ttf FAIL 0.02s exit status 1 >>> MALLOC_PERTURB_=67 /tmp/guix-build-synthpod-0.1.6505.drv-0/source/subprojects/d2tk/check_for_font FiraSans-Bold.ttf 4/9 d2tk / FiraCode-Light.ttf FAIL 0.03s exit status 1 >>> MALLOC_PERTURB_=109 /tmp/guix-build-synthpod-0.1.6505.drv-0/source/subprojects/d2tk/check_for_font FiraCode-Light.tt 5/9 d2tk / FiraCode-Regular.ttf FAIL 0.03s exit status 1 >>> MALLOC_PERTURB_=46 /tmp/guix-build-synthpod-0.1.6505.drv-0/source/subprojects/d2tk/check_for_font FiraCode-Regular.ttf 6/9 d2tk / FiraCode-Medium.ttf FAIL 0.02s exit status 1 >>> MALLOC_PERTURB_=41 /tmp/guix-build-synthpod-0.1.6505.drv-0/source/subprojects/d2tk/check_for_font FiraCode-Medium.ttf 7/9 d2tk / FiraCode-Bold.ttf FAIL 0.02s exit status 1 >>> MALLOC_PERTURB_=10 /tmp/guix-build-synthpod-0.1.6505.drv-0/source/subprojects/d2tk/check_for_font FiraCode-Bold.ttf 8/9 synthpod / LV2 validate OK 0.07s 9/9 synthpod / LV2 validate OK 0.07s Summary of Failures: 3/9 d2tk / FiraSans-Bold.ttf FAIL 0.02s exit status 1 4/9 d2tk / FiraCode-Light.ttf FAIL 0.03s exit status 1 5/9 d2tk / FiraCode-Regular.ttf FAIL 0.03s exit status 1 6/9 d2tk / FiraCode-Medium.ttf FAIL 0.02s exit status 1 7/9 d2tk / FiraCode-Bold.ttf FAIL 0.02s exit status 1 Ok: 4 Expected Fail: 0 Fail: 5 Unexpected Pass: 0 Skipped: 0 Timeout: 0 [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 987 bytes --] ^ permalink raw reply [flat|nested] 6+ messages in thread
* [bug#58681] [PATCH v2] gnu: Add synthpod. 2022-10-21 11:19 [bug#58681] [PATCH] gnu: Add synthpod Sughosha via Guix-patches via 2022-10-25 9:25 ` Christopher Baines @ 2023-01-06 14:27 ` Sughosha via Guix-patches via 2023-01-22 22:58 ` Ricardo Wurmus 2 siblings, 0 replies; 6+ messages in thread From: Sughosha via Guix-patches via @ 2023-01-06 14:27 UTC (permalink / raw) To: 58681@debbugs.gnu.org Sorry for the delay. Here is the fix with tests enabled and updated to newer version. * gnu/packages/music.scm (synthpod): New public variable. --- gnu/packages/music.scm | 54 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index 5be767a138..3d0722274c 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -174,6 +174,7 @@ (define-module (gnu packages music) #:use-module (gnu packages sqlite) #:use-module (gnu packages stb) #:use-module (gnu packages tcl) + #:use-module (gnu packages terminals) #:use-module (gnu packages texinfo) #:use-module (gnu packages tex) #:use-module (gnu packages time) @@ -3517,6 +3518,59 @@ (define-public mod-host socket or command line.") (license license:gpl3+)))) +(define-public synthpod + (package + (name "synthpod") + (version "0.1.6507") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://git.open-music-kontrollers.ch/lv2/synthpod") + ;; Version is not tagged but mentioned in VERSION file. + (commit "6e84a075ea8fea95094dcbc2b30f968717a81960"))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1chazkdxjgjzfxqmlk4ywhilkj9l3bybd9xghjg9r67df2diqhbs")))) + (build-system meson-build-system) + (arguments + (list + #:phases + #~(modify-phases %standard-phases + (add-before 'check 'fix-home-directory + (lambda _ + ;; Tests fail with: Fontconfig error: No writable cache + ;; directories + (setenv "HOME" "/tmp")))))) + (propagated-inputs (list lilv)) ;required for lv2info + (inputs (list alsa-lib + cairo + eudev + freetype + font-fira-code + font-fira-sans + fontconfig + glew + glu + jack-1 + libevdev + libinput + libvterm + lv2 + pixman + sratom + xcb-util + xcb-util-wm + xcb-util-xrm + zita-alsa-pcmi)) + (native-inputs (list pkg-config)) + (home-page "https://open-music-kontrollers.ch/lv2/synthpod/") + (synopsis "Nonlinear LV2 plugin container") + (description + "Synthpod is an LV2 host. It can be run as a standalone app and be used +as a tool for live performances or general audio and event filtering.") + (license (list license:artistic2.0 license:gpl3+)))) + (define-public curseradio (let ((commit "1bd4bd0faeec675e0647bac9a100b526cba19f8d") (revision "1")) -- 2.38.1 ^ permalink raw reply related [flat|nested] 6+ messages in thread
* [bug#58681] [PATCH v2] gnu: Add synthpod. 2022-10-21 11:19 [bug#58681] [PATCH] gnu: Add synthpod Sughosha via Guix-patches via 2022-10-25 9:25 ` Christopher Baines 2023-01-06 14:27 ` [bug#58681] [PATCH v2] " Sughosha via Guix-patches via @ 2023-01-22 22:58 ` Ricardo Wurmus 2023-01-23 21:10 ` Sughosha via Guix-patches via 2 siblings, 1 reply; 6+ messages in thread From: Ricardo Wurmus @ 2023-01-22 22:58 UTC (permalink / raw) To: 58681; +Cc: Sughosha [-- Attachment #1: Type: text/plain, Size: 28 bytes --] Hi, I made these changes: [-- Attachment #2: synthpod.diff --] [-- Type: text/x-patch, Size: 3687 bytes --] diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index ca058638f2..f2f5289dba 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -44,7 +44,7 @@ ;;; Copyright © 2021 Simon Streit <simon@netpanic.org> ;;; Copyright © 2021 Xinglu Chen <public@yoctocell.xyz> ;;; Copyright © 2021 Thomas Albers Raviola <thomas@thomaslabs.org> -;;; Copyright © 2022 Sughosha <sughosha@disroot.org> +;;; Copyright © 2022, 2023 Sughosha <sughosha@disroot.org> ;;; Copyright © 2022 Remco van 't Veer <remco@remworks.net> ;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2022 Wamm K. D. <jaft.r@outlook.com> @@ -3566,44 +3566,53 @@ (define-public synthpod (source (origin (method git-fetch) (uri (git-reference - (url "https://git.open-music-kontrollers.ch/lv2/synthpod") - ;; Version is not tagged but mentioned in VERSION file. - (commit "6e84a075ea8fea95094dcbc2b30f968717a81960"))) + (url "https://git.open-music-kontrollers.ch/lv2/synthpod") + ;; Version is not tagged but mentioned in VERSION file. + (commit "6e84a075ea8fea95094dcbc2b30f968717a81960"))) (file-name (git-file-name name version)) (sha256 - (base32 - "1chazkdxjgjzfxqmlk4ywhilkj9l3bybd9xghjg9r67df2diqhbs")))) + (base32 + "1chazkdxjgjzfxqmlk4ywhilkj9l3bybd9xghjg9r67df2diqhbs")))) (build-system meson-build-system) (arguments (list #:phases #~(modify-phases %standard-phases - (add-before 'check 'fix-home-directory + (add-after 'unpack 'patch-references + (lambda* (#:key inputs #:allow-other-keys) + (substitute* '("bin/synthpod_ui" + "bin/synthpod_d2tk") + (("lv2info") (search-input-file inputs "/bin/lv2info")) + ((" synthpod_sandbox_x11") + (string-append " " #$output "/bin/synthpod_sandbox_x11"))))) + (add-before 'check 'set-home-directory (lambda _ ;; Tests fail with: Fontconfig error: No writable cache ;; directories (setenv "HOME" "/tmp")))))) - (propagated-inputs (list lilv)) ;required for lv2info - (inputs (list alsa-lib - cairo - eudev - freetype - font-fira-code - font-fira-sans - fontconfig - glew - glu - jack-1 - libevdev - libinput - libvterm - lv2 - pixman - sratom - xcb-util - xcb-util-wm - xcb-util-xrm - zita-alsa-pcmi)) + (inputs + (list alsa-lib + cairo + eudev + freetype + font-fira-code + font-fira-sans + fontconfig + glew + glu + grep + jack-2 + libevdev + libinput + libvterm + lilv ;for lv2info + lv2 + pixman + sratom + xcb-util + xcb-util-wm + xcb-util-xrm + zita-alsa-pcmi)) (native-inputs (list pkg-config)) (home-page "https://open-music-kontrollers.ch/lv2/synthpod/") (synopsis "Nonlinear LV2 plugin container") [-- Attachment #3: Type: text/plain, Size: 1653 bytes --] It avoids propagation of lilv and patches synthpod_ui to look for other executables in a known location. We should probably also wrap the scripts to set PATH to where “grep”, “coreutils”, “sed”, and “gawk” are found, but I wasn’t able to add (gnu packages gawk) to the imports of (gnu packages music). Unfortunately, the program crashes because it can’t find the LV2 files for Synthpod itself: --8<---------------cut here---------------start------------->8--- $ /gnu/store/pp3rysfcssf3kigh01mrz7jc16dgp51p-synthpod-0.1.6507/bin/synthpod_ui error: failed to open file /home/rekado/.lv2/Synthpod_default.preset.lv2/manifest.ttl (No such file or directory) lilv_world_load_file(): error: Error loading file `file:///home/rekado/.lv2/Synthpod_default.preset.lv2/manifest.ttl' lilv_world_load_bundle(): error: Error reading file:///home/rekado/.lv2/Synthpod_default.preset.lv2/manifest.ttl Plugin not found. Synthpod 0.1.6507 Copyright (c) 2015-2016 Hanspeter Portner (dev@open-music-kontrollers.ch) Released under Artistic License 2.0 by Open Music Kontrollers error: failed to open file /home/rekado/dev/gx/branches/master/manifest.ttl (No such file or directory) lilv_world_load_file(): error: Error loading file `file:///home/rekado/dev/gx/branches/master/manifest.ttl' lilv_world_load_bundle(): error: Error reading file:///home/rekado/dev/gx/branches/master/manifest.ttl lilv_plugins_get_by_uri failed Segmentation fault --8<---------------cut here---------------end--------------->8--- These probably should be looked up in $out/lib/synthpod/lv2 instead of searching the LV2 path. -- Ricardo ^ permalink raw reply related [flat|nested] 6+ messages in thread
* [bug#58681] [PATCH v2] gnu: Add synthpod. 2023-01-22 22:58 ` Ricardo Wurmus @ 2023-01-23 21:10 ` Sughosha via Guix-patches via 2023-01-24 23:24 ` bug#58681: " Ricardo Wurmus 0 siblings, 1 reply; 6+ messages in thread From: Sughosha via Guix-patches via @ 2023-01-23 21:10 UTC (permalink / raw) To: 58681; +Cc: rekado [-- Attachment #1: Type: text/plain, Size: 1290 bytes --] Thanks for reviewing the patch and improving it. > We should probably also wrap the scripts to set PATH to where “grep”, “coreutils”, “sed”, and “gawk” are found, but I wasn’t able to add (gnu packages gawk) to the imports of (gnu packages music). This is not the only package requiring such basic programs like "sed", "grep" etc but not wrapped or listed in inputs. The other such package that I am aware of is ardour, which also requires these programs. I tried running ardour in a guix shell with --emulate-fhs, then found that ardour could not start because these programs were not found in the PATH. So I am not sure if it is required to add these programs to inputs or to wrap them. > Unfortunately, the program crashes because it can’t find the LV2 files for Synthpod itself: I fixed it partially. The binaries are confusing. `synthpod_ui` seems like not to be run manually. The way that I found to run the ui is `synthpod_alsa -g` or `synthpod_jack -g`. Strangely, with the attatched new v3 patch, the program starts only if installed to guix profile (or maybe something else like guix home, not tested). Just by building, the program searches for "manifest.ttl" file in the current working directory and fails to start. Sughosha [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #2: v3-0001-gnu-Add-synthpod.patch --] [-- Type: text/x-patch; name=v3-0001-gnu-Add-synthpod.patch, Size: 4076 bytes --] From a2ae9de66366bf00c9a384f5c7be8b0be17b0a02 Mon Sep 17 00:00:00 2001 From: Sughosha <sughosha@proton.me> Date: Mon, 23 Jan 2023 22:02:42 +0100 Subject: [PATCH v3] gnu: Add synthpod. * gnu/packages/music.scm (synthpod): New variable. --- gnu/packages/music.scm | 68 +++++++++++++++++++++++++++++++++++++++++- 1 file changed, 67 insertions(+), 1 deletion(-) diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index 65bb6d29f7..5c446330fa 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -44,7 +44,7 @@ ;;; Copyright © 2021 Simon Streit <simon@netpanic.org> ;;; Copyright © 2021 Xinglu Chen <public@yoctocell.xyz> ;;; Copyright © 2021 Thomas Albers Raviola <thomas@thomaslabs.org> -;;; Copyright © 2022 Sughosha <sughosha@disroot.org> +;;; Copyright © 2022, 2023 Sughosha <sughosha@proton.me> ;;; Copyright © 2022 Remco van 't Veer <remco@remworks.net> ;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2022 Wamm K. D. <jaft.r@outlook.com> @@ -174,6 +174,7 @@ (define-module (gnu packages music) #:use-module (gnu packages sqlite) #:use-module (gnu packages stb) #:use-module (gnu packages tcl) + #:use-module (gnu packages terminals) #:use-module (gnu packages texinfo) #:use-module (gnu packages tex) #:use-module (gnu packages time) @@ -3558,6 +3559,71 @@ (define-public mod-host socket or command line.") (license license:gpl3+)))) +(define-public synthpod + (package + (name "synthpod") + (version "0.1.6507") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://git.open-music-kontrollers.ch/lv2/synthpod") + ;; Version is not tagged but mentioned in VERSION file. + (commit "6e84a075ea8fea95094dcbc2b30f968717a81960"))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1chazkdxjgjzfxqmlk4ywhilkj9l3bybd9xghjg9r67df2diqhbs")))) + (build-system meson-build-system) + (arguments + (list + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'patch-references + (lambda* (#:key inputs #:allow-other-keys) + (substitute* '("bin/synthpod_ui" + "bin/synthpod_d2tk") + (("lv2info") (search-input-file inputs "/bin/lv2info")) + ((" synthpod_sandbox_x11") + (string-append " " #$output "/bin/synthpod_sandbox_x11"))) + (substitute* "bin/synthpod_bin.c" + (("%s/.lv2") (string-append #$output "/lib/lv2")) + ((", home_dir") "")))) + (add-before 'check 'set-home-directory + (lambda _ + ;; Tests fail with: Fontconfig error: No writable cache + ;; directories + (setenv "HOME" "/tmp")))))) + (inputs (list alsa-lib + cairo + eudev + freetype + font-fira-code + font-fira-sans + fontconfig + glew + glu + jack-2 + libvterm + lilv + lv2 + libevdev + libinput + libvterm + lv2 + pixman + sratom + xcb-util + xcb-util-wm + xcb-util-xrm + zita-alsa-pcmi)) + (native-inputs (list pkg-config)) + (home-page "https://open-music-kontrollers.ch/lv2/synthpod/") + (synopsis "Nonlinear LV2 plugin container") + (description + "Synthpod is an LV2 host. It can be run as a standalone app and be used +as a tool for live performances or general audio and event filtering.") + (license (list license:artistic2.0 license:gpl3+)))) + (define-public curseradio (let ((commit "1bd4bd0faeec675e0647bac9a100b526cba19f8d") (revision "1")) -- 2.39.1 ^ permalink raw reply related [flat|nested] 6+ messages in thread
* bug#58681: [PATCH v2] gnu: Add synthpod. 2023-01-23 21:10 ` Sughosha via Guix-patches via @ 2023-01-24 23:24 ` Ricardo Wurmus 0 siblings, 0 replies; 6+ messages in thread From: Ricardo Wurmus @ 2023-01-24 23:24 UTC (permalink / raw) To: Sughosha; +Cc: 58681-done Sughosha <Sughosha@proton.me> writes: > Thanks for reviewing the patch and improving it. > >> We should probably also wrap the scripts to set PATH to where “grep”, > “coreutils”, “sed”, and “gawk” are found, but I wasn’t able to add (gnu > packages gawk) to the imports of (gnu packages music). > > This is not the only package requiring such basic programs like "sed", > "grep" etc but not wrapped or listed in inputs. The other such package that > I am aware of is ardour, which also requires these programs. I tried > running ardour in a guix shell with --emulate-fhs, then found that ardour > could not start because these programs were not found in the PATH. So I am > not sure if it is required to add these programs to inputs or to wrap them. To me this means that we should also fix ardour, not that we should ignore the problem in other packages :) >> Unfortunately, the program crashes because it can’t find the LV2 files > for Synthpod itself: > > I fixed it partially. The binaries are confusing. `synthpod_ui` seems like > not to be run manually. The way that I found to run the ui is > `synthpod_alsa -g` or `synthpod_jack -g`. > > Strangely, with the attatched new v3 patch, the program starts only if > installed to guix profile (or maybe something else like guix home, not > tested). Just by building, the program searches for "manifest.ttl" file > in the current working directory and fails to start. That’s odd, but perhaps it’s the default of an LV2 library that synthpod uses. The patch looks good enough to me, so I applied it. Feel free to revisit it at a later point to address the remaining minor issues. Thank you! -- Ricardo ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2023-01-24 23:27 UTC | newest] Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2022-10-21 11:19 [bug#58681] [PATCH] gnu: Add synthpod Sughosha via Guix-patches via 2022-10-25 9:25 ` Christopher Baines 2023-01-06 14:27 ` [bug#58681] [PATCH v2] " Sughosha via Guix-patches via 2023-01-22 22:58 ` Ricardo Wurmus 2023-01-23 21:10 ` Sughosha via Guix-patches via 2023-01-24 23:24 ` bug#58681: " Ricardo Wurmus
Code repositories for project(s) associated with this public inbox https://git.savannah.gnu.org/cgit/guix.git This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).