diff --git a/hdf-4.2r2-sparc.patch b/hdf-4.2r2-sparc.patch new file mode 100644 index 0000000..dbd9b19 --- /dev/null +++ b/hdf-4.2r2-sparc.patch @@ -0,0 +1,78 @@ +diff -Nru HDF4.2r2.orig/hdf/src/hdfi.h HDF4.2r2/hdf/src/hdfi.h +--- HDF4.2r2.orig/hdf/src/hdfi.h 2007-09-17 18:45:17.000000000 +0300 ++++ HDF4.2r2/hdf/src/hdfi.h 2008-01-06 07:23:42.000000000 +0200 +@@ -77,6 +77,7 @@ + #define DFMT_LINUX64 0x4441 + #define DFMT_POWERPC64 0x1111 + #define DFMT_LINUXPPC 0x1111 ++#define DFMT_LINUXSPARC 0x1111 + + /* I/O library constants */ + #define UNIXUNBUFIO 1 +@@ -1444,6 +1445,66 @@ + + #endif /*Linux PPC */ + ++/* Linux Sparc32/64 */ ++#if defined __sparc__ || !defined __sparc64__ ++ ++#ifdef GOT_MACHINE ++If you get an error on this line more than one machine type has been defined. ++Please check your Makefile. ++#endif ++#define GOT_MACHINE ++ ++#include /* for unbuffered i/o stuff */ ++#include ++#define DF_MT DFMT_LINUXPPC ++typedef void VOID; ++typedef void *VOIDP; ++typedef char *_fcd; ++typedef char char8; ++typedef unsigned char uchar8; ++typedef char int8; ++typedef unsigned char uint8; ++typedef short int int16; ++typedef unsigned short int uint16; ++#ifdef _LP64 /* 64-bit environment */ ++typedef int int32; ++typedef unsigned int uint32; ++#else /* 32-bit environment */ ++typedef long int int32; ++typedef unsigned long int uint32; ++#endif ++typedef int intn; ++typedef unsigned int uintn; ++typedef int intf; /* size of INTEGERs in Fortran compiler */ ++typedef float float32; ++typedef double float64; ++#ifdef _LP64 /* 64-bit environment */ ++typedef long hdf_pint_t; /* an integer the same size as a pointer */ ++#else /* 32-bit environment */ ++typedef int hdf_pint_t; /* an integer the same size as a pointer */ ++#endif ++#define FNAME_POST_UNDERSCORE ++#define _fcdtocp(desc) (desc) ++#ifdef HAVE_FMPOOL ++#define FILELIB PAGEBUFIO /* enable page buffering */ ++#else ++#define FILELIB UNIXBUFIO ++#endif ++ ++/* JPEG #define's - Look in the JPEG docs before changing - (Q) */ ++ ++/* Determine the memory manager we are going to use. Valid values are: */ ++/* MEM_DOS, MEM_ANSI, MEM_NAME, MEM_NOBS. See the JPEG docs for details on */ ++/* what each does */ ++#define JMEMSYS MEM_ANSI ++ ++#ifdef __GNUC__ ++#define HAVE_STDC ++#define INCLUDES_ARE_ANSI ++#endif ++ ++#endif /* Linux Sparc32/64 */ ++ + /*#ifndef GOT_MACHINE + No machine type has been defined. Your Makefile needs to have someing like + -DSUN or -DUNICOS in order for the HDF internal structures to be defined diff --git a/hdf.spec b/hdf.spec index a167b6d..d918934 100644 --- a/hdf.spec +++ b/hdf.spec @@ -1,6 +1,6 @@ Name: hdf Version: 4.2r2 -Release: 4%{?dist} +Release: 5%{?dist} Summary: A general purpose library and file format for storing scientific data License: BSD Group: System Environment/Libraries @@ -8,6 +8,7 @@ URL: http://hdf.ncsa.uiuc.edu/hdf4.html Source0: ftp://ftp.hdfgroup.org/HDF/HDF_Current/src/HDF%{version}.tar.gz Patch0: hdf-4.2r1p4-maxavailfiles.patch Patch1: hdf-4.2r2-ppc.patch +Patch2: hdf-4.2r2-sparc.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: flex byacc libjpeg-devel zlib-devel BuildRequires: gcc-gfortran @@ -37,6 +38,7 @@ HDF development headers and libraries. %setup -q -n HDF%{version} %patch -p1 -b .maxavailfiles %patch1 -p1 -b .ppc +%patch2 -p1 -b .sparc chmod a-x *hdf/*/*.c hdf/*/*.h # restore include file timestamps modified by patching @@ -107,6 +109,9 @@ rm -rf $RPM_BUILD_ROOT %changelog +* Mon Jan 7 2008 Orion Poplawski 4.2.r2-5 +- Add patches for sparc support (bug #427639) + * Mon Oct 29 2007 Patrice Dumas 4.2r2-4 - install the netcdf.h file that describes the netcdf2 hdf enabled API