diff options
author | Mario Rodas <marsam@users.noreply.github.com> | 2020-06-04 20:54:17 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-06-04 20:54:17 -0500 |
commit | 810f240c2a2bc9962764b507d8c1bb67a183fbb8 (patch) | |
tree | be112da259def4e93e8fb9d7ee077891ac1c6ff8 | |
parent | 42f7db63ff04042ee5c603f998cf6d2acdb2eb4c (diff) | |
parent | 08bdd8bc434ea0bd2c6eb4fb1a3a74870d7307c5 (diff) | |
download | nixlib-810f240c2a2bc9962764b507d8c1bb67a183fbb8.tar nixlib-810f240c2a2bc9962764b507d8c1bb67a183fbb8.tar.gz nixlib-810f240c2a2bc9962764b507d8c1bb67a183fbb8.tar.bz2 nixlib-810f240c2a2bc9962764b507d8c1bb67a183fbb8.tar.lz nixlib-810f240c2a2bc9962764b507d8c1bb67a183fbb8.tar.xz nixlib-810f240c2a2bc9962764b507d8c1bb67a183fbb8.tar.zst nixlib-810f240c2a2bc9962764b507d8c1bb67a183fbb8.zip |
Merge pull request #87949 from doronbehar/mpd-docs
mpd: enable tests + install docs + split outputs
-rw-r--r-- | pkgs/servers/mpd/default.nix | 60 |
1 files changed, 55 insertions, 5 deletions
diff --git a/pkgs/servers/mpd/default.nix b/pkgs/servers/mpd/default.nix index 8d862373b995..44118277a28b 100644 --- a/pkgs/servers/mpd/default.nix +++ b/pkgs/servers/mpd/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchFromGitHub, meson, ninja, pkgconfig, glib, systemd, boost, darwin +{ stdenv, fetchFromGitHub, meson, ninja, pkg-config, glib, systemd, boost, darwin # Inputs , curl, libmms, libnfs, samba # Archive support @@ -19,6 +19,13 @@ # Tag support , libid3tag , nixosTests +# For documentation +, doxygen +, python3Packages # for sphinx-build +# For tests +, gtest +, fetchpatch # used to fetch an upstream patch fixing a failing test +, zip }: let @@ -112,17 +119,60 @@ let 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.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; 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) ++ lib.optional (builtins.elem "zeroconf" features_) "-Dzeroconf=avahi" |