summary refs log tree commit diff
path: root/maintainers
diff options
context:
space:
mode:
Diffstat (limited to 'maintainers')
-rwxr-xr-xmaintainers/scripts/debian-patches.sh32
1 files changed, 32 insertions, 0 deletions
diff --git a/maintainers/scripts/debian-patches.sh b/maintainers/scripts/debian-patches.sh
new file mode 100755
index 0000000000000..78678473a49fd
--- /dev/null
+++ b/maintainers/scripts/debian-patches.sh
@@ -0,0 +1,32 @@
+#!/bin/sh
+
+# Download patches from debian project
+# Usage $0 debian-patches.txt debian-patches.nix
+# An example input and output files can be found in applications/graphics/xara/
+
+DEB_URL=http://patch-tracker.debian.org/patch/series/dl
+declare -a deb_patches
+mapfile -t deb_patches < $1
+
+prefix="${DEB_URL}/${deb_patches[0]}"
+
+if [[ -n "$2" ]]; then
+    exec 1> $2
+fi
+
+cat <<EOF
+# Generated by $(basename $0) from $(basename $1)
+let
+  prefix = "${prefix}";
+in
+[
+EOF
+for ((i=1;i < ${#deb_patches[@]}; ++i)); do
+    url="${prefix}/${deb_patches[$i]}"
+    sha256=$(nix-prefetch-url $url)
+    echo "  {"
+    echo "    url = \"\${prefix}/${deb_patches[$i]}\";"
+    echo "    sha256 = \"$sha256\";"
+    echo "  }"
+done
+echo "]"