#!/bin/bash
name=ncurses
version=6.3
release=1
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")
md5sums=(a2736befde5fee7d2b7eb45eb281cdbe)
depends=()
so_ver=6
group=(sys.libs)

cd $name-$version

setup(){
    cp -prf ../$name-$version ../widec
    opts=(--prefix=/usr
          --libdir=/lib64
          --without-ada
          --without-tests
          --disable-termcap
          --disable-rpath-hack
          --disable-stripping
          --with-termlib
          --with-progs
          --with-terminfo-dirs="/etc/terminfo:/usr/share/terminfo:/lib/terminfo:/usr/lib/terminfo"
          --enable-pc-files
          --with-shared)
    ./configure ${opts[@]}
    cd ../widec
    ./configure ${opts[@]} --enable-widec
}

build(){
    cd ../widec
    make -j$(nproc)
    cd ../$name-$version
    make -j$(nproc)

}

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

    # 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; do
        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}"
            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
    cd ../widec
    make -j$(nproc) install
    cd ../$name-$version
    make -j$(nproc) install
}
