###############################################################################
name = ncurses
-version = 6.4
-release = 2
+version = 6.5
+release = 1
thisapp = %{name}-%{version}
groups = System/Base
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
--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
template LIBS
requires
- %{name}-base=%{thisver}
+ %{name}-terminfo = %{thisver}
end
end
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