Subject: [bug#33815] [PATCH] gnu: mit-scheme: Enable tests.

From: Kei Kebreau <[email-masked]>
Date: Thu, 20 Dec 2018 16:05:50 -0500

* gnu/packages/scheme.scm (mit-scheme)[arguments]: Remove #:tests?.  Add
'patch-/bin/sh' phase.
[native-inputs]: Add autoconf, automake, and libtool.
---
 gnu/packages/scheme.scm | 24 +++++++++++++++++++++---
 1 file changed, 21 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/scheme.scm b/gnu/packages/scheme.scm
index 3c688e120..16904dce3 100644
--- a/gnu/packages/scheme.scm
+++ b/gnu/packages/scheme.scm
@@ -37,6 +37,7 @@
   #:use-module (guix utils)
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system trivial)
+  #:use-module (gnu packages autotools)
   #:use-module (gnu packages bdw-gc)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages libevent)
@@ -85,8 +86,7 @@
     (outputs '("out" "doc"))
     (build-system gnu-build-system)
     (arguments
-     `(#:tests? #f                                ; no "check" target
-       #:modules ((guix build gnu-build-system)
+     `(#:modules ((guix build gnu-build-system)
                   (guix build utils)
                   (srfi srfi-1))
        #:phases
@@ -103,6 +103,20 @@
                        (find-files "src/compiler" "^make\\."))
              (chdir "src")
              #t))
+         (add-after 'unpack 'patch-/bin/sh
+           (lambda _
+             (setenv "CONFIG_SHELL" (which "sh"))
+             (substitute* '("../tests/ffi/autogen.sh"
+                            "../tests/ffi/autobuild.sh"
+                            "../tests/ffi/test-ffi.sh"
+                            "../tests/runtime/test-process.scm"
+                            "runtime/unxprm.scm")
+               (("/bin/sh") (which "sh"))
+               (("\\./autogen\\.sh")
+                (string-append (which "sh") " autogen.sh"))
+               (("\\./configure")
+                (string-append (which "sh") " configure")))
+             #t))
          ;; FIXME: the texlive-union insists on regenerating fonts.  It stores
          ;; them in HOME, so it needs to be writeable.
          (add-before 'build 'set-HOME
@@ -150,7 +164,11 @@
                (delete-file-recursively old-doc-dir)
                #t))))))
     (native-inputs
-     `(("texlive" ,(texlive-union (list texlive-tex-texinfo)))
+     `(;; Autoconf, Automake, and Libtool are necessary for the FFI tests.
+       ("autoconf" ,autoconf)
+       ("automake" ,automake)
+       ("libtool" ,libtool)
+       ("texlive" ,(texlive-union (list texlive-tex-texinfo)))
        ("texinfo" ,texinfo)
        ("m4" ,m4)))
     (inputs
-- 
2.20.0