SUMMARY="The GNU Readline library"
DESCRIPTION="The GNU Readline library provides a set of functions for use by \
applications that allow users to edit command lines as they are typed in. \
Both Emacs and vi editing modes are available. The Readline library includes \
additional functions to maintain a list of previously-entered command lines, \
to recall and perhaps reedit those lines, and perform csh-like history \
expansion on previous commands.

The history facilites are also placed into a separate library, the History \
library, as part of the build process. The History library may be used without \
Readline in applications which desire its capabilities."
HOMEPAGE="http://tiswww.case.edu/php/chet/readline/rltop.html"
COPYRIGHT="1989-2017 Free Software Foundation, Inc."
LICENSE="GNU GPL v3"
REVISION="1"
SOURCE_URI="ftp://ftp.gnu.org/gnu/readline/readline-7.0.tar.gz"
CHECKSUM_SHA256="750d437185286f40a369e1e4f4764eda932b9459b5ec9a731628393dd3d32334"
SOURCE_DIR="readline-7.0"
for i in {001..005}; do
	eval "SOURCE_URI_$i=\"https://ftp.gnu.org/gnu/readline/readline-7.0-patches/readline70-$i#noarchive\""
done
CHECKSUM_SHA256_001="9ac1b3ac2ec7b1bf0709af047f2d7d2a34ccde353684e57c6b47ebca77d7a376"
CHECKSUM_SHA256_002="8747c92c35d5db32eae99af66f17b384abaca961653e185677f9c9a571ed2d58"
CHECKSUM_SHA256_003="9e43aa93378c7e9f7001d8174b1beb948deefa6799b6f581673f465b7d9d4780"
CHECKSUM_SHA256_004="f925683429f20973c552bff6702c74c58c2a38ff6e5cf305a8e847119c5a6b64"
CHECKSUM_SHA256_005="ca159c83706541c6bbe39129a33d63bbd76ac594303f67e4d35678711c51b753"
PATCHES="readline-$portVersion.patchset"

ARCHITECTURES="all ?x86_gcc2"
SECONDARY_ARCHITECTURES="x86_gcc2 x86"

PROVIDES="
	readline7$secondaryArchSuffix = $portVersion compat >= 7
	lib:libhistory$secondaryArchSuffix = 7.0 compat >= 7
	lib:libreadline$secondaryArchSuffix = 7.0 compat >= 7
	"
REQUIRES="
	haiku$secondaryArchSuffix
	lib:libncurses$secondaryArchSuffix
	"

PROVIDES_devel="
	readline7${secondaryArchSuffix}_devel = $portVersion
	devel:libhistory$secondaryArchSuffix = 7.0 compat >= 7
	devel:libreadline$secondaryArchSuffix = 7.0 compat >= 7
	"
REQUIRES_devel="
	readline7$secondaryArchSuffix == $portVersion base
	"
CONFLICTS_devel="
	readline${secondaryArchSuffix}_devel
	readline6${secondaryArchSuffix}_devel
	"

BUILD_REQUIRES="
	haiku${secondaryArchSuffix}_devel
	devel:libncurses$secondaryArchSuffix >= 6
	"
BUILD_PREREQUIRES="
	cmd:aclocal
	cmd:autoconf
	cmd:gcc$secondaryArchSuffix
	cmd:ld$secondaryArchSuffix
	cmd:libtoolize$secondaryArchSuffix
	cmd:make
	cmd:pkg_config$secondaryArchSuffix
	"

defineDebugInfoPackage readline7$secondaryArchSuffix \
	$libDir/libhistory.so.7.0 \
	$libDir/libreadline.so.7.0

PATCH()
{
	for i in {001..005}; do
		echo "Applying patch $i..."
		sed -e "s/\.\.\/readline-7.0\///" ../../sources-$i/readline70-$i | patch -p0
	done
}

BUILD()
{
	libtoolize --force --copy --install
	aclocal
	autoconf
	runConfigure ./configure \
		--with-curses
	make $jobArgs SHLIB_LIBS=-lncurses
}

INSTALL()
{
	make install

	rm $libDir/lib*.a

	mkdir -p $libDir/pkgconfig
	cp $sourceDir/readline.pc $libDir/pkgconfig/

	prepareInstalledDevelLibs libhistory libreadline
	rmdir $binDir
	fixPkgconfig

	# devel package
	packageEntries devel \
		$dataDir \
		$developDir \
		$documentationDir
}
