### this file is sourced not run
PKGVER=6.4
PKGBUILD=1

TARBALL=ncurses-$PKGVER.tar.gz
MD5SUM=5a62487b5d4ac6b132fe2bf9f8fad29b
BUNDLE=fatdog-base-11.3.tar
SRC_URL=http://distro.ibiblio.org/fatdog/source/900/$BUNDLE

SLACKREQ=
SLACKDESC="libncurses: libncurses $PKGVER (terminal handling library)  
libncurses:  
libncurses: The Ncurses package contains libraries for terminal-independent 
libncurses: handling of character screens.  
libncurses: 
libncurses: 
libncurses: 
libncurses: 
libncurses: 
libncurses: 
libncurses:
"


### override download for LFS sources bundle
# $1-src-dir $2-tarball 
pkg_download() {
	echo downloading $BUNDLE for $TARBALL
	wget -P $1 $SRC_URL
	tar -xf $1/$BUNDLE --strip-components=1 -C $1 
	rm $1/$BUNDLE
}

### prepare
pkg_prepare() {
	pkg_prepare_default &&
	cd tmp/ncurses* &&
	#patch -Np1 -i $SRC_DIR/ncurses-5.9-branch_update-4.patch
	sed -i s/mawk// configure && # don't search for mawk, use gawk
	true
}

### default pkg_package
### build
pkg_build() {
	cd /tmp/ncurses*

	# put TICDIR in /usr/lib64
	sed -i -e '/^TICDIR/ s/lib/lib64/' misc/run_tic.in &&

	# this will build ncursesw
	CC="gcc ${BUILD64}" CXX="g++ ${BUILD64}" \
	   ./configure --prefix=/usr --libdir=/usr/$LIBDIR \
	   --with-shared --without-debug --enable-widec  \
	   --with-manpage-format=normal --without-normal \
	   --enable-pc-files --with-pkg-config-libdir=/usr/$LIBDIR/pkgconfig \
	   --with-default-terminfo-dir=/usr/share/terminfo &&
		
	make $MAKEFLAGS && make install &&
	
	# multi-lib
	mv -v /usr/bin/ncursesw6-config{,-64} &&
	ln -svf multiarch_wrapper /usr/bin/ncursesw6-config	 &&

	# move libs to the correct location according to CLFS
	#mv -v /usr/$LIBDIR/libncursesw.so.* /$LIBDIR &&
	#ln -svf ../../$LIBDIR/$(readlink /usr/$LIBDIR/libncursesw.so) /usr/$LIBDIR/libncursesw.so &&	

	# make ncursesw work for ncurses too
	for lib in ncurses form panel menu ; do
		rm -vf                    /usr/$LIBDIR/lib${lib}.so &&
		echo "INPUT(-l${lib}w)" > /usr/$LIBDIR/lib${lib}.so &&
		#ln -sfv lib${lib}w.a /usr/$LIBDIR/lib${lib}.a
		ln -sfv ${lib}w.pc        /usr/$LIBDIR/pkgconfig/${lib}.pc || return 1
	done &&
	ln -sfv libncurses++w.a /usr/$LIBDIR/libncurses++.a &&
	ln -sfv ncursesw6-config-64 /usr/bin/ncurses6-config-64 &&
	ln -sfv ncursesw6-config /usr/bin/ncurses6-config &&

	# make it work for "curses" too
	rm -vf                     /usr/$LIBDIR/libcursesw.so &&
	echo "INPUT(-lncursesw)" > /usr/$LIBDIR/libcursesw.so &&
	ln -sfv libncurses.so      /usr/$LIBDIR/libcurses.so  &&
	
	# install docs
	mkdir -pv      /usr/share/doc/ncurses-$PKGVER &&
	cp -v -R doc/* /usr/share/doc/ncurses-$PKGVER &&
	
	pkg_build_slackdesc &&
	rm -f /etc/ld.so.cache /var/cache/ldconfig/aux-cache &&
	
	# support rxvt-unicode during build-time
	ln -sf rxvt /usr/share/terminfo/r/rxvt-unicode
	
	# non-wide ncurses build and install
	#make distclean
	#./configure --prefix=/usr --libdir=/usr/lib64   \
	#			--with-shared    \
	#			--without-normal \
	#			--without-debug  \
	#			--without-cxx-binding \
	#           --with-abi-version=5 
	#make sources libs
	#cp -av lib64/lib*.so.5* /usr/lib64
}
