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

TARBALL=ncurses-5.9.tar.gz
MD5SUM=8cb9c412e5f2d96bc6f459aa8c6282a1
SRC_URL=http://distro.ibiblio.org/fatdog/source/710/clfs-packages-3.0.0.tar
BUNDLE=clfs-packages-3.0.0.tar

SLACKREQ=
SLACKDESC='libncurses: libncurses 5.9 (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
}

### 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=/lib64 \
	   --with-shared --without-debug --enable-widec \
	   --with-manpage-format=normal --enable-pc-files \
	   --with-default-terminfo-dir=/usr/share/terminfo \
	   --enable-symlinks --with-pkg-config-libdir=/usr/lib64/pkgconfig &&
		
	make $MAKEFLAGS && make install &&
	
	# install multiarch-wrapper
	mv -v /usr/bin/ncursesw5-config{,-64} &&
	ln -svf multiarch_wrapper /usr/bin/ncursesw5-config	 &&

	# move libs to the correct location according to CLFS
	mv -v /lib64/lib{panelw,menuw,formw,ncursesw,ncurses++w}.a /usr/lib64 &&
	ln -svf ../../lib64/$(readlink /lib64/libncursesw.so) /usr/lib64/libncursesw.so &&
	ln -svf ../../lib64/$(readlink /lib64/libmenuw.so) /usr/lib64/libmenuw.so &&
	ln -svf ../../lib64/$(readlink /lib64/libpanelw.so) /usr/lib64/libpanelw.so &&
	ln -svf ../../lib64/$(readlink /lib64/libformw.so) /usr/lib64/libformw.so &&
	rm -v /lib64/lib{ncursesw,menuw,panelw,formw}.so &&

	# make ncursesw work for ncurses too
	for lib in curses ncurses form panel menu ; do
			echo "INPUT(-l${lib}w)" > /usr/lib64/lib${lib}.so
			ln -sfv lib${lib}w.a /usr/lib64/lib${lib}.a
	done &&
	ln -sfv libcurses.so /usr/lib64/libcursesw.so &&
	ln -sfv libncurses.so /usr/lib64/libcurses.so &&
	ln -sfv libncursesw.a /usr/lib64/libcursesw.a &&
	ln -sfv libncurses.a /usr/lib64/libcurses.a &&
	ln -sfv libncurses++w.a /usr/lib64/libncurses++.a &&
	ln -sfv ncursesw5-config-64 /usr/bin/ncurses5-config-64 &&
	ln -sfv ncursesw5-config /usr/bin/ncurses5-config	
	
	# install docs
	mkdir -pv      /usr/share/doc/ncurses-5.9 &&
	cp -v -R doc/* /usr/share/doc/ncurses-5.9 &&
	
	# mv .pc files from /lib to /lib64
	

	pkg_build_slackdesc &&
	rm -f /etc/ld.so.cache /var/cache/ldconfig/aux-cache
	
	# non-wide ncurses build and install
	#make distclean
	#./configure --prefix=/usr --libdir=/usr/lib64   \
	#			--with-shared    \
	#			--without-normal \
	#			--without-debug  \
	#			--without-cxx-binding
	#make sources libs
	#cp -av lib64/lib*.so.5* /usr/lib64
}
