summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ninja.lua6
-rw-r--r--rules.ninja2
-rw-r--r--scripts/extract.sh9
-rw-r--r--scripts/fetch-curl.sh2
4 files changed, 8 insertions, 11 deletions
diff --git a/ninja.lua b/ninja.lua
index 7b6ed3eb..ca6822b3 100644
--- a/ninja.lua
+++ b/ninja.lua
@@ -392,12 +392,16 @@ end
function fetch(method)
local script
+ local deps = {'|', '$dir/ver', script}
if method == 'local' then
script = '$dir/fetch.sh'
else
script = '$basedir/scripts/fetch-'..method..'.sh'
+ if method == 'curl' then
+ table.insert(deps, '$builddir/pkg/pax/host/pax')
+ end
end
- build('fetch', '$dir/fetch', {'|', '$dir/ver', script}, {script=script})
+ build('fetch', '$dir/fetch', deps, {script=script})
if basedir ~= '.' then
build('phony', '$gendir/fetch', '$dir/fetch')
end
diff --git a/rules.ninja b/rules.ninja
index 9f7cfcaa..b0755c65 100644
--- a/rules.ninja
+++ b/rules.ninja
@@ -125,7 +125,7 @@ rule fspec-tar
command = $builddir/pkg/fspec-sync/host/fspec-tar <$in | zstd >$out
rule fetch
- command = cd $basedir && sh $$OLDPWD/$script $gendir && touch $$OLDPWD/$out
+ command = cd $basedir && PAX=$$OLDPWD/$builddir/pkg/pax/host/pax sh $$OLDPWD/$script $gendir && touch $$OLDPWD/$out
description = FETCH $gendir
restat = 1
generator = 1
diff --git a/scripts/extract.sh b/scripts/extract.sh
index 4a1ad044..5205bee0 100644
--- a/scripts/extract.sh
+++ b/scripts/extract.sh
@@ -8,11 +8,4 @@ case $file in
*) exit 0
esac
-if command -v bsdtar >/dev/null; then
- exec bsdtar -xf "$file" "$@"
-elif command -v pax >/dev/null; then
- "$tool" -d -c "$file" | pax -r "$@"
-else
- printf '%s: bsdtar or pax is required' "$0" >&2
- exit 1
-fi
+"$tool" -d -c "$file" | "$PAX" -r "$@"
diff --git a/scripts/fetch-curl.sh b/scripts/fetch-curl.sh
index 16cb88d7..0ff3d9a1 100644
--- a/scripts/fetch-curl.sh
+++ b/scripts/fetch-curl.sh
@@ -20,7 +20,7 @@ if ! sh "$OLDPWD/scripts/checksum.sh" -c sha256 2>/dev/null ; then
fi
while read -r _ archive ; do
- sh "$OLDPWD/scripts/extract.sh" "$archive" -s ',^[^/]*,src,' '*/*'
+ sh "$OLDPWD/scripts/extract.sh" "$archive" -s ',^[^/]*,src,'
done <sha256
if [ -d patch ] ; then