# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
set shortversion [join [lrange [split ${version} .] 0 1] .]
maintainers {mmoll @mamoll} openmaintainer
description HDF5 general purpose library and file format for storing\
long_description HDF5 is a data model, library, and file format for storing\
and managing data. It supports an unlimited variety of\
datatypes, and is designed for flexible and efficient I/O\
and for high volume and complex data. HDF5 is portable and\
is extensible, allowing applications to evolve in their use\
of HDF5. The HDF5 Technology suite includes tools and\
applications for managing, manipulating, viewing, and\
analyzing data in the HDF5 format.
homepage https://portal.hdfgroup.org/display/HDF5
https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-${shortversion}/hdf5-${version}/src
checksums rmd160 1df1af071878997f04655212fa67360990861f5a \
sha256 1cad5b7bfdf128dfc53cd16fba48f6e7ae4e93c75c371d9ec8dfc4df0c1fcb71 \
patchfiles patch-tools-src-misc-h5cc.in.diff
# llvm-gcc-4.2 produced code fails type conversion tests
# Upstream suggestion is use -O0. Clang-produced code passes all tests.
compiler.blacklist llvm-gcc-4.2
# #pragma pack() results in "too many #pragma options align=reset"
compiler.blacklist-append gcc-3.3 gcc-4.0 gcc-4.2 apple-gcc-4.2
if {[vercmp ${xcodeversion} 4.0] < 0} {
# configure.cxx is still /usr/bin/llvm-g++-4.2
compiler.blacklist-append clang
# Use lib/hdf5 rather than hdf5/lib plugin directory
configure.args --with-zlib=yes \
--enable-build-mode=production --disable-fortran \
--disable-cxx --disable-hl --enable-shared --enable-static \
--disable-parallel --disable-threadsafe \
--with-default-plugindir=${prefix}/lib/hdf5
# http://mail.hdfgroup.org/pipermail/hdf-forum_hdfgroup.org/2010-March/002682.html
default_variants +cxx +hl
if {[variant_isset universal]} {