mirror of
https://github.com/yann64/haikuports.git
synced 2026-04-13 15:20:07 +02:00
205 lines
6.3 KiB
Bash
205 lines
6.3 KiB
Bash
SUMMARY="New curses library"
|
|
DESCRIPTION="The Ncurses (new curses) library is a free software emulation \
|
|
of curses in System V Release 4.0, and more. It uses Terminfo format, \
|
|
supports pads and color and multiple highlights and forms characters and \
|
|
function-key mapping, and has all the other SVr4-curses enhancements over \
|
|
BSD Curses.
|
|
|
|
The Ncurses code was developed under GNU/Linux. It has been in use for some \
|
|
time with OpenBSD as the system curses library, and on FreeBSD and NetBSD as \
|
|
an external package. It should port easily to any ANSI/POSIX-conforming UNIX. \
|
|
It has even been ported to OS/2 Warp!
|
|
|
|
The distribution includes the library and support utilities, including a \
|
|
terminfo compiler tic, a decompiler infocmp, clear, tput, tset, and a termcap \
|
|
conversion tool captoinfo. Full manual pages are provided for the library and \
|
|
tools."
|
|
HOMEPAGE="http://www.gnu.org/software/ncurses/ncurses.html"
|
|
COPYRIGHT="1998-2011 Free Software Foundation, Inc."
|
|
LICENSE="MIT"
|
|
REVISION="12"
|
|
SOURCE_URI="http://ftp.gnu.org/pub/gnu/ncurses/ncurses-5.9.tar.gz"
|
|
CHECKSUM_SHA256="9046298fb440324c9d4135ecea7879ffed8546dd1b58e59430ea07a4633f563b"
|
|
PATCHES="ncurses-5.9.patchset
|
|
ncurses-5.9-gcc-5.patch"
|
|
|
|
ARCHITECTURES="?x86_gcc2 ?x86 ?x86_64 ?arm"
|
|
SECONDARY_ARCHITECTURES="?x86_gcc2 ?x86"
|
|
|
|
PROVIDES="
|
|
ncurses$secondaryArchSuffix = $portVersion compat >= 5
|
|
lib:libform$secondaryArchSuffix = $portVersion compat >= 5
|
|
lib:libformw$secondaryArchSuffix = $portVersion compat >= 5
|
|
lib:libmenu$secondaryArchSuffix = $portVersion compat >= 5
|
|
lib:libmenuw$secondaryArchSuffix = $portVersion compat >= 5
|
|
lib:libncurses$secondaryArchSuffix = $portVersion compat >= 5
|
|
lib:libncursesw$secondaryArchSuffix = $portVersion compat >= 5
|
|
lib:libncurses++$secondaryArchSuffix = $portVersion compat >= 5
|
|
lib:libncurses++w$secondaryArchSuffix = $portVersion compat >= 5
|
|
lib:libpanel$secondaryArchSuffix = $portVersion compat >= 5
|
|
lib:libpanelw$secondaryArchSuffix = $portVersion compat >= 5
|
|
"
|
|
if [ -z "$secondaryArchSuffix" ]; then
|
|
PROVIDES="$PROVIDES
|
|
cmd:captoinfo = $portVersion compat >= 5
|
|
cmd:clear = $portVersion compat >= 5
|
|
cmd:infocmp = $portVersion compat >= 5
|
|
cmd:infotocap = $portVersion compat >= 5
|
|
cmd:reset = $portVersion compat >= 5
|
|
cmd:tabs = $portVersion compat >= 5
|
|
cmd:tic = $portVersion compat >= 5
|
|
cmd:toe = $portVersion compat >= 5
|
|
cmd:tput = $portVersion compat >= 5
|
|
cmd:tset = $portVersion compat >= 5
|
|
"
|
|
fi
|
|
REQUIRES="
|
|
haiku$secondaryArchSuffix
|
|
"
|
|
if [ -n "$secondaryArchSuffix" ]; then
|
|
REQUIRES="$REQUIRES
|
|
ncurses == $portVersion base
|
|
"
|
|
fi
|
|
|
|
PROVIDES_devel="
|
|
ncurses${secondaryArchSuffix}_devel = $portVersion compat >= 5
|
|
cmd:ncurses5_config${secondaryArchSuffix} = $portVersion compat >= 5
|
|
cmd:ncursesw5_config${secondaryArchSuffix} = $portVersion compat >= 5
|
|
devel:libform${secondaryArchSuffix} = $portVersion compat >= 5
|
|
devel:libformw${secondaryArchSuffix} = $portVersion compat >= 5
|
|
devel:libmenu${secondaryArchSuffix} = $portVersion compat >= 5
|
|
devel:libmenuw${secondaryArchSuffix} = $portVersion compat >= 5
|
|
devel:libncurses${secondaryArchSuffix} = $portVersion compat >= 5
|
|
devel:libncursesw${secondaryArchSuffix} = $portVersion compat >= 5
|
|
devel:libncurses++${secondaryArchSuffix} = $portVersion compat >= 5
|
|
devel:libncurses++w${secondaryArchSuffix} = $portVersion compat >= 5
|
|
devel:libpanel${secondaryArchSuffix} = $portVersion compat >= 5
|
|
devel:libpanelw${secondaryArchSuffix} = $portVersion compat >= 5
|
|
"
|
|
REQUIRES_devel="
|
|
ncurses${secondaryArchSuffix} == $portVersion base
|
|
"
|
|
|
|
BUILD_REQUIRES="
|
|
haiku${secondaryArchSuffix}_devel
|
|
"
|
|
BUILD_PREREQUIRES="
|
|
cmd:gcc$secondaryArchSuffix
|
|
cmd:grep
|
|
cmd:ld$secondaryArchSuffix
|
|
cmd:libtool
|
|
cmd:make
|
|
cmd:sed
|
|
"
|
|
|
|
doBuild()
|
|
{
|
|
if [ $# -lt 1 ]; then
|
|
echo >&2 "Usage: doBuild <targetDir> [ <configureFlags> ... ]"
|
|
exit 1
|
|
fi
|
|
|
|
targetDir=$(pwd)/$1
|
|
shift 1
|
|
|
|
# Parse additional arguments. "--libs-only" means we only want the
|
|
# libraries, nothing else. "--without-progs" means no programs and no
|
|
# terminfo DB (requires tic).
|
|
local noData
|
|
local libsOnly
|
|
local configureArgs
|
|
local arg
|
|
for arg in $@; do
|
|
case "$arg" in
|
|
--libs-only)
|
|
noData=1
|
|
libsOnly=1
|
|
arg="--without-progs"
|
|
;;
|
|
--without-progs)
|
|
noData=1
|
|
;;
|
|
esac
|
|
configureArgs="$configureArgs $arg"
|
|
done
|
|
|
|
rm -rf $targetDir
|
|
mkdir $targetDir
|
|
|
|
runConfigure \
|
|
--omit-dirs "dataRootDir docDir" ./configure \
|
|
--with-libtool \
|
|
--enable-termcap \
|
|
--enable-hard-tabs \
|
|
$configureArgs
|
|
make $jobArgs
|
|
|
|
if [ -z "$noData" ]; then
|
|
# We need LIBRARY_PATH to include the library installation directory,
|
|
# since the installation process for the terminfo database will run tic
|
|
# and the built-in rpath doesn't consider the DESTDIR we're using.
|
|
LIBRARY_PATH="$targetDir/$prefix/lib:$LIBRARY_PATH" \
|
|
make install DESTDIR=$targetDir
|
|
else
|
|
make install.libs DESTDIR=$targetDir
|
|
if [ -z "$libsOnly" ]; then
|
|
make install.includes DESTDIR=$targetDir
|
|
make install.man DESTDIR=$targetDir
|
|
fi
|
|
fi
|
|
|
|
# clean up for the next build
|
|
make clean
|
|
}
|
|
|
|
BUILD()
|
|
{
|
|
# Unfortunately building only works in the source directory. So we build
|
|
# two times -- once without and once with wide-char support -- installing in
|
|
# temporary directories from which we copy to the actual installation
|
|
# directory in INSTALL().
|
|
|
|
# For the secondary architecture we don't want the programs nor the
|
|
# terminfo DB. The main package will depend on the primary package which
|
|
# provides all this.
|
|
local withoutProgramArgs
|
|
if [ -n "$secondaryArchSuffix" ]; then
|
|
withoutProgramArgs="--without-progs"
|
|
fi
|
|
|
|
doBuild build-nowidec $withoutProgramArgs
|
|
doBuild build-widec --enable-widec --libs-only
|
|
}
|
|
|
|
INSTALL()
|
|
{
|
|
cp -ra build-nowidec/$prefix/. $prefix
|
|
cp -ra build-widec/$prefix/. $prefix
|
|
|
|
# remove libtool files
|
|
rm $libDir/lib*.la
|
|
|
|
# prepare develop/lib
|
|
prepareInstalledDevelLibs \
|
|
libform libmenu libncurses libncurses++ libpanel \
|
|
libformw libmenuw libncursesw libncurses++w libpanelw
|
|
|
|
# fix ncurses[w]5-config
|
|
fixDevelopLibDirReferences $binDir/ncurses5-config $binDir/ncursesw5-config
|
|
|
|
# devel package
|
|
packageEntries devel \
|
|
$binDir/ncurses5-config \
|
|
$binDir/ncursesw5-config \
|
|
$developDir \
|
|
$manDir/man3
|
|
|
|
# For the secondary architecture package clean up stuff we don't need, since
|
|
# we make it depend on the primary architecture package.
|
|
if [ -n "$secondaryArchSuffix" ]; then
|
|
rm -rf $binDir
|
|
rm -rf $documentationDir
|
|
fi
|
|
}
|