build: Have configure create a git archive.
authorJan Nieuwenhuizen <janneke@gnu.org>
Mon, 9 Jul 2018 07:57:15 +0000 (09:57 +0200)
committerJan Nieuwenhuizen <janneke@gnu.org>
Thu, 12 Jul 2018 20:30:00 +0000 (22:30 +0200)
* configure: Create git archive if necessary.

configure
guix.scm

index 9df25c28b394f6c9f3145a5e7e60309e394ab650..455ad9309fccfdf0ca2f4ac8aaff6ec5c204d227 100755 (executable)
--- a/configure
+++ b/configure
@@ -20,7 +20,7 @@ cat <<EOF
 not found
 Missing dependencies, run
 
-    sudo apt-get install guile-2.2
+    sudo apt-get install guile-2.2-dev
 EOF
     exit 1
 fi
@@ -309,6 +309,12 @@ Some influential environment variables:
       (check-version "nyacc" '(0 80 41) #:command (string-append GUILE " -c '(use-modules (nyacc lalr)) (display *nyacc-version*)'"))
 
       (check-version "bash" '(4 0))
+      (when (and (check-version "git" '(2 0) #:optional? #t)
+                 (not (file-exists? ".git")))
+        ;; Debian wants to run `make clean' from a tarball
+        (and (zero? (system* "git" "init"))
+             (zero? (system* "git" "add" "."))
+             (zero? (system* "git" "commit" "-m" "Import mes"))))
       (when (and (not (member ARCH '("i686" "x86_64"))) (not with-courage?))
         (stderr "platform not supported: ~a, try --with-courage\n" ARCH)
         (exit 1))
index 67608d330962977513686cc3181b3bccacbce267..a8a6175bf91c9632c8d86ab4e40ee73bd4aa2cc4 100644 (file)
--- a/guix.scm
+++ b/guix.scm
@@ -53,6 +53,7 @@
              (gnu packages man)
              (gnu packages mes)
              (gnu packages package-management)
+             (gnu packages version-control)
              (gnu packages perl)
              (gnu packages texinfo)
              ((guix build utils) #:select (with-directory-excursion))
@@ -147,7 +148,8 @@ hex2 linker.")
        `(("mescc-tools" ,mescc-tools)
          ("nyacc" ,nyacc-for-mes)))
       (native-inputs
-       `(("guile" ,guile-2.2)
+       `(("git" ,git)
+         ("guile" ,guile-2.2)
          ,@(if (string-prefix? "x86_64-linux" (or (%current-target-system)
                                                   (%current-system)))
                ;; Use cross-compiler rather than #:system "i686-linux" to get