rabbibotton / clog

CLOG - The Common Lisp Omnificent GUI
Other
1.49k stars 102 forks source link

System "clog-ace" not found #175

Closed johndebord closed 2 years ago

johndebord commented 2 years ago

Trying to run the latest CLOG updates, but I'm getting an error:

i@debord:~/clog$ git log
commit 6bf8860b94af579d75a3e45f40c198e751564d02 (HEAD -> main, origin/main, origin/HEAD)
Author: David Botton <david@botton.com>
Date:   Fri Jul 15 10:03:25 2022 -0400

    more secure connection ids

commit 8097a8b344b6aba893bfdbec11dfee9da350c89f
Author: David Botton <david@botton.com>
Date:   Fri Jul 15 09:50:26 2022 -0400

    more secure connection ids

commit 29fb063ad612d4caff30cef2ac6ba8f69e1355d0
Author: David Botton <david@botton.com>
Date:   Fri Jul 15 04:50:32 2022 -0400

    M-. in even editor

commit 06a33802087774c124a318fcfc60819edfb1e4e9
Author: David Botton <david@botton.com>
Date:   Fri Jul 15 02:45:24 2022 -0400

:
; SLIME 2.27
CL-USER> (ql:quickload :clog)
To load "clog":
  Load 1 ASDF system:
    clog
; Loading "clog"
..................................................
[package clog-connection].........................
[package clog-connection].........................
[package clog]....................................
[package clog]....................................
..................................................
[package clog-auth]...............................
[package clog-auth]...............................
[package clog-gui]................................
[package clog-gui]................................
[package clog-web]................................
[package clog-web]................................
[package clog-web-dbi]............................
[package clog-web-dbi]............................
[package clog-user]...............................
[package clog-tools]
(:CLOG)
CL-USER> (ql:quickload :clog/tools)
To load "clog/tools":
  Load 1 ASDF system:
    clog/tools
; Loading "clog/tools"
System "clog-ace" not found
   [Condition of type QUICKLISP-CLIENT:SYSTEM-NOT-FOUND]

Restarts:
 0: [CONTINUE] Try again
 1: [ABORT] Give up on "clog-ace"
 2: [ABORT] Give up on "clog/tools"
 3: [REGISTER-LOCAL-PROJECTS] Register local projects and try again.
 4: [RETRY] Retry SLIME REPL evaluation request.
 5: [*ABORT] Return to SLIME's top level.
 --more--

Backtrace:
  0: ((LABELS QUICKLISP-CLIENT::RECURSE :IN QUICKLISP-CLIENT::COMPUTE-LOAD-STRATEGY) "clog-ace")
  1: (QL-DIST::CALL-WITH-CONSISTENT-DISTS #<CLOSURE (LAMBDA NIL :IN QUICKLISP-CLIENT::COMPUTE-LOAD-STRATEGY) {1005E2B6AB}>)
  2: (QUICKLISP-CLIENT::COMPUTE-LOAD-STRATEGY "clog-ace")
  3: (QUICKLISP-CLIENT::AUTOLOAD-SYSTEM-AND-DEPENDENCIES "clog-ace" :PROMPT NIL)
  4: (QUICKLISP-CLIENT::AUTOLOAD-SYSTEM-AND-DEPENDENCIES "clog/tools" :PROMPT NIL)
  5: ((:METHOD QL-IMPL-UTIL::%CALL-WITH-QUIET-COMPILATION (T T)) #<unused argument> #<CLOSURE (FLET QUICKLISP-CLIENT::QL :IN QUICKLISP-CLIENT:QUICKLOAD) {1007775FAB}>) [fast-method]
  6: ((:METHOD QL-IMPL-UTIL::%CALL-WITH-QUIET-COMPILATION :AROUND (QL-IMPL:SBCL T)) #<QL-IMPL:SBCL {10052BEC63}> #<CLOSURE (FLET QUICKLISP-CLIENT::QL :IN QUICKLISP-CLIENT:QUICKLOAD) {1007775FAB}>) [fast-me..
  7: ((:METHOD QUICKLISP-CLIENT:QUICKLOAD (T)) :CLOG/TOOLS :PROMPT NIL :SILENT NIL :VERBOSE NIL) [fast-method]
  8: (QL-DIST::CALL-WITH-CONSISTENT-DISTS #<CLOSURE (LAMBDA NIL :IN QUICKLISP-CLIENT:QUICKLOAD) {100745D56B}>)
  9: (SB-INT:SIMPLE-EVAL-IN-LEXENV (QUICKLISP-CLIENT:QUICKLOAD :CLOG/TOOLS) #<NULL-LEXENV>)
 10: (EVAL (QUICKLISP-CLIENT:QUICKLOAD :CLOG/TOOLS))
 --more--
aykaramba commented 2 years ago

Yup, here is what you need to know:

1) The updated info is here: https://github.com/rabbibotton/clog

2) Basically, you now need to have clog and clog-ace git cloned locally into your quicklisp, ultralisp or ~/common-lisp directories, depending on how you have your local system setup. Once those exist in your local repo (ql:quickload :clog/tools) will find clog-ace load that up and you are good.

3) Here is information about the Clog plugin system with reference to your issue: https://github.com/rabbibotton/clog/discussions/171

I hope that helps.

rabbibotton commented 2 years ago

The README reflects that you need to use UltraSlip (that will automatically pull in clog-ace) or to git clone both repos. Hopefully the next QuickLisp update should deal with that.

rabbibotton commented 2 years ago

aykaramba - btw thanks for fielding an answer, always chime in :)

johndebord and aykaramba - I will be publishing in the next day or two a full tutorial on using and creating custom lisp based controls. Here is the text on the using part (it is short, well because is easy :)

Using Custom Controls

Every plugin has two ASDF systems, the main system is the component's name (for this tutorial we will use the text editor clog-ace built on https://ace.c9.io/ ) and the CLOG Builder component system is at name/tools - so for example in the REPL

(ql:quickload :clog-ace)

Will load the component for run time or for hand coding your application.

(ql:quickload :clog-ace/tools)

Will load the component and also install the builder plugin.

Of course if you are working on your awesome project, you are going to want the plugin to be part of your project and not need to hand load. Here is a typical asd file generated by all of the application templates in CLOG Builder:

(asdf:defsystem #:awesome :description "New CLOG System" :author "some@one.com" :license "BSD" :version "0.0.0" :serial t :depends-on (#:clog) ; add clog plugins here as #:plugin for run time :components ((:file "awesome")))

(asdf:defsystem #:awesome/tools :depends-on (#:awesome #:clog/tools) ; add clog plugins here as #:plugin/tools for design time :components ())

To add clog-ace to this project you simply add #:clog-ace to :depends-on in the :awesome system and in :awesome/tools add #:clog-ace/tools. Then when you want to use builder simply:

(ql:quickload :awesome/tools) (clog-tools:clog-builder)

aykaramba commented 2 years ago

That seems very reasonable. Looking forward to seeing the tutorial.