all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* [PATCH] Add MPD
@ 2014-02-23 23:34 David Thompson
  2014-02-24 21:20 ` Andreas Enge
  0 siblings, 1 reply; 2+ messages in thread
From: David Thompson @ 2014-02-23 23:34 UTC (permalink / raw)
  To: guix-devel

[-- Attachment #1: Type: text/plain, Size: 381 bytes --]

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


[-- Attachment #2: 0001-gnu-Add-libmpdclient-and-mpd.patch --]
[-- Type: text/x-diff, Size: 5052 bytes --]

From 85c52308959f43ffd24585b4a88ff20005628dc4 Mon Sep 17 00:00:00 2001
From: David Thompson <dthompson2@worcester.edu>
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 <dthompson2@worcester.edu>
+;;;
+;;; 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


^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH] Add MPD
  2014-02-23 23:34 [PATCH] Add MPD David Thompson
@ 2014-02-24 21:20 ` Andreas Enge
  0 siblings, 0 replies; 2+ messages in thread
From: Andreas Enge @ 2014-02-24 21:20 UTC (permalink / raw)
  To: David Thompson; +Cc: guix-devel

Hello,

On Sun, Feb 23, 2014 at 06:34:07PM -0500, David Thompson wrote:
> 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.

the approach looks good. I think I would prepare two separate patches,
adding the packages one by one. And I would prepend the comment "Needs
doxygen" by "FIXME", so we know there is a TODO item.

If you feel like it, you can also add in comment a list of all the optional
inputs, so that it will be easier to add them once they are available (see
ffmpeg for an example).

Andreas

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2014-02-24 21:21 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-02-23 23:34 [PATCH] Add MPD David Thompson
2014-02-24 21:20 ` Andreas Enge

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.