%global revision 20240629 %define includedirw %{_includedir}/ncursesw %define build_compat32 %{?_with_compat32:1}%{!?_with_compat32:0} Summary: A screen handling and optimization package. Summary(ja): スクリーンの操作と最適化を行うパッケージ Name: ncurses Version: 6.5 Release: 5%{?_dist_release} Group: system Vendor: Project Vine Distribution: Vine Linux Packager: daisuke License: distributable URL: https://invisible-island.net/ncurses/ncurses.html Source0: https://invisible-mirror.net/archives/ncurses/current/ncurses-%{version}-%{revision}.tgz Patch8: ncurses-config.patch Patch9: ncurses-libs.patch Patch11: ncurses-urxvt.patch Patch12: ncurses-kbs.patch BuildRoot: %{_tmppath}/%{name}-%{version}-root BuildRequires: pkgconfig %description The curses library routines are a terminal-independent method of updating character screens with reasonable optimization. The ncurses (new curses) library is a freely distributable replacement for the discontinued 4.4 BSD classic curses library. %package devel Summary: The development files for applications which use ncurses. Summary(ja): ncurses を用いるアプリケーション開発用のファイル Group: programming Requires: %{name} = %{version}-%{release} Obsoletes: libtermcap-devel <= 2.0.8-46vl1 Provides: libtermcap-devel = 2.0.8-47 %description devel The header files and libraries for developing applications that use the ncurses CRT screen handling and optimization package. Install the ncurses-devel package if you want to develop applications which will use ncurses. Use the following compiler flags to build against the ncurses library: -lncurses (compile and link against the regular ncurses library) -I %{includedirw} -lncursesw (compile and link against the wide-character, UTF-8, library) %package c++-devel Summary: C++ bindings to ncurses Group: programming Requires: %{name} = %{version}-%{release} Requires: %{name}-devel = %{version}-%{release} %description c++-devel C++ bindings to ncurses %package -n compat32-%{name} Summary: A screen handling and optimization package. Summary(ja): スクリーンの操作と最適化を行うパッケージ Group: system,legacy Requires: %{name} = %{version}-%{release} %description -n compat32-%{name} The curses library routines are a terminal-independent method of updating character screens with reasonable optimization. The ncurses (new curses) library is a freely distributable replacement for the discontinued 4.4 BSD classic curses library. %package -n compat32-%{name}-devel Summary: The development files for applications which use ncurses. Summary(ja): ncurses を用いるアプリケーション開発用のファイル Group: programming,legacy Requires: compat32-%{name} = %{version}-%{release} Requires: %{name}-devel = %{version}-%{release} Obsoletes: compat32-libtermcap-devel <= 2.0.8-46vl1 Provides: compat32-libtermcap-devel = 2.0.8-47 %description -n compat32-%{name}-devel The header files and libraries for developing applications that use the ncurses CRT screen handling and optimization package. Install the ncurses-devel package if you want to develop applications which will use ncurses. Use the following compiler flags to build against the ncurses library: -lncurses (compile and link against the regular ncurses library) -I %{includedirw} -lncursesw (compile and link against the wide-character, UTF-8, library) %package -n compat32-%{name}-c++-devel Summary: C++ bindings to ncurses Group: programming,legacy Requires: compat32-%{name} = %{version}-%{release} Requires: compat32-%{name}-devel = %{version}-%{release} Requires: %{name}-c++-devel = %{version}-%{release} %description -n compat32-%{name}-c++-devel C++ bindings to ncurses %debug_package %prep %setup -q -n %{name}-%{version}-%{revision} #%patch8 -p1 -b .config %patch9 -p1 -b .libs %patch11 -p1 -b .urxvt %patch12 -p1 -b .kbs for f in ANNOUNCE; do iconv -f iso8859-1 -t utf8 -o ${f}{_,} && touch -r ${f}{,_} && mv -f ${f}{_,} done %build %define rootdatadir %{_prefix}/lib common_options=" \ --enable-colorfgbg \ --enable-hard-tabs \ --enable-overwrite \ --enable-pc-files \ --enable-xmc-glitch \ --disable-stripping \ --disable-wattr-macros \ --with-ospeed=unsigned \ --with-pkg-config-libdir=%{_libdir}/pkgconfig \ --with-shared \ --with-terminfo-dirs=%{_sysconfdir}/terminfo:%{_datadir}/terminfo:%{rootdatadir}/terminfo \ --with-termlib=tinfo \ --with-ticlib=tic \ --with-xterm-kbs=DEL \ --without-ada" abi5_options="--with-chtype=long" for abi in 5 6; do for char in narrowc widec; do mkdir $char$abi pushd $char$abi ln -s ../configure . [ $abi = 6 -a $char = widec ] && progs=yes || progs=no %configure $( echo $common_options --with-abi-version=$abi [ $abi = 5 ] && echo $abi5_options [ $char = widec ] && echo --enable-widec || echo --disable-widec [ $progs = yes ] || echo --without-progs ) make %{?_smp_mflags} libs [ $progs = yes ] && make %{?_smp_mflags} -C progs popd done done %install rm -rf %{buildroot} make -C narrowc5 DESTDIR=%{buildroot} install.libs rm %{buildroot}%{_libdir}/lib{tic,tinfo}.so.5* make -C widec5 DESTDIR=%{buildroot} install.libs make -C narrowc6 DESTDIR=%{buildroot} install.libs rm %{buildroot}%{_libdir}/lib{tic,tinfo}.so.6* make -C widec6 DESTDIR=%{buildroot} install.{libs,progs,data,includes,man} chmod 755 %{buildroot}%{_libdir}/lib*.so.*.* chmod 644 %{buildroot}%{_libdir}/lib*.a mkdir -p %{buildroot}%{_sysconfdir}/terminfo baseterms= # prepare -base and -term file lists for termname in \ ansi dumb linux vt100 vt100-nav vt102 vt220 vt52 \ Eterm\* aterm bterm cons25 cygwin eterm\* gnome gnome-256color hurd jfbterm \ konsole konsole-256color mach\* mlterm mrxvt nsterm putty{,-256color} pcansi \ rxvt{,-\*} screen{,-\*color,.[^mlp]\*,.linux,.mlterm\*,.putty{,-256color},.mrxvt} \ st{,-\*color} sun teraterm teraterm2.3 tmux{,-\*} vte vte-256color vwmterm \ wsvt25\* xfce xterm xterm-\* do for i in %{buildroot}%{_datadir}/terminfo/?/$termname; do for t in $(find %{buildroot}%{_datadir}/terminfo -samefile $i); do baseterms="$baseterms $(basename $t)" done done done 2> /dev/null for t in $baseterms; do echo "%dir %{_datadir}/terminfo/${t::1}" echo %{_datadir}/terminfo/${t::1}/$t done 2> /dev/null | sort -u > terms.base find %{buildroot}%{_datadir}/terminfo \! -type d | \ sed "s|^%{buildroot}||" | while read t do echo "%dir $(dirname $t)" echo $t done 2> /dev/null | sort -u | comm -2 -3 - terms.base > terms.term cat terms.base terms.term |sort -u > terms.all # can't replace directory with symlink (rpm bug), symlink all headers mkdir %{buildroot}%{_includedir}/ncurses{,w} for l in %{buildroot}%{_includedir}/*.h; do ln -s ../$(basename $l) %{buildroot}%{_includedir}/ncurses ln -s ../$(basename $l) %{buildroot}%{_includedir}/ncursesw done # don't require -ltinfo when linking with --no-add-needed for l in %{buildroot}%{_libdir}/libncurses{,w}.so; do soname=$(basename $(readlink $l)) rm -f $l echo "INPUT($soname -ltinfo)" > $l done rm -f %{buildroot}%{_libdir}/libcurses{,w}.so echo "INPUT(-lncurses)" > %{buildroot}%{_libdir}/libcurses.so echo "INPUT(-lncursesw)" > %{buildroot}%{_libdir}/libcursesw.so echo "INPUT(-ltinfo)" > %{buildroot}%{_libdir}/libtermcap.so rm -f %{buildroot}%{_bindir}/ncurses*5-config rm -f %{buildroot}%{_libdir}/terminfo #rm -f %{buildroot}%{_libdir}/pkgconfig/{*_g,ncurses++*}.pc %triggerpostun -- %{name} < 6.5-4 r=$(realpath -e /%{_lib}/libncurses.so.5 2>/dev/null) if [ -d /bin -a ! -L /bin ] && [[ "${r}" == "%{_libdir}/"* ]]; then for lib in ncurses ncursesw tinfo; do for v in 5 6; do for c in /%{_lib}/lib${lib}.so.${v}*; do bn=$(basename ${c}) rm -f /%{_lib}/$bn done done done fi exit 0 %files -f terms.all %defattr(-,root,root) %license COPYING %doc ANNOUNCE AUTHORS README TO-DO %{_bindir}/[cirt]* %{_mandir}/man1/* %{_mandir}/man5/* %{_mandir}/man7/* %{_libdir}/lib*.so.* %dir %{_sysconfdir}/terminfo %{_datadir}/tabset %dir %{_datadir}/terminfo %files devel %defattr(-,root,root) %doc test %doc doc/html/hackguide.html %doc doc/html/ncurses-intro.html %doc c++/README* %{_bindir}/ncurses*-config %{_libdir}/lib*.so %{_libdir}/lib*.a %dir %{_includedir}/ncurses %dir %{_includedir}/ncursesw %{_includedir}/ncurses/*.h %{_includedir}/ncursesw/*.h %{_includedir}/*.h %{_mandir}/man3/* %{_libdir}/pkgconfig/*.pc %exclude %{_libdir}/pkgconfig/ncurses++*.pc %files c++-devel %defattr(-,root,root) %doc c++/NEWS c++/PROBLEMS c++/README* %{_includedir}/ncurses/cursesapp.h %{_includedir}/ncurses/curses?.h %{_includedir}/ncurses/etip.h %{_libdir}/libncurses++.a %{_libdir}/libncurses++w.a %{_libdir}/pkgconfig/ncurses++*.pc %if %{build_compat32} %files -n compat32-%{name} %defattr(-,root,root) %{_libdir}/lib*.so.* %files -n compat32-%{name}-devel %defattr(-,root,root) %{_libdir}/lib*.so %{_libdir}/lib*.a %{_libdir}/pkgconfig/*.pc %exclude %{_libdir}/pkgconfig/ncurses++*.pc %files -n compat32-%{name}-c++-devel %defattr(-,root,root) %{_libdir}/libncurses++.a %{_libdir}/libncurses++w.a %{_libdir}/pkgconfig/ncurses++*.pc %endif %changelog * Fri Jul 05 2024 Tomohiro "Tomo-p" KATO 6.5-5 - moved scripts from %%pre to %%triggerpostun. * Thu Jul 04 2024 Tomohiro "Tomo-p" KATO 6.5-4 - fixed %%pre. * Wed Jul 03 2024 Tomohiro "Tomo-p" KATO 6.5-3 - updated to 6.5 + 20240629. * Mon Jun 17 2024 Tomohiro "Tomo-p" KATO 6.5-2 - updated to 6.5 + 20240615. * Thu May 09 2024 Tomohiro "Tomo-p" KATO 6.5-1 - updated to 6.5 + 20240504. - prepared for usrmerge. * Wed Apr 26 2023 Tomohiro "Tomo-p" KATO 6.4-1 - updated to 6.4 + 20230424. * Sun Nov 06 2022 Tomohiro "Tomo-p" KATO 6.3-3 - updated to 6.3 + 20221029. * Fri May 13 2022 Tomohiro "Tomo-p" KATO 6.3-2 - updated to 6.3 + 20220507. * Tue Nov 02 2021 Tomohiro "Tomo-p" KATO 6.3-1 - updated to 6.3 + 20211030. * Thu Aug 05 2021 Tomohiro "Tomo-p" KATO 6.2-2 - updated to 6.2 + 20210731. - dropped ldconfig scriptlets. - updated Patch9, 11 and 12. * Mon Feb 15 2021 Tomohiro "Tomo-p" KATO 6.2-1 - updated to 6.2 + 20210213. - updated Patch9 and 12. * Sun Oct 27 2019 Tomohiro "Tomo-p" KATO 6.1-3 - dropped Patch8. * Fri Oct 18 2019 Tomohiro "Tomo-p" KATO 6.1-2 - updated to 6.1 + 20191015. - updated Patch8. * Fri Aug 30 2019 Tomohiro "Tomo-p" KATO 6.1-1 - updated to 6.1 + 20190824. * Mon Jan 13 2014 Yoji TOYODA 5.9-3 - rebuild with VineSeed environment * Wed Dec 14 2011 Daisuke SUZUKI 5.9-2 - don't require -ltinfo when linking with --no-add-needed * Fri Sep 09 2011 Daisuke SUZUKI 5.9-1 - update to 5.9 + 20110716 - update all patches - add pkgconfig file * Sun Mar 27 2011 IWAI, Masaharu 5.6-5 - build with new toolchain * Fri Mar 5 2010 MATSUBAYASHI Kohji - 5.6-4 - rebuilt with new toolchain - add Requires(post,pre): /sbin/ldconfig * Sat Jun 27 2009 NAKAMURA Kenta 5.6-3 - updated %%files section on compat32-* packages * Sun Mar 22 2009 Ryoichi INAGAKI 5.6-2 - changed c++-devel Group to Development/Libraries - changelog of 5.6-1 is missing... seemed to be updated on Aug 10 2008 * Fri Oct 28 2005 NAKAMURA Kenta 5.4-0vl3 - added compat32- packages for x86_64 architecture support * Mon May 17 2004 Tomoya TAKA 5.4-0vl2 - add patch10 taken from fedora's 5.4-4 * Sun May 9 2004 Daisuke SUZUKI 5.4-0vl1 - new upstream release - remove obsolete patches * Mon Mar 22 2004 MATSUBAYASHI Kohji 5.3-9vl1 - synced up with Fedora 5.3-9 - Thu Sep 11 2003 Adrian Havill 5.3-9 - remove not-so safe-sprintf configure option because the code does not appear to be stable enough for some apps. (#103790) - Wed Aug 20 2003 Adrian Havill 5.3-8.1 - RHEL bump - Wed Aug 20 2003 Adrian Havill 5.3-8 - multilib patch (#91211) - Mon Aug 11 2003 Adrian Havill 5.3-7 - fixed the safe sprintf code that was enabled in the previous release by the configure parameter. (#101486) - Mon Jun 16 2003 Elliot Lee 5.3-6.1 - Fix ac25 patch, make it easy to turn off GPM support - Wed Jun 04 2003 Elliot Lee - rebuilt - Thu May 22 2003 Adrian Havill 5.3-5 - added latest rollup patch with widec/UTF8 centric weekly (20030517) - added --enable-widec to configure (#86311) original work done by Mr. Sam - require sharutils (#86605) - add gpm, xmc support - add debug syms back into package - updated autoconf/configure patch * Thu Mar 27 2003 KOBAYASHI R. Taizo 5.3-4vl1 - synced Rawhide 5.3-4 * Fri Feb 08 2002 KOBAYASHI R. Taizo 5.2-16vl2 - revert to patch13 from 14 for XF86-4 * Wed Feb 06 2002 KOBAYASHI R. Taizo 5.2-16vl1 - synced Rawhide 5.2-16 * Tue Aug 28 2001 Shoji Matsumoto 5.2-12vl2 - patch 3 (xterm) disabled. this patch is for XF86-4??? * Wed Aug 22 2001 KOBAYASHI R. Taizo 5.2-12vl1 - added kon patch for Vine * Fri Jul 20 2001 Bernhard Rosenkraenzer 5.2-12 - Sync terminfo with termcap 11.0.1-10 * Sun Jun 24 2001 Bernhard Rosenkraenzer 5.2-11 - Update to patchlevel 20010623, fixes some lynx issues * Mon Jun 18 2001 Helge Deller - fixed tput -S segfaulting bug (#44669) - use _tmppath for BuildRoot: - Copyright -> License * Sun Apr 15 2001 Bernhard Rosenkraenzer - Update to patchlevel 20010407 * Tue Mar 6 2001 Bernhard Rosenkraenzer - Fix up some terminfo entries containing includes to "/var/tmp/ncurses-root/something" (#30771) * Thu Feb 22 2001 Harald Hoyer - fixed rxvt backspace setting * Fri Feb 9 2001 Yukihiro Nakai - Update Japanese kterm patch * Mon Jan 15 2001 Bernhard Rosenkraenzer - Update - Add japanese patch from termcap - Fix ospeed handling * Mon Jan 1 2001 Bernhard Rosenkraenzer - Add libcurses.a -> libncurses.a symlink (RFE #23023) * Tue Dec 12 2000 Bernhard Rosenkraenzer - Use --with-ospeed='unsigned int' * Fri Nov 17 2000 Bernhard Rosenkraenzer - Fix alpha and ia64 - Rebuild with gcc 2.96-64 * Thu Nov 2 2000 Bernhard Rosenkraenzer - 5.2 - Fix typo in man page (Bug #20205) - update the "screen" terminfo entries to the version supplied with screen 3.9.8 * Mon Oct 9 2000 Bernhard Rosenkraenzer - Update (fixes the "make menuconfig" bug introduced by the security fix) * Tue Oct 3 2000 Bernhard Rosenkraenzer - Fix security problem (possible buffer overrun) * Fri Aug 4 2000 Bernhard Rosenkraenzer - Add the bugfix patches from the ncurses maintainer * Thu Jul 13 2000 Bernhard Rosenkraenzer - 5.1 * Wed Jul 12 2000 Prospector - automatic rebuild * Mon Jun 5 2000 Matt Wilson - *don't ship symlinks from lib*.so.5 to lib*.so.4! - use FHS macros * Fri Jun 2 2000 Bernhard Rosenkraenzer - rebuild for 7.0 - /usr/share/man - update URL for patches - misc. fixes to spec file * Mon Mar 20 2000 Bernhard Rosenkraenzer - use the real library version number - update to 20000319 * Tue Mar 7 2000 Jeff Johnson - rebuild for sparc baud rates > 38400. * Fri Feb 18 2000 Preston Brown - xterm terminfo entries from XFree86 3.3.6 - final round of xterm fixes, follow debian policy. * Sat Feb 5 2000 Bernhard Rosenkr舅zer - strip libraries * Thu Feb 3 2000 Bernhard Rosenkr舅zer - More xterm fixes (Bug #9087) * Thu Jan 27 2000 Bernhard Rosenkr舅zer - More xterm fixes from Hans de Goede (Bug #8633) * Sat Jan 15 2000 Bernhard Rosenkr舅zer - remove some broken symlinks (leftovers from libncurses.so.5) - Use %configure (Bug #8484) * Tue Jan 11 2000 Bernhard Rosenkr舅zer - Add xterm patch from Hans de Goede - Patch 20000108, this fixes a problem with a header file. * Wed Jan 5 2000 Bernhard Rosenkr舅zer - Add 20000101 patch, hopefully finally fixing the xterm description * Wed Dec 22 1999 Cristian Gafton - revert to the old major number - because the ABI is not changed (and we should be handling the changes via symbol versioning anyway) * Fri Nov 12 1999 Bernhard Rosenkraenzer - Fix a typo in spec - Add the 19991006 patch, fixing some C++ STL compatibility problems. - get rid of profiling and debugging versions - we need to save space... * Thu Nov 4 1999 Bernhard Rosenkraenzer - 5.0 - some spec cleanups to make updating easier - add links *.so.5 to *.so.4 - they are fully binary compatible. (Why did they change the invocation number???) * Wed Sep 22 1999 Cristian Gafton - make clean in the test dir - don't ship any binaries at all. * Mon Sep 13 1999 Preston Brown - fixed stripping of test programs. * Sun Aug 29 1999 Preston Brown - removed 'flash' capability for xterm; see bug #2820 for details. * Fri Aug 27 1999 Cristian Gafton - add the resetall script from Marc Merlin * Fri Aug 27 1999 Preston Brown - added iris-ansi-net as alias for iris-ansi (bug #2561) * Fri Jul 30 1999 Michael K. Johnson - added ncurses-intro.hmtl and hackguide.html to -devel package [bug #3929] * Tue Apr 06 1999 Preston Brown - make sure ALL binaries are stripped (incl. test binaries) * Thu Mar 25 1999 Preston Brown - made xterm terminfo stuff MUCH better. * Sun Mar 21 1999 Cristian Gafton - auto rebuild in the new build environment (release 16) * Sat Mar 13 1999 Cristian Gafton - fixed header for C++ compiles * Fri Mar 12 1999 Jeff Johnson - add terminfo entries for linux/linux-m on sparc (obsolete termfile_sparc). * Thu Feb 18 1999 Cristian Gafton - updated patchset from original site * Thu Dec 03 1998 Cristian Gafton - don't build the C++ demo code - update patch set to the current as of today (redid all the individual patches in a single one) * Wed Oct 14 1998 Cristian Gafton - make sure to strip the binaries * Wed Sep 23 1998 Cristian Gafton - added another zillion of patches. The spec file *is* ugly - defattr * Mon Jul 20 1998 Cristian Gafton - added lots of patches. This spec file is starting to look ugly * Wed Jul 01 1998 Alan Cox - Fix setuid trusting. Open termcap/info files as the real user. * Wed May 06 1998 Cristian Gafton - added terminfo entry for the poor guys using lat1 and/or lat-2 on their consoles... Enjoy linux-lat ! Thanks, Erik ! * Tue Apr 21 1998 Cristian Gafton - new patch to get xterm-color and nxterm terminfo entries - aliased them to rxvt, as that seems to satisfy everybody * Sun Apr 12 1998 Cristian Gafton - added %clean section * Tue Apr 07 1998 Cristian Gafton - removed /usr/lib/terminfo symlink - we shouldn't need that * Mon Apr 06 1998 Cristian Gafton - updated to 4.2 + patches - added BuildRoot * Sat Apr 04 1998 Cristian Gafton - rebuilt with egcs on alpha * Wed Dec 31 1997 Erik Troan - version 7 didn't rebuild properly on the Alpha somehow -- no real changes are in this version * Tue Dec 09 1997 Erik Troan - TIOCGWINSZ wasn't used properly * Tue Jul 08 1997 Erik Troan - built against glibc, linked shared libs against -lc