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

Replace library management in submodules with qlot #1104

Merged
merged 20 commits into from
Sep 23, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 6 additions & 16 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,30 +23,20 @@ jobs:
- name: Run test
run: |
set -ex

# workaround for sbcl and log4cl combination problems
mkdir ~/common-lisp
cd ~/common-lisp
git clone https://github.com/sharplispers/log4cl.git
cd -

ros config set dynamic-space-size 2048
curl -L https://qlot.tech/installer | bash
export PATH="/home/runner/.qlot/bin:$PATH"

ros install lem-project/async-process lem
ros install cxxxr/sblint fukamachi/rove
qlot install

export PATH=$HOME/.roswell/bin:$PATH

sblint src/base/lem-base.asd
sblint lem.asd
sblint lib/lisp-syntax/lem-lisp-syntax.asd
sblint extensions/lisp-mode/lem-lisp-mode.asd
make lint

if [ $(grep -r --include="*.lisp" 'lem::' | wc -l) -ne 0 ]; then
echo 'using `lem::` internal symbols'
echo 'https://google.github.io/styleguide/lispguide.xml?showone=Packages#Packages'
exit 1
fi

rove lem-tests.asd
rove extensions/vi-mode/lem-vi-mode.asd
qlot exec .qlot/bin/rove lem-tests.asd
qlot exec .qlot/bin/rove extensions/vi-mode/lem-vi-mode.asd
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -34,3 +34,4 @@ lem-ncurses
build/*

*.lx64fsl
.qlot
29 changes: 18 additions & 11 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,20 +1,27 @@
LISP ?= ${shell which sbcl}

build-ncurses:
$(LISP) --load scripts/patch-build-ncurses.lisp
ncurses:
qlot install
qlot exec $(LISP) --load scripts/build-ncurses.lisp

build-sdl2:
$(LISP) --load scripts/patch-build-sdl2.lisp
sdl2:
qlot install
qlot exec $(LISP) --load scripts/build-sdl2.lisp

test:
$(LISP) --load scripts/launch-tests.lisp
qlot install
qlot exec .qlot/bin/rove lem-tests.asd

generate-doc:
$(LISP) --load scripts/generate-documentation-tests.lisp --eval '(progn (lem-documentation-mode/tests::generate-markdown-file "test.md" :test) (quit))'

update-submodules:
git submodule update --remote
doc:
qlot install
qlot exec $(LISP) --load scripts/generate-documentation-tests.lisp --eval '(progn (lem-documentation-mode/tests::generate-markdown-file "test.md" :test) (quit))'

update:
git pull
git submodule update --init --recursive
qlot install

lint:
qlot exec .qlot/bin/sblint src/base/lem-base.asd
qlot exec .qlot/bin/sblint lem.asd
qlot exec .qlot/bin/sblint lib/lisp-syntax/lem-lisp-syntax.asd
qlot exec .qlot/bin/sblint extensions/lisp-mode/lem-lisp-mode.asd
8 changes: 6 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -69,13 +69,17 @@ curl -L https://qlot.tech/installer | bash
```
make
```

### SDL2
Dependent packages must be installed.
See https://github.com/lem-project/lem/blob/main/frontends/sdl2/README.md

```
make build-sdl2
make sdl2
```

## update
```
make update
```

## Usage
Expand Down
4 changes: 2 additions & 2 deletions contrib/migemo/lem-migemo.asd
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,6 @@
:components((:file "main"))
:depends-on("lem"
:cl-migemo))
(UNLESS (ASDF/SYSTEM:FIND-SYSTEM "cl-migemo" NIL)
#+roswell(UNLESS (ASDF/SYSTEM:FIND-SYSTEM "cl-migemo" NIL)
(UIOP/PACKAGE:SYMBOL-CALL "ROSWELL" "ROSWELL"
'("install" "snmsts/cl-migemo")))
'("install" "snmsts/cl-migemo")))
6 changes: 6 additions & 0 deletions frontends/sdl2/lem-sdl2.asd
Original file line number Diff line number Diff line change
Expand Up @@ -14,3 +14,9 @@
(:file "text-buffer")
(:file "image-buffer")
(:file "tree")))

(defsystem "lem-sdl2/executable"
:build-operation program-op
:build-pathname "../../lem"
:entry-point "lem:main"
:depends-on ("lem-sdl2"))
6 changes: 6 additions & 0 deletions qlfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
git micros https://github.com/lem-project/micros.git
git lem-mailbox https://github.com/lem-project/lem-mailbox.git
git lem-base16-themes https://github.com/lem-project/lem-base16-themes.git
git async-process https://github.com/lem-project/async-process.git
git sblint https://github.com/cxxxr/sblint.git
git rove https://github.com/fukamachi/rove.git
28 changes: 28 additions & 0 deletions qlfile.lock
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
("quicklisp" .
(:class qlot/source/dist:source-dist
:initargs (:distribution "http://beta.quicklisp.org/dist/quicklisp.txt" :%version :latest)
:version "2023-06-18"))
("micros" .
(:class qlot/source/git:source-git
:initargs (:remote-url "https://github.com/lem-project/micros.git")
:version "git-ed264a27262baeed493cdde338873bf4afc3721c"))
("lem-mailbox" .
(:class qlot/source/git:source-git
:initargs (:remote-url "https://github.com/lem-project/lem-mailbox.git")
:version "git-12d629541da440fadf771b0225a051ae65fa342a"))
("lem-base16-themes" .
(:class qlot/source/git:source-git
:initargs (:remote-url "https://github.com/lem-project/lem-base16-themes.git")
:version "git-07dacae6c1807beaeffc730063b54487d5c82eb0"))
("async-process" .
(:class qlot/source/git:source-git
:initargs (:remote-url "https://github.com/lem-project/async-process.git")
:version "git-9690530fc92b59636d9f17d821afa7697e7c8ca4"))
("sblint" .
(:class qlot/source/git:source-git
:initargs (:remote-url "https://github.com/cxxxr/sblint.git")
:version "git-1037296f604c3210ce073a53539d4ae95b0c2f8c"))
("rove" .
(:class qlot/source/git:source-git
:initargs (:remote-url "https://github.com/fukamachi/rove.git")
:version "git-f168cd177b5f83f171dd970dc1a9abb6eb43f044"))
2 changes: 2 additions & 0 deletions scripts/build-ncurses.lisp
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
(ql:quickload :lem-ncurses)
(asdf:make :lem/executable)
2 changes: 2 additions & 0 deletions scripts/build-sdl2.lisp
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
(ql:quickload :lem-sdl2)
(asdf:make :lem-sdl2/executable)
20 changes: 0 additions & 20 deletions scripts/build.lisp

This file was deleted.

2 changes: 0 additions & 2 deletions scripts/launch-tests.lisp
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
(load "scripts/patch.lisp")

(ql:quickload :lem-tests)

(rove:run :lem-tests)
Expand Down
7 changes: 0 additions & 7 deletions scripts/patch-build-ncurses.lisp

This file was deleted.

8 changes: 0 additions & 8 deletions scripts/patch-build-sdl2.lisp

This file was deleted.

10 changes: 0 additions & 10 deletions scripts/patch.lisp

This file was deleted.