bins/gen-patches: initial script to help generate patches for nixpkgs
This commit is contained in:
parent
4ab16c9beb
commit
541dda9262
@ -13,10 +13,12 @@ let
|
||||
inherit gosignify;
|
||||
inherit (pkgs) curl;
|
||||
});
|
||||
genPatches = import ./gen-patches.nix { inherit pkgs; };
|
||||
|
||||
in {
|
||||
environment.systemPackages = with pkgs; [
|
||||
checkRestart
|
||||
genPatches
|
||||
ix
|
||||
sfetch
|
||||
tstart
|
||||
|
50
bins/gen-patches.nix
Normal file
50
bins/gen-patches.nix
Normal file
@ -0,0 +1,50 @@
|
||||
{ writeShellApplication, diffutils, findutils, coreutils, ... }:
|
||||
|
||||
let
|
||||
genPatches = writeShellApplication {
|
||||
name = "gen-patches";
|
||||
runtimeInputs = [ diffutils findutils coreutils ];
|
||||
text = ''
|
||||
suffix=".orig"
|
||||
srcdir=$PWD
|
||||
output="$PWD/patches"
|
||||
|
||||
usage() {
|
||||
echo "Usage: $0 [-s suffix (default .orig)] [-d source directory (default PWD)] [-o output directory (default PWD/patches)]" 1>&2;
|
||||
exit 1;
|
||||
}
|
||||
|
||||
while getopts "d:ho:s:" arg; do
|
||||
case $arg in
|
||||
d)
|
||||
srcdir=$OPTARG
|
||||
;;
|
||||
h)
|
||||
usage
|
||||
;;
|
||||
s)
|
||||
suffix=$OPTARG
|
||||
;;
|
||||
o)
|
||||
output=$OPTARG
|
||||
;;
|
||||
*)
|
||||
usage
|
||||
esac
|
||||
done
|
||||
|
||||
mkdir -p "$output"
|
||||
|
||||
# hold my be er!
|
||||
# shellcheck disable=SC2044
|
||||
for patch in $(find "$srcdir" -name "*$suffix"); do
|
||||
fname=$(basename "$patch" "$suffix")
|
||||
dname=$(dirname "$patch")
|
||||
file="$dname/$fname"
|
||||
outfile=$(echo "$dname/$fname" | sed 's;/;_;g')
|
||||
diff -u "$file" "$patch" > "$output/$outfile";
|
||||
echo "==> Created patch: $output/$outfile"
|
||||
done
|
||||
'';
|
||||
};
|
||||
in genPatches
|
Loading…
Reference in New Issue
Block a user