Description: disable blosc on arm
 blosc compression is not functional due to the reliance on unaligned
 memory access. This patch replaces all blosc write functionality with
 zlib (default fallback) and disables a test reading blosc compressed data.
 One could also disable reading by removing it from all_complibs in
 tables/filters.py but that would require fixing up all tests to expect
 exceptions.
Bug-Debian: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=661286
Bug: https://github.com/FrancescAlted/blosc/issues/3
Author: Julian Taylor <jtaylor@ubuntu.com>
--- a/tables/utilsExtension.pyx
+++ b/tables/utilsExtension.pyx
@@ -361,6 +361,14 @@
 
   libnames = ('hdf5', 'zlib', 'lzo', 'bzip2', 'blosc')
 
+  def _arch_without_blosc():
+    import platform
+    arch = platform.machine().lower()
+    for a in ["arm", "sparc", "mips"]:
+      if a in arch:
+        return True
+    return False
+
   if strcmp(name, "hdf5") == 0:
     binver, strver = getHDF5VersionInfo()
     return (binver, strver, None)     # Should be always available
@@ -376,7 +384,8 @@
       (bzip2_version_string, bzip2_version_date) = bzip2_version
       return (bzip2_version, bzip2_version_string, bzip2_version_date)
   elif strcmp(name, "blosc") == 0:
-    return (blosc_version, blosc_version_string, blosc_version_date)
+    if not _arch_without_blosc():
+      return (blosc_version, blosc_version_string, blosc_version_date)
   else:
     raise ValueError("""\
 asked version of unsupported library ``%s``; \
--- a/tables/tests/test_all.py
+++ b/tables/tests/test_all.py
@@ -15,7 +15,13 @@
 from tables.tests import common
 from tables.utils import detectNumberOfCores
 
-
+def _arch_without_blosc():
+   import platform
+   arch = platform.machine().lower()
+   for a in ["arm", "sparc", "mips"]:
+      if a in arch:
+         return True
+   return False
 
 def get_tuple_version(hexversion):
     """Get a tuple from a compact version in hex."""
@@ -133,9 +139,10 @@
     if tinfo is not None:
         print "BZIP2 version:     %s (%s)" % (tinfo[1], tinfo[2])
     tinfo = tables.whichLibVersion("blosc")
-    blosc_date = tinfo[2].split()[1]
-    if tinfo is not None:
-        print "Blosc version:     %s (%s)" % (tinfo[1], blosc_date)
+    if not _arch_without_blosc():
+      blosc_date = tinfo[2].split()[1]
+      if tinfo is not None:
+          print "Blosc version:     %s (%s)" % (tinfo[1], blosc_date)
     try:
         from Cython.Compiler.Main import Version as Cython_Version
         print 'Cython version:    %s' % Cython_Version.version
--- a/tables/tests/test_basics.py
+++ b/tables/tests/test_basics.py
@@ -2343,7 +2343,7 @@
         theSuite.addTest(unittest.makeSuite(PythonAttrsTestCase))
         theSuite.addTest(unittest.makeSuite(StateTestCase))
         theSuite.addTest(unittest.makeSuite(FlavorTestCase))
-        theSuite.addTest(unittest.makeSuite(BloscBigEndian))
+        #theSuite.addTest(unittest.makeSuite(BloscBigEndian))
         theSuite.addTest(unittest.makeSuite(BloscSubprocess))
 
     return theSuite
