gnu: mig: Do not assume "perl" to be available.
authorJan (janneke) Nieuwenhuizen <janneke@gnu.org>
Fri, 26 Jun 2020 20:37:49 +0000 (22:37 +0200)
committerJan (janneke) Nieuwenhuizen <janneke@gnu.org>
Fri, 26 Jun 2020 21:29:19 +0000 (23:29 +0200)
* gnu/packages/hurd.scm (mig)[inputs]: Include perl.
[arguments]: Substitute "perl" with full store file name in bin/mig.
* gnu/packages/cross-base.scm (cross-kernel-headers): Adjust mig-cross
accordingly.

gnu/packages/cross-base.scm
gnu/packages/hurd.scm

index 9b4aa10..b35a3cb 100644 (file)
@@ -373,7 +373,7 @@ target that libc."
                                     ',%gcc-cross-include-paths)
                           #t))))
          #:configure-flags (list ,(string-append "--target=" target))
-         ,@(package-arguments mig)))
+         #:tests? #f))
 
       (propagated-inputs `(("cross-gnumach-headers" ,xgnumach-headers)))
       (native-inputs `(("cross-gcc" ,xgcc)
index dd2d0f1..f0c4451 100644 (file)
@@ -131,11 +131,21 @@ GNU/Hurd."
     (build-system gnu-build-system)
     ;; Flex is needed both at build and run time.
     (inputs `(("gnumach-headers" ,gnumach-headers)
-              ("flex" ,flex)))
+              ("flex" ,flex)
+              ("perl" ,perl)))
     (native-inputs
      `(("flex" ,flex)
        ("bison" ,bison)))
-    (arguments `(#:tests? #f))
+    (arguments `(#:tests? #f
+                 #:phases
+                 (modify-phases %standard-phases
+                   (add-after 'install 'patch-non-shebang-references
+                     (lambda* (#:key build inputs outputs #:allow-other-keys)
+                       (let ((perl (assoc-ref inputs "perl"))
+                             (out  (assoc-ref outputs "out")))
+                         (substitute* (string-append out "/bin/mig")
+                           (("perl ") (string-append perl "/bin/perl ")))
+                         #t))))))
     (home-page "https://www.gnu.org/software/hurd/microkernel/mach/mig/gnu_mig.html")
     (synopsis "Mach 3.0 interface generator for the Hurd")
     (description