summaryrefslogtreecommitdiff
path: root/testing/ncurses/PKGBUILD
blob: 1c2df28898def1aabe4ba3436bcbe4c64050a578 (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
# $Id: PKGBUILD 141943 2011-11-03 11:43:21Z allan $
# Maintainer: Allan McRae <allan@archlinux.org>
# Contributor: judd <jvinet@zeroflux.org>

pkgname=ncurses
pkgver=5.9
pkgrel=2
pkgdesc="System V Release 4.0 curses emulation library"
arch=('i686' 'x86_64')
url="http://www.gnu.org/software/ncurses/"
license=('MIT')
depends=('glibc')
source=(ftp://ftp.gnu.org/pub/gnu/${pkgname}/${pkgname}-${pkgver}.tar.gz{,.sig})
md5sums=('8cb9c412e5f2d96bc6f459aa8c6282a1'
         '014ffdbbfec6d41a9a89d6cbe6434638')

build() {
  cd ${srcdir}/
  mkdir ncurses{,w}-build

  cd ${srcdir}/ncursesw-build
  ../${pkgname}-${pkgver}/configure --prefix=/usr --mandir=/usr/share/man \
     --with-shared --with-normal --without-debug --without-ada \
     --with-install-prefix=${pkgdir} --enable-widec 
  # add --enable-ext-colors with next soname bump
  make

  # libncurses.so.5 for external binary support 
  cd ${srcdir}/ncurses-build
  [ $CARCH = "x86_64" ] && CONFIGFLAG="--with-chtype=long"
  ../${pkgname}-${pkgver}/configure --prefix=/usr \
    --with-shared --with-normal --without-debug --without-ada \
    --with-install-prefix=${pkgdir} $CONFIGFLAG
  make
}

package() {
  cd ${srcdir}/ncursesw-build
  make install

  # move libraries needed for boot to /lib (we call tput in initscripts)
  install -dm755 ${pkgdir}/lib
  mv ${pkgdir}/usr/lib/libncursesw.so.5* ${pkgdir}/lib
  ln -sf ../../lib/libncursesw.so.5 ${pkgdir}/usr/lib/libncursesw.so

  # Fool packages looking to link to non-wide-character ncurses libraries
  for lib in curses ncurses form panel menu; do
    rm -f ${pkgdir}/usr/lib/lib${lib}.so
    echo "INPUT(-l${lib}w)" >${pkgdir}/usr/lib/lib${lib}.so
    ln -sf lib${lib}w.a ${pkgdir}/usr/lib/lib${lib}.a
  done
  ln -sf libncurses++w.a ${pkgdir}/usr/lib/libncurses++.a

  # install tput to /bin
  install -dm755 ${pkgdir}/bin/
  mv ${pkgdir}/usr/bin/tput ${pkgdir}/bin/tput

  # Some packages look for -lcurses during build
  rm -f ${pkgdir}/usr/lib/libcursesw.so
  echo "INPUT(-lncursesw)" >${pkgdir}/usr/lib/libcursesw.so
  ln -sf libncurses.so ${pkgdir}/usr/lib/libcurses.so
  ln -sf libncursesw.a ${pkgdir}/usr/lib/libcursesw.a
  ln -sf libncurses.a ${pkgdir}/usr/lib/libcurses.a

  # non-widec compatibility library
  cd ${srcdir}/ncurses-build        
  install -Dm755 lib/libncurses.so.${pkgver} ${pkgdir}/usr/lib/libncurses.so.${pkgver}
  ln -sf libncurses.so.${pkgver} ${pkgdir}/usr/lib/libncurses.so.5

  # install license, rip it from the readme
  cd ${srcdir}/${pkgname}-${pkgver}
  install -dm755 ${pkgdir}/usr/share/licenses/$pkgname
  grep -B 100 '$Id' README > ${pkgdir}/usr/share/licenses/${pkgname}/license.txt
}