unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
From: Sughosha via Guix-patches via <guix-patches@gnu.org>
To: 58681@debbugs.gnu.org
Cc: rekado@elephly.net
Subject: [bug#58681] [PATCH v2] gnu: Add synthpod.
Date: Mon, 23 Jan 2023 21:10:22 +0000	[thread overview]
Message-ID: <eliH3oT8t2wMrICbqjyWfhr8eefnVpUx9vKeXY_6nsIBZHz0dhZrvKeOcNxZpgHvzzUV75pEj6ExLKDcmJGMz_zxz5KTbJty6VbXsQZJpXQ=@proton.me> (raw)
In-Reply-To: <87bkmqf9z4.fsf@elephly.net>

[-- 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


  reply	other threads:[~2023-01-23 21:11 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
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 [this message]
2023-01-24 23:24     ` bug#58681: " Ricardo Wurmus

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='eliH3oT8t2wMrICbqjyWfhr8eefnVpUx9vKeXY_6nsIBZHz0dhZrvKeOcNxZpgHvzzUV75pEj6ExLKDcmJGMz_zxz5KTbJty6VbXsQZJpXQ=@proton.me' \
    --to=guix-patches@gnu.org \
    --cc=58681@debbugs.gnu.org \
    --cc=Sughosha@proton.me \
    --cc=rekado@elephly.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).