commit a4e0f1238f6294240eeed3bd71384ca16fba7fb0
parent 9da432ab7fc9e456aa939c5499bf931322949202
Author: Jan Pobrislo <ccx@te2000.cz>
Date: Wed, 17 Dec 2025 10:35:49 +0000
remove copies of old toolchain, enable debug for gcc
Diffstat:
14 files changed, 5 insertions(+), 805 deletions(-)
diff --git a/templates/pkg/busybox:old b/templates/pkg/busybox:old
@@ -1,41 +0,0 @@
-#!/usr/bin/env pthbs-build
-#+{{pkg_install_name("musl-cross-make:old")}}
-#+{{pkg_install_name("gnu-make:oldbootstrap")}}
-#+{{pkg_install_name("busybox:oldbootstrap")}}
-#+{{pkg_install_name("nawk:bootstrap")}}
-#@sha256:31b8f61d2173fa36d4409e8e91f52088691d6ba4db13efe19ea7ae7512e64275:busybox/.config
-#@git:3621595939e43a831d66f6b757d4f410029bff95:busybox
-
-
-# - build script start -
-
-prefix=/home/ccx/versions/$pthbs_package
-dest=${pthbs_destdir%/}${prefix}
-cd 'busybox'
-
-export CC="$pthbs_build_environment/command/x86_64-linux-musl-gcc"
-export CFLAGS="-D_GNU_SOURCE"
-export LDFLAGS="-static"
-
-cat >>.config <<EOF
-CONFIG_BUSYBOX_EXEC_PATH="${prefix}/command/busybox"
-EOF
-make oldconfig
-cat .config
-
-
-make V=1 CROSS_COMPILE=x86_64-linux-musl- LDFLAGS=-static HOSTLDFLAGS=-static \
- HOSTCC="$CC -static" CC="$CC -static" HOSTCFLAGS=-D_GNU_SOURCE -j${JOBS:-1}
-
-mkdir -p "${dest}/command"
-cp -a busybox "${dest}/command/"
-
-
-
-
-cd "${dest}"
-echo false | ./command/busybox --list >/dev/null # test if it works
-printf "./command/busybox\t./command/%s\n" busybox bbconfig >.install-links.new
-mv .install-links.new .install-links
-
-{# extra line for matching hash #}
diff --git a/templates/pkg/busybox:oldbootstrap b/templates/pkg/busybox:oldbootstrap
@@ -1,37 +0,0 @@
-#!/usr/bin/env pthbs-build
-#@pragma:nosandbox
-#@pragma:nopath
-#+{{pkg_install_name("musl-cross-make:oldbootstrap-1")}}
-#+{{pkg_install_name("gnu-make:oldbootstrap")}}
-#@git:8d7ae80eda7e08ee361f8793683ae58216caf720:busybox
-#@sha256:{{files["busybox_bootstrap.config-8d7ae80eda7e"]}}:busybox/.config
-
-mcm={{versions}}/{{pkg_install_name("musl-cross-make:oldbootstrap-1")}}
-make={{versions}}/{{pkg_install_name("gnu-make:oldbootstrap")}}
-
-export PATH="$mcm/command:$make/command:$PATH"
-export CC="$mcm/command/{{triplet}}-gcc"
-export CFLAGS="-D_GNU_SOURCE"
-export LDFLAGS="-static"
-
-cd busybox
-$make/{{bindir}}/make \
- -j${JOBS:-1} \
- V=1 \
- CROSS_COMPILE={{triplet}}- \
- LDFLAGS=-static \
- HOSTLDFLAGS=-static \
- HOSTCC="$CC -static" \
- CC="$CC -static" \
- HOSTCFLAGS=-D_GNU_SOURCE \
-
-mkdir -p "$pthbs_destdir{{versions}}/$pthbs_package/command"
-cp -a busybox "$pthbs_destdir{{versions}}/$pthbs_package/command/"
-cd "$pthbs_destdir{{versions}}/$pthbs_package"
-echo false | ./command/busybox --list >/dev/null # test if it works
-./command/busybox --list | awk '
-$0 == "awk" { next } # seems buggy, use nawk instead
-$0 == "bbconfig" { next }
-{ print "./command/busybox\t./command/" $0 }
-' >.install-links.new
-mv .install-links.new .install-links
diff --git a/templates/pkg/gcc b/templates/pkg/gcc
@@ -96,7 +96,7 @@ mkdir "$objdir"
cd "$objdir"
st='-static --static'
-fl="-g0 -O2"
+fl="-g -Og"
repro="-ffile-prefix-map=${installdir}="
repro="$repro -ffile-prefix-map=${sysroot}="
repro="$repro -ffile-prefix-map=${src}=builddir"
diff --git a/templates/pkg/gnu-make:old b/templates/pkg/gnu-make:old
@@ -1,127 +0,0 @@
-#!/usr/bin/env pthbs-build
-#+{{pkg_install_name("musl-cross-make:old")}}
-#+{{pkg_install_name("gnu-make:oldbootstrap")}}
-#+{{pkg_install_name("busybox:oldbootstrap")}}
-#+{{pkg_install_name("nawk:bootstrap")}}
-#@untar:-z:sha256:dd16fb1d67bfab79a72f5e8390735c49e3e8e70b4945a15ab1f81ddb78658fb3:.
-
-
-# - build script start -
-
-autotools_config() {
- prefix=/home/ccx/versions/$pthbs_package
- ./configure -C \
- --prefix="$prefix" \
- --build="$(${CC:-gcc} -dumpmachine)" \
- --bindir="$prefix/command" \
- --sbindir="$prefix/command" \
- --infodir="$prefix/info" \
- --localedir="$prefix/locale" \
- --mandir="$prefix/man" \
- --libdir="$prefix/library" \
- --docdir="$prefix/doc/gnu-make" \
- --datadir="$prefix/data" \
- --datarootdir="$prefix/data" \
- --localstatedir='/var/pthbs' \
- "$@"
-
-}
-
-build_env_static() {
- export LD_LIBRARY_PATH="$pthbs_build_environment/library"
- export CPATH="$pthbs_build_environment/include"
- export LDFLAGS="-static -L$pthbs_build_environment/library $LDFLAGS"
-}
-
-check_static() {
- local exe || true
- exe=$pthbs_destdir'/home/ccx/versions'/$pthbs_package/$1
- if ! test -f $exe; then
- printf '%s\n' "Error: file '$1' doesn't exist!"
- exit 1
- fi
- local interp_info || true
- interp_info=$(readelf --string-dump=.interp "$exe") || exit $?
- if test x '!=' "x$interp_info"; then
- printf '%s\n' "Error: '$1' is a dynamic binary!"
- exit 1
- fi
-}
-
-prefix=/home/ccx/versions/$pthbs_package
-dest=${pthbs_destdir%/}${prefix}
-cd 'make-4.4.1'
-
-
-autotools_config --disable-nls
-
-
-make -j${JOBS:-1} -l$((1+${JOBS:-1}))
-
-make DESTDIR="$pthbs_destdir" install
-
-
-
-check_static command/make
-
-
-
-cd "$pthbs_destdir/home/ccx/versions/$pthbs_package"
-find -type d -o -print | awk -F/ '
-BEGIN {
- x["./command/make"]=1
- x["./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
- printf "genlinks >>%s\t%s<<\n", $0, src >>"/dev/stderr"
-}
-$1!="."{exit 1}
-
-
-$2 == "config" { link($0); next }
-$2 == "keys" { link($0); next }
-$2 == "zsh" { link($0); next }
-$2 == "env" { link($0); next }
-$2 == "command" { link($0); next }
-$2 == "bin" { link(s1("command", $0)); next }
-
-$2 == "library.so" { link($0); next }
-$2 == "library" { link($0); next }
-$2 == "lib" && $NF ~ /\.l?a$/ { link(s1("library", $0)); next }
-$2 == "lib" && $NF ~ /\.so(\..*)?$/ { link(s1("library.so", $0)); next }
-
-$2 == "share" && $3 ~ /^(info|man|doc|icons|terminfo)$/ { link(r1($0)); next }
-
-$2 == "man" { link($0); next }
-$2 == "info" { link($0); next }
-$2 == "doc" { link($0); next }
-$2 == "icons" { link($0); next }
-$2 == "terminfo" { link($0); next }
-$2 == "data" { link($0); next }
-$2 == "include" { link($0); next }
-
-{ printf "genlinks ##%s## skipped\n", $0 >>"/dev/stderr" }
-
-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
-
-{# extra line for matching hash #}
diff --git a/templates/pkg/gnu-make:oldbootstrap b/templates/pkg/gnu-make:oldbootstrap
@@ -1,110 +0,0 @@
-#!/usr/bin/env pthbs-build
-#@pragma:nosandbox
-#@pragma:nopath
-#+{{pkg_install_name("musl-cross-make:oldbootstrap-1")}}
-#@untar:-z:sha256:dd16fb1d67bfab79a72f5e8390735c49e3e8e70b4945a15ab1f81ddb78658fb3:.
-
-
-# - build script start -
-
-autotools_config() {
- prefix={{versions}}/$pthbs_package
- ./configure -C \
- --prefix="$prefix" \
- --bindir="$prefix/command" \
- --sbindir="$prefix/command" \
- --infodir="$prefix/info" \
- --localedir="$prefix/locale" \
- --mandir="$prefix/man" \
- --libdir="$prefix/library" \
- --docdir="$prefix/doc/gnu-make" \
- --datadir="$prefix/data" \
- --datarootdir="$prefix/data" \
- --localstatedir='/var/pthbs' \
- "$@"
-
-}
-
-prefix={{versions}}/$pthbs_package
-dest=${pthbs_destdir%/}${prefix}
-cd 'make-4.4.1'
-
-
-mcm={{versions}}/{{pkg_install_name("musl-cross-make:oldbootstrap-1")}}
-
-export PATH="$mcm/command:$PATH"
-export CC="$mcm/command/{{triplet}}-gcc"
-export CXX="$mcm/command/{{triplet}}-g++"
-export CFLAGS="-D_GNU_SOURCE"
-export LDFLAGS="-static"
-
-autotools_config --disable-nls
-
-
-make -j${JOBS:-1} -l$((1+${JOBS:-1}))
-
-make DESTDIR="$pthbs_destdir" install
-
-
-
-
-
-cd "$pthbs_destdir{{versions}}/$pthbs_package"
-find -type d -o -print | awk -F/ '
-BEGIN {
- x["./command/make"]=1
- x["./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
- printf "genlinks >>%s\t%s<<\n", $0, src >>"/dev/stderr"
-}
-$1!="."{exit 1}
-
-
-$2 == "config" { link($0); next }
-$2 == "keys" { link($0); next }
-$2 == "zsh" { link($0); next }
-$2 == "env" { link($0); next }
-$2 == "command" { link($0); next }
-$2 == "bin" { link(s1("command", $0)); next }
-
-$2 == "library.so" { link($0); next }
-$2 == "library" { link($0); next }
-$2 == "lib" && $NF ~ /\.l?a$/ { link(s1("library", $0)); next }
-$2 == "lib" && $NF ~ /\.so(\..*)?$/ { link(s1("library.so", $0)); next }
-
-$2 == "share" && $3 ~ /^(info|man|doc|icons|terminfo)$/ { link(r1($0)); next }
-
-$2 == "man" { link($0); next }
-$2 == "info" { link($0); next }
-$2 == "doc" { link($0); next }
-$2 == "icons" { link($0); next }
-$2 == "terminfo" { link($0); next }
-$2 == "data" { link($0); next }
-$2 == "include" { link($0); next }
-
-{ printf "genlinks ##%s## skipped\n", $0 >>"/dev/stderr" }
-
-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
-
-{# extra line for matching hash #}
diff --git a/templates/pkg/musl-cross-make:old b/templates/pkg/musl-cross-make:old
@@ -1,196 +0,0 @@
-{%- import "package_sets" as ps -%}
-#!/usr/bin/env pthbs-build
-#@pragma:nofail_digest
-#+{{pkg_install_name("musl-cross-make:oldbootstrap-1")}}
-#+{{pkg_install_name("gnu-make:oldbootstrap")}}
-#+{{pkg_install_name("busybox:oldbootstrap")}}
-#+{{pkg_install_name("nawk:bootstrap")}}
-{{ ps.mcm_sources(
- gcc="gcc-14.3.0.tar.xz",
- linux="linux-6.15.7.tar.xz",
- musl="musl-1.2.5.tar.gz",
- binutils="binutils-2.44.tar.gz",
- gmp="gmp-6.3.0.tar.xz",
- mpfr="mpfr-4.2.2.tar.xz",
- mpc="mpc-1.3.1.tar.gz"
-) }}
-#@sha256:4213e75809588e3f32ae0fde8fb11df2dfd6e0e013762ff5ee951c3aadb7ffc0:musl-cross-make/patches/linux-6.15.7/0001-no-rsync-headers.diff
-#@sha256:68140a82582ede938159630bca0fb13a93b4bf1cb2e85b08943c26242cf8f3a6:zpipe.c
-#@git:{{submodule.current["musl-cross-make"]}}:musl-cross-make
-
-
-# - build script start -
-PATH="$pthbs_build_environment/command:$PATH"
-
-prefix={{versions}}/$pthbs_package
-dest=${pthbs_destdir%/}${prefix}
-cd '.'
-
-# For validating the compiler
-printf '%s\n' 'int main(void) { return 0; }' >true.c
-
-printf '%s\n' >musl-cross-make/config.mak \
- "OUTPUT=${pthbs_destdir%/}{{versions}}/$pthbs_package" \
- "TARGET={{triplet}}" \
- 'GCC_VER=14.3.0' \
- 'LINUX_VER=6.15.7' \
- 'MUSL_VER=1.2.5' \
- 'BINUTILS_VER=2.44' \
- 'GMP_VER=6.3.0' \
- 'MPC_VER=1.3.1' \
- 'MPFR_VER=4.2.2' \
- 'st=-static --static' \
- 'fl=-g0 -O2' \
- "command=$pthbs_build_environment/command" \
- 'COMMON_CONFIG += CFLAGS="${fl} ${st}" CXXFLAGS="${fl} ${st}" FFLAGS="${fl}" LDFLAGS="-s ${st}"' \
- 'COMMON_CONFIG += CC="${command}/{{triplet}}-gcc ${st}" CXX="${command}/{{triplet}}-g++ ${st}"'
-
-
-touch musl-cross-make/sources/*
-
-
-# Patch linker path for dynamic executables
-make -C musl-cross-make gcc-14.3.0
-sed -i -e 's|/lib/ld-musl-|{{versions}}/'"$pthbs_package"'/{{triplet}}/lib/ld-musl-|' musl-cross-make/gcc-14.3.0/gcc/config/*/linux*.h
-make -j${JOBS:-1} -l$((1+${JOBS:-1})) -C musl-cross-make || exit $?
-make -C musl-cross-make install || exit $?
-
-mv "$dest/{{triplet}}/include" "$dest/"
-mv "$dest/bin" "$dest/command"
-mv "$dest/{{triplet}}/bin"/* "$dest/command/"
-
-ln -s ../include "$dest/{{triplet}}/include"
-ln -s ./command "$dest/bin"
-ln -s ../command "$dest/{{triplet}}/bin"
-
-dd=$pthbs_destdir/{{versions}}/$pthbs_package
-
-# Override linker symlink
-for linkname in "$dd"'/{{triplet}}/lib/'ld-musl-*so*; do
- ln -s -f libc.so "$linkname"
-done
-
-# Validate the compiler
-"$dd"'/command/{{triplet}}-gcc' --version
-"$dd"'/command/{{triplet}}-gcc' -o true true.c
-"$dd"'/command/{{triplet}}-readelf' --string-dump=.interp true >true.linker
-grep -F "$pthbs_package" true.linker
-
-pkgs="gmp mpc mpfr zlib"
-#pkgs="$pkgs libbacktrace libcc1 libcpp libdecnumber libiberty lto-plugin"
-
-for pkg in $pkgs; do
- make -C musl-cross-make/build/local/{{triplet}}/obj_gcc/$pkg prefix=/ DESTDIR="$dd" install
-done
-cp -va musl-cross-make/gcc-*.orig/zlib/zconf.h musl-cross-make/gcc-*.orig/zlib/zlib.h "$dd/include/"
-mkdir -p "$dd/library/pkgconfig"
-printf '%s\n' > "$dd/library/pkgconfig/zlib.pc" \
- "prefix={{versions}}/$pthbs_package" \
- 'exec_prefix=${prefix}' \
- 'includedir=${prefix}/include' \
- 'libdir=${exec_prefix}/library' \
- '' \
- 'Name: zlib' \
- 'Description: zlib compression library' \
- 'Version: 1.2.11' \
- '' \
- 'Requires:' \
- 'Libs: -L${libdir} -lz' \
- 'Cflags: -I${includedir}'
-
-
-# validate zlib
-"$dd"'/command/{{triplet}}-gcc' -I"$dd/include" -L"$dd/lib" -static -o zpipe zpipe.c -lz
-./zpipe <true.c >true.c.gz
-./zpipe -d <true.c.gz >true.c.2
-cmp -s true.c true.c.2
-
-
-
-cd "$pthbs_destdir{{versions}}/$pthbs_package"
-find -type d -o -print | awk -F/ '
-BEGIN {
- x["./command/{{triplet}}-g++"]=1
- x["./command/{{triplet}}-gcc"]=1
- x["./include/linux/landlock.h"]=1
-
- x["./lib/libgmp.a"]=1
- x["./lib/libmpc.a"]=1
- x["./lib/libmpfr.a"]=1
- x["./lib/libz.a"]=1
-
- x["./include/gmp.h"]=1
- x["./include/mpc.h"]=1
- x["./include/mpf2mpfr.h"]=1
- x["./include/mpfr.h"]=1
- x["./include/zlib.h"]=1
- x["./include/zconf.h"]=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
- printf "genlinks >>%s\t%s<<\n", $0, src >>"/dev/stderr"
-}
-$1!="."{exit 1}
-
-$2 == "command" && $3 ~ /^{{triplet}}-/ && ! ( \
- $3 == "{{triplet}}-ar" || \
- $3 == "{{triplet}}-as" || \
- $3 == "{{triplet}}-ld" || \
- $3 == "{{triplet}}-ld.bfd" || \
- $3 == "{{triplet}}-nm" || \
- $3 == "{{triplet}}-objcopy" || \
- $3 == "{{triplet}}-objdump" || \
- $3 == "{{triplet}}-ranlib" || \
- $3 == "{{triplet}}-readelf" || \
- $3 == "{{triplet}}-strip" \
-) {
- target=$3
- sub("{{triplet}}-", "", target)
- link("./command/" target)
-}
-$2 == "command" { link($0); next }
-
-$2 == "config" { link($0); next }
-$2 == "keys" { link($0); next }
-$2 == "zsh" { link($0); next }
-$2 == "env" { link($0); next }
-
-$2 == "library.so" { link($0); next }
-$2 == "library" { link($0); next }
-$2 == "lib" && $NF ~ /\.l?a$/ { link(s1("library", $0)); next }
-$2 == "lib" && $NF ~ /\.so(\..*)?$/ { link(s1("library.so", $0)); next }
-
-$2 == "share" && $3 ~ /^(info|man|doc|icons|terminfo)$/ { link(r1($0)); next }
-
-$2 == "man" { link($0); next }
-$2 == "info" { link($0); next }
-$2 == "doc" { link($0); next }
-$2 == "icons" { link($0); next }
-$2 == "terminfo" { link($0); next }
-$2 == "data" { link($0); next }
-$2 == "include" { link($0); next }
-
-{ printf "genlinks ##%s## skipped\n", $0 >>"/dev/stderr" }
-
-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
-
-{# extra line for matching hash #}
diff --git a/templates/pkg/musl-cross-make:oldbootstrap-0 b/templates/pkg/musl-cross-make:oldbootstrap-0
@@ -1,122 +0,0 @@
-{%- import "package_sets" as ps -%}
-#!/usr/bin/env pthbs-build
-#@pragma:nosandbox
-#@pragma:nopath
-{{ ps.mcm_sources(
- gcc="gcc-9.4.0.tar.xz",
- linux="linux-headers-4.19.88-2.tar.xz",
- musl="musl-1.2.5.tar.gz",
- binutils="binutils-2.44.tar.gz",
- gmp="gmp-6.3.0.tar.xz",
- mpfr="mpfr-4.2.2.tar.xz",
- mpc="mpc-1.3.1.tar.gz"
-) }}
-#@git:{{submodule.current["musl-cross-make"]}}:musl-cross-make
-
-
-# - build script start -
-
-prefix={{versions}}/$pthbs_package
-dest=${pthbs_destdir%/}${prefix}
-cd '.'
-
-# For validating the compiler
-printf '%s\n' 'int main(void) { return 0; }' >true.c
-
-printf '%s\n' >musl-cross-make/config.mak \
- "OUTPUT=${pthbs_destdir%/}{{versions}}/$pthbs_package" \
- "TARGET={{triplet}}" \
- 'GCC_VER=9.4.0' \
- 'MUSL_VER=1.2.5' \
- 'BINUTILS_VER=2.44' \
- 'GMP_VER=6.3.0' \
- 'MPC_VER=1.3.1' \
- 'MPFR_VER=4.2.2' \
- 'fl=-g0 -O2' \
- 'COMMON_CONFIG += CFLAGS="${fl}" CXXFLAGS="${fl}" FFLAGS="${fl}" LDFLAGS="-s"'
-
-touch musl-cross-make/sources/*
-
-
-# Patch linker path for dynamic executables
-make -C musl-cross-make gcc-9.4.0
-sed -i -e 's|/lib/ld-musl-|{{versions}}/'"$pthbs_package"'/{{triplet}}/lib/ld-musl-|' musl-cross-make/gcc-9.4.0/gcc/config/*/linux*.h
-
-make -j${JOBS:-1} -l$((1+${JOBS:-1})) -C musl-cross-make
-make -C musl-cross-make install
-
-# Override linker symlink
-for linkname in "${pthbs_destdir%/}"'{{versions}}/'"$pthbs_package"'/{{triplet}}/lib/'ld-musl-*so*; do
- ln -s -f libc.so "$linkname"
-done
-
-# Validate the compiler
-"${pthbs_destdir%/}"'{{versions}}'"/$pthbs_package/bin/"'{{triplet}}-gcc' --version
-"${pthbs_destdir%/}"'{{versions}}'"/$pthbs_package/bin/"'{{triplet}}-gcc' -o true true.c
-"${pthbs_destdir%/}"'{{versions}}'"/$pthbs_package/bin/"'{{triplet}}-readelf' --string-dump=.interp true >true.linker
-grep -F "$pthbs_package" true.linker
-
-
-
-
-cd "$pthbs_destdir{{versions}}/$pthbs_package"
-find -type d -o -print | awk -F/ '
-BEGIN {
- x["./bin/{{triplet}}-g++"]=1
- x["./bin/{{triplet}}-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
- printf "genlinks >>%s\t%s<<\n", $0, src >>"/dev/stderr"
-}
-$1!="."{exit 1}
-
-
-$2 == "bin" && $3 ~ /^{{triplet}}-/ { target=$3; sub("{{triplet}}-", "", target); link("./command/" target) }
-
-$2 == "config" { link($0); next }
-$2 == "keys" { link($0); next }
-$2 == "zsh" { link($0); next }
-$2 == "env" { link($0); next }
-$2 == "command" { link($0); next }
-$2 == "bin" { link(s1("command", $0)); next }
-
-$2 == "library.so" { link($0); next }
-$2 == "library" { link($0); next }
-$2 == "lib" && $NF ~ /\.l?a$/ { link(s1("library", $0)); next }
-$2 == "lib" && $NF ~ /\.so(\..*)?$/ { link(s1("library.so", $0)); next }
-
-$2 == "share" && $3 ~ /^(info|man|doc|icons|terminfo)$/ { link(r1($0)); next }
-
-$2 == "man" { link($0); next }
-$2 == "info" { link($0); next }
-$2 == "doc" { link($0); next }
-$2 == "icons" { link($0); next }
-$2 == "terminfo" { link($0); next }
-$2 == "data" { link($0); next }
-$2 == "include" { link($0); next }
-
-{ printf "genlinks ##%s## skipped\n", $0 >>"/dev/stderr" }
-
-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
-
-{# extra line for matching hash #}
diff --git a/templates/pkg/musl-cross-make:oldbootstrap-1 b/templates/pkg/musl-cross-make:oldbootstrap-1
@@ -1,158 +0,0 @@
-{%- import "package_sets" as ps -%}
-#!/usr/bin/env pthbs-build
-#@pragma:nofail_digest
-#@pragma:nosandbox
-#@pragma:nopath
-#+{{pkg_install_name("musl-cross-make:bootstrap-0")}}
-#+{{pkg_install_name("nawk:bootstrap")}}
-{{ ps.mcm_sources(
- gcc="gcc-14.3.0.tar.xz",
- linux="linux-6.15.7.tar.xz",
- musl="musl-1.2.5.tar.gz",
- binutils="binutils-2.44.tar.gz",
- gmp="gmp-6.3.0.tar.xz",
- mpfr="mpfr-4.2.2.tar.xz",
- mpc="mpc-1.3.1.tar.gz"
-) }}
-#@sha256:4213e75809588e3f32ae0fde8fb11df2dfd6e0e013762ff5ee951c3aadb7ffc0:musl-cross-make/patches/linux-6.15.7/0001-no-rsync-headers.diff
-#@git:{{submodule.current["musl-cross-make"]}}:musl-cross-make
-
-
-# - build script start -
-
-prefix={{versions}}/$pthbs_package
-dest=${pthbs_destdir%/}${prefix}
-cd '.'
-
-bootstrap={{versions}}/{{pkg_install_name("musl-cross-make:bootstrap-0")}}
-"$bootstrap/bin/{{triplet}}-gcc" --version
-
-# For validating the compiler
-printf '%s\n' 'int main(void) { return 0; }' >true.c
-
-printf '%s\n' >musl-cross-make/config.mak \
- "OUTPUT=${pthbs_destdir%/}{{versions}}/$pthbs_package" \
- 'GCC_VER=14.3.0' \
- 'LINUX_VER=6.15.7' \
- 'MUSL_VER=1.2.5' \
- 'BINUTILS_VER=2.44' \
- 'GMP_VER=6.3.0' \
- 'MPC_VER=1.3.1' \
- 'MPFR_VER=4.2.2' \
- "TARGET={{triplet}}" \
- 'st=-static --static' \
- 'fl=-g0 -O2' \
- "bbin=$bootstrap/bin" \
- 'COMMON_CONFIG += CFLAGS="${fl}" CXXFLAGS="${fl}" FFLAGS="${fl}" LDFLAGS="-s ${st}"' \
- 'COMMON_CONFIG += CC="${bbin}/{{triplet}}-gcc ${st}" CXX="${bbin}/{{triplet}}-g++ ${st}"'
-
-touch musl-cross-make/sources/*
-
-
-# Patch linker path for dynamic executables
-make -C musl-cross-make gcc-14.3.0
-sed -i -e 's|/lib/ld-musl-|{{versions}}/'"$pthbs_package"'/{{triplet}}/lib/ld-musl-|' musl-cross-make/gcc-14.3.0/gcc/config/*/linux*.h
-
-export PATH="$pthbs_build_environment/command:$PATH"
-make -j${JOBS:-1} -l$((1+${JOBS:-1})) -C musl-cross-make
-make -C musl-cross-make install
-
-mv "$dest/{{triplet}}/include" "$dest/"
-mv "$dest/bin" "$dest/command"
-mv "$dest/{{triplet}}/bin"/* "$dest/command/"
-
-ln -s ../include "$dest/{{triplet}}/include"
-ln -s ./command "$dest/bin"
-ln -s ../command "$dest/{{triplet}}/bin"
-
-# Override linker symlink
-for linkname in "${pthbs_destdir%/}"'{{versions}}/'"$pthbs_package"'/{{triplet}}/lib/'ld-musl-*so*; do
- ln -s -f libc.so "$linkname"
-done
-
-# Validate the compiler
-"$dest/command/"'{{triplet}}-gcc' --version
-"$dest/command/"'{{triplet}}-gcc' -o true true.c
-"$dest/command/"'{{triplet}}-readelf' --string-dump=.interp true >true.linker
-grep -F "$pthbs_package" true.linker
-
-
-
-
-cd "$pthbs_destdir{{versions}}/$pthbs_package"
-
-find -type d -o -print | awk -F/ '
-BEGIN {
- x["./command/{{triplet}}-g++"]=1
- x["./command/{{triplet}}-gcc"]=1
- x["./include/linux/landlock.h"]=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
- printf "genlinks >>%s\t%s<<\n", $0, src >>"/dev/stderr"
-}
-$1!="."{exit 1}
-
-
-$2 == "command" && $3 ~ /^{{triplet}}-/ && ! ( \
- $3 == "{{triplet}}-ar" || \
- $3 == "{{triplet}}-as" || \
- $3 == "{{triplet}}-ld" || \
- $3 == "{{triplet}}-ld.bfd" || \
- $3 == "{{triplet}}-nm" || \
- $3 == "{{triplet}}-objcopy" || \
- $3 == "{{triplet}}-objdump" || \
- $3 == "{{triplet}}-ranlib" || \
- $3 == "{{triplet}}-readelf" || \
- $3 == "{{triplet}}-strip" \
-) {
- target=$3
- sub("{{triplet}}-", "", target)
- link("./command/" target)
-}
-$2 == "command" { link($0); next }
-
-$2 == "config" { link($0); next }
-$2 == "keys" { link($0); next }
-$2 == "zsh" { link($0); next }
-$2 == "env" { link($0); next }
-
-$2 == "library.so" { link($0); next }
-$2 == "library" { link($0); next }
-$2 == "lib" && $NF ~ /\.l?a$/ { link(s1("library", $0)); next }
-$2 == "lib" && $NF ~ /\.so(\..*)?$/ { link(s1("library.so", $0)); next }
-
-$2 == "share" && $3 ~ /^(info|man|doc|icons|terminfo)$/ { link(r1($0)); next }
-
-$2 == "man" { link($0); next }
-$2 == "info" { link($0); next }
-$2 == "doc" { link($0); next }
-$2 == "icons" { link($0); next }
-$2 == "terminfo" { link($0); next }
-$2 == "data" { link($0); next }
-$2 == "include" { link($0); next }
-
-{ printf "genlinks ##%s## skipped\n", $0 >>"/dev/stderr" }
-
-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
-
-{# extra line for matching hash #}
diff --git a/templates/pkg/oldbootstrap.environment b/templates/pkg/oldbootstrap.environment
@@ -1,5 +0,0 @@
-#!/usr/bin/env pthbs-build
-#+{{pkg_install_name("busybox:oldbootstrap")}}
-#+{{pkg_install_name("nawk:bootstrap")}}
-#+{{pkg_install_name("gnu-make:oldbootstrap")}}
-#+{{pkg_install_name("musl-cross-make:oldbootstrap-1")}}
diff --git a/templates/pkg/oldsystem.environment b/templates/pkg/oldsystem.environment
@@ -1,4 +0,0 @@
-#!/usr/bin/env pthbs-build
-#+{{pkg_install_name("musl-cross-make:old")}}
-#+{{pkg_install_name("busybox:old")}}
-#+{{pkg_install_name("gnu-make:old")}}
diff --git a/variants/ccx-x86_64/gcc b/variants/ccx-x86_64/gcc
@@ -114,7 +114,7 @@ mkdir "$objdir"
cd "$objdir"
st='-static --static'
-fl="-g0 -O2"
+fl="-g -Og"
repro="-ffile-prefix-map=${installdir}="
repro="$repro -ffile-prefix-map=${sysroot}="
repro="$repro -ffile-prefix-map=${src}=builddir"
diff --git a/variants/ccx-x86_64/toolchain.environment b/variants/ccx-x86_64/toolchain.environment
@@ -1,4 +1,4 @@
#!/usr/bin/env pthbs-build
#+musl.ab3439f0d135622f4b857997ecbda84ac545422db148012987cca66241aaf7f6
-#+gcc.f4f25b94088ba9f9c3edcf36eefed2e23b797250fe5ed05d506428863c7d7c61
+#+gcc.3509e997587c11845daf5ff0477b7b79be35a94a7b3f7c7f3a498b9762e31cfb
#+binutils.e27b3c2c7968d0c9ecd3f1be245f3ae14f44e4eeb82cd538cfc0f96f1afc4ef0
\ No newline at end of file
diff --git a/variants/root-x86_64/gcc b/variants/root-x86_64/gcc
@@ -114,7 +114,7 @@ mkdir "$objdir"
cd "$objdir"
st='-static --static'
-fl="-g0 -O2"
+fl="-g -Og"
repro="-ffile-prefix-map=${installdir}="
repro="$repro -ffile-prefix-map=${sysroot}="
repro="$repro -ffile-prefix-map=${src}=builddir"
diff --git a/variants/root-x86_64/toolchain.environment b/variants/root-x86_64/toolchain.environment
@@ -1,4 +1,4 @@
#!/usr/bin/env pthbs-build
#+musl.1358b81a27c11cc51948ea8c8732f646d6f02ed63f255e63e3633fe9ae023664
-#+gcc.4a9f7536c6d9acbc119c41f57b8647e7f9a21b155773080657a9e2dc331d3525
+#+gcc.7d2bfe5f799351d5ce74e22b3ffc93c950e3b5774a1e45d776cc90750ad88f6c
#+binutils.06634a7c6783445d52e5e45894b0c379f5be4df44124169e50096929bef7b5ee
\ No newline at end of file