summarylogtreecommitdiffstats
path: root/PKGBUILD
diff options
context:
space:
mode:
Diffstat (limited to 'PKGBUILD')
-rw-r--r--PKGBUILD70
1 files changed, 48 insertions, 22 deletions
diff --git a/PKGBUILD b/PKGBUILD
index 9d18f50237d9..cedaf354f24b 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -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