nixpkgs/pkgs/misc/emulators/wine/staging.nix
Alexander V. Nikolaev ec7b6af024 wineStaging: allow to blacklist patchsets from staging
Due repeatable issues with xactengine-initial patchset.
Later, `disablePatchsets` can be extended to be overridable argument
of wineStaging.
2020-07-09 13:13:06 +03:00

29 lines
896 B
Nix

{ stdenv, callPackage, wineUnstable }:
with callPackage ./util.nix {};
let patch = (callPackage ./sources.nix {}).staging;
build-inputs = pkgNames: extra:
(mkBuildInputs wineUnstable.pkgArches pkgNames) ++ extra;
in assert stdenv.lib.getVersion wineUnstable == patch.version;
(stdenv.lib.overrideDerivation wineUnstable (self: {
buildInputs = build-inputs [ "perl" "utillinux" "autoconf" "gitMinimal" ] self.buildInputs;
name = "${self.name}-staging";
postPatch = self.postPatch or "" + ''
patchShebangs tools
cp -r ${patch}/patches .
chmod +w patches
cd patches
patchShebangs gitapply.sh
./patchinstall.sh DESTDIR="$PWD/.." --all ${stdenv.lib.concatMapStringsSep " " (ps: "-W ${ps}") patch.disabledPatchsets}
cd ..
'';
})) // {
meta = wineUnstable.meta // {
description = wineUnstable.meta.description + " (with staging patches)";
};
}