commit 88be70ebfb8662a753d995d69b73ee78d64e296f parent dc5fac76f3a8f46c801c8fb8c10b104991a6e80a Author: Jan Pobrislo <ccx@te2000.cz> Date: Thu, 9 Oct 2025 21:59:26 +0000 Rework template structure Diffstat:
91 files changed, 748 insertions(+), 744 deletions(-)
diff --git a/templates/autotools b/templates/autotools @@ -1,19 +1,16 @@ {% extends "genlinks" %} -{%- block script %} -{%- block default_deps %} +{%- block template_deps %} +{{ super() }} +#+{{pkg_install_name("busybox-diffutils")}} #+{{pkg_install_name("musl-cross-make")}} #+{{pkg_install_name("gnu-make")}} -#+{{pkg_install_name("busybox")}} -#+{{pkg_install_name("busybox-diffutils")}} #+{{pkg_install_name("m4")}} {%- endblock %} -{%- block extra_deps %} -{%- endblock %} - -{% include "functions/build_env_static" %} +{%- block prepare %} {% include "functions/autotools" %} -{% include "functions/check_static" %} -{% block at_script %} -autotools '{{name}}' +{{ super() }} {% endblock %} +{%- block configure %} +autotools_config {% block configure_args %}{% endblock %} + {% endblock %} diff --git a/templates/autotools_static b/templates/autotools_static @@ -0,0 +1,10 @@ +{% extends "autotools" %} +{%- block prepare %} +{% include "functions/build_env_static" %} +{% include "functions/check_static" %} +{{ super() }} +{% endblock %} +{%- block configure %} +autotools_config_static {% block configure_args %}{% endblock %} + +{% endblock %} diff --git a/templates/base b/templates/base @@ -1,3 +1,14 @@ {{ shebang }} {%- block body %} +{%- block deps %} +{%- block template_deps %} +{%- endblock %} +{%- block package_deps %} +{%- endblock %} +{%- block source_deps %} +{%- endblock %} +{% endblock %} + +{% block script %} +{% endblock %} {% endblock %} diff --git a/templates/functions/autotools b/templates/functions/autotools @@ -28,15 +28,7 @@ autotools_config() { #} } -autotools() { - cd "$1" - shift - autotools_config "$@" - {{make}} - make DESTDIR="$pthbs_destdir" install -} - -autotools_static() { +autotools_config_static() { build_env_static - autotools "$@" --enable-static --disable-shared + autotools_config "$@" --enable-static --disable-shared } diff --git a/templates/functions/check_static b/templates/functions/check_static @@ -1,6 +1,6 @@ check_static() { local exe || true - exe=$pthbs_destdir/'{{versions}}'/$pthbs_package/$1 + exe=$pthbs_destdir'{{versions}}'/$pthbs_package/$1 if ! test -f $exe; then printf '%s\n' "Error: file '$1' doesn't exist!" exit 1 diff --git a/templates/functions/q b/templates/functions/q @@ -0,0 +1,3 @@ +q() { # quote list of strings to be suitable for execline + "s6-quote" "$@" +} diff --git a/templates/functions/qx b/templates/functions/qx @@ -0,0 +1,10 @@ +qx() { # register executable as dependency and quote full path to be suitable for execline + exe=$(realpath "$(which "$1")") + name=$(basename "$1") + if ! test -x "$exe"; then + printf 'Error: executable not found: %s\n' "$1" + fi + mkdir -p "${dest}/deps/command" + ln -sf $exe "${dest}/deps/command/$name" + "s6-quote" "$prefix/deps/command/$name" +} diff --git a/templates/functions/vars b/templates/functions/vars @@ -1,6 +0,0 @@ -def_prefix() { - prefix={{versions}}/$pthbs_package -} -def_dest() { - dest=${pthbs_destdir%/}/{{versions}}/$pthbs_package -} diff --git a/templates/generic b/templates/generic @@ -0,0 +1,45 @@ +{% extends "base" %} +{%- block source_deps %} +{% if pkg_source == "git" -%} +#@git:{{submodule.current[name]}}:{{name}} +{% elif pkg_source == "tar" -%} +#@untar::{{downloads[name + "-" + assertion(pkg_version) + "." + pkg_source]}}:. +{% if pkg_source == "tar.gz" -%} +#@untar:-z:{{downloads[name + "-" + assertion(pkg_version) + "." + pkg_source]}}:. +{% elif pkg_source == "tar.bz2" -%} +#@untar:-j:{{downloads[name + "-" + assertion(pkg_version) + "." + pkg_source]}}:. +{% elif pkg_source == "tar.xz" -%} +#@untar:-J:{{downloads[name + "-" + assertion(pkg_version) + "." + pkg_source]}}:. +{% elif pkg_source -%} +{{ value_error(pkg_source) }} +{% endif -%} +{%- endblock %} +{% block script %} +{%- block prepare %} +prefix={{versions}}/$pthbs_package +dest=${pthbs_destdir%/}${prefix} +{% if src_dir -%} +{% elif pkg_version -%} +cd '{{name}}-{{pkg_version}}' +{% else -%} +cd '{{name}}' +{% endif -%} + +{% endblock %} +{%- block configure %} +{% endblock %} +{%- block build_and_install %} +{%- block build %} +{{make}} + +{% endblock %} +{%- block install %} +make DESTDIR="$pthbs_destdir" install + +{% endblock %} +{% endblock %} +{%- block check %} +{% endblock %} +{%- block finish %} +{% endblock %} +{% endblock %} diff --git a/templates/genlinks b/templates/genlinks @@ -1,7 +1,9 @@ -{% extends "base" %} -{%- block body -%} -{%- block script %} -{% endblock %} +{% extends "generic" %} +{%- block template_deps %} +#+{{pkg_install_name("busybox")}} +#+{{pkg_install_name("busybox-findutils")}} +{%- endblock %} +{%- block finish -%} cd "$pthbs_destdir{{versions}}/$pthbs_package" find -type d -o -print | awk -F/ ' BEGIN { @@ -24,8 +26,12 @@ function link(src) { } $1!="."{exit 1} -{% block rules %} +{% block genlinks_rules %} {% endblock -%} +$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 } diff --git a/templates/linux b/templates/linux @@ -1,5 +1,6 @@ +{%- set src_dir='linux-' + tarball_version -%} {% extends "genlinks" %} -{%- block script %} +{%- block template_deps %} #+{{pkg_install_name("busybox")}} #+{{pkg_install_name("gnu-make")}} #+{{pkg_install_name("musl-cross-make")}} @@ -12,43 +13,53 @@ #+{{pkg_install_name("zstd")}} #+{{pkg_install_name("libelf")}} #+{{pkg_install_name("pkgconf-pkg-config")}} +{%- endblock %} +{%- block source_deps %} #@untar:-J:sha256:{{ assertion(tarball_shasum) }}:. {% if patch_version -%} #@sha256:{{ assertion(patch_shasum) }}:patch-{{ patch_version }}.xz {% endif -%} #@sha256:{{files["lh_bootstrap-x86_64-config"]}}:linux.config #@sha256:{{files["noobjtool.patch"]}}:noobjtool.patch - -#printf '%s\n' "TODO: fix paths"; exit 1 -export CPATH="$pthbs_build_environment/include" - -cd 'linux-{{ tarball_version }}' +{% endblock %} +{%- block prepare %} +{{ super() }} {% if patch_version -%} unxz -c < '../patch-{{ patch_version }}.xz' | patch -p1 -N {% endif -%} patch -p1 -N <../noobjtool.patch +{% endblock %} +{%- block configure %} +export CPATH="$pthbs_build_environment/include" + cp -v ../linux.config .config {{ linux_arch_personality|default('') }} make olddefconfig diff -u ../linux.config .config || true + +{% endblock %} +{%- block build %} {{ linux_arch_personality|default('') }} {{make}} \ V=1 \ HOSTLDFLAGS="-static -L$pthbs_build_environment/library" \ HOSTCFLAGS="-L$pthbs_build_environment/library" -installdir="$pthbs_destdir/{{versions}}/$pthbs_package" -mkdir -p "$installdir/doc/linux" "$installdir/boot" -cp -v .config "$installdir/config" -mv Documentation/* "$installdir/doc/linux" +{% endblock %} +{%- block install %} +mkdir -p "${dest}/doc/linux" "${dest}/boot" +cp -v .config "${dest}/config" +mv Documentation/* "${dest}/doc/linux" {{ linux_arch_personality|default('') }} make modules_install install \ - INSTALL_MOD_PATH="$installdir/kernel" \ + INSTALL_MOD_PATH="${dest}/kernel" \ INSTALL_MOD_STRIP=1 \ - INSTALL_PATH="$installdir/boot" \ - INSTALL_DTBS_PATH="$installdir/boot/dtbs" + INSTALL_PATH="${dest}/boot" \ + INSTALL_DTBS_PATH="${dest}/boot/dtbs" + # remove dangling symlinks -module_dir="$installdir/kernel/lib/{{ assertion(patch_version|default(tarball_version + ".0", True)) }}" +module_dir="${dest}/kernel/lib/{{ assertion(patch_version|default(tarball_version + ".0", True)) }}" rm -f "$module_dir/build" "$module_dir/source" + {% endblock %} -{% block rules %} +{% block genlinks_rules %} $2 == "boot" { link($0); next } $2 == "lib" && $3 == "modules" { exit 3 } # make sure kernel modules do not mix with userspace libraries function mod_path(s) { @@ -67,4 +78,3 @@ $2 == "kernel" && $3 == "lib" && $4 == "modules" { link(mod_path($0)); next } x["./kernel/lib/modules/" kernel_name "/modules.order"]=1 x["./kernel/lib/modules/" kernel_name "/modules.symbols"]=1 {% endblock %} - diff --git a/templates/pkg/aat b/templates/pkg/aat @@ -1,6 +1,9 @@ +{%- set pkg_source="git" -%} {% extends "scriptsetup" %} -{%- block extra_script %} +{%- block install %} +{{ super() }} mv -v data.awk "$pkgdir/" + {%- endblock %} {% block genlinks_begin %} x["./command/aat"]=1 diff --git a/templates/pkg/abduco b/templates/pkg/abduco @@ -1,15 +1,14 @@ +{%- set pkg_source="git" -%} {% extends "genlinks" %} -{%- block script %} +{%- block package_deps %} #+{{pkg_install_name("musl-cross-make")}} #+{{pkg_install_name("gnu-make")}} #+{{pkg_install_name("busybox")}} #+{{pkg_install_name("busybox-diffutils")}} -#@git:{{submodule.current[name]}}:{{name}} - -{% include "functions/check_static" %} +{% endblock %} +{%- block configure %} {% include "functions/build_env_static" %} build_env_static -prefix={{versions}}/$pthbs_package cd abduco cat >config.mk <<EOF # Any changes made here will be lost if configure is re-run @@ -23,9 +22,16 @@ CFLAGS = -pipe -Os LDFLAGS = -static EOF sed 's/^/> /' config.mk -make DESTDIR="${pthbs_destdir}" install + +{% endblock %} +{%- block install %} +{{ super() }} # the Makefile hardcodes 'bin' despite configure undersanding BINDIR -mv "${pthbs_destdir}${prefix}/bin" "${pthbs_destdir}${prefix}/command" +mv "${dest}/bin" "${dest}/command" + +{% endblock %} +{%- block check %} +{% include "functions/check_static" %} check_static command/abduco diff --git a/templates/pkg/acl b/templates/pkg/acl @@ -1,11 +1,10 @@ -{% extends "autotools" %} -{%- block extra_deps %} +{%- set pkg_source="tar.gz" -%} +{%- set pkg_version="2.3.2" -%} +{% extends "autotools_static" %} +{%- block package_deps %} #+{{pkg_install_name("attr")}} -#@untar:-z:sha256:5f2bdbad629707aa7d85c623f994aa8a1d2dec55a73de5205bac0bf6058a2f7c:. {%- endblock %} -{% block at_script %} - -autotools_static acl-2.3.2 +{% block check %} check_static command/chacl {% endblock %} diff --git a/templates/pkg/alpine-keys b/templates/pkg/alpine-keys @@ -1,17 +1,15 @@ +{%- set pkg_source="git" -%} {% extends "genlinks" %} -{%- block script %} -#+{{pkg_install_name("busybox")}} -#@git:{{submodule.current["alpine-keys"]}}:alpine-keys - -{% include "functions/vars" %} -def_prefix -mkdir -p "${pthbs_destdir%/}/$prefix/keys" -mv alpine-keys/keys "${pthbs_destdir%/}/$prefix/keys/alpine" +{%- block build %} +{% endblock %} +{%- block install %} +mkdir -p "${dest}/keys" +mv alpine-keys/keys "${dest}/keys/alpine" {% endblock %} {% block genlinks_begin %} x["./keys/alpine/alpine-devel@lists.alpinelinux.org-58199dcc.rsa.pub"]=1 x["./keys/alpine/alpine-devel@lists.alpinelinux.org-616ae350.rsa.pub"]=1 {% endblock %} -{% block rules %} +{% block genlinks_rules %} $2 == "keys" { link($0); next } {% endblock -%} diff --git a/templates/pkg/apk-tools b/templates/pkg/apk-tools @@ -1,5 +1,6 @@ +{%- set pkg_source="git" -%} {% extends "genlinks" %} -{%- block script %} +{%- block package_deps %} #+{{pkg_install_name("musl-cross-make")}} #+{{pkg_install_name("gnu-make")}} #+{{pkg_install_name("busybox")}} @@ -8,17 +9,16 @@ #+{{pkg_install_name("libressl")}} #+{{pkg_install_name("zstd")}} #+{{pkg_install_name("pkgconf-pkg-config")}} -#@git:{{submodule.current[name]}}:{{name}} #@sha256:{{files["apk-tools.patch"]}}:apk-tools.patch - -{% include "functions/check_static" %} +{% endblock %} +{%- block prepare %} +{{ super() }} +patch -p1 <../apk-tools.patch +{% endblock %} +{%- block build %} {% include "functions/build_env_static" %} -{% include "functions/vars" %} - build_env_static -def_prefix -cd apk-tools -patch -p1 <../apk-tools.patch + {{make}} STATIC=y LUA=no V=1 \ CFLAGS=-O2 \ DESTDIR="$pthbs_destdir" \ @@ -30,7 +30,11 @@ patch -p1 <../apk-tools.patch LIBDIR="$prefix/library" \ PKGCONFIGDIR="$prefix/library/pkgconfig" \ install-static - +{% endblock %} +{%- block install %} +{% endblock %} +{%- block check %} +{% include "functions/check_static" %} check_static command/apk.static {% endblock %} {% block genlinks_begin %} diff --git a/templates/pkg/applyuidgid-caps b/templates/pkg/applyuidgid-caps @@ -1,25 +1,9 @@ -{% extends "genlinks" %} -{%- block script %} -#+{{pkg_install_name("musl-cross-make")}} -#+{{pkg_install_name("gnu-make")}} -#+{{pkg_install_name("busybox")}} +{% extends "single_static_c" %} +{%- block package_deps %} #+{{pkg_install_name("skalibs")}} #+{{pkg_install_name("libcap")}} -#@sha256:{{files["applyuidgid-caps.c"]}}:applyuidgid-caps.c - -name=applyuidgid-caps -{% include "functions/check_static" %} -{% include "functions/build_env_static" %} -{% include "functions/vars" %} -build_env_static -def_prefix - -gcc -D_GNU_SOURCE -static -o $name $name.c $LDFLAGS -lskarnet -lcap - -install -d "$pthbs_destdir/$prefix/command" -install -m 755 $name "$pthbs_destdir/$prefix/command" -check_static command/$name {% endblock %} -{% block genlinks_begin %} - x["./command/applyuidgid-caps"]=1 -{%- endblock %} +{%- block configure %} +CFLAGS="-D_GNU_SOURCE" +LDFLAGS="-lskarnet -lcap" +{% endblock %} diff --git a/templates/pkg/argp-standalone b/templates/pkg/argp-standalone @@ -1,21 +1,19 @@ +{%- set pkg_version="1.5.0" -%} {% extends "autotools" %} -{%- block extra_deps %} +{%- block package_deps %} #@untar:-z:sha256:c29eae929dfebd575c38174f2c8c315766092cec99a8f987569d0cad3c6d64f6:. #@untar::sha256:{{files["argp-standalone-1.5.0-configure.tar"]}}:argp-standalone-1.5.0 {%- endblock %} -{% block at_script %} +{% block build %} +{{make}} libargp.a -cd argp-standalone-1.5.0 -autotools_config -{% include "functions/vars" %} -def_prefix -make libargp.a - -install -d "$pthbs_destdir/$prefix/library" -install -m 644 libargp.a "$pthbs_destdir/$prefix/library" +{%- endblock %} +{% block install %} +install -d "${dest}/library" +install -m 644 libargp.a "${dest}/library" -install -d "$pthbs_destdir/$prefix/include" -install -m 644 argp.h "$pthbs_destdir/$prefix/include" +install -d "${dest}/include" +install -m 644 argp.h "${dest}/include" {% endblock %} {% block genlinks_begin %} diff --git a/templates/pkg/attr b/templates/pkg/attr @@ -1,13 +1,9 @@ -{% extends "autotools" %} -{%- block extra_deps %} -#@untar:-z:sha256:39bf67452fa41d0948c2197601053f48b3d78a029389734332a6309a680c6c87:. -{%- endblock %} -{% block at_script %} - +{%- pkg_version="2.5.2" -%} +{%- pkg_source="tar.gz" -%} +{% extends "autotools_static" %} +{% block configure %} LDFLAGS=--static -autotools_static attr-2.5.2 -check_static command/attr - +{{ super() }} {% endblock %} {% block genlinks_begin %} x["./command/attr"]=1 diff --git a/templates/pkg/bison b/templates/pkg/bison @@ -1,15 +1,23 @@ -{% extends "autotools" %} -{%- block extra_deps %} +{%- pkg_version="3.8.2" -%} +{%- pkg_source="tar.xz" -%} +{% extends "autotools_static" %} +{%- block package_deps %} #+{{pkg_install_name("flex")}} #@untar:-J:sha256:9bba0214ccf7f1079c5d59210045227bcf619519840ebfa80cd3849cff5a5bf2:. {%- endblock %} -{% block at_script %} +{% block configure %} export CPPFLAGS="-D_GNU_SOURCE -DSTDC_HEADERS" -autotools_static bison-3.8.2 --disable-nls -check_static command/bison +{{ super() }} +{%- endblock %} +{% block configure_args %}--disable-nls{% endblock %} +{% block install %} +{{ super() }} rm -vrf "$pthbs_destdir"/$prefix/lib/charset.alias rmdir -p "$pthbs_destdir"/$prefix/lib || true {% endblock %} +{% block check %} +check_static command/bison +{%- endblock %} {% block genlinks_begin %} x["./command/bison"]=1 {% endblock %} diff --git a/templates/pkg/busybox b/templates/pkg/busybox @@ -6,15 +6,16 @@ #@git:aa4d303a3139107919f73cece4eaf85a7dc75db6:busybox #@sha256:{{files["busybox.config.1_12_0-8342-gaa4d303a3"]}}:busybox/.config -: ${JOBS:=1} - export CC="$pthbs_build_environment/command/{{triplet}}-gcc" export CFLAGS="-D_GNU_SOURCE" export LDFLAGS="-static" cd busybox +cat >>.config <<EOF +CONFIG_BUSYBOX_EXEC_PATH="${prefix}/command/busybox" +EOF make V=1 CROSS_COMPILE={{triplet}}- LDFLAGS=-static HOSTLDFLAGS=-static \ - HOSTCC="$CC -static" CC="$CC -static" HOSTCFLAGS=-D_GNU_SOURCE -j$JOBS + HOSTCC="$CC -static" CC="$CC -static" HOSTCFLAGS=-D_GNU_SOURCE -j${JOBS:-1} mkdir -p "$pthbs_destdir{{versions}}/$pthbs_package/command" cp -a busybox "$pthbs_destdir{{versions}}/$pthbs_package/command/" diff --git a/templates/pkg/busybox-modutils b/templates/pkg/busybox-modutils @@ -1,31 +1,41 @@ -{% extends "base" %} -{%- block body %} +{%- set pkg_source="git" -%} +{% extends "generic" %} +{%- block package_deps %} +#+{{pkg_install_name("linux")}} #+{{pkg_install_name("musl-cross-make")}} #+{{pkg_install_name("gnu-make")}} #+{{pkg_install_name("busybox")}} -#@git:{{submodule.current["busybox"]}}:busybox #@sha256:{{files["busybox_modutils.config"]}}:busybox/.config - -: ${JOBS:=1} - +{% endblock %} +{%- block configure %} export CC="$pthbs_build_environment/command/{{triplet}}-gcc" export CFLAGS="-D_GNU_SOURCE" export LDFLAGS="-static" +# TODO: indirection via deps directory/symlink +cat >>.config <<EOF +CONFIG_DEFAULT_MODULES_DIR="{{pkg_install_dir("linux")}}" +EOF -cd busybox +{% endblock %} +{%- block build %} make V=1 CROSS_COMPILE={{triplet}}- LDFLAGS=-static HOSTLDFLAGS=-static \ - HOSTCC="$CC -static" CC="$CC -static" HOSTCFLAGS=-D_GNU_SOURCE -j$JOBS + HOSTCC="$CC -static" CC="$CC -static" HOSTCFLAGS=-D_GNU_SOURCE -j${JOBS:-1} -mkdir -p "$pthbs_destdir{{versions}}/$pthbs_package/command" +{% endblock %} +{%- block install %} +{% include "functions/check_static" %} + +mkdir -p "${dest}/command" for exe in depmod insmod lsmod modinfo modprobe rmmod; do - mv -v $exe "$pthbs_destdir{{versions}}/$pthbs_package/command/" + mv -v $exe "${dest}/command/" check_static command/$exe printf './command/%s\t./command/%s\n' "$exe" "$exe" \ - >>"$pthbs_destdir{{versions}}/$pthbs_package/.install-links.new" + >>"${dest}/.install-links.new" done +{% endblock %} +{%- block finish %} cd "$pthbs_destdir{{versions}}/$pthbs_package" mv .install-links.new .install-links {% endblock %} - diff --git a/templates/pkg/busybox:bootstrap b/templates/pkg/busybox:bootstrap @@ -7,7 +7,6 @@ #@git:aa4d303a3139107919f73cece4eaf85a7dc75db6:busybox #@sha256:9ee52091d7a41e7e492d508574573fbebe64155d85a07980128f21105eaad1e2:busybox/.config -: ${JOBS:=1} mcm={{pkg_install_dir("musl-cross-make:bootstrap-1")}} make={{pkg_install_dir("gnu-make:bootstrap")}} @@ -18,7 +17,7 @@ export LDFLAGS="-static" cd busybox $make/command/make V=1 CROSS_COMPILE={{triplet}}- LDFLAGS=-static HOSTLDFLAGS=-static \ - HOSTCC="$CC -static" CC="$CC -static" HOSTCFLAGS=-D_GNU_SOURCE -j$JOBS + HOSTCC="$CC -static" CC="$CC -static" HOSTCFLAGS=-D_GNU_SOURCE -j${JOBS:-1} mkdir -p "$pthbs_destdir{{versions}}/$pthbs_package/command" cp -a busybox "$pthbs_destdir{{versions}}/$pthbs_package/command/" diff --git a/templates/pkg/ca-certificates-wip-donotuse b/templates/pkg/ca-certificates-wip-donotuse @@ -1,26 +1,24 @@ +{%- set src_dir="ca-certificates-20241121" -%} {% extends "genlinks" %} -{%- block script %} -#+{{pkg_install_name("musl-cross-make")}} -#+{{pkg_install_name("busybox")}} +{%- block package_deps %} #+{{pkg_install_name("certdata2pem")}} #@untar:-j:sha256:6ef7bc56cc0e0b307d99a3c494119686091cc1d4ad08986d68aa089dd00c7788:. - -{% include "functions/vars" %} -def_prefix - -cd ca-certificates-20241121 +{% endblock %} +{%- block build %} touch blacklist.txt # TODO! certdata2pem -install -d "$pthbs_destdir/$prefix/config/ssl/certs" +{% endblock %} +{%- block install %} +install -d "${dest}/config/ssl/certs" for file in ./*.crt; do - install -m 644 $file "$pthbs_destdir/$prefix/config/ssl/certs" - printf '# %s\n' $file >>"$pthbs_destdir/$prefix/config/ssl/certs/ca-certificates.crt" - cat $file >>"$pthbs_destdir/$prefix/config/ssl/certs/ca-certificates.crt" + install -m 644 $file "${dest}/config/ssl/certs" + printf '# %s\n' $file >>"${dest}/config/ssl/certs/ca-certificates.crt" + cat $file >>"${dest}/config/ssl/certs/ca-certificates.crt" done {% endblock %} -{% block rules %} +{% block genlinks_rules %} $2 == "config" { link($0); next } {% endblock -%} {% block genlinks_begin %} diff --git a/templates/pkg/ccx-utils b/templates/pkg/ccx-utils @@ -1,20 +1,17 @@ +{%- set pkg_source="git" -%} {% extends "genlinks" %} -{%- block script %} +{%- block package_deps %} #+{{pkg_install_name("musl-cross-make")}} #+{{pkg_install_name("gnu-make")}} -#+{{pkg_install_name("busybox")}} #+{{pkg_install_name("skalibs")}} #+{{pkg_install_name("s6")}} -#@git:{{submodule.current["ccx-utils"]}}:ccx-utils - +{% endblock %} +{%- block build %} {% include "functions/check_static" %} {% include "functions/build_env_static" %} -{% include "functions/vars" %} build_env_static -def_prefix -./ccx-utils/link.configure $LDFLAGS -cd ccx-utils/src +./link.configure $LDFLAGS for name in \ argv0exec \ @@ -33,11 +30,13 @@ for name in \ ucspi-socksserver-access do make $name - install -d "$pthbs_destdir/$prefix/command" - install -m 755 $name "$pthbs_destdir/$prefix/command" + install -d "${dest}/command" + install -m 755 $name "${dest}/command" check_static command/$name done {% endblock %} +{%- block install %} +{% endblock %} {% block genlinks_begin %} x["./command/spawn-pty"]=1 x["./command/argv0exec"]=1 diff --git a/templates/pkg/certdata2pem b/templates/pkg/certdata2pem @@ -1,24 +1,7 @@ -{% extends "genlinks" %} -{%- block script %} -#+{{pkg_install_name("musl-cross-make")}} -#+{{pkg_install_name("gnu-make")}} -#+{{pkg_install_name("busybox")}} -#@sha256:{{files["certdata2pem.c"]}}:certdata2pem.c - -name=certdata2pem -{% include "functions/check_static" %} -{% include "functions/build_env_static" %} -{% include "functions/vars" %} -build_env_static -def_prefix - -gcc -D_GNU_SOURCE -static -o $name $name.c $LDFLAGS - -install -d "$pthbs_destdir/$prefix/command" -install -m 755 $name "$pthbs_destdir/$prefix/command" -check_static command/$name +{% extends "single_static_c" %} +{%- block configure %} +CFLAGS="-D_GNU_SOURCE" {% endblock %} {% block genlinks_begin %} x["./command/certdata2pem"]=1 {%- endblock %} - diff --git a/templates/pkg/containers b/templates/pkg/containers @@ -1,15 +1,17 @@ +{%- set pkg_source="git" -%} {% extends "scriptsetup" %} -{%- block extra_deps %} +{%- block package_deps %} #+{{pkg_install_name("execline")}} #+{{pkg_install_name("alpine-keys")}} #+{{pkg_install_name("apk-tools")}} #+{{pkg_install_name("xbps")}} #+{{pkg_install_name("container-bin-image")}} {%- endblock %} -{%- block extra_script %} -mkdir "$pkgdir/data" -mv -v service_scripts container_template "$pkgdir/data/" -printf '%s\n' >"$pkgdir/zsh/site-functions/confz_containers_pthbs_init" \ +{%- block install %} +{{ super() }} +mkdir "${dest}/data" +mv -v service_scripts container_template "${dest}/data/" +printf '%s\n' >"${dest}/zsh/site-functions/confz_containers_pthbs_init" \ "typeset -g container_template_dir='$prefix/data/container_template'" \ "typeset -g container_service_script_dir='$prefix/data/service_scripts'" \ "typeset -g container_ns_bin_dir='$prefix/deps/container-bin-image'" \ @@ -19,25 +21,25 @@ printf '%s\n' >"$pkgdir/zsh/site-functions/confz_containers_pthbs_init" \ "typeset -g container_void_keys_dir='$prefix/deps/keys/void'" \ "typeset -g container_xbps_install_executable='$prefix/deps/command/xbps-install.static'" -mkdir -p "$pkgdir/deps/command" -ln -sf '{{pkg_install_dir("apk-tools")}}/command/apk.static' "$pkgdir/deps/command/" -ln -sf '{{pkg_install_dir("xbps")}}/command/xbps-install.static' "$pkgdir/deps/command/" +mkdir -p "${dest}/deps/command" +ln -sf '{{pkg_install_dir("apk-tools")}}/command/apk.static' "${dest}/deps/command/" +ln -sf '{{pkg_install_dir("xbps")}}/command/xbps-install.static' "${dest}/deps/command/" for f in '{{pkg_install_dir("alpine-keys")}}'/keys/alpine/*/*; do test -f "$f" d=$(basename "${f%/*}") - mkdir -p "$pkgdir/deps/keys/alpine/$d" - ln -sf "$f" "$pkgdir/deps/keys/alpine/$d/" + mkdir -p "${dest}/deps/keys/alpine/$d" + ln -sf "$f" "${dest}/deps/keys/alpine/$d/" done -mkdir -p "$pkgdir/deps/keys/void" +mkdir -p "${dest}/deps/keys/void" for f in '{{pkg_install_dir("xbps")}}'/keys/void/*; do - ln -sf "$f" "$pkgdir/deps/keys/void/" + ln -sf "$f" "${dest}/deps/keys/void/" done test -d '{{pkg_install_dir("container-bin-image")}}/container-bin-image' test -f '{{pkg_install_dir("container-bin-image")}}/container-bin-image/if' -ln -sf '{{pkg_install_dir("container-bin-image")}}/container-bin-image' "$pkgdir/deps/" +ln -sf '{{pkg_install_dir("container-bin-image")}}/container-bin-image' "${dest}/deps/" {%- endblock %} {% block genlinks_begin %} diff --git a/templates/pkg/curl b/templates/pkg/curl @@ -1,13 +1,13 @@ -{% extends "autotools" %} -{%- block extra_deps %} +{%- set pkg_version="8.6.0" -%} +{%- set pkg_source="tar.xz" -%} +{% extends "autotools_static" %} +{%- block package_deps %} #+{{pkg_install_name("libressl")}} -#@untar:-J:sha256:3ccd55d91af9516539df80625f818c734dc6f2ecf9bada33c76765e99121db15:. {%- endblock %} -{% block at_script %} +{% block configure %} # Do not generate manpages (requires Perl) ( - cd curl-8.6.0 t=$(busybox which true) for f in scripts/cd2nroff docs/cmdline-opts/*.pl; do printf '#!%s\n' "$t" >$f @@ -15,7 +15,7 @@ ) || exit $? export LDFLAGS="--static" -autotools_static curl-8.6.0 \ +autotools_config_static \ --with-zlib \ --enable-ipv6 \ --enable-unix-sockets \ @@ -26,10 +26,16 @@ autotools_static curl-8.6.0 \ --without-libssh2 \ --without-libpsl \ --disable-manual -check_static command/curl +{%- endblock %} +{% block install %} +{{ super() }} rm -r -v "$pthbs_destdir"'{{versions}}'"/$pthbs_package/man" +{%- endblock %} +{% block check %} +check_static command/curl + {% endblock %} {% block genlinks_begin %} x["./command/curl"]=1 diff --git a/templates/pkg/diffutils b/templates/pkg/diffutils @@ -1,10 +1,8 @@ -{% extends "autotools" %} -{%- block extra_deps %} -#@untar:-J:sha256:90e5e93cc724e4ebe12ede80df1634063c7a855692685919bfe60b556c9bd09e:. -{%- endblock %} -{% block at_script %} - -autotools_static diffutils-3.10 --disable-nls +{%- set pkg_version="3.10" -%} +{%- set pkg_source="tar.xz" -%} +{% extends "autotools_static" %} +{% block configure_args %}--disable-nls{% endblock %} +{% block check %} check_static command/diff check_static command/cmp diff --git a/templates/pkg/easyseccomp b/templates/pkg/easyseccomp @@ -1,23 +1,34 @@ +{%- set pkg_source="git" -%} {% extends "autotools" %} -{%- block extra_deps %} +{%- block package_deps %} #+{{pkg_install_name("patch")}} #+{{pkg_install_name("flex")}} #+{{pkg_install_name("bison")}} #+{{pkg_install_name("libseccomp")}} #+{{pkg_install_name("error-standalone")}} #+{{pkg_install_name("argp-standalone")}} -#@git:{{submodule.current[name]}}:{{name}} #@untar::sha256:{{files["easyseccomp-configure.tar"]}}:{{name}} #@sha256:{{files["easyseccomp_fix_includes.patch"]}}:easyseccomp_fix_includes.patch -{%- endblock %} -{% block at_script %} - -cd {{name}} +{% endblock %} +{%- block prepare %} +{{ super() }} patch -p1 <../easyseccomp_fix_includes.patch touch Makefile.in configure +{% endblock %} +{%- block configure %} build_env_static autotools_config --enable-seccomp + +{% endblock %} +{%- block build %} make -j1 V=1 DESTDIR="$pthbs_destdir" LIBS="-lseccomp -lerror -largp" install + +{% endblock %} +{%- block install %} +{% endblock %} +{%- block check %} +{% include "functions/check_static" %} + check_static command/easyseccomp {% endblock %} diff --git a/templates/pkg/error-standalone b/templates/pkg/error-standalone @@ -1,20 +1,22 @@ +{%- set pkg_version="2.0" -%} +{%- set pkg_source="tar.gz" -%} {% extends "genlinks" %} -{%- block script %} +{%- block package_deps %} #+{{pkg_install_name("musl-cross-make")}} #+{{pkg_install_name("gnu-make")}} -#+{{pkg_install_name("busybox")}} #+{{pkg_install_name("busybox-diffutils")}} -#@untar:-z:sha256:0e751989cea94e25d5166a6a1ed9bde218786e39dff82e1f01dff12fc78639d9:. - +{% endblock %} +{%- block build %} {% include "functions/build_env_static" %} -prefix={{versions}}/$pthbs_package -build_env_static cd error-standalone-2.0 {{make}} PREFIX={{versions}}/$pthbs_package \ DESTDIR="$pthbs_destdir" \ INCDIR="$prefix/include" \ LIBDIR="$prefix/library" \ install-static + +{% endblock %} +{%- block install %} {% endblock %} {% block genlinks_begin %} x["./library/liberror.a"]=1 diff --git a/templates/pkg/execline b/templates/pkg/execline @@ -1,10 +1,12 @@ {% extends "skaware" %} -{%- block postinstall %} -if ! test -e "${pthbs_destdir%/}$prefix/command/eltest"; then +{%- block install %} +{{ super() }} +if ! test -e "${dest}/command/eltest"; then # TODO - printf '%s\n' >"${pthbs_destdir%/}$prefix/command/eltest" \ + printf '%s\n' >"${dest}/command/eltest" \ "#!$prefix/command/execlineb -S0" \ 's6-test $@' - chmod +x "${pthbs_destdir%/}$prefix/command/eltest" + chmod +x "${dest}/command/eltest" fi + {%- endblock %} diff --git a/templates/pkg/findutils b/templates/pkg/findutils @@ -1,14 +1,11 @@ +{%- set pkg_version="4.10.0" -%} +{%- set pkg_source="tar.xz" -%} {% extends "autotools" %} -{%- block extra_deps %} -#@untar:-J:{{downloads["findutils-4.10.0.tar.xz"]}}:. -{%- endblock %} -{% block at_script %} - -autotools_static findutils-4.10.0 --disable-nls - +{% block configure_args %}--disable-nls{% endblock %} +{% block check %} check_static command/find check_static command/xargs -check_static command/locate +# TODO: fix shebang in check_static command/locate # TODO: fix shebang in command/updatedb {% endblock %} diff --git a/templates/pkg/flex b/templates/pkg/flex @@ -1,12 +1,13 @@ -{% extends "autotools" %} -{%- block extra_deps %} -#@untar:-z:sha256:e87aae032bf07c26f85ac0ed3250998c37621d95f8bd748b31f15b33c45ee995:. -{%- endblock %} -{% block at_script %} - +{%- set pkg_version="2.6.4" -%} +{%- set pkg_source="tar.gz" -%} +{% extends "autotools_static" %} +{%- block configure %} export CPPFLAGS="-D_GNU_SOURCE -DSTDC_HEADERS" export LDFLAGS="--static" -autotools_static flex-2.6.4 --disable-nls + +{{ super() }} +{% endblock %} +{%- block check %} check_static command/flex check_static command/flex++ diff --git a/templates/pkg/getconf b/templates/pkg/getconf @@ -1,23 +1 @@ -{% extends "genlinks" %} -{%- block script %} -#+{{pkg_install_name("musl-cross-make")}} -#+{{pkg_install_name("gnu-make")}} -#+{{pkg_install_name("busybox")}} -#@sha256:d87d0cbb3690ae2c5d8cc218349fd8278b93855dd625deaf7ae50e320aad247c:getconf.c - -name=getconf -{% include "functions/check_static" %} -{% include "functions/build_env_static" %} -{% include "functions/vars" %} -build_env_static -def_prefix - -gcc -static -o $name $name.c - -install -d "$pthbs_destdir/$prefix/command" -install -m 755 $name "$pthbs_destdir/$prefix/command" -check_static command/$name -{% endblock %} -{% block genlinks_begin %} - x["./command/getconf"]=1 -{%- endblock %} +{% extends "single_static_c" %} diff --git a/templates/pkg/getent b/templates/pkg/getent @@ -1,23 +1,4 @@ -{% extends "genlinks" %} -{%- block script %} -#+{{pkg_install_name("musl-cross-make")}} -#+{{pkg_install_name("gnu-make")}} -#+{{pkg_install_name("busybox")}} -#@sha256:002c1a216f6bed0f816ab1cfebde94a0b127193ef410c36b2190599983e015b8:getent.c - -name=getent -{% include "functions/check_static" %} -{% include "functions/build_env_static" %} -{% include "functions/vars" %} -build_env_static -def_prefix - -gcc -static -o $name $name.c - -install -d "$pthbs_destdir/$prefix/command" -install -m 755 $name "$pthbs_destdir/$prefix/command" -check_static command/$name -{% endblock %} -{% block genlinks_begin %} - x["./command/getent"]=1 -{%- endblock %} +{% extends "single_static_c" %} +{%- block source_deps %} +#@sha256:{{ downloads[name + ".c"] }}:{{ name }}.c +{{ endblock }} diff --git a/templates/pkg/git b/templates/pkg/git @@ -1,5 +1,7 @@ +{%- set pkg_version="2.43.2" -%} +{%- set pkg_source="tar.xz" -%} {% extends "genlinks" %} -{%- block script %} +{%- block package_deps %} #+{{pkg_install_name("musl-cross-make")}} #+{{pkg_install_name("gnu-make")}} #+{{pkg_install_name("busybox")}} @@ -7,24 +9,8 @@ #+{{pkg_install_name("m4")}} #+{{pkg_install_name("libressl")}} #+{{pkg_install_name("curl")}} -#@untar:-J:sha256:f612c1abc63557d50ad3849863fc9109670139fc9901e574460ec76e0511adb9:. - -check_static() { - local exe || true - exe=$pthbs_destdir/'{{versions}}'/$pthbs_package/$1 - if ! test -f $exe; then - printf '%s\n' "Error: file '$1' doesn't exist!" - exit 1 - fi - 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={{versions}}/$pthbs_package - +{% endblock %} +{%- block build %} {{make}} -C ./git-2.43.2 \ LD_LIBRARY_PATH="$pthbs_build_environment/library:$pthbs_build_environment/library.so" \ CPATH="$pthbs_build_environment/include" \ @@ -42,6 +28,11 @@ prefix={{versions}}/$pthbs_package gitwebdir="$prefix/gitweb" \ V=1 all install +{% endblock %} +{%- block install %} +{% endblock %} +{%- block check %} +{% include "functions/check_static" %} check_static command/git {% endblock %} diff --git a/templates/pkg/gnu-make b/templates/pkg/gnu-make @@ -1,13 +1,15 @@ -{% extends "autotools" %} -{%- block default_deps %} +{%- set pkg_version="4.4.1" -%} +{%- set pkg_source="tar.gz" -%} +{% extends "autotools_static" %} +{%- block template_deps %}{% endblock %} +{%- block package_deps %} #+{{pkg_install_name("musl-cross-make")}} #+{{pkg_install_name("gnu-make:bootstrap")}} #+{{pkg_install_name("busybox:bootstrap")}} -#@untar:-z:sha256:dd16fb1d67bfab79a72f5e8390735c49e3e8e70b4945a15ab1f81ddb78658fb3:. {%- endblock %} -{% block at_script %} - -autotools_static make-4.4.1 --disable-nls +{% block configure_args %}--disable-nls{% endblock %} +{%- endblock %} +{% block check %} check_static command/make {% endblock %} diff --git a/templates/pkg/gnu-make:bootstrap b/templates/pkg/gnu-make:bootstrap @@ -1,12 +1,13 @@ +{%- set pkg_version="4.4.1" -%} +{%- set pkg_source="tar.gz" -%} {% extends "autotools" %} -{%- block default_deps %} +{%- block template_deps %} #@pragma:nosandbox #@pragma:nopath #+{{pkg_install_name("musl-cross-make:bootstrap-1")}} #@untar:-z:sha256:dd16fb1d67bfab79a72f5e8390735c49e3e8e70b4945a15ab1f81ddb78658fb3:. {%- endblock %} -{% block at_script %} - +{% block configure %} mcm={{versions}}/musl-cross-make.{{pkg_sha256("musl-cross-make:bootstrap-1")}} export PATH="$mcm/bin:$PATH" @@ -15,7 +16,8 @@ export CXX="$mcm/bin/{{triplet}}-g++" export CFLAGS="-D_GNU_SOURCE" export LDFLAGS="-static" -autotools make-4.4.1 --enable-static --disable-shared --disable-nls +autotools_config --enable-static --disable-shared --disable-nls + {% endblock %} {% block genlinks_begin %} x["./command/make"]=1 diff --git a/templates/pkg/gperf b/templates/pkg/gperf @@ -1,12 +1,8 @@ -{% extends "autotools" %} -{%- block extra_deps %} -#@untar:-z:sha256:588546b945bba4b70b6a3a616e80b4ab466e3f33024a352fc2198112cdbb3ae2:. -{% endblock %} -{% block at_script %} - -autotools_static gperf-3.1 +{%- set pkg_version="3.1" -%} +{%- set pkg_source="tar.gz" -%} +{% extends "autotools_static" %} +{% block check %} check_static command/gperf - {% endblock %} {% block genlinks_begin %} x["./command/gperf"]=1 diff --git a/templates/pkg/iconv b/templates/pkg/iconv @@ -1,23 +1 @@ -{% extends "genlinks" %} -{%- block script %} -#+{{pkg_install_name("musl-cross-make")}} -#+{{pkg_install_name("gnu-make")}} -#+{{pkg_install_name("busybox")}} -#@sha256:f79a2930a2e5bb0624321589edf8b889d1e9b603e01e6b7ae214616605b3fdd7:iconv.c - -name=iconv -{% include "functions/check_static" %} -{% include "functions/build_env_static" %} -{% include "functions/vars" %} -build_env_static -def_prefix - -gcc -static -o $name $name.c - -install -d "$pthbs_destdir/$prefix/command" -install -m 755 $name "$pthbs_destdir/$prefix/command" -check_static command/$name -{% endblock %} -{% block genlinks_begin %} - x["./command/iconv"]=1 -{%- endblock %} +{% extends "single_static_c" %} diff --git a/templates/pkg/kbd b/templates/pkg/kbd @@ -1,19 +1,26 @@ -{% extends "autotools" %} -{%- block extra_deps %} +{%- set pkg_version="2.6.4" -%} +{%- set pkg_source="tar.gz" -%} +{% extends "autotools_static" %} +{%- block package_deps %} #@untar:-z:sha256:99b2a39e1c5475ffe8e1bb2004345cb8849c3cc1aedbe541beee2d45e270975f:. {%- endblock %} -{% block at_script %} - -#export CPPFLAGS="-D_GNU_SOURCE -DSTDC_HEADERS" +{%- block configure %} export LDFLAGS="--static" -autotools_static kbd-2.6.4 \ +{{ super() }} +{% endblock %} +{%- block configure_args -%} --disable-nls --disable-vlock --disable-werror --disable-tests \ --datadir="$prefix/data" --datarootdir="$prefix/data" -check_static command/loadkeys +{% endblock %} +{%- block install %} +{{ super() }} cd ../destdir mv -v data ".$prefix/" {% endblock %} +{%- block check %} +check_static command/loadkeys +{% endblock %} {% block genlinks_begin %} x["./command/loadkeys"]=1 {% endblock %} diff --git a/templates/pkg/kernel.environment b/templates/pkg/kernel.environment @@ -1,2 +1,3 @@ {{ shebang }} #+{{pkg_install_name("linux")}} +#+{{pkg_install_name("busybox-kmod")}} diff --git a/templates/pkg/libarchive b/templates/pkg/libarchive @@ -1,12 +1,12 @@ -{% extends "autotools" %} -{%- block extra_deps %} -#@untar:-J:sha256:04357661e6717b6941682cde02ad741ae4819c67a260593dfb2431861b251acb:. -{%- endblock %} -{% block at_script %} - +{%- set pkg_version="3.7.2" -%} +{%- set pkg_source="tar.xz" -%} +{% extends "autotools_static" %} +{%- block configure %} export LDFLAGS=--static -autotools_static libarchive-3.7.2 --without-xml2 - +{{ super() }} +{% endblock %} +{%- block configure_args %}--without-xml2{% endblock %} +{%- block check %} check_static command/bsdtar check_static command/bsdcpio diff --git a/templates/pkg/libbsd b/templates/pkg/libbsd @@ -1,11 +1,9 @@ -{% extends "autotools" %} -{%- block extra_deps %} +{%- set pkg_version="0.11.8" -%} +{%- set pkg_source="tar.xz" -%} +{% extends "autotools_static" %} +{%- block package_deps %} #+{{pkg_install_name("libmd")}} -#@untar:-J:sha256:55fdfa2696fb4d55a592fa9ad14a9df897c7b0008ddb3b30c419914841f85f33:. {%- endblock %} -{% block at_script %} -autotools_static libbsd-0.11.8 -{% endblock %} {% block genlinks_begin %} x["./library/libbsd.a"]=1 x["./include/bsd/bsd.h"]=1 diff --git a/templates/pkg/libcap b/templates/pkg/libcap @@ -1,22 +1,25 @@ +{%- set pkg_version="2.69" -%} +{%- set pkg_source="tar.xz" -%} {% extends "genlinks" %} -{%- block script %} +{%- block package_deps %} #+{{pkg_install_name("musl-cross-make")}} #+{{pkg_install_name("gnu-make")}} -#+{{pkg_install_name("busybox")}} #+{{pkg_install_name("busybox-diffutils")}} #+{{pkg_install_name("pkgconf-pkg-config")}} -#@untar:-J:sha256:f311f8f3dad84699d0566d1d6f7ec943a9298b28f714cae3c931dfd57492d7eb:. +{%- endblock %} +{%- block prepare %} +{{ super() }} +sed -i '1 s|^#!/bin/bash|#!/bin/sh|' progs/*.sh -{% include "functions/check_static" %} +{% endblock %} +{%- block configure %} {% include "functions/build_env_static" %} -{% include "functions/vars" %} -def_prefix LDFLAGS=--static build_env_static -cd libcap-2.69 -sed -i '1 s|^#!/bin/bash|#!/bin/sh|' progs/*.sh -make \ +{% endblock %} +{%- block build_and_install %} +{{make}} \ DESTDIR="$pthbs_destdir" \ SHARED=no DYNAMIC=no LIBCSTATIC=yes \ prefix="$prefix" \ @@ -34,7 +37,9 @@ make \ CAPSH_SHELL="'-DSHELL=\"$(which sh)\"'" \ LDFLAGS="$LDFLAGS" \ all install - +{% endblock %} +{%- block check %} +{% include "functions/check_static" %} check_static command/capsh check_static command/getcap check_static command/setcap diff --git a/templates/pkg/libcgroup b/templates/pkg/libcgroup @@ -1,13 +1,12 @@ -{% extends "autotools" %} -{%- block extra_deps %} +{%- set pkg_version="3.0.0" -%} +{%- set pkg_source="tar.gz" -%} +{% extends "autotools_static" %} +{%- block package_deps %} #+{{pkg_install_name("flex")}} #+{{pkg_install_name("bison")}} #+{{pkg_install_name("musl-fts")}} -#@untar:-z:sha256:8d284d896fca1c981b55850e92acd3ad9648a69227c028dda7ae3402af878edd:. {%- endblock %} -{% block at_script %} - -autotools_static libcgroup-3.0.0 +{% block check %} check_static command/cgconfigparser {% endblock %} diff --git a/templates/pkg/libelf b/templates/pkg/libelf @@ -1,24 +1,23 @@ +{%- set pkg_source="git" -%} {% extends "genlinks" %} -{%- block script %} +{%- block package_deps %} #+{{pkg_install_name("musl-cross-make")}} #+{{pkg_install_name("gnu-make")}} #+{{pkg_install_name("busybox")}} #+{{pkg_install_name("busybox-diffutils")}} #+{{pkg_install_name("zstd")}} -#@git:{{submodule.current[name]}}:{{name}} - +{%- endblock %} +{%- block build_and_install %} {% include "functions/build_env_static" %} -prefix={{versions}}/$pthbs_package build_env_static -cd {{name}} {{make}} PREFIX="$prefix" \ DESTDIR="$pthbs_destdir" \ INCDIR="$prefix/include" \ LIBDIR="$prefix/library" \ install-static -mkdir -p "$pthbs_destdir/${prefix#/}/library/pkgconfig" -printf '%s\n' > "$pthbs_destdir/${prefix#/}/library/pkgconfig/libelf.pc" \ +mkdir -p "${dest}/library/pkgconfig" +printf '%s\n' > "${dest}/library/pkgconfig/libelf.pc" \ "prefix={{versions}}/$pthbs_package" \ 'exec_prefix=${prefix}' \ 'includedir=${prefix}/include' \ diff --git a/templates/pkg/libmd b/templates/pkg/libmd @@ -1,10 +1,6 @@ -{% extends "autotools" %} -{%- block extra_deps %} -#@untar:-J:sha256:1bd6aa42275313af3141c7cf2e5b964e8b1fd488025caf2f971f43b00776b332:. -{%- endblock %} -{% block at_script %} -autotools_static libmd-1.1.0 -{% endblock %} +{%- set pkg_version="1.1.0" -%} +{%- set pkg_source="tar.xz" -%} +{% extends "autotools_static" %} {% block genlinks_begin %} x["./library/libmd.a"]=1 x["./include/rmd160.h"]=1 diff --git a/templates/pkg/libressl b/templates/pkg/libressl @@ -1,17 +1,17 @@ -{% extends "autotools" %} -{%- block extra_deps %} +{%- set pkg_version="3.8.2" -%} +{%- set pkg_source="tar.gz" -%} +{% extends "autotools_static" %} +{%- block package_deps %} #+{{pkg_install_name("ca-certificates-wip-donotuse")}} -#@untar:-z:sha256:6d4b8d5bbb25a1f8336639e56ec5088052d43a95256697a85c4ce91323c25954:. #@sha256:{{files["c_rehash.c"]}}:c_rehash.c {%- endblock %} -{% block at_script %} - -prefix={{versions}}/$pthbs_package +{% block configure %} export LDFLAGS="--static" -autotools_static libressl-3.8.2 --with-openssldir="$prefix/config/ssl" -check_static command/openssl -check_static command/ocspcheck - +{{ super() }} +{% endblock %} +{% block configure_args %}--with-openssldir="$prefix/config/ssl"{% endblock %} +{% block build %} +{{ super() }} cd .. gcc ./c_rehash.c -o c_rehash --static -static -I"$pthbs_destdir/$prefix/include" -L"$pthbs_destdir/$prefix/library" -lssl -lcrypto cp -vs '{{pkg_install_dir("ca-certificates-wip-donotuse")}}/config/ssl/certs'/*.crt "$pthbs_destdir/$prefix/config/ssl/certs/" @@ -30,10 +30,10 @@ printf >env/SSL_CERT_DIR '%s\n' "$prefix/config/ssl/certs" printf >env/GIT_SSL_CAPATH '%s\n' "$prefix/config/ssl/certs" {% endblock %} -{% block rules %} -$2 == "config" { link($0); next } -$2 == "env" { link($0); next } -{% endblock -%} +{% block check %} +check_static command/openssl +check_static command/ocspcheck +{% endblock %} {% block genlinks_begin %} x["./command/openssl"]=1 x["./command/ocspcheck"]=1 diff --git a/templates/pkg/libretls b/templates/pkg/libretls @@ -1,12 +1,9 @@ -{% extends "autotools" %} -{%- block extra_deps %} -#@untar:-z:sha256:3bc9fc0e61827ee2f608e5e44993a8fda6d610b80a1e01a9c75610cc292997b5:. -{%- endblock %} -{% block at_script %} - +{%- set pkg_version="3.8.1" -%} +{%- set pkg_source="tar.gz" -%} +{% extends "autotools_static" %} +{% block configure %} export LDFLAGS="--static" -autotools_static libretls-3.8.1 - +{{ super() }} {% endblock %} {% block genlinks_begin %} x["./man/man3/tls_connect.3"]=1 diff --git a/templates/pkg/libseccomp b/templates/pkg/libseccomp @@ -1,13 +1,15 @@ -{% extends "autotools" %} -{%- block extra_deps %} +{%- set pkg_version="2.6.0" -%} +{%- set pkg_source="tar.gz" -%} +{% extends "autotools_static" %} +{%- block package_deps %} #+{{pkg_install_name("pkgconf-pkg-config")}} #+{{pkg_install_name("gperf")}} -#@untar:-z:sha256:83b6085232d1588c379dc9b9cae47bb37407cf262e6e74993c61ba72d2a784dc:. {% endblock %} -{% block at_script %} - +{% block configure %} export LDFLAGS="--static" -autotools_static libseccomp-2.6.0 +{{ super() }} +{% endblock %} +{% block check %} check_static command/scmp_sys_resolver {% endblock %} diff --git a/templates/pkg/libunwind b/templates/pkg/libunwind @@ -1,16 +1,12 @@ -{% extends "autotools" %} -{%- block extra_deps %} -#@untar:-z:sha256:ddf0e32dd5fafe5283198d37e4bf9decf7ba1770b6e7e006c33e6df79e6a6157:. -{%- endblock %} -{% block at_script %} - -autotools_static libunwind-1.8.1 \ +{%- set pkg_version="1.8.1" -%} +{%- set pkg_source="tar.gz" -%} +{% extends "autotools_static" %} +{% block configure_args -%} --enable-cxx-exceptions \ --enable-coredump \ --enable-ptrace \ --enable-setjmp \ --enable-zlib - {% endblock %} {% block genlinks_begin %} x["./include/libunwind.h"]=1 diff --git a/templates/pkg/logincaps b/templates/pkg/logincaps @@ -1,24 +1,29 @@ {% extends "scriptsetup" %} -{%- block extra_deps %} +{%- block package_deps %} #+{{pkg_install_name("execline")}} #+{{pkg_install_name("musl-cross-make")}} #+{{pkg_install_name("ccx-utils")}} {%- endblock %} -{%- block extra_script %} +{%- block install %} +{{ super() }} -pthbs-banginstall etc/loginexec "$pkgdir" +pthbs-banginstall etc/loginexec "${dest}" -cat >"$pkgdir/command/login-keepenv" <<EOF +cat >"${dest}/command/login-keepenv" <<EOF #!$(which execlineb) -S0 $prefix/command/login -p \$@ EOF -chmod +x "$pkgdir/command/login-keepenv" +chmod +x "${dest}/command/login-keepenv" cd login sh build_static.sh -DLOGINEXEC_PATH="\"$prefix/command/loginexec\"" -cp -a login "$pkgdir/command/" +cp -a login "${dest}/command/" -{%- endblock %} +{% endblock %} +{%- block install %} +{% include "functions/check_static" %} +check_static command/login +{% endblock %} {% block genlinks_begin %} x["./command/check-root-password.py"]=1 x["./command/login"]=1 diff --git a/templates/pkg/m4 b/templates/pkg/m4 @@ -1,15 +1,16 @@ -{% extends "autotools" %} -{%- block default_deps %} +{%- set pkg_version="1.4.19" -%} +{%- set pkg_source="tar.gz" -%} +{% extends "autotools_static" %} +{%- block template_deps %}{% endblock %} +{%- block package_deps %} #+{{pkg_install_name("musl-cross-make")}} #+{{pkg_install_name("gnu-make")}} #+{{pkg_install_name("busybox")}} #+{{pkg_install_name("busybox-diffutils")}} #+{{pkg_install_name("busybox-findutils")}} -#@untar:-z:sha256:3be4a26d825ffdfda52a56fc43246456989a3630093cced3fbddf4771ee58a70:. {%- endblock %} -{% block at_script %} - -autotools_static m4-1.4.19 --disable-nls +{% block configure_args %}--disable-nls{% endblock %} +{% block check %} check_static command/m4 {% endblock %} diff --git a/templates/pkg/mdev-scripts b/templates/pkg/mdev-scripts @@ -1,15 +1,11 @@ {% extends "genlinks" %} -{%- block script %} +{%- block deps %} #+{{pkg_install_name("busybox")}} #+{{pkg_install_name("zsh")}} #+{{pkg_install_name("pthbs-banginstall")}} #@git:{{submodule.current["mdev-conf"]}}:{{name}} - -{% include "functions/vars" %} -def_prefix -def_dest - -cd '{{name}}' +{%- endblock %} +{%- block build_and_install %} mkdir -p "$dest" for script in persistent-storage dvbdev ptpdev usbdev; do mv -v $script mdev-hook-$script diff --git a/templates/pkg/mdevd b/templates/pkg/mdevd @@ -1,4 +1,4 @@ {% extends "skaware" %} -{%- block extra_deps %} +{%- block package_deps %} #+{{pkg_install_name("execline")}} {%- endblock %} diff --git a/templates/pkg/mlog b/templates/pkg/mlog @@ -1,23 +1,25 @@ +{%- set pkg_source="git" -%} {% extends "genlinks" %} -{%- block script %} +{%- block package_deps %} #+{{pkg_install_name("musl-cross-make")}} #+{{pkg_install_name("gnu-make")}} -#+{{pkg_install_name("busybox")}} -#@git:{{submodule.current["mlog"]}}:mlog - -name=mlog -{% include "functions/check_static" %} +{%- endblock %} +{%- block build %} {% include "functions/build_env_static" %} -{% include "functions/vars" %} build_env_static -def_prefix - -cd mlog +name=mlog make "$name" +{% endblock %} +{%- block install %} install -d "$pthbs_destdir/$prefix/command" install -m 755 "$name" "$pthbs_destdir/$prefix/command" + +{% endblock %} +{%- block check %} +{% include "functions/check_static" %} check_static "command/$name" + {% endblock %} {% block genlinks_begin %} x["./command/mlog"]=1 diff --git a/templates/pkg/musl-cross-make b/templates/pkg/musl-cross-make @@ -1,9 +1,11 @@ +{%- set pkg_source="git" -%} +{%- set src_dir="." -%} {% extends "genlinks" %} -{%- block script %} +{%- block template_deps %}{% endblock %} +{%- block package_deps %} #+{{pkg_install_name("musl-cross-make:bootstrap-1")}} #+{{pkg_install_name("gnu-make:bootstrap")}} #+{{pkg_install_name("busybox:bootstrap")}} -#@git:{{submodule.current["musl-cross-make"]}}:musl-cross-make #@sha256:ab66fc2d1c3ec0359b8e08843c9f33b63e8707efdff5e4cc5c200eae24722cbf:musl-cross-make/sources/binutils-2.33.1.tar.xz #@sha256:75d5d255a2a273b6e651f82eecfabf6cbcd8eaeae70e86b417384c8f4a58d8d3:musl-cross-make/sources/config.sub #@sha256:d08edc536b54c372a1010ff6619dd274c0f1603aa49212ba20f7aa2cda36fa8b:musl-cross-make/sources/gcc-11.2.0.tar.xz @@ -14,9 +16,8 @@ #@sha256:a9a118bbe84d8764da0ea0d28b3ab3fae8477fc7e4085d90102b8596fc7c75e4:musl-cross-make/sources/musl-1.2.5.tar.gz #@sha256:4213e75809588e3f32ae0fde8fb11df2dfd6e0e013762ff5ee951c3aadb7ffc0:musl-cross-make/patches/linux-6.5.4/0001-no-rsync-headers.diff #@sha256:{{files["zpipe.c"]}}:zpipe.c - -: ${JOBS:=1} - +{% endblock %} +{%- block configure %} # For validating the compiler printf '%s\n' 'int main(void) { return 0; }' >true.c @@ -35,11 +36,11 @@ printf '%s %s\n' >musl-cross-make/hashes/linux-6.5.4.tar.xz.sha1 \ touch musl-cross-make/sources/* +{% endblock %} +{%- block build_and_install %} # Patch linker path for dynamic executables make -C musl-cross-make gcc-11.2.0 sed -i -e 's|/lib/ld-musl-|{{versions}}/'"$pthbs_package"'/{{triplet}}/lib/ld-musl-|' musl-cross-make/gcc-11.2.0/gcc/config/*/linux*.h - - {{make}} -C musl-cross-make || exit $? make -C musl-cross-make install || exit $? @@ -78,6 +79,8 @@ printf '%s\n' > "$dd/library/pkgconfig/zlib.pc" \ 'Libs: -L${libdir} -lz' \ 'Cflags: -I${includedir}' +{% endblock %} +{% block check %} # validate zlib "$dd"'/bin/{{triplet}}-gcc' -I"$dd/include" -L"$dd/lib" -static -o zpipe zpipe.c -lz ./zpipe <true.c >true.c.gz @@ -101,6 +104,6 @@ cmp -s true.c true.c.2 x["./include/zconf.h"]=1 {% endblock %} -{% block rules %} +{% block genlinks_rules %} $2 == "bin" && $3 ~ /^{{triplet}}-/ { target=$3; sub("{{triplet}}-", "", target); link("./command/" target) } {% endblock -%} diff --git a/templates/pkg/musl-cross-make:bootstrap-0 b/templates/pkg/musl-cross-make:bootstrap-0 @@ -1,8 +1,10 @@ +{%- set pkg_source="git" -%} +{%- set src_dir="." -%} {% extends "genlinks" %} -{%- block script %} +{%- block template_deps %}{% endblock %} +{%- block package_deps %} #@pragma:nosandbox #@pragma:nopath -#@git:{{submodule.current["musl-cross-make"]}}: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 @@ -11,9 +13,8 @@ #@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:a9a118bbe84d8764da0ea0d28b3ab3fae8477fc7e4085d90102b8596fc7c75e4:musl-cross-make/sources/musl-1.2.5.tar.gz - -: ${JOBS:=1} - +{% endblock %} +{%- block configure %} # For validating the compiler printf '%s\n' 'int main(void) { return 0; }' >true.c @@ -25,6 +26,8 @@ printf '%s\n' >musl-cross-make/config.mak \ touch musl-cross-make/sources/* +{% endblock %} +{%- block build_and_install %} # 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 @@ -48,6 +51,6 @@ grep -F "$pthbs_package" true.linker x["./bin/{{triplet}}-g++"]=1 x["./bin/{{triplet}}-gcc"]=1 {% endblock %} -{% block rules %} +{% block genlinks_rules %} $2 == "bin" && $3 ~ /^{{triplet}}-/ { target=$3; sub("{{triplet}}-", "", target); link("./command/" target) } {% endblock -%} diff --git a/templates/pkg/musl-cross-make:bootstrap-1 b/templates/pkg/musl-cross-make:bootstrap-1 @@ -1,9 +1,11 @@ +{%- set pkg_source="git" -%} +{%- set src_dir="." -%} {% extends "genlinks" %} -{%- block script %} +{%- block template_deps %}{% endblock %} +{%- block package_deps %} #@pragma:nosandbox #@pragma:nopath #+{{pkg_install_name("musl-cross-make:bootstrap-0")}} -#@git:{{submodule.current["musl-cross-make"]}}:musl-cross-make #@sha256:ab66fc2d1c3ec0359b8e08843c9f33b63e8707efdff5e4cc5c200eae24722cbf:musl-cross-make/sources/binutils-2.33.1.tar.xz #@sha256:75d5d255a2a273b6e651f82eecfabf6cbcd8eaeae70e86b417384c8f4a58d8d3:musl-cross-make/sources/config.sub #@sha256:d08edc536b54c372a1010ff6619dd274c0f1603aa49212ba20f7aa2cda36fa8b:musl-cross-make/sources/gcc-11.2.0.tar.xz @@ -12,8 +14,8 @@ #@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:a9a118bbe84d8764da0ea0d28b3ab3fae8477fc7e4085d90102b8596fc7c75e4:musl-cross-make/sources/musl-1.2.5.tar.gz - -: ${JOBS:=1} +{% endblock %} +{%- block configure %} bootstrap={{versions}}/musl-cross-make.{{pkg_sha256("musl-cross-make:bootstrap-0")}} "$bootstrap/bin/{{triplet}}-gcc" --version @@ -32,6 +34,8 @@ printf '%s\n' >musl-cross-make/config.mak \ touch musl-cross-make/sources/* +{% endblock %} +{%- block build_and_install %} # Patch linker path for dynamic executables make -C musl-cross-make gcc-11.2.0 sed -i -e 's|/lib/ld-musl-|{{versions}}/'"$pthbs_package"'/{{triplet}}/lib/ld-musl-|' musl-cross-make/gcc-11.2.0/gcc/config/*/linux*.h @@ -56,6 +60,6 @@ grep -F "$pthbs_package" true.linker x["./bin/{{triplet}}-g++"]=1 x["./bin/{{triplet}}-gcc"]=1 {% endblock %} -{% block rules %} +{% block genlinks_rules %} $2 == "bin" && $3 ~ /^{{triplet}}-/ { target=$3; sub("{{triplet}}-", "", target); link("./command/" target) } {% endblock -%} diff --git a/templates/pkg/musl-fts b/templates/pkg/musl-fts @@ -1,12 +1,8 @@ -{% extends "autotools" %} -{%- block extra_deps %} +{%- set pkg_version="1.2.7" -%} +{% extends "autotools_static" %} +{%- block package_deps %} #@untar:-z:sha256:49ae567a96dbab22823d045ffebe0d6b14b9b799925e9ca9274d47d26ff482a6:. {%- endblock %} -{% block at_script %} - -autotools_static musl-fts-1.2.7 - -{% endblock %} {% block genlinks_begin %} x["./library/libfts.a"]=1 x["./include/fts.h"]=1 diff --git a/templates/pkg/netbsd-curses b/templates/pkg/netbsd-curses @@ -1,18 +1,17 @@ +{%- set pkg_source="git" -%} {% extends "genlinks" %} -{%- block script %} -#+{{pkg_install_name("busybox")}} +{%- block package_deps %} #+{{pkg_install_name("gnu-make")}} #+{{pkg_install_name("musl-cross-make")}} -#@git:{{submodule.current["netbsd-curses"]}}:curses - +{% endblock %} +{%- block configure %} export CFLAGS="-L$pthbs_build_environment/library -L$pthbs_build_environment/library.so" export LDFLAGS="-static -L$pthbs_build_environment/library $LDFLAGS" export LD_LIBRARY_PATH="$pthbs_build_environment/library:$pthbs_build_environment/library.so" export CPATH="$pthbs_build_environment/include" -cd curses -prefix={{versions}}/$pthbs_package -{{make}} +{% endblock %} +{%- block install %} cat << EOF > config.mak PREFIX=$prefix PREFIX="$prefix" diff --git a/templates/pkg/openssl b/templates/pkg/openssl @@ -1,15 +1,17 @@ +{%- set pkg_version="3.3.3" -%} +{%- set pkg_source="tar.gz" -%} {% extends "genlinks" %} -{%- block script %} -#+{{pkg_install_name("busybox")}} +{%- block package_deps %} #+{{pkg_install_name("gnu-make")}} #+{{pkg_install_name("musl-cross-make")}} -#@untar:-z:sha256:712590fd20aaa60ec75d778fe5b810d6b829ca7fb1e530577917a131f9105539:. - +{%- endblock %} +{%- block configure %} {% include "functions/build_env_static" %} build_env_static cd openssl-3.3.3 ./config # this will fail, perl is not packaged -{{make}} install +{%- endblock %} +{%- block check %} check_static command/openssl check_static command/ocspcheck diff --git a/templates/pkg/patch b/templates/pkg/patch @@ -1,10 +1,11 @@ -{% extends "autotools" %} -{%- block extra_deps %} -#@untar:-J:sha256:ac610bda97abe0d9f6b7c963255a11dcb196c25e337c61f94e4778d632f1d8fd:. -{%- endblock %} -{% block at_script %} - -autotools_static patch-2.7.6 --disable-nls +{%- set pkg_version="2.7.6" -%} +{%- set pkg_source="tar.xz" -%} +{% extends "autotools_static" %} +{% block configure_args %}--disable-nls{% endblock %} +{% block check %} check_static command/patch {% endblock %} +{% block genlinks_begin %} + x["./command/patch"]=1 +{%- endblock %} diff --git a/templates/pkg/patchelf:bootstrap b/templates/pkg/patchelf:bootstrap @@ -1,13 +1,15 @@ -{% extends "autotools" %} -{%- block default_deps %} +{%- set pkg_source="git" -%} +{% extends "autotools_static" %} +{%- block template_deps %}{% endblock %} +{%- block package_deps %} #@pragma:nosandbox #@pragma:nopath -#@git:{{submodule.current["patchelf"]}}:patchelf {%- endblock %} -{% block at_script %} -cd patchelf +{%- block configure %} ./bootstrap.sh -autotools_static . --disable-nls +autotools_config_static . --disable-nls +{% endblock %} +{%- block check %} check_static command/patchelf {% endblock %} {% block genlinks_begin %} diff --git a/templates/pkg/pkgconf b/templates/pkg/pkgconf @@ -1,12 +1,12 @@ -{% extends "autotools" %} -{%- block extra_deps %} -#@untar:-J:sha256:3a224f2accf091b77a5781316e27b9ee3ba82c083cc2e539e08940b68a44fec5:. -{%- endblock %} -{% block at_script %} - +{%- set pkg_version="2.1.1" -%} +{%- set pkg_source="tar.xz" -%} +{% extends "autotools_static" %} +{% block configure %} export LDFLAGS=--static -autotools_static pkgconf-2.1.1 --with-pkg-config-dir= +autotools_config_static --with-pkg-config-dir= +{% endblock %} +{% block check %} check_static command/pkgconf {% endblock %} diff --git a/templates/pkg/popt b/templates/pkg/popt @@ -1,10 +1,7 @@ -{% extends "autotools" %} -{%- block extra_deps %} -#@untar:-z:sha256:c25a4838fc8e4c1c8aacb8bd620edb3084a3d63bf8987fdad3ca2758c63240f9:. -{%- endblock %} -{% block at_script %} -autotools_static popt-1.19 --disable-nls -{% endblock %} +{%- set pkg_version="1.19" -%} +{%- set pkg_source="tar.gz" -%} +{% extends "autotools_static" %} +{% block configure_args %}--disable-nls{% endblock %} {% block genlinks_begin %} x["./include/popt.h"]=1 x["./library/libpopt.a"]=1 diff --git a/templates/pkg/pthbs-banginstall b/templates/pkg/pthbs-banginstall @@ -1,13 +1,13 @@ {% extends "genlinks" %} -{%- block script %} +{%- block package_deps %} #+{{pkg_install_name("busybox")}} #+{{pkg_install_name("zsh")}} #@sha256:{{files["pthbs-banginstall"]}}:pthbs-banginstall - -installdir="$pthbs_destdir/{{versions}}/$pthbs_package" -mkdir -p "$installdir/command" +{% endblock %} +{%- block build_and_install %} +mkdir -p "${dest}/command" chmod +x pthbs-banginstall -zsh -x pthbs-banginstall pthbs-banginstall "$installdir" +zsh -x pthbs-banginstall pthbs-banginstall "${dest}" {% endblock %} {% block genlinks_begin %} x["./command/pthbs-banginstall"]=1 diff --git a/templates/pkg/rsync b/templates/pkg/rsync @@ -1,18 +1,19 @@ -{% extends "autotools" %} -{%- block extra_deps %} +{%- set pkg_version="3.2.7" -%} +{%- set pkg_source="tar.gz" -%} +{% extends "autotools_static" %} +{%- block package_deps %} #+{{pkg_install_name("popt")}} #+{{pkg_install_name("libressl")}} #+{{pkg_install_name("zstd")}} -#@untar:-z:sha256:4e7d9d3f6ed10878c58c5fb724a67dacf4b6aac7340b13e488fb2dc41346f2bb:. {%- endblock %} -{% block at_script %} - -autotools_static rsync-3.2.7 \ +{% block configure_args -%} --without-included-popt \ --enable-openssl \ --enable-zstd \ --disable-xxhash \ --disable-lz4 +{% endblock %} +{% block check %} check_static command/rsync {% endblock %} diff --git a/templates/pkg/s6 b/templates/pkg/s6 @@ -1,32 +1,10 @@ -{% extends "genlinks" %} -{%- block script %} -#+{{pkg_install_name("musl-cross-make")}} -#+{{pkg_install_name("gnu-make")}} -#+{{pkg_install_name("busybox")}} -#+{{pkg_install_name("patch")}} -#+{{pkg_install_name("skalibs")}} +{%- set pkg_source="git" -%} +{% extends "skaware" %} +{%- block package_deps %} #+{{pkg_install_name("execline")}} -#@git:{{submodule.current.s6}}:s6 - -: ${JOBS:=1} - -prefix={{versions}}/$pthbs_package -cd s6 -./configure \ - --prefix="$prefix" \ - --dynlibdir="${prefix}/library.so" \ - --bindir="${prefix}/command" \ - --libdir="${prefix}/library" \ - --shebangdir="${prefix}/command" \ - --with-sysdeps='{{pkg_install_dir("skalibs")}}/sysdeps' \ - --with-include="$pthbs_build_environment/include" \ - --with-lib="$pthbs_build_environment/library" \ - --with-dynlib="$pthbs_build_environment/library.so" \ - --disable-shared --enable-static --enable-allstatic --enable-static-libc --absolute-paths - +{% endblock %} +{%- block build %} {{make}} CFLAGS=-DWANT_CLONE_NEWPID -make DESTDIR="$pthbs_destdir" install {% endblock %} {% block genlinks_begin %} {% endblock %} - diff --git a/templates/pkg/s6-dns b/templates/pkg/s6-dns @@ -1 +1,2 @@ +{%- set pkg_source="git" -%} {% extends "skaware" %} diff --git a/templates/pkg/s6-linux-init b/templates/pkg/s6-linux-init @@ -1,5 +1,6 @@ +{%- set pkg_source="git" -%} {% extends "skaware" %} -{%- block extra_deps %} +{%- block package_deps %} #+{{pkg_install_name("execline")}} #+{{pkg_install_name("s6")}} {%- endblock %} diff --git a/templates/pkg/s6-linux-utils b/templates/pkg/s6-linux-utils @@ -1 +1,2 @@ +{%- set pkg_source="git" -%} {% extends "skaware" %} diff --git a/templates/pkg/s6-networking b/templates/pkg/s6-networking @@ -1,11 +1,12 @@ +{%- set pkg_source="git" -%} {% extends "skaware" %} -{%- block extra_deps %} +{%- block package_deps %} #+{{pkg_install_name("execline")}} #+{{pkg_install_name("s6")}} #+{{pkg_install_name("s6-dns")}} #+{{pkg_install_name("libressl")}} {%- endblock %} -{%- block extra_configure %}--enable-ssl=libtls{% endblock %} +{%- block configure_args %}--enable-ssl=libtls{% endblock %} {% block genlinks_begin %} x["./command/s6-tcpclient"]=1 x["./command/s6-tcpserver"]=1 diff --git a/templates/pkg/s6-portable-utils b/templates/pkg/s6-portable-utils @@ -1 +1,2 @@ +{%- set pkg_source="git" -%} {% extends "skaware" %} diff --git a/templates/pkg/s6-rc b/templates/pkg/s6-rc @@ -1,5 +1,6 @@ +{%- set pkg_source="git" -%} {% extends "skaware" %} -{%- block extra_deps %} +{%- block package_deps %} #+{{pkg_install_name("execline")}} #+{{pkg_install_name("s6")}} {%- endblock %} diff --git a/templates/pkg/skalibs b/templates/pkg/skalibs @@ -1,21 +1,16 @@ +{%- set pkg_source="git" -%} {% extends "genlinks" %} -{%- block script %} +{%- block package_deps %} #+{{pkg_install_name("musl-cross-make")}} #+{{pkg_install_name("gnu-make")}} -#+{{pkg_install_name("busybox")}} -#@git:{{submodule.current.skalibs}}:skalibs - -: ${JOBS:=1} - +{%- endblock %} +{%- block configure %} 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="-O2 -ggdb" -prefix={{versions}}/$pthbs_package -cd skalibs ./configure \ --prefix="$prefix" \ --sysdepdir="${prefix}/sysdeps" \ @@ -25,9 +20,6 @@ cd skalibs --libdir="${prefix}/library" \ --includedir="${prefix}/include" \ --disable-shared --enable-static - -{{make}} -make DESTDIR="$pthbs_destdir" install {% endblock %} {% block genlinks_begin %} {% endblock %} diff --git a/templates/pkg/snaprep b/templates/pkg/snaprep @@ -1,3 +1,4 @@ +{%- set pkg_source="git" -%} {% extends "scriptsetup" %} {% block genlinks_begin %} x["./command/snap.push"]=1 diff --git a/templates/pkg/strace b/templates/pkg/strace @@ -1,15 +1,18 @@ -{% extends "autotools" %} -{%- block extra_deps %} +{%- set pkg_version="6.13" -%} +{%- set pkg_source="tar.xz" -%} +{% extends "autotools_static" %} +{%- block package_deps %} #+{{pkg_install_name("patch")}} #+{{pkg_install_name("libunwind")}} -#@untar:-J:sha256:e209daf0ee038ca5adcc4c277e9273b4d51f46a2ff86da575d36742ac3508a17:. #@sha256:{{files["strace-6.5-static.patch"]}}:strace-6.5-static.patch {%- endblock %} -{% block at_script %} - -cd strace-6.13 +{%- block prepare %} +{{ super() }} patch -p1 <../strace-6.5-static.patch -autotools_static . --with-unwind --without-libdw --enable-mpers=check + +{% endblock %} +{%- block configure_args %}--with-unwind --without-libdw --enable-mpers=check{% endblock %} +{%- block check %} check_static command/strace {% endblock %} diff --git a/templates/pkg/system-config b/templates/pkg/system-config @@ -1,6 +1,6 @@ +{%- set pkg_source="git" -%} {% extends "genlinks" %} -{%- block script %} -#+{{pkg_install_name("busybox")}} +{%- block package_deps %} #+{{pkg_install_name("diffutils")}} #+{{pkg_install_name("gnu-make")}} #+{{pkg_install_name("aat")}} @@ -15,11 +15,8 @@ #+{{pkg_install_name("zsh")}} #+{{pkg_install_name("system-config-scripts")}} #+{{pkg_install_name("logincaps")}} -#@git:{{submodule.current[name]}}:{{name}} - -{% include "functions/vars" %} -def_prefix -def_dest +{%- endblock %} +{%- block build_and_install %} err_notfound() { printf >&2 'Executable not found for command "%s"\n' "$1" exit 1 @@ -35,8 +32,6 @@ linkdep() { ln -sf $exe "$dest/deps/command/$name" } -cd '{{name}}' - printf '%s\n' >config/etc/motd \ "Welcome to $(cat ./config/hostname)!" \ 'Current running configuration was generated from {{name}}:{{submodule.current[name]}}' \ @@ -71,7 +66,11 @@ rsync -ai ./out/ "$dest/config/" mv -v keys "$dest/" {% endblock -%} -{% block rules %} -$2 == "config" { link($0); next } -$2 == "keys" { link($0); next } -{% endblock -%} +{% block genlinks_begin %} + x["./command/install-as-current-environment.postinstall"]=1 + x["./config/etc/fstab"]=1 + x["./config/etc/motd"]=1 + x["./config/etc/skel/loginexec"]=1 + x["./config/hostname"]=1 + x["./keys/ssh/root"]=1 +{% endblock %} diff --git a/templates/pkg/system-config-init b/templates/pkg/system-config-init @@ -1,33 +1,20 @@ +{%- set pkg_source="git" -%} {% extends "genlinks" %} -{%- block script %} -#+{{pkg_install_name("busybox")}} +{%- block package_deps %} #+{{pkg_install_name("s6")}} #+{{pkg_install_name("s6-rc")}} #+{{pkg_install_name("s6-portable-utils")}} #+{{pkg_install_name("s6-linux-init")}} #+{{pkg_install_name("execline")}} #+{{pkg_install_name("system-config-rc")}} +{% endblock %} +{%- block build_and_install %} +{% include "functions/q" %} +{% include "functions/qx" %} s6rcdb={{pkg_install_dir("system-config-rc")}}/config/s6-rc-db -prefix={{versions}}/$pthbs_package -pkgdir="$pthbs_destdir/$prefix" -q() { - "s6-quote" "$@" -} - -qx() { - exe=$(realpath "$(which "$1")") - name=$(basename "$1") - if ! test -x "$exe"; then - printf 'Error: executable not found: %s\n' "$1" - fi - mkdir -p "$pkgdir/deps/command" - ln -sf $exe "$pkgdir/deps/command/$name" - "s6-quote" "$prefix/deps/command/$name" -} - -# Generate init ($pkgdir must not exist but parent dir does) +# Generate init (${dest} must not exist but parent dir does) mkdir -p "$pthbs_destdir/{{versions}}" s6-linux-init-maker \ -p "/run/current/command:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" \ @@ -35,7 +22,7 @@ s6-linux-init-maker \ -t 1 \ -N \ -c "$prefix" \ - "$pkgdir" + "${dest}" # Link deps that are passed to s6-l-i-m @@ -47,17 +34,17 @@ qx execlineb el=$prefix/deps/command/$name # Rewrite bin/init as it fails finding it's own s6-linux-init -s6-cat >"$pkgdir/bin/init.new" <<EOF || exit $? +s6-cat >"${dest}/bin/init.new" <<EOF || exit $? #!$el -S0 $(qx pthbs-enter) $(qx s6-envdir) -I /run/current/env EOF -s6-cat >>"$pkgdir/bin/init.new" <"$pkgdir/bin/init" -chmod +x "$pkgdir/bin/init.new" -mv -v "$pkgdir/bin/init.new" "$pkgdir/bin/init" +s6-cat >>"${dest}/bin/init.new" <"${dest}/bin/init" +chmod +x "${dest}/bin/init.new" +mv -v "${dest}/bin/init.new" "${dest}/bin/init" # Rewrite dynamically generated scripts -s6-cat >"$pkgdir/scripts/rc.init" <<EOF || exit $? +s6-cat >"${dest}/scripts/rc.init" <<EOF || exit $? #!$el -S1 $(qx export) TERM "linux" $(qx foreground) { $(qx s6-echo) "* Starting s6-rc from "$(q "$s6rcdb") } @@ -65,7 +52,7 @@ $(qx if) { $(qx s6-rc-init) -d -c $(q "$s6rcdb") /run/service } $prefix/scripts/runlevel \$1 EOF -s6-cat >"$pkgdir/scripts/rc.shutdown" <<EOF || exit $? +s6-cat >"${dest}/scripts/rc.shutdown" <<EOF || exit $? #!$el -P ### Things to do before hardware halt/reboot/poweroff. @@ -77,7 +64,7 @@ $(qx redirfd) -w 2 /dev/console $(qx s6-rc) -v2 -bDa change EOF -s6-cat >"$pkgdir/scripts/runlevel" <<EOF || exit $? +s6-cat >"${dest}/scripts/runlevel" <<EOF || exit $? #!$el -S1 export TERM "linux" @@ -104,15 +91,23 @@ $(qx foreground) { $(qx s6-svc) -d /run/service/console-log-tail } $(qx s6-rc) -v 2 -t 600000 -- change ok-all EOF -s6-mkdir "$pkgdir/run-image/service/console-log-tail" || exit $? -s6-cat >"$pkgdir/run-image/service/console-log-tail/run" <<EOF || exit $? +s6-mkdir "${dest}/run-image/service/console-log-tail" || exit $? +s6-cat >"${dest}/run-image/service/console-log-tail/run" <<EOF || exit $? #!$el -P $(qx redirfd) -w 1 /dev/console $(qx fdmove) -c 2 1 $(qx pipeline) -w { $(qx s6-tai64nlocal) } $(qx tail) -F -n +1 /run/uncaught-logs/current EOF -s6-chmod 755 "$pkgdir/run-image/service/console-log-tail/run" exit $? +s6-chmod 755 "${dest}/run-image/service/console-log-tail/run" exit $? + +{% endblock %} +{%- block build_and_install %} +{% include "functions/check_static" %} +check_static bin/init +check_static bin/halt +check_static bin/poweroff +check_static bin/reboot {% endblock -%} {% block genlinks_begin %} diff --git a/templates/pkg/system-config-rc b/templates/pkg/system-config-rc @@ -1,19 +1,15 @@ +{%- set pkg_source="git" -%} {% extends "genlinks" %} -{%- block script %} -#+{{pkg_install_name("busybox")}} +{%- block package_deps %} #+{{pkg_install_name("busybox-diffutils")}} #+{{pkg_install_name("s6-rc")}} #+{{pkg_install_name("fileset")}} #+{{pkg_install_name("system-config")}} - -{% include "functions/vars" %} -def_dest - +{% endblock %} +{%- block build_and_install %} src={{pkg_install_dir("system-config")}}/config/s6-rc-source s6-rc-compile ./s6-rc-db "$src" mkdir -p "$dest/config" mv -v s6-rc-db "$dest/config/" -{% endblock -%} -{% block rules %} -$2 == "config" { link($0); next } + {% endblock -%} diff --git a/templates/pkg/system-config-zsh b/templates/pkg/system-config-zsh @@ -1,24 +1,11 @@ +{%- set pkg_source="git" -%} {% extends "genlinks" %} -{%- block script %} +{%- block package_deps %} #+{{pkg_install_name("busybox")}} #+{{pkg_install_name("zsh")}} -#@git:{{submodule.current[name]}}:{{name}} - -{% include "functions/vars" %} -def_prefix -def_dest - -cd '{{name}}' - +{% endblock %} +{%- block build_and_install %} mkdir -p "$dest/zsh" mv -v zsh-functions "$dest/zsh/site-functions" -{%- block extra_script %} -{%- endblock %} {% endblock %} -{% block rules %} -{%- block extra_rules %} -{%- endblock %} -$2 == "zsh" { link($0); next } -$2 == "vimfiles" { link($0); next } -{% endblock -%} diff --git a/templates/pkg/user-env b/templates/pkg/user-env @@ -1,14 +1,14 @@ +{%- set pkg_source="git" -%} {% extends "genlinks" %} -{%- block script %} -#+{{pkg_install_name("busybox")}} +{%- block package_deps %} #+{{pkg_install_name("execline")}} #+{{pkg_install_name("pthbs-banginstall")}} -#@sha256:{{files["user-env"]}}:user-env - -installdir="$pthbs_destdir/{{versions}}/$pthbs_package" -mkdir -p "$installdir/command" +{% endblock %} +{%- block build_and_install %} +mkdir -p "${dest}/command" chmod +x user-env -pthbs-banginstall user-env "$installdir" +pthbs-banginstall user-env "${dest}" + {% endblock %} {% block genlinks_begin %} x["./command/user-env"]=1 diff --git a/templates/pkg/xbps b/templates/pkg/xbps @@ -1,22 +1,18 @@ -{% extends "autotools" %} -{%- block extra_deps %} +{%- set pkg_version="0.59.2" -%} +{% extends "genlinks" %} +{%- block package_deps %} #+{{pkg_install_name("libarchive")}} #+{{pkg_install_name("libressl")}} #+{{pkg_install_name("pkgconf-pkg-config")}} #@untar:-z:sha256:a6607e83fcd654a0ae846d729e43fefd8da9a61323e91430f884caf895b4f59b:. {%- endblock %} -{% block at_script %} -{% include "functions/vars" %} - -export LDFLAGS=--static -export CPPFLAGS="-D_GNU_SOURCE -DSTDC_HEADERS" +{% block configure %} +{% include "functions/build_env_static" %} build_env_static -def_dest -def_prefix -cd xbps-0.59.2 find lib bin -name '*.c' -exec sed -iEe '/^[\t ]*#[\t ]*define[\t ]+_GNU_SOURCE/d' '{}' \; find lib bin -name '*.c' -exec sed -iEe '/#.*_GNU_SOURCE/d' '{}' \; + ./configure --verbose \ --prefix="$prefix" \ --build="$(${CC:-gcc} -dumpmachine)" \ @@ -28,8 +24,12 @@ find lib bin -name '*.c' -exec sed -iEe '/#.*_GNU_SOURCE/d' '{}' \; --localstatedir=/var \ --enable-static +{% endblock %} +{%- block build %} {{make}} -C include {{make}} -C lib libxbps.a +{% endblock %} +{%- block install %} install -d "$dest/library" install -m 644 lib/libxbps.a "$dest/library" install -d "$dest/command" @@ -40,6 +40,9 @@ done {{make}} -C data {{make}} -C data install DESTDIR="$pthbs_destdir" +{% endblock %} +{%- block check %} +{% include "functions/check_static" %} check_static command/xbps-install.static mkdir -p "$dest/keys" mv -v "$pthbs_destdir/var/db/xbps/keys" "$dest/keys/void" @@ -48,6 +51,6 @@ mv -v "$pthbs_destdir/var/db/xbps/keys" "$dest/keys/void" {% block genlinks_begin %} x["./command/xbps-install.static"]=1 {%- endblock %} -{% block rules %} +{% block genlinks_rules %} $2 == "keys" { link($0); next } {% endblock -%} diff --git a/templates/pkg/zsh b/templates/pkg/zsh @@ -1,36 +1,39 @@ -{% extends "autotools" %} -{%- block extra_deps %} +{%- set pkg_version="5.9" -%} +{%- set pkg_source="tar.xz" -%} +{% extends "autotools_static" %} +{%- block package_deps %} #+{{pkg_install_name("netbsd-curses")}} #+{{pkg_install_name("libbsd")}} #@git:{{submodule.current["zsh_config"]}}:zsh_config -#@untar:-J:{{downloads["zsh-5.9.tar.xz"]}}:. {%- endblock %} -{% block at_script %} -build_env_static -cd zsh-5.9 -autotools_config \ +{% block configure_args -%} --enable-static --disable-shared \ --enable-libc-musl --disable-locale \ --enable-cap \ --enable-maildir-support \ - --enable-datadir="{{versions}}/$pthbs_package" \ - --enable-datarootdir="{{versions}}/$pthbs_package" \ - --enable-etcdir="{{versions}}/$pthbs_package/etc" \ - --enable-scriptdir="{{versions}}/$pthbs_package/zsh/scripts" \ - --enable-site-scriptdir="{{versions}}/$pthbs_package/zsh/site-scripts" \ - --enable-fndir="{{versions}}/$pthbs_package/zsh/functions" \ - --enable-site-fndir="{{versions}}/$pthbs_package/zsh/site-functions" \ - --enable-runhelpdir="{{versions}}/$pthbs_package/zsh/help" - + --enable-datadir="${prefix}" \ + --enable-datarootdir="${prefix}" \ + --enable-etcdir="${prefix}/etc" \ + --enable-scriptdir="${prefix}/zsh/scripts" \ + --enable-site-scriptdir="${prefix}/zsh/site-scripts" \ + --enable-fndir="${prefix}/zsh/functions" \ + --enable-site-fndir="${prefix}/zsh/site-functions" \ + --enable-runhelpdir="${prefix}/zsh/help" +{%- endblock %} +{% block configure -%} +{{ super() }} sed -Ee '/name=zsh\/(files|stat|system|zselect|zutil|regex|net\/socket|net\/tcp) /s/link=[^ ]+/link=static/' -i config.modules cat config.modules -{{make}} - +{% endblock %} +{%- block install -%} cat Src/zshpaths.h make DESTDIR="$pthbs_destdir" install -mv -v ../zsh_config/etc "$pthbs_destdir/{{versions}}/$pthbs_package/" -mv -v ../zsh_config/zsh-functions/* "$pthbs_destdir/{{versions}}/$pthbs_package/zsh/site-functions/" +mv -v ../zsh_config/etc "${dest}/" +mv -v ../zsh_config/zsh-functions/* "${dest}/zsh/site-functions/" + +{% endblock %} +{%- block install -%} check_static command/zsh {% endblock %} @@ -39,6 +42,6 @@ check_static command/zsh x["./man/man1/zsh.1"]=1 x["./man/man1/zshall.1"]=1 {% endblock %} -{% block rules %} +{% block genlinks_rules %} $2 == "zsh" { link($0); next } {% endblock -%} diff --git a/templates/pkg/zstd b/templates/pkg/zstd @@ -1,16 +1,16 @@ +{%- set pkg_version="1.5.5" -%} {% extends "genlinks" %} -{%- block script %} +{%- block package_deps %} #+{{pkg_install_name("musl-cross-make")}} #+{{pkg_install_name("gnu-make")}} #+{{pkg_install_name("busybox")}} #+{{pkg_install_name("busybox-diffutils")}} #@untar:-z:sha256:98e9c3d949d1b924e28e01eccb7deed865eefebf25c2f21c702e5cd5b63b85e1:. - -{% include "functions/check_static" %} +{% endblock %} +{%- block build_and_install %} {% include "functions/build_env_static" %} build_env_static -cd zstd-1.5.5 {{make}} default install \ V=1 \ DESTDIR="$pthbs_destdir" \ @@ -18,9 +18,12 @@ cd zstd-1.5.5 datarootdir="{{versions}}/$pthbs_package" \ bindir="{{versions}}/$pthbs_package/command" \ libdir="{{versions}}/$pthbs_package/library" +rm -v "$pthbs_destdir/{{versions}}/$pthbs_package/library"/*.so* +{% endblock %} +{%- block check %} +{% include "functions/check_static" %} check_static command/zstd -rm -v "$pthbs_destdir/{{versions}}/$pthbs_package/library"/*.so* {% endblock %} {% block genlinks_begin %} diff --git a/templates/scriptsetup b/templates/scriptsetup @@ -1,38 +1,32 @@ {% extends "genlinks" %} -{%- block script %} -#+{{pkg_install_name("busybox")}} +{%- block template_deps %} +{{ super() }} #+{{pkg_install_name("zsh")}} #+{{pkg_install_name("pthbs-banginstall")}} -{%- block extra_deps %} +{%- block build %} {%- endblock %} -#@git:{{submodule.current[name]}}:{{name}} - -: ${JOBS:=1} -prefix={{versions}}/$pthbs_package -pkgdir="$pthbs_destdir/$prefix" -mkdir -p "$pkgdir/" -cd '{{name}}' - +{%- block install %} for d in bin sbin command; do if test -d "$d"; then - pthbs-banginstall "$d"/* "$pkgdir" + pthbs-banginstall "$d"/* "${dest}" fi done if test -d vim; then - mkdir -p "$pkgdir/vimfiles/pack/plugins/start" - mv -v vim "$pkgdir/vimfiles/pack/plugins/start/$pthbs_package" + mkdir -p "${dest}/vimfiles/pack/plugins/start" + mv -v vim "${dest}/vimfiles/pack/plugins/start/$pthbs_package" fi if test -d zsh-functions; then - mkdir -p "$pkgdir/zsh" - mv -v zsh-functions "$pkgdir/zsh/site-functions" + mkdir -p "${dest}/zsh" + mv -v zsh-functions "${dest}/zsh/site-functions" fi {%- block extra_script %} {%- endblock %} + {% endblock %} -{% block rules %} +{% block genlinks_rules %} {%- block extra_rules %} {%- endblock %} $2 == "zsh" { link($0); next } diff --git a/templates/single_static_c b/templates/single_static_c @@ -0,0 +1,32 @@ +{% extends "genlinks" %} +{%- block template_deps %} +{{ super() }} +#+{{pkg_install_name("musl-cross-make")}} +{{ endblock }} +{%- block source_deps %} +#@sha256:{{ files[name + ".c"] }}:{{ name }}.c +{{ endblock }} +{%- block prepare %} +{{ super() }} +name='{{ name }}' +{{ endblock }} +{%- block build %} +{% include "functions/build_env_static" %} +build_env_static +gcc ${CFLAGS} -o "$name" "$name.c" $LDFLAGS + +{{ endblock }} +{%- block install %} +install -d "$pthbs_destdir/$prefix/command" +install -m 755 "$name" "$pthbs_destdir/$prefix/command" + +{{ endblock }} +{%- block check %} +{% include "functions/check_static" %} + +check_static "command/$name" + +{{ endblock }} +{% block genlinks_begin %} + x["./command/{{name}}"]=1 +{%- endblock %} diff --git a/templates/skaware b/templates/skaware @@ -1,19 +1,12 @@ {% extends "genlinks" %} -{%- block script %} +{%- block template_deps %} +{{ super() }} #+{{pkg_install_name("musl-cross-make")}} #+{{pkg_install_name("gnu-make")}} -#+{{pkg_install_name("busybox")}} #+{{pkg_install_name("skalibs")}} -{%- block extra_deps %} {%- endblock %} -#@git:{{submodule.current[name]}}:{{name}} - -: ${JOBS:=1} -prefix={{versions}}/$pthbs_package -cd '{{name}}' -{%- block pre_configure %} -{%- endblock %} -./configure {% block extra_configure %}{% endblock %} \ +{%- block configure %} +./configure {% block configure_args %}{% endblock %} \ --prefix="$prefix" \ --dynlibdir="${prefix}/library.so" \ --bindir="${prefix}/command" \ @@ -25,8 +18,4 @@ cd '{{name}}' --with-dynlib="$pthbs_build_environment/library.so" \ --disable-shared --enable-static --enable-allstatic --enable-static-libc --absolute-paths -{{make}} -make DESTDIR="$pthbs_destdir" install -{%- block postinstall %} -{%- endblock %} {% endblock %}