]> git.ipfire.org Git - ipfire-3.x.git/commitdiff
ncurses: Update to 6.5
authorMichael Tremer <michael.tremer@ipfire.org>
Sat, 15 Feb 2025 14:54:06 +0000 (14:54 +0000)
committerMichael Tremer <michael.tremer@ipfire.org>
Sat, 15 Feb 2025 14:54:06 +0000 (14:54 +0000)
This patch also drops support for the narrow character version which is
basically unused in IPFire.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
ncurses/ncurses.nm

index db53476a318db5ccaab4f73f8df96fcf69534bb6..691c3137cfaa5038092308c08eb45be0927366d3 100644 (file)
@@ -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