about summary refs log tree commit diff
path: root/pkgs/tools/typesetting/tex/texlive/fixHashes.awk
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/tools/typesetting/tex/texlive/fixHashes.awk')
-rwxr-xr-xpkgs/tools/typesetting/tex/texlive/fixHashes.awk24
1 files changed, 24 insertions, 0 deletions
diff --git a/pkgs/tools/typesetting/tex/texlive/fixHashes.awk b/pkgs/tools/typesetting/tex/texlive/fixHashes.awk
new file mode 100755
index 000000000000..88ba0bc15289
--- /dev/null
+++ b/pkgs/tools/typesetting/tex/texlive/fixHashes.awk
@@ -0,0 +1,24 @@
+#!/usr/bin/env nix-shell
+#! nix-shell -i "gawk -f" -p gawk
+
+BEGIN {
+  print "{"
+}
+
+/-texlive-/ && !/\.bin/ {
+  if (match($0, /-texlive-([^\/]*)/, m) == 0) {
+    print "No match for \""$0"\"" > "/dev/stderr"
+    exit 1
+  }
+  cmd="nix-hash --type sha1 --base32 "$0
+  if (( cmd | getline hash ) <= 0) {
+    print "Error executing nix-hash" > "/dev/stderr"
+    exit 1
+  }
+  close(cmd)
+  printf("\"%s\"=\"%s\";\n", m[1], hash)
+}
+
+END {
+  print "}"
+}