forked from pool/ncurses
.
OBS-URL: https://build.opensuse.org/package/show/Base:System/ncurses?expand=0&rev=220
This commit is contained in:
parent
a4b858ef75
commit
e91f515011
@ -1,3 +1,9 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Oct 6 11:30:22 UTC 2015 - werner@suse.de
|
||||||
|
|
||||||
|
- Add some comments what is done in the spec file as well as
|
||||||
|
do some modernisation, concretion, and clarification
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Fri Sep 25 09:42:43 UTC 2015 - normand@linux.vnet.ibm.com
|
Fri Sep 25 09:42:43 UTC 2015 - normand@linux.vnet.ibm.com
|
||||||
|
|
||||||
|
57
ncurses.spec
57
ncurses.spec
@ -43,6 +43,10 @@ BuildRequires: gpm
|
|||||||
Obsoletes: ncurses-64bit
|
Obsoletes: ncurses-64bit
|
||||||
%endif
|
%endif
|
||||||
#
|
#
|
||||||
|
# Note that this spec files does not only build the ABI version 6
|
||||||
|
# but also build the ABI version 5 as this is part of the source
|
||||||
|
# tar ball including the latest upstream fixes for ABI 5.
|
||||||
|
#
|
||||||
Version: 6.0
|
Version: 6.0
|
||||||
Release: 0
|
Release: 0
|
||||||
Summary: New curses Libraries
|
Summary: New curses Libraries
|
||||||
@ -55,7 +59,8 @@ Source1: ncurses-6.0-patches.tar.bz2
|
|||||||
Source2: handle.linux
|
Source2: handle.linux
|
||||||
Source3: README.devel
|
Source3: README.devel
|
||||||
Source4: ncurses-rpmlintrc
|
Source4: ncurses-rpmlintrc
|
||||||
Source5: tack-1.07-20150606.tar.bz2
|
# Latest tack can be found at ftp://invisible-island.net/pub/ncurses/current/
|
||||||
|
Source5: ftp://invisible-island.net/pub/ncurses/current/tack-1.07-20150606.tar.bz2
|
||||||
Source6: edit.sed
|
Source6: edit.sed
|
||||||
Source7: baselibs.conf
|
Source7: baselibs.conf
|
||||||
Patch0: ncurses-6.0.dif
|
Patch0: ncurses-6.0.dif
|
||||||
@ -293,6 +298,14 @@ rm -vf mk-dlls.sh
|
|||||||
sed -ri '/^iTerm/{s@iterm\|@@}' misc/terminfo.src
|
sed -ri '/^iTerm/{s@iterm\|@@}' misc/terminfo.src
|
||||||
|
|
||||||
%build
|
%build
|
||||||
|
#
|
||||||
|
# Note that there is a test if the system call poll(2) really works
|
||||||
|
# on terminal or files. To make sure that even in OBS the configure
|
||||||
|
# script has its own terminal we use screen here (could be also tmux).
|
||||||
|
#
|
||||||
|
# Remark: A better solution would be that in OBS a real pty/tty pair
|
||||||
|
# would be used instead of redirecting stdout/stderr to a log file.
|
||||||
|
#
|
||||||
%global _configure screen -L -D -m ./configure
|
%global _configure screen -L -D -m ./configure
|
||||||
SCREENDIR=$(mktemp -d ${PWD}/screen.XXXXXX) || exit 1
|
SCREENDIR=$(mktemp -d ${PWD}/screen.XXXXXX) || exit 1
|
||||||
SCREENRC=${SCREENDIR}/ncurses
|
SCREENRC=${SCREENDIR}/ncurses
|
||||||
@ -311,6 +324,9 @@ sed -ri '/^iTerm/{s@iterm\|@@}' misc/terminfo.src
|
|||||||
silence on
|
silence on
|
||||||
utf8 on
|
utf8 on
|
||||||
EOF
|
EOF
|
||||||
|
#
|
||||||
|
# Used to test out various cflags of the gcc
|
||||||
|
#
|
||||||
cflags ()
|
cflags ()
|
||||||
{
|
{
|
||||||
local flag=$1; shift
|
local flag=$1; shift
|
||||||
@ -360,20 +376,21 @@ sed -ri '/^iTerm/{s@iterm\|@@}' misc/terminfo.src
|
|||||||
GZIP="-9"
|
GZIP="-9"
|
||||||
export CC CFLAGS CXX CXXFLAGS GZIP TERM LDFLAGS
|
export CC CFLAGS CXX CXXFLAGS GZIP TERM LDFLAGS
|
||||||
#
|
#
|
||||||
# Detect 64bit architecures and be sure that
|
# Detect 64bit architecures and be sure that we use an
|
||||||
# we use an unsigned long for chtype to be
|
# unsigned long for chtype to be backward compatible with
|
||||||
# backward compatible with ncurses 5.4
|
# already existing ncurses applications. Otherwise we
|
||||||
|
# might break existing applications on any update!
|
||||||
#
|
#
|
||||||
echo 'int main () { return !(sizeof(void*) >= 8); }' | gcc -x c -o test64 -
|
if test $(getconf LONG_BIT) -gt 32 ; then
|
||||||
if ./test64 ; then
|
|
||||||
WITHCHTYPE="--with-chtype=long"
|
WITHCHTYPE="--with-chtype=long"
|
||||||
else
|
else
|
||||||
WITHCHTYPE=""
|
WITHCHTYPE=""
|
||||||
CFLAGS="${CFLAGS} -D_LARGEFILE64_SOURCES -D_FILE_OFFSET_BITS=64"
|
CFLAGS="${CFLAGS} $(getconf LFS_CFLAGS)"
|
||||||
fi
|
fi
|
||||||
rm -f ./test64
|
|
||||||
#
|
#
|
||||||
# For security of some configure and install scripts
|
# Let's care about people which build ncurses on their own
|
||||||
|
# system. That is take care that some configure tests might
|
||||||
|
# be exploitable below /tmp ... compare with aclocal.m4
|
||||||
#
|
#
|
||||||
TMPDIR=$(mktemp -d /tmp/ncurses.XXXXXXXX) || exit 1
|
TMPDIR=$(mktemp -d /tmp/ncurses.XXXXXXXX) || exit 1
|
||||||
trap 'rm -rf ${TMPDIR}' EXIT
|
trap 'rm -rf ${TMPDIR}' EXIT
|
||||||
@ -394,6 +411,10 @@ sed -ri '/^iTerm/{s@iterm\|@@}' misc/terminfo.src
|
|||||||
# on console/konsole (no magic cookie support on those?)
|
# on console/konsole (no magic cookie support on those?)
|
||||||
#
|
#
|
||||||
%if 0%{?suse_version} > 1310
|
%if 0%{?suse_version} > 1310
|
||||||
|
#
|
||||||
|
# Why the libgpm has moved to /usr/lib(64)?
|
||||||
|
# It is a standard system library for linux.
|
||||||
|
#
|
||||||
SO=$(rpm -ql gpm-devel|grep %{_libdir})
|
SO=$(rpm -ql gpm-devel|grep %{_libdir})
|
||||||
SO=%{_libdir}/$(readlink $SO)
|
SO=%{_libdir}/$(readlink $SO)
|
||||||
%endif
|
%endif
|
||||||
@ -468,16 +489,26 @@ sed -ri '/^iTerm/{s@iterm\|@@}' misc/terminfo.src
|
|||||||
sleep 1
|
sleep 1
|
||||||
kill $pid
|
kill $pid
|
||||||
#
|
#
|
||||||
# The configure line
|
# The configure line used above. Note that we override
|
||||||
|
# several options later with other configurations.
|
||||||
|
# It has been verified several times that this works.
|
||||||
#
|
#
|
||||||
c=$(grep '^ *$ *\./configure' config.log)
|
c=$(grep '^ *$ *\./configure' config.log)
|
||||||
#
|
#
|
||||||
# This is a hack to be able to boot strap
|
# This is a hack to be able to boot strap libncurses with
|
||||||
# a libncurses with correct fallback.c.
|
# our preferred fallback.c. For this we need the appropiate
|
||||||
|
# tools list infocmp(1) and tic(1). The first step is with
|
||||||
|
# an empty fallback.c, then we include the latest terminfo
|
||||||
|
# of our preferred fallback terminfo list into the final
|
||||||
|
# fallback.c.
|
||||||
#
|
#
|
||||||
make %{?_smp_mflags} -C include
|
make %{?_smp_mflags} -C include
|
||||||
make %{?_smp_mflags} -C ncurses fallback.c FALLBACK_LIST=""
|
make %{?_smp_mflags} -C ncurses fallback.c FALLBACK_LIST=""
|
||||||
|
%if !0%{?_crossbuild}
|
||||||
make %{?_smp_mflags} -C progs termsort.c transform.h infocmp tic
|
make %{?_smp_mflags} -C progs termsort.c transform.h infocmp tic
|
||||||
|
cp -p progs/tic progs/tic.build
|
||||||
|
cp -p progs/infocmp progs/infocmp.build
|
||||||
|
%endif
|
||||||
rm -f ncurses/fallback.c
|
rm -f ncurses/fallback.c
|
||||||
PATH=$PWD/progs:$OPATH
|
PATH=$PWD/progs:$OPATH
|
||||||
LD_LIBRARY_PATH=$PWD/lib
|
LD_LIBRARY_PATH=$PWD/lib
|
||||||
@ -486,8 +517,6 @@ sed -ri '/^iTerm/{s@iterm\|@@}' misc/terminfo.src
|
|||||||
TERMINFO=$PWD/tmp
|
TERMINFO=$PWD/tmp
|
||||||
export TERMINFO
|
export TERMINFO
|
||||||
mkdir -p $TERMINFO
|
mkdir -p $TERMINFO
|
||||||
cp -p $PWD/../progs/tic $PWD/../progs/tic.build
|
|
||||||
cp -p $PWD/../progs/infocmp $PWD/../progs/infocmp.build
|
|
||||||
(cat > ${PWD}/.build_tic)<<-EOF
|
(cat > ${PWD}/.build_tic)<<-EOF
|
||||||
%if 0%{?_crossbuild}
|
%if 0%{?_crossbuild}
|
||||||
export BUILD_TIC=/usr/bin/tic
|
export BUILD_TIC=/usr/bin/tic
|
||||||
|
Loading…
x
Reference in New Issue
Block a user