# Conditional build:
%bcond_without ada # do not build Ada95 bindings
%bcond_without cxx # do not build C++ ncurses bindings and demo programs
-# # (this is neccessary to build ncurses linked with uClibc).
+# # (this is neccessary to build ncurses linked with uClibc).
%bcond_without gpm # build without (dynamically loadable) libgpm support
#
+%ifarch sparc64
+%undefine with_ada
+%endif
+
Summary: curses terminal control library
Summary(de.UTF-8): curses-Terminal-Control-Library
Summary(es.UTF-8): Biblioteca de control de terminal curses
Summary(uk.UTF-8): ncurses - нова бібліотека керування терміналами
Name: ncurses
Version: 5.7
-Release: 6
+Release: 31
License: distributable
Group: Libraries
Source0: ftp://dickey.his.com/ncurses/%{name}-%{version}.tar.gz
# Source1-md5: 3b05ee835dc20c306e9af2a9d3fbf1f1
# source: ftp://dickey.his.com/ncurses/5.7/
-Patch0: %{name}-5.7-20081115.patch.gz
-Patch1: %{name}-5.7-20081122.patch.gz
-Patch2: %{name}-5.7-20081129.patch.gz
-Patch3: %{name}-5.7-20081206.patch.gz
-Patch4: %{name}-5.7-20081213.patch.gz
-Patch5: %{name}-5.7-20081220.patch.gz
-Patch6: %{name}-5.7-20081227.patch.gz
-Patch7: %{name}-5.7-20090103.patch.gz
-Patch8: %{name}-5.7-20090104.patch.gz
-Patch9: %{name}-5.7-20090105.patch.gz
-Patch10: %{name}-5.7-20090110.patch.gz
-Patch11: %{name}-5.7-20090117.patch.gz
-Patch12: %{name}-5.7-20090124.patch.gz
-Patch13: %{name}-5.7-20090207.patch.gz
-Patch14: %{name}-5.7-20090214.patch.gz
+Patch0: patch-5.7-20110108.sh.gz
+Patch1: ncurses-5.7-20110115.patch.gz
+Patch2: ncurses-5.7-20110122.patch.gz
+Patch3: ncurses-5.7-20110205.patch.gz
Patch100: %{name}-screen_hpa_fix.patch
Patch101: %{name}-xterm_hpa_fix.patch
Patch103: %{name}-xterm-home-end.patch
Patch104: %{name}-mouse_trafo-warning.patch
Patch105: %{name}-gnome-terminal.patch
-# not sure about this one, now all xterms have kbs defined (to ^H, not \177)
-# and only XTerm.ad.pl sets backspace to \177 instead of ^H
-Patch106: %{name}-xterm-kbs.patch
# disable rain demo; triggers gcc bug: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14998
Patch107: %{name}-no-rain-demo.patch
URL: http://dickey.his.com/ncurses/ncurses.html
BuildRequires: automake
-%{?with_ada:BuildRequires: gcc-ada}
+%if %{with ada}
+BuildRequires: gcc-ada
+# https://bugzilla.redhat.com/show_bug.cgi?id=613407
+BuildRequires: libgnat-static
+%endif
%{?with_gpm:BuildRequires: gpm-devel}
%{?with_cxx:BuildRequires: libstdc++-devel}
+%{?with_ada:BuildRequires: m4}
+BuildRequires: pkgconfig
BuildRequires: sharutils
Obsoletes: libncurses5
Conflicts: terminfo < 5.4-0.6
Summary(pl.UTF-8): Pliki nagłówkowe do biblioteki Ada95 ncurses
Group: Development/Libraries
Requires: %{name}-devel = %{version}-%{release}
-%requires_eq gcc-ada
+%{?with_ada:%requires_eq gcc-ada}
%description ada-devel
This package includes the header files and libraries necessary to
%prep
%setup -q
-%patch0 -p1
+zcat %{PATCH0} | /bin/sh - || exit 1
%patch1 -p1
%patch2 -p1
%patch3 -p1
-%patch4 -p1
-%patch5 -p1
-%patch6 -p1
-%patch7 -p1
-%patch8 -p1
-%patch9 -p1
-%patch10 -p1
-%patch11 -p1
-%patch12 -p1
-%patch13 -p1
-%patch14 -p1
%patch100 -p1
%patch101 -p1
%patch103 -p1
%patch104 -p1
%patch105 -p1
-%patch106 -p1
%patch107 -p1
%build
unset TERMINFO || :
gcc_target=$(gcc -dumpmachine)
-gcc_version=$(gcc -dumpversion)
+gcc_version=%{cc_version}
CFLAGS="%{rpmcflags} -DPURE_TERMINFO -D_FILE_OFFSET_BITS=64"
+export PKG_CONFIG_LIBDIR=%{_libdir}/pkgconfig
cp -f /usr/share/automake/config.sub .
+
+%if "%{pld_release}" == "ti"
for t in narrowc widec; do
+%else
+for t in narrowc wideclowcolor widec; do
+%endif
install -d obj-$t
cd obj-$t
../%configure \
--without-profile \
--with-termlib \
--with-largefile \
+ --with-ospeed=unsigned \
--disable-lp64 \
+ --enable-hard-tabs \
+ --enable-xmc-glitch \
+ --enable-pc-files \
+ --enable-colorfgbg \
--with-chtype='long' \
--with-mmask-t='long' \
--with-manpage-aliases \
--without-manpage-symlinks \
--with-ada-include=%{_libdir}/gcc/$gcc_target/$gcc_version/adainclude/ \
--with-ada-objects=%{_libdir}/gcc/$gcc_target/$gcc_version/adalib/ \
+%if "%{pld_release}" == "ti"
`[ "$t" != "widec" ] && echo --with-termlib=tinfo` \
+ `[ "$t" = "widec" ] && echo --with-termlib=tinfow --enable-widec --includedir=%{_includedir}w`
+%else
+ `[ "$t" = "narrowc" ] && echo --with-termlib=tinfo` \
+ `[ "$t" = "wideclowcolor" ] && echo --with-termlib=tinfow --enable-widec --disable-ext-colors --includedir=%{_includedir}wlc` \
`[ "$t" = "widec" ] && echo --with-termlib=tinfow --enable-widec --enable-ext-colors --includedir=%{_includedir}w`
+%endif
-%{__make}
+%{__make} -j1
cd ..
done
rm -rf $RPM_BUILD_ROOT
install -d $RPM_BUILD_ROOT{/%{_lib},%{_mandir}}
+%if "%{pld_release}" == "ti"
for t in widec narrowc; do
+%else
+for t in narrowc widec; do
+%endif
%{__make} -C obj-$t install \
INSTALL_PREFIX=$RPM_BUILD_ROOT
done
ln -sf ../l/linux $RPM_BUILD_ROOT%{_datadir}/terminfo/c/console
+%if "%{pld_release}" != "ti"
+mv -f $RPM_BUILD_ROOT%{_libdir}/libtinfow.so.6* $RPM_BUILD_ROOT/%{_lib}
+mv -f $RPM_BUILD_ROOT%{_libdir}/libncursesw.so.6* $RPM_BUILD_ROOT/%{_lib}
+ln -sf /%{_lib}/$(basename $RPM_BUILD_ROOT/%{_lib}/libtinfow.so.6.*) $RPM_BUILD_ROOT%{_libdir}/libtinfow.so
+ln -sf /%{_lib}/$(basename $RPM_BUILD_ROOT/%{_lib}/libncursesw.so.6.*) $RPM_BUILD_ROOT%{_libdir}/libncursesw.so
+ln -sf /%{_lib}/$(basename $RPM_BUILD_ROOT/%{_lib}/libncursesw.so.6.*) $RPM_BUILD_ROOT%{_libdir}/libcursesw.so
+%else
+mv -f $RPM_BUILD_ROOT%{_libdir}/libtinfow.so.5* $RPM_BUILD_ROOT/%{_lib}
+mv -f $RPM_BUILD_ROOT%{_libdir}/libncursesw.so.5* $RPM_BUILD_ROOT/%{_lib}
+ln -sf /%{_lib}/$(basename $RPM_BUILD_ROOT/%{_lib}/libtinfow.so.5.*) $RPM_BUILD_ROOT%{_libdir}/libtinfow.so
+ln -sf /%{_lib}/$(basename $RPM_BUILD_ROOT/%{_lib}/libncursesw.so.5.*) $RPM_BUILD_ROOT%{_libdir}/libcursesw.so
+ln -sf /%{_lib}/$(basename $RPM_BUILD_ROOT/%{_lib}/libncursesw.so.5.*) $RPM_BUILD_ROOT%{_libdir}/libncursesw.so
+%endif
mv -f $RPM_BUILD_ROOT%{_libdir}/libtinfo.so.* $RPM_BUILD_ROOT/%{_lib}
mv -f $RPM_BUILD_ROOT%{_libdir}/libncurses.so.* $RPM_BUILD_ROOT/%{_lib}
ln -sf /%{_lib}/$(basename $RPM_BUILD_ROOT/%{_lib}/libtinfo.so.*.*) $RPM_BUILD_ROOT%{_libdir}/libtinfo.so
ln -sf /%{_lib}/$(basename $RPM_BUILD_ROOT/%{_lib}/libncurses.so.*.*) $RPM_BUILD_ROOT%{_libdir}/libcurses.so
ln -sf /%{_lib}/$(basename $RPM_BUILD_ROOT/%{_lib}/libncurses.so.*.*) $RPM_BUILD_ROOT%{_libdir}/libncurses.so
+
ln -sf libncursesw.a $RPM_BUILD_ROOT%{_libdir}/libcursesw.a
-ln -sf libncursesw.so $RPM_BUILD_ROOT%{_libdir}/libcursesw.so
+
+%if "%{pld_release}" != "ti"
+cp -a obj-wideclowcolor/lib/lib*w.so.5* $RPM_BUILD_ROOT%{_libdir}
+%endif
bzip2 -dc %{SOURCE1} | tar xf - -C $RPM_BUILD_ROOT%{_mandir}
+rm $RPM_BUILD_ROOT%{_libdir}/libcurses.a
+rm $RPM_BUILD_ROOT%{_libdir}/libcursesw.a
+rm $RPM_BUILD_ROOT%{_mandir}/README.ncurses-non-english-man-pages
+
+# FIXME: should be fixed properly
+# fix too many w's
+sed -i -e 's/tinfoww/tinfow/' $RPM_BUILD_ROOT%{_bindir}/ncurses*-config $RPM_BUILD_ROOT%{_pkgconfigdir}/*.pc
+
%clean
rm -rf $RPM_BUILD_ROOT
%attr(755,root,root) %{_bindir}/tset
%attr(755,root,root) /%{_lib}/libncurses.so.*.*
%attr(755,root,root) %ghost /%{_lib}/libncurses.so.5
+%attr(755,root,root) /%{_lib}/libncursesw.so.*.*
+%if "%{pld_release}" != "ti"
+%attr(755,root,root) %ghost /%{_lib}/libncursesw.so.6
+%endif
%attr(755,root,root) /%{_lib}/libtinfo.so.*.*
%attr(755,root,root) %ghost /%{_lib}/libtinfo.so.5
+%attr(755,root,root) /%{_lib}/libtinfow.so.*.*
+%if "%{pld_release}" != "ti"
+%attr(755,root,root) %ghost /%{_lib}/libtinfow.so.6
%attr(755,root,root) %{_libdir}/libncursesw.so.*.*
-%attr(755,root,root) %ghost %{_libdir}/libncursesw.so.6
+%attr(755,root,root) %ghost %{_libdir}/libncursesw.so.5
%attr(755,root,root) %{_libdir}/libtinfow.so.*.*
-%attr(755,root,root) %ghost %{_libdir}/libtinfow.so.6
+%attr(755,root,root) %ghost %{_libdir}/libtinfow.so.5
+%else
+%attr(755,root,root) %ghost /%{_lib}/libtinfow.so.5
+%attr(755,root,root) %ghost /%{_lib}/libncursesw.so.5
+%endif
%{_datadir}/tabset
%dir %{_datadir}/terminfo
%{_datadir}/terminfo/E
-%dir %{_datadir}/terminfo/[dklsvx]
+%dir %{_datadir}/terminfo/[dgklprsvx]
%{_datadir}/terminfo/d/dumb
+%{_datadir}/terminfo/g/gnome*
%{_datadir}/terminfo/k/klone+color
-%{_datadir}/terminfo/k/konsole
+%{_datadir}/terminfo/k/konsole*
%{_datadir}/terminfo/l/linux*
+%{_datadir}/terminfo/p/putty*
+%{_datadir}/terminfo/r/rxvt*
%{_datadir}/terminfo/s/screen*
%{_datadir}/terminfo/v/vt100
%{_datadir}/terminfo/v/vt220
%{_datadir}/terminfo/[1-9ALMNPQXa-ce-jm-rt-uwz]
%{_datadir}/terminfo/[dklsvx]/*
%exclude %{_datadir}/terminfo/d/dumb
+%exclude %{_datadir}/terminfo/g/gnome*
%exclude %{_datadir}/terminfo/k/klone+color
%exclude %{_datadir}/terminfo/k/konsole*
%exclude %{_datadir}/terminfo/l/linux*
+%exclude %{_datadir}/terminfo/p/putty*
+%exclude %{_datadir}/terminfo/r/rxvt*
%exclude %{_datadir}/terminfo/s/screen*
%exclude %{_datadir}/terminfo/v/vt100
%exclude %{_datadir}/terminfo/v/vt220
%defattr(644,root,root,755)
%doc doc/html/ncurses-intro.html
%attr(755,root,root) %{_bindir}/ncurses5-config
+%if "%{pld_release}" == "ti"
+%attr(755,root,root) %{_bindir}/ncursesw5-config
+%else
%attr(755,root,root) %{_bindir}/ncursesw6-config
+%endif
%attr(755,root,root) %{_libdir}/libcurses.so
%attr(755,root,root) %{_libdir}/libncurses.so
%attr(755,root,root) %{_libdir}/libtinfo.so
%{_includedir}w/termcap.h
%{_includedir}w/tic.h
%{_includedir}w/unctrl.h
+%{_pkgconfigdir}/*.pc
+
%{_mandir}/man3/*
%exclude %{_mandir}/man3/form*
%exclude %{_mandir}/man3/menu*
%files ext
%defattr(644,root,root,755)
+%if "%{pld_release}" == "ti"
%attr(755,root,root) %{_libdir}/libform.so.*
%attr(755,root,root) %{_libdir}/libmenu.so.*
%attr(755,root,root) %{_libdir}/libpanel.so.*
%attr(755,root,root) %{_libdir}/libformw.so.*
%attr(755,root,root) %{_libdir}/libmenuw.so.*
%attr(755,root,root) %{_libdir}/libpanelw.so.*
+%else
+%attr(755,root,root) %{_libdir}/libform.so.*.*
+%attr(755,root,root) %ghost %{_libdir}/libform.so.[56]
+%attr(755,root,root) %{_libdir}/libmenu.so.*.*
+%attr(755,root,root) %ghost %{_libdir}/libmenu.so.[56]
+%attr(755,root,root) %{_libdir}/libpanel.so.*.*
+%attr(755,root,root) %ghost %{_libdir}/libpanel.so.[56]
+%attr(755,root,root) %{_libdir}/libformw.so.*.*
+%attr(755,root,root) %ghost %{_libdir}/libformw.so.[56]
+%attr(755,root,root) %{_libdir}/libmenuw.so.*.*
+%attr(755,root,root) %ghost %{_libdir}/libmenuw.so.[56]
+%attr(755,root,root) %{_libdir}/libpanelw.so.*.*
+%attr(755,root,root) %ghost %{_libdir}/libpanelw.so.[56]
+%endif
%files ext-devel
%defattr(644,root,root,755)