You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
104 lines
3.9 KiB
Bash
104 lines
3.9 KiB
Bash
# Maintainer: David Runge <dvzrv@archlinux.org>
|
|
# Contributor: Bartłomiej Piotrowski <bpiotrowski@archlinux.org>
|
|
# Contributor: Allan McRae <allan@archlinux.org>
|
|
# Contributor: judd <jvinet@zeroflux.org>
|
|
|
|
pkgname=ncurses
|
|
pkgver=6.5
|
|
#_commit=c74a1c4202f4524076da8be8554dacec391c84b2 # refs/tags/v6_4_20230520
|
|
pkgrel=1
|
|
pkgdesc='System V Release 4.0 curses emulation library'
|
|
arch=(x86_64)
|
|
url='https://invisible-island.net/ncurses/ncurses.html'
|
|
license=(MIT-open-group)
|
|
depends=(
|
|
glibc
|
|
gcc-libs
|
|
)
|
|
makedepends=(
|
|
autoconf-archive
|
|
git
|
|
)
|
|
optdepends=('bash: for ncursesw6-config')
|
|
provides=(
|
|
libncurses++w.so
|
|
libformw.so
|
|
libmenuw.so
|
|
libpanelw.so
|
|
libncursesw.so
|
|
)
|
|
replaces=(alacritty-terminfo)
|
|
source=(
|
|
https://invisible-island.net/archives/${pkgname}/${pkgname}-${pkgver}.tar.gz
|
|
https://invisible-island.net/archives/${pkgname}/${pkgname}-${pkgver}.tar.gz.asc
|
|
$pkgname-6.3-libs.patch
|
|
$pkgname-6.3-pkgconfig.patch
|
|
)
|
|
sha512sums=('fc5a13409d2a530a1325776dcce3a99127ddc2c03999cfeb0065d0eee2d68456274fb1c7b3cc99c1937bc657d0e7fca97016e147f93c7821b5a4a6837db821e8'
|
|
'96a9cb7b3e8a0c4d058129d4aadbc4388b4f022eee6605cca8d270f31c54d1f06429a7c1af09e7de13f2bfeee71fc33d9581b0773830914c8a431be7e7f0e6ba'
|
|
'adb02b838c40f1e58a1b31c26d5cd0f2a1c43f3b6d68e839981764c0f6c905a9eb51dd36ff018628fdeb20747cc7467727d57135408ab4848259384077a52b28'
|
|
'2d2c0ec3c880e638ab4aa3dbff5e28e4cd233153e24816bd87e077f848aa3edd5114cd0f2a7f6e8869dd1861a2746e512886c18264ff1676927dcc320c5ef958')
|
|
b2sums=('d0a05c218b5f320ba9abe2f322787baef1d15d764e503c81d49772b54b2927d28ecbeb500c8e514996226b41f69445b4de44ff423cec25b61847307fe61682ec'
|
|
'079233fb8f52ec596182b69d9a44dd59982d4925715c817d21b5d2f4fc9ef7aa4c9ac2b4e14694ac177e49913a75f46e914fec64136620c5be891ee8c2c1710d'
|
|
'31bb10e82dd018a75e57252052650d9f0f5eb5e7e887118c2ea40032b11f59ec6aa4d9bae804c615cbecdf3382f3434e0c9e9e8440fdefe66a507be020b8965c'
|
|
'fb6cf606cf3db7f6b306272696a63bce83d52cfa91e850f9a7bdb9d3d8455a26943529a9cf79731dddc7f763c27211a9afab9c4c31dbb6d12fd720eb390eb0a3')
|
|
validpgpkeys=('19882D92DDA4C400C22C0D56CC2AF4472167BE03') # Thomas Dickey <dickey@invisible-island.net>
|
|
|
|
prepare() {
|
|
# do not link against test libraries
|
|
patch -Np1 -d $pkgname -i ../$pkgname-6.3-libs.patch
|
|
# do not leak build-time LDFLAGS into the pkgconfig files:
|
|
# https://bugs.archlinux.org/task/68523
|
|
patch -Np1 -d $pkgname -i ../$pkgname-6.3-pkgconfig.patch
|
|
# NOTE: can't run autoreconf because the autotools setup is custom and ancient
|
|
}
|
|
|
|
build() {
|
|
local configure_options=(
|
|
--prefix=/usr
|
|
--disable-root-access
|
|
--disable-root-environ
|
|
--disable-setuid-environ
|
|
--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-versioned-syms
|
|
--with-xterm-kbs=del
|
|
--without-ada
|
|
)
|
|
|
|
cd $pkgname
|
|
./configure "${configure_options[@]}"
|
|
make
|
|
}
|
|
|
|
package() {
|
|
local _pkgver=${pkgver/_*/}
|
|
|
|
make DESTDIR="$pkgdir" install -C $pkgname
|
|
install -vDm 644 $pkgname/COPYING -t "$pkgdir/usr/share/licenses/$pkgname/"
|
|
|
|
# fool packages looking to link to non-wide-character ncurses libraries
|
|
for lib in ncurses ncurses++ form panel menu; do
|
|
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
|
|
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
|
|
}
|