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 ;;; Copyright © 2018 Thorsten Wilms ;;; Copyright © 2018 Pierre Langlois +;;; Copyright © 2018 Gabriel Hondet ;;; ;;; 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