diff options
Diffstat (limited to 'PKGBUILD')
-rw-r--r-- | PKGBUILD | 70 |
1 files changed, 48 insertions, 22 deletions
@@ -2,41 +2,60 @@ # Contributor: Filip Brcic <brcha@gna.org> pkgname=mingw-w64-pdcurses -pkgver=3.6 +provides=(mingw-w64-curses) +pkgver=4.1.0 pkgrel=1 pkgdesc="Public Domain Curses wincon port (mingw-w64)" arch=('any') -url="https://github.com/wmcbrine/PDCurses" +url="https://www.projectpluto.com/win32a.htm" depends=('mingw-w64-crt') makedepends=('mingw-w64-gcc') options=(staticlibs !buildflags !strip) license=("public domain") -source=("https://github.com/wmcbrine/PDCurses/archive/${pkgver}.tar.gz" - "001-mingw-pdcurses-3.6-build.patch") -sha256sums=('1760cbf3c3f254798e3614efa40206f95fe5bb2ca68eb2be434265d995f078eb' - '98867a357e172cf18f9bd59fc8208f44ebba6e887f6b87522e32cda333cf416d') +source=(pdcurses-${pkgver}.tar.gz::"https://github.com/Bill-Gray/PDCurses/archive/v${pkgver}.tar.gz" + 001-mingw-pdcurses-4.1.0-build.patch + 002-fix-exports.patch) +sha256sums=('3421e2e84bdc8220dc6740b70aa9b0e30542064189efc8609e00de78ced75656' + '913b5aff09d0ab1a2197f66a98657927d85a0dc3577c2b5e69179148fb2b0242' + '246f93facdd2703f8b9d0bcd57e89688fd861d34a30facc60a48892b330b08bc') _architectures="i686-w64-mingw32 x86_64-w64-mingw32" prepare() { - cd "${srcdir}/PDCurses-${pkgver}/wincon" - patch -Np1 -i ${srcdir}/001-mingw-pdcurses-3.6-build.patch + cd "${srcdir}/PDCurses-${pkgver}" + patch -p1 -i ${srcdir}/001-mingw-pdcurses-4.1.0-build.patch + patch -p1 -i ${srcdir}/002-fix-exports.patch } build() { cd "${srcdir}/PDCurses-${pkgver}" - export CFLAGS="-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions --param=ssp-buffer-size=4" for _arch in ${_architectures}; do - cp -a wincon build-${_arch} && pushd build-${_arch} - make \ - CC=${_arch}-gcc \ - LINK=${_arch}-gcc \ - STRIP=${_arch}-strip \ - AR=${_arch}-ar \ - WIDE=Y \ - UTF8=Y \ - DLL=Y +# NOte that you should use something like -${_arch} +# to prevent building i686 compiled binaries from +# being compiled with x86_64 compiled binaries and +# vice-versa. That causes build failures - no surpise. + cp -rf wingui wingui-shared-${_arch} + pushd wingui-shared-${_arch} + make -f Makefile.mng \ + CC=${_arch}-gcc \ + LINK=${_arch}-gcc \ + STRIP=${_arch}-strip \ + AR=${_arch}-ar \ + WIDE=Y \ + UTF8=Y \ + DLL=Y popd + + cp -rf wingui wingui-static-${_arch} + pushd wingui-static-${_arch} + make -f Makefile.mng \ + CC=${_arch}-gcc \ + LINK=${_arch}-gcc \ + STRIP=${_arch}-strip \ + AR=${_arch}-ar \ + WIDE=Y \ + UTF8=Y + popd done } @@ -46,13 +65,20 @@ package() { mkdir -p ${pkgdir}/usr/${_arch}/{bin,include,lib} mkdir ${pkgdir}/usr/${_arch}/include/pdcurses - install build-${_arch}/*.exe ${pkgdir}/usr/${_arch}/bin/ - install build-${_arch}/pdcurses.dll ${pkgdir}/usr/${_arch}/bin/ - install build-${_arch}/pdcurses.a ${pkgdir}/usr/${_arch}/lib/libpdcurses.dll.a + install wingui-shared-${_arch}/*.exe ${pkgdir}/usr/${_arch}/bin/ + install wingui-shared-${_arch}/libpdcurses.dll ${pkgdir}/usr/${_arch}/bin/ + install wingui-shared-${_arch}/libpdcurses.dll.a ${pkgdir}/usr/${_arch}/lib/libpdcurses.dll.a + install wingui-shared-${_arch}/libpdcurses.dll.a ${pkgdir}/usr/${_arch}/lib/libcurses.dll.a + install wingui-shared-${_arch}/libpdcurses.dll.a ${pkgdir}/usr/${_arch}/lib/libpanel.dll.a + + install wingui-static-${_arch}/libpdcurses.a ${pkgdir}/usr/${_arch}/lib/libpdcurses.a + install wingui-static-${_arch}/libpdcurses.a ${pkgdir}/usr/${_arch}/lib/libcurses.a + install wingui-static-${_arch}/libpdcurses.a ${pkgdir}/usr/${_arch}/lib/libpanel.a echo '#include "pdcurses/curses.h"' > pdcurses.h + install -m 0644 curses.h panel.h term.h acs_defs.h ${pkgdir}/usr/${_arch}/include/pdcurses/ install -m 0644 pdcurses.h ${pkgdir}/usr/${_arch}/include/pdcurses.h - install -m 0644 curses.h panel.h term.h ${pkgdir}/usr/${_arch}/include/pdcurses/ + find "$pkgdir/usr/${_arch}" -name '*.exe' -exec ${_arch}-strip --strip-unneeded {} \; find "$pkgdir/usr/${_arch}" -name '*.dll' -exec ${_arch}-strip --strip-unneeded {} \; find "$pkgdir/usr/${_arch}" -name '*.a' -o -name '*.dll' | xargs ${_arch}-strip -g |