Source: insighttoolkit4
Version: 4.10.1-dfsg1-1
Severity: important
Tags: patch

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

Hi,

Please find attached a patch to support building against HDF5-1.10 currently in 
experimental. I intend to request a transition slot this week, and will NMU if 
need be.
Upstream bug report: https://issues.itk.org/jira/browse/ITK-3484

Thanks,

- -- System Information:
Debian Release: stretch/sid
  APT prefers testing
  APT policy: (500, 'testing')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 4.7.0-1-amd64 (SMP w/2 CPU cores)
Locale: LANG=fr_FR.UTF-8, LC_CTYPE=fr_FR.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)

-----BEGIN PGP SIGNATURE-----

iQEcBAEBCAAGBQJYExEgAAoJEO/obGx//s+DbxUH/3uCI1HADDL34Fb724BqkL5f
q8+nOpooNLuHg3fuFhFxzWrAI+UFItxacjXiZ77hb/UxpzDRjl2yKuMThtdB7fka
DHcWfEpZRGR2DkFKboKnt2ZSgHQxwCaD/GfN8Rzf7xE6niCKXO1eRrr+aO2Ob84y
XmRAh82S8NuDN94AqnseG3IVt77GPI+okPPzb9ZtVmAR2mHdOk23WvS+8TAJK7o8
S0C7SmCG+gIisVeuOEXopousHNTm4U8ZCy4ilfxRiPctBD2F8bWZvoHFZJTDM1DE
fyvFxixrZ+tFtjkUA49zGVbUHCHPxsNb4opGdE68xqynuZ0U15Wu6xH/JtXo3Pk=
=/vP0
-----END PGP SIGNATURE-----
diff -Nru insighttoolkit4-4.10.1-dfsg1/debian/changelog insighttoolkit4-4.10.1-dfsg1/debian/changelog
--- insighttoolkit4-4.10.1-dfsg1/debian/changelog	2016-10-12 13:42:21.000000000 +0200
+++ insighttoolkit4-4.10.1-dfsg1/debian/changelog	2016-10-28 10:13:14.000000000 +0200
@@ -1,3 +1,10 @@
+insighttoolkit4 (4.10.1-dfsg1-1.1) unstable; urgency=medium
+
+  * Non-maintainer upload
+  * New patch to support HDF5 1.10
+
+ -- Gilles Filippini <p...@debian.org>  Fri, 28 Oct 2016 10:12:49 +0200
+
 insighttoolkit4 (4.10.1-dfsg1-1) unstable; urgency=medium
 
   * New upstream version 
diff -Nru insighttoolkit4-4.10.1-dfsg1/debian/patches/hdf5-1.10.patch insighttoolkit4-4.10.1-dfsg1/debian/patches/hdf5-1.10.patch
--- insighttoolkit4-4.10.1-dfsg1/debian/patches/hdf5-1.10.patch	1970-01-01 01:00:00.000000000 +0100
+++ insighttoolkit4-4.10.1-dfsg1/debian/patches/hdf5-1.10.patch	2016-10-28 10:11:47.000000000 +0200
@@ -0,0 +1,99 @@
+Index: insighttoolkit4-4.10.1-dfsg1/Modules/IO/HDF5/src/itkHDF5ImageIO.cxx
+===================================================================
+--- insighttoolkit4-4.10.1-dfsg1.orig/Modules/IO/HDF5/src/itkHDF5ImageIO.cxx
++++ insighttoolkit4-4.10.1-dfsg1/Modules/IO/HDF5/src/itkHDF5ImageIO.cxx
+@@ -305,6 +305,8 @@ HDF5ImageIO
+   hsize_t numScalars(1);
+   H5::DataSpace scalarSpace(1,&numScalars);
+   H5::PredType scalarType =
++    H5::PredType::NATIVE_INT;
++  H5::PredType attrType =
+     H5::PredType::NATIVE_HBOOL;
+   H5::DataSet scalarSet =
+     this->m_H5File->createDataSet(path,
+@@ -318,10 +320,10 @@ HDF5ImageIO
+   const std::string isLongName("isLong");
+   H5::Attribute isLong =
+     scalarSet.createAttribute(isLongName,
+-                               scalarType,
++                               attrType,
+                                scalarSpace);
+   bool trueVal(true);
+-  isLong.write(scalarType,&trueVal);
++  isLong.write(attrType,&trueVal);
+   isLong.close();
+   int tempVal = static_cast<int>(value);
+   scalarSet.write(&tempVal,scalarType);
+@@ -336,6 +338,8 @@ HDF5ImageIO
+   hsize_t numScalars(1);
+   H5::DataSpace scalarSpace(1,&numScalars);
+   H5::PredType scalarType =
++    H5::PredType::NATIVE_UINT;
++  H5::PredType attrType =
+     H5::PredType::NATIVE_HBOOL;
+   H5::DataSet scalarSet =
+     this->m_H5File->createDataSet(path,
+@@ -349,10 +353,10 @@ HDF5ImageIO
+   const std::string isUnsignedLongName("isUnsignedLong");
+   H5::Attribute isUnsignedLong =
+     scalarSet.createAttribute(isUnsignedLongName,
+-                               scalarType,
++                               attrType,
+                                scalarSpace);
+   bool trueVal(true);
+-  isUnsignedLong.write(scalarType,&trueVal);
++  isUnsignedLong.write(attrType,&trueVal);
+   isUnsignedLong.close();
+   int tempVal = static_cast<int>(value);
+   scalarSet.write(&tempVal,scalarType);
+@@ -840,10 +844,23 @@ HDF5ImageIO
+         }
+       else if(metaDataType == H5::PredType::NATIVE_UCHAR)
+         {
+-        this->StoreMetaData<unsigned char>(&metaDict,
+-                                           localMetaDataName,
+-                                           name,
+-                                           metaDataDims[0]);
++        if(doesAttrExist(metaDataSet,"isBool"))
++          {
++          // itk::Array<bool> apparently can't
++          // happen because vnl_vector<bool> isn't
++          // instantiated
++          bool val;
++          int tmpVal = this->ReadScalar<int>(localMetaDataName);
++          val = tmpVal != 0;
++          EncapsulateMetaData<bool>(metaDict,name,val);
++          }
++        else
++          {
++          this->StoreMetaData<unsigned char>(&metaDict,
++                                             localMetaDataName,
++                                             name,
++                                             metaDataDims[0]);
++          }
+         }
+       else if(metaDataType == H5::PredType::NATIVE_SHORT)
+         {
+@@ -861,10 +878,18 @@ HDF5ImageIO
+         }
+       else if(metaDataType == H5::PredType::NATIVE_UINT)
+         {
+-        this->StoreMetaData<unsigned int>(&metaDict,
+-                                          localMetaDataName,
+-                                          name,
+-                                          metaDataDims[0]);
++        if(doesAttrExist(metaDataSet,"isUnsignedLong"))
++          {
++          unsigned long val = this->ReadScalar<unsigned long>(localMetaDataName);
++          EncapsulateMetaData<unsigned long>(metaDict,name,val);
++          }
++        else
++          {
++          this->StoreMetaData<unsigned int>(&metaDict,
++                                            localMetaDataName,
++                                            name,
++                                            metaDataDims[0]);
++          }
+         }
+       else if(metaDataType == H5::PredType::NATIVE_LONG)
+         {
diff -Nru insighttoolkit4-4.10.1-dfsg1/debian/patches/series insighttoolkit4-4.10.1-dfsg1/debian/patches/series
--- insighttoolkit4-4.10.1-dfsg1/debian/patches/series	2016-10-12 13:42:21.000000000 +0200
+++ insighttoolkit4-4.10.1-dfsg1/debian/patches/series	2016-10-28 10:10:01.000000000 +0200
@@ -1,3 +1,4 @@
+hdf5-1.10.patch
 nrrdio-linking.patch
 #bsd-hdf5.patch
 atomic_load.patch

Reply via email to