guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Next browser] Common Lisp: mgl-pax: Package SWANK-BACKEND does not exis


From: Pierre Neidhardt
Subject: [Next browser] Common Lisp: mgl-pax: Package SWANK-BACKEND does not exist.
Date: Thu, 23 Aug 2018 18:24:32 +0200
User-agent: mu4e 1.0; emacs 26.1

In the long path of packaging Next browsing, I found myself packaging
the mgl-pax dependency.

        http://quickdocs.org/mgl-pax/

This package depends on SWANK which is packaged in emacs-slime.
emacs-slime contains two pieces of code:
- SLIME (the Emacs package)
- SWANK: the Common Lisp backend.

        https://github.com/slime/slime

Since the emacs-slime package uses the emacs build system, I think it
might not expose SWANK properly, so I packaged SWANK separately using
the ASDF build system:

--8<---------------cut here---------------start------------->8---
(define-public sbcl-slime-swank
  (package
    (name "sbcl-slime-swank")
    (version "2.22")
    (source
     (origin
       (file-name (string-append name "-" version ".tar.gz"))
       (method url-fetch)
       (uri (string-append
             "https://github.com/slime/slime/archive/v";
             version ".tar.gz"))
       (sha256
        (base32
         "07vaib1n4zyh5yy30gdpq0bc5cv6w84piml5b3mfc9ibjhaykkms"))))
    (build-system asdf-build-system/sbcl)
    (arguments
     `(#:asd-file "swank.asd"
       #:asd-system-name "swank"))
    (home-page "https://github.com/slime/slime";)
    (synopsis "Common Lisp Swank server")
    (description
     "This is only useful if you want to start a Swank server in a Lisp
processes that doesn't run under Emacs.  Lisp processes created by
@command{M-x slime} automatically start the server.")
    (license license:gpl2+)))
--8<---------------cut here---------------end--------------->8---

So far so good.  I've declared the mgl-pax package as follows:

--8<---------------cut here---------------start------------->8---
(define-public sbcl-mgl-pax
  (let ((commit "818448418d6b9de74620f606f5b23033c6082769"))
    (package
      (name "sbcl-mgl-pax")
      (version (git-version "0.0.0" "1" commit))
      (source
       (origin
         (method git-fetch)
         (uri (git-reference
               (url "https://github.com/melisgl/mgl-pax";)
               (commit commit)))
         (sha256
          (base32
           "1p97zfkh130bdxqqxwaw2j9psv58751wakx7czbfpq410lg7dd7i"))
         (file-name (string-append "mgl-pax" version "-checkout"))))
      (build-system asdf-build-system/sbcl)
      (inputs
       `(("3bmd" ,sbcl-3bmd)
         ("3bmd-ext-code-blocks" ,sbcl-3bmd-ext-code-blocks)
         ("babel" ,sbcl-babel)
         ("cl-fad" ,sbcl-cl-fad)
         ("ironclad" ,sbcl-ironclad)
         ("named-readtables" ,sbcl-named-readtables)
         ("pythonic-string-reader" ,sbcl-pythonic-string-reader)
         ("swank" ,sbcl-slime-swank)))
      (synopsis "Exploratory programming environment and documentation 
generator")
      (description
       "PAX provides an extremely poor man's Explorable Programming
environment.  Narrative primarily lives in so called sections that mix markdown
docstrings with references to functions, variables, etc, all of which should
probably have their own docstrings.

The primary focus is on making code easily explorable by using SLIME's
@command{M-.} (@command{slime-edit-definition}).  See how to enable some
fanciness in Emacs Integration. Generating documentation from sections and all
the referenced items in Markdown or HTML format is also implemented.

With the simplistic tools provided, one may accomplish similar effects as with
Literate Programming, but documentation is generated from code, not vice versa
and there is no support for chunking yet.  Code is first, code must look
pretty, documentation is code.")
      (home-page "http://quotenil.com/";)
      (license license:bsd-3))))
--8<---------------cut here---------------end--------------->8---

It finds SWANK but later in the build process it spits out the following
error:

--8<---------------cut here---------------start------------->8---
; compiling file 
"/gnu/store/2mxm532160zrg4wkww8g24d2bdwfrii4-sbcl-mgl-pax-0.0.0-1.8184484/share/common-lisp/sbcl-source/mgl-pax/src/pax.lisp"
 (written 23 AUG 2018 04:15:29 PM):
; compiling (IN-PACKAGE :MGL-PAX)
; compiling (IN-READTABLE PYTHONIC-STRING-SYNTAX)
; compiling (DEFSECTION @MGL-PAX-MANUAL ...)
; compiling (DEFSECTION @MGL-PAX-LINKS ...)
; compiling (DEFSECTION @MGL-PAX-BACKGROUND ...)
; compiling (DEFSECTION @MGL-PAX-TUTORIAL ...)
; compiling (DEFSECTION @MGL-PAX-EMACS-INTEGRATION ...);
; caught ERROR:
;   READ error during COMPILE-FILE:
;
;     Package SWANK-BACKEND does not exist.
;
;       Line: 331, Column: -1, File-Position: 12600
;
;       Stream: #<SB-INT:FORM-TRACKING-STREAM for "file 
/gnu/store/2mxm532160zrg4wkww8g24d2bdwfrii4-sbcl-mgl-pax-0.0.0-1.8184484/share/common-lisp/sbcl-source/mgl-pax/src/pax.lisp"
 {10021B9C13}>

; compilation aborted after 0:00:00.022
Unhandled UIOP/LISP-BUILD:COMPILE-FILE-ERROR in thread #<SB-THREAD:THREAD "main 
thread" RUNNING
                                                          {10005585B3}>:
  COMPILE-FILE-ERROR while compiling #<CL-SOURCE-FILE "mgl-pax" "src" "pax">

Backtrace for: #<SB-THREAD:THREAD "main thread" RUNNING {10005585B3}>
0: (SB-DEBUG::DEBUGGER-DISABLED-HOOK #<UIOP/LISP-BUILD:COMPILE-FILE-ERROR 
{10026FE5E3}> #<unused argument> :QUIT T)
1: (SB-DEBUG::RUN-HOOK *INVOKE-DEBUGGER-HOOK* 
#<UIOP/LISP-BUILD:COMPILE-FILE-ERROR {10026FE5E3}>)
2: (INVOKE-DEBUGGER #<UIOP/LISP-BUILD:COMPILE-FILE-ERROR {10026FE5E3}>)
3: (ERROR UIOP/LISP-BUILD:COMPILE-FILE-ERROR :CONTEXT-FORMAT 
"~/asdf-action::format-action/" :CONTEXT-ARGUMENTS 
((#<ASDF/LISP-ACTION:COMPILE-OP > . #<ASDF/LISP-ACTION:CL-SOURCE-FILE "mgl-pax" 
"src" "pax">)))
4: (UIOP/LISP-BUILD:CHECK-LISP-COMPILE-RESULTS NIL T T 
"~/asdf-action::format-action/" ((#<ASDF/LISP-ACTION:COMPILE-OP > . 
#<ASDF/LISP-ACTION:CL-SOURCE-FILE "mgl-pax" "src" "pax">)))
5: ((SB-PCL::EMF ASDF/ACTION:PERFORM) #<unused argument> #<unused argument> 
#<ASDF/LISP-ACTION:COMPILE-OP > #<ASDF/LISP-ACTION:CL-SOURCE-FILE "mgl-pax" 
"src" "pax">)
6: ((LAMBDA NIL :IN ASDF/ACTION:CALL-WHILE-VISITING-ACTION))
7: ((:METHOD ASDF/ACTION:PERFORM-WITH-RESTARTS :AROUND (T T)) 
#<ASDF/LISP-ACTION:COMPILE-OP > #<ASDF/LISP-ACTION:CL-SOURCE-FILE "mgl-pax" 
"src" "pax">) [fast-method]
8: ((:METHOD ASDF/PLAN:PERFORM-PLAN (T)) #<ASDF/PLAN:SEQUENTIAL-PLAN 
{1001F4D893}>) [fast-method]
9: ((FLET SB-C::WITH-IT :IN SB-C::%WITH-COMPILATION-UNIT))
10: ((:METHOD ASDF/PLAN:PERFORM-PLAN :AROUND (T)) #<ASDF/PLAN:SEQUENTIAL-PLAN 
{1001F4D893}>) [fast-method]
11: ((:METHOD ASDF/OPERATE:OPERATE (ASDF/OPERATION:OPERATION 
ASDF/COMPONENT:COMPONENT)) #<ASDF/BUNDLE:COMPILE-BUNDLE-OP > 
#<ASDF/SYSTEM:SYSTEM "mgl-pax"> :PLAN-CLASS NIL :PLAN-OPTIONS NIL) [fast-method]
12: ((SB-PCL::EMF ASDF/OPERATE:OPERATE) #<unused argument> #<unused argument> 
#<ASDF/BUNDLE:COMPILE-BUNDLE-OP > #<ASDF/SYSTEM:SYSTEM "mgl-pax">)
13: ((LAMBDA NIL :IN ASDF/OPERATE:OPERATE))
14: ((:METHOD ASDF/OPERATE:OPERATE :AROUND (T T)) 
#<ASDF/BUNDLE:COMPILE-BUNDLE-OP > #<ASDF/SYSTEM:SYSTEM "mgl-pax">) [fast-method]
15: ((SB-PCL::EMF ASDF/OPERATE:OPERATE) #<unused argument> #<unused argument> 
ASDF/BUNDLE:COMPILE-BUNDLE-OP "mgl-pax")
16: ((LAMBDA NIL :IN ASDF/OPERATE:OPERATE))
17: ((:METHOD ASDF/OPERATE:OPERATE :AROUND (T T)) ASDF/BUNDLE:COMPILE-BUNDLE-OP 
"mgl-pax") [fast-method]
18: (ASDF/SESSION:CALL-WITH-ASDF-SESSION #<CLOSURE (LAMBDA NIL :IN 
ASDF/OPERATE:OPERATE) {1001EB21BB}> :OVERRIDE T :KEY NIL :OVERRIDE-CACHE T 
:OVERRIDE-FORCING NIL)
19: ((LAMBDA NIL :IN ASDF/OPERATE:OPERATE))
20: (ASDF/SESSION:CALL-WITH-ASDF-SESSION #<CLOSURE (LAMBDA NIL :IN 
ASDF/OPERATE:OPERATE) {1001E9800B}> :OVERRIDE NIL :KEY NIL :OVERRIDE-CACHE NIL 
:OVERRIDE-FORCING NIL)
21: ((:METHOD ASDF/OPERATE:OPERATE :AROUND (T T)) ASDF/BUNDLE:COMPILE-BUNDLE-OP 
"mgl-pax") [fast-method]
22: (SB-INT:SIMPLE-EVAL-IN-LEXENV (ASDF/OPERATE:OPERATE (QUOTE 
ASDF/BUNDLE:COMPILE-BUNDLE-OP) "mgl-pax") #<NULL-LEXENV>)
23: (EVAL (ASDF/OPERATE:OPERATE (QUOTE ASDF/BUNDLE:COMPILE-BUNDLE-OP) 
"mgl-pax"))
24: (SB-IMPL::PROCESS-EVAL/LOAD-OPTIONS ((:EVAL . "(require :asdf)") (:EVAL . 
"(let ((*package* (find-package :asdf))) (load 
\"/gnu/store/2mxm532160zrg4wkww8g24d2bdwfrii4-sbcl-mgl-pax-0.0.0-1.8184484/share/common-lisp/sbcl-source/mgl-pax/mgl-pax.asd\"))")
 (:EVAL . "(asdf:operate (quote asdf:compile-bundle-op) \"mgl-pax\")") (:QUIT)))
25: (SB-IMPL::TOPLEVEL-INIT)
26: ((FLET SB-UNIX::BODY :IN SAVE-LISP-AND-DIE))
27: ((FLET "WITHOUT-INTERRUPTS-BODY-27" :IN SAVE-LISP-AND-DIE))
28: ((LABELS SB-IMPL::RESTART-LISP :IN SAVE-LISP-AND-DIE))

unhandled condition in --disable-debugger mode, quitting
;
; compilation unit aborted
;   caught 2 fatal ERROR conditions
;   caught 1 ERROR condition
;   printed 1 note
Backtrace:
           7 (primitive-load "/gnu/store/ichxngbrfqv6ysa4hpnjk2lvxrg…")
In ice-9/eval.scm:
   191:35  6 (_ _)
In ice-9/boot-9.scm:
    152:2  5 (with-fluid* _ _ _)
    152:2  4 (with-fluid* _ _ _)
In srfi/srfi-1.scm:
    640:9  3 (for-each #<procedure 98a960 at /gnu/store/ig46c9fafvf…> …)
In 
/gnu/store/ig46c9fafvfv0czlpgh7l4w1xmwzsvaj-module-import/guix/build/gnu-build-system.scm:
   799:31  2 (_ _)
In 
/gnu/store/ig46c9fafvfv0czlpgh7l4w1xmwzsvaj-module-import/guix/build/asdf-build-system.scm:
    124:4  1 (build #:outputs _ #:inputs _ #:asd-file _ # _)
In unknown file:
           0 (scm-error misc-error #f "~A ~S ~S" ("lisp-eval-pro…" …) …)

ERROR: In procedure scm-error:
lisp-eval-program failed! 
"/gnu/store/rdvy6q3nskb0r01rwjrxj3935d850r2d-sbcl-1.4.4/bin/sbcl" ((require 
:asdf) (let ((*package* (find-package :asdf))) (load 
"/gnu/store/2mxm532160zrg4wkww8g24d2bdwfrii4-sbcl-mgl-pax-0.0.0-1.8184484/share/common-lisp/sbcl-source/mgl-pax/mgl-pax.asd"))
 (asdf:operate (quote asdf:compile-bundle-op) "mgl-pax"))
--8<---------------cut here---------------end--------------->8---

I have no clue what this SWANK-BACKEND is.  I can find SWANK/BACKEND in
the source however.  Maybe my misunderstanding of Common Lisp...

Any clue?

--
Pierre Neidhardt
https://ambrevar.xyz/

Attachment: signature.asc
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]