From 0c8abacf3acb9985b3c08b86184d7ef21f2986a4 Mon Sep 17 00:00:00 2001 From: Pierre Neidhardt Date: Wed, 6 Jan 2021 10:45:52 +0100 Subject: gnu: emacs-sly-stepper: Find required Common Lisp dependency. * gnu/packages/emacs-xyz.scm (emacs-sly-stepper)[inputs]: Add cl-agnostic-lizard. [arguments]: Patch Lisp file to find agnostic-lizard's absolute path. --- gnu/packages/emacs-xyz.scm | 29 +++++++++++++++++++++++++++-- 1 file changed, 27 insertions(+), 2 deletions(-) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 3c8ea43eb5..6c0561f397 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -34,7 +34,7 @@ ;;; Copyright © 2017, 2018, 2019, 2020 Maxim Cournoyer ;;; Copyright © 2018 Sohom Bhattacharjee ;;; Copyright © 2018, 2019 Mathieu Lirzin -;;; Copyright © 2018, 2019, 2020 Pierre Neidhardt +;;; Copyright © 2018, 2019, 2020, 2021 Pierre Neidhardt ;;; Copyright © 2018, 2019, 2020 Tim Gesthuizen ;;; Copyright © 2018, 2019 Jack Hill ;;; Copyright © 2018 Pierre-Antoine Rouby @@ -152,6 +152,7 @@ #:use-module (gnu packages image) #:use-module (gnu packages linux) #:use-module (gnu packages libevent) + #:use-module (gnu packages lisp-xyz) #:use-module (gnu packages lua) #:use-module (gnu packages music) #:use-module (gnu packages version-control) @@ -9750,6 +9751,8 @@ inside the source file.") (base32 "09ll9dv8fd5dgnki82hcd48nm4qdzzn8wpva0zzr69zkjwzf9v25")))) (build-system emacs-build-system) + (inputs + `(("cl-agnostic-lizard" ,cl-agnostic-lizard))) (propagated-inputs `(("emacs-sly" ,emacs-sly))) (arguments @@ -9765,7 +9768,29 @@ inside the source file.") (setenv "EMACSLOADPATH" (string-append sly "/share/emacs/site-lisp/contrib:" (getenv "EMACSLOADPATH")))) - #t))))) + #t)) + (add-after 'install 'find-agnostic-lizard + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (file (string-append out "/share/emacs/site-lisp/" + "slynk-stepper.lisp")) + (asd (string-append + (assoc-ref inputs "cl-agnostic-lizard") + "/share/common-lisp/systems/agnostic-lizard.asd"))) + ;; agnostic-lizard is found at runtime. + (substitute* file + (("\\(funcall \\(read-from-string \"asdf:load-system\"\\)") + (string-append + "(funcall (read-from-string \"asdf:load-asd\") \"" + asd + "\")\n (funcall (read-from-string \"asdf:load-system\")")) + ;; Upstream mistakenly requires Quicklisp. See + ;; https://github.com/joaotavora/sly-stepper/issues/2. + (("\\(funcall \\(read-from-string \"ql:quickload\"\\)") + (string-append + "(ignore-errors (funcall (read-from-string \"ql:quickload\") " + ":agnostic-lizard))")) + ((" :agnostic-lizard\\)") "")))))))) (synopsis "Portable Common Lisp stepper interface for Emacs") (description "This package features a new, portable, visual stepping facility for -- cgit v1.2.3