Compare commits

...

26 commits

Author SHA1 Message Date
github-actions[bot]
76212e4597 Update docs 2024-12-14 22:08:30 +00:00
Alexander Artemenko
37d6351ff1 Fixed the way how we set dynamic-space-size. 2024-12-14 22:05:20 +00:00
github-actions[bot]
0bbf4764f4 Update docs 2024-12-14 10:03:04 +00:00
Alexander Artemenko
c5aaeb1ffc
Merge pull request from 40ants/dynamic-space-size
Input variable `dynamic-space-size` was added. It can be used to default set memory size for SBCL.
2024-12-14 12:58:18 +03:00
Alexander Artemenko
55b7212e25 Fixed small problem in the docs. 2024-12-14 09:51:14 +00:00
Alexander Artemenko
9467768eb5 Input variable dynamic-space-size was added. It can be used to default set memory size for SBCL. 2024-12-14 09:37:59 +00:00
github-actions[bot]
b6c2357e52 Update docs 2024-08-04 07:22:35 +00:00
Alexander Artemenko
f3e4144589
Merge pull request from 40ants/qlot-no-deps-mode
Qlot no deps mode
2024-08-04 10:17:22 +03:00
Alexander Artemenko
da8536f4ff Fixed condition. 2024-05-18 00:22:24 +03:00
Alexander Artemenko
fe2e6f885e Add more logging. 2024-05-18 00:21:32 +03:00
Alexander Artemenko
e14ce570fc Updated the changelog. 2024-05-17 16:19:34 +03:00
Alexander Artemenko
976b3e5419 Input argument qlot-no-deps was added.
It makes Qlot to ignore asd files and their dependencies.

This this might be useful in rare cases when your project contains a non-readable asd files such as templates.
2024-05-17 15:59:07 +03:00
github-actions[bot]
1e6a66be39 Update docs 2024-04-26 07:16:07 +00:00
Alexander Artemenko
1a45deaa8e
Merge pull request from ak-coram/macos-14-cache-fixes
macos-14 caching fixes
2024-04-26 10:12:59 +03:00
Ákos Kiss
abd311bead Update changelog 2024-04-19 10:22:53 +02:00
Ákos Kiss
f4185fed53 Add macos-14 to test matrix 2024-04-19 10:18:38 +02:00
Ákos Kiss
4d80952994 Add homebrew paths to roswell cache for macos-14 2024-04-19 05:09:28 +02:00
Ákos Kiss
98a5a9d323 Extend qlot cache key with runner architecture 2024-04-19 05:05:56 +02:00
github-actions[bot]
cf2feb4223 Update docs 2024-04-18 08:10:23 +00:00
Alexander Artemenko
f243cb8ff6 Update changelog. 2024-04-18 11:07:18 +03:00
Alexander Artemenko
a5179c83cc
Merge pull request from ak-coram/extend-cache-key-with-runner-arch
Extend cache key with runner architecture (fixes )
2024-04-18 11:01:51 +03:00
Ákos Kiss
2050461d6f Extend cache key with runner architecture 2024-04-18 04:31:06 +02:00
github-actions[bot]
08730d2cc2 Update docs 2024-04-15 15:27:08 +00:00
Alexander Artemenko
48b749e1f2
Merge pull request from 40ants/fix-ql-fix-loading
Fix :HOME path component issue.
2024-04-15 18:24:25 +03:00
Alexander Artemenko
cb334f930e Fix :HOME path component issue.
First, we need to ensure that any errors in quicklisp fix loader cause failure of our own tests.
2024-04-15 18:08:08 +03:00
Alexander Artemenko
9eb7a325f3 Update deps. 2024-03-06 02:08:05 +03:00
9 changed files with 287 additions and 90 deletions

View file

@ -14,46 +14,105 @@ jobs:
fail-fast: false # Let the workflow continue as much as possible
matrix:
include:
- os: ubuntu-latest
lisp: sbcl
# Just to ensure test.ros will not fail when version
# is specified explicitly
- os: ubuntu-latest
lisp: sbcl/2.3.1
- os: macos-latest
lisp: sbcl-bin
- os: windows-latest
lisp: sbcl-bin
- os: ubuntu-latest
lisp: sbcl-bin
- os: ubuntu-latest
lisp: ccl-bin
- os: ubuntu-latest
lisp: clisp-head
- os: ubuntu-latest
lisp: ecl
# Linux
- os: ubuntu-latest
lisp: abcl-bin
- os: ubuntu-latest
lisp: clasp-bin
- os: ubuntu-latest
lisp: cmu-bin
# See issue: https://github.com/40ants/setup-lisp/issues/22
# - os: ubuntu-latest
# lisp: allegro
# See issue: https://github.com/40ants/setup-lisp/issues/15
# - os: ubuntu-latest
# lisp: clisp
- os: ubuntu-latest
lisp: ccl-bin
# See issue: https://github.com/40ants/setup-lisp/issues/16
# - os: ubuntu-latest
# lisp: clasp
- os: ubuntu-latest
lisp: clasp-bin
# See issue: https://github.com/40ants/setup-lisp/issues/15
# - os: ubuntu-latest
# lisp: clisp
- os: ubuntu-latest
lisp: clisp-head
- os: ubuntu-latest
lisp: cmu-bin
- os: ubuntu-latest
lisp: ecl
# See issue: https://github.com/40ants/setup-lisp/issues/17
# - os: ubuntu-latest
# lisp: mkcl
# See issue: https://github.com/40ants/setup-lisp/issues/18
# - os: ubuntu-latest
# lisp: npt
- os: ubuntu-latest
lisp: sbcl
# Just to ensure test.ros will not fail when version
# is specified explicitly
- os: ubuntu-latest
lisp: sbcl/2.3.1
- os: ubuntu-latest
lisp: sbcl-bin
# OSX
- os: macos-13
lisp: abcl-bin
- os: macos-13
lisp: ccl-bin
# https://github.com/40ants/setup-lisp/issues/29
# - os: macos-13
# lisp: clasp-bin
# https://github.com/40ants/setup-lisp/issues/28
# - os: macos-13
# lisp: clisp-head
# https://github.com/40ants/setup-lisp/issues/30
# - os: macos-13
# lisp: cmu-bin
- os: macos-13
lisp: ecl
- os: macos-13
lisp: sbcl-bin
- os: macos-14
lisp: abcl-bin
# - os: macos-14
# lisp: ccl-bin
# https://github.com/40ants/setup-lisp/issues/29
# - os: macos-14
# lisp: clasp-bin
# https://github.com/40ants/setup-lisp/issues/28
# - os: macos-14
# lisp: clisp-head
# https://github.com/40ants/setup-lisp/issues/30
# - os: macos-14
# lisp: cmu-bin
- os: macos-14
lisp: ecl
- os: macos-14
lisp: sbcl-bin
# Windows
# https://github.com/40ants/setup-lisp/issues/27
# - os: windows-latest
# lisp: abcl-bin
# https://github.com/40ants/setup-lisp/issues/27
# - os: windows-latest
# lisp: ccl-bin
# https://github.com/40ants/setup-lisp/issues/27
# - os: windows-latest
# lisp: clasp-bin
# https://github.com/40ants/setup-lisp/issues/27
# - os: windows-latest
# lisp: clisp-head
# https://github.com/40ants/setup-lisp/issues/27
# - os: windows-latest
# lisp: cmu-bin
# https://github.com/40ants/setup-lisp/issues/27
# - os: windows-latest
# lisp: ecl
- os: windows-latest
lisp: sbcl-bin
defaults:
run:
shell: lispsh -eo pipefail {0}
@ -83,8 +142,11 @@ jobs:
# https://github.com/roswell/roswell/issues/497
asdf-version: 3.3.5.3
qlot-version: latest
- run: which ros
- run: ros config
# On OSX this steps fails often:
# https://github.com/40ants/setup-lisp/issues/31
# I don't know how to fix it, so we'll skip it for now:
continue-on-error: true
- run: qlot exec ros install 40ants/cl-info
- run: qlot exec cl-info

1
.gitignore vendored
View file

@ -2,3 +2,4 @@
/env/
/.qlot
/README
*.fasl

View file

@ -2,6 +2,67 @@
# ChangeLog
<a id="x-28PROJECT-DOCS-2FCHANGELOG-3A-3A-7C4-2E2-2E1-7C-2040ANTS-DOC-2FLOCATIVES-3ASECTION-29"></a>
## 4.2.1 (2024-12-15)
Fixed the way how we set dynamic-space-size.
<a id="x-28PROJECT-DOCS-2FCHANGELOG-3A-3A-7C4-2E2-2E0-7C-2040ANTS-DOC-2FLOCATIVES-3ASECTION-29"></a>
## 4.2.0 (2024-12-14)
Input variable `dynamic-space-size` was added. It can be used to default set memory size for `SBCL`.
<a id="x-28PROJECT-DOCS-2FCHANGELOG-3A-3A-7C4-2E1-2E0-7C-2040ANTS-DOC-2FLOCATIVES-3ASECTION-29"></a>
## 4.1.0 (2024-05-17)
<a id="added"></a>
### Added
* Input argument qlot-no-deps was added.
Make Qlot ignore asd files and their dependencies.
This this might be useful in rare cases when your project contains a non-readable asd files such as templates.
<a id="x-28PROJECT-DOCS-2FCHANGELOG-3A-3A-7C4-2E0-2E5-7C-2040ANTS-DOC-2FLOCATIVES-3ASECTION-29"></a>
## 4.0.5 (2024-04-19)
<a id="fixed"></a>
### Fixed
* Extended test matrix with macos-14 runner.
* Fixed Roswell cache paths for macos-14 runner.
* Extended qlot cache key with runner architecture.
<a id="x-28PROJECT-DOCS-2FCHANGELOG-3A-3A-7C4-2E0-2E4-7C-2040ANTS-DOC-2FLOCATIVES-3ASECTION-29"></a>
## 4.0.4 (2024-04-18)
<a id="fixed"></a>
### Fixed
* Cache key was extended with runner architecture. Thanks for the contribution to Ákos Kiss!
<a id="x-28PROJECT-DOCS-2FCHANGELOG-3A-3A-7C4-2E0-2E3-7C-2040ANTS-DOC-2FLOCATIVES-3ASECTION-29"></a>
## 4.0.3 (2024-03-12)
<a id="fixed"></a>
### Fixed
* There was an error when action suceeded, but actually failed trying to load my quicklisp fix for package inferred systems.
A code to load this fix used `:HOME` as a pathname component which is not supported by some `CL` implementations. Actually,
I've already fixed this issue in 3.1.0 version, but somehow this fix was lost. Also, a handler-bind wrapper around the loader was added
and now action's tests will fail in case of any errors.
<a id="x-28PROJECT-DOCS-2FCHANGELOG-3A-3A-7C4-2E0-2E2-7C-2040ANTS-DOC-2FLOCATIVES-3ASECTION-29"></a>
## 4.0.2 (2024-02-27)
@ -38,7 +99,7 @@ When some jobs used qlfile-template argument + caching, a template application
<a id="x-28PROJECT-DOCS-2FCHANGELOG-3A-3A-7C3-2E2-2E0-7C-2040ANTS-DOC-2FLOCATIVES-3ASECTION-29"></a>
## 3.2.0 (2023-01-30)
## 3.2.0 (2024-01-30)
<a id="changed"></a>
@ -56,7 +117,7 @@ When some jobs used qlfile-template argument + caching, a template application
<a id="x-28PROJECT-DOCS-2FCHANGELOG-3A-3A-7C3-2E1-2E0-7C-2040ANTS-DOC-2FLOCATIVES-3ASECTION-29"></a>
## 3.1.0 (2023-01-27)
## 3.1.0 (2024-01-27)
<a id="changed"></a>

View file

@ -39,21 +39,21 @@ when trying to call `ros` or `qlot` scripts:
/c/Users/runneradmin/.roswell/lisp/quicklisp/bin/qlot: line 4: exec: ros: not found
Error: Process completed with exit code 127.
```
| **Implementation** | **Supported** |
| --- | --- |
| abcl-bin | ✅ |
| allegro | [❌][d984] |
| ccl-bin | ✅ |
| clasp | [❌][ecc6] |
| clasp-bin | ✅ |
| clisp | [❌][78c5] |
| clisp-head | ✅ |
| cmu-bin | ✅ |
| ecl | ✅ |
| mkcl | [❌][2801] |
| npt | [❌][7189] |
| sbcl | ✅ |
| sbcl-bin | ✅ |
| **Implementation** | **Linux** | **OSX** | **Windows** |
| --- | --- | --- | --- |
| abcl-bin | ✅ | ✅ | [❌][d780] |
| allegro | [❌][d984] | | |
| ccl-bin | ✅ | ✅ | [❌][d780] |
| clasp | [❌][ecc6] | | [❌][d780] |
| clasp-bin | ✅ | [❌][bf3c] |
| clisp | [❌][78c5] | | [❌][d780] |
| clisp-head | ✅ | [❌][5334] |
| cmu-bin | ✅ | [❌][2599] | [❌][d780] |
| ecl | ✅ | ✅ | [❌][d780] |
| mkcl | [❌][2801] | | |
| npt | [❌][7189] | | |
| sbcl | ✅ | | |
| sbcl-bin | ✅ | ✅ | ✅ |
<a id="x-28PROJECT-DOCS-3A-3A-40TYPICAL-USAGE-2040ANTS-DOC-2FLOCATIVES-3ASECTION-29"></a>
@ -250,6 +250,10 @@ If you want to contribute to this system, join development at GitHub:
[2801]: https://github.com/40ants/setup-lisp/issues/17
[7189]: https://github.com/40ants/setup-lisp/issues/18
[d984]: https://github.com/40ants/setup-lisp/issues/22
[d780]: https://github.com/40ants/setup-lisp/issues/27
[5334]: https://github.com/40ants/setup-lisp/issues/28
[bf3c]: https://github.com/40ants/setup-lisp/issues/29
[2599]: https://github.com/40ants/setup-lisp/issues/30
[e3ea]: https://github.com/fukamachi/qlot
[3dbd]: https://github.com/mmontone/djula
[795a]: https://github.com/roswell/roswell

View file

@ -8,6 +8,10 @@ inputs:
required: false
default: v23.10.14.114
dynamic-space-size:
description: 'If given, then will be used to change dynamic space size for SBCL. This value will be written to ~/.roswell/config'
required: false
asdf-system:
description: 'ASDF system to install'
required: false
@ -22,6 +26,11 @@ inputs:
required: false
default: 0.11.5
qlot-no-deps:
description: 'Make Qlot ignore asd files and their dependencies. This this might be useful in rare cases when your project contains a non-readable asd files such as templates.'
required: false
default: false
qlfile-template:
description: "Djula template for qlfile. All environment variables are available in it's context"
required: false
@ -46,6 +55,8 @@ inputs:
/usr/local/etc/roswell
/usr/local/bin/ros
/usr/local/Cellar/roswell
/opt/homebrew/bin/ros
/opt/homebrew/Cellar/roswell
qlot-cache-paths:
description: "Internal var. Don't use it."
@ -57,6 +68,11 @@ inputs:
~/.cache/common-lisp/
.qlot
cache-suffix:
description: "Internal var. Don't use it."
required: false
default: v9
runs:
using: composite
steps:
@ -206,7 +222,7 @@ runs:
uses: actions/cache/restore@v4
with:
path: ${{ inputs.roswell-cache-paths }}
key: roswell-${{ inputs.roswell-version }}-${{ steps.locals.outputs.current-month }}-${{ env.cache-name }}-${{ runner.os }}-${{ env.LISP }}
key: roswell-${{ inputs.roswell-version }}-${{ steps.locals.outputs.current-month }}-${{ env.cache-name }}-${{ runner.os }}-${{ runner.arch }}-${{ env.LISP }}-${{ inputs.cache-suffix }}
- if: inputs.cache == 'true' && steps.roswell-cache-restore.outputs.cache-hit == 'true'
name: Restore Path To Cached Files
@ -247,6 +263,11 @@ runs:
curl -L https://raw.githubusercontent.com/roswell/roswell/master/scripts/install-for-ci.sh | bash -xeo pipefail
fi
if [[ "${{ inputs.dynamic-space-size }}" != "" ]]; then
echo ::group::Changing Dynamic Space Size in Roswell Config
ros config set dynamic-space-size ${{ inputs.dynamic-space-size }}
fi
echo ::endgroup::
- if: inputs.cache == 'false' || steps.roswell-cache-restore.outputs.cache-hit != 'true'
@ -271,21 +292,7 @@ runs:
mkdir -p ~/.roswell
cat >> ~/.roswell/init.lisp <<EOF
(let ((fix-filename (make-pathname :directory '(:absolute :home ".quicklisp-client-fix")
:name "quicklisp-fix"
:type "lisp")))
(let ((quicklisp-found #+quicklisp t
#-quicklisp nil))
(cond
((not quicklisp-found)
(warn "Quicklisp is not available, skipping fix loading.~%"))
((probe-file fix-filename)
(handler-bind ((warning #'muffle-warning))
(load fix-filename)))
(t
(warn "Quicklisp fix was not found at ~S.~%" fix-filename)))))
EOF
cat $GITHUB_ACTION_PATH/load-quicklisp-fix.lisp >> ~/.roswell/init.lisp
- if: inputs.cache == 'false' || steps.roswell-cache-restore.outputs.cache-hit != 'true'
name: Upgrade ASDF to the Latest Version
@ -357,7 +364,7 @@ runs:
uses: actions/cache/restore@v4
with:
path: ${{ inputs.qlot-cache-paths }}
key: qlot-${{ steps.locals.outputs.current-month }}-${{ env.cache-name }}-${{ runner.os }}-${{ env.QUICKLISP_DIST }}-${{ env.LISP }}-${{ hashFiles('qlfile', 'qlfile.lock', '*.asd') }}
key: qlot-${{ steps.locals.outputs.current-month }}-${{ env.cache-name }}-${{ runner.os }}-${{ runner.arch }}-${{ env.QUICKLISP_DIST }}-${{ env.LISP }}-${{ hashFiles('qlfile', 'qlfile.lock', '*.asd') }}-${{ inputs.cache-suffix }}
- if: inputs.cache == 'true' && steps.qlot-cache-restore.outputs.cache-hit == 'true'
name: Restore Path To .qlot/bin
@ -370,7 +377,13 @@ runs:
shell: lispsh -eo pipefail {0}
run: |
echo ::group::Create Qlot Environment
qlot install
if [[ "${{ inputs.qlot-no-deps }}" != 'false' ]]; then
echo 'Running Qlot with --no-deps argument'
qlot install --no-deps
else
echo 'Running Qlot as usual'
qlot install
fi
echo ::endgroup::
env:
QLFILE_TEMPLATE: ${{ inputs.qlfile-template }}
@ -378,17 +391,16 @@ runs:
# This step will install system and
# all possible roswell scripts, if the system
# has them in the roswell/ subdirectory:
- if: inputs.cache == 'false' || steps.qlot-cache-restore.outputs.cache-hit != 'true'
- if: inputs.asdf-system && (inputs.cache == 'false' || steps.qlot-cache-restore.outputs.cache-hit != 'true')
name: Install ASDF System
shell: lispsh -eo pipefail {0}
# Here we'll need to set CL_SOURCE_REGISTRY
# when will switch to a new qlot:
run: |
echo ::group::Install ASDF System
if [[ -n "${{ inputs.asdf-system }}" ]]; then
qlot exec ros install ${{ inputs.asdf-system }}
else
echo "ASDF system wasn't provided."
fi
qlot exec ros install ${{ inputs.asdf-system }}
echo ::endgroup::
- if: inputs.cache == 'true' && steps.qlot-cache-restore.outputs.cache-hit != 'true'

View file

@ -7,7 +7,46 @@
(defchangelog (:ignore-words ("ASDF"
"PATH"
"CL"
"SBCL"
"HOME"))
(4.2.1 2024-12-15
"Fixed the way how we set dynamic-space-size.")
(4.2.0 2024-12-14
"Input variable `dynamic-space-size` was added. It can be used to default set memory size for SBCL.")
(4.1.0 2024-05-17
"
# Added
* Input argument qlot-no-deps was added.
Make Qlot ignore asd files and their dependencies.
This this might be useful in rare cases when your project contains a non-readable asd files such as templates.")
(4.0.5 2024-04-19
"
# Fixed
* Extended test matrix with macos-14 runner.
* Fixed Roswell cache paths for macos-14 runner.
* Extended qlot cache key with runner architecture.
")
(4.0.4 2024-04-18
"
# Fixed
* Cache key was extended with runner architecture. Thanks for the contribution to Ákos Kiss!
")
(4.0.3 2024-03-12
"
# Fixed
* There was an error when action suceeded, but actually failed trying to load my quicklisp fix for package inferred systems.
A code to load this fix used :HOME as a pathname component which is not supported by some CL implementations. Actually,
I've already fixed this issue in 3.1.0 version, but somehow this fix was lost. Also, a handler-bind wrapper around the loader was added
and now action's tests will fail in case of any errors.
")
(4.0.2 2024-02-27
"
# Fixed
@ -31,7 +70,7 @@
* A new input variable `cache` was added to control caching beheviour. It is `true` by default, but you can switch it to `false` to turn caching off.
")
(3.2.0 2023-01-30
(3.2.0 2024-01-30
"
# Changed
@ -44,7 +83,7 @@
* Fixed running of test.ros script under Windows.
")
(3.1.0 2023-01-27
(3.1.0 2024-01-27
"
# Changed

View file

@ -89,22 +89,21 @@ when trying to call `ros` or `qlot` scripts:
Error: Process completed with exit code 127.
```
| **Implementation** | **Supported** |
|--------------------|------------------------------------------------------|
| abcl-bin | |
| allegro | [](https://github.com/40ants/setup-lisp/issues/22) |
| ccl-bin | |
| clasp | [](https://github.com/40ants/setup-lisp/issues/16) |
| clasp-bin | |
| clisp | [](https://github.com/40ants/setup-lisp/issues/15) |
| clisp-head | |
| cmu-bin | |
| ecl | |
| mkcl | [](https://github.com/40ants/setup-lisp/issues/17) |
| npt | [](https://github.com/40ants/setup-lisp/issues/18) |
| sbcl | |
| sbcl-bin | |
| **Implementation** | **Linux** | **OSX** | **Windows** |
|--------------------|------------------------------------------------------|---------|--------------|
| abcl-bin | | ✅ | [](https://github.com/40ants/setup-lisp/issues/27) |
| allegro | [](https://github.com/40ants/setup-lisp/issues/22) | | |
| ccl-bin | | ✅ | [](https://github.com/40ants/setup-lisp/issues/27) |
| clasp | [](https://github.com/40ants/setup-lisp/issues/16) | | [](https://github.com/40ants/setup-lisp/issues/27) |
| clasp-bin | | [❌](https://github.com/40ants/setup-lisp/issues/29) |
| clisp | [](https://github.com/40ants/setup-lisp/issues/15) | | [](https://github.com/40ants/setup-lisp/issues/27) |
| clisp-head | | [❌](https://github.com/40ants/setup-lisp/issues/28) |
| cmu-bin | | [❌](https://github.com/40ants/setup-lisp/issues/30) | [](https://github.com/40ants/setup-lisp/issues/27) |
| ecl | | ✅ | [](https://github.com/40ants/setup-lisp/issues/27) |
| mkcl | [](https://github.com/40ants/setup-lisp/issues/17) | | |
| npt | [](https://github.com/40ants/setup-lisp/issues/18) | | |
| sbcl | | | |
| sbcl-bin | | ✅ | |
")

19
load-quicklisp-fix.lisp Normal file
View file

@ -0,0 +1,19 @@
(handler-bind ((serious-condition
(lambda (condition)
(uiop:print-condition-backtrace condition)
(uiop:quit 1))))
(let ((fix-filename (merge-pathnames
(make-pathname :directory '(:relative ".quicklisp-client-fix")
:name "quicklisp-fix"
:type "lisp")
(user-homedir-pathname))))
(let ((quicklisp-found #+quicklisp t
#-quicklisp nil))
(cond
((not quicklisp-found)
(warn "Quicklisp is not available, skipping fix loading.~%"))
((probe-file fix-filename)
(handler-bind ((warning #'muffle-warning))
(load fix-filename)))
(t
(warn "Quicklisp fix was not found at ~S.~%" fix-filename))))))

View file

@ -1,11 +1,11 @@
("quicklisp" .
(:class qlot/source/dist:source-dist
:initargs (:distribution "http://beta.quicklisp.org/dist/quicklisp.txt" :%version :latest)
:version "2023-10-21"))
:initargs (:distribution "https://beta.quicklisp.org/dist/quicklisp.txt" :%version :latest)
:version "2024-10-12"))
("ultralisp" .
(:class qlot/source/dist:source-dist
:initargs (:distribution "http://dist.ultralisp.org" :%version :latest)
:version "20240127152000"))
:initargs (:distribution "https://dist.ultralisp.org" :%version :latest)
:version "20241214090000"))
("sly" .
(:class qlot/source/github:source-github
:initargs (:repos "svetlyak40wt/sly" :ref nil :branch "patches" :tag nil)