From 8225d6f24b0735a5d1d589a2ba72a9c7f9fcf47e Mon Sep 17 00:00:00 2001 From: Filipe Fernandes Date: Sat, 21 Oct 2017 12:51:21 -0200 Subject: [PATCH 1/8] rerender --- .circleci/config.yml | 24 ++++++++++++++++++++++++ .gitattributes | 2 ++ README.md | 3 ++- appveyor.yml | 8 -------- ci_support/run_docker_build.sh | 6 +++--- circle.yml | 19 ------------------- 6 files changed, 31 insertions(+), 31 deletions(-) create mode 100644 .circleci/config.yml delete mode 100644 circle.yml diff --git a/.circleci/config.yml b/.circleci/config.yml new file mode 100644 index 00000000..c0a1aa15 --- /dev/null +++ b/.circleci/config.yml @@ -0,0 +1,24 @@ +version: 2 + +jobs: + build: + working_directory: ~/test + machine: true + steps: + - checkout + - run: + name: Fast finish outdated PRs and merge PRs + command: | + ./ci_support/fast_finish_ci_pr_build.sh + ./ci_support/checkout_merge_commit.sh + - run: + command: docker pull condaforge/linux-anvil + - run: + # Run, test and (if we have a BINSTAR_TOKEN) upload the distributions. + command: ./ci_support/run_docker_build.sh + +workflows: + version: 2 + build_and_test: + jobs: + - build diff --git a/.gitattributes b/.gitattributes index 288029dc..974953ec 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,5 +1,7 @@ * text=auto +*.patch binary +*.diff binary meta.yaml text eol=lf build.sh text eol=lf bld.bat text eol=crlf diff --git a/README.md b/README.md index 8cd4f364..b1eebb14 100644 --- a/README.md +++ b/README.md @@ -66,6 +66,7 @@ To manage the continuous integration and simplify feedstock maintenance Using the ``conda-forge.yml`` within this repository, it is possible to re-render all of this feedstock's supporting files (e.g. the CI configuration files) with ``conda smithy rerender``. +For more information please check the [conda-forge documentation](https://conda-forge.org/docs/). Terminology =========== @@ -100,4 +101,4 @@ In order to produce a uniquely identifiable distribution: the [``build/number``](http://conda.pydata.org/docs/building/meta-yaml.html#build-number-and-string). * If the version of a package **is** being increased, please remember to return the [``build/number``](http://conda.pydata.org/docs/building/meta-yaml.html#build-number-and-string) - back to 0. + back to 0. \ No newline at end of file diff --git a/appveyor.yml b/appveyor.yml index 0d6a1e2b..39c5b0ba 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -17,14 +17,6 @@ environment: CONDA_PY: 27 CONDA_INSTALL_LOCN: C:\\Miniconda-x64 - - TARGET_ARCH: x86 - CONDA_PY: 34 - CONDA_INSTALL_LOCN: C:\\Miniconda35 - - - TARGET_ARCH: x64 - CONDA_PY: 34 - CONDA_INSTALL_LOCN: C:\\Miniconda35-x64 - - TARGET_ARCH: x86 CONDA_PY: 35 CONDA_INSTALL_LOCN: C:\\Miniconda35 diff --git a/ci_support/run_docker_build.sh b/ci_support/run_docker_build.sh index 5c1bacb5..57286d08 100755 --- a/ci_support/run_docker_build.sh +++ b/ci_support/run_docker_build.sh @@ -57,9 +57,9 @@ conda clean --lock conda install --yes --quiet conda-forge-build-setup source run_conda_forge_build_setup -# Embarking on 1 case(s). - conda build /recipe_root --quiet || exit 1 - upload_or_check_non_existence /recipe_root conda-forge --channel=main || exit 1 +conda build /recipe_root --quiet || exit 1 +upload_or_check_non_existence /recipe_root conda-forge --channel=main || exit 1 + touch /feedstock_root/build_artefacts/conda-forge-build-done EOF diff --git a/circle.yml b/circle.yml deleted file mode 100644 index 421809c1..00000000 --- a/circle.yml +++ /dev/null @@ -1,19 +0,0 @@ -checkout: - post: - - ./ci_support/fast_finish_ci_pr_build.sh - - ./ci_support/checkout_merge_commit.sh - -machine: - services: - - docker - -dependencies: - # Note, we used to use the naive caching of docker images, but found that it was quicker - # just to pull each time. #rollondockercaching - override: - - docker pull condaforge/linux-anvil - -test: - override: - # Run, test and (if we have a BINSTAR_TOKEN) upload the distributions. - - ./ci_support/run_docker_build.sh From 9cf42909d018c6f252042d2e1bb2cd74517a508d Mon Sep 17 00:00:00 2001 From: Filipe Fernandes Date: Sat, 21 Oct 2017 13:02:02 -0200 Subject: [PATCH 2/8] remove patches that can be dropped or need to be refreshed --- recipe/dap.path | 57 ---------------------------------------- recipe/dfile.c.patch | 18 ------------- recipe/dim.c.patch | 19 -------------- recipe/semantics.c.patch | 18 ------------- 4 files changed, 112 deletions(-) delete mode 100644 recipe/dap.path delete mode 100644 recipe/dfile.c.patch delete mode 100644 recipe/dim.c.patch delete mode 100644 recipe/semantics.c.patch diff --git a/recipe/dap.path b/recipe/dap.path deleted file mode 100644 index b827cbe6..00000000 --- a/recipe/dap.path +++ /dev/null @@ -1,57 +0,0 @@ -diff -Naur netcdf-c-4.4.1.1.orig/libdap2/dapcvt.c netcdf-c-4.4.1.1/libdap2/dapcvt.c ---- netcdf-c-4.4.1.1.orig/libdap2/dapcvt.c 2016-11-21 16:27:08.000000000 -0200 -+++ netcdf-c-4.4.1.1/libdap2/dapcvt.c 2017-04-05 10:45:18.410066978 -0300 -@@ -210,14 +210,15 @@ - ok = 0; - switch (etype) { - case NC_BYTE: { -- char tmp[128]; -- -- unsigned char* p = (unsigned char*)dstmem; -+ char* p = (unsigned char*)dstmem; - #ifdef _MSC_VER -- ok = sscanf(s,"%hC%n",p,&nread); -- _ASSERTE(_CrtCheckMemory()); -+ int ival; -+ ok = sscanf(s,"%d%n",&ival,&nread); -+ _ASSERTE(_CrtCheckMemory()); -+ if(ival < NC_MIN_BYTE || ival > NC_MAX_BYTE) ok = 0; -+ *p = (char)ival; - #else -- ok = sscanf(s,"%hhu%n",p,&nread); -+ ok = sscanf(s,"%hhu%n",p,&nread); - #endif - } break; - case NC_CHAR: { -@@ -243,12 +244,15 @@ - case NC_UBYTE: { - unsigned char* p = (unsigned char*)dstmem; - #ifdef _MSC_VER -- ok = sscanf(s, "%hc%n", p,&nread); -- _ASSERTE(_CrtCheckMemory()); -+ unsigned int uval; -+ ok = sscanf(s,"%u%n",&uval,&nread); -+ _ASSERTE(_CrtCheckMemory()); -+ if(uval > NC_MAX_UBYTE) ok = 0; -+ *p = (unsigned char)uval; - #else - ok = sscanf(s,"%hhu%n",p,&nread); - #endif -- } break; -+ } break; - case NC_USHORT: { - unsigned short* p = (unsigned short*)dstmem; - ok = sscanf(s,"%hu%n",p,&nread); -diff -Naur netcdf-c-4.4.1.1.orig/libdap2/ncd2dispatch.c netcdf-c-4.4.1.1/libdap2/ncd2dispatch.c ---- netcdf-c-4.4.1.1.orig/libdap2/ncd2dispatch.c 2016-11-21 16:27:08.000000000 -0200 -+++ netcdf-c-4.4.1.1/libdap2/ncd2dispatch.c 2017-04-05 10:45:45.825068343 -0300 -@@ -336,7 +336,8 @@ - dapcomm->oc.rawurltext = strdup(path); - #endif - -- ncuriparse(dapcomm->oc.rawurltext,&dapcomm->oc.url); -+ ncstat = ncuriparse(dapcomm->oc.rawurltext,&dapcomm->oc.url); -+ if (!ncstat) goto done; - - /* parse the client parameters */ - ncuridecodeparams(dapcomm->oc.url); diff --git a/recipe/dfile.c.patch b/recipe/dfile.c.patch deleted file mode 100644 index 999bfb43..00000000 --- a/recipe/dfile.c.patch +++ /dev/null @@ -1,18 +0,0 @@ ---- libdispatch\dfile.c.orig 2016-08-10 14:06:27.315735800 +1000 -+++ libdispatch\dfile.c 2016-08-10 14:06:36.097008200 +1000 -@@ -166,6 +166,7 @@ - { - FILE *fp; - size_t i; -+ __int64 file_len = 0; - #ifdef HAVE_SYS_STAT_H - struct stat st; - #endif -@@ -182,7 +183,6 @@ - - /* Windows and fstat have some issues, this will work around that. */ - #ifdef HAVE_FILE_LENGTH_I64 -- __int64 file_len = 0; - if((file_len = _filelengthi64(fileno(fp))) < 0) { - fclose(fp); - status = errno; diff --git a/recipe/dim.c.patch b/recipe/dim.c.patch deleted file mode 100644 index 8870db07..00000000 --- a/recipe/dim.c.patch +++ /dev/null @@ -1,19 +0,0 @@ ---- libsrc\dim.c.orig 2016-08-10 14:20:07.878295000 +1000 -+++ libsrc\dim.c 2016-08-10 14:20:17.221986100 +1000 -@@ -444,6 +444,7 @@ - int existid; - NC_dim *dimp; - char *newname; /* normalized */ -+ NC_string *old; - - status = NC_check_id(ncid, &nc); - if(status != NC_NOERR) -@@ -465,7 +466,7 @@ - if(dimp == NULL) - return NC_EBADDIM; - -- NC_string *old = dimp->name; -+ old = dimp->name; - newname = (char *)utf8proc_NFC((const unsigned char *)unewname); - if(newname == NULL) - return NC_ENOMEM; diff --git a/recipe/semantics.c.patch b/recipe/semantics.c.patch deleted file mode 100644 index e10c2232..00000000 --- a/recipe/semantics.c.patch +++ /dev/null @@ -1,18 +0,0 @@ ---- ncgen\semantics.c.orig 2016-11-23 16:47:45.538386400 +1000 -+++ ncgen\semantics.c 2016-11-23 17:00:40.896820500 +1000 -@@ -601,6 +601,7 @@ - int i; - int offset = 0; - unsigned long totaldimsize; -+ int largealign = 1; - if(tsym->touched) return; - tsym->touched=1; - switch (tsym->subclass) { -@@ -637,7 +638,6 @@ - /* now compute the size of the compound based on*/ - /* what user specified*/ - offset = 0; -- int largealign = 1; - for(i=0;isubnodes);i++) { - Symbol* field = (Symbol*)listget(tsym->subnodes,i); - /* only support 'c' alignment for now*/ From 774496ea92c747dbf27c6d1f7061605fa2a34fce Mon Sep 17 00:00:00 2001 From: Filipe Fernandes Date: Sat, 21 Oct 2017 13:03:11 -0200 Subject: [PATCH 3/8] pin curl --- recipe/meta.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index b3d5ec0b..c4e29f68 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -29,7 +29,7 @@ requirements: - cmake - pkg-config # [not win] - msinttypes # [win] - - curl + - curl >=7.44.0,<8 - zlib 1.2.8 - hdf4 - hdf5 1.8.18|1.8.18.* @@ -37,7 +37,7 @@ requirements: - vc 10 # [win and py34] - vc 14 # [win and (py35 or py36)] run: - - curl + - curl >=7.44.0,<8 - zlib 1.2.8 - hdf4 - hdf5 1.8.18|1.8.18.* From ef094d5bbdf1fd0ebb7a03934b6ef38f94cdb2ce Mon Sep 17 00:00:00 2001 From: Filipe Fernandes Date: Sat, 21 Oct 2017 13:06:39 -0200 Subject: [PATCH 4/8] update to 4.5.0 --- recipe/meta.yaml | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index c4e29f68..0a04fee3 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "4.4.1.1" %} +{% set version = "4.5.0" %} package: name: libnetcdf @@ -7,16 +7,12 @@ package: source: fn: v{{ version }}.tar.gz url: https://github.com/Unidata/netcdf-c/archive/v{{ version }}.tar.gz - sha256: 7f040a0542ed3f6d27f3002b074e509614e18d6c515b2005d1537fec01b24909 + sha256: f7d1cb2a82100b9bf9a1130a50bc5c7baf0de5b5022860ac3e09a0a32f83cf4a patches: - - dfile.c.patch # [win] - - dim.c.patch # [win] - - semantics.c.patch # [win] - - dap.path # [win] - CMakeLists.patch # [win] build: - number: 6 + number: 0 skip: True # [win and py36] features: - vc9 # [win and py27] From fe0afb2e4d2c2a7e903011e5ed68c3994a24443a Mon Sep 17 00:00:00 2001 From: Filipe Fernandes Date: Sat, 21 Oct 2017 13:20:33 -0200 Subject: [PATCH 5/8] comment out test that passes with v4.4.1.1 but fails with 4.5.0 --- recipe/meta.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 0a04fee3..2bf23c80 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -48,7 +48,7 @@ test: - test -f ${PREFIX}/lib/libnetcdf.so # [linux] - test -f ${PREFIX}/lib/libnetcdf.dylib # [osx] - ncdump -h http://geoport-dev.whoi.edu/thredds/dodsC/estofs/atlantic - - ncdump -h https://data.nodc.noaa.gov/thredds/dodsC/ioos/sccoos/scripps_pier/scripps_pier-2016.nc + # - ncdump -h https://data.nodc.noaa.gov/thredds/dodsC/ioos/sccoos/scripps_pier/scripps_pier-2016.nc - conda inspect linkages -p $PREFIX libnetcdf # [not win] - conda inspect objects -p $PREFIX libnetcdf # [osx] From 791401ce54b896b26f76f0d436240414324538f0 Mon Sep 17 00:00:00 2001 From: Filipe Fernandes Date: Sat, 21 Oct 2017 15:23:41 -0200 Subject: [PATCH 6/8] skip Python 2.7 on Windows --- appveyor.yml | 8 -------- recipe/meta.yaml | 8 +------- 2 files changed, 1 insertion(+), 15 deletions(-) diff --git a/appveyor.yml b/appveyor.yml index 39c5b0ba..9c1ddf11 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -9,14 +9,6 @@ environment: secure: ipv/06DzgA7pzz2CIAtbPxZSsphDtF+JFyoWRnXkn3O8j7oRe3rzqj3LOoq2DZp4 matrix: - - TARGET_ARCH: x86 - CONDA_PY: 27 - CONDA_INSTALL_LOCN: C:\\Miniconda - - - TARGET_ARCH: x64 - CONDA_PY: 27 - CONDA_INSTALL_LOCN: C:\\Miniconda-x64 - - TARGET_ARCH: x86 CONDA_PY: 35 CONDA_INSTALL_LOCN: C:\\Miniconda35 diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 2bf23c80..56af840e 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -13,10 +13,8 @@ source: build: number: 0 - skip: True # [win and py36] + skip: True # [win and py36 or py27] features: - - vc9 # [win and py27] - - vc10 # [win and py34] - vc14 # [win and (py35 or py36)] requirements: @@ -29,16 +27,12 @@ requirements: - zlib 1.2.8 - hdf4 - hdf5 1.8.18|1.8.18.* - - vc 9 # [win and py27] - - vc 10 # [win and py34] - vc 14 # [win and (py35 or py36)] run: - curl >=7.44.0,<8 - zlib 1.2.8 - hdf4 - hdf5 1.8.18|1.8.18.* - - vc 9 # [win and py27] - - vc 10 # [win and py34] - vc 14 # [win and (py35 or py36)] test: From 3a84292a00b3d63167401eb7b5a01c28f4da9a29 Mon Sep 17 00:00:00 2001 From: Filipe Fernandes Date: Mon, 23 Oct 2017 14:43:41 -0300 Subject: [PATCH 7/8] find cf-curl --- recipe/build.sh | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/recipe/build.sh b/recipe/build.sh index 3ab3845a..14d600cf 100644 --- a/recipe/build.sh +++ b/recipe/build.sh @@ -11,6 +11,8 @@ cmake -D CMAKE_INSTALL_PREFIX=$PREFIX \ -D BUILD_UTILITIES=ON \ -D ENABLE_DOXYGEN=OFF \ -D ENABLE_LOGGING=ON \ + -D CURL_INCLUDE_DIR=$PREFIX/include \ + -D CURL_LIBRARY=$PREFIX/lib/libcurl${SHLIB_EXT} \ $SRC_DIR make # ctest # Run only for the shared lib build to save time. @@ -28,6 +30,8 @@ cmake -D CMAKE_INSTALL_PREFIX=$PREFIX \ -D BUILD_UTILITIES=ON \ -D ENABLE_DOXYGEN=OFF \ -D ENABLE_LOGGING=ON \ + -D CURL_INCLUDE_DIR=$PREFIX/include \ + -D CURL_LIBRARY=$PREFIX/lib/libcurl${SHLIB_EXT} \ $SRC_DIR make ctest From 0eaf9a64e4b878d865280f5a1431fcb15a6b4d50 Mon Sep 17 00:00:00 2001 From: Filipe Fernandes Date: Tue, 24 Oct 2017 11:20:50 -0300 Subject: [PATCH 8/8] backport 512 --- recipe/back_port_512.patch | 22 ++++++++++++++++++++++ recipe/meta.yaml | 4 +++- 2 files changed, 25 insertions(+), 1 deletion(-) create mode 100644 recipe/back_port_512.patch diff --git a/recipe/back_port_512.patch b/recipe/back_port_512.patch new file mode 100644 index 00000000..672ca443 --- /dev/null +++ b/recipe/back_port_512.patch @@ -0,0 +1,22 @@ +--- netcdf-c-4.5.0.orig/libdap2/dapcvt.c 2017-10-20 14:20:52.000000000 -0300 ++++ netcdf-c-4.5.0/libdap2/dapcvt.c 2017-10-24 11:06:14.777836188 -0300 +@@ -217,7 +217,8 @@ + #ifdef _MSC_VER + _ASSERTE(_CrtCheckMemory()); + #endif +- if(ival < 0 || ival > NC_MAX_UBYTE) ok = 0; ++ /* For back compatibility, we allow any value, but force conversion */ ++ ival = (ival & 0xFF); + *p = (char)ival; + } break; + case NC_CHAR: { +@@ -246,7 +247,8 @@ + unsigned int uval; + ok = sscanf(s,"%u%n",&uval,&nread); + _ASSERTE(_CrtCheckMemory()); +- if(uval > NC_MAX_UBYTE) ok = 0; ++ /* For back compatibility, we allow any value, but force conversion */ ++ uval = (uval & 0xFF); + *p = (unsigned char)uval; + #else + ok = sscanf(s,"%hhu%n",p,&nread); diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 56af840e..1c22d952 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -9,6 +9,8 @@ source: url: https://github.com/Unidata/netcdf-c/archive/v{{ version }}.tar.gz sha256: f7d1cb2a82100b9bf9a1130a50bc5c7baf0de5b5022860ac3e09a0a32f83cf4a patches: + # https://github.com/Unidata/netcdf-c/pull/512/files + - back_port_512.patch - CMakeLists.patch # [win] build: @@ -42,7 +44,7 @@ test: - test -f ${PREFIX}/lib/libnetcdf.so # [linux] - test -f ${PREFIX}/lib/libnetcdf.dylib # [osx] - ncdump -h http://geoport-dev.whoi.edu/thredds/dodsC/estofs/atlantic - # - ncdump -h https://data.nodc.noaa.gov/thredds/dodsC/ioos/sccoos/scripps_pier/scripps_pier-2016.nc + - ncdump -h https://data.nodc.noaa.gov/thredds/dodsC/ioos/sccoos/scripps_pier/scripps_pier-2016.nc - conda inspect linkages -p $PREFIX libnetcdf # [not win] - conda inspect objects -p $PREFIX libnetcdf # [osx]