summary refs log tree commit diff
path: root/maintainers/scripts/debian-patches.sh
blob: de6be136ca778b5b7f98eb9ad3d5a13a78f8c399 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#!/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 tools/graphics/plotutils

DEB_URL=https://sources.debian.org/data/main
declare -a deb_patches
mapfile -t deb_patches < $1

# First letter
deb_prefix="${deb_patches[0]:0:1}"
prefix="${DEB_URL}/${deb_prefix}/${deb_patches[0]}/debian/patches"

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 "]"