From e6c2ab3369ce87907febebbcfcd0c1c96e936f56 Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Sat, 15 Feb 2025 14:54:06 +0000 Subject: [PATCH] ncurses: Update to 6.5 This patch also drops support for the narrow character version which is basically unused in IPFire. Signed-off-by: Michael Tremer --- ncurses/ncurses.nm | 149 +++++++++++---------------------------------- 1 file changed, 35 insertions(+), 114 deletions(-) diff --git a/ncurses/ncurses.nm b/ncurses/ncurses.nm index db53476a3..691c3137c 100644 --- a/ncurses/ncurses.nm +++ b/ncurses/ncurses.nm @@ -4,8 +4,8 @@ ############################################################################### name = ncurses -version = 6.4 -release = 2 +version = 6.5 +release = 1 thisapp = %{name}-%{version} groups = System/Base @@ -20,7 +20,7 @@ description discontinued 4.4 BSD classic curses library. end -source_dl = https://github.com/mirror/%{name}/archive/v%{version}.tar.gz#/ +source_dl = https://invisible-island.net/archives/ncurses/ build requires @@ -31,69 +31,33 @@ build --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 \ + --with-termlib=tinfo \ + --with-pkg-config-libdir=%{libdir}/pkg-config \ + --with-cxx-binding \ + --with-cxx-shared \ --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.*.* + --enable-hard-tabs \ + --enable-xmc-glitch \ + --enable-colorfgbg \ + --disable-stripping \ + --disable-root-access \ + --disable-root-environ \ + --disable-setuid-environ + install_cmds 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 + # Some packages are looking for -lcurses instead of -lncurses + printf "INPUT(-lncursesw)\n" > "%{BUILDROOT}%{libdir}/libcursesw.so" + ln -svf "libncurses.so" "%{BUILDROOT}%{libdir}/libcurses.so" - # 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 + # Have packages linking against libncurses use libncursesw instead + for lib in ncurses ncurses++ form panel menu; do + printf "INPUT(-l%sw)\n" "${lib}" > "%{BUILDROOT}%{libdir}/lib${lib}.so" + ln -svf "${lib}w.pc" "%{BULDROOT}%{libdir}/pkgconfig/${lib}.pc" 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 @@ -104,7 +68,7 @@ packages template LIBS requires - %{name}-base=%{thisver} + %{name}-terminfo = %{thisver} end end @@ -112,71 +76,28 @@ packages template DEVEL end - package %{name}-term + package %{name}-terminfo summary = Terminal descriptions for ncurses. + description - This package contains additional terminal descriptions not found in - the ncurses-base package. + This package contains terminal descriptions. end - provides += /usr/share/terminfo - - files + provides /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. + # This package replaces the former ncurces-base & -term packages + %{name}-base = %{thisver} + %{name}-term = %{thisver} end - conflicts = ncurses<=5.9-1 + obsoletes + %{name}-base < %{thisver} + %{name}-term < %{thisver} + end 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-* + /usr/share/terminfo end end -- 2.47.3