#! /usr/bin/env nix-shell #! nix-shell -i bash -p coreutils findutils gnused nix wget set -efuo pipefail SRCS= if [ -d "$1" ]; then SRCS="$(pwd)/$1/srcs.nix" . "$1/fetch.sh" else SRCS="$(pwd)/$(dirname $1)/srcs.nix" . "$1" fi tmp=$(mktemp -d) pushd $tmp >/dev/null wget -nH -r -c --no-parent "${WGET_ARGS[@]}" >/dev/null csv=$(mktemp) find . -type f | while read src; do # Sanitize file name filename=$(basename "$src" | tr '@' '_') nameVersion="${filename%.tar.*}" name=$(echo "$nameVersion" | sed -e 's,-[[:digit:]].*,,' | sed -e 's,-opensource-src$,,' | sed -e 's,-everywhere-src$,,') version=$(echo "$nameVersion" | sed -e 's,^\([[:alpha:]][[:alnum:]]*-\)\+,,') echo "$name,$version,$src,$filename" >>$csv done cat >"$SRCS" <>"$SRCS" <>"$SRCS" popd >/dev/null rm -fr $tmp >/dev/null rm -f $csv >/dev/null