Summary: Hierarchical Data Format Library Name: HDF Version: 4.1r5 Release: 5mdk License: BSD-like (see COPYING) Group: Development/C Source: ftp://hdf.ncsa.uiuc.edu/HDF/HDF/HDF_Current/%{name}%{version}.tar.bz2 Patch0: %{name}4.1r4-proto.patch.bz2 Patch1: HDF-fix-stupid-cpp.patch.bz2 Patch2: HDF-bigendian.patch.bz2 Patch3: HDF-ppc.patch.bz2 Patch4: HDF-ia64.patch.bz2 Patch5: HDF-zlib-zfree.patch.bz2 Patch6: HDF4.1r5-libm.patch.bz2 Patch7: HDF4.1r5-x86_64.patch.bz2 Patch8: HDF4.1r5-system-libs.patch.bz2 Patch9: HDF4.1r5-emul-uncompress.patch.bz2 Patch10: HDF4.1r5-ia64.patch.bz2 URL: http://hdf.ncsa.uiuc.edu BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root BuildRequires: byacc flex gcc-g77 groff BuildRequires: zlib-devel libjpeg-devel Provides: HDF-devel %description HDF is a multi-object file format that facilitates the transfer of various types of scientific data between machines and operating systems. HDF allows self-definitions of data content and easy extensibility for future enhancements or compatibility with other standard formats. HDF includes Fortran and C calling interfaces, and utilities to prepare raw image of data files or for use with other NCSA software. The HDF library contains interfaces for storing and retrieving compressed or uncompressed 8-bit and 24=bit raster images with palettes, n-Dimensional scientific datasets and binary tables. AN interface is also included that allows arbitrary grouping of other HDF objects. %package util Summary: HDF utilities and test data files Group: Graphics %description util This package contains utilities for HDF data manipulation and test data files. %prep %setup -q -n %{name}%{version} %patch -p1 %patch1 -p1 %ifarch ppc %patch2 -p1 -b .bigend %patch3 -p1 -b .ppc %endif %patch4 -p1 -b .ia64old %patch5 -p1 -b .zlib %patch6 -p1 -b .libm %patch7 -p1 -b .x86_64 %patch8 -p1 -b .system-libs %patch9 -p1 -b .emul-uncompress %patch10 -p1 -b .ia64 # Let it recognize x86-64 libtoolize --copy --force for file in $(find hdf -name config.guess -o -name config.sub); do cp -p ${file##*/} $file done # Make it lib64 aware find . -name Makefile.in | \ xargs perl -pi -e "s,^(libdir|LIBDIR)\s+=.+,\1 = \\\$(prefix)/%{_lib}," %build # Build with PIC in case static library is built into a DSO afterwards %ifarch ia64 x86_64 export RPM_OPT_FLAGS="$RPM_OPT_FLAGS -DPIC -fPIC" %endif CFLAGS="$RPM_OPT_FLAGS" CXXFLAGS="$RPM_OPT_FLAGS" \ %ifarch ppc ./configure --prefix=%{_prefix} i386-unknown-linux %else ./configure --prefix=%{_prefix} %endif make CFLAGS="$RPM_OPT_FLAGS -ansi -D_BSD_SOURCE" FFLAGS="$RPM_OPT_FLAGS" echo ====================TESTING========================= make CFLAGS="$RPM_OPT_FLAGS -ansi -D_BSD_SOURCE" FFLAGS="$RPM_OPT_FLAGS" \ %ifarch ia64 test -k || echo make test failed %else test %endif echo ====================TESTING END===================== mkdir -p samples cp -a hdf/util/testfiles/* samples %install rm -rf $RPM_BUILD_ROOT %makeinstall # remove files already provided by other packages (libjpeg, netcdf, zlib) rm -f $RPM_BUILD_ROOT%{_includedir}/{jconfig.h,jerror.h,jmorecfg.h,jpeglib.h} \ $RPM_BUILD_ROOT%{_includedir}/{zconf.h,zlib.h} \ $RPM_BUILD_ROOT%{_bindir}/{ncdump,ncgen} \ $RPM_BUILD_ROOT%{_includedir}/netcdf.{h,inc,f90} mv -f $RPM_BUILD_ROOT%{_bindir}/vmake $RPM_BUILD_ROOT%{_bindir}/vmake-hdf mkdir -p $RPM_BUILD_ROOT%{_datadir}/hdf cp -aR samples $RPM_BUILD_ROOT%{_datadir}/hdf/ # remove unpackaged files rm -f $RPM_BUILD_ROOT%{_prefix}/man/man1/nc{gen,dump}.1* %clean rm -rf $RPM_BUILD_ROOT %files %defattr(-,root,root) %doc COPYING README %{_libdir}/libdf.a %{_libdir}/libmfhdf.a %{_includedir}/* %{_mandir}/*/* %files util %defattr(-,root,root) %doc COPYING README %dir %{_datadir}/hdf %dir %{_datadir}/hdf/samples %{_bindir}/* %attr(644,root,root) %{_datadir}/hdf/samples/* %changelog * Sun Dec 8 2002 Gwenole Beauchesne <gbeauchesne@mandrakesoft.com> 4.1r5-5mdk - Patch7: Add support for x86-64 - Patch8: Use system libraries (zlib, libjpeg) - Patch9: Get rid of use of uncompress that we no longer provide - Patch10: Fix IA-64 support, now only two tests fail, which is much better * Tue May 07 2002 Gwenole Beauchesne <gbeauchesne@mandrakesoft.com> 4.1r5-4mdk - Automated rebuild in gcc3.1 environment * Sat Apr 27 2002 Gwenole Beauchesne <gbeauchesne@mandrakesoft.com> 4.1r5-3mdk - Patch6: Fix build with gcc-3.1: - mfhdf/nctest/Makefile.in (LIBS): Add -lm since vardefs.c uses fabs() which resides in math library. - mfhdf/dumper/Makefile.in (LIBS): Likewise because of hdp_dump.c. - hdf/util/Makefile.in (fp2hdf): New rule, and link it with -lm * Wed Feb 20 2002 Giuseppe Ghibò <ghibo@mandrakesoft.com> 4.1r5-2mdk - added Guillaume's zlib patch. * Sat Feb 02 2002 Giuseppe Ghibò <ghibo@mandrakesoft.com> 4.1r5-1mdk - bumped to 4.1r5. * Sun Sep 09 2001 Stefan van der Eijk <stefan@eijk.nu> 4.1r4-9mdk - BuildRequires: flex groff * Tue Jun 26 2001 Matthias Badaire <mbadaire@mandrakesoft.com> 4.1r4-8mdk - fix ia64 config file : replace f90 with g77 * Mon Jun 25 2001 Giusepp Ghibò <ghibo@mandrakesoft.com> 4.1r4-7mdk - added gcc-g77 in BuildRequires (thanks Jeff). * Sat Jun 23 2001 Giuseppe Ghibò <ghibo@mandrakesoft.com> 4.1r4-6mdk - added attempt patch for PPC (bigendian) arch. * Mon May 21 2001 Jeff Garzik <jgarzik@mandrakesoft.com> 4.1r4-5mdk - BuildRequires: byacc - fix rpmlint warnings * Sun May 13 2001 Stefan van der Eijk <stefan@eijk.nu> 4.1r4-4mdk - pass same CFLAGS and FFLAGS to make test * Fri Apr 20 2001 Francis Galiegue <fg@mandrakesoft.com> 4.1r4-3mdk - Add -fPIC to CFLAGS... - Patch1: fix braindead cpp directives. - Don't run make test on ia64 :( * Wed Jan 03 2001 David BAUDENS <baudens@mandrakesoft.com> 4.1r4-2mdk - ExcludeArch: ppc. * Tue Dec 26 2000 Giuseppe Ghibbò <ghibo@mandrakesoft.com> 4.1r4-1mdk - initial release for OpenDX building.