Files
darkforge/toolchain/scripts/158-gawk.sh
2026-03-20 15:09:30 +01:00

45 lines
1.2 KiB
Bash
Executable File

#!/bin/bash
# ============================================================================
# DarkForge Linux — Phase 3, Chapter 8: gawk
# ============================================================================
# Purpose: Build gawk (GNU awk — pattern scanning and text processing).
# Essential build tool used in many package builds.
# Inputs: /sources/gawk-5.3.1.tar.xz
# Outputs: gawk and awk binaries in /usr/bin/, libraries in /usr/lib/
# Assumes: Running inside chroot
# Ref: LFS 13.0 §8.63
# ============================================================================
set -euo pipefail
source /sources/toolchain-scripts/100-chroot-env.sh
PACKAGE="gawk"
VERSION="5.3.1"
echo "=== Building ${PACKAGE}-${VERSION} ==="
cd /sources
tar -xf "${PACKAGE}-${VERSION}.tar.xz"
cd "${PACKAGE}-${VERSION}"
sed -i 's/extras//' Makefile.in
./configure --prefix=/usr
make
# Optional: run tests
# make check || true
make install
# Create symlink for awk
ln -sfv gawk /usr/bin/awk
# Create symlink in /usr/share/doc/gawk-VERSION/
mkdir -pv /usr/share/doc/gawk-${VERSION}
cp -v doc/{awkforinit.txt,awkuser.txt,pm*.pdf} /usr/share/doc/gawk-${VERSION}
cd /sources
rm -rf "${PACKAGE}-${VERSION}"
echo "=== ${PACKAGE}-${VERSION} complete ==="