download: Add "Accept: */*" to the headers.
[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>
b0193286 3;;; Copyright © 2014 Andreas Enge <andreas@enge.fr>
009c5b5c 4;;; Copyright © 2014 Cyrill Schenkel <cyrill.schenkel@gmail.com>
892d8a81
DT
5;;;
6;;; This file is part of GNU Guix.
7;;;
8;;; GNU Guix is free software; you can redistribute it and/or modify it
9;;; under the terms of the GNU General Public License as published by
10;;; the Free Software Foundation; either version 3 of the License, or (at
11;;; your option) any later version.
12;;;
13;;; GNU Guix is distributed in the hope that it will be useful, but
14;;; WITHOUT ANY WARRANTY; without even the implied warranty of
15;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16;;; GNU General Public License for more details.
17;;;
18;;; You should have received a copy of the GNU General Public License
19;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
20
21(define-module (gnu packages mpd)
7dc68701 22 #:use-module (srfi srfi-1)
892d8a81 23 #:use-module (gnu packages)
7dc68701 24 #:use-module ((guix licenses) #:prefix license:)
892d8a81
DT
25 #:use-module (guix packages)
26 #:use-module (guix download)
27 #:use-module (guix build-system gnu)
7dc68701
DT
28 #:use-module (gnu packages avahi)
29 #:use-module (gnu packages compression)
30 #:use-module (gnu packages curl)
b0193286 31 #:use-module (gnu packages doxygen)
7dc68701
DT
32 #:use-module (gnu packages glib)
33 #:use-module (gnu packages linux)
34 #:use-module (gnu packages mp3)
4d01bd3c 35 #:use-module (gnu packages ncurses)
7dc68701
DT
36 #:use-module (gnu packages pkg-config)
37 #:use-module (gnu packages pulseaudio)
5f96f303 38 #:use-module (gnu packages databases)
7dc68701
DT
39 #:use-module (gnu packages video)
40 #:use-module (gnu packages xiph)
41 #:export (libmpdclient
4d01bd3c 42 mpd
009c5b5c
CS
43 ncmpc
44 ncmpcpp))
892d8a81
DT
45
46(define libmpdclient
47 (package
48 (name "libmpdclient")
49 (version "2.9")
50 (source (origin
51 (method url-fetch)
52 (uri
53 (string-append "http://musicpd.org/download/libmpdclient/"
54 (car (string-split version #\.))
55 "/libmpdclient-" version ".tar.gz"))
56 (sha256
57 (base32
58 "0csb9r3nlmbwpiryixjr5k33x3zqd61xjhwmlps3a6prck1n1xw2"))))
59 (build-system gnu-build-system)
b0193286 60 (native-inputs `(("doxygen" ,doxygen)))
892d8a81
DT
61 (synopsis "Music Player Daemon client library")
62 (description "A stable, documented, asynchronous API library for
63interfacing MPD in the C, C++ & Objective C languages.")
64 (home-page "http://www.musicpd.org/libs/libmpdclient/")
7dc68701
DT
65 (license license:bsd-3)))
66
67(define mpd
68 (package
69 (name "mpd")
70 (version "0.18.8")
71 (source (origin
72 (method url-fetch)
73 (uri
74 (string-append "http://musicpd.org/download/mpd/"
75 (string-join (take (string-split
76 version #\.) 2) ".")
77 "/mpd-" version ".tar.gz"))
78 (sha256
79 (base32
80 "1ryqh0xf76xv4mpwy1gjwy275ar4wmbzifa9ccjim9r7lk2hgp5v"))))
81 (build-system gnu-build-system)
82 (inputs `(("ao" ,ao)
83 ("alsa-lib" ,alsa-lib)
84 ("avahi" ,avahi)
85 ("curl" ,curl)
86 ("ffmpeg" ,ffmpeg)
87 ("flac" ,flac)
88 ("glib" ,glib)
89 ("lame" ,lame)
90 ("libid3tag" ,libid3tag)
91 ("libmad" ,libmad)
92 ("libmpdclient" ,libmpdclient)
93 ("libsamplerate" ,libsamplerate)
94 ("libsndfile" ,libsndfile)
95 ("libvorbis" ,libvorbis)
96 ("opus" ,opus)
97 ("pkg-config" ,pkg-config)
98 ("pulseaudio" ,pulseaudio)
99 ("sqlite" ,sqlite)
100 ("zlib" ,zlib)))
101 ;; Missing optional inputs:
102 ;; libyajl
103 ;; libcdio_paranoia
104 ;; libmms
105 ;; libadplug
106 ;; libaudiofile
107 ;; faad2
108 ;; fluidsynth
109 ;; libgme
110 ;; libshout
111 ;; libmpg123
112 ;; libmodplug
113 ;; libmpcdec
114 ;; libsidplay2
115 ;; libwavpack
116 ;; libwildmidi
117 ;; libtwolame
118 ;; libroar
119 ;; libjack
120 ;; OpenAL
121 (synopsis "Music Player Daemon")
122 (description "Music Player Daemon (MPD) is a flexible, powerful,
123server-side application for playing music. Through plugins and libraries it
124can play a variety of sound files while being controlled by its network
125protocol.")
126 (home-page "http://www.musicpd.org/")
127 (license license:gpl2)))
4d01bd3c
DT
128
129(define ncmpc
130 (package
131 (name "ncmpc")
132 (version "0.21")
133 (source (origin
134 (method url-fetch)
135 (uri
136 (string-append "http://musicpd.org/download/ncmpc/"
137 (car (string-split version #\.))
138 "/ncmpc-" version ".tar.gz"))
139 (sha256
140 (base32
141 "1gpy6rr0awl6xgkswmr8rdvqfkrz83rmwk441c00a9d4z3zb1a16"))))
142 (build-system gnu-build-system)
143 (inputs `(("glib" ,glib)
144 ("libmpdclient" ,libmpdclient)
145 ("ncurses" ,ncurses)))
146 (native-inputs `(("pkg-config" ,pkg-config)))
9e771e3b 147 (synopsis "Curses Music Player Daemon client")
4d01bd3c
DT
148 (description "ncmpc is a fully featured MPD client, which runs in a
149terminal using ncurses.")
150 (home-page "http://www.musicpd.org/clients/ncmpc/")
151 (license license:gpl2)))
009c5b5c
CS
152
153(define ncmpcpp
154 (package
155 (name "ncmpcpp")
156 (version "0.5.10")
157 (source (origin
158 (method url-fetch)
159 (uri
160 (string-append "http://ncmpcpp.rybczak.net/stable/ncmpcpp-"
161 version ".tar.bz2"))
162 (sha256
163 (base32
164 "1a54g6dary1rirrny9fd0hpxpyyffypni3mpbdpvmjnrl9v56vgz"))))
165 (build-system gnu-build-system)
166 (inputs `(("libmpdclient" ,libmpdclient)
167 ("ncurses" ,ncurses)))
168 (native-inputs `(("pkg-config" ,pkg-config)))
169 (synopsis "Featureful ncurses based MPD client inspired by ncmpc")
170 (description "Ncmpcpp is an mpd client with a UI very similar to ncmpc,
171but it provides new useful features such as support for regular expressions
172for library searches, extended song format, items filtering, the ability to
173sort playlists, and a local filesystem browser.")
174 (home-page "http://ncmpcpp.rybczak.net/")
175 (license license:gpl2+)))