3.10. readline-8.1

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

Configuration

src_config()
{
    sed -i '/MV.*old/d' Makefile.in
    sed -i '/{OLDSUFF}/c:' support/shlib-install

    ./configure \
        --prefix=${PREFIX} \
        --disable-static \
        --with-curses \
        --docdir=${PREFIX}/share/doc/${P}
}

Compilation

src_compile()
{
    make SHLIB_LIBS="-lncursesw" ${MAKEOPTS} 
}

Installation

Dataword rootprefix means that the project uses root directory / along with /usr and several essential packages are installed to root directory. When the system is merged to /usr, this word is absent in configuration.

If rootprefix is present in configuration, the block after ause will be executed.

File inputrc is installed in this package.

src_install()
{
    make install SHLIB_LIBS="-lncursesw" ${MAKEOPTS} DESTDIR=${D}

    if ause 'rootprefix' ; then
        mkdir -p ${D}/lib/
        mv \
            ${D}${PREFIX}/lib/libreadline.so.* \
            ${D}${PREFIX}/lib/libhistory.so.* \
            ${D}/lib/
        ln -sf ../../lib/$(readlink ${D}${PREFIX}/lib/libreadline.so) \
            ${D}${PREFIX}/lib/libreadline.so
        ln -sf ../../lib/$(readlink ${D}${PREFIX}/lib/libhistory.so ) \
            ${D}${PREFIX}/lib/libhistory.so
    fi

    install -m644 doc/*.ps doc/*.pdf doc/*.html doc/*.dvi ${D}${PREFIX}/share/doc/${P}

    mkdir -p ${D}/etc/
    install -m644 ${PATCHDIR}/files/inputrc ${D}/etc/
}

Build code

readline.build

Other files

files/inputrc
meta.txt
text

Links

url.lfs: https://linuxfromscratch.org/lfs/view/10.1/chapter08/readline.html
url.lfs.stage1: