~ruther/guix-local

72d6655c55a45405d2456c7f6c2884b851ca1a39 — Efraim Flashner 9 years ago 539ab1a
gnu: dejagnu: Use 'modify-phases' syntax.

* gnu/packages/dejagnu.scm (dejagnu)[arguments]: Use 'modify-phases'
syntax.
1 files changed, 33 insertions(+), 34 deletions(-)

M gnu/packages/dejagnu.scm
M gnu/packages/dejagnu.scm => gnu/packages/dejagnu.scm +33 -34
@@ 1,5 1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016 Efraim Flashner <efraim@flasher.co.il>
;;;
;;; This file is part of GNU Guix.
;;;


@@ 38,41 39,39 @@
    (build-system gnu-build-system)
    (inputs `(("expect" ,expect)))
    (arguments
     '(#:phases (alist-replace
                 'check
                 (lambda _
                   ;; Note: The test-suite *requires* /dev/pts among the
                   ;; `build-chroot-dirs' of the build daemon when
                   ;; building in a chroot.  See
                   ;; <http://thread.gmane.org/gmane.linux.distributions.nixos/1036>
                   ;; for details.
                   (if (and (directory-exists? "/dev/pts")
                            (directory-exists? "/proc"))
                       (begin
                        ;; Provide `runtest' with a log name, otherwise
                        ;; it tries to run `whoami', which fails when in
                        ;; a chroot.
                        (setenv "LOGNAME" "guix-builder")
     '(#:phases
       (modify-phases %standard-phases
         (replace 'check
           (lambda _
             ;; Note: The test-suite *requires* /dev/pts among the
             ;; `build-chroot-dirs' of the build daemon when
             ;; building in a chroot.  See
             ;; <http://thread.gmane.org/gmane.linux.distributions.nixos/1036>
             ;; for details.
             (if (and (directory-exists? "/dev/pts")
                      (directory-exists? "/proc"))
                 (begin
                  ;; Provide `runtest' with a log name, otherwise it
                  ;; tries to run `whoami', which fails when in a chroot.
                  (setenv "LOGNAME" "guix-builder")

                        ;; The test-suite needs to have a non-empty stdin:
                        ;; <http://lists.gnu.org/archive/html/bug-dejagnu/2003-06/msg00002.html>.
                        (zero?
                         (system "make check < /dev/zero")))
                       (begin
                         (display "test suite cannot be run, skipping\n")
                         #t)))
                 (alist-cons-after
                  'install 'post-install
                  (lambda* (#:key inputs outputs #:allow-other-keys)
                    ;; Use the right `expect' binary.
                    (let ((out    (assoc-ref outputs "out"))
                          (expect (assoc-ref inputs "expect")))
                      (substitute* (string-append out "/bin/runtest")
                        (("^mypath.*$" all)
                         (string-append all
                                        "export PATH="
                                        expect "/bin:$PATH\n")))))
                  %standard-phases))))
                  ;; The test-suite needs to have a non-empty stdin:
                  ;; <http://lists.gnu.org/archive/html/bug-dejagnu/2003-06/msg00002.html>.
                  (zero?
                   (system "make check < /dev/zero")))
                 (begin
                   (display "test suite cannot be run, skipping\n")
                   #t))))
         (add-after 'install 'post-install
           (lambda* (#:key inputs outputs #:allow-other-keys)
             ;; Use the right `expect' binary.
             (let ((out    (assoc-ref outputs "out"))
                   (expect (assoc-ref inputs "expect")))
               (substitute* (string-append out "/bin/runtest")
                 (("^mypath.*$" all)
                  (string-append all
                                 "export PATH="
                                 expect "/bin:$PATH\n")))))))))
    (home-page
     "https://www.gnu.org/software/dejagnu/")
    (synopsis "GNU software testing framework")