diff --git a/gnu/local.mk b/gnu/local.mk index fe476534c2..b40472709f 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -944,6 +944,7 @@ dist_patch_DATA = \ %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/hdf5-mpi-deprecations.patch \ %D%/packages/patches/hdf5-1.8-mpi-deprecations.patch \ diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 38bb81242f..9e515fd3d1 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -100,6 +100,7 @@ #:use-module (gnu packages mpi) #:use-module (gnu packages multiprecision) #:use-module (gnu packages netpbm) + #:use-module (gnu packages onc-rpc) #:use-module (gnu packages pcre) #:use-module (gnu packages popt) #:use-module (gnu packages perl) @@ -684,7 +685,8 @@ computations.") (base32 "1wz0586zh91pqb95wvr0pbh71a8rz358fdj6n2ksp85x2cis9lsm")) (patches (search-patches "hdf4-architectures.patch" "hdf4-reproducibility.patch" - "hdf4-shared-fortran.patch")))) + "hdf4-shared-fortran.patch" + "hdf4-tirpc.patch")))) (build-system gnu-build-system) (native-inputs `(("gfortran" ,gfortran) @@ -692,10 +694,14 @@ computations.") ("flex" ,flex))) (inputs `(("zlib" ,zlib) - ("libjpeg" ,libjpeg))) + ("libjpeg" ,libjpeg) + ("libtirpc" ,libtirpc))) (arguments `(#:parallel-tests? #f - #:configure-flags '("--enable-shared") + #:configure-flags (list "--enable-shared" + (string-append "CPPFLAGS=-I" + (assoc-ref %build-inputs "libtirpc") + "/include/tirpc")) #:phases (modify-phases %standard-phases ;; This is inspired by two of Debian's patches. diff --git a/gnu/packages/patches/hdf4-tirpc.patch b/gnu/packages/patches/hdf4-tirpc.patch new file mode 100644 index 0000000000..3f436e3887 --- /dev/null +++ b/gnu/packages/patches/hdf4-tirpc.patch @@ -0,0 +1,33 @@ +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