unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
* [PATCH] gnu: Add denemo.
@ 2016-07-06 22:44 Kei Kebreau
  2016-07-07  7:14 ` Ricardo Wurmus
  0 siblings, 1 reply; 16+ messages in thread
From: Kei Kebreau @ 2016-07-06 22:44 UTC (permalink / raw)
  To: guix-devel


[-- Attachment #1.1: Type: text/plain, Size: 319 bytes --]


Hello all,

I've completed a patch for GNU Denemo, though it has one minor issue. At
the end of the build it complains about a musical flat symbol in one of the
filenames. The other files like it use a "b" in place of the flat
symbol. Should I patch it just for Guix, or go upstream with my concerns
for consistency?


[-- Attachment #1.2: patch for denemo --]
[-- Type: text/plain, Size: 2933 bytes --]

From ca3ebf7bebb4a62d1e1426f4bceead2d2edeff68 Mon Sep 17 00:00:00 2001
From: Kei Kebreau <kei@openmailbox.org>
Date: Wed, 6 Jul 2016 18:34:03 -0400
Subject: [PATCH] gnu: Add denemo.

* gnu/packages/music.scm: New variable.
---
 gnu/packages/music.scm | 59 ++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 59 insertions(+)

diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
index 91ba4be..bdf070e 100644
--- a/gnu/packages/music.scm
+++ b/gnu/packages/music.scm
@@ -224,6 +224,65 @@ score, keyboard, guitar, drum and controller views.")
 many input formats and provides a customisable Vi-style user interface.")
      (license license:gpl2+)))
 
+(define-public denemo
+  (package
+    (name "denemo")
+    (version "2.0.8")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "mirror://gnu/denemo/denemo-"
+                                  version ".tar.gz"))
+              (sha256
+               (base32
+                "0c12pa9fgal618agsv22hfwx1gd0pybbimn968q7ll7wyr2q9c95"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (replace 'check
+           (lambda _
+             (zero? (system* "make" "-C" "tests" "check")))))))
+    (native-inputs
+     `(("autoconf" ,autoconf)
+       ("automake" ,automake)
+       ("glib:bin", glib "bin")   ; for gtester
+       ("pkg-config" ,pkg-config)))
+    (inputs
+     `(("alsa-lib" ,alsa-lib)
+       ("aubio" ,aubio)
+       ("evince" ,evince)
+       ("fftw" ,fftw)
+       ("fluidsynth" ,fluidsynth)
+       ("glib" ,glib)
+       ("gtk+" ,gtk+)
+       ("gtk-doc" ,gtk-doc)
+       ("gtksourceview" ,gtksourceview)
+       ("guile" ,guile-2.0)
+       ("intltool" ,intltool)
+       ("librsvg" ,librsvg)
+       ("libsndfile" ,libsndfile)
+       ("libtool" ,libtool)
+       ("libxml2" ,libxml2)
+       ("lilypond" ,lilypond)
+       ("portaudio" ,portaudio)
+       ("portmidi" ,portmidi)
+       ("rubberband" ,rubberband)))
+    (synopsis "Graphical music notation, front-end to GNU Lilypond")
+    (description
+     "GNU Denemo is a music notation editor that provides a convenient
+interface to the powerful music engraving program Lilypond.  Music can be
+typed in using the computer keyboard, played in using a MIDI keyboard, or
+even input via a microphone connected to the sound card.  The final product
+is publication-quality music notation that is continuously generated in the
+background while you work.")
+    (home-page "http://www.denemo.org")
+    (license (list license:cc-by-sa3.0
+                   license:lgpl2.1+
+                   license:gpl2
+                   license:gpl2+
+                   license:gpl3
+                   license:gpl3+))))
+
 (define-public hydrogen
   (package
     (name "hydrogen")
-- 
2.9.0


[-- Attachment #1.3: Type: text/plain, Size: 44 bytes --]

-- 
Kei (GPG Key: 4096R/E6A5EE3C19467A0D)

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 818 bytes --]

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

* Re: [PATCH] gnu: Add denemo.
  2016-07-06 22:44 Kei Kebreau
@ 2016-07-07  7:14 ` Ricardo Wurmus
  2016-07-07 13:46   ` Kei Kebreau
  0 siblings, 1 reply; 16+ messages in thread
From: Ricardo Wurmus @ 2016-07-07  7:14 UTC (permalink / raw)
  To: Kei Kebreau; +Cc: guix-devel


Kei Kebreau <kei@openmailbox.org> writes:

> Hello all,
>
> I've completed a patch for GNU Denemo, though it has one minor issue. At
> the end of the build it complains about a musical flat symbol in one of the
> filenames. The other files like it use a "b" in place of the flat
> symbol. Should I patch it just for Guix, or go upstream with my concerns
> for consistency?

What exactly complains about the character?  I think Guix should be able
to handle this just fine.  Renaming the file because of what looks like
a bug in Guix is not the right approach here.

(Incidentally, I have a similar problem with “find-files”, which
complains about files with non-ASCII characters in their name.)

~~ Ricardo

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

* Re: [PATCH] gnu: Add denemo.
  2016-07-07  7:14 ` Ricardo Wurmus
@ 2016-07-07 13:46   ` Kei Kebreau
  2016-07-08  6:45     ` Ricardo Wurmus
  0 siblings, 1 reply; 16+ messages in thread
From: Kei Kebreau @ 2016-07-07 13:46 UTC (permalink / raw)
  To: Ricardo Wurmus; +Cc: guix-devel

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

Ricardo Wurmus <rekado@elephly.net> writes:

> Kei Kebreau <kei@openmailbox.org> writes:
>
>> Hello all,
>>
>> I've completed a patch for GNU Denemo, though it has one minor issue. At
>> the end of the build it complains about a musical flat symbol in one of the
>> filenames. The other files like it use a "b" in place of the flat
>> symbol. Should I patch it just for Guix, or go upstream with my concerns
>> for consistency?
>
> What exactly complains about the character?  I think Guix should be able
> to handle this just fine.  Renaming the file because of what looks like
> a bug in Guix is not the right approach here.
>
> (Incidentally, I have a similar problem with “find-files”, which
> complains about files with non-ASCII characters in their name.)
>
> ~~ Ricardo
>

I just checked. The issue is "find-files." Have you come up with a
solution to the issue, or is it just a bug in Guix that needs to be fixed?

-- 
Kei (GPG Key: 4096R/E6A5EE3C19467A0D)

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 818 bytes --]

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

* Re: [PATCH] gnu: Add denemo.
  2016-07-07 13:46   ` Kei Kebreau
@ 2016-07-08  6:45     ` Ricardo Wurmus
  2016-07-10 15:34       ` Kei Kebreau
  2016-07-16 18:50       ` Kei Kebreau
  0 siblings, 2 replies; 16+ messages in thread
From: Ricardo Wurmus @ 2016-07-08  6:45 UTC (permalink / raw)
  To: Kei Kebreau; +Cc: guix-devel


Kei Kebreau <kei@openmailbox.org> writes:

> Ricardo Wurmus <rekado@elephly.net> writes:
>
>> Kei Kebreau <kei@openmailbox.org> writes:
>>
>>> Hello all,
>>>
>>> I've completed a patch for GNU Denemo, though it has one minor issue. At
>>> the end of the build it complains about a musical flat symbol in one of the
>>> filenames. The other files like it use a "b" in place of the flat
>>> symbol. Should I patch it just for Guix, or go upstream with my concerns
>>> for consistency?
>>
>> What exactly complains about the character?  I think Guix should be able
>> to handle this just fine.  Renaming the file because of what looks like
>> a bug in Guix is not the right approach here.
>>
>> (Incidentally, I have a similar problem with “find-files”, which
>> complains about files with non-ASCII characters in their name.)
>>
>> ~~ Ricardo
>>
>
> I just checked. The issue is "find-files." Have you come up with a
> solution to the issue, or is it just a bug in Guix that needs to be fixed?

In my case it was because I used the “trivial-build-system”.  Unlike the
“gnu-build-system” it does not have a build phase which installs a UTF-8
locale.  The way around it was to reuse the locale setting code in the
“install-locale” phase.

This probably won’t help you as you are already using the
“gnu-build-system” so the build phases should run in a UTF-8 locale.
Could it be that the file is not UTF-8 encoded and you really need some
other encoding?

~~ Ricardo

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

* Re: [PATCH] gnu: Add denemo.
  2016-07-08  6:45     ` Ricardo Wurmus
@ 2016-07-10 15:34       ` Kei Kebreau
  2016-07-16 18:50       ` Kei Kebreau
  1 sibling, 0 replies; 16+ messages in thread
From: Kei Kebreau @ 2016-07-10 15:34 UTC (permalink / raw)
  To: Ricardo Wurmus; +Cc: guix-devel

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

Ricardo Wurmus <rekado@elephly.net> writes:

> Kei Kebreau <kei@openmailbox.org> writes:
>
>> Ricardo Wurmus <rekado@elephly.net> writes:
>>
>>> Kei Kebreau <kei@openmailbox.org> writes:
>>>
>>>> Hello all,
>>>>
>>>> I've completed a patch for GNU Denemo, though it has one minor issue. At
>>>> the end of the build it complains about a musical flat symbol in one of the
>>>> filenames. The other files like it use a "b" in place of the flat
>>>> symbol. Should I patch it just for Guix, or go upstream with my concerns
>>>> for consistency?
>>>
>>> What exactly complains about the character?  I think Guix should be able
>>> to handle this just fine.  Renaming the file because of what looks like
>>> a bug in Guix is not the right approach here.
>>>
>>> (Incidentally, I have a similar problem with “find-files”, which
>>> complains about files with non-ASCII characters in their name.)
>>>
>>> ~~ Ricardo
>>>
>>
>> I just checked. The issue is "find-files." Have you come up with a
>> solution to the issue, or is it just a bug in Guix that needs to be fixed?
>
> In my case it was because I used the “trivial-build-system”.  Unlike the
> “gnu-build-system” it does not have a build phase which installs a UTF-8
> locale.  The way around it was to reuse the locale setting code in the
> “install-locale” phase.
>
> This probably won’t help you as you are already using the
> “gnu-build-system” so the build phases should run in a UTF-8 locale.
> Could it be that the file is not UTF-8 encoded and you really need some
> other encoding?
>
> ~~ Ricardo
>

The file is UTF-8 encoded (according to the file command), so I don't
know why it would show the warning. Guix ultimately doesn't install the
file to the store, which is why this is an issue.

-- 
Kei (GPG Key: 4096R/E6A5EE3C19467A0D)

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 818 bytes --]

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

* Re: [PATCH] gnu: Add denemo.
  2016-07-08  6:45     ` Ricardo Wurmus
  2016-07-10 15:34       ` Kei Kebreau
@ 2016-07-16 18:50       ` Kei Kebreau
  2016-07-16 19:13         ` Ricardo Wurmus
  1 sibling, 1 reply; 16+ messages in thread
From: Kei Kebreau @ 2016-07-16 18:50 UTC (permalink / raw)
  To: Ricardo Wurmus; +Cc: guix-devel

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

Ricardo Wurmus <rekado@elephly.net> writes:

> Kei Kebreau <kei@openmailbox.org> writes:
>
>> Ricardo Wurmus <rekado@elephly.net> writes:
>>
>>> Kei Kebreau <kei@openmailbox.org> writes:
>>>
>>>> Hello all,
>>>>
>>>> I've completed a patch for GNU Denemo, though it has one minor issue. At
>>>> the end of the build it complains about a musical flat symbol in one of the
>>>> filenames. The other files like it use a "b" in place of the flat
>>>> symbol. Should I patch it just for Guix, or go upstream with my concerns
>>>> for consistency?
>>>
>>> What exactly complains about the character?  I think Guix should be able
>>> to handle this just fine.  Renaming the file because of what looks like
>>> a bug in Guix is not the right approach here.
>>>
>>> (Incidentally, I have a similar problem with “find-files”, which
>>> complains about files with non-ASCII characters in their name.)
>>>
>>> ~~ Ricardo
>>>
>>
>> I just checked. The issue is "find-files." Have you come up with a
>> solution to the issue, or is it just a bug in Guix that needs to be fixed?
>
> In my case it was because I used the “trivial-build-system”.  Unlike the
> “gnu-build-system” it does not have a build phase which installs a UTF-8
> locale.  The way around it was to reuse the locale setting code in the
> “install-locale” phase.
>
> This probably won’t help you as you are already using the
> “gnu-build-system” so the build phases should run in a UTF-8 locale.
> Could it be that the file is not UTF-8 encoded and you really need some
> other encoding?
>
> ~~ Ricardo
>

If it helps, the issue with find-files only occurs during grafting. Do
you suppose this could be a bug in the Guix's grafting code?

-- 
Kei (GPG Key: 4096R/E6A5EE3C19467A0D)

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 818 bytes --]

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

* Re: [PATCH] gnu: Add denemo.
  2016-07-16 18:50       ` Kei Kebreau
@ 2016-07-16 19:13         ` Ricardo Wurmus
  2016-07-16 20:02           ` Kei Kebreau
  0 siblings, 1 reply; 16+ messages in thread
From: Ricardo Wurmus @ 2016-07-16 19:13 UTC (permalink / raw)
  To: Kei Kebreau; +Cc: guix-devel


Kei Kebreau <kei@openmailbox.org> writes:

> Ricardo Wurmus <rekado@elephly.net> writes:
>
>> Kei Kebreau <kei@openmailbox.org> writes:
>>
>>> Ricardo Wurmus <rekado@elephly.net> writes:
>>>
>>>> Kei Kebreau <kei@openmailbox.org> writes:
>>>>
>>>>> Hello all,
>>>>>
>>>>> I've completed a patch for GNU Denemo, though it has one minor issue. At
>>>>> the end of the build it complains about a musical flat symbol in one of the
>>>>> filenames. The other files like it use a "b" in place of the flat
>>>>> symbol. Should I patch it just for Guix, or go upstream with my concerns
>>>>> for consistency?
>>>>
>>>> What exactly complains about the character?  I think Guix should be able
>>>> to handle this just fine.  Renaming the file because of what looks like
>>>> a bug in Guix is not the right approach here.
>>>>
>>>> (Incidentally, I have a similar problem with “find-files”, which
>>>> complains about files with non-ASCII characters in their name.)
>>>>
>>>> ~~ Ricardo
>>>>
>>>
>>> I just checked. The issue is "find-files." Have you come up with a
>>> solution to the issue, or is it just a bug in Guix that needs to be fixed?
>>
>> In my case it was because I used the “trivial-build-system”.  Unlike the
>> “gnu-build-system” it does not have a build phase which installs a UTF-8
>> locale.  The way around it was to reuse the locale setting code in the
>> “install-locale” phase.
>>
>> This probably won’t help you as you are already using the
>> “gnu-build-system” so the build phases should run in a UTF-8 locale.
>> Could it be that the file is not UTF-8 encoded and you really need some
>> other encoding?
>>
>> ~~ Ricardo
>>
>
> If it helps, the issue with find-files only occurs during grafting. Do
> you suppose this could be a bug in the Guix's grafting code?

I don’t understand what this means.  Grafting happens *after* the build
and is independent, no?  How can this have any effect on the behaviour
of “find-files” then?

Have you checked that there is no error when grafts are disabled?

~~ Ricardo

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

* Re: [PATCH] gnu: Add denemo.
  2016-07-16 19:13         ` Ricardo Wurmus
@ 2016-07-16 20:02           ` Kei Kebreau
  0 siblings, 0 replies; 16+ messages in thread
From: Kei Kebreau @ 2016-07-16 20:02 UTC (permalink / raw)
  To: Ricardo Wurmus; +Cc: guix-devel

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

Ricardo Wurmus <rekado@elephly.net> writes:

> Kei Kebreau <kei@openmailbox.org> writes:
>
>> Ricardo Wurmus <rekado@elephly.net> writes:
>>
>>> Kei Kebreau <kei@openmailbox.org> writes:
>>>
>>>> Ricardo Wurmus <rekado@elephly.net> writes:
>>>>
>>>>> Kei Kebreau <kei@openmailbox.org> writes:
>>>>>
>>>>>> Hello all,
>>>>>>
>>>>>> I've completed a patch for GNU Denemo, though it has one minor issue. At
>>>>>> the end of the build it complains about a musical flat symbol in one of the
>>>>>> filenames. The other files like it use a "b" in place of the flat
>>>>>> symbol. Should I patch it just for Guix, or go upstream with my concerns
>>>>>> for consistency?
>>>>>
>>>>> What exactly complains about the character?  I think Guix should be able
>>>>> to handle this just fine.  Renaming the file because of what looks like
>>>>> a bug in Guix is not the right approach here.
>>>>>
>>>>> (Incidentally, I have a similar problem with “find-files”, which
>>>>> complains about files with non-ASCII characters in their name.)
>>>>>
>>>>> ~~ Ricardo
>>>>>
>>>>
>>>> I just checked. The issue is "find-files." Have you come up with a
>>>> solution to the issue, or is it just a bug in Guix that needs to be fixed?
>>>
>>> In my case it was because I used the “trivial-build-system”.  Unlike the
>>> “gnu-build-system” it does not have a build phase which installs a UTF-8
>>> locale.  The way around it was to reuse the locale setting code in the
>>> “install-locale” phase.
>>>
>>> This probably won’t help you as you are already using the
>>> “gnu-build-system” so the build phases should run in a UTF-8 locale.
>>> Could it be that the file is not UTF-8 encoded and you really need some
>>> other encoding?
>>>
>>> ~~ Ricardo
>>>
>>
>> If it helps, the issue with find-files only occurs during grafting. Do
>> you suppose this could be a bug in the Guix's grafting code?
>
> I don’t understand what this means.  Grafting happens *after* the build
> and is independent, no?  How can this have any effect on the behaviour
> of “find-files” then?
>
> Have you checked that there is no error when grafts are disabled?
>
> ~~ Ricardo
>

There isn't any error when grafts are disabled, and the formerly missing
file is present. All I can gather is that when grafting is enabled the
build occurs without a hitch, grafting denemo begins, and the following
error appears:

  grafting '/gnu/store/1nb86mqssww679y2sg6iycab5qa76iid-denemo-2.0.8' ->
  '/gnu/store/jc552i8jh5fpdhsfkxwlhmsx8vh5gw3n-denemo-2.0.8'...

  find-files:
  /gnu/store/1nb86mqssww679y2sg6iycab5qa76iid-denemo-2.0.8/share/denemo/templates/
  instruments/woodwind/Clarinet in B???.denemo: No such file or directory

Where the "???" represents a ♭ symbol.

-- 
Kei (GPG Key: 4096R/E6A5EE3C19467A0D)

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 818 bytes --]

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

* [PATCH] gnu: Add denemo.
@ 2016-12-08 19:09 Kei Kebreau
  2016-12-09 21:43 ` Ludovic Courtès
  0 siblings, 1 reply; 16+ messages in thread
From: Kei Kebreau @ 2016-12-08 19:09 UTC (permalink / raw)
  To: guix-devel


[-- Attachment #1.1: Type: text/plain, Size: 487 bytes --]

Here is an updated patch for GNU Denemo.

Everything seems fine except for grafting (i.e. disabling grafting
renders the issue invisible). For some reason, "find-files"
does not recognize a file with a Unicode-encoded filename when called
inside "rename-matching-files" from guix/build/graft.scm. When
"find-files" is used on its own, the file is recognized properly.
Is anyone familiar with the grafting code available to help figure out
what is happening to the file name?

Thank you.

[-- Attachment #1.2: 0001-gnu-Add-denemo.patch --]
[-- Type: text/plain, Size: 2948 bytes --]

From 6bd5843bef06a02ecf1235090350562c8b096aca Mon Sep 17 00:00:00 2001
From: Kei Kebreau <kei@openmailbox.org>
Date: Thu, 8 Dec 2016 14:00:43 -0500
Subject: [PATCH] gnu: Add denemo.

* gnu/packages/music.scm (denemo): New variable.
---
 gnu/packages/music.scm | 59 ++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 59 insertions(+)

diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
index b0ed51298..296f7cfd3 100644
--- a/gnu/packages/music.scm
+++ b/gnu/packages/music.scm
@@ -231,6 +231,65 @@ score, keyboard, guitar, drum and controller views.")
 many input formats and provides a customisable Vi-style user interface.")
      (license license:gpl2+)))
 
+(define-public denemo
+  (package
+    (name "denemo")
+    (version "2.0.14")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "mirror://gnu/denemo/denemo-"
+                                  version ".tar.gz"))
+              (sha256
+               (base32
+                "1a7g38695g7jjypx25qp0dx0asrh72xwdj0mdhmb9pfyzlppq0wh"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (replace 'check
+           (lambda _
+             (zero? (system* "make" "-C" "tests" "check")))))))
+    (native-inputs
+     `(("autoconf" ,autoconf)
+       ("automake" ,automake)
+       ("glib:bin", glib "bin")   ; for gtester
+       ("pkg-config" ,pkg-config)))
+    (inputs
+     `(("alsa-lib" ,alsa-lib)
+       ("aubio" ,aubio)
+       ("evince" ,evince)
+       ("fftw" ,fftw)
+       ("fluidsynth" ,fluidsynth)
+       ("glib" ,glib)
+       ("gtk+" ,gtk+)
+       ("gtk-doc" ,gtk-doc)
+       ("gtksourceview" ,gtksourceview)
+       ("guile" ,guile-2.0)
+       ("intltool" ,intltool)
+       ("librsvg" ,librsvg)
+       ("libsndfile" ,libsndfile)
+       ("libtool" ,libtool)
+       ("libxml2" ,libxml2)
+       ("lilypond" ,lilypond)
+       ("portaudio" ,portaudio)
+       ("portmidi" ,portmidi)
+       ("rubberband" ,rubberband)))
+    (synopsis "Graphical music notation, front-end to GNU Lilypond")
+    (description
+     "GNU Denemo is a music notation editor that provides a convenient
+interface to the powerful music engraving program Lilypond.  Music can be
+typed in using the computer keyboard, played in using a MIDI keyboard, or
+even input via a microphone connected to the sound card.  The final product
+is publication-quality music notation that is continuously generated in the
+background while you work.")
+    (home-page "http://www.denemo.org")
+    (license (list license:cc-by-sa3.0
+                   license:lgpl2.1+
+                   license:gpl2
+                   license:gpl2+
+                   license:gpl3
+                   license:gpl3+))))
+
 (define-public hydrogen
   (package
     (name "hydrogen")
-- 
2.11.0


[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 832 bytes --]

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

* Re: [PATCH] gnu: Add denemo.
  2016-12-08 19:09 [PATCH] gnu: Add denemo Kei Kebreau
@ 2016-12-09 21:43 ` Ludovic Courtès
  2016-12-09 22:33   ` Ludovic Courtès
  2016-12-10  3:09   ` Kei Kebreau
  0 siblings, 2 replies; 16+ messages in thread
From: Ludovic Courtès @ 2016-12-09 21:43 UTC (permalink / raw)
  To: Kei Kebreau; +Cc: guix-devel

Kei Kebreau <kei@openmailbox.org> skribis:

> Here is an updated patch for GNU Denemo.

Nice work!

> Everything seems fine except for grafting (i.e. disabling grafting
> renders the issue invisible). For some reason, "find-files"
> does not recognize a file with a Unicode-encoded filename when called
> inside "rename-matching-files" from guix/build/graft.scm. When
> "find-files" is used on its own, the file is recognized properly.
> Is anyone familiar with the grafting code available to help figure out
> what is happening to the file name?

Problem is that the grafting code (‘graft-derivation/shallow’ in (guix
grafts)) is running in the C locale, so it expects file names to be
ASCII.  I’ll look into it.

Some comments on the package:

> From 6bd5843bef06a02ecf1235090350562c8b096aca Mon Sep 17 00:00:00 2001
> From: Kei Kebreau <kei@openmailbox.org>
> Date: Thu, 8 Dec 2016 14:00:43 -0500
> Subject: [PATCH] gnu: Add denemo.
>
> * gnu/packages/music.scm (denemo): New variable.

[...]

> +    (arguments
> +     `(#:phases
> +       (modify-phases %standard-phases
> +         (replace 'check
> +           (lambda _
> +             (zero? (system* "make" "-C" "tests" "check")))))))

Is this really needed?  Perhaps leave a comment explaining whether/why
“make check” at the top level is broken (and perhaps report it as a bug
upstream!).

> +    (native-inputs
> +     `(("autoconf" ,autoconf)
> +       ("automake" ,automake)

This is not needed (or it’s a bug too ;-)).

> +    (license (list license:cc-by-sa3.0
> +                   license:lgpl2.1+
> +                   license:gpl2
> +                   license:gpl2+
> +                   license:gpl3
> +                   license:gpl3+))))

I think ‘gpl3+’ is enough here since it “wins”.  You can leave a comment
explaining where the other licenses appear, though.

Thanks!

Ludo’.

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

* Re: [PATCH] gnu: Add denemo.
  2016-12-09 21:43 ` Ludovic Courtès
@ 2016-12-09 22:33   ` Ludovic Courtès
  2016-12-10  3:09   ` Kei Kebreau
  1 sibling, 0 replies; 16+ messages in thread
From: Ludovic Courtès @ 2016-12-09 22:33 UTC (permalink / raw)
  To: Kei Kebreau; +Cc: guix-devel

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

> Kei Kebreau <kei@openmailbox.org> skribis:

[...]

>> Everything seems fine except for grafting (i.e. disabling grafting
>> renders the issue invisible). For some reason, "find-files"
>> does not recognize a file with a Unicode-encoded filename when called
>> inside "rename-matching-files" from guix/build/graft.scm. When
>> "find-files" is used on its own, the file is recognized properly.
>> Is anyone familiar with the grafting code available to help figure out
>> what is happening to the file name?
>
> Problem is that the grafting code (‘graft-derivation/shallow’ in (guix
> grafts)) is running in the C locale, so it expects file names to be
> ASCII.  I’ll look into it.

Looking closer into it, may I suggest renaming the file in question?
:-)

The real fix would be for ‘graft-derivation/shallow’ to return a
dependency that depends on ‘glibc-utf8-locales’, but that can create
bootstrapping issues (also we don’t want unit tests to trigger a build
of ‘glibc-utf8-locales’ and everything before that).

Ludo’.

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

* Re: [PATCH] gnu: Add denemo.
  2016-12-09 21:43 ` Ludovic Courtès
  2016-12-09 22:33   ` Ludovic Courtès
@ 2016-12-10  3:09   ` Kei Kebreau
  2016-12-11  0:04     ` Ludovic Courtès
  2016-12-11  9:07     ` Ricardo Wurmus
  1 sibling, 2 replies; 16+ messages in thread
From: Kei Kebreau @ 2016-12-10  3:09 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: guix-devel


[-- Attachment #1.1: Type: text/plain, Size: 2729 bytes --]

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

> Kei Kebreau <kei@openmailbox.org> skribis:
>
>> Here is an updated patch for GNU Denemo.
>
> Nice work!
>

Thank you! :)

>> Everything seems fine except for grafting (i.e. disabling grafting
>> renders the issue invisible). For some reason, "find-files"
>> does not recognize a file with a Unicode-encoded filename when called
>> inside "rename-matching-files" from guix/build/graft.scm. When
>> "find-files" is used on its own, the file is recognized properly.
>> Is anyone familiar with the grafting code available to help figure out
>> what is happening to the file name?
>
> Problem is that the grafting code (‘graft-derivation/shallow’ in (guix
> grafts)) is running in the C locale, so it expects file names to be
> ASCII.  I’ll look into it.
>

I saw your email about renaming the file with the Unicode name. Your
method worked fine.

> Some comments on the package:
>
>> From 6bd5843bef06a02ecf1235090350562c8b096aca Mon Sep 17 00:00:00 2001
>> From: Kei Kebreau <kei@openmailbox.org>
>> Date: Thu, 8 Dec 2016 14:00:43 -0500
>> Subject: [PATCH] gnu: Add denemo.
>>
>> * gnu/packages/music.scm (denemo): New variable.
>
> [...]
>
>> +    (arguments
>> +     `(#:phases
>> +       (modify-phases %standard-phases
>> +         (replace 'check
>> +           (lambda _
>> +             (zero? (system* "make" "-C" "tests" "check")))))))
>
> Is this really needed?  Perhaps leave a comment explaining whether/why
> “make check” at the top level is broken (and perhaps report it as a bug
> upstream!).
>

Maybe because upstream doesn't test it? Denemo documentation says to use
this command to run the testsuite
(http://denemo.org/hacking-sources/#Test_suite). I've added a comment
explaining that.

>> +    (native-inputs
>> +     `(("autoconf" ,autoconf)
>> +       ("automake" ,automake)
>
> This is not needed (or it’s a bug too ;-)).
>

Indeed it is not. I've removed these inputs from the new patch. As a
side note, lilypond was required as a runtime dependency so I moved it
to propagated-inputs.

>> +    (license (list license:cc-by-sa3.0
>> +                   license:lgpl2.1+
>> +                   license:gpl2
>> +                   license:gpl2+
>> +                   license:gpl3
>> +                   license:gpl3+))))
>
> I think ‘gpl3+’ is enough here since it “wins”.  You can leave a comment
> explaining where the other licenses appear, though.
>

Looking over the plethora of libre licenses included in the source, I
decided to just use the overarching gpl3+ from COPYING.

> Thanks!
>

Thank you for the review! The new patch is attached.

> Ludo’.

[-- Attachment #1.2: 0001-gnu-Add-denemo.patch --]
[-- Type: text/plain, Size: 3543 bytes --]

From 656a59ee358362a9c3ec9b98f8e1a8cd1dc28b7f Mon Sep 17 00:00:00 2001
From: Kei Kebreau <kei@openmailbox.org>
Date: Fri, 9 Dec 2016 21:58:08 -0500
Subject: [PATCH] gnu: Add denemo.

* gnu/packages/music.scm (denemo): New variable.
---
 gnu/packages/music.scm | 68 ++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 68 insertions(+)

diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
index 34beb09f4..116e8d482 100644
--- a/gnu/packages/music.scm
+++ b/gnu/packages/music.scm
@@ -231,6 +231,74 @@ score, keyboard, guitar, drum and controller views.")
 many input formats and provides a customisable Vi-style user interface.")
      (license license:gpl2+)))
 
+(define-public denemo
+  (package
+    (name "denemo")
+    (version "2.0.14")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "mirror://gnu/denemo/denemo-"
+                                  version ".tar.gz"))
+              (sha256
+               (base32
+                "1a7g38695g7jjypx25qp0dx0asrh72xwdj0mdhmb9pfyzlppq0wh"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (replace 'check
+           ;; Denemo's documentation says to use this command to run its
+           ;; testsuite.
+           (lambda _
+             (zero? (system* "make" "-C" "tests" "check"))))
+         (add-after 'install 'correct-filename
+           ;; "graft-derivation/shallow" from the (guix grafts) module runs in
+           ;; the C locale, expecting file names to be ASCII encoded. This
+           ;; phase renames a filename with a Unicode character in it to meet
+           ;; the aforementioned condition.
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out")))
+               (chdir (string-append
+                       out
+                       "/share/denemo/templates/instruments/woodwind"))
+               (rename-file "Clarinet in B♭.denemo"
+                            "Clarinet in Bb.denemo"))
+             #t)))))
+    (native-inputs
+     `(("glib:bin", glib "bin")   ; for gtester
+       ("pkg-config" ,pkg-config)))
+    (inputs
+     `(("alsa-lib" ,alsa-lib)
+       ("aubio" ,aubio)
+       ("evince" ,evince)
+       ("fftw" ,fftw)
+       ("fluidsynth" ,fluidsynth)
+       ("glib" ,glib)
+       ("gtk+" ,gtk+)
+       ("gtk-doc" ,gtk-doc)
+       ("gtksourceview" ,gtksourceview)
+       ("guile" ,guile-2.0)
+       ("intltool" ,intltool)
+       ("librsvg" ,librsvg)
+       ("libsndfile" ,libsndfile)
+       ("libtool" ,libtool)
+       ("libxml2" ,libxml2)
+       ("portaudio" ,portaudio)
+       ("portmidi" ,portmidi)
+       ("rubberband" ,rubberband)))
+    (propagated-inputs
+     `(("lilypond", lilypond)))
+    (synopsis "Graphical music notation, front-end to GNU Lilypond")
+    (description
+     "GNU Denemo is a music notation editor that provides a convenient
+interface to the powerful music engraving program Lilypond.  Music can be
+typed in using the computer keyboard, played in using a MIDI keyboard, or
+even input via a microphone connected to the sound card.  The final product
+is publication-quality music notation that is continuously generated in the
+background while you work.")
+    (home-page "http://www.denemo.org")
+    (license license:gpl3+)))
+
 (define-public hydrogen
   (package
     (name "hydrogen")
-- 
2.11.0


[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 832 bytes --]

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

* Re: [PATCH] gnu: Add denemo.
  2016-12-10  3:09   ` Kei Kebreau
@ 2016-12-11  0:04     ` Ludovic Courtès
  2016-12-11  9:07     ` Ricardo Wurmus
  1 sibling, 0 replies; 16+ messages in thread
From: Ludovic Courtès @ 2016-12-11  0:04 UTC (permalink / raw)
  To: Kei Kebreau; +Cc: guix-devel

Kei Kebreau <kei@openmailbox.org> skribis:

> From 656a59ee358362a9c3ec9b98f8e1a8cd1dc28b7f Mon Sep 17 00:00:00 2001
> From: Kei Kebreau <kei@openmailbox.org>
> Date: Fri, 9 Dec 2016 21:58:08 -0500
> Subject: [PATCH] gnu: Add denemo.
>
> * gnu/packages/music.scm (denemo): New variable.

Perfect, thank you!

Ludo’.

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

* Re: [PATCH] gnu: Add denemo.
  2016-12-10  3:09   ` Kei Kebreau
  2016-12-11  0:04     ` Ludovic Courtès
@ 2016-12-11  9:07     ` Ricardo Wurmus
  2016-12-11 22:49       ` Kei Kebreau
  1 sibling, 1 reply; 16+ messages in thread
From: Ricardo Wurmus @ 2016-12-11  9:07 UTC (permalink / raw)
  To: Kei Kebreau; +Cc: guix-devel


Kei Kebreau <kei@openmailbox.org> writes:

> Indeed it is not. I've removed these inputs from the new patch. As a
> side note, lilypond was required as a runtime dependency so I moved it
> to propagated-inputs.

Do you think it would be possible to patch the sources to refer to the
Lilypond executable instead of propagating the input?

-- 
Ricardo

GPG: BCA6 89B6 3655 3801 C3C6  2150 197A 5888 235F ACAC
http://elephly.net

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

* Re: [PATCH] gnu: Add denemo.
  2016-12-11  9:07     ` Ricardo Wurmus
@ 2016-12-11 22:49       ` Kei Kebreau
  2016-12-12  6:32         ` Ricardo Wurmus
  0 siblings, 1 reply; 16+ messages in thread
From: Kei Kebreau @ 2016-12-11 22:49 UTC (permalink / raw)
  To: Ricardo Wurmus; +Cc: guix-devel


[-- Attachment #1.1: Type: text/plain, Size: 439 bytes --]

Ricardo Wurmus <rekado@elephly.net> writes:

> Kei Kebreau <kei@openmailbox.org> writes:
>
>> Indeed it is not. I've removed these inputs from the new patch. As a
>> side note, lilypond was required as a runtime dependency so I moved it
>> to propagated-inputs.
>
> Do you think it would be possible to patch the sources to refer to the
> Lilypond executable instead of propagating the input?

Good idea! Does this patch look good to you?

[-- Attachment #1.2: 0001-gnu-denemo-Change-default-preferences-to-use-the-alr.patch --]
[-- Type: text/plain, Size: 2258 bytes --]

From a52e6b330b6bd9f136d9c3c750b5c6dff0306ee0 Mon Sep 17 00:00:00 2001
From: Kei Kebreau <kei@openmailbox.org>
Date: Sun, 11 Dec 2016 17:23:32 -0500
Subject: [PATCH] gnu: denemo: Change default preferences to use the
 already-present lilypond.

* gnu/packages/music.scm (denemo)[progpagated-inputs]: Move lilypond to ...
[inputs]: ... here.
[phases]: New phase set-lilypond.
---
 gnu/packages/music.scm | 15 +++++++++++++--
 1 file changed, 13 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
index 116e8d482..4297f846f 100644
--- a/gnu/packages/music.scm
+++ b/gnu/packages/music.scm
@@ -251,6 +251,18 @@ many input formats and provides a customisable Vi-style user interface.")
            ;; testsuite.
            (lambda _
              (zero? (system* "make" "-C" "tests" "check"))))
+         (add-before 'build 'set-lilypond
+           ;; This phase sets the default path for lilypond to its current
+           ;; location in the store.
+           (lambda* (#:key inputs #:allow-other-keys)
+             (let* ((lilypond (string-append (assoc-ref inputs "lilypond")
+                                             "/bin/lilypond")))
+               (substitute* "src/core/prefops.c"
+                 (("g_string_new \\(\"lilypond\"\\);")
+                  (string-append "g_string_new (\""
+                                 lilypond
+                                 "\");"))))
+             #t))
          (add-after 'install 'correct-filename
            ;; "graft-derivation/shallow" from the (guix grafts) module runs in
            ;; the C locale, expecting file names to be ASCII encoded. This
@@ -283,11 +295,10 @@ many input formats and provides a customisable Vi-style user interface.")
        ("libsndfile" ,libsndfile)
        ("libtool" ,libtool)
        ("libxml2" ,libxml2)
+       ("lilypond", lilypond)
        ("portaudio" ,portaudio)
        ("portmidi" ,portmidi)
        ("rubberband" ,rubberband)))
-    (propagated-inputs
-     `(("lilypond", lilypond)))
     (synopsis "Graphical music notation, front-end to GNU Lilypond")
     (description
      "GNU Denemo is a music notation editor that provides a convenient
-- 
2.11.0


[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 832 bytes --]

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

* Re: [PATCH] gnu: Add denemo.
  2016-12-11 22:49       ` Kei Kebreau
@ 2016-12-12  6:32         ` Ricardo Wurmus
  0 siblings, 0 replies; 16+ messages in thread
From: Ricardo Wurmus @ 2016-12-12  6:32 UTC (permalink / raw)
  To: Kei Kebreau; +Cc: guix-devel


Kei Kebreau <kei@openmailbox.org> writes:

> Ricardo Wurmus <rekado@elephly.net> writes:
>
>> Kei Kebreau <kei@openmailbox.org> writes:
>>
>>> Indeed it is not. I've removed these inputs from the new patch. As a
>>> side note, lilypond was required as a runtime dependency so I moved it
>>> to propagated-inputs.
>>
>> Do you think it would be possible to patch the sources to refer to the
>> Lilypond executable instead of propagating the input?
>
> Good idea! Does this patch look good to you?

Yes, thank you!

-- 
Ricardo
  
  GPG: BCA6 89B6 3655 3801 C3C6  2150 197A 5888 235F ACAC
  http://elephly.net

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

end of thread, other threads:[~2016-12-12  7:05 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-12-08 19:09 [PATCH] gnu: Add denemo Kei Kebreau
2016-12-09 21:43 ` Ludovic Courtès
2016-12-09 22:33   ` Ludovic Courtès
2016-12-10  3:09   ` Kei Kebreau
2016-12-11  0:04     ` Ludovic Courtès
2016-12-11  9:07     ` Ricardo Wurmus
2016-12-11 22:49       ` Kei Kebreau
2016-12-12  6:32         ` Ricardo Wurmus
  -- strict thread matches above, loose matches on Subject: below --
2016-07-06 22:44 Kei Kebreau
2016-07-07  7:14 ` Ricardo Wurmus
2016-07-07 13:46   ` Kei Kebreau
2016-07-08  6:45     ` Ricardo Wurmus
2016-07-10 15:34       ` Kei Kebreau
2016-07-16 18:50       ` Kei Kebreau
2016-07-16 19:13         ` Ricardo Wurmus
2016-07-16 20:02           ` Kei Kebreau

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).