commit 70208ce99f797b4966bbdc7c3b2d9c4de047369a683436620302cf3a3834ee16 Author: Stephan Kulow Date: Fri Mar 9 20:23:35 2012 +0000 Accepting request 107061 from devel:libraries:c_c++ Fixed the rpmlint warning for the license. Changed from BSD to BSD-3-Clause. OBS-URL: https://build.opensuse.org/request/show/107061 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/hdf5?expand=0&rev=1 diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..57affb6 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.osc diff --git a/h5comp b/h5comp new file mode 100644 index 0000000..e976c65 --- /dev/null +++ b/h5comp @@ -0,0 +1,10 @@ +#!/bin/bash + +ARCH=$(uname -m) + +case $ARCH in + x86_64 | ppc64 | ia64 | s390 ) BITS=64;; + * ) BITS=32;; +esac + +exec $0-${BITS} "$@" diff --git a/hdf5-1.8.8.tar.bz2 b/hdf5-1.8.8.tar.bz2 new file mode 100644 index 0000000..a6edfb6 --- /dev/null +++ b/hdf5-1.8.8.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b0ebb0b5478c6c0427631d4ad08f96e39f1b09fde615aa98d2a1b8fb7f6dced3 +size 5827394 diff --git a/hdf5-LD_LIBRARY_PATH.patch b/hdf5-LD_LIBRARY_PATH.patch new file mode 100644 index 0000000..c80da4e --- /dev/null +++ b/hdf5-LD_LIBRARY_PATH.patch @@ -0,0 +1,33 @@ +diff -up hdf5-1.8.8/configure.LD_LIBRARY_PATH hdf5-1.8.8/configure +--- hdf5-1.8.8/configure.LD_LIBRARY_PATH 2011-11-16 11:21:54.511269486 -0700 ++++ hdf5-1.8.8/configure 2011-11-16 11:28:18.673392600 -0700 +@@ -26746,8 +26746,6 @@ $as_echo_n "checking how to print long l + if ${hdf5_cv_printf_ll+:} false; then : + $as_echo_n "(cached) " >&6 + else +- LD_LIBRARY_PATH="$LD_LIBRARY_PATH`echo $AM_LDFLAGS $LDFLAGS | sed -e 's/-L/:/g' -e 's/ //g'`" +-export LD_LIBRARY_PATH + + for hdf5_cv_printf_ll in l ll L q unknown; do + if test "$cross_compiling" = yes; then : +diff -up hdf5-1.8.8/src/Makefile.in.LD_LIBRARY_PATH hdf5-1.8.8/src/Makefile.in +--- hdf5-1.8.8/src/Makefile.in.LD_LIBRARY_PATH 2011-11-15 08:13:54.000000000 -0700 ++++ hdf5-1.8.8/src/Makefile.in 2011-11-16 11:43:42.938914069 -0700 +@@ -1267,8 +1267,6 @@ help: + # Remove the generated .c file if errors occur unless HDF5_Make_Ignore + # is set to ignore the error. + H5Tinit.c: H5detect$(EXEEXT) +- LD_LIBRARY_PATH="$$LD_LIBRARY_PATH`echo $(LDFLAGS) | \ +- sed -e 's/-L/:/g' -e 's/ //g'`" \ + $(RUNSERIAL) ./H5detect$(EXEEXT) > $@ || \ + (test $$HDF5_Make_Ignore && echo "*** Error ignored") || \ + ($(RM) $@ ; exit 1) +@@ -1279,8 +1277,6 @@ H5Tinit.c: H5detect$(EXEEXT) + # Remove the generated .c file if errors occur unless HDF5_Make_Ignore + # is set to ignore the error. + H5lib_settings.c: H5make_libsettings$(EXEEXT) libhdf5.settings +- LD_LIBRARY_PATH="$$LD_LIBRARY_PATH`echo $(LDFLAGS) | \ +- sed -e 's/-L/:/g' -e 's/ //g'`" \ + $(RUNSERIAL) ./H5make_libsettings$(EXEEXT) > $@ || \ + (test $$HDF5_Make_Ignore && echo "*** Error ignored") || \ + ($(RM) $@ ; exit 1) diff --git a/hdf5-non_void_return.patch b/hdf5-non_void_return.patch new file mode 100644 index 0000000..4cd84c7 --- /dev/null +++ b/hdf5-non_void_return.patch @@ -0,0 +1,50 @@ +Index: hl/src/H5LTanalyze.l +=================================================================== +--- hl/src/H5LTanalyze.l.orig 2011-11-27 14:19:17.000000000 +0100 ++++ hl/src/H5LTanalyze.l 2011-11-27 14:20:12.619164660 +0100 +@@ -184,6 +184,7 @@ int my_yyinput(char *buf, int max_size) + int H5LTyyerror(char *msg) + { + printf("ERROR: %s before \"%s\".\n", msg, yytext); ++ return (0); // return from non void fix + } + + int yywrap() +Index: test/dt_arith.c +=================================================================== +--- test/dt_arith.c.orig 2011-11-27 14:22:13.000000000 +0100 ++++ test/dt_arith.c 2011-11-27 14:22:21.908435252 +0100 +@@ -3470,6 +3470,7 @@ error: + else if(run_test==TEST_DENORM || run_test==TEST_SPECIAL) + return 1; + #endif ++ return 1; // return from non void fix + } + + +Index: tools/h5diff/h5diff_common.c +=================================================================== +--- tools/h5diff/h5diff_common.c.orig 2011-11-07 23:11:35.000000000 +0100 ++++ tools/h5diff/h5diff_common.c 2011-11-27 14:23:49.105943847 +0100 +@@ -69,6 +69,7 @@ static check_options(diff_opt_t* options + printf("Try '-h' or '--help' option for more information or see the %s entry in the 'HDF5 Reference Manual'.\n", PROGRAMNAME); + h5diff_exit(EXIT_FAILURE); + } ++ return (0); // no return in non void function fix + } + + +Index: hl/src/H5LTanalyze.c +=================================================================== +--- hl/src/H5LTanalyze.c.orig 2011-11-07 23:11:38.000000000 +0100 ++++ hl/src/H5LTanalyze.c 2011-11-27 21:59:27.188216404 +0100 +@@ -2332,6 +2332,9 @@ int my_yyinput(char *buf, int max_size) + int H5LTyyerror(char *msg) + { + printf("ERROR: %s before \"%s\".\n", msg, yytext); ++ return (0); // return from non void fix. Fix is already applied at lexer ++ // file but i will not re-generate this file as it looks it is changed ++ // by hand ... + } + + int yywrap() diff --git a/hdf5.changes b/hdf5.changes new file mode 100644 index 0000000..afc7a68 --- /dev/null +++ b/hdf5.changes @@ -0,0 +1,250 @@ +------------------------------------------------------------------- +Sun Feb 19 04:46:42 UTC 2012 - ocefpaf@gmail.com + +- Removed "Fixup headers and scripts for multiarch". + +------------------------------------------------------------------- +Wed Nov 30 09:02:37 UTC 2011 - jengelh@medozas.de + +- Remove redundant/unwanted tags/section (cf. specfile guidelines) +- Use %_smp_mflags for parallel building +- Accurate rpmgroup selection for shared library packages + +------------------------------------------------------------------- +Tue Nov 29 20:05:19 UTC 2011 - ocefpaf@gmail.com + +- un-commented --with-pthread and --with-ssl. + +------------------------------------------------------------------- +Mon Nov 28 14:34:24 UTC 2011 - ocefpaf@gmail.com + +- Update to 1.8.8 + * Add patch to avoid setting LD_LIBRARY_PATH + * Add patch hdf5-non_void_return.patch + * Fixed non_void_return (thanks to Boris Manojlovic). + * Drop tstlite patch + * drop ppc64 longdouble patch, not required anymore + * Catch up with some Fedora modifications + - Add rpm macro %%{_hdf5_version} for convenience + * No Fortran modules for opensuse < 11.4 (Do not pass make check) + + New Features + ============ + + Configuration + ------------- + - Added the --enable-fortran2003 flag to enable Fortran2003 support + in the HDF5 Fortran library. The flag should be used along with the + --enable-fortran flag and takes affect only when the Fortran compiler + is Fortran2003 compliant. (EIP - 2011/11/14) + - Added checks for clock_gettime and mach/mach_time.h to both configure and + CMake. This will support the move from gettimeofday to clock_gettime's + monotonic timer in the profiling code in a future release. + (DER - 2011/10/12) + + Library + ------- + - The Windows VFD code has been removed with the exception of the functions + which set it (H5Pset_fapl_windows, for example). Setting the Windows + VFD now really sets the SEC2 VFD. The WINDOWS_MAX_BUF and + WINDOWS_USE_STDIO configuration options and #defines have also been + removed. NOTE: Since the Windows VFD was a clone of the SEC2 VFD, this + change should be transparent to users. + (DER - 2011/10/12 - HDFFV-7740, HDFFV-7744) + - H5Tcreate now supports the string type (fixed-length and variable- + length). (SLU - 2011/05/20) + + Parallel Library + ---------------- + - Added new H5Pget_mpio_actual_chunk_opt_mode and + H5Pget_mpio_actual_io_mode API routines for querying whether/how + a collective I/O operation completed. (QAK - 2011/10/12) + + Tools + ----- + - None + + High-Level APIs + --------------- + - Added the following Fortran wrappers for the Dimension Scale APIs: + h5dsset_scale_f + h5dsattach_scale_f + h5dsdetach_scale_f + h5dsis_attached_f + h5dsis_scale_f + h5dsset_label_f + h5dsget_label_f + h5dsget_scale_name_f + h5dsget_num_scales_f + (EIP for SB - 2011/10/13 - HDFFV-3797) + + Fortran API + ----------- + - The HDF5 Fortran library was enhanced to support the Fortran 2003 standard. + The following features are available when the HDF5 library is configured + using the --enable-fortran and --enable-fortran2003 configure flags AND + if the Fortran compiler is Fortran 2003 compliant: + + - Subroutines overloaded with the C_PTR derived type: + h5pget_f + h5pget_fill_value_f + h5pinsert_f + h5pregister_f + h5pset_f + h5pset_fill_value_f + h5rcreate_f + h5rderefrence_f + h5rget_name_f + h5rget_obj_type_f + - Subroutines overloaded with the C_PTR derived type + and simplified signatures: + h5aread_f + h5awrite_f + h5dread_f + h5dwrite_f + - New subroutines + h5dvlen_reclaim_f + h5literate_by_name_f + h5literate_f + h5ovisit_f + h5tconvert_f + h5pset_nbit_f + h5pset_scaleoffset_f + - Subroutines with additional optional parameters: + h5pcreate_class_f + (EIP - 2011/10/14) + + C++ API + ------- + - None + +------------------------------------------------------------------- +Thu Jun 2 20:39:35 UTC 2011 - ocefpaf@yahoo.com.br + +- uncomment make check + +------------------------------------------------------------------- +Tue May 24 14:37:23 UTC 2011 - pgajdos@novell.com + +- updated to 1.8.7 + +------------------------------------------------------------------- +Fri Apr 29 16:11:29 CEST 2011 - pth@suse.de + +- undrop package. +- Do type-punning using unions to be able to compile without + -fno-strict-aliasing. +- Don't use macros in patch names. +- Use _cv_ in variables to be cached by configure. + +------------------------------------------------------------------- +Thu May 7 19:40:59 CEST 2009 - pgajdos@suse.cz + +- fixed build with new gcc, see [bnc#501751] + +------------------------------------------------------------------- +Mon Mar 2 17:00:47 CET 2009 - crrodriguez@suse.de + +- save 9MB removing static libraries + +------------------------------------------------------------------- +Tue Jan 13 11:41:28 CET 2009 - pgajdos@suse.cz + +- updated to 1.8.2: + - Upgraded libtool to version 2.2.6a. (MAM - 2008/10/15). + - Added two new public routines: H5Pget_elink_fapl() and + H5Pset_elink_fapl(). (see bug #1247) (VC - 2008/10/13) + - Improved free space tracking in file to be faster. (QAK - 2008/10/06) + - Added 'mounted' field to H5G_info_t struct. (QAK - 2008/07/15) + - h5repack: added new options -u and -b to add a userblock to an HDF5 + file during the repack. (PVN - 2008/08/26) + - h5repack: added options -t and -a to call H5Pset_alignment while + creating a repacked file. (PVN - 2008/08/29) + - h5ls: added capability to traverse through external links when the -r + (recursive) flag is given. (NAF - 2008/09/16) + - h5ls: added -E option to enable traversal of external links. + h5ls will not traverse external links without this flag being set. + (NAF - 2008/10/06) + - h5dump: when -b flag is used without a keyword after it, binary + output defaults to NATIVE. MEMORY keyword was deprecated + and replaced by NATIVE keyword. (PVN - 2008/10/30) + - h5diff: returns 1 when file graphs differ by any object. + Error return code was changed to 2 from -1. (PVN - 2008/10/30) + - h5import: TEXTFPE (scientific format) was deprecated. Use TEXTFP + instead (PVN - 2008/10/30) + - Added optional parameter 'mounted' to H5Gget_info_f, + H5Gget_info_by_idx_f, H5Gget_info_by_name_f (MSB - 2008/09/24) + - Added H5Tget_native_type_f (MSB - 2008/09/30) + - These member functions were added as wrapper for H5Rdereference to + replace the incorrect IdComponent::dereference(). + void H5Object::dereference(H5Object& obj, void* ref, + H5R_type_t ref_type=H5R_OBJECT) + void H5Object::dereference(H5File& h5file, void* ref, + H5R_type_t ref_type=H5R_OBJECT) + void H5Object::dereference(Attribute& obj, void* ref, + H5R_type_t ref_type=H5R_OBJECT) + In addition, these constructors were added to create the associated + objects by way of dereference: + DataSet(H5Object& obj, void* ref, H5R_type_t ref_type=H5R_OBJECT) + DataSet(H5File& file, void* ref, H5R_type_t ref_type=H5R_OBJECT) + DataSet(Attribute& attr, void* ref, H5R_type_t ref_type=H5R_OBJECT) + Group(H5Object& obj, void* ref, H5R_type_t ref_type=H5R_OBJECT) + Group(H5File& obj, void* ref, H5R_type_t ref_type=H5R_OBJECT) + Group(Attribute& attr, void* ref, H5R_type_t ref_type=H5R_OBJECT) + DataType(H5Object& obj, void* ref, H5R_type_t ref_type=H5R_OBJECT) + DataType(H5File& file, void* ref, H5R_type_t ref_type=H5R_OBJECT) + DataType(Attribute& attr, void* ref, H5R_type_t ref_type=H5R_OBJECT) + (BMR - 2008/10/29) +- removed destdir.patch + + +------------------------------------------------------------------- +Mon Jan 12 11:13:33 CET 2009 - pgajdos@suse.cz + +- fortran modules builds from now [bnc#457593] + +------------------------------------------------------------------- +Tue Nov 11 11:49:54 CET 2008 - pgajdos@suse.cz + +- fixing build of fortran interface moved to the future + +------------------------------------------------------------------- +Wed Jul 2 10:45:51 CEST 2008 - pgajdos@suse.cz + +- updated to 1.8.1 [bnc#401626] + * Enhanced group object management + * Enhanced attribute management and more efficient meta data handling + * Expanded datatype features + * Creation order tracking and indexing + * Improved meta data caching and cache control + * UTF-8 encoding + * New I/O filters: n-bit and scale+offset compression + * New link (H5L) and object (H5O) interfaces and features + * External and user-defined links + * New high-level APIs: + HDF5 Packet Table (H5PT) and HDF5 Dimension Scale (H5DS) + * C++ and Fortran interfaces for older high-level APIs: + H5Lite (H5LT), H5Image (H5IM), and H5Table (H5TB) + * New and improved tools +- removed doc package (doc/html no longer provided with package) +- octave builds againist 1.6 compatibility stuff + +------------------------------------------------------------------- +Wed May 7 13:12:11 CEST 2008 - pgajdos@suse.cz + +- repaired no-return-in-nonvoid-function + (noreturn.patch) + +------------------------------------------------------------------- +Mon Apr 28 11:43:08 CEST 2008 - pgajdos@suse.cz + +- repaired build for + * ia64 (%ifarch in hdf5.spec) + * s390, s390x (s390.patch) + +------------------------------------------------------------------- +Tue Mar 25 11:11:13 CET 2008 - pgajdos@suse.cz + +- package moved from BS, project science +- needed by octave 3.0 + diff --git a/hdf5.spec b/hdf5.spec new file mode 100644 index 0000000..38b3a8c --- /dev/null +++ b/hdf5.spec @@ -0,0 +1,217 @@ +# +# spec file for package hdf5 (Version 1.8.8) +# +# Copyright (c) 2009-2011 SUSE LINUX Products GmbH, Nuernberg, Germany. +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# + +%define hdf5_libver 0 +%define libname libhdf5 + +Name: hdf5 +Version: 1.8.8 +Release: 0 +Summary: A general purpose library and file format for storing scientific data +License: BSD-3-Clause +Group: Development/Libraries/Other +URL: http://www.hdfgroup.org/HDF5/ +Source0: http://www.hdfgroup.org/ftp/HDF5/current/src/hdf5-%{version}%{?snaprel}.tar.bz2 +Source1: h5comp +Patch0: hdf5-LD_LIBRARY_PATH.patch +Patch1: hdf5-non_void_return.patch +BuildRoot: %{_tmppath}/%{name}-%{version}-build +BuildRequires: krb5-devel, openssl-devel, zlib-devel, gcc-fortran, gcc-c++ +BuildRequires: fdupes + +%description +HDF5 is a general purpose library and file format for storing scientific data. +HDF5 can store two primary objects: datasets and groups. A dataset is +essentially a multidimensional array of data elements, and a group is a +structure for organizing objects in an HDF5 file. Using these two basic +objects, one can create and store almost any kind of scientific data +structure, such as images, arrays of vectors, and structured and unstructured +grids. You can also mix and match them in HDF5 files according to your needs. + +%package -n %{libname}-%{hdf5_libver} +Summary: HDF 5 runtime libraries +Group: System/Libraries + +%description -n %{libname}-%{hdf5_libver} +The HDF project involves the development and support of software and +file formats for scientific data management. The HDF software includes +I/O libraries and tools for analyzing, visualizing, and converting +scientific data. + +This package contains the HDF 5 runtime libraries. + +%package -n %{libname}_hl%{hdf5_libver} +Summary: HDF 5 runtimelibraries +Group: System/Libraries + +%description -n %{libname}_hl%{hdf5_libver} +The HDF project involves the development and support of software and +file formats for scientific data management. The HDF software includes +I/O libraries and tools for analyzing, visualizing, and converting +scientific data. + +This package contains the HDF 5 runtime libraries. + +%package devel +Summary: Hierarchical Data File Format Version 5 +Group: Development/Libraries/Parallel +Requires: %{name} = %{version} +# Required by Fortran programs? +Requires: %{libname}-%{hdf5_libver} = %{version} +Requires: %{libname}_hl%{hdf5_libver} = %{version} + +%description devel +The HDF project involves the development and support of software and +file formats for scientific data management. The HDF software includes +I/O libraries and tools for analyzing, visualizing, and converting +scientific data. + +This package contains all files needed to create projects that use +hdf5. + +%package devel-static +Summary: Hierarchical Data File Format Version 5 - static libraries +Group: Development/Libraries/C and C++ +Requires: hdf5-devel + +%description devel-static +The HDF project involves the development and support of software and +file formats for scientific data management. The HDF software includes +I/O libraries and tools for analyzing, visualizing, and converting +scientific data. + +This package provides the static libraries. + +%package examples +Summary: Examples for HDF5 +Group: Development/Libraries/Parallel +Requires: %{libname}-%{hdf5_libver} = %{version} +Requires: %{libname}_hl%{hdf5_libver} = %{version} + +%description examples +Examples of HDF5 library use. + +%prep +%setup -q +%patch0 -p1 -b .LD_LIBRARY_PATH +%patch1 -b .non_void_return + +#This should be fixed in 1.8.7 +find \( -name '*.[ch]*' -o -name '*.f90' -o -name '*.txt' \) -exec chmod -x {} + + +%build +export CC=gcc +export CXX=g++ +export F9X=gfortran +export CFLAGS="${RPM_OPT_FLAGS/O2/O0}" +# export CFLAGS="%%{optflags} -fno-strict-aliasing" + +%configure \ + --disable-dependency-tracking \ +%if 0%{?suse_version} > 1140 + --enable-fortran \ +%endif + --enable-hl \ + --enable-shared \ + --enable-cxx \ + --with-pthread \ + --with-ssl \ +# --with-pic + +make %{?_smp_mflags} + +%install +%makeinstall docdir=%{buildroot}%{_docdir} +rm -rf %{buildroot}/%{_libdir}/*.la %{buildroot}/%{_libdir}/*.settings + +find %{buildroot}%{_datadir}/hdf5_examples -type f \ + | grep -v ".sh$" | xargs chmod 644 + +%fdupes -s %{buildroot}/%{_datadir} + +%if 0%{?suse_version} > 1140 + binaries="h5c++ h5cc h5fc" +%else + binaries="h5c++ h5cc" +%endif + +# rpm macro for version checking +mkdir -p %{buildroot}%{_sysconfdir}/rpm +cat > %{buildroot}%{_sysconfdir}/rpm/macros.hdf5 < 1140 +%{_libdir}/libhdf5_fortran.so.* +%endif + + +%files -n libhdf5_hl%{hdf5_libver} +%defattr(0755,root,root) +%{_libdir}/libhdf5_hl.so.* +%{_libdir}/libhdf5_hl_cpp.so.* +%if 0%{?suse_version} > 1140 +%{_libdir}/libhdf5hl_fortran.so.* +%endif + +%files devel +%defattr(-,root,root) +%config(noreplace) %{_sysconfdir}/rpm/macros.hdf5 +%{_includedir}/*.h +%{_libdir}/*.so +%if 0%{?suse_version} > 1140 +%{_includedir}/*.mod +%endif + +%files devel-static +%defattr(-,root,root) +%{_libdir}/*.a + +%files examples +%defattr(-,root,root) +%{_datadir}/hdf5_examples + +%changelog