123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159 |
- Name: hdf
- Version: 4.2.10
- Release: 1%{?_dist_release}
- Summary: A general purpose library and file format for storing scientific data
- License: BSD-ish
- Group: System Environment/Libraries
- URL: http://hdfgroup.org/products/hdf4/index.html
- Source0: ftp://ftp.hdfgroup.org/HDF/HDF_Current/src/%{name}-%{version}.tar.bz2
- Patch0: hdf-4.2.5-maxavailfiles.patch
- Patch1: hdf-ppc.patch
- Patch2: hdf-4.2.4-sparc.patch
- Patch3: hdf-s390.patch
- Patch4: hdf-arm.patch
- # Support DESTDIR in install-examples
- Patch5: hdf-destdir.patch
- # Install examples into the right location
- Patch6: hdf-examplesdir.patch
- # Fix build with -Werror=format-security
- # https://bugzilla.redhat.com/show_bug.cgi?id=1037120
- Patch7: hdf-format.patch
- # Add AArch64 definitions
- Patch8: hdf-4.2.10-aarch64.patch
- # ppc64le support
- # https://bugzilla.redhat.com/show_bug.cgi?id=1134385
- Patch9: hdf-ppc64le.patch
- BuildRoot: %{_tmppath}/%{name}-%{version}-root
- # For destdir/examplesdir patches
- BuildRequires: automake libtool
- BuildRequires: flex byacc libjpeg-turbo-devel zlib-devel
- BuildRequires: gcc-gfortran
- %description
- HDF is a general purpose library and file format for storing scientific data.
- HDF 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 HDF 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 HDF files according to your needs.
- %package devel
- Summary: HDF development files
- Group: Development/Libraries
- Requires: %{name} = %{version}-%{release}
- Requires: libjpeg-devel
- Requires: zlib-devel
- %description devel
- HDF development headers and libraries.
- %prep
- %setup -q
- %patch0 -p1 -b .maxavailfiles
- %patch1 -p1 -b .ppc
- %patch5 -p1 -b .destdir
- %patch6 -p1 -b .examplesdir
- %patch7 -p1 -b .format
- chmod a-x *hdf/*/*.c hdf/*/*.h
- # restore include file timestamps modified by patching
- touch -c -r ./hdf/src/hdfi.h.ppc ./hdf/src/hdfi.h
- %build
- # For destdir/examplesdir patches
- autoreconf -vif
- # avoid upstream compiler flags settings
- rm config/*linux-gnu
- export CFLAGS="$RPM_OPT_FLAGS -fPIC"
- export FFLAGS="$RPM_OPT_FLAGS -fPIC -ffixed-line-length-none"
- %configure --disable-production --disable-netcdf \
- --includedir=%{_includedir}/%{name} --libdir=%{_libdir}/%{name}
- make
- # correct the timestamps based on files used to generate the header files
- touch -c -r hdf/src/hdf.inc hdf/src/hdf.f90
- touch -c -r hdf/src/dffunc.inc hdf/src/dffunc.f90
- touch -c -r mfhdf/fortran/mffunc.inc mfhdf/fortran/mffunc.f90
- # netcdf fortran include need same treatement, but they are not shipped
- %install
- rm -rf $RPM_BUILD_ROOT
- make install DESTDIR=$RPM_BUILD_ROOT INSTALL='install -p'
- #Don't conflict with netcdf
- #rm $RPM_BUILD_ROOT%{_bindir}/nc* $RPM_BUILD_ROOT%{_mandir}/man1/nc*
- for file in ncdump ncgen; do
- mv $RPM_BUILD_ROOT%{_bindir}/$file $RPM_BUILD_ROOT%{_bindir}/h$file
- # man pages are the same than netcdf ones
- rm $RPM_BUILD_ROOT%{_mandir}/man1/${file}.1
- done
- # this is done to have the same timestamp on multiarch setups
- touch -c -r README.txt $RPM_BUILD_ROOT/%{_includedir}/hdf/h4config.h
- # Remove an autoconf conditional from the API that is unused and cause
- # the API to be different on x86 and x86_64
- pushd $RPM_BUILD_ROOT/%{_includedir}/hdf
- grep -v 'H4_SIZEOF_INTP' h4config.h > h4config.h.tmp
- touch -c -r h4config.h h4config.h.tmp
- mv h4config.h.tmp h4config.h
- popd
- %check
- make check
- %clean
- rm -rf $RPM_BUILD_ROOT
- %files
- %defattr(-,root,root,0755)
- %doc COPYING MANIFEST README.txt release_notes/*.txt
- %{_bindir}/*
- %{_mandir}/man1/*.gz
- %exclude %{_defaultdocdir}/%{name}/examples
- %files devel
- %defattr(-,root,root,0755)
- %{_includedir}/%{name}/
- %{_libdir}/%{name}/
- %{_defaultdocdir}/%{name}/examples
- %changelog
- * Sun Jan 25 2015 Ryoichi INAGAKI <ryo1@toki.waseda.jp> 4.2.10-1
- - updated to 4.2.10
- - built on current VineSeed
- * Sat Oct 25 2008 Shu KONNO <owa@bg.wakwak.com> 4.2r2-1vl5
- - applied new versioning policy
- * Fri Feb 01 2008 MATSUBAYASHI Kohji <shaolin@vinelinux.org> 4.2r2-0vl1
- - updated to 4.2r2 (imported patches from 4.2r2-2.fc8)
- * Thu Dec 20 2007 Shu KONNO <owa@bg.wakwak.com> 4.2r1-0vl2
- - s/gcc-g77/gcc-gfortran/
- * Sat Oct 22 2005 Daisuke SUZUKI <daisuke@linux.or.jp> 4.2r1-0vl1
- - initial build for Vine Linux
- * Wed Oct 05 2005 Orion Poplawski <orion@cora.nwra.com> 4.2r1-5
- - Add Requires: libjpeg-devel zlib-devel to -devel package
- * Tue Aug 23 2005 Orion Poplawski <orion@cora.nwra.com> 4.2r1-4
- - Use -fPIC
- - Fix project URL
- * Fri Jul 29 2005 Orion Poplawski <orion@cora.nwra.com> 4.2r1-3
- - Exclude ppc/ppc64 - HDF does not recognize it
- * Wed Jul 20 2005 Orion Poplawski <orion@cora.nwra.com> 4.2r1-2
- - Fix BuildRequires to have autoconf
- * Fri Jul 15 2005 Orion Poplawski <orion@cora.nwra.com> 4.2r1-1
- - inital package for Fedora Extras
|