pkgsrc-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[pkgsrc/trunk]: pkgsrc/devel/hdf5 Update to 1.8.14
details: https://anonhg.NetBSD.org/pkgsrc/rev/1586d4d81e1f
branches: trunk
changeset: 649799:1586d4d81e1f
user: wen <wen%pkgsrc.org@localhost>
date: Fri Apr 10 02:49:56 2015 +0000
description:
Update to 1.8.14
Upstream changes:
Release 1.8.14 of November 2014 (current release) versus Release 1.8.13
In the main library C Interface
No new C functions have been added.
The behavior of the following C function has been changed:
The function H5Pset_core_write_tracking has been modified to enforce the limitation that the value of the page_size parameter cannot equal 0 (zero):
H5Pset_core_write_tracking
The following performance optimization has been implemented in the Parallel HDF5 library:
The algoritm for writing chunk fill values for new datasets has been optimized to write out all chunk fill values collectively in a single MPI-IO call. This was previously done independently by
rank 0 (zero) one block at a time. This optimization should produce a significant performance improvement when creating chunked datasets in parallel, most notably when chunk dimensions are relatively
small. This optimization will be evident in use of the following function:
H5Dcreate
In the high-level library C Interface
High-level HDF5 interfaces now ensure that strings are null-terminated and will not overflow a buffer.
In several high-level functions, the type from the file was previously re-used as the memory type and no check is made to ensure that a string was actually null-terminated.
All high-level functions now check for NULL pointers; verify that a received a string is null-terminated; and verify that the string will not overflow the buffer. The minimum length of the
buffers is now used in strncmp to avoid overflow.
In the main library C++ Interface
No new C++ methods have been added.
The following changes have been made in the C++ interface:
Changed defaults
Default value of class member id:
The data member id in several classes that represent HDF5 objects are now initialized to H5I_INVALID_ID.
Default value of a PropList member id:
The data member id in class PropList is now initialized to H5P_DEFAULT.
In HDF5 Release 1.8.13 and earlier, the above were initialized to 0 (zero).
Changed file access flags
The flag H5F_ACC_CREAT has been removed from the C++ interface.
In the main library Fortran Interface
No new Fortran subroutines have been added.
Changed Fortran INTEGER parameter types:
Types of the following Fortran parameter constants have been changed from INTEGER to INTEGER(HID_T):
H5FD_CORE H5FD_MULTI
H5FD_FAMILY H5FD_SEC2
H5FD_LOG H5FD_STDIO
H5FD_MPIO
Other internal int types have been changed to hid_t, but this change is expected to be transparent to the user
Release 1.8.13 of May 2014 versus Release 1.8.12
In the C Interface (main library)
The following new C functions have been added:
To free memory allocated by HDF5 function calls:
H5free_memory
This function should be used to free memory that has been allocated by HDF5 API calls such as H5Tget_member_name and H5Pget_class_name.
The primary value for this call is on Windows systems, where it is common for application code and the HDF5 Library to be using different C run-time libraries (CRT). Using this new call
ensures that the same CRT handles both the allocation and free.
This function can also be useful in any case where the library uses a different memory manager than the application, such as when a debug memory manager is in use or when the HDF5 Library is
wrapped for use in a managed language like Python or Java.
New configuration property for the CORE driver:
H5Pset_core_write_tracking
H5Pget_core_write_tracking
With this property, the CORE driver, H5Pset_fapl_core, can be configured to track dirty regions in the file and write out only the changed regions on flush or close operations. Additionally,
a page aggregation size can be set that will aggregate small writes into larger writes. For example, setting a 1 mebibyte (1 MiB) page aggregation size will logically partition the the in-memory file
into 1 MiB pages that will be written out in their entirety if even a single byte is dirtied.
The following C functions have been modified:
H5Rget_name
If the name parameter is passed as NULL, then the size parameter is ignored and the function returns the size of the buffer required to read the name (not including the NULL terminator).
H5Zfilter_avail
This function has been updated to correctly identify dynamically loaded filters. If a filter is not found among registered filters, the function now checks for dynamically loaded filters.
In the C++ Interface
The following new features have been added:
Wrappers to the class H5Object to get an object’s name:
ssize_t getObjName(char *obj_name, size_t buf_size = 0)
ssize_t getObjName(H5std_string& obj_name, size_t len = 0)
H5std_string getObjName()
Wrappers to the class H5CommonFG to get a child object’s type from a group or file:
H5O_type_t childObjType(const H5std_string& objname)
H5O_type_t childObjType(const char* objname)
H5O_type_t childObjType(hsize_t index,
H5_index_t index_type=H5_INDEX_NAME,
H5_iter_order_t order=H5_ITER_INC, const char* objname=".")
Wrappers to the class DSetMemXferPropList for setting or getting a transform property list:
DSetMemXferPropList(const char* expression);
void setDataTransform(const char* expression)
void setDataTransform(const H5std_string& expression)
ssize_t getDataTransform(char* exp, size_t buf_size=0)
H5std_string getDataTransform()
Wrapper to CompType for setting the size of a compound datatype:
void setSize(size_t size)
Overloaded functions to provide prototypes that declare constant arguments const:
DataSet::fillMemBuf
DataSet::getVlenBufSize
DataSpace::extentCopy
DataType::commit
FileAccPropList::setSplit
H5File::getVFDHandle
Additional overload to the class H5Location to get a comment as a char*:
ssize_t getComment(const char* name, size_t buf_size, char* comment)
Additional overloads to the class Attribute to get an attribute’s name for convenience:
ssize_t getName(char* attr_name, size_t buf_size=0)
ssize_t getName(H5std_string& attr_name, size_t buf_size=0)
In the Fortran Interface
The following new Fortran subroutines have been added:
Fortran2003 subroutines:
h5pset_file_image_f
h5pget_file_image_f
h5fget_file_image_f (Added in Release 1.8.11, but not documented at that time.)
The following Fortran subroutine has been changed:
h5pset_chunk_cache_f
The values of the constants H5D_CHUNK_CACHE_NSLOTS_DFLT_F and H5D_CHUNK_CACHE_NBYTES_DFLT_F have been changed to INTEGER(KIND=size_t).
Other New Features
Parallel I/O support:
Parallel I/O support has been enhanced to allow collective I/O on point selections.
Thread safety (Windows only)
The thread-safe HDF5 library no longer leaks thread-local storage resources on Windows with Win32 threads. This cleanup can only be performed when the library is built as a shared library, so a
thread-safe HDF5 static library with Win32 threads is no longer supported.
This change affects only Windows environments.
Also see “Build and Configuration” below.
Command-line Tools with Changed Behavior
h5repack
h5repack has been updated to correctly handle dynamically loaded filters.
Build and Configuration
Thread safety
When configuring a thread-safe HDF5 Library with --enable-threadsafe, it is no longer necessary to specify --with-pthreads if the Pthreads library is in a standard location.
Removed Functions and Wrappers
The MPI-POSIX driver has been removed. The following C functions and the corresponding Fortran subroutines and C++ wrappers therefore are no longer included in the HDF5 distribution:
H5Pset_fapl_mpiposix
H5Pget_fapl_mpiposix
Applications performing parallel I/O should use the MPI-IO driver, H5Pset_fapl_mpio.
diffstat:
devel/hdf5/Makefile.common | 4 +-
devel/hdf5/PLIST | 51 +++++++++++------------
devel/hdf5/distinfo | 10 ++--
devel/hdf5/patches/patch-hl_examples_Makefile.in | 18 +++----
4 files changed, 40 insertions(+), 43 deletions(-)
diffs (137 lines):
diff -r 9b762fb8821a -r 1586d4d81e1f devel/hdf5/Makefile.common
--- a/devel/hdf5/Makefile.common Fri Apr 10 01:55:04 2015 +0000
+++ b/devel/hdf5/Makefile.common Fri Apr 10 02:49:56 2015 +0000
@@ -1,8 +1,8 @@
-# $NetBSD: Makefile.common,v 1.8 2014/02/14 09:09:40 adam Exp $
+# $NetBSD: Makefile.common,v 1.9 2015/04/10 02:49:56 wen Exp $
# used by devel/hdf5/Makefile
# used by devel/hdf5-c++/Makefile
-DISTNAME= hdf5-1.8.12
+DISTNAME= hdf5-1.8.14
CATEGORIES= devel
MASTER_SITES= ftp://ftp.hdfgroup.org/HDF5/current/src/
EXTRACT_SUFX= .tar.bz2
diff -r 9b762fb8821a -r 1586d4d81e1f devel/hdf5/PLIST
--- a/devel/hdf5/PLIST Fri Apr 10 01:55:04 2015 +0000
+++ b/devel/hdf5/PLIST Fri Apr 10 02:49:56 2015 +0000
@@ -1,4 +1,4 @@
-@comment $NetBSD: PLIST,v 1.22 2013/09/01 09:56:41 adam Exp $
+@comment $NetBSD: PLIST,v 1.23 2015/04/10 02:49:56 wen Exp $
bin/gif2h5
bin/h52gif
bin/h5cc
@@ -30,7 +30,6 @@
include/H5FDlog.h
include/H5FDmpi.h
include/H5FDmpio.h
-include/H5FDmpiposix.h
include/H5FDmulti.h
include/H5FDpublic.h
include/H5FDsec2.h
@@ -92,28 +91,28 @@
share/examples/hdf5/c/h5_write.c
share/examples/hdf5/c/ph5example.c
share/examples/hdf5/c/run-c-ex.sh
-share/examples/hdf5/hl/c/ex_ds1.c
-share/examples/hdf5/hl/c/ex_image1.c
-share/examples/hdf5/hl/c/ex_image2.c
-share/examples/hdf5/hl/c/ex_lite1.c
-share/examples/hdf5/hl/c/ex_lite2.c
-share/examples/hdf5/hl/c/ex_lite3.c
-share/examples/hdf5/hl/c/ex_table_01.c
-share/examples/hdf5/hl/c/ex_table_02.c
-share/examples/hdf5/hl/c/ex_table_03.c
-share/examples/hdf5/hl/c/ex_table_04.c
-share/examples/hdf5/hl/c/ex_table_05.c
-share/examples/hdf5/hl/c/ex_table_06.c
-share/examples/hdf5/hl/c/ex_table_07.c
-share/examples/hdf5/hl/c/ex_table_08.c
-share/examples/hdf5/hl/c/ex_table_09.c
-share/examples/hdf5/hl/c/ex_table_10.c
-share/examples/hdf5/hl/c/ex_table_11.c
-share/examples/hdf5/hl/c/ex_table_12.c
-share/examples/hdf5/hl/c/image24pixel.txt
-share/examples/hdf5/hl/c/image8.txt
-share/examples/hdf5/hl/c/pal_rgb.h
-share/examples/hdf5/hl/c/ptExampleFL.c
-share/examples/hdf5/hl/c/run-hlc-ex.sh
-share/examples/hdf5/hl/run-hl-ex.sh
share/examples/hdf5/run-all-ex.sh
+share/hdf5_examples/hl/c/ex_ds1.c
+share/hdf5_examples/hl/c/ex_image1.c
+share/hdf5_examples/hl/c/ex_image2.c
+share/hdf5_examples/hl/c/ex_lite1.c
+share/hdf5_examples/hl/c/ex_lite2.c
+share/hdf5_examples/hl/c/ex_lite3.c
+share/hdf5_examples/hl/c/ex_table_01.c
+share/hdf5_examples/hl/c/ex_table_02.c
+share/hdf5_examples/hl/c/ex_table_03.c
+share/hdf5_examples/hl/c/ex_table_04.c
+share/hdf5_examples/hl/c/ex_table_05.c
+share/hdf5_examples/hl/c/ex_table_06.c
+share/hdf5_examples/hl/c/ex_table_07.c
+share/hdf5_examples/hl/c/ex_table_08.c
+share/hdf5_examples/hl/c/ex_table_09.c
+share/hdf5_examples/hl/c/ex_table_10.c
+share/hdf5_examples/hl/c/ex_table_11.c
+share/hdf5_examples/hl/c/ex_table_12.c
+share/hdf5_examples/hl/c/image24pixel.txt
+share/hdf5_examples/hl/c/image8.txt
+share/hdf5_examples/hl/c/pal_rgb.h
+share/hdf5_examples/hl/c/ptExampleFL.c
+share/hdf5_examples/hl/c/run-hlc-ex.sh
+share/hdf5_examples/hl/run-hl-ex.sh
diff -r 9b762fb8821a -r 1586d4d81e1f devel/hdf5/distinfo
--- a/devel/hdf5/distinfo Fri Apr 10 01:55:04 2015 +0000
+++ b/devel/hdf5/distinfo Fri Apr 10 02:49:56 2015 +0000
@@ -1,8 +1,8 @@
-$NetBSD: distinfo,v 1.33 2014/09/24 10:40:57 jperkin Exp $
+$NetBSD: distinfo,v 1.34 2015/04/10 02:49:56 wen Exp $
-SHA1 (hdf5-1.8.12.tar.bz2) = 8414ca0e6ff7d08e423955960d641ec5f309a55f
-RMD160 (hdf5-1.8.12.tar.bz2) = b885803d35855007f2e66f1a376fff9d11d5c1ec
-Size (hdf5-1.8.12.tar.bz2) = 5994832 bytes
+SHA1 (hdf5-1.8.14.tar.bz2) = 3c48bcb0d5fb21a3aa425ed035c08d8da3d5483a
+RMD160 (hdf5-1.8.14.tar.bz2) = 21680eb5c3831870aef116e50b313512f70b624c
+Size (hdf5-1.8.14.tar.bz2) = 9503743 bytes
SHA1 (patch-c++_examples_Makefile.in) = 9ae14ae81abc9c858abb0d03b92e498b2113591c
SHA1 (patch-c++_examples_run-c++-ex.sh.in) = 58c38b2ba5557cdae2c4fe1e72c6fa55e5606f1e
SHA1 (patch-configure) = e60e951f6a7d81ab85b2413d6082576f7e719adb
@@ -10,6 +10,6 @@
SHA1 (patch-examples_run-c-ex.sh.in) = 744d3e6bbae1a9b496e3657db6a62fac78fcd7ed
SHA1 (patch-hl_c++_examples_Makefile.in) = a3310436f9f73946fba0d404158c990d68638f16
SHA1 (patch-hl_c++_examples_run-hlc++-ex.sh.in) = fba3d976adb02d80682ddc42a8ef64f6dddffa41
-SHA1 (patch-hl_examples_Makefile.in) = 2fe09e8a88eeca49db58908a6b4a3a70f01cb0b4
+SHA1 (patch-hl_examples_Makefile.in) = c303d95ca675cc9b414d1204c7ff5b23250e46bb
SHA1 (patch-hl_examples_run-hlc-ex.sh.in) = 38c2c112439d6febb023d638d965f04bbaa45d5f
SHA1 (patch-tools_h5jam_testh5jam.sh.in) = 89068ae1694c586f85b25240fda30549eddf2d0f
diff -r 9b762fb8821a -r 1586d4d81e1f devel/hdf5/patches/patch-hl_examples_Makefile.in
--- a/devel/hdf5/patches/patch-hl_examples_Makefile.in Fri Apr 10 01:55:04 2015 +0000
+++ b/devel/hdf5/patches/patch-hl_examples_Makefile.in Fri Apr 10 02:49:56 2015 +0000
@@ -1,17 +1,15 @@
-$NetBSD: patch-hl_examples_Makefile.in,v 1.1 2011/10/07 10:38:52 alnsn Exp $
-
-Fix paths to examples.
-
---- hl/examples/Makefile.in.orig 2011-05-10 14:20:48.000000000 +0000
+$NetBSD: patch-hl_examples_Makefile.in,v 1.2 2015/04/10 02:49:56 wen Exp $
+Fix EXAMPLEDIR
+--- hl/examples/Makefile.in.orig 2015-04-10 09:53:27.000000000 +0000
+++ hl/examples/Makefile.in
-@@ -362,8 +362,8 @@ CHECK_CLEANFILES = *.chkexe *.chklog *.c
+@@ -614,8 +614,8 @@ CHECK_CLEANFILES = *.chkexe *.chklog *.c
# Example directory
# Note: no '/' after DESTDIR. Explanation in commence.am
-EXAMPLEDIR = ${DESTDIR}$(exec_prefix)/share/hdf5_examples/hl/c
-EXAMPLETOPDIR = ${DESTDIR}$(exec_prefix)/share/hdf5_examples/hl
-+EXAMPLEDIR = ${DESTDIR}$(prefix)/share/examples/hdf5/hl/c
-+EXAMPLETOPDIR = ${DESTDIR}$(prefix)/share/examples/hdf5/hl
++EXAMPLEDIR = ${DESTDIR}$(prefix)/share/hdf5_examples/hl/c
++EXAMPLETOPDIR = ${DESTDIR}$(prefix)/share/hdf5_examples/hl
+ INSTALL_SCRIPT_FILES = run-hlc-ex.sh
+ INSTALL_TOP_SCRIPT_FILES = run-hl-ex.sh
- # Example programs.
- # Don't tell automake about them, because if it knew they were programs,
Home |
Main Index |
Thread Index |
Old Index