[arch-commits] Commit in ncurses/trunk (3 files)

David Runge dvzrv at gemini.archlinux.org
Wed Nov 3 20:53:24 UTC 2021


    Date: Wednesday, November 3, 2021 @ 20:53:23
  Author: dvzrv
Revision: 427076

upgpkg: ncurses 6.3-1: Upgrade to 6.3.

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
Sort configure flags mainly alphabetically.
Replace the use of echo with printf and sort fixes in package() by topic.

Added:
  ncurses/trunk/ncurses-6.3-libs.patch
  ncurses/trunk/ncurses-6.3-pkgconfig.patch
Modified:
  ncurses/trunk/PKGBUILD

-----------------------------+
 PKGBUILD                    |   69 ++++++++++++++++++++++++------------------
 ncurses-6.3-libs.patch      |   58 +++++++++++++++++++++++++++++++++++
 ncurses-6.3-pkgconfig.patch |   24 ++++++++++++++
 3 files changed, 123 insertions(+), 28 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2021-11-03 20:33:07 UTC (rev 427075)
+++ PKGBUILD	2021-11-03 20:53:23 UTC (rev 427076)
@@ -4,46 +4,57 @@
 # Contributor: judd <jvinet at zeroflux.org>
 
 pkgname=ncurses
-pkgver=6.2
-pkgrel=2
+pkgver=6.3
+pkgrel=1
 pkgdesc='System V Release 4.0 curses emulation library'
 arch=(x86_64)
 url='https://invisible-island.net/ncurses/ncurses.html'
 license=(MIT)
 depends=(glibc gcc-libs)
+makedepends=(autoconf-archive)
 optdepends=('bash: for ncursesw6-config')
 provides=(libncurses++w.so libformw.so libmenuw.so libpanelw.so libncursesw.so)
 replaces=(alacritty-terminfo)
-source=("https://ftp.gnu.org/pub/gnu/ncurses/ncurses-$pkgver.tar.gz"{,.sig})
-sha512sums=('4c1333dcc30e858e8a9525d4b9aefb60000cfc727bc4a1062bace06ffc4639ad9f6e54f6bdda0e3a0e5ea14de995f96b52b3327d9ec633608792c99a1e8d840d'
-            'SKIP')
-b2sums=('6680cd7a369a4cb8234442a70869c283f0db6db9d7da1da2a7a5c519eb862a2c9b9411957d99f9ebb5089cad00b42e1ca6bc0784327461113df2eeaec695913c'
-        'SKIP')
-# NOTE: contacted upstream signing key holder about unsafe key (2021-05-02)
-validpgpkeys=('C52048C0C0748FEE227D47A2702353E0F7E48EDB')  # Thomas Dickey <dickey at invisible-island.net>
+source=(
+  "https://invisible-mirror.net/archives/${pkgname}/${pkgname}-${pkgver}.tar.gz"{,.asc}
+  "${pkgname}-6.3-libs.patch"
+  "${pkgname}-6.3-pkgconfig.patch"
+)
+sha512sums=('5373f228cba6b7869210384a607a2d7faecfcbfef6dbfcd7c513f4e84fbd8bcad53ac7db2e7e84b95582248c1039dcfc7c4db205a618f7da22a166db482f0105'
+            'SKIP'
+            'adb02b838c40f1e58a1b31c26d5cd0f2a1c43f3b6d68e839981764c0f6c905a9eb51dd36ff018628fdeb20747cc7467727d57135408ab4848259384077a52b28'
+            '2d2c0ec3c880e638ab4aa3dbff5e28e4cd233153e24816bd87e077f848aa3edd5114cd0f2a7f6e8869dd1861a2746e512886c18264ff1676927dcc320c5ef958')
+b2sums=('b2c174ac48d587b4d3aa054f04e4ec8bffd8a657a4aff5f090104965c741901e600712c8f8e5e98f3b8a26bc558996a1e14a746f113854832853b855e9d406c3'
+        'SKIP'
+        '31bb10e82dd018a75e57252052650d9f0f5eb5e7e887118c2ea40032b11f59ec6aa4d9bae804c615cbecdf3382f3434e0c9e9e8440fdefe66a507be020b8965c'
+        'fb6cf606cf3db7f6b306272696a63bce83d52cfa91e850f9a7bdb9d3d8455a26943529a9cf79731dddc7f763c27211a9afab9c4c31dbb6d12fd720eb390eb0a3')
+validpgpkeys=('19882D92DDA4C400C22C0D56CC2AF4472167BE03')  # Thomas Dickey <dickey at invisible-island.net>
 
-# FIXME
-# prepare() {
-#   cd $pkgname-$pkgver
-# 
-#   autoreconf -fiv
-# }
+prepare() {
+  cd $pkgname-$pkgver
+  # do not link against test libraries
+  patch -Np1 -i ../"${pkgname}-6.3-libs.patch"
+  # do not leak build-time LDFLAGS into the pkgconfig files:
+  # https://bugs.archlinux.org/task/68523
+  patch -Np1 -i ../"${pkgname}-6.3-pkgconfig.patch"
+  # NOTE: can't run autoreconf because the autotools setup is custom and ancient
+}
 
 build() {
   cd $pkgname-$pkgver
 
   ./configure --prefix=/usr \
+    --enable-widec \
+    --enable-pc-files \
     --mandir=/usr/share/man \
+    --with-cxx-binding \
+    --with-cxx-shared \
+    --with-manpage-format=normal \
     --with-pkg-config-libdir=/usr/lib/pkgconfig \
     --with-shared \
-    --with-normal \
-    --without-debug \
+    --with-versioned-syms \
     --without-ada \
-    --enable-widec \
-    --enable-pc-files \
-    --with-cxx-binding \
-    --with-cxx-shared \
-    --with-manpage-format=normal
+    --without-debug
   make
 }
 
@@ -54,17 +65,19 @@
 
   # fool packages looking to link to non-wide-character ncurses libraries
   for lib in ncurses ncurses++ form panel menu; do
-    echo "INPUT(-l${lib}w)" > "$pkgdir/usr/lib/lib${lib}.so"
+    printf "INPUT(-l%sw)\n" "${lib}" > "$pkgdir/usr/lib/lib${lib}.so"
     ln -sv ${lib}w.pc "$pkgdir/usr/lib/pkgconfig/${lib}.pc"
   done
 
+  # some packages look for -lcurses during build
+  printf 'INPUT(-lncursesw)\n' > "$pkgdir/usr/lib/libcursesw.so"
+  ln -sv libncurses.so "$pkgdir/usr/lib/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/lib/lib${lib}.so"
+    printf "INPUT(libncursesw.so.%s)\n" "${pkgver:0:1}" > "$pkgdir/usr/lib/lib${lib}.so"
     ln -sv libncursesw.so.${pkgver:0:1} "$pkgdir/usr/lib/lib${lib}.so.${pkgver:0:1}"
     ln -sv ncursesw.pc "$pkgdir/usr/lib/pkgconfig/${lib}.pc"
   done
-
-  # some packages look for -lcurses during build
-  echo 'INPUT(-lncursesw)' > "$pkgdir/usr/lib/libcursesw.so"
-  ln -s libncurses.so "$pkgdir/usr/lib/libcurses.so"
 }

Added: ncurses-6.3-libs.patch
===================================================================
--- ncurses-6.3-libs.patch	                        (rev 0)
+++ ncurses-6.3-libs.patch	2021-11-03 20:53:23 UTC (rev 427076)
@@ -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 at FORM_NAME@@USE_LIB_SUFFIX@ \
+ 		-l at MENU_NAME@@USE_LIB_SUFFIX@ \
+ 		-l at PANEL_NAME@@USE_LIB_SUFFIX@ \
+-		-lncurses at USE_LIB_SUFFIX@ @SHLIB_LIST@
++		-lncurses at USE_LIB_SUFFIX@
+ 
+ LIBROOT		= ncurses++
+ 
+@@ -157,8 +157,7 @@
+ LDFLAGS_DEFAULT	= $(LINK_ at DFT_UPR_MODEL@) $(LDFLAGS_ at 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 at USE_LIB_SUFFIX@ @SHLIB_LIST@
++SHLIB_LIST	= $(SHLIB_DIRS) -lncurses at 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 at USE_LIB_SUFFIX@ @SHLIB_LIST@
++SHLIB_LIST	= $(SHLIB_DIRS) -lncurses at 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 at USE_LIB_SUFFIX@ @SHLIB_LIST@
++SHLIB_LIST	= $(SHLIB_DIRS) -lncurses at USE_LIB_SUFFIX@
+ 
+ RPATH_LIST	= @RPATH_LIST@
+ RESULTING_SYMS	= @RESULTING_SYMS@

Added: ncurses-6.3-pkgconfig.patch
===================================================================
--- ncurses-6.3-pkgconfig.patch	                        (rev 0)
+++ ncurses-6.3-pkgconfig.patch	2021-11-03 20:53:23 UTC (rev 427076)
@@ -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



More information about the arch-commits mailing list