summary refs log tree commit diff
diff options
context:
space:
mode:
authorAlex ter Weele <alex.ter.weele@gmail.com>2018-07-20 21:35:14 -0500
committerMarius Bakke <mbakke@fastmail.com>2018-07-29 23:32:01 +0200
commit253340dcc8c44acb4c687ebcc56e6f17167c5659 (patch)
treebac1ffbf3cda2470ca007a1197f1f0330de3de6c
parent1743172cdb420aafb2b417ee588e6d1bc66eebab (diff)
downloadguix-253340dcc8c44acb4c687ebcc56e6f17167c5659.tar.gz
gnu: agda: Compile .agda files.
* gnu/packages/agda.scm: (agda)[arguments]: Compile .agda files.

Signed-off-by: Marius Bakke <mbakke@fastmail.com>
-rw-r--r--gnu/packages/agda.scm13
1 files changed, 13 insertions, 0 deletions
diff --git a/gnu/packages/agda.scm b/gnu/packages/agda.scm
index 6aa230116c..d677bb7e53 100644
--- a/gnu/packages/agda.scm
+++ b/gnu/packages/agda.scm
@@ -67,6 +67,19 @@
        ("ghc-text" ,ghc-text)
        ("ghc-unordered-containers" ,ghc-unordered-containers)
        ("ghc-zlib" ,ghc-zlib)))
+    (arguments
+     `(#:modules ((guix build haskell-build-system)
+                  (guix build utils)
+                  (srfi srfi-26))
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'compile 'agda-compile
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out"))
+                    (agda-compiler (string-append out "/bin/agda")))
+               (for-each (cut invoke agda-compiler <>)
+                         (find-files (string-append out "/share") "\\.agda$"))
+               #t))))))
     (home-page "http://wiki.portal.chalmers.se/agda/")
     (synopsis
      "Dependently typed functional programming language and proof assistant")