aboutsummaryrefslogtreecommitdiff
path: root/gnu
diff options
context:
space:
mode:
authorAndreas Enge <andreas@enge.fr>2023-08-21 22:12:28 +0200
committerAndreas Enge <andreas@enge.fr>2023-09-13 11:18:42 +0200
commit6a01c1142b0099bc5ccff6550c2dd24b90ec6aad (patch)
tree19d3953f423ecc2100f96bb0c8951a1f0f16f0da /gnu
parentc30c9df5e9eb2d28e1b593128f05a0aae1919826 (diff)
downloadguix-6a01c1142b0099bc5ccff6550c2dd24b90ec6aad.tar.gz
guix-6a01c1142b0099bc5ccff6550c2dd24b90ec6aad.zip
gnu: hdf4, hdf4-alt: Update to 4.2.16-2.
* gnu/packages/maths.scm (hdf4)[source]: Update to 4.2.16-2. Drop patches that do not apply any more. [arguments]: Drop configure flag related to libtirpc. Add configure flag to build xdr library and drop unneeded substitutions. * gnu/packages/patches/hdf4-architectures.patch, gnu/packages/patches/hdf4-tirpc.patch: Remove files. * gnu/local.mk (dist_patch_DATA): Unregister patches.
Diffstat (limited to 'gnu')
-rw-r--r--gnu/local.mk2
-rw-r--r--gnu/packages/maths.scm28
-rw-r--r--gnu/packages/patches/hdf4-architectures.patch632
-rw-r--r--gnu/packages/patches/hdf4-tirpc.patch33
4 files changed, 8 insertions, 687 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index 4f8637418a..924d497057 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1372,10 +1372,8 @@ dist_patch_DATA = \
%D%/packages/patches/gtksourceview-2-add-default-directory.patch \
%D%/packages/patches/gzdoom-search-in-installed-share.patch \
%D%/packages/patches/gzdoom-find-system-libgme.patch \
- %D%/packages/patches/hdf4-architectures.patch \
%D%/packages/patches/hdf4-reproducibility.patch \
%D%/packages/patches/hdf4-shared-fortran.patch \
- %D%/packages/patches/hdf4-tirpc.patch \
%D%/packages/patches/hdf5-config-date.patch \
%D%/packages/patches/hdf-eos2-build-shared.patch \
%D%/packages/patches/hdf-eos2-remove-gctp.patch \
diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index 38e71e18f8..e3cd0762be 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2013, 2014, 2015, 2016, 2019, 2020 Andreas Enge <andreas@enge.fr>
+;;; Copyright © 2013, 2014, 2015, 2016, 2019, 2020, 2023 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2013 Nikita Karetnikov <nikita@karetnikov.org>
;;; Copyright © 2014, 2016, 2017 John Darrington <jmd@gnu.org>
;;; Copyright © 2014-2022 Eric Bavier <bavier@posteo.net>
@@ -1321,18 +1321,16 @@ computations.")
(define-public hdf4
(package
(name "hdf4")
- (version "4.2.14")
+ (version "4.2.16-2")
(source
(origin
(method url-fetch)
(uri (string-append "https://support.hdfgroup.org/ftp/HDF/releases/HDF"
version "/src/hdf-" version ".tar.bz2"))
(sha256
- (base32 "0n29klrrbwan9307np0d9hr128dlpc4nnlf57a140080ll3jmp8l"))
- (patches (search-patches "hdf4-architectures.patch"
- "hdf4-reproducibility.patch"
- "hdf4-shared-fortran.patch"
- "hdf4-tirpc.patch"))))
+ (base32 "0b395czhqr43mmbiifmg2mhb488wnd4zccj45vpql98ja15j7hy5"))
+ (patches (search-patches "hdf4-reproducibility.patch"
+ "hdf4-shared-fortran.patch"))))
(build-system gnu-build-system)
(native-inputs
(list gfortran bison flex))
@@ -1345,9 +1343,7 @@ computations.")
#:configure-flags (list "--enable-shared"
"FCFLAGS=-fallow-argument-mismatch"
"FFLAGS=-fallow-argument-mismatch"
- (string-append "CPPFLAGS=-I"
- (assoc-ref %build-inputs "libtirpc")
- "/include/tirpc"))
+ "--enable-hdf4-xdr")
#:phases
(modify-phases %standard-phases
;; This is inspired by two of Debian's patches.
@@ -1362,14 +1358,7 @@ computations.")
(substitute*
'("mfhdf/hdfimport/testutil.sh.in" "hdf/util/testutil.sh.in")
(("/bin/rm") "rm")
- (("/bin/mkdir") "mkdir"))
- (substitute* (find-files "." "^Makefile\\.in$")
- (("@HDF_BUILD_XDR_TRUE@XDR_ADD = \
--R\\$\\(abs_top_builddir\\)/mfhdf/xdr/\\.libs") "")
- (("@HDF_BUILD_SHARED_TRUE@AM_LDFLAGS = \
--R\\$\\(abs_top_builddir\\)/mfhdf/libsrc/\\.libs \
--R\\$\\(abs_top_builddir\\)/hdf/src/\\.libs \\$\\(XDR_ADD\\)") ""))
- #t))
+ (("/bin/mkdir") "mkdir"))))
(add-after 'configure 'patch-settings
(lambda _
;; libhdf4.settings contains the full path of the
@@ -1389,8 +1378,7 @@ computations.")
;; files. Fix it manually to avoid having to propagate it.
(substitute* (find-files (string-append out "/lib") "\\.la$")
(("-ljpeg")
- (string-append "-L" libjpeg "/lib -ljpeg")))
- #t))))))
+ (string-append "-L" libjpeg "/lib -ljpeg")))))))))
(home-page "https://www.hdfgroup.org/products/hdf4/")
(synopsis
"Library and multi-object file format for storing and managing data")
diff --git a/gnu/packages/patches/hdf4-architectures.patch b/gnu/packages/patches/hdf4-architectures.patch
deleted file mode 100644
index aa71d5a383..0000000000
--- a/gnu/packages/patches/hdf4-architectures.patch
+++ /dev/null
@@ -1,632 +0,0 @@
-Copied from Debian.
-
-Description: Support additional architectures.
-Author: Francesco Paolo Lovergine <frankie@debian.org>
-
---- a/hdf/src/hdfi.h
-+++ b/hdf/src/hdfi.h
-@@ -48,6 +48,7 @@
- /* 8 - Cray IEEE */
- /* (i.e. Big-Endian, all 64-bit architecture w/IEEE Floats) */
- /*--------------------------------------------------------------------------*/
-+#define DFMT_S390 0x1111
- #define DFMT_SUN 0x1111
- #define DFMT_SUN_INTEL 0x4441
- #define DFMT_ALLIANT 0x1111
-@@ -62,6 +63,7 @@
- #define DFMT_CTSS 0x3331
- #define DFMT_VAX 0x2221
- #define DFMT_MIPSEL 0x4441
-+#define DFMT_MIPSEB 0x1111
- #define DFMT_PC 0x4441
- #define DFMT_APPLE 0x1111
- #define DFMT_APPLE_INTEL 0x4441
-@@ -75,6 +77,13 @@
- #define DFMT_IA64 0x4441
- #define DFMT_LINUX64 0x4441
- #define DFMT_POWERPC64 0x1111
-+#define DFMT_POWERPC64LE 0x4441
-+#define DFMT_ARMV4L 0x4441
-+#define DFMT_AARCH64 0x4441
-+#define DFMT_X86_64 0x4441
-+#define DFMT_SH 0x4441
-+#define DFMT_SHEB 0x1111
-+#define DFMT_RISCV64 0x4441
-
- /* I/O library constants */
- #define UNIXUNBUFIO 1
-@@ -288,7 +297,7 @@ typedef int hdf_pint_t;
-
- #endif /* IBM6000 */
-
--#if defined(HP9000) || (!defined(__convexc__) && (defined(hpux) || defined(__hpux)))
-+#if defined(HP9000) || (!defined(__convexc__) && (defined(hpux) || defined(__hpux) || defined(__hppa__)))
-
- #ifndef HP9000
- #define HP9000
-@@ -347,6 +356,10 @@ typedef int hdf_pint_t;
- /* what each does */
- #define JMEMSYS MEM_ANSI
-
-+#ifdef __linux__
-+#define FNAME_POST_UNDERSCORE
-+#endif
-+
- #endif /* HP9000 */
-
-
-@@ -670,6 +683,462 @@ typedef int hdf_pint_t;
- #endif /* !(defined(__APPLE__)) */
-
- /*-----------------------------------------------------*/
-+#if defined (__linux__) && defined (__mc68000__)
-+
-+#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 1
-+
-+#include <fcntl.h>
-+#include <sys/types.h> /* for unbuffered file I/O */
-+#include <sys/stat.h>
-+#include <unistd.h>
-+#include <ctype.h> /* for character macros */
-+
-+#define DF_MT DFMT_MOTOROLA
-+
-+#ifndef VOID /* The stupid windows.h header file uses a #define instead of a typedef */
-+typedef void VOID;
-+#endif /* end 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 float float32;
-+typedef double float64;
-+typedef long intf; /* size of INTEGERs in Fortran compiler */
-+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
-+#define HAVE_STDC
-+#define INCLUDES_ARE_ANSI
-+
-+#endif /* Linux/m68k */
-+
-+#if defined (__linux__) && defined (__sparc__)
-+
-+#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 1
-+
-+#include <fcntl.h>
-+#include <sys/types.h> /* for unbuffered file I/O */
-+#include <sys/stat.h>
-+#include <unistd.h>
-+#include <ctype.h> /* for character macros */
-+
-+#define DF_MT DFMT_SUN
-+
-+#ifndef VOID /* The stupid windows.h header file uses a #define instead of a typedef */
-+typedef void VOID;
-+#endif /* end 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 float float32;
-+typedef double float64;
-+typedef long intf; /* size of INTEGERs in Fortran compiler */
-+#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
-+#define HAVE_STDC
-+#define INCLUDES_ARE_ANSI
-+
-+#endif /* Linux/Sparc */
-+
-+#if defined (__linux__) && 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 1
-+
-+#include <fcntl.h>
-+#include <sys/types.h> /* for unbuffered file I/O */
-+#include <sys/stat.h>
-+#include <unistd.h>
-+#include <ctype.h> /* for character macros */
-+
-+#define DF_MT DFMT_MOTOROLA
-+
-+#ifndef VOID /* The stupid windows.h header file uses a #define instead of a typedef */
-+typedef void VOID;
-+#endif /* end VOID */
-+typedef void * VOIDP;
-+typedef char * _fcd;
-+typedef char char8;
-+typedef unsigned char uchar8;
-+typedef signed 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 float float32;
-+typedef double float64;
-+typedef long intf; /* size of INTEGERs in Fortran compiler */
-+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
-+#define HAVE_STDC
-+#define INCLUDES_ARE_ANSI
-+
-+#endif /* Linux/powerpc */
-+
-+#if defined (__linux__) && defined (__s390__)
-+
-+#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 1
-+
-+#include <fcntl.h>
-+#include <sys/types.h> /* for unbuffered file I/O */
-+#include <sys/stat.h>
-+#include <unistd.h>
-+#include <ctype.h> /* for character macros */
-+
-+#define DF_MT DFMT_S390
-+
-+#ifndef VOID /* The stupid windows.h header file uses a #define instead of a typedef */
-+typedef void VOID;
-+#endif /* end VOID */
-+typedef void * VOIDP;
-+typedef char * _fcd;
-+typedef char char8;
-+typedef unsigned char uchar8;
-+typedef signed 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 float float32;
-+typedef double float64;
-+typedef long intf; /* size of INTEGERs in Fortran compiler */
-+#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
-+#define HAVE_STDC
-+#define INCLUDES_ARE_ANSI
-+
-+#endif /* Linux/s390 */
-+
-+#if defined (__linux__) && (defined (__MIPSEB__) || defined(__MIPSEL__))
-+
-+#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 1
-+
-+#include <fcntl.h>
-+#include <sys/types.h> /* for unbuffered file I/O */
-+#include <sys/stat.h>
-+#include <unistd.h>
-+#include <ctype.h> /* for character macros */
-+
-+#if defined (__MIPSEB__)
-+#define DF_MT DFMT_MIPSEB
-+#elif defined(__MIPSEL__)
-+#define DF_MT DFMT_MIPSEL
-+#endif
-+
-+#ifndef VOID /* The stupid windows.h header file uses a #define instead of a typedef */
-+typedef void VOID;
-+#endif /* end VOID */
-+typedef void * VOIDP;
-+typedef char * _fcd;
-+typedef char char8;
-+typedef unsigned char uchar8;
-+typedef signed 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 float float32;
-+typedef double float64;
-+typedef long intf; /* size of INTEGERs in Fortran compiler */
-+typedef long 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
-+#define HAVE_STDC
-+#define INCLUDES_ARE_ANSI
-+
-+#endif /* Linux/mips */
-+
-+#if defined (__linux__) && 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 1
-+
-+#include <fcntl.h>
-+#include <sys/types.h> /* for unbuffered file I/O */
-+#include <sys/stat.h>
-+#include <unistd.h>
-+#include <ctype.h> /* for character macros */
-+
-+#define DF_MT DFMT_ARMV4L
-+
-+#ifndef VOID /* The stupid windows.h header file uses a #define instead of a typedef */
-+typedef void VOID;
-+#endif /* end VOID */
-+typedef void * VOIDP;
-+typedef char * _fcd;
-+typedef char char8;
-+typedef unsigned char uchar8;
-+typedef signed 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 float float32;
-+typedef double float64;
-+typedef long intf; /* size of INTEGERs in Fortran compiler */
-+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
-+#define HAVE_STDC
-+#define INCLUDES_ARE_ANSI
-+
-+#endif /* Linux/arm */
-+
-+#if defined (__linux__) && 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 1
-+
-+#include <fcntl.h>
-+#include <sys/types.h> /* for unbuffered file I/O */
-+#include <sys/stat.h>
-+#include <unistd.h>
-+#include <ctype.h> /* for character macros */
-+
-+#define DF_MT DFMT_AARCH64
-+
-+typedef void VOID;
-+typedef void * VOIDP;
-+typedef char * _fcd;
-+typedef char char8;
-+typedef unsigned char uchar8;
-+typedef signed 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 float float32;
-+typedef double float64;
-+typedef int intf; /* size of INTEGERs in Fortran compiler */
-+typedef long hdf_pint_t; /* an integer the same size as a pointer */
-+#define FNAME_POST_UNDERSCORE
-+#define _fcdtocp(desc) (desc)
-+#define FILELIB UNIXBUFIO
-+
-+#ifndef BIG_LONGS
-+#define BIG_LONGS
-+#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
-+#define HAVE_STDC
-+#define INCLUDES_ARE_ANSI
-+
-+#endif /* Linux/aarch64 */
-+
-+#if defined (__linux__) && defined (__riscv) && (__riscv_xlen == 64)
-+
-+#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 1
-+
-+#include <fcntl.h>
-+#include <sys/types.h> /* for unbuffered file I/O */
-+#include <sys/stat.h>
-+#include <unistd.h>
-+#include <ctype.h> /* for character macros */
-+
-+#define DF_MT DFMT_RISCV64
-+
-+typedef void VOID;
-+typedef void * VOIDP;
-+typedef char * _fcd;
-+typedef char char8;
-+typedef unsigned char uchar8;
-+typedef signed 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 float float32;
-+typedef double float64;
-+typedef int intf; /* size of INTEGERs in Fortran compiler */
-+typedef long hdf_pint_t; /* an integer the same size as a pointer */
-+#define FNAME_POST_UNDERSCORE
-+#define _fcdtocp(desc) (desc)
-+#define FILELIB UNIXBUFIO
-+
-+#ifndef BIG_LONGS
-+#define BIG_LONGS
-+#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
-+#define HAVE_STDC
-+#define INCLUDES_ARE_ANSI
-+
-+#endif /* Linux/riscv64 */
-+
- #if defined(NEXT) || defined(NeXT)
-
- #ifndef NEXT
-@@ -932,7 +1401,11 @@ Please check your Makefile.
-
- #include <sys/file.h> /* for unbuffered i/o stuff */
- #include <sys/stat.h>
--#define DF_MT DFMT_POWERPC64
-+#ifdef __LITTLE_ENDIAN__
-+#define DF_MT DFMT_POWERPC64LE
-+#else
-+#define DF_MT DFMT_POWERPC64
-+#endif
- typedef void VOID;
- typedef void *VOIDP;
- typedef char *_fcd;
-@@ -956,6 +1429,11 @@ typedef long hdf_pint_t;
- #define _fcdtocp(desc) (desc)
- #define FILELIB UNIXBUFIO
-
-+#ifndef BIG_LONGS
-+#define BIG_LONGS
-+#endif
-+
-+
- /* JPEG #define's - Look in the JPEG docs before changing - (Q) */
-
- /* Determine the memory manager we are going to use. Valid values are: */
-@@ -1101,6 +1579,8 @@ typedef long hdf_pint_t;
- #define _fcdtocp(desc) (desc)
- #define FILELIB UNIXBUFIO
-
-+#define BIG_LONGS
-+
- /* JPEG #define's - Look in the JPEG docs before changing - (Q) */
-
- /* Determine the memory manager we are going to use. Valid values are: */
-@@ -1115,6 +1595,66 @@ typedef long hdf_pint_t;
-
- #endif /* IA64 */
-
-+/* Renesas SuperH SH3(little/big)/SH4(little/big) */
-+#if defined (__linux__) && defined(__sh__)
-+
-+#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 1
-+
-+#include <fcntl.h>
-+#include <sys/types.h> /* for unbuffered file I/O */
-+#include <sys/stat.h>
-+#include <unistd.h>
-+#include <ctype.h> /* for character macros */
-+
-+#if defined (__LITTLE_ENDIAN__)
-+#define DF_MT DFMT_SH
-+#elif defined(__BIG_ENDIAN__)
-+#define DF_MT DFMT_SHEB
-+#endif
-+
-+#ifndef VOID /* The stupid windows.h header file uses a #define instead of a typedef */
-+typedef void VOID;
-+#endif /* end VOID */
-+
-+typedef void * VOIDP;
-+typedef char * _fcd;
-+typedef char char8;
-+typedef unsigned char uchar8;
-+typedef signed 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 float float32;
-+typedef double float64;
-+typedef long intf;
-+typedef int hdf_pint_t;
-+#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
-+#define HAVE_STDC
-+#define INCLUDES_ARE_ANSI
-+
-+#endif /* Linux/sh */
-+
- #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
---- a/hdf/src/hconv.h
-+++ b/hdf/src/hconv.h
-@@ -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(__powerpc__) && defined(__LITTLE_ENDIAN__)) && !defined(__aarch64__) && !defined(__ARM_EABI__) && !defined(__riscv)
- # define UI8_IN DFKnb1b /* Unsigned Integer, 8 bits */
- # define UI8_OUT DFKnb1b
- # define SI16_IN DFKnb2b /* S = Signed */
diff --git a/gnu/packages/patches/hdf4-tirpc.patch b/gnu/packages/patches/hdf4-tirpc.patch
deleted file mode 100644
index 3f436e3887..0000000000
--- a/gnu/packages/patches/hdf4-tirpc.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-Build with libtirpc on all architectures because glibc no longer provides
-SunRPC support.
-
-diff --git a/configure b/configure
---- a/configure
-+++ b/configure
-@@ -23635,10 +23635,13 @@
- *-pc-cygwin*)
- LIBS="$LIBS -ltirpc"
- CPPFLAGS="$CPPFLAGS -I/usr/include/tirpc" ;;
-+ *-linux-gnu)
-+ LIBS="$LIBS -ltirpc"
-+ CPPFLAGS="$CPPFLAGS" ;;
- *) ;;
- esac
-
--if test "X$BUILD_XDR" != "Xyes"; then
-+if test "X$BUILD_XDR" = "Xyes"; then
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- /* end confdefs.h. */
-
-@@ -23693,9 +23696,9 @@
- ## but we need to make sure that it is present on the system. Do that here,
- ## The SunRPC of the glibc has been replaced by a TI-RPC (Transport Independent RPC) library for IPv6 support
- case "$host" in
-- *-pc-cygwin*)
-+ *)
- HAVE_RPC="yes"
-- ac_fn_c_check_header_mongrel "$LINENO" "rpc.h" "ac_cv_header_rpc_h" "$ac_includes_default"
-+ ac_fn_c_check_header_mongrel "$LINENO" "rpc/rpc.h" "ac_cv_header_rpc_h" "$ac_includes_default"
- if test "x$ac_cv_header_rpc_h" = xyes; then :
- :
- else