# 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(tr.UTF-8): Terminal kontrol kitaplığı
Summary(uk.UTF-8): ncurses - нова бібліотека керування терміналами
Name: ncurses
-Version: 5.6
-Release: 9
+Version: 5.9
+Release: 5
License: distributable
Group: Libraries
Source0: ftp://dickey.his.com/ncurses/%{name}-%{version}.tar.gz
-# Source0-md5: b6593abe1089d6aab1551c105c9300e3
+# Source0-md5: 8cb9c412e5f2d96bc6f459aa8c6282a1
Source1: http://www.mif.pg.gda.pl/homepages/ankry/man-PLD/%{name}-non-english-man-pages.tar.bz2
# Source1-md5: 3b05ee835dc20c306e9af2a9d3fbf1f1
-# source: ftp://dickey.his.com/ncurses/5.6/
-Patch0: %{name}-5.6-20071201.patch.gz
-Patch1: %{name}-5.6-20071215.patch.gz
-Patch2: %{name}-5.6-20071222.patch.gz
-Patch3: %{name}-5.6-20080105.patch.gz
-Patch4: %{name}-5.6-20080112.patch.gz
-Patch5: %{name}-5.6-20080119.patch.gz
-Patch6: %{name}-5.6-20080203.patch.gz
-Patch7: %{name}-5.6-20080209.patch.gz
-Patch8: %{name}-5.6-20080223.patch.gz
-Patch9: %{name}-5.6-20080301.patch.gz
-Patch10: %{name}-5.6-20080308.patch.gz
-Patch11: %{name}-5.6-20080322.patch.gz
-Patch12: %{name}-5.6-20080329.patch.gz
-Patch13: %{name}-5.6-20080405.patch.gz
-Patch14: %{name}-5.6-20080412.patch.gz
-Patch15: %{name}-5.6-20080419.patch.gz
-Patch16: %{name}-5.6-20080503.patch.gz
-Patch17: %{name}-5.6-20080517.patch.gz
-Patch18: %{name}-5.6-20080524.patch.gz
-Patch19: %{name}-5.6-20080531.patch.gz
-Patch20: %{name}-5.6-20080607.patch.gz
-Patch21: %{name}-5.6-20080614.patch.gz
+# source: ftp://dickey.his.com/ncurses/5.9/
+Patch0: ftp://dickey.his.com/ncurses/5.9/ncurses-5.9-20110409.patch.gz
+# Patch0-md5: c26b6e57a553d1589c351fd975db715e
+Patch1: ftp://dickey.his.com/ncurses/5.9/ncurses-5.9-20110416.patch.gz
+# Patch1-md5: 0cd0a279dae5cb10c1f39a6663620f64
+Patch2: ftp://dickey.his.com/ncurses/5.9/ncurses-5.9-20110423.patch.gz
+# Patch2-md5: 5cfe7668aeb60e7d49411171cf7a3794
+Patch3: ftp://dickey.his.com/ncurses/5.9/ncurses-5.9-20110430.patch.gz
+# Patch3-md5: 279b7bc2ee75fd87c203a06f33da7f28
+Patch4: ftp://dickey.his.com/ncurses/5.9/ncurses-5.9-20110507.patch.gz
+# Patch4-md5: 0b49ef1f095782b7ec11443bf65807f6
+Patch5: ftp://dickey.his.com/ncurses/5.9/ncurses-5.9-20110514.patch.gz
+# Patch5-md5: 9259e608ede1cda1be0121ce9ebc09b3
+Patch6: ftp://dickey.his.com/ncurses/5.9/ncurses-5.9-20110521.patch.gz
+# Patch6-md5: 02df6dc377fca5aa657bf433f557f369
+Patch7: ftp://dickey.his.com/ncurses/5.9/ncurses-5.9-20110528.patch.gz
+# Patch7-md5: 8f76dfdda995d28db6aa81df400acfc8
+Patch8: ftp://dickey.his.com/ncurses/5.9/ncurses-5.9-20110604.patch.gz
+# Patch8-md5: 9096cf2939126cf846879805fcacf54f
+Patch9: ftp://dickey.his.com/ncurses/5.9/ncurses-5.9-20110611.patch.gz
+# Patch9-md5: e015ed8feda52fdb42175972bbae524c
+Patch10: ftp://dickey.his.com/ncurses/5.9/ncurses-5.9-20110625.patch.gz
+# Patch10-md5: aef165913af8c4429ea6952ada251050
+Patch11: ftp://dickey.his.com/ncurses/5.9/ncurses-5.9-20110626.patch.gz
+# Patch11-md5: 8b142ba05d78a4ecf544bd332aca0e89
+Patch12: ftp://dickey.his.com/ncurses/5.9/ncurses-5.9-20110702.patch.gz
+# Patch12-md5: 82c3c02925e43fa229a474a6b0bff5b1
+Patch13: ftp://dickey.his.com/ncurses/5.9/ncurses-5.9-20110716.patch.gz
+# Patch13-md5: cd4d1a529ac4c7bc651d098b25103080
+Patch14: ftp://dickey.his.com/ncurses/5.9/ncurses-5.9-20110723.patch.gz
+# Patch14-md5: 41cc27d25b5af10aa44b961ec8e0c4c1
+Patch15: ftp://dickey.his.com/ncurses/5.9/ncurses-5.9-20110730.patch.gz
+# Patch15-md5: ca003e277018cfe72a1c3952423b0c48
+Patch16: ftp://dickey.his.com/ncurses/5.9/ncurses-5.9-20110807.patch.gz
+# Patch16-md5: ebe7c70030af0fe49c6573e43a78f7d8
+Patch17: ftp://dickey.his.com/ncurses/5.9/ncurses-5.9-20110813.patch.gz
+# Patch17-md5: 2766fb18a0d63837558ceae3b499ae01
+Patch18: ftp://dickey.his.com/ncurses/5.9/ncurses-5.9-20110820.patch.gz
+# Patch18-md5: 420ba8a3afeb6bf1309536194499d965
+Patch19: ftp://dickey.his.com/ncurses/5.9/ncurses-5.9-20110903.patch.gz
+# Patch19-md5: 2f63ea871e1895adaf7a9135c2936c4e
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
-Patch108: %{name}-ada_fixes.patch
URL: http://dickey.his.com/ncurses/ncurses.html
BuildRequires: automake
-%{?with_ada:BuildRequires: gcc-ada}
+%if %{with ada}
+BuildRequires: gcc-ada
+# gnat bug: https://bugzilla.redhat.com/show_bug.cgi?id=613407
+# gcc patch: https://bugzilla.redhat.com/attachment.cgi?id=435931
+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
%patch17 -p1
%patch18 -p1
%patch19 -p1
-%patch20 -p1
-%patch21 -p1
%patch100 -p1
%patch101 -p1
%patch103 -p1
%patch104 -p1
%patch105 -p1
-%patch106 -p1
%patch107 -p1
-%patch108 -p0
%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 \
--with%{!?debug:out}-debug \
--with%{!?with_gpm:out}-gpm \
--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" = "wideclowcolor" ] && echo --enable-widec --disable-ext-colors --includedir=%{_includedir}wlc` \
+ `[ "$t" = "widec" ] && echo --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
-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}/`cd $RPM_BUILD_ROOT/%{_lib} ; echo libtinfo.so.*.*` $RPM_BUILD_ROOT%{_libdir}/libtinfo.so
-ln -sf /%{_lib}/`cd $RPM_BUILD_ROOT/%{_lib} ; echo libncurses.so.*.*` $RPM_BUILD_ROOT%{_libdir}/libcurses.so
-ln -sf /%{_lib}/`cd $RPM_BUILD_ROOT/%{_lib} ; echo libncurses.so.*.*` $RPM_BUILD_ROOT%{_libdir}/libncurses.so
+%if "%{pld_release}" != "ti"
+mv -f $RPM_BUILD_ROOT%{_libdir}/libncursesw.so.6* $RPM_BUILD_ROOT/%{_lib}
+ln -sf /%{_lib}/$(basename $RPM_BUILD_ROOT/%{_lib}/libncursesw.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}/libncurses.so.* $RPM_BUILD_ROOT/%{_lib}
+ln -sf /%{_lib}/$(basename $RPM_BUILD_ROOT/%{_lib}/libncurses.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
+
+%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
+
%clean
rm -rf $RPM_BUILD_ROOT
%attr(755,root,root) %{_bindir}/infocmp
%attr(755,root,root) %{_bindir}/infotocap
%attr(755,root,root) %{_bindir}/reset
+%attr(755,root,root) %{_bindir}/tabs
%attr(755,root,root) %{_bindir}/tic
%attr(755,root,root) %{_bindir}/toe
%attr(755,root,root) %{_bindir}/tput
%attr(755,root,root) %{_bindir}/tset
-%attr(755,root,root) /%{_lib}/libncurses.so.*
-%attr(755,root,root) /%{_lib}/libtinfo.so.*
-%attr(755,root,root) %{_libdir}/libncursesw.so.*
-%attr(755,root,root) %{_libdir}/libtinfow.so.*
+%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
+%if "%{pld_release}" != "ti"
+%attr(755,root,root) %{_libdir}/libncursesw.so.*.*
+%attr(755,root,root) %ghost %{_libdir}/libncursesw.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/[cdgklprsvx]
+%{_datadir}/terminfo/c/cygwin*
%{_datadir}/terminfo/d/dumb
+%{_datadir}/terminfo/g/gnome*
%{_datadir}/terminfo/k/klone+color
+%{_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
%defattr(644,root,root,755)
%{_datadir}/terminfo/[1-9ALMNPQXa-ce-jm-rt-uwz]
%{_datadir}/terminfo/[dklsvx]/*
+%exclude %{_datadir}/terminfo/c/cygwin*
%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 static
%defattr(644,root,root,755)
%{_libdir}/libncurses.a
-%{_libdir}/libtinfo.a
%{_libdir}/libncursesw.a
-%{_libdir}/libtinfow.a
%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)
%files ada-devel
%defattr(644,root,root,755)
%doc Ada95/{README,TODO}
+%attr(755,root,root) %{_bindir}/adacurses-config
+%attr(755,root,root) %{_bindir}/adacursesw-config
%{_libdir}/gcc/*/*/adainclude/*
%{_libdir}/gcc/*/*/adalib/*
%endif