From f01bdc31865a2de8a5080a38edd1ddb12e319e2b Mon Sep 17 00:00:00 2001 From: Milton Woods Date: Thu, 16 Jun 2022 16:50:42 +1000 Subject: [PATCH 01/22] netcdf: Remove outdated patches --- mingw-w64-netcdf/0001-mingw-cmake.patch | 57 ------------------- .../0003-ncconfigure-strlcat-export.patch | 19 ------- mingw-w64-netcdf/0006-cvt-conversion.patch | 20 ------- mingw-w64-netcdf/0007-mingw-config.patch | 14 ----- mingw-w64-netcdf/0009-mingw-getopt.patch | 17 ------ 5 files changed, 127 deletions(-) delete mode 100644 mingw-w64-netcdf/0001-mingw-cmake.patch delete mode 100644 mingw-w64-netcdf/0003-ncconfigure-strlcat-export.patch delete mode 100644 mingw-w64-netcdf/0006-cvt-conversion.patch delete mode 100644 mingw-w64-netcdf/0007-mingw-config.patch delete mode 100644 mingw-w64-netcdf/0009-mingw-getopt.patch diff --git a/mingw-w64-netcdf/0001-mingw-cmake.patch b/mingw-w64-netcdf/0001-mingw-cmake.patch deleted file mode 100644 index c3913e12da..0000000000 --- a/mingw-w64-netcdf/0001-mingw-cmake.patch +++ /dev/null @@ -1,57 +0,0 @@ ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -166,7 +166,7 @@ - - # Set Memory test program for non-MSVC based builds. - # Assume valgrind for now. --IF(NOT MSVC) -+IF((NOT MSVC) AND (NOT MINGW)) - SET(CTEST_MEMORYCHECK_COMMAND valgrind CACHE STRING "") - ENDIF() - -@@ -255,10 +255,14 @@ - - ADD_DEFINITIONS() - -+# Add specific flags for environments that use the windows runtime (MSVC and MINGW) - # Suppress CRT Warnings. --# Only necessary for Windows --IF(MSVC) -+# specify tempfile -+# specify exceptions in sscanf -+IF(MSVC OR MINGW) - ADD_DEFINITIONS(-D_CRT_SECURE_NO_WARNINGS) -+ SET (HAVE_WIN_TEMP ON) -+ SET (HAVE_WIN_SSCANF ON) - ENDIF() - - ##### -@@ -278,7 +282,7 @@ - # Configuration for post-install RPath - # Adapted from http://www.cmake.org/Wiki/CMake_RPATH_handling - ## --IF(NOT MSVC AND BUILD_SHARED_LIBS) -+IF(NOT WIN32 AND BUILD_SHARED_LIBS) - # use, i.e. don't skip the full RPATH for the build tree - SET(CMAKE_SKIP_BUILD_RPATH FALSE) - -@@ -1083,7 +1087,7 @@ - SET(NC_CTEST_DROP_LOC_PREFIX "" CACHE STRING "Prefix for Dashboard location on remote server when using CTest-based testing.") - - FIND_PROGRAM(HOSTNAME_CMD NAMES hostname) -- IF(NOT MSVC) -+ IF(NOT WIN32) - SET(HOSTNAME_ARG "-s") - ENDIF() - IF(HOSTNAME_CMD) -@@ -1576,7 +1580,9 @@ - CHECK_FUNCTION_EXISTS(strndup HAVE_STRNDUP) - CHECK_FUNCTION_EXISTS(strtoll HAVE_STRTOLL) - CHECK_FUNCTION_EXISTS(strtoull HAVE_STRTOULL) --CHECK_FUNCTION_EXISTS(mkstemp HAVE_MKSTEMP) -+IF (NOT MINGW) -+ CHECK_FUNCTION_EXISTS(mkstemp HAVE_MKSTEMP) -+ENDIF(NOT MINGW) - CHECK_FUNCTION_EXISTS(mktemp HAVE_MKTEMP) - CHECK_FUNCTION_EXISTS(random HAVE_RANDOM) - CHECK_FUNCTION_EXISTS(gettimeofday HAVE_GETTIMEOFDAY) diff --git a/mingw-w64-netcdf/0003-ncconfigure-strlcat-export.patch b/mingw-w64-netcdf/0003-ncconfigure-strlcat-export.patch deleted file mode 100644 index 4abb6b246f..0000000000 --- a/mingw-w64-netcdf/0003-ncconfigure-strlcat-export.patch +++ /dev/null @@ -1,19 +0,0 @@ ---- netcdf-4.6.0/include/ncconfigure.h.orig 2018-03-05 20:39:39.189518100 +0100 -+++ netcdf-4.6.0/include/ncconfigure.h 2018-03-05 20:44:07.802389700 +0100 -@@ -47,7 +47,16 @@ - #endif - - #ifndef strlcat -+#if defined(DLL_NETCDF) -+# if defined(DLL_EXPORT) -+# define GTOPT_EXTRA __declspec(dllexport) -+# else -+# define GTOPT_EXTRA __declspec(dllimport) -+# endif -+GTOPT_EXTRA extern size_t strlcat(char* dst, const char* src, size_t dsize); -+#else - extern size_t strlcat(char*,const char*,size_t); -+#endif - #endif - - #ifndef snprintf diff --git a/mingw-w64-netcdf/0006-cvt-conversion.patch b/mingw-w64-netcdf/0006-cvt-conversion.patch deleted file mode 100644 index bc933d6f25..0000000000 --- a/mingw-w64-netcdf/0006-cvt-conversion.patch +++ /dev/null @@ -1,20 +0,0 @@ ---- netcdf-4.6.0/ncgen/cvt.c.orig 2018-03-13 21:50:55.762607800 +0100 -+++ netcdf-4.6.0/ncgen/cvt.c 2018-03-13 21:52:12.171941700 +0100 -@@ -18,7 +18,7 @@ - Constvalue tmp; - unsigned char* bytes = NULL; - size_t bytelen; --#ifdef _MSC_VER -+#ifdef HAVE_WIN_SSCANF - int byteval; - #endif - -@@ -411,7 +411,7 @@ - break; - - /* Conversion of a string to e.g. an integer should be what?*/ --#ifdef _MSC_VER -+#ifdef HAVE_WIN_SSCANF - case CASE(NC_STRING,NC_BYTE): - sscanf(src->value.stringv.stringv,"%d",&byteval); tmp.int8v = (char)byteval; break; - case CASE(NC_STRING,NC_UBYTE): diff --git a/mingw-w64-netcdf/0007-mingw-config.patch b/mingw-w64-netcdf/0007-mingw-config.patch deleted file mode 100644 index 471d686683..0000000000 --- a/mingw-w64-netcdf/0007-mingw-config.patch +++ /dev/null @@ -1,14 +0,0 @@ ---- a/config.h.cmake.in -+++ b/config.h.cmake.in -@@ -80,6 +80,11 @@ - #define strtoll _strtoi64 - #endif /*_MSC_VER */ - -+/* define flags needed when windows runtime is used (MINGW and MSVC) */ -+#cmakedefine MINGW -+#cmakedefine HAVE_WIN_TEMP -+#cmakedefine HAVE_WIN_SSCANF -+ - #cmakedefine const - - #ifndef _FILE_OFFSET_BITS diff --git a/mingw-w64-netcdf/0009-mingw-getopt.patch b/mingw-w64-netcdf/0009-mingw-getopt.patch deleted file mode 100644 index 0be38cbd67..0000000000 --- a/mingw-w64-netcdf/0009-mingw-getopt.patch +++ /dev/null @@ -1,17 +0,0 @@ ---- a/include/XGetopt.h -+++ b/include/XGetopt.h -@@ -20,6 +20,7 @@ - #include - #include - -+#if !defined(__GETOPT_H__) - #if 0 - #ifdef _MSC_VER - # ifdef DLL_EXPORT -@@ -36,5 +37,6 @@ - GTOPT_EXTRA extern int optind, opterr; - GTOPT_EXTRA extern TCHAR* optarg; - GTOPT_EXTRA extern int getopt(int argc, TCHAR *argv[], TCHAR *optstring); -+#endif - - #endif //XGETOPT_H From 91325563eb41c33a0cc3f5be6846df322d7079af Mon Sep 17 00:00:00 2001 From: Milton Woods Date: Thu, 16 Jun 2022 16:54:40 +1000 Subject: [PATCH 02/22] netcdf: also depends on zlib --- mingw-w64-netcdf/PKGBUILD | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/mingw-w64-netcdf/PKGBUILD b/mingw-w64-netcdf/PKGBUILD index 85e30ce95b..d008651f05 100644 --- a/mingw-w64-netcdf/PKGBUILD +++ b/mingw-w64-netcdf/PKGBUILD @@ -11,7 +11,8 @@ mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32') license=('custom') url="https://www.unidata.ucar.edu/software/netcdf/" depends=("${MINGW_PACKAGE_PREFIX}-curl" - "${MINGW_PACKAGE_PREFIX}-hdf5") + "${MINGW_PACKAGE_PREFIX}-hdf5" + "${MINGW_PACKAGE_PREFIX}-zlib") makedepends=("${MINGW_PACKAGE_PREFIX}-cmake" "${MINGW_PACKAGE_PREFIX}-cc") source=(${_realname}-${pkgver}.tar.gz::"https://github.com/Unidata/netcdf-c/archive/v${pkgver}.tar.gz" 0001-mingw-cmake.patch From ff7afc90e03bc89d78d68fa2f7361fd15df34b07 Mon Sep 17 00:00:00 2001 From: Milton Woods Date: Thu, 16 Jun 2022 17:00:34 +1000 Subject: [PATCH 03/22] netcdf: remove dependency on cmake --- mingw-w64-netcdf/PKGBUILD | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mingw-w64-netcdf/PKGBUILD b/mingw-w64-netcdf/PKGBUILD index d008651f05..355af90f19 100644 --- a/mingw-w64-netcdf/PKGBUILD +++ b/mingw-w64-netcdf/PKGBUILD @@ -13,7 +13,7 @@ url="https://www.unidata.ucar.edu/software/netcdf/" depends=("${MINGW_PACKAGE_PREFIX}-curl" "${MINGW_PACKAGE_PREFIX}-hdf5" "${MINGW_PACKAGE_PREFIX}-zlib") -makedepends=("${MINGW_PACKAGE_PREFIX}-cmake" "${MINGW_PACKAGE_PREFIX}-cc") +makedepends=("${MINGW_PACKAGE_PREFIX}-cc") source=(${_realname}-${pkgver}.tar.gz::"https://github.com/Unidata/netcdf-c/archive/v${pkgver}.tar.gz" 0001-mingw-cmake.patch 0003-ncconfigure-strlcat-export.patch From 7c82be9ac4bb8ba6b62b5e780c3f8764da39a5f3 Mon Sep 17 00:00:00 2001 From: Milton Woods Date: Thu, 16 Jun 2022 17:04:41 +1000 Subject: [PATCH 04/22] netcdf: update sources and sha256sum --- mingw-w64-netcdf/PKGBUILD | 14 ++------------ 1 file changed, 2 insertions(+), 12 deletions(-) diff --git a/mingw-w64-netcdf/PKGBUILD b/mingw-w64-netcdf/PKGBUILD index 355af90f19..d5c04a8723 100644 --- a/mingw-w64-netcdf/PKGBUILD +++ b/mingw-w64-netcdf/PKGBUILD @@ -14,18 +14,8 @@ depends=("${MINGW_PACKAGE_PREFIX}-curl" "${MINGW_PACKAGE_PREFIX}-hdf5" "${MINGW_PACKAGE_PREFIX}-zlib") makedepends=("${MINGW_PACKAGE_PREFIX}-cc") -source=(${_realname}-${pkgver}.tar.gz::"https://github.com/Unidata/netcdf-c/archive/v${pkgver}.tar.gz" - 0001-mingw-cmake.patch - 0003-ncconfigure-strlcat-export.patch - 0006-cvt-conversion.patch - 0007-mingw-config.patch - 0009-mingw-getopt.patch) -sha256sums=('bc018cc30d5da402622bf76462480664c6668b55eb16ba205a0dfb8647161dd0' - '298bfdad7fb9f3f8c17ebd1fec71d875c33f06e4f8a1e539d7cb0888ca71352d' - '0116525b0b513b91c22519c38d9010a4eff0a7319cc2a3d882b296389119b632' - 'f5f5291c2486e9e765a93975d99871cee584bdd3d64e16745982aadeb799f00c' - '3da38cb9beb1b075a407f698cb9ce5af14c67c1a9d1e75a70e73eec349d353c8' - '476b49818daf6e81d6a4102749c8484f7efc4f76ba6ca1fb53aedb17749579ea') +source=(${_realname}-${pkgver}.tar.gz::"https://github.com/Unidata/netcdf-c/archive/v${pkgver}.tar.gz") +sha256sums=('9f4cb864f3ab54adb75409984c6202323d2fc66c003e5308f3cdf224ed41c0a6') # Helper macros to help make tasks easier # apply_patch_with_msg() { From 2818d693c68831b8e6ac9fce3965e15dba51a08f Mon Sep 17 00:00:00 2001 From: Milton Woods Date: Thu, 16 Jun 2022 17:06:32 +1000 Subject: [PATCH 05/22] netcdf: no patches to apply --- mingw-w64-netcdf/PKGBUILD | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/mingw-w64-netcdf/PKGBUILD b/mingw-w64-netcdf/PKGBUILD index d5c04a8723..4bf9345744 100644 --- a/mingw-w64-netcdf/PKGBUILD +++ b/mingw-w64-netcdf/PKGBUILD @@ -29,12 +29,7 @@ apply_patch_with_msg() { prepare() { cd "${srcdir}/${_realname}-c-${pkgver}" - apply_patch_with_msg \ - 0001-mingw-cmake.patch \ - 0003-ncconfigure-strlcat-export.patch \ - 0006-cvt-conversion.patch \ - 0007-mingw-config.patch \ - 0009-mingw-getopt.patch +# apply_patch_with_msg *.patch } build() { From 12edeef5b6dcc59b044b8cae2ec8a9093fbf972b Mon Sep 17 00:00:00 2001 From: Milton Woods Date: Thu, 16 Jun 2022 17:09:30 +1000 Subject: [PATCH 06/22] netcdf: use configure instead of cmake --- mingw-w64-netcdf/PKGBUILD | 46 ++++++++++----------------------------- 1 file changed, 12 insertions(+), 34 deletions(-) diff --git a/mingw-w64-netcdf/PKGBUILD b/mingw-w64-netcdf/PKGBUILD index 4bf9345744..27f9f44ce9 100644 --- a/mingw-w64-netcdf/PKGBUILD +++ b/mingw-w64-netcdf/PKGBUILD @@ -33,42 +33,20 @@ prepare() { } build() { - [[ -d ${srcdir}/build-static-${MSYSTEM} ]] && rm -rf ${srcdir}/build-static-${MSYSTEM} - mkdir -p ${srcdir}/build-static-${MSYSTEM} && cd ${srcdir}/build-static-${MSYSTEM} + cd "${srcdir}/${_realname}-c-${pkgver}" - MSYS2_ARG_CONV_EXCL="-DCMAKE_INSTALL_PREFIX=" \ - cmake \ - -G "MSYS Makefiles" \ - -DCMAKE_INSTALL_PREFIX=${MINGW_PREFIX} \ - -DCMAKE_BUILD_TYPE=Release \ - -DBUILD_SHARED_LIBS=OFF \ - -DENABLE_DLL=OFF \ - -DBUILD_UTILITIES=OFF \ - -DENABLE_EXAMPLES=OFF \ - -DENABLE_TESTS=OFF \ - -DENABLE_DAP=ON \ - -DENABLE_NETCDF_4=ON \ - -Wno-dev \ - "${srcdir}/${_realname}-c-${pkgver}" - cmake --build . + ./configure \ + --prefix=${MINGW_PREFIX} \ + --enable-shared \ + --enable-static \ + --enable-hdf5 \ + --enable-dap \ + --disable-plugins \ + --disable-byterange \ + --disable-logging \ + --disable-dap-remote-tests - [[ -d ${srcdir}/build-shared-${MSYSTEM} ]] && rm -rf ${srcdir}/build-shared-${MSYSTEM} - mkdir -p ${srcdir}/build-shared-${MSYSTEM} && cd ${srcdir}/build-shared-${MSYSTEM} - - MSYS2_ARG_CONV_EXCL="-DCMAKE_INSTALL_PREFIX=" \ - cmake \ - -G "MSYS Makefiles" \ - -DCMAKE_INSTALL_PREFIX=${MINGW_PREFIX} \ - -DCMAKE_BUILD_TYPE=Release \ - -DBUILD_SHARED_LIBS=ON \ - -DENABLE_EXAMPLES=OFF \ - -DENABLE_TESTS=OFF \ - -DENABLE_DAP=ON \ - -DENABLE_NETCDF_4=ON \ - -DENABLE_LOGGING=ON \ - -Wno-dev \ - "${srcdir}/${_realname}-c-${pkgver}" - cmake --build . + make ${MAKEFLAGS} } package() { From bf9e0b5dfeb8e9ded032fd7579b476c0042dd199 Mon Sep 17 00:00:00 2001 From: Milton Woods Date: Thu, 16 Jun 2022 17:14:32 +1000 Subject: [PATCH 07/22] netcdf: install with make instead of cmake --- mingw-w64-netcdf/PKGBUILD | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/mingw-w64-netcdf/PKGBUILD b/mingw-w64-netcdf/PKGBUILD index 27f9f44ce9..38d6808a1c 100644 --- a/mingw-w64-netcdf/PKGBUILD +++ b/mingw-w64-netcdf/PKGBUILD @@ -50,9 +50,8 @@ build() { } package() { - DESTDIR=${pkgdir} cmake --install build-static-${MSYSTEM} - - DESTDIR=${pkgdir} cmake --install build-shared-${MSYSTEM} + cd "${srcdir}/${_realname}-c-${pkgver}" + make DESTDIR=${pkgdir} install install -Dm644 ${srcdir}/${_realname}-c-${pkgver}/COPYRIGHT \ ${pkgdir}${MINGW_PREFIX}/share/licenses/${_realname}/COPYRIGHT From 3d68b6d762607a6de56a9a02b0f62ded806828cf Mon Sep 17 00:00:00 2001 From: Milton Woods Date: Thu, 16 Jun 2022 17:16:38 +1000 Subject: [PATCH 08/22] netcdf: only libnetcdf.settings contains srcdir --- mingw-w64-netcdf/PKGBUILD | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) diff --git a/mingw-w64-netcdf/PKGBUILD b/mingw-w64-netcdf/PKGBUILD index 38d6808a1c..a1620d8cbf 100644 --- a/mingw-w64-netcdf/PKGBUILD +++ b/mingw-w64-netcdf/PKGBUILD @@ -56,15 +56,5 @@ package() { install -Dm644 ${srcdir}/${_realname}-c-${pkgver}/COPYRIGHT \ ${pkgdir}${MINGW_PREFIX}/share/licenses/${_realname}/COPYRIGHT - local PREFIX_WIN=$(cygpath -wm ${MINGW_PREFIX}) - for _f in "${pkgdir}${MINGW_PREFIX}"/lib/cmake/netCDF/*.cmake; do - sed -e "s|${PREFIX_WIN}|\$\{_IMPORT_PREFIX\}|g" -i ${_f} - done - - for pcfile in "${pkgdir}${MINGW_PREFIX}"/lib/pkgconfig/*.pc; do - sed -s "s|${PREFIX_WIN}|${MINGW_PREFIX}|g" -i "${pcfile}" - done - - sed -s "s|${PREFIX_WIN}|${MINGW_PREFIX}|g" -i "${pkgdir}${MINGW_PREFIX}/bin/nc-config" - sed -s "s|${PREFIX_WIN}|${MINGW_PREFIX}|g" -i "${pkgdir}${MINGW_PREFIX}/lib/libnetcdf.settings" + sed -e "s|${srcdir}|.|" -i "${pkgdir}${MINGW_PREFIX}/lib/libnetcdf.settings" } From 59fbca7df1186b3817614e1214cc1dc02907400f Mon Sep 17 00:00:00 2001 From: Milton Woods Date: Thu, 16 Jun 2022 17:17:39 +1000 Subject: [PATCH 09/22] netcdf: run tests to detect build errors --- mingw-w64-netcdf/PKGBUILD | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/mingw-w64-netcdf/PKGBUILD b/mingw-w64-netcdf/PKGBUILD index a1620d8cbf..d6f4b50d41 100644 --- a/mingw-w64-netcdf/PKGBUILD +++ b/mingw-w64-netcdf/PKGBUILD @@ -49,6 +49,11 @@ build() { make ${MAKEFLAGS} } +check() { + cd "${srcdir}/${_realname}-c-${pkgver}" + make check ${MAKEFLAGS} +} + package() { cd "${srcdir}/${_realname}-c-${pkgver}" make DESTDIR=${pkgdir} install From 76c4191ec608c4ecc5adadcffa2f7f47aae851c9 Mon Sep 17 00:00:00 2001 From: Milton Woods Date: Thu, 16 Jun 2022 17:18:34 +1000 Subject: [PATCH 10/22] netcdf: tests depend on unzip --- mingw-w64-netcdf/PKGBUILD | 1 + 1 file changed, 1 insertion(+) diff --git a/mingw-w64-netcdf/PKGBUILD b/mingw-w64-netcdf/PKGBUILD index d6f4b50d41..acb0ecff8c 100644 --- a/mingw-w64-netcdf/PKGBUILD +++ b/mingw-w64-netcdf/PKGBUILD @@ -14,6 +14,7 @@ depends=("${MINGW_PACKAGE_PREFIX}-curl" "${MINGW_PACKAGE_PREFIX}-hdf5" "${MINGW_PACKAGE_PREFIX}-zlib") makedepends=("${MINGW_PACKAGE_PREFIX}-cc") +checkdepends=("unzip") source=(${_realname}-${pkgver}.tar.gz::"https://github.com/Unidata/netcdf-c/archive/v${pkgver}.tar.gz") sha256sums=('9f4cb864f3ab54adb75409984c6202323d2fc66c003e5308f3cdf224ed41c0a6') From 3ed26288caca8f683b684f7e7dec90a87a0126e1 Mon Sep 17 00:00:00 2001 From: Milton Woods Date: Thu, 16 Jun 2022 17:21:19 +1000 Subject: [PATCH 11/22] netcdf: update package version --- mingw-w64-netcdf/PKGBUILD | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mingw-w64-netcdf/PKGBUILD b/mingw-w64-netcdf/PKGBUILD index acb0ecff8c..59c90c1a6e 100644 --- a/mingw-w64-netcdf/PKGBUILD +++ b/mingw-w64-netcdf/PKGBUILD @@ -3,8 +3,8 @@ _realname=netcdf pkgbase=mingw-w64-${_realname} pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" -pkgver=4.8.1 -pkgrel=4 +pkgver=4.9.0 +pkgrel=1 pkgdesc="Interface for scientific data access to large binary data (mingw-w64)" arch=('any') mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32') From 6493e5934da0e0012d75c224caab47db26f69eaf Mon Sep 17 00:00:00 2001 From: Milton Woods Date: Fri, 17 Jun 2022 15:06:50 +1000 Subject: [PATCH 12/22] netcdf: dll link requires --export-all-symbols --- mingw-w64-netcdf/PKGBUILD | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/mingw-w64-netcdf/PKGBUILD b/mingw-w64-netcdf/PKGBUILD index 59c90c1a6e..06e3fe0860 100644 --- a/mingw-w64-netcdf/PKGBUILD +++ b/mingw-w64-netcdf/PKGBUILD @@ -45,7 +45,8 @@ build() { --disable-plugins \ --disable-byterange \ --disable-logging \ - --disable-dap-remote-tests + --disable-dap-remote-tests \ + LDFLAGS=-Wl,--export-all-symbols make ${MAKEFLAGS} } From e3ef5219df28c78114c92ca875d67021da1fbd88 Mon Sep 17 00:00:00 2001 From: Milton Woods Date: Sat, 18 Jun 2022 13:54:48 +1000 Subject: [PATCH 13/22] netcdf: autoreconf needed to get netcdf dll on clang32/64 --- mingw-w64-netcdf/PKGBUILD | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/mingw-w64-netcdf/PKGBUILD b/mingw-w64-netcdf/PKGBUILD index 06e3fe0860..ba5859f8b4 100644 --- a/mingw-w64-netcdf/PKGBUILD +++ b/mingw-w64-netcdf/PKGBUILD @@ -13,7 +13,10 @@ url="https://www.unidata.ucar.edu/software/netcdf/" depends=("${MINGW_PACKAGE_PREFIX}-curl" "${MINGW_PACKAGE_PREFIX}-hdf5" "${MINGW_PACKAGE_PREFIX}-zlib") -makedepends=("${MINGW_PACKAGE_PREFIX}-cc") +makedepends=("${MINGW_PACKAGE_PREFIX}-cc" + autoconf + automake + libtool) checkdepends=("unzip") source=(${_realname}-${pkgver}.tar.gz::"https://github.com/Unidata/netcdf-c/archive/v${pkgver}.tar.gz") sha256sums=('9f4cb864f3ab54adb75409984c6202323d2fc66c003e5308f3cdf224ed41c0a6') @@ -31,6 +34,8 @@ prepare() { cd "${srcdir}/${_realname}-c-${pkgver}" # apply_patch_with_msg *.patch + + autoreconf -if } build() { From 9a5fb0dd08c42373a0b477c4463311d0c6200877 Mon Sep 17 00:00:00 2001 From: Christoph Reiter Date: Sun, 19 Jun 2022 14:27:47 +0200 Subject: [PATCH 14/22] netcdf rebuilds --- mingw-w64-eccodes/PKGBUILD | 2 +- mingw-w64-gdal/PKGBUILD | 2 +- mingw-w64-libexodus/PKGBUILD | 2 +- mingw-w64-seacas/PKGBUILD | 2 +- mingw-w64-vtk/PKGBUILD | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/mingw-w64-eccodes/PKGBUILD b/mingw-w64-eccodes/PKGBUILD index 2ac42521b9..60fa72a608 100644 --- a/mingw-w64-eccodes/PKGBUILD +++ b/mingw-w64-eccodes/PKGBUILD @@ -4,7 +4,7 @@ _realname=eccodes pkgbase=mingw-w64-${_realname} pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" pkgver=2.19.1 -pkgrel=2 +pkgrel=3 arch=('any') mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32') pkgdesc="ECMWF's GRIB and BUFR encoding/decoding library (mingw-w64)" diff --git a/mingw-w64-gdal/PKGBUILD b/mingw-w64-gdal/PKGBUILD index 46f795be14..b8f16569bb 100644 --- a/mingw-w64-gdal/PKGBUILD +++ b/mingw-w64-gdal/PKGBUILD @@ -8,7 +8,7 @@ _realname=gdal pkgbase=mingw-w64-${_realname} pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" pkgver=3.3.3 -pkgrel=5 +pkgrel=6 pkgdesc="A translator library for raster geospatial data formats (mingw-w64)" arch=('any') mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32') diff --git a/mingw-w64-libexodus/PKGBUILD b/mingw-w64-libexodus/PKGBUILD index fa19548fed..eb0144a14f 100644 --- a/mingw-w64-libexodus/PKGBUILD +++ b/mingw-w64-libexodus/PKGBUILD @@ -6,7 +6,7 @@ _releases=2021-05-12 pkgbase=mingw-w64-${_realname} pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}") pkgver=8.11 -pkgrel=2 +pkgrel=3 pkgdesc="EXODUS is a model developed to store and retrieve data for finite element analyses (mingw-w64)" arch=('any') mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64') diff --git a/mingw-w64-seacas/PKGBUILD b/mingw-w64-seacas/PKGBUILD index 30bb10cac2..20df44fa3d 100644 --- a/mingw-w64-seacas/PKGBUILD +++ b/mingw-w64-seacas/PKGBUILD @@ -5,7 +5,7 @@ _releases=2022-05-16 pkgbase=mingw-w64-${_realname} pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}") pkgver=${_releases//-/.} -pkgrel=1 +pkgrel=2 pkgdesc="The Sandia Engineering Analysis Code Access System (mingw-w64)" arch=('any') mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32') diff --git a/mingw-w64-vtk/PKGBUILD b/mingw-w64-vtk/PKGBUILD index 0e059e19b4..529e2c847d 100644 --- a/mingw-w64-vtk/PKGBUILD +++ b/mingw-w64-vtk/PKGBUILD @@ -5,7 +5,7 @@ _realname=vtk pkgbase="mingw-w64-${_realname}" pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" pkgver=8.2.0 -pkgrel=12 +pkgrel=13 pkgdesc="A software system for 3D computer graphics, image processing and visualization (mingw-w64)" arch=('any') mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32') From 0c901df02535fa464bdf406976547f072778c52a Mon Sep 17 00:00:00 2001 From: Christoph Reiter Date: Sun, 19 Jun 2022 18:07:07 +0200 Subject: [PATCH 15/22] libexodus: rebuild --- mingw-w64-libexodus/PKGBUILD | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mingw-w64-libexodus/PKGBUILD b/mingw-w64-libexodus/PKGBUILD index 7c161a67b2..ea778784dc 100644 --- a/mingw-w64-libexodus/PKGBUILD +++ b/mingw-w64-libexodus/PKGBUILD @@ -6,7 +6,7 @@ _releases=2021-05-12 pkgbase=mingw-w64-${_realname} pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}") pkgver=8.11 -pkgrel=3 +pkgrel=4 pkgdesc="EXODUS is a model developed to store and retrieve data for finite element analyses (mingw-w64)" arch=('any') mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64') From 7d303d7d3ba70c85cdfd80ec3ee3b9803a1b96f8 Mon Sep 17 00:00:00 2001 From: Milton Woods Date: Mon, 20 Jun 2022 13:38:59 +1000 Subject: [PATCH 16/22] netcdf: revert from autotools to cmake --- mingw-w64-netcdf/PKGBUILD | 64 +++++++++++++++++++++++++-------------- 1 file changed, 41 insertions(+), 23 deletions(-) diff --git a/mingw-w64-netcdf/PKGBUILD b/mingw-w64-netcdf/PKGBUILD index ba5859f8b4..344ba9895e 100644 --- a/mingw-w64-netcdf/PKGBUILD +++ b/mingw-w64-netcdf/PKGBUILD @@ -14,9 +14,7 @@ depends=("${MINGW_PACKAGE_PREFIX}-curl" "${MINGW_PACKAGE_PREFIX}-hdf5" "${MINGW_PACKAGE_PREFIX}-zlib") makedepends=("${MINGW_PACKAGE_PREFIX}-cc" - autoconf - automake - libtool) + "${MINGW_PACKAGE_PREFIX}-cmake") checkdepends=("unzip") source=(${_realname}-${pkgver}.tar.gz::"https://github.com/Unidata/netcdf-c/archive/v${pkgver}.tar.gz") sha256sums=('9f4cb864f3ab54adb75409984c6202323d2fc66c003e5308f3cdf224ed41c0a6') @@ -33,37 +31,57 @@ apply_patch_with_msg() { prepare() { cd "${srcdir}/${_realname}-c-${pkgver}" -# apply_patch_with_msg *.patch - - autoreconf -if + #apply_patch_with_msg *.patch } build() { - cd "${srcdir}/${_realname}-c-${pkgver}" + [[ -d ${srcdir}/build-static-${MSYSTEM} ]] && rm -rf ${srcdir}/build-static-${MSYSTEM} + mkdir -p ${srcdir}/build-static-${MSYSTEM} && cd ${srcdir}/build-static-${MSYSTEM} - ./configure \ - --prefix=${MINGW_PREFIX} \ - --enable-shared \ - --enable-static \ - --enable-hdf5 \ - --enable-dap \ - --disable-plugins \ - --disable-byterange \ - --disable-logging \ - --disable-dap-remote-tests \ - LDFLAGS=-Wl,--export-all-symbols + MSYS2_ARG_CONV_EXCL="-DCMAKE_INSTALL_PREFIX=" \ + cmake \ + -G "MSYS Makefiles" \ + -DCMAKE_INSTALL_PREFIX=${MINGW_PREFIX} \ + -DCMAKE_BUILD_TYPE=Release \ + -DBUILD_SHARED_LIBS=OFF \ + -DENABLE_DLL=OFF \ + -DENABLE_TESTS=ON \ + -DENABLE_DAP_REMOTE_TESTS=OFF \ + -DENABLE_DAP=ON \ + -DENABLE_NETCDF_4=ON \ + -Wno-dev \ + "${srcdir}/${_realname}-c-${pkgver}" + cmake --build . - make ${MAKEFLAGS} + [[ -d ${srcdir}/build-shared-${MSYSTEM} ]] && rm -rf ${srcdir}/build-shared-${MSYSTEM} + mkdir -p ${srcdir}/build-shared-${MSYSTEM} && cd ${srcdir}/build-shared-${MSYSTEM} + + MSYS2_ARG_CONV_EXCL="-DCMAKE_INSTALL_PREFIX=" \ + cmake \ + -G "MSYS Makefiles" \ + -DCMAKE_INSTALL_PREFIX=${MINGW_PREFIX} \ + -DCMAKE_BUILD_TYPE=Release \ + -DBUILD_SHARED_LIBS=ON \ + -DENABLE_EXAMPLES=OFF \ + -DENABLE_TESTS=OFF \ + -DENABLE_DAP_REMOTE_TESTS=OFF \ + -DENABLE_DAP=ON \ + -DENABLE_NETCDF_4=ON \ + -DENABLE_LOGGING=ON \ + -Wno-dev \ + "${srcdir}/${_realname}-c-${pkgver}" + cmake --build . } check() { - cd "${srcdir}/${_realname}-c-${pkgver}" - make check ${MAKEFLAGS} + cd "${srcdir}/build-static-${MSYSTEM}" + ctest } package() { - cd "${srcdir}/${_realname}-c-${pkgver}" - make DESTDIR=${pkgdir} install + DESTDIR=${pkgdir} cmake --install build-static-${MSYSTEM} + + DESTDIR=${pkgdir} cmake --install build-shared-${MSYSTEM} install -Dm644 ${srcdir}/${_realname}-c-${pkgver}/COPYRIGHT \ ${pkgdir}${MINGW_PREFIX}/share/licenses/${_realname}/COPYRIGHT From dd6725fe9d6b3c6bef215966ce12a1efdac515fd Mon Sep 17 00:00:00 2001 From: Milton Woods Date: Mon, 20 Jun 2022 13:40:00 +1000 Subject: [PATCH 17/22] netcdf: remove srcdir references from mingw package --- mingw-w64-netcdf/PKGBUILD | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/mingw-w64-netcdf/PKGBUILD b/mingw-w64-netcdf/PKGBUILD index 344ba9895e..e729404b33 100644 --- a/mingw-w64-netcdf/PKGBUILD +++ b/mingw-w64-netcdf/PKGBUILD @@ -86,5 +86,19 @@ package() { install -Dm644 ${srcdir}/${_realname}-c-${pkgver}/COPYRIGHT \ ${pkgdir}${MINGW_PREFIX}/share/licenses/${_realname}/COPYRIGHT - sed -e "s|${srcdir}|.|" -i "${pkgdir}${MINGW_PREFIX}/lib/libnetcdf.settings" + local PREFIX_WIN=$(cygpath -wm ${MINGW_PREFIX}) + for _f in "${pkgdir}${MINGW_PREFIX}"/lib/cmake/netCDF/*.cmake; do + sed -e "s|${PREFIX_WIN}|\$\{_IMPORT_PREFIX\}|g" -i ${_f} + done + + local SRCDIR_WIN=$(cygpath -wm "${srcdir}") + for file in \ + "${pkgdir}${MINGW_PREFIX}"/lib/pkgconfig/*.pc \ + "${pkgdir}${MINGW_PREFIX}/bin/nc-config" \ + "${pkgdir}${MINGW_PREFIX}/lib/libnetcdf.settings" \ + "${pkgdir}${MINGW_PREFIX}/lib/cmake/netCDF/netCDFConfig.cmake" \ + ; do + sed -i -e "s|${PREFIX_WIN}|${MINGW_PREFIX}|g" \ + -e "s|${SRCDIR_WIN}|\$\{_SRCDIR\}|g" "$file" + done } From 861c7827a7d7e2c81cea0ef08e97bce5689abf27 Mon Sep 17 00:00:00 2001 From: Milton Woods Date: Mon, 20 Jun 2022 18:37:49 +1000 Subject: [PATCH 18/22] netcdf: update release number after switch to cmake --- mingw-w64-netcdf/PKGBUILD | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mingw-w64-netcdf/PKGBUILD b/mingw-w64-netcdf/PKGBUILD index e729404b33..60b476d477 100644 --- a/mingw-w64-netcdf/PKGBUILD +++ b/mingw-w64-netcdf/PKGBUILD @@ -4,7 +4,7 @@ _realname=netcdf pkgbase=mingw-w64-${_realname} pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" pkgver=4.9.0 -pkgrel=1 +pkgrel=2 pkgdesc="Interface for scientific data access to large binary data (mingw-w64)" arch=('any') mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32') From 0f90d65c8dda964591eef656770950c73dc93d11 Mon Sep 17 00:00:00 2001 From: Milton Woods Date: Tue, 21 Jun 2022 10:11:26 +1000 Subject: [PATCH 19/22] libexodus: patch for netcdf-4.9.0 --- mingw-w64-libexodus/PKGBUILD | 7 +++++-- mingw-w64-libexodus/netcdf-4.9.0-fix.patch | 17 +++++++++++++++++ 2 files changed, 22 insertions(+), 2 deletions(-) create mode 100644 mingw-w64-libexodus/netcdf-4.9.0-fix.patch diff --git a/mingw-w64-libexodus/PKGBUILD b/mingw-w64-libexodus/PKGBUILD index ea778784dc..94994d6ce8 100644 --- a/mingw-w64-libexodus/PKGBUILD +++ b/mingw-w64-libexodus/PKGBUILD @@ -22,9 +22,11 @@ makedepends=("unzip" url="https://gsjaardema.github.io/seacas/" license=('BSD') source=("https://github.com/gsjaardema/seacas/archive/v${_releases}.zip" - "cmake-fix.patch") + "cmake-fix.patch" + "netcdf-4.9.0-fix.patch") sha256sums=('818f9eff35a4fae682cf3b81897d49736c332cb3549ae2b2fc22678b21ee06ee' - '5248fe9045d203770eb18510b4746c47e10d269db691adc98f43aa419c2b9aa4') + '5248fe9045d203770eb18510b4746c47e10d269db691adc98f43aa419c2b9aa4' + 'c88343e7c943fdd1e8f1d0969b8a3b61b02cbdae936884f66ea97352e0a3219b') noextract=("v${_releases}.zip") # bsdtar could not unpack this archive prepare() { @@ -34,6 +36,7 @@ prepare() { sed -i 's:-pedantic:/:g' cmake-exodus patch -Np1 -i "${srcdir}/cmake-fix.patch" + patch -Np1 -i "${srcdir}/netcdf-4.9.0-fix.patch" } build() { diff --git a/mingw-w64-libexodus/netcdf-4.9.0-fix.patch b/mingw-w64-libexodus/netcdf-4.9.0-fix.patch new file mode 100644 index 0000000000..e5ca90531f --- /dev/null +++ b/mingw-w64-libexodus/netcdf-4.9.0-fix.patch @@ -0,0 +1,17 @@ +--- seacas-2021-05-12/packages/seacas/libraries/exodus/src/ex_utils.c ++++ seacas-2021-05-12/packages/seacas/libraries/exodus/src/ex_utils.c +@@ -1741,8 +1741,12 @@ void ex__compress_variable(int exoid, int varid, int type) + for details on SZIP library and parameters. + */ + +- /* const int NC_SZIP_EC = 4; */ /* Selects entropy coding method for szip. */ +- const int NC_SZIP_NN = 32; /* Selects nearest neighbor coding method for szip. */ ++#if !defined(NC_SZIP_EC) ++ const int NC_SZIP_EC = 4; /* Selects entropy coding method for szip. */ ++#endif ++#if !defined(NC_SZIP_NN) ++ const int NC_SZIP_NN = 32; /* Selects nearest neighbor coding method for szip. */ ++#endif + /* Even and between 4 and 32; typical values are 8, 10, 16, 32 */ + const int SZIP_PIXELS_PER_BLOCK = + file->compression_level == 0 ? 32 : file->compression_level; From b5afc340ae09149f033dc39ecaa018757c2490ac Mon Sep 17 00:00:00 2001 From: Milton Woods Date: Tue, 21 Jun 2022 15:42:06 +1000 Subject: [PATCH 20/22] seacas: patch for netcdf-4.9.0 --- mingw-w64-seacas/0002-cmake-findHDF5.patch | 11 +++++++++++ .../0003-libexodus-netcdf-4.9.0.patch | 17 +++++++++++++++++ mingw-w64-seacas/PKGBUILD | 10 ++++++++-- 3 files changed, 36 insertions(+), 2 deletions(-) create mode 100644 mingw-w64-seacas/0002-cmake-findHDF5.patch create mode 100644 mingw-w64-seacas/0003-libexodus-netcdf-4.9.0.patch diff --git a/mingw-w64-seacas/0002-cmake-findHDF5.patch b/mingw-w64-seacas/0002-cmake-findHDF5.patch new file mode 100644 index 0000000000..0cf314f33e --- /dev/null +++ b/mingw-w64-seacas/0002-cmake-findHDF5.patch @@ -0,0 +1,11 @@ +--- a/cmake/tribits/common_tpls/find_modules/FindHDF5.cmake ++++ b/cmake/tribits/common_tpls/find_modules/FindHDF5.cmake +@@ -258,7 +258,7 @@ + endforeach() + + # Now match all the -I flags +- if (${_cflags}) ++ if (_cflags) + string(REGEX MATCHALL "-I([^\" ]+|\"[^\"]+\")" _inc_path_flags ${_cflags}) + + # Loop through each diff --git a/mingw-w64-seacas/0003-libexodus-netcdf-4.9.0.patch b/mingw-w64-seacas/0003-libexodus-netcdf-4.9.0.patch new file mode 100644 index 0000000000..6fca34fcbe --- /dev/null +++ b/mingw-w64-seacas/0003-libexodus-netcdf-4.9.0.patch @@ -0,0 +1,17 @@ +--- a/packages/seacas/libraries/exodus/src/ex_utils.c ++++ b/packages/seacas/libraries/exodus/src/ex_utils.c +@@ -1741,8 +1741,12 @@ void ex__compress_variable(int exoid, int varid, int type) + for details on SZIP library and parameters. + */ + +- /* const int NC_SZIP_EC = 4; */ /* Selects entropy coding method for szip. */ +- const int NC_SZIP_NN = 32; /* Selects nearest neighbor coding method for szip. */ ++#if !defined(NC_SZIP_EC) ++ const int NC_SZIP_EC = 4; /* Selects entropy coding method for szip. */ ++#endif ++#if !defined(NC_SZIP_NN) ++ const int NC_SZIP_NN = 32; /* Selects nearest neighbor coding method for szip. */ ++#endif + /* Even and between 4 and 32; typical values are 8, 10, 16, 32 */ + const int SZIP_PIXELS_PER_BLOCK = + file->compression_level == 0 ? 32 : file->compression_level; diff --git a/mingw-w64-seacas/PKGBUILD b/mingw-w64-seacas/PKGBUILD index 20df44fa3d..6e905c6afb 100644 --- a/mingw-w64-seacas/PKGBUILD +++ b/mingw-w64-seacas/PKGBUILD @@ -24,9 +24,13 @@ makedepends=("unzip" url="https://gsjaardema.github.io/seacas/" license=('BSD') source=("https://github.com/gsjaardema/seacas/archive/refs/tags/v${_releases}.zip" - "0001-cmake-add-libs.patch") + "0001-cmake-add-libs.patch" + "0002-cmake-findHDF5.patch" + "0003-libexodus-netcdf-4.9.0.patch") sha256sums=('80F6B0DEE91766AB207A366B8EEA546CC1AFA33CEA24DEEBAA6583F283D80FAB' - 'a3561756bfdeb942fc62add0aefa542b0e689b76a7f0d2d357e299465ee344d2') + 'a3561756bfdeb942fc62add0aefa542b0e689b76a7f0d2d357e299465ee344d2' + '09c4406d57c5ca18b0d2f16161dd6f5e2c5d56f0f73e83bd77272d876569d5cc' + 'd893283361b88984b40b5ada4f2756c989e3f20e16e3fe9535c9cd31216be074') noextract=("v${_releases}.zip") # bsdtar could not unpack this archive prepare() { @@ -35,6 +39,8 @@ prepare() { cd "${srcdir}/seacas-${_releases}" patch -p1 -i "${srcdir}/0001-cmake-add-libs.patch" + patch -p1 -i "${srcdir}/0002-cmake-findHDF5.patch" + patch -p1 -i "${srcdir}/0003-libexodus-netcdf-4.9.0.patch" } build() { From 0f7bd1a068f6887f7c6d30a9c750e545d77c2c26 Mon Sep 17 00:00:00 2001 From: Milton Woods Date: Tue, 21 Jun 2022 15:55:23 +1000 Subject: [PATCH 21/22] libexodus: record origin of patch for netcdf-4.9.0 --- mingw-w64-libexodus/PKGBUILD | 2 ++ 1 file changed, 2 insertions(+) diff --git a/mingw-w64-libexodus/PKGBUILD b/mingw-w64-libexodus/PKGBUILD index 94994d6ce8..5278d5df4c 100644 --- a/mingw-w64-libexodus/PKGBUILD +++ b/mingw-w64-libexodus/PKGBUILD @@ -36,6 +36,8 @@ prepare() { sed -i 's:-pedantic:/:g' cmake-exodus patch -Np1 -i "${srcdir}/cmake-fix.patch" + # Patch for netcdf-4.9.0 based on + # https://github.com/sandialabs/seacas/commit/5e1b19181110c52b76d13e3f60da2c8cf678c941: patch -Np1 -i "${srcdir}/netcdf-4.9.0-fix.patch" } From f71cd385fd7dbe0226b1542c95faf4c0dc27d87a Mon Sep 17 00:00:00 2001 From: Milton Woods Date: Tue, 21 Jun 2022 15:56:20 +1000 Subject: [PATCH 22/22] seacas: record origin of patch for libexodus --- mingw-w64-seacas/PKGBUILD | 2 ++ 1 file changed, 2 insertions(+) diff --git a/mingw-w64-seacas/PKGBUILD b/mingw-w64-seacas/PKGBUILD index 6e905c6afb..00562652b3 100644 --- a/mingw-w64-seacas/PKGBUILD +++ b/mingw-w64-seacas/PKGBUILD @@ -40,6 +40,8 @@ prepare() { cd "${srcdir}/seacas-${_releases}" patch -p1 -i "${srcdir}/0001-cmake-add-libs.patch" patch -p1 -i "${srcdir}/0002-cmake-findHDF5.patch" + # Patch for netcdf-4.9.0 in libexodus based on + # https://github.com/sandialabs/seacas/commit/5e1b19181110c52b76d13e3f60da2c8cf678c941: patch -p1 -i "${srcdir}/0003-libexodus-netcdf-4.9.0.patch" }