Subject: Re: [bug#33866] [PATCH 1/2] gnu: Add emacs-dedukti-mode.

From: Gabriel Hondet <[email-masked]>
Date: Wed, 26 Dec 2018 19:09:00 +0100

On Wed 26 Dec 2018 at 15:27 Julien Lepiller wrote:

> I'm not an emacs user, so I'm a bit worried that this package won't be
> able to find dedukti (it's not an input at all!). I see this in the
> code:
>
> (defcustom dedukti-path "/usr/bin/dkcheck" ...)
>
> I would say that it means that dedukti-mode will not find dkcheck at
> all... What do you think? If that's the case, could you add dedukti as
> an input and substitute* that path in a custom phase? Or make sure it
> loads dedukti from the path at least.

Well seen indeed, here is the new version, which should hopefully be ok!

* gnu/packages/emacs.scm (emacs-dedukti-mode): New variable.
---
 gnu/packages/emacs.scm | 34 ++++++++++++++++++++++++++++++++++
 1 file changed, 34 insertions(+)

diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
index 7fdcfb1a3..2cc6ca438 100644
--- a/gnu/packages/emacs.scm
+++ b/gnu/packages/emacs.scm
@@ -41,6 +41,7 @@
 ;;; Copyright © 2018 Alex Branham <[email-masked]>
 ;;; Copyright © 2018 Thorsten Wilms <[email-masked]>
 ;;; Copyright © 2018 Pierre Langlois <[email-masked]>
+;;; Copyright © 2018 Gabriel Hondet <[email-masked]>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -122,6 +123,7 @@
   #:use-module (gnu packages video)
   #:use-module (gnu packages haskell)
   #:use-module (gnu packages wordnet)
+  #:use-module (gnu packages ocaml)
   #:use-module (guix utils)
   #:use-module (srfi srfi-1)
   #:use-module (ice-9 match))
@@ -12854,3 +12856,35 @@ functions to ensure they are called with the right arguments during testing.")
 @code{wordnet}.  Features include completion, if the query is not found
 too ambiguous and navigation in the result buffer.")
       (license license:gpl3+))))
+
+(define-public emacs-dedukti-mode
+  (let ((commit "d7c3505a1046187de3c3aeb144455078d514594e"))
+    (package
+      (name "emacs-dedukti-mode")
+      (version (git-version "0" "0" commit))
+      (home-page "https://github.com/rafoo/dedukti-mode")
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url home-page)
+                      (commit commit)))
+                (sha256
+                 (base32
+                  "1842wikq24c8rg0ac84vb1qby9ng1nssxswyyni4kq85lng5lcrp"))
+                (file-name (git-file-name name version))))
+      (inputs
+       `(("dedukti" ,dedukti)))
+      (build-system emacs-build-system)
+      (arguments
+       '(#:phases
+         (modify-phases %standard-phases
+           (add-before 'install 'patch-dkpath
+             (lambda _
+               (let ((dkcheck-path (which "dkcheck")))
+                 (substitute* "dedukti-mode.el"
+                   (("dedukti-path \"(.*)\"")
+                    (string-append "dedukti-path \"" dkcheck-path "\"")))))))))
+      (synopsis "Emacs major mode for Dedukti files")
+      (description "This package provides an Emacs major mode for editing
+Dedukti files.")
+      (license license:cecill-b))))
-- 
2.20.1