nix-overlay/pkgs/coreutils-advcpmv.nix

33 lines
1.7 KiB
Nix

{ fetchurl, coreutils }:
let
fetchpatch = { file, sha256 }: builtins.fetchurl { url = "https://raw.githubusercontent.com/jarun/advcpmv/master/" + file; inherit sha256; };
patches = {
# nix-hash --type sha256 --base32 --flat *.patch
"8.21" = fetchpatch { file = "advcpmv-0.5-8.21.patch"; sha256 = "15bhjj9f3wcnidxk3dsx1q0p74c2hyilf3zbjiy3wa3v166cgm79"; };
"8.24" = fetchpatch { file = "advcpmv-0.6-8.24.patch"; sha256 = "1f059nqsjcs0m0di0z8y6q1p8j84br05rklamqvd32g0mllc5272"; };
"8.25" = fetchpatch { file = "advcpmv-0.7-8.25.patch"; sha256 = "0zxflpvh1yg3j3v98h4w8j982dwc4vhan3rszklg59d1vjh38w1m"; };
"8.28" = fetchpatch { file = "advcpmv-0.8-8.28.patch"; sha256 = "06vqih7jyb629s510yxjqdv9g6lfvd2dkha17zv0jwhdbsw9d0vg"; };
"8.30" = fetchpatch { file = "advcpmv-0.8-8.30.patch"; sha256 = "06qw9amqd4wwwycjfscxybl1yxgg8x97rlfl32shcg2gamsxjm4r"; };
"8.31" = fetchpatch { file = "advcpmv-0.8-8.31.patch"; sha256 = "0m0plga0m9q8rcg9s2sihxap31q1z64a74jaypvyjzy01gcmccnq"; };
"8.32" = fetchpatch { file = "advcpmv-0.8-8.32.patch"; sha256 = "02h5cwxkzzm5dkf0v9dr39k3ndp506np9w1wrblxl8g02pbvj5sw"; };
};
in
coreutils.overrideAttrs (old: {
pname = "coreutils-advcpmv";
patches = (old.patches or []) ++ [
(
if patches ? ${old.version} then patches."${old.version}"
else throw "Missing advcpmv patch for coreutils version ${old.version}."
)
];
# With the patch above, these tests don't work anymore.
postPatch = old.postPatch + ''
sed '2i echo Skipping usage vs getopts test && exit 77' -i ./tests/misc/usage_vs_getopt.sh
sed '2i print "Skipping\n"; exit 77;' -i ./tests/mv/i-1.pl
sed '2i echo Skipping && exit 77' -i ./tests/mv/i-2.sh
'';
})