unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
* [PATCH] Add Aria Maestosa
@ 2016-03-28 14:54 Ricardo Wurmus
  2016-04-03 19:41 ` Efraim Flashner
  0 siblings, 1 reply; 2+ messages in thread
From: Ricardo Wurmus @ 2016-03-28 14:54 UTC (permalink / raw)
  To: guix-devel

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

Hi Guix,

this patch adds a MIDI score editor.  It depends on this change to
wxwidgets:

    http://lists.gnu.org/archive/html/guix-devel/2016-03/msg01165.html

~~ Ricardo


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-gnu-Add-Aria-Maestosa.patch --]
[-- Type: text/x-patch, Size: 3862 bytes --]

From d7b316fc86eefa8bfa8ecb51f5a471c0e720c31f Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus <rekado@elephly.net>
Date: Mon, 28 Mar 2016 16:52:50 +0200
Subject: [PATCH] gnu: Add Aria Maestosa.

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

diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
index adda16a..bbb9e68 100644
--- a/gnu/packages/music.scm
+++ b/gnu/packages/music.scm
@@ -83,12 +83,79 @@
   #:use-module (gnu packages texlive)
   #:use-module (gnu packages video)
   #:use-module (gnu packages web)
+  #:use-module (gnu packages wxwidgets)
   #:use-module (gnu packages xml)
   #:use-module (gnu packages xorg)
   #:use-module (gnu packages xiph)
   #:use-module (gnu packages zip)
   #:use-module ((srfi srfi-1) #:select (last)))
 
+(define-public aria-maestosa
+  (package
+    (name "aria-maestosa")
+    (version "1.4.11")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "mirror://sourceforge/ariamaestosa/ariamaestosa/"
+                                  version "/AriaSrc-" version ".tar.bz2"))
+              (sha256
+               (base32
+                "0gf9z96z83jiabxhpl856j15vl9flfgs6x1r0r6hc7g2xvwag0vy"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:tests? #f  ;no tests
+       #:phases
+       ;; TODO: Add scons-build-system and use it here.
+       (modify-phases %standard-phases
+         (delete 'configure)
+         (add-after 'unpack 'scons-propagate-environment
+           (lambda _
+             ;; By design, SCons does not, by default, propagate
+             ;; environment variables to subprocesses.  See:
+             ;; <http://comments.gmane.org/gmane.linux.distributions.nixos/4969>
+             ;; Here, we modify the SConstruct file to arrange for
+             ;; environment variables to be propagated.
+             (substitute* "SConstruct"
+               (("env = Environment\\(\\)")
+                "env = Environment(ENV=os.environ)")
+               ;; Scons errors out when copying subdirectories from Resources,
+               ;; so we move them instead.
+               (("Copy") "Move")
+               ;; We move the "score" and "Documentation" directories at once,
+               ;; so we have to ignore files contained therein.
+               (("if \".svn\" in file" line)
+                (string-append line
+                               " or \"score/\" in file"
+                               " or \"Documentation/\" in file")))
+             #t))
+         (replace 'build (lambda _ (zero? (system* "scons"))))
+         (replace 'install
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let ((out (assoc-ref outputs "out")))
+               (and
+                (zero? (system* "scons"
+                                (string-append "prefix=" out)
+                                "install"))
+                ;; Fix directory permissions
+                (begin
+                  (chmod (string-append out "/share/Aria/Documentation") #o555)
+                  (chmod (string-append out "/share/Aria/score") #o555)
+                  #t))))))))
+    (inputs
+     `(("wxwidgets" ,wxwidgets)
+       ("glib" ,glib)
+       ("alsa-lib" ,alsa-lib)))
+    (native-inputs
+     `(("scons" ,scons)
+       ("pkg-config" ,pkg-config)))
+    (home-page "http://ariamaestosa.sourceforge.net/")
+    (synopsis "MIDI sequencer and editor")
+    (description
+     "Aria Maestosa is a MIDI sequencer and editor.  It lets you compose, edit
+and play MIDI files with a few clicks in a user-friendly interface offering
+score, keyboard, guitar, drum and controller views.")
+    (license license:gpl3+)))
+
 (define-public cmus
   (package
     (name "cmus")
-- 
2.7.3


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

* Re: [PATCH] Add Aria Maestosa
  2016-03-28 14:54 [PATCH] Add Aria Maestosa Ricardo Wurmus
@ 2016-04-03 19:41 ` Efraim Flashner
  0 siblings, 0 replies; 2+ messages in thread
From: Efraim Flashner @ 2016-04-03 19:41 UTC (permalink / raw)
  To: Ricardo Wurmus; +Cc: guix-devel

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

On Mon, Mar 28, 2016 at 04:54:47PM +0200, Ricardo Wurmus wrote:
> Hi Guix,
> 
> this patch adds a MIDI score editor.  It depends on this change to
> wxwidgets:
> 
>     http://lists.gnu.org/archive/html/guix-devel/2016-03/msg01165.html
> 
> ~~ Ricardo
> 

> From d7b316fc86eefa8bfa8ecb51f5a471c0e720c31f Mon Sep 17 00:00:00 2001
> From: Ricardo Wurmus <rekado@elephly.net>
> Date: Mon, 28 Mar 2016 16:52:50 +0200
> Subject: [PATCH] gnu: Add Aria Maestosa.
> 
> * gnu/packages/music.scm (aria-maestosa): New variable.
> ---
>  gnu/packages/music.scm | 67 ++++++++++++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 67 insertions(+)
> 
> diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
> index adda16a..bbb9e68 100644
> --- a/gnu/packages/music.scm
> +++ b/gnu/packages/music.scm
> @@ -83,12 +83,79 @@
>    #:use-module (gnu packages texlive)
>    #:use-module (gnu packages video)
>    #:use-module (gnu packages web)
> +  #:use-module (gnu packages wxwidgets)
>    #:use-module (gnu packages xml)
>    #:use-module (gnu packages xorg)
>    #:use-module (gnu packages xiph)
>    #:use-module (gnu packages zip)
>    #:use-module ((srfi srfi-1) #:select (last)))
>  
> +(define-public aria-maestosa
> +  (package
> +    (name "aria-maestosa")
> +    (version "1.4.11")
> +    (source (origin
> +              (method url-fetch)
> +              (uri (string-append "mirror://sourceforge/ariamaestosa/ariamaestosa/"
> +                                  version "/AriaSrc-" version ".tar.bz2"))
> +              (sha256
> +               (base32
> +                "0gf9z96z83jiabxhpl856j15vl9flfgs6x1r0r6hc7g2xvwag0vy"))))
> +    (build-system gnu-build-system)
> +    (arguments
> +     `(#:tests? #f  ;no tests
> +       #:phases
> +       ;; TODO: Add scons-build-system and use it here.
> +       (modify-phases %standard-phases
> +         (delete 'configure)
> +         (add-after 'unpack 'scons-propagate-environment
> +           (lambda _
> +             ;; By design, SCons does not, by default, propagate
> +             ;; environment variables to subprocesses.  See:
> +             ;; <http://comments.gmane.org/gmane.linux.distributions.nixos/4969>
> +             ;; Here, we modify the SConstruct file to arrange for
> +             ;; environment variables to be propagated.
> +             (substitute* "SConstruct"
> +               (("env = Environment\\(\\)")
> +                "env = Environment(ENV=os.environ)")
> +               ;; Scons errors out when copying subdirectories from Resources,
> +               ;; so we move them instead.
> +               (("Copy") "Move")
> +               ;; We move the "score" and "Documentation" directories at once,
> +               ;; so we have to ignore files contained therein.
> +               (("if \".svn\" in file" line)
> +                (string-append line
> +                               " or \"score/\" in file"
> +                               " or \"Documentation/\" in file")))
> +             #t))
> +         (replace 'build (lambda _ (zero? (system* "scons"))))
> +         (replace 'install
> +           (lambda* (#:key outputs #:allow-other-keys)
> +             (let ((out (assoc-ref outputs "out")))
> +               (and
> +                (zero? (system* "scons"
> +                                (string-append "prefix=" out)
> +                                "install"))
> +                ;; Fix directory permissions
> +                (begin
> +                  (chmod (string-append out "/share/Aria/Documentation") #o555)
> +                  (chmod (string-append out "/share/Aria/score") #o555)
> +                  #t))))))))
> +    (inputs
> +     `(("wxwidgets" ,wxwidgets)
> +       ("glib" ,glib)
> +       ("alsa-lib" ,alsa-lib)))
> +    (native-inputs
> +     `(("scons" ,scons)
> +       ("pkg-config" ,pkg-config)))
> +    (home-page "http://ariamaestosa.sourceforge.net/")
> +    (synopsis "MIDI sequencer and editor")
> +    (description
> +     "Aria Maestosa is a MIDI sequencer and editor.  It lets you compose, edit
> +and play MIDI files with a few clicks in a user-friendly interface offering
> +score, keyboard, guitar, drum and controller views.")
> +    (license license:gpl3+)))
> +
>  (define-public cmus
>    (package
>      (name "cmus")
> -- 
> 2.7.3
> 

This built successfully for me with the wxwidgets patch. I opened it to
see that it worked.

-- 
Efraim Flashner   <efraim@flashner.co.il>   אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted

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

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

end of thread, other threads:[~2016-04-03 19:41 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-03-28 14:54 [PATCH] Add Aria Maestosa Ricardo Wurmus
2016-04-03 19:41 ` Efraim Flashner

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