mirror of
https://github.com/roswell/roswell.git
synced 2026-09-10 07:16:17 -04:00
Compare commits
115 commits
v21.10.14.
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
28e6455a3a | ||
|
|
0ed46fb92a | ||
|
|
267ff72edc | ||
|
|
05a2c2fa3b | ||
|
|
6c010f97d0 | ||
|
|
aa261f4e46 | ||
|
|
ac187eadaa | ||
|
|
c7170d4cb7 | ||
|
|
9709c0db0f | ||
|
|
d6d4a761f1 | ||
|
|
d6b5e2ad0e | ||
|
|
f10677c8e9 | ||
|
|
d0b368951c | ||
|
|
05c290ce48 | ||
|
|
aac28aaedd | ||
|
|
2a04f0314c | ||
|
|
b897695f19 | ||
|
|
bb4af5fc0e | ||
|
|
b31ff3aeb7 | ||
|
|
b2ecbe902e | ||
|
|
a776a353dd | ||
|
|
b16e0e7391 | ||
|
|
bae37247f1 | ||
|
|
e6ccbc4430 | ||
|
|
feb5647990 | ||
|
|
029e979374 | ||
|
|
82f902bf43 | ||
|
|
e2da0bf7bc | ||
|
|
b2286cf4f3 | ||
|
|
8c8da03e77 | ||
|
|
7d4262e76f | ||
|
|
7ff8d0fb09 | ||
|
|
7b08fc7204 | ||
|
|
46b1ff35ac | ||
|
|
266dc81908 | ||
|
|
77c175103f | ||
|
|
1bd85255b4 | ||
|
|
0dc9b1150d | ||
|
|
b3e12e0133 | ||
|
|
8fc5809743 | ||
|
|
70f379a58c | ||
|
|
ddf356ab38 | ||
|
|
dbb6e5894e | ||
|
|
beb2bad2fd | ||
|
|
412566b8a5 | ||
|
|
f2127bb813 | ||
|
|
776835811a | ||
|
|
8d5471eba1 | ||
|
|
de01eec94f | ||
|
|
1ef739bd3e | ||
|
|
da2a76e50c | ||
|
|
daebc205f9 | ||
|
|
730cfe3f94 | ||
|
|
3f8dccc11c | ||
|
|
6d74fbdeb9 | ||
|
|
9b212cda7c | ||
|
|
06233e5218 | ||
|
|
c0a347fdf2 | ||
|
|
4c17a2b653 | ||
|
|
0498baf088 | ||
|
|
0e7a2f1b6d | ||
|
|
0807dbd547 | ||
|
|
5b267381a6 | ||
|
|
08ca16dcc3 | ||
|
|
bf91af67cc | ||
|
|
ab3017dcc6 | ||
|
|
6158d1cca7 | ||
|
|
a844895c67 | ||
|
|
b6d1eb1fd8 | ||
|
|
06e5dc6be2 | ||
|
|
ec4c9b39ca | ||
|
|
afe3e39d86 | ||
|
|
53ec6fb392 | ||
|
|
5c0b3913c9 | ||
|
|
4eec08cca7 | ||
|
|
76848fa7dc | ||
|
|
1381da6ad8 | ||
|
|
638608236c | ||
|
|
16e2aa2300 | ||
|
|
74bb83a467 | ||
|
|
db9b518f1a | ||
|
|
bdc4a133ce | ||
|
|
6bb93dd033 | ||
|
|
209a51377e | ||
|
|
f9bbd2e1e7 | ||
|
|
c6a91b91a6 | ||
|
|
c9c89cebcb | ||
|
|
b516ad6972 | ||
|
|
04b495d76b | ||
|
|
adea613bd8 | ||
|
|
13273ad139 | ||
|
|
dae5e63c7b | ||
|
|
921d445cff | ||
|
|
ab78f9deef | ||
|
|
73b5b2a460 | ||
|
|
1c8e46de17 | ||
|
|
22a9e923ed | ||
|
|
6bf76f29e7 | ||
|
|
3a57a6d44c | ||
|
|
7c259e8d11 | ||
|
|
a53fcb77e3 | ||
|
|
c6f86eb82f | ||
|
|
0068b922a3 | ||
|
|
7a06d277dc | ||
|
|
883f264ac8 | ||
|
|
89df2966d0 | ||
|
|
9b9c9a373b | ||
|
|
1ea7273ab9 | ||
|
|
870041371f | ||
|
|
f9580b4ce6 | ||
|
|
293b545398 | ||
|
|
fe4c321b6c | ||
|
|
8fc2c35ac4 | ||
|
|
829658c0fa | ||
|
|
043cb7db80 |
69
.github/workflows/build.yml
vendored
69
.github/workflows/build.yml
vendored
|
|
@ -1,69 +0,0 @@
|
|||
name: CI
|
||||
|
||||
on:
|
||||
push:
|
||||
#pull_request:
|
||||
#schedule:
|
||||
# - cron: '0 */2 * * *'
|
||||
|
||||
jobs:
|
||||
build-windows:
|
||||
runs-on: windows-latest
|
||||
timeout-minutes: 90
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
arch: [x86_64, i686]
|
||||
include:
|
||||
- arch: x86_64
|
||||
arch2: amd64
|
||||
bit: 64
|
||||
- arch: i686
|
||||
arch2: i686
|
||||
bit: 32
|
||||
env:
|
||||
RESULT_NAME: windows-${{ matrix.arch2 }}
|
||||
RESULT_PATH: windows-${{ matrix.arch2 }}
|
||||
RESULT_PATH_SUB: roswell
|
||||
steps:
|
||||
- run: git config --global core.autocrlf false
|
||||
- uses: actions/checkout@v2
|
||||
- uses: msys2/setup-msys2@v2
|
||||
with:
|
||||
msystem: MINGW${{ matrix.bit }}
|
||||
path-type: inherit
|
||||
release: true
|
||||
update: true
|
||||
install: 'base-devel mingw-w64-${{ matrix.arch }}-toolchain'
|
||||
- name: Run MSYS2 once
|
||||
shell: msys2 {0}
|
||||
run: |
|
||||
pwd
|
||||
echo $MSYSTEM
|
||||
echo $MSYS2_PATH_TYPE
|
||||
echo $PATH
|
||||
- name: Build
|
||||
shell: msys2 {0}
|
||||
run: |
|
||||
gcc -v
|
||||
./bootstrap
|
||||
./configure
|
||||
make
|
||||
make install
|
||||
make winrelease
|
||||
- name: Copy result
|
||||
if: always()
|
||||
shell: msys2 {0}
|
||||
run: |
|
||||
mkdir -p $RESULT_PATH
|
||||
cp *.zip $RESULT_PATH/tmp.zip
|
||||
cd $RESULT_PATH
|
||||
7z x tmp.zip
|
||||
rm tmp.zip
|
||||
- name: Upload Result
|
||||
if: always()
|
||||
uses: actions/upload-artifact@v1
|
||||
with:
|
||||
name: ${{ env.RESULT_NAME }}
|
||||
path: ${{ env.RESULT_PATH }}
|
||||
|
||||
60
.github/workflows/linux.yml
vendored
60
.github/workflows/linux.yml
vendored
|
|
@ -1,4 +1,4 @@
|
|||
name: linux
|
||||
name: Linux
|
||||
|
||||
on:
|
||||
push:
|
||||
|
|
@ -6,51 +6,58 @@ on:
|
|||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-18.04
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
image: [musl64]
|
||||
variant: ['', '-musl', '-glibc2.31']
|
||||
target: ['x86_64', 'arm64', 'riscv64']
|
||||
include:
|
||||
- lisp: sbcl-bin/2.0.0
|
||||
target: x86-64
|
||||
image: musl64
|
||||
makeopts: musl
|
||||
- lisp: sbcl-bin/2.0.0
|
||||
target: x86-64
|
||||
image: musl64
|
||||
makeopts: musl
|
||||
variant: -musl
|
||||
- lisp: sbcl-bin/2.0.0
|
||||
target: x86-64
|
||||
image: deb
|
||||
makeopts: deb
|
||||
- lisp: sbcl-bin/2.0.0
|
||||
target: x86-64
|
||||
image: pandoc
|
||||
makeopts: docs
|
||||
# set default docker platform and image suffix.
|
||||
- {docker-platform: linux/amd64 ,docker-image-suffix: '', makeopts: musl }
|
||||
- {target: arm64 ,docker-platform: linux/arm64 ,docker-image-suffix: 'aarch64' }
|
||||
- {target: riscv64 ,docker-platform: linux/riscv64 ,docker-image-suffix: 'riscv64' }
|
||||
- {image: deb, makeopts: deb, target: x86-64 ,docker-platform: linux/amd64}
|
||||
- {image: pandoc, makeopts: docs, target: x86-64 ,docker-platform: linux/amd64}
|
||||
|
||||
environment: SET_VERSION
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
|
||||
- uses: actions/checkout@v4
|
||||
- name: Set up QEMU
|
||||
uses: docker/setup-qemu-action@v3
|
||||
with:
|
||||
image: tonistiigi/binfmt:qemu-v8.1.5
|
||||
- name: setenv
|
||||
run: |
|
||||
echo "$HOME/.roswell/bin" >> $GITHUB_PATH
|
||||
echo "ROSWELL_BRANCH=release" >> $GITHUB_ENV
|
||||
- name: checkenv
|
||||
run: |
|
||||
uname -s
|
||||
uname -m
|
||||
uname -s -m
|
||||
- name: Install Roswell
|
||||
env:
|
||||
LISP: ${{ matrix.lisp }}
|
||||
LISP: sbcl-bin/2.4.0
|
||||
GITHUB_OAUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
IMAGE: ${{ matrix.image }}
|
||||
run: |
|
||||
sh scripts/install-for-ci.sh
|
||||
ros install snmsts/sn.github
|
||||
- name: Login to GitHub Container Registry
|
||||
uses: docker/login-action@v3
|
||||
with:
|
||||
registry: docker.pkg.github.com
|
||||
username: ${{ github.actor }}
|
||||
password: ${{ secrets.GITHUB_TOKEN }}
|
||||
- name: pull or build&push docker image
|
||||
env:
|
||||
DOCKER_PLATFORM: ${{ matrix.docker-platform }}
|
||||
DOCKER_BUILD_OPTIONS: ${{ matrix.docker-build-options }}
|
||||
DOCKER_IMAGE_SUFFIX: ${{ matrix.docker-image-suffix }}
|
||||
IMAGE: ${{ matrix.image }}
|
||||
run: |
|
||||
if [ -n "$IMAGE" ]; then
|
||||
docker login docker.pkg.github.com -u snmsts -p $GITHUB_OAUTH_TOKEN;
|
||||
make -f scripts/Makefile pull-docker || make -f scripts/Makefile build-docker push-docker
|
||||
fi
|
||||
- name: build
|
||||
|
|
@ -60,6 +67,9 @@ jobs:
|
|||
DOCKER: ${{ matrix.docker }}
|
||||
SUFFIX: ${{ matrix.suffix }}
|
||||
LINKFLAGS: ${{ matrix.linkflags }}
|
||||
DOCKER_PLATFORM: ${{ matrix.docker-platform }}
|
||||
DOCKER_BUILD_OPTIONS: ${{ matrix.docker-build-options }}
|
||||
DOCKER_IMAGE_SUFFIX: ${{ matrix.docker-image-suffix }}
|
||||
IMAGE: ${{ matrix.image }}
|
||||
MAKEOPTS: ${{ matrix.makeopts }}
|
||||
VARIANT: ${{ matrix.variant }}
|
||||
|
|
|
|||
23
.github/workflows/osx.yml
vendored
23
.github/workflows/osx.yml
vendored
|
|
@ -6,25 +6,34 @@ on:
|
|||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: macos-10.15
|
||||
runs-on: ${{ matrix.target == 'arm64' && 'macos-14' || 'macos-15-intel' }}
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
lisp: [sbcl-bin/2.0.0]
|
||||
target: [x86-64]
|
||||
lisp: [sbcl-bin/2.3.8]
|
||||
target: [arm64, x86-64]
|
||||
environment: SET_VERSION
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/checkout@v4
|
||||
- name: setenv
|
||||
run: |
|
||||
echo "$HOME/.roswell/bin" >> $GITHUB_PATH
|
||||
echo "ROSWELL_INSTALL_DIR=$HOME/.roswell" >> $GITHUB_ENV
|
||||
- name: checkenv
|
||||
run: |
|
||||
uname -s
|
||||
uname -m
|
||||
uname -s -m
|
||||
brew install autoconf automake
|
||||
- name: Build
|
||||
env:
|
||||
CFLAGS: -mmacosx-version-min=10.9
|
||||
CXXFLAGS: -mmacosx-version-min=10.9
|
||||
LDFLAGS: -mmacosx-version-min=10.9
|
||||
ARCH: ${{ matrix.target }}
|
||||
run: |
|
||||
gcc -v
|
||||
./bootstrap
|
||||
./configure
|
||||
./configure --prefix=$ROSWELL_INSTALL_DIR
|
||||
make
|
||||
make install
|
||||
make pack
|
||||
|
|
|
|||
28
.github/workflows/test.yml
vendored
28
.github/workflows/test.yml
vendored
|
|
@ -1,7 +1,8 @@
|
|||
name: test
|
||||
|
||||
on:
|
||||
push:
|
||||
schedule:
|
||||
- cron: '0 1 * * *'
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
|
|
@ -12,7 +13,7 @@ jobs:
|
|||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
os: [macos-10.15, ubuntu-18.04]
|
||||
os: [macos-latest, ubuntu-latest]
|
||||
lisp:
|
||||
- alisp
|
||||
- cmu-bin/2019-06
|
||||
|
|
@ -20,27 +21,34 @@ jobs:
|
|||
- ecl
|
||||
- clisp
|
||||
- ccl-bin
|
||||
- sbcl/1.4.0
|
||||
- sbcl/2.4.0
|
||||
- ccl32
|
||||
experimental: [false]
|
||||
exclude:
|
||||
- lisp: ccl-bin
|
||||
os: macos-latest
|
||||
- lisp: ccl32
|
||||
os: macos-latest
|
||||
- lisp: cmu-bin/2019-06
|
||||
os: macos-latest
|
||||
include:
|
||||
- lisp: mkcl
|
||||
os: macos-10.15
|
||||
os: macos-latest
|
||||
experimental: true
|
||||
- lisp: mkcl
|
||||
os: ubuntu-18.04
|
||||
os: ubuntu-latest
|
||||
experimental: true
|
||||
- lisp: sbcl/git
|
||||
os: macos-10.15
|
||||
os: macos-latest
|
||||
experimental: true
|
||||
- lisp: sbcl/git
|
||||
os: ubuntu-18.04
|
||||
os: ubuntu-latest
|
||||
experimental: true
|
||||
- lisp: abcl
|
||||
os: macos-10.15
|
||||
os: macos-latest
|
||||
experimental: true
|
||||
- lisp: abcl
|
||||
os: ubuntu-18.04
|
||||
os: ubuntu-latest
|
||||
experimental: true
|
||||
|
||||
env:
|
||||
|
|
@ -63,5 +71,5 @@ jobs:
|
|||
ros version=t run
|
||||
ros install prove
|
||||
run-prove roswell-test.asd 2>&1
|
||||
ros -q run && [`ros -q run 2>&1` == ""]
|
||||
ros -q run && [ "$(ros -q run 2>&1)" = "" ]
|
||||
ros config
|
||||
|
|
|
|||
55
.github/workflows/windows.yml
vendored
55
.github/workflows/windows.yml
vendored
|
|
@ -35,7 +35,12 @@ jobs:
|
|||
path-type: inherit
|
||||
release: true
|
||||
update: true
|
||||
install: 'base-devel mingw-w64-${{ matrix.arch }}-toolchain p7zip'
|
||||
install: >-
|
||||
base-devel
|
||||
p7zip
|
||||
autotools
|
||||
mingw-w64-${{ matrix.arch }}-toolchain
|
||||
mingw-w64-${{ matrix.arch }}-autotools
|
||||
- name: Run MSYS2 once
|
||||
shell: msys2 {0}
|
||||
run: |
|
||||
|
|
@ -58,3 +63,51 @@ jobs:
|
|||
shell: msys2 {0}
|
||||
run: |
|
||||
make -f scripts/Makefile latest-version win-upload
|
||||
|
||||
build-windows-arm64:
|
||||
runs-on: windows-11-arm
|
||||
timeout-minutes: 90
|
||||
env:
|
||||
RESULT_NAME: windows-aarch64
|
||||
RESULT_PATH: windows-aarch64
|
||||
RESULT_PATH_SUB: roswell
|
||||
|
||||
environment: SET_VERSION
|
||||
|
||||
steps:
|
||||
- run: git config --global core.autocrlf false
|
||||
- uses: actions/checkout@v2
|
||||
- uses: msys2/setup-msys2@v2
|
||||
with:
|
||||
msystem: CLANGARM64
|
||||
path-type: inherit
|
||||
release: true
|
||||
update: true
|
||||
install: >-
|
||||
base-devel
|
||||
p7zip
|
||||
autotools
|
||||
mingw-w64-clang-aarch64-toolchain
|
||||
mingw-w64-clang-aarch64-autotools
|
||||
- name: Run MSYS2 once
|
||||
shell: msys2 {0}
|
||||
run: |
|
||||
pwd
|
||||
echo $MSYSTEM
|
||||
echo $MSYSTEM_CARCH
|
||||
echo $PATH
|
||||
- name: Build
|
||||
shell: msys2 {0}
|
||||
run: |
|
||||
clang -v
|
||||
./bootstrap
|
||||
CC=clang ./configure
|
||||
make
|
||||
make install
|
||||
make pack.zip
|
||||
- name: Upload
|
||||
env:
|
||||
GITHUB_OAUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
shell: msys2 {0}
|
||||
run: |
|
||||
make -f scripts/Makefile latest-version win-upload
|
||||
|
|
|
|||
2
COPYING
2
COPYING
|
|
@ -1,4 +1,4 @@
|
|||
Copyright (c) 2014-2021 SANO Masatoshi
|
||||
Copyright (c) 2014-2022 SANO Masatoshi
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
|
|
|
|||
46
ChangeLog
46
ChangeLog
|
|
@ -1,3 +1,49 @@
|
|||
roswell (26.02.116-1) unstable; urgency=low
|
||||
|
||||
* Fix: failure to load djula on sbcl 2.5.11 environment.
|
||||
* Fix: declaration-definition disagreement in src/cmd-run.h. (reported by ItsMeForLua and fixed by Trichiurus-lepturus)
|
||||
* Fix: support sbcl lisp-implementation-version returning '2.4.10.roswell'.
|
||||
* Change: Allegro CL upgraded to release 11.0express. (by Xiaming Chen)
|
||||
* Change: ros command return 1 when script file not found.
|
||||
* Change: ros fmt rewritten to use cl-indentify.
|
||||
|
||||
-- SANO,Masatoshi <snmsts@gmail.com> Tue, 24 Feb 2026 06:39:51 +0900
|
||||
|
||||
roswell (24.10.115-1) unstable; urgency=low
|
||||
|
||||
* New: tested on darwin/ppc environment.
|
||||
* New: tested on netbsd/aarch64 environment.
|
||||
* Fix: absolute path error on Windows (by Ashton Fagg)
|
||||
* Fix: build error on non Windows environment with windres (reported by Richard DW Redcroft)
|
||||
* Fix: error message in build (by Rongsong Shen)
|
||||
|
||||
-- snmsts <snmsts@gmail.com> Wed, 16 Oct 2024 15:06:42 +0900
|
||||
|
||||
roswell (23.10.14.114-1) unstable; urgency=low
|
||||
|
||||
* New: use patchelf to support for distributions like guix/nix.
|
||||
* Fix: 'ros.installing' feature not work. (reported by Fukamachi)
|
||||
* Fix: fix windows build script (by Jeongsoo, Park)
|
||||
* Fix: ros fmt (by Daniel Jay Haskin)
|
||||
|
||||
-- SANO Masatoshi <snmsts@gmail.com> Tue, 03 Oct 2023 12:57:11 +0000
|
||||
|
||||
roswell (22.12.14.113-1) unstable; urgency=low
|
||||
|
||||
* Fix: release CI for debian package.
|
||||
|
||||
-- SANO Masatoshi <snmsts@gmail.com> Sat, 10 Dec 2022 23:14:05 +0800
|
||||
|
||||
roswell (22.12.14.112-1) unstable; urgency=low
|
||||
|
||||
* New: Support cab extract on windows.
|
||||
* New: `ros template path template-name files` to show native for template file.
|
||||
* Fix: crush when download file smaller than 74bytes.
|
||||
* Fix: `dynamic-space-size` parameter accepted by `ros build`.
|
||||
* Fix: install old implementation when new quicklisp dist used. (reported by Alexander Artemenko)
|
||||
|
||||
-- SANO Masatoshi <snmsts@gmail.com> Tue, 06 Dec 2022 21:59:43 +0900
|
||||
|
||||
roswell (21.10.14.111-1) unstable; urgency=low
|
||||
|
||||
* New: 'ros client' to send oneshot message to lisp server. only support swank for now.
|
||||
|
|
|
|||
83
Makefile.am
83
Makefile.am
|
|
@ -13,6 +13,38 @@ if MANUAL_GENERATE
|
|||
SUBDIRS += documents
|
||||
endif
|
||||
|
||||
ROSS = balus.ros \
|
||||
build.ros \
|
||||
checkout.ros \
|
||||
client.ros \
|
||||
config.ros \
|
||||
compile-file.ros \
|
||||
ecl-config.ros \
|
||||
emacs.ros \
|
||||
exec.ros \
|
||||
dist.ros \
|
||||
fmt.ros \
|
||||
get.ros \
|
||||
git.ros \
|
||||
hg.ros \
|
||||
run.ros \
|
||||
setup.ros \
|
||||
shell.ros \
|
||||
version.ros \
|
||||
wait.ros \
|
||||
delete.ros \
|
||||
dump.ros \
|
||||
help.ros \
|
||||
init.ros \
|
||||
install.ros \
|
||||
serve.ros \
|
||||
update.ros \
|
||||
list.ros \
|
||||
make-depends.ros \
|
||||
template.ros \
|
||||
use.ros \
|
||||
which.ros
|
||||
|
||||
LISPS = helper.el \
|
||||
init.lisp \
|
||||
util.lisp util-main.lisp \
|
||||
|
|
@ -23,52 +55,30 @@ LISPS = helper.el \
|
|||
extend-quicklisp-system.lisp \
|
||||
system.lisp \
|
||||
\
|
||||
balus.ros \
|
||||
build.ros \
|
||||
build-ros.lisp build-asd.lisp \
|
||||
\
|
||||
checkout.ros \
|
||||
client.ros client-swank.lisp \
|
||||
config.ros \
|
||||
compile-file.ros \
|
||||
client-swank.lisp \
|
||||
util-config.lisp \
|
||||
ecl-config.ros \
|
||||
emacs.ros \
|
||||
exec.ros \
|
||||
dist.ros \
|
||||
dist-list.lisp dist-clean.lisp dist-enable.lisp dist-disable.lisp dist-add.lisp \
|
||||
dist-delete.lisp dist-use.lisp dist-versions.lisp dist-preference.lisp dist-default.lisp \
|
||||
fmt.ros \
|
||||
get.ros \
|
||||
git.ros \
|
||||
hg.ros \
|
||||
run.ros \
|
||||
setup.ros \
|
||||
shell.ros \
|
||||
version.ros \
|
||||
wait.ros \
|
||||
\
|
||||
delete.ros \
|
||||
delete-default.lisp delete-dump.lisp delete-git.lisp delete-asdf.lisp \
|
||||
delete-env.lisp \
|
||||
\
|
||||
dump.ros \
|
||||
util-dump.lisp \
|
||||
dump-ccl.lisp dump-clisp.lisp \
|
||||
dump-cmucl.lisp dump-ecl.lisp dump-sbcl.lisp \
|
||||
\
|
||||
help.ros \
|
||||
help-install.lisp help-options.lisp help-run.lisp \
|
||||
\
|
||||
init.ros \
|
||||
init-default.lisp init-env.lisp init-dist.lisp \
|
||||
\
|
||||
install.ros \
|
||||
util-install.lisp util-install-quicklisp.lisp \
|
||||
install+7zip.lisp install-abcl-bin.lisp install-allegro.lisp \
|
||||
install-ccl-bin.lisp install-clasp-bin.lisp install-clasp.lisp \
|
||||
install-clisp.lisp install-clisp-head.lisp \
|
||||
install-cmu-bin.lisp install-ecl.lisp install-quicklisp.lisp \
|
||||
install-cmu-bin.lisp install-dotcl-bin.lisp install-ecl.lisp \
|
||||
install-quicklisp.lisp \
|
||||
install-sbcl-bin.lisp install-sbcl.lisp install-sbcl-source.lisp \
|
||||
install-sbcl-head.lisp \
|
||||
install-slime.lisp install-sly.lisp \
|
||||
|
|
@ -77,26 +87,20 @@ LISPS = helper.el \
|
|||
install+externals-clasp.lisp install+ffcall.lisp \
|
||||
install+msys2.lisp install+sigsegv.lisp install-asdf.lisp \
|
||||
\
|
||||
serve.ros \
|
||||
serve-default.lisp serve-swank.lisp \
|
||||
update.ros \
|
||||
update-git.lisp update-hg.lisp update-quicklisp.lisp update-default.lisp \
|
||||
\
|
||||
list.ros \
|
||||
list-default.lisp \
|
||||
list-dump.lisp list-git.lisp list-installed.lisp list-versions.lisp \
|
||||
list-asdf.lisp list-env.lisp \
|
||||
\
|
||||
make-depends.ros \
|
||||
template.ros \
|
||||
util-template.lisp \
|
||||
\
|
||||
use.ros \
|
||||
util-use.lisp \
|
||||
use-asdf.lisp use-env.lisp \
|
||||
\
|
||||
which.ros
|
||||
use-asdf.lisp use-env.lisp
|
||||
|
||||
dist_roslisp_DATA = $(LISPS:%=lisp/%)
|
||||
dist_roslisp_SCRIPTS = $(ROSS:%=lisp/%)
|
||||
|
||||
dist_roslisppatch_DATA = patch/sbcl-1.3.11.patch patch/sbcl-posix-tests.patch
|
||||
|
||||
|
|
@ -104,7 +108,7 @@ dist_roslisppatch_DATA = patch/sbcl-1.3.11.patch patch/sbcl-posix-tests.patch
|
|||
release-prepare:
|
||||
ros scripts/release.ros prepare
|
||||
release-commit:
|
||||
ros scripts/release.ros release
|
||||
ros scripts/release.ros release-commit
|
||||
release-push:
|
||||
ros scripts/release.ros release-push
|
||||
release-changelog:
|
||||
|
|
@ -119,7 +123,7 @@ winrelease: roswell/Makefile
|
|||
cp lisp/*.lisp lisp/*.ros lisp/*.el roswell/lisp
|
||||
cd documents;MSYSTEM=MINGW64 make roswell.chm
|
||||
cp documents/roswell.chm roswell/documents
|
||||
7z a Roswell-`if [ $$MSYSTEM = 'MINGW64' ];then echo x86_64 ;else echo i686; fi`.zip roswell/ros.exe roswell/lisp/*.* roswell/documents/roswell.chm
|
||||
7z a Roswell-`if [ "$$MSYSTEM" = "MINGW64" ];then echo x86_64 ;elif [ "$$MSYSTEM" = "CLANGARM64" ];then echo aarch64; else echo i686; fi`.zip roswell/ros.exe roswell/lisp/*.* roswell/documents/roswell.chm
|
||||
debian:
|
||||
ros debian/debian.ros all
|
||||
test:
|
||||
|
|
@ -128,7 +132,7 @@ brewpr:
|
|||
git pull
|
||||
if [ `uname` = 'Darwin' ];then brew bump-formula-pr -v --url=https://github.com/roswell/roswell/archive/`git describe --abbrev=0 --tags`.tar.gz roswell; fi
|
||||
|
||||
PACK = $(PACKAGE)-$(VERSION)-$(shell uname -s | tr '[A-Z]' '[a-z]' | sed -E 's/([^-]*).*/\1/')-$(shell uname -m)$(SBCL_BIN_VARIANT)
|
||||
PACK = $(PACKAGE)-$(VERSION)-$(shell uname -s | tr '[A-Z]' '[a-z]' | sed -E 's/([^-]*).*/\1/')-$(ARCH)$(SBCL_BIN_VARIANT)
|
||||
|
||||
roswell/Makefile:
|
||||
rm -rf roswell
|
||||
|
|
@ -141,7 +145,7 @@ roswell/Makefile:
|
|||
echo " mkdir -p $$""(prefix)/etc/roswell/patch" >> $@
|
||||
echo " mkdir -p $$""(mandir)" >> $@
|
||||
echo " install -c ros$(EXEEXT) $$""(prefix)/bin" >> $@
|
||||
echo " install -c -m 644 $(LISPS:%=lisp/%) $$""(prefix)/etc/roswell" >> $@
|
||||
echo " install -c -m 644 $(ROSS:%=lisp/%) $(LISPS:%=lisp/%) $$""(prefix)/etc/roswell" >> $@
|
||||
echo " install -c -m 644 $(dist_roslisppatch_DATA) $$""(prefix)/etc/roswell/patch" >> $@
|
||||
if [ 'x$(MDS)' != 'x' ]; then \
|
||||
echo " install -c $(MDS:%.md=man/%.1) $$""(mandir)" >> $@; \
|
||||
|
|
@ -158,6 +162,7 @@ $(PACK).tar.bz2: roswell/Makefile
|
|||
cp src/ros$(EXEEXT) roswell
|
||||
$(MKDIR_P) roswell/lisp
|
||||
cp $(LISPS:%=lisp/%) roswell/lisp
|
||||
cp $(ROSS:%=lisp/%) roswell/lisp
|
||||
cp $(dist_roslisppatch_DATA) roswell/patch
|
||||
if [ 'x$(MDS)' != x ]; then \
|
||||
$(MKDIR_P) roswell/man; \
|
||||
|
|
@ -167,7 +172,7 @@ $(PACK).tar.bz2: roswell/Makefile
|
|||
|
||||
pack: $(PACK).tar.bz2
|
||||
|
||||
WINPACK = roswell_$(VERSION)_$(shell if [ $$MSYSTEM = 'MINGW64' ];then echo amd64 ;else echo i686; fi)
|
||||
WINPACK = roswell_$(VERSION)_$(shell if [ "$$MSYSTEM" = "MINGW64" ];then echo amd64 ;elif [ "$$MSYSTEM" = "CLANGARM64" ];then echo aarch64; else echo i686; fi)
|
||||
|
||||
pack.zip: $(PACK).tar.bz2
|
||||
7z a $(WINPACK).zip roswell
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@ Roswell started out as a command-line tool with the aim to make installing and m
|
|||
Roswell has now evolved into a full-stack environment for Common Lisp development, and has many features that makes it easy to test, share, and distribute your Lisp applications.
|
||||
With Roswell, we aim to push the Common Lisp community to a whole new level of productivity.
|
||||
|
||||
Roswell is still in beta. Despite this, the basic interfaces are stable and not likely to change. Roswell currently works well on Unix-like platforms such as Linux, Mac OS X and FreeBSD.
|
||||
Roswell is still in beta. Despite this, the basic interfaces are stable and not likely to change. Roswell currently works well on Unix-like platforms such as Linux, macOS and FreeBSD.
|
||||
Roswell also works on other operating systems, but currently some parts or features might be missing or unstable.
|
||||
|
||||
Checkout [issues list](https://github.com/roswell/roswell/issues) if you are interested in what's lacking.
|
||||
|
|
@ -18,10 +18,10 @@ Checkout [issues list](https://github.com/roswell/roswell/issues) if you are int
|
|||
## Installation, Dependency & Usage
|
||||
|
||||
See our [github wiki](https://github.com/roswell/roswell/wiki).
|
||||
We provide prebuilt binaries for homebrew on OSX, AUR on Arch and **also on Windows**.
|
||||
* [Linux (arch)](https://github.com/roswell/roswell/wiki/Installation#linux)
|
||||
We provide prebuilt binaries for homebrew on macOS, various Linux distributions and **also on Windows**.
|
||||
* [Linux](https://github.com/roswell/roswell/wiki/Installation#linux)
|
||||
* [FreeBSD](https://github.com/roswell/roswell/wiki/Installation#freebsd)
|
||||
* [Mac OS X (brew)](https://github.com/roswell/roswell/wiki/Installation#mac-os-x--homebrew)
|
||||
* [macOS (via Homebrew)](https://github.com/roswell/roswell/wiki/Installation#mac-os-x--homebrew)
|
||||
* [Windows](https://github.com/roswell/roswell/wiki/Installation#windows)
|
||||
* [Building from Source](https://github.com/roswell/roswell/wiki/Installation#building-from-source)
|
||||
|
||||
|
|
|
|||
30
configure.ac
30
configure.ac
|
|
@ -2,17 +2,16 @@
|
|||
# Process this file with autoconf to produce a configure script.
|
||||
|
||||
AC_PREREQ([2.59])
|
||||
AC_INIT([roswell],[21.10.14.111],snmsts@gmail.com)
|
||||
AC_INIT([roswell],[26.02.116],snmsts@gmail.com)
|
||||
CFLAGS=${CFLAGS=""}
|
||||
CXXFLAGS=${CXXFLAGS=""}
|
||||
|
||||
AM_CONFIG_HEADER(config.h)
|
||||
AC_CONFIG_HEADERS(config.h)
|
||||
AC_CONFIG_FILES([Makefile src/Makefile])
|
||||
AC_CONFIG_SRCDIR([Makefile.am])
|
||||
AM_INIT_AUTOMAKE([foreign])
|
||||
AM_MAINTAINER_MODE([enable])
|
||||
|
||||
|
||||
# Checks for programs.
|
||||
AC_PROG_CC
|
||||
AM_PROG_CC_C_O
|
||||
|
|
@ -44,9 +43,6 @@ if test "x$enable_debug" = xyes; then
|
|||
CXXFLAGS="$CXXFLAGS -g -O0"
|
||||
fi
|
||||
|
||||
|
||||
|
||||
|
||||
AC_CHECK_LIB([wininet], [main],[LIBS="-lwininet $LIBS";wwwlib=yes],[])
|
||||
if test "x$wwwlib" = xno; then
|
||||
AC_CHECK_LIB([curl], [curl_global_init],[LIBS="-lcurl $LIBS";wwwlib=yes],[])
|
||||
|
|
@ -62,7 +58,7 @@ AC_CHECK_HEADERS(gnu/libc-version.h)
|
|||
AC_CHECK_HEADERS(windows.h,[with_windows=true])
|
||||
AM_CONDITIONAL([WITH_WINDOWS], [test "$with_windows" != ""])
|
||||
AC_CHECK_TOOL([WINDRES], [windres], [])
|
||||
AM_CONDITIONAL([WITH_WIN_ICON], [test "$WINDRES" != ""])
|
||||
AM_CONDITIONAL([WITH_WIN_ICON], [test "$WINDRES" != "" -a "$with_windows" != ""])
|
||||
|
||||
AC_CHECK_MEMBERS([struct dirent.d_type],,,[#include <dirent.h>])
|
||||
|
||||
|
|
@ -97,24 +93,30 @@ AC_SUBST(roslisppatchdir)
|
|||
|
||||
# Change master uri for sbcl-bin
|
||||
AC_ARG_WITH([sbcl_bin_base],
|
||||
[AC_HELP_STRING([--with-sbcl-bin-base=URI],[set URI for sbcl-bin [default=https://github.com/roswell/sbcl_bin/releases/download/]])],
|
||||
[AS_HELP_STRING([--with-sbcl-bin-base=URI],[set URI for sbcl-bin [default=https://github.com/roswell/sbcl_bin/releases/download/]])],
|
||||
[SBCL_BIN_URI=$withval],[SBCL_BIN_URI="https://github.com/roswell/sbcl_bin/releases/download/"])
|
||||
AC_DEFINE_UNQUOTED([SBCL_BIN_URI],["${SBCL_BIN_URI}"],[uri for sbcl master])
|
||||
|
||||
AC_ARG_WITH([platformtsvl_base],
|
||||
[AC_HELP_STRING([--with-platformtsv-base=URI],[set URI for sbcl-bin_uri.tsv [default=https://github.com/roswell/sbcl_bin/releases/download/files/sbcl-bin_uri.tsv]])],
|
||||
[AS_HELP_STRING([--with-platformtsv-base=URI],[set URI for sbcl-bin_uri.tsv [default=https://github.com/roswell/sbcl_bin/releases/download/files/sbcl-bin_uri.tsv]])],
|
||||
[PLATFORM_TSV_URI=$withval],[PLATFORM_TSV_URI=https://github.com/roswell/sbcl_bin/releases/download/files/sbcl-bin_uri.tsv])
|
||||
AC_DEFINE_UNQUOTED([PLATFORM_TSV_URI],["${PLATFORM_TSV_URI}"],[uri for sbcl-bin_uri.tsv])
|
||||
|
||||
AC_ARG_WITH([sbcl_bin_variant],
|
||||
[AC_HELP_STRING([--with-sbcl-bin-variant=string],[set which variant for sbcl-bin [default=''] possible choices are '-glibc2.10', '-musl'.])],
|
||||
[AS_HELP_STRING([--with-sbcl-bin-variant=string],[set which variant for sbcl-bin [default=''] possible choices are '-glibc2.10', '-musl'.])],
|
||||
[SBCL_BIN_VARIANT=$withval],[SBCL_BIN_VARIANT=""])
|
||||
AC_SUBST([SBCL_BIN_VARIANT], ["${SBCL_BIN_VARIANT}"])
|
||||
AC_DEFINE_UNQUOTED([SBCL_BIN_VARIANT],["${SBCL_BIN_VARIANT}"],[variant for sbcl-bin])
|
||||
|
||||
AC_ARG_WITH([fixed_arch],
|
||||
[AS_HELP_STRING([--with-fixed-arch=string],[set arch instead of on the fly detecting [default=''] possible choices are 'armhf', 'arm64'.])],
|
||||
[FIXED_ARCH=$withval],[FIXED_ARCH=""])
|
||||
AC_SUBST([FIXED_ARCH], ["${FIXED_ARCH}"])
|
||||
AC_DEFINE_UNQUOTED([FIXED_ARCH],["${FIXED_ARCH}"],[arch to decide binary])
|
||||
|
||||
# man file (ros.1) generation switch
|
||||
AC_ARG_ENABLE([manual_generation],
|
||||
[AC_HELP_STRING([--enable-manual-generation],[generate manual if enabled])],
|
||||
[AS_HELP_STRING([--enable-manual-generation],[generate manual if enabled])],
|
||||
[case "${enableval}" in
|
||||
yes) manual_generate=true ;;
|
||||
no) manual_generate=false ;;
|
||||
|
|
@ -123,7 +125,7 @@ AC_ARG_ENABLE([manual_generation],
|
|||
AM_CONDITIONAL(MANUAL_GENERATE,[test x$manual_generate = x"true"])
|
||||
|
||||
AC_ARG_ENABLE([manual_install],
|
||||
[AC_HELP_STRING([--disable-manual-install],[install manual if enabled])],
|
||||
[AS_HELP_STRING([--disable-manual-install],[install manual if enabled])],
|
||||
[case "${enableval}" in
|
||||
yes) manual_install=true ;;
|
||||
no) manual_install=false ;;
|
||||
|
|
@ -132,7 +134,7 @@ AC_ARG_ENABLE([manual_install],
|
|||
AM_CONDITIONAL(MANUAL_INSTALL,[test x$manual_install != x"false"])
|
||||
|
||||
AC_ARG_ENABLE([html_generation],
|
||||
[AC_HELP_STRING([--enable-html-generation],[generate html if enabled])],
|
||||
[AS_HELP_STRING([--enable-html-generation],[generate html if enabled])],
|
||||
[case "${enableval}" in
|
||||
yes) html_generate=true ;;
|
||||
no) html_generate=false ;;
|
||||
|
|
@ -143,6 +145,4 @@ AM_CONDITIONAL(HTML_GENERATE,[test x$html_generate = x"true"])
|
|||
AM_COND_IF([MANUAL_INSTALL],
|
||||
[AC_CONFIG_FILES([documents/Makefile])])
|
||||
|
||||
|
||||
|
||||
AC_OUTPUT
|
||||
|
|
|
|||
2
debian/copyright
vendored
2
debian/copyright
vendored
|
|
@ -3,7 +3,7 @@ Upstream-Name: roswell
|
|||
Source: https://github.com/roswell/roswell
|
||||
|
||||
Files: *
|
||||
Copyright: 2014-2021 SANO Masatoshi
|
||||
Copyright: 2014-2022 SANO Masatoshi
|
||||
|
||||
License: MIT
|
||||
|
||||
|
|
|
|||
22
debian/debian.ros
vendored
22
debian/debian.ros
vendored
|
|
@ -5,7 +5,7 @@ exec ros -Q -L sbcl-bin -- $0 "$@"
|
|||
|#
|
||||
(progn ;;init forms
|
||||
(ros:ensure-asdf)
|
||||
#+quicklisp (ql:quickload '(:cl-html-parse :uiop :dexador) :silent t))
|
||||
#+quicklisp (ql:quickload '(:jonathan :uiop :dexador) :silent t))
|
||||
|
||||
(defpackage :ros.script.debian.3703769507
|
||||
(:use :cl))
|
||||
|
|
@ -20,24 +20,16 @@ exec ros -Q -L sbcl-bin -- $0 "$@"
|
|||
(if branch
|
||||
(format nil "https://github.com/~A/archive/~A.tar.gz" base branch)
|
||||
(multiple-value-bind (body res)
|
||||
(dex:get (format nil "https://github.com/~A/releases/" base))
|
||||
(dex:get (format nil "https://api.github.com/repos/~A/releases" base)
|
||||
:headers '(("X-GitHub-Api-Version" . "2022-11-28")))
|
||||
(when (= res 200)
|
||||
(net.html.parser:parse-html
|
||||
body
|
||||
:callbacks
|
||||
(list (cons :a (lambda (arg)
|
||||
(let ((href (getf (cdr (car arg)) :href)))
|
||||
(when (and (> (length href) 6)
|
||||
(equal (subseq href (-(length href) 6))
|
||||
"tar.gz")
|
||||
;; href which include "archive" not "release"
|
||||
(eql (aref href (1+ (position #\a href))) #\r))
|
||||
(return-from get-newest-url (format nil "https://github.com~A" href)))))))
|
||||
:callback-only t))))))
|
||||
(getf (first (jojo:parse body)) :|tarball_url|))))))
|
||||
|
||||
(defun fetch-upstream (&optional (output *pwd*))
|
||||
(let* ((url (get-newest-url "roswell/roswell"))
|
||||
(path (merge-pathnames (subseq url (1+ (position #\/ url :from-end t))) output)))
|
||||
(path (make-pathname :name (format nil "roswell_~A.tar" (subseq url (1+ (position #\/ url :from-end t))))
|
||||
:defaults output
|
||||
:type "gz")))
|
||||
(roswell.util:download url path)
|
||||
path))
|
||||
|
||||
|
|
|
|||
166
debian/init.d.ex
vendored
166
debian/init.d.ex
vendored
|
|
@ -1,166 +0,0 @@
|
|||
#!/bin/sh
|
||||
### BEGIN INIT INFO
|
||||
# Provides: roswell
|
||||
# Required-Start: $local_fs $network $remote_fs $syslog
|
||||
# Required-Stop: $local_fs $network $remote_fs $syslog
|
||||
# Default-Start: 2 3 4 5
|
||||
# Default-Stop: 0 1 6
|
||||
# Short-Description: <Enter a short description of the software>
|
||||
# Description: <Enter a long description of the software>
|
||||
# <...>
|
||||
# <...>
|
||||
### END INIT INFO
|
||||
|
||||
# Author: Masatoshi SANO <snmsts@gmail.com>
|
||||
|
||||
# Do NOT "set -e"
|
||||
|
||||
# PATH should only include /usr/* if it runs after the mountnfs.sh script
|
||||
PATH=/sbin:/usr/sbin:/bin:/usr/bin
|
||||
DESC="roswell"
|
||||
NAME=roswell
|
||||
DAEMON=/usr/sbin/roswell
|
||||
DAEMON_ARGS=""
|
||||
PIDFILE=/var/run/$NAME.pid
|
||||
SCRIPTNAME=/etc/init.d/$NAME
|
||||
|
||||
# Exit if the package is not installed
|
||||
[ -x "$DAEMON" ] || exit 0
|
||||
|
||||
# Read configuration variable file if it is present
|
||||
[ -r /etc/default/$NAME ] && . /etc/default/$NAME
|
||||
|
||||
# Load the VERBOSE setting and other rcS variables
|
||||
. /lib/init/vars.sh
|
||||
|
||||
# Define LSB log_* functions.
|
||||
# Depend on lsb-base (>= 3.2-14) to ensure that this file is present
|
||||
# and status_of_proc is working.
|
||||
. /lib/lsb/init-functions
|
||||
|
||||
#
|
||||
# Function that starts the daemon/service
|
||||
#
|
||||
do_start()
|
||||
{
|
||||
# Return
|
||||
# 0 if daemon has been started
|
||||
# 1 if daemon was already running
|
||||
# 2 if daemon could not be started
|
||||
start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON --test > /dev/null \
|
||||
|| return 1
|
||||
start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON -- \
|
||||
$DAEMON_ARGS \
|
||||
|| return 2
|
||||
# The above code will not work for interpreted scripts, use the next
|
||||
# six lines below instead (Ref: #643337, start-stop-daemon(8) )
|
||||
#start-stop-daemon --start --quiet --pidfile $PIDFILE --startas $DAEMON \
|
||||
# --name $NAME --test > /dev/null \
|
||||
# || return 1
|
||||
#start-stop-daemon --start --quiet --pidfile $PIDFILE --startas $DAEMON \
|
||||
# --name $NAME -- $DAEMON_ARGS \
|
||||
# || return 2
|
||||
|
||||
# Add code here, if necessary, that waits for the process to be ready
|
||||
# to handle requests from services started subsequently which depend
|
||||
# on this one. As a last resort, sleep for some time.
|
||||
}
|
||||
|
||||
#
|
||||
# Function that stops the daemon/service
|
||||
#
|
||||
do_stop()
|
||||
{
|
||||
# Return
|
||||
# 0 if daemon has been stopped
|
||||
# 1 if daemon was already stopped
|
||||
# 2 if daemon could not be stopped
|
||||
# other if a failure occurred
|
||||
start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $PIDFILE --name $NAME
|
||||
RETVAL="$?"
|
||||
[ "$RETVAL" = 2 ] && return 2
|
||||
# Wait for children to finish too if this is a daemon that forks
|
||||
# and if the daemon is only ever run from this initscript.
|
||||
# If the above conditions are not satisfied then add some other code
|
||||
# that waits for the process to drop all resources that could be
|
||||
# needed by services started subsequently. A last resort is to
|
||||
# sleep for some time.
|
||||
start-stop-daemon --stop --quiet --oknodo --retry=0/30/KILL/5 --exec $DAEMON
|
||||
[ "$?" = 2 ] && return 2
|
||||
# Many daemons don't delete their pidfiles when they exit.
|
||||
rm -f $PIDFILE
|
||||
return "$RETVAL"
|
||||
}
|
||||
|
||||
#
|
||||
# Function that sends a SIGHUP to the daemon/service
|
||||
#
|
||||
do_reload() {
|
||||
#
|
||||
# If the daemon can reload its configuration without
|
||||
# restarting (for example, when it is sent a SIGHUP),
|
||||
# then implement that here.
|
||||
#
|
||||
start-stop-daemon --stop --signal 1 --quiet --pidfile $PIDFILE --name $NAME
|
||||
return 0
|
||||
}
|
||||
|
||||
case "$1" in
|
||||
start)
|
||||
[ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME"
|
||||
do_start
|
||||
case "$?" in
|
||||
0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
|
||||
2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
|
||||
esac
|
||||
;;
|
||||
stop)
|
||||
[ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME"
|
||||
do_stop
|
||||
case "$?" in
|
||||
0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
|
||||
2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
|
||||
esac
|
||||
;;
|
||||
status)
|
||||
status_of_proc "$DAEMON" "$NAME" && exit 0 || exit $?
|
||||
;;
|
||||
#reload|force-reload)
|
||||
#
|
||||
# If do_reload() is not implemented then leave this commented out
|
||||
# and leave 'force-reload' as an alias for 'restart'.
|
||||
#
|
||||
#log_daemon_msg "Reloading $DESC" "$NAME"
|
||||
#do_reload
|
||||
#log_end_msg $?
|
||||
#;;
|
||||
restart|force-reload)
|
||||
#
|
||||
# If the "reload" option is implemented then remove the
|
||||
# 'force-reload' alias
|
||||
#
|
||||
log_daemon_msg "Restarting $DESC" "$NAME"
|
||||
do_stop
|
||||
case "$?" in
|
||||
0|1)
|
||||
do_start
|
||||
case "$?" in
|
||||
0) log_end_msg 0 ;;
|
||||
1) log_end_msg 1 ;; # Old process is still running
|
||||
*) log_end_msg 1 ;; # Failed to start
|
||||
esac
|
||||
;;
|
||||
*)
|
||||
# Failed to stop
|
||||
log_end_msg 1
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
*)
|
||||
#echo "Usage: $SCRIPTNAME {start|stop|restart|reload|force-reload}" >&2
|
||||
echo "Usage: $SCRIPTNAME {start|stop|status|restart|force-reload}" >&2
|
||||
exit 3
|
||||
;;
|
||||
esac
|
||||
|
||||
:
|
||||
2
debian/menu.ex
vendored
2
debian/menu.ex
vendored
|
|
@ -1,2 +0,0 @@
|
|||
?package(roswell):needs="X11|text|vc|wm" section="Applications/see-menu-manual"\
|
||||
title="roswell" command="/usr/bin/roswell"
|
||||
39
debian/postinst.ex
vendored
39
debian/postinst.ex
vendored
|
|
@ -1,39 +0,0 @@
|
|||
#!/bin/sh
|
||||
# postinst script for roswell
|
||||
#
|
||||
# see: dh_installdeb(1)
|
||||
|
||||
set -e
|
||||
|
||||
# summary of how this script can be called:
|
||||
# * <postinst> `configure' <most-recently-configured-version>
|
||||
# * <old-postinst> `abort-upgrade' <new version>
|
||||
# * <conflictor's-postinst> `abort-remove' `in-favour' <package>
|
||||
# <new-version>
|
||||
# * <postinst> `abort-remove'
|
||||
# * <deconfigured's-postinst> `abort-deconfigure' `in-favour'
|
||||
# <failed-install-package> <version> `removing'
|
||||
# <conflicting-package> <version>
|
||||
# for details, see http://www.debian.org/doc/debian-policy/ or
|
||||
# the debian-policy package
|
||||
|
||||
|
||||
case "$1" in
|
||||
configure)
|
||||
;;
|
||||
|
||||
abort-upgrade|abort-remove|abort-deconfigure)
|
||||
;;
|
||||
|
||||
*)
|
||||
echo "postinst called with unknown argument \`$1'" >&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
# dh_installdeb will replace this with shell code automatically
|
||||
# generated by other debhelper scripts.
|
||||
|
||||
#DEBHELPER#
|
||||
|
||||
exit 0
|
||||
37
debian/postrm.ex
vendored
37
debian/postrm.ex
vendored
|
|
@ -1,37 +0,0 @@
|
|||
#!/bin/sh
|
||||
# postrm script for roswell
|
||||
#
|
||||
# see: dh_installdeb(1)
|
||||
|
||||
set -e
|
||||
|
||||
# summary of how this script can be called:
|
||||
# * <postrm> `remove'
|
||||
# * <postrm> `purge'
|
||||
# * <old-postrm> `upgrade' <new-version>
|
||||
# * <new-postrm> `failed-upgrade' <old-version>
|
||||
# * <new-postrm> `abort-install'
|
||||
# * <new-postrm> `abort-install' <old-version>
|
||||
# * <new-postrm> `abort-upgrade' <old-version>
|
||||
# * <disappearer's-postrm> `disappear' <overwriter>
|
||||
# <overwriter-version>
|
||||
# for details, see http://www.debian.org/doc/debian-policy/ or
|
||||
# the debian-policy package
|
||||
|
||||
|
||||
case "$1" in
|
||||
purge|remove|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear)
|
||||
;;
|
||||
|
||||
*)
|
||||
echo "postrm called with unknown argument \`$1'" >&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
# dh_installdeb will replace this with shell code automatically
|
||||
# generated by other debhelper scripts.
|
||||
|
||||
#DEBHELPER#
|
||||
|
||||
exit 0
|
||||
35
debian/preinst.ex
vendored
35
debian/preinst.ex
vendored
|
|
@ -1,35 +0,0 @@
|
|||
#!/bin/sh
|
||||
# preinst script for roswell
|
||||
#
|
||||
# see: dh_installdeb(1)
|
||||
|
||||
set -e
|
||||
|
||||
# summary of how this script can be called:
|
||||
# * <new-preinst> `install'
|
||||
# * <new-preinst> `install' <old-version>
|
||||
# * <new-preinst> `upgrade' <old-version>
|
||||
# * <old-preinst> `abort-upgrade' <new-version>
|
||||
# for details, see http://www.debian.org/doc/debian-policy/ or
|
||||
# the debian-policy package
|
||||
|
||||
|
||||
case "$1" in
|
||||
install|upgrade)
|
||||
;;
|
||||
|
||||
abort-upgrade)
|
||||
;;
|
||||
|
||||
*)
|
||||
echo "preinst called with unknown argument \`$1'" >&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
# dh_installdeb will replace this with shell code automatically
|
||||
# generated by other debhelper scripts.
|
||||
|
||||
#DEBHELPER#
|
||||
|
||||
exit 0
|
||||
38
debian/prerm.ex
vendored
38
debian/prerm.ex
vendored
|
|
@ -1,38 +0,0 @@
|
|||
#!/bin/sh
|
||||
# prerm script for roswell
|
||||
#
|
||||
# see: dh_installdeb(1)
|
||||
|
||||
set -e
|
||||
|
||||
# summary of how this script can be called:
|
||||
# * <prerm> `remove'
|
||||
# * <old-prerm> `upgrade' <new-version>
|
||||
# * <new-prerm> `failed-upgrade' <old-version>
|
||||
# * <conflictor's-prerm> `remove' `in-favour' <package> <new-version>
|
||||
# * <deconfigured's-prerm> `deconfigure' `in-favour'
|
||||
# <package-being-installed> <version> `removing'
|
||||
# <conflicting-package> <version>
|
||||
# for details, see http://www.debian.org/doc/debian-policy/ or
|
||||
# the debian-policy package
|
||||
|
||||
|
||||
case "$1" in
|
||||
remove|upgrade|deconfigure)
|
||||
;;
|
||||
|
||||
failed-upgrade)
|
||||
;;
|
||||
|
||||
*)
|
||||
echo "prerm called with unknown argument \`$1'" >&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
# dh_installdeb will replace this with shell code automatically
|
||||
# generated by other debhelper scripts.
|
||||
|
||||
#DEBHELPER#
|
||||
|
||||
exit 0
|
||||
10
debian/roswell.default.ex
vendored
10
debian/roswell.default.ex
vendored
|
|
@ -1,10 +0,0 @@
|
|||
# Defaults for roswell initscript
|
||||
# sourced by /etc/init.d/roswell
|
||||
# installed at /etc/default/roswell by the maintainer scripts
|
||||
|
||||
#
|
||||
# This is a POSIX shell fragment
|
||||
#
|
||||
|
||||
# Additional options that are passed to the Daemon.
|
||||
DAEMON_OPTS=""
|
||||
20
debian/roswell.doc-base.EX
vendored
20
debian/roswell.doc-base.EX
vendored
|
|
@ -1,20 +0,0 @@
|
|||
Document: roswell
|
||||
Title: Debian roswell Manual
|
||||
Author: <insert document author here>
|
||||
Abstract: This manual describes what roswell is
|
||||
and how it can be used to
|
||||
manage online manuals on Debian systems.
|
||||
Section: unknown
|
||||
|
||||
Format: debiandoc-sgml
|
||||
Files: /usr/share/doc/roswell/roswell.sgml.gz
|
||||
|
||||
Format: postscript
|
||||
Files: /usr/share/doc/roswell/roswell.ps.gz
|
||||
|
||||
Format: text
|
||||
Files: /usr/share/doc/roswell/roswell.text.gz
|
||||
|
||||
Format: HTML
|
||||
Index: /usr/share/doc/roswell/html/index.html
|
||||
Files: /usr/share/doc/roswell/html/*.html
|
||||
23
debian/watch.ex
vendored
23
debian/watch.ex
vendored
|
|
@ -1,23 +0,0 @@
|
|||
# Example watch control file for uscan
|
||||
# Rename this file to "watch" and then you can run the "uscan" command
|
||||
# to check for upstream updates and more.
|
||||
# See uscan(1) for format
|
||||
|
||||
# Compulsory line, this is a version 3 file
|
||||
version=3
|
||||
|
||||
# Uncomment to examine a Webpage
|
||||
# <Webpage URL> <string match>
|
||||
#http://www.example.com/downloads.php roswell-(.*)\.tar\.gz
|
||||
|
||||
# Uncomment to examine a Webserver directory
|
||||
#http://www.example.com/pub/roswell-(.*)\.tar\.gz
|
||||
|
||||
# Uncommment to examine a FTP server
|
||||
#ftp://ftp.example.com/pub/roswell-(.*)\.tar\.gz debian uupdate
|
||||
|
||||
# Uncomment to find new files on sourceforge, for devscripts >= 2.9
|
||||
# http://sf.net/roswell/roswell-(.*)\.tar\.gz
|
||||
|
||||
# Uncomment to find new files on GooglePages
|
||||
# http://example.googlepages.com/foo.html roswell-(.*)\.tar\.gz
|
||||
|
|
@ -4,6 +4,7 @@
|
|||
<meta charset="utf-8">
|
||||
<meta name="generator" content="pandoc">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">
|
||||
<meta name="author" content="Roswell Project Team">
|
||||
<title>ros-asdf(1)</title>
|
||||
<style type="text/css">code{white-space: pre;}</style>
|
||||
<link rel="stylesheet" href="../ros.css">
|
||||
|
|
@ -17,14 +18,17 @@
|
|||
<ul>
|
||||
<li class="author">Roswell Project Team</li>
|
||||
</ul>
|
||||
<h3 class="date">January 2022</h3>
|
||||
</header>
|
||||
<p>ros-asdf - # synopsis</p>
|
||||
<h1 id="name">NAME</h1>
|
||||
<p>ros-asdf -</p>
|
||||
<h1 id="synopsis">SYNOPSIS</h1>
|
||||
<p><strong>ros [options] asdf [subcommand]</strong></p>
|
||||
<!-- # subcommands -->
|
||||
<!-- somecommand -->
|
||||
<!-- : description. end with a period. -->
|
||||
<h1 id="description">description</h1>
|
||||
<p><strong>ros asdf</strong> install and manage ASDF(https://common-lisp.net/project/asdf/)</p>
|
||||
<h1 id="description">DESCRIPTION</h1>
|
||||
<p><strong>ros asdf</strong> install and manage ASDF(https://common-lisp.net/project/asdf/).</p>
|
||||
<!-- # options -->
|
||||
<!-- -->
|
||||
<!-- # Environmental Variables -->
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@
|
|||
<li class="author">Roswell Project Team</li>
|
||||
</ul>
|
||||
</header>
|
||||
<p>ros-build - Shortcut to "ros dump executable" # synopsis</p>
|
||||
<p>ros-build - Shortcut to “ros dump executable” # synopsis</p>
|
||||
<p><strong>ros [options] build</strong> <file></p>
|
||||
<p>Equivalent to calling <code>ros dump executable <file></code>.</p>
|
||||
<!-- # subcommands -->
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@
|
|||
</ul>
|
||||
</header>
|
||||
<p>ros-checkout - # synopsis</p>
|
||||
<p><strong>ros [options] checkout</strong> args...</p>
|
||||
<p><strong>ros [options] checkout</strong> args…</p>
|
||||
<!-- # subcommands -->
|
||||
<!-- somecommand -->
|
||||
<!-- : description. end with a period. -->
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@
|
|||
</header>
|
||||
<p>ros-client - one-shot connect to remote repl.</p>
|
||||
<h1 id="synopsis">synopsis</h1>
|
||||
<p><strong>ros [options for roswell ...] client</strong> protocol [options for the protocol ...] ...</p>
|
||||
<p><strong>ros client</strong> protocol [options for the protocol …] …</p>
|
||||
<!-- # subcommands -->
|
||||
<!-- somecommand -->
|
||||
<!-- : description. end with a period. -->
|
||||
|
|
@ -34,7 +34,7 @@
|
|||
<dt><code>--interface interface</code></dt>
|
||||
<dd><p>interface for connect. default is <code>localhost</code>.</p>
|
||||
</dd>
|
||||
<dt>-e FORM --eval FORM</dt>
|
||||
<dt>-e FORM –eval FORM</dt>
|
||||
<dd><p>Evaluate FORM while building</p>
|
||||
</dd>
|
||||
</dl>
|
||||
|
|
|
|||
|
|
@ -19,9 +19,9 @@
|
|||
</ul>
|
||||
</header>
|
||||
<p>ros-config - get and set options # Synopsis</p>
|
||||
<p><strong>ros [options] config</strong> [SUBCOMMAND ARGS...]</p>
|
||||
<p><strong>ros [options] config</strong> [SUBCOMMAND ARGS…]</p>
|
||||
<h1 id="description">Description</h1>
|
||||
<p>Without any arguments, it shows all variables and it's value.</p>
|
||||
<p>Without any arguments, it shows all variables and it’s value.</p>
|
||||
<dl>
|
||||
<dt>show TARGET</dt>
|
||||
<dd><p>show TARGET.</p>
|
||||
|
|
|
|||
|
|
@ -19,14 +19,14 @@
|
|||
</ul>
|
||||
</header>
|
||||
<p>ros-delete - # synopsis</p>
|
||||
<p><strong>ros delete</strong> ARGS...</p>
|
||||
<p><strong>ros delete</strong> ARGS…</p>
|
||||
<p>Slightly complex arguments.</p>
|
||||
<h2 id="ros-delete-dump-images...">ros delete dump IMAGES...</h2>
|
||||
<h2 id="ros-delete-dump-images">ros delete dump IMAGES…</h2>
|
||||
<p>Whem ARGS starts with <code>dump</code>, it considers the remaining args as the names for the dumped images. It then deletes the image with the given name, if it exists.</p>
|
||||
<p>The deletion happens only to the images compatible with the current lisp implementation/version. For example, when ccl-bin/1.10 and sbcl-bin/1.3.1 both have images named X, and if the current lisp in use is sbcl-bin/1.3.1, then <code>ros delete dump X</code> removes sbcl-bin/1.3.1/X only.</p>
|
||||
<h2 id="ros-delete-impls...">ros delete IMPLS...</h2>
|
||||
<h2 id="ros-delete-impls">ros delete IMPLS…</h2>
|
||||
<p>When the first argument is not <code>dump</code>, then the arguments are treated as a list of installed implementations.</p>
|
||||
<p>If a name of some implementation is given without version specifiers, e.g. sbcl-bin, then it removes all instances (versions) of sbcl-bin.</p>
|
||||
<p>If a name of some implementation is given without version specifiers, e.g. sbcl-bin, then it removes all instances (versions) of sbcl-bin.</p>
|
||||
<p>If a version is specified, then it removes only the specified instance.</p>
|
||||
<!-- somecommand -->
|
||||
<!-- : description. end with a period. -->
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@
|
|||
</ul>
|
||||
</header>
|
||||
<p>ros-dist - # synopsis</p>
|
||||
<p><strong>ros [options] dist</strong> args...</p>
|
||||
<p><strong>ros [options] dist</strong> args…</p>
|
||||
<!-- # subcommands -->
|
||||
<!-- somecommand -->
|
||||
<!-- : description. end with a period. -->
|
||||
|
|
|
|||
|
|
@ -20,11 +20,11 @@
|
|||
</header>
|
||||
<p>ros-dump - make a dumped image of a roswell script</p>
|
||||
<h1 id="synopsis">Synopsis</h1>
|
||||
<p><strong>ros [OPTIONS1...] dump [OPTIONS2...] MODE</strong> args...</p>
|
||||
<p><strong>ros [OPTIONS1…] dump [OPTIONS2…] MODE</strong> args…</p>
|
||||
<p><code>OPTIONS1</code> specify the standard roswell options such as <code>-L</code> or <code>-m LISP</code>. <code>OPTIONS2</code> specify the image reduction options we describe later. <code>MODE</code> is either <code>output</code> or <code>executable</code>.</p>
|
||||
<h1 id="description">Description</h1>
|
||||
<p><code>ros-dump</code> creates a dumped lisp image of the state after processing all options <code>OPTIONS1</code>.</p>
|
||||
<p>It has two modes <code>output</code> and <code>executable</code>. In both modes, the global environment (e.g. global binding to special variables such as <code>*package*</code>) of the state just after the restart is the environment which was effective when the script was dumped.</p>
|
||||
<p>It has two modes <code>output</code> and <code>executable</code>. In both modes, the global environment (e.g. global binding to special variables such as <code>*package*</code>) of the state just after the restart is the environment which was effective when the script was dumped.</p>
|
||||
<!-- Fixme: what kind of? this is unnecessarily retracting the users from using this feature -->
|
||||
<!-- There might be a limitation regarding this feature depending on the lisp -->
|
||||
<!-- implementation used by roswell at the time of building. -->
|
||||
|
|
@ -52,37 +52,37 @@
|
|||
<p>Care should be taken to ensure the resulting program works as expected, as some of these operation may destroy the common assumptions of the conforming programs. For example, package-related reduction options may inhibit the runtime calls to <code>READ</code> after the restart.</p>
|
||||
<p>Reduction options are processed in the left-to-right manner.</p>
|
||||
<dl>
|
||||
<dt>--disable-compression, --enable-compression, -c</dt>
|
||||
<dt>–disable-compression, –enable-compression, -c</dt>
|
||||
<dd><p>These options disable/enable/enable the core compression feature in SBCL. Thus this option is meaningful only on SBCL. Compression is enabled by default.</p>
|
||||
</dd>
|
||||
<dt>--remove-docstrings</dt>
|
||||
<dt>–remove-docstrings</dt>
|
||||
<dd><p>This option removes all docstrings from all symbols in the entire lisp image.</p>
|
||||
</dd>
|
||||
<dt>--delete-package PKG</dt>
|
||||
<dd><p>This option can be specified multiple times. It uninterns the symbols in PACKAGE, calls <code>makeunbound</code> and <code>fmakeunbound</code> on each symbol and deletes the package. Package names are automatically string-upcase'd.</p>
|
||||
<dt>–delete-package PKG</dt>
|
||||
<dd><p>This option can be specified multiple times. It uninterns the symbols in PACKAGE, calls <code>makeunbound</code> and <code>fmakeunbound</code> on each symbol and deletes the package. Package names are automatically string-upcase’d.</p>
|
||||
</dd>
|
||||
<dt>--delete-all-packages</dt>
|
||||
<dd><p>This option applies --delete-package PKG on all packages, except some blacklisted packages (keyword, roswell, ROS.SCRIPT.DUMP, and the package of the main function symbol).</p>
|
||||
<dt>–delete-all-packages</dt>
|
||||
<dd><p>This option applies –delete-package PKG on all packages, except some blacklisted packages (keyword, roswell, ROS.SCRIPT.DUMP, and the package of the main function symbol).</p>
|
||||
</dd>
|
||||
<dt>--delete-packages-except PACKAGE</dt>
|
||||
<dd><p>This option can be specified multiple times. It is identical to --delete-all-packages except that it adds PACKAGE to the blacklist. Package names are automatically string-upcase'd.</p>
|
||||
<dt>–delete-packages-except PACKAGE</dt>
|
||||
<dd><p>This option can be specified multiple times. It is identical to –delete-all-packages except that it adds PACKAGE to the blacklist. Package names are automatically string-upcase’d.</p>
|
||||
</dd>
|
||||
<dt>--destroy-packages-sbcl</dt>
|
||||
<dd><p>This is an sbcl-specific option which is even more aggressive than the above methods (>10MB reduction). It destroys the package system by modifying the internal tables for packages, cleaning up the caches for package-use-list etc. The blacklist is shared among --delete-all-packages and --destroy-packages-sbcl. However, this method does not call fmakunbound/makunbound, so combining the two methods can result in a more aggressive image size reduction. Due to the nature of this option, it is desirable to specify it as the last method (i.e. rightmost).</p>
|
||||
<dt>–destroy-packages-sbcl</dt>
|
||||
<dd><p>This is an sbcl-specific option which is even more aggressive than the above methods (>10MB reduction). It destroys the package system by modifying the internal tables for packages, cleaning up the caches for package-use-list etc. The blacklist is shared among –delete-all-packages and –destroy-packages-sbcl. However, this method does not call fmakunbound/makunbound, so combining the two methods can result in a more aggressive image size reduction. Due to the nature of this option, it is desirable to specify it as the last method (i.e. rightmost).</p>
|
||||
</dd>
|
||||
<dt>--purify, --no-purify</dt>
|
||||
<dt>–purify, –no-purify</dt>
|
||||
<dd><p>This is common to CCL, SBCL, CMUCL. Moves all objects to the static space where GC does not scan, for the later performance of GC. Purification is enabled by default.</p>
|
||||
</dd>
|
||||
<dt>--impurify, --no-impurify</dt>
|
||||
<dd><p>This is an CCL-specific option (enabled by default). It moves all objects to the dynamic space before saving the image. This allows the static-space objects to be GC'ed. When purification is enabled, it impurifies all objects before running the purifying GC.</p>
|
||||
<dt>–impurify, –no-impurify</dt>
|
||||
<dd><p>This is an CCL-specific option (enabled by default). It moves all objects to the dynamic space before saving the image. This allows the static-space objects to be GC’ed. When purification is enabled, it impurifies all objects before running the purifying GC.</p>
|
||||
</dd>
|
||||
<dt>--delete-debug-info</dt>
|
||||
<dt>–delete-debug-info</dt>
|
||||
<dd><p>This removes the debug infomation of functions (used to show the stack frame etc), as well as the source locations and the deprecation information of various symbols. SBCL only. This option has a large effect (+10MB reduction).</p>
|
||||
</dd>
|
||||
<dt>--delete-macro-definitions, --delete-compiler-macro-definitions</dt>
|
||||
<dt>–delete-macro-definitions, –delete-compiler-macro-definitions</dt>
|
||||
<dd><p>This removes all definitions of macros and compiler-macros, assuming that no runtime compilation/interpretation of code will be performed. This option should be portable across implementations. It has ~2MB reduction on SBCL.</p>
|
||||
</dd>
|
||||
<dt>--delete-compiler-information-sbcl</dt>
|
||||
<dt>–delete-compiler-information-sbcl</dt>
|
||||
<dd><p>This is an SBCL-specific option which is more aggressive than the above methods (~4MB reduction). In addition to the macro and the compiler-macro definitions, it destroys the internal compiler systems of SBCL by also removing the inlining information, IR1 transformer and IR2 (VOP).</p>
|
||||
</dd>
|
||||
</dl>
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@
|
|||
</ul>
|
||||
</header>
|
||||
<p>ros-emacs - launch Emacs with Slime # Synopsis</p>
|
||||
<p><strong>ros emacs</strong> [ARGS...]</p>
|
||||
<p><strong>ros emacs</strong> [ARGS…]</p>
|
||||
<!-- # subcommands -->
|
||||
<!-- somecommand -->
|
||||
<!-- : description. end with a period. -->
|
||||
|
|
|
|||
|
|
@ -20,14 +20,14 @@
|
|||
</header>
|
||||
<p>ros-init - Create a roswell script (optionally based on a template)</p>
|
||||
<h1 id="synopsis">Synopsis</h1>
|
||||
<p><strong>ros init [TEMPLATE] NAME [ARGS...]]</strong></p>
|
||||
<p><strong>ros init [TEMPLATE] NAME [ARGS…]]</strong></p>
|
||||
<dl>
|
||||
<dt>TEMPLATE</dt>
|
||||
<dd><p>Specifies the name of a template, defaulted to <em>default</em> template. However, if <em>TEMPLATE</em> is not specified and <em>FILENAME</em> matches one of the templates being stored, then it automatically uses the template. To suppress this behavior, you should explicitly specify <em>TEMPLATE</em> as <em>default</em>.</p>
|
||||
<p>Thus you are warned when you use this command from a shell script. In order to achieve a consistent and desired behavior, it is adviced that they should always explicitly specify the template name.</p>
|
||||
</dd>
|
||||
<dt>NAME</dt>
|
||||
<dd><p>Specify the output filename, or "-" to indicate <em>stdout</em>. When <em>TEMPLATE</em> is <em>default</em>, it automatically appends a file type ".ros".</p>
|
||||
<dd><p>Specify the output filename, or “-” to indicate <em>stdout</em>. When <em>TEMPLATE</em> is <em>default</em>, it automatically appends a file type “.ros”.</p>
|
||||
</dd>
|
||||
</dl>
|
||||
<!-- # subcommands -->
|
||||
|
|
|
|||
|
|
@ -21,8 +21,8 @@
|
|||
<p>ros-install - Install lisp implementations or quicklisp system</p>
|
||||
<h1 id="synopsis">Synopsis</h1>
|
||||
<ul>
|
||||
<li><strong>ros install</strong> system [system ...]</li>
|
||||
<li><strong>ros install</strong> impl[/version] [param ...]</li>
|
||||
<li><strong>ros install</strong> system [system …]</li>
|
||||
<li><strong>ros install</strong> impl[/version] [param …]</li>
|
||||
</ul>
|
||||
<h1 id="description">Description</h1>
|
||||
<dl>
|
||||
|
|
@ -52,7 +52,7 @@ ccl-bin
|
|||
sbcl-bin</code></pre>
|
||||
<p>The name can be optionally followed by a slash <code>/</code> and a version of the implementation.</p>
|
||||
<pre><code>$ ros install sbcl/1.2.14</code></pre>
|
||||
<p>There might be some <em>hidden</em> implementation that are not listed here --- they are in the alpha quality, but try the one you like or watch the website (https://github.com/roswell/roswell).</p>
|
||||
<p>There might be some <em>hidden</em> implementation that are not listed here — they are in the alpha quality, but try the one you like or watch the website (https://github.com/roswell/roswell).</p>
|
||||
<pre><code>$ ros install ccl
|
||||
$ ros install abcl
|
||||
$ ...</code></pre>
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@
|
|||
<h1 id="description">Description</h1>
|
||||
<p><strong>ros list</strong> shows the list of the materials installed by roswell.</p>
|
||||
<dl>
|
||||
<dt>installed [ [ IMPL | IMPL/VERSION ]...]</dt>
|
||||
<dt>installed [ [ IMPL | IMPL/VERSION ]…]</dt>
|
||||
<dd><p>List the implementations that have been already installed. Optionally providing IMPL shows the installed versions of the implementation.</p>
|
||||
</dd>
|
||||
<dt>dump [IMPL]</dt>
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@
|
|||
</header>
|
||||
<p>ros-serve - start lisp server</p>
|
||||
<h1 id="synopsis">Synopsis</h1>
|
||||
<p><strong>ros [options for roswell ... ] serve</strong> protocol [options for the protocol ...] ...</p>
|
||||
<p><strong>ros [options for roswell … ] serve</strong> protocol [options for the protocol …] …</p>
|
||||
<!-- # subcommands -->
|
||||
<!-- somecommand -->
|
||||
<!-- : description. end with a period. -->
|
||||
|
|
|
|||
|
|
@ -21,7 +21,7 @@
|
|||
<p>ros-template - Edit template for ros-init</p>
|
||||
<h1 id="synopsis">synopsis</h1>
|
||||
<ul>
|
||||
<li><strong>ros template</strong> command args...</li>
|
||||
<li><strong>ros template</strong> command args…</li>
|
||||
</ul>
|
||||
<h1 id="subcommands">Subcommands</h1>
|
||||
<dl>
|
||||
|
|
@ -37,22 +37,25 @@
|
|||
<dt>checkout [template-name]</dt>
|
||||
<dd><p>When invoked without template-name,this command shows candidates for current templates to operate.If with template-name, this command choose the name as current template.</p>
|
||||
</dd>
|
||||
<dt>add [template-name] [files ...]</dt>
|
||||
<dt>add [template-name] [files …]</dt>
|
||||
<dd><p>Add files to current template.First parameter could taken as a template-name when current template are <em>default</em>.</p>
|
||||
</dd>
|
||||
<dt>cat [template-name] [files ...]</dt>
|
||||
<dt>cat [template-name] [files …]</dt>
|
||||
<dd><p>Show contents in the current template.</p>
|
||||
</dd>
|
||||
<dt>edit [template-name] [files ...]</dt>
|
||||
<dt>edit [template-name] [files …]</dt>
|
||||
<dd><p>Edit content of files in template using <code>/usr/bin/editor</code>.</p>
|
||||
</dd>
|
||||
<dt>rm [template-name] [files ...]</dt>
|
||||
<dt>path [template-name] [files …]</dt>
|
||||
<dd><p>Show native path of files in template.</p>
|
||||
</dd>
|
||||
<dt>rm [template-name] [files …]</dt>
|
||||
<dd><p>Remove file form current template.</p>
|
||||
</dd>
|
||||
<dt>type [template-name] [type] [files ...]</dt>
|
||||
<dt>type [template-name] [type] [files …]</dt>
|
||||
<dd><p>Change file type. current choice for <em>type</em>s are <em>djula</em> or <em>copy</em> {{name}} {{author}} {{email}} {{universal_time}} are available variable in the template file. Withoug files, change default type.</p>
|
||||
</dd>
|
||||
<dt>chmod [template-name] [mode] [files ...]</dt>
|
||||
<dt>chmod [template-name] [mode] [files …]</dt>
|
||||
<dd><p>Change file mode bits to generate. specify mode in octal format.</p>
|
||||
</dd>
|
||||
<dt>rewrite [template-name] file rewrite-rule</dt>
|
||||
|
|
|
|||
|
|
@ -21,8 +21,8 @@
|
|||
<p>ros-update - Update system installed from vcs</p>
|
||||
<h1 id="synopsis">Synopsis</h1>
|
||||
<ul>
|
||||
<li><strong>ros update</strong> system [system ...]</li>
|
||||
<li><strong>ros update</strong> method [params ...]</li>
|
||||
<li><strong>ros update</strong> system [system …]</li>
|
||||
<li><strong>ros update</strong> method [params …]</li>
|
||||
</ul>
|
||||
<h1 id="description">Description</h1>
|
||||
<dl>
|
||||
|
|
|
|||
|
|
@ -21,10 +21,10 @@
|
|||
<p>ros-use - sets the default implementation used by roswell # synopsis</p>
|
||||
<p><strong>ros [options] use</strong> impl[/version]</p>
|
||||
<p>impl : The name of an implementation which is already installed. New implementations can be downloaded by <em><a href="ros-install.html">ros-install</a></em>(1). The list of installed implementations is available in <em><a href="ros-list.html">ros-list</a></em>(1).</p>
|
||||
<p>version: : The version specifier. The string representation of the version (e.g. <major>.<minor>) depends on each implementation and roswell generally follows the representation used by the implementation. In addition, <em>a special version name "system"</em> tells roswell to use the implementation that is installed in your system, which should be in PATH.</p>
|
||||
<p>version: : The version specifier. The string representation of the version (e.g. <major>.<minor>) depends on each implementation and roswell generally follows the representation used by the implementation. In addition, <em>a special version name “system”</em> tells roswell to use the implementation that is installed in your system, which should be in PATH.</p>
|
||||
<h1 id="example">example</h1>
|
||||
<p>ros use sbcl : use the latest SBCL among several versions of SBCLs installed by <em><a href="ros-install.html">ros-install</a></em>. This is compiled from the source, which may take some time to install but allows SLIME to jump to the implementation source code.</p>
|
||||
<p>ros use sbcl-bin : use the latest stable SBCL binary downloaded from vendor's website. Roswell uses this by default. <code>sbcl-bin</code> tends to be an older version compared to <code>sbcl</code>, but surely newer than your <em>apt-get</em> installed counterpart!</p>
|
||||
<p>ros use sbcl-bin : use the latest stable SBCL binary downloaded from vendor’s website. Roswell uses this by default. <code>sbcl-bin</code> tends to be an older version compared to <code>sbcl</code>, but surely newer than your <em>apt-get</em> installed counterpart!</p>
|
||||
<p>ros use sbcl/1.3.1 : use the compiled SBCL 1.3.1.</p>
|
||||
<p>ros use sbcl-bin/1.3.1 : use the prebuilt SBCL 1.3.1.</p>
|
||||
<p>ros use sbcl/system : use the SBCL available in the PATH.</p>
|
||||
|
|
|
|||
|
|
@ -33,7 +33,7 @@
|
|||
<p>In an order of utility/frequency.</p>
|
||||
<dl>
|
||||
<dt>install</dt>
|
||||
<dd><p>Install a given implementation (e.g. sbcl, ccl) or a system (e.g. alexandria) for roswell environment. See <em><a href="ros-install.html">ros-install</a></em>(1).</p>
|
||||
<dd><p>Install a given implementation (e.g. sbcl, ccl) or a system (e.g. alexandria) for roswell environment. See <em><a href="ros-install.html">ros-install</a></em>(1).</p>
|
||||
</dd>
|
||||
<dt>init [name[.ros]]</dt>
|
||||
<dd><p>Create a new ros script. <code>.ros</code> is optional, and is added automaticaly. See <em><a href="ros-init.html">ros-init</a></em>.</p>
|
||||
|
|
@ -78,79 +78,79 @@
|
|||
<h1 id="options">Options</h1>
|
||||
<p>Options are processed in left-to-right order.</p>
|
||||
<dl>
|
||||
<dt>-w CODE --wrap CODE</dt>
|
||||
<dd><p>Run the script with a shell wrapper CODE, e.g. rlwrap</p>
|
||||
<dt>-w CODE –wrap CODE</dt>
|
||||
<dd><p>Run the script with a shell wrapper CODE, e.g. rlwrap</p>
|
||||
</dd>
|
||||
<dt>-m IMAGE --image IMAGE</dt>
|
||||
<dt>-m IMAGE –image IMAGE</dt>
|
||||
<dd><p>Continue from Lisp image IMAGE</p>
|
||||
</dd>
|
||||
<dt>-L NAME --lisp NAME</dt>
|
||||
<dd><p>Run the script with a lisp impl NAME[/VERSION] if present, e.g. sbcl-bin, sbcl/1.2.16. Fails otherwise.</p>
|
||||
<dt>-L NAME –lisp NAME</dt>
|
||||
<dd><p>Run the script with a lisp impl NAME[/VERSION] if present, e.g. sbcl-bin, sbcl/1.2.16. Fails otherwise.</p>
|
||||
</dd>
|
||||
<dt>-l FILE --load FILE</dt>
|
||||
<dt>-l FILE –load FILE</dt>
|
||||
<dd><p>Load a lisp file FILE while building</p>
|
||||
</dd>
|
||||
<dt>-S X --source-registry X</dt>
|
||||
<dt>-S X –source-registry X</dt>
|
||||
<dd><p>Override the source registry of asdf systems.</p>
|
||||
</dd>
|
||||
<dt>-s SYSTEM --system SYSTEM</dt>
|
||||
<dt>-s SYSTEM –system SYSTEM</dt>
|
||||
<dd><p>Load the asdf SYSTEM while building.</p>
|
||||
</dd>
|
||||
<dt>--load-system SYSTEM</dt>
|
||||
<dt>–load-system SYSTEM</dt>
|
||||
<dd><p>Same as above (buildapp compatibility)</p>
|
||||
</dd>
|
||||
<dt>-p PACKAGE --package PACKAGE</dt>
|
||||
<dt>-p PACKAGE –package PACKAGE</dt>
|
||||
<dd><p>Change the current package to PACKAGE</p>
|
||||
</dd>
|
||||
<dt>-sp SP --system-package SP</dt>
|
||||
<dt>-sp SP –system-package SP</dt>
|
||||
<dd><p>Combination of -s SP and -p SP</p>
|
||||
</dd>
|
||||
<dt>-e FORM --eval FORM</dt>
|
||||
<dt>-e FORM –eval FORM</dt>
|
||||
<dd><p>Evaluate FORM while building</p>
|
||||
</dd>
|
||||
<dt>--require MODULE</dt>
|
||||
<dt>–require MODULE</dt>
|
||||
<dd><p>require MODULE while building</p>
|
||||
</dd>
|
||||
<dt>-q --quit</dt>
|
||||
<dt>-q –quit</dt>
|
||||
<dd><p>quit lisp here</p>
|
||||
</dd>
|
||||
<dt>-r FUNC --restart FUNC</dt>
|
||||
<dt>-r FUNC –restart FUNC</dt>
|
||||
<dd><p>the build image restarts from calling FUNC</p>
|
||||
</dd>
|
||||
<dt>-E FUNC --entry FUNC</dt>
|
||||
<dt>-E FUNC –entry FUNC</dt>
|
||||
<dd><p>the build image restarts from calling (FUNC argv).</p>
|
||||
</dd>
|
||||
<dt>-i FORM --init FORM</dt>
|
||||
<dt>-i FORM –init FORM</dt>
|
||||
<dd><p>evaluate FORM after the restart.</p>
|
||||
</dd>
|
||||
<dt>-ip FORM --print FORM</dt>
|
||||
<dt>-ip FORM –print FORM</dt>
|
||||
<dd><p>evaluate and princ FORM after the restart</p>
|
||||
</dd>
|
||||
<dt>-iw FORM --write FORM</dt>
|
||||
<dt>-iw FORM –write FORM</dt>
|
||||
<dd><p>evaluate and write FORM after the restart</p>
|
||||
</dd>
|
||||
<dt>-F FORM --final FORM</dt>
|
||||
<dt>-F FORM –final FORM</dt>
|
||||
<dd><p>evaluate FORM before dumping the IMAGE</p>
|
||||
</dd>
|
||||
<dt>-R --rc</dt>
|
||||
<dt>-R –rc</dt>
|
||||
<dd><p>try to read /etc/rosrc, ~/.roswell/init.lisp</p>
|
||||
</dd>
|
||||
<dt>+R --no-rc</dt>
|
||||
<dt>+R –no-rc</dt>
|
||||
<dd><p>skip /etc/rosrc, ~/.roswell/init.lisp</p>
|
||||
</dd>
|
||||
<dt>-Q --quicklisp</dt>
|
||||
<dt>-Q –quicklisp</dt>
|
||||
<dd><p>load quicklisp (default)</p>
|
||||
</dd>
|
||||
<dt>+Q --no-quicklisp</dt>
|
||||
<dt>+Q –no-quicklisp</dt>
|
||||
<dd><p>do not load quicklisp</p>
|
||||
</dd>
|
||||
<dt>-v --verbose</dt>
|
||||
<dt>-v –verbose</dt>
|
||||
<dd><p>be quite verbose while building</p>
|
||||
</dd>
|
||||
<dt>--quiet</dt>
|
||||
<dt>–quiet</dt>
|
||||
<dd><p>suppress output while building (default)</p>
|
||||
</dd>
|
||||
<dt>--test</dt>
|
||||
<dt>–test</dt>
|
||||
<dd><p>for test purpose</p>
|
||||
</dd>
|
||||
<dt>dynamic-space-size=[size in MB]</dt>
|
||||
|
|
|
|||
|
|
@ -1,17 +1,19 @@
|
|||
.\" Automatically generated by Pandoc 1.16.0.2
|
||||
.\" Automatically generated by Pandoc 2.5
|
||||
.\"
|
||||
.TH "ros-asdf" "1" "" "" ""
|
||||
.TH "ros-asdf" "1" "January 2022" "" ""
|
||||
.hy
|
||||
.SH NAME
|
||||
.PP
|
||||
ros\-asdf \- # synopsis
|
||||
ros\-asdf \-
|
||||
.SH SYNOPSIS
|
||||
.PP
|
||||
\f[B]ros [options] asdf [subcommand]\f[]
|
||||
.SH description
|
||||
\f[B]ros [options] asdf [subcommand]\f[R]
|
||||
.SH DESCRIPTION
|
||||
.PP
|
||||
\f[B]ros asdf\f[] install and manage
|
||||
ASDF(https://common\-lisp.net/project/asdf/)
|
||||
\f[B]ros asdf\f[R] install and manage
|
||||
ASDF(https://common\-lisp.net/project/asdf/).
|
||||
.SH SEE ALSO
|
||||
.PP
|
||||
\f[I]ros\f[](1)
|
||||
\f[I]ros\f[R](1)
|
||||
.SH AUTHORS
|
||||
Roswell Project Team.
|
||||
|
|
|
|||
|
|
@ -1,16 +1,16 @@
|
|||
.\" Automatically generated by Pandoc 1.16.0.2
|
||||
.\" Automatically generated by Pandoc 2.5
|
||||
.\"
|
||||
.TH "ros-build" "1" "" "" ""
|
||||
.hy
|
||||
.PP
|
||||
ros\-build \- Shortcut to "ros dump executable" # synopsis
|
||||
ros\-build \- Shortcut to \[lq]ros dump executable\[rq] # synopsis
|
||||
.PP
|
||||
\f[B]ros [options] build\f[]
|
||||
\f[B]ros [options] build\f[R]
|
||||
.PP
|
||||
Equivalent to calling \f[C]ros\ dump\ executable\ <file>\f[].
|
||||
Equivalent to calling \f[C]ros dump executable <file>\f[R].
|
||||
.SH description
|
||||
.SH SEE ALSO
|
||||
.PP
|
||||
\f[I]ros\f[](1)
|
||||
\f[I]ros\f[R](1)
|
||||
.SH AUTHORS
|
||||
Roswell Project Team.
|
||||
|
|
|
|||
|
|
@ -1,16 +1,16 @@
|
|||
.\" Automatically generated by Pandoc 1.16.0.2
|
||||
.\" Automatically generated by Pandoc 2.5
|
||||
.\"
|
||||
.TH "ros-checkout" "1" "" "" ""
|
||||
.hy
|
||||
.PP
|
||||
ros\-checkout \- # synopsis
|
||||
.PP
|
||||
\f[B]ros [options] checkout\f[] args...
|
||||
\f[B]ros [options] checkout\f[R] args\&...
|
||||
.SH description
|
||||
.PP
|
||||
to enable this command ros install roswell/ql\-checkout is needed.
|
||||
.SH SEE ALSO
|
||||
.PP
|
||||
\f[I]ros\f[](1)
|
||||
\f[I]ros\f[R](1)
|
||||
.SH AUTHORS
|
||||
Roswell Project Team.
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
.\" Automatically generated by Pandoc 1.16.0.2
|
||||
.\" Automatically generated by Pandoc 2.5
|
||||
.\"
|
||||
.TH "ros-client" "1" "" "" ""
|
||||
.hy
|
||||
|
|
@ -6,32 +6,25 @@
|
|||
ros\-client \- one\-shot connect to remote repl.
|
||||
.SH synopsis
|
||||
.PP
|
||||
\f[B]ros [options for roswell ...] client\f[] protocol [options for the
|
||||
protocol ...] ...
|
||||
\f[B]ros client\f[R] protocol [options for the protocol \&...] \&...
|
||||
.SH description
|
||||
.PP
|
||||
\f[C]ros\-client\f[] send message to lisp server and wait for message
|
||||
\f[C]ros\-client\f[R] send message to lisp server and wait for message
|
||||
sent back.
|
||||
.SH swank protocol options
|
||||
.TP
|
||||
.B \f[C]\-\-port\ port\f[]
|
||||
set server \f[C]port\f[] to connect.
|
||||
.B \f[C]\-\-port port\f[R]
|
||||
set server \f[C]port\f[R] to connect.
|
||||
default port 4005.
|
||||
.RS
|
||||
.RE
|
||||
.TP
|
||||
.B \f[C]\-\-interface\ interface\f[]
|
||||
.B \f[C]\-\-interface interface\f[R]
|
||||
interface for connect.
|
||||
default is \f[C]localhost\f[].
|
||||
.RS
|
||||
.RE
|
||||
default is \f[C]localhost\f[R].
|
||||
.TP
|
||||
.B \-e FORM \-\-eval FORM
|
||||
.B \-e FORM \[en]eval FORM
|
||||
Evaluate FORM while building
|
||||
.RS
|
||||
.RE
|
||||
.SH SEE ALSO
|
||||
.PP
|
||||
\f[I]ros\f[](1) \f[I]ros\-serve\f[](1)
|
||||
\f[I]ros\f[R](1) \f[I]ros\-serve\f[R](1)
|
||||
.SH AUTHORS
|
||||
Roswell Project Team.
|
||||
|
|
|
|||
|
|
@ -1,26 +1,22 @@
|
|||
.\" Automatically generated by Pandoc 1.16.0.2
|
||||
.\" Automatically generated by Pandoc 2.5
|
||||
.\"
|
||||
.TH "ros-config" "1" "" "" ""
|
||||
.hy
|
||||
.PP
|
||||
ros\-config \- get and set options # Synopsis
|
||||
.PP
|
||||
\f[B]ros [options] config\f[] [SUBCOMMAND ARGS...]
|
||||
\f[B]ros [options] config\f[R] [SUBCOMMAND ARGS\&...]
|
||||
.SH Description
|
||||
.PP
|
||||
Without any arguments, it shows all variables and it\[aq]s value.
|
||||
Without any arguments, it shows all variables and it\[cq]s value.
|
||||
.TP
|
||||
.B show TARGET
|
||||
show TARGET.
|
||||
.RS
|
||||
.RE
|
||||
.TP
|
||||
.B set TARGET VALUE
|
||||
set the VALUE to the TARGET.
|
||||
.RS
|
||||
.RE
|
||||
.SH SEE ALSO
|
||||
.PP
|
||||
\f[I]ros\f[](1)
|
||||
\f[I]ros\f[R](1)
|
||||
.SH AUTHORS
|
||||
Roswell Project Team.
|
||||
|
|
|
|||
|
|
@ -1,16 +1,16 @@
|
|||
.\" Automatically generated by Pandoc 1.16.0.2
|
||||
.\" Automatically generated by Pandoc 2.5
|
||||
.\"
|
||||
.TH "ros-delete" "1" "" "" ""
|
||||
.hy
|
||||
.PP
|
||||
ros\-delete \- # synopsis
|
||||
.PP
|
||||
\f[B]ros delete\f[] ARGS...
|
||||
\f[B]ros delete\f[R] ARGS\&...
|
||||
.PP
|
||||
Slightly complex arguments.
|
||||
.SS ros delete dump IMAGES...
|
||||
.SS ros delete dump IMAGES\&...
|
||||
.PP
|
||||
Whem ARGS starts with \f[C]dump\f[], it considers the remaining args as
|
||||
Whem ARGS starts with \f[C]dump\f[R], it considers the remaining args as
|
||||
the names for the dumped images.
|
||||
It then deletes the image with the given name, if it exists.
|
||||
.PP
|
||||
|
|
@ -18,20 +18,19 @@ The deletion happens only to the images compatible with the current lisp
|
|||
implementation/version.
|
||||
For example, when ccl\-bin/1.10 and sbcl\-bin/1.3.1 both have images
|
||||
named X, and if the current lisp in use is sbcl\-bin/1.3.1, then
|
||||
\f[C]ros\ delete\ dump\ X\f[] removes sbcl\-bin/1.3.1/X only.
|
||||
.SS ros delete IMPLS...
|
||||
\f[C]ros delete dump X\f[R] removes sbcl\-bin/1.3.1/X only.
|
||||
.SS ros delete IMPLS\&...
|
||||
.PP
|
||||
When the first argument is not \f[C]dump\f[], then the arguments are
|
||||
When the first argument is not \f[C]dump\f[R], then the arguments are
|
||||
treated as a list of installed implementations.
|
||||
.PP
|
||||
If a name of some implementation is given without version specifiers,
|
||||
e.g.
|
||||
sbcl\-bin, then it removes all instances (versions) of sbcl\-bin.
|
||||
e.g.\ sbcl\-bin, then it removes all instances (versions) of sbcl\-bin.
|
||||
.PP
|
||||
If a version is specified, then it removes only the specified instance.
|
||||
.SH description
|
||||
.SH SEE ALSO
|
||||
.PP
|
||||
\f[I]ros\f[](1)
|
||||
\f[I]ros\f[R](1)
|
||||
.SH AUTHORS
|
||||
Roswell Project Team.
|
||||
|
|
|
|||
|
|
@ -1,14 +1,14 @@
|
|||
.\" Automatically generated by Pandoc 1.16.0.2
|
||||
.\" Automatically generated by Pandoc 2.5
|
||||
.\"
|
||||
.TH "ros-dist" "1" "" "" ""
|
||||
.hy
|
||||
.PP
|
||||
ros\-dist \- # synopsis
|
||||
.PP
|
||||
\f[B]ros [options] dist\f[] args...
|
||||
\f[B]ros [options] dist\f[R] args\&...
|
||||
.SH description
|
||||
.SH SEE ALSO
|
||||
.PP
|
||||
\f[I]ros\f[](1)
|
||||
\f[I]ros\f[R](1)
|
||||
.SH AUTHORS
|
||||
Roswell Project Team.
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
.\" Automatically generated by Pandoc 1.16.0.2
|
||||
.\" Automatically generated by Pandoc 2.5
|
||||
.\"
|
||||
.TH "ros-dump" "1" "" "" ""
|
||||
.hy
|
||||
|
|
@ -6,67 +6,65 @@
|
|||
ros\-dump \- make a dumped image of a roswell script
|
||||
.SH Synopsis
|
||||
.PP
|
||||
\f[B]ros [OPTIONS1...] dump [OPTIONS2...] MODE\f[] args...
|
||||
\f[B]ros [OPTIONS1\&...] dump [OPTIONS2\&...] MODE\f[R] args\&...
|
||||
.PP
|
||||
\f[C]OPTIONS1\f[] specify the standard roswell options such as
|
||||
\f[C]\-L\f[] or \f[C]\-m\ LISP\f[].
|
||||
\f[C]OPTIONS2\f[] specify the image reduction options we describe later.
|
||||
\f[C]MODE\f[] is either \f[C]output\f[] or \f[C]executable\f[].
|
||||
\f[C]OPTIONS1\f[R] specify the standard roswell options such as
|
||||
\f[C]\-L\f[R] or \f[C]\-m LISP\f[R].
|
||||
\f[C]OPTIONS2\f[R] specify the image reduction options we describe
|
||||
later.
|
||||
\f[C]MODE\f[R] is either \f[C]output\f[R] or \f[C]executable\f[R].
|
||||
.SH Description
|
||||
.PP
|
||||
\f[C]ros\-dump\f[] creates a dumped lisp image of the state after
|
||||
processing all options \f[C]OPTIONS1\f[].
|
||||
\f[C]ros\-dump\f[R] creates a dumped lisp image of the state after
|
||||
processing all options \f[C]OPTIONS1\f[R].
|
||||
.PP
|
||||
It has two modes \f[C]output\f[] and \f[C]executable\f[].
|
||||
In both modes, the global environment (e.g.
|
||||
global binding to special variables such as \f[C]*package*\f[]) of the
|
||||
state just after the restart is the environment which was effective when
|
||||
the script was dumped.
|
||||
It has two modes \f[C]output\f[R] and \f[C]executable\f[R].
|
||||
In both modes, the global environment (e.g.\ global binding to special
|
||||
variables such as \f[C]*package*\f[R]) of the state just after the
|
||||
restart is the environment which was effective when the script was
|
||||
dumped.
|
||||
.PP
|
||||
The dumped image is generally not compatible between the different
|
||||
implementations, and also between the versions.
|
||||
.SH Dump modes
|
||||
.SS output [\-f] [\-o OUTPUT] NAME
|
||||
.PP
|
||||
It loads the roswell script \f[C]NAME\f[] and saves the current lisp
|
||||
It loads the roswell script \f[C]NAME\f[R] and saves the current lisp
|
||||
state to an image.
|
||||
.PP
|
||||
The image file is by default written to an internal directory of roswell
|
||||
in an organized manner, i.e., somewhere under
|
||||
\f[C]$ROSWELL_INSTALL_DIR\f[] deduced by the current implementation, its
|
||||
version and the given NAME.
|
||||
\f[C]$ROSWELL_INSTALL_DIR\f[R] deduced by the current implementation,
|
||||
its version and the given NAME.
|
||||
.PP
|
||||
When the output file already exists, the command fails with an error
|
||||
code.
|
||||
.PP
|
||||
The image can be loaded by \f[C]ros\ \-m\ IMAGE\f[].
|
||||
The image can be loaded by \f[C]ros \-m IMAGE\f[R].
|
||||
When restarting from the image, standard roswell subcommands and
|
||||
additional arguments to the script are also available, for example
|
||||
\f[C]ros\ run\f[] to resume with a repl, or \f[C]\-\-restart\ FUNC\f[]
|
||||
\f[C]ros run\f[R] to resume with a repl, or \f[C]\-\-restart FUNC\f[R]
|
||||
to call a specific function, leaving some flexibility.
|
||||
.TP
|
||||
.B \f[C]\-o\ OUTPUT\f[]
|
||||
The image is written to \f[C]OUTPUT\f[] instead of the default location.
|
||||
.RS
|
||||
.RE
|
||||
.B \f[C]\-o OUTPUT\f[R]
|
||||
The image is written to \f[C]OUTPUT\f[R] instead of the default
|
||||
location.
|
||||
.TP
|
||||
.B \f[C]\-f\f[]
|
||||
.B \f[C]\-f\f[R]
|
||||
Force output when the output already exists.
|
||||
.RS
|
||||
.RE
|
||||
.SS executable NAME [\-o OUTPUT]
|
||||
.PP
|
||||
When a script is dumped with \f[C]executable\f[], the dumped image
|
||||
When a script is dumped with \f[C]executable\f[R], the dumped image
|
||||
becomes an self\-contained executable binary which implies
|
||||
\f[C]\-\-restart\ main\f[].
|
||||
\f[C]\-\-restart main\f[R].
|
||||
.PP
|
||||
If \f[C]OUTPUT\f[] is given, the resulting binary is written to this
|
||||
If \f[C]OUTPUT\f[R] is given, the resulting binary is written to this
|
||||
file.
|
||||
Otherwise, the output filename is deduced from \f[C]NAME\f[] and is
|
||||
Otherwise, the output filename is deduced from \f[C]NAME\f[R] and is
|
||||
written in the same directory.
|
||||
On Windows and if \f[C]SCRIPT\f[] has \f[C]\&.ros\f[] extension, the
|
||||
filename will be \f[C]SCRIPT.exe\f[].
|
||||
On the other systems, the result will be \f[C]SCRIPT\f[] (without
|
||||
On Windows and if \f[C]SCRIPT\f[R] has \f[C].ros\f[R] extension, the
|
||||
filename will be \f[C]SCRIPT.exe\f[R].
|
||||
On the other systems, the result will be \f[C]SCRIPT\f[R] (without
|
||||
extension).
|
||||
.PP
|
||||
This feature is supported on SBCL, CCL, CMUCL, CLISP, ECL.
|
||||
|
|
@ -80,106 +78,83 @@ Care should be taken to ensure the resulting program works as expected,
|
|||
as some of these operation may destroy the common assumptions of the
|
||||
conforming programs.
|
||||
For example, package\-related reduction options may inhibit the runtime
|
||||
calls to \f[C]READ\f[] after the restart.
|
||||
calls to \f[C]READ\f[R] after the restart.
|
||||
.PP
|
||||
Reduction options are processed in the left\-to\-right manner.
|
||||
.TP
|
||||
.B \-\-disable\-compression, \-\-enable\-compression, \-c
|
||||
.B \[en]disable\-compression, \[en]enable\-compression, \-c
|
||||
These options disable/enable/enable the core compression feature in
|
||||
SBCL.
|
||||
Thus this option is meaningful only on SBCL.
|
||||
Compression is enabled by default.
|
||||
.RS
|
||||
.RE
|
||||
.TP
|
||||
.B \-\-remove\-docstrings
|
||||
.B \[en]remove\-docstrings
|
||||
This option removes all docstrings from all symbols in the entire lisp
|
||||
image.
|
||||
.RS
|
||||
.RE
|
||||
.TP
|
||||
.B \-\-delete\-package PKG
|
||||
.B \[en]delete\-package PKG
|
||||
This option can be specified multiple times.
|
||||
It uninterns the symbols in PACKAGE, calls \f[C]makeunbound\f[] and
|
||||
\f[C]fmakeunbound\f[] on each symbol and deletes the package.
|
||||
Package names are automatically string\-upcase\[aq]d.
|
||||
.RS
|
||||
.RE
|
||||
It uninterns the symbols in PACKAGE, calls \f[C]makeunbound\f[R] and
|
||||
\f[C]fmakeunbound\f[R] on each symbol and deletes the package.
|
||||
Package names are automatically string\-upcase\[cq]d.
|
||||
.TP
|
||||
.B \-\-delete\-all\-packages
|
||||
This option applies \-\-delete\-package PKG on all packages, except some
|
||||
blacklisted packages (keyword, roswell, ROS.SCRIPT.DUMP, and the package
|
||||
of the main function symbol).
|
||||
.RS
|
||||
.RE
|
||||
.B \[en]delete\-all\-packages
|
||||
This option applies \[en]delete\-package PKG on all packages, except
|
||||
some blacklisted packages (keyword, roswell, ROS.SCRIPT.DUMP, and the
|
||||
package of the main function symbol).
|
||||
.TP
|
||||
.B \-\-delete\-packages\-except PACKAGE
|
||||
.B \[en]delete\-packages\-except PACKAGE
|
||||
This option can be specified multiple times.
|
||||
It is identical to \-\-delete\-all\-packages except that it adds PACKAGE
|
||||
to the blacklist.
|
||||
Package names are automatically string\-upcase\[aq]d.
|
||||
.RS
|
||||
.RE
|
||||
It is identical to \[en]delete\-all\-packages except that it adds
|
||||
PACKAGE to the blacklist.
|
||||
Package names are automatically string\-upcase\[cq]d.
|
||||
.TP
|
||||
.B \-\-destroy\-packages\-sbcl
|
||||
.B \[en]destroy\-packages\-sbcl
|
||||
This is an sbcl\-specific option which is even more aggressive than the
|
||||
above methods (>10MB reduction).
|
||||
It destroys the package system by modifying the internal tables for
|
||||
packages, cleaning up the caches for package\-use\-list etc.
|
||||
The blacklist is shared among \-\-delete\-all\-packages and
|
||||
\-\-destroy\-packages\-sbcl.
|
||||
The blacklist is shared among \[en]delete\-all\-packages and
|
||||
\[en]destroy\-packages\-sbcl.
|
||||
However, this method does not call fmakunbound/makunbound, so combining
|
||||
the two methods can result in a more aggressive image size reduction.
|
||||
Due to the nature of this option, it is desirable to specify it as the
|
||||
last method (i.e.
|
||||
rightmost).
|
||||
.RS
|
||||
.RE
|
||||
last method (i.e.\ rightmost).
|
||||
.TP
|
||||
.B \-\-purify, \-\-no\-purify
|
||||
.B \[en]purify, \[en]no\-purify
|
||||
This is common to CCL, SBCL, CMUCL.
|
||||
Moves all objects to the static space where GC does not scan, for the
|
||||
later performance of GC.
|
||||
Purification is enabled by default.
|
||||
.RS
|
||||
.RE
|
||||
.TP
|
||||
.B \-\-impurify, \-\-no\-impurify
|
||||
.B \[en]impurify, \[en]no\-impurify
|
||||
This is an CCL\-specific option (enabled by default).
|
||||
It moves all objects to the dynamic space before saving the image.
|
||||
This allows the static\-space objects to be GC\[aq]ed.
|
||||
This allows the static\-space objects to be GC\[cq]ed.
|
||||
When purification is enabled, it impurifies all objects before running
|
||||
the purifying GC.
|
||||
.RS
|
||||
.RE
|
||||
.TP
|
||||
.B \-\-delete\-debug\-info
|
||||
.B \[en]delete\-debug\-info
|
||||
This removes the debug infomation of functions (used to show the stack
|
||||
frame etc), as well as the source locations and the deprecation
|
||||
information of various symbols.
|
||||
SBCL only.
|
||||
This option has a large effect (+10MB reduction).
|
||||
.RS
|
||||
.RE
|
||||
.TP
|
||||
.B \-\-delete\-macro\-definitions, \-\-delete\-compiler\-macro\-definitions
|
||||
.B \[en]delete\-macro\-definitions, \[en]delete\-compiler\-macro\-definitions
|
||||
This removes all definitions of macros and compiler\-macros, assuming
|
||||
that no runtime compilation/interpretation of code will be performed.
|
||||
This option should be portable across implementations.
|
||||
It has ~2MB reduction on SBCL.
|
||||
.RS
|
||||
.RE
|
||||
It has \[ti]2MB reduction on SBCL.
|
||||
.TP
|
||||
.B \-\-delete\-compiler\-information\-sbcl
|
||||
.B \[en]delete\-compiler\-information\-sbcl
|
||||
This is an SBCL\-specific option which is more aggressive than the above
|
||||
methods (~4MB reduction).
|
||||
methods (\[ti]4MB reduction).
|
||||
In addition to the macro and the compiler\-macro definitions, it
|
||||
destroys the internal compiler systems of SBCL by also removing the
|
||||
inlining information, IR1 transformer and IR2 (VOP).
|
||||
.RS
|
||||
.RE
|
||||
.SH SEE ALSO
|
||||
.PP
|
||||
\f[I]sbcl\f[](1) \f[I]ros\f[](1) \f[I]ros\-init\f[](1)
|
||||
\f[I]sbcl\f[R](1) \f[I]ros\f[R](1) \f[I]ros\-init\f[R](1)
|
||||
.SH AUTHORS
|
||||
Roswell Project Team.
|
||||
|
|
|
|||
|
|
@ -1,11 +1,11 @@
|
|||
.\" Automatically generated by Pandoc 1.16.0.2
|
||||
.\" Automatically generated by Pandoc 2.5
|
||||
.\"
|
||||
.TH "ros-emacs" "1" "" "" ""
|
||||
.hy
|
||||
.PP
|
||||
ros\-emacs \- launch Emacs with Slime # Synopsis
|
||||
.PP
|
||||
\f[B]ros emacs\f[] [ARGS...]
|
||||
\f[B]ros emacs\f[R] [ARGS\&...]
|
||||
.SH Description
|
||||
.PP
|
||||
Launches Emacs with a Slime(https://common\-lisp.net/project/slime/)
|
||||
|
|
@ -14,6 +14,6 @@ of roswell.
|
|||
Additional arguments are passed to emacs.
|
||||
.SH SEE ALSO
|
||||
.PP
|
||||
\f[I]ros\f[](1), \f[I]emacs\f[](1)
|
||||
\f[I]ros\f[R](1), \f[I]emacs\f[R](1)
|
||||
.SH AUTHORS
|
||||
Roswell Project Team.
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
.\" Automatically generated by Pandoc 1.16.0.2
|
||||
.\" Automatically generated by Pandoc 2.5
|
||||
.\"
|
||||
.TH "ros-help" "1" "" "" ""
|
||||
.hy
|
||||
|
|
@ -6,12 +6,12 @@
|
|||
ros\-help \- Show Command help
|
||||
.SH Synopsis
|
||||
.PP
|
||||
\f[B]ros help\f[] [subcommand or topics]
|
||||
\f[B]ros help\f[R] [subcommand or topics]
|
||||
.SH Description
|
||||
.PP
|
||||
\f[B]ros help\f[] shows description of subcommand or topics
|
||||
\f[B]ros help\f[R] shows description of subcommand or topics
|
||||
.SH SEE ALSO
|
||||
.PP
|
||||
\f[I]sbcl\f[](1), \f[I]ros\f[](1)
|
||||
\f[I]sbcl\f[R](1), \f[I]ros\f[R](1)
|
||||
.SH AUTHORS
|
||||
Roswell Project Team.
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
.\" Automatically generated by Pandoc 1.16.0.2
|
||||
.\" Automatically generated by Pandoc 2.5
|
||||
.\"
|
||||
.TH "ros-init" "1" "" "" ""
|
||||
.hy
|
||||
|
|
@ -6,16 +6,16 @@
|
|||
ros\-init \- Create a roswell script (optionally based on a template)
|
||||
.SH Synopsis
|
||||
.PP
|
||||
\f[B]ros init [TEMPLATE] NAME [ARGS...]]\f[]
|
||||
\f[B]ros init [TEMPLATE] NAME [ARGS\&...]]\f[R]
|
||||
.TP
|
||||
.B TEMPLATE
|
||||
Specifies the name of a template, defaulted to \f[I]default\f[]
|
||||
Specifies the name of a template, defaulted to \f[I]default\f[R]
|
||||
template.
|
||||
However, if \f[I]TEMPLATE\f[] is not specified and \f[I]FILENAME\f[]
|
||||
However, if \f[I]TEMPLATE\f[R] is not specified and \f[I]FILENAME\f[R]
|
||||
matches one of the templates being stored, then it automatically uses
|
||||
the template.
|
||||
To suppress this behavior, you should explicitly specify
|
||||
\f[I]TEMPLATE\f[] as \f[I]default\f[].
|
||||
\f[I]TEMPLATE\f[R] as \f[I]default\f[R].
|
||||
.RS
|
||||
.PP
|
||||
Thus you are warned when you use this command from a shell script.
|
||||
|
|
@ -24,47 +24,46 @@ that they should always explicitly specify the template name.
|
|||
.RE
|
||||
.TP
|
||||
.B NAME
|
||||
Specify the output filename, or "\-" to indicate \f[I]stdout\f[].
|
||||
When \f[I]TEMPLATE\f[] is \f[I]default\f[], it automatically appends a
|
||||
file type ".ros".
|
||||
.RS
|
||||
.RE
|
||||
Specify the output filename, or \[lq]\-\[rq] to indicate
|
||||
\f[I]stdout\f[R].
|
||||
When \f[I]TEMPLATE\f[R] is \f[I]default\f[R], it automatically appends a
|
||||
file type \[lq].ros\[rq].
|
||||
.SH Description
|
||||
.PP
|
||||
Initialises a roswell file based on a template.
|
||||
User\-specified templates can be added by \f[I]ros\-template\f[](1).
|
||||
User\-specified templates can be added by \f[I]ros\-template\f[R](1).
|
||||
.PP
|
||||
The default template is something like:
|
||||
.IP
|
||||
.nf
|
||||
\f[C]
|
||||
#!/bin/sh
|
||||
#|\-*\-\ mode:lisp\ \-*\-|#
|
||||
#|\ <Put\ a\ one\-line\ description\ here>
|
||||
exec\ ros\ \-Q\ \-\-\ $0\ "$\@"
|
||||
#|\-*\- mode:lisp \-*\-|#
|
||||
#| <Put a one\-line description here>
|
||||
exec ros \-Q \-\- $0 \[dq]$\[at]\[dq]
|
||||
|#
|
||||
(progn\ ;;init\ forms
|
||||
\ \ (ros:ensure\-asdf)
|
||||
\ \ ;;#+quicklisp\ (ql:quickload\ \[aq]()\ :silent\ t)
|
||||
\ \ )
|
||||
(progn ;;init forms
|
||||
(ros:ensure\-asdf)
|
||||
;;#+quicklisp (ql:quickload \[aq]() :silent t)
|
||||
)
|
||||
|
||||
(defpackage\ :ros.script.test.3703600390
|
||||
\ \ (:use\ :cl))
|
||||
(in\-package\ :ros.script.test.3703600390)
|
||||
(defpackage :ros.script.test.3703600390
|
||||
(:use :cl))
|
||||
(in\-package :ros.script.test.3703600390)
|
||||
|
||||
(defun\ main\ (&rest\ argv)
|
||||
\ \ (declare\ (ignorable\ argv)))
|
||||
;;;\ vim:\ set\ ft=lisp\ lisp:
|
||||
\f[]
|
||||
(defun main (&rest argv)
|
||||
(declare (ignorable argv)))
|
||||
;;; vim: set ft=lisp lisp:
|
||||
\f[R]
|
||||
.fi
|
||||
.PP
|
||||
This is basically a shell script which immediately invokes Roswell by
|
||||
exec (see \f[I]sh(1)\f[]).
|
||||
exec (see \f[I]sh(1)\f[R]).
|
||||
Roswell loads the same script as an input, skips multi\-line comments,
|
||||
reads the rest of the file as a Common Lisp program, and finally invokes
|
||||
a function main with command\-line arguments.
|
||||
.SH SEE ALSO
|
||||
.PP
|
||||
\f[I]sbcl\f[](1) \f[I]ros\f[](1) \f[I]ros\-template\f[](1)
|
||||
\f[I]sbcl\f[R](1) \f[I]ros\f[R](1) \f[I]ros\-template\f[R](1)
|
||||
.SH AUTHORS
|
||||
Roswell Project Team.
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
.\" Automatically generated by Pandoc 1.16.0.2
|
||||
.\" Automatically generated by Pandoc 2.5
|
||||
.\"
|
||||
.TH "ros-install" "1" "" "" ""
|
||||
.hy
|
||||
|
|
@ -6,82 +6,78 @@
|
|||
ros\-install \- Install lisp implementations or quicklisp system
|
||||
.SH Synopsis
|
||||
.IP \[bu] 2
|
||||
\f[B]ros install\f[] system [system ...]
|
||||
\f[B]ros install\f[R] system [system \&...]
|
||||
.IP \[bu] 2
|
||||
\f[B]ros install\f[] impl[/version] [param ...]
|
||||
\f[B]ros install\f[R] impl[/version] [param \&...]
|
||||
.SH Description
|
||||
.TP
|
||||
.B system
|
||||
a name specifying a system.
|
||||
.RS
|
||||
.RE
|
||||
.TP
|
||||
.B impl
|
||||
a name specifying a lisp implementation.
|
||||
.RS
|
||||
.RE
|
||||
.SH Installing a Lisp Implementation
|
||||
.PP
|
||||
When the \f[C]impl\f[] or \f[C]system\f[] matches to one of the
|
||||
When the \f[C]impl\f[R] or \f[C]system\f[R] matches to one of the
|
||||
supported implementations, it fetches, downloads and installs it to one
|
||||
of the internal directory managed by roswell (~/.roswell, or
|
||||
\f[C]ROSWELL_INSTALL_DIR\f[]).
|
||||
of the internal directory managed by roswell (\[ti]/.roswell, or
|
||||
\f[C]ROSWELL_INSTALL_DIR\f[R]).
|
||||
In order to use the installed implementation, you have to run
|
||||
\f[I]ros\-use(1)\f[].
|
||||
\f[I]ros\-use(1)\f[R].
|
||||
.PP
|
||||
For example, the following command downloads the latest sbcl binary from
|
||||
sbcl.org.
|
||||
Note that this may be different from the default binary installed by
|
||||
roswell, called \f[C]sbcl\-bin\f[].
|
||||
\f[C]sbcl\-bin\f[] is a stable and well\-tested version of the sbcl
|
||||
roswell, called \f[C]sbcl\-bin\f[R].
|
||||
\f[C]sbcl\-bin\f[R] is a stable and well\-tested version of the sbcl
|
||||
binary which is supposed to be a little older than the latest sbcl.
|
||||
.IP
|
||||
.nf
|
||||
\f[C]
|
||||
$\ ros\ install\ sbcl
|
||||
\f[]
|
||||
$ ros install sbcl
|
||||
\f[R]
|
||||
.fi
|
||||
.PP
|
||||
When invoked without a name, it prints the list of installable
|
||||
implementations.
|
||||
(Not to be confused with \f[C]ros\ list\ installed\f[], which shows the
|
||||
(Not to be confused with \f[C]ros list installed\f[R], which shows the
|
||||
implementations already installed.)
|
||||
.IP
|
||||
.nf
|
||||
\f[C]
|
||||
Usage:\ ros\ install\ impl\ [OPTIONS]
|
||||
Usage: ros install impl [OPTIONS]
|
||||
|
||||
For\ more\ details\ on\ impl\ specific\ options,\ type:
|
||||
ros\ help\ install\ impl
|
||||
For more details on impl specific options, type:
|
||||
ros help install impl
|
||||
|
||||
Candidates\ impls\ for\ installation\ are:
|
||||
Candidates impls for installation are:
|
||||
ecl
|
||||
sbcl
|
||||
clisp
|
||||
ccl\-bin
|
||||
sbcl\-bin
|
||||
\f[]
|
||||
\f[R]
|
||||
.fi
|
||||
.PP
|
||||
The name can be optionally followed by a slash \f[C]/\f[] and a version
|
||||
The name can be optionally followed by a slash \f[C]/\f[R] and a version
|
||||
of the implementation.
|
||||
.IP
|
||||
.nf
|
||||
\f[C]
|
||||
$\ ros\ install\ sbcl/1.2.14
|
||||
\f[]
|
||||
$ ros install sbcl/1.2.14
|
||||
\f[R]
|
||||
.fi
|
||||
.PP
|
||||
There might be some \f[I]hidden\f[] implementation that are not listed
|
||||
here \-\-\- they are in the alpha quality, but try the one you like or
|
||||
There might be some \f[I]hidden\f[R] implementation that are not listed
|
||||
here \[em] they are in the alpha quality, but try the one you like or
|
||||
watch the website (https://github.com/roswell/roswell).
|
||||
.IP
|
||||
.nf
|
||||
\f[C]
|
||||
$\ ros\ install\ ccl
|
||||
$\ ros\ install\ abcl
|
||||
$\ ...
|
||||
\f[]
|
||||
$ ros install ccl
|
||||
$ ros install abcl
|
||||
$ ...
|
||||
\f[R]
|
||||
.fi
|
||||
.SH Installing a quicklisp system and the bundled roswell scripts
|
||||
.PP
|
||||
|
|
@ -90,36 +86,36 @@ tries to find a quicklisp system of the given name.
|
|||
.IP
|
||||
.nf
|
||||
\f[C]
|
||||
$\ ros\ install\ alexandria
|
||||
\f[]
|
||||
$ ros install alexandria
|
||||
\f[R]
|
||||
.fi
|
||||
.PP
|
||||
After compiling and loading the system, it funcalls
|
||||
\f[C]ros:*build\-hook*\f[] special variable with no argument, if some
|
||||
\f[C]ros:*build\-hook*\f[R] special variable with no argument, if some
|
||||
function is set during the compilation/load.
|
||||
.PP
|
||||
When the system comes with a \f[B]roswell script\f[] created by
|
||||
\f[I]ros\-init\f[](1) in the subdirectory \f[C]roswell\f[], they are
|
||||
installed into \f[B]ROSWELL_INSTALL_DIR/bin\f[].
|
||||
When the system comes with a \f[B]roswell script\f[R] created by
|
||||
\f[I]ros\-init\f[R](1) in the subdirectory \f[C]roswell\f[R], they are
|
||||
installed into \f[B]ROSWELL_INSTALL_DIR/bin\f[R].
|
||||
Setting the path to this directory makes those scripts available from
|
||||
the shell command line.
|
||||
.IP
|
||||
.nf
|
||||
\f[C]
|
||||
$\ ros\ install\ qlot
|
||||
System\ \[aq]qlot\[aq]\ found.\ Loading\ the\ system..
|
||||
Processing\ build\-hook..
|
||||
Found\ 1\ scripts:\ qlot
|
||||
Attempting\ to\ install\ the\ scripts\ in\ roswell/\ subdirectory\ of\ the\ system...
|
||||
$ ros install qlot
|
||||
System \[aq]qlot\[aq] found. Loading the system..
|
||||
Processing build\-hook..
|
||||
Found 1 scripts: qlot
|
||||
Attempting to install the scripts in roswell/ subdirectory of the system...
|
||||
/home/user/.roswell/bin/qlot
|
||||
|
||||
$\ qlot
|
||||
Usage:\ qlot\ [install\ |\ update\ |\ bundle\ |\ exec\ shell\-args..]
|
||||
\f[]
|
||||
$ qlot
|
||||
Usage: qlot [install | update | bundle | exec shell\-args..]
|
||||
\f[R]
|
||||
.fi
|
||||
.SH SEE ALSO
|
||||
.PP
|
||||
\f[I]sbcl\f[](1), \f[I]ros\f[](1), \f[I]ros\-list\f[](1),
|
||||
\f[I]ros\-init\f[](1)
|
||||
\f[I]sbcl\f[R](1), \f[I]ros\f[R](1), \f[I]ros\-list\f[R](1),
|
||||
\f[I]ros\-init\f[R](1)
|
||||
.SH AUTHORS
|
||||
Roswell Project Team.
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
.\" Automatically generated by Pandoc 1.16.0.2
|
||||
.\" Automatically generated by Pandoc 2.5
|
||||
.\"
|
||||
.TH "ros-list" "1" "" "" ""
|
||||
.hy
|
||||
|
|
@ -6,35 +6,29 @@
|
|||
ros\-list \- list the materials installed by roswell
|
||||
.SH Synopsis
|
||||
.PP
|
||||
\f[B]ros list [type] [options]\f[]
|
||||
\f[B]ros list [type] [options]\f[R]
|
||||
.SH Description
|
||||
.PP
|
||||
\f[B]ros list\f[] shows the list of the materials installed by roswell.
|
||||
\f[B]ros list\f[R] shows the list of the materials installed by roswell.
|
||||
.TP
|
||||
.B installed [ [ IMPL | IMPL/VERSION ]...]
|
||||
.B installed [ [ IMPL | IMPL/VERSION ]\&...]
|
||||
List the implementations that have been already installed.
|
||||
Optionally providing IMPL shows the installed versions of the
|
||||
implementation.
|
||||
.RS
|
||||
.RE
|
||||
.TP
|
||||
.B dump [IMPL]
|
||||
List the internal dumped images that are compatible with IMPL.
|
||||
When IMPL is ommited, it is defaulted to the current lisp implementation
|
||||
in use.
|
||||
Images are in \f[C]$ROSWELL_INSTALL_DIR/impl/.../dump/\f[].
|
||||
.RS
|
||||
.RE
|
||||
Images are in \f[C]$ROSWELL_INSTALL_DIR/impl/.../dump/\f[R].
|
||||
.TP
|
||||
.B versions [IMPL]
|
||||
List the installable versions for IMPL.
|
||||
When IMPL is ommited, it is defaulted to the current lisp implementation
|
||||
in use.
|
||||
This feature is experimental.
|
||||
.RS
|
||||
.RE
|
||||
.SH SEE ALSO
|
||||
.PP
|
||||
\f[I]sbcl\f[](1) \f[I]ros\f[](1)
|
||||
\f[I]sbcl\f[R](1) \f[I]ros\f[R](1)
|
||||
.SH AUTHORS
|
||||
Roswell Project Team.
|
||||
|
|
|
|||
|
|
@ -1,17 +1,17 @@
|
|||
.\" Automatically generated by Pandoc 1.16.0.2
|
||||
.\" Automatically generated by Pandoc 2.5
|
||||
.\"
|
||||
.TH "ros-run" "1" "" "" ""
|
||||
.hy
|
||||
.PP
|
||||
ros\-run \- start a REPL # Synopsis
|
||||
.PP
|
||||
\f[B]ros [options] run\f[]
|
||||
\f[B]ros [options] run\f[R]
|
||||
.SH Description
|
||||
.PP
|
||||
Processes the given options and start a REPL using the currently
|
||||
effective lisp implementation set by \f[I]ros\-use\f[](1).
|
||||
effective lisp implementation set by \f[I]ros\-use\f[R](1).
|
||||
.SH SEE ALSO
|
||||
.PP
|
||||
\f[I]ros\f[](1)
|
||||
\f[I]ros\f[R](1)
|
||||
.SH AUTHORS
|
||||
Roswell Project Team.
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
.\" Automatically generated by Pandoc 1.16.0.2
|
||||
.\" Automatically generated by Pandoc 2.5
|
||||
.\"
|
||||
.TH "ros-serve" "1" "" "" ""
|
||||
.hy
|
||||
|
|
@ -6,26 +6,22 @@
|
|||
ros\-serve \- start lisp server
|
||||
.SH Synopsis
|
||||
.PP
|
||||
\f[B]ros [options for roswell ... ] serve\f[] protocol [options for the
|
||||
protocol ...] ...
|
||||
\f[B]ros [options for roswell \&... ] serve\f[R] protocol [options for
|
||||
the protocol \&...] \&...
|
||||
.SH description
|
||||
.PP
|
||||
\f[C]ros\-serve\f[] start lisp and wait for clients to connect to the
|
||||
\f[C]ros\-serve\f[R] start lisp and wait for clients to connect to the
|
||||
lisp.
|
||||
.SH swank protocol options
|
||||
.TP
|
||||
.B \f[C]\-\-port\ port\f[]
|
||||
Listen port would be \f[C]port\f[] instead of the default port 4005.
|
||||
.RS
|
||||
.RE
|
||||
.B \f[C]\-\-port port\f[R]
|
||||
Listen port would be \f[C]port\f[R] instead of the default port 4005.
|
||||
.TP
|
||||
.B \f[C]\-\-interface\ interface\f[]
|
||||
.B \f[C]\-\-interface interface\f[R]
|
||||
limit interface for listen.
|
||||
default is \f[C]localhost\f[] so there would be no limitation.
|
||||
.RS
|
||||
.RE
|
||||
default is \f[C]localhost\f[R] so there would be no limitation.
|
||||
.SH SEE ALSO
|
||||
.PP
|
||||
\f[I]ros\f[](1) \f[I]ros\-client\f[](1)
|
||||
\f[I]ros\f[R](1) \f[I]ros\-client\f[R](1)
|
||||
.SH AUTHORS
|
||||
Roswell Project Team.
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
.\" Automatically generated by Pandoc 1.16.0.2
|
||||
.\" Automatically generated by Pandoc 2.5
|
||||
.\"
|
||||
.TH "ros-setup" "1" "" "" ""
|
||||
.hy
|
||||
|
|
@ -6,22 +6,22 @@
|
|||
ros\-setup \- setup the backend of roswell
|
||||
.SH Synopsis
|
||||
.PP
|
||||
\f[B]ros setup\f[]
|
||||
\f[B]ros setup\f[R]
|
||||
.SH Description
|
||||
.PP
|
||||
\f[B]ros setup\f[] initializes roswell.
|
||||
\f[B]ros setup\f[R] initializes roswell.
|
||||
The process includes the following steps:
|
||||
.IP \[bu] 2
|
||||
Downloading the default stable lisp implementation (sbcl\-bin) to
|
||||
\f[C]ROSWELL_INSTALL_DIR\f[].
|
||||
\f[C]ROSWELL_INSTALL_DIR\f[R].
|
||||
.IP \[bu] 2
|
||||
Installing quicklisp to \f[C]ROSWELL_INSTALL_DIR\f[].
|
||||
Installing quicklisp to \f[C]ROSWELL_INSTALL_DIR\f[R].
|
||||
.IP \[bu] 2
|
||||
On Windows, install 7zip to \f[C]ROSWELL_INSTALL_DIR\f[].
|
||||
On Windows, install 7zip to \f[C]ROSWELL_INSTALL_DIR\f[R].
|
||||
.IP \[bu] 2
|
||||
Making the core image of roswell itself.
|
||||
.SH SEE ALSO
|
||||
.PP
|
||||
\f[I]sbcl\f[](1), \f[I]ros\f[](1), section Environmental Variables
|
||||
\f[I]sbcl\f[R](1), \f[I]ros\f[R](1), section Environmental Variables
|
||||
.SH AUTHORS
|
||||
Roswell Project Team.
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
.\" Automatically generated by Pandoc 1.16.0.2
|
||||
.\" Automatically generated by Pandoc 2.5
|
||||
.\"
|
||||
.TH "ros-template" "1" "" "" ""
|
||||
.hy
|
||||
|
|
@ -6,248 +6,223 @@
|
|||
ros\-template \- Edit template for ros\-init
|
||||
.SH synopsis
|
||||
.IP \[bu] 2
|
||||
\f[B]ros template\f[] command args...
|
||||
\f[B]ros template\f[R] command args\&...
|
||||
.SH Subcommands
|
||||
.TP
|
||||
.B init template\-name
|
||||
Create new template in local\-project directory.
|
||||
.RS
|
||||
.RE
|
||||
.TP
|
||||
.B deinit template\-name
|
||||
Remove a template from local\-project directory.
|
||||
.RS
|
||||
.RE
|
||||
.TP
|
||||
.B list
|
||||
Show file list and states of the files \f[I]type\f[] \f[I]chmod\f[]
|
||||
\f[I]rewrite\f[] in templates.
|
||||
.RS
|
||||
.RE
|
||||
Show file list and states of the files \f[I]type\f[R] \f[I]chmod\f[R]
|
||||
\f[I]rewrite\f[R] in templates.
|
||||
.TP
|
||||
.B checkout [template\-name]
|
||||
When invoked without template\-name,this command shows candidates for
|
||||
current templates to operate.If with template\-name, this command choose
|
||||
the name as current template.
|
||||
.RS
|
||||
.RE
|
||||
.TP
|
||||
.B add [template\-name] [files ...]
|
||||
.B add [template\-name] [files \&...]
|
||||
Add files to current template.First parameter could taken as a
|
||||
template\-name when current template are \f[I]default\f[].
|
||||
.RS
|
||||
.RE
|
||||
template\-name when current template are \f[I]default\f[R].
|
||||
.TP
|
||||
.B cat [template\-name] [files ...]
|
||||
.B cat [template\-name] [files \&...]
|
||||
Show contents in the current template.
|
||||
.RS
|
||||
.RE
|
||||
.TP
|
||||
.B edit [template\-name] [files ...]
|
||||
Edit content of files in template using \f[C]/usr/bin/editor\f[].
|
||||
.RS
|
||||
.RE
|
||||
.B edit [template\-name] [files \&...]
|
||||
Edit content of files in template using \f[C]/usr/bin/editor\f[R].
|
||||
.TP
|
||||
.B rm [template\-name] [files ...]
|
||||
.B path [template\-name] [files \&...]
|
||||
Show native path of files in template.
|
||||
.TP
|
||||
.B rm [template\-name] [files \&...]
|
||||
Remove file form current template.
|
||||
.RS
|
||||
.RE
|
||||
.TP
|
||||
.B type [template\-name] [type] [files ...]
|
||||
.B type [template\-name] [type] [files \&...]
|
||||
Change file type.
|
||||
current choice for \f[I]type\f[]s are \f[I]djula\f[] or \f[I]copy\f[]
|
||||
current choice for \f[I]type\f[R]s are \f[I]djula\f[R] or \f[I]copy\f[R]
|
||||
{{name}} {{author}} {{email}} {{universal_time}} are available variable
|
||||
in the template file.
|
||||
Withoug files, change default type.
|
||||
.RS
|
||||
.RE
|
||||
.TP
|
||||
.B chmod [template\-name] [mode] [files ...]
|
||||
.B chmod [template\-name] [mode] [files \&...]
|
||||
Change file mode bits to generate.
|
||||
specify mode in octal format.
|
||||
.RS
|
||||
.RE
|
||||
.TP
|
||||
.B rewrite [template\-name] file rewrite\-rule
|
||||
Change file name using djula template.Variables {{name}} {{author}}
|
||||
{{email}} {{universal_time}} are available for rewrite\-rule.
|
||||
.RS
|
||||
.RE
|
||||
.TP
|
||||
.B export [template\-name] [directory]
|
||||
Export files in current template to current directory.
|
||||
.RS
|
||||
.RE
|
||||
.TP
|
||||
.B import [directory]
|
||||
Import template in current directory
|
||||
.RS
|
||||
.RE
|
||||
.TP
|
||||
.B help
|
||||
Show the subcommand help.
|
||||
.RS
|
||||
.RE
|
||||
.SH Description
|
||||
.PP
|
||||
The \f[I]ros\-template\f[](1) command manages templates of projects.
|
||||
The \f[I]ros\-template\f[R](1) command manages templates of projects.
|
||||
.SS Create template
|
||||
.PP
|
||||
First, the \f[C]init\f[] sub\-command creates an empty template.
|
||||
First, the \f[C]init\f[R] sub\-command creates an empty template.
|
||||
.IP
|
||||
.nf
|
||||
\f[C]
|
||||
$\ ros\ template\ init\ sample\-template
|
||||
\f[]
|
||||
$ ros template init sample\-template
|
||||
\f[R]
|
||||
.fi
|
||||
.PP
|
||||
Many of sub\-commands take a template name as first argument.
|
||||
But you can omit it by the \f[C]checkout\f[] sub\-commands.
|
||||
But you can omit it by the \f[C]checkout\f[R] sub\-commands.
|
||||
After the following, such sub\-commands are applied to
|
||||
\f[C]sample\-template\f[].
|
||||
\f[C]sample\-template\f[R].
|
||||
.IP
|
||||
.nf
|
||||
\f[C]
|
||||
$\ ros\ template\ checkout\ sample\-template
|
||||
\f[]
|
||||
$ ros template checkout sample\-template
|
||||
\f[R]
|
||||
.fi
|
||||
.PP
|
||||
Next, the \f[C]add\f[] sub\-command adds local file[s] to template.
|
||||
Then, the \f[C]list\f[] sub\-command shows information of files in
|
||||
Next, the \f[C]add\f[R] sub\-command adds local file[s] to template.
|
||||
Then, the \f[C]list\f[R] sub\-command shows information of files in
|
||||
template.
|
||||
.IP
|
||||
.nf
|
||||
\f[C]
|
||||
$\ echo\ "Hello\ {{\ author\ }}!!"\ >\ sample.txt
|
||||
$\ ros\ template\ add\ sample.txt
|
||||
$\ ros\ template\ list
|
||||
\ \ \ \ \ \ copy\ \ sample.txt\
|
||||
\f[]
|
||||
$ echo \[dq]Hello {{ author }}!!\[dq] > sample.txt
|
||||
$ ros template add sample.txt
|
||||
$ ros template list
|
||||
copy sample.txt
|
||||
\f[R]
|
||||
.fi
|
||||
.PP
|
||||
The word \f[I]copy\f[] means a strategy when applying the template.
|
||||
The word \f[I]copy\f[R] means a strategy when applying the template.
|
||||
There are the following 2 strategies.
|
||||
.IP \[bu] 2
|
||||
\f[I]copy\f[] simply copies the file as\-is.
|
||||
\f[I]copy\f[R] simply copies the file as\-is.
|
||||
.IP \[bu] 2
|
||||
\f[I]djula\f[] processes the content of the file by template engine,
|
||||
\f[I]djula\f[R] processes the content of the file by template engine,
|
||||
Djula (http://mmontone.github.io/djula/).
|
||||
.RS 2
|
||||
.IP \[bu] 2
|
||||
Available variables are explained later.
|
||||
.RE
|
||||
.PP
|
||||
The \f[C]type\f[] sub\-command changes it.
|
||||
In addition, default strategy (\f[I]copy\f[]) can be changed for each
|
||||
template by the \f[C]type\f[] sub\-command without file names (Ex.
|
||||
\f[C]ros\ template\ type\ djula\f[]).
|
||||
The \f[C]type\f[R] sub\-command changes it.
|
||||
In addition, default strategy (\f[I]copy\f[R]) can be changed for each
|
||||
template by the \f[C]type\f[R] sub\-command without file names (Ex.
|
||||
\f[C]ros template type djula\f[R]).
|
||||
.IP
|
||||
.nf
|
||||
\f[C]
|
||||
$\ ros\ template\ type\ djula\ sample.txt
|
||||
$\ ros\ template\ list
|
||||
\ \ \ \ \ \ djula\ sample.txt\
|
||||
\f[]
|
||||
$ ros template type djula sample.txt
|
||||
$ ros template list
|
||||
djula sample.txt
|
||||
\f[R]
|
||||
.fi
|
||||
.PP
|
||||
The \f[C]sample.txt\f[] will be simply output as \f[C]sample.txt\f[] in
|
||||
default.
|
||||
But you can change it by the \f[C]rewrite\f[] sub\-command.
|
||||
The \f[C]sample.txt\f[R] will be simply output as \f[C]sample.txt\f[R]
|
||||
in default.
|
||||
But you can change it by the \f[C]rewrite\f[R] sub\-command.
|
||||
In the following example, it will be output as
|
||||
\f[C]sample_<project\ name>.txt\f[].
|
||||
\f[C]sample_<project name>.txt\f[R].
|
||||
.IP
|
||||
.nf
|
||||
\f[C]
|
||||
$\ ros\ template\ rewrite\ sample.txt\ "sample\-{{\ name\ }}.txt"
|
||||
$\ ros\ template\ list
|
||||
\ \ \ \ \ \ djula\ sample.txt\ \->\ "sample\-{{\ name\ }}.txt"
|
||||
\f[]
|
||||
$ ros template rewrite sample.txt \[dq]sample\-{{ name }}.txt\[dq]
|
||||
$ ros template list
|
||||
djula sample.txt \-> \[dq]sample\-{{ name }}.txt\[dq]
|
||||
\f[R]
|
||||
.fi
|
||||
.PP
|
||||
Note: Rewrite rules are always processed by Djula irrespective of
|
||||
strategy of the file.
|
||||
.SS Apply template
|
||||
.PP
|
||||
\f[I]ros\-init\f[](1) can specify a template.
|
||||
\f[I]ros\-init\f[R](1) can specify a template.
|
||||
.IP
|
||||
.nf
|
||||
\f[C]
|
||||
$\ mkdir\ temp\ ;\ cd\ temp
|
||||
$\ ros\ init\ sample\-template\ some\-project
|
||||
$\ ls
|
||||
$ mkdir temp ; cd temp
|
||||
$ ros init sample\-template some\-project
|
||||
$ ls
|
||||
sample\-some\-project.txt
|
||||
$\ cat\ sample\-some\-project.txt\ #\ Assume\ that\ "author"\ is\ "alien"
|
||||
Hello\ alien!!
|
||||
\f[]
|
||||
$ cat sample\-some\-project.txt # Assume that \[dq]author\[dq] is \[dq]alien\[dq]
|
||||
Hello alien!!
|
||||
\f[R]
|
||||
.fi
|
||||
.PP
|
||||
The file name and its content are processed by Djula as explained in the
|
||||
above.
|
||||
The following variables can be used in defaut.
|
||||
.IP \[bu] 2
|
||||
{{name}}: A project name specified in \f[I]ros\-init\f[](1)
|
||||
{{name}}: A project name specified in \f[I]ros\-init\f[R](1)
|
||||
.IP \[bu] 2
|
||||
{{author}}: An author name extracted from config of Git or
|
||||
\f[C]whoami\f[]
|
||||
\f[C]whoami\f[R]
|
||||
.IP \[bu] 2
|
||||
{{email}}: An e\-mail address extracted from config of Git or created
|
||||
using \f[C]whoami\f[] and \f[C]hostname\f[]
|
||||
using \f[C]whoami\f[R] and \f[C]hostname\f[R]
|
||||
.IP \[bu] 2
|
||||
{{universal_time}}: A universal time created by
|
||||
\f[C]get\-universal\-time\f[] function
|
||||
\f[C]get\-universal\-time\f[R] function
|
||||
.PP
|
||||
In addition, you can use original variables as the followings.
|
||||
.IP
|
||||
.nf
|
||||
\f[C]
|
||||
$\ echo\ "Hello\ {{\ area\ }}!!"\ >\ sample.txt
|
||||
$\ ros\ template\ add\ sample.txt\ #\ Note:\ It\ overwrites\ existing
|
||||
$\ mkdir\ temp\ ;\ cd\ temp
|
||||
$\ ros\ init\ sample\-template\ roswell\ \-\-area\ 51
|
||||
$\ cat\ sample\-roswell.txt
|
||||
Hello\ 51!!
|
||||
\f[]
|
||||
$ echo \[dq]Hello {{ area }}!!\[dq] > sample.txt
|
||||
$ ros template add sample.txt # Note: It overwrites existing
|
||||
$ mkdir temp ; cd temp
|
||||
$ ros init sample\-template roswell \-\-area 51
|
||||
$ cat sample\-roswell.txt
|
||||
Hello 51!!
|
||||
\f[R]
|
||||
.fi
|
||||
.SS Export and import template
|
||||
.PP
|
||||
Basically, \f[I]ros\-template\f[](1) is designed to internally manage
|
||||
Basically, \f[I]ros\-template\f[R](1) is designed to internally manage
|
||||
added files.
|
||||
.PP
|
||||
However, if you want to, for example, manage it using Git in a local
|
||||
directory or to install distributed templates, you can use the
|
||||
\f[C]export\f[] and \f[C]import\f[] sub\-commands.
|
||||
\f[C]export\f[R] and \f[C]import\f[R] sub\-commands.
|
||||
.PP
|
||||
First, the \f[C]export\f[] sub\-command exports added files and a
|
||||
setting file \f[C]roswell.init.<template\ name>.asd\f[] that is
|
||||
First, the \f[C]export\f[R] sub\-command exports added files and a
|
||||
setting file \f[C]roswell.init.<template name>.asd\f[R] that is
|
||||
internally created and editted.
|
||||
.IP
|
||||
.nf
|
||||
\f[C]
|
||||
$\ ros\ template\ export\ dir
|
||||
$\ ls\ dir
|
||||
roswell.init.sample\-template.asd\ \ sample.txt
|
||||
$\ cat\ dir/sample.txt
|
||||
Hello\ {{\ area\ }}!!
|
||||
\f[]
|
||||
$ ros template export dir
|
||||
$ ls dir
|
||||
roswell.init.sample\-template.asd sample.txt
|
||||
$ cat dir/sample.txt
|
||||
Hello {{ area }}!!
|
||||
\f[R]
|
||||
.fi
|
||||
.PP
|
||||
Second, the \f[C]import\f[] sub\-command imports them.
|
||||
Second, the \f[C]import\f[R] sub\-command imports them.
|
||||
.IP
|
||||
.nf
|
||||
\f[C]
|
||||
#\ Assume\ that\ this\ is\ another\ machine...
|
||||
$\ ros\ template\ list\ sample\-template\ #\ nothing\ is\ output\
|
||||
$\ ls\ downloaded
|
||||
roswell.init.sample\-template.asd\ \ sample.txt
|
||||
$\ ros\ template\ import\ downloaded
|
||||
$\ ros\ template\ list\ sample\-template
|
||||
\ \ \ \ \ \ djula\ sample.txt\ \->\ "sample\-{{\ name\ }}.txt"
|
||||
\f[]
|
||||
# Assume that this is another machine...
|
||||
$ ros template list sample\-template # nothing is output
|
||||
$ ls downloaded
|
||||
roswell.init.sample\-template.asd sample.txt
|
||||
$ ros template import downloaded
|
||||
$ ros template list sample\-template
|
||||
djula sample.txt \-> \[dq]sample\-{{ name }}.txt\[dq]
|
||||
\f[R]
|
||||
.fi
|
||||
.PP
|
||||
Note: If there is a template whose name is same, it will be overwritten.
|
||||
.SH SEE ALSO
|
||||
.PP
|
||||
\f[I]ros\f[](1) \f[I]ros\-init\f[](1)
|
||||
\f[I]ros\f[R](1) \f[I]ros\-init\f[R](1)
|
||||
.SH AUTHORS
|
||||
Roswell Project Team.
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
.\" Automatically generated by Pandoc 1.16.0.2
|
||||
.\" Automatically generated by Pandoc 2.5
|
||||
.\"
|
||||
.TH "ros-update" "1" "" "" ""
|
||||
.hy
|
||||
|
|
@ -6,27 +6,23 @@
|
|||
ros\-update \- Update system installed from vcs
|
||||
.SH Synopsis
|
||||
.IP \[bu] 2
|
||||
\f[B]ros update\f[] system [system ...]
|
||||
\f[B]ros update\f[R] system [system \&...]
|
||||
.IP \[bu] 2
|
||||
\f[B]ros update\f[] method [params ...]
|
||||
\f[B]ros update\f[R] method [params \&...]
|
||||
.SH Description
|
||||
.TP
|
||||
.B system
|
||||
a name specifying a system.
|
||||
.RS
|
||||
.RE
|
||||
.TP
|
||||
.B method
|
||||
currently supported method is \f[C]git\f[].
|
||||
.RS
|
||||
.RE
|
||||
currently supported method is \f[C]git\f[R].
|
||||
.SH Update system
|
||||
.PP
|
||||
When system are already installed and the system has \f[C]\&.git\f[] in
|
||||
the system directory it invoke \f[C]git\ pull\f[] and
|
||||
\f[C]ros\ install\f[] the system.
|
||||
When system are already installed and the system has \f[C].git\f[R] in
|
||||
the system directory it invoke \f[C]git pull\f[R] and
|
||||
\f[C]ros install\f[R] the system.
|
||||
.SH SEE ALSO
|
||||
.PP
|
||||
\f[I]ros\f[](1), \f[I]ros\-install\f[](1)
|
||||
\f[I]ros\f[R](1), \f[I]ros\-install\f[R](1)
|
||||
.SH AUTHORS
|
||||
Roswell Project Team.
|
||||
|
|
|
|||
|
|
@ -1,36 +1,36 @@
|
|||
.\" Automatically generated by Pandoc 1.16.0.2
|
||||
.\" Automatically generated by Pandoc 2.5
|
||||
.\"
|
||||
.TH "ros-use" "1" "" "" ""
|
||||
.hy
|
||||
.PP
|
||||
ros\-use \- sets the default implementation used by roswell # synopsis
|
||||
.PP
|
||||
\f[B]ros [options] use\f[] impl[/version]
|
||||
\f[B]ros [options] use\f[R] impl[/version]
|
||||
.PP
|
||||
impl : The name of an implementation which is already installed.
|
||||
New implementations can be downloaded by \f[I]ros\-install\f[](1).
|
||||
New implementations can be downloaded by \f[I]ros\-install\f[R](1).
|
||||
The list of installed implementations is available in
|
||||
\f[I]ros\-list\f[](1).
|
||||
\f[I]ros\-list\f[R](1).
|
||||
.PP
|
||||
version: : The version specifier.
|
||||
The string representation of the version (e.g.
|
||||
.) depends on each implementation and roswell generally follows the
|
||||
representation used by the implementation.
|
||||
In addition, \f[I]a special version name "system"\f[] tells roswell to
|
||||
use the implementation that is installed in your system, which should be
|
||||
in PATH.
|
||||
The string representation of the version (e.g.\ .) depends on each
|
||||
implementation and roswell generally follows the representation used by
|
||||
the implementation.
|
||||
In addition, \f[I]a special version name \[lq]system\[rq]\f[R] tells
|
||||
roswell to use the implementation that is installed in your system,
|
||||
which should be in PATH.
|
||||
.SH example
|
||||
.PP
|
||||
ros use sbcl : use the latest SBCL among several versions of SBCLs
|
||||
installed by \f[I]ros\-install\f[].
|
||||
installed by \f[I]ros\-install\f[R].
|
||||
This is compiled from the source, which may take some time to install
|
||||
but allows SLIME to jump to the implementation source code.
|
||||
.PP
|
||||
ros use sbcl\-bin : use the latest stable SBCL binary downloaded from
|
||||
vendor\[aq]s website.
|
||||
vendor\[cq]s website.
|
||||
Roswell uses this by default.
|
||||
\f[C]sbcl\-bin\f[] tends to be an older version compared to
|
||||
\f[C]sbcl\f[], but surely newer than your \f[I]apt\-get\f[] installed
|
||||
\f[C]sbcl\-bin\f[R] tends to be an older version compared to
|
||||
\f[C]sbcl\f[R], but surely newer than your \f[I]apt\-get\f[R] installed
|
||||
counterpart!
|
||||
.PP
|
||||
ros use sbcl/1.3.1 : use the compiled SBCL 1.3.1.
|
||||
|
|
@ -42,11 +42,11 @@ ros use sbcl/system : use the SBCL available in the PATH.
|
|||
ros use ccl : use the CCL compiled from the source.
|
||||
Same set of version specifiers as for SBCL can be applied.
|
||||
.PP
|
||||
Roswell also supports \f[I]abcl\f[], \f[I]acl\f[], \f[I]clisp\f[],
|
||||
\f[I]cmu\f[] and \f[I]ecl\f[].
|
||||
Roswell also supports \f[I]abcl\f[R], \f[I]acl\f[R], \f[I]clisp\f[R],
|
||||
\f[I]cmu\f[R] and \f[I]ecl\f[R].
|
||||
.SH SEE ALSO
|
||||
.PP
|
||||
\f[I]sbcl\f[](1), \f[I]ros\f[](1), \f[I]ros\-install\f[](1),
|
||||
\f[I]ros\-list\f[](1)
|
||||
\f[I]sbcl\f[R](1), \f[I]ros\f[R](1), \f[I]ros\-install\f[R](1),
|
||||
\f[I]ros\-list\f[R](1)
|
||||
.SH AUTHORS
|
||||
Roswell Project Team.
|
||||
|
|
|
|||
|
|
@ -1,11 +1,11 @@
|
|||
.\" Automatically generated by Pandoc 1.16.0.2
|
||||
.\" Automatically generated by Pandoc 2.5
|
||||
.\"
|
||||
.TH "ros-wait" "1" "" "" ""
|
||||
.hy
|
||||
.PP
|
||||
ros\-wait \- # synopsis
|
||||
.PP
|
||||
\f[B]ros [options] wait\f[]
|
||||
\f[B]ros [options] wait\f[R]
|
||||
.SH Description
|
||||
.PP
|
||||
Wait forever after processing the options.
|
||||
|
|
@ -19,11 +19,11 @@ from the client.
|
|||
.IP
|
||||
.nf
|
||||
\f[C]
|
||||
$\ ros\ \-sp\ clack\ \-l\ app.lisp\ \-e\ \[aq](clack:clackup)\[aq]\ wait
|
||||
\f[]
|
||||
$ ros \-sp clack \-l app.lisp \-e \[aq](clack:clackup)\[aq] wait
|
||||
\f[R]
|
||||
.fi
|
||||
.SH SEE ALSO
|
||||
.PP
|
||||
\f[I]ros\f[](1)
|
||||
\f[I]ros\f[R](1)
|
||||
.SH AUTHORS
|
||||
Roswell Project Team.
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
.\" Automatically generated by Pandoc 1.16.0.2
|
||||
.\" Automatically generated by Pandoc 2.5
|
||||
.\"
|
||||
.TH "ros" "1" "" "" ""
|
||||
.hy
|
||||
|
|
@ -6,11 +6,11 @@
|
|||
Roswell \- Common Lisp environment setup Utility
|
||||
.SH Synopsis
|
||||
.IP \[bu] 2
|
||||
\f[B]ros\f[] [\f[B]options\f[]] \f[C][command\ [args...]\f[]
|
||||
\f[B]ros\f[R] [\f[B]options\f[R]] \f[C][command [args...]\f[R]
|
||||
.IP \[bu] 2
|
||||
\f[B]ros\f[] [\f[B]options\f[]] \f[C][\-\-]script\ [args...]\f[]
|
||||
\f[B]ros\f[R] [\f[B]options\f[R]] \f[C][\-\-]script [args...]\f[R]
|
||||
.IP \[bu] 2
|
||||
\f[B]ros\f[] [\f[B]options\f[]] < script.ros
|
||||
\f[B]ros\f[R] [\f[B]options\f[R]] < script.ros
|
||||
.SH Description
|
||||
.PP
|
||||
Roswell is a command line tool for installing and managing Common Lisp
|
||||
|
|
@ -20,7 +20,7 @@ ROSWELL\-SCRIPTS written in Common Lisp.
|
|||
.PP
|
||||
Currently roswell supports sbcl, ccl, clisp and ecl as its supported
|
||||
lisp implementations.
|
||||
For further details see \f[I]ros\-install\f[](1).
|
||||
For further details see \f[I]ros\-install\f[R](1).
|
||||
.PP
|
||||
Scripts installed by roswell will be system wide if appropriate
|
||||
directory is included in PATH.
|
||||
|
|
@ -29,241 +29,157 @@ directory is included in PATH.
|
|||
In an order of utility/frequency.
|
||||
.TP
|
||||
.B install
|
||||
Install a given implementation (e.g.
|
||||
sbcl, ccl) or a system (e.g.
|
||||
alexandria) for roswell environment.
|
||||
See \f[I]ros\-install\f[](1).
|
||||
.RS
|
||||
.RE
|
||||
Install a given implementation (e.g.\ sbcl, ccl) or a system
|
||||
(e.g.\ alexandria) for roswell environment.
|
||||
See \f[I]ros\-install\f[R](1).
|
||||
.TP
|
||||
.B init [name[.ros]]
|
||||
Create a new ros script.
|
||||
\f[C]\&.ros\f[] is optional, and is added automaticaly.
|
||||
See \f[I]ros\-init\f[].
|
||||
.RS
|
||||
.RE
|
||||
\f[C].ros\f[R] is optional, and is added automaticaly.
|
||||
See \f[I]ros\-init\f[R].
|
||||
.TP
|
||||
.B dump [executable|output] [script]
|
||||
Dump an image of the script for the faster startup or to make an
|
||||
executable.
|
||||
See \f[I]ros\-dump\f[].
|
||||
.RS
|
||||
.RE
|
||||
See \f[I]ros\-dump\f[R].
|
||||
.TP
|
||||
.B build
|
||||
Make an executable from the script.
|
||||
See \f[I]ros\-build\f[].
|
||||
.RS
|
||||
.RE
|
||||
See \f[I]ros\-build\f[R].
|
||||
.TP
|
||||
.B run
|
||||
Initiate REPL.
|
||||
See \f[I]ros\-run\f[].
|
||||
.RS
|
||||
.RE
|
||||
See \f[I]ros\-run\f[R].
|
||||
.TP
|
||||
.B use
|
||||
Change the default implementation used by roswell.
|
||||
See \f[I]ros\-use\f[].
|
||||
.RS
|
||||
.RE
|
||||
See \f[I]ros\-use\f[R].
|
||||
.TP
|
||||
.B list
|
||||
List the various informations.
|
||||
See \f[I]ros\-list\f[].
|
||||
.RS
|
||||
.RE
|
||||
See \f[I]ros\-list\f[R].
|
||||
.TP
|
||||
.B config
|
||||
Get and set the options.
|
||||
See \f[I]ros\-config\f[].
|
||||
.RS
|
||||
.RE
|
||||
See \f[I]ros\-config\f[R].
|
||||
.TP
|
||||
.B setup
|
||||
Run the initial setup.
|
||||
See \f[I]ros\-setup\f[].
|
||||
.RS
|
||||
.RE
|
||||
See \f[I]ros\-setup\f[R].
|
||||
.TP
|
||||
.B emacs
|
||||
Launch emacs with slime.
|
||||
See \f[I]ros\-emacs\f[].
|
||||
.RS
|
||||
.RE
|
||||
See \f[I]ros\-emacs\f[R].
|
||||
.TP
|
||||
.B wait
|
||||
Wait forever, used for daemonizing the script.
|
||||
See \f[I]ros\-wait\f[].
|
||||
.RS
|
||||
.RE
|
||||
See \f[I]ros\-wait\f[R].
|
||||
.TP
|
||||
.B delete
|
||||
Delete an installed implementation.
|
||||
See \f[I]ros\-delete\f[].
|
||||
.RS
|
||||
.RE
|
||||
See \f[I]ros\-delete\f[R].
|
||||
.TP
|
||||
.B version
|
||||
Show the roswell version information.
|
||||
See \f[I]ros\-version\f[].
|
||||
.RS
|
||||
.RE
|
||||
See \f[I]ros\-version\f[R].
|
||||
.TP
|
||||
.B help
|
||||
Show the subcommand help.
|
||||
.RS
|
||||
.RE
|
||||
.SH Options
|
||||
.PP
|
||||
Options are processed in left\-to\-right order.
|
||||
.TP
|
||||
.B \-w CODE \-\-wrap CODE
|
||||
Run the script with a shell wrapper CODE, e.g.
|
||||
rlwrap
|
||||
.RS
|
||||
.RE
|
||||
.B \-w CODE \[en]wrap CODE
|
||||
Run the script with a shell wrapper CODE, e.g.\ rlwrap
|
||||
.TP
|
||||
.B \-m IMAGE \-\-image IMAGE
|
||||
.B \-m IMAGE \[en]image IMAGE
|
||||
Continue from Lisp image IMAGE
|
||||
.RS
|
||||
.RE
|
||||
.TP
|
||||
.B \-L NAME \-\-lisp NAME
|
||||
Run the script with a lisp impl NAME[/VERSION] if present, e.g.
|
||||
sbcl\-bin, sbcl/1.2.16.
|
||||
.B \-L NAME \[en]lisp NAME
|
||||
Run the script with a lisp impl NAME[/VERSION] if present,
|
||||
e.g.\ sbcl\-bin, sbcl/1.2.16.
|
||||
Fails otherwise.
|
||||
.RS
|
||||
.RE
|
||||
.TP
|
||||
.B \-l FILE \-\-load FILE
|
||||
.B \-l FILE \[en]load FILE
|
||||
Load a lisp file FILE while building
|
||||
.RS
|
||||
.RE
|
||||
.TP
|
||||
.B \-S X \-\-source\-registry X
|
||||
.B \-S X \[en]source\-registry X
|
||||
Override the source registry of asdf systems.
|
||||
.RS
|
||||
.RE
|
||||
.TP
|
||||
.B \-s SYSTEM \-\-system SYSTEM
|
||||
.B \-s SYSTEM \[en]system SYSTEM
|
||||
Load the asdf SYSTEM while building.
|
||||
.RS
|
||||
.RE
|
||||
.TP
|
||||
.B \-\-load\-system SYSTEM
|
||||
.B \[en]load\-system SYSTEM
|
||||
Same as above (buildapp compatibility)
|
||||
.RS
|
||||
.RE
|
||||
.TP
|
||||
.B \-p PACKAGE \-\-package PACKAGE
|
||||
.B \-p PACKAGE \[en]package PACKAGE
|
||||
Change the current package to PACKAGE
|
||||
.RS
|
||||
.RE
|
||||
.TP
|
||||
.B \-sp SP \-\-system\-package SP
|
||||
.B \-sp SP \[en]system\-package SP
|
||||
Combination of \-s SP and \-p SP
|
||||
.RS
|
||||
.RE
|
||||
.TP
|
||||
.B \-e FORM \-\-eval FORM
|
||||
.B \-e FORM \[en]eval FORM
|
||||
Evaluate FORM while building
|
||||
.RS
|
||||
.RE
|
||||
.TP
|
||||
.B \-\-require MODULE
|
||||
.B \[en]require MODULE
|
||||
require MODULE while building
|
||||
.RS
|
||||
.RE
|
||||
.TP
|
||||
.B \-q \-\-quit
|
||||
.B \-q \[en]quit
|
||||
quit lisp here
|
||||
.RS
|
||||
.RE
|
||||
.TP
|
||||
.B \-r FUNC \-\-restart FUNC
|
||||
.B \-r FUNC \[en]restart FUNC
|
||||
the build image restarts from calling FUNC
|
||||
.RS
|
||||
.RE
|
||||
.TP
|
||||
.B \-E FUNC \-\-entry FUNC
|
||||
.B \-E FUNC \[en]entry FUNC
|
||||
the build image restarts from calling (FUNC argv).
|
||||
.RS
|
||||
.RE
|
||||
.TP
|
||||
.B \-i FORM \-\-init FORM
|
||||
.B \-i FORM \[en]init FORM
|
||||
evaluate FORM after the restart.
|
||||
.RS
|
||||
.RE
|
||||
.TP
|
||||
.B \-ip FORM \-\-print FORM
|
||||
.B \-ip FORM \[en]print FORM
|
||||
evaluate and princ FORM after the restart
|
||||
.RS
|
||||
.RE
|
||||
.TP
|
||||
.B \-iw FORM \-\-write FORM
|
||||
.B \-iw FORM \[en]write FORM
|
||||
evaluate and write FORM after the restart
|
||||
.RS
|
||||
.RE
|
||||
.TP
|
||||
.B \-F FORM \-\-final FORM
|
||||
.B \-F FORM \[en]final FORM
|
||||
evaluate FORM before dumping the IMAGE
|
||||
.RS
|
||||
.RE
|
||||
.TP
|
||||
.B \-R \-\-rc
|
||||
try to read /etc/rosrc, ~/.roswell/init.lisp
|
||||
.RS
|
||||
.RE
|
||||
.B \-R \[en]rc
|
||||
try to read /etc/rosrc, \[ti]/.roswell/init.lisp
|
||||
.TP
|
||||
.B +R \-\-no\-rc
|
||||
skip /etc/rosrc, ~/.roswell/init.lisp
|
||||
.RS
|
||||
.RE
|
||||
.B +R \[en]no\-rc
|
||||
skip /etc/rosrc, \[ti]/.roswell/init.lisp
|
||||
.TP
|
||||
.B \-Q \-\-quicklisp
|
||||
.B \-Q \[en]quicklisp
|
||||
load quicklisp (default)
|
||||
.RS
|
||||
.RE
|
||||
.TP
|
||||
.B +Q \-\-no\-quicklisp
|
||||
.B +Q \[en]no\-quicklisp
|
||||
do not load quicklisp
|
||||
.RS
|
||||
.RE
|
||||
.TP
|
||||
.B \-v \-\-verbose
|
||||
.B \-v \[en]verbose
|
||||
be quite verbose while building
|
||||
.RS
|
||||
.RE
|
||||
.TP
|
||||
.B \-\-quiet
|
||||
.B \[en]quiet
|
||||
suppress output while building (default)
|
||||
.RS
|
||||
.RE
|
||||
.TP
|
||||
.B \-\-test
|
||||
.B \[en]test
|
||||
for test purpose
|
||||
.RS
|
||||
.RE
|
||||
.TP
|
||||
.B dynamic\-space\-size=[size in MB]
|
||||
SBCL specific.
|
||||
The argument is passed to SBCL by \f[C]\-\-dynamic\-space\-size\f[]
|
||||
.RS
|
||||
.RE
|
||||
The argument is passed to SBCL by \f[C]\-\-dynamic\-space\-size\f[R]
|
||||
.SH Environmental Variables
|
||||
.TP
|
||||
.B ROSWELL_HOME
|
||||
Specifies the home directory of roswell, defaulted to $HOME on Unix
|
||||
platform .
|
||||
.RS
|
||||
.RE
|
||||
.SH Bugs
|
||||
.PP
|
||||
Check out issues list (https://github.com/roswell/roswell/issues)
|
||||
.SH SEE ALSO
|
||||
.PP
|
||||
\f[I]sbcl\f[](1) \f[I]ros\-dump\f[](1) \f[I]ros\-init\f[](1)
|
||||
\f[I]ros\-install\f[](1) \f[I]ros\-list\f[](1) \f[I]ros\-setup\f[](1)
|
||||
\f[I]sbcl\f[R](1) \f[I]ros\-dump\f[R](1) \f[I]ros\-init\f[R](1)
|
||||
\f[I]ros\-install\f[R](1) \f[I]ros\-list\f[R](1) \f[I]ros\-setup\f[R](1)
|
||||
.SH AUTHORS
|
||||
Roswell Project Team.
|
||||
|
|
|
|||
|
|
@ -1,6 +1,12 @@
|
|||
% ros-asdf(1)
|
||||
% Roswell Project Team
|
||||
% January 2022
|
||||
|
||||
# NAME
|
||||
|
||||
ros-asdf -
|
||||
# synopsis
|
||||
|
||||
# SYNOPSIS
|
||||
|
||||
**ros [options] asdf [subcommand]**
|
||||
|
||||
|
|
@ -10,9 +16,9 @@ ros-asdf -
|
|||
|
||||
<!-- : description. end with a period. -->
|
||||
|
||||
# description
|
||||
# DESCRIPTION
|
||||
|
||||
**ros asdf** install and manage ASDF(https://common-lisp.net/project/asdf/)
|
||||
**ros asdf** install and manage ASDF(https://common-lisp.net/project/asdf/).
|
||||
|
||||
<!-- # options -->
|
||||
<!-- -->
|
||||
|
|
|
|||
|
|
@ -34,6 +34,10 @@ edit [template-name] [files ...]
|
|||
|
||||
: Edit content of files in template using `/usr/bin/editor`.
|
||||
|
||||
path [template-name] [files ...]
|
||||
|
||||
: Show native path of files in template.
|
||||
|
||||
rm [template-name] [files ...]
|
||||
|
||||
: Remove file form current template.
|
||||
|
|
|
|||
|
|
@ -28,9 +28,15 @@
|
|||
for line = (read-line in)
|
||||
when (ignore-errors (string= line "exec" :end1 4))
|
||||
do (setf opts (parse-argv line))))
|
||||
(let ((impl (or (ros:opt "*lisp")
|
||||
(ros:opt "default.lisp"))))
|
||||
(roswell:roswell `(,@(when (roswell:verbose) '("-v"))
|
||||
,@impl-argv
|
||||
,opts "-L" ,(or (ros:opt "*lisp")
|
||||
(ros:opt "default.lisp"))
|
||||
,@(cond ((find impl '("sbcl" "sbcl-bin" "sbcl32" "sbcl-head") :test 'equal)
|
||||
(append (if (ros:opt "dynamic-space-size")
|
||||
(list (format nil "dynamic-space-size=~A" (ros:opt "dynamic-space-size"))))
|
||||
(if (ros:opt "control-stack-size")
|
||||
(list (format nil "control-stack-size=~A" (ros:opt "control-stack-size")))))))
|
||||
,opts "-L" ,impl
|
||||
"dump" ,@dump-argv "executable" ,(first argv))
|
||||
:interactive nil)))
|
||||
:interactive nil))))
|
||||
|
|
|
|||
|
|
@ -126,10 +126,14 @@ IR1 (deftransform), IR2 (VOP) information in the infodb."
|
|||
(setf (sb-impl::package-%shadowing-symbols package) nil)
|
||||
(format t ".")
|
||||
(setf (sb-impl::package-internal-symbols package)
|
||||
(sb-impl::make-package-hashtable 0))
|
||||
(if (fboundp 'sb-impl::make-symbol-table)
|
||||
(sb-impl::make-symbol-table 0)
|
||||
(sb-impl::make-package-hashtable 0)))
|
||||
(format t ".")
|
||||
(setf (sb-impl::package-external-symbols package)
|
||||
(sb-impl::make-package-hashtable 0))
|
||||
(if (fboundp 'sb-impl::make-symbol-table)
|
||||
(sb-impl::make-symbol-table 0)
|
||||
(sb-impl::make-package-hashtable 0)))
|
||||
(format t ".")
|
||||
(setf (sb-impl::package-tables package) #())
|
||||
(format t ".")
|
||||
|
|
|
|||
|
|
@ -33,33 +33,44 @@
|
|||
|
||||
(defun roswell-installed-system-name (system-name)
|
||||
;; should return repo part of system-name.
|
||||
;; "user//repo" "user//repo/branch" "git://bra/bra/bra/repo.git" "github://user/repo"
|
||||
(when (find "" (split-sequence #\/ system-name) :test 'equal) ;; found "//"
|
||||
(if (find #\: system-name)
|
||||
;; "user:repo[:branch or tag][/subsystem/name]" "git://bra/bra/bra/repo.git" "github://user/repo"
|
||||
(let ((split (split-sequence #\: system-name)))
|
||||
(when (rest split) ;; found ":"
|
||||
(if (ignore-errors (and (eql (aref (second split) 0) #\/)
|
||||
(eql (aref (second split) 1) #\/)))
|
||||
(values nil "not implemented yet") ;; TBD
|
||||
(second (remove "" (split-sequence #\/ system-name) :test 'equal)))))
|
||||
(let* ((str (first (last split)))
|
||||
(pos (position #\/ str))
|
||||
(subsystem (if pos
|
||||
(prog1
|
||||
(subseq str pos)
|
||||
(setf (first (last split)) (subseq str 0 pos)))
|
||||
"")))
|
||||
(values (and (second split)
|
||||
(not (zerop (length (second split))))
|
||||
(format nil "~A~A" (second split) subsystem))
|
||||
(lambda (system-name)
|
||||
(roswell:roswell `("install" ,(format nil "~{~A~^/~}" split)
|
||||
)))))))))
|
||||
|
||||
(defun roswell-installable-searcher (system-name)
|
||||
(let ((name (roswell-installed-system-name system-name))
|
||||
pname)
|
||||
(multiple-value-bind (name func)
|
||||
(roswell-installed-system-name system-name)
|
||||
(and
|
||||
name
|
||||
(not (when (setf pname (read-call "asdf/find-system::primary-system-name" system-name))
|
||||
(asdf:find-system pname nil)))
|
||||
(prog1
|
||||
(or (quicklisp-client:local-projects-searcher name)
|
||||
(unless (find system-name (loop for ar = (ros:getenv "ROSINSTALL") then (subseq ar (1+ p))
|
||||
for p = (position #\, ar)
|
||||
for arg = (if p (subseq ar 0 p) ar)
|
||||
collect arg
|
||||
while p)
|
||||
:test 'equal)
|
||||
(roswell:roswell `("install" ,system-name))
|
||||
(quicklisp-client:register-local-projects)
|
||||
(quicklisp-client:local-projects-searcher name))
|
||||
(return-from roswell-installable-searcher)) ;;can't find.
|
||||
(eval `(asdf:defsystem ,system-name :depends-on (,name))))
|
||||
(asdf:find-system system-name))))
|
||||
(not (equal name system-name))
|
||||
(let ((result
|
||||
(or (ignore-errors (asdf:find-system name))
|
||||
(progn
|
||||
(funcall func system-name)
|
||||
(local-project-build-hash :rebuild t)
|
||||
(asdf:find-system name))
|
||||
(return-from roswell-installable-searcher)))) ;;can't find.
|
||||
(when result
|
||||
(let ((*load-pathname* nil))
|
||||
(eval `(asdf:defsystem ,system-name
|
||||
:depends-on (,name)))))
|
||||
result))))
|
||||
|
||||
(defun local-project-enum (path)
|
||||
(let ((sub (remove-if (lambda (x)
|
||||
|
|
|
|||
69
lisp/fmt.ros
69
lisp/fmt.ros
|
|
@ -5,17 +5,30 @@ exec ros -Q -N roswell -- $0 "$@"
|
|||
|#
|
||||
(progn ;;init forms
|
||||
(ros:ensure-asdf)
|
||||
#+quicklisp
|
||||
(progn
|
||||
(unless (ql:where-is-system :lem)
|
||||
(roswell:roswell '("git" "clone" "https://github.com/cxxxr/lem.git"))
|
||||
(roswell.util:read-call "roswell.util:local-project-build-hash" :rebuild t))
|
||||
(ql:quickload '("swank" "lem" "lem-lisp-syntax") :silent t)))
|
||||
#+sbcl (require "sb-introspect")
|
||||
#+quicklisp (ql:quickload '("cl-indentify") :silent t))
|
||||
|
||||
(defpackage :ros.script.fmt.3707812168
|
||||
(:use :cl))
|
||||
(in-package :ros.script.fmt.3707812168)
|
||||
|
||||
(defun function-lambda-list (fn)
|
||||
"Portably retrieve a function's lambda list."
|
||||
(ignore-errors
|
||||
#+sbcl
|
||||
(funcall (find-symbol "FUNCTION-LAMBDA-LIST" "SB-INTROSPECT") fn)
|
||||
#-sbcl nil))
|
||||
|
||||
(defun register-macro-templates ()
|
||||
"Auto-detect macros with &body and register cl-indentify templates."
|
||||
(do-all-symbols (sym)
|
||||
(when (macro-function sym)
|
||||
(let* ((arglist (function-lambda-list (macro-function sym)))
|
||||
(body-pos (position '&body arglist)))
|
||||
(when body-pos
|
||||
(setf (indentify:indent-template sym)
|
||||
`(:style :call :count ,body-pos)))))))
|
||||
|
||||
(defun system (path)
|
||||
(let ((* (when (and (probe-file path)
|
||||
(equal (pathname-type path) "asd"))
|
||||
|
|
@ -37,15 +50,39 @@ exec ros -Q -N roswell -- $0 "$@"
|
|||
(list c)))))
|
||||
(when *
|
||||
(ql:quickload * :silent (not (ros:verbose)))
|
||||
(lem-lisp-syntax.indent:indentation-update)
|
||||
(register-macro-templates)
|
||||
(r (asdf:find-system *))))))
|
||||
|
||||
(defun register-standard-templates ()
|
||||
"Override templates to match Lem/Emacs/SLIME indentation."
|
||||
;; if: (&rest nil) in Lem - all args aligned with first arg
|
||||
(setf (indentify:indent-template 'if) '(:count 3))
|
||||
;; case/typecase: (4 &rest (&whole 2 &rest 1)) - clause body at paren+1
|
||||
(dolist (sym '(case ccase ecase typecase ctypecase etypecase))
|
||||
(setf (indentify:indent-template sym)
|
||||
'(:count 1 :sub (nil nil (:style :list)))))
|
||||
;; cond: (&rest (&whole 2 &rest 1)) - clause body at paren+1
|
||||
(setf (indentify:indent-template 'cond)
|
||||
'(:count 0 :sub (nil (:style :list)))))
|
||||
|
||||
(defun format-file (file)
|
||||
(let ((result (with-output-to-string (out)
|
||||
(with-open-file (in file)
|
||||
(indentify:indentify in out)))))
|
||||
(with-open-file (out file :direction :output :if-exists :supersede)
|
||||
(with-input-from-string (in result)
|
||||
(loop for line = (read-line in nil)
|
||||
while line
|
||||
do (write-string (string-right-trim '(#\Space #\Tab) line) out)
|
||||
(terpri out))))))
|
||||
|
||||
(defun main (&rest argv)
|
||||
"go fmt like something"
|
||||
(indentify:load-default-templates)
|
||||
(register-standard-templates)
|
||||
(dolist (arg (if argv
|
||||
(prog1 (loop for arg in argv
|
||||
(loop for arg in argv
|
||||
append (or (system arg) (list arg)))
|
||||
(lem-lisp-syntax:indentation-update))
|
||||
(ignore-errors
|
||||
(let* ((name (first (last (pathname-directory *default-pathname-defaults*))))
|
||||
(path (probe-file (make-pathname :name name :type "asd"))))
|
||||
|
|
@ -53,18 +90,6 @@ exec ros -Q -N roswell -- $0 "$@"
|
|||
(append (directory "*.lisp")
|
||||
(directory "*.ros")))))))
|
||||
(if (probe-file arg)
|
||||
(let ((buffer (lem-base:find-file-buffer arg)))
|
||||
(setf (lem-base:buffer-syntax-table buffer)
|
||||
lem-lisp-syntax:*syntax-table*)
|
||||
(setf (lem-base:variable-value 'lem-base:calc-indent-function :buffer buffer)
|
||||
'lem-lisp-syntax:calc-indent)
|
||||
(lem-base:indent-region (lem-base:buffer-start-point buffer)
|
||||
(lem-base:buffer-end-point buffer))
|
||||
(loop with regexp = "[ ]+$" ;; remove trailing spaces.
|
||||
for start = (lem-base:search-forward-regexp (lem-base:copy-point (lem-base:buffer-start-point buffer)) regexp)
|
||||
while start
|
||||
for end = (lem-base:search-backward-regexp (lem-base:copy-point start) regexp)
|
||||
do (lem-base:delete-between-points start end))
|
||||
(lem-base:write-to-file buffer (lem-base:buffer-filename buffer)))
|
||||
(format-file arg)
|
||||
(format *error-output* "~A does not exist" arg))))
|
||||
;;; vim: set ft=lisp lisp:
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@
|
|||
(mapcar #'usage
|
||||
'("Usage:"
|
||||
""
|
||||
"To install a new Lisp implementaion:"
|
||||
"To install a new Lisp implementation:"
|
||||
" ~A install impl [options]"
|
||||
"or a system from the GitHub:"
|
||||
" ~A install fukamachi/prove/v2.0.0 [repository... ]"
|
||||
|
|
@ -30,6 +30,7 @@
|
|||
""
|
||||
"For more details on impl specific options, type:"
|
||||
" ~A help install impl"
|
||||
"e.g.: ~A help install sbcl"
|
||||
""
|
||||
""
|
||||
"Candidates impls for installation are:")))
|
||||
|
|
|
|||
|
|
@ -1,3 +1,4 @@
|
|||
;; -*- lexical-binding: nil; -*-
|
||||
(defun roswell-configdir ()
|
||||
(substring (shell-command-to-string "ros roswell-internal-use version confdir") 0 -1))
|
||||
|
||||
|
|
|
|||
|
|
@ -160,7 +160,8 @@ have the latest asdf, and this file has a workaround for this.
|
|||
(ext:run-shell-command (format nil "~{~A~^ ~}" args))))))
|
||||
|
||||
(defun exec (args)
|
||||
#+(and unix sbcl)
|
||||
#+(and unix sbcl
|
||||
(not haiku))
|
||||
(execvp (first args) args)
|
||||
#+(and unix ccl)
|
||||
(ignore-errors
|
||||
|
|
@ -174,8 +175,8 @@ have the latest asdf, and this file has a workaround for this.
|
|||
|
||||
(cond
|
||||
(is-quicklisp-already-available
|
||||
(unless (equal (opt "quicklisp")
|
||||
(namestring (symbol-value (read-from-string "ql:*quicklisp-home*"))))
|
||||
(unless (equal (ignore-errors (truename (pathname (opt "quicklisp"))))
|
||||
(ignore-errors (truename (symbol-value (read-from-string "ql:*quicklisp-home*")))))
|
||||
(setf *local-project-directories*
|
||||
(copy-list
|
||||
(symbol-value (read-from-string "ql:*local-project-directories*")))))
|
||||
|
|
@ -308,13 +309,25 @@ As a hacky side effect, files with the same name as PROVIDE is not loaded.
|
|||
(or *version-cache*
|
||||
(setf *version-cache* (roswell '("roswell-internal-use" "version") :string t)))))
|
||||
|
||||
(defun implementation-version ()
|
||||
"cut off after third? dot from lisp-implementation-version"
|
||||
(let ((version (lisp-implementation-version)))
|
||||
(loop with j = 0
|
||||
for i from 0 to (1- (length version))
|
||||
when (eql (aref version i) #\.)
|
||||
do (incf j)
|
||||
(when (= j 3)
|
||||
(return-from implementation-version (subseq version 0 i))))
|
||||
version))
|
||||
|
||||
|
||||
#+sbcl
|
||||
(when (ignore-errors (string-equal (opt "impl") "sbcl-bin" :end1 8))
|
||||
(flet ((source (version)
|
||||
(let ((path (merge-pathnames (format nil "src/sbcl-~A/" version) (opt "homedir"))))
|
||||
(when (probe-file path)
|
||||
(sb-ext:set-sbcl-source-location path)))))
|
||||
(or (source (lisp-implementation-version))
|
||||
(or (source (implementation-version))
|
||||
(source "git"))))
|
||||
|
||||
(defun source-registry (arg &rest rest)
|
||||
|
|
@ -433,7 +446,8 @@ As a hacky side effect, files with the same name as PROVIDE is not loaded.
|
|||
(with-open-file (in arg)
|
||||
(body in)))
|
||||
(*latest-system* (apply 'hook (cons arg *argv*)))
|
||||
(t (format t "script ~S does not exist~%" arg)))))
|
||||
(t (format t "script ~S does not exist~%" arg)
|
||||
(quit 1)))))
|
||||
|
||||
(defun stdin (arg &rest rest)
|
||||
(declare (ignorable arg rest))
|
||||
|
|
|
|||
|
|
@ -9,8 +9,21 @@
|
|||
(defvar *msys2-arch*)
|
||||
(defvar *msys2-bits*)
|
||||
|
||||
(defun msys2-get-release (version)
|
||||
"
|
||||
In the new GitHub releases, the release name is a date with dashes
|
||||
and the version is a date without.
|
||||
"
|
||||
(if (equal (length version) 8)
|
||||
(format nil "~A-~A-~A"
|
||||
(subseq version 0 4)
|
||||
(subseq version 4 6)
|
||||
(subseq version 6 8))
|
||||
version))
|
||||
|
||||
(defun msys2-get-version ()
|
||||
'("20180531"))
|
||||
'("20230127"))
|
||||
|
||||
;;sha1 "309f604a165179d50fbe4131cf87bd160769f974"
|
||||
;;(ironclad:byte-array-to-hex-string (ironclad:digest-file :sha1 path))
|
||||
|
||||
|
|
@ -33,9 +46,12 @@
|
|||
(when (or (not (probe-file path))
|
||||
(opt "download.force"))
|
||||
(download
|
||||
(format nil "~Amsys2/Base/~A/msys2-base-~A-~A.tar.xz"
|
||||
(format nil "~A~A/msys2-base-~A-~A.tar.xz"
|
||||
(msys2-uri)
|
||||
*msys2-arch* *msys2-arch* (getf argv :version))
|
||||
(msys2-get-release
|
||||
(getf argv :version))
|
||||
*msys2-arch*
|
||||
(getf argv :version))
|
||||
path))
|
||||
(format t " done.~%")
|
||||
(expand path
|
||||
|
|
@ -67,7 +83,6 @@
|
|||
"make zlib-devel"))
|
||||
:output t
|
||||
:error-output t))
|
||||
|
||||
(uiop/run-program:run-program
|
||||
`(,(uiop:native-namestring (merge-pathnames "autorebase.bat" msys)))
|
||||
:output t
|
||||
|
|
|
|||
|
|
@ -11,10 +11,10 @@
|
|||
(let ((file (merge-pathnames "tmp/abcl-bin.html" (homedir))))
|
||||
(format *error-output* "Checking version to install....~%")
|
||||
(download (abcl-bin-uri) file)
|
||||
(loop for a in (plump:get-elements-by-tag-name
|
||||
(loop for a in (get-elements-by-tag-name
|
||||
(plump:parse file) "a")
|
||||
for x = (string-right-trim "/" (plump:get-attribute a "href"))
|
||||
when (digit-char-p (aref x 0))
|
||||
when (ignore-errors (digit-char-p (aref x 0)))
|
||||
collect x)))))
|
||||
|
||||
(defun abcl-bin-impl ()
|
||||
|
|
|
|||
|
|
@ -13,22 +13,45 @@
|
|||
(version (getf argv :version)))
|
||||
(let ((os (intern uname :keyword))
|
||||
(machine (intern uname-m :keyword)))
|
||||
(cond ((find version '("10.1express" "100express") :test 'equal)
|
||||
(cond ((find version '("11.0express"
|
||||
"10.1express")
|
||||
:test 'equal)
|
||||
(format nil "~@{~A~}"
|
||||
(allegro-uri) "pub/acl" version "/"
|
||||
(case os (:|darwin| "macosx") (t os))
|
||||
(if (eql os :|windows|) ""
|
||||
(case machine (:|x86| 86) (:|x86-64| 86)))
|
||||
(allegro-uri) "ftp/pub/acl" version "/"
|
||||
(ecase os
|
||||
(:|linux| (ecase machine
|
||||
(:|x86-64| "linuxamd64.64")
|
||||
(:|arm64| "linuxarm64")
|
||||
(:|x86| "linux86")))
|
||||
(:|darwin| (case machine
|
||||
(:|arm64| "macarm64.64")
|
||||
(:|x86-64| "macosx86-64.64")))
|
||||
(:|windows| os) ;; 32bit only
|
||||
(:|freebsd| os)) ;; 32bit only
|
||||
"/acl" version
|
||||
(case os (:|linux| "-linux") (:|darwin| "-macosx") (:|windows| "") (t os))
|
||||
"-" (if (eql os :|darwin|) "x64"
|
||||
(case machine (:|x86-64| "x86") (t machine)))
|
||||
(case os
|
||||
(:|linux| (cond ((equal "10.1express" version) ".tbz2")
|
||||
((equal "100express" version) ".bz2")))
|
||||
(:|darwin| ".dmg")
|
||||
(:|windows| ".exe"))))
|
||||
((equal "101b" version)))))
|
||||
(ecase os
|
||||
(:|linux| (format nil "~@{~A~}"
|
||||
"-linux-"
|
||||
(ecase machine
|
||||
(:|x86-64| "x64")
|
||||
(:|arm64| "aarch64")
|
||||
(:|x86| "x86"))
|
||||
(cond
|
||||
((equal "100express" version) ".bz2")
|
||||
(t ".tbz2"))))
|
||||
(:|darwin| (format nil "~@{~A~}"
|
||||
(if (equal version "10.1express")
|
||||
"-macosx-"
|
||||
"-macos-")
|
||||
(ecase machine
|
||||
(:|x86-64| "x64.dmg")
|
||||
(:|arm64| "arm64.dmg"))))
|
||||
(:|windows| "-x86.exe")
|
||||
(:|freebsd| (format nil "~@{~A~}"
|
||||
"-freebsd-"
|
||||
(ecase machine
|
||||
(:|x86-64| "x86.tbz2")
|
||||
(:|x86| "x86.tbz2"))))))))))
|
||||
|
||||
(defun allegro-argv-parse (argv)
|
||||
(format *error-output* "~&Installing allegro/~A...~%" (getf argv :version))
|
||||
|
|
@ -65,7 +88,9 @@
|
|||
(uiop/filesystem:delete-directory-tree
|
||||
path :validate t))
|
||||
(ql-impl-util:rename-directory
|
||||
(merge-pathnames (format nil "acl~A/" (getf argv :version)) impls)
|
||||
(first (loop for file in (directory (merge-pathnames (format nil "acl~A*/" (getf argv :version)) impls))
|
||||
when (probe-file file)
|
||||
collect it))
|
||||
(merge-pathnames (format nil "~A/" (opt "as")) impls))))
|
||||
(cons t argv)))
|
||||
|
||||
|
|
|
|||
|
|
@ -32,7 +32,7 @@
|
|||
(let* ((src (merge-pathnames (format nil "asdf-~A/" version) src))
|
||||
(cmd (list (sh) "-lc" (format nil "cd ~S;~A"
|
||||
(#+win32 mingw-namestring #-win32 princ-to-string src)
|
||||
(or #+freebsd "gmake" "make")))))
|
||||
(make)))))
|
||||
(uiop/os:chdir src)
|
||||
(format t "~&chdir ~A~%" src)
|
||||
(uiop/run-program:run-program cmd :output t :ignore-error-status nil)
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@
|
|||
(let ((file (merge-pathnames "tmp/clisp.html" (homedir))))
|
||||
(format *error-output* "Checking version to install....~%")
|
||||
(download (clisp-version-uri) file :interval (* 60 60))
|
||||
(loop for link in (plump:get-elements-by-tag-name (plump:parse file) "a")
|
||||
(loop for link in (get-elements-by-tag-name (plump:parse file) "a")
|
||||
for href = (plump:get-attribute link "href") for len = (1- (length href))
|
||||
when (and (eql (aref href len) #\/)
|
||||
(not (eql (aref href 0) #\/))
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@
|
|||
(let ((file (merge-pathnames "tmp/cmu-bin.html" (homedir))))
|
||||
(format *error-output* "Checking version to install...~%")
|
||||
(download (format nil "~Arelease/" (cmu-bin-uri)) file :interval (* 60 60))
|
||||
(loop for link in (plump:get-elements-by-tag-name (plump:parse file) "a")
|
||||
(loop for link in (get-elements-by-tag-name (plump:parse file) "a")
|
||||
for href = (plump:get-attribute link "href")
|
||||
for len = (length href)
|
||||
when (and (digit-char-p (aref href 0))
|
||||
|
|
@ -21,11 +21,31 @@
|
|||
(or (cdr (assoc (uname-m) *cmu-uname-m-alist* :test 'equal))
|
||||
(uname-m)))
|
||||
|
||||
(defun cmu-bin-archive-uri (version extra)
|
||||
(let ((uname (uname))
|
||||
(cmu-uname-m (cmu-uname-m)))
|
||||
(defun cmu-bin-directory-uri (version)
|
||||
(format nil "~@{~A~}" (cmu-bin-uri) (if (find #\- version) "snapshots/" "release/")
|
||||
(substitute #\/ #\- version) "/cmucl-" version "-" cmu-uname-m "-" uname (if extra ".extra" "") ".tar.bz2")))
|
||||
(substitute #\/ #\- version) "/"))
|
||||
|
||||
(defun cmu-bin-archive-name (version extra)
|
||||
(format nil "~@{~A~}" "cmucl-" version "-" (cmu-uname-m) "-" (uname) (if extra ".extra" "")))
|
||||
|
||||
(defun cmu-bin-archive-type (version)
|
||||
"CMUCL was published as .tar.bz2 up to 21e and as .tar.xz from 21f on,
|
||||
so ask the download directory which one it has for VERSION."
|
||||
(let ((file (merge-pathnames (format nil "tmp/cmu-bin-~A.html" version) (homedir)))
|
||||
(name (cmu-bin-archive-name version nil)))
|
||||
(or (ignore-errors
|
||||
(download (cmu-bin-directory-uri version) file :interval (* 60 60))
|
||||
(loop for link in (get-elements-by-tag-name (plump:parse file) "a")
|
||||
for href = (plump:get-attribute link "href")
|
||||
thereis (and href
|
||||
(find-if (lambda (type)
|
||||
(equal href (format nil "~A~A" name type)))
|
||||
'(".tar.xz" ".tar.bz2")))))
|
||||
".tar.bz2")))
|
||||
|
||||
(defun cmu-bin-archive-uri (version extra)
|
||||
(format nil "~@{~A~}" (cmu-bin-directory-uri version)
|
||||
(cmu-bin-archive-name version extra) (cmu-bin-archive-type version)))
|
||||
|
||||
(defun cmu-bin-argv-parse (argv)
|
||||
(format *error-output* "~&Installing cmu-bin/~A...~%" (getf argv :version))
|
||||
|
|
|
|||
95
lisp/install-dotcl-bin.lisp
Normal file
95
lisp/install-dotcl-bin.lisp
Normal file
|
|
@ -0,0 +1,95 @@
|
|||
(roswell:include "util-install")
|
||||
(defpackage :roswell.install.dotcl-bin
|
||||
(:use :cl :roswell.install :roswell.util :roswell.locations))
|
||||
(in-package :roswell.install.dotcl-bin)
|
||||
|
||||
(defun dotcl-bin-impl ()
|
||||
(merge-pathnames (format nil "impls/~A/~A/dotcl-bin/" (uname-m) (uname)) (homedir)))
|
||||
|
||||
(defun dotcl-bin-rid ()
|
||||
(let* ((arch (uname-m))
|
||||
(os (uname))
|
||||
(arch-key (cond ((equal arch "x86-64") "x64")
|
||||
((equal arch "arm64") "arm64")
|
||||
(t (error "dotcl-bin: unsupported arch ~A" arch))))
|
||||
(os-key (cond ((equal os "linux") "linux")
|
||||
((equal os "darwin") "osx")
|
||||
((equal os "windows") "win")
|
||||
(t (error "dotcl-bin: unsupported os ~A" os)))))
|
||||
(format nil "~A-~A" os-key arch-key)))
|
||||
|
||||
(defvar *dotcl-bin-version-cache* nil)
|
||||
|
||||
(defun dotcl-bin-get-version ()
|
||||
(or *dotcl-bin-version-cache*
|
||||
(setf *dotcl-bin-version-cache*
|
||||
(let ((file (merge-pathnames "tmp/dotcl-bin.json" (homedir))))
|
||||
(format *error-output* "Checking version to install....~%")
|
||||
(download "https://api.github.com/repos/dotcl/dotcl/releases" file)
|
||||
(with-open-file (in file)
|
||||
(loop for line = (read-line in nil nil) while line
|
||||
for pos = (search "\"tag_name\"" line)
|
||||
when pos
|
||||
collect (let* ((q1 (position #\" line :start (+ pos 11)))
|
||||
(q2 (and q1 (position #\" line :start (1+ q1)))))
|
||||
(when (and q1 q2)
|
||||
(let ((tag (subseq line (1+ q1) q2)))
|
||||
(if (and (plusp (length tag)) (char= (aref tag 0) #\v))
|
||||
(subseq tag 1)
|
||||
tag))))))))))
|
||||
|
||||
(defun dotcl-bin-argv-parse (argv)
|
||||
(set-opt "prefix" (dotcl-bin-impl))
|
||||
(cons t argv))
|
||||
|
||||
(defun dotcl-bin-download (argv)
|
||||
(let ((rid (dotcl-bin-rid))
|
||||
(ver (version argv)))
|
||||
(set-opt "as" ver)
|
||||
(set-opt "download.uri"
|
||||
(format nil "https://github.com/dotcl/dotcl/releases/download/v~A/dotcl-~A-~A.tar.bz2"
|
||||
ver rid ver))
|
||||
(set-opt "download.archive"
|
||||
(let ((pos (position #\/ (opt "download.uri") :from-end t)))
|
||||
(when pos
|
||||
(merge-pathnames (format nil "archives/~A"
|
||||
(subseq (opt "download.uri") (1+ pos)))
|
||||
(homedir)))))
|
||||
`((,(opt "download.archive") ,(opt "download.uri")))))
|
||||
|
||||
(defun dotcl-bin-expand (argv)
|
||||
(format t "~%Extracting archive:~A~%" (opt "download.archive"))
|
||||
(let ((dest (merge-pathnames (format nil "~A/" (opt "as")) (dotcl-bin-impl))))
|
||||
(when (probe-file dest)
|
||||
(uiop/filesystem:delete-directory-tree dest :validate t))
|
||||
(ensure-directories-exist dest)
|
||||
(expand (opt "download.archive") dest)
|
||||
#-os-windows
|
||||
(let ((apphost (merge-pathnames "runtime" dest)))
|
||||
(when (probe-file apphost)
|
||||
(uiop:run-program (list "chmod" "+x" (namestring apphost))
|
||||
:ignore-error-status t))))
|
||||
(cons t argv))
|
||||
|
||||
(defun dotcl-bin-script (argv)
|
||||
(let* ((dotnet (which "dotnet"))
|
||||
(dir (merge-pathnames (format nil "~A/" (opt "as")) (dotcl-bin-impl))))
|
||||
(unless dotnet
|
||||
(format *error-output* "Error: 'dotnet' (.NET SDK 10+) was not found in PATH.~%")
|
||||
(format *error-output* " Install .NET SDK 10 from https://dotnet.microsoft.com/download~%")
|
||||
(format *error-output* " 'ros use dotcl-bin' will fail without dotnet.~%")
|
||||
(roswell:quit 1))
|
||||
(install-script
|
||||
(merge-pathnames "dotcl" dir)
|
||||
(format nil "exec \"~Aruntime\" \"$@\"" dir))
|
||||
(cons t argv)))
|
||||
|
||||
(defun dotcl-bin (type)
|
||||
(case type
|
||||
(:install `(,(decide-version 'dotcl-bin-get-version)
|
||||
dotcl-bin-argv-parse
|
||||
,(decide-download 'dotcl-bin-download)
|
||||
dotcl-bin-expand
|
||||
dotcl-bin-script
|
||||
setup))
|
||||
(:list 'dotcl-bin-get-version)))
|
||||
|
|
@ -90,7 +90,7 @@
|
|||
(homedir)))
|
||||
:direction :output :if-exists :append :if-does-not-exist :create)
|
||||
(format out "~&--~&~A~%" (date))
|
||||
(let* ((cmd (format nil "make"))
|
||||
(let* ((cmd (make))
|
||||
(*standard-output* (make-broadcast-stream out #+sbcl(make-instance 'count-line-stream))))
|
||||
(ecl-chdir argv)
|
||||
(uiop/run-program:run-program cmd :output t :ignore-error-status t)))
|
||||
|
|
@ -108,7 +108,7 @@
|
|||
(format out "~&--~&~A~%" (date))
|
||||
(let ((*standard-output* (make-broadcast-stream
|
||||
out #+sbcl(make-instance 'count-line-stream))))
|
||||
(uiop/run-program:run-program "make install" :output t)))
|
||||
(uiop/run-program:run-program (format nil "~A install" (make)) :output t)))
|
||||
(format *error-output* "done.~%"))
|
||||
(cons t argv))
|
||||
|
||||
|
|
@ -119,7 +119,7 @@
|
|||
(*standard-output* (make-broadcast-stream
|
||||
out #+sbcl(make-instance 'count-line-stream))))
|
||||
(uiop/run-program:run-program
|
||||
(list (sh) "-lc" (format nil "cd ~S;make clean" (namestring (uiop:getcwd))))
|
||||
(list (sh) "-lc" (format nil "cd ~S;~A clean" (namestring (uiop:getcwd)) (make)))
|
||||
:output t))
|
||||
(format t "done.~%")
|
||||
(cons t argv))
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@
|
|||
(defuri clisp-version-uri "http://ftp.gnu.org/pub/gnu/clisp/release/")
|
||||
(defuri clisp-head-version-uri "https://github.com/roswell/clisp_head/releases/download/files/clisp_head.tsv")
|
||||
(defuri 7za-uri "http://sourceforge.net/projects/sevenzip/files/7-Zip/9.20/7za920.zip/download#")
|
||||
(defuri allegro-uri "ftp://ftp.franz.com/")
|
||||
(defuri allegro-uri "https://franz.com/")
|
||||
(defuri abcl-bin-uri "https://common-lisp.net/project/armedbear/releases/")
|
||||
(defuri ccl-bin-uri "https://github.com/roswell/ccl_bin/releases/download/")
|
||||
(defuri clasp-bin-uri "https://github.com/roswell/clasp_bin/releases/download/")
|
||||
|
|
@ -28,7 +28,7 @@
|
|||
(defuri ffcall-uri "https://github.com/roswell/libffcall/archive/")
|
||||
|
||||
(defuri sigsegv-uri "http://ftpmirror.gnu.org/libsigsegv/")
|
||||
(defuri msys2-uri "http://kent.dl.sourceforge.net/project/")
|
||||
(defuri msys2-uri "https://github.com/msys2/msys2-installer/releases/download/")
|
||||
|
||||
(defuri clisp-patch1-uri "https://raw.githubusercontent.com/Homebrew/homebrew/2fb8cb1a2279f80dc89900b3ebaca9e5afc90494/Library/Formula/clisp.rb")
|
||||
|
||||
|
|
@ -54,6 +54,7 @@
|
|||
|
||||
(export
|
||||
(defvar *allegro-agreement-uri*
|
||||
'(("10.1express" . #1="http://franz.com/ftp/pub/legal/ACL-Express-20150812.pdf")
|
||||
'(("11.0express" . "https://franz.com/ftp/pub/legal/ACL-Express-20170301.pdf")
|
||||
("10.1express" . #1="https://franz.com/ftp/pub/legal/ACL-Express-20170301.pdf")
|
||||
("100express" . #1#)
|
||||
("101b" . "http://franz.com/products/licensing/FSLA10.1.beta.pdf"))))
|
||||
|
|
|
|||
|
|
@ -17,6 +17,7 @@ exec ros -Q -m roswell -N roswell -- $0 "$@"
|
|||
("add" . template-add)
|
||||
("cat" . template-cat)
|
||||
("edit" . template-edit)
|
||||
("path" . template-native-path)
|
||||
("rm" . template-rm)
|
||||
("delete" . template-rm)
|
||||
("type" . template-type)
|
||||
|
|
@ -28,12 +29,15 @@ exec ros -Q -m roswell -N roswell -- $0 "$@"
|
|||
|
||||
(defun template-init (names)
|
||||
"Create new template"
|
||||
(if names
|
||||
(let* ((name (first names))
|
||||
(path (template-asd-path name)))
|
||||
(when (probe-file path)
|
||||
(format *error-output* "already exist ~A~%" path)
|
||||
(ros:quit 0))
|
||||
(template-create name)))
|
||||
(ros:quit 1))
|
||||
(template-create name)
|
||||
(format *error-output* "template written ~A~%" path))
|
||||
(format *error-output* "template init need template name.~%")))
|
||||
|
||||
(defun template-deinit (names)
|
||||
"Remove a template"
|
||||
|
|
@ -76,7 +80,7 @@ exec ros -Q -m roswell -N roswell -- $0 "$@"
|
|||
(format *error-output* "current default is ~S~%~%candidates:~%~{~A~%~}"
|
||||
(template-default)
|
||||
(templates-list :name t))
|
||||
(ros:quit 1))
|
||||
(ros:quit 0))
|
||||
(let ((path (templates-list :filter name)))
|
||||
(unless path
|
||||
(format *error-output* "template: ~S not found.~%" name)
|
||||
|
|
@ -121,6 +125,18 @@ exec ros -Q -m roswell -N roswell -- $0 "$@"
|
|||
,@(loop for i in _
|
||||
collect (uiop:native-namestring (template-file-path name i)))))))
|
||||
|
||||
(defun template-native-path (_)
|
||||
"show native path in the template"
|
||||
(let ((name (template-default)))
|
||||
(when (equal name "default")
|
||||
(setf name (pop _)))
|
||||
(unless (and (templates-list :filter name)
|
||||
(not (equal name "default")))
|
||||
(format *error-output* "template ~S does not contain files.~%" name)
|
||||
(ros:quit 1))
|
||||
(loop for i in _
|
||||
do (format t "~A~%" (uiop:native-namestring (template-file-path name i))))))
|
||||
|
||||
(defun template-rm (_)
|
||||
"Remove (delete) files from template."
|
||||
(let ((name (template-default)))
|
||||
|
|
|
|||
|
|
@ -26,10 +26,17 @@ exec ros -Q -m roswell -N roswell -- $0 "$@"
|
|||
;; update systems
|
||||
(dolist (alias argv)
|
||||
(loop
|
||||
with path = (ignore-errors
|
||||
with path = (or
|
||||
(and (find #\/ alias)
|
||||
(let ((dir (merge-pathnames
|
||||
(format nil "local-projects/~A/" alias)
|
||||
(roswell.util:homedir))))
|
||||
(when (probe-file (merge-pathnames ".git/" dir))
|
||||
dir)))
|
||||
(ignore-errors
|
||||
(make-pathname
|
||||
:type nil :name nil
|
||||
:defaults (asdf:system-source-file (asdf:find-system alias))))
|
||||
:defaults (asdf:system-source-file (asdf:find-system alias)))))
|
||||
for f in *update-functions*
|
||||
for r = (and path (funcall f path))
|
||||
when r do (roswell:roswell `("install" ,alias))
|
||||
|
|
|
|||
|
|
@ -5,6 +5,18 @@
|
|||
|
||||
(defvar *build-hook* nil)
|
||||
|
||||
(defun get-elements-by-tag-name (node tag)
|
||||
(let* ((current-version
|
||||
(ignore-errors
|
||||
(let* ((* "plump")
|
||||
(* (ql-dist:find-system *))
|
||||
(* (ql-dist:dist *))
|
||||
(* (ql-dist:version *)))
|
||||
*)))
|
||||
(new (string< "2022-07-08" current-version)))
|
||||
(funcall (if new #'nreverse #'identity)
|
||||
(plump:get-elements-by-tag-name node tag))))
|
||||
|
||||
#+sbcl
|
||||
(defclass count-line-stream (sb-gray:fundamental-character-output-stream)
|
||||
((base :initarg :base
|
||||
|
|
@ -162,7 +174,8 @@
|
|||
*error-output* (make-broadcast-stream)
|
||||
*trace-output*(make-broadcast-stream)))
|
||||
(if (ql:where-is-system system)
|
||||
(progn (ql:quickload system)
|
||||
(progn (asdf:load-asd (asdf:system-source-file system))
|
||||
(ql:quickload system)
|
||||
(ignore-errors(asdf:oos 'asdf:load-op system :force t)))
|
||||
(ql:quickload system)))
|
||||
(format *error-output* "~&[~a/3] Processing build-hook.." (incf step))
|
||||
|
|
|
|||
|
|
@ -5,7 +5,8 @@
|
|||
:install-system-script :install-impl-if-probed :install-script-if-probed
|
||||
:install-system-if-probed :mingw-namestring :install-github :*checkout-default*
|
||||
:install :decide-version :decide-download :require-system-package
|
||||
:start :setup :date :github-version :version :install-script :count-line-stream))
|
||||
:start :setup :date :github-version :version :install-script :count-line-stream
|
||||
:get-elements-by-tag-name))
|
||||
(in-package :roswell.install)
|
||||
|
||||
(defvar *ros-path* nil)
|
||||
|
|
@ -77,7 +78,7 @@ To differentiate it from the system with the same name in quicklisp, the path sh
|
|||
(download uri file :interval (* 60 60))
|
||||
(read-call "plump:parse" file))))
|
||||
(nreverse
|
||||
(loop for link in (read-call "plump:get-elements-by-tag-name" elts "link")
|
||||
(loop for link in (read-call "roswell.install:get-elements-by-tag-name" elts "link")
|
||||
for href = (read-call "plump:get-attribute" link "href")
|
||||
when (funcall filter href)
|
||||
collect it))))
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
#+ros.init
|
||||
(roswell:include '("util" "system") "util-template")
|
||||
#+quicklisp
|
||||
(ql:quickload '("uiop" "djula") :silent t)
|
||||
(ignore-errors (ql:quickload '("uiop" "djula") :silent t))
|
||||
(defpackage :roswell.util.template
|
||||
(:use :cl)
|
||||
(:export
|
||||
|
|
@ -113,7 +113,8 @@
|
|||
:name (format nil "roswell.init.~A" template-name)))
|
||||
|
||||
(defun apply-djula (template-string stream params)
|
||||
(apply 'djula::render-template* (djula::compile-string template-string) stream
|
||||
(apply (read-from-string "djula::render-template*")
|
||||
(read-call "djula::compile-string" template-string) stream
|
||||
`(,@params
|
||||
:author ,(author)
|
||||
:email ,(email)
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
(:import-from :ros :opt :ensure-asdf :*local-project-directories*)
|
||||
(:export
|
||||
:uname :uname-m :homedir :config :impl :which :config-env :checkoutdir
|
||||
:parse-version-spec :head :download :expand :sh :chdir :system :module
|
||||
:parse-version-spec :head :download :expand :sh :make :chdir :system :module
|
||||
:core-extention :clone-github :opt :read-call :set-opt :copy-dir
|
||||
:roswell-installable-searcher :setenv :unsetenv :ensure-asdf :split-sequence
|
||||
:local-project-build-hash))
|
||||
|
|
@ -196,6 +196,9 @@ Example:
|
|||
(which "bash")
|
||||
"sh"))
|
||||
|
||||
(defun make ()
|
||||
(or #+freebsd "gmake" "make"))
|
||||
|
||||
(defvar *version*
|
||||
`(:roswell ,(or (ignore-errors (roswell:version))
|
||||
(progn
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
(defsystem "roswell"
|
||||
:version "21.10.14.111"
|
||||
:version "26.2.116"
|
||||
:author "SANO Masatoshi"
|
||||
:license "MIT"
|
||||
:depends-on ("simple-date-time" "split-sequence" "plump" "zip")
|
||||
|
|
@ -36,7 +36,7 @@
|
|||
:components
|
||||
((:file "ros"))))
|
||||
:perform (test-op :after (op c)
|
||||
#+quickisp(ql:quickload :prove-asdf)
|
||||
#+quicklisp(ql:quickload :prove-asdf)
|
||||
#-asdf(asdf:load-system :prove-asdf)
|
||||
(uiop:symbol-call :prove-asdf :run-test-system c)
|
||||
(asdf:clear-system c)))
|
||||
|
|
|
|||
|
|
@ -1,7 +1,5 @@
|
|||
FROM alpine:3.13
|
||||
FROM alpine:3.20
|
||||
run apk add --no-cache \
|
||||
alpine-sdk automake autoconf curl-dev bash linux-headers \
|
||||
curl-static nghttp2-static openssl-libs-static brotli-static zlib-static; \
|
||||
cd /tmp/roswell;./bootstrap;./configure --with-sbcl-bin-variant='-musl';make; make install; \
|
||||
ros install sbcl-bin/2.0.5; \
|
||||
rm -rf /tmp/roswell
|
||||
curl-static nghttp2-static openssl-libs-static brotli-static zlib-static zstd-static c-ares-static \
|
||||
libidn2-static libunistring-static libpsl-static;
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
roswell-musl:64
|
||||
roswell-musl:24.10
|
||||
|
|
|
|||
|
|
@ -1,12 +1,12 @@
|
|||
FROM ubuntu:16.04
|
||||
FROM ubuntu:20.04
|
||||
RUN apt-get update && apt-get install -y \
|
||||
build-essential git automake libcurl4-openssl-dev curl pandoc ruby-sass \
|
||||
&& apt-get clean \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
run ln -s /bin/echo /bin/run-prove
|
||||
run curl -L -O https://github.com/roswell/roswell/releases/download/v21.06.14.110/roswell-21.06.14.110-linux-x86_64.tar.bz2 \
|
||||
&& tar xf roswell-21.06.14.110-linux-x86_64.tar.bz2 \
|
||||
run curl -L -O https://github.com/roswell/roswell/releases/download/v21.10.14.111/roswell-21.10.14.111-linux-x86_64.tar.bz2 \
|
||||
&& tar xf roswell-21.10.14.111-linux-x86_64.tar.bz2 \
|
||||
&& cd roswell;make install \
|
||||
&& rm -rf roswell roswell-21.06.14.110-linux-x86_64.tar.bz2
|
||||
&& rm -rf roswell roswell-21.10.14.111-linux-x86_64.tar.bz2
|
||||
run ros install sbcl-bin/2.0.0; ros run -- --version
|
||||
run ros install snmsts/sn.github
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
pandoc:xenial
|
||||
pandoc:focal
|
||||
|
|
|
|||
|
|
@ -1,6 +1,12 @@
|
|||
-include .env
|
||||
export $(shell sed 's/=.*//' .env)
|
||||
|
||||
DOCKER_REPO ?= docker.pkg.github.com/roswell/roswell
|
||||
DOCKER_PLATFORM ?= linux/amd64
|
||||
DOCKER_BUILD_OPTIONS ?=
|
||||
DOCKER_IMAGE_SUFFIX ?=
|
||||
IMAGE ?=
|
||||
|
||||
all:
|
||||
echo all
|
||||
|
||||
|
|
@ -16,20 +22,27 @@ show:
|
|||
@echo VERSION=$(VERSION) VARIANT=$(VARIANT)
|
||||
|
||||
build-docker:
|
||||
docker build -t docker.pkg.github.com/roswell/roswell/$$(cat ./scripts/Docker/$(IMAGE)/Name) ./scripts/Docker/$(IMAGE)
|
||||
docker build \
|
||||
--platform $(DOCKER_PLATFORM) \
|
||||
-t $(DOCKER_REPO)/$$(cat ./scripts/Docker/$(IMAGE)/Name)$(DOCKER_IMAGE_SUFFIX) \
|
||||
$(DOCKER_BUILD_OPTIONS) \
|
||||
./scripts/Docker/$(IMAGE)
|
||||
push-docker:
|
||||
docker push docker.pkg.github.com/roswell/roswell/$$(cat ./scripts/Docker/$(IMAGE)/Name);
|
||||
docker push $(DOCKER_REPO)/$$(cat ./scripts/Docker/$(IMAGE)/Name)$(DOCKER_IMAGE_SUFFIX);
|
||||
pull-docker:
|
||||
docker pull docker.pkg.github.com/roswell/roswell/$$(cat ./scripts/Docker/$(IMAGE)/Name);
|
||||
docker pull $(DOCKER_REPO)/$$(cat ./scripts/Docker/$(IMAGE)/Name)$(DOCKER_IMAGE_SUFFIX);
|
||||
docker:
|
||||
docker run \
|
||||
--rm \
|
||||
--platform $(DOCKER_PLATFORM) \
|
||||
-v `pwd`:/tmp2 \
|
||||
-e ARCH=$(ARCH) \
|
||||
-e VERSION=$(VERSION) \
|
||||
-e SUFFIX=$(SUFFIX) \
|
||||
-e CFLAGS=$(CFLAGS) \
|
||||
-e LINKFLAGS=$(LINKFLAGS) \
|
||||
-e VARIANT=$(VARIANT) \
|
||||
docker.pkg.github.com/roswell/roswell/$$(cat ./scripts/Docker/$(IMAGE)/Name) \
|
||||
$(DOCKER_REPO)/$$(cat ./scripts/Docker/$(IMAGE)/Name)$(DOCKER_IMAGE_SUFFIX) \
|
||||
bash \
|
||||
-c "cd /tmp2;make -f scripts/Makefile $(MAKEOPTS)"
|
||||
upload:
|
||||
|
|
@ -41,7 +54,7 @@ musl:
|
|||
./bootstrap
|
||||
./configure --enable-maintainer-mode --with-sbcl-bin-variant=$(VARIANT) \
|
||||
LDFLAGS="--static -static-libgcc -static-libstdc++ -static" \
|
||||
LIBS="-lcurl -lbrotlidec-static -lbrotlicommon-static -lnghttp2 -lssl -lcrypto -lz"
|
||||
LIBS="-lcurl -lbrotlidec -lbrotlicommon -lnghttp2 -lssl -lcrypto -lz -lzstd -lcares -lidn2 -lunistring -lpsl"
|
||||
make
|
||||
make pack
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
#!/bin/sh
|
||||
set -e
|
||||
|
||||
ROSWELL_RELEASE_VERSION=21.06.14.110
|
||||
ROSWELL_RELEASE_VERSION=26.02.116
|
||||
ROSWELL_TARBALL_PATH=$HOME/roswell.tar.gz
|
||||
ROSWELL_DIR=$HOME/.roswell
|
||||
ROSWELL_REPO=${ROSWELL_REPO:-https://github.com/roswell/roswell}
|
||||
|
|
@ -33,10 +33,16 @@ log () {
|
|||
|
||||
fetch () {
|
||||
echo "Downloading $1..."
|
||||
if curl --no-progress-bar --retry 10 -o $2 -L $1; then
|
||||
return 0;
|
||||
if curl --no-progress-bar --retry 10 --connect-timeout 30 \
|
||||
--max-time 300 -o "$2" -L "$1" 2>&1; then
|
||||
echo "✓ Successfully downloaded $1"
|
||||
return 0
|
||||
else
|
||||
echo "Failed to download $1."
|
||||
code=$? # capture curl's exit code immediately
|
||||
echo "✗ Failed to download $1"
|
||||
echo " URL: $1"
|
||||
echo " Destination: $2"
|
||||
echo " Curl exit code: $code"
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
|
|
@ -159,7 +165,7 @@ install_roswell_bin () {
|
|||
GNUMAKE=/usr/local/bin/gmake
|
||||
apt_unless_installed roswell
|
||||
elif [ `uname` = "Darwin" ] && [ $ROSWELL_BRANCH = release ]; then
|
||||
apt_unless_installed roswell
|
||||
brew upgrade roswell 2>/dev/null || brew install roswell
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
|
@ -202,8 +208,6 @@ install_sbcl_bin () {
|
|||
install_lisp_dependency () {
|
||||
case "$USE_LISP" in
|
||||
alisp|allegro)
|
||||
apt_unless_installed libc6-i386
|
||||
apt_unless_installed gcc-multilib
|
||||
USE_LISP=allegro
|
||||
;;
|
||||
cmu|cmucl|cmu-bin)
|
||||
|
|
@ -221,6 +225,13 @@ install_lisp_dependency () {
|
|||
apt_unless_installed gcc-multilib
|
||||
ros config set ccl.bit 32
|
||||
;;
|
||||
sbcl/*)
|
||||
if [ "$(uname)" = "Darwin" ]; then
|
||||
brew install zstd 2>/dev/null || true
|
||||
else
|
||||
apt_unless_installed libzstd-dev
|
||||
fi
|
||||
;;
|
||||
# 'sbcl-bin' is the default
|
||||
"")
|
||||
USE_LISP=sbcl-bin
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@ exec ros -Q -L sbcl-bin -- $0 "$@"
|
|||
(d (multiple-value-list(decode-universal-time (get-universal-time)))))
|
||||
(setf (first version) (- (nth 5 d) 2000)
|
||||
(second version) (nth 4 d)
|
||||
(fourth version) (1+ (fourth version)))
|
||||
(first (last version)) (1+ (first (last version))))
|
||||
(format nil "~{~2,'0d~^.~}" version)))
|
||||
|
||||
(defun edit-file (path match replace version &key test)
|
||||
|
|
@ -119,7 +119,7 @@ exec ros -Q -L sbcl-bin -- $0 "$@"
|
|||
`("To release"
|
||||
"1. Review changes and complete ChangeLog"
|
||||
"2. Type"
|
||||
"make release")))
|
||||
"make release-commit")))
|
||||
|
||||
(defun prepare (argv)
|
||||
(declare (ignore argv))
|
||||
|
|
@ -139,7 +139,7 @@ exec ros -Q -L sbcl-bin -- $0 "$@"
|
|||
(edit-roswell-asd)
|
||||
(show-how-to-release))
|
||||
|
||||
(defun release (argv)
|
||||
(defun release-commit (argv)
|
||||
(declare (ignore argv))
|
||||
(!"git checkout master")
|
||||
(!"git add ChangeLog configure.ac roswell.asd")
|
||||
|
|
@ -179,7 +179,7 @@ exec ros -Q -L sbcl-bin -- $0 "$@"
|
|||
|
||||
(defun main (subcmd &rest argv)
|
||||
(declare (ignorable argv))
|
||||
(let ((subcmd (find subcmd '(prepare release release-push changelog release-ci)
|
||||
(let ((subcmd (find subcmd '(prepare release-commit release-push changelog release-ci)
|
||||
:test 'equal :key 'string-downcase)))
|
||||
(when subcmd
|
||||
(funcall subcmd argv))))
|
||||
|
|
|
|||
|
|
@ -32,7 +32,7 @@ ros_SOURCES = main.c opt.c download.c download_windows.c archive.c archive_windo
|
|||
cmd-internal.c cmd-script.c \
|
||||
cmd-run.c cmd-run-sbcl.c cmd-run-ccl.c cmd-run-clasp.c cmd-run-clisp.c cmd-run-ecl.c \
|
||||
cmd-run-mkcl.c cmd-run-abcl.c cmd-run-cmu.c cmd-run-acl.c cmd-run-lispworks.c \
|
||||
cmd-run-npt.c \
|
||||
cmd-run-npt.c cmd-run-dotcl.c \
|
||||
cmd-install.c install-sbcl-bin.c install-sbcl-bin_windows.c
|
||||
|
||||
if WITH_WIN_ICON
|
||||
|
|
|
|||
|
|
@ -25,17 +25,17 @@ int extract(const char *filename, int do_extract, int flags,const char* outputpa
|
|||
char* type="gzip"; /*for gz*/
|
||||
if(len>4) {
|
||||
int i,c;
|
||||
for(c=0,i=len;filename[i]!='.' && c<5;--i,++c) {
|
||||
if(filename[i]=='b'||filename[i]=='B') {
|
||||
const char* ext;
|
||||
for(c=0,i=len;filename[i]!='.' && len>c;--i,++c);
|
||||
ext=filename+i;
|
||||
if(strcmp(".tbz2",ext)==0 || strcmp(".bz2",ext)==0) {
|
||||
type="bzip2";
|
||||
break;
|
||||
}else if(filename[i]=='x'||filename[i]=='X') {
|
||||
}else if(strcmp(".xz",ext)==0) {
|
||||
type="xz";
|
||||
break;
|
||||
}else if(filename[i]=='7') {
|
||||
}else if(strcmp(".7z",ext)==0) {
|
||||
type="7za";
|
||||
break;
|
||||
}
|
||||
}else if(strcmp(".cab",ext)==0) {
|
||||
type="cab";
|
||||
}
|
||||
}
|
||||
cond_printf(1,"extracttype=%s\n",type);
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@ char* extract_command_str(int flags,const char *filename,int do_extract,const ch
|
|||
char* _uname_m=uname_m();
|
||||
char* _uname=uname_s();
|
||||
char* _confdir=configdir();
|
||||
char* exe=s_escape_string(cat(_confdir,"impls",SLASH,_uname_m,SLASH,_uname,SLASH,"7za",SLASH,"9.20",SLASH,"7za.exe",NULL));
|
||||
char* exe=s_escape_string(cat(_confdir,"impls",DIRSEP,_uname_m,DIRSEP,_uname,DIRSEP,"7za",DIRSEP,"9.20",DIRSEP,"7za.exe",NULL));
|
||||
char *outputpath2=q(outputpath);
|
||||
char *filename2=q(filename);
|
||||
substitute_char('\\','/',outputpath2);
|
||||
|
|
@ -18,6 +18,9 @@ char* extract_command_str(int flags,const char *filename,int do_extract,const ch
|
|||
}else if(strcmp(type,"7za")==0) {
|
||||
ensure_directories_exist(outputpath2);
|
||||
str=cat(exe," ",do_extract?"x":"t"," -y -o",outputpath2," ",filename2,NULL);
|
||||
}else if(strcmp(type,"cab")==0) {
|
||||
if(do_extract)
|
||||
str=cat("expand.exe /r \"-F:*\" ",filename2," ",outputpath2,NULL);
|
||||
}
|
||||
s(outputpath2),s(filename2),s(_confdir),s(_uname),s(_uname_m);
|
||||
return str;
|
||||
|
|
|
|||
|
|
@ -10,8 +10,8 @@ extern int extract(const char *filename, int do_extract, int flags,const char* o
|
|||
int installed_p(struct install_options* param) {
|
||||
int ret;
|
||||
char *i,*impl=q(param->impl);
|
||||
i=s_cat(configdir(),q("impls"),q(SLASH),q(param->arch),q(SLASH),q(param->os),q(SLASH),
|
||||
q(impl),q(param->version?SLASH:""),q(param->version?param->version:""),q(SLASH),NULL);
|
||||
i=s_cat(configdir(),q("impls"),q(DIRSEP),q(param->arch),q(DIRSEP),q(param->os),q(DIRSEP),
|
||||
q(impl),q(param->version?DIRSEP:""),q(param->version?param->version:""),q(DIRSEP),NULL);
|
||||
ret=directory_exist_p(i);
|
||||
cond_printf(1,"directory_exist_p(%s)=%d\n",i,ret);
|
||||
s(i),s(impl);
|
||||
|
|
@ -30,11 +30,11 @@ int start(struct install_options* param) {
|
|||
set_defaultlisp(param->impl,param->version);
|
||||
exit(EXIT_SUCCESS);
|
||||
}
|
||||
p=cat(home,"tmp",SLASH,param->impl,param->version?"-":"",param->version?param->version:"",SLASH,NULL);
|
||||
p=cat(home,"tmp",DIRSEP,param->impl,param->version?"-":"",param->version?param->version:"",DIRSEP,NULL);
|
||||
ensure_directories_exist(p);
|
||||
s(p);
|
||||
|
||||
p=cat(home,"tmp",SLASH,param->impl,param->version?"-":"",param->version?param->version:"",".lock",NULL);
|
||||
p=cat(home,"tmp",DIRSEP,param->impl,param->version?"-":"",param->version?param->version:"",".lock",NULL);
|
||||
delete_at_exit(p);
|
||||
touch(p);
|
||||
|
||||
|
|
@ -53,7 +53,7 @@ int download(struct install_options* param) {
|
|||
char* home=configdir();
|
||||
char* url=install_impl->uri;
|
||||
char* archive_name=download_archive_name(param);
|
||||
char* impl_archive=cat(home,"archives",SLASH,archive_name,NULL);
|
||||
char* impl_archive=cat(home,"archives",DIRSEP,archive_name,NULL);
|
||||
if(!file_exist_p(impl_archive)
|
||||
|| get_opt("download.force",1)) {
|
||||
printf("Downloading %s\n",url);
|
||||
|
|
|
|||
|
|
@ -177,15 +177,15 @@ char* lispdir(void) {
|
|||
s(w);
|
||||
|
||||
/* $(bindir)/lisp/ */
|
||||
LISPDIR_CANDIDATE(cat(ros_bin,"lisp",SLASH,NULL));
|
||||
LISPDIR_CANDIDATE(cat(ros_bin,"lisp",DIRSEP,NULL));
|
||||
|
||||
ros_bin[strlen(ros_bin)-1]='\0';
|
||||
ros_bin=pathname_directory(ros_bin);
|
||||
|
||||
/* $(bindir)/../etc/roswell/ */
|
||||
LISPDIR_CANDIDATE(cat(ros_bin,"etc"SLASH PACKAGE_NAME SLASH,NULL));
|
||||
LISPDIR_CANDIDATE(cat(ros_bin,"etc"DIRSEP PACKAGE_NAME DIRSEP,NULL));
|
||||
/* $(bindir)/../lisp/ */
|
||||
LISPDIR_CANDIDATE(cat(ros_bin,"lisp",SLASH,NULL));
|
||||
LISPDIR_CANDIDATE(cat(ros_bin,"lisp",DIRSEP,NULL));
|
||||
s(ros_bin);
|
||||
result=append_trail_slash(LISP_PATH);
|
||||
return q(result);
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ char** cmd_run_abcl(int argc,char** argv,struct sub_command* cmd) {
|
|||
|
||||
s(arch),s(os);
|
||||
|
||||
ret=conss((strcmp("system",version)==0)?truename(which("abcl")):cat(home,impl_path,SLASH,"abcl",EXE_EXTENTION,NULL),ret);
|
||||
ret=conss((strcmp("system",version)==0)?truename(which("abcl")):cat(home,impl_path,DIRSEP,"abcl",EXE_EXTENTION,NULL),ret);
|
||||
/* runtime options from here */
|
||||
ret=conss(q("--noinform"),ret);
|
||||
ret=conss(q("--noinit"),ret);
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@ char** cmd_run_acl(int argc,char** argv,struct sub_command* cmd) {
|
|||
|
||||
ret=conss((strcmp("system",version)==0)?
|
||||
truename(which(lisp)):
|
||||
cat(home,impl_path,SLASH,lisp,EXE_EXTENTION,NULL),ret);
|
||||
cat(home,impl_path,DIRSEP,lisp,EXE_EXTENTION,NULL),ret);
|
||||
/* runtime options from here */
|
||||
ret=conss(q("-qq"),ret);
|
||||
if(acl_version) {
|
||||
|
|
@ -33,7 +33,7 @@ char** cmd_run_acl(int argc,char** argv,struct sub_command* cmd) {
|
|||
}
|
||||
|
||||
if(image) {
|
||||
char *path=cat(basedir(),impl_path,SLASH,"dump",SLASH,image,".core",NULL);
|
||||
char *path=cat(basedir(),impl_path,DIRSEP,"dump",DIRSEP,image,".core",NULL);
|
||||
if(file_exist_p(path)) {
|
||||
ret=conss(q("-I"),ret);
|
||||
ret=conss(path,ret);
|
||||
|
|
|
|||
|
|
@ -52,7 +52,7 @@ char** cmd_run_ccl(int argc,char** argv,struct sub_command* cmd) {
|
|||
unsetenv("CCL_DEFAULT_DIRECTORY");
|
||||
|
||||
ret=conss(issystem?truename(which(strcmp(impl,"ccl32")==0?"ccl32":"ccl")):
|
||||
cat(home,impl_path,SLASH,binname,EXE_EXTENTION,NULL),ret);
|
||||
cat(home,impl_path,DIRSEP,binname,EXE_EXTENTION,NULL),ret);
|
||||
if(ccl_version)
|
||||
ret=conss(q("--version"),ret);
|
||||
ret=conss(q("--no-init"),ret);
|
||||
|
|
@ -61,9 +61,9 @@ char** cmd_run_ccl(int argc,char** argv,struct sub_command* cmd) {
|
|||
ret=conss(q("--image-name"),ret);
|
||||
if(!image) {
|
||||
if(!issystem)
|
||||
ret=conss(cat(home,impl_path,SLASH,binname,".image",NULL),ret);
|
||||
ret=conss(cat(home,impl_path,DIRSEP,binname,".image",NULL),ret);
|
||||
}else
|
||||
ret=conss(cat(basedir(),impl_path,SLASH,"dump",SLASH,image,".",binname,NULL),ret);
|
||||
ret=conss(cat(basedir(),impl_path,DIRSEP,"dump",DIRSEP,image,".",binname,NULL),ret);
|
||||
|
||||
ret=conss(q("--eval"),ret);
|
||||
ret=conss(s_cat(q("(progn #-ros.init(cl:load \""),lispdir(),q("init.lisp"),q("\"))"),NULL),ret);
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@ char** cmd_run_clasp(int argc,char** argv,struct sub_command* cmd) {
|
|||
|
||||
LVal ret=0;
|
||||
|
||||
char *bin=cat(home,impl_path,SLASH,"build/boehm/iclasp-boehm",EXE_EXTENTION,NULL);
|
||||
char *bin=cat(home,impl_path,DIRSEP,"build/boehm/iclasp-boehm",EXE_EXTENTION,NULL);
|
||||
s(arch),s(os);
|
||||
ret=conss(bin,ret);
|
||||
s(impl_path);
|
||||
|
|
|
|||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue