From 5ffe32ea000e21ecbe16c10665d8de6128e58b20 Mon Sep 17 00:00:00 2001 From: thomas Date: Wed, 26 May 2021 17:20:39 +0200 Subject: [PATCH] ncurses: update 5.7 to version 6.2 Update to recent version of the libraries and tools, but keep the former terminfo-db to stay compatible with ver 5.7, which can not handle newer 32-bit terminfo definitions. A proper update could be done by uninstalling ncurses_terminfo_compat and omitting the deletion of the terminfo tree in ncurses.be0 Update procedure: #> bee remove ncurses-5.7-0.x86_64 #> bee install ncurses_compat-5.7-1 #> bee install ncurses_terminfo_compat-5.7-0 #> bee install ncurses-6.2-0.x86_64 --- ncurses-5.7-0.bee | 51 ---------------------- ncurses.be0 | 71 +++++++++++++++++++++++++++++++ ncurses_compat-5.7-1.be0 | 18 ++++++++ ncurses_terminfo_compat-5.7-0.be0 | 14 ++++++ 4 files changed, 103 insertions(+), 51 deletions(-) delete mode 100755 ncurses-5.7-0.bee create mode 100755 ncurses.be0 create mode 100755 ncurses_compat-5.7-1.be0 create mode 100755 ncurses_terminfo_compat-5.7-0.be0 diff --git a/ncurses-5.7-0.bee b/ncurses-5.7-0.bee deleted file mode 100755 index f1021d9c9..000000000 --- a/ncurses-5.7-0.bee +++ /dev/null @@ -1,51 +0,0 @@ -#!/bin/env beesh - -PGRP=( core ) - -SRCURL[0]="ftp://ftp.gnu.org/gnu/ncurses/ncurses-5.7.tar.gz" - -PATCHES[0]="" - -# EXCLUDE="" - -IGNORE_DATAROOTDIR=yes -IGNORE_LOCALEDIR=yes -IGNORE_DOCDIR=yes - - -mee_patch() { - bee_patch -} - -mee_configure() { - bee_configure --with-shared --without-debug --enable-widec -} - -mee_build() { - bee_build -} - -mee_install() { - bee_install - - mkdir -pv ${D}/lib - - mv -v ${D}${LIBDIR}/libncursesw.so.5* ${D}/lib - - ln -sfv /lib/libncursesw.so.5 ${D}${LIBDIR}/libncursesw.so - - for lib in ncurses form panel menu ; do - rm -vf ${D}${LIBDIR}/lib${lib}.so ; - echo "INPUT(-l${lib}w)" >${D}${LIBDIR}/lib${lib}.so ; - ln -sfv lib${lib}w.a ${D}${LIBDIR}/lib${lib}.a ; \ - done - ln -sfv libncurses++w.a ${D}${LIBDIR}/libncurses++.a - - rm -vf ${D}${LIBDIR}/libcursesw.so - - echo "INPUT(-lncursesw)" >${D}${LIBDIR}/libcursesw.so - ln -sfv libncurses.so ${D}${LIBDIR}/libcurses.so - ln -sfv libncursesw.a ${D}${LIBDIR}/libcursesw.a - ln -sfv libncurses.a ${D}${LIBDIR}/libcurses.a -} - diff --git a/ncurses.be0 b/ncurses.be0 new file mode 100755 index 000000000..b8318ac61 --- /dev/null +++ b/ncurses.be0 @@ -0,0 +1,71 @@ +#!/bin/env beesh + +# BEE_VERSION ncurses-6.2-0 + +# SRCURL[0]="https://ftp.gnu.org/gnu/ncurses/ncurses-${PKGVERSION}.tar.gz" +SRCURL[0]="https://beehive.molgen.mpg.de/e812da327b1c2214ac1aed440ea3ae8d/ncurses-6.2.tar.gz" + +PATCHES[0]="" + +# this gives the standard flags in DEFCONFIG +BEE_BUILDTYPE=autotools + +mee_configure() { + : +} + +# suppress some config options, or bee_configure will wail around +IGNORE_DATAROOTDIR=yes + +mee_build() { + + cd ${S} + + for WIDEC in --disable-widec --enable-widec; do + + test -e Makefile && make clean + bee_configure \ + $WIDEC \ + --with-shared \ + --enable-symlinks \ + --enable-pc-files \ + --with-pkg-config-libdir=${LIBDIR}/pkgconfig \ + --with-termlib=tinfo \ + --with-ticlib=tic \ + --with-cxx-shared \ + --without-normal \ + --without-debug + + + make $BEE_MAKEFLAGS + make install DESTDIR=${D} + + done + + # Use loader scripts to make sure tinfo works even without explicit -ltinfo + # And bow before software requiring curses w/o the n + ( cd ${D}${LIBDIR} + rm -vf libcurses.so libcursesw.so libncurses.so libncursesw.so libtermcap.so + echo "INPUT(libncurses.so.6 -ltinfo)" > libncurses.so + echo "INPUT(libncursesw.so.6 -ltinfo)" > libncursesw.so + echo "INPUT(-ltinfo)" > libtermcap.so + echo "INPUT(-lncurses)" > libcurses.so + echo "INPUT(-lncursesw)" > libcursesw.so + ) + + +} + +mee_install() { + : +} + +mee_install_post() { + + # so far ncurses 'believes' it has a complete terminfo database, but + # whilst migrating to ncurses-6 give room for the former (aka compat) database + rm -r ${D}/usr/share/terminfo/* + + # drop 877 entries no one will ever read ... + rm -r ${D}${MANDIR}/man3 +} diff --git a/ncurses_compat-5.7-1.be0 b/ncurses_compat-5.7-1.be0 new file mode 100755 index 000000000..4d4c45332 --- /dev/null +++ b/ncurses_compat-5.7-1.be0 @@ -0,0 +1,18 @@ +#!/usr/bin/env beesh + +# BEE_VERSION ncurses_compat-5.7-1 + +# Careful! Old ncurses_compat-5.7-0 contains ncurses (the one w/o w at the end). +# What could be misleading. + +SRCURL[0]="" + +mee_install() { + cd ${D} + tar xpf /src/mariux/beeroot/packages/ncurses-5.7-0.x86_64.bee.tar.bz2 \ + /lib/libncursesw.so.5.7 /lib/libncursesw.so.5 \ + /usr/lib/libformw.so.5.7 /usr/lib/libformw.so.5 \ + /usr/lib/libmenuw.so.5.7 /usr/lib/libmenuw.so.5 \ + /usr/lib/libpanelw.so.5.7 /usr/lib/libpanelw.so.5 +} + diff --git a/ncurses_terminfo_compat-5.7-0.be0 b/ncurses_terminfo_compat-5.7-0.be0 new file mode 100755 index 000000000..3ab5f736d --- /dev/null +++ b/ncurses_terminfo_compat-5.7-0.be0 @@ -0,0 +1,14 @@ +#!/usr/bin/env beesh + +# BEE_VERSION ncurses_terminfo_compat-5.7-0 + +# Careful! This is just the old '16-bit' /usr/share/terminfo tree. + +SRCURL[0]="" + +mee_install() { + cd ${D} + tar xpf /src/mariux/beeroot/packages/ncurses-5.7-0.x86_64.bee.tar.bz2 \ + /usr/share/terminfo +} +