gnu: mailutils: Update to 3.0.

* gnu/packages/mail.scm (mailutils): Update to 3.0.
[arguments]: Adjust 'pre-build' phase.
* gnu/packages/patches/m4-gets-undeclared.patch: Remove.
* gnu/local.mk (dist_patch_DATA): Adjust accordingly.
master
Ludovic Courtès 2016-11-13 21:11:38 +01:00
parent d81850d438
commit 142530178d
No known key found for this signature in database
GPG Key ID: 090B11993D9AEBB5
3 changed files with 31 additions and 59 deletions

View File

@ -700,7 +700,6 @@ dist_patch_DATA = \
%D%/packages/patches/luajit-no_ldconfig.patch \
%D%/packages/patches/luajit-symlinks.patch \
%D%/packages/patches/luit-posix.patch \
%D%/packages/patches/m4-gets-undeclared.patch \
%D%/packages/patches/make-impure-dirs.patch \
%D%/packages/patches/mars-install.patch \
%D%/packages/patches/mars-sfml-2.3.patch \

View File

@ -103,34 +103,52 @@
(define-public mailutils
(package
(name "mailutils")
(version "2.2")
(version "3.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/mailutils/mailutils-"
version ".tar.bz2"))
(sha256
(base32
"0szbqa12zqzldqyw97lxqax3ja2adis83i7brdfsxmrfw68iaf65"))
(patches (search-patches "m4-gets-undeclared.patch"))))
"0h7cx4cd3niycx7pl0p2358cx2smwm5sb3l9bpb8czkdl6v115c8"))))
(build-system gnu-build-system)
(arguments
'(;; TODO: Add `--with-sql'.
#:phases (alist-cons-before
'build 'pre-build
(lambda _
;; Use Guile 2.0's public API.
(substitute* "libmu_scm/mu_message.c"
(("scm_i_string_length")
"scm_c_string_length"))
;; This file should be generated to use the right
;; value of $(libdir) et al.
(delete-file "libmu_scm/mailutils.scm")
;; Use the right file name for `cat'.
(substitute* "testsuite/lib/mailutils.exp"
(("/bin/cat")
(which "cat"))))
(which "cat")))
;; Tests try to invoke 'maidag' such that it looks up the
;; 'root' user, which does not exist in the build
;; environment.
(substitute* "maidag/tests/testsuite"
(("root <") "nobody <")
(("spool/root") "spool/nobody")
(("root@localhost") "nobody@localhost"))
;; The 'pipeact.at' tests generate a shell script; make
;; sure it uses the right shell.
(substitute* '("sieve/tests/testsuite"
"mh/tests/testsuite")
(("#! /bin/sh")
(string-append "#!" (which "sh"))))
(substitute* "mh/tests/testsuite"
(("moreproc: /bin/cat")
(string-append "moreproc: " (which "cat"))))
;; XXX: The comsatd tests rely on being able to open
;; /dev/tty, but that gives ENODEV in the build
;; environment. Thus, ignore test failures here.
(substitute* "comsat/tests/Makefile.in"
(("\\$\\(SHELL\\) \\$\\(TESTSUITE\\)" all)
(string-append "-" all)))
#t)
%standard-phases)
#:parallel-tests? #f))
(inputs

View File

@ -1,45 +0,0 @@
This patch is needed to allow builds with newer versions of
the GNU libc (2.16+).
The upstream fix was:
commit 66712c23388e93e5c518ebc8515140fa0c807348
Author: Eric Blake <eblake@redhat.com>
Date: Thu Mar 29 13:30:41 2012 -0600
stdio: don't assume gets any more
Gnulib intentionally does not have a gets module, and now that C11
and glibc have dropped it, we should be more proactive about warning
any user on a platform that still has a declaration of this dangerous
interface.
* m4/stdio_h.m4 (gl_STDIO_H, gl_STDIO_H_DEFAULTS): Drop gets
support.
* modules/stdio (Makefile.am): Likewise.
* lib/stdio-read.c (gets): Likewise.
* tests/test-stdio-c++.cc: Likewise.
* m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix comment.
* lib/stdio.in.h (gets): Make warning occur in more places.
* doc/posix-functions/gets.texi (gets): Update documentation.
Reported by Christer Solskogen.
Signed-off-by: Eric Blake <eblake@redhat.com>
This patch just gets rid of the offending part.
--- m4-1.4.16/lib/stdio.in.h.orig 2012-09-01 01:05:36.000000000 +0200
+++ m4-1.4.16/lib/stdio.in.h 2012-09-01 01:05:42.000000000 +0200
@@ -158,12 +158,6 @@ _GL_WARN_ON_USE (fflush, "fflush is not
"use gnulib module fflush for portable POSIX compliance");
#endif
-/* It is very rare that the developer ever has full control of stdin,
- so any use of gets warrants an unconditional warning. Assume it is
- always declared, since it is required by C89. */
-#undef gets
-_GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
-
#if @GNULIB_FOPEN@
# if @REPLACE_FOPEN@
# if !(defined __cplusplus && defined GNULIB_NAMESPACE)