diff options
author | Mark Ferrell <major@homeonderanged.org> | 2014-04-08 08:52:09 -0700 |
---|---|---|
committer | Mark Ferrell <major@homeonderanged.org> | 2014-04-08 08:52:09 -0700 |
commit | 30b418416a1a7ed3ab23fe52c7552a2846481024 (patch) | |
tree | dcdcc28ed7a1148badea2d48f5ed8408f1afd8de /libexec/build-fetch-http | |
parent | f101ae8e29a6af278210e081b047412a19cb66f9 (diff) |
Handle various fetch methods as sub-cmds to fetch
Diffstat (limited to 'libexec/build-fetch-http')
-rwxr-xr-x | libexec/build-fetch-http | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/libexec/build-fetch-http b/libexec/build-fetch-http new file mode 100755 index 0000000..aa285de --- /dev/null +++ b/libexec/build-fetch-http @@ -0,0 +1,36 @@ +#!/usr/bin/env build + +build_fetch_http_cleanup() +{ + test -z "${BUILD_FETCH_HTTP_TMP}" || rm -f "${BUILD_FETCH_HTTP_TMP}" +} + +build_fetch_wget() { wget --quiet -O "${2}" "${1}"; } + +build_fetch_http() +{ + set -- "${1}" "`build-make-fetch --name "${1}"`" + + test -d "${BUILDER_SRCDIR}" || mkdir -p "${BUILDER_SRCDIR}" + test -f "${BUILDER_SRCDIR}/${2}" && return + + BUILD_FETCH_HTTP_TMP="`mktemp "${BUILDER_TMPDIR}/${2}.XXXXXX"`" + BUILDER_CLEANUP="${BUILDER_CLEANUP} build_fetch_http_cleanup" + + build_fetch_cmd "${1}" "${BUILD_FETCH_HTTP_TMP}" && \ + mv "${BUILD_FETCH_HTTP_TMP}" "${BUILDER_SRCDIR}/${2}" +} + +build_fetch_cmd() { die "no command available to fetch '${1}'"; } +for cmd in wget; do + command -v "${cmd}" > /dev/null 2>&1 || continue + eval "build_fetch_cmd() { build_fetch_${cmd} \"\$@\"; }" + break +done +unset cmd + +if test "${BUILDER_CALL_STACK}" = '__main__'; then + build_fetch_http "${1}" +fi + +# vim: filetype=sh |