diff options
author | Ricardo Wurmus <rekado@elephly.net> | 2016-03-28 16:52:50 +0200 |
---|---|---|
committer | Ricardo Wurmus <rekado@elephly.net> | 2016-04-26 22:16:24 +0200 |
commit | c30a66dedba48d1e60d2b04b84c8dbcaa513c6f0 (patch) | |
tree | 3a0c79d1e4049f43452a20741c1ba086f5c80fbf | |
parent | fc7c74e43d49d73298fe6df992041044f2fc92c2 (diff) | |
download | guix-c30a66dedba48d1e60d2b04b84c8dbcaa513c6f0.tar guix-c30a66dedba48d1e60d2b04b84c8dbcaa513c6f0.tar.gz |
gnu: Add Aria Maestosa.
* gnu/packages/music.scm (aria-maestosa): New variable.
-rw-r--r-- | gnu/packages/music.scm | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index fc4e57c1e2..2fede0ae12 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -86,12 +86,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") |