3.27. ncurses-6.2

The building of libraries with non-wide characters is not done.

#!/bin/sh
# Copyright © 1999-2022 Gerard Beekmans
# Copyright © 2017-2022 Random Crew
# Distributed under the terms of MIT License.

Configuration

Edit of file c++/Makefile.in is done in all LFS versions, older then 11.* series.

src_config()
{
    case ${LFS_VERSION} in
        11.0|10.1)
        ;;
        *)
            sed -i '/LIBTOOL_INSTALL/d' c++/Makefile.in
        ;;
    esac

    ./configure \
        --prefix=${PREFIX} \
        --mandir=${PREFIX}/share/man \
        --with-shared   \
        --without-debug \
        --without-normal \
        --enable-pc-files \
        --enable-widec
}

Compilation

src_compile()
{
    make ${MAKEOPTS}
}

Installation

The string with rootprefix means that block after check with ause method will be executed, if project has word rootprefix in it. In that case several essential packages are installed to root directory / along with /usr. When the system is merged to /usr, this block of code is not performed.

src_install()
{
    make install ${MAKEOPTS} DESTDIR=${D}

    if ause 'rootprefix' ; then
        mkdir -p ${D}/lib
        mv ${D}${PREFIX}/lib/libncursesw.so.6* ${D}/lib
        ln -sf ../../lib/$(readlink ${D}${PREFIX}/lib/libncursesw.so) \
            ${D}${PREFIX}/lib/libncursesw.so
    fi
    for lib in ncurses form panel menu ; do
        rm -f ${D}${PREFIX}/lib/lib${lib}.so
        echo "INPUT(-l${lib}w)" > ${D}${PREFIX}/lib/lib${lib}.so
        ln -sf ${lib}w.pc ${D}${PREFIX}/lib/pkgconfig/${lib}.pc
    done
    rm -f ${D}${PREFIX}/lib/libcursesw.so
    echo "INPUT(-lncursesw)" > ${D}${PREFIX}/lib/libcursesw.so
    ln -sf libncurses.so ${D}${PREFIX}/lib/libcurses.so

    mkdir -p ${D}/${PREFIX}/share/doc/${P}
    cp -R doc/* ${D}/${PREFIX}/share/doc/${P}
}

Build code

crosstch.sh
ncurses.build
tools.sh

Other files

meta.txt
text

Links

url.lfs: https://linuxfromscratch.org/lfs/view/11.0/chapter08/ncurses.html
url.lfs.stage1: https://linuxfromscratch.org/lfs/view/11.0/chapter06/ncurses.html