(address . guix-patches@gnu.org)(name . Andreas Enge)(address . andreas@enge.fr)
* 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.
---
gnu/local.mk | 2 -
gnu/packages/maths.scm | 28 +-
gnu/packages/patches/hdf4-architectures.patch | 632 ------------------
gnu/packages/patches/hdf4-tirpc.patch | 33 -
4 files changed, 8 insertions(+), 687 deletions(-)
delete mode 100644 gnu/packages/patches/hdf4-architectures.patch
delete mode 100644 gnu/packages/patches/hdf4-tirpc.patch
Toggle diff (535 lines)
diff --git a/gnu/local.mk b/gnu/local.mk
index 011ababfb7..a9acd493e9 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1363,10 +1363,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 1666d6e420..b90746f7f6 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 @@ (define-public gctp
(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 @@ (define-public hdf4
#: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 @@ (define-public hdf4
(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 @@ (define-public hdf4
;; 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 float
This message was truncated. Download the full message here.