#!/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-pkg-config-libdir=/usr/lib64/pkgconfig
          --with-shared)
    ./configure ${opts[@]}
    cd ../widec
    ./configure ${opts[@]} --enable-widec
}

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

}

package(){
    cd ../widec
    make $jobs install
    cd ../$name-$version
    make $jobs install

    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; 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}"
        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
}
