commit f0eeceb69ac6be60b7ba845c5dba9c9e40eb966a
parent f91b3641b7f8535dc0801d07790e8ff6adc05c67
Author: Jan Pobříslo <ccx@te2000.cz>
Date: Mon, 12 Jun 2023 00:43:59 +0200
Add non-bootstrap mcm&make, prefetch mcm downloads
Diffstat:
16 files changed, 242 insertions(+), 22 deletions(-)
diff --git a/command/pthbs-build b/command/pthbs-build
@@ -40,15 +40,21 @@ function fatal(msg) {
}
function at_git(commit_id, dstdir){
- print "mkdir "q(dstdir)
+ print "mkdir -p "q(dstdir)
print "(cd "q(ENVIRON["basedir"]"/sources/by-commit/"commit_id)" && git archive --format=tar "q(commit_id)" ) | tar --no-same-owner --no-same-permissions -xC "q(dstdir)
}
function at_untar(extra_opts, hash_type, file_hash, dstdir){
+ print "mkdir -p "q(dstdir)
print "tar -x "extra_opts" -C "q(dstdir)" -f "q(ENVIRON["basedir"]"/files/by-"hash_type"/"file_hash)
}
-function at_filehash(hash_type, file_hash, dst){
+function at_filehash(hash_type, file_hash, dst, dstdir){
+ if(dst ~ /\//) {
+ dstdir = dst
+ sub("/[^/]*$", "", dstdir)
+ print "mkdir -p "q(dstdir)
+ }
print "cp -Lp "q(ENVIRON["basedir"]"/files/by-"hash_type"/"file_hash)" "q(dst)
}
diff --git a/command/pthbs-download b/command/pthbs-download
@@ -19,6 +19,8 @@ case $checksum_format in
esac
check() {
+ test -e "$filename" || return 1
+ ls -l "$filename"
find "$filename" -type f -size +"$size"c -delete
case $(find "$filename" -type f -size "$size"c -print) in
($filename);;
diff --git a/downloadlist.sha256 b/downloadlist.sha256
@@ -1,7 +1,13 @@
dd16fb1d67bfab79a72f5e8390735c49e3e8e70b4945a15ab1f81ddb78658fb3 2348200 https://ftp.gnu.org/gnu/make/make-4.4.1.tar.gz
8d284d896fca1c981b55850e92acd3ad9648a69227c028dda7ae3402af878edd 1125800 https://github.com/libcgroup/libcgroup/releases/download/v3.0/libcgroup-3.0.0.tar.gz
+
+# musl-cross-make
ab66fc2d1c3ec0359b8e08843c9f33b63e8707efdff5e4cc5c200eae24722cbf 21490848 https://ftpmirror.gnu.org/gnu/binutils/binutils-2.33.1.tar.xz
-c95da32f440378d7751dd95533186f7fc05ceb4fb65eb5b85234e6299eb9838e 72411232 https://ftpmirror.gnu.org/gnu/gcc/gcc-9.4.0/gcc-9.4.0.tar.xz
75d5d255a2a273b6e651f82eecfabf6cbcd8eaeae70e86b417384c8f4a58d8d3 36159 http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=3d5db9ebe860
+c95da32f440378d7751dd95533186f7fc05ceb4fb65eb5b85234e6299eb9838e 72411232 https://ftpmirror.gnu.org/gnu/gcc/gcc-9.4.0/gcc-9.4.0.tar.xz
+5275bb04f4863a13516b2f39392ac5e272f5e1bb8057b18aec1c9b79d73d8fb2 2386766 https://ftpmirror.gnu.org/gnu/gmp/gmp-6.1.2.tar.bz2
+995bc76ccf0c40d752b5ea67c022232a17eef6c9ec80ea74ea742e3c19992813 1078912 http://ftp.barfooze.de/pub/sabotage/tarballs//linux-headers-4.19.88-1.tar.xz
+6985c538143c1208dcb1ac42cedad6ff52e267b47e5f970183a3e75125b43c2e 701263 https://ftpmirror.gnu.org/gnu/mpc/mpc-1.1.0.tar.gz
+c05e3f02d09e0e9019384cdd58e0f19c64e6db1fd6f5ecf77b4b1c61ca253acc 1652074 https://ftpmirror.gnu.org/gnu/mpfr/mpfr-4.0.2.tar.bz2
+7d5b0b6062521e4627e099e4c9dc8248d32a30285e959b7eecaa780cf8cfd4a4 1058642 https://musl.libc.org/releases/musl-1.2.3.tar.gz
-# 995bc76ccf0c40d752b5ea67c022232a17eef6c9ec80ea74ea742e3c19992813 1078912 linux-headers-4.19.88-1.tar.xz
diff --git a/packages/busybox b/packages/busybox
@@ -1,8 +1,8 @@
#!/usr/bin/env pthbs-build
#+*
-#+musl-cross-make.82eddae52f39e802227bbec1e7641684bee0527d489786471dc183439a9b894f
-#+gnu-make.9e49ba21cb717e439f08ea97fbca88beb48e58d8a3e974ffcd633a5f73b338c5
-#+busybox.c16d531b39dd7b221a2cde667a82657170b29d61e215ff92d36859d302533e24
+#+musl-cross-make.0c34944f6aaa875c811406c587d7e32a12d9a2b16e7f7a69249b3b655537ebe6
+#+gnu-make.8adc5ec248e696c713183be588c6363e2c960bbd9b34aac5f1f7564195c106d7
+#+busybox.39594113db28f1087f7a4d9e69441a63a5f7d5c19c67e1574ed2c7b3c18e8c54
#@git:aa4d303a3139107919f73cece4eaf85a7dc75db6:busybox
#@sha256:e653a2f29743ec8f96d68f62c4db7c76db5ff769ec9e7cd6671397c7cc2b942f:busybox/.config
diff --git a/packages/busybox:bootstrap b/packages/busybox:bootstrap
@@ -4,8 +4,8 @@
#@sha256:e653a2f29743ec8f96d68f62c4db7c76db5ff769ec9e7cd6671397c7cc2b942f:busybox/.config
: ${JOBS:=1}
-mcm=/home/ccx/versions/musl-cross-make.82eddae52f39e802227bbec1e7641684bee0527d489786471dc183439a9b894f
-make=/home/ccx/versions/gnu-make.9e49ba21cb717e439f08ea97fbca88beb48e58d8a3e974ffcd633a5f73b338c5
+mcm=/home/ccx/versions/musl-cross-make.0c34944f6aaa875c811406c587d7e32a12d9a2b16e7f7a69249b3b655537ebe6
+make=/home/ccx/versions/gnu-make.8adc5ec248e696c713183be588c6363e2c960bbd9b34aac5f1f7564195c106d7
export PATH="$mcm/bin:$make/bin:$PATH"
export CC="$mcm/bin/x86_64-linux-musl-gcc"
diff --git a/packages/default.environment b/packages/default.environment
@@ -1 +1,3 @@
-#+busybox.63495dcc0263b847d3c17f49888290a870ca9eaba5a76754407f5c6a1cd66514-
\ No newline at end of file
+#+busybox.82e5186befcbaf4d3f895e2707ce9a01c71c416466243c48c190af4a23d99fd5
+#+gnu-make.5f616652125767423ce6e04597e03f0a217ca08efa0537614e59636ab046791a
+#+musl-cross-make.afda8ae3d5b53401a13c33781ffa3a737d58407dca5eb70a6a987a28ab458663+
\ No newline at end of file
diff --git a/packages/gnu-make b/packages/gnu-make
@@ -0,0 +1,59 @@
+#!/usr/bin/env pthbs-build
+#+*
+#+musl-cross-make.0c34944f6aaa875c811406c587d7e32a12d9a2b16e7f7a69249b3b655537ebe6
+#+gnu-make.8adc5ec248e696c713183be588c6363e2c960bbd9b34aac5f1f7564195c106d7
+#+busybox.39594113db28f1087f7a4d9e69441a63a5f7d5c19c67e1574ed2c7b3c18e8c54
+#@untar:-vz:sha256:dd16fb1d67bfab79a72f5e8390735c49e3e8e70b4945a15ab1f81ddb78658fb3:.
+
+: ${JOBS:=1}
+
+export CC="$pthbs_build_environment/command/x86_64-linux-musl-gcc"
+export CXX="$pthbs_build_environment/command/x86_64-linux-musl-g++"
+export LD="$pthbs_build_environment/command/x86_64-linux-musl-ld"
+export AR="$pthbs_build_environment/command/x86_64-linux-musl-ar"
+export CFLAGS="-D_GNU_SOURCE"
+export LDFLAGS="-static"
+
+cd make-4.4.1
+./configure -C --prefix="/home/ccx/versions/$pthbs_package" --build="$($CC -dumpmachine)" --disable-nls
+
+make -j$JOBS -l$(1+JOBS)
+make DESTDIR="$pthbs_destdir" install-strip
+
+cd "$pthbs_destdir/home/ccx/versions/$pthbs_package"
+find -type d -o -print | awk -F/ '
+BEGIN {
+ x["./bin/make"]=1
+ x["./share/man/man1/make.1"]=1
+}
+
+function r1(s) {
+ sub("^[.]/[^/]*", ".", s)
+ return s
+}
+function s1(repl, s) {
+ sub("^[.]/[^/]*", "./"repl, s)
+ return s
+}
+function link(src) {
+ x[$0]=0
+ printf "%s\t%s\n", $0, src
+}
+$1!="."{exit 1}
+
+
+$2 == "share" && $3 ~ /^(info|man)$/ { link(r1($0)); next }
+$2 == "bin" { link(s1("command", $0)); next }
+$2 == "include" { link($0); next }
+$2 == "lib" { link($0); next }
+
+END {
+ for(fname in x) { printf "DEBUG: x[\"%s\"]=\"%s\"\n", fname, x[fname] >"/dev/stderr" }
+ for(fname in x) {
+ if(x[fname]) {
+ printf "ERROR: missing expected file \"%s\"\n", fname >"/dev/stderr"
+ exit 3
+ }
+ }
+}' >.install-links.new
+mv .install-links.new .install-links
diff --git a/packages/gnu-make:bootstrap b/packages/gnu-make:bootstrap
@@ -3,8 +3,7 @@
#@untar:-vz:sha256:dd16fb1d67bfab79a72f5e8390735c49e3e8e70b4945a15ab1f81ddb78658fb3:.
: ${JOBS:=1}
-pthbs_versions=/home/ccx/versions
-mcm=/home/ccx/versions/musl-cross-make.82eddae52f39e802227bbec1e7641684bee0527d489786471dc183439a9b894f
+mcm=/home/ccx/versions/musl-cross-make.0c34944f6aaa875c811406c587d7e32a12d9a2b16e7f7a69249b3b655537ebe6
export PATH="$mcm/bin:$PATH"
export CC="$mcm/bin/x86_64-linux-musl-gcc"
@@ -13,7 +12,7 @@ export CFLAGS="-D_GNU_SOURCE"
export LDFLAGS="-static"
cd make-4.4.1
-./configure -C --prefix="$pthbs_versions/$pthbs_package" --build="$($CC -dumpmachine)" --disable-nls
+./configure -C --prefix="/home/ccx/versions/$pthbs_package" --build="$($CC -dumpmachine)" --disable-nls
make -j$JOBS -l$(1+JOBS)
make DESTDIR="$pthbs_destdir" install-strip
@@ -39,6 +38,7 @@ function link(src) {
}
$1!="."{exit 1}
+
$2 == "share" && $3 ~ /^(info|man)$/ { link(r1($0)); next }
$2 == "bin" { link(s1("command", $0)); next }
$2 == "include" { link($0); next }
diff --git a/packages/musl-cross-make b/packages/musl-cross-make
@@ -0,0 +1,62 @@
+#!/usr/bin/env pthbs-build
+#+*
+#+musl-cross-make.0c34944f6aaa875c811406c587d7e32a12d9a2b16e7f7a69249b3b655537ebe6
+#+gnu-make.8adc5ec248e696c713183be588c6363e2c960bbd9b34aac5f1f7564195c106d7
+#+busybox.39594113db28f1087f7a4d9e69441a63a5f7d5c19c67e1574ed2c7b3c18e8c54
+#@git:fe915821b652a7fa37b34a596f47d8e20bc72338:musl-cross-make
+#@sha256:ab66fc2d1c3ec0359b8e08843c9f33b63e8707efdff5e4cc5c200eae24722cbf:musl-cross-make/sources/binutils-2.33.1.tar.xz
+#@sha256:75d5d255a2a273b6e651f82eecfabf6cbcd8eaeae70e86b417384c8f4a58d8d3:musl-cross-make/sources/config.sub
+#@sha256:c95da32f440378d7751dd95533186f7fc05ceb4fb65eb5b85234e6299eb9838e:musl-cross-make/sources/gcc-9.4.0.tar.xz
+#@sha256:5275bb04f4863a13516b2f39392ac5e272f5e1bb8057b18aec1c9b79d73d8fb2:musl-cross-make/sources/gmp-6.1.2.tar.bz2
+#@sha256:995bc76ccf0c40d752b5ea67c022232a17eef6c9ec80ea74ea742e3c19992813:musl-cross-make/sources/linux-headers-4.19.88-1.tar.xz
+#@sha256:6985c538143c1208dcb1ac42cedad6ff52e267b47e5f970183a3e75125b43c2e:musl-cross-make/sources/mpc-1.1.0.tar.gz
+#@sha256:c05e3f02d09e0e9019384cdd58e0f19c64e6db1fd6f5ecf77b4b1c61ca253acc:musl-cross-make/sources/mpfr-4.0.2.tar.bz2
+#@sha256:7d5b0b6062521e4627e099e4c9dc8248d32a30285e959b7eecaa780cf8cfd4a4:musl-cross-make/sources/musl-1.2.3.tar.gz
+
+: ${JOBS:=1}
+export CC="$pthbs_build_environment/command/x86_64-linux-musl-gcc"
+export HOSTCC="$pthbs_build_environment/command/x86_64-linux-musl-gcc"
+
+printf '%s\n' >musl-cross-make/config.mak "OUTPUT=${pthbs_destdir%/}/home/ccx/versions/$pthbs_package" "TARGET=x86_64-linux-musl"
+touch musl-cross-make/sources/*
+make -C musl-cross-make -j$JOBS -l$((1+$JOBS)) || exit $?
+make -C musl-cross-make install || exit $?
+
+cd "$pthbs_destdir/home/ccx/versions/$pthbs_package"
+find -type d -o -print | awk -F/ '
+BEGIN {
+ x["./bin/x86_64-linux-musl-g++"]=1
+ x["./bin/x86_64-linux-musl-gcc"]=1
+}
+
+function r1(s) {
+ sub("^[.]/[^/]*", ".", s)
+ return s
+}
+function s1(repl, s) {
+ sub("^[.]/[^/]*", "./"repl, s)
+ return s
+}
+function link(src) {
+ x[$0]=0
+ printf "%s\t%s\n", $0, src
+}
+$1!="."{exit 1}
+
+
+$2 == "bin" && $3 ~ /^x86_64-linux-musl-/ { target=$3; sub("x86_64-linux-musl-","",s); link("./command/" target) }
+$2 == "share" && $3 ~ /^(info|man)$/ { link(r1($0)); next }
+$2 == "bin" { link(s1("command", $0)); next }
+$2 == "include" { link($0); next }
+$2 == "lib" { link($0); next }
+
+END {
+ for(fname in x) { printf "DEBUG: x[\"%s\"]=\"%s\"\n", fname, x[fname] >"/dev/stderr" }
+ for(fname in x) {
+ if(x[fname]) {
+ printf "ERROR: missing expected file \"%s\"\n", fname >"/dev/stderr"
+ exit 3
+ }
+ }
+}' >.install-links.new
+mv .install-links.new .install-links
diff --git a/packages/musl-cross-make:bootstrap b/packages/musl-cross-make:bootstrap
@@ -1,11 +1,19 @@
#!/usr/bin/env pthbs-build
#+*
#@git:fe915821b652a7fa37b34a596f47d8e20bc72338:musl-cross-make
+#@sha256:ab66fc2d1c3ec0359b8e08843c9f33b63e8707efdff5e4cc5c200eae24722cbf:musl-cross-make/sources/binutils-2.33.1.tar.xz
+#@sha256:75d5d255a2a273b6e651f82eecfabf6cbcd8eaeae70e86b417384c8f4a58d8d3:musl-cross-make/sources/config.sub
+#@sha256:c95da32f440378d7751dd95533186f7fc05ceb4fb65eb5b85234e6299eb9838e:musl-cross-make/sources/gcc-9.4.0.tar.xz
+#@sha256:5275bb04f4863a13516b2f39392ac5e272f5e1bb8057b18aec1c9b79d73d8fb2:musl-cross-make/sources/gmp-6.1.2.tar.bz2
+#@sha256:995bc76ccf0c40d752b5ea67c022232a17eef6c9ec80ea74ea742e3c19992813:musl-cross-make/sources/linux-headers-4.19.88-1.tar.xz
+#@sha256:6985c538143c1208dcb1ac42cedad6ff52e267b47e5f970183a3e75125b43c2e:musl-cross-make/sources/mpc-1.1.0.tar.gz
+#@sha256:c05e3f02d09e0e9019384cdd58e0f19c64e6db1fd6f5ecf77b4b1c61ca253acc:musl-cross-make/sources/mpfr-4.0.2.tar.bz2
+#@sha256:7d5b0b6062521e4627e099e4c9dc8248d32a30285e959b7eecaa780cf8cfd4a4:musl-cross-make/sources/musl-1.2.3.tar.gz
: ${JOBS:=1}
-export TARGET=x86_64-linux-musl
-printf '%s\n' >musl-cross-make/config.mak "OUTPUT=${pthbs_destdir%/}/home/ccx/versions/$pthbs_package"
-make -C musl-cross-make -j$JOBS -l$(1+$JOBS) || exit $?
+printf '%s\n' >musl-cross-make/config.mak "OUTPUT=${pthbs_destdir%/}/home/ccx/versions/$pthbs_package" "TARGET=x86_64-linux-musl"
+touch musl-cross-make/sources/*
+make -C musl-cross-make -j$JOBS -l$((1+$JOBS)) || exit $?
make -C musl-cross-make install || exit $?
cd "$pthbs_destdir/home/ccx/versions/$pthbs_package"
@@ -29,6 +37,8 @@ function link(src) {
}
$1!="."{exit 1}
+
+$2 == "bin" && $3 ~ /^x86_64-linux-musl-/ { target=$3; sub("x86_64-linux-musl-","",s); link("./command/" target) }
$2 == "share" && $3 ~ /^(info|man)$/ { link(r1($0)); next }
$2 == "bin" { link(s1("command", $0)); next }
$2 == "include" { link($0); next }
diff --git a/templates/genlinks b/templates/genlinks
@@ -23,6 +23,8 @@ function link(src) {
}
$1!="."{exit 1}
+{% block rules %}
+{% endblock -%}
$2 == "share" && $3 ~ /^(info|man)$/ { link(r1($0)); next }
$2 == "bin" { link(s1("command", $0)); next }
$2 == "include" { link($0); next }
diff --git a/templates/pkg/default.environment b/templates/pkg/default.environment
@@ -1 +1,3 @@
#+{{pkg_install_name("busybox")}}
+#+{{pkg_install_name("gnu-make")}}
+#+{{pkg_install_name("musl-cross-make")}}
diff --git a/templates/pkg/gnu-make b/templates/pkg/gnu-make
@@ -0,0 +1,27 @@
+{% extends "genlinks" %}
+{%- block script %}
+#+*
+#+{{pkg_install_name("musl-cross-make:bootstrap")}}
+#+{{pkg_install_name("gnu-make:bootstrap")}}
+#+{{pkg_install_name("busybox:bootstrap")}}
+#@untar:-vz:sha256:dd16fb1d67bfab79a72f5e8390735c49e3e8e70b4945a15ab1f81ddb78658fb3:.
+
+: ${JOBS:=1}
+
+export CC="$pthbs_build_environment/command/{{triplet}}-gcc"
+export CXX="$pthbs_build_environment/command/{{triplet}}-g++"
+export LD="$pthbs_build_environment/command/{{triplet}}-ld"
+export AR="$pthbs_build_environment/command/{{triplet}}-ar"
+export CFLAGS="-D_GNU_SOURCE"
+export LDFLAGS="-static"
+
+cd make-4.4.1
+./configure -C --prefix="{{versions}}/$pthbs_package" --build="$($CC -dumpmachine)" --disable-nls
+
+make -j$JOBS -l$(1+JOBS)
+make DESTDIR="$pthbs_destdir" install-strip
+{% endblock %}
+{% block genlinks_begin %}
+ x["./bin/make"]=1
+ x["./share/man/man1/make.1"]=1
+{% endblock %}
diff --git a/templates/pkg/gnu-make:bootstrap b/templates/pkg/gnu-make:bootstrap
@@ -4,7 +4,6 @@
#@untar:-vz:sha256:dd16fb1d67bfab79a72f5e8390735c49e3e8e70b4945a15ab1f81ddb78658fb3:.
: ${JOBS:=1}
-pthbs_versions=/home/ccx/versions
mcm={{versions}}/musl-cross-make.{{pkg_sha256("musl-cross-make:bootstrap")}}
export PATH="$mcm/bin:$PATH"
@@ -14,7 +13,7 @@ export CFLAGS="-D_GNU_SOURCE"
export LDFLAGS="-static"
cd make-4.4.1
-./configure -C --prefix="$pthbs_versions/$pthbs_package" --build="$($CC -dumpmachine)" --disable-nls
+./configure -C --prefix="{{versions}}/$pthbs_package" --build="$($CC -dumpmachine)" --disable-nls
make -j$JOBS -l$(1+JOBS)
make DESTDIR="$pthbs_destdir" install-strip
diff --git a/templates/pkg/musl-cross-make b/templates/pkg/musl-cross-make
@@ -0,0 +1,32 @@
+{% extends "genlinks" %}
+{%- block script %}
+#+*
+#+{{pkg_install_name("musl-cross-make:bootstrap")}}
+#+{{pkg_install_name("gnu-make:bootstrap")}}
+#+{{pkg_install_name("busybox:bootstrap")}}
+#@git:fe915821b652a7fa37b34a596f47d8e20bc72338:musl-cross-make
+#@sha256:ab66fc2d1c3ec0359b8e08843c9f33b63e8707efdff5e4cc5c200eae24722cbf:musl-cross-make/sources/binutils-2.33.1.tar.xz
+#@sha256:75d5d255a2a273b6e651f82eecfabf6cbcd8eaeae70e86b417384c8f4a58d8d3:musl-cross-make/sources/config.sub
+#@sha256:c95da32f440378d7751dd95533186f7fc05ceb4fb65eb5b85234e6299eb9838e:musl-cross-make/sources/gcc-9.4.0.tar.xz
+#@sha256:5275bb04f4863a13516b2f39392ac5e272f5e1bb8057b18aec1c9b79d73d8fb2:musl-cross-make/sources/gmp-6.1.2.tar.bz2
+#@sha256:995bc76ccf0c40d752b5ea67c022232a17eef6c9ec80ea74ea742e3c19992813:musl-cross-make/sources/linux-headers-4.19.88-1.tar.xz
+#@sha256:6985c538143c1208dcb1ac42cedad6ff52e267b47e5f970183a3e75125b43c2e:musl-cross-make/sources/mpc-1.1.0.tar.gz
+#@sha256:c05e3f02d09e0e9019384cdd58e0f19c64e6db1fd6f5ecf77b4b1c61ca253acc:musl-cross-make/sources/mpfr-4.0.2.tar.bz2
+#@sha256:7d5b0b6062521e4627e099e4c9dc8248d32a30285e959b7eecaa780cf8cfd4a4:musl-cross-make/sources/musl-1.2.3.tar.gz
+
+: ${JOBS:=1}
+export CC="$pthbs_build_environment/command/{{triplet}}-gcc"
+export HOSTCC="$pthbs_build_environment/command/{{triplet}}-gcc"
+
+printf '%s\n' >musl-cross-make/config.mak "OUTPUT=${pthbs_destdir%/}{{versions}}/$pthbs_package" "TARGET={{triplet}}"
+touch musl-cross-make/sources/*
+make -C musl-cross-make -j$JOBS -l$((1+$JOBS)) || exit $?
+make -C musl-cross-make install || exit $?
+{% endblock %}
+{% block genlinks_begin %}
+ x["./bin/{{triplet}}-g++"]=1
+ x["./bin/{{triplet}}-gcc"]=1
+{% endblock %}
+{% block rules %}
+$2 == "bin" && $3 ~ /^{{triplet}}-/ { target=$3; sub("{{triplet}}-","",s); link("./command/" target) }
+{% endblock -%}
diff --git a/templates/pkg/musl-cross-make:bootstrap b/templates/pkg/musl-cross-make:bootstrap
@@ -2,14 +2,25 @@
{%- block script %}
#+*
#@git:fe915821b652a7fa37b34a596f47d8e20bc72338:musl-cross-make
+#@sha256:ab66fc2d1c3ec0359b8e08843c9f33b63e8707efdff5e4cc5c200eae24722cbf:musl-cross-make/sources/binutils-2.33.1.tar.xz
+#@sha256:75d5d255a2a273b6e651f82eecfabf6cbcd8eaeae70e86b417384c8f4a58d8d3:musl-cross-make/sources/config.sub
+#@sha256:c95da32f440378d7751dd95533186f7fc05ceb4fb65eb5b85234e6299eb9838e:musl-cross-make/sources/gcc-9.4.0.tar.xz
+#@sha256:5275bb04f4863a13516b2f39392ac5e272f5e1bb8057b18aec1c9b79d73d8fb2:musl-cross-make/sources/gmp-6.1.2.tar.bz2
+#@sha256:995bc76ccf0c40d752b5ea67c022232a17eef6c9ec80ea74ea742e3c19992813:musl-cross-make/sources/linux-headers-4.19.88-1.tar.xz
+#@sha256:6985c538143c1208dcb1ac42cedad6ff52e267b47e5f970183a3e75125b43c2e:musl-cross-make/sources/mpc-1.1.0.tar.gz
+#@sha256:c05e3f02d09e0e9019384cdd58e0f19c64e6db1fd6f5ecf77b4b1c61ca253acc:musl-cross-make/sources/mpfr-4.0.2.tar.bz2
+#@sha256:7d5b0b6062521e4627e099e4c9dc8248d32a30285e959b7eecaa780cf8cfd4a4:musl-cross-make/sources/musl-1.2.3.tar.gz
: ${JOBS:=1}
-export TARGET={{triplet}}
-printf '%s\n' >musl-cross-make/config.mak "OUTPUT=${pthbs_destdir%/}{{versions}}/$pthbs_package"
-make -C musl-cross-make -j$JOBS -l$(1+$JOBS) || exit $?
+printf '%s\n' >musl-cross-make/config.mak "OUTPUT=${pthbs_destdir%/}{{versions}}/$pthbs_package" "TARGET={{triplet}}"
+touch musl-cross-make/sources/*
+make -C musl-cross-make -j$JOBS -l$((1+$JOBS)) || exit $?
make -C musl-cross-make install || exit $?
{% endblock %}
{% block genlinks_begin %}
x["./bin/{{triplet}}-g++"]=1
x["./bin/{{triplet}}-gcc"]=1
{% endblock %}
+{% block rules %}
+$2 == "bin" && $3 ~ /^{{triplet}}-/ { target=$3; sub("{{triplet}}-","",s); link("./command/" target) }
+{% endblock -%}