%define majver %(echo %version | cut -d. -f 1) Name: ncurses Version: 6.5 Release: 1mamba Summary: A CRT screen handling and optimization package Group: System/Libraries Vendor: openmamba Distribution: openmamba Packager: Silvan Calarco URL: https://invisible-island.net/ncurses/ncurses.html Source0: https://invisible-mirror.net/archives/ncurses/ncurses-%{version}.tar.gz Patch0: ncurses-6.3-libs.patch Patch1: ncurses-6.3-pkgconfig.patch License: MIT ## AUTOBUILDREQ-BEGIN BuildRequires: glibc-devel BuildRequires: libgcc BuildRequires: libstdc++6-devel ## AUTOBUILDREQ-END %if "%{stage1}" != "1" BuildRequires: emacs >= 21.3 BuildRequires: libgpm-devel >= 1.20.1 BuildRequires: sharutils >= 4.2.1 %endif Requires: libncurses = %{?epoch:%epoch:}%{version}-%{release} %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 Summary: Extra terminal information files Group: System/Libraries Requires: libncurses = %{?epoch:%epoch:}%{version}-%{release} Provides: ncurses-terminfo-extras Obsoletes: ncurses-terminfo-extras < 6.3 %description terminfo Extra terminal information files. %package -n libncurses Summary: The development files for applications which use ncurses Group: System/Libraries Requires: ncurses-terminfo %ifarch x86_64 aarch64 Provides: libtinfo.so.6()(64bit) Provides: libtinfo.so.6(NCURSES6_TINFO_5.0.19991023)(64bit) %else Provides: libtinfo.so.6 Provides: libtinfo.so.6(NCURSES6_TINFO_5.0.19991023) %endif %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. %debug_package %prep %setup -q # Do not link against test libraries %patch 0 -p1 -b .libs # Do not leak build-time LDFLAGS into the pkgconfig files %patch 1 -p1 -b .pkgconfig %build mkdir narrowc widec cd narrowc ln -s ../configure . %configure \ --disable-root-access \ --disable-root-environ \ --disable-setuid-environ \ --disable-widec \ --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 \ --with-versioned-syms \ %if "%{stage1}" == "1" CPPFLAGS="-ldl" %endif %make cd ../widec ln -s ../configure . %configure \ --disable-root-access \ --disable-root-environ \ --disable-setuid-environ \ --enable-widec \ --with-cxx-binding \ --with-cxx-shared \ --with-pkg-config-libdir=%{_libdir}/pkgconfig \ --with-install-prefix=%{buildroot} \ --with-normal \ --with-shared \ --with-gpm \ --with-build-cc="%{_build}-gcc -D_GNU_SOURCE" \ --without-debug \ --without-profile \ --without-ada \ --enable-getcap \ --enable-pc-files \ --with-ticlib \ --with-versioned-syms \ --with-xterm-kbs=del \ %make cd .. %install [ "%{buildroot}" != / ] && rm -rf %{buildroot} cd narrowc make install \ %if "%{_host}" != "%{_build}" TIC_PATH=tic %endif cd ../widec make install \ %if "%{_host}" != "%{_build}" TIC_PATH=tic %endif cd .. ln -sf ../l/linux %{buildroot}%{_datadir}/terminfo/c/console ln -sf libncursesw.a %{buildroot}%{_libdir}/libcurses.a ln -sf libncursesw.a %{buildroot}%{_libdir}/libcursesw.a # From Arch Linux: # fool packages looking to link to non-wide-character ncurses libraries for lib in ncurses ncurses++ form panel menu; do rm -f %{buildroot}%{_libdir}/lib${lib}.so printf "INPUT(-l%sw)\n" "${lib}" > %{buildroot}%{_libdir}/lib${lib}.so ln -sfv ${lib}w.pc %{buildroot}%{_libdir}/pkgconfig/${lib}.pc done # some packages look for -lcurses during build printf 'INPUT(-lncursesw)\n' > %{buildroot}%{_libdir}/libcursesw.so ln -sfv libncurses.so %{buildroot}%{_libdir}/libcurses.so # tic and ticinfo functionality is built in by default # make sure that anything linking against it links against libncursesw.so instead for lib in tic tinfo; do rm -f %{buildroot}%{_libdir}/lib${lib}.so printf "INPUT(libncursesw.so.%s)\n" "%{majver}" > %{buildroot}%{_libdir}/lib${lib}.so ln -sfv libncursesw.so.%{majver} %{buildroot}%{_libdir}/lib${lib}.so.%{majver} ln -sfv ncursesw.pc %{buildroot}%{_libdir}/pkgconfig/${lib}.pc done %clean [ "%{buildroot}" != / ] && rm -rf %{buildroot} %post -n libncurses -p /sbin/ldconfig %postun -n libncurses -p /sbin/ldconfig %posttrans -n libncurses if [ $1 -ge 1 ]; then [ -e %{_libdir}/libtinfo.so.6 ] || ln -sf libncurses.so.6 %{_libdir}/libtinfo.so.6 fi : %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 %defattr(-,root,root) %{_libdir}/libform.so.* %{_libdir}/libmenu.so.* %{_libdir}/libncurses++w.so.* %{_libdir}/libncurses.so.* %{_libdir}/libpanel.so.* %{_libdir}/libformw.so.* %{_libdir}/libmenuw.so.* %{_libdir}/libncursesw.so.* %{_libdir}/libpanelw.so.* %{_libdir}/libtic.so.* %{_libdir}/libticw.so.* %{_libdir}/libtinfo.so.* %ifnarch x86_64 aarch64 %{_libdir}/terminfo %endif %files -n libncurses-devel %defattr(-,root,root) %{_bindir}/ncurses%{majver}-config %{_bindir}/ncursesw%{majver}-config %{_includedir}/* %{_datadir}/tabset/* %{_libdir}/libcurses*.so %{_libdir}/libform*.so %{_libdir}/libmenu*.so %{_libdir}/libncurses*.so %{_libdir}/libpanel*.so %{_libdir}/libtic*.so %{_libdir}/libtinfo.so %{_libdir}/libcurses*.a %{_libdir}/libform.a %{_libdir}/libmenu.a %{_libdir}/libpanel.a %{_libdir}/libtic.a %{_libdir}/libformw.a %{_libdir}/libmenuw.a %{_libdir}/libncurses*.a %{_libdir}/libpanelw.a %{_libdir}/libticw.a %{_libdir}/pkgconfig/form.pc %{_libdir}/pkgconfig/formw.pc %{_libdir}/pkgconfig/menu.pc %{_libdir}/pkgconfig/menuw.pc %{_libdir}/pkgconfig/ncurses.pc %{_libdir}/pkgconfig/ncurses++.pc %{_libdir}/pkgconfig/ncurses++w.pc %{_libdir}/pkgconfig/ncursesw.pc %{_libdir}/pkgconfig/panel.pc %{_libdir}/pkgconfig/panelw.pc %{_libdir}/pkgconfig/tic.pc %{_libdir}/pkgconfig/ticw.pc %{_libdir}/pkgconfig/tinfo.pc %{_mandir}/man3/* #%doc c++/README* #%doc README ANNOUNCE doc/html/announce.html %files terminfo %defattr(-,root,root) %dir %{_datadir}/terminfo %{_datadir}/terminfo/* %changelog * Mon Jul 29 2024 Automatic Build System 6.5-1mamba - automatic version update by autodist * Sun Jan 01 2023 Automatic Build System 6.4-1mamba - automatic version update by autodist * Tue Sep 27 2022 Silvan Calarco 6.3-3mamba - install widec after narrowc to have widec ncurses.h header file * Sat Feb 12 2022 Silvan Calarco 6.3-2mamba - rebuilt with --with-versioned-syms and .so files modified so that widec library is always linked * Sun Oct 31 2021 Silvan Calarco 6.3-1mamba - update to 6.3.20211021 * Tue Mar 31 2020 Ercole 'ercolinux' Carpanetto 6.2.20200328-1mamba - update to 6.2.20200328 * Mon Feb 10 2020 Silvan Calarco 6.1.20200118-2mamba - postrans workaround to fix libtinfo.so.6 disappearing on upgrade * Sun Feb 09 2020 Silvan Calarco 6.1.20200118-1mamba - update to 6.1.20200118 - remove --with-termlib, provide libterminfo.so* as a symlink to libncurses.so* * Mon Nov 25 2019 Silvan Calarco 6.1.20190728-2mamba - rebuilt with --with-termlib to generate libtinfo * Fri Aug 02 2019 Silvan Calarco 6.1.20190728-1mamba - update to 6.1.20190728 * Wed Feb 01 2017 Silvan Calarco 6.0.20170121-3mamba - provide all terminfo in ncurses-terminfo package required by libncurses; obsolete ncurses-terminfo-extras * Wed Feb 01 2017 Silvan Calarco 6.0.20170121-2mamba - add xterm-256color to default installed terminfos as required by recent konsole * Fri Jan 27 2017 Silvan Calarco 6.0.20170121-1mamba - update to 6.0.20170121 * Fri Jan 27 2017 Silvan Calarco 6.0.20160910-1mamba - update to 6.0.20160910 * Sat Feb 20 2016 Silvan Calarco 6.0.20160213-1mamba - update to 6.0.20160213 * Wed Nov 25 2015 Silvan Calarco 6.0-1mamba - update to 6.0 * 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