feat(zsh): add wrapper around extra-x86_64-build for caching downloaded dependencies

This commit is contained in:
George Rawlinson 2022-06-16 20:36:37 +12:00
parent f5c9f368f4
commit 7bb8288d93
Signed by: grawlinson
GPG key ID: E0959FEA8B550539

View file

@ -24,4 +24,49 @@ function tag2commit() {
git ls-remote $repository $tag
}
# wrapper around extra-x86_64-build for caching downloaded dependencies
# TODO expand to use testing/staging
function ab-extra() {
local EXTRA_ARGS=()
# capture output for parsing dependencies
makepkg_output=$(makepkg --printsrcinfo)
#
# cache various downloads
#
# rust - crates
if grep -q "depends = rust\|cargo" <<<"$makepkg_output"; then
EXTRA_ARGS+=(
-d /var/cache/cargo/git:/build/.cargo/git
-d /var/cache/cargo/registry:/build/.cargo/registry
)
fi
# go - modules
if grep -q "depends = go" <<<"$makepkg_output"; then
EXTRA_ARGS+=(
-d /var/cache/golang/pkg:/build/go/pkg
-d /var/cache/golang/build:/build/.cache/go-build
)
fi
# dart - packages
if grep -q "depends = dart" <<<"$makepkg_output"; then
EXTRA_ARGS+=(-d /var/cache/dartlang:/build/.pub-cache)
fi
# javascript - npm/yarn/pkg
if grep -q "depends = npm\|yarn\|nodejs" <<<"$makepkg_output"; then
EXTRA_ARGS+=(
-d /var/cache/javascript/npm:/build/.npm
-d /var/cache/javascript/pkg-cache:/build/.pkg-cache
-d /var/cache/javascript/yarn:/build/.cache/yarn
)
fi
extra-x86_64-build -- ${EXTRA_ARGS[@]} ${@}
}
# vim: ft=zsh expandtab tabstop=2 shiftwidth=2