about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/tools/misc/coreboot-toolchain/update.sh
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/development/tools/misc/coreboot-toolchain/update.sh')
-rwxr-xr-xnixpkgs/pkgs/development/tools/misc/coreboot-toolchain/update.sh38
1 files changed, 38 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/tools/misc/coreboot-toolchain/update.sh b/nixpkgs/pkgs/development/tools/misc/coreboot-toolchain/update.sh
new file mode 100755
index 000000000000..fc758e4ab021
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/misc/coreboot-toolchain/update.sh
@@ -0,0 +1,38 @@
+#!/usr/bin/env nix-shell
+#!nix-shell --pure -i bash -p nix cacert git getopt
+
+# shellcheck shell=bash
+
+if [ ! -d .git ]; then
+    echo "This script needs to be run from the root directory of nixpkgs. Exiting."
+    exit 1
+fi
+
+pkg_dir="$(dirname "$0")"
+
+src="$(nix-build . --no-out-link -A coreboot-toolchain.i386.src)"
+urls=$("${src}/util/crossgcc/buildgcc" -u)
+
+tmp=$(mktemp)
+echo '{ fetchurl }: [' >"$tmp"
+
+for url in $urls; do
+    name="$(basename "$url")"
+    hash="$(nix-prefetch-url "$url")"
+
+    cat <<EOF >>"$tmp"
+  {
+    name = "$name";
+    archive = fetchurl {
+      sha256 = "$hash";
+      url = "$url";
+    };
+  }
+EOF
+done
+
+echo ']' >>"$tmp"
+
+sed -ie 's/https\:\/\/ftpmirror\.gnu\.org/mirror\:\/\/gnu/g' "$tmp"
+
+mv "$tmp" "${pkg_dir}/sources.nix"