diff options
Diffstat (limited to 'sci-libs/netcdf')
-rw-r--r-- | sci-libs/netcdf/Manifest | 9 | ||||
-rw-r--r-- | sci-libs/netcdf/files/netcdf-4.3.2-HDF5-1.8.13+-compat.patch | 145 | ||||
-rw-r--r-- | sci-libs/netcdf/files/netcdf-4.7.4-big-endian-build.patch | 63 | ||||
-rw-r--r-- | sci-libs/netcdf/files/netcdf-4.7.4-big-endian-test.patch | 16 | ||||
-rw-r--r-- | sci-libs/netcdf/netcdf-4.3.2-r1.ebuild | 59 | ||||
-rw-r--r-- | sci-libs/netcdf/netcdf-4.6.1-r1.ebuild | 54 | ||||
-rw-r--r-- | sci-libs/netcdf/netcdf-4.7.4.ebuild | 10 |
7 files changed, 89 insertions, 267 deletions
diff --git a/sci-libs/netcdf/Manifest b/sci-libs/netcdf/Manifest index c3bab9ee6c3b..1ee0cc041503 100644 --- a/sci-libs/netcdf/Manifest +++ b/sci-libs/netcdf/Manifest @@ -1,8 +1,5 @@ -AUX netcdf-4.3.2-HDF5-1.8.13+-compat.patch 5258 BLAKE2B ef4afcaf5f9139c6db2898e8e6339e77de8534218c7e00a6b16ff68bdaeb470a96b06493637a6b7734bc00a4813f21a4fd179bc12d1cf156a04ee651380bfc5e SHA512 aa54ec936aff884b105217a8c87f5d7722b8b76a4bdd8b8804366c6509abba9962fdcdbfda2361662fec3732be1a1c2b7a2ae8abea1862d2ad7fd3b0f3828f59 -DIST netcdf-4.3.2.tar.gz 5013938 BLAKE2B 7acef16284bf8586750bdeb03da3e2e2a1c543b80423269eb2542d179e1b52dd51e30584a13f604e75c295ae9ff993c814183fbb5a78ad1141c62f8dbdda6525 SHA512 9cb9c761bf1e17a37601c37000fdc0bb654afcf111e5ac2fb7dcf037c6aa827e66beb29d5c661edc50ea3f84849f3dee387aab9e85ef81a9b6ca3f36e45debdd -DIST netcdf-4.6.1.tar.gz 18201700 BLAKE2B 2dab9add736d0db3ad91fb1ccda63c200fe5a2c6e56e2dd5b76375f6535807c6f462623d1709235f03e0940b66a8c2d1c3fd896b042b8b0004c87f038852befb SHA512 e290b10e763f9f6ef56b5224f834834853de7c21347ef6a078a2e7d819757fc8069814431784d0a0387ba2ce1f01776556e3051f9465829da0ffd3849571cd61 +AUX netcdf-4.7.4-big-endian-build.patch 1892 BLAKE2B 9209f042f86e4eb7d3c1359ff8c1c033eab2762aa6bf5b7a8f8e513ac52eddb2039c1728d77a2e038985a8612a04ba5654d27c872f92bcd54dde4237dc427288 SHA512 5d6cf04597897faed7ecdd4c8c182f3d22082569cbb726b25d8e922c853dbe4e7e8105c9470faaed50e254072f9411ebfc9aabc480858a0bd7fd8d77a9a2e87c +AUX netcdf-4.7.4-big-endian-test.patch 689 BLAKE2B ab28269ee5922816e7ef7834dddec974c98951a41c0025041f9ee67d92c7bfe57887f5ac8d8beb2426e2c095fc06cf4b29046a9b29873b125d681b169c9613b6 SHA512 72575f890615a05a6f1beeebfd3edcd367fe148be017a32847b0a7db96c594e6bb5d01acd865257b25410e0a22699b1beef2c54748ccb09ea5e41009f4e0f9ee DIST netcdf-4.7.4.tar.gz 19711158 BLAKE2B b49532e6f87b458e7f5654f70ec932d6c8c81272c97ce44df3d27bb61b01d3e005f918b959ce12e42e26f7c12309ab72eeb57a35216d20ab5761837db65741a4 SHA512 15922818fdd71be285eb7dd2fc9be2594fe9af979de3ed316465636c7bbdaec65eb151ca57ef8b703e6a360cdba036b8f9bc193ddff01ff7ce4214c0a66efa79 -EBUILD netcdf-4.3.2-r1.ebuild 1499 BLAKE2B 7bfd5e8ac228a24e707089b4c0c7853051804b368c588080a1abf6080c2e81470a18814b4a999660e2e4af229b5ab68fe6d2d8f08e4f3a4bbc7a85446003d82d SHA512 63d12e90ba69030eda48a8d2c905f6cd2337b9cf9d1aa96856c4e45227f65bcb113a3aba0d0d1f7a5781a23fdbcdf0aa34c9322a4feb2b5533e591c85ca234de -EBUILD netcdf-4.6.1-r1.ebuild 1339 BLAKE2B 93c0f23f0abfa4d52bd4de02f67a7521400ad82c91ade18d6c09e18fe8fb9b4e053ee7864fa0e21b472df0d813680d74c91589c9049da100191646fea03553ba SHA512 6d3b500df1de3f15a694b8162d1bc52cd4d91428a57946db1f9fa1a81adb911feb9710cf57b96693388994ad301d5600c08eb00cfcfd4aa9979815078302bc55 -EBUILD netcdf-4.7.4.ebuild 1425 BLAKE2B 66579ba0c24b480c9cd0254daf6f166bfcb687925610ff6f25169632583f562184af9c39d10d376c5fcdfc3fc7a5cde644482b5c765e201692f3341da24e0c0f SHA512 fd5f93864cbfa93dffb46b7d1ab8a6f6ffd605de1818cd076df7098d58bfce6f88658eb1edc7663d88d25e2ad6afc65347470839969ed1dead1450fae79be966 +EBUILD netcdf-4.7.4.ebuild 1539 BLAKE2B 0a4d13dcd179454a032f51a0abcfc21b77a7faa34dbbdeb9e26d815d4100c380c147ea1a39f929590aa896ee46c90eb7a706867db1b8b904b28aecb7e3cb2ad9 SHA512 5ad6b406b811bb58d167ec792965da5c2ed5f0ead5411e8dcc4ec6acf6880513c3b228867c7d5e2fd29050478e09422e9e4363690dce7dc0564b54624a4c2e94 MISC metadata.xml 1064 BLAKE2B 7980e918eb2d2f438aeb5deb4a678c2e324606b40e8d04e592df7d24492bdfbc548082f6fa372c168b09597c3511df15a046cd8f6d746db3d9aeae31cf3604ac SHA512 2aaa7a6c4659ff3daf81bdb63541ce08359f43bb7007f38dea333d0a05fc920e6780b79a9b0f79fec59d4e05a005efd3642acaedcd3223a21d5aa919110545dd diff --git a/sci-libs/netcdf/files/netcdf-4.3.2-HDF5-1.8.13+-compat.patch b/sci-libs/netcdf/files/netcdf-4.3.2-HDF5-1.8.13+-compat.patch deleted file mode 100644 index 783a5b06e991..000000000000 --- a/sci-libs/netcdf/files/netcdf-4.3.2-HDF5-1.8.13+-compat.patch +++ /dev/null @@ -1,145 +0,0 @@ -From 435d8a03ed28bb5ad63aff12cbc6ab91531b6bc8 Mon Sep 17 00:00:00 2001 -From: Quincey Koziol <quincey@koziol.cc> -Date: Wed, 7 May 2014 08:45:15 -0500 -Subject: [PATCH] Account for the HDF5 library not having the MPI-POSIX VFD - configured in. - ---- - RELEASE_NOTES.md | 2 ++ - libsrc4/nc4file.c | 40 ++++++++++++++++++++++++++++++++++++++++ - nc_test4/tst_nc4perf.c | 5 +++++ - nc_test4/tst_parallel3.c | 5 +++++ - 4 files changed, 52 insertions(+) - -diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md -index 27f228c..1a69d17 100644 ---- a/RELEASE_NOTES.md -+++ b/RELEASE_NOTES.md -@@ -9,6 +9,8 @@ This file contains a high-level description of this package's evolution. Release - - ### 4.3.3-rc1 Released TBD - -+* When the NC_MPIPOSIX flag is given for parallel I/O access and the HDF5 library does not have the MPI-POSIX VFD configured in, the NC_MPIPOSIX flag is transparently aliased to the NC_MPIIO flag within the netCDF-4 library. -+ - ## 4.3.2 Released 2014-04-23 - - * As part of an ongoing project, the Doxygen-generated netcdf documentation has been reorganized. The goal is to make the documentation easier to parse, and to eliminate redundant material. This project is ongoing. -diff --git a/libsrc4/nc4file.c b/libsrc4/nc4file.c -index ec3bb0c..5c957be 100644 ---- a/libsrc4/nc4file.c -+++ b/libsrc4/nc4file.c -@@ -308,12 +308,21 @@ nc4_create_file(const char *path, int cmode, MPI_Comm comm, MPI_Info info, - if (H5Pset_fapl_mpio(fapl_id, comm, info) < 0) - BAIL(NC_EPARINIT); - } -+#ifdef USE_PARALLEL_POSIX - else /* MPI/POSIX */ - { - LOG((4, "creating parallel file with MPI/posix")); - if (H5Pset_fapl_mpiposix(fapl_id, comm, 0) < 0) - BAIL(NC_EPARINIT); - } -+#else /* USE_PARALLEL_POSIX */ -+ /* Should not happen! Code in NC4_create/NC4_open should alias the -+ * NC_MPIPOSIX flag to NC_MPIIO, if the MPI-POSIX VFD is not -+ * available in HDF5. -QAK -+ */ -+ else /* MPI/POSIX */ -+ BAIL(NC_EPARINIT); -+#endif /* USE_PARALLEL_POSIX */ - - /* Keep copies of the MPI Comm & Info objects */ - if (MPI_SUCCESS != MPI_Comm_dup(comm, &nc4_info->comm)) -@@ -465,6 +474,17 @@ NC4_create(const char* path, int cmode, size_t initialsz, int basepe, - ) - return NC_EINVAL; - -+#ifndef USE_PARALLEL_POSIX -+/* If the HDF5 library has been compiled without the MPI-POSIX VFD, alias -+ * the NC_MPIPOSIX flag to NC_MPIIO. -QAK -+ */ -+ if(cmode & NC_MPIPOSIX) -+ { -+ cmode &= ~NC_MPIPOSIX; -+ cmode |= NC_MPIIO; -+ } -+#endif /* USE_PARALLEL_POSIX */ -+ - cmode |= NC_NETCDF4; - - /* Apply default create format. */ -@@ -2168,12 +2188,21 @@ nc4_open_file(const char *path, int mode, MPI_Comm comm, - if (H5Pset_fapl_mpio(fapl_id, comm, info) < 0) - BAIL(NC_EPARINIT); - } -+#ifdef USE_PARALLEL_POSIX - else /* MPI/POSIX */ - { - LOG((4, "opening parallel file with MPI/posix")); - if (H5Pset_fapl_mpiposix(fapl_id, comm, 0) < 0) - BAIL(NC_EPARINIT); - } -+#else /* USE_PARALLEL_POSIX */ -+ /* Should not happen! Code in NC4_create/NC4_open should alias the -+ * NC_MPIPOSIX flag to NC_MPIIO, if the MPI-POSIX VFD is not -+ * available in HDF5. -QAK -+ */ -+ else /* MPI/POSIX */ -+ BAIL(NC_EPARINIT); -+#endif /* USE_PARALLEL_POSIX */ - - /* Keep copies of the MPI Comm & Info objects */ - if (MPI_SUCCESS != MPI_Comm_dup(comm, &nc4_info->comm)) -@@ -2640,6 +2669,17 @@ NC4_open(const char *path, int mode, int basepe, size_t *chunksizehintp, - (mode & NC_MPIIO && mode & NC_MPIPOSIX)) - return NC_EINVAL; - -+#ifndef USE_PARALLEL_POSIX -+/* If the HDF5 library has been compiled without the MPI-POSIX VFD, alias -+ * the NC_MPIPOSIX flag to NC_MPIIO. -QAK -+ */ -+ if(mode & NC_MPIPOSIX) -+ { -+ mode &= ~NC_MPIPOSIX; -+ mode |= NC_MPIIO; -+ } -+#endif /* USE_PARALLEL_POSIX */ -+ - - /* Depending on the type of file, open it. */ - -diff --git a/nc_test4/tst_nc4perf.c b/nc_test4/tst_nc4perf.c -index 47af70e..3528b82 100644 ---- a/nc_test4/tst_nc4perf.c -+++ b/nc_test4/tst_nc4perf.c -@@ -244,6 +244,11 @@ int test_pio_4d(size_t cache_size, int facc_type, int access_flag, MPI_Comm comm - return 0; - } - -+/* Note: When the MPI-POSIX VFD is not compiled in to HDF5, the NC_MPIPOSIX -+ * flag will be aliased to the NC_MPIIO flag within the library, and -+ * therefore this test will exercise the aliasing, with the MPI-IO VFD, -+ * under that configuration. -QAK -+ */ - #define NUM_MODES 2 - #define NUM_FACC 2 - #define NUM_CHUNK_COMBOS_2D 3 -diff --git a/nc_test4/tst_parallel3.c b/nc_test4/tst_parallel3.c -index 27f9c98..9fa534f 100644 ---- a/nc_test4/tst_parallel3.c -+++ b/nc_test4/tst_parallel3.c -@@ -129,6 +129,11 @@ int main(int argc, char **argv) - if (mpi_rank == 0) - SUMMARIZE_ERR; - -+/* Note: When the MPI-POSIX VFD is not compiled in to HDF5, the NC_MPIPOSIX -+ * flag will be aliased to the NC_MPIIO flag within the library, and -+ * therefore this test will exercise the aliasing, with the MPI-IO VFD, -+ * under that configuration. -QAK -+ */ - if (mpi_rank == 0) - printf("*** Testing parallel IO for raw-data with MPIPOSIX-IO (driver)..."); - facc_type = NC_NETCDF4|NC_MPIPOSIX; --- -2.0.3 - diff --git a/sci-libs/netcdf/files/netcdf-4.7.4-big-endian-build.patch b/sci-libs/netcdf/files/netcdf-4.7.4-big-endian-build.patch new file mode 100644 index 000000000000..edad05a21e64 --- /dev/null +++ b/sci-libs/netcdf/files/netcdf-4.7.4-big-endian-build.patch @@ -0,0 +1,63 @@ +https://github.com/DennisHeimbigner/netcdf-c/commit/6f86660da86f279cad1f2804cf3242767de27630.patch +https://github.com/Unidata/netcdf-c/issues/1687 +https://bugs.gentoo.org/772863 + +From 6f86660da86f279cad1f2804cf3242767de27630 Mon Sep 17 00:00:00 2001 +From: Dennis Heimbigner <dmh@ucar.edu> +Date: Fri, 3 Apr 2020 20:15:34 -0600 +Subject: [PATCH] Fix missing forward declarations + +re: issue https://github.com/Unidata/netcdf-c/issues/1687 + +static functions are being used before decl and it causes +errors. Only occurs when BIG_ENDIAN is defined. +Solution is to add the forward declarations. +--- + libdispatch/dfilter.c | 4 ++++ + nc_test4/tst_filterparser.c | 5 +++++ + plugins/H5Zutil.c | 1 + + 3 files changed, 10 insertions(+) + +diff --git a/libdispatch/dfilter.c b/libdispatch/dfilter.c +index 893846457..0e490a3d6 100644 +--- a/libdispatch/dfilter.c ++++ b/libdispatch/dfilter.c +@@ -40,6 +40,10 @@ Unified filter related code + + /* Forward */ + static int gettype(const int q0, const int q1, int* unsignedp); ++#ifdef WORDS_BIGENDIAN ++static void byteswap8(unsigned char* mem); ++static void byteswap4(unsigned char* mem); ++#endif + + const struct LegalFormat { + const char* tag; +diff --git a/nc_test4/tst_filterparser.c b/nc_test4/tst_filterparser.c +index 7d02f2bc7..b32094a25 100644 +--- a/nc_test4/tst_filterparser.c ++++ b/nc_test4/tst_filterparser.c +@@ -122,6 +122,11 @@ static const char* spectype[] = {"i", "b", "ub", "s", "us", "i", "ui", "i", "i", + + static int nerrs = 0; + ++#ifdef WORDS_BIGENDIAN ++static void byteswap8(unsigned char* mem); ++static void byteswap4(unsigned char* mem); ++#endif ++ + static void + mismatch(size_t i, unsigned int *params, const char* tag) + { +diff --git a/plugins/H5Zutil.c b/plugins/H5Zutil.c +index cb36dc96c..86dfb0cfa 100644 +--- a/plugins/H5Zutil.c ++++ b/plugins/H5Zutil.c +@@ -4,6 +4,7 @@ + */ + + ++#include "config.h" + #include <hdf5.h> + + /* diff --git a/sci-libs/netcdf/files/netcdf-4.7.4-big-endian-test.patch b/sci-libs/netcdf/files/netcdf-4.7.4-big-endian-test.patch new file mode 100644 index 000000000000..cdc39a6a7729 --- /dev/null +++ b/sci-libs/netcdf/files/netcdf-4.7.4-big-endian-test.patch @@ -0,0 +1,16 @@ +Fixes ncdump_tst_netcdf4 test failure on big endian. +https://github.com/Unidata/netcdf-c/issues/1896 +diff --git a/ncdump/tst_special_atts.c b/ncdump/tst_special_atts.c +index 9655b86..e71cb7e 100644 +--- a/ncdump/tst_special_atts.c ++++ b/ncdump/tst_special_atts.c +@@ -145,6 +145,10 @@ main(int argc, char **argv) + /* Set _Storage as compact */ + if (nc_def_var_chunking(ncid, var6id, NC_COMPACT, NULL)) ERR; + if (nc_def_var_chunking(ncid, var7id, NC_COMPACT, NULL)) ERR; ++#if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__ ++ if (nc_def_var_endian(ncid, var6id, NC_ENDIAN_LITTLE)) ERR; ++ if (nc_def_var_endian(ncid, var7id, NC_ENDIAN_LITTLE)) ERR; ++#endif + + if (nc_enddef(ncid)) ERR; diff --git a/sci-libs/netcdf/netcdf-4.3.2-r1.ebuild b/sci-libs/netcdf/netcdf-4.3.2-r1.ebuild deleted file mode 100644 index e880b9a4ebf8..000000000000 --- a/sci-libs/netcdf/netcdf-4.3.2-r1.ebuild +++ /dev/null @@ -1,59 +0,0 @@ -# Copyright 1999-2019 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=5 - -inherit autotools-utils - -DESCRIPTION="Scientific library and interface for array oriented data access" -HOMEPAGE="https://www.unidata.ucar.edu/software/netcdf/" -SRC_URI="ftp://ftp.unidata.ucar.edu/pub/netcdf/${P}.tar.gz" - -LICENSE="UCAR-Unidata" -SLOT="0/7" -KEYWORDS="amd64 ~arm ~ia64 ppc ppc64 x86 ~amd64-linux ~x86-linux" -IUSE="+dap examples hdf +hdf5 mpi static-libs szip test tools" -RESTRICT="!test? ( test )" - -RDEPEND=" - dap? ( net-misc/curl:0= ) - hdf? ( sci-libs/hdf:0= sci-libs/hdf5:0= ) - hdf5? ( sci-libs/hdf5:0=[hl(+),mpi=,szip=,zlib] )" -DEPEND="${RDEPEND}" -# doc generation is missing many doxygen files in tar ball -# doc? ( app-doc/doxygen[dot] )" - -REQUIRED_USE="test? ( tools ) szip? ( hdf5 ) mpi? ( hdf5 )" - -PATCHES=( "${FILESDIR}/${P}-HDF5-1.8.13+-compat.patch" ) - -src_configure() { - # --docdir="${EPREFIX}"/usr/share/doc/${PF} - # $(use_enable doc doxygen) - local myeconfargs=( - --disable-examples - --disable-dap-remote-tests - $(use_enable dap) - $(use_enable hdf hdf4) - $(use_enable hdf5 netcdf-4) - $(use_enable tools utilities) - ) - if use mpi; then - export CC=mpicc - myeconfargs+=( --enable-parallel ) - use test && myeconfargs+=( --enable-parallel-tests ) - fi - autotools-utils_src_configure -} - -src_test() { - autotools-utils_src_test -j1 -} - -src_install() { - autotools-utils_src_install - if use examples; then - insinto /usr/share/doc/${PF} - doins -r examples - fi -} diff --git a/sci-libs/netcdf/netcdf-4.6.1-r1.ebuild b/sci-libs/netcdf/netcdf-4.6.1-r1.ebuild deleted file mode 100644 index d7770061f7a7..000000000000 --- a/sci-libs/netcdf/netcdf-4.6.1-r1.ebuild +++ /dev/null @@ -1,54 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -inherit eutils ltprune - -DESCRIPTION="Scientific library and interface for array oriented data access" -HOMEPAGE="https://www.unidata.ucar.edu/software/netcdf/" -SRC_URI="https://github.com/Unidata/netcdf-c/archive/v${PV}.tar.gz -> ${P}.tar.gz" - -LICENSE="UCAR-Unidata" -SLOT="0/13" -KEYWORDS="amd64 ~arm ~ia64 ~ppc ~ppc64 x86 ~amd64-linux ~x86-linux" -IUSE="+dap examples hdf +hdf5 mpi static-libs szip test tools" -RESTRICT="!test? ( test )" - -RDEPEND=" - dap? ( net-misc/curl:0= ) - hdf? ( sci-libs/hdf:0= sci-libs/hdf5:0= ) - hdf5? ( sci-libs/hdf5:0=[hl(+),mpi=,szip=,zlib] )" -DEPEND="${RDEPEND}" -# doc generation is missing many doxygen files in tar ball -# doc? ( app-doc/doxygen[dot] )" - -REQUIRED_USE="test? ( tools ) szip? ( hdf5 ) mpi? ( hdf5 )" - -S="${WORKDIR}/${PN}-c-${PV}" - -src_configure() { - local myconf - if use mpi; then - export CC=mpicc - fi - econf "${myconf}" \ - --disable-examples \ - --disable-dap-remote-tests \ - $(use_enable dap) \ - $(use_enable hdf hdf4) \ - $(use_enable hdf5 netcdf-4) \ - $(use_enable static-libs static) \ - $(use_enable tools utilities) -} - -src_test() { - # fails parallel tests: bug #621486 - emake check -j1 -} - -src_install() { - default - use examples && dodoc -r examples - prune_libtool_files -} diff --git a/sci-libs/netcdf/netcdf-4.7.4.ebuild b/sci-libs/netcdf/netcdf-4.7.4.ebuild index 8f99b01c1bde..428737d15aaa 100644 --- a/sci-libs/netcdf/netcdf-4.7.4.ebuild +++ b/sci-libs/netcdf/netcdf-4.7.4.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2020 Gentoo Authors +# Copyright 1999-2021 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -8,10 +8,11 @@ inherit cmake DESCRIPTION="Scientific library and interface for array oriented data access" HOMEPAGE="https://www.unidata.ucar.edu/software/netcdf/" SRC_URI="https://github.com/Unidata/netcdf-c/archive/v${PV}.tar.gz -> ${P}.tar.gz" +S="${WORKDIR}/${PN}-c-${PV}" LICENSE="UCAR-Unidata" SLOT="0/18" -KEYWORDS="~amd64 ~arm ~ia64 ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux" +KEYWORDS="amd64 ~arm ~arm64 ~ia64 ppc ppc64 x86 ~amd64-linux ~x86-linux" IUSE="+dap doc examples hdf +hdf5 mpi szip test tools" RESTRICT="!test? ( test )" @@ -33,7 +34,10 @@ REQUIRED_USE=" szip? ( hdf5 ) mpi? ( hdf5 )" -S="${WORKDIR}/${PN}-c-${PV}" +PATCHES=( + "${FILESDIR}/${PN}-4.7.4-big-endian-build.patch" + "${FILESDIR}/${PN}-4.7.4-big-endian-test.patch" +) src_prepare() { # skip test that requires network |