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 gosignify;
|
||||||
inherit (pkgs) curl;
|
inherit (pkgs) curl;
|
||||||
});
|
});
|
||||||
|
genPatches = import ./gen-patches.nix { inherit pkgs; };
|
||||||
|
|
||||||
in {
|
in {
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
checkRestart
|
checkRestart
|
||||||
|
genPatches
|
||||||
ix
|
ix
|
||||||
sfetch
|
sfetch
|
||||||
tstart
|
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