Giter VIP home page Giter VIP logo

ceramic's Introduction

Build Status Coverage Status Quicklisp

Common Lisp web apps on the desktop.

Overview

Ceramic takes an ordinary Common Lisp web app, and bundles it into an executable you can distribute, so your users can install it and run the app and server in a dedicated desktop window like any other app.

See the documentation.

License

Copyright (c) 2015 Fernando Borretti

Licensed under the MIT License.

ceramic's People

Contributors

dbym4820 avatar eudoxia0 avatar glider-gun avatar luismbo avatar mikeivanov avatar vaclavsynacek avatar wnortje avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ceramic's Issues

Tutorial - The value NIL is not of type SB-IMPL::PROCESS.

SBCL 1.2.14

It expects a type SB-IMPL::PROCESS but it's getting a NIL instead.

It happens inside the run function after my break statement:
(defun run () (break) (setf *window* (ceramic:make-window :url (format nil "http://localhost:~D/" *port*))) (ceramic:show-window *window*) (start app :port *port*))

`Backtrace:
0: ((:METHOD EXTERNAL-PROGRAM:PROCESS-INPUT-STREAM (T)) NIL) [fast-method]
Locals:
SB-DEBUG::ARG-2 = NIL

1: (CERAMIC.ELECTRON:SEND-COMMAND NIL "create-window" (("name" . "urn:uuid:1cde3164-58cb-4ca0-8552-73eb0b6aa195") ("show" :FALSE) ("resizable" . T)))
Locals:
SB-DEBUG::ARG-0 = NIL
SB-DEBUG::ARG-1 = "create-window"
SB-DEBUG::ARG-2 = (("name" . "urn:uuid:1cde3164-58cb-4ca0-8552-73eb0b6aa195") ("show" :FALSE) ("resizable" . T))`

osx 10.11 ccl bundle lucerne app fails.

ccl is not in path, I have an explicit path specified for inferior-lisp-program, and I'm not using roswell.

CL-USER> (ceramic:setup)
Ceramic: Creating Ceramic directories...
Ceramic: Already downloaded. Use :force t to force download.
Ceramic: Preparing the files...
; No value
CL-USER> (ceramic.bundler:bundle :ceramic-hello-world :bundle-pathname #p"~/Desktop/hello-world.tar")
Ceramic: Copying resources...
Ceramic: Compiling app...
Launch: "/Users/nex/Documents/ccl-trunk/" --no-init --quiet --load "/Users/nex/Documents/quicklisp/setup.lisp" --eval "(setf ....

Subprocess with command ""/Users/nex/Documents/ccl-trunk/" --no-init --quiet --load "/Users/nex/Documents/quicklisp/setup.lisp" --eval "(setf debugger-hook #'(lambda (c h) (declare (ignore h)) (uiop:print-condition-backtrace c) (uiop:quit -1)))" --eval "(asdf:load-system :CERAMIC-HELLO-WORLD)" --eval "(setf uiop:image-entry-point #'(lambda () (ceramic-entry::ceramic-hello-world)))" --eval "(uiop:dump-image #P\"/Users/nex/.ceramic/working/ceramic-hello-world\" :executable t
#+sb-core-compression :compression #+sb-core-compression t)""
exited with error code 126
[Condition of type UIOP/RUN-PROGRAM:SUBPROCESS-ERROR]

Restarts:
0: [CONTINUE] IGNORE-ERROR-STATUS
1: [RETRY] Retry SLIME REPL evaluation request.
2: [*ABORT] Return to SLIME's top level.
3: [ABORT-BREAK] Reset this thread
4: [ABORT] Kill this thread

Backtrace:
0: (UIOP/RUN-PROGRAM::%CHECK-RESULT 126 :COMMAND ""/Users/nex/Documents/ccl-trunk/" --no-init --quiet --load "/Users/nex/Documents/quicklisp/setup.lisp" --eval "(setf debugger-hook #'(lambda (c ..
Locals:
EXIT-CODE = 126
COMMAND = ""/Users/nex/Documents/ccl-trunk/" --no-init --quiet --load "/Users/nex/Documents/quicklisp/setup.lisp" --eval "(setf debugger-hook #'(lambda (c h) (declare (ignore h)) (uiop:print-condition-..
PROCESS = NIL
IGNORE-ERROR-STATUS = NIL
#:COMPILER-VAR = T
#:COMPILER-VAR = NIL
#:COMPILER-VAR = T
1: ((:INTERNAL UIOP/RUN-PROGRAM::%USE-SYSTEM) NIL NIL)
2: ((:INTERNAL #:BEFORE204169 UIOP/RUN-PROGRAM::HARD-CASE UIOP/RUN-PROGRAM::%CALL-WITH-PROGRAM-IO) #P"/var/folders/bt/myhlbg3n0b3__mp1mvgwcc6w0000gn/T/tmpA5WIWL59.tmp")
3: (UIOP/STREAM:CALL-WITH-TEMPORARY-FILE #<COMPILED-LEXICAL-CLOSURE (:INTERNAL #:BEFORE204169 UIOP/RUN-PROGRAM::HARD-CASE UIOP/RUN-PROGRAM::%CALL-WITH-PROGRAM-IO) #x2424F06F> :WANT-STREAM-P NIL :WANT-PAT..
4: ((:INTERNAL UIOP/RUN-PROGRAM::HARD-CASE UIOP/RUN-PROGRAM::%CALL-WITH-PROGRAM-IO))
5: (UIOP/RUN-PROGRAM::%USE-SYSTEM ""/Users/nex/Documents/ccl-trunk/" --no-init --quiet --load "/Users/nex/Documents/quicklisp/setup.lisp" --eval "(setf debugger-hook #'(lambda (c h) (declare (ig..
Locals:
COMMAND = ""/Users/nex/Documents/ccl-trunk/" --no-init --quiet --load "/Users/nex/Documents/quicklisp/setup.lisp" --eval "(setf debugger-hook #'(lambda (c h) (declare (ignore h)) (uiop:print-condition-..
KEYS = (:INPUT NIL :ERROR-OUTPUT NIL :IF-INPUT-DOES-NOT-EXIST :ERROR ...)
INPUT = NIL
OUTPUT = #<SWANK/GRAY::SLIME-OUTPUT-STREAM #x302000B39B0D>
ERROR-OUTPUT = NIL
IGNORE-ERROR-STATUS = NIL
#:COMPILER-VAR = T
#:COMPILER-VAR = T
#:COMPILER-VAR = T
#:COMPILER-VAR = NIL
OUTPUT-RESULT = NIL
ERROR-OUTPUT-RESULT = NIL
EXIT-CODE = NIL
6: (TRIVIAL-BUILD:BUILD :CERAMIC-HELLO-WORLD "(ceramic-entry::ceramic-hello-world)" #P"/Users/nex/.ceramic/working/ceramic-hello-world")
7: (CERAMIC.BUNDLER:BUNDLE :CERAMIC-HELLO-WORLD :BUNDLE-PATHNAME #P"/Users/nex/Desktop/hello-world.tar" :SYSTEM-DIRECTORY NIL)
8: (CCL::CALL-CHECK-REGS CERAMIC.BUNDLER:BUNDLE :CERAMIC-HELLO-WORLD :BUNDLE-PATHNAME #P"/Users/nex/Desktop/hello-world.tar")
9: (CCL::CHEAP-EVAL (CERAMIC.BUNDLER:BUNDLE :CERAMIC-HELLO-WORLD :BUNDLE-PATHNAME #P"/Users/nex/Desktop/hello-world.tar"))
--more--

Failed to build bundle that works when following tutorial/using hello-world app

I tried the following:

(ql:quickload :ceramic)
(ql:quickload :ceramic-hello-world)
(ceramic:start)
(ceramic:bundle :ceramic-hello-world #P"/tmp/bla.tar")

I then untarred the file in my home directory (ceramic-test) and attempted to execute the app, which produced the following shell output:

Ceramic: Starting server...                                                                                                                                                                   
Ceramic: Starting Electron process...                                                                                                                                                         
Ceramic: Waiting for startup...
Error launching app                                                                                                                                                                           
Unable to find Electron app at /home/mcarter/ceramic-test/electron/resources/default_app/ceramic-hello-world

Cannot find module '/home/mcarter/ceramic-test/electron/resources/default_app/ceramic-hello-world' 

Can't run basic tutorial - connection refused

Hi there. I'm running ccl 64 on Archlinux and I get the following error:

A JavaScript error occurred in the main process
Uncaught Exception:
Error: connect ECONNREFUSED 127.0.0.1:40000
    at Object.exports._errnoException (util.js:949:11)
    at exports._exceptionWithHostPort (util.js:972:20)
    at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1080:14)

in a popup window. Pressing OK gives me the following:

A JavaScript error occurred in the main process
Uncaught Exception:
Error: socket hang up
    at createHangUpError (_http_client.js:250:15)
    at Socket.socketCloseListener (_http_client.js:282:23)
    at emitOne (events.js:101:20)
    at Socket.emit (events.js:188:7)
    at TCP._handle.close [as _onclose] (net.js:492:12)

This is what I ran to get that:

? (ql:quickload :ceramic)
To load "ceramic":
  Load 1 ASDF system:
    ceramic
; Loading "ceramic"
..
(:CERAMIC)
? (ceramic:setup)
Ceramic: Creating Ceramic directories...
Ceramic: Already downloaded. Use :force t to force download.
Ceramic: Preparing the files...
? (ceramic:start)
Ceramic: Starting server...
Ceramic: Starting Electron process...
Ceramic: Waiting for startup...

I'm not quite sure what'd going on, it looks like Electron isn't starting up or listening on the port, but right after starting ceramic I get the following:

$ ps -Al | grep electron
0 S  1000 24186 24155  9  80   0 - 356435 poll_s pts/6   00:00:00 electron
0 S  1000 24188 24186  0  80   0 - 86432 poll_s pts/6    00:00:00 electron
0 S  1000 24203 24186  1  80   0 - 99227 poll_s pts/6    00:00:00 electron

Let me know if there are any other details you would like. Thanks and have an awesome day!

osx 10.10.4, electron 0.30.2, following tutorial steps to bundle ceramic-hello-world fails

backtrace

Is a directory : #P"/Users/joshua/.ceramic/electron/Electron.app/Contents/Frameworks/Electron Framework.framework/Libraries"
[Condition of type CCL::SIMPLE-FILE-ERROR]

Restarts:
0: [RETRY-OPEN] Retry opening #P"/Users/joshua/.ceramic/electron/Electron.app/Contents/Frameworks/Electron Framework.framework/Libraries"
1: [RETRY] Retry SLIME REPL evaluation request.
2: [*ABORT] Return to SLIME's top level.
3: [ABORT-BREAK] Reset this thread
4: [ABORT] Kill this thread

Backtrace:
0: (CCL::MAKE-FILE-STREAM #P"/Users/joshua/.ceramic/electron/Electron.app/Contents/Frameworks/Electron Framework.framework/Libraries" :INPUT (INTEGER 0 255) :IGNORED :ERROR FILE-STREAM :DEFAULT :PRIVATE ..
1: (OPEN #P"/Users/joshua/.ceramic/electron/Electron.app/Contents/Frameworks/Electron Framework.framework/Libraries" :DIRECTION :INPUT :ELEMENT-TYPE (UNSIGNED-BYTE 8) :IF-EXISTS :ERROR :IF-DOES-NOT-EXIST..
2: (UIOP/STREAM:CONCATENATE-FILES (#P"/Users/joshua/.ceramic/electron/Electron.app/Contents/Frameworks/Electron Framework.framework/Libraries") #P"/Users/joshua/.ceramic/working/electron/Electron.app/Con..
3: ((:INTERNAL CL-FAD::WALK CL-FAD:WALK-DIRECTORY) #P"/Users/joshua/.ceramic/electron/Electron.app/Contents/Frameworks/Electron Framework.framework/")
4: ((:INTERNAL CL-FAD::WALK CL-FAD:WALK-DIRECTORY) #P"/Users/joshua/.ceramic/electron/Electron.app/Contents/Frameworks/")
5: ((:INTERNAL CL-FAD::WALK CL-FAD:WALK-DIRECTORY) #P"/Users/joshua/.ceramic/electron/Electron.app/Contents/")
6: ((:INTERNAL CL-FAD::WALK CL-FAD:WALK-DIRECTORY) #P"/Users/joshua/.ceramic/electron/Electron.app/")
7: ((:INTERNAL CL-FAD::WALK CL-FAD:WALK-DIRECTORY) #P"/Users/joshua/.ceramic/electron/")
8: (CL-FAD:WALK-DIRECTORY #P"/Users/joshua/.ceramic/electron/" #<COMPILED-LEXICAL-CLOSURE (:INTERNAL CERAMIC.UTIL:COPY-DIRECTORY) #x3020041A962F> :DIRECTORIES :BREADTH-FIRST :IF-DOES-NOT-EXIST :ERROR :TE..
9: (CERAMIC.UTIL:COPY-DIRECTORY #P"/Users/joshua/.ceramic/electron/" #P"/Users/joshua/.ceramic/working/electron/")
10: (CERAMIC.BUNDLER:BUNDLE :CERAMIC-HELLO-WORLD :BUNDLE-PATHNAME NIL)
11: (CCL::CALL-CHECK-REGS CERAMIC.BUNDLER:BUNDLE :CERAMIC-HELLO-WORLD)
12: (CCL::CHEAP-EVAL (CERAMIC.BUNDLER:BUNDLE :CERAMIC-HELLO-WORLD))
--more--

OSX 10.9.5 ceramic does not connect to hunchentoot process with (markedit:start-app)

I run the following commands and hunchentoot starts up but ceramic does not connect to hunchentoot and an electron window does not come up with markedit inside.

the electron process and electron helper do not start

I can however go to localhost:40000 inside chrome and use the app.

Could it be an older version of ceramic or markedit on the quicklisp server?

I can run the other examples no problem.

if I run these lines I can make the electron window open:

(defvar run-it (ceramic:make-window :url (format nil "http://localhost:~D/" *port*)))
(ceramic:show-window run-it)

this means that:

when (markedit:start-app) is evaluated the first break inside (define-entry-point :markedit) triggers but the second break does not ...meaning that the (let....) is never evaluated and the window is never created.

(ceramic:define-entry-point :markedit ()
(break)
(let ((window (ceramic:make-window :url (format nil "http://localhost:~D/" *port*))))
(break)
(ceramic:show-window window)
(start-app)))

; SLIME 2015-07-18
CL-USER> (ql:quickload '(ceramic markedit))
To load "ceramic":
Load 1 ASDF system:
ceramic
; Loading "ceramic"
........................
To load "markedit":
Load 1 ASDF system:
markedit
; Loading "markedit"
.....................................
(CERAMIC MARKEDIT)
CL-USER> (ceramic:interactive)
T
CL-USER> (markedit:start-app)
Hunchentoot server is started.
Listening on localhost:40000.
T

Bug in Tutorial

I think there is a small bug/typo on the tutorial webpage:

You can also tell it where to store the bundle through an optional argument:
(ceramic.bundler:bundle :ceramic-hello-world #p"build/bundle.tar")

Shouldn't this read:

(ceramic.bundler:bundle :ceramic-hello-world :bundle-pathname #p"build/bundle.tar")

Bug in tutorial

The tutorial currently states that to bundle an app one should run:

(ceramic.bundler:bundle :ceramic-hello-world #p"build/bundle.tar")

This will fail, since BUNDLE takes a keyword argument. Perhaps this is leftover from a previous version?

(ceramic:setup) fails on OS X

(ql:quickload '(:ceramic :lucerne-utweet))
...
lot's of ok output
...
(ceramic:setup)

Creating Ceramic directories...
Installing Buildapp...
Already installed
Downloading a copy of Electron...Downloading "https://github.com/atom/electron/releases/download/v0.28.1/electron-v0.28.1-darwin-x64.zip" (Unknown size)

debugger invoked on a SB-INT:SIMPLE-FILE-ERROR in thread
#<THREAD "main thread" RUNNING {1002C0E8B3}>:
  error opening #P"/Users/mac/.ceramic/electron/LICENSE": File exists

Type HELP for debugger help, or (SB-EXT:EXIT) to exit from SBCL.

restarts (invokable by number or by possibly-abbreviated name):
  0: [ABORT] Exit debugger, returning to top level.

(SB-IMPL::SIMPLE-FILE-PERROR "error opening ~S" #P"/Users/mac/.ceramic/electron/LICENSE" 17)
0]```

I am using SBCL 1.2.2 on OS X.

ceramic:bundle does not work when using roswell

When using roswell bundle uses the command
"ros" -l "/home/iam/.roswell/lisp/quicklisp/setup.lisp" -e "(setf *debugger-hook* #'(lambda (c h) (declare (ignore h)) (uiop:print-condition-backtrace c) (uiop:quit -1)))" -e "(asdf:load-system :TRACKER-CLIENT)" -e "(setf uiop:*image-entry-point* #'(lambda () (ceramic-entry::tracker-client)))" -e "(uiop:dump-image #P\"/home/iam/.ceramic/working/tracker-client\" :executable t
which is invalid.
This is on ubuntu 18

It should probably be start with "ros" "run" --

Windows: sbcl and ccl quickload ceramic fails on building libuv

Hi there, and thanks for the excellent work you have done on Ceramic.

  1. When quickloading ceramic Ceramic requires gcc to be in the path.

  2. With gcc in the path, the build fails to find uv.h as below.

I worked around this by putting all the uv headers in c:\include. The experimental libuv 64 bit Windows installer puts the headers in C:\Program Files\libuv\include.

Cheers

Mike Thomas

C:>sbcl
This is SBCL 1.3.18, an implementation of ANSI Common Lisp.
More information about SBCL is available at http://www.sbcl.org/.

SBCL is free software, provided as is, with absolutely no warranty.
It is mostly in the public domain; some portions are provided under
BSD-style licenses. See the CREDITS and COPYING files in the
distribution for more information.

WARNING: the Windows port is fragile, particularly for multithreaded
code. Unfortunately, the development team currently lacks the time
and resources this platform demands.

  • (ql:quickload :ceramic)
    To load "ceramic":
    Load 1 ASDF system:
    ceramic
    ; Loading "ceramic"
    .........; gcc -o "C:\Users\mjt46\AppData\Local\cache\common-lisp\sbcl-1.3.18-win-x64\C\Users\mjt46\quicklisp\dists\quicklisp\software\cl-libuv-20160825-git\grovel__grovel-tmpGHU3ALSV.obj" -c -m64 -Ic:/include/ -Ic:/include/uv/ -IC:/Users/mjt46/quicklisp/dists/quicklisp/software/cffi_0.19.0/ "C:\Users\mjt46\AppData\Local\cache\common-lisp\sbcl-1.3.18-win-x64\C\Users\mjt46\quicklisp\dists\quicklisp\software\cl-libuv-20160825-git\grovel__grovel.c"
    C:\Users\mjt46\AppData\Local\cache\common-lisp\sbcl-1.3.18-win-x64\C\Users\mjt46\quicklisp\dists\quicklisp\software\cl-libuv-20160825-git\grovel__grovel.c:6:10: fatal error: uv.h: No such file or directory
    #include <uv.h>
    ^~~~~~
    compilation terminated.

debugger invoked on a CFFI-GROVEL:GROVEL-ERROR in thread #<THREAD "main thread" RUNNING {1002DBA863}>: Subprocess (:PROCESS #<SB-IMPL::PROCESS :EXITED 1>)
with command ("gcc" "-o" "C:\Users\mjt46\AppData\Local\cache\common-lisp\sbcl-1.3.18-win-x64\C\Users\mjt46\quicklisp\dists\quicklisp\software\cl-libuv-20160825-git\grovel__grovel-tmpGHU3ALSV.obj" "-c" "-m64" "-Ic:/include/" "-Ic:/include/uv/" "-IC:/Users/mjt46/quicklisp/dists/quicklisp/software/cffi_0.19.0/" "C:\Users\mjt46\AppData\Local\cache\common-lisp\sbcl-1.3.18-win-x64\C\Users\mjt46\quicklisp\dists\quicklisp\software\cl-libuv-20160825-git\grovel__grovel.c")
exited with error code 1

Type HELP for debugger help, or (SB-EXT:EXIT) to exit from SBCL.

restarts (invokable by number or by possibly-abbreviated name):
0: [RETRY ] Retry PROCESS-OP on #<GROVEL-FILE "cl-libuv" "grovel">.
1: [ACCEPT ] Continue, treating PROCESS-OP on #<GROVEL-FILE "cl-libuv" "grovel"> as having been successful.
2: Retry ASDF operation.
3: [CLEAR-CONFIGURATION-AND-RETRY] Retry ASDF operation after resetting the configuration.
4: [ABORT ] Give up on "ceramic"
5: Exit debugger, returning to top level.

(CFFI-GROVEL:GROVEL-ERROR "~a" #<UIOP/RUN-PROGRAM:SUBPROCESS-ERROR {1006194A03}>)
source: (ERROR (QUOTE GROVEL-ERROR) :FORMAT-CONTROL FORMAT-CONTROL :FORMAT-ARGUMENTS FORMAT-ARGUMENTS)
0]

Bundle failing on Electron dylib not found (on OS X under SBCL)

Ceramic looks great so far, but I am having no luck bundling.

I am on Mac OS X 10.13.1 using sbcl 1.4.2.

I am trying to bundle the hello-world example. The bundle fails when it does not find an Electron dylib. I can we the Electron under the working directory is indeed complete and does not even have versions subdirectory under the Electron framework. I do see that and the specific dylib under the Electron directory alongside the working directory.

Below is the console output from the bundle command. I do not see any earlier issues, but I could be missing something.

  • (ceramic:bundle :ceramic-hello-world)
    WARNING: System definition file #P"/Users/kennethtilton/quicklisp/dists/quicklisp/software/cl-async-20171130-git/cl-async.asd" contains definition for system "cl-async-base". Please only define "cl-async" and secondary systems with a name starting with "cl-async/" (e.g. "cl-async/test") in that file.
    WARNING: System definition file #P"/Users/kennethtilton/quicklisp/dists/quicklisp/software/cl-async-20171130-git/cl-async.asd" contains definition for system "cl-async-util". Please only define "cl-async" and secondary systems with a name starting with "cl-async/" (e.g. "cl-async/test") in that file.
    WARNING: System definition file #P"/Users/kennethtilton/quicklisp/dists/quicklisp/software/cl-async-20171130-git/cl-async.asd" contains definition for system "cl-async-base". Please only define "cl-async" and secondary systems with a name starting with "cl-async/" (e.g. "cl-async/test") in that file.
    WARNING: System definition file #P"/Users/kennethtilton/quicklisp/dists/quicklisp/software/cl-async-20171130-git/cl-async.asd" contains definition for system "cl-async-util". Please only define "cl-async" and secondary systems with a name starting with "cl-async/" (e.g. "cl-async/test") in that file.
    WARNING: System definition file #P"/Users/kennethtilton/quicklisp/dists/quicklisp/software/cl-async-20171130-git/cl-async.asd" contains definition for system "cl-async-base". Please only define "cl-async" and secondary systems with a name starting with "cl-async/" (e.g. "cl-async/test") in that file.
    WARNING: System definition file #P"/Users/kennethtilton/quicklisp/dists/quicklisp/software/cl-async-20171130-git/cl-async.asd" contains definition for system "cl-async-util". Please only define "cl-async" and secondary systems with a name starting with "cl-async/" (e.g. "cl-async/test") in that file.
    WARNING:
    Computing just-done stamp in plan NIL for action (ASDF/LISP-ACTION:PREPARE-OP
    "cl-async-util"), but dependency (ASDF/LISP-ACTION:LOAD-OP
    "cl-async-base") wasn't done yet!
    WARNING:
    Computing just-done stamp in plan NIL for action (ASDF/LISP-ACTION:PREPARE-OP
    "cl-async-util"
    "src/util/helpers"), but dependency (ASDF/LISP-ACTION:LOAD-OP
    "cl-async-util"
    "src/util/package") wasn't done yet!
    WARNING:
    Computing just-done stamp in plan NIL for action (ASDF/LISP-ACTION:PREPARE-OP
    "cl-async-util"
    "src/util/foreign"), but dependency (ASDF/LISP-ACTION:LOAD-OP
    "cl-async-util"
    "src/util/helpers") wasn't done yet!
    WARNING:
    Computing just-done stamp in plan NIL for action (ASDF/LISP-ACTION:PREPARE-OP
    "cl-async-util"
    "src/util/error"), but dependency (ASDF/LISP-ACTION:LOAD-OP
    "cl-async-util"
    "src/util/foreign") wasn't done yet!
    WARNING:
    Computing just-done stamp in plan NIL for action (ASDF/LISP-ACTION:PREPARE-OP
    "cl-async"), but dependency (ASDF/LISP-ACTION:LOAD-OP
    "cl-async-base") wasn't done yet!
    WARNING:
    Computing just-done stamp in plan NIL for action (ASDF/LISP-ACTION:PREPARE-OP
    "cl-async"), but dependency (ASDF/FIND-SYSTEM:DEFINE-OP
    "cl-async") wasn't done yet!
    WARNING: The class SOCKET-CLOSED is being redefined to be a DEFTYPE.
    WARNING: redefining DEFTYPE type to be a class: CL-ASYNC:SOCKET-CLOSED
    WARNING: The class TCP-EOF is being redefined to be a DEFTYPE.
    WARNING: redefining DEFTYPE type to be a class: CL-ASYNC:TCP-EOF
    WARNING: The class TCP-INFO is being redefined to be a DEFTYPE.
    WARNING: undeclaring functions for old subclasses of SOCKET-INFO:
    (SOCKET-ERROR SOCKET-EOF SOCKET-RESET SOCKET-TIMEOUT SOCKET-REFUSED
    SOCKET-ABORTED SOCKET-ADDRESS-IN-USE SOCKET-ACCEPT-ERROR
    TCP-SERVER-BIND-ERROR)
    WARNING: redefining DEFTYPE type to be a class: CL-ASYNC:TCP-INFO
    WARNING: The class TCP-ERROR is being redefined to be a DEFTYPE.
    WARNING: undeclaring functions for old subclasses of SOCKET-ERROR:
    (SOCKET-EOF SOCKET-RESET SOCKET-TIMEOUT SOCKET-REFUSED SOCKET-ABORTED
    SOCKET-ADDRESS-IN-USE SOCKET-ACCEPT-ERROR TCP-SERVER-BIND-ERROR)
    WARNING: redefining DEFTYPE type to be a class: CL-ASYNC:TCP-ERROR
    WARNING: The class TCP-RESET is being redefined to be a DEFTYPE.
    WARNING: redefining DEFTYPE type to be a class: CL-ASYNC:TCP-RESET
    WARNING: The class TCP-TIMEOUT is being redefined to be a DEFTYPE.
    WARNING: redefining DEFTYPE type to be a class: CL-ASYNC:TCP-TIMEOUT
    WARNING: The class TCP-REFUSED is being redefined to be a DEFTYPE.
    WARNING: redefining DEFTYPE type to be a class: CL-ASYNC:TCP-REFUSED
    WARNING: The class TCP-ACCEPT-ERROR is being redefined to be a DEFTYPE.
    WARNING: redefining DEFTYPE type to be a class: CL-ASYNC:TCP-ACCEPT-ERROR
    WARNING:
    Computing just-done stamp in plan NIL for action (ASDF/LISP-ACTION:COMPILE-OP
    "cl-async"), but dependency (ASDF/FIND-SYSTEM:DEFINE-OP
    "cl-async") wasn't done yet!
    WARNING:
    Computing just-done stamp in plan NIL for action (ASDF/LISP-ACTION:LOAD-OP
    "cl-async"), but dependency (ASDF/FIND-SYSTEM:DEFINE-OP
    "cl-async") wasn't done yet!

; compiling file "/Users/kennethtilton/quicklisp/dists/quicklisp/software/ceramic-20171130-git/examples/hello-world/hello-world.lisp" (written 27 DEC 2017 01:12:04 PM):
; compiling (IN-PACKAGE :CL-USER)
; compiling (DEFPACKAGE CERAMIC-HELLO-WORLD ...)
; compiling (IN-PACKAGE :CERAMIC-HELLO-WORLD)
; compiling (CL-ANNOT.SYNTAX:ENABLE-ANNOT-SYNTAX)
; compiling (DEFAPP APP)
; compiling (CL-ANNOT.CORE:%ANNOTATION ROUTE ...)
; compiling (DEFVAR PORT ...)
; compiling (DEFUN RUN ...)
; compiling (CERAMIC:DEFINE-ENTRY-POINT :CERAMIC-HELLO-WORLD ...)

; /Users/kennethtilton/.cache/common-lisp/sbcl-1.4.2-macosx-x64/Users/kennethtilton/quicklisp/dists/quicklisp/software/ceramic-20171130-git/examples/hello-world/hello-world-tmp3RKO0O0S.fasl written
; compilation finished in 0:00:00.004
WARNING: redefining CERAMIC-HELLO-WORLD::HELLO in DEFUN
WARNING: redefining CERAMIC-HELLO-WORLD:RUN in DEFUN
WARNING: redefining CERAMIC-ENTRY::CERAMIC-HELLO-WORLD in DEFUN
Ceramic: Copying resources...

debugger invoked on a SB-INT:SIMPLE-FILE-ERROR in thread
#<THREAD "main thread" RUNNING {1001950083}>:
The path
#P"/Users/kennethtilton/.ceramic/working/electron/Electron.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Libraries/libffmpeg.dylib"
does not exist.

Type HELP for debugger help, or (SB-EXT:EXIT) to exit from SBCL.

restarts (invokable by number or by possibly-abbreviated name):
0: [ABORT] Exit debugger, returning to top level.

(OPEN #P"/Users/kennethtilton/.ceramic/working/electron/Electron.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Libraries/libffmpeg.dylib" :DIRECTION :OUTPUT :ELEMENT-TYPE (UNSIGNED-BYTE 8) :IF-EXISTS :RENAME-AND-DELETE :IF-DOES-NOT-EXIST NIL :EXTERNAL-FORMAT :DEFAULT :CLASS SB-SYS:FD-STREAM)
0]

ceramic with CCL on Windows 10 64-bit can't compile.

Trying to follow the tutorial with Clozure CL fails at the (ql:quickload :ceramic) point:

..> Error: The value #P"buildapp.exe" is not of the expected type SEQUENCE.

I can just skip this error, but things are becoming worse then (more errors, no successful system built). Can I help you to fix that somehow? (I'm new to the Lisp things but not to Windows.)

Ceramic Daemon StartUp Issue on Ubuntu 20.10

Dear Ceramic Team,

I am not able to initialise the Ceramic Daemon from Ubuntu 20.10 machine due to the following error. Could you please guide me to fix this issue.

`ceramic daemon
internal/modules/cjs/loader.js:1160
throw new ERR_REQUIRE_ESM(filename, parentPath, packageJsonPath);
^

Error [ERR_REQUIRE_ESM]: Must use import to load ES Module: /home/semiott/.nvm/versions/node/v13.6.0/lib/node_modules/@ceramicnetwork/cli/node_modules/nanoid/index.js
require() of ES modules is not supported.
require() of /home/semiott/.nvm/versions/node/v13.6.0/lib/node_modules/@ceramicnetwork/cli/node_modules/nanoid/index.js from /home/semiott/.nvm/versions/node/v13.6.0/lib/node_modules/@ceramicnetwork/cli/node_modules/rpc-utils/dist/rpc-utils.cjs.development.js is an ES module file as it is a .js file whose nearest parent package.json contains "type": "module" which defines all .js files in that package scope as ES modules.
Instead rename index.js to end in .cjs, change the requiring code to use import(), or remove "type": "module" from /home/semiott/.nvm/versions/node/v13.6.0/lib/node_modules/@ceramicnetwork/cli/node_modules/nanoid/package.json.

at Object.Module._extensions..js (internal/modules/cjs/loader.js:1160:13)
at Module.load (internal/modules/cjs/loader.js:993:32)
at Function.Module._load (internal/modules/cjs/loader.js:892:14)
at Module.require (internal/modules/cjs/loader.js:1033:19)
at require (internal/modules/cjs/helpers.js:72:18)
at Object.<anonymous> (/home/semiott/.nvm/versions/node/v13.6.0/lib/node_modules/@ceramicnetwork/cli/node_modules/rpc-utils/dist/rpc-utils.cjs.development.js:5:14)
at Module._compile (internal/modules/cjs/loader.js:1144:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1164:10)
at Module.load (internal/modules/cjs/loader.js:993:32)
at Function.Module._load (internal/modules/cjs/loader.js:892:14) {

code: 'ERR_REQUIRE_ESM'
`

Tutorial: defvar window fails on Mac

I'm running through the tutorial on a Mac with SBCL.

After doing (ceramic:interactive) I tried the window defvar and it fails with a broken pipe:

  • (ql:quickload :ceramic)
    To load "ceramic":
    Load 1 ASDF system:
    ceramic
    ; Loading "ceramic"
    ........................
    (:CERAMIC)
  • (ceramic:interactive)

T

debugger invoked on a SB-INT:SIMPLE-STREAM-ERROR in thread

<THREAD "main thread" RUNNING {1002D86A13}>:

Couldn't write to #<SB-SYS:FD-STREAM for "descriptor 7" {1006667253}>:
Broken pipe

Type HELP for debugger help, or (SB-EXT:EXIT) to exit from SBCL.

restarts (invokable by number or by possibly-abbreviated name):
0: [ABORT] Exit debugger, returning to top level.

(SB-IMPL::SIMPLE-STREAM-PERROR "Couldn't write to ~s" #<SB-SYS:FD-STREAM for "descriptor 7" {1006667253}> 32)
0] 0

Request: add electron.shell to open links with external browser (code inside) + tip on debugging JS errors

Hello,
Further on on my experiments, I'd like to configure Ceramic so that it does not open links but leaves it to the external browser.

As explained in Electron's doc, we need a new module, Electron.shell. Here's my attempt: https://github.com/ceramic/ceramic/compare/master...vindarel:shell?expand=1

When I call the new open-all-external-links function (its JS code comes straight from the doc, but of the Electron showcase, didn't find on the website) and restart Ceramic (btw, didn't get what exactly to stop and restart to see changes), I get a JS error:

Error evaluating JavaScript from Ceramic: Ceramic.syncEval("urn:uuid:654931f7-370e-466a-9ce8-a10b1268621f", (function() { 
                    const links = document.querySelectors('a[href]');
                    Array.prototype.forEach.call(links, function (link) {
                        const url = link.getAttribute('href');
                        if (url.indexOf('http') === 0) {
                            link.addEventListener('click', function (e) {
                              e.preventDefault();
                              shell.openExternal(url);
                            })
                        }
                    })
                     }))

So, first, this is a message to anyone wanting to take a look :) and could you tell me if there are things to know to work on Electron/Ceramic (better logs,โ€ฆ) and could help my debugging ? Thanks !

create-window problem

Hello.

When trying to create a window, like this:

(defvar window (ceramic:make-window :url "http://localhost:5000/"))

I get this:

The value NIL is not of type SB-IMPL::PROCESS.
   [Condition of type TYPE-ERROR]

Restarts:
 0: [RETRY] Retry SLIME REPL evaluation request.
 1: [*ABORT] Return to SLIME's top level.
 2: [ABORT] abort thread (#<THREAD "repl-thread" RUNNING {10052E8033}>)

Backtrace:
  0: ((:METHOD EXTERNAL-PROGRAM:PROCESS-INPUT-STREAM (T)) NIL) [fast-method]
  1: ((SB-PCL::GF-DISPATCH EXTERNAL-PROGRAM:PROCESS-INPUT-STREAM) NIL)
  2: (CERAMIC.ELECTRON:SEND-COMMAND NIL "create-window" (("name" . "urn:uuid:d6b2e55e-7eaa-42e9-83f2-b66e4ccb09e2") ("show" :FALSE) ("resizable" . T)))
  3: (CERAMIC.ELECTRON:CREATE-WINDOW NIL "urn:uuid:d6b2e55e-7eaa-42e9-83f2-b66e4ccb09e2" (("resizable" . T)))
  4: ((:METHOD INITIALIZE-INSTANCE :AFTER (CERAMIC:WINDOW)) #<CERAMIC:WINDOW {100CC000C3}>) [fast-method]
  5: ((SB-PCL::EMF INITIALIZE-INSTANCE) #<unused argument> #<unused argument> #<CERAMIC:WINDOW {100CC000C3}> :URL "http://localhost:5000/")
  6: ((:METHOD MAKE-INSTANCE (CLASS)) #<STANDARD-CLASS CERAMIC:WINDOW> #<unavailable &REST argument>) [fast-method]
  7: ((LAMBDA (SB-PCL::.PV. SB-PCL::.NEXT-METHOD-CALL. SB-PCL::.ARG0. SB-INT:&MORE SB-PCL::.DFUN-MORE-CONTEXT. SB-PCL::.DFUN-MORE-COUNT.) :IN "/home/marian/.cache/common-lisp/sbcl-1.3.0.28-004f9d2-linux-x6..
  8: (CERAMIC:MAKE-WINDOW :TITLE NIL :URL "http://localhost:5000/" :X NIL :Y NIL :WIDTH NIL :HEIGHT NIL :RESIZABLEP NIL)

Do you know what could be wrong? I'm not sure what create-window command is, but is not available from my command line. The install seems to have gone fine, though.

WEB> (ceramic:setup)
Creating Ceramic directories...
Installing Buildapp...
Already installed
Downloading a copy of Electron...Downloading "https://github.com/atom/electron/releases/download/v0.28.1/electron-v0.28.1-linux-x64.zip" (Unknown size)
"{\"name\":\"Ceramic/Electron\",\"version\":\"0.1\",\"main\":\"main.js\"}"

ceramic with CCL can't run "setup".

Another Clozure CL experience; but it breaks at a later point as buildapp builds fine on this machine:

? (ceramic:setup)
Creating Ceramic directories...
Installing Buildapp...
> Error: The value NIL is not of the expected type REAL.
> While executing: CCL::>-2, in process listener(1).
> Type :POP to abort, :R for a list of available restarts.
> Type :? for other options.

Ceramic fails to start "interactive" on Windows / sbcl

While the CCL issues are being worked on, here's a new one:

When I use Ceramic inside SBCL on Windows (64-bit), (ceramic:interactive) tries to run /usr/bin/env after having downloaded Electron and subsequently, of course, fails:

(RUN-PROGRAM "/usr/bin/env" ("C:/Users/hp/.ceramic/electron/electron.exe") :ENV NIL :ENVIRONMENT NIL :WAIT NIL :SEARCH T :INPUT :STREAM :IF-INPUT-DOES-NOT-EXIST NIL :OUTPUT :STREAM :IF-OUTPUT-EXISTS :ERROR :ERROR :OUTPUT :IF-ERROR-EXISTS :ERROR :STATUS-HOOK NIL :EXTERNAL-FORMAT :DEFAULT :DIRECTORY NIL)

New Electron does not start on OSX under Ceramic

I've updated Electron with (ceramic:setup :force t), because it just showed gray window in a "bundled" version of the app. And now every time when I do (ceramic:start), I see system window saying "Electron quit unexpectedly".

I started to investigate the reason and come to this minimal example, which just starts electron and produces the same error:

(sb-ext:run-program
    "/Users/art/.ceramic/electron/Electron.app/Contents/MacOS/Electron"
    '("https://google.com"))

Process exits with code 6 and no output.

I've tried the same in Python, and it starts as expected, without any errors:

import subprocess
subprocess.check_output(
    ('/Users/art/.ceramic/electron/Electron.app/Contents/MacOS/Electron',
     'https://google.com'))

osx 10.10 on sbcl, make bundle on markedit fails at archive step

after needing to modify electron to delete a dangling symbolic link inside the project (bug resolved upstream), bundle fails at archive step with:

electron/Electron.app/Contents/Frameworks/Squirrel.framework/Versions/Current/Modules/module.modulemap has too many characters in it.

in 0: ((:METHOD ARCHIVE:CREATE-ENTRY-FROM-PATHNAME (ARCHIVE:TAR-ARCHIVE T)) # #P"electron/Electron.app/Contents/Frameworks/Squirrel.framework/Versions/Current/Modules/module.modulemap"..

additionally, if I simply browse into the working directory and run the markedit application, it just hangs and the cpu spins up.

Idle Application Times Out

If I let a ceramic application idle for about 5 minutes, it crashes with an I/O timeout error. 5 minutes (300) seconds is the default timeout value for the websocket-timeout slot of the class websocket-acceptor from hunchensocket. I haven't looked enough to know where/if ceramic could override that, or if it can be set for no timeout.

I'm running with quicklisp 2016-04-21, sbcl 1.2.15, fedora 23

(I mentioned this in #lisp a couple days ago, but had to take off before you responded)

missing main.js

My ceramic app works well from the repl, when I build with (ceramic:bundle :elect) on MacOS it gives me a .tar when I set the contents up as an .app and run it I get a pop up:

Unable to find Electron app at /Users/dbotton/common-lisp/elect/elect.app/electron/Electron.app/Contents/Resources/default_app/elect

Cannot find module '/Users/dbotton/common-lisp/elect/elect.app/electron/Electron.app/Contents/Resources/default_app/elect'
Require stack:

  • /Users/dbotton/common-lisp/elect/elect.app/electron/Electron.app/Contents/Resources/default_app.asar/main.js

The source for my project - https://github.com/rabbibotton/elect

Your help much appreciated :)

Some systems failed to build for Quicklisp dist

Building with SBCL 2.0.5 / ASDF 3.3.5 for quicklisp dist creation.

Trying to build commit id 5d81e2b

ceramic-hello-world fails to build with the following error:

Unhandled ASDF/FIND-COMPONENT:MISSING-DEPENDENCY in thread #<SB-THREAD:THREAD "main thread" RUNNING {1000A20083}>: Component :CLACK-V1-COMPAT not found, required by #<SYSTEM "lucerne">

Full log here

(lucerne:start utweet.views:app :port 8000) fails

Following the instructions on http://ceramic.github.io/ (lucerne:start utweet.views:app :port 8000) fails with:

(lucerne:start utweet.views:app :port 8000)

debugger invoked on a SB-INT:SIMPLE-READER-PACKAGE-ERROR in thread
#<THREAD "main thread" RUNNING {1002C0E7D3}>:
  The symbol "APP" is not external in the UTWEET.VIEWS package.

    Stream: #<SYNONYM-STREAM :SYMBOL SB-SYS:*STDIN* {1000196C23}>

Type HELP for debugger help, or (SB-EXT:EXIT) to exit from SBCL.

restarts (invokable by number or by possibly-abbreviated name):
  0: [CONTINUE] Use symbol anyway.
  1: [ABORT   ] Exit debugger, returning to top level.

(SB-IMPL::READ-TOKEN #<SYNONYM-STREAM :SYMBOL SB-SYS:*STDIN* {1000196C23}> #\u)
0]

If I choose to proceed (0) I get:

(SB-IMPL::READ-TOKEN #<SYNONYM-STREAM :SYMBOL SB-SYS:*STDIN* {1000196C23}> #\u)
0] 0

Hunchentoot server is started.
Listening on localhost:8000.
NIL
* (defvar window (ceramic:make-window :url "http://localhost:8000/"))

debugger invoked on a SB-INT:SIMPLE-STREAM-ERROR in thread
#<THREAD "main thread" RUNNING {1002C0E7D3}>:
  Couldn't write to #<SB-SYS:FD-STREAM for "descriptor 10" {1004FC0DE3}>:
    Broken pipe

Type HELP for debugger help, or (SB-EXT:EXIT) to exit from SBCL.

restarts (invokable by number or by possibly-abbreviated name):
  0: [ABORT] Exit debugger, returning to top level.

(SB-IMPL::SIMPLE-STREAM-PERROR "Couldn't write to ~s" #<SB-SYS:FD-STREAM for "descriptor 10" {1004FC0DE3}> 32)
0]

Can't quickload on SBCL, windows

The ceramic version is the most recent files on github, and put under the quickllisp's local project dir. Here is the error information.

COMPILE-FILE-ERROR while
compiling #<CL-SOURCE-FILE "ceramic" "src" "driver">
   [Condition of type UIOP/LISP-BUILD:COMPILE-FILE-ERROR]

Restarts:
 0: [RETRY] Retry compiling #<CL-SOURCE-FILE "ceramic" "src" "driver">.
 1: [ACCEPT] Continue, treating compiling #<CL-SOURCE-FILE "ceramic" "src" "driver"> as having been successful.
 2: [RETRY] Retry ASDF operation.
 3: [CLEAR-CONFIGURATION-AND-RETRY] Retry ASDF operation after resetting the configuration.
 4: [ABORT] Give up on "ceramic"
 5: [RETRY] Retry SLIME REPL evaluation request.
 --more--

Backtrace:
  0: (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 "ceramic" "src" "driver">)))
  1: ((SB-PCL::EMF ASDF/ACTION:PERFORM) #<unavailable argument> #<unavailable argument> #<ASDF/LISP-ACTION:COMPILE-OP > #<ASDF/LISP-ACTION:CL-SOURCE-FILE "ceramic" "src" "driver">)
  2: ((:METHOD ASDF/ACTION:PERFORM-WITH-RESTARTS :AROUND (T T)) #<ASDF/LISP-ACTION:COMPILE-OP > #<ASDF/LISP-ACTION:CL-SOURCE-FILE "ceramic" "src" "driver">) [fast-method]
  3: ((:METHOD ASDF/PLAN:PERFORM-PLAN (LIST)) ((#1=#<ASDF/LISP-ACTION:PREPARE-OP > . #2=#<ASDF/SYSTEM:SYSTEM #3="puri">) (#1# . #4=#<ASDF/LISP-ACTION:CL-SOURCE-FILE #3# "src">) (#5=#<ASDF/LISP-ACTION:LOAD-..
  4: ((FLET SB-C::WITH-IT :IN SB-C::%WITH-COMPILATION-UNIT))
  5: ((:METHOD ASDF/PLAN:PERFORM-PLAN :AROUND (T)) ((#1=#<ASDF/LISP-ACTION:PREPARE-OP > . #2=#<ASDF/SYSTEM:SYSTEM #3="puri">) (#1# . #4=#<ASDF/LISP-ACTION:CL-SOURCE-FILE #3# "src">) (#5=#<ASDF/LISP-ACTION:..
  6: ((FLET SB-C::WITH-IT :IN SB-C::%WITH-COMPILATION-UNIT))
  7: ((:METHOD ASDF/PLAN:PERFORM-PLAN :AROUND (T)) #<ASDF/PLAN:SEQUENTIAL-PLAN {24B3E4F1}> :VERBOSE NIL) [fast-method]
  8: ((:METHOD ASDF/OPERATE:OPERATE (ASDF/OPERATION:OPERATION ASDF/COMPONENT:COMPONENT)) #<ASDF/LISP-ACTION:LOAD-OP :VERBOSE NIL> #<ASDF/SYSTEM:SYSTEM "ceramic"> :VERBOSE NIL) [fast-method]
  9: ((SB-PCL::EMF ASDF/OPERATE:OPERATE) #<unused argument> #<unused argument> #<ASDF/LISP-ACTION:LOAD-OP :VERBOSE NIL> #<ASDF/SYSTEM:SYSTEM "ceramic"> :VERBOSE NIL)
 10: ((LAMBDA NIL :IN ASDF/OPERATE:OPERATE))
 11: ((:METHOD ASDF/OPERATE:OPERATE :AROUND (T T)) #<ASDF/LISP-ACTION:LOAD-OP :VERBOSE NIL> #<ASDF/SYSTEM:SYSTEM "ceramic"> :VERBOSE NIL) [fast-method]
 12: ((SB-PCL::EMF ASDF/OPERATE:OPERATE) #<unused argument> #<unused argument> ASDF/LISP-ACTION:LOAD-OP "ceramic" :VERBOSE NIL)
 13: ((LAMBDA NIL :IN ASDF/OPERATE:OPERATE))
 14: (ASDF/CACHE:CALL-WITH-ASDF-CACHE #<CLOSURE (LAMBDA NIL :IN ASDF/OPERATE:OPERATE) {24B30F0D}> :OVERRIDE NIL :KEY NIL)
 15: ((:METHOD ASDF/OPERATE:OPERATE :AROUND (T T)) ASDF/LISP-ACTION:LOAD-OP "ceramic" :VERBOSE NIL) [fast-method]
 16: ((:METHOD ASDF/OPERATE:OPERATE :AROUND (T T)) ASDF/LISP-ACTION:LOAD-OP "ceramic" :VERBOSE NIL) [fast-method]
 17: (ASDF/OPERATE:LOAD-SYSTEM "ceramic" :VERBOSE NIL)
 18: (QUICKLISP-CLIENT::CALL-WITH-MACROEXPAND-PROGRESS #<CLOSURE (LAMBDA NIL :IN QUICKLISP-CLIENT::APPLY-LOAD-STRATEGY) {24B13D2D}>)
 19: (QUICKLISP-CLIENT::AUTOLOAD-SYSTEM-AND-DEPENDENCIES "ceramic" :PROMPT NIL)
 --more--

Ceramic:bundle (or trivial-build) does not find my component

Hi all,
I've successfully launched an Electron window with ceramic:show but I am unable to build a bundle. It looks like trivial-build can not find my component, even though I can quickload my project or asdf:load-system it on the REPL without errors.

Now if you excuse me, I gave my process and the stacktraces on SO: https://stackoverflow.com/questions/46199020/uiop-run-programsubprocess-error-and-not-showing-much

I'd love to hear your tips to debug this. Also let me know if I'd better reach trivial-build or uiop.

Regards

Linux: Can't compile on CCL due to use of Archive

To create a CCL image, first replace the buildapp in .ceramic with a custom built CCL version buildapp.

Using this setup fails because Archive isn't implemented for CCL. Archive also does not zip up the tar file.

I propose that the system installed tar application be used.

ceramic-test fails with ASDF 3.3.1 - threat to remove from QL january update

Seen on http://blog.quicklisp.org/2018/01/build-failures-with-asdf-331.html Threatens to remove the project from QL's january dist update.

bug report: http://report.quicklisp.org/2018-01-16/failure-report/ceramic.html#ceramic-test

; caught ERROR: ; READ error during COMPILE-FILE: Package CERAMIC.BUNDLER does not exist. Line: 30, Column: 29, File-Position: 855 Stream: #<SB-INT:FORM-TRACKING-STREAM for "file /home/quicklisp/quicklisp-controller/dist/build-cache/ceramic/3a103acdb6b4ca4a2ea83d63f82192dfe719c7e4/ceramic-20180116-git/t/integration.lisp" {100E1A6B13}> Unhandled UIOP/LISP-BUILD:COMPILE-FILE-ERROR in thread #<SB-THREAD:THREAD "main thread" RUNNING {1001DB0083}>: COMPILE-FILE-ERROR while compiling #<CL-SOURCE-FILE "ceramic-test" "t" "integration">

(edit) maybe is it a gentle failure, not threatening.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.