summary refs log tree commit diff
path: root/pkgs/servers
diff options
context:
space:
mode:
authorJason \"Don\" O'Conal <lovek323@gmail.com>2013-07-04 15:07:37 +1000
committerRok Garbas <rok@garbas.si>2013-07-12 16:26:46 +0200
commit5c8a44fd181a95eb246fbe4d5faed83fa8e0cf4c (patch)
treefacfb8e26e069c4e7adc092418ebe64ea2fdce55 /pkgs/servers
parent481be8185fbc6d3d01382347c45075032508e48a (diff)
downloadnixlib-5c8a44fd181a95eb246fbe4d5faed83fa8e0cf4c.tar
nixlib-5c8a44fd181a95eb246fbe4d5faed83fa8e0cf4c.tar.gz
nixlib-5c8a44fd181a95eb246fbe4d5faed83fa8e0cf4c.tar.bz2
nixlib-5c8a44fd181a95eb246fbe4d5faed83fa8e0cf4c.tar.lz
nixlib-5c8a44fd181a95eb246fbe4d5faed83fa8e0cf4c.tar.xz
nixlib-5c8a44fd181a95eb246fbe4d5faed83fa8e0cf4c.tar.zst
nixlib-5c8a44fd181a95eb246fbe4d5faed83fa8e0cf4c.zip
mpd: fix build on darwin
* disable systemd
* disable alsaLib
* disable ffado
* compile with gccApple
* disable libmad
Diffstat (limited to 'pkgs/servers')
-rw-r--r--pkgs/servers/mpd/default.nix80
1 files changed, 42 insertions, 38 deletions
diff --git a/pkgs/servers/mpd/default.nix b/pkgs/servers/mpd/default.nix
index 54c9d1605655..43da84dcb819 100644
--- a/pkgs/servers/mpd/default.nix
+++ b/pkgs/servers/mpd/default.nix
@@ -18,8 +18,7 @@
 , samplerateSupport ? true, libsamplerate
 , mmsSupport ? true, libmms
 , mpg123Support ? true, mpg123
-, aacSupport ? true, faad2
-}:
+, aacSupport ? true, faad2 }:
 
 let
 
@@ -28,17 +27,20 @@ let
   mkFlag = c: f: if c then "--enable-${f}" else "--disable-${f}";
 
 in stdenv.mkDerivation rec {
-  name = "mpd-0.17.3";
+  name = "mpd-0.17.4";
   src = fetchurl {
-    url = "mirror://sourceforge/musicpd/${name}.tar.bz2";
-    sha256 = "1iilimlyhw22lpbqiab4qprznxg9c4d68fkrr9jww765b4c7x1ip";
+    url = "http://www.musicpd.org/download/mpd/stable/${name}.tar.gz";
+    sha256 = "06diyprg65xx0c0bgxdwlgrc5bhwy6cf39rabwnv9ikhimh94ir3";
   };
 
-  buildInputs = [ pkgconfig glib systemd ]
-    ++ opt alsaSupport alsaLib
+  buildInputs = [ pkgconfig glib ]
+    ++ opt (!stdenv.isDarwin) systemd
+    ++ opt (!stdenv.isDarwin && alsaSupport) alsaLib
     ++ opt flacSupport flac
     ++ opt vorbisSupport libvorbis
-    ++ opt madSupport libmad
+    # using libmad to decode mp3 files on darwin is causing a segfault -- there
+    # is probably a solution, but I'm disabling it for now
+    ++ opt (!stdenv.isDarwin && madSupport) libmad
     ++ opt id3tagSupport libid3tag
     ++ opt mikmodSupport libmikmod
     ++ opt shoutSupport libshout
@@ -47,7 +49,7 @@ in stdenv.mkDerivation rec {
     ++ opt soupSupport libsoup
     ++ opt bzip2Support bzip2
     ++ opt audiofileSupport audiofile
-    ++ opt ffadoSupport ffado
+    ++ opt (!stdenv.isDarwin && ffadoSupport) ffado
     ++ opt ffmpegSupport ffmpeg
     ++ opt fluidsynthSupport fluidsynth
     ++ opt samplerateSupport libsamplerate
@@ -56,45 +58,47 @@ in stdenv.mkDerivation rec {
     ++ opt aacSupport faad2
     ++ opt zipSupport zziplib;
 
-  configureFlags = [
-    "--with-systemdsystemunitdir=$(out)/etc/systemd/system"
-    (mkFlag alsaSupport "alsa")
-    (mkFlag flacSupport "flac")
-    (mkFlag vorbisSupport "vorbis")
-    (mkFlag vorbisSupport "vorbis-encoder")
-    (mkFlag madSupport "mad")
-    (mkFlag mikmodSupport "mikmod")
-    (mkFlag id3tagSupport "id3")
-    (mkFlag shoutSupport "shout")
-    (mkFlag sqliteSupport "sqlite")
-    (mkFlag curlSupport "curl")
-    (mkFlag soupSupport "soup")
-    (mkFlag audiofileSupport "audiofile")
-    (mkFlag bzip2Support "bzip2")
-    (mkFlag ffadoSupport "ffado")
-    (mkFlag ffmpegSupport "ffmpeg")
-    (mkFlag fluidsynthSupport "fluidsynth")
-    (mkFlag zipSupport "zzip")
-    (mkFlag samplerateSupport "lsr")
-    (mkFlag mmsSupport "mms")
-    (mkFlag mpg123Support "mpg123")
-    (mkFlag aacSupport "aac")
-  ];
+  configureFlags =
+    [ (mkFlag (!stdenv.isDarwin && alsaSupport) "alsa")
+      (mkFlag flacSupport "flac")
+      (mkFlag vorbisSupport "vorbis")
+      (mkFlag vorbisSupport "vorbis-encoder")
+      (mkFlag (!stdenv.isDarwin && madSupport) "mad")
+      (mkFlag mikmodSupport "mikmod")
+      (mkFlag id3tagSupport "id3")
+      (mkFlag shoutSupport "shout")
+      (mkFlag sqliteSupport "sqlite")
+      (mkFlag curlSupport "curl")
+      (mkFlag soupSupport "soup")
+      (mkFlag audiofileSupport "audiofile")
+      (mkFlag bzip2Support "bzip2")
+      (mkFlag (!stdenv.isDarwin && ffadoSupport) "ffado")
+      (mkFlag ffmpegSupport "ffmpeg")
+      (mkFlag fluidsynthSupport "fluidsynth")
+      (mkFlag zipSupport "zzip")
+      (mkFlag samplerateSupport "lsr")
+      (mkFlag mmsSupport "mms")
+      (mkFlag mpg123Support "mpg123")
+      (mkFlag aacSupport "aac")
+      "--enable-debugging" ]
+    ++ opt (!stdenv.isDarwin)
+      "--with-systemdsystemunitdir=$(out)/etc/systemd/system";
 
   NIX_LDFLAGS = ''
     ${if shoutSupport then "-lshout" else ""}
   '';
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "A flexible, powerful daemon for playing music";
+    homepage    = http://mpd.wikia.com/wiki/Music_Player_Daemon_Wiki;
+    license     = licenses.gpl2;
+    maintainers = with maintainers; [ astsmtl ];
+    platforms   = platforms.unix;
+
     longDescription = ''
       Music Player Daemon (MPD) is a flexible, powerful daemon for playing
       music. Through plugins and libraries it can play a variety of sound
       files while being controlled by its network protocol.
     '';
-    homepage = http://mpd.wikia.com/wiki/Music_Player_Daemon_Wiki;
-    license = "GPLv2";
-    maintainers = with stdenv.lib.maintainers; [ astsmtl ];
-    platforms = with stdenv.lib.platforms; linux;
   };
 }