Commit | Line | Data |
---|---|---|
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 | |
63 | interfacing 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, | |
123 | server-side application for playing music. Through plugins and libraries it | |
124 | can play a variety of sound files while being controlled by its network | |
125 | protocol.") | |
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 |
149 | terminal 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, | |
171 | but it provides new useful features such as support for regular expressions | |
172 | for library searches, extended song format, items filtering, the ability to | |
173 | sort playlists, and a local filesystem browser.") | |
174 | (home-page "http://ncmpcpp.rybczak.net/") | |
175 | (license license:gpl2+))) |