summary refs log tree commit diff
path: root/gnu/packages/music.scm
diff options
context:
space:
mode:
authorRicardo Wurmus <rekado@elephly.net>2015-03-11 07:27:14 +0100
committerRicardo Wurmus <rekado@elephly.net>2015-03-15 17:04:04 +0100
commit1b6826d34a291ecc1f8be323bbf2df28f4183bd3 (patch)
treef42bd81a6a52429ad288447c3561fb022c23b5c2 /gnu/packages/music.scm
parent5a74d239bf45dfebbbb8363b309b56eec66e324f (diff)
downloadguix-1b6826d34a291ecc1f8be323bbf2df28f4183bd3.tar.gz
gnu: Add Lilypond.
* gnu/packages/music.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
Diffstat (limited to 'gnu/packages/music.scm')
-rw-r--r--gnu/packages/music.scm104
1 files changed, 104 insertions, 0 deletions
diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
new file mode 100644
index 0000000000..c92354248f
--- /dev/null
+++ b/gnu/packages/music.scm
@@ -0,0 +1,104 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu packages music)
+  #:use-module (guix utils)
+  #:use-module (guix packages)
+  #:use-module (guix download)
+  #:use-module ((guix licenses) #:prefix license:)
+  #:use-module (guix build-system gnu)
+  #:use-module (gnu packages)
+  #:use-module (gnu packages bison)
+  #:use-module (gnu packages docbook)
+  #:use-module (gnu packages flex)
+  #:use-module (gnu packages fonts)
+  #:use-module (gnu packages fontutils)
+  #:use-module (gnu packages gettext)
+  #:use-module (gnu packages ghostscript)
+  #:use-module (gnu packages gtk)
+  #:use-module (gnu packages guile)
+  #:use-module (gnu packages imagemagick)
+  #:use-module (gnu packages netpbm)
+  #:use-module (gnu packages perl)
+  #:use-module (gnu packages pkg-config)
+  #:use-module (gnu packages python)
+  #:use-module (gnu packages rsync)
+  #:use-module (gnu packages texinfo)
+  #:use-module (gnu packages texlive)
+  #:use-module (gnu packages zip))
+
+(define-public lilypond
+  (package
+    (name "lilypond")
+    (version "2.18.2")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "http://download.linuxaudio.org/lilypond/sources/v"
+                    (version-major+minor version) "/"
+                    name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "01xs9x2wjj7w9appaaqdhk15r1xvvdbz9qwahzhppfmhclvp779j"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(;; Tests fail with this error:
+       ;; Undefined subroutine &main::get_index called at
+       ;; ./lilypond-2.18.2/Documentation/lilypond-texi2html.init line 2127.
+       #:tests? #f
+       #:out-of-source? #t
+       #:phases
+       (alist-cons-before
+        'configure 'prepare-configuration
+        (lambda _
+          (substitute* "configure"
+            (("SHELL=/bin/sh") "SHELL=sh"))
+          (setenv "out" "")
+          #t)
+        %standard-phases)))
+    (inputs
+     `(("guile" ,guile-1.8)
+       ("font-dejavu" ,font-dejavu)
+       ("fontconfig" ,fontconfig)
+       ("freetype" ,freetype)
+       ("ghostscript" ,ghostscript)
+       ("pango" ,pango)
+       ("python" ,python-2)))
+    (native-inputs
+     `(("bison" ,bison)
+       ("perl" ,perl)
+       ("flex" ,flex)
+       ("fontforge" ,fontforge)
+       ("dblatex" ,dblatex)
+       ("gettext" ,gnu-gettext)
+       ("imagemagick" ,imagemagick)
+       ("netpbm" ,netpbm) ;for pngtopnm
+       ("texlive" ,texlive) ;metafont and metapost
+       ("texinfo" ,texinfo)
+       ("texi2html" ,texi2html)
+       ("rsync" ,rsync)
+       ("pkg-config" ,pkg-config)
+       ("zip" ,zip)))
+    (home-page "http://www.lilypond.org/")
+    (synopsis "Music typesetting")
+    (description
+     "GNU LilyPond is a music typesetter, which produces high-quality sheet
+music.  Music is input in a text file containing control sequences which are
+interpreted by LilyPond to produce the final document.  It is extendable with
+Guile.")
+    (license license:gpl3+)))