- Add patches for sparc support (bug #427639)

This commit is contained in:
Orion Poplawski 2008-01-07 21:17:13 +00:00
parent 5f83d0d6f2
commit 990f2f0b54
2 changed files with 84 additions and 1 deletions

78
hdf-4.2r2-sparc.patch Normal file
View File

@ -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 <sys/file.h> /* for unbuffered i/o stuff */
+#include <sys/stat.h>
+#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

View File

@ -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 <orion@cora.nwra.com> 4.2.r2-5
- Add patches for sparc support (bug #427639)
* Mon Oct 29 2007 Patrice Dumas <pertusus@free.fr> 4.2r2-4
- install the netcdf.h file that describes the netcdf2 hdf enabled
API