utils: 'fcntl-flock' passes an errno when throwing an exception.
[jackhill/guix/guix.git] / gnu / packages / mpd.scm
CommitLineData
892d8a81
DT
1;;; GNU Guix --- Functional package management for GNU
2;;; Copyright © 2014 David Thompson <dthompson2@worcester.edu>
3;;;
4;;; This file is part of GNU Guix.
5;;;
6;;; GNU Guix is free software; you can redistribute it and/or modify it
7;;; under the terms of the GNU General Public License as published by
8;;; the Free Software Foundation; either version 3 of the License, or (at
9;;; your option) any later version.
10;;;
11;;; GNU Guix is distributed in the hope that it will be useful, but
12;;; WITHOUT ANY WARRANTY; without even the implied warranty of
13;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14;;; GNU General Public License for more details.
15;;;
16;;; You should have received a copy of the GNU General Public License
17;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
18
19(define-module (gnu packages mpd)
7dc68701 20 #:use-module (srfi srfi-1)
892d8a81 21 #:use-module (gnu packages)
7dc68701 22 #:use-module ((guix licenses) #:prefix license:)
892d8a81
DT
23 #:use-module (guix packages)
24 #:use-module (guix download)
25 #:use-module (guix build-system gnu)
7dc68701
DT
26 #:use-module (gnu packages avahi)
27 #:use-module (gnu packages compression)
28 #:use-module (gnu packages curl)
29 #:use-module (gnu packages glib)
30 #:use-module (gnu packages linux)
31 #:use-module (gnu packages mp3)
32 #:use-module (gnu packages pkg-config)
33 #:use-module (gnu packages pulseaudio)
34 #:use-module (gnu packages sqlite)
35 #:use-module (gnu packages video)
36 #:use-module (gnu packages xiph)
37 #:export (libmpdclient
38 mpd))
892d8a81
DT
39
40(define libmpdclient
41 (package
42 (name "libmpdclient")
43 (version "2.9")
44 (source (origin
45 (method url-fetch)
46 (uri
47 (string-append "http://musicpd.org/download/libmpdclient/"
48 (car (string-split version #\.))
49 "/libmpdclient-" version ".tar.gz"))
50 (sha256
51 (base32
52 "0csb9r3nlmbwpiryixjr5k33x3zqd61xjhwmlps3a6prck1n1xw2"))))
53 (build-system gnu-build-system)
54 (arguments
55 ;; FIXME: Needs doxygen.
56 '(#:configure-flags '("--disable-documentation")))
57 (synopsis "Music Player Daemon client library")
58 (description "A stable, documented, asynchronous API library for
59interfacing MPD in the C, C++ & Objective C languages.")
60 (home-page "http://www.musicpd.org/libs/libmpdclient/")
7dc68701
DT
61 (license license:bsd-3)))
62
63(define mpd
64 (package
65 (name "mpd")
66 (version "0.18.8")
67 (source (origin
68 (method url-fetch)
69 (uri
70 (string-append "http://musicpd.org/download/mpd/"
71 (string-join (take (string-split
72 version #\.) 2) ".")
73 "/mpd-" version ".tar.gz"))
74 (sha256
75 (base32
76 "1ryqh0xf76xv4mpwy1gjwy275ar4wmbzifa9ccjim9r7lk2hgp5v"))))
77 (build-system gnu-build-system)
78 (inputs `(("ao" ,ao)
79 ("alsa-lib" ,alsa-lib)
80 ("avahi" ,avahi)
81 ("curl" ,curl)
82 ("ffmpeg" ,ffmpeg)
83 ("flac" ,flac)
84 ("glib" ,glib)
85 ("lame" ,lame)
86 ("libid3tag" ,libid3tag)
87 ("libmad" ,libmad)
88 ("libmpdclient" ,libmpdclient)
89 ("libsamplerate" ,libsamplerate)
90 ("libsndfile" ,libsndfile)
91 ("libvorbis" ,libvorbis)
92 ("opus" ,opus)
93 ("pkg-config" ,pkg-config)
94 ("pulseaudio" ,pulseaudio)
95 ("sqlite" ,sqlite)
96 ("zlib" ,zlib)))
97 ;; Missing optional inputs:
98 ;; libyajl
99 ;; libcdio_paranoia
100 ;; libmms
101 ;; libadplug
102 ;; libaudiofile
103 ;; faad2
104 ;; fluidsynth
105 ;; libgme
106 ;; libshout
107 ;; libmpg123
108 ;; libmodplug
109 ;; libmpcdec
110 ;; libsidplay2
111 ;; libwavpack
112 ;; libwildmidi
113 ;; libtwolame
114 ;; libroar
115 ;; libjack
116 ;; OpenAL
117 (synopsis "Music Player Daemon")
118 (description "Music Player Daemon (MPD) is a flexible, powerful,
119server-side application for playing music. Through plugins and libraries it
120can play a variety of sound files while being controlled by its network
121protocol.")
122 (home-page "http://www.musicpd.org/")
123 (license license:gpl2)))