]> git.immae.eu Git - perso/Immae/Config/Nix.git/blobdiff - pkgs/mpd_0_21/default.nix
Move packages to flakes
[perso/Immae/Config/Nix.git] / pkgs / mpd_0_21 / default.nix
diff --git a/pkgs/mpd_0_21/default.nix b/pkgs/mpd_0_21/default.nix
deleted file mode 100644 (file)
index 4f97e3f..0000000
+++ /dev/null
@@ -1,162 +0,0 @@
-{ stdenv, fetchFromGitHub, meson, ninja, pkgconfig, glib, systemd, boost, darwin
-# Inputs
-, curl, libmms, libnfs, samba
-# Archive support
-, bzip2, zziplib
-# Codecs
-, audiofile, faad2, ffmpeg, flac, fluidsynth, game-music-emu
-, libmad, libmikmod, mpg123, libopus, libvorbis, lame
-# Filters
-, libsamplerate
-# Outputs
-, alsaLib, libjack2, libpulseaudio, libshout
-# Misc
-, icu, sqlite, avahi, dbus, pcre, libgcrypt, expat
-# Services
-, yajl
-# Client support
-, mpd_clientlib
-# Tag support
-, libid3tag
-}:
-
-let
-  lib = stdenv.lib;
-
-  featureDependencies = {
-    # Storage plugins
-    udisks        = [ dbus ];
-    webdav        = [ curl expat ];
-    # Input plugins
-    curl          = [ curl ];
-    mms           = [ libmms ];
-    nfs           = [ libnfs ];
-    smbclient     = [ samba ];
-    # Archive support
-    bzip2         = [ bzip2 ];
-    zzip          = [ zziplib ];
-    # Decoder plugins
-    audiofile     = [ audiofile ];
-    faad          = [ faad2 ];
-    ffmpeg        = [ ffmpeg ];
-    flac          = [ flac ];
-    fluidsynth    = [ fluidsynth ];
-    gme           = [ game-music-emu ];
-    mad           = [ libmad ];
-    mikmod        = [ libmikmod ];
-    mpg123        = [ mpg123 ];
-    opus          = [ libopus ];
-    vorbis        = [ libvorbis ];
-    # Encoder plugins
-    vorbisenc     = [ libvorbis ];
-    lame          = [ lame ];
-    # Filter plugins
-    libsamplerate = [ libsamplerate ];
-    # Output plugins
-    alsa          = [ alsaLib ];
-    jack          = [ libjack2 ];
-    pulse         = [ libpulseaudio ];
-    shout         = [ libshout ];
-    # Commercial services
-    qobuz         = [ curl libgcrypt yajl ];
-    soundcloud    = [ curl yajl ];
-    tidal         = [ curl yajl ];
-    # Client support
-    libmpdclient  = [ mpd_clientlib ];
-    # Tag support
-    id3tag        = [ libid3tag ];
-    # Misc
-    dbus          = [ dbus ];
-    expat         = [ expat ];
-    icu           = [ icu ];
-    pcre          = [ pcre ];
-    sqlite        = [ sqlite ];
-    syslog        = [ ];
-    systemd       = [ systemd ];
-    yajl          = [ yajl ];
-    zeroconf      = [ avahi dbus ];
-  };
-
-  run = { features ? null }:
-    let
-      # Disable platform specific features if needed
-      # using libmad to decode mp3 files on darwin is causing a segfault -- there
-      # is probably a solution, but I'm disabling it for now
-      platformMask = lib.optionals stdenv.isDarwin [ "mad" "pulse" "jack" "nfs" "smbclient" ]
-                  ++ lib.optionals (!stdenv.isLinux) [ "alsa" "systemd" "syslog" ];
-
-      knownFeatures = builtins.attrNames featureDependencies;
-      platformFeatures = lib.subtractLists platformMask knownFeatures;
-
-      features_ = if (features == null )
-        then platformFeatures
-        else
-          let unknown = lib.subtractLists knownFeatures features; in
-          if (unknown != [])
-            then throw "Unknown feature(s): ${lib.concatStringsSep " " unknown}"
-            else
-              let unsupported = lib.subtractLists platformFeatures features; in
-              if (unsupported != [])
-                then throw "Feature(s) ${lib.concatStringsSep " " unsupported} are not supported on ${stdenv.hostPlatform.system}"
-                else features;
-
-    in stdenv.mkDerivation rec {
-      pname = "mpd";
-      version = "0.21.21";
-
-      src = fetchFromGitHub {
-        owner  = "MusicPlayerDaemon";
-        repo   = "MPD";
-        rev    = "v${version}";
-        sha256 = "0ysyjlmmfm1y5jqyv83bs9p7zqr9pgj1hmdq2b7kx9kridclbnng";
-      };
-
-      buildInputs = [ glib boost ]
-        ++ (lib.concatLists (lib.attrVals features_ featureDependencies))
-        ++ lib.optionals stdenv.isDarwin [ darwin.apple_sdk.frameworks.AudioToolbox darwin.apple_sdk.frameworks.AudioUnit ];
-
-      nativeBuildInputs = [ meson ninja pkgconfig ];
-
-      enableParallelBuilding = true;
-
-      mesonAutoFeatures = "disabled";
-      mesonFlags =
-        map (x: "-D${x}=enabled") features_
-        ++ map (x: "-D${x}=disabled") (lib.subtractLists features_ knownFeatures)
-        ++ lib.optional (builtins.elem "zeroconf" features_)
-          "-Dzeroconf=avahi"
-        ++ lib.optional (builtins.elem "systemd" features_)
-          "-Dsystemd_system_unit_dir=etc/systemd/system";
-
-      meta = with stdenv.lib; {
-        description = "A flexible, powerful daemon for playing music";
-        homepage    = "https://www.musicpd.org/";
-        license     = licenses.gpl2;
-        maintainers = with maintainers; [ astsmtl ehmry fpletz tobim ];
-        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.
-        '';
-      };
-    };
-in
-{
-  mpd = run { };
-  mpd-small = run { features = [
-    "webdav" "curl" "mms" "bzip2" "zzip"
-    "audiofile" "faad" "flac" "gme" "mad"
-    "mpg123" "opus" "vorbis" "vorbisenc"
-    "lame" "libsamplerate" "shout"
-    "libmpdclient" "id3tag" "expat" "pcre"
-    "yajl" "sqlite"
-    "soundcloud" "qobuz" "tidal"
-  ] ++ lib.optionals stdenv.isLinux [
-    "alsa" "systemd" "syslog"
-  ] ++ lib.optionals (!stdenv.isDarwin) [
-    "mad" "jack" "nfs"
-  ]; };
-  mpdWithFeatures = run;
-}