From: Marius Bakke <mbakke@fastmail.com>
To: Alex ter Weele <alex.ter.weele@gmail.com>, 32235@debbugs.gnu.org
Subject: [bug#32235] [PATCH] Fix Agda compilation, add Agda's emacs mode.
Date: Sun, 22 Jul 2018 16:40:20 +0200 [thread overview]
Message-ID: <87a7qj5o6j.fsf@fastmail.com> (raw)
In-Reply-To: <87va98o9bz.fsf_-_@librem.i-did-not-set--mail-host-address--so-tickle-me>
[-- Attachment #1: Type: text/plain, Size: 2439 bytes --]
Alex ter Weele <alex.ter.weele@gmail.com> writes:
> From 2774cc719fa132ed8fd34a1d71f2c5a0f8697645 Mon Sep 17 00:00:00 2001
> From: Alex ter Weele <alex.ter.weele@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@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!
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 487 bytes --]
next prev parent reply other threads:[~2018-07-22 14:41 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-07-21 15:59 [bug#32235] [PATCH] Fix Agda compilation, add Agda's emacs mode Alex ter Weele
[not found] ` <handler.32235.B.15321888082039.ack@debbugs.gnu.org>
2018-07-21 16:13 ` Alex ter Weele
2018-07-22 14:40 ` Marius Bakke [this message]
2018-07-28 2:39 ` Alex ter Weele
2018-07-28 15:42 ` Marius Bakke
2018-07-29 21:39 ` bug#32235: " Marius Bakke
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://guix.gnu.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87a7qj5o6j.fsf@fastmail.com \
--to=mbakke@fastmail.com \
--cc=32235@debbugs.gnu.org \
--cc=alex.ter.weele@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/guix.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).