diff options
-rw-r--r-- | .SRCINFO | 14 | ||||
-rw-r--r-- | 001-mingw-pdcurses-3.6-build.patch | 42 | ||||
-rw-r--r-- | 001-mingw-pdcurses-4.1.0-build.patch | 70 | ||||
-rw-r--r-- | PKGBUILD | 70 |
4 files changed, 121 insertions, 75 deletions
@@ -1,19 +1,19 @@ pkgbase = mingw-w64-pdcurses pkgdesc = Public Domain Curses wincon port (mingw-w64) - pkgver = 3.6 + pkgver = 4.4.0 pkgrel = 1 - url = https://github.com/wmcbrine/PDCurses + url = https://www.projectpluto.com/win32a.htm arch = any license = public domain makedepends = mingw-w64-gcc depends = mingw-w64-crt + provides = mingw-w64-curses options = staticlibs options = !buildflags options = !strip - source = https://github.com/wmcbrine/PDCurses/archive/3.6.tar.gz - source = 001-mingw-pdcurses-3.6-build.patch - sha256sums = 1760cbf3c3f254798e3614efa40206f95fe5bb2ca68eb2be434265d995f078eb - sha256sums = 98867a357e172cf18f9bd59fc8208f44ebba6e887f6b87522e32cda333cf416d + source = pdcurses-4.4.0.tar.gz::https://github.com/Bill-Gray/PDCursesMod/archive/v4.4.0.tar.gz + source = 001-mingw-pdcurses-4.1.0-build.patch + sha256sums = a53bf776623decb9e4b2c2ffe43e52d83fe4455ffd20229b4ba36c92918f67dd + sha256sums = 7f2e9066dfa70a57249b4c4c898e6bdc22ed686f8bb92b05852dc04b3c4bef90 pkgname = mingw-w64-pdcurses - diff --git a/001-mingw-pdcurses-3.6-build.patch b/001-mingw-pdcurses-3.6-build.patch deleted file mode 100644 index cfc8d3220dbe..000000000000 --- a/001-mingw-pdcurses-3.6-build.patch +++ /dev/null @@ -1,42 +0,0 @@ -diff -Naur wincon/Makefile.orig wincon/Makefile ---- wincon/Makefile.orig 2018-02-13 14:46:44.000000000 +0100 -+++ wincon/Makefile 2018-04-05 18:21:09.162821700 +0200 -@@ -26,6 +26,9 @@ - PDCURSES_WIN_H = $(osdir)/pdcwin.h - - CC = gcc -+AR = ar -+STRIP = strip -+LINK = gcc - - ifeq ($(DEBUG),Y) - CFLAGS = -g -Wall -DPDCDEBUG -@@ -45,17 +48,15 @@ - CFLAGS += -DPDC_FORCE_UTF8 - endif - --LINK = gcc -- - ifeq ($(DLL),Y) - CFLAGS += -DPDC_DLL_BUILD -- LIBEXE = gcc -+ LIBEXE = $(CC) - LIBFLAGS = -Wl,--out-implib,pdcurses.a -shared -o - LIBCURSES = pdcurses.dll - LIBDEPS = $(LIBOBJS) $(PDCOBJS) - CLEAN = $(LIBCURSES) *.a - else -- LIBEXE = ar -+ LIBEXE = $(AR) - LIBFLAGS = rcv - LIBCURSES = pdcurses.a - LIBDEPS = $(LIBOBJS) $(PDCOBJS) -@@ -75,7 +76,7 @@ - - demos: $(DEMOS) - ifneq ($(DEBUG),Y) -- strip *.exe -+ $(STRIP) *.exe - endif - - $(LIBCURSES) : $(LIBDEPS) diff --git a/001-mingw-pdcurses-4.1.0-build.patch b/001-mingw-pdcurses-4.1.0-build.patch new file mode 100644 index 000000000000..696c96092ab7 --- /dev/null +++ b/001-mingw-pdcurses-4.1.0-build.patch @@ -0,0 +1,70 @@ +diff -Naur PDCursesMod-4.3.5.orig/wincon/Makefile PDCursesMod-4.3.5/wincon/Makefile +--- PDCursesMod-4.3.5.orig/wincon/Makefile 2022-11-29 07:10:34.152931789 -0500 ++++ PDCursesMod-4.3.5/wincon/Makefile 2022-11-29 07:15:02.644861393 -0500 +@@ -101,10 +101,11 @@ + DLLNAME = pdcurses + + ifeq ($(DLL),Y) ++ LIBARCHIVE = libpdcurses.dll.a + CFLAGS += -DPDC_DLL_BUILD + LIBEXE = $(CC) +- LIBFLAGS = -Wl,--out-implib,$(LIBNAME).a -shared -o +- LIBCURSES = $(DLLNAME).dll ++ LIBFLAGS = -Wl,--out-implib,$(LIBARCHIVE) -shared -o ++ LIBCURSES = libpdcurses.dll + LIBDEPS = $(LIBOBJS) $(PDCOBJS) + LIBSADDED = -lwinmm + EXELIBS = +@@ -116,7 +117,8 @@ + else + LIBFLAGS = rv + endif +- LIBCURSES = $(LIBNAME).a ++ LIBARCHIVE = libpdcurses.a ++ LIBCURSES = $(LIBARCHIVE) + LIBDEPS = $(LIBOBJS) $(PDCOBJS) + LIBSADDED = + EXELIBS = -lwinmm +@@ -142,7 +144,7 @@ + + $(LIBCURSES) : $(LIBDEPS) + $(LIBEXE) $(LIBFLAGS) $@ $? $(LIBSADDED) +- $(CP) $(LIBNAME).a panel.a ++ $(CP) $(LIBARCHIVE) libpanel.a + + $(LIBOBJS) $(PDCOBJS) : $(PDCURSES_HEADERS) + $(PDCOBJS) : $(PDCURSES_WIN_H) +diff -Naur PDCursesMod-4.3.5.orig/wingui/Makefile PDCursesMod-4.3.5/wingui/Makefile +--- PDCursesMod-4.3.5.orig/wingui/Makefile 2022-11-29 07:10:34.156265146 -0500 ++++ PDCursesMod-4.3.5/wingui/Makefile 2022-11-29 07:16:20.368757254 -0500 +@@ -99,8 +99,9 @@ + ifeq ($(DLL),Y) + CFLAGS += -DPDC_DLL_BUILD + LIBEXE = $(CC) +- LIBFLAGS = -Wl,--out-implib,$(LIBNAME).a -static-libgcc -shared -o +- LIBCURSES = $(DLLNAME).dll ++ LIBARCHIVE = libpdcurses.dll.a ++ LIBFLAGS = -Wl,--out-implib,$(LIBARCHIVE) -shared -o ++ LIBCURSES = libpdcurses.dll + LIBDEPS = $(LIBOBJS) $(PDCOBJS) + LIBSADDED = -lgdi32 -lcomdlg32 -lwinmm + EXELIBS = +@@ -112,7 +113,8 @@ + else + LIBFLAGS = rv + endif +- LIBCURSES = $(LIBNAME).a ++ LIBARCHIVE = libpdcurses.a ++ LIBCURSES = $(LIBARCHIVE) + LIBDEPS = $(LIBOBJS) $(PDCOBJS) + LIBSADDED = + EXELIBS = -lgdi32 -lcomdlg32 -lwinmm +@@ -138,7 +140,7 @@ + + $(LIBCURSES) : $(LIBDEPS) + $(LIBEXE) $(LIBFLAGS) $@ $? $(LIBSADDED) +- $(CP) $(LIBNAME).a panel.a ++ $(CP) $(LIBARCHIVE) libpanel.a + + $(LIBOBJS) $(PDCOBJS) : $(PDCURSES_HEADERS) + $(PDCOBJS) : $(PDCURSES_WIN_H) @@ -1,58 +1,76 @@ -# Maintainer: Andrew Sun <adsun701@gmail.com> -# Contributor: Filip Brcic <brcha@gna.org> +# Maintainer: Andrew Sun <adsun701 at gmail dot com> +# Contributor: Filip Brcic <brcha at gna dot org> pkgname=mingw-w64-pdcurses -pkgver=3.6 +provides=(mingw-w64-curses) +pkgver=4.4.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/PDCursesMod/archive/v${pkgver}.tar.gz" + 001-mingw-pdcurses-4.1.0-build.patch) +sha256sums=('a53bf776623decb9e4b2c2ffe43e52d83fe4455ffd20229b4ba36c92918f67dd' + '7f2e9066dfa70a57249b4c4c898e6bdc22ed686f8bb92b05852dc04b3c4bef90') _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}/PDCursesMod-${pkgver}" + patch -p1 -i ${srcdir}/001-mingw-pdcurses-4.1.0-build.patch } build() { - cd "${srcdir}/PDCurses-${pkgver}" - export CFLAGS="-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions --param=ssp-buffer-size=4" + cd "${srcdir}/PDCursesMod-${pkgver}" 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 + cp -rf wingui wingui-shared-${_arch} + pushd wingui-shared-${_arch} + make \ + 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 \ + CC=${_arch}-gcc \ + LINK=${_arch}-gcc \ + STRIP=${_arch}-strip \ + AR=${_arch}-ar \ + WIDE=Y \ + UTF8=Y + popd done } package() { - cd "${srcdir}/PDCurses-${pkgver}" + cd "${srcdir}/PDCursesMod-${pkgver}" for _arch in ${_architectures} ; do 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}/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 curspriv.h panel.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 |