netcdf: Update to 4.6.1
This commit is contained in:
@@ -1,38 +1,57 @@
|
||||
--- netcdf-4.4.1.1/CMakeLists.txt.orig 2017-02-01 08:16:34.358615500 +0300
|
||||
+++ netcdf-4.4.1.1/CMakeLists.txt 2017-02-01 08:20:43.083093300 +0300
|
||||
@@ -163,7 +163,7 @@
|
||||
--- netcdf-4.6.0/CMakeLists.txt.orig 2018-01-25 18:32:02.000000000 +0100
|
||||
+++ netcdf-4.6.0/CMakeLists.txt 2018-03-16 18:07:25.976347300 +0100
|
||||
@@ -169,7 +169,7 @@
|
||||
|
||||
# Set Memory test program for non-MSVC based builds.
|
||||
# Assume valgrind for now.
|
||||
-IF(NOT MSVC)
|
||||
+IF(NOT WIN32)
|
||||
+IF((NOT MSVC) AND (NOT MINGW))
|
||||
SET(CTEST_MEMORYCHECK_COMMAND valgrind CACHE STRING "")
|
||||
ENDIF()
|
||||
|
||||
@@ -245,7 +245,7 @@
|
||||
@@ -249,10 +249,14 @@
|
||||
|
||||
ADD_DEFINITIONS()
|
||||
|
||||
+# Add specific flags for environments that use the windows runtime (MSVC and MINGW)
|
||||
# Suppress CRT Warnings.
|
||||
# Only necessary for Windows
|
||||
-# Only necessary for Windows
|
||||
-IF(MSVC)
|
||||
+IF(WIN32)
|
||||
+# 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()
|
||||
|
||||
@@ -267,7 +267,7 @@
|
||||
#####
|
||||
@@ -273,7 +277,7 @@
|
||||
# Configuration for post-install RPath
|
||||
# Adapted from http://www.cmake.org/Wiki/CMake_RPATH_handling
|
||||
##
|
||||
-IF(NOT MSVC)
|
||||
+IF(NOT WIN32)
|
||||
+IF((NOT MSVC) AND (NOT MINGW))
|
||||
# use, i.e. don't skip the full RPATH for the build tree
|
||||
SET(CMAKE_SKIP_BUILD_RPATH FALSE)
|
||||
|
||||
@@ -839,7 +839,7 @@
|
||||
@@ -891,7 +895,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)
|
||||
+ IF((NOT MSVC) AND (NOT MINGW))
|
||||
SET(HOSTNAME_ARG "-s")
|
||||
ENDIF()
|
||||
IF(HOSTNAME_CMD)
|
||||
@@ -1379,7 +1383,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)
|
||||
|
||||
11
mingw-w64-netcdf/0002-dutil-correcttypo.patch
Normal file
11
mingw-w64-netcdf/0002-dutil-correcttypo.patch
Normal file
@@ -0,0 +1,11 @@
|
||||
--- netcdf-4.6.0/libdispatch/dutil.c.old 2018-01-25 18:32:02.000000000 +0100
|
||||
+++ netcdf-4.6.0/libdispatch/dutil.c 2018-02-28 18:22:09.019723300 +0100
|
||||
@@ -225,7 +225,7 @@
|
||||
_mktemp_s(tmp,sizeof(tmp)-1);
|
||||
#else /*!_MSC_VER*/
|
||||
mktemp(tmp);
|
||||
- tmo[sizeof[tmp]-1] = '\0';
|
||||
+ tmp[sizeof(tmp)-1] = '\0';
|
||||
#endif
|
||||
#else /* !HAVE_MKTEMP */
|
||||
/* Need to simulate by using some kind of pseudo-random number */
|
||||
21
mingw-w64-netcdf/0003-ncconfigure-strlcat-export.patch
Normal file
21
mingw-w64-netcdf/0003-ncconfigure-strlcat-export.patch
Normal file
@@ -0,0 +1,21 @@
|
||||
--- 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
|
||||
@@ -51,9 +51,18 @@
|
||||
/* Windows strlcat_s is equivalent to strlcat, but different arg order */
|
||||
#define strlcat(d,s,n) strcat_s((d),(n),(s))
|
||||
#else
|
||||
+#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* dst, const char* src, size_t dsize);
|
||||
#endif
|
||||
#endif
|
||||
+#endif
|
||||
|
||||
#ifndef nulldup
|
||||
#define nulldup(s) ((s)==NULL?NULL:strdup(s))
|
||||
13
mingw-w64-netcdf/0004-ddispatch-set-temp.patch
Normal file
13
mingw-w64-netcdf/0004-ddispatch-set-temp.patch
Normal file
@@ -0,0 +1,13 @@
|
||||
--- netcdf-4.6.0/libdispatch/ddispatch.c.orig 2018-01-25 18:31:50.000000000 +0100
|
||||
+++ netcdf-4.6.0/libdispatch/ddispatch.c 2018-03-16 18:12:05.695639600 +0100
|
||||
@@ -77,8 +77,8 @@
|
||||
char* p;
|
||||
char* q;
|
||||
char cwd[4096];
|
||||
-#ifdef _MSC_VER
|
||||
- tempdir = getenv("TEMP");
|
||||
+#ifdef HAVE_WIN_TEMP
|
||||
+ tempdir = getenv("TEMP");
|
||||
#else
|
||||
tempdir = "/tmp";
|
||||
#endif
|
||||
43
mingw-w64-netcdf/0005-dapcvt-conversion.patch
Normal file
43
mingw-w64-netcdf/0005-dapcvt-conversion.patch
Normal file
@@ -0,0 +1,43 @@
|
||||
--- netcdf-4.6.0/libdap2/dapcvt.c.orig 2018-01-25 18:31:50.000000000 +0100
|
||||
+++ netcdf-4.6.0/libdap2/dapcvt.c 2018-03-08 21:55:02.349612700 +0100
|
||||
@@ -236,7 +236,7 @@
|
||||
case NC_FLOAT: {
|
||||
float* p = (float*)dstmem;
|
||||
ok = sscanf(s,"%g%n",p,&nread);
|
||||
-#if defined(_MSC_VER) && (_MSC_VER == 1500)
|
||||
+#ifdef HAVE_WIN_SSCANF
|
||||
if (!_strnicmp(s, "NaN", 3)) {
|
||||
ok = 1;
|
||||
nread = 3;
|
||||
@@ -246,7 +246,7 @@
|
||||
case NC_DOUBLE: {
|
||||
double* p = (double*)dstmem;
|
||||
ok = sscanf(s,"%lg%n",p,&nread);
|
||||
-#if defined(_MSC_VER) && (_MSC_VER == 1500)
|
||||
+#ifdef HAVE_WIN_SSCANF
|
||||
if (!_strnicmp(s, "NaN", 3)) {
|
||||
ok = 1;
|
||||
nread = 3;
|
||||
@@ -255,10 +255,12 @@
|
||||
} break;
|
||||
case NC_UBYTE: {
|
||||
unsigned char* p = (unsigned char*)dstmem;
|
||||
-#ifdef _MSC_VER
|
||||
+#ifdef HAVE_WIN_SSCANF
|
||||
unsigned int uval;
|
||||
ok = sscanf(s,"%u%n",&uval,&nread);
|
||||
+#ifdef _MSC_VER
|
||||
_ASSERTE(_CrtCheckMemory());
|
||||
+#endif
|
||||
/* For back compatibility, we allow any value, but force conversion */
|
||||
uval = (uval & 0xFF);
|
||||
*p = (unsigned char)uval;
|
||||
@@ -276,7 +278,7 @@
|
||||
} break;
|
||||
case NC_INT64: {
|
||||
long long* p = (long long*)dstmem;
|
||||
-#ifdef _MSC_VER
|
||||
+#ifdef HAVE_WIN_SSCANF
|
||||
ok = sscanf(s, "%I64d%n", p,&nread);
|
||||
#else
|
||||
ok = sscanf(s,"%lld%n",p,&nread);
|
||||
20
mingw-w64-netcdf/0006-cvt-conversion.patch
Normal file
20
mingw-w64-netcdf/0006-cvt-conversion.patch
Normal file
@@ -0,0 +1,20 @@
|
||||
--- 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
|
||||
dst->lineno = src->lineno;
|
||||
@@ -407,7 +407,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):
|
||||
14
mingw-w64-netcdf/0007-mingw-config.patch
Normal file
14
mingw-w64-netcdf/0007-mingw-config.patch
Normal file
@@ -0,0 +1,14 @@
|
||||
--- netcdf-4.6.0/config.h.cmake.in.orig 2018-01-25 18:31:50.000000000 +0100
|
||||
+++ netcdf-4.6.0/config.h.cmake.in 2018-03-16 18:09:40.620183800 +0100
|
||||
@@ -64,6 +64,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
|
||||
@@ -3,7 +3,7 @@
|
||||
_realname=netcdf
|
||||
pkgbase=mingw-w64-${_realname}
|
||||
pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}"
|
||||
pkgver=4.5.0
|
||||
pkgver=4.6.1
|
||||
pkgrel=1
|
||||
pkgdesc="Interface for scientific data access to large binary data (mingw-w64)"
|
||||
arch=('any')
|
||||
@@ -13,13 +13,31 @@ depends=("${MINGW_PACKAGE_PREFIX}-hdf5")
|
||||
makedepends=("${MINGW_PACKAGE_PREFIX}-gcc"
|
||||
"${MINGW_PACKAGE_PREFIX}-cmake")
|
||||
source=("ftp://ftp.unidata.ucar.edu/pub/netcdf/${_realname}-${pkgver}.zip"
|
||||
0001-mingw-cmake.patch)
|
||||
sha256sums=('015e7a02f35f2bbb2c102297505d35a0ce89f4a547f3ae67070d9e603d7b9413'
|
||||
'7aa8c851925b680fabf9a78950cab4a3e315728b1a16937719bb0b9a76a67cde')
|
||||
0001-mingw-cmake.patch
|
||||
0002-dutil-correcttypo.patch
|
||||
0003-ncconfigure-strlcat-export.patch
|
||||
0004-ddispatch-set-temp.patch
|
||||
0005-dapcvt-conversion.patch
|
||||
0006-cvt-conversion.patch
|
||||
0007-mingw-config.patch)
|
||||
sha256sums=('94ff06be0d5b998f6f5e31ed8fdbdeac50e6f8267fe9624a1a3ef2e34d0a45e4'
|
||||
'6990366e780dfba6f1070d6bd3eae66d79ff41f5d133c51d2409e3d071527407'
|
||||
'da666e1f762b3ecd2becc9ad55fe1e32be9a47b5bae4f7990e7d94aae69697cd'
|
||||
'a1047a8feb86732e2f6087db5240da955045f5f653f9406103ce733c4850b536'
|
||||
'aeb61f0a4d69e26b2235b15948ac6b99ac92be5b0f8155bfa7aa4867af84efa8'
|
||||
'4b7e818c06ef33fbbfc6fa12f43ada74f0d38c89e989141adadb22f9c3993810'
|
||||
'66f2b494142d4c39096d80765df38254bb3c46829636fccc4d085f63e65bdb6c'
|
||||
'a1aa112779a83ec74acd7de8a0a57915f5d37cae44633d0a4d0d20784a2d288c')
|
||||
|
||||
prepare() {
|
||||
cd "${srcdir}/${_realname}-${pkgver}"
|
||||
patch -p1 -i ${srcdir}/0001-mingw-cmake.patch
|
||||
patch -p1 -i ${srcdir}/0002-dutil-correcttypo.patch
|
||||
patch -p1 -i ${srcdir}/0003-ncconfigure-strlcat-export.patch
|
||||
patch -p1 -i ${srcdir}/0004-ddispatch-set-temp.patch
|
||||
patch -p1 -i ${srcdir}/0005-dapcvt-conversion.patch
|
||||
patch -p1 -i ${srcdir}/0006-cvt-conversion.patch
|
||||
patch -p1 -i ${srcdir}/0007-mingw-config.patch
|
||||
}
|
||||
|
||||
build() {
|
||||
@@ -27,13 +45,14 @@ build() {
|
||||
mkdir -p ${srcdir}/build-static-${MINGW_CHOST} && cd ${srcdir}/build-static-${MINGW_CHOST}
|
||||
|
||||
MSYS2_ARG_CONV_EXCL="-DCMAKE_INSTALL_PREFIX=" \
|
||||
${MINGW_PREFIX}/bin/cmake -G "MSYS Makefiles" \
|
||||
${MINGW_PREFIX}/bin/cmake \
|
||||
-G "MSYS Makefiles" \
|
||||
-DCMAKE_INSTALL_PREFIX=${MINGW_PREFIX} \
|
||||
-DCMAKE_BUILD_TYPE=Release \
|
||||
-DBUILD_SHARED_LIBS=OFF \
|
||||
-DENABLE_DLL=OFF \
|
||||
-DENABLE_DAP=OFF \
|
||||
-DBUILD_TESTING=OFF \
|
||||
-DENABLE_DAP=ON \
|
||||
-DENABLE_TESTS=OFF \
|
||||
-DENABLE_DYNAMIC_LOADING=OFF \
|
||||
-DENABLE_NETCDF_4=ON \
|
||||
"${srcdir}/${_realname}-${pkgver}"
|
||||
@@ -43,14 +62,16 @@ build() {
|
||||
mkdir -p ${srcdir}/build-shared-${MINGW_CHOST} && cd ${srcdir}/build-shared-${MINGW_CHOST}
|
||||
|
||||
MSYS2_ARG_CONV_EXCL="-DCMAKE_INSTALL_PREFIX=" \
|
||||
${MINGW_PREFIX}/bin/cmake -G "MSYS Makefiles" \
|
||||
${MINGW_PREFIX}/bin/cmake \
|
||||
-G "MSYS Makefiles" \
|
||||
-DCMAKE_INSTALL_PREFIX=${MINGW_PREFIX} \
|
||||
-DCMAKE_BUILD_TYPE=Release \
|
||||
-DBUILD_SHARED_LIBS=ON \
|
||||
-DENABLE_DAP=OFF \
|
||||
-DBUILD_TESTING=OFF \
|
||||
-DENABLE_DAP=ON \
|
||||
-DENABLE_TESTS=OFF \
|
||||
-DENABLE_DYNAMIC_LOADING=OFF \
|
||||
-DENABLE_NETCDF_4=ON \
|
||||
-DENABLE_LOGGING=ON \
|
||||
"${srcdir}/${_realname}-${pkgver}"
|
||||
make
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user