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.

96 lines
3.6 KiB
Bash

# Maintainer: David Runge <dvzrv@archlinux.org>
# Contributor: Allan McRae <allan@archlinux.org>
# Contributor: judd <jvinet@zeroflux.org>
_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://invisible-island.net/ncurses/ncurses.html'
license=('MIT')
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 ${_name}-${pkgver}
export CC="gcc -m32"
export CXX="g++ -m32"
export PKG_CONFIG_LIBDIR='/usr/lib32/pkgconfig'
./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 ${_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 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
# 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
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
# remove all files conflicting with ncurses
rm -frv "${pkgdir}/usr/"{bin,include}
}
# vim: set et ts=2 sw=2: