GNU bug report logs - #32235
[PATCH] Fix Agda compilation, add Agda's emacs mode.

Previous Next

Package: guix-patches;

Reported by: Alex ter Weele <alex.ter.weele <at> gmail.com>

Date: Sat, 21 Jul 2018 16:01:01 UTC

Severity: normal

Tags: patch

Done: Marius Bakke <mbakke <at> fastmail.com>

Bug is archived. No further changes may be made.

Full log


Message #11 received at 32235 <at> debbugs.gnu.org (full text, mbox):

From: Marius Bakke <mbakke <at> fastmail.com>
To: Alex ter Weele <alex.ter.weele <at> gmail.com>, 32235 <at> debbugs.gnu.org
Subject: Re: [bug#32235] [PATCH] Fix Agda compilation, add Agda's emacs mode.
Date: Sun, 22 Jul 2018 16:40:20 +0200
[Message part 1 (text/plain, inline)]
Alex ter Weele <alex.ter.weele <at> gmail.com> writes:

> From 2774cc719fa132ed8fd34a1d71f2c5a0f8697645 Mon Sep 17 00:00:00 2001
> From: Alex ter Weele <alex.ter.weele <at> gmail.com>
> Date: Fri, 20 Jul 2018 21:35:14 -0500
> Subject: [PATCH 1/2] gnu: agda: Compile .agda files.
>
> * gnu/packages/agda.scm: (agda)[arguments]: Compile .agda files.

[...]

> +    (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"))
> +                    (agda-files-path (string-append
> +                                      out
> +                                      "/share/x86_64-linux-ghc-8.0.2/Agda-"

This is unfortunate, since it hard-codes both architecture and GHC
version.  Can you think of another method to find these files?

Are there ".agda" files elsewhere under "/share"?  Could the find-files
invokation below simply search "out/share", for example?

Worst case scenario we'll have to dynamically generate that GHC path
based on architecture and version, but hoping there's another way.

> +                                      ,version
> +                                      "/lib/prim/Agda/"))
> +                    (agda-files (append
> +                                 (find-files agda-files-path "\\.agda$")
> +                                 (find-files (string-append
> +                                              agda-files-path
> +                                              "Builtin")
> +                                             "\\.agda$"))))

(find-files ...) recurses through subdirectories, are you sure adding an
extra pass for "Builtin/*.agda" makes a difference here?

> +               (for-each (cut invoke agda-compiler <>) agda-files)
> +               #t))))))
>      (home-page "http://wiki.portal.chalmers.se/agda/")

Otherwise LGTM.

[...]

> From ff441cb0b500d247de9a54c3212f80b4fcfaf04f Mon Sep 17 00:00:00 2001
> From: Alex ter Weele <alex.ter.weele <at> gmail.com>
> Date: Sat, 21 Jul 2018 10:57:35 -0500
> Subject: [PATCH 2/2] gnu: Add emacs-agda2-mode
>
> * gnu/packages/agda.scm (emacs-agda2-mode): New variable.

LGTM!
[signature.asc (application/pgp-signature, inline)]

This bug report was last modified 7 years and 12 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.