Merge pull request #87949 from doronbehar/mpd-docs
mpd: enable tests + install docs + split outputs
This commit is contained in:
commit
810f240c2a
@ -1,4 +1,4 @@
|
|||||||
{ stdenv, fetchFromGitHub, meson, ninja, pkgconfig, glib, systemd, boost, darwin
|
{ stdenv, fetchFromGitHub, meson, ninja, pkg-config, glib, systemd, boost, darwin
|
||||||
# Inputs
|
# Inputs
|
||||||
, curl, libmms, libnfs, samba
|
, curl, libmms, libnfs, samba
|
||||||
# Archive support
|
# Archive support
|
||||||
@ -19,6 +19,13 @@
|
|||||||
# Tag support
|
# Tag support
|
||||||
, libid3tag
|
, libid3tag
|
||||||
, nixosTests
|
, nixosTests
|
||||||
|
# For documentation
|
||||||
|
, doxygen
|
||||||
|
, python3Packages # for sphinx-build
|
||||||
|
# For tests
|
||||||
|
, gtest
|
||||||
|
, fetchpatch # used to fetch an upstream patch fixing a failing test
|
||||||
|
, zip
|
||||||
}:
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
@ -112,17 +119,60 @@ let
|
|||||||
sha256 = "0jnhjhm1ilpcwb4f58b8pgyzjq3dlr0j2xyk0zck0afwkdxyj9cb";
|
sha256 = "0jnhjhm1ilpcwb4f58b8pgyzjq3dlr0j2xyk0zck0afwkdxyj9cb";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ glib boost ]
|
# Won't be needed when 0.21.24 will be out
|
||||||
|
patches = [
|
||||||
|
# Tests fail otherwise, see https://github.com/MusicPlayerDaemon/MPD/issues/844
|
||||||
|
(fetchpatch {
|
||||||
|
url = "https://github.com/MusicPlayerDaemon/MPD/commit/7aea2853612743e111ae5e947c8d467049e291a8.patch";
|
||||||
|
sha256 = "1bmxlsaiz3wlg1yyc4rkwsmgvc0pirv0s1vdxxsn91yssmh16c2g";
|
||||||
|
excludes = [
|
||||||
|
# The patch fails otherwise because it tries to update the NEWS
|
||||||
|
# file which doesn't have the title "ver 0.21.24" yet.
|
||||||
|
"NEWS"
|
||||||
|
];
|
||||||
|
})
|
||||||
|
];
|
||||||
|
|
||||||
|
buildInputs = [
|
||||||
|
glib
|
||||||
|
boost
|
||||||
|
# According to the configurePhase of meson, gtest is considered a
|
||||||
|
# runtime dependency. Quoting:
|
||||||
|
#
|
||||||
|
# Run-time dependency GTest found: YES 1.10.0
|
||||||
|
gtest
|
||||||
|
]
|
||||||
++ (lib.concatLists (lib.attrVals features_ featureDependencies))
|
++ (lib.concatLists (lib.attrVals 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 = [ meson ninja pkgconfig ];
|
nativeBuildInputs = [
|
||||||
|
meson
|
||||||
|
ninja
|
||||||
|
pkg-config
|
||||||
|
python3Packages.sphinx
|
||||||
|
doxygen
|
||||||
|
];
|
||||||
|
|
||||||
|
# Otherwise, the meson log says:
|
||||||
|
#
|
||||||
|
# Program zip found: NO
|
||||||
|
checkInputs = [ zip ];
|
||||||
|
|
||||||
|
doCheck = true;
|
||||||
|
|
||||||
enableParallelBuilding = true;
|
enableParallelBuilding = true;
|
||||||
|
|
||||||
mesonAutoFeatures = "disabled";
|
mesonAutoFeatures = "disabled";
|
||||||
mesonFlags =
|
|
||||||
map (x: "-D${x}=enabled") features_
|
outputs = [ "out" "doc" "man" ];
|
||||||
|
|
||||||
|
mesonFlags = [
|
||||||
|
# Documentation is enabled unconditionally but it's not installed
|
||||||
|
# unconditionally thanks to the outputs being split
|
||||||
|
"-Ddocumentation=true"
|
||||||
|
"-Dtest=true"
|
||||||
|
]
|
||||||
|
++ map (x: "-D${x}=enabled") features_
|
||||||
++ map (x: "-D${x}=disabled") (lib.subtractLists features_ knownFeatures)
|
++ map (x: "-D${x}=disabled") (lib.subtractLists features_ knownFeatures)
|
||||||
++ lib.optional (builtins.elem "zeroconf" features_)
|
++ lib.optional (builtins.elem "zeroconf" features_)
|
||||||
"-Dzeroconf=avahi"
|
"-Dzeroconf=avahi"
|
||||||
|
Loading…
Reference in New Issue
Block a user