guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH] Add MPD


From: David Thompson
Subject: [PATCH] Add MPD
Date: Sun, 23 Feb 2014 18:34:07 -0500
User-agent: Notmuch/0.17 (http://notmuchmail.org) Emacs/24.3.1 (x86_64-pc-linux-gnu)

Hello all,

Attached is a patch with basic package recipes for libmpdclient and MPD.
MPD has a lot of optional dependencies and I've included as inputs all
of the ones that Guix currently has packages for.  libmpdclient requires
doxygen in order to generate documentation and since Guix does not have
a package for this yet I've disabled the documentation for now.

WDYT?

- Dave

>From 85c52308959f43ffd24585b4a88ff20005628dc4 Mon Sep 17 00:00:00 2001
From: David Thompson <address@hidden>
Date: Sun, 23 Feb 2014 18:25:17 -0500
Subject: [PATCH] gnu: Add libmpdclient and mpd.

* gnu/packages/mpd.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
---
 gnu-system.am        |   1 +
 gnu/packages/mpd.scm | 100 +++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 101 insertions(+)
 create mode 100644 gnu/packages/mpd.scm

diff --git a/gnu-system.am b/gnu-system.am
index d63a80f..56c5bdf 100644
--- a/gnu-system.am
+++ b/gnu-system.am
@@ -146,6 +146,7 @@ GNU_SYSTEM_MODULES =                                \
   gnu/packages/maths.scm                       \
   gnu/packages/mit-krb5.scm                    \
   gnu/packages/moe.scm                         \
+  gnu/packages/mpd.scm                         \
   gnu/packages/mp3.scm                         \
   gnu/packages/multiprecision.scm              \
   gnu/packages/mtools.scm                      \
diff --git a/gnu/packages/mpd.scm b/gnu/packages/mpd.scm
new file mode 100644
index 0000000..58600a9
--- /dev/null
+++ b/gnu/packages/mpd.scm
@@ -0,0 +1,100 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2014 David Thompson <address@hidden>
+;;;
+;;; 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 mpd)
+  #:use-module (srfi srfi-1)
+  #:use-module (gnu packages)
+  #:use-module (guix licenses)
+  #:use-module (guix packages)
+  #:use-module (guix download)
+  #:use-module (guix build-system gnu)
+  #:use-module (gnu packages avahi)
+  #:use-module (gnu packages curl)
+  #:use-module (gnu packages glib)
+  #:use-module (gnu packages linux)
+  #:use-module (gnu packages mp3)
+  #:use-module (gnu packages pkg-config)
+  #:use-module (gnu packages pulseaudio)
+  #:use-module (gnu packages sqlite)
+  #:use-module (gnu packages video)
+  #:use-module (gnu packages xiph)
+  #:export (libmpdclient
+            mpd))
+
+(define libmpdclient
+  (package
+    (name "libmpdclient")
+    (version "2.9")
+    (source (origin
+              (method url-fetch)
+              (uri
+
+               (string-append "http://musicpd.org/download/libmpdclient/";
+                              (car (string-split version #\.))
+                              "/libmpdclient-" version ".tar.gz"))
+              (sha256
+               (base32
+                "0csb9r3nlmbwpiryixjr5k33x3zqd61xjhwmlps3a6prck1n1xw2"))))
+    (build-system gnu-build-system)
+    (arguments
+     '(#:configure-flags '("--disable-documentation"))) ; Needs doxygen.
+    (synopsis "Music Player Daemon client library")
+    (description "A stable, documented, asynchronous API library for
+interfacing MPD in the C, C++ & Objective C languages.")
+    (home-page "http://www.musicpd.org/libs/libmpdclient/";)
+    (license bsd-3)))
+
+(define mpd
+  (package
+    (name "mpd")
+    (version "0.18.8")
+    (source (origin
+              (method url-fetch)
+              (uri
+               (string-append "http://musicpd.org/download/mpd/";
+                              (string-join (take (string-split
+                                                  version #\.) 2) ".")
+                              "/mpd-" version ".tar.gz"))
+              (sha256
+               (base32
+                "1ryqh0xf76xv4mpwy1gjwy275ar4wmbzifa9ccjim9r7lk2hgp5v"))))
+    (build-system gnu-build-system)
+    (inputs `(("alsa-lib" ,alsa-lib)
+              ("avahi" ,avahi)
+              ("curl" ,curl)
+              ("ffmpeg" ,ffmpeg)
+              ("flac" ,flac)
+              ("glib" ,glib)
+              ("lame" ,lame)
+              ("libid3tag" ,libid3tag)
+              ("libmad" ,libmad)
+              ("libmpdclient" ,libmpdclient)
+              ("libsamplerate" ,libsamplerate)
+              ("libsndfile" ,libsndfile)
+              ("libvorbis" ,libvorbis)
+              ("opus" ,opus)
+              ("pkg-config" ,pkg-config)
+              ("pulseaudio" ,pulseaudio)
+              ("sqlite" ,sqlite)))
+    (synopsis "Music Player Daemon")
+    (description "Music Player Daemon (MPD) is a flexible, powerful,
+server-side application for playing music.  Through plugins and libraries it
+can play a variety of sound files while being controlled by its network
+protocol.")
+    (home-page "http://www.musicpd.org/";)
+    (license gpl2)))
-- 
1.8.5.3


reply via email to

[Prev in Thread] Current Thread [Next in Thread]