all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* [bug#30201] [PATCH] Fix Solfege configuration skeleton
@ 2018-01-21 23:06 Nicolas Goaziou
  2018-01-31 22:55 ` Ludovic Courtès
  0 siblings, 1 reply; 3+ messages in thread
From: Nicolas Goaziou @ 2018-01-21 23:06 UTC (permalink / raw)
  To: 30201

[-- Attachment #1: Type: text/plain, Size: 915 bytes --]

Hello,

Currently, Guix Solfege package replaces, in the skeleton configuration,
hard-coded filenames to various sound players with hard-coded filenames
to the same players in the store. I think this is no good.

The first time it is run, Solfege copies the skeleton configuration in
home directory, as a dot file. However, at some point, possibly long
after you forget about this detail, initial inputs are GC'ed, leaving
non-existing filenames in a now broken configuration. Once you realize
it, you need to find the new inputs in the store, rinse and repeat.

One option would be to move players to propagated-inputs. Since they do
not prevent Solfege from building, however, I think simply removing them
from the package is enough. One can always add them to their profile if
needed.

The following patch implements this.

Regards,

-- 
Nicolas Goaziou                                                0x80A93738

[-- Attachment #2: Fix Solfege --]
[-- Type: text/x-diff, Size: 3037 bytes --]

From e30b919f03ad9b37123b96dc38c24d41e562a02a Mon Sep 17 00:00:00 2001
From: Nicolas Goaziou <mail@nicolasgoaziou.fr>
Date: Sun, 21 Jan 2018 23:43:02 +0100
Subject: [PATCH] gnu: solfege: Make configuration more robust to GC

* gnu/packages/music.scm (solfege): Do not introduce store filenames in the
configuration skeleton.
[inputs]: Remove optional players.
---
 gnu/packages/music.scm | 30 ++++++------------------------
 1 file changed, 6 insertions(+), 24 deletions(-)

diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
index b7dc7d9aa..e618e2bf1 100644
--- a/gnu/packages/music.scm
+++ b/gnu/packages/music.scm
@@ -10,7 +10,7 @@
 ;;; Copyright © 2016 Alex Griffin <a@ajgrf.com>
 ;;; Copyright © 2017 ng0 <contact.ng0@cryptolab.net>
 ;;; Copyright © 2017 Rodger Fox <thylakoid@openmailbox.org>
-;;; Copyright © 2017 Nicolas Goaziou <mail@nicolasgoaziou.fr>
+;;; Copyright © 2017, 2018 Nicolas Goaziou <mail@nicolasgoaziou.fr>
 ;;; Copyright © 2017 Pierre Langlois <pierre.langlois@gmx.com>
 ;;; Copyright © 2017 Arun Isaac <arunisaac@systemreboot.net>
 ;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
@@ -1055,22 +1055,10 @@ complete studio.")
          (add-after 'unpack 'fix-configuration
            (lambda* (#:key inputs #:allow-other-keys)
              (substitute* "default.config"
-               (("csound=csound")
-                (string-append "csound="
-                               (assoc-ref inputs "csound")
-                               "/bin/csound"))
-               (("/usr/bin/aplay")
-                (string-append (assoc-ref inputs "aplay")
-                               "/bin/aplay"))
-               (("/usr/bin/timidity")
-                (string-append (assoc-ref inputs "timidity")
-                               "/bin/timidity"))
-               (("/usr/bin/mpg123")
-                (string-append (assoc-ref inputs "mpg123")
-                               "/bin/mpg123"))
-               (("/usr/bin/ogg123")
-                (string-append (assoc-ref inputs "ogg123")
-                               "/bin/ogg123")))
+               (("/usr/bin/aplay" "aplay"))
+               (("/usr/bin/timidity") "timidity")
+               (("/usr/bin/mpg123") "mpg123")
+               (("/usr/bin/ogg123") "ogg123"))
              #t))
          (add-before 'build 'patch-python-shebangs
            (lambda _
@@ -1110,13 +1098,7 @@ for path in [path for path in sys.path if 'site-packages' in path]: site.addsite
        ("pygtk" ,python2-pygtk)
        ("gettext" ,gettext-minimal)
        ("gtk" ,gtk+)
-       ("lilypond" ,lilypond)
-       ;; players needed at runtime
-       ("aplay" ,alsa-utils)
-       ("csound" ,csound) ; optional, needed for some exercises
-       ("mpg123" ,mpg123)
-       ("ogg123" ,vorbis-tools)
-       ("timidity" ,timidity++)))
+       ("lilypond" ,lilypond)))
     (native-inputs
      `(("pkg-config" ,pkg-config)
        ("txt2man" ,txt2man)
-- 
2.15.1


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* [bug#30201] [PATCH] Fix Solfege configuration skeleton
  2018-01-21 23:06 [bug#30201] [PATCH] Fix Solfege configuration skeleton Nicolas Goaziou
@ 2018-01-31 22:55 ` Ludovic Courtès
  2018-02-01 21:39   ` bug#30201: " Nicolas Goaziou
  0 siblings, 1 reply; 3+ messages in thread
From: Ludovic Courtès @ 2018-01-31 22:55 UTC (permalink / raw)
  To: Nicolas Goaziou; +Cc: 30201

Hey,

Nicolas Goaziou <mail@nicolasgoaziou.fr> skribis:

> Currently, Guix Solfege package replaces, in the skeleton configuration,
> hard-coded filenames to various sound players with hard-coded filenames
> to the same players in the store. I think this is no good.
>
> The first time it is run, Solfege copies the skeleton configuration in
> home directory, as a dot file. However, at some point, possibly long
> after you forget about this detail, initial inputs are GC'ed, leaving
> non-existing filenames in a now broken configuration. Once you realize
> it, you need to find the new inputs in the store, rinse and repeat.

Heh.

> One option would be to move players to propagated-inputs. Since they do
> not prevent Solfege from building, however, I think simply removing them
> from the package is enough. One can always add them to their profile if
> needed.

Does Solfege look for them in $PATH?  If it does, providing just the
basename of these programs like your patch does is perfect IMO.

>>From e30b919f03ad9b37123b96dc38c24d41e562a02a Mon Sep 17 00:00:00 2001
> From: Nicolas Goaziou <mail@nicolasgoaziou.fr>
> Date: Sun, 21 Jan 2018 23:43:02 +0100
> Subject: [PATCH] gnu: solfege: Make configuration more robust to GC
>
> * gnu/packages/music.scm (solfege): Do not introduce store filenames in the
> configuration skeleton.
> [inputs]: Remove optional players.

LGTM!

Thanks,
Ludo’.

^ permalink raw reply	[flat|nested] 3+ messages in thread

* bug#30201: [PATCH] Fix Solfege configuration skeleton
  2018-01-31 22:55 ` Ludovic Courtès
@ 2018-02-01 21:39   ` Nicolas Goaziou
  0 siblings, 0 replies; 3+ messages in thread
From: Nicolas Goaziou @ 2018-02-01 21:39 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: 30201-done

Hello,

ludo@gnu.org (Ludovic Courtès) writes:

> Does Solfege look for them in $PATH?  If it does, providing just the
> basename of these programs like your patch does is perfect IMO.

It does.

> LGTM!

Thank you. I applied the patch.

Regards,

-- 
Nicolas Goaziou                                                0x80A93738

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2018-02-01 21:42 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-01-21 23:06 [bug#30201] [PATCH] Fix Solfege configuration skeleton Nicolas Goaziou
2018-01-31 22:55 ` Ludovic Courtès
2018-02-01 21:39   ` bug#30201: " Nicolas Goaziou

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.