Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Install `cl-electron' via NPM. Use standard build-tools. #43

Merged
merged 8 commits into from
May 20, 2024

Conversation

jmercouris
Copy link
Member

This is a standard installation method that should work on Ubuntu and other conforming operating systems including macOS.

This is a draft. I am still considering removing the usage of NPX and referencing the Electron binary via an absolute path.

source/core.lisp Outdated Show resolved Hide resolved
source/core.lisp Outdated Show resolved Hide resolved
@aadcg
Copy link
Member

aadcg commented Apr 25, 2024

Will review as soon as I'll setup Ubuntu, thanks.

These components are not used in the project.
@aadcg aadcg marked this pull request as ready for review May 19, 2024 20:28
@aadcg aadcg removed their request for review May 19, 2024 20:28
@aadcg
Copy link
Member

aadcg commented May 19, 2024

Thanks for working on this PR @jmercouris.

I took over and fixed some minor things. I've tested the setup on macOS (relying on Nix for the CL dependencies) and Linux (Ubuntu, relying on Guix for the CL dependencies).

For reference, here's how I set {sly,slime}-lisp-implementations. The double slashes in CL_SOURCE_REGISTRY recursively register the directory.

(cl-electron-guix
 ("guix" "shell" "-m" "manifest.scm" "--" "sbcl")
 ;; To use the Guix Lisp dependencies versions, comment the env below.
 :env ("CL_SOURCE_REGISTRY=~/common-lisp//:~/common-lisp/nyxt/_build//"
       "LD_LIBRARY_PATH=/gnu/store/<hash>-libfixposix-0.4.3/lib")
 :directory "~/common-lisp/cl-electron/")
(cl-electron-nix
 ("nix-shell" "--run" "sbcl --dynamic-space-size 3072")
 :env ("CL_SOURCE_REGISTRY=~/common-lisp//:~/common-lisp/nyxt/_build//")
 :directory "~/common-lisp/cl-electron/")

Tests and examples seem to run smoothly on the platforms mentioned above.

I'd like run the checks mentioned above again in a clean environment (by removing the CL and Node.JS cache).

Also, I'm taking over atlas-engineer/nyxt#3381 and I'd like to merge these 2 PRs at once. I.e., I'll work on atlas-engineer/nyxt#3381 with the state of this PR, check whether everything's OK, and merge both.

jmercouris and others added 7 commits May 20, 2024 22:44
This installation system will work on a standard Linux/macOS system.

Additionally, add support for `synchronous-socket' via package.json.
There may be dangling processes without the fix.
NPM install synchronous-socket locally (in the project's folder), but
server-path may not be located there.

See the handling of server-path and protocols and note that server-path may be a
tmp file.
Only handles the CL environment.
Only handles the CL environment.
@aadcg aadcg merged commit 270856b into master May 20, 2024
@aadcg aadcg deleted the standard-installation branch May 20, 2024 19:46
@aadcg
Copy link
Member

aadcg commented May 20, 2024

Thanks @jmercouris!

@jmercouris
Copy link
Member Author

thank you!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants