summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO14
-rw-r--r--001-mingw-pdcurses-3.6-build.patch42
-rw-r--r--001-mingw-pdcurses-4.1.0-build.patch70
-rw-r--r--PKGBUILD70
4 files changed, 121 insertions, 75 deletions
diff --git a/.SRCINFO b/.SRCINFO
index d205b10c087b..cd9a5c8a146f 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -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)
diff --git a/PKGBUILD b/PKGBUILD
index 9d18f50237d9..3e92f3364b33 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -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