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 > 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: > + ;; > + ;; 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 אפרים פלשנר GPG key = A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351 Confidentiality cannot be guaranteed on emails sent or received unencrypted