Quick Bash script for downloading all Package Catalog Protocol metadata - racket/racket GitHub Wiki
Quick Bash script for downloading all Package Catalog Protocol metadata. https://docs.racket-lang.org/pkg/catalog-protocol.html
Use sparingly. Sends N+1 GET requests, where N
is the number of packages returned by /pkgs
.
#! /usr/bin/env bash
set -xeo pipefail
directory="$1"
catalog="${2:-https://pkgs.racket-lang.org}"
[ ! -d "$directory" ]
set +x -u; : $1
mkdir -p "$directory"
cd "$directory"
curl --silent "$catalog/pkgs" | \
racket --eval '(display-lines (read))' | \
xargs --max-procs=$(nproc) --replace curl --silent --output '{}' "$catalog/pkg/{}"