base-system: bash construye — shell real (GNU bash 5.3 estático)
b3:a03c1ad5. Arreglé el tarball (URL con vars abuild sin expandir → bash-5.3.tar.gz limpio + sha256), readline embebido (--without-installed-readline), quité --with-curses (link estático) y las líneas install de bashrc/profile inexistentes. deps: ncurses+readline +linux-headers. Primer shell POSIX completo del userland (hasta ahora sólo busybox sh).
Semántico sayk'uy
Mana ima sutichaypas t'ikrakurqanchu: qillqalla, yachachiylla utaq willaylla t'ikrakurqan.
1 qillqakuna · +13 −15
- recipes/incoming-clib/bash.toml +13 −15
diff --git a/recipes/incoming-clib/bash.toml b/recipes/incoming-clib/bash.toml
index 08681cee..3639aaf5 100644
--- a/recipes/incoming-clib/bash.toml
+++ b/recipes/incoming-clib/bash.toml
@@ -1,14 +1,12 @@
# Importada de Alpine aports por `hammer import-alpine` (Etapa G). PUNTO DE PARTIDA — pero
-# YA trae los parches de musl de Alpine (lo que un import de nix pierde). Pendiente: el
-# sha256 del tarball (el wrapper lo calcula), y adaptar build/install del shell de abuild.
+# YA trae los parches de musl de Alpine (lo que un import de nix pierde). Adaptada al tarball
+# limpio de GNU (5.3 base, sin los parches upstream), build estático musl.
name = "bash"
-version = "5.3.9"
+version = "5.3"
[source]
-tarball = "https://ftp.gnu.org/gnu/bash/bash-$_myver-patches/bash$_patchbase-$_pad$_i"
-# FIXME sha256: el wrapper lo calcula (Alpine publica sha512). sha512 de Alpine:
-# sha512 = "426702c8b0fb9e0c9956259973ce5b657890fd47f4f807a64febf20077bb48d0b91474ed6e843d2ef277186b46c5fffa79b808da9b48d4ec027d5e2de1b28ed8"
-sha256 = "FIXME-sha256"
+tarball = "https://ftp.gnu.org/gnu/bash/bash-5.3.tar.gz"
+sha256 = "0d5cd86965f869a26cf64f4b71be7b96f90a3ba8b3d74e27e8e9d9d5550f31ba"
[build]
compiler = "zig-cc"
@@ -17,34 +15,34 @@ link = "static"
flags = []
[build.phases]
-# de build() de Alpine (traducido; el lab provee $CBUILD/$CHOST — Etapa G Fase 3; revisá --shared para estático):
+# de build() de Alpine (traducido; el lab provee $CBUILD/$CHOST — Etapa G Fase 3):
compile = '''
_abuild_phase() {
-./configure \
+ ./configure \
--build=$CBUILD \
--host=$CHOST \
--prefix=/usr \
--bindir=/bin \
--mandir=/usr/share/man \
--infodir=/usr/share/info \
- --with-curses \
--disable-nls \
--enable-readline \
--without-bash-malloc \
- --with-installed-readline
+ --without-installed-readline
# parallel build workarounds
make y.tab.c && make builtins/libbuiltins.a && make
}
_abuild_phase
'''
-# de package() de Alpine (traducido $pkgdir→/out):
+# de package() de Alpine (traducido $pkgdir→/out); sin bashrc/profile (ficheros ausentes):
install = '''
_abuild_phase() {
-mkdir -p "/out"/etc/bash
+ mkdir -p "/out"/etc/bash
make DESTDIR="/out" install
- install -Dm644 "$srcdir"/bashrc "/out"/etc/bash/bashrc
- install -Dm644 "$srcdir"/profile-bashrc.sh "/out"/etc/profile.d/00-bashrc.sh
rm -rf "/out"/usr/share/locale
}
_abuild_phase
'''
+
+[deps]
+build = ["ncurses", "readline", "linux-headers"]