unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
* [Next browser] Common Lisp: mgl-pax: Package SWANK-BACKEND does not exist.
@ 2018-08-23 16:24 Pierre Neidhardt
  2018-08-24 10:32 ` Pierre Neidhardt
  2018-08-24 12:56 ` Ludovic Courtès
  0 siblings, 2 replies; 14+ messages in thread
From: Pierre Neidhardt @ 2018-08-23 16:24 UTC (permalink / raw)
  To: guix-devel

[-- Attachment #1: Type: text/plain, Size: 9987 bytes --]

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 #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 487 bytes --]

^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2018-09-12  8:10 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-08-23 16:24 [Next browser] Common Lisp: mgl-pax: Package SWANK-BACKEND does not exist Pierre Neidhardt
2018-08-24 10:32 ` Pierre Neidhardt
2018-08-24 12:56 ` Ludovic Courtès
2018-08-24 13:15   ` Pierre Neidhardt
2018-08-27  7:24   ` Andy Patterson
2018-08-27  7:42     ` Pierre Neidhardt
2018-08-28  7:36       ` Andy Patterson
2018-08-28 19:18         ` Pierre Neidhardt
2018-08-29  6:18           ` Andy Patterson
2018-09-02 16:59             ` Pierre Neidhardt
2018-09-08 21:49               ` Andy Patterson
2018-09-11 21:01                 ` Pierre Neidhardt
2018-09-11 21:17                   ` Leo Famulari
2018-09-12  8:10                     ` Pierre Neidhardt

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).