diff options
author | Mark H Weaver <mhw@netris.org> | 2013-11-04 13:33:49 -0500 |
---|---|---|
committer | Mark H Weaver <mhw@netris.org> | 2013-11-04 13:38:06 -0500 |
commit | 7a78cc7af24a1303dd0117cb977e15ca89a5dad8 (patch) | |
tree | da22901df6422742da8e3d58e2eb724a4c7135ff | |
parent | 2ebab8e909b377d58bb52c33d3a31d121a0f64de (diff) | |
download | guix-7a78cc7af24a1303dd0117cb977e15ca89a5dad8.tar guix-7a78cc7af24a1303dd0117cb977e15ca89a5dad8.tar.gz |
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.
-rw-r--r-- | gnu-system.am | 1 | ||||
-rw-r--r-- | gnu/packages/mit-krb5.scm | 9 | ||||
-rw-r--r-- | gnu/packages/patches/mit-krb5-init-fix.patch | 18 |
3 files changed, 27 insertions, 1 deletions
diff --git a/gnu-system.am b/gnu-system.am index 360100932f..fa04f822c1 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -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 \ diff --git a/gnu/packages/mit-krb5.scm b/gnu/packages/mit-krb5.scm index 8222212d95..361cd36f25 100644 --- a/gnu/packages/mit-krb5.scm +++ b/gnu/packages/mit-krb5.scm @@ -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) diff --git a/gnu/packages/patches/mit-krb5-init-fix.patch b/gnu/packages/patches/mit-krb5-init-fix.patch new file mode 100644 index 0000000000..13e49c2789 --- /dev/null +++ b/gnu/packages/patches/mit-krb5-init-fix.patch @@ -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; |