From df8a09c70870e5a949a83735589d5b829f3d2629 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 26 Nov 2013 22:31:22 +0100 Subject: [PATCH] gnu: mit-krb5: Build with GCC 4.7. * gnu/packages/mit-krb5.scm (mit-krb5): Make BISON and PERL native inputs. Add GCC-4.7 as a native input. --- gnu/packages/mit-krb5.scm | 113 ++++++++++++++++++++------------------ 1 file changed, 59 insertions(+), 54 deletions(-) diff --git a/gnu/packages/mit-krb5.scm b/gnu/packages/mit-krb5.scm index 361cd36f25..2528f46157 100644 --- a/gnu/packages/mit-krb5.scm +++ b/gnu/packages/mit-krb5.scm @@ -20,6 +20,7 @@ #:use-module (gnu packages) #:use-module (gnu packages bison) #:use-module (gnu packages perl) + #:use-module (gnu packages gcc) #:use-module (guix licenses) #:use-module (guix packages) #:use-module (guix download) @@ -27,60 +28,64 @@ (define-public mit-krb5 (package - (name "mit-krb5") - (version "1.11.3") - (source (origin - (method url-fetch) - (uri (string-append "http://web.mit.edu/kerberos/www/dist/krb5/" - (string-copy version 0 (string-rindex version #\.)) - "/krb5-" version "-signed.tar")) - (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 - '(#:phases - (alist-replace - 'unpack - (lambda* (#:key source #:allow-other-keys) - (let ((inner - (substring source - (string-index-right source #\k) - (string-index-right source #\-)))) - (and (zero? (system* "tar" "xvf" source)) - (zero? (system* "tar" "xvf" (string-append inner ".tar.gz"))) - (chdir inner) - (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")))))) + (name "mit-krb5") + (version "1.11.3") + (source (origin + (method url-fetch) + (uri (string-append "http://web.mit.edu/kerberos/www/dist/krb5/" + (string-copy version 0 (string-rindex version #\.)) + "/krb5-" version "-signed.tar")) + (sha256 (base32 + "1daiaxgkxcryqs37w28v4x1vajqmay4l144d1zd9c2d7jjxr9gcs")))) + (build-system gnu-build-system) + (native-inputs + `(("patch/init-fix" ,(search-patch "mit-krb5-init-fix.patch")) + ("bison" ,bison) + ("perl" ,perl) + + ;; XXX: When built with GCC 4.8, the 'db_test' test program enters an + ;; infinite loop. As a stopgap measure, build with GCC 4.7. + ("gcc" ,gcc-4.7))) + (arguments + '(#:phases (alist-replace - 'check - (lambda* (#:key inputs #:allow-other-keys #:rest args) - (let ((perl (assoc-ref inputs "perl")) - (check (assoc-ref %standard-phases 'check))) - (substitute* "plugins/kdb/db2/libdb2/test/run.test" - (("/bin/cat") (string-append perl "/bin/perl"))) - (substitute* "plugins/kdb/db2/libdb2/test/run.test" - (("D/bin/sh") (string-append "D" (which "bash")))) - (substitute* "plugins/kdb/db2/libdb2/test/run.test" - (("bindir=/bin/.") (string-append "bindir=" perl "/bin"))) - ;; use existing files and directories in test - (substitute* "tests/resolve/Makefile" - (("-p telnet") "-p 23")) - ;; avoid service names since /etc/services is unavailable - (apply check args))) - %standard-phases)))) - (synopsis "MIT Kerberos 5") - (description - "Massachusetts Institute of Technology implementation of Kerberos. + 'unpack + (lambda* (#:key source #:allow-other-keys) + (let ((inner + (substring source + (string-index-right source #\k) + (string-index-right source #\-)))) + (and (zero? (system* "tar" "xvf" source)) + (zero? (system* "tar" "xvf" (string-append inner ".tar.gz"))) + (chdir inner) + (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) + (let ((perl (assoc-ref inputs "perl")) + (check (assoc-ref %standard-phases 'check))) + (substitute* "plugins/kdb/db2/libdb2/test/run.test" + (("/bin/cat") (string-append perl "/bin/perl"))) + (substitute* "plugins/kdb/db2/libdb2/test/run.test" + (("D/bin/sh") (string-append "D" (which "bash")))) + (substitute* "plugins/kdb/db2/libdb2/test/run.test" + (("bindir=/bin/.") (string-append "bindir=" perl "/bin"))) + ;; use existing files and directories in test + (substitute* "tests/resolve/Makefile" + (("-p telnet") "-p 23")) + ;; avoid service names since /etc/services is unavailable + (apply check args))) + %standard-phases)))) + (synopsis "MIT Kerberos 5") + (description + "Massachusetts Institute of Technology implementation of Kerberos. Kerberos is a network authentication protocol designed to provide strong authentication for client/server applications by using secret-key cryptography.") - (license (bsd-style "file://NOTICE" - "See NOTICE in the distribution.")) - (home-page "http://web.mit.edu/kerberos/"))) + (license (bsd-style "file://NOTICE" + "See NOTICE in the distribution.")) + (home-page "http://web.mit.edu/kerberos/")))