diff --git a/mingw-w64-ncurses/003-restore-static-builds-without-macro.patch b/mingw-w64-ncurses/003-restore-static-builds-without-macro.patch new file mode 100644 index 0000000000..13028941cc --- /dev/null +++ b/mingw-w64-ncurses/003-restore-static-builds-without-macro.patch @@ -0,0 +1,14 @@ +--- ncurses-6.3/include/ncurses_dll.h.in.orig 2021-12-11 13:47:24.101612300 +0100 ++++ ncurses-6.3/include/ncurses_dll.h.in 2021-12-11 13:47:24.572486300 +0100 +@@ -78,6 +78,11 @@ + #define NCURSES_EXPORT(type) NCURSES_IMPEXP type NCURSES_API + #define NCURSES_EXPORT_VAR(type) NCURSES_IMPEXP type + ++/* XXX: MSYS2 hack to keep static builds working by default ++ * https://github.com/msys2/MINGW-packages/issues/10312 ++ */ ++#define NCURSES_STATIC ++ + /* + * These symbols hide dllimport/dllexport, for compilers which care about it. + */ diff --git a/mingw-w64-ncurses/PKGBUILD b/mingw-w64-ncurses/PKGBUILD index fd90c86f2c..b8df4fdc8e 100644 --- a/mingw-w64-ncurses/PKGBUILD +++ b/mingw-w64-ncurses/PKGBUILD @@ -7,7 +7,7 @@ pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" #_date_rev=20211108 #kgver=${_base_ver}.${_date_rev} pkgver=6.3 -pkgrel=1 +pkgrel=3 pkgdesc="System V Release 4.0 curses emulation library (mingw-w64)" arch=('any') mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32' 'clangarm64') @@ -19,17 +19,28 @@ options=('staticlibs' 'strip') source=(#"${_realname}-${pkgver}.tar.gz"::"https://invisible-mirror.net/archives/ncurses/current/${_realname}-${_base_ver}.tgz" https://ftp.gnu.org/pub/gnu/ncurses/ncurses-${pkgver}.tar.gz{,.sig} 001-use-libsystre.patch - 002-ncurses-config-win-paths.patch) + 002-ncurses-config-win-paths.patch + 003-restore-static-builds-without-macro.patch + ncurses-6.3-pkgconfig.patch) sha256sums=('97fc51ac2b085d4cde31ef4d2c3122c21abc217e9090a43a30fc5ec21684e059' 'SKIP' 'd8fb37262372f3e5c9a553bdeff07c8b874bac6f3c416e2a372877cef0af1925' - '5367d8f49aff92884b9daa014502df13e1812f1b7ee1b3a3cb18139f10039408') + '5367d8f49aff92884b9daa014502df13e1812f1b7ee1b3a3cb18139f10039408' + '31854494f5a27cbe8d1f2c044c0857a86ae1bc847b916d02120b94517b3bb653' + 'b8544a607dfbeffaba2b087f03b57ed1fa81286afca25df65f61b04b5f3b3738') validpgpkeys=('19882D92DDA4C400C22C0D56CC2AF4472167BE03') prepare() { cd ${_realname}-${pkgver} patch -p1 -i ${srcdir}/001-use-libsystre.patch patch -p1 -i ${srcdir}/002-ncurses-config-win-paths.patch + + # https://github.com/msys2/MINGW-packages/issues/10312 + patch -p1 -i ${srcdir}/003-restore-static-builds-without-macro.patch + + # do not leak build-time LDFLAGS into the pkgconfig files: + # https://bugs.archlinux.org/task/68523 + patch -p1 -i ${srcdir}/ncurses-6.3-pkgconfig.patch } build() { diff --git a/mingw-w64-ncurses/ncurses-6.3-pkgconfig.patch b/mingw-w64-ncurses/ncurses-6.3-pkgconfig.patch new file mode 100644 index 0000000000..e3b5d4650d --- /dev/null +++ b/mingw-w64-ncurses/ncurses-6.3-pkgconfig.patch @@ -0,0 +1,24 @@ +diff -ruN a/misc/gen-pkgconfig.in b/misc/gen-pkgconfig.in +--- a/misc/gen-pkgconfig.in 2021-08-07 23:36:33.000000000 +0200 ++++ b/misc/gen-pkgconfig.in 2021-11-03 11:12:51.127160950 +0100 +@@ -83,7 +83,7 @@ + fi + + lib_flags= +-for opt in -L$libdir @EXTRA_PKG_LDFLAGS@ @LIBS@ ++for opt in -L$libdir @LIBS@ + do + case $opt in + -l*) # LIBS is handled specially below +diff -ruN a/misc/ncurses-config.in b/misc/ncurses-config.in +--- a/misc/ncurses-config.in 2021-08-07 23:36:14.000000000 +0200 ++++ b/misc/ncurses-config.in 2021-11-03 11:26:12.393533954 +0100 +@@ -101,7 +101,7 @@ + # There is no portable way to find the list of standard library directories. + # Require a POSIX shell anyway, to keep this simple. + lib_flags= +-for opt in -L$libdir @EXTRA_PKG_LDFLAGS@ $LIBS ++for opt in -L$libdir $LIBS + do + case $opt in + -specs*) # ignore linker specs-files which were used to build library