commit dd8b2019f91139c3794a4b821260b537ea4fb126 Author: tigro Date: Wed Sep 20 22:39:41 2023 +0300 import hdf-4.2.15-7.el9 diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..fc6ccf6 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +SOURCES/hdf-4.2.15.tar.bz2 diff --git a/.hdf.metadata b/.hdf.metadata new file mode 100644 index 0000000..aff9dda --- /dev/null +++ b/.hdf.metadata @@ -0,0 +1 @@ +d6fe48a5a01a07b34e2e61609a4b43ce64c74190 SOURCES/hdf-4.2.15.tar.bz2 diff --git a/SOURCES/h4comp b/SOURCES/h4comp new file mode 100644 index 0000000..aeb861b --- /dev/null +++ b/SOURCES/h4comp @@ -0,0 +1,6 @@ +#!/bin/bash + +BITS=32 +[ -d /usr/lib64 ] && BITS=64 + +exec $0-${BITS} "$@" diff --git a/SOURCES/hdf-4.2.4-sparc.patch b/SOURCES/hdf-4.2.4-sparc.patch new file mode 100644 index 0000000..38d4fd4 --- /dev/null +++ b/SOURCES/hdf-4.2.4-sparc.patch @@ -0,0 +1,78 @@ +diff -up hdf-4.2.4-snap8/hdf/src/hdfi.h.sparc hdf-4.2.4-snap8/hdf/src/hdfi.h +--- hdf-4.2.4-snap8/hdf/src/hdfi.h.sparc 2010-02-01 13:28:25.361387271 -0700 ++++ hdf-4.2.4-snap8/hdf/src/hdfi.h 2010-02-01 13:31:46.343387138 -0700 +@@ -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 +@@ -1392,6 +1393,66 @@ typedef long hdf_pint_t; + + #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 */ ++ + /*-----------------------------------------------------*/ + /* 64-bit Free BSD */ + diff --git a/SOURCES/hdf-4.2.5-maxavailfiles.patch b/SOURCES/hdf-4.2.5-maxavailfiles.patch new file mode 100644 index 0000000..a06481d --- /dev/null +++ b/SOURCES/hdf-4.2.5-maxavailfiles.patch @@ -0,0 +1,11 @@ +--- hdf-4.2.5-pre1/mfhdf/libsrc/file.c.maxavailfiles 2010-02-06 10:40:42.000000000 -0700 ++++ hdf-4.2.5-pre1/mfhdf/libsrc/file.c 2010-02-09 13:53:09.600285597 -0700 +@@ -51,7 +51,7 @@ + be in hlimits.h file in the future. EIP 2010-02-01*/ + + #define H4_MAX_AVAIL_OPENFILES 20000 +-#define MAX_AVAIL_OPENFILES (((MAX_SYS_OPENFILES - 3) > H4_MAX_AVAIL_OPENFILES) ? H4_MAX_AVAIL_OPENFILES : (MAX_SYS_OPENFILES - 3)) ++#define MAX_AVAIL_OPENFILES (((MAX_SYS_OPENFILES - 10) > H4_MAX_AVAIL_OPENFILES) ? H4_MAX_AVAIL_OPENFILES : (MAX_SYS_OPENFILES - 10)) + + static int _curr_opened = 0 ; /* the number of files currently opened */ + /* NOTE: _ncdf might have been the number of files currently opened, yet it diff --git a/SOURCES/hdf-aarch64.patch b/SOURCES/hdf-aarch64.patch new file mode 100644 index 0000000..1865e72 --- /dev/null +++ b/SOURCES/hdf-aarch64.patch @@ -0,0 +1,289 @@ +diff -up hdf-4.2.15/hdf/src/hconv.h.aarch64 hdf-4.2.15/hdf/src/hconv.h +--- hdf-4.2.15/hdf/src/hconv.h.aarch64 2020-04-30 21:16:25.325499508 -0600 ++++ hdf-4.2.15/hdf/src/hconv.h 2020-04-30 21:16:25.338499580 -0600 +@@ -59,7 +59,7 @@ + /* CONSTANT DEFINITIONS */ + /*****************************************************************************/ + /* Generally Big-Endian machines */ +-#if !defined(INTEL86) && !defined(MIPSEL) && !defined(DEC_ALPHA) && !defined(I860) && !defined(SUN386) && !(defined(__ia64) && !(defined(hpux) || defined(__hpux))) && !defined(__x86_64__) && !defined(__arm__) ++#if !defined(INTEL86) && !defined(MIPSEL) && !defined(DEC_ALPHA) && !defined(I860) && !defined(SUN386) && !(defined(__ia64) && !(defined(hpux) || defined(__hpux))) && !defined(__x86_64__) && !defined(__arm__) && !defined(__AARCH64EL__) + # define UI8_IN DFKnb1b /* Unsigned Integer, 8 bits */ + # define UI8_OUT DFKnb1b + # define SI16_IN DFKnb2b /* S = Signed */ +diff -up hdf-4.2.15/hdf/src/hdfi.h.aarch64 hdf-4.2.15/hdf/src/hdfi.h +--- hdf-4.2.15/hdf/src/hdfi.h.aarch64 2020-04-30 21:16:25.326499514 -0600 ++++ hdf-4.2.15/hdf/src/hdfi.h 2020-04-30 21:16:25.340499591 -0600 +@@ -79,6 +79,7 @@ + #define DFMT_LINUXSPARC 0x1111 + #define DFMT_LINUX390 0x1111 + #define DFMT_LINUXARM 0x4441 ++#define DFMT_LINUXAARCH64 0x4441 + + /* I/O library constants */ + #define UNIXUNBUFIO 1 +@@ -1341,6 +1342,44 @@ typedef long hdf_pint_t; + + #endif /* IA64 */ + ++/* Linux AArch64 */ ++#if defined __aarch64__ ++ ++#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_LINUXAARCH64 ++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; ++typedef int int32; ++typedef unsigned int uint32; ++typedef int intn; ++typedef unsigned int uintn; ++typedef int intf; /* size of INTEGERs in Fortran compiler */ ++typedef float float32; ++typedef double float64; ++typedef long hdf_pint_t; /* an integer the same size as a pointer */ ++#define FNAME_POST_UNDERSCORE ++#define _fcdtocp(desc) (desc) ++#ifdef HAVE_FMPOOL ++#define FILELIB PAGEBUFIO /* enable page buffering */ ++#else ++#define FILELIB UNIXBUFIO ++#endif ++#endif /* Linux AArch64 */ ++ + #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 -up hdf-4.2.15/mfhdf/fortran/jackets.c.in.aarch64 hdf-4.2.15/mfhdf/fortran/jackets.c.in +--- hdf-4.2.15/mfhdf/fortran/jackets.c.in.aarch64 2020-04-30 21:16:25.318499470 -0600 ++++ hdf-4.2.15/mfhdf/fortran/jackets.c.in 2020-04-30 21:20:28.346831868 -0600 +@@ -34,7 +34,7 @@ + + struct ncfils { /* This will be a common block from Fortran */ + double dd; +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ || defined __s390x__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ || defined __s390x__ || defined __aarch64__ + int ll; + #else + long ll; +@@ -65,7 +65,7 @@ struct ncfils { /* This will + + struct ncfils { /* This will be a common block from Fortran */ + double dd; +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ || defined __s390x__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ || defined __s390x__ || defined __aarch64__ + int ll; + #else + long ll; +@@ -420,7 +420,7 @@ stoig(shorts, ints, dims, basis, ndims) + } + #endif /* FORTRAN_HAS_NO_SHORT */ + +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ || defined __s390x__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ || defined __s390x__ || defined __aarch64__ + /* + * Convert multi-dimensional array of NCLONGs stored in ints to packed + * array of longs, in malloc'ed space. Returns pointer to longs or NULL +@@ -908,7 +908,7 @@ nncvpt1(cdfid, varid, indices, value, rc + return; + } /* else */ + #endif /* FORTRAN_HAS_NO_SHORT */ +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ || defined __s390x__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ || defined __s390x__ || defined __aarch64__ + #ifdef HDF + if ((nc_type) datatype == NC_LONG && handle->file_type!=HDF_FILE) { + long longs = *(int *)value; +@@ -1022,7 +1022,7 @@ nncvpt(cdfid, varid, start, count, value + return; + } /* else */ + #endif /* FORTRAN_HAS_NO_SHORT */ +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ || defined __s390x__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ || defined __s390x__ || defined __aarch64__ + #ifdef HDF + if ((nc_type) datatype == NC_LONG && handle->file_type!=HDF_FILE) { + long *longs = itol (value, ncount, ndims); +@@ -1133,7 +1133,7 @@ nncvptg(cdfid, varid, start, count, stri + tmpbasis = nctypelen(NC_LONG); + else + #endif +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ || defined __s390x__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ || defined __s390x__ || defined __aarch64__ + if (datatype == NC_LONG) + tmpbasis = sizeof(int); + else +@@ -1190,7 +1190,7 @@ nncvptg(cdfid, varid, start, count, stri + return; + } /* else */ + #endif /* FORTRAN_HAS_NO_SHORT */ +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ || defined __s390x__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ || defined __s390x__ || defined __aarch64__ + #ifdef HDF + if ((nc_type) datatype == NC_LONG && handle->file_type!=HDF_FILE) { + long *longs = itolg (value, ncount, nbasis, ndims); +@@ -1326,7 +1326,7 @@ nncvgt1(cdfid, varid, indices, value, rc + return; + } /* else */ + #endif /* FORTRAN_HAS_NO_SHORT */ +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ || defined __s390x__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ || defined __s390x__ || defined __aarch64__ + #ifdef HDF + if ((nc_type) datatype == NC_LONG && handle->file_type!=HDF_FILE) { + long longs; +@@ -1468,7 +1468,7 @@ nncvgt(cdfid, varid, start, count, value + return; + } /* else */ + #endif /* FORTRAN_HAS_NO_SHORT */ +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ || defined __s390x__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ || defined __s390x__ || defined __aarch64__ + #ifdef HDF + if ((nc_type) datatype == NC_LONG && handle->file_type!=HDF_FILE) { + long iocount = dimprod (ncount, ndims); /* product of dimensions */ +@@ -1606,7 +1606,7 @@ nncvgtg(cdfid, varid, start, count, stri + tmpbasis = nctypelen(NC_LONG); + else + #endif +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ || defined __s390x__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ || defined __s390x__ || defined __aarch64__ + if (datatype == NC_LONG) + tmpbasis = sizeof(int); + else +@@ -1677,7 +1677,7 @@ nncvgtg(cdfid, varid, start, count, stri + return; + } /* else */ + #endif /* FORTRAN_HAS_NO_SHORT */ +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ || defined __s390x__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ || defined __s390x__ || defined __aarch64__ + #ifdef HDF + if ((nc_type) datatype == NC_LONG && handle->file_type!=HDF_FILE) { + long iocount = dimprod (ncount, ndims); /* product of dimensions */ +@@ -1843,7 +1843,7 @@ nncapt(cdfid, varid, attname, datatype, + return; + } /* else */ + #endif /* FORTRAN_HAS_NO_SHORT */ +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ || defined __s390x__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ || defined __s390x__ || defined __aarch64__ + #ifdef HDF + if ((nc_type) *datatype == NC_LONG && handle->file_type!=HDF_FILE) { + long *longs = itol (value, attlen, 1); +@@ -2008,7 +2008,7 @@ nncagt(cdfid, varid, attname, value, rco + return; + } /* else */ + #endif /* FORTRAN_HAS_NO_SHORT */ +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ || defined __s390x__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ || defined __s390x__ || defined __aarch64__ + #ifdef HDF + if ((nc_type) datatype == NC_LONG && handle->file_type!=HDF_FILE) { + /* EIP We need to use int buffer to read data in on the platforms where long is 8 bytes +diff -up hdf-4.2.15/mfhdf/libsrc/array.c.aarch64 hdf-4.2.15/mfhdf/libsrc/array.c +diff -up hdf-4.2.15/mfhdf/libsrc/cdf.c.aarch64 hdf-4.2.15/mfhdf/libsrc/cdf.c +diff -up hdf-4.2.15/mfhdf/libsrc/netcdf.h.in.aarch64 hdf-4.2.15/mfhdf/libsrc/netcdf.h.in +--- hdf-4.2.15/mfhdf/libsrc/netcdf.h.in.aarch64 2020-04-30 21:16:25.347499629 -0600 ++++ hdf-4.2.15/mfhdf/libsrc/netcdf.h.in 2020-04-30 21:24:11.366838259 -0600 +@@ -293,7 +293,7 @@ typedef double ncdouble; + /* + * Variables/attributes of type NC_LONG should use the C type 'nclong' + */ +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ || defined __s390x__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ || defined __s390x__ || defined __aarch64__ + /* + * LP64 (also known as 4/8/8) denotes long and pointer as 64 bit types. + * http://www.unix.org/version2/whatsnew/lp64_wp.html +diff -up hdf-4.2.15/mfhdf/libsrc/putget.c.aarch64 hdf-4.2.15/mfhdf/libsrc/putget.c +--- hdf-4.2.15/mfhdf/libsrc/putget.c.aarch64 2020-04-30 21:16:25.349499640 -0600 ++++ hdf-4.2.15/mfhdf/libsrc/putget.c 2020-04-30 21:21:11.344052951 -0600 +@@ -665,7 +665,7 @@ Void *values ; + case NC_SHORT : + return( xdr_NCvshort(xdrs, (unsigned)rem/2, (short *)values) ) ; + case NC_LONG : +-#if (_MIPS_SZLONG == 64) || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ || defined __s390x__ ++#if (_MIPS_SZLONG == 64) || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ || defined __s390x__ || defined __aarch64__ + return( xdr_int(xdrs, (nclong *)values) ) ; + #else + return( xdr_long(xdrs, (nclong *)values) ) ; +diff -up hdf-4.2.15/mfhdf/libsrc/xdrposix.c.aarch64 hdf-4.2.15/mfhdf/libsrc/xdrposix.c +--- hdf-4.2.15/mfhdf/libsrc/xdrposix.c.aarch64 2020-04-30 21:16:25.321499486 -0600 ++++ hdf-4.2.15/mfhdf/libsrc/xdrposix.c 2020-04-30 21:23:48.397752506 -0600 +@@ -262,7 +262,7 @@ int nbytes; + + static bool_t xdrposix_getlong(); + static bool_t xdrposix_putlong(); +-#if (_MIPS_SZLONG == 64) || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ || defined __s390x__ ++#if (_MIPS_SZLONG == 64) || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ || defined __s390x__ || defined __aarch64__ + static bool_t xdrposix_getint(); + static bool_t xdrposix_putint(); + #endif +@@ -276,7 +276,7 @@ static long * xdrposix_inline(); + #if (defined __sun && defined _LP64) + static rpc_inline_t * xdrposix_inline(); + #else +-#if ((defined __x86_64__ ) && !(defined __sun && defined _LP64)) || defined __powerpc64__ || defined __s390x__ ++#if ((defined __x86_64__ ) && !(defined __sun && defined _LP64)) || defined __powerpc64__ || defined __s390x__ || defined __aarch64__ + static int32_t * xdrposix_inline(); + #else + static netlong * xdrposix_inline(); +@@ -302,9 +302,9 @@ static struct xdr_ops xdrposix_ops = { + xdrposix_getpos, /* get offset in the stream */ + xdrposix_setpos, /* set offset in the stream */ + xdrposix_inline, /* prime stream for inline macros */ +-#if (defined __sun && defined _LP64) || defined __x86_64__ || defined __powerpc64__ || defined __s390x__ ++#if (defined __sun && defined _LP64) || defined __x86_64__ || defined __powerpc64__ || defined __s390x__ || defined __aarch64__ + xdrposix_destroy, /* destroy stream */ +-#if !(defined __x86_64__) && !(defined __powerpc64__) && !(defined __s390x__) || (defined __sun && defined _LP64) /* i.e. we are on SUN/Intel in 64-bit mode */ ++#if !(defined __x86_64__) && !(defined __powerpc64__) && !(defined __s390x__) && !(defined __aarch64__) || (defined __sun && defined _LP64) /* i.e. we are on SUN/Intel in 64-bit mode */ + NULL, /* no xdr_control function defined */ + #endif + /* Solaris 64-bit (arch=v9 and arch=amd64) has 64 bits long and 32 bits int. */ +@@ -560,7 +560,7 @@ static long * + #if (defined __sun && defined _LP64) + static rpc_inline_t * + #else +-#if ((defined __x86_64__) && !(defined __sun && defined _LP64)) || defined __powerpc64__ || defined __s390x__ ++#if ((defined __x86_64__) && !(defined __sun && defined _LP64)) || defined __powerpc64__ || defined __s390x__ || defined __aarch64__ + static int32_t * + #else + static netlong * +@@ -581,7 +581,7 @@ xdrposix_inline(xdrs, len) + return (NULL); + } + +-#if (_MIPS_SZLONG == 64) || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ || defined __s390x__ ++#if (_MIPS_SZLONG == 64) || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ || defined __s390x__ || defined __aarch64__ + + static bool_t + xdrposix_getint(xdrs, lp) +diff -up hdf-4.2.15/mfhdf/ncgen/ncgen.l.aarch64 hdf-4.2.15/mfhdf/ncgen/ncgen.l +--- hdf-4.2.15/mfhdf/ncgen/ncgen.l.aarch64 2020-04-30 21:16:25.376499789 -0600 ++++ hdf-4.2.15/mfhdf/ncgen/ncgen.l 2020-04-30 21:17:29.876854089 -0600 +@@ -113,7 +113,7 @@ FloatInf|Infinity|Inf { /* float m + yyerror(errstr); + } + +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || __powerpc64__ || defined __s390x__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || __powerpc64__ || defined __s390x__ || defined __aarch64__ + if (dd < INT_MIN || dd > INT_MAX) + #else + if (dd < LONG_MIN || dd > LONG_MAX) +diff -up hdf-4.2.15/mfhdf/ncgen/ncgenyy.c.aarch64 hdf-4.2.15/mfhdf/ncgen/ncgenyy.c +--- hdf-4.2.15/mfhdf/ncgen/ncgenyy.c.aarch64 2020-04-30 21:16:25.382499822 -0600 ++++ hdf-4.2.15/mfhdf/ncgen/ncgenyy.c 2020-04-30 21:18:12.880090311 -0600 +@@ -991,7 +991,7 @@ YY_RULE_SETUP + yyerror(errstr); + } + +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || __powerpc64__ || __s390x__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || __powerpc64__ || __s390x__ || defined __aarch64__ + if (dd < INT_MIN || dd > INT_MAX) + #else + if (dd < LONG_MIN || dd > LONG_MAX) diff --git a/SOURCES/hdf-arm.patch b/SOURCES/hdf-arm.patch new file mode 100644 index 0000000..2e63af1 --- /dev/null +++ b/SOURCES/hdf-arm.patch @@ -0,0 +1,81 @@ +diff -up hdf-4.2.10/hdf/src/hconv.h.arm hdf-4.2.10/hdf/src/hconv.h +--- hdf-4.2.10/hdf/src/hconv.h.arm 2014-02-14 09:28:56.692514796 -0700 ++++ hdf-4.2.10/hdf/src/hconv.h 2014-02-14 09:30:03.882212944 -0700 +@@ -59,7 +59,7 @@ + /* CONSTANT DEFINITIONS */ + /*****************************************************************************/ + /* Generally Big-Endian machines */ +-#if !defined(INTEL86) && !defined(MIPSEL) && !defined(DEC_ALPHA) && !defined(I860) && !defined(SUN386) && !(defined(__ia64) && !(defined(hpux) || defined(__hpux))) && !defined(__x86_64__) ++#if !defined(INTEL86) && !defined(MIPSEL) && !defined(DEC_ALPHA) && !defined(I860) && !defined(SUN386) && !(defined(__ia64) && !(defined(hpux) || defined(__hpux))) && !defined(__x86_64__) && !defined(__arm__) + # define UI8_IN DFKnb1b /* Unsigned Integer, 8 bits */ + # define UI8_OUT DFKnb1b + # define SI16_IN DFKnb2b /* S = Signed */ +diff -up hdf-4.2.10/hdf/src/hdfi.h.arm hdf-4.2.10/hdf/src/hdfi.h +--- hdf-4.2.10/hdf/src/hdfi.h.arm 2014-02-14 09:28:56.685514824 -0700 ++++ hdf-4.2.10/hdf/src/hdfi.h 2014-02-14 09:28:56.693514792 -0700 +@@ -78,6 +78,7 @@ + #define DFMT_LINUXPPC 0x1111 + #define DFMT_LINUXSPARC 0x1111 + #define DFMT_LINUX390 0x1111 ++#define DFMT_LINUXARM 0x4441 + + /* I/O library constants */ + #define UNIXUNBUFIO 1 +@@ -1187,6 +1188,57 @@ typedef int hdf_pint_t; + + #endif /* Linux s390/s390x */ + ++/* Linux ARM */ ++#if defined __arm__ ++ ++#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_LINUXARM ++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; ++typedef long int int32; ++typedef unsigned long int uint32; ++typedef int intn; ++typedef unsigned int uintn; ++typedef int intf; /* size of INTEGERs in Fortran compiler */ ++typedef float float32; ++typedef double float64; ++typedef int hdf_pint_t; /* an integer the same size as a pointer */ ++#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 ARM */ ++ + /*-----------------------------------------------------*/ + /* 64-bit Free BSD */ + diff --git a/SOURCES/hdf-avoid_syntax_error_el6.patch b/SOURCES/hdf-avoid_syntax_error_el6.patch new file mode 100644 index 0000000..772af9c --- /dev/null +++ b/SOURCES/hdf-avoid_syntax_error_el6.patch @@ -0,0 +1,17 @@ +--- configure.orig.ac 2017-06-24 23:00:04.000000000 +0200 ++++ configure.ac 2017-07-21 22:13:19.695919835 +0200 +@@ -264,10 +264,10 @@ + JNIFLAGS="$JNIFLAGS -I$JNI_INCLUDE_DIR" + done + ## Find junit for testing the JNI code +- AX_CHECK_CLASSPATH() +- CLASSPATH_ENV=$H4_CLASSPATH +- AX_CHECK_JUNIT() +- AX_CHECK_JAVA_HOME ++ ## AX_CHECK_CLASSPATH() ++ ## CLASSPATH_ENV=$H4_CLASSPATH ++ ## AX_CHECK_JUNIT() ++ ## AX_CHECK_JAVA_HOME + + AC_MSG_RESULT([yes]) + else diff --git a/SOURCES/hdf-build.patch b/SOURCES/hdf-build.patch new file mode 100644 index 0000000..099dd83 --- /dev/null +++ b/SOURCES/hdf-build.patch @@ -0,0 +1,67 @@ +diff -up hdf-4.2.15/java/examples/Makefile.am.build hdf-4.2.15/java/examples/Makefile.am +--- hdf-4.2.15/java/examples/Makefile.am.build 2020-03-03 10:40:50.000000000 -0700 ++++ hdf-4.2.15/java/examples/Makefile.am 2020-04-30 21:34:13.856216928 -0600 +@@ -12,8 +12,8 @@ classes: + test -d $(@D)/$(JAVAROOT) || $(MKDIR_P) $(@D)/$(JAVAROOT) + + pkgpath = examples +-hdfjarfile = jar$(PACKAGE_TARNAME)-$(PACKAGE_VERSION).jar +-jarfile = jar$(PACKAGE_TARNAME)examples.jar ++hdfjarfile = $(PACKAGE_TARNAME).jar ++jarfile = $(PACKAGE_TARNAME)examples.jar + + CLASSPATH_ENV=CLASSPATH=.:$(JAVAROOT):$(top_builddir)/java/src/$(hdfjarfile):$(top_srcdir)/java/lib/slf4j-api-1.7.25.jar:$(top_srcdir)/java/lib/ext/slf4j-simple-1.7.25.jar:$$CLASSPATH + AM_JAVACFLAGS = $(H4_JAVACFLAGS) -deprecation +diff -up hdf-4.2.15/java/src/jni/Makefile.am.build hdf-4.2.15/java/src/jni/Makefile.am +--- hdf-4.2.15/java/src/jni/Makefile.am.build 2020-03-03 10:40:50.000000000 -0700 ++++ hdf-4.2.15/java/src/jni/Makefile.am 2020-04-30 21:34:13.857216934 -0600 +@@ -16,7 +16,10 @@ AM_CPPFLAGS=-I$(top_srcdir)/hdf/src + $(JNIFLAGS) $(XDRINC) + + # This is our main target +-lib_LTLIBRARIES=libhdf_java.la ++pkglib_LTLIBRARIES=libhdf_java.la ++ ++# No soname for JNI library ++libhdf_java_la_LDFLAGS = -avoid-version + + # Source files for the library + libhdf_java_la_SOURCES=hdfanImp.c hdfdfpalImp.c \ +diff -up hdf-4.2.15/java/src/Makefile.am.build hdf-4.2.15/java/src/Makefile.am +--- hdf-4.2.15/java/src/Makefile.am.build 2020-03-03 10:40:50.000000000 -0700 ++++ hdf-4.2.15/java/src/Makefile.am 2020-04-30 21:34:13.857216934 -0600 +@@ -13,8 +13,8 @@ JAVAROOT = .classes + classes: + test -d $(@D)/$(JAVAROOT) || $(MKDIR_P) $(@D)/$(JAVAROOT) + +-jarfile = jar$(PACKAGE_TARNAME)-$(PACKAGE_VERSION).jar +-hdf_javadir = $(libdir) ++jarfile = $(PACKAGE_TARNAME).jar ++hdf_javadir = $(prefix)/lib/java + + pkgpath = hdf/hdflib + CLASSPATH_ENV=CLASSPATH=.:$(top_srcdir)/java/lib/slf4j-api-1.7.25.jar:$$CLASSPATH +diff -up hdf-4.2.15/java/test/junit.sh.in.build hdf-4.2.15/java/test/junit.sh.in +--- hdf-4.2.15/java/test/junit.sh.in.build 2020-03-03 10:40:50.000000000 -0700 ++++ hdf-4.2.15/java/test/junit.sh.in 2020-04-30 21:34:13.858216939 -0600 +@@ -40,7 +40,7 @@ HDFLIB_HOME="$top_srcdir/java/lib" + BLDLIBDIR="$top_builddir/hdf4/lib" + BLDDIR="." + HDFTEST_HOME="$top_srcdir/java/test" +-JARFILE=jar@PACKAGE_TARNAME@-@PACKAGE_VERSION@.jar ++JARFILE=@PACKAGE_TARNAME@.jar + TESTJARFILE=jar@PACKAGE_TARNAME@test.jar + test -d $BLDLIBDIR || mkdir -p $BLDLIBDIR + +diff -up hdf-4.2.15/java/test/Makefile.am.build hdf-4.2.15/java/test/Makefile.am +--- hdf-4.2.15/java/test/Makefile.am.build 2020-03-03 10:40:50.000000000 -0700 ++++ hdf-4.2.15/java/test/Makefile.am 2020-04-30 21:41:47.966938811 -0600 +@@ -12,7 +12,7 @@ classes: + test -d $(@D)/$(JAVAROOT) || $(MKDIR_P) $(@D)/$(JAVAROOT) + + pkgpath = test +-hdfjarfile = jar$(PACKAGE_TARNAME)-$(PACKAGE_VERSION).jar ++hdfjarfile = $(PACKAGE_TARNAME).jar + CLASSPATH_ENV=CLASSPATH=.:$(JAVAROOT):$(top_builddir)/java/src/$(hdfjarfile):$(top_srcdir)/java/lib/junit.jar:$(top_srcdir)/java/lib/hamcrest-core.jar:$(top_srcdir)/java/lib/slf4j-api-1.7.25.jar:$(top_srcdir)/java/lib/ext/slf4j-simple-1.7.25.jar:$$CLASSPATH + + jarfile = jar$(PACKAGE_TARNAME)test.jar diff --git a/SOURCES/hdf-destdir.patch b/SOURCES/hdf-destdir.patch new file mode 100644 index 0000000..57793f3 --- /dev/null +++ b/SOURCES/hdf-destdir.patch @@ -0,0 +1,70 @@ +diff -up hdf-4.2.11/config/examples.am.destdir hdf-4.2.11/config/examples.am +--- hdf-4.2.11/config/examples.am.destdir 2015-02-09 09:43:05.000000000 -0700 ++++ hdf-4.2.11/config/examples.am 2015-02-13 13:24:09.008230956 -0700 +@@ -44,7 +44,7 @@ CHECK_CLEANFILES+= *.hdf + CLEANFILES=$(EXAMPLE_PROG) + + # How to create EXAMPLEDIR if it doesn't already exist +-$(EXAMPLEDIR): ++$(DESTDIR)$(EXAMPLEDIR): + mkdir -p $@ + + # Install and uninstall rules. We install the source files, not the +@@ -54,42 +54,42 @@ install-data-local: + uninstall-local: + @$(MAKE) $(AM_MAKEFLAGS) uninstall-examples + +-install-examples: $(EXAMPLEDIR) ++install-examples: $(DESTDIR)$(EXAMPLEDIR) + @for f in X $(INSTALL_FILES); do \ + if test $$f != X; then \ +- (set -x; $(INSTALL) $(srcdir)/$$f $(EXAMPLEDIR)/. || exit 1); \ +- chmod a-x $(EXAMPLEDIR)/$$f; \ ++ (set -x; $(INSTALL) $(srcdir)/$$f $(DESTDIR)$(EXAMPLEDIR)/. || exit 1); \ ++ chmod a-x $(DESTDIR)$(EXAMPLEDIR)/$$f; \ + fi; \ + done + @for f in X $(INSTALL_SCRIPT_FILES); do \ + if test $$f != X; then \ +- (set -x; $(INSTALL) $(srcdir)/$$f $(EXAMPLEDIR)/. || exit 1); \ ++ (set -x; $(INSTALL) $(srcdir)/$$f $(DESTDIR)$(EXAMPLEDIR)/. || exit 1); \ + fi; \ + done + @for f in X $(INSTALL_TOP_FILES); do \ + if test $$f != X; then \ +- (set -x; $(INSTALL) $(srcdir)/$$f $(EXAMPLETOPDIR)/. || exit 1); \ +- chmod a-x $(EXAMPLETOPDIR)/$$f; \ ++ (set -x; $(INSTALL) $(srcdir)/$$f $(DESTDIR)$(EXAMPLETOPDIR)/. || exit 1); \ ++ chmod a-x $(DESTDIR)$(EXAMPLETOPDIR)/$$f; \ + fi; \ + done + @for f in X $(INSTALL_TOP_SCRIPT_FILES); do \ + if test $$f != X; then \ +- (set -x; $(INSTALL) $(srcdir)/$$f $(EXAMPLETOPDIR)/. || exit 1); \ ++ (set -x; $(INSTALL) $(srcdir)/$$f $(DESTDIR)$(EXAMPLETOPDIR)/. || exit 1); \ + fi; \ + done + + uninstall-examples: +- @if test -n "$(INSTALL_FILES)" -a -d $(EXAMPLEDIR); then \ +- set -x; cd $(EXAMPLEDIR) && $(RM) $(INSTALL_FILES); \ ++ @if test -n "$(INSTALL_FILES)" -a -d $(DESTDIR)$(EXAMPLEDIR); then \ ++ set -x; cd $(DESTDIR)$(EXAMPLEDIR) && $(RM) $(INSTALL_FILES); \ + fi +- @if test -n "$(INSTALL_SCRIPT_FILES)" -a -d $(EXAMPLEDIR); then \ +- set -x; cd $(EXAMPLEDIR) && $(RM) $(INSTALL_SCRIPT_FILES); \ ++ @if test -n "$(INSTALL_SCRIPT_FILES)" -a -d $(DESTDIR)$(EXAMPLEDIR); then \ ++ set -x; cd $(DESTDIR)$(EXAMPLEDIR) && $(RM) $(INSTALL_SCRIPT_FILES); \ + fi +- @if test -n "$(INSTALL_TOP_FILES)" -a -d $(EXAMPLETOPDIR); then \ +- set -x; cd $(EXAMPLETOPDIR) && $(RM) $(INSTALL_TOP_FILES); \ ++ @if test -n "$(INSTALL_TOP_FILES)" -a -d $(DESTDIR)$(EXAMPLETOPDIR); then \ ++ set -x; cd $$(DESTDIR)(EXAMPLETOPDIR) && $(RM) $(INSTALL_TOP_FILES); \ + fi +- @if test -n "$(INSTALL_TOP_SCRIPT_FILES)" -a -d $(EXAMPLETOPDIR); then \ +- set -x; cd $(EXAMPLETOPDIR) && $(RM) $(INSTALL_TOP_SCRIPT_FILES); \ ++ @if test -n "$(INSTALL_TOP_SCRIPT_FILES)" -a -d $(DESTDIR)$(EXAMPLETOPDIR); then \ ++ set -x; cd $(DESTDIR)$(EXAMPLETOPDIR) && $(RM) $(INSTALL_TOP_SCRIPT_FILES); \ + fi + + installcheck-local: diff --git a/SOURCES/hdf-examplesdir.patch b/SOURCES/hdf-examplesdir.patch new file mode 100644 index 0000000..3bb66ab --- /dev/null +++ b/SOURCES/hdf-examplesdir.patch @@ -0,0 +1,50 @@ +diff -up a/hdf/examples/Makefile.am b/hdf/examples/Makefile.am +--- a/hdf/examples/Makefile.am 2017-01-31 14:41:51.947802481 -0700 ++++ b/hdf/examples/Makefile.am 2017-01-31 14:42:34.883572782 -0700 +@@ -46,8 +46,8 @@ + INSTALL_TOP_FILES = README + + # Where to install example files +-EXAMPLEDIR=${DESTDIR}$(exec_prefix)/share/hdf4_examples/c +-EXAMPLETOPDIR=${DESTDIR}$(exec_prefix)/share/hdf4_examples ++EXAMPLEDIR=$(docdir)/examples/c ++EXAMPLETOPDIR=$(docdir)/examples + + # How to build C programs using h4cc + $(EXTRA_PROG): $(H4CC) +diff -up a/hdf/fortran/examples/Makefile.am b/hdf/fortran/examples/Makefile.am +--- a/hdf/fortran/examples/Makefile.am 2017-01-31 14:41:51.949802471 -0700 ++++ b/hdf/fortran/examples/Makefile.am 2017-01-31 14:43:07.968395906 -0700 +@@ -41,7 +41,7 @@ + INSTALL_SCRIPT_FILES = run-fortran-ex.sh + + # Where to install Fortran example files +-EXAMPLEDIR=${DESTDIR}$(exec_prefix)/share/hdf4_examples/fortran ++EXAMPLEDIR=$(docdir)/examples/fortran + + # How to build Fortran programs using h4fc + $(EXTRA_PROG): $(H4FC) +diff -up a/mfhdf/examples/Makefile.am b/mfhdf/examples/Makefile.am +--- a/mfhdf/examples/Makefile.am 2017-01-31 14:41:51.950802465 -0700 ++++ b/mfhdf/examples/Makefile.am 2017-01-31 14:43:23.376314066 -0700 +@@ -23,7 +23,7 @@ + SD_get_info.c SD_find_sds_by_name.c SD_set_get_dim_info.c \ + SD_dimscale_vs_sds.c SD_set_attr.c SD_get_attr.c SD_chunking_example.c + +-EXAMPLEDIR=${DESTDIR}$(exec_prefix)/share/hdf4_examples/c ++EXAMPLEDIR=$(docdir)/examples/c + + # How to build programs using h4cc + $(EXTRA_PROG): $(H4CC) +diff -up a/mfhdf/fortran/examples/Makefile.am b/mfhdf/fortran/examples/Makefile.am +--- a/mfhdf/fortran/examples/Makefile.am 2017-01-31 14:41:51.952802455 -0700 ++++ b/mfhdf/fortran/examples/Makefile.am 2017-01-31 14:43:40.206224672 -0700 +@@ -24,7 +24,7 @@ + SD_set_attr.f SD_get_attr.f SD_compress_sds.f SD_chunking_example.f + + # Where to install example files +-EXAMPLEDIR=${DESTDIR}$(exec_prefix)/share/hdf4_examples/fortran ++EXAMPLEDIR=$(docdir)/examples/fortran + + # How to build Fortran programs using h4fc + $(EXTRA_PROG): $(H4FC) diff --git a/SOURCES/hdf-ppc.patch b/SOURCES/hdf-ppc.patch new file mode 100644 index 0000000..039f876 --- /dev/null +++ b/SOURCES/hdf-ppc.patch @@ -0,0 +1,189 @@ +diff -up hdf-4.2.15/hdf/src/hdfi.h.ppc hdf-4.2.15/hdf/src/hdfi.h +--- hdf-4.2.15/hdf/src/hdfi.h.ppc 2020-03-03 10:40:50.000000000 -0700 ++++ hdf-4.2.15/hdf/src/hdfi.h 2020-04-30 21:04:01.529561298 -0600 +@@ -75,6 +75,7 @@ + #define DFMT_IA64 0x4441 + #define DFMT_LINUX64 0x4441 + #define DFMT_POWERPC64 0x1111 ++#define DFMT_LINUXPPC 0x1111 + + /* I/O library constants */ + #define UNIXUNBUFIO 1 +@@ -1017,6 +1018,57 @@ typedef long hdf_pint_t; + + #endif /*Linux 64 */ + ++/* Linux PPC */ ++#if defined __powerpc__ && !defined __powerpc64__ ++ ++#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; ++typedef int int32; ++typedef unsigned int uint32; ++typedef int intn; ++typedef unsigned int uintn; ++typedef int intf; /* size of INTEGERs in Fortran compiler */ ++typedef float float32; ++typedef double float64; ++typedef long hdf_pint_t; /* an integer the same size as a pointer */ ++#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 PPC */ ++ + /*-----------------------------------------------------*/ + /* 64-bit Free BSD */ + +diff -up hdf-4.2.15/mfhdf/fortran/jackets.c.in.ppc hdf-4.2.15/mfhdf/fortran/jackets.c.in +--- hdf-4.2.15/mfhdf/fortran/jackets.c.in.ppc 2020-03-03 10:40:50.000000000 -0700 ++++ hdf-4.2.15/mfhdf/fortran/jackets.c.in 2020-04-30 21:06:39.500403641 -0600 +@@ -34,7 +34,7 @@ + + struct ncfils { /* This will be a common block from Fortran */ + double dd; +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ + int ll; + #else + long ll; +@@ -65,7 +65,7 @@ struct ncfils { /* This will + + struct ncfils { /* This will be a common block from Fortran */ + double dd; +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ + int ll; + #else + long ll; +@@ -420,7 +420,7 @@ stoig(shorts, ints, dims, basis, ndims) + } + #endif /* FORTRAN_HAS_NO_SHORT */ + +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ + /* + * Convert multi-dimensional array of NCLONGs stored in ints to packed + * array of longs, in malloc'ed space. Returns pointer to longs or NULL +@@ -908,7 +908,7 @@ nncvpt1(cdfid, varid, indices, value, rc + return; + } /* else */ + #endif /* FORTRAN_HAS_NO_SHORT */ +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ + #ifdef HDF + if ((nc_type) datatype == NC_LONG && handle->file_type!=HDF_FILE) { + long longs = *(int *)value; +@@ -1022,7 +1022,7 @@ nncvpt(cdfid, varid, start, count, value + return; + } /* else */ + #endif /* FORTRAN_HAS_NO_SHORT */ +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ + #ifdef HDF + if ((nc_type) datatype == NC_LONG && handle->file_type!=HDF_FILE) { + long *longs = itol (value, ncount, ndims); +@@ -1133,7 +1133,7 @@ nncvptg(cdfid, varid, start, count, stri + tmpbasis = nctypelen(NC_LONG); + else + #endif +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ + if (datatype == NC_LONG) + tmpbasis = sizeof(int); + else +@@ -1190,7 +1190,7 @@ nncvptg(cdfid, varid, start, count, stri + return; + } /* else */ + #endif /* FORTRAN_HAS_NO_SHORT */ +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ + #ifdef HDF + if ((nc_type) datatype == NC_LONG && handle->file_type!=HDF_FILE) { + long *longs = itolg (value, ncount, nbasis, ndims); +@@ -1326,7 +1326,7 @@ nncvgt1(cdfid, varid, indices, value, rc + return; + } /* else */ + #endif /* FORTRAN_HAS_NO_SHORT */ +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ + #ifdef HDF + if ((nc_type) datatype == NC_LONG && handle->file_type!=HDF_FILE) { + long longs; +@@ -1468,7 +1468,7 @@ nncvgt(cdfid, varid, start, count, value + return; + } /* else */ + #endif /* FORTRAN_HAS_NO_SHORT */ +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ + #ifdef HDF + if ((nc_type) datatype == NC_LONG && handle->file_type!=HDF_FILE) { + long iocount = dimprod (ncount, ndims); /* product of dimensions */ +@@ -1606,7 +1606,7 @@ nncvgtg(cdfid, varid, start, count, stri + tmpbasis = nctypelen(NC_LONG); + else + #endif +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ + if (datatype == NC_LONG) + tmpbasis = sizeof(int); + else +@@ -1677,7 +1677,7 @@ nncvgtg(cdfid, varid, start, count, stri + return; + } /* else */ + #endif /* FORTRAN_HAS_NO_SHORT */ +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ + #ifdef HDF + if ((nc_type) datatype == NC_LONG && handle->file_type!=HDF_FILE) { + long iocount = dimprod (ncount, ndims); /* product of dimensions */ +@@ -1843,7 +1843,7 @@ nncapt(cdfid, varid, attname, datatype, + return; + } /* else */ + #endif /* FORTRAN_HAS_NO_SHORT */ +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ + #ifdef HDF + if ((nc_type) *datatype == NC_LONG && handle->file_type!=HDF_FILE) { + long *longs = itol (value, attlen, 1); +@@ -2008,7 +2008,7 @@ nncagt(cdfid, varid, attname, value, rco + return; + } /* else */ + #endif /* FORTRAN_HAS_NO_SHORT */ +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ + #ifdef HDF + if ((nc_type) datatype == NC_LONG && handle->file_type!=HDF_FILE) { + /* EIP We need to use int buffer to read data in on the platforms where long is 8 bytes diff --git a/SOURCES/hdf-ppc64le.patch b/SOURCES/hdf-ppc64le.patch new file mode 100644 index 0000000..e199a55 --- /dev/null +++ b/SOURCES/hdf-ppc64le.patch @@ -0,0 +1,83 @@ +diff -up hdf-4.2.15/hdf/src/hconv.h.ppc64le hdf-4.2.15/hdf/src/hconv.h +--- hdf-4.2.15/hdf/src/hconv.h.ppc64le 2020-04-30 21:25:25.183973672 -0600 ++++ hdf-4.2.15/hdf/src/hconv.h 2020-04-30 21:25:25.191973677 -0600 +@@ -59,7 +59,7 @@ + /* CONSTANT DEFINITIONS */ + /*****************************************************************************/ + /* Generally Big-Endian machines */ +-#if !defined(INTEL86) && !defined(MIPSEL) && !defined(DEC_ALPHA) && !defined(I860) && !defined(SUN386) && !(defined(__ia64) && !(defined(hpux) || defined(__hpux))) && !defined(__x86_64__) && !defined(__arm__) && !defined(__AARCH64EL__) ++#if !defined(INTEL86) && !defined(MIPSEL) && !defined(DEC_ALPHA) && !defined(I860) && !defined(SUN386) && !(defined(__ia64) && !(defined(hpux) || defined(__hpux))) && !defined(__x86_64__) && !defined(__arm__) && !defined(__AARCH64EL__) && !defined(__LITTLE_ENDIAN__) + # define UI8_IN DFKnb1b /* Unsigned Integer, 8 bits */ + # define UI8_OUT DFKnb1b + # define SI16_IN DFKnb2b /* S = Signed */ +diff -up hdf-4.2.15/hdf/src/hdfi.h.ppc64le hdf-4.2.15/hdf/src/hdfi.h +--- hdf-4.2.15/hdf/src/hdfi.h.ppc64le 2020-04-30 21:25:25.183973672 -0600 ++++ hdf-4.2.15/hdf/src/hdfi.h 2020-04-30 21:25:25.192973677 -0600 +@@ -75,6 +75,7 @@ + #define DFMT_IA64 0x4441 + #define DFMT_LINUX64 0x4441 + #define DFMT_POWERPC64 0x1111 ++#define DFMT_POWERPC64LE 0x4441 + #define DFMT_LINUXPPC 0x1111 + #define DFMT_LINUXSPARC 0x1111 + #define DFMT_LINUX390 0x1111 +@@ -926,18 +927,24 @@ typedef int hdf_pint_t; + + + /*-----------------------------------------------------*/ +-/* Power PC 5 64 */ + #if defined __powerpc64__ +- ++/* powerpc 64 bits */ + #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 + ++#ifdef __LITTLE_ENDIAN__ ++/* Power PC 8 64 little endian */ ++#define DF_MT DFMT_POWERPC64LE ++#else ++/* Power PC 5 64 */ ++#define DF_MT DFMT_POWERPC64 ++#endif ++ + #include /* for unbuffered i/o stuff */ + #include +-#define DF_MT DFMT_POWERPC64 + typedef void VOID; + typedef void *VOIDP; + typedef char *_fcd; +@@ -973,8 +980,9 @@ typedef long hdf_pint_t; + #define INCLUDES_ARE_ANSI + #endif + ++#endif /* powerpc 64 bits */ ++ + /*-----------------------------------------------------*/ +-#endif /*power PC 5 64 */ + /* Linux 64 */ + #if defined(__linux__) && defined __x86_64__ && !(defined SUN) /* i.e. 64-bit Linux but not SunOS on Intel */ + +diff -up hdf-4.2.15/mfhdf/libsrc/xdrposix.c.ppc64le hdf-4.2.15/mfhdf/libsrc/xdrposix.c +--- hdf-4.2.15/mfhdf/libsrc/xdrposix.c.ppc64le 2020-04-30 21:25:25.186973674 -0600 ++++ hdf-4.2.15/mfhdf/libsrc/xdrposix.c 2020-04-30 21:26:18.190001127 -0600 +@@ -442,7 +442,7 @@ xdrposix_getlong(xdrs, lp) + long *lp; + { + unsigned char *up = (unsigned char *)lp ; +-#if (defined AIX5L64 || defined __powerpc64__ || defined __s390x__ || (defined __hpux && __LP64__)) ++#if (defined AIX5L64 || (defined __powerpc64__ && !defined __LITTLE_ENDIAN__) || defined __s390x__ || (defined __hpux && __LP64__)) + *lp = 0 ; + up += (sizeof(long) - 4) ; + #endif +@@ -465,7 +465,7 @@ xdrposix_putlong(xdrs, lp) + netlong mycopy = htonl(*lp); + up = (unsigned char *)&mycopy; + #endif +-#if (defined AIX5L64 || defined __powerpc64__ || defined __s390x__ || (defined __hpux && __LP64__)) ++#if (defined AIX5L64 || (defined __powerpc64__ && !defined __LITTLE_ENDIAN__) || defined __s390x__ || (defined __hpux && __LP64__)) + up += (sizeof(long) - 4) ; + #endif + diff --git a/SOURCES/hdf-s390.patch b/SOURCES/hdf-s390.patch new file mode 100644 index 0000000..ea21e03 --- /dev/null +++ b/SOURCES/hdf-s390.patch @@ -0,0 +1,317 @@ +diff -up hdf-4.2.15/hdf/src/hdfi.h.s390 hdf-4.2.15/hdf/src/hdfi.h +--- hdf-4.2.15/hdf/src/hdfi.h.s390 2020-04-30 21:07:16.946922845 -0600 ++++ hdf-4.2.15/hdf/src/hdfi.h 2020-04-30 21:07:16.950922901 -0600 +@@ -77,6 +77,7 @@ + #define DFMT_POWERPC64 0x1111 + #define DFMT_LINUXPPC 0x1111 + #define DFMT_LINUXSPARC 0x1111 ++#define DFMT_LINUX390 0x1111 + + /* I/O library constants */ + #define UNIXUNBUFIO 1 +@@ -1130,6 +1131,66 @@ typedef int hdf_pint_t; + + #endif /* Linux Sparc32/64 */ + ++/* Linux s390/s390x */ ++#if defined __s390__ || defined __s390x__ ++ ++#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_LINUX390 ++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 __s390x__ /* 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 __s390x__ /* 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 s390/s390x */ ++ + /*-----------------------------------------------------*/ + /* 64-bit Free BSD */ + +diff -up hdf-4.2.15/mfhdf/fortran/jackets.c.in.s390 hdf-4.2.15/mfhdf/fortran/jackets.c.in +--- hdf-4.2.15/mfhdf/fortran/jackets.c.in.s390 2020-04-30 21:07:16.942922790 -0600 ++++ hdf-4.2.15/mfhdf/fortran/jackets.c.in 2020-04-30 21:10:30.030640644 -0600 +@@ -34,7 +34,7 @@ + + struct ncfils { /* This will be a common block from Fortran */ + double dd; +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ || defined __s390x__ + int ll; + #else + long ll; +@@ -65,7 +65,7 @@ struct ncfils { /* This will + + struct ncfils { /* This will be a common block from Fortran */ + double dd; +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ || defined __s390x__ + int ll; + #else + long ll; +@@ -420,7 +420,7 @@ stoig(shorts, ints, dims, basis, ndims) + } + #endif /* FORTRAN_HAS_NO_SHORT */ + +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ || defined __s390x__ + /* + * Convert multi-dimensional array of NCLONGs stored in ints to packed + * array of longs, in malloc'ed space. Returns pointer to longs or NULL +@@ -908,7 +908,7 @@ nncvpt1(cdfid, varid, indices, value, rc + return; + } /* else */ + #endif /* FORTRAN_HAS_NO_SHORT */ +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ || defined __s390x__ + #ifdef HDF + if ((nc_type) datatype == NC_LONG && handle->file_type!=HDF_FILE) { + long longs = *(int *)value; +@@ -1022,7 +1022,7 @@ nncvpt(cdfid, varid, start, count, value + return; + } /* else */ + #endif /* FORTRAN_HAS_NO_SHORT */ +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ || defined __s390x__ + #ifdef HDF + if ((nc_type) datatype == NC_LONG && handle->file_type!=HDF_FILE) { + long *longs = itol (value, ncount, ndims); +@@ -1133,7 +1133,7 @@ nncvptg(cdfid, varid, start, count, stri + tmpbasis = nctypelen(NC_LONG); + else + #endif +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ || defined __s390x__ + if (datatype == NC_LONG) + tmpbasis = sizeof(int); + else +@@ -1190,7 +1190,7 @@ nncvptg(cdfid, varid, start, count, stri + return; + } /* else */ + #endif /* FORTRAN_HAS_NO_SHORT */ +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ || defined __s390x__ + #ifdef HDF + if ((nc_type) datatype == NC_LONG && handle->file_type!=HDF_FILE) { + long *longs = itolg (value, ncount, nbasis, ndims); +@@ -1326,7 +1326,7 @@ nncvgt1(cdfid, varid, indices, value, rc + return; + } /* else */ + #endif /* FORTRAN_HAS_NO_SHORT */ +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ || defined __s390x__ + #ifdef HDF + if ((nc_type) datatype == NC_LONG && handle->file_type!=HDF_FILE) { + long longs; +@@ -1468,7 +1468,7 @@ nncvgt(cdfid, varid, start, count, value + return; + } /* else */ + #endif /* FORTRAN_HAS_NO_SHORT */ +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ || defined __s390x__ + #ifdef HDF + if ((nc_type) datatype == NC_LONG && handle->file_type!=HDF_FILE) { + long iocount = dimprod (ncount, ndims); /* product of dimensions */ +@@ -1606,7 +1606,7 @@ nncvgtg(cdfid, varid, start, count, stri + tmpbasis = nctypelen(NC_LONG); + else + #endif +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ || defined __s390x__ + if (datatype == NC_LONG) + tmpbasis = sizeof(int); + else +@@ -1677,7 +1677,7 @@ nncvgtg(cdfid, varid, start, count, stri + return; + } /* else */ + #endif /* FORTRAN_HAS_NO_SHORT */ +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ || defined __s390x__ + #ifdef HDF + if ((nc_type) datatype == NC_LONG && handle->file_type!=HDF_FILE) { + long iocount = dimprod (ncount, ndims); /* product of dimensions */ +@@ -1843,7 +1843,7 @@ nncapt(cdfid, varid, attname, datatype, + return; + } /* else */ + #endif /* FORTRAN_HAS_NO_SHORT */ +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ || defined __s390x__ + #ifdef HDF + if ((nc_type) *datatype == NC_LONG && handle->file_type!=HDF_FILE) { + long *longs = itol (value, attlen, 1); +@@ -2008,7 +2008,7 @@ nncagt(cdfid, varid, attname, value, rco + return; + } /* else */ + #endif /* FORTRAN_HAS_NO_SHORT */ +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ || defined __s390x__ + #ifdef HDF + if ((nc_type) datatype == NC_LONG && handle->file_type!=HDF_FILE) { + /* EIP We need to use int buffer to read data in on the platforms where long is 8 bytes +diff -up hdf-4.2.15/mfhdf/libsrc/array.c.s390 hdf-4.2.15/mfhdf/libsrc/array.c +diff -up hdf-4.2.15/mfhdf/libsrc/cdf.c.s390 hdf-4.2.15/mfhdf/libsrc/cdf.c +diff -up hdf-4.2.15/mfhdf/libsrc/netcdf.h.in.s390 hdf-4.2.15/mfhdf/libsrc/netcdf.h.in +--- hdf-4.2.15/mfhdf/libsrc/netcdf.h.in.s390 2020-04-30 21:07:16.957922998 -0600 ++++ hdf-4.2.15/mfhdf/libsrc/netcdf.h.in 2020-04-30 21:15:23.731467288 -0600 +@@ -293,7 +293,7 @@ typedef double ncdouble; + /* + * Variables/attributes of type NC_LONG should use the C type 'nclong' + */ +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ || defined __s390x__ + /* + * LP64 (also known as 4/8/8) denotes long and pointer as 64 bit types. + * http://www.unix.org/version2/whatsnew/lp64_wp.html +diff -up hdf-4.2.15/mfhdf/libsrc/putget.c.s390 hdf-4.2.15/mfhdf/libsrc/putget.c +--- hdf-4.2.15/mfhdf/libsrc/putget.c.s390 2020-04-30 21:07:16.959923025 -0600 ++++ hdf-4.2.15/mfhdf/libsrc/putget.c 2020-04-30 21:12:13.612268179 -0600 +@@ -665,7 +665,7 @@ Void *values ; + case NC_SHORT : + return( xdr_NCvshort(xdrs, (unsigned)rem/2, (short *)values) ) ; + case NC_LONG : +-#if (_MIPS_SZLONG == 64) || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ ++#if (_MIPS_SZLONG == 64) || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ || defined __s390x__ + return( xdr_int(xdrs, (nclong *)values) ) ; + #else + return( xdr_long(xdrs, (nclong *)values) ) ; +diff -up hdf-4.2.15/mfhdf/libsrc/xdrposix.c.s390 hdf-4.2.15/mfhdf/libsrc/xdrposix.c +--- hdf-4.2.15/mfhdf/libsrc/xdrposix.c.s390 2020-03-03 10:40:50.000000000 -0700 ++++ hdf-4.2.15/mfhdf/libsrc/xdrposix.c 2020-04-30 21:14:47.574557550 -0600 +@@ -262,7 +262,7 @@ int nbytes; + + static bool_t xdrposix_getlong(); + static bool_t xdrposix_putlong(); +-#if (_MIPS_SZLONG == 64) || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ ++#if (_MIPS_SZLONG == 64) || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ || defined __s390x__ + static bool_t xdrposix_getint(); + static bool_t xdrposix_putint(); + #endif +@@ -276,7 +276,7 @@ static long * xdrposix_inline(); + #if (defined __sun && defined _LP64) + static rpc_inline_t * xdrposix_inline(); + #else +-#if ((defined __x86_64__ ) && !(defined __sun && defined _LP64)) || defined __powerpc64__ ++#if ((defined __x86_64__ ) && !(defined __sun && defined _LP64)) || defined __powerpc64__ || defined __s390x__ + static int32_t * xdrposix_inline(); + #else + static netlong * xdrposix_inline(); +@@ -302,9 +302,9 @@ static struct xdr_ops xdrposix_ops = { + xdrposix_getpos, /* get offset in the stream */ + xdrposix_setpos, /* set offset in the stream */ + xdrposix_inline, /* prime stream for inline macros */ +-#if (defined __sun && defined _LP64) || defined __x86_64__ || defined __powerpc64__ ++#if (defined __sun && defined _LP64) || defined __x86_64__ || defined __powerpc64__ || defined __s390x__ + xdrposix_destroy, /* destroy stream */ +-#if !(defined __x86_64__) && !(defined __powerpc64__) || (defined __sun && defined _LP64) /* i.e. we are on SUN/Intel in 64-bit mode */ ++#if !(defined __x86_64__) && !(defined __powerpc64__) && !(defined __s390x__) || (defined __sun && defined _LP64) /* i.e. we are on SUN/Intel in 64-bit mode */ + NULL, /* no xdr_control function defined */ + #endif + /* Solaris 64-bit (arch=v9 and arch=amd64) has 64 bits long and 32 bits int. */ +@@ -442,7 +442,7 @@ xdrposix_getlong(xdrs, lp) + long *lp; + { + unsigned char *up = (unsigned char *)lp ; +-#if (defined AIX5L64 || defined __powerpc64__ || (defined __hpux && __LP64__)) ++#if (defined AIX5L64 || defined __powerpc64__ || defined __s390x__ || (defined __hpux && __LP64__)) + *lp = 0 ; + up += (sizeof(long) - 4) ; + #endif +@@ -465,7 +465,7 @@ xdrposix_putlong(xdrs, lp) + netlong mycopy = htonl(*lp); + up = (unsigned char *)&mycopy; + #endif +-#if (defined AIX5L64 || defined __powerpc64__ || (defined __hpux && __LP64__)) ++#if (defined AIX5L64 || defined __powerpc64__ || defined __s390x__ || (defined __hpux && __LP64__)) + up += (sizeof(long) - 4) ; + #endif + +@@ -560,7 +560,7 @@ static long * + #if (defined __sun && defined _LP64) + static rpc_inline_t * + #else +-#if ((defined __x86_64__) && !(defined __sun && defined _LP64)) || defined __powerpc64__ ++#if ((defined __x86_64__) && !(defined __sun && defined _LP64)) || defined __powerpc64__ || defined __s390x__ + static int32_t * + #else + static netlong * +@@ -581,7 +581,7 @@ xdrposix_inline(xdrs, len) + return (NULL); + } + +-#if (_MIPS_SZLONG == 64) || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ ++#if (_MIPS_SZLONG == 64) || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ || defined __s390x__ + + static bool_t + xdrposix_getint(xdrs, lp) +diff -up hdf-4.2.15/mfhdf/ncgen/ncgen.l.s390 hdf-4.2.15/mfhdf/ncgen/ncgen.l +--- hdf-4.2.15/mfhdf/ncgen/ncgen.l.s390 2020-04-30 21:07:16.961923053 -0600 ++++ hdf-4.2.15/mfhdf/ncgen/ncgen.l 2020-04-30 21:08:10.175628593 -0600 +@@ -113,7 +113,7 @@ FloatInf|Infinity|Inf { /* float m + yyerror(errstr); + } + +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || __powerpc64__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || __powerpc64__ || defined __s390x__ + if (dd < INT_MIN || dd > INT_MAX) + #else + if (dd < LONG_MIN || dd > LONG_MAX) +diff -up hdf-4.2.15/mfhdf/ncgen/ncgenyy.c.s390 hdf-4.2.15/mfhdf/ncgen/ncgenyy.c +--- hdf-4.2.15/mfhdf/ncgen/ncgenyy.c.s390 2020-04-30 21:07:16.963923081 -0600 ++++ hdf-4.2.15/mfhdf/ncgen/ncgenyy.c 2020-04-30 21:08:53.818030313 -0600 +@@ -991,7 +991,7 @@ YY_RULE_SETUP + yyerror(errstr); + } + +-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || __powerpc64__ ++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || __powerpc64__ || __s390x__ + if (dd < INT_MIN || dd > INT_MAX) + #else + if (dd < LONG_MIN || dd > LONG_MAX) diff --git a/SPECS/hdf.spec b/SPECS/hdf.spec new file mode 100644 index 0000000..961df5f --- /dev/null +++ b/SPECS/hdf.spec @@ -0,0 +1,563 @@ +%if 0%{?rhel} && 0%{?rhel} < 7 +%{!?__global_ldflags: %global __global_ldflags -Wl,-z,relro} +%endif + +Name: hdf +Version: 4.2.15 +Release: 7%{?dist} +Summary: A general purpose library and file format for storing scientific data +License: BSD +URL: https://portal.hdfgroup.org/ +Source0: https://support.hdfgroup.org/ftp/HDF/releases/HDF%{version}/src/%{name}-%{version}.tar.bz2 +Source1: h4comp +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 +# Add AArch64 definitions +Patch8: hdf-aarch64.patch +# ppc64le support +# https://bugzilla.redhat.com/show_bug.cgi?id=1134385 +Patch9: hdf-ppc64le.patch + +# Fix syntax error on epel6 builds +# Use only if java is disabled +Patch10: hdf-avoid_syntax_error_el6.patch + +# Fix java build +Patch11: hdf-build.patch + +# For destdir/examplesdir patches +BuildRequires: automake, libtool, gcc, gcc-c++ +BuildRequires: chrpath +BuildRequires: flex byacc libjpeg-devel zlib-devel %{!?el6:libaec-devel} +BuildRequires: libtirpc-devel +BuildRequires: gcc-gfortran, gcc +BuildRequires: java-devel +BuildRequires: javapackages-tools +BuildRequires: hamcrest +BuildRequires: junit +BuildRequires: slf4j +BuildRequires: make +Requires: %{name}-libs%{?_isa} = %{version}-%{release} + + +%description +HDF4 is a general purpose library and file format for storing scientific data. +HDF4 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 HDF4 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 HDF4 files according to your needs. + + +%package devel +Summary: HDF4 development files +Provides: %{name}-static = %{version}-%{release} +Requires: %{name}-libs%{?_isa} = %{version}-%{release} +Requires: libjpeg-devel%{?_isa} +Requires: libtirpc-devel%{?_isa} +Requires: zlib-devel%{?_isa} + +%description devel +HDF4 development headers and libraries. + + +%package libs +Summary: HDF4 shared libraries + +%description libs +HDF4 shared libraries. + + +%package static +Summary: HDF4 static libraries +Requires: %{name}-devel = %{version}-%{release} + +%description static +HDF4 static libraries. + + +%package -n java-hdf +Summary: HDF4 java library +Requires: slf4j +Obsoletes: jhdf < 3.3.1-2 + +%description -n java-hdf +HDF4 java library + + +%prep +%setup -q + +#patch0 -p1 -b .maxavailfiles +%patch1 -p1 -b .ppc +%patch2 -p1 -b .sparc +%patch3 -p1 -b .s390 +%patch4 -p1 -b .arm +%patch5 -p1 -b .destdir +%patch6 -p1 -b .examplesdir +%patch8 -p1 -b .aarch64 +%patch9 -p1 -b .ppc64le +%patch11 -p1 -b .build + +# Replace jars with system versions +# hamcrest-core is obsoleted in hamcrest-2.2 +# Junit tests are failing with junit-4.13.1 +%if 0%{?rhel} >= 9 || 0%{?fedora} > 34 +find . ! -name junit.jar -name "*.jar" -delete +ln -s %{_javadir}/hamcrest/hamcrest.jar java/lib/hamcrest-core.jar +%else +find . -name "*.jar" -delete +ln -s %{_javadir}/hamcrest/core.jar java/lib/hamcrest-core.jar +ln -s %{_javadir}/junit.jar java/lib/junit.jar +# Fix test output +junit_ver=$(sed -n '//{s/^.*>\([0-9]\.[0-9.]*\)<.*/\1/;p;q}' /usr/share/maven-poms/junit.pom) +sed -i -e "s/JUnit version .*/JUnit version $junit_ver/" java/test/testfiles/JUnit-*.txt +%endif +ln -s %{_javadir}/slf4j/api.jar java/lib/slf4j-api-1.7.25.jar +ln -s %{_javadir}/slf4j/nop.jar java/lib/ext/slf4j-nop-1.7.25.jar +ln -s %{_javadir}/slf4j/simple.jar java/lib/ext/slf4j-simple-1.7.25.jar + +## Fix syntax error bacause 'CLASSPATH_ENV=$H4_CLASSPATH' line on epel6 builds +# Use only if java is disabled +%if 0%{?rhel} && 0%{?rhel} < 7 +%patch10 -p0 +%endif + +find . -type f -name "*.h" -exec chmod 0644 '{}' \; +find . -type f -name "*.c" -exec chmod 0644 '{}' \; + +# 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 + +# TODO: upstream fix +# libmfhdf.so is link to libdf.so +export CFLAGS="%{optflags} -I%{_includedir}/tirpc" +export LIBS="-ltirpc" +%global _configure ../configure +# Java test needs this but doesn't create it +mkdir -p build-shared/java/lib +cd build-shared +# Java requires shared libraries, fortran requires static +%configure --disable-production --enable-java --disable-netcdf \ + --enable-shared=yes --enable-static=no --disable-fortran %{!?el6:--with-szlib} \ + --includedir=%{_includedir}/%{name} +%make_build +cd - +mkdir build-static +cd build-static +# Java requires shared libraries, fortran requires static + +# Temporary workaround for compiling on GCC-10 +%if 0%{?fedora} > 31 || 0%{?rhel} > 8 +export FCFLAGS="%{build_fflags} -fallow-argument-mismatch" +export FFLAGS="%{build_fflags} -fallow-argument-mismatch" +%endif +%configure --disable-production --disable-java --disable-netcdf \ + --enable-shared=no --enable-static=yes --enable-fortran %{!?el6:--with-szlib} \ + --includedir=%{_includedir}/%{name} +%make_build +cd - + +# 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 +%make_install -C build-static +%make_install -C build-shared +chrpath --delete --keepgoing %{buildroot}%{_bindir}/* %{buildroot}%{_libdir}/%{name}/*.so.* %{buildroot}%{_libdir}/*.so.* || : + +install -pm 644 MANIFEST README.txt release_notes/*.txt %{buildroot}%{_pkgdocdir}/ + +rm -f %{buildroot}%{_libdir}/%{name}/*.la +rm -f %{buildroot}%{_libdir}/*.la + +#Don't conflict with netcdf +for file in ncdump ncgen; do + mv %{buildroot}%{_bindir}/$file %{buildroot}%{_bindir}/h$file + # man pages are the same than netcdf ones + rm %{buildroot}%{_mandir}/man1/${file}.1 +done + +# this is done to have the same timestamp on multiarch setups +touch -c -r README.txt %{buildroot}%{_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 %{buildroot}%{_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 + +#Fixup headers and scripts for multiarch +%if "%{_lib}" == "lib64" +#sed -i -e s/H5pubconf.h/H5pubconf-64.h/ %{buildroot}%{_includedir}/H5public.h +#mv %{buildroot}%{_includedir}/H5pubconf.h \ + #%{buildroot}%{_includedir}/H5pubconf-64.h +for x in h4cc h4fc +do + mv %{buildroot}%{_bindir}/${x} \ + %{buildroot}%{_bindir}/${x}-64 + install -m 0755 %SOURCE1 %{buildroot}%{_bindir}/${x} +done +%else +#sed -i -e s/H5pubconf.h/H5pubconf-32.h/ %{buildroot}%{_includedir}/H5public.h +#mv %{buildroot}%{_includedir}/H5pubconf.h \ + #%{buildroot}%{_includedir}/H5pubconf-32.h +for x in h4cc h4fc +do + mv %{buildroot}%{_bindir}/${x} \ + %{buildroot}%{_bindir}/${x}-32 + install -m 0755 %SOURCE1 %{buildroot}%{_bindir}/${x} +done +%endif + + +%check +make -j1 -C build-shared check +make -j1 -C build-static check + + +%files +%license COPYING +%{_pkgdocdir}/ +%exclude %{_pkgdocdir}/examples +%{_bindir}/* +%exclude %{_bindir}/h4?c* +%{_libdir}/*.so.0* +%{_mandir}/man1/*.gz + +%files devel +%{_bindir}/h4?c* +%{_includedir}/%{name}/ +%{_libdir}/*.so +%{_libdir}/*.settings +%{_pkgdocdir}/examples/ + +%files libs +%{_libdir}/*.so.0* + +%files static +%{_libdir}/*.a + +%files -n java-hdf +%{_jnidir}/hdf.jar +%{_libdir}/%{name}/libhdf_java.so + + +%changelog +* Wed Sep 20 2023 Arkady L. Shane - 4.2.15-7 +- Rebuilt for MSVSphere 9.2 + +* Thu Jul 29 2021 Antonio Trande - 4.2.15-7 +- Fix eln builds + +* Wed Jul 28 2021 Antonio Trande - 4.2.15-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild +- Use bundled junit +- Fix hamcrest symlinks in Fedora 35+ + +* Sun May 30 2021 Orion Poplawski - 4.2.15-5 +- Handle junit versions better + +* Tue Jan 26 2021 Fedora Release Engineering - 4.2.15-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Tue Jul 28 2020 Fedora Release Engineering - 4.2.15-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Tue Jul 21 2020 Merlin Mathesius - 4.2.15-2 +- Minor conditional fix for ELN + +* Fri Jul 10 2020 Jiri Vanek - 4.2.15-2 +- Rebuilt for JDK-11, see https://fedoraproject.org/wiki/Changes/Java11 + +* Fri May 01 2020 Orion Poplawski - 4.2.15-1 +- Update to 4.2.15 + +* Thu Apr 02 2020 Björn Esser - 4.2.14-9 +- Fix string quoting for rpm >= 4.16 + +* Sun Feb 02 2020 Antonio Trande 4.2.14-8 +- Temporary workaround for compiling with GCC-10 + +* Wed Jan 29 2020 Fedora Release Engineering - 4.2.14-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Fri Nov 8 2019 Orion Poplawski - 4.2.14-6 +- Move compile scripts to hdf-devel and allow multilib install (bz#1769326) +- Split shared libraries into hdf-libs sub-package + +* Thu Jul 25 2019 Fedora Release Engineering - 4.2.14-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Wed Apr 10 2019 Orion Poplawski - 4.2.14-4 +- Move libraries into %%{_libdir} + +* Tue Apr 9 2019 Orion Poplawski - 4.2.14-3 +- Build shared libraries +- Enable java + +* Fri Feb 01 2019 Fedora Release Engineering - 4.2.14-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Sat Nov 03 2018 Antonio Trande 4.2.14-1 +- Release 4.2.14 + +* Sun Oct 7 2018 Orion Poplawski - 4.2.13-11 +- Use LIBS instead of LDFLAGS for -ltirpc + +* Fri Jul 13 2018 Fedora Release Engineering - 4.2.13-10 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Thu Feb 22 2018 Antonio Trande - 4.2.13-9 +- Add gcc BR + +* Wed Feb 07 2018 Fedora Release Engineering - 4.2.13-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Mon Feb 5 2018 Orion Poplawski - 4.2.13-7 +- Make hdf-devel require libtirpc-devel + +* Fri Feb 02 2018 Orion Poplawski - 4.2.13-6 +- Rebuild for gcc 8.0 + +* Sat Jan 20 2018 Antonio Trande 4.2.13-5 +- Enable szlib support + +* Wed Jan 17 2018 Pavel Raiskup - 4.2.13-4 +- rpc api moved from glibc to libtirpc: + https://fedoraproject.org/wiki/Changes/SunRPCRemoval + +* Wed Aug 02 2017 Fedora Release Engineering - 4.2.13-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + +* Wed Jul 26 2017 Fedora Release Engineering - 4.2.13-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Fri Jul 21 2017 Antonio Trande 4.2.13-1 +- Update to 4.2.13 + +* Fri Feb 10 2017 Fedora Release Engineering - 4.2.12-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Tue Jan 31 2017 Orion Poplawski 4.2.12-1 +- Update to 4.2.12 + +* Wed May 25 2016 Orion Poplawski 4.2.11-4 +- Cleanup spec +- Remove .la files +- Use %%license + +* Wed Feb 03 2016 Fedora Release Engineering - 4.2.11-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Wed Jun 17 2015 Fedora Release Engineering - 4.2.11-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Fri Feb 13 2015 Orion Poplawski 4.2.11-1 +- Update to 4.2.11 +- Drop format patch applied upstream +- Update destdir patch + +* Mon Sep 8 2014 Orion Poplawski - 4.2.10-7 +- Updated patch for ppc64le support (bug #1134385) + +* Wed Sep 3 2014 Orion Poplawski - 4.2.10-6 +- Add initial attempt at ppc64le support (bug #1134385) + +* Sat Aug 16 2014 Fedora Release Engineering - 4.2.10-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + +* Wed Jun 25 2014 Marcin Juszkiewicz 4.2.10-4 +- Add AArch64 support. + +* Sat Jun 07 2014 Fedora Release Engineering - 4.2.10-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Thu May 22 2014 Jakub Čajka 4.2.10-2 +- Fixed build/tests on s390x +- Tests enabled on ppc + +* Fri Feb 14 2014 Orion Poplawski 4.2.10-1 +- Update to 4.2.10 +- Rebase arm, ppc, and s390 patches +- Add destdir, examplesdir patches to fix installation of examples + +* Sat Feb 1 2014 Orion Poplawski 4.2.9-4 +- Fix build with -Werror=format-security (bug #1037120) + +* Tue Aug 13 2013 Karsten Hopp 4.2.9-3 +- temporarily skip checks on ppc* (#961007) + +* Sat Aug 03 2013 Fedora Release Engineering - 4.2.9-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + +* Fri Feb 15 2013 Orion Poplawski 4.2.9-1 +- Update to 4.2.9 +- Add patch for some missing declarations +- Add patch to fix integer wrapping in test + +* Thu Feb 14 2013 Fedora Release Engineering - 4.2.8-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild + +* Fri Jan 18 2013 Adam Tkac - 4.2.8-3 +- rebuild due to "jpeg8-ABI" feature drop + +* Fri Dec 21 2012 Adam Tkac - 4.2.8-2 +- rebuild against new libjpeg + +* Wed Aug 15 2012 Orion Poplawski 4.2.8-1 +- Update to 4.2.8 + +* Thu Jul 19 2012 Fedora Release Engineering - 4.2.7-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Tue Mar 06 2012 DJ Delorie 4.2.7-2 +- Add patch for ARM support + +* Wed Feb 15 2012 Orion Poplawski 4.2.7-1 +- Update to 4.2.7 + +* Fri Jan 13 2012 Fedora Release Engineering - 4.2.6-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + +* Tue Jun 21 2011 Orion Poplawski 4.2.6-1 +- Update to 4.2.6 +- Drop jpeg patch, fixed upstream +- Update ppc,s390 patches + +* Wed Feb 09 2011 Fedora Release Engineering - 4.2.5-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Fri Dec 10 2010 Orion Poplawski 4.2.5-2 +- Add patch to disable jpeg tests due to change to jpeg-turbo, FTBFS bug 631337 + +* Tue Mar 2 2010 Orion Poplawski 4.2.5-1 +- Update to 4.2.5 + +* Fri Sep 18 2009 Orion Poplawski 4.2r4-5 +- Add EL4 build conditionals + +* Thu Aug 13 2009 Orion Poplawski 4.2r4-4 +- Add -fPIC to FFLAGS + +* Fri Jul 24 2009 Fedora Release Engineering - 4.2r4-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild + +* Tue Apr 7 2009 Orion Poplawski 4.2r4-2 +- Add Provides hdf-static to hdf-devel (bug #494529) + +* Wed Feb 25 2009 Orion Poplawski 4.2r4-1 +- Update to 4.2r4 +- Add patch to increase buffer size in test +- Drop upstreamed libm patch + +* Tue Feb 24 2009 Fedora Release Engineering - 4.2r3-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild + +* Wed Oct 1 2008 Orion Poplawski 4.2r3-4 +- Rebase maxavailfiles patch + +* Sun Sep 21 2008 Ville Skyttä - 4.2r3-3 +- Fix Patch0:/%%patch mismatch. + +* Sun Mar 2 2008 Patrice Dumas 4.2r3-2 +- don't ship an empty netcdf.h file. The related definitions are now + in hdf4_netcdf.h + +* Tue Feb 5 2008 Orion Poplawski 4.2.r3-1 +- Update to 4.2r3 + +* Tue Feb 5 2008 Orion Poplawski 4.2.r2-7 +- Add patch to add -lm to hdiff link + +* Tue Feb 5 2008 Orion Poplawski 4.2.r2-6 +- Add patch for s390 support (bug #431511) + +* 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 + +* Mon Oct 29 2007 Patrice Dumas 4.2r2-3 +- ship hdf enabled nc* utils as hnc* +- add --disable-netcdf that replaces HAVE_NETCDF +- keep include files timestamps, and have the same accross arches +- fix multiarch difference in include files (#341491) + +* Wed Oct 17 2007 Patrice Dumas 4.2r2-2 +- update to 4.2r2 + +* Fri Aug 24 2007 Orion Poplawski 4.2r1-15 +- Update license tag to BSD +- Rebuild for BuildID + +* Thu May 10 2007 Balint Cristian 4.2r1-14 +- Fix ppc64 too. + +* Thu May 10 2007 Orion Poplawski 4.2r1-13 +- Remove netcdf-devel requires. (bug #239631) + +* Fri Apr 20 2007 Orion Poplawski 4.2r1-12 +- Use 4.2r1-hrepack-p4.tar.gz for hrepack patch +- Remove configure patch applied upstream +- Use --disable-production configure flag to avoid stripping -g compile flag +- Add patch to fix open file test when run under mock + +* Tue Aug 29 2006 Orion Poplawski 4.2r1-11 +- Rebuild for FC6 + +* Thu Apr 20 2006 Orion Poplawski 4.2r1-10 +- Add Requires netcdf-devel for hdf-devel (bug #189337) + +* Mon Feb 13 2006 Orion Poplawski 4.2r1-9 +- Rebuild for gcc/glibc changes + +* Wed Feb 8 2006 Orion Poplawski 4.2r1-8 +- Compile with -DHAVE_NETCDF for gdl hdf/netcdf compatibility + +* Thu Feb 2 2006 Orion Poplawski 4.2r1-7 +- Add patch to build on ppc + +* Wed Dec 21 2005 Orion Poplawski 4.2r1-6 +- Rebuild + +* Wed Oct 05 2005 Orion Poplawski 4.2r1-5 +- Add Requires: libjpeg-devel zlib-devel to -devel package + +* Tue Aug 23 2005 Orion Poplawski 4.2r1-4 +- Use -fPIC +- Fix project URL + +* Fri Jul 29 2005 Orion Poplawski 4.2r1-3 +- Exclude ppc/ppc64 - HDF does not recognize it + +* Wed Jul 20 2005 Orion Poplawski 4.2r1-2 +- Fix BuildRequires to have autoconf + +* Fri Jul 15 2005 Orion Poplawski 4.2r1-1 +- inital package for Fedora Extras