anchor.diff:  # Tag support
   , libid3tag
   , nixosTests
  +# For tests
  +, gtest
  +, fetchpatch # used to fetch an upstream patch fixing a failing test
  +, zip
   }:
   
   let
  
positive.code:         pkg-config
        ];
  
        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"
  
negative.code:         sha256 = "0jnhjhm1ilpcwb4f58b8pgyzjq3dlr0j2xyk0zck0afwkdxyj9cb";
        };
  
        # 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 ];
  