~ruther/guix-local

7a78cc7af24a1303dd0117cb977e15ca89a5dad8 — Mark H Weaver 12 years ago 2ebab8e
gnu: mit-krb5: don't assume arguments are evaluated right-to-left.

* gnu/packages/patches/mit-krb5-init-fix.patch: New file.
* gnu/packages/mit-krb5.scm (mit-krb5): Apply patch at the end of the custom
  unpack phase.
* gnu-system.am (dist_patch_DATA): Add patch.
3 files changed, 27 insertions(+), 1 deletions(-)

M gnu-system.am
M gnu/packages/mit-krb5.scm
A gnu/packages/patches/mit-krb5-init-fix.patch
M gnu-system.am => gnu-system.am +1 -0
@@ 251,6 251,7 @@ dist_patch_DATA =						\
  gnu/packages/patches/m4-readlink-EINVAL.patch			\
  gnu/packages/patches/make-impure-dirs.patch			\
  gnu/packages/patches/mcron-install.patch			\
  gnu/packages/patches/mit-krb5-init-fix.patch			\
  gnu/packages/patches/perl-no-sys-dirs.patch			\
  gnu/packages/patches/plotutils-libpng-jmpbuf.patch		\
  gnu/packages/patches/procps-make-3.82.patch			\

M gnu/packages/mit-krb5.scm => gnu/packages/mit-krb5.scm +8 -1
@@ 37,6 37,8 @@
            (sha256 (base32
                     "1daiaxgkxcryqs37w28v4x1vajqmay4l144d1zd9c2d7jjxr9gcs"))))
   (build-system gnu-build-system)
   (native-inputs
    `(("patch/init-fix" ,(search-patch "mit-krb5-init-fix.patch"))))
   (inputs `(("bison" ,bison)
             ("perl" ,perl)))
   (arguments


@@ 51,7 53,12 @@
           (and (zero? (system* "tar" "xvf" source))
                (zero? (system* "tar" "xvf" (string-append inner ".tar.gz")))
                (chdir inner)
                (chdir "src"))))
                (chdir "src")
                ;; XXX The current patch system does not support unusual
                ;; source unpack methods, so we have to apply this patch in a
                ;; non-standard way.
                (zero? (system* "patch" "-p1" "--batch" "-i"
                                (assoc-ref %build-inputs "patch/init-fix"))))))
       (alist-replace
        'check
        (lambda* (#:key inputs #:allow-other-keys #:rest args)

A gnu/packages/patches/mit-krb5-init-fix.patch => gnu/packages/patches/mit-krb5-init-fix.patch +18 -0
@@ 0,0 1,18 @@
Fix the early context initialization code to avoid assuming that
arguments will be evaluated from right to left.

Patch by Mark H Weaver <mhw@netris.org>.

--- src/lib/krb5/krb/t_cc_config.c.orig	2012-12-17 21:47:05.000000000 -0500
+++ src/lib/krb5/krb/t_cc_config.c	2013-10-29 18:19:16.547994590 -0400
@@ -117,8 +117,8 @@
     int c;
     unsigned int i;
 
-    bail_on_err(context, "Error initializing Kerberos library",
-                krb5_init_context(&context));
+    ret = krb5_init_context(&context);
+    bail_on_err(context, "Error initializing Kerberos library", ret);
     bail_on_err(context, "Error getting location of default ccache",
                 krb5_cc_default(context, &ccache));
     server = NULL;