84 lines
2.7 KiB
Bash
84 lines
2.7 KiB
Bash
#!/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
|
|
}
|