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).
This commit is contained in:
@@ -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"]
|
||||
|
||||
Reference in New Issue
Block a user