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

47 lines
1.3 KiB
Bash
Executable File

#!/bin/bash
# ============================================================================
# DarkForge Linux — Phase 3, Chapter 8.31: Ncurses
# ============================================================================
# Purpose: Build ncurses library with wide-character support. Provides
# terminal manipulation capabilities for interactive programs.
# Inputs: /sources/ncurses.tar.gz (auto-detected version)
# Outputs: ncurses library and development files in /usr/
# Assumes: Running inside chroot
# Ref: LFS 13.0 §8.31
# ============================================================================
set -euo pipefail
source /sources/toolchain-scripts/100-chroot-env.sh
PACKAGE="ncurses"
echo "=== Building ${PACKAGE} (Phase 3) ==="
cd "${SRCDIR}"
tar -xf "${PACKAGE}.tar.gz"
cd "${PACKAGE}"
# Configure with wide character support and other options
./configure \
--prefix=/usr \
--sysconfdir=/etc \
--with-shared \
--with-normal \
--without-debug \
--without-ada \
--enable-widec \
--enable-overwrite
make
make DESTDIR="${SRCDIR}/ncurses-install" install
make install
# Create compatibility symlinks for wide-character libraries
cd /usr/lib
ln -sfv libncursesw.so.6 libncurses.so.6
ln -sfv libncurses.so.6 libncurses.so
pkg_cleanup "${PACKAGE}"
echo "=== ${PACKAGE} complete ==="