summarylogtreecommitdiffstats
path: root/PKGBUILD
blob: 0ee37b3b724d91a649965c79c72c291cc8b3d43a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
# Maintainer: Mikael Blomstrand <mbloms ÅT kth DÖT se>

# PKGBUILD based on community/ncurses:
# Contributor:  Bartłomiej Piotrowski <bpiotrowski@archlinux.org>
# Contributor: Allan McRae <allan@archlinux.org>
# Contributor: judd <jvinet@zeroflux.org>

pkgname=('ncurses-nohex' 'infocmp-nohex')
conflicts=(ncurses)
pkgver=6.1
pkgrel=6
pkgdesc="System V Release 4.0 curses emulation library. Patch disables hexadecimal in infocmp."
arch=(x86_64)
url='https://invisible-island.net/ncurses/ncurses.html'
license=(MIT)
depends=(glibc gcc-libs)
provides=(ncurses libncurses++w.so libformw.so libmenuw.so libpanelw.so libncursesw.so)
source=(https://ftp.gnu.org/pub/gnu/ncurses/ncurses-$pkgver.tar.gz{,.sig}
  nohex.patch::https://github.com/mbloms/ncurses/commit/2e8af507b9ea61ca9f70e023e89faa16aa01c8b1.patch
  README.md)
md5sums=('98c889aaf8d23910d2b92d65be2e737a'
         'SKIP'
         'ba2cd274835935bf83bf3859a131fd1e'
         '0fd492d6811b9f520fdfd6188f290069')
sha1sums=('57acf6bc24cacd651d82541929f726f4def780cc'
          'SKIP'
          '5fb4b04bd1c2c3ce89f140fffa6769dfd2e3f741'
          '0abec6eae58208ad167753fee41c63b130c16f0d')
sha256sums=('aa057eeeb4a14d470101eff4597d5833dcef5965331be3528c08d99cebaa0d17'
            'SKIP'
            'c59a4209ea84a31bba0ea5721ce1ed32252a951270dda3f932cfc6ab4ca821b8'
            '77aaa2c490d561955c1e28ab7fe32976553771e6bfe1ce0ffc57848ce4edb605')

validpgpkeys=('C52048C0C0748FEE227D47A2702353E0F7E48EDB')  # Thomas Dickey

prepare() {
  patch -p1 -d $conflicts-$pkgver < nohex.patch 
}

build() {
  cd $conflicts-$pkgver

  ./configure --prefix=/usr --mandir=/usr/share/man \
    --with-pkg-config-libdir=/usr/lib/pkgconfig \
    --with-shared --with-normal --without-debug --without-ada \
    --enable-widec --enable-pc-files --with-cxx-binding --with-cxx-shared \
    --with-manpage-format=normal
  make
}

package_ncurses-nohex() {
  cd $conflicts-$pkgver
  make DESTDIR="$pkgdir" install
  install -Dm644 COPYING "$pkgdir/usr/share/licenses/$pkgname/LICENSE"

  # 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"
    ln -s ${lib}w.pc "$pkgdir/usr/lib/pkgconfig/${lib}.pc"
  done

  for lib in tic tinfo; do
    echo "INPUT(libncursesw.so.${pkgver:0:1})" > "$pkgdir/usr/lib/lib${lib}.so"
    ln -s libncursesw.so.${pkgver:0:1} "$pkgdir/usr/lib/lib${lib}.so.${pkgver:0:1}"
    ln -s 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"
}

package_infocmp-nohex() {
  pkgdesc='infocmp patched to not use hexadecimal when they are "close" to a power of two'
  depends=('glibc' 'libncursesw.so=6')
  conflicts=()
  provides=('infocmp')

  install -Dm755 ncurses-${pkgver}/progs/infocmp ${pkgdir}/usr/local/bin/infocmp
}