diff options
Diffstat (limited to 'pkgs/games/ue4/generate-expr-from-cdn.sh')
-rw-r--r-- | pkgs/games/ue4/generate-expr-from-cdn.sh | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/pkgs/games/ue4/generate-expr-from-cdn.sh b/pkgs/games/ue4/generate-expr-from-cdn.sh new file mode 100644 index 00000000000..91cab1ca32f --- /dev/null +++ b/pkgs/games/ue4/generate-expr-from-cdn.sh @@ -0,0 +1,37 @@ +#!/bin/sh + +go() { + file="$1" + + IFS=$'\n' + for pack in $(perl -n -e '/(<Pack .*\/>)/ && print "$1\n"' $file); do + remotepath=$(echo "$pack" | perl -n -e '/RemotePath="([^"]*)"/ && print $1') + hash=$(echo "$pack" | perl -n -e '/Hash="([^"]*)"/ && print $1') + url="http://cdn.unrealengine.com/dependencies/$remotepath/$hash" + + until sha256=$(nix-prefetch-url $url --type sha256); do + true + done + + cat <<EOF + "$hash" = fetchurl { + url = $url; + sha256 = "$sha256"; + }; +EOF + done +} + + +cat <<EOF +{ fetchurl }: + +{ +EOF + +go Engine/Build/Commit.gitdeps.xml +go Engine/Build/Promoted.gitdeps.xml + +cat <<EOF +} +EOF |