############################################################################### # IPFire.org - An Open Source Firewall Solution # # Copyright (C) - IPFire Development Team # ############################################################################### name = ncurses version = 6.4 release = 2 thisapp = %{name}-%{version} groups = System/Base url = https://invisible-island.net/ncurses/ncurses.html license = MIT summary = Ncurses support utilities. 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. end source_dl = https://github.com/mirror/%{name}/archive/v%{version}.tar.gz#/ build requires gcc-c++ end configure_options += \ --with-shared \ --without-debug \ --without-ada \ --with-ospeed=unsigned \ --with-chtype=long \ --enable-hard-tabs \ --enable-xmc-glitch \ --enable-colorfgbg \ --with-terminfo-dirs=%{sysconfdir}/terminfo:%{datadir}/terminfo \ --enable-overwrite \ --enable-pc-files \ --with-termlib=tinfo \ --disable-stripping export PKG_CONFIG_LIBDIR=%{libdir}/pkgconfig build mkdir -pv narrowc widec # Build narrowc version. cd narrowc ln -svf ../configure . ./configure %{configure_options} --with-ticlib make %{PARALLELISMFLAGS} libs make %{PARALLELISMFLAGS} -C progs # Build widec version. cd ../widec ln -svf ../configure . ./configure %{configure_options} --enable-widec --without-progs make %{PARALLELISMFLAGS} libs cd .. end install make -C narrowc DESTDIR=%{BUILDROOT} install.{libs,progs,data} rm -rvf %{BUILDROOT}%{libdir}/libtinfo.* make -C widec DESTDIR=%{BUILDROOT} install.{libs,includes,man} chmod -v 755 %{BUILDROOT}%{libdir}/lib*.so.*.* mkdir -pv %{BUILDROOT}/etc/terminfo 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 -vf %{BUILDROOT}%{libdir}/terminfo rm -vf %{BUILDROOT}%{libdir}/pkgconfig/{*_g,ncurses++*}.pc # Manually remove all static libraries rm -vf %{BUILDROOT}%{libdir}/*.a end end packages package %{name} package %{name}-libs template LIBS requires %{name}-base=%{thisver} end end package %{name}-devel template DEVEL end package %{name}-term summary = Terminal descriptions for ncurses. description This package contains additional terminal descriptions not found in the ncurses-base package. end provides += /usr/share/terminfo files /usr/share/terminfo end end package %{name}-base summary = Terminal descriptions. description This package contains descriptions of common terminals. Other terminal descriptions are included in the ncurses-term package. end conflicts = ncurses<=5.9-1 files /usr/share/terminfo/*/Eterm* /usr/share/terminfo/*/ansi /usr/share/terminfo/*/aterm /usr/share/terminfo/*/bterm /usr/share/terminfo/*/cons25 /usr/share/terminfo/*/cygwin /usr/share/terminfo/*/dumb /usr/share/terminfo/*/eterm* /usr/share/terminfo/*/gnome /usr/share/terminfo/*/gnome-256color /usr/share/terminfo/*/hurd /usr/share/terminfo/*/jfbterm /usr/share/terminfo/*/konsole /usr/share/terminfo/*/konsole-256color /usr/share/terminfo/*/linux /usr/share/terminfo/*/mach* /usr/share/terminfo/*/mlterm /usr/share/terminfo/*/mrxvt /usr/share/terminfo/*/nsterm /usr/share/terminfo/*/putty* /usr/share/terminfo/*/pcansi /usr/share/terminfo/*/rxvt /usr/share/terminfo/*/rxvt-* /usr/share/terminfo/*/screen /usr/share/terminfo/*/screen-*color /usr/share/terminfo/*/screen.* /usr/share/terminfo/*/sun /usr/share/terminfo/*/teraterm /usr/share/terminfo/*/teraterm2.3 /usr/share/terminfo/*/vt100 /usr/share/terminfo/*/vt100-nav /usr/share/terminfo/*/vt102 /usr/share/terminfo/*/vt220 /usr/share/terminfo/*/vt52 /usr/share/terminfo/*/vte /usr/share/terminfo/*/vte-256color /usr/share/terminfo/*/vwmterm /usr/share/terminfo/*/wsvt25* /usr/share/terminfo/*/xfce /usr/share/terminfo/*/xterm /usr/share/terminfo/*/xterm-* end end package %{name}-debuginfo template DEBUGINFO end end