summaryrefslogtreecommitdiff
path: root/multilib/lib32-ncurses
diff options
context:
space:
mode:
authorParabola <dev@list.parabolagnulinux.org>2011-04-05 14:26:38 +0000
committerParabola <dev@list.parabolagnulinux.org>2011-04-05 14:26:38 +0000
commit415856bdd4f48ab4f2732996f0bae58595092bbe (patch)
treeede2018b591f6dfb477fe9341ba17b9bc000fab9 /multilib/lib32-ncurses
Tue Apr 5 14:26:38 UTC 2011
Diffstat (limited to 'multilib/lib32-ncurses')
-rw-r--r--multilib/lib32-ncurses/PKGBUILD73
-rw-r--r--multilib/lib32-ncurses/set_field_buffer.patch9
2 files changed, 82 insertions, 0 deletions
diff --git a/multilib/lib32-ncurses/PKGBUILD b/multilib/lib32-ncurses/PKGBUILD
new file mode 100644
index 000000000..d31a7ec98
--- /dev/null
+++ b/multilib/lib32-ncurses/PKGBUILD
@@ -0,0 +1,73 @@
+# $Id: PKGBUILD 35258 2010-12-18 00:55:35Z heftig $
+# Maintainer: Allan McRae <allan@archlinux.org>
+# Contributor: judd <jvinet@zeroflux.org>
+
+_pkgbasename=ncurses
+pkgname=lib32-${_pkgbasename}
+pkgver=5.7
+pkgrel=6
+pkgdesc="System V Release 4.0 curses emulation library (32-bit)"
+arch=('x86_64')
+url="http://www.gnu.org/software/ncurses/"
+license=('MIT')
+depends=('lib32-glibc' ${_pkgbasename})
+makedepends=("gcc-multilib")
+source=(ftp://ftp.gnu.org/pub/gnu/${_pkgbasename}/${_pkgbasename}-${pkgver}.tar.gz
+ set_field_buffer.patch)
+md5sums=('cce05daf61a64501ef6cd8da1f727ec6'
+ '04c8d6d95140a29d72c0eb685a2eeffd')
+
+build() {
+ export CC="gcc -m32"
+ export CXX="g++ -m32"
+ export PKG_CONFIG_PATH="/usr/lib32/pkgconfig"
+
+ cd ${srcdir}/
+ mkdir ncurses{,w}-build
+
+ # http://permalink.gmane.org/gmane.comp.lib.ncurses.bugs/3559
+ patch -Np1 -i ${srcdir}/set_field_buffer.patch
+
+ cd ${srcdir}/ncursesw-build
+ ../${_pkgbasename}-${pkgver}/configure --prefix=/usr --mandir=/usr/share/man \
+ --with-shared --with-normal --without-debug --without-ada \
+ --with-install-prefix=${pkgdir} --enable-widec --libdir=/usr/lib32
+ make
+
+ # libncurses.so.5 for external binary support
+ cd ${srcdir}/ncurses-build
+# [ $CARCH = "x86_64" ] && CONFIGFLAG="--with-chtype=long"
+ ../${_pkgbasename}-${pkgver}/configure --prefix=/usr \
+ --with-shared --with-normal --without-debug --without-ada \
+ --with-install-prefix=${pkgdir} $CONFIGFLAG --libdir=/usr/lib32
+ make
+}
+
+package() {
+ cd ${srcdir}/ncursesw-build
+ make install
+
+ install -dm755 ${pkgdir}/usr/lib32
+
+ # Fool packages looking to link to non-wide-character ncurses libraries
+ for lib in curses ncurses form panel menu; do
+ rm -f ${pkgdir}/usr/lib32/lib${lib}.so
+ echo "INPUT(-l${lib}w)" >${pkgdir}/usr/lib32/lib${lib}.so
+ ln -sf lib${lib}w.a ${pkgdir}/usr/lib32/lib${lib}.a
+ done
+ ln -sf libncurses++w.a ${pkgdir}/usr/lib32/libncurses++.a
+
+ # Some packages look for -lcurses during build
+ rm -f ${pkgdir}/usr/lib32/libcursesw.so
+ echo "INPUT(-lncursesw)" >${pkgdir}/usr/lib32/libcursesw.so
+ ln -sf libncurses.so ${pkgdir}/usr/lib32/libcurses.so
+ ln -sf libncursesw.a ${pkgdir}/usr/lib32/libcursesw.a
+ ln -sf libncurses.a ${pkgdir}/usr/lib32/libcurses.a
+
+ # non-widec compatibility library
+ cd ${srcdir}/ncurses-build
+ install -Dm755 lib/libncurses.so.${pkgver} ${pkgdir}/usr/lib32/libncurses.so.${pkgver}
+ ln -sf libncurses.so.${pkgver} ${pkgdir}/usr/lib32/libncurses.so.5
+
+ rm -rf "${pkgdir}"/usr/{include,share,bin}
+}
diff --git a/multilib/lib32-ncurses/set_field_buffer.patch b/multilib/lib32-ncurses/set_field_buffer.patch
new file mode 100644
index 000000000..a2132043e
--- /dev/null
+++ b/multilib/lib32-ncurses/set_field_buffer.patch
@@ -0,0 +1,9 @@
+--- src/ncurses-5.7/form/frm_driver.c 2008/10/18 16:25:00 1.88
++++ src/ncurses-5.7/form/frm_driver.c 2008/12/06 23:08:12
+@@ -4366,6 +4366,7 @@
+ delwin(field->working);
+ field->working = newpad(field->drows, field->dcols);
+ }
++ len = Buffer_Length(field);
+ wclear(field->working);
+ mvwaddstr(field->working, 0, 0, value);