pthbs

Packaging Through Hashed Build Scripts
git clone https://ccx.te2000.cz/git/pthbs
Log | Files | Refs | Submodules | README

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:
Mcommand/pthbs-build | 10++++++++--
Mcommand/pthbs-download | 2++
Mdownloadlist.sha256 | 10++++++++--
Mpackages/busybox | 6+++---
Mpackages/busybox:bootstrap | 4++--
Mpackages/default.environment | 6++++--
Apackages/gnu-make | 59+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Mpackages/gnu-make:bootstrap | 6+++---
Apackages/musl-cross-make | 62++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Mpackages/musl-cross-make:bootstrap | 16+++++++++++++---
Mtemplates/genlinks | 2++
Mtemplates/pkg/default.environment | 2++
Atemplates/pkg/gnu-make | 27+++++++++++++++++++++++++++
Mtemplates/pkg/gnu-make:bootstrap | 3+--
Atemplates/pkg/musl-cross-make | 32++++++++++++++++++++++++++++++++
Mtemplates/pkg/musl-cross-make:bootstrap | 17++++++++++++++---
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 -%}