M guix/gexp.scm => guix/gexp.scm +4 -0
@@ 351,6 351,10 @@ its search path."
(gexp
(call-with-output-file (ungexp output)
(lambda (port)
+ ;; Note: that makes a long shebang. When the store
+ ;; is /gnu/store, that fits within the 128-byte
+ ;; limit imposed by Linux, but that may go beyond
+ ;; when running tests.
(format port
"#!~a/bin/guile --no-auto-compile~%!#~%"
(ungexp guile))
M tests/gexp.scm => tests/gexp.scm +8 -0
@@ 211,6 211,14 @@
(return (string=? (readlink (string-append out "/foo"))
guile))))
+(define shebang
+ (string-append (derivation->output-path guile-for-build)
+ "/bin/guile --no-auto-compile"))
+
+;; If we're going to hit the silly shebang limit (128 chars on Linux-based
+;; systems), then skip the following test.
+(test-skip (if (> (string-length shebang) 127) 1 0))
+
(test-assertm "gexp->script"
(mlet* %store-monad ((n -> (random (expt 2 50)))
(exp -> (gexp