Upgrade to 6.3.

Switch to correct upstream website.
Change to upstream provided mirror for relases.
Switch to new valid PGP key 19882D92DDA4C400C22C0D56CC2AF4472167BE03 for which
upstream provided signatures on their website
https://invisible-island.net/public/public.html
Add patch to prevent linking against test libraries.
Add patch to fix leaking of flags into pkgconfig files:
https://bugs.archlinux.org/task/68523
Compile with flag for versioned symbols:
https://bugs.archlinux.org/task/72278
Enable the installation of pkgconfig files.
Enable the build and installation of C++ lib.
Disable the installation of files that conflict with ncurses anyhow.
Sort configure flags mainly alphabetically.
Replace the use of echo with printf and sort fixes in package() by topic.
Model all fixes in package() after those done in ncurses.
Update maintainer info.
ledoian
David Runge 3 years ago
parent a5487f1dc9
commit 524086e3eb

@ -1,59 +1,95 @@
# Maintainer: Allan McRae <allan@archlinux.org> # Maintainer: David Runge <dvzrv@archlinux.org>
# Contributor: Allan McRae <allan@archlinux.org>
# Contributor: judd <jvinet@zeroflux.org> # Contributor: judd <jvinet@zeroflux.org>
_pkgbasename=ncurses _name=ncurses
pkgname=lib32-${_pkgbasename} pkgname=lib32-${_name}
pkgver=6.2 pkgver=6.3
pkgrel=1 pkgrel=1
pkgdesc="System V Release 4.0 curses emulation library (32-bit)" pkgdesc="System V Release 4.0 curses emulation library (32-bit)"
arch=('x86_64') arch=('x86_64')
url="https://www.gnu.org/software/ncurses/" url='https://invisible-island.net/ncurses/ncurses.html'
license=('MIT') license=('MIT')
depends=('lib32-glibc' ${_pkgbasename}) depends=('lib32-gcc-libs' 'lib32-glibc' "${_name}=${pkgver}")
source=(https://ftp.gnu.org/pub/gnu/ncurses/ncurses-${pkgver}.tar.gz{,.sig}) provides=(libncurses++w.so libformw.so libmenuw.so libpanelw.so libncursesw.so)
sha512sums=('4c1333dcc30e858e8a9525d4b9aefb60000cfc727bc4a1062bace06ffc4639ad9f6e54f6bdda0e3a0e5ea14de995f96b52b3327d9ec633608792c99a1e8d840d' source=(
'SKIP') "https://invisible-mirror.net/archives/${_name}/${_name}-${pkgver}.tar.gz"{,.asc}
validpgpkeys=('C52048C0C0748FEE227D47A2702353E0F7E48EDB') # Thomas Dickey "${_name}-6.3-libs.patch"
"${_name}-6.3-pkgconfig.patch"
)
sha512sums=('5373f228cba6b7869210384a607a2d7faecfcbfef6dbfcd7c513f4e84fbd8bcad53ac7db2e7e84b95582248c1039dcfc7c4db205a618f7da22a166db482f0105'
'SKIP'
'adb02b838c40f1e58a1b31c26d5cd0f2a1c43f3b6d68e839981764c0f6c905a9eb51dd36ff018628fdeb20747cc7467727d57135408ab4848259384077a52b28'
'2d2c0ec3c880e638ab4aa3dbff5e28e4cd233153e24816bd87e077f848aa3edd5114cd0f2a7f6e8869dd1861a2746e512886c18264ff1676927dcc320c5ef958')
b2sums=('b2c174ac48d587b4d3aa054f04e4ec8bffd8a657a4aff5f090104965c741901e600712c8f8e5e98f3b8a26bc558996a1e14a746f113854832853b855e9d406c3'
'SKIP'
'31bb10e82dd018a75e57252052650d9f0f5eb5e7e887118c2ea40032b11f59ec6aa4d9bae804c615cbecdf3382f3434e0c9e9e8440fdefe66a507be020b8965c'
'fb6cf606cf3db7f6b306272696a63bce83d52cfa91e850f9a7bdb9d3d8455a26943529a9cf79731dddc7f763c27211a9afab9c4c31dbb6d12fd720eb390eb0a3')
validpgpkeys=('19882D92DDA4C400C22C0D56CC2AF4472167BE03') # Thomas Dickey <dickey@invisible-island.net>
prepare() {
cd ${_name}-${pkgver}
# do not link against test libraries
patch -Np1 -i ../"${_name}-6.3-libs.patch"
# do not leak build-time LDFLAGS into the pkgconfig files:
# https://bugs.archlinux.org/task/68523
patch -Np1 -i ../"${_name}-6.3-pkgconfig.patch"
# NOTE: can't run autoreconf because the autotools setup is custom and ancient
}
build() { build() {
cd ${_pkgbasename}-${pkgver} cd ${_name}-${pkgver}
export CC="gcc -m32" export CC="gcc -m32"
export CXX="g++ -m32" export CXX="g++ -m32"
export PKG_CONFIG_LIBDIR='/usr/lib32/pkgconfig'
./configure --prefix=/usr --mandir=/usr/share/man \ ./configure --prefix=/usr \
--with-pkg-config-libdir=/usr/lib32/pkgconfig \ --disable-db-install \
--with-shared --with-normal --without-debug --without-ada \ --enable-widec \
--enable-widec --libdir=/usr/lib32 --with-manpage-format=normal --enable-pc-files \
--libdir=/usr/lib32 \
--mandir=/usr/share/man \
--with-cxx-binding \
--with-cxx-shared \
--with-pkg-config-libdir=/usr/lib32/pkgconfig \
--with-shared \
--with-versioned-syms \
--without-ada \
--without-debug \
--without-manpages \
--without-progs \
--without-tack \
--without-tests
make make
} }
package() { package() {
cd ${_pkgbasename}-${pkgver} cd ${_name}-${pkgver}
make DESTDIR="${pkgdir}" install make DESTDIR="${pkgdir}" install
install -vDm 644 COPYING -t "$pkgdir/usr/share/licenses/$pkgname/"
# fool packages looking to link to non-wide-character ncurses libraries # fool packages looking to link to non-wide-character ncurses libraries
for lib in curses ncurses form panel menu; do for lib in ncurses ncurses++ form panel menu; do
echo "INPUT(-l${lib}w)" >"${pkgdir}"/usr/lib32/lib${lib}.so printf "INPUT(-l%sw)\n" "${lib}" > "${pkgdir}/usr/lib32/lib${lib}.so"
ln -sf lib${lib}w.a "${pkgdir}"/usr/lib32/lib${lib}.a ln -sv ${lib}w.pc "${pkgdir}/usr/lib32/pkgconfig/${lib}.pc"
done done
ln -sf libncurses++w.a "${pkgdir}"/usr/lib32/libncurses++.a
# some packages look for -lcurses during build
printf 'INPUT(-lncursesw)\n' > "$pkgdir/usr/lib32/libcursesw.so"
ln -sv libncurses.so "$pkgdir/usr/lib32/libcurses.so"
# tic and ticinfo functionality is built in by default
# make sure that anything linking against it links against libncursesw.so instead
for lib in tic tinfo; do for lib in tic tinfo; do
echo "INPUT(libncursesw.so.${pkgver:0:1})" > "${pkgdir}/usr/lib32/lib${lib}.so" printf "INPUT(libncursesw.so.%s)\n" "${pkgver:0:1}" > "${pkgdir}/usr/lib32/lib${lib}.so"
ln -s libncursesw.so.${pkgver:0:1} "${pkgdir}/usr/lib32/lib${lib}.so.${pkgver:0:1}" ln -sv libncursesw.so.${pkgver:0:1} "${pkgdir}/usr/lib32/lib${lib}.so.${pkgver:0:1}"
ln -fsv ncursesw.pc "$pkgdir/usr/lib32/pkgconfig/${lib}.pc"
done done
# some packages look for -lcurses during build # remove all files conflicting with ncurses
rm -f "${pkgdir}"/usr/lib32/libcursesw.so rm -frv "${pkgdir}/usr/"{bin,include}
echo "INPUT(-lncursesw)" >"${pkgdir}"/usr/lib32/libcursesw.so
ln -sf libncurses.so "${pkgdir}"/usr/lib32/libcurses.so
ln -sf libncursesw.a "${pkgdir}"/usr/lib32/libcursesw.a
ln -sf libncurses.a "${pkgdir}"/usr/lib32/libcurses.a
rm -rf "${pkgdir}"/usr/{include,share,bin}
mkdir -p "${pkgdir}/usr/share/licenses"
ln -s ${_pkgbasename} "${pkgdir}/usr/share/licenses/${pkgname}"
} }
# vim: set et ts=2 sw=2: # vim: set et ts=2 sw=2:

@ -0,0 +1,58 @@
diff -ruN a/c++/Makefile.in b/c++/Makefile.in
--- a/c++/Makefile.in 2021-07-03 20:53:57.000000000 +0200
+++ b/c++/Makefile.in 2021-11-03 10:58:04.147647447 +0100
@@ -118,7 +118,7 @@
-l@FORM_NAME@@USE_LIB_SUFFIX@ \
-l@MENU_NAME@@USE_LIB_SUFFIX@ \
-l@PANEL_NAME@@USE_LIB_SUFFIX@ \
- -lncurses@USE_LIB_SUFFIX@ @SHLIB_LIST@
+ -lncurses@USE_LIB_SUFFIX@
LIBROOT = ncurses++
@@ -157,8 +157,7 @@
LDFLAGS_DEFAULT = $(LINK_@DFT_UPR_MODEL@) $(LDFLAGS_@DFT_UPR_MODEL@)
# flags for library built by this makefile
-LDFLAGS = $(TEST_ARGS) @LDFLAGS@ \
- @LD_MODEL@ $(TEST_LIBS) @LIBS@ $(CXXLIBS)
+LDFLAGS = @LDFLAGS@ @LD_MODEL@ @LIBS@ $(CXXLIBS)
AUTO_SRC = \
etip.h
diff -ruN a/form/Makefile.in b/form/Makefile.in
--- a/form/Makefile.in 2021-07-03 17:45:33.000000000 +0200
+++ b/form/Makefile.in 2021-11-03 10:58:45.301114373 +0100
@@ -110,7 +110,7 @@
LDFLAGS = @LDFLAGS@ @LD_MODEL@ @LIBS@
SHLIB_DIRS = -L../lib
-SHLIB_LIST = $(SHLIB_DIRS) -lncurses@USE_LIB_SUFFIX@ @SHLIB_LIST@
+SHLIB_LIST = $(SHLIB_DIRS) -lncurses@USE_LIB_SUFFIX@
RPATH_LIST = @RPATH_LIST@
RESULTING_SYMS = @RESULTING_SYMS@
diff -ruN a/menu/Makefile.in b/menu/Makefile.in
--- a/menu/Makefile.in 2021-07-03 17:45:33.000000000 +0200
+++ b/menu/Makefile.in 2021-11-03 10:58:59.461160284 +0100
@@ -110,7 +110,7 @@
LDFLAGS = @LDFLAGS@ @LD_MODEL@ @LIBS@
SHLIB_DIRS = -L../lib
-SHLIB_LIST = $(SHLIB_DIRS) -lncurses@USE_LIB_SUFFIX@ @SHLIB_LIST@
+SHLIB_LIST = $(SHLIB_DIRS) -lncurses@USE_LIB_SUFFIX@
RPATH_LIST = @RPATH_LIST@
RESULTING_SYMS = @RESULTING_SYMS@
diff -ruN a/panel/Makefile.in b/panel/Makefile.in
--- a/panel/Makefile.in 2021-07-03 17:45:33.000000000 +0200
+++ b/panel/Makefile.in 2021-11-03 10:59:33.957938691 +0100
@@ -112,7 +112,7 @@
LDFLAGS = @LDFLAGS@ @LD_MODEL@ @LIBS@
SHLIB_DIRS = -L../lib
-SHLIB_LIST = $(SHLIB_DIRS) -lncurses@USE_LIB_SUFFIX@ @SHLIB_LIST@
+SHLIB_LIST = $(SHLIB_DIRS) -lncurses@USE_LIB_SUFFIX@
RPATH_LIST = @RPATH_LIST@
RESULTING_SYMS = @RESULTING_SYMS@

@ -0,0 +1,24 @@
diff -ruN a/misc/gen-pkgconfig.in b/misc/gen-pkgconfig.in
--- a/misc/gen-pkgconfig.in 2021-08-07 23:36:33.000000000 +0200
+++ b/misc/gen-pkgconfig.in 2021-11-03 11:12:51.127160950 +0100
@@ -83,7 +83,7 @@
fi
lib_flags=
-for opt in -L$libdir @EXTRA_PKG_LDFLAGS@ @LIBS@
+for opt in -L$libdir @LIBS@
do
case $opt in
-l*) # LIBS is handled specially below
diff -ruN a/misc/ncurses-config.in b/misc/ncurses-config.in
--- a/misc/ncurses-config.in 2021-08-07 23:36:14.000000000 +0200
+++ b/misc/ncurses-config.in 2021-11-03 11:26:12.393533954 +0100
@@ -101,7 +101,7 @@
# There is no portable way to find the list of standard library directories.
# Require a POSIX shell anyway, to keep this simple.
lib_flags=
-for opt in -L$libdir @EXTRA_PKG_LDFLAGS@ $LIBS
+for opt in -L$libdir $LIBS
do
case $opt in
-specs*) # ignore linker specs-files which were used to build library
Loading…
Cancel
Save