#!/bin/bash
name='ncurses'
release='3'
version='6.5'
url='https://invisible-island.net/ncurses/ncurses.html'
description="System V Release 4.0 curses emulation library"
email='parduscix@yandex.ru'
maintainer='sulincix'
license=('MIT')
arch=(x86_64)
source=("https://invisible-mirror.net/archives/$name/$name-$version.tar.gz")
sha256sums=('136d91bc269a9a5785e5f9e980bc76ab57428f604ce3e5a5a90cebc767971cc6')
depends=()
so_ver=6
group=(sys.libs)

cd $name-$version

setup(){
    opts=(--prefix=/usr
          --libdir=/lib64
          --enable-pc-files
          --mandir=/usr/share/man
          --with-manpage-format=normal
          --with-shared
          --with-xterm-kbs=del
          --without-ada
          --with-pkg-config-libdir=/usr/lib64/pkgconfig
          --with-cxx-binding
          --disable-root-access
          --disable-root-environ
          --disable-setuid-environ
          --with-cxx-shared
          --enable-widec
          )
    ./configure ${opts[@]}
}

build(){
    make $jobs

}

package(){
    make $jobs install

    ln -sv libncursesw.so $DESTDIR/lib64/libncurses.so
    ln -sv libncursesw.so.6 $DESTDIR/lib64/libncurses.so.6
    sed -e 's/^#if.*XOPEN.*$/#if 1/' -i $DESTDIR/usr/include/curses.h

    mkdir -p "$DESTDIR/lib64/" "$DESTDIR/usr/lib64/pkgconfig/"
    for lib in ncurses ncurses++ form panel menu; do
        if ! ls "$DESTDIR/lib64/lib${lib}.so" ; then
            printf "INPUT(-l%sw)\n" "${lib}" > "$DESTDIR/lib64/lib${lib}.so"
        fi
        if ! ls "$DESTDIR/usr/lib64/pkgconfig/${lib}.pc" ; then
            ln -sv ${lib}w.pc "$DESTDIR/usr/lib64/pkgconfig/${lib}.pc"
        fi
    done
    # some packages look for -lcurses during build
    printf 'INPUT(-lncursesw)\n' > "$DESTDIR/lib64/libcursesw.so"
    if ! ls "$DESTDIR"/lib64/libcurses.so ; then
        ln -sv libncurses.so "$DESTDIR/lib64/libcurses.so"
    fi

    # tic and ticinfo functionality is built in by default
    # make sure that anything linking against it links against libncursesw.so instead
    for lib in tic tinfo tinfow ticw; do
        if ! ls "$DESTDIR/lib64/lib${lib}.so" ; then
            printf "INPUT(libncursesw.so.%s)\n" "${so_ver}" > "$DESTDIR/lib64/lib${lib}.so"
            if ! ls $DESTDIR/lib64/lib${lib}.so.${so_ver} ; then
                ln -sv libncursesw.so.${so_ver} "$DESTDIR/lib64/lib${lib}.so.${so_ver}"
            fi
        fi
        if ! ls "$DESTDIR/usr/lib64/pkgconfig/${lib}.pc" ; then
            ln -sv ncursesw.pc "$DESTDIR/usr/lib64/pkgconfig/${lib}.pc"
        fi
    done
    # legacy binary support
    for lib in libncursesw libncurses libtinfo libpanelw libformw libmenuw ; do
        ln -sv ${lib}.so.${so_ver} "$DESTDIR"/lib64/${lib}.so.5
    done
}
