diff --git a/PKGBUILD b/PKGBUILD index 761d46f..dfe8d08 100644 --- a/PKGBUILD +++ b/PKGBUILD @@ -4,24 +4,29 @@ _pkgbasename=ncurses pkgname=lib32-${_pkgbasename} pkgver=5.7 -pkgrel=5 +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) -md5sums=('cce05daf61a64501ef6cd8da1f727ec6') +source=(ftp://ftp.gnu.org/pub/gnu/${_pkgbasename}/${_pkgbasename}-${pkgver}.tar.gz + set_field_buffer.patch) +md5sums=('cce05daf61a64501ef6cd8da1f727ec6' + '04c8d6d95140a29d72c0eb685a2eeffd') build() { - cd ${srcdir}/ - mkdir ncurses{,w}-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 \ @@ -44,10 +49,10 @@ package() { 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 ; \ + 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 @@ -61,6 +66,7 @@ package() { # 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/set_field_buffer.patch b/set_field_buffer.patch new file mode 100644 index 0000000..a213204 --- /dev/null +++ b/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);