%define major %(echo %version | cut -d. -f 1) %define majver %(echo %version | cut -d. -f 1-2) %define patchver %(echo %version | cut -d. -f 3) %define tack_ver 1.07 Name: ncurses Version: 5.9.20130525 Release: 1mamba Summary: A CRT screen handling and optimization package Group: System/Libraries Vendor: openmamba Distribution: openmamba Packager: Silvan Calarco URL: http://www.gnu.org/directory/GNU/ncurses.html Source0: http://ftp.gnu.org/pub/gnu/ncurses/ncurses-%{majver}.tar.gz Source1: ftp://dickey.his.com/ncurses/%{majver}/patch-%{majver}-20130504.sh.gz Source2: ftp://dickey.his.com/ncurses/%{majver}/ncurses-%{majver}-20130511.patch.gz Source3: ftp://dickey.his.com/ncurses/%{majver}/ncurses-%{majver}-20130518.patch.gz Source4: ftp://dickey.his.com/ncurses/%{majver}/ncurses-%{majver}-%{patchver}.patch.gz License: MIT ## AUTOBUILDREQ-BEGIN BuildRequires: glibc-devel ## AUTOBUILDREQ-END %if "%{stage1}" != "1" BuildRequires: emacs >= 21.3 BuildRequires: libgpm-devel >= 1.20.1 BuildRequires: sharutils >= 4.2.1 %endif Requires: libncurses = %{version}-%{release} BuildRoot: %{_tmppath}/%{name}-%{version}-root %description The curses library routines are a terminal-independent method of updating character screens with reasonalble optimization. The ncurses (new curses) library is a freely distributable replacement for the discontinued 4.4BSD classic curses library. %package terminfo-extras Summary: Extra terminal information files Group: System/Libraries Requires: libncurses = %{version}-%{release} %description terminfo-extras Extra terminal information files. %package -n libncurses Summary: The development files for applications which use ncurses Group: System/Libraries %description -n libncurses The curses library routines are a terminal-independent method of updating character screens with reasonalble optimization. The ncurses (new curses) library is a freely distributable replacement for the discontinued 4.4BSD classic curses library. %package -n libncurses-devel Summary: The development files for applications which use ncurses Group: Development/Libraries Requires: libncurses = %{version}-%{release} %description -n libncurses-devel The header files and libraries for developing applications that use the ncurses CRT screen handling and optimization package. %prep %setup -q -n %{name}-%{majver} gunzip -c %{SOURCE1} > update.sh sh ./update.sh gunzip -c %{SOURCE2} | patch -p1 gunzip -c %{SOURCE3} | patch -p1 gunzip -c %{SOURCE4} | patch -p1 %build mkdir narrowc widec cd narrowc ln -s ../configure . %configure \ --with-pkg-config-libdir=%{_libdir}/pkgconfig \ --with-install-prefix=%{buildroot} \ --with-normal \ --with-shared \ --with-gpm \ --with-build-cc=%{_build}-gcc \ --without-debug \ --without-profile \ --without-ada \ --enable-getcap \ --enable-pc-files \ --with-ticlib \ %if "%{stage1}" == "1" CPPFLAGS="-ldl" %endif # --enable-termcap \ %make cd ../widec ln -s ../configure . %configure \ --with-pkg-config-libdir=%{_libdir}/pkgconfig \ --with-install-prefix=%{buildroot} \ --with-normal \ --with-shared \ --with-gpm \ --enable-widec \ --with-build-cc="%{_build}-gcc -D_GNU_SOURCE" \ --without-debug \ --without-profile \ --without-ada \ --enable-getcap \ --enable-pc-files \ --with-ticlib \ %if "%{stage1}" == "1" CPPFLAGS="-ldl" %endif # --enable-termcap \ %make cd .. %install [ "%{buildroot}" != / ] && rm -rf %{buildroot} cd widec make install \ %if "%{_host}" != "%{_build}" TIC_PATH=tic %endif cd ../narrowc make install \ %if "%{_host}" != "%{_build}" TIC_PATH=tic %endif cd .. ln -sf ../l/linux %{buildroot}%{_datadir}/terminfo/c/console #mv %{buildroot}%{_datadir}/terminfo/x/xterm \ # %{buildroot}%{_datadir}/terminfo/x/xterm-original #ln -s xterm-xfree86 %{buildroot}%{_datadir}/terminfo/x/xterm install -d %{buildroot}/%{_lib} mv %{buildroot}%{_libdir}/libncurses.so.5* %{buildroot}/%{_lib} ln -sf /%{_lib}/libncurses.so.5 %{buildroot}%{_libdir}/libncurses.so ln -sf /%{_lib}/libncurses.so.5 %{buildroot}%{_libdir}/libcurses.so mv %{buildroot}%{_libdir}/libncursesw.so.5* %{buildroot}/%{_lib} ln -sf /%{_lib}/libncursesw.so.5 %{buildroot}%{_libdir}/libncursesw.so ln -sf /%{_lib}/libncursesw.so.5 %{buildroot}%{_libdir}/libcursesw.so ln -sf libncurses.a %{buildroot}%{_libdir}/libcurses.a ln -sf libncursesw.a %{buildroot}%{_libdir}/libcursesw.a # fix strange permissions chmod 755 %{buildroot}%{_libdir}/*.so.%{majver} chmod 755 %{buildroot}/%{_lib}/*.so.* DEFAULT_TERMINFOS="ansi ansi-m console dumb color_xterm linux pcansi-m screen vt52 vt100 vt102 vt220 xterm" find %{buildroot}%{_datadir}/terminfo -type d | sed "s|^%{buildroot}|%dir |" >> filelist-terminfo find %{buildroot}%{_datadir}/terminfo -type f -o -type l | sed "s|^%{buildroot}||" > filelist-terminfo > filelist-terminfo-default for t in $DEFAULT_TERMINFOS; do F=`grep "/${t}\$" filelist-terminfo` [ "$F" ] && { echo "$F" >> filelist-terminfo-default sed -i "/\/${t}$/d" filelist-terminfo } done : %clean [ "%{buildroot}" != / ] && rm -rf %{buildroot} %post -n libncurses -p /sbin/ldconfig %postun -n libncurses -p /sbin/ldconfig %files %defattr(-,root,root) %{_bindir}/captoinfo %{_bindir}/clear %{_bindir}/infocmp %{_bindir}/infotocap %{_bindir}/reset %{_bindir}/tabs %{_bindir}/tic %{_bindir}/toe %{_bindir}/tput %{_bindir}/tset %{_mandir}/man1/* %{_mandir}/man5/* %{_mandir}/man7/* %files -n libncurses -f filelist-terminfo-default %defattr(-,root,root) /%{_lib}/libncurses*.so* %{_libdir}/*.so* %dir %{_datadir}/terminfo #%{_datadir}/terminfo/* %if "%{_target_cpu}" != "x86_64" %{_libdir}/terminfo %endif %files -n libncurses-devel %defattr(-,root,root) %{_bindir}/ncurses5-config %{_bindir}/ncursesw5-config %{_datadir}/tabset/* %{_includedir}/* %{_libdir}/*.a %{_libdir}/pkgconfig/form.pc %{_libdir}/pkgconfig/formw.pc %{_libdir}/pkgconfig/menu.pc %{_libdir}/pkgconfig/menuw.pc %{_libdir}/pkgconfig/ncurses++.pc %{_libdir}/pkgconfig/ncurses++w.pc %{_libdir}/pkgconfig/ncurses.pc %{_libdir}/pkgconfig/ncursesw.pc %{_libdir}/pkgconfig/panel.pc %{_libdir}/pkgconfig/panelw.pc %{_libdir}/pkgconfig/tic.pc %{_libdir}/pkgconfig/ticw.pc %{_mandir}/man3/* %doc doc/html/hackguide.html %doc doc/html/ncurses-intro.html %doc c++/README* %doc README ANNOUNCE doc/html/announce.html %files terminfo-extras -f filelist-terminfo %defattr(-,root,root) %changelog * Mon May 27 2013 Silvan Calarco 5.9.20130525-1mamba - update to 5.9.20130525 * Sat Apr 28 2012 Silvan Calarco 5.9.20110702-3mamba - add screen to the list of default terminfos * Mon Oct 17 2011 Silvan Calarco 5.9.20110702-2mamba - package most terminfo files apart * Sat Jul 16 2011 Automatic Build System 5.9.20110702-1mamba - update to 5.9.20110702 * Fri Mar 11 2011 Silvan Calarco 5.8.20110307-1mamba - update to 5.8.20110307 * Fri Mar 04 2011 Automatic Build System 5.8-1mamba - update to 5.8 * Fri Aug 20 2010 Silvan Calarco 5.7.20100814-1mamba - update to 5.7.20100814 - added patches from dickey.his.com - moved terminfo to libncurses package and removed requirement for ncurses * Thu Nov 13 2008 Silvan Calarco 5.7-1mamba - automatic update to 5.7 by autodist * Tue Jun 03 2008 Silvan Calarco 5.6-1mamba - update to 5.6 * Mon Nov 28 2005 Davide Madrisan 5.5-1qilnx - update to version 5.5 by autospec * Fri Apr 15 2005 Davide Madrisan 5.4-3qilnx - enabled wide-char/UTF-8 code (support required by aspell) - added patches from ftp://dickey.his.com/ncurses/5.4/ * Thu Jan 27 2005 Davide Madrisan 5.4-2qilnx - enabled support for libgpm - added missing %%post and %%postun scriptlets * Mon Mar 22 2004 Davide Madrisan 5.4-1qilnx - new version rebuild - specfile updates * Wed Jul 30 2003 Silvan Calarco 5.3-5qilnx - symlinked xterm-xfree86 to xterm and renamed xterm to xterm-original * Wed Apr 23 2003 Silvan Calarco 5.3-4qilnx - added inclusion of terminfo dir * Tue Apr 22 2003 Silvan Calarco 5.3-3qilnx - added inclusion of symlinks created after install * Mon Apr 14 2003 Luca Tinelli 5.3-2qilnx - RPM Modified included files list * Mon Apr 14 2003 Alessandro Ramazzina 5.3-1qilnx - creation of ncurses package