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
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>
|
||||
|
||||
_pkgbasename=ncurses
|
||||
pkgname=lib32-${_pkgbasename}
|
||||
pkgver=6.2
|
||||
_name=ncurses
|
||||
pkgname=lib32-${_name}
|
||||
pkgver=6.3
|
||||
pkgrel=1
|
||||
pkgdesc="System V Release 4.0 curses emulation library (32-bit)"
|
||||
arch=('x86_64')
|
||||
url="https://www.gnu.org/software/ncurses/"
|
||||
url='https://invisible-island.net/ncurses/ncurses.html'
|
||||
license=('MIT')
|
||||
depends=('lib32-glibc' ${_pkgbasename})
|
||||
source=(https://ftp.gnu.org/pub/gnu/ncurses/ncurses-${pkgver}.tar.gz{,.sig})
|
||||
sha512sums=('4c1333dcc30e858e8a9525d4b9aefb60000cfc727bc4a1062bace06ffc4639ad9f6e54f6bdda0e3a0e5ea14de995f96b52b3327d9ec633608792c99a1e8d840d'
|
||||
'SKIP')
|
||||
validpgpkeys=('C52048C0C0748FEE227D47A2702353E0F7E48EDB') # Thomas Dickey
|
||||
depends=('lib32-gcc-libs' 'lib32-glibc' "${_name}=${pkgver}")
|
||||
provides=(libncurses++w.so libformw.so libmenuw.so libpanelw.so libncursesw.so)
|
||||
source=(
|
||||
"https://invisible-mirror.net/archives/${_name}/${_name}-${pkgver}.tar.gz"{,.asc}
|
||||
"${_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() {
|
||||
cd ${_pkgbasename}-${pkgver}
|
||||
cd ${_name}-${pkgver}
|
||||
|
||||
export CC="gcc -m32"
|
||||
export CXX="g++ -m32"
|
||||
export PKG_CONFIG_LIBDIR='/usr/lib32/pkgconfig'
|
||||
|
||||
./configure --prefix=/usr --mandir=/usr/share/man \
|
||||
--with-pkg-config-libdir=/usr/lib32/pkgconfig \
|
||||
--with-shared --with-normal --without-debug --without-ada \
|
||||
--enable-widec --libdir=/usr/lib32 --with-manpage-format=normal
|
||||
./configure --prefix=/usr \
|
||||
--disable-db-install \
|
||||
--enable-widec \
|
||||
--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
|
||||
}
|
||||
|
||||
package() {
|
||||
cd ${_pkgbasename}-${pkgver}
|
||||
cd ${_name}-${pkgver}
|
||||
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
|
||||
for lib in curses ncurses form panel menu; do
|
||||
echo "INPUT(-l${lib}w)" >"${pkgdir}"/usr/lib32/lib${lib}.so
|
||||
ln -sf lib${lib}w.a "${pkgdir}"/usr/lib32/lib${lib}.a
|
||||
for lib in ncurses ncurses++ form panel menu; do
|
||||
printf "INPUT(-l%sw)\n" "${lib}" > "${pkgdir}/usr/lib32/lib${lib}.so"
|
||||
ln -sv ${lib}w.pc "${pkgdir}/usr/lib32/pkgconfig/${lib}.pc"
|
||||
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
|
||||
echo "INPUT(libncursesw.so.${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}"
|
||||
printf "INPUT(libncursesw.so.%s)\n" "${pkgver:0:1}" > "${pkgdir}/usr/lib32/lib${lib}.so"
|
||||
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
|
||||
|
||||
# some packages look for -lcurses during build
|
||||
rm -f "${pkgdir}"/usr/lib32/libcursesw.so
|
||||
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}"
|
||||
# remove all files conflicting with ncurses
|
||||
rm -frv "${pkgdir}/usr/"{bin,include}
|
||||
}
|
||||
|
||||
# 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…
Reference in New Issue