mpd: 0.21.25 -> 0.22
parent
5315ce0e40
commit
7c1ce3b1e6
|
@ -1,6 +1,6 @@
|
||||||
{ stdenv, fetchFromGitHub, meson, ninja, pkg-config, glib, systemd, boost, darwin
|
{ stdenv, fetchFromGitHub, meson, ninja, pkg-config, glib, systemd, boost, darwin
|
||||||
# Inputs
|
# Inputs
|
||||||
, curl, libmms, libnfs, samba
|
, curl, libmms, libnfs, liburing, samba
|
||||||
# Archive support
|
# Archive support
|
||||||
, bzip2, zziplib
|
, bzip2, zziplib
|
||||||
# Codecs
|
# Codecs
|
||||||
|
@ -30,6 +30,7 @@
|
||||||
|
|
||||||
let
|
let
|
||||||
lib = stdenv.lib;
|
lib = stdenv.lib;
|
||||||
|
concatAttrVals = nameList: set: lib.concatMap (x: set.${x} or []) nameList;
|
||||||
|
|
||||||
featureDependencies = {
|
featureDependencies = {
|
||||||
# Storage plugins
|
# Storage plugins
|
||||||
|
@ -37,6 +38,7 @@ let
|
||||||
webdav = [ curl expat ];
|
webdav = [ curl expat ];
|
||||||
# Input plugins
|
# Input plugins
|
||||||
curl = [ curl ];
|
curl = [ curl ];
|
||||||
|
io_uring = [ liburing ];
|
||||||
mms = [ libmms ];
|
mms = [ libmms ];
|
||||||
nfs = [ libnfs ];
|
nfs = [ libnfs ];
|
||||||
smbclient = [ samba ];
|
smbclient = [ samba ];
|
||||||
|
@ -85,15 +87,19 @@ let
|
||||||
zeroconf = [ avahi dbus ];
|
zeroconf = [ avahi dbus ];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
nativeFeatureDependencies = {
|
||||||
|
documentation = [ doxygen python3Packages.sphinx ];
|
||||||
|
};
|
||||||
|
|
||||||
run = { features ? null }:
|
run = { features ? null }:
|
||||||
let
|
let
|
||||||
# Disable platform specific features if needed
|
# Disable platform specific features if needed
|
||||||
# using libmad to decode mp3 files on darwin is causing a segfault -- there
|
# using libmad to decode mp3 files on darwin is causing a segfault -- there
|
||||||
# is probably a solution, but I'm disabling it for now
|
# is probably a solution, but I'm disabling it for now
|
||||||
platformMask = lib.optionals stdenv.isDarwin [ "mad" "pulse" "jack" "nfs" "smbclient" ]
|
platformMask = lib.optionals stdenv.isDarwin [ "mad" "pulse" "jack" "nfs" "smbclient" ]
|
||||||
++ lib.optionals (!stdenv.isLinux) [ "alsa" "systemd" "syslog" ];
|
++ lib.optionals (!stdenv.isLinux) [ "alsa" "io_uring" "systemd" "syslog" ];
|
||||||
|
|
||||||
knownFeatures = builtins.attrNames featureDependencies;
|
knownFeatures = builtins.attrNames featureDependencies ++ builtins.attrNames nativeFeatureDependencies;
|
||||||
platformFeatures = lib.subtractLists platformMask knownFeatures;
|
platformFeatures = lib.subtractLists platformMask knownFeatures;
|
||||||
|
|
||||||
features_ = if (features == null )
|
features_ = if (features == null )
|
||||||
|
@ -110,13 +116,13 @@ let
|
||||||
|
|
||||||
in stdenv.mkDerivation rec {
|
in stdenv.mkDerivation rec {
|
||||||
pname = "mpd";
|
pname = "mpd";
|
||||||
version = "0.21.25";
|
version = "0.22";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "MusicPlayerDaemon";
|
owner = "MusicPlayerDaemon";
|
||||||
repo = "MPD";
|
repo = "MPD";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "1yjp8pwr2zn0mp39ls1w0pl37zrjn5m9ycgjmcsw2wpa4709r356";
|
sha256 = "1lsi4fgrarabkahfhf5zbmppg7jba7m362gxyqhv54hmqprl1qff";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
|
@ -128,16 +134,15 @@ let
|
||||||
# Run-time dependency GTest found: YES 1.10.0
|
# Run-time dependency GTest found: YES 1.10.0
|
||||||
gtest
|
gtest
|
||||||
]
|
]
|
||||||
++ (lib.concatLists (lib.attrVals features_ featureDependencies))
|
++ concatAttrVals features_ featureDependencies
|
||||||
++ lib.optionals stdenv.isDarwin [ darwin.apple_sdk.frameworks.AudioToolbox darwin.apple_sdk.frameworks.AudioUnit ];
|
++ lib.optionals stdenv.isDarwin [ darwin.apple_sdk.frameworks.AudioToolbox darwin.apple_sdk.frameworks.AudioUnit ];
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
meson
|
meson
|
||||||
ninja
|
ninja
|
||||||
pkg-config
|
pkg-config
|
||||||
python3Packages.sphinx
|
]
|
||||||
doxygen
|
++ concatAttrVals features_ nativeFeatureDependencies;
|
||||||
];
|
|
||||||
|
|
||||||
# Otherwise, the meson log says:
|
# Otherwise, the meson log says:
|
||||||
#
|
#
|
||||||
|
@ -153,10 +158,9 @@ let
|
||||||
outputs = [ "out" "doc" "man" ];
|
outputs = [ "out" "doc" "man" ];
|
||||||
|
|
||||||
mesonFlags = [
|
mesonFlags = [
|
||||||
# Documentation is enabled unconditionally but it's not installed
|
|
||||||
# unconditionally thanks to the outputs being split
|
|
||||||
"-Ddocumentation=true"
|
|
||||||
"-Dtest=true"
|
"-Dtest=true"
|
||||||
|
"-Dmanpages=true"
|
||||||
|
"-Dhtml_manual=true"
|
||||||
]
|
]
|
||||||
++ map (x: "-D${x}=enabled") features_
|
++ map (x: "-D${x}=enabled") features_
|
||||||
++ map (x: "-D${x}=disabled") (lib.subtractLists features_ knownFeatures)
|
++ map (x: "-D${x}=disabled") (lib.subtractLists features_ knownFeatures)
|
||||||
|
@ -193,7 +197,7 @@ in
|
||||||
"yajl" "sqlite"
|
"yajl" "sqlite"
|
||||||
"soundcloud" "qobuz" "tidal"
|
"soundcloud" "qobuz" "tidal"
|
||||||
] ++ lib.optionals stdenv.isLinux [
|
] ++ lib.optionals stdenv.isLinux [
|
||||||
"alsa" "systemd" "syslog"
|
"alsa" "systemd" "syslog" "io_uring"
|
||||||
] ++ lib.optionals (!stdenv.isDarwin) [
|
] ++ lib.optionals (!stdenv.isDarwin) [
|
||||||
"mad" "jack" "nfs"
|
"mad" "jack" "nfs"
|
||||||
]; };
|
]; };
|
||||||
|
|
Loading…
Reference in New Issue