ulthar.xyz > Repos

leibowitz

Experimental Common Lisp object storage abstraction for Unix file systems
About Files Commits git clone https://ulthar.xyz/repos/leibowitz/leibowitz.git

leibowitz/etc/scripts/fetch_dependencies.sh

Download raw file: etc/scripts/fetch_dependencies.sh

#!/bin/sh

set -e

[ -f "leibowitz.asd" ] || {
	echo "WARNING: script must be run at the root of repository" 2>&1
	exit 1
}

assert_checksum() {
	file="$1"
	known_hash="$2"
	computed_hash="$(sha1sum "$file" | cut -d ' ' -f1 | tr -d '\n')"
	if [ "$known_hash" = "$computed_hash" ]; then
		echo "Checksum okay."
	else
		echo "SHA1 checksum verification failed for $file!"
		echo "Known hash $known_hash ≠ $computed_hash; aborting"
		exit 1
	fi
}

fetch_dependency() {
	name="$(echo "$1" | awk '{print $1}')"
	sha1="$(echo  "$1" | awk '{print $2}')"
	url="$(echo  "$1" | awk '{print $3}' | sed 's/^http/https/')"
	dir="build/dependencies"
	mkdir -p "$dir"
	echo "Fetching $name from $url..."
	curl -O --output-dir "$dir" "$url"
	tarball=$dir/$name-*.tgz
	# assert_checksum "$tarball" "$sha1"
	tar xzf $tarball -C "$dir"
}

while read -r line; do fetch_dependency "$line" ; done < ./etc/dependencies.txt
Generated 2024-06-10 19:24:14 -0700 by RepoRat