summary refs log tree commit diff
path: root/gnu/packages/mpd.scm
diff options
context:
space:
mode:
authorLeo Famulari <leo@famulari.name>2019-02-10 19:22:35 -0500
committerLeo Famulari <leo@famulari.name>2019-02-10 20:21:53 -0500
commitf52bd828ed96697e5fee8df752f3008489506659 (patch)
tree0042c942993167057c5f7bf9e523299b0b269172 /gnu/packages/mpd.scm
parent30d77f45ebb36ff8ee656523db7cbcf7eadfed73 (diff)
downloadguix-f52bd828ed96697e5fee8df752f3008489506659.tar.gz
gnu: MPD: Update to 0.21.4.
We no longer install any systemd unit files for MPD because this is no longer
supported upstream as a matter of policy or via MPD's build system. [0]

Specifically, they don't support using MPD with systemd unless MPD was linked
with libsystemd. The unit files are only built when this is the case.

[0]
<https://github.com/MusicPlayerDaemon/MPD/issues/124#issuecomment-334930456>

* gnu/packages/mpd.scm (mpd): Update to 0.21.4.
[build-system]: Use meson-build-system.
[native-inputs]: Add gcc-8, gcc-8:lib, and python-sphinx.
[arguments]: Add a 'expand-C++-include-path' phase. Remove the
'install-service-files' phase. Make sure to build the documentation.
Diffstat (limited to 'gnu/packages/mpd.scm')
-rw-r--r--gnu/packages/mpd.scm31
1 files changed, 18 insertions, 13 deletions
diff --git a/gnu/packages/mpd.scm b/gnu/packages/mpd.scm
index bf12239a02..7885e21aa4 100644
--- a/gnu/packages/mpd.scm
+++ b/gnu/packages/mpd.scm
@@ -4,7 +4,7 @@
 ;;; Copyright © 2014 Cyrill Schenkel <cyrill.schenkel@gmail.com>
 ;;; Copyright © 2014 Ian Denhardt <ian@zenhack.net>
 ;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org>
-;;; Copyright © 2016, 2018 Leo Famulari <leo@famulari.name>
+;;; Copyright © 2016, 2018, 2019 Leo Famulari <leo@famulari.name>
 ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;;
 ;;; This file is part of GNU Guix.
@@ -91,7 +91,7 @@ interfacing MPD in the C, C++ & Objective C languages.")
 (define-public mpd
   (package
     (name "mpd")
-    (version "0.20.23")
+    (version "0.21.4")
     (source (origin
               (method url-fetch)
               (uri
@@ -100,18 +100,19 @@ interfacing MPD in the C, C++ & Objective C languages.")
                               "/mpd-" version ".tar.xz"))
               (sha256
                (base32
-                "1smg6hab4kwrzsw1k7vlpya3ampdk8psnmkrzxlgb43j4fgmygjh"))))
-    (build-system gnu-build-system)
+                "1ix52vfa8k8my4xyr8b0phg8605b2xchyzyva908m08vpzm14w94"))))
+    (build-system meson-build-system)
     (arguments
-     `(#:phases
+     `(#:configure-flags '("-Ddocumentation=true") ; The default is 'false'...
+       #:phases
        (modify-phases %standard-phases
-         (add-after 'install 'install-service-files
-           (lambda* (#:key outputs #:allow-other-keys)
-             (let* ((out (assoc-ref outputs "out"))
-                    (systemd (string-append out "/etc/systemd/system"))
-                    (systemd-user (string-append out "/etc/systemd/user")))
-               (install-file "systemd/system/mpd.service" systemd)
-               (install-file "systemd/user/mpd.service" systemd-user)
+         (add-before 'configure 'expand-C++-include-path
+           ;; Make <gcc>/include/c++/ext/string_conversions.h find <stdlib.h>.
+           (lambda* (#:key inputs #:allow-other-keys)
+             (let* ((path "CPLUS_INCLUDE_PATH")
+                    (gcc  (assoc-ref inputs "gcc"))
+                    (c++  (string-append gcc "/include/c++")))
+               (setenv path (string-append c++ ":" (getenv path)))
                #t))))))
     (inputs `(("ao" ,ao)
               ("alsa-lib" ,alsa-lib)
@@ -134,7 +135,11 @@ interfacing MPD in the C, C++ & Objective C languages.")
               ("pulseaudio" ,pulseaudio)
               ("sqlite" ,sqlite)
               ("zlib" ,zlib)))
-    (native-inputs `(("pkg-config" ,pkg-config)))
+    ;; MPD > 0.21 requires > GCC 6
+    (native-inputs `(("gcc" ,gcc-8)
+                     ("gcc-lib" ,gcc-8 "lib")
+                     ("pkg-config" ,pkg-config)
+                     ("python-sphinx" ,python-sphinx)))
     ;; Missing optional inputs:
     ;;   libyajl
     ;;   libcdio_paranoia