mirror of
https://github.com/roswell/roswell.git
synced 2026-09-10 07:16:17 -04:00
Compare commits
218 commits
v20.06.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 | ||
|
|
5be94a34eb | ||
|
|
043cb7db80 | ||
|
|
13b9400092 | ||
|
|
9b3a257a4a | ||
|
|
3e8fbb5780 | ||
|
|
e3f72e5552 | ||
|
|
93b08b4276 | ||
|
|
3b39eb2eba | ||
|
|
bce72a91a9 | ||
|
|
7390c53a2b | ||
|
|
356b891093 | ||
|
|
d34deabb96 | ||
|
|
ef6e4a3eaf | ||
|
|
181cf35eed | ||
|
|
dc9e940896 | ||
|
|
fda4e6563c | ||
|
|
34fe8e0f98 | ||
|
|
83f7a996ea | ||
|
|
fd3b282164 | ||
|
|
a42890c970 | ||
|
|
ee57def3f8 | ||
|
|
eaade79e7a | ||
|
|
c0bc5973a9 | ||
|
|
d94b9d83b8 | ||
|
|
607654fafb | ||
|
|
cc9f5f207e | ||
|
|
cb915df04d | ||
|
|
57952781fe | ||
|
|
99bbff3ca0 | ||
|
|
2bf8cab309 | ||
|
|
b7b5a1c6c9 | ||
|
|
7ee3f5bb5d | ||
|
|
660cd9b2f2 | ||
|
|
4c4afdd68d | ||
|
|
52183ff17d | ||
|
|
06aaf123c5 | ||
|
|
421966dd95 | ||
|
|
c9ef28536f | ||
|
|
b850b295e1 | ||
|
|
745144d9e5 | ||
|
|
0a1254c03e | ||
|
|
351157c0e3 | ||
|
|
519751aa04 | ||
|
|
2bf24f5657 | ||
|
|
9b74b17b6c | ||
|
|
03517cad3b | ||
|
|
2f98775a2c | ||
|
|
a790a53222 | ||
|
|
d264e4ea3f | ||
|
|
e794c63f53 | ||
|
|
53624e12a1 | ||
|
|
2295411c87 | ||
|
|
83a37a257b | ||
|
|
ed1f7c6eda | ||
|
|
45eba0d956 | ||
|
|
b466d1249f | ||
|
|
32fbad1df8 | ||
|
|
21d6359533 | ||
|
|
534f6991ab | ||
|
|
d246106a39 | ||
|
|
4964e70ad4 | ||
|
|
3b81b80ddb | ||
|
|
9f28cb3ac4 | ||
|
|
1087fc358a | ||
|
|
db1857bafd | ||
|
|
989bbd8e58 | ||
|
|
029fad9443 | ||
|
|
806a1606de | ||
|
|
2c591300a4 | ||
|
|
c883fc00a2 | ||
|
|
ee46642416 | ||
|
|
2dd3c7d6a9 | ||
|
|
a536b9e7ed | ||
|
|
701bc845bd | ||
|
|
683ae5f6c4 | ||
|
|
b8ccb2342f | ||
|
|
64fdea1fdc | ||
|
|
6d4a612302 | ||
|
|
6a529d9ccc | ||
|
|
81635defae | ||
|
|
f1555cd79c | ||
|
|
739740bd77 | ||
|
|
59b610b542 | ||
|
|
0107dfb543 | ||
|
|
0b7504f39a | ||
|
|
2c5934a784 | ||
|
|
6dc0070da5 | ||
|
|
499eddcf5f | ||
|
|
4b0bd99975 | ||
|
|
8353528056 | ||
|
|
b851c375af | ||
|
|
0321395fdb | ||
|
|
7e507ce12c | ||
|
|
868a37f69c | ||
|
|
5bde6608a2 | ||
|
|
b22041eba0 | ||
|
|
dc2a935522 | ||
|
|
0712326538 | ||
|
|
a8fd8a3c33 | ||
|
|
60415832a7 | ||
|
|
72b2d66bfa | ||
|
|
42b0ead617 | ||
|
|
6d55192c7e | ||
|
|
177a646c98 |
|
|
@ -1,57 +0,0 @@
|
||||||
platform:
|
|
||||||
- x64
|
|
||||||
environment:
|
|
||||||
global:
|
|
||||||
MSYS2_BASEVER: 20160205
|
|
||||||
matrix:
|
|
||||||
- MSYS2_ARCH: i686
|
|
||||||
MSYS2_BITS: 32
|
|
||||||
MSYSTEM: MINGW32
|
|
||||||
METHOD: cross
|
|
||||||
- MSYS2_ARCH: x86_64
|
|
||||||
MSYS2_BITS: 64
|
|
||||||
MSYSTEM: MINGW64
|
|
||||||
METHOD: cross
|
|
||||||
|
|
||||||
install:
|
|
||||||
- ps: If (($env:METHOD -eq "cross") -and (Test-Path ("msys" + $env:MSYS2_BITS))){Write-Host "Using cached msys2"}
|
|
||||||
- ps: >-
|
|
||||||
If (($env:METHOD -eq "cross") -and !(Test-Path ("msys" + $env:MSYS2_BITS))) {
|
|
||||||
Invoke-WebRequest -UserAgent wget -Uri ("http://kent.dl.sourceforge.net/project/msys2/Base/" + $env:MSYS2_ARCH + "/msys2-base-" + $env:MSYS2_ARCH + "-" + $env:MSYS2_BASEVER + ".tar.xz") -OutFile "msys2.tar.xz";
|
|
||||||
&"7z" x msys2.tar.xz;
|
|
||||||
&"7z" x msys2.tar > $nul;
|
|
||||||
&("msys" + $env:MSYS2_BITS + "\usr\bin\bash") -lc "";
|
|
||||||
&("msys" + $env:MSYS2_BITS + "\usr\bin\bash") -lc ("for i in {1..3};
|
|
||||||
do pacman --noconfirm -Syu --force coreutils && break || sleep 15; done");
|
|
||||||
&("msys" + $env:MSYS2_BITS + "\usr\bin\bash") -lc ("for i in {1..3};
|
|
||||||
do pacman --noconfirm -Suy autoconf automake mingw-w64-"+ $env:MSYS2_ARCH + "-gcc make zlib-devel python3 && break || sleep 15; done");
|
|
||||||
&("msys" + $env:MSYS2_BITS + "\usr\bin\bash") -lc "pacman --noconfirm -R -s bash-completion tftp-hpa inetutils util-linux tzcode time dash flex pax-git file bsdcpio bsdtar lndir";
|
|
||||||
&("msys" + $env:MSYS2_BITS + "\usr\bin\bash") -lc "yes|pacman --noconfirm -Sc";
|
|
||||||
#&("msys" + $env:MSYS2_BITS + "\autorebase.bat");
|
|
||||||
}
|
|
||||||
|
|
||||||
build_script:
|
|
||||||
- if "%METHOD%"=="cross" msys%MSYS2_BITS%\usr\bin\bash -lc "mkdir /tmp;cd $APPVEYOR_BUILD_FOLDER; exec 0</dev/null; ./bootstrap; ./configure; make; make install; make winrelease"
|
|
||||||
- if "%METHOD%"=="ci" C:\msys64\usr\bin\bash -lc "cd $APPVEYOR_BUILD_FOLDER; exec 0</dev/null; ./bootstrap; ./configure; make; make install"
|
|
||||||
|
|
||||||
test_script:
|
|
||||||
- if "%METHOD%"=="ci" C:\msys64\usr\bin\bash -lc "ros version"
|
|
||||||
- if "%METHOD%"=="ci" C:\msys64\usr\bin\bash -lc "ros setup"
|
|
||||||
- if "%METHOD%"=="ci" C:\msys64\usr\bin\bash -lc "ros install sbcl"
|
|
||||||
# - if "%METHOD%"=="cross" ros install sbcl
|
|
||||||
# - ros install sbcl
|
|
||||||
# - ros config
|
|
||||||
# - ros -s prove-asdf -s quri-test -e "(asdf:test-system :quri-test)"
|
|
||||||
# - ps: foreach($artifactName in $artifacts.keys) { Write-Host $artifacts[$artifactName].path }
|
|
||||||
|
|
||||||
artifacts:
|
|
||||||
- path: Roswell-x86_64.zip
|
|
||||||
name: Roswell-x86_64.zip
|
|
||||||
- path: Roswell-i686.zip
|
|
||||||
name: Roswell-i686.zip
|
|
||||||
|
|
||||||
#cache:
|
|
||||||
# - msys64
|
|
||||||
# - msys32
|
|
||||||
# - msys32 -> .appveyor.yml
|
|
||||||
# - msys64 -> .appveyor.yml
|
|
||||||
107
.github/workflows/build.yml
vendored
107
.github/workflows/build.yml
vendored
|
|
@ -1,107 +0,0 @@
|
||||||
name: CI
|
|
||||||
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
pull_request:
|
|
||||||
|
|
||||||
|
|
||||||
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:
|
|
||||||
MSYSTEM: MINGW${{ matrix.bit }}
|
|
||||||
MSYS2_PATH_TYPE: inherit
|
|
||||||
MSYS2_PATH_LIST: D:\msys64\mingw${{ matrix.bit }}\bin;D:\msys64\usr\local\bin;D:\msys64\usr\bin;D:\msys64\bin
|
|
||||||
MSYS2_TARBALL_URL1: https://github.com/msys2/msys2-installer/releases/download/nightly-x86_64/msys2-base-x86_64-latest.tar.xz
|
|
||||||
MSYS2_TARBALL_URL2: http://repo.msys2.org/distrib/x86_64/msys2-base-x86_64-20190524.tar.xz
|
|
||||||
MSYS2_TARBALL_URL3: https://sourceforge.net/projects/msys2/files/Base/x86_64/msys2-base-x86_64-20190524.tar.xz
|
|
||||||
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
|
|
||||||
- name: Install MSYS2
|
|
||||||
run: |
|
|
||||||
bash -lc @'
|
|
||||||
pwd
|
|
||||||
curl -f -L -o msys2.tar.xz $MSYS2_TARBALL_URL1 ||
|
|
||||||
curl -f -o msys2.tar.xz $MSYS2_TARBALL_URL2 ||
|
|
||||||
curl -f -L -o msys2.tar.xz $MSYS2_TARBALL_URL3
|
|
||||||
err1=$?
|
|
||||||
#tar xf msys2.tar.xz -C /d/
|
|
||||||
7z x msys2.tar.xz -so | 7z x -aoa -si -ttar -oD:
|
|
||||||
ls -l /d/
|
|
||||||
exit $err1
|
|
||||||
'@
|
|
||||||
- name: Add MSYS2 path
|
|
||||||
run: |
|
|
||||||
echo "::set-env name=PATH::$env:MSYS2_PATH_LIST;$env:PATH"
|
|
||||||
- name: Run MSYS2 once
|
|
||||||
run: |
|
|
||||||
bash -lc @'
|
|
||||||
pwd
|
|
||||||
cd $GITHUB_WORKSPACE
|
|
||||||
pwd
|
|
||||||
echo $PATH
|
|
||||||
'@
|
|
||||||
- name: Update MSYS2
|
|
||||||
run: |
|
|
||||||
bash -lc @'
|
|
||||||
pacman --version
|
|
||||||
pacman -Syyuu --noconfirm
|
|
||||||
'@
|
|
||||||
- name: Install MinGW-w64
|
|
||||||
run: |
|
|
||||||
bash -lc @'
|
|
||||||
pacman --version
|
|
||||||
pacman -S --noconfirm base-devel &&
|
|
||||||
pacman -S --noconfirm mingw${{ matrix.bit }}/mingw-w64-${{ matrix.arch }}-toolchain
|
|
||||||
'@
|
|
||||||
- name: Set environment variables
|
|
||||||
run: |
|
|
||||||
bash -lc @'
|
|
||||||
pwd
|
|
||||||
uname
|
|
||||||
uname -m
|
|
||||||
'@
|
|
||||||
- name: Build
|
|
||||||
run: |
|
|
||||||
bash -lc @'
|
|
||||||
cd $GITHUB_WORKSPACE
|
|
||||||
gcc -v
|
|
||||||
./bootstrap
|
|
||||||
./configure
|
|
||||||
make
|
|
||||||
make install
|
|
||||||
make winrelease
|
|
||||||
'@
|
|
||||||
- name: Copy Result
|
|
||||||
if: always()
|
|
||||||
run: |
|
|
||||||
bash -lc @'
|
|
||||||
cd $GITHUB_WORKSPACE
|
|
||||||
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 }}
|
|
||||||
27
.github/workflows/docker-build.yml
vendored
Normal file
27
.github/workflows/docker-build.yml
vendored
Normal file
|
|
@ -0,0 +1,27 @@
|
||||||
|
name: docker-build
|
||||||
|
|
||||||
|
on:
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
env:
|
||||||
|
DOCKER_BUILDKIT: 1
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
environment: DOCKER_IMAGE
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
- name: Login GitHub Registry
|
||||||
|
run: echo ${{ secrets.GITHUB_TOKEN }} | docker login docker.pkg.github.com -u snmsts --password-stdin
|
||||||
|
- name: Build image
|
||||||
|
env:
|
||||||
|
IMAGE: ${{ secrets.IMAGE }}
|
||||||
|
run: |
|
||||||
|
echo building $(cat ./scripts/Docker/$IMAGE/Name) ...
|
||||||
|
docker build -t docker.pkg.github.com/${{ github.repository }}/$(cat ./scripts/Docker/$IMAGE/Name) ./scripts/Docker/$IMAGE
|
||||||
|
- name: Push image to GitHub Registry
|
||||||
|
env:
|
||||||
|
IMAGE: ${{ secrets.IMAGE }}
|
||||||
|
run: docker push docker.pkg.github.com/${{ github.repository }}/$(cat ./scripts/Docker/$IMAGE/Name)
|
||||||
93
.github/workflows/linux.yml
vendored
Normal file
93
.github/workflows/linux.yml
vendored
Normal file
|
|
@ -0,0 +1,93 @@
|
||||||
|
name: Linux
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
image: [musl64]
|
||||||
|
variant: ['', '-musl', '-glibc2.31']
|
||||||
|
target: ['x86_64', 'arm64', 'riscv64']
|
||||||
|
include:
|
||||||
|
# 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@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 -m
|
||||||
|
- name: Install Roswell
|
||||||
|
env:
|
||||||
|
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
|
||||||
|
make -f scripts/Makefile pull-docker || make -f scripts/Makefile build-docker push-docker
|
||||||
|
fi
|
||||||
|
- name: build
|
||||||
|
env:
|
||||||
|
VERSION: ${{ secrets.VERSION }}
|
||||||
|
ARCH: ${{ matrix.target }}
|
||||||
|
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 }}
|
||||||
|
run: |
|
||||||
|
if [ "$VERSION" = "" ]; then
|
||||||
|
make -f scripts/Makefile latest-version docker
|
||||||
|
else
|
||||||
|
make -f scripts/Makefile docker
|
||||||
|
fi
|
||||||
|
- name: upload
|
||||||
|
env:
|
||||||
|
GITHUB_OAUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
VERSION: ${{ secrets.VERSION }}
|
||||||
|
ARCH: ${{ matrix.target }}
|
||||||
|
SUFFIX: ${{ matrix.suffix }}
|
||||||
|
run: |
|
||||||
|
if [ "$VERSION" = "" ]; then
|
||||||
|
make -f scripts/Makefile latest-version ${{ matrix.makeopts }}-upload
|
||||||
|
else
|
||||||
|
make -f scripts/Makefile ${{ matrix.makeopts }}-upload
|
||||||
|
fi
|
||||||
45
.github/workflows/osx.yml
vendored
Normal file
45
.github/workflows/osx.yml
vendored
Normal file
|
|
@ -0,0 +1,45 @@
|
||||||
|
name: osx
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
runs-on: ${{ matrix.target == 'arm64' && 'macos-14' || 'macos-15-intel' }}
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
lisp: [sbcl-bin/2.3.8]
|
||||||
|
target: [arm64, x86-64]
|
||||||
|
environment: SET_VERSION
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- 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 -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 --prefix=$ROSWELL_INSTALL_DIR
|
||||||
|
make
|
||||||
|
make install
|
||||||
|
make pack
|
||||||
|
ros install snmsts/sn.github
|
||||||
|
- name: Upload
|
||||||
|
env:
|
||||||
|
GITHUB_OAUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
run: |
|
||||||
|
make -f scripts/Makefile latest-version musl-upload
|
||||||
75
.github/workflows/test.yml
vendored
Normal file
75
.github/workflows/test.yml
vendored
Normal file
|
|
@ -0,0 +1,75 @@
|
||||||
|
name: test
|
||||||
|
|
||||||
|
on:
|
||||||
|
schedule:
|
||||||
|
- cron: '0 1 * * *'
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
continue-on-error: ${{ matrix.experimental }}
|
||||||
|
timeout-minutes: 90
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
os: [macos-latest, ubuntu-latest]
|
||||||
|
lisp:
|
||||||
|
- alisp
|
||||||
|
- cmu-bin/2019-06
|
||||||
|
- sbcl
|
||||||
|
- ecl
|
||||||
|
- clisp
|
||||||
|
- ccl-bin
|
||||||
|
- 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-latest
|
||||||
|
experimental: true
|
||||||
|
- lisp: mkcl
|
||||||
|
os: ubuntu-latest
|
||||||
|
experimental: true
|
||||||
|
- lisp: sbcl/git
|
||||||
|
os: macos-latest
|
||||||
|
experimental: true
|
||||||
|
- lisp: sbcl/git
|
||||||
|
os: ubuntu-latest
|
||||||
|
experimental: true
|
||||||
|
- lisp: abcl
|
||||||
|
os: macos-latest
|
||||||
|
experimental: true
|
||||||
|
- lisp: abcl
|
||||||
|
os: ubuntu-latest
|
||||||
|
experimental: true
|
||||||
|
|
||||||
|
env:
|
||||||
|
LISP: ${{ matrix.lisp }}
|
||||||
|
ROSWELL_REPO: https://github.com/${{ github.repository }}
|
||||||
|
ROSWELL_BRANCH: ${{ github.head_ref }}
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
- name: setenv
|
||||||
|
run: |
|
||||||
|
echo "$HOME/.roswell/bin" >> $GITHUB_PATH
|
||||||
|
echo "ROSWELL_INSTALL_DIR=$HOME/.roswell" >> $GITHUB_ENV
|
||||||
|
- name: Install Roswell
|
||||||
|
run: |
|
||||||
|
sh ./scripts/install-for-ci.sh
|
||||||
|
- name: script
|
||||||
|
run: |
|
||||||
|
ros version
|
||||||
|
ros version=t run
|
||||||
|
ros install prove
|
||||||
|
run-prove roswell-test.asd 2>&1
|
||||||
|
ros -q run && [ "$(ros -q run 2>&1)" = "" ]
|
||||||
|
ros config
|
||||||
113
.github/workflows/windows.yml
vendored
Normal file
113
.github/workflows/windows.yml
vendored
Normal file
|
|
@ -0,0 +1,113 @@
|
||||||
|
name: windows
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
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
|
||||||
|
|
||||||
|
environment: SET_VERSION
|
||||||
|
|
||||||
|
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
|
||||||
|
p7zip
|
||||||
|
autotools
|
||||||
|
mingw-w64-${{ matrix.arch }}-toolchain
|
||||||
|
mingw-w64-${{ matrix.arch }}-autotools
|
||||||
|
- 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 pack.zip
|
||||||
|
- name: Upload
|
||||||
|
env:
|
||||||
|
GITHUB_OAUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
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
|
||||||
5
.gitignore
vendored
5
.gitignore
vendored
|
|
@ -3,12 +3,15 @@
|
||||||
*.AppImage
|
*.AppImage
|
||||||
*.fasl
|
*.fasl
|
||||||
.deps
|
.deps
|
||||||
|
.env
|
||||||
src/ros
|
src/ros
|
||||||
src/ros.exe
|
src/ros.exe
|
||||||
src/html_sbcl
|
src/html_sbcl
|
||||||
src/html_sbcl.exe
|
src/html_sbcl.exe
|
||||||
src/gend.h
|
src/gend.h
|
||||||
Makefile
|
/Makefile
|
||||||
|
/src/Makefile
|
||||||
|
/documents/Makefile
|
||||||
Makefile.in
|
Makefile.in
|
||||||
configure
|
configure
|
||||||
config.status
|
config.status
|
||||||
|
|
|
||||||
107
.travis.yml
107
.travis.yml
|
|
@ -7,33 +7,11 @@ env:
|
||||||
- ROSWELL_BRANCH=$TRAVIS_BRANCH
|
- ROSWELL_BRANCH=$TRAVIS_BRANCH
|
||||||
- ROSWELL_INSTALL_DIR=$HOME/.roswell
|
- ROSWELL_INSTALL_DIR=$HOME/.roswell
|
||||||
- ROSWELL_REPO=https://github.com/${TRAVIS_REPO_SLUG}
|
- ROSWELL_REPO=https://github.com/${TRAVIS_REPO_SLUG}
|
||||||
matrix:
|
|
||||||
- LISP=alisp
|
|
||||||
- LISP=cmu-bin/2019-06
|
|
||||||
- LISP=sbcl
|
|
||||||
- LISP=ecl
|
|
||||||
- LISP=mkcl
|
|
||||||
- LISP=clisp
|
|
||||||
- LISP=abcl
|
|
||||||
- LISP=ccl-bin
|
|
||||||
- LISP=sbcl/1.1.14
|
|
||||||
- LISP=ccl32
|
|
||||||
- LISP=sbcl/git
|
|
||||||
os:
|
os:
|
||||||
- osx
|
|
||||||
- linux
|
- linux
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
allow_failures:
|
|
||||||
- env: LISP=sbcl/git
|
|
||||||
- env: LISP=mkcl
|
|
||||||
- env: LISP=abcl
|
|
||||||
include:
|
include:
|
||||||
- os: windows
|
|
||||||
env: LISP=sbcl-bin
|
|
||||||
install:
|
|
||||||
- export SETARCH="$mingw64"
|
|
||||||
- $SETARCH sh ./scripts/install-for-ci.sh
|
|
||||||
- os: linux
|
- os: linux
|
||||||
arch: arm64
|
arch: arm64
|
||||||
env: LISP=sbcl-bin
|
env: LISP=sbcl-bin
|
||||||
|
|
@ -58,58 +36,6 @@ jobs:
|
||||||
apt:
|
apt:
|
||||||
packages:
|
packages:
|
||||||
- valgrind
|
- valgrind
|
||||||
- os: linux
|
|
||||||
name: "update documents"
|
|
||||||
if: branch = master
|
|
||||||
install:
|
|
||||||
- find . \( -name \*.lisp -o -name \*.ros \) -type f|xargs wc -l -c
|
|
||||||
- find . \( -name \*.c -o -name \*.h \) -type f|xargs wc -l -c
|
|
||||||
- pandoc -v
|
|
||||||
script:
|
|
||||||
- rm documents/man/* documents/html/*
|
|
||||||
- sh bootstrap
|
|
||||||
- ./configure --enable-manual-generation --enable-html-generation
|
|
||||||
- make
|
|
||||||
- sudo make install
|
|
||||||
- ros config
|
|
||||||
after_success:
|
|
||||||
- git config user.email "auto@example.com"; git config user.name "Travis-CI";
|
|
||||||
- if [ "$TRAVIS_BRANCH" = "master" ]; then
|
|
||||||
git branch;git status;
|
|
||||||
git checkout $TRAVIS_BRANCH;git add -u;git add documents/man/* documents/html/*;
|
|
||||||
git commit -m "[ci skip] documents update";
|
|
||||||
git push --force --quiet "https://${GITHUB_OAUTH_TOKEN}:x-oauth-basic@github.com/roswell/roswell.git" $TRAVIS_BRANCH > /dev/null 2>&1;
|
|
||||||
fi
|
|
||||||
addons:
|
|
||||||
apt:
|
|
||||||
packages:
|
|
||||||
- pandoc
|
|
||||||
- ruby-sass
|
|
||||||
- os: linux
|
|
||||||
name: "linuxbrew"
|
|
||||||
install:
|
|
||||||
- yes ""| sh -c "$(curl -fsSL https://raw.githubusercontent.com/Linuxbrew/install/master/install.sh)"
|
|
||||||
- brew update
|
|
||||||
- brew --env
|
|
||||||
- brew config
|
|
||||||
- brew doctor || true
|
|
||||||
- brew install curl
|
|
||||||
- brew install roswell --HEAD
|
|
||||||
script:
|
|
||||||
- ros version;
|
|
||||||
- ros version=t run;
|
|
||||||
- ros install prove;
|
|
||||||
- run-prove roswell-test.asd 2>&1;
|
|
||||||
- os: osx
|
|
||||||
name: "homebrew"
|
|
||||||
install:
|
|
||||||
- brew doctor || true
|
|
||||||
- brew install roswell --HEAD
|
|
||||||
script:
|
|
||||||
- ros version;
|
|
||||||
- ros version=t run;
|
|
||||||
- ros install prove;
|
|
||||||
- run-prove roswell-test.asd 2>&1;
|
|
||||||
|
|
||||||
#branches:
|
#branches:
|
||||||
# except:
|
# except:
|
||||||
|
|
@ -123,28 +49,6 @@ addons:
|
||||||
|
|
||||||
before_install:
|
before_install:
|
||||||
- date
|
- date
|
||||||
- |-
|
|
||||||
case $TRAVIS_OS_NAME in
|
|
||||||
windows)
|
|
||||||
[[ ! -f C:/tools/msys64/msys2_shell.cmd ]] && rm -rf C:/tools/msys64
|
|
||||||
choco uninstall -y mingw
|
|
||||||
choco upgrade --no-progress -y msys2
|
|
||||||
RefreshEnv.cmd
|
|
||||||
export msys2='set MSYS=winsymlinks:nativestrict '
|
|
||||||
export msys2+='& C:\\tools\\msys64\\msys2_shell.cmd -defterm -no-start'
|
|
||||||
export mingw64="$msys2 -mingw64 -full-path -here -c "\"\$@"\" --"
|
|
||||||
export msys2+=" -msys2 -c "\"\$@"\" --"
|
|
||||||
$msys2 pacman --sync --noconfirm --needed autoconf automake make zlib-devel mingw-w64-x86_64-gcc mingw-w64-i686-gcc
|
|
||||||
taskkill //IM gpg-agent.exe //F # https://travis-ci.community/t/4967
|
|
||||||
export PATH=/C/tools/msys64/mingw64/bin:$PATH
|
|
||||||
export MAKE=mingw32-make # so that Autotools can find it
|
|
||||||
;;
|
|
||||||
osx)
|
|
||||||
brew update
|
|
||||||
brew --env
|
|
||||||
brew config
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
install:
|
install:
|
||||||
- $SETARCH sh ./scripts/install-for-ci.sh
|
- $SETARCH sh ./scripts/install-for-ci.sh
|
||||||
script:
|
script:
|
||||||
|
|
@ -154,9 +58,6 @@ script:
|
||||||
- $SETARCH run-prove roswell-test.asd 2>&1
|
- $SETARCH run-prove roswell-test.asd 2>&1
|
||||||
- $SETARCH ros -q run && [`ros -q run 2>&1` == ""]
|
- $SETARCH ros -q run && [`ros -q run 2>&1` == ""]
|
||||||
- if [ "$LISP" = "sbcl-bin" ] && [ x$ALLOW_FAILURES != x ]; then
|
- if [ "$LISP" = "sbcl-bin" ] && [ x$ALLOW_FAILURES != x ]; then
|
||||||
if [ $TRAVIS_OS_NAME = osx ]; then
|
|
||||||
sudo ros -e '(ignore-errors (with-open-file (o (format nil "/~A" (code-char 12354)) :direction :output)))';
|
|
||||||
fi;
|
|
||||||
if [ $ALLOW_FAILURES = YES ]; then
|
if [ $ALLOW_FAILURES = YES ]; then
|
||||||
ros sbcl.patchless=t install sbcl;
|
ros sbcl.patchless=t install sbcl;
|
||||||
else
|
else
|
||||||
|
|
@ -166,11 +67,3 @@ script:
|
||||||
make -C t/tree-shaker ;
|
make -C t/tree-shaker ;
|
||||||
fi
|
fi
|
||||||
- $SETARCH ros config
|
- $SETARCH ros config
|
||||||
before_cache:
|
|
||||||
- |-
|
|
||||||
case $TRAVIS_OS_NAME in
|
|
||||||
windows)
|
|
||||||
# https://unix.stackexchange.com/a/137322/107554
|
|
||||||
$msys2 pacman --sync --clean --noconfirm
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
|
||||||
2
COPYING
2
COPYING
|
|
@ -1,4 +1,4 @@
|
||||||
Copyright (c) 2014-2020 SANO Masatoshi
|
Copyright (c) 2014-2022 SANO Masatoshi
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
of this software and associated documentation files (the "Software"), to deal
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
|
|
||||||
77
ChangeLog
77
ChangeLog
|
|
@ -1,3 +1,80 @@
|
||||||
|
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.
|
||||||
|
* New: 'ros install clisp-head' to install binary clisp.
|
||||||
|
* Changes: a lot related to ci.
|
||||||
|
|
||||||
|
-- SANO Masatoshi <snmsts@gmail.com> Fri, 15 Oct 2021 15:38:51 +0900
|
||||||
|
|
||||||
|
roswell (21.06.14.110-1) unstable; urgency=low
|
||||||
|
|
||||||
|
* Change: 'ros version' to show sbcl-bin-variant.
|
||||||
|
* Fix: support Allegro again it was broken because of uri change (by TANIGUCHI Masaya)
|
||||||
|
* Fix: install asdf at FreeBSD (Reported by C-Entropy)
|
||||||
|
|
||||||
|
-- SANO Masatoshi <snmsts@gmail.com> Thu, 24 Jun 2021 17:15:59 +0900
|
||||||
|
|
||||||
|
roswell (21.05.14.109-1) unstable; urgency=low
|
||||||
|
|
||||||
|
* New: 'ros install clasp-bin' implemented only tested on ubuntu 20.04
|
||||||
|
* New: './configure --with-sbcl-bin-variant=string' implemented for variants '-glibc2.10', '-musl' is prepared now.
|
||||||
|
* Fix: support for msi structure change?(reported by Aratrik Pal)
|
||||||
|
* Change: read tsv table to get current version of sbcl-bin instead of parsing html.
|
||||||
|
|
||||||
|
-- SANO Masatoshi <snmsts@gmail.com> Wed, 12 May 2021 13:01:28 +0000
|
||||||
|
|
||||||
|
roswell (21.01.14.108-1) unstable; urgency=low
|
||||||
|
|
||||||
|
* New: 'ros serve swank' to launch swank server.
|
||||||
|
|
||||||
|
-- SANO Masatoshi <snmsts@gmail.com> Tue, 26 Jan 2021 01:05:07 +0000
|
||||||
|
|
||||||
roswell (20.06.14.107-1) unstable; urgency=low
|
roswell (20.06.14.107-1) unstable; urgency=low
|
||||||
|
|
||||||
* New: 'ros ecl-config' to lunch ecl-config.
|
* New: 'ros ecl-config' to lunch ecl-config.
|
||||||
|
|
|
||||||
148
Makefile.am
148
Makefile.am
|
|
@ -5,14 +5,46 @@ SUBDIRS = src
|
||||||
if MANUAL_INSTALL
|
if MANUAL_INSTALL
|
||||||
MDS = ros.md ros-checkout.md ros-dump.md ros-init.md ros-install.md ros-list.md ros-setup.md ros-template.md \
|
MDS = ros.md ros-checkout.md ros-dump.md ros-init.md ros-install.md ros-list.md ros-setup.md ros-template.md \
|
||||||
ros-config.md ros-delete.md ros-emacs.md ros-run.md ros-use.md ros-wait.md ros-asdf.md ros-build.md ros-update.md \
|
ros-config.md ros-delete.md ros-emacs.md ros-run.md ros-use.md ros-wait.md ros-asdf.md ros-build.md ros-update.md \
|
||||||
ros-help.md
|
ros-help.md ros-client.md ros-serve.md
|
||||||
man1_MANS = $(MDS:%.md=documents/man/%.1)
|
dist_man1_MANS = $(MDS:%.md=documents/man/%.1)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
if MANUAL_GENERATE
|
if MANUAL_GENERATE
|
||||||
SUBDIRS += documents
|
SUBDIRS += documents
|
||||||
endif
|
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 \
|
LISPS = helper.el \
|
||||||
init.lisp \
|
init.lisp \
|
||||||
util.lisp util-main.lisp \
|
util.lisp util-main.lisp \
|
||||||
|
|
@ -23,95 +55,75 @@ LISPS = helper.el \
|
||||||
extend-quicklisp-system.lisp \
|
extend-quicklisp-system.lisp \
|
||||||
system.lisp \
|
system.lisp \
|
||||||
\
|
\
|
||||||
balus.ros \
|
|
||||||
build.ros \
|
|
||||||
build-ros.lisp build-asd.lisp \
|
build-ros.lisp build-asd.lisp \
|
||||||
\
|
\
|
||||||
checkout.ros \
|
client-swank.lisp \
|
||||||
config.ros \
|
|
||||||
compile-file.ros \
|
|
||||||
util-config.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-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 \
|
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-default.lisp delete-dump.lisp delete-git.lisp delete-asdf.lisp \
|
||||||
delete-env.lisp \
|
delete-env.lisp \
|
||||||
\
|
\
|
||||||
dump.ros \
|
|
||||||
util-dump.lisp \
|
util-dump.lisp \
|
||||||
dump-ccl.lisp dump-clisp.lisp \
|
dump-ccl.lisp dump-clisp.lisp \
|
||||||
dump-cmucl.lisp dump-ecl.lisp dump-sbcl.lisp \
|
dump-cmucl.lisp dump-ecl.lisp dump-sbcl.lisp \
|
||||||
\
|
\
|
||||||
help.ros \
|
|
||||||
help-install.lisp help-options.lisp help-run.lisp \
|
help-install.lisp help-options.lisp help-run.lisp \
|
||||||
\
|
\
|
||||||
init.ros \
|
|
||||||
init-default.lisp init-env.lisp init-dist.lisp \
|
init-default.lisp init-env.lisp init-dist.lisp \
|
||||||
\
|
\
|
||||||
install.ros \
|
|
||||||
util-install.lisp util-install-quicklisp.lisp \
|
util-install.lisp util-install-quicklisp.lisp \
|
||||||
install+7zip.lisp install-abcl-bin.lisp install-allegro.lisp \
|
install+7zip.lisp install-abcl-bin.lisp install-allegro.lisp \
|
||||||
install-ccl-bin.lisp install-clasp.lisp install-clisp.lisp \
|
install-ccl-bin.lisp install-clasp-bin.lisp install-clasp.lisp \
|
||||||
install-cmu-bin.lisp install-ecl.lisp install-quicklisp.lisp \
|
install-clisp.lisp install-clisp-head.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-bin.lisp install-sbcl.lisp install-sbcl-source.lisp \
|
||||||
|
install-sbcl-head.lisp \
|
||||||
install-slime.lisp install-sly.lisp \
|
install-slime.lisp install-sly.lisp \
|
||||||
install-lispworks.lisp install-mkcl.lisp \
|
install-lispworks.lisp install-mkcl.lisp \
|
||||||
install-npt.lisp \
|
install-npt.lisp \
|
||||||
install+externals-clasp.lisp install+ffcall.lisp \
|
install+externals-clasp.lisp install+ffcall.lisp \
|
||||||
install+msys2.lisp install+sigsegv.lisp install-asdf.lisp \
|
install+msys2.lisp install+sigsegv.lisp install-asdf.lisp \
|
||||||
\
|
\
|
||||||
update.ros \
|
serve-default.lisp serve-swank.lisp \
|
||||||
update-git.lisp update-hg.lisp update-quicklisp.lisp update-default.lisp \
|
update-git.lisp update-hg.lisp update-quicklisp.lisp update-default.lisp \
|
||||||
\
|
\
|
||||||
list.ros \
|
|
||||||
list-default.lisp \
|
list-default.lisp \
|
||||||
list-dump.lisp list-git.lisp list-installed.lisp list-versions.lisp \
|
list-dump.lisp list-git.lisp list-installed.lisp list-versions.lisp \
|
||||||
list-asdf.lisp list-env.lisp \
|
list-asdf.lisp list-env.lisp \
|
||||||
\
|
\
|
||||||
make-depends.ros \
|
|
||||||
template.ros \
|
|
||||||
util-template.lisp \
|
util-template.lisp \
|
||||||
\
|
\
|
||||||
use.ros \
|
|
||||||
util-use.lisp \
|
util-use.lisp \
|
||||||
use-asdf.lisp use-env.lisp \
|
use-asdf.lisp use-env.lisp
|
||||||
\
|
|
||||||
which.ros
|
|
||||||
roslisp_DATA = $(LISPS:%=lisp/%)
|
|
||||||
|
|
||||||
roslisppatch_DATA = patch/sbcl-1.3.11.patch patch/sbcl-posix-tests.patch
|
dist_roslisp_DATA = $(LISPS:%=lisp/%)
|
||||||
|
dist_roslisp_SCRIPTS = $(ROSS:%=lisp/%)
|
||||||
|
|
||||||
|
dist_roslisppatch_DATA = patch/sbcl-1.3.11.patch patch/sbcl-posix-tests.patch
|
||||||
|
|
||||||
|
|
||||||
release-prepare:
|
release-prepare:
|
||||||
ros scripts/release.ros prepare
|
ros scripts/release.ros prepare
|
||||||
release-commit:
|
release-commit:
|
||||||
ros scripts/release.ros release
|
ros scripts/release.ros release-commit
|
||||||
release-push:
|
release-push:
|
||||||
ros scripts/release.ros release-push
|
ros scripts/release.ros release-push
|
||||||
release-changelog:
|
release-changelog:
|
||||||
ros scripts/release.ros changelog
|
grep not-yet-released ChangeLog 2>&1 > /dev/null || ros scripts/release.ros changelog
|
||||||
winrelease:
|
release-ci:
|
||||||
|
ros scripts/release.ros release-ci
|
||||||
|
|
||||||
|
winrelease: roswell/Makefile
|
||||||
mkdir -p roswell/lisp
|
mkdir -p roswell/lisp
|
||||||
mkdir -p roswell/documents
|
mkdir -p roswell/documents
|
||||||
cp src/ros.exe roswell
|
cp src/ros.exe roswell
|
||||||
cp lisp/*.lisp lisp/*.ros lisp/*.el roswell/lisp
|
cp lisp/*.lisp lisp/*.ros lisp/*.el roswell/lisp
|
||||||
cd documents;MSYSTEM=MINGW64 make roswell.chm
|
cd documents;MSYSTEM=MINGW64 make roswell.chm
|
||||||
cp documents/roswell.chm roswell/documents
|
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:
|
debian:
|
||||||
ros debian/debian.ros all
|
ros debian/debian.ros all
|
||||||
test:
|
test:
|
||||||
|
|
@ -120,5 +132,57 @@ brewpr:
|
||||||
git pull
|
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
|
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/')-$(ARCH)$(SBCL_BIN_VARIANT)
|
||||||
|
|
||||||
|
roswell/Makefile:
|
||||||
|
rm -rf roswell
|
||||||
|
$(MKDIR_P) roswell
|
||||||
|
echo "prefix = /usr/local" > $@
|
||||||
|
echo "mandir = $$""(prefix)/share/man" >> $@
|
||||||
|
echo "all: ros$(EXEEXT)" >> $@
|
||||||
|
echo "install:" >> $@
|
||||||
|
echo " mkdir -p $$""(prefix)/bin" >> $@
|
||||||
|
echo " mkdir -p $$""(prefix)/etc/roswell/patch" >> $@
|
||||||
|
echo " mkdir -p $$""(mandir)" >> $@
|
||||||
|
echo " install -c ros$(EXEEXT) $$""(prefix)/bin" >> $@
|
||||||
|
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)" >> $@; \
|
||||||
|
fi
|
||||||
|
echo "" >> $@
|
||||||
|
echo "uninstall:" >> $@
|
||||||
|
echo " rm -rf $$""(prefix)/etc/roswell" >> $@
|
||||||
|
echo " rm -f $$""(prefix)/bin/ros$(EXEEXT)" >> $@
|
||||||
|
echo " cd $$""(mandir);rm -f $(MDS:%.md=%.1)" >> $@
|
||||||
|
|
||||||
|
$(PACK).tar.bz2: roswell/Makefile
|
||||||
|
$(MKDIR_P) roswell/patch
|
||||||
|
cd src;make ros$(EXEEXT)
|
||||||
|
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; \
|
||||||
|
cp $(MDS:%.md=documents/man/%.1) roswell/man; \
|
||||||
|
fi
|
||||||
|
tar jcvf $(PACK).tar.bz2 roswell
|
||||||
|
|
||||||
|
pack: $(PACK).tar.bz2
|
||||||
|
|
||||||
|
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
|
||||||
|
make $(WINPACK).zip.hash
|
||||||
|
|
||||||
|
$(WINPACK).zip.hash:
|
||||||
|
echo "md5sum "`md5sum -t $(WINPACK).zip` > $(WINPACK).zip.hash
|
||||||
|
echo "sha1sum "`sha1sum -t $(WINPACK).zip` >> $(WINPACK).zip.hash
|
||||||
|
echo "sha256sum "`sha256sum -t $(WINPACK).zip` >> $(WINPACK).zip.hash
|
||||||
|
echo "sha512sum "`sha512sum -t $(WINPACK).zip` >> $(WINPACK).zip.hash
|
||||||
|
|
||||||
FORCE:
|
FORCE:
|
||||||
.PHONY: release-prepare release release-push test winrelease debian FORCE
|
.PHONY: release-prepare release release-push test winrelease debian pack roswell/Makefile FORCE
|
||||||
|
|
|
||||||
11
README.md
11
README.md
|
|
@ -1,7 +1,6 @@
|
||||||
# Roswell - Common Lisp environment setup Utility.
|
# Roswell - Common Lisp environment setup Utility.
|
||||||
|
|
||||||
[](https://travis-ci.org/roswell/roswell)
|
[](https://travis-ci.org/roswell/roswell)
|
||||||
[](https://ci.appveyor.com/project/snmsts/roswell-en89n)
|
|
||||||
[](http://quickdocs.org/roswell/)
|
[](http://quickdocs.org/roswell/)
|
||||||
|
|
||||||
Roswell is a Lisp implementation installer/manager, launcher, and much more!
|
Roswell is a Lisp implementation installer/manager, launcher, and much more!
|
||||||
|
|
@ -11,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.
|
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.
|
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.
|
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.
|
Checkout [issues list](https://github.com/roswell/roswell/issues) if you are interested in what's lacking.
|
||||||
|
|
@ -19,10 +18,10 @@ Checkout [issues list](https://github.com/roswell/roswell/issues) if you are int
|
||||||
## Installation, Dependency & Usage
|
## Installation, Dependency & Usage
|
||||||
|
|
||||||
See our [github wiki](https://github.com/roswell/roswell/wiki).
|
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**.
|
We provide prebuilt binaries for homebrew on macOS, various Linux distributions and **also on Windows**.
|
||||||
* [Linux (arch)](https://github.com/roswell/roswell/wiki/Installation#linux)
|
* [Linux](https://github.com/roswell/roswell/wiki/Installation#linux)
|
||||||
* [FreeBSD](https://github.com/roswell/roswell/wiki/Installation#freebsd)
|
* [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)
|
* [Windows](https://github.com/roswell/roswell/wiki/Installation#windows)
|
||||||
* [Building from Source](https://github.com/roswell/roswell/wiki/Installation#building-from-source)
|
* [Building from Source](https://github.com/roswell/roswell/wiki/Installation#building-from-source)
|
||||||
|
|
||||||
|
|
@ -92,6 +91,8 @@ To use an implementation that was not installed by roswell, use i.e. `ros use sb
|
||||||
|
|
||||||
The list of supported implementations continues to grow!
|
The list of supported implementations continues to grow!
|
||||||
|
|
||||||
|
By default roswell downloads the default stable lisp implementation (sbcl-bin). To use system implementation from the start run `ros lisp=sbcl-bin/system setup` before anything else.
|
||||||
|
|
||||||
### Installing scripts
|
### Installing scripts
|
||||||
|
|
||||||
It is also possible to install scripts using `ros install`:
|
It is also possible to install scripts using `ros install`:
|
||||||
|
|
|
||||||
42
configure.ac
42
configure.ac
|
|
@ -2,17 +2,16 @@
|
||||||
# Process this file with autoconf to produce a configure script.
|
# Process this file with autoconf to produce a configure script.
|
||||||
|
|
||||||
AC_PREREQ([2.59])
|
AC_PREREQ([2.59])
|
||||||
AC_INIT([roswell],[20.06.14.107],snmsts@gmail.com)
|
AC_INIT([roswell],[26.02.116],snmsts@gmail.com)
|
||||||
${CFLAGS=""}
|
CFLAGS=${CFLAGS=""}
|
||||||
${CXXFLAGS=""}
|
CXXFLAGS=${CXXFLAGS=""}
|
||||||
|
|
||||||
AM_CONFIG_HEADER(config.h)
|
AC_CONFIG_HEADERS(config.h)
|
||||||
AC_CONFIG_FILES([Makefile src/Makefile])
|
AC_CONFIG_FILES([Makefile src/Makefile])
|
||||||
AC_CONFIG_SRCDIR([Makefile.am])
|
AC_CONFIG_SRCDIR([Makefile.am])
|
||||||
AM_INIT_AUTOMAKE([foreign])
|
AM_INIT_AUTOMAKE([foreign])
|
||||||
AM_MAINTAINER_MODE([enable])
|
AM_MAINTAINER_MODE([enable])
|
||||||
|
|
||||||
|
|
||||||
# Checks for programs.
|
# Checks for programs.
|
||||||
AC_PROG_CC
|
AC_PROG_CC
|
||||||
AM_PROG_CC_C_O
|
AM_PROG_CC_C_O
|
||||||
|
|
@ -44,9 +43,6 @@ if test "x$enable_debug" = xyes; then
|
||||||
CXXFLAGS="$CXXFLAGS -g -O0"
|
CXXFLAGS="$CXXFLAGS -g -O0"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
AC_CHECK_LIB([wininet], [main],[LIBS="-lwininet $LIBS";wwwlib=yes],[])
|
AC_CHECK_LIB([wininet], [main],[LIBS="-lwininet $LIBS";wwwlib=yes],[])
|
||||||
if test "x$wwwlib" = xno; then
|
if test "x$wwwlib" = xno; then
|
||||||
AC_CHECK_LIB([curl], [curl_global_init],[LIBS="-lcurl $LIBS";wwwlib=yes],[])
|
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])
|
AC_CHECK_HEADERS(windows.h,[with_windows=true])
|
||||||
AM_CONDITIONAL([WITH_WINDOWS], [test "$with_windows" != ""])
|
AM_CONDITIONAL([WITH_WINDOWS], [test "$with_windows" != ""])
|
||||||
AC_CHECK_TOOL([WINDRES], [windres], [])
|
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>])
|
AC_CHECK_MEMBERS([struct dirent.d_type],,,[#include <dirent.h>])
|
||||||
|
|
||||||
|
|
@ -72,8 +68,8 @@ AS_IF([test "x$GIT_CHECK" = xyes],
|
||||||
[AC_SUBST([git_version], `set -o pipefail ; { git describe | sed -n -e 's/^.*-g//p' ; } 2>/dev/null || echo 'NO-GIT-REVISION'
|
[AC_SUBST([git_version], `set -o pipefail ; { git describe | sed -n -e 's/^.*-g//p' ; } 2>/dev/null || echo 'NO-GIT-REVISION'
|
||||||
`,[git SHA1 for HEAD.])],
|
`,[git SHA1 for HEAD.])],
|
||||||
[AC_SUBST([git_version],[NO-GIT-REVISION])])
|
[AC_SUBST([git_version],[NO-GIT-REVISION])])
|
||||||
|
|
||||||
AS_IF([test "x$GIT_CHECK" = xyes],
|
AS_IF([test "x$GIT_CHECK" = xyes],
|
||||||
[AC_SUBST([git_version_long], `set -e | git describe --abbrev=7 --dirty 2>/dev/null || echo 'NO-GIT-REVISION'`, [long version for git source])],
|
[AC_SUBST([git_version_long], `set -e | git describe --abbrev=7 --dirty 2>/dev/null || echo 'NO-GIT-REVISION'`, [long version for git source])],
|
||||||
[AC_SUBST([git_version_long], [NO-GIT-REVISION])])
|
[AC_SUBST([git_version_long], [NO-GIT-REVISION])])
|
||||||
|
|
||||||
|
|
@ -97,18 +93,30 @@ AC_SUBST(roslisppatchdir)
|
||||||
|
|
||||||
# Change master uri for sbcl-bin
|
# Change master uri for sbcl-bin
|
||||||
AC_ARG_WITH([sbcl_bin_base],
|
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/"])
|
[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_DEFINE_UNQUOTED([SBCL_BIN_URI],["${SBCL_BIN_URI}"],[uri for sbcl master])
|
||||||
|
|
||||||
AC_ARG_WITH([platformtsvl_base],
|
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])
|
[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_DEFINE_UNQUOTED([PLATFORM_TSV_URI],["${PLATFORM_TSV_URI}"],[uri for sbcl-bin_uri.tsv])
|
||||||
|
|
||||||
|
AC_ARG_WITH([sbcl_bin_variant],
|
||||||
|
[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
|
# man file (ros.1) generation switch
|
||||||
AC_ARG_ENABLE([manual_generation],
|
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
|
[case "${enableval}" in
|
||||||
yes) manual_generate=true ;;
|
yes) manual_generate=true ;;
|
||||||
no) manual_generate=false ;;
|
no) manual_generate=false ;;
|
||||||
|
|
@ -117,7 +125,7 @@ AC_ARG_ENABLE([manual_generation],
|
||||||
AM_CONDITIONAL(MANUAL_GENERATE,[test x$manual_generate = x"true"])
|
AM_CONDITIONAL(MANUAL_GENERATE,[test x$manual_generate = x"true"])
|
||||||
|
|
||||||
AC_ARG_ENABLE([manual_install],
|
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
|
[case "${enableval}" in
|
||||||
yes) manual_install=true ;;
|
yes) manual_install=true ;;
|
||||||
no) manual_install=false ;;
|
no) manual_install=false ;;
|
||||||
|
|
@ -126,7 +134,7 @@ AC_ARG_ENABLE([manual_install],
|
||||||
AM_CONDITIONAL(MANUAL_INSTALL,[test x$manual_install != x"false"])
|
AM_CONDITIONAL(MANUAL_INSTALL,[test x$manual_install != x"false"])
|
||||||
|
|
||||||
AC_ARG_ENABLE([html_generation],
|
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
|
[case "${enableval}" in
|
||||||
yes) html_generate=true ;;
|
yes) html_generate=true ;;
|
||||||
no) html_generate=false ;;
|
no) html_generate=false ;;
|
||||||
|
|
@ -137,6 +145,4 @@ AM_CONDITIONAL(HTML_GENERATE,[test x$html_generate = x"true"])
|
||||||
AM_COND_IF([MANUAL_INSTALL],
|
AM_COND_IF([MANUAL_INSTALL],
|
||||||
[AC_CONFIG_FILES([documents/Makefile])])
|
[AC_CONFIG_FILES([documents/Makefile])])
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
AC_OUTPUT
|
AC_OUTPUT
|
||||||
|
|
|
||||||
2
debian/copyright
vendored
2
debian/copyright
vendored
|
|
@ -3,7 +3,7 @@ Upstream-Name: roswell
|
||||||
Source: https://github.com/roswell/roswell
|
Source: https://github.com/roswell/roswell
|
||||||
|
|
||||||
Files: *
|
Files: *
|
||||||
Copyright: 2014-2020 SANO Masatoshi
|
Copyright: 2014-2022 SANO Masatoshi
|
||||||
|
|
||||||
License: MIT
|
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
|
(progn ;;init forms
|
||||||
(ros:ensure-asdf)
|
(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
|
(defpackage :ros.script.debian.3703769507
|
||||||
(:use :cl))
|
(:use :cl))
|
||||||
|
|
@ -20,24 +20,16 @@ exec ros -Q -L sbcl-bin -- $0 "$@"
|
||||||
(if branch
|
(if branch
|
||||||
(format nil "https://github.com/~A/archive/~A.tar.gz" base branch)
|
(format nil "https://github.com/~A/archive/~A.tar.gz" base branch)
|
||||||
(multiple-value-bind (body res)
|
(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)
|
(when (= res 200)
|
||||||
(net.html.parser:parse-html
|
(getf (first (jojo:parse body)) :|tarball_url|))))))
|
||||||
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))))))
|
|
||||||
|
|
||||||
(defun fetch-upstream (&optional (output *pwd*))
|
(defun fetch-upstream (&optional (output *pwd*))
|
||||||
(let* ((url (get-newest-url "roswell/roswell"))
|
(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)
|
(roswell.util:download url path)
|
||||||
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 charset="utf-8">
|
||||||
<meta name="generator" content="pandoc">
|
<meta name="generator" content="pandoc">
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">
|
<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>
|
<title>ros-asdf(1)</title>
|
||||||
<style type="text/css">code{white-space: pre;}</style>
|
<style type="text/css">code{white-space: pre;}</style>
|
||||||
<link rel="stylesheet" href="../ros.css">
|
<link rel="stylesheet" href="../ros.css">
|
||||||
|
|
@ -17,14 +18,17 @@
|
||||||
<ul>
|
<ul>
|
||||||
<li class="author">Roswell Project Team</li>
|
<li class="author">Roswell Project Team</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
<h3 class="date">January 2022</h3>
|
||||||
</header>
|
</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>
|
<p><strong>ros [options] asdf [subcommand]</strong></p>
|
||||||
<!-- # subcommands -->
|
<!-- # subcommands -->
|
||||||
<!-- somecommand -->
|
<!-- somecommand -->
|
||||||
<!-- : description. end with a period. -->
|
<!-- : description. end with a period. -->
|
||||||
<h1 id="description">description</h1>
|
<h1 id="description">DESCRIPTION</h1>
|
||||||
<p><strong>ros asdf</strong> install and manage ASDF(https://common-lisp.net/project/asdf/)</p>
|
<p><strong>ros asdf</strong> install and manage ASDF(https://common-lisp.net/project/asdf/).</p>
|
||||||
<!-- # options -->
|
<!-- # options -->
|
||||||
<!-- -->
|
<!-- -->
|
||||||
<!-- # Environmental Variables -->
|
<!-- # Environmental Variables -->
|
||||||
|
|
|
||||||
|
|
@ -18,7 +18,7 @@
|
||||||
<li class="author">Roswell Project Team</li>
|
<li class="author">Roswell Project Team</li>
|
||||||
</ul>
|
</ul>
|
||||||
</header>
|
</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><strong>ros [options] build</strong> <file></p>
|
||||||
<p>Equivalent to calling <code>ros dump executable <file></code>.</p>
|
<p>Equivalent to calling <code>ros dump executable <file></code>.</p>
|
||||||
<!-- # subcommands -->
|
<!-- # subcommands -->
|
||||||
|
|
|
||||||
|
|
@ -19,7 +19,7 @@
|
||||||
</ul>
|
</ul>
|
||||||
</header>
|
</header>
|
||||||
<p>ros-checkout - # synopsis</p>
|
<p>ros-checkout - # synopsis</p>
|
||||||
<p><strong>ros [options] checkout</strong> args...</p>
|
<p><strong>ros [options] checkout</strong> args…</p>
|
||||||
<!-- # subcommands -->
|
<!-- # subcommands -->
|
||||||
<!-- somecommand -->
|
<!-- somecommand -->
|
||||||
<!-- : description. end with a period. -->
|
<!-- : description. end with a period. -->
|
||||||
|
|
|
||||||
47
documents/html/ros-client.html
Normal file
47
documents/html/ros-client.html
Normal file
|
|
@ -0,0 +1,47 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<meta name="generator" content="pandoc">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">
|
||||||
|
<title>ros-client(1)</title>
|
||||||
|
<style type="text/css">code{white-space: pre;}</style>
|
||||||
|
<link rel="stylesheet" href="../ros.css">
|
||||||
|
<!--[if lt IE 9]>
|
||||||
|
<script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv-printshiv.min.js"></script>
|
||||||
|
<![endif]-->
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<header>
|
||||||
|
<h1 class="title">ros-client(1)</h1>
|
||||||
|
<ul>
|
||||||
|
<li class="author">Roswell Project Team</li>
|
||||||
|
</ul>
|
||||||
|
</header>
|
||||||
|
<p>ros-client - one-shot connect to remote repl.</p>
|
||||||
|
<h1 id="synopsis">synopsis</h1>
|
||||||
|
<p><strong>ros client</strong> protocol [options for the protocol …] …</p>
|
||||||
|
<!-- # subcommands -->
|
||||||
|
<!-- somecommand -->
|
||||||
|
<!-- : description. end with a period. -->
|
||||||
|
<h1 id="description">description</h1>
|
||||||
|
<p><code>ros-client</code> send message to lisp server and wait for message sent back.</p>
|
||||||
|
<h1 id="swank-protocol-options">swank protocol options</h1>
|
||||||
|
<dl>
|
||||||
|
<dt><code>--port port</code></dt>
|
||||||
|
<dd><p>set server <code>port</code> to connect. default port 4005.</p>
|
||||||
|
</dd>
|
||||||
|
<dt><code>--interface interface</code></dt>
|
||||||
|
<dd><p>interface for connect. default is <code>localhost</code>.</p>
|
||||||
|
</dd>
|
||||||
|
<dt>-e FORM –eval FORM</dt>
|
||||||
|
<dd><p>Evaluate FORM while building</p>
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
<!-- # options -->
|
||||||
|
<!-- -->
|
||||||
|
<!-- # Environmental Variables -->
|
||||||
|
<h1 id="see-also">SEE ALSO</h1>
|
||||||
|
<p><em><a href="ros.html">ros</a></em>(1) <em><a href="ros-serve.html">ros-serve</a></em>(1) _</p>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
|
|
@ -19,14 +19,14 @@
|
||||||
</ul>
|
</ul>
|
||||||
</header>
|
</header>
|
||||||
<p>ros-config - get and set options # Synopsis</p>
|
<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>
|
<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>
|
<dl>
|
||||||
<dt>show VAR</dt>
|
<dt>show TARGET</dt>
|
||||||
<dd><p>set the VALUE to the TARGET.</p>
|
<dd><p>show TARGET.</p>
|
||||||
</dd>
|
</dd>
|
||||||
<dt>set VAR VALUE</dt>
|
<dt>set TARGET VALUE</dt>
|
||||||
<dd><p>set the VALUE to the TARGET.</p>
|
<dd><p>set the VALUE to the TARGET.</p>
|
||||||
</dd>
|
</dd>
|
||||||
</dl>
|
</dl>
|
||||||
|
|
|
||||||
|
|
@ -19,14 +19,14 @@
|
||||||
</ul>
|
</ul>
|
||||||
</header>
|
</header>
|
||||||
<p>ros-delete - # synopsis</p>
|
<p>ros-delete - # synopsis</p>
|
||||||
<p><strong>ros delete</strong> ARGS...</p>
|
<p><strong>ros delete</strong> ARGS…</p>
|
||||||
<p>Slightly complex arguments.</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>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>
|
<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>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>
|
<p>If a version is specified, then it removes only the specified instance.</p>
|
||||||
<!-- somecommand -->
|
<!-- somecommand -->
|
||||||
<!-- : description. end with a period. -->
|
<!-- : description. end with a period. -->
|
||||||
|
|
|
||||||
|
|
@ -19,7 +19,7 @@
|
||||||
</ul>
|
</ul>
|
||||||
</header>
|
</header>
|
||||||
<p>ros-dist - # synopsis</p>
|
<p>ros-dist - # synopsis</p>
|
||||||
<p><strong>ros [options] dist</strong> args...</p>
|
<p><strong>ros [options] dist</strong> args…</p>
|
||||||
<!-- # subcommands -->
|
<!-- # subcommands -->
|
||||||
<!-- somecommand -->
|
<!-- somecommand -->
|
||||||
<!-- : description. end with a period. -->
|
<!-- : description. end with a period. -->
|
||||||
|
|
|
||||||
|
|
@ -20,11 +20,11 @@
|
||||||
</header>
|
</header>
|
||||||
<p>ros-dump - make a dumped image of a roswell script</p>
|
<p>ros-dump - make a dumped image of a roswell script</p>
|
||||||
<h1 id="synopsis">Synopsis</h1>
|
<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>
|
<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>
|
<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><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 -->
|
<!-- 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 -->
|
<!-- There might be a limitation regarding this feature depending on the lisp -->
|
||||||
<!-- implementation used by roswell at the time of building. -->
|
<!-- 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>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>
|
<p>Reduction options are processed in the left-to-right manner.</p>
|
||||||
<dl>
|
<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><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>
|
</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><p>This option removes all docstrings from all symbols in the entire lisp image.</p>
|
||||||
</dd>
|
</dd>
|
||||||
<dt>--delete-package PKG</dt>
|
<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><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>
|
</dd>
|
||||||
<dt>--delete-all-packages</dt>
|
<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><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>
|
</dd>
|
||||||
<dt>--delete-packages-except PACKAGE</dt>
|
<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><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>
|
</dd>
|
||||||
<dt>--destroy-packages-sbcl</dt>
|
<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><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>
|
</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><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>
|
</dd>
|
||||||
<dt>--impurify, --no-impurify</dt>
|
<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><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>
|
</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><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>
|
</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><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>
|
</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><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>
|
</dd>
|
||||||
</dl>
|
</dl>
|
||||||
|
|
|
||||||
|
|
@ -19,7 +19,7 @@
|
||||||
</ul>
|
</ul>
|
||||||
</header>
|
</header>
|
||||||
<p>ros-emacs - launch Emacs with Slime # Synopsis</p>
|
<p>ros-emacs - launch Emacs with Slime # Synopsis</p>
|
||||||
<p><strong>ros emacs</strong> [ARGS...]</p>
|
<p><strong>ros emacs</strong> [ARGS…]</p>
|
||||||
<!-- # subcommands -->
|
<!-- # subcommands -->
|
||||||
<!-- somecommand -->
|
<!-- somecommand -->
|
||||||
<!-- : description. end with a period. -->
|
<!-- : description. end with a period. -->
|
||||||
|
|
|
||||||
|
|
@ -20,14 +20,14 @@
|
||||||
</header>
|
</header>
|
||||||
<p>ros-init - Create a roswell script (optionally based on a template)</p>
|
<p>ros-init - Create a roswell script (optionally based on a template)</p>
|
||||||
<h1 id="synopsis">Synopsis</h1>
|
<h1 id="synopsis">Synopsis</h1>
|
||||||
<p><strong>ros init [TEMPLATE] NAME [ARGS...]]</strong></p>
|
<p><strong>ros init [TEMPLATE] NAME [ARGS…]]</strong></p>
|
||||||
<dl>
|
<dl>
|
||||||
<dt>TEMPLATE</dt>
|
<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>
|
<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>
|
<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>
|
</dd>
|
||||||
<dt>NAME</dt>
|
<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>
|
</dd>
|
||||||
</dl>
|
</dl>
|
||||||
<!-- # subcommands -->
|
<!-- # subcommands -->
|
||||||
|
|
|
||||||
|
|
@ -21,8 +21,8 @@
|
||||||
<p>ros-install - Install lisp implementations or quicklisp system</p>
|
<p>ros-install - Install lisp implementations or quicklisp system</p>
|
||||||
<h1 id="synopsis">Synopsis</h1>
|
<h1 id="synopsis">Synopsis</h1>
|
||||||
<ul>
|
<ul>
|
||||||
<li><strong>ros install</strong> system [system ...]</li>
|
<li><strong>ros install</strong> system [system …]</li>
|
||||||
<li><strong>ros install</strong> impl[/version] [param ...]</li>
|
<li><strong>ros install</strong> impl[/version] [param …]</li>
|
||||||
</ul>
|
</ul>
|
||||||
<h1 id="description">Description</h1>
|
<h1 id="description">Description</h1>
|
||||||
<dl>
|
<dl>
|
||||||
|
|
@ -52,7 +52,7 @@ ccl-bin
|
||||||
sbcl-bin</code></pre>
|
sbcl-bin</code></pre>
|
||||||
<p>The name can be optionally followed by a slash <code>/</code> and a version of the implementation.</p>
|
<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>
|
<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
|
<pre><code>$ ros install ccl
|
||||||
$ ros install abcl
|
$ ros install abcl
|
||||||
$ ...</code></pre>
|
$ ...</code></pre>
|
||||||
|
|
|
||||||
|
|
@ -27,7 +27,7 @@
|
||||||
<h1 id="description">Description</h1>
|
<h1 id="description">Description</h1>
|
||||||
<p><strong>ros list</strong> shows the list of the materials installed by roswell.</p>
|
<p><strong>ros list</strong> shows the list of the materials installed by roswell.</p>
|
||||||
<dl>
|
<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><p>List the implementations that have been already installed. Optionally providing IMPL shows the installed versions of the implementation.</p>
|
||||||
</dd>
|
</dd>
|
||||||
<dt>dump [IMPL]</dt>
|
<dt>dump [IMPL]</dt>
|
||||||
|
|
|
||||||
44
documents/html/ros-serve.html
Normal file
44
documents/html/ros-serve.html
Normal file
|
|
@ -0,0 +1,44 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<meta name="generator" content="pandoc">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">
|
||||||
|
<title>ros-serve(1)</title>
|
||||||
|
<style type="text/css">code{white-space: pre;}</style>
|
||||||
|
<link rel="stylesheet" href="../ros.css">
|
||||||
|
<!--[if lt IE 9]>
|
||||||
|
<script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv-printshiv.min.js"></script>
|
||||||
|
<![endif]-->
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<header>
|
||||||
|
<h1 class="title">ros-serve(1)</h1>
|
||||||
|
<ul>
|
||||||
|
<li class="author">Roswell Project Team</li>
|
||||||
|
</ul>
|
||||||
|
</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>
|
||||||
|
<!-- # subcommands -->
|
||||||
|
<!-- somecommand -->
|
||||||
|
<!-- : description. end with a period. -->
|
||||||
|
<h1 id="description">description</h1>
|
||||||
|
<p><code>ros-serve</code> start lisp and wait for clients to connect to the lisp.</p>
|
||||||
|
<h1 id="swank-protocol-options">swank protocol options</h1>
|
||||||
|
<dl>
|
||||||
|
<dt><code>--port port</code></dt>
|
||||||
|
<dd><p>Listen port would be <code>port</code> instead of the default port 4005.</p>
|
||||||
|
</dd>
|
||||||
|
<dt><code>--interface interface</code></dt>
|
||||||
|
<dd><p>limit interface for listen. default is <code>localhost</code> so there would be no limitation.</p>
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
<!-- # options -->
|
||||||
|
<!-- -->
|
||||||
|
<!-- # Environmental Variables -->
|
||||||
|
<h1 id="see-also">SEE ALSO</h1>
|
||||||
|
<p><em><a href="ros.html">ros</a></em>(1) <em><a href="ros-client.html">ros-client</a></em>(1) _</p>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
|
|
@ -21,7 +21,7 @@
|
||||||
<p>ros-template - Edit template for ros-init</p>
|
<p>ros-template - Edit template for ros-init</p>
|
||||||
<h1 id="synopsis">synopsis</h1>
|
<h1 id="synopsis">synopsis</h1>
|
||||||
<ul>
|
<ul>
|
||||||
<li><strong>ros template</strong> command args...</li>
|
<li><strong>ros template</strong> command args…</li>
|
||||||
</ul>
|
</ul>
|
||||||
<h1 id="subcommands">Subcommands</h1>
|
<h1 id="subcommands">Subcommands</h1>
|
||||||
<dl>
|
<dl>
|
||||||
|
|
@ -37,22 +37,25 @@
|
||||||
<dt>checkout [template-name]</dt>
|
<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><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>
|
</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><p>Add files to current template.First parameter could taken as a template-name when current template are <em>default</em>.</p>
|
||||||
</dd>
|
</dd>
|
||||||
<dt>cat [template-name] [files ...]</dt>
|
<dt>cat [template-name] [files …]</dt>
|
||||||
<dd><p>Show contents in the current template.</p>
|
<dd><p>Show contents in the current template.</p>
|
||||||
</dd>
|
</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><p>Edit content of files in template using <code>/usr/bin/editor</code>.</p>
|
||||||
</dd>
|
</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><p>Remove file form current template.</p>
|
||||||
</dd>
|
</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><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>
|
</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><p>Change file mode bits to generate. specify mode in octal format.</p>
|
||||||
</dd>
|
</dd>
|
||||||
<dt>rewrite [template-name] file rewrite-rule</dt>
|
<dt>rewrite [template-name] file rewrite-rule</dt>
|
||||||
|
|
|
||||||
|
|
@ -21,8 +21,8 @@
|
||||||
<p>ros-update - Update system installed from vcs</p>
|
<p>ros-update - Update system installed from vcs</p>
|
||||||
<h1 id="synopsis">Synopsis</h1>
|
<h1 id="synopsis">Synopsis</h1>
|
||||||
<ul>
|
<ul>
|
||||||
<li><strong>ros update</strong> system [system ...]</li>
|
<li><strong>ros update</strong> system [system …]</li>
|
||||||
<li><strong>ros update</strong> method [params ...]</li>
|
<li><strong>ros update</strong> method [params …]</li>
|
||||||
</ul>
|
</ul>
|
||||||
<h1 id="description">Description</h1>
|
<h1 id="description">Description</h1>
|
||||||
<dl>
|
<dl>
|
||||||
|
|
|
||||||
|
|
@ -21,10 +21,10 @@
|
||||||
<p>ros-use - sets the default implementation used by roswell # synopsis</p>
|
<p>ros-use - sets the default implementation used by roswell # synopsis</p>
|
||||||
<p><strong>ros [options] use</strong> impl[/version]</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>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>
|
<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 : 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/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-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>
|
<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>
|
<p>In an order of utility/frequency.</p>
|
||||||
<dl>
|
<dl>
|
||||||
<dt>install</dt>
|
<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>
|
</dd>
|
||||||
<dt>init [name[.ros]]</dt>
|
<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>
|
<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>
|
<h1 id="options">Options</h1>
|
||||||
<p>Options are processed in left-to-right order.</p>
|
<p>Options are processed in left-to-right order.</p>
|
||||||
<dl>
|
<dl>
|
||||||
<dt>-w CODE --wrap CODE</dt>
|
<dt>-w CODE –wrap CODE</dt>
|
||||||
<dd><p>Run the script with a shell wrapper CODE, e.g. rlwrap</p>
|
<dd><p>Run the script with a shell wrapper CODE, e.g. rlwrap</p>
|
||||||
</dd>
|
</dd>
|
||||||
<dt>-m IMAGE --image IMAGE</dt>
|
<dt>-m IMAGE –image IMAGE</dt>
|
||||||
<dd><p>Continue from Lisp image IMAGE</p>
|
<dd><p>Continue from Lisp image IMAGE</p>
|
||||||
</dd>
|
</dd>
|
||||||
<dt>-L NAME --lisp NAME</dt>
|
<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><p>Run the script with a lisp impl NAME[/VERSION] if present, e.g. sbcl-bin, sbcl/1.2.16. Fails otherwise.</p>
|
||||||
</dd>
|
</dd>
|
||||||
<dt>-l FILE --load FILE</dt>
|
<dt>-l FILE –load FILE</dt>
|
||||||
<dd><p>Load a lisp file FILE while building</p>
|
<dd><p>Load a lisp file FILE while building</p>
|
||||||
</dd>
|
</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><p>Override the source registry of asdf systems.</p>
|
||||||
</dd>
|
</dd>
|
||||||
<dt>-s SYSTEM --system SYSTEM</dt>
|
<dt>-s SYSTEM –system SYSTEM</dt>
|
||||||
<dd><p>Load the asdf SYSTEM while building.</p>
|
<dd><p>Load the asdf SYSTEM while building.</p>
|
||||||
</dd>
|
</dd>
|
||||||
<dt>--load-system SYSTEM</dt>
|
<dt>–load-system SYSTEM</dt>
|
||||||
<dd><p>Same as above (buildapp compatibility)</p>
|
<dd><p>Same as above (buildapp compatibility)</p>
|
||||||
</dd>
|
</dd>
|
||||||
<dt>-p PACKAGE --package PACKAGE</dt>
|
<dt>-p PACKAGE –package PACKAGE</dt>
|
||||||
<dd><p>Change the current package to PACKAGE</p>
|
<dd><p>Change the current package to PACKAGE</p>
|
||||||
</dd>
|
</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><p>Combination of -s SP and -p SP</p>
|
||||||
</dd>
|
</dd>
|
||||||
<dt>-e FORM --eval FORM</dt>
|
<dt>-e FORM –eval FORM</dt>
|
||||||
<dd><p>Evaluate FORM while building</p>
|
<dd><p>Evaluate FORM while building</p>
|
||||||
</dd>
|
</dd>
|
||||||
<dt>--require MODULE</dt>
|
<dt>–require MODULE</dt>
|
||||||
<dd><p>require MODULE while building</p>
|
<dd><p>require MODULE while building</p>
|
||||||
</dd>
|
</dd>
|
||||||
<dt>-q --quit</dt>
|
<dt>-q –quit</dt>
|
||||||
<dd><p>quit lisp here</p>
|
<dd><p>quit lisp here</p>
|
||||||
</dd>
|
</dd>
|
||||||
<dt>-r FUNC --restart FUNC</dt>
|
<dt>-r FUNC –restart FUNC</dt>
|
||||||
<dd><p>the build image restarts from calling FUNC</p>
|
<dd><p>the build image restarts from calling FUNC</p>
|
||||||
</dd>
|
</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><p>the build image restarts from calling (FUNC argv).</p>
|
||||||
</dd>
|
</dd>
|
||||||
<dt>-i FORM --init FORM</dt>
|
<dt>-i FORM –init FORM</dt>
|
||||||
<dd><p>evaluate FORM after the restart.</p>
|
<dd><p>evaluate FORM after the restart.</p>
|
||||||
</dd>
|
</dd>
|
||||||
<dt>-ip FORM --print FORM</dt>
|
<dt>-ip FORM –print FORM</dt>
|
||||||
<dd><p>evaluate and princ FORM after the restart</p>
|
<dd><p>evaluate and princ FORM after the restart</p>
|
||||||
</dd>
|
</dd>
|
||||||
<dt>-iw FORM --write FORM</dt>
|
<dt>-iw FORM –write FORM</dt>
|
||||||
<dd><p>evaluate and write FORM after the restart</p>
|
<dd><p>evaluate and write FORM after the restart</p>
|
||||||
</dd>
|
</dd>
|
||||||
<dt>-F FORM --final FORM</dt>
|
<dt>-F FORM –final FORM</dt>
|
||||||
<dd><p>evaluate FORM before dumping the IMAGE</p>
|
<dd><p>evaluate FORM before dumping the IMAGE</p>
|
||||||
</dd>
|
</dd>
|
||||||
<dt>-R --rc</dt>
|
<dt>-R –rc</dt>
|
||||||
<dd><p>try to read /etc/rosrc, ~/.roswell/init.lisp</p>
|
<dd><p>try to read /etc/rosrc, ~/.roswell/init.lisp</p>
|
||||||
</dd>
|
</dd>
|
||||||
<dt>+R --no-rc</dt>
|
<dt>+R –no-rc</dt>
|
||||||
<dd><p>skip /etc/rosrc, ~/.roswell/init.lisp</p>
|
<dd><p>skip /etc/rosrc, ~/.roswell/init.lisp</p>
|
||||||
</dd>
|
</dd>
|
||||||
<dt>-Q --quicklisp</dt>
|
<dt>-Q –quicklisp</dt>
|
||||||
<dd><p>load quicklisp (default)</p>
|
<dd><p>load quicklisp (default)</p>
|
||||||
</dd>
|
</dd>
|
||||||
<dt>+Q --no-quicklisp</dt>
|
<dt>+Q –no-quicklisp</dt>
|
||||||
<dd><p>do not load quicklisp</p>
|
<dd><p>do not load quicklisp</p>
|
||||||
</dd>
|
</dd>
|
||||||
<dt>-v --verbose</dt>
|
<dt>-v –verbose</dt>
|
||||||
<dd><p>be quite verbose while building</p>
|
<dd><p>be quite verbose while building</p>
|
||||||
</dd>
|
</dd>
|
||||||
<dt>--quiet</dt>
|
<dt>–quiet</dt>
|
||||||
<dd><p>suppress output while building (default)</p>
|
<dd><p>suppress output while building (default)</p>
|
||||||
</dd>
|
</dd>
|
||||||
<dt>--test</dt>
|
<dt>–test</dt>
|
||||||
<dd><p>for test purpose</p>
|
<dd><p>for test purpose</p>
|
||||||
</dd>
|
</dd>
|
||||||
<dt>dynamic-space-size=[size in MB]</dt>
|
<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
|
.hy
|
||||||
|
.SH NAME
|
||||||
.PP
|
.PP
|
||||||
ros\-asdf \- # synopsis
|
ros\-asdf \-
|
||||||
|
.SH SYNOPSIS
|
||||||
.PP
|
.PP
|
||||||
\f[B]ros [options] asdf [subcommand]\f[]
|
\f[B]ros [options] asdf [subcommand]\f[R]
|
||||||
.SH description
|
.SH DESCRIPTION
|
||||||
.PP
|
.PP
|
||||||
\f[B]ros asdf\f[] install and manage
|
\f[B]ros asdf\f[R] install and manage
|
||||||
ASDF(https://common\-lisp.net/project/asdf/)
|
ASDF(https://common\-lisp.net/project/asdf/).
|
||||||
.SH SEE ALSO
|
.SH SEE ALSO
|
||||||
.PP
|
.PP
|
||||||
\f[I]ros\f[](1)
|
\f[I]ros\f[R](1)
|
||||||
.SH AUTHORS
|
.SH AUTHORS
|
||||||
Roswell Project Team.
|
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" "" "" ""
|
.TH "ros-build" "1" "" "" ""
|
||||||
.hy
|
.hy
|
||||||
.PP
|
.PP
|
||||||
ros\-build \- Shortcut to "ros dump executable" # synopsis
|
ros\-build \- Shortcut to \[lq]ros dump executable\[rq] # synopsis
|
||||||
.PP
|
.PP
|
||||||
\f[B]ros [options] build\f[]
|
\f[B]ros [options] build\f[R]
|
||||||
.PP
|
.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 description
|
||||||
.SH SEE ALSO
|
.SH SEE ALSO
|
||||||
.PP
|
.PP
|
||||||
\f[I]ros\f[](1)
|
\f[I]ros\f[R](1)
|
||||||
.SH AUTHORS
|
.SH AUTHORS
|
||||||
Roswell Project Team.
|
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" "" "" ""
|
.TH "ros-checkout" "1" "" "" ""
|
||||||
.hy
|
.hy
|
||||||
.PP
|
.PP
|
||||||
ros\-checkout \- # synopsis
|
ros\-checkout \- # synopsis
|
||||||
.PP
|
.PP
|
||||||
\f[B]ros [options] checkout\f[] args...
|
\f[B]ros [options] checkout\f[R] args\&...
|
||||||
.SH description
|
.SH description
|
||||||
.PP
|
.PP
|
||||||
to enable this command ros install roswell/ql\-checkout is needed.
|
to enable this command ros install roswell/ql\-checkout is needed.
|
||||||
.SH SEE ALSO
|
.SH SEE ALSO
|
||||||
.PP
|
.PP
|
||||||
\f[I]ros\f[](1)
|
\f[I]ros\f[R](1)
|
||||||
.SH AUTHORS
|
.SH AUTHORS
|
||||||
Roswell Project Team.
|
Roswell Project Team.
|
||||||
|
|
|
||||||
30
documents/man/ros-client.1
Normal file
30
documents/man/ros-client.1
Normal file
|
|
@ -0,0 +1,30 @@
|
||||||
|
.\" Automatically generated by Pandoc 2.5
|
||||||
|
.\"
|
||||||
|
.TH "ros-client" "1" "" "" ""
|
||||||
|
.hy
|
||||||
|
.PP
|
||||||
|
ros\-client \- one\-shot connect to remote repl.
|
||||||
|
.SH synopsis
|
||||||
|
.PP
|
||||||
|
\f[B]ros client\f[R] protocol [options for the protocol \&...] \&...
|
||||||
|
.SH description
|
||||||
|
.PP
|
||||||
|
\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[R]
|
||||||
|
set server \f[C]port\f[R] to connect.
|
||||||
|
default port 4005.
|
||||||
|
.TP
|
||||||
|
.B \f[C]\-\-interface interface\f[R]
|
||||||
|
interface for connect.
|
||||||
|
default is \f[C]localhost\f[R].
|
||||||
|
.TP
|
||||||
|
.B \-e FORM \[en]eval FORM
|
||||||
|
Evaluate FORM while building
|
||||||
|
.SH SEE ALSO
|
||||||
|
.PP
|
||||||
|
\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" "" "" ""
|
.TH "ros-config" "1" "" "" ""
|
||||||
.hy
|
.hy
|
||||||
.PP
|
.PP
|
||||||
ros\-config \- get and set options # Synopsis
|
ros\-config \- get and set options # Synopsis
|
||||||
.PP
|
.PP
|
||||||
\f[B]ros [options] config\f[] [SUBCOMMAND ARGS...]
|
\f[B]ros [options] config\f[R] [SUBCOMMAND ARGS\&...]
|
||||||
.SH Description
|
.SH Description
|
||||||
.PP
|
.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
|
.TP
|
||||||
.B show VAR
|
.B show TARGET
|
||||||
set the VALUE to the TARGET.
|
show TARGET.
|
||||||
.RS
|
|
||||||
.RE
|
|
||||||
.TP
|
.TP
|
||||||
.B set VAR VALUE
|
.B set TARGET VALUE
|
||||||
set the VALUE to the TARGET.
|
set the VALUE to the TARGET.
|
||||||
.RS
|
|
||||||
.RE
|
|
||||||
.SH SEE ALSO
|
.SH SEE ALSO
|
||||||
.PP
|
.PP
|
||||||
\f[I]ros\f[](1)
|
\f[I]ros\f[R](1)
|
||||||
.SH AUTHORS
|
.SH AUTHORS
|
||||||
Roswell Project Team.
|
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" "" "" ""
|
.TH "ros-delete" "1" "" "" ""
|
||||||
.hy
|
.hy
|
||||||
.PP
|
.PP
|
||||||
ros\-delete \- # synopsis
|
ros\-delete \- # synopsis
|
||||||
.PP
|
.PP
|
||||||
\f[B]ros delete\f[] ARGS...
|
\f[B]ros delete\f[R] ARGS\&...
|
||||||
.PP
|
.PP
|
||||||
Slightly complex arguments.
|
Slightly complex arguments.
|
||||||
.SS ros delete dump IMAGES...
|
.SS ros delete dump IMAGES\&...
|
||||||
.PP
|
.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.
|
the names for the dumped images.
|
||||||
It then deletes the image with the given name, if it exists.
|
It then deletes the image with the given name, if it exists.
|
||||||
.PP
|
.PP
|
||||||
|
|
@ -18,20 +18,19 @@ The deletion happens only to the images compatible with the current lisp
|
||||||
implementation/version.
|
implementation/version.
|
||||||
For example, when ccl\-bin/1.10 and sbcl\-bin/1.3.1 both have images
|
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
|
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.
|
\f[C]ros delete dump X\f[R] removes sbcl\-bin/1.3.1/X only.
|
||||||
.SS ros delete IMPLS...
|
.SS ros delete IMPLS\&...
|
||||||
.PP
|
.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.
|
treated as a list of installed implementations.
|
||||||
.PP
|
.PP
|
||||||
If a name of some implementation is given without version specifiers,
|
If a name of some implementation is given without version specifiers,
|
||||||
e.g.
|
e.g.\ sbcl\-bin, then it removes all instances (versions) of sbcl\-bin.
|
||||||
sbcl\-bin, then it removes all instances (versions) of sbcl\-bin.
|
|
||||||
.PP
|
.PP
|
||||||
If a version is specified, then it removes only the specified instance.
|
If a version is specified, then it removes only the specified instance.
|
||||||
.SH description
|
.SH description
|
||||||
.SH SEE ALSO
|
.SH SEE ALSO
|
||||||
.PP
|
.PP
|
||||||
\f[I]ros\f[](1)
|
\f[I]ros\f[R](1)
|
||||||
.SH AUTHORS
|
.SH AUTHORS
|
||||||
Roswell Project Team.
|
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" "" "" ""
|
.TH "ros-dist" "1" "" "" ""
|
||||||
.hy
|
.hy
|
||||||
.PP
|
.PP
|
||||||
ros\-dist \- # synopsis
|
ros\-dist \- # synopsis
|
||||||
.PP
|
.PP
|
||||||
\f[B]ros [options] dist\f[] args...
|
\f[B]ros [options] dist\f[R] args\&...
|
||||||
.SH description
|
.SH description
|
||||||
.SH SEE ALSO
|
.SH SEE ALSO
|
||||||
.PP
|
.PP
|
||||||
\f[I]ros\f[](1)
|
\f[I]ros\f[R](1)
|
||||||
.SH AUTHORS
|
.SH AUTHORS
|
||||||
Roswell Project Team.
|
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" "" "" ""
|
.TH "ros-dump" "1" "" "" ""
|
||||||
.hy
|
.hy
|
||||||
|
|
@ -6,67 +6,65 @@
|
||||||
ros\-dump \- make a dumped image of a roswell script
|
ros\-dump \- make a dumped image of a roswell script
|
||||||
.SH Synopsis
|
.SH Synopsis
|
||||||
.PP
|
.PP
|
||||||
\f[B]ros [OPTIONS1...] dump [OPTIONS2...] MODE\f[] args...
|
\f[B]ros [OPTIONS1\&...] dump [OPTIONS2\&...] MODE\f[R] args\&...
|
||||||
.PP
|
.PP
|
||||||
\f[C]OPTIONS1\f[] specify the standard roswell options such as
|
\f[C]OPTIONS1\f[R] specify the standard roswell options such as
|
||||||
\f[C]\-L\f[] or \f[C]\-m\ LISP\f[].
|
\f[C]\-L\f[R] or \f[C]\-m LISP\f[R].
|
||||||
\f[C]OPTIONS2\f[] specify the image reduction options we describe later.
|
\f[C]OPTIONS2\f[R] specify the image reduction options we describe
|
||||||
\f[C]MODE\f[] is either \f[C]output\f[] or \f[C]executable\f[].
|
later.
|
||||||
|
\f[C]MODE\f[R] is either \f[C]output\f[R] or \f[C]executable\f[R].
|
||||||
.SH Description
|
.SH Description
|
||||||
.PP
|
.PP
|
||||||
\f[C]ros\-dump\f[] creates a dumped lisp image of the state after
|
\f[C]ros\-dump\f[R] creates a dumped lisp image of the state after
|
||||||
processing all options \f[C]OPTIONS1\f[].
|
processing all options \f[C]OPTIONS1\f[R].
|
||||||
.PP
|
.PP
|
||||||
It has two modes \f[C]output\f[] and \f[C]executable\f[].
|
It has two modes \f[C]output\f[R] and \f[C]executable\f[R].
|
||||||
In both modes, the global environment (e.g.
|
In both modes, the global environment (e.g.\ global binding to special
|
||||||
global binding to special variables such as \f[C]*package*\f[]) of the
|
variables such as \f[C]*package*\f[R]) of the state just after the
|
||||||
state just after the restart is the environment which was effective when
|
restart is the environment which was effective when the script was
|
||||||
the script was dumped.
|
dumped.
|
||||||
.PP
|
.PP
|
||||||
The dumped image is generally not compatible between the different
|
The dumped image is generally not compatible between the different
|
||||||
implementations, and also between the versions.
|
implementations, and also between the versions.
|
||||||
.SH Dump modes
|
.SH Dump modes
|
||||||
.SS output [\-f] [\-o OUTPUT] NAME
|
.SS output [\-f] [\-o OUTPUT] NAME
|
||||||
.PP
|
.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.
|
state to an image.
|
||||||
.PP
|
.PP
|
||||||
The image file is by default written to an internal directory of roswell
|
The image file is by default written to an internal directory of roswell
|
||||||
in an organized manner, i.e., somewhere under
|
in an organized manner, i.e., somewhere under
|
||||||
\f[C]$ROSWELL_INSTALL_DIR\f[] deduced by the current implementation, its
|
\f[C]$ROSWELL_INSTALL_DIR\f[R] deduced by the current implementation,
|
||||||
version and the given NAME.
|
its version and the given NAME.
|
||||||
.PP
|
.PP
|
||||||
When the output file already exists, the command fails with an error
|
When the output file already exists, the command fails with an error
|
||||||
code.
|
code.
|
||||||
.PP
|
.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
|
When restarting from the image, standard roswell subcommands and
|
||||||
additional arguments to the script are also available, for example
|
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.
|
to call a specific function, leaving some flexibility.
|
||||||
.TP
|
.TP
|
||||||
.B \f[C]\-o\ OUTPUT\f[]
|
.B \f[C]\-o OUTPUT\f[R]
|
||||||
The image is written to \f[C]OUTPUT\f[] instead of the default location.
|
The image is written to \f[C]OUTPUT\f[R] instead of the default
|
||||||
.RS
|
location.
|
||||||
.RE
|
|
||||||
.TP
|
.TP
|
||||||
.B \f[C]\-f\f[]
|
.B \f[C]\-f\f[R]
|
||||||
Force output when the output already exists.
|
Force output when the output already exists.
|
||||||
.RS
|
|
||||||
.RE
|
|
||||||
.SS executable NAME [\-o OUTPUT]
|
.SS executable NAME [\-o OUTPUT]
|
||||||
.PP
|
.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
|
becomes an self\-contained executable binary which implies
|
||||||
\f[C]\-\-restart\ main\f[].
|
\f[C]\-\-restart main\f[R].
|
||||||
.PP
|
.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.
|
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.
|
written in the same directory.
|
||||||
On Windows and if \f[C]SCRIPT\f[] has \f[C]\&.ros\f[] extension, the
|
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[].
|
filename will be \f[C]SCRIPT.exe\f[R].
|
||||||
On the other systems, the result will be \f[C]SCRIPT\f[] (without
|
On the other systems, the result will be \f[C]SCRIPT\f[R] (without
|
||||||
extension).
|
extension).
|
||||||
.PP
|
.PP
|
||||||
This feature is supported on SBCL, CCL, CMUCL, CLISP, ECL.
|
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
|
as some of these operation may destroy the common assumptions of the
|
||||||
conforming programs.
|
conforming programs.
|
||||||
For example, package\-related reduction options may inhibit the runtime
|
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
|
.PP
|
||||||
Reduction options are processed in the left\-to\-right manner.
|
Reduction options are processed in the left\-to\-right manner.
|
||||||
.TP
|
.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
|
These options disable/enable/enable the core compression feature in
|
||||||
SBCL.
|
SBCL.
|
||||||
Thus this option is meaningful only on SBCL.
|
Thus this option is meaningful only on SBCL.
|
||||||
Compression is enabled by default.
|
Compression is enabled by default.
|
||||||
.RS
|
|
||||||
.RE
|
|
||||||
.TP
|
.TP
|
||||||
.B \-\-remove\-docstrings
|
.B \[en]remove\-docstrings
|
||||||
This option removes all docstrings from all symbols in the entire lisp
|
This option removes all docstrings from all symbols in the entire lisp
|
||||||
image.
|
image.
|
||||||
.RS
|
|
||||||
.RE
|
|
||||||
.TP
|
.TP
|
||||||
.B \-\-delete\-package PKG
|
.B \[en]delete\-package PKG
|
||||||
This option can be specified multiple times.
|
This option can be specified multiple times.
|
||||||
It uninterns the symbols in PACKAGE, calls \f[C]makeunbound\f[] and
|
It uninterns the symbols in PACKAGE, calls \f[C]makeunbound\f[R] and
|
||||||
\f[C]fmakeunbound\f[] on each symbol and deletes the package.
|
\f[C]fmakeunbound\f[R] on each symbol and deletes the package.
|
||||||
Package names are automatically string\-upcase\[aq]d.
|
Package names are automatically string\-upcase\[cq]d.
|
||||||
.RS
|
|
||||||
.RE
|
|
||||||
.TP
|
.TP
|
||||||
.B \-\-delete\-all\-packages
|
.B \[en]delete\-all\-packages
|
||||||
This option applies \-\-delete\-package PKG on all packages, except some
|
This option applies \[en]delete\-package PKG on all packages, except
|
||||||
blacklisted packages (keyword, roswell, ROS.SCRIPT.DUMP, and the package
|
some blacklisted packages (keyword, roswell, ROS.SCRIPT.DUMP, and the
|
||||||
of the main function symbol).
|
package of the main function symbol).
|
||||||
.RS
|
|
||||||
.RE
|
|
||||||
.TP
|
.TP
|
||||||
.B \-\-delete\-packages\-except PACKAGE
|
.B \[en]delete\-packages\-except PACKAGE
|
||||||
This option can be specified multiple times.
|
This option can be specified multiple times.
|
||||||
It is identical to \-\-delete\-all\-packages except that it adds PACKAGE
|
It is identical to \[en]delete\-all\-packages except that it adds
|
||||||
to the blacklist.
|
PACKAGE to the blacklist.
|
||||||
Package names are automatically string\-upcase\[aq]d.
|
Package names are automatically string\-upcase\[cq]d.
|
||||||
.RS
|
|
||||||
.RE
|
|
||||||
.TP
|
.TP
|
||||||
.B \-\-destroy\-packages\-sbcl
|
.B \[en]destroy\-packages\-sbcl
|
||||||
This is an sbcl\-specific option which is even more aggressive than the
|
This is an sbcl\-specific option which is even more aggressive than the
|
||||||
above methods (>10MB reduction).
|
above methods (>10MB reduction).
|
||||||
It destroys the package system by modifying the internal tables for
|
It destroys the package system by modifying the internal tables for
|
||||||
packages, cleaning up the caches for package\-use\-list etc.
|
packages, cleaning up the caches for package\-use\-list etc.
|
||||||
The blacklist is shared among \-\-delete\-all\-packages and
|
The blacklist is shared among \[en]delete\-all\-packages and
|
||||||
\-\-destroy\-packages\-sbcl.
|
\[en]destroy\-packages\-sbcl.
|
||||||
However, this method does not call fmakunbound/makunbound, so combining
|
However, this method does not call fmakunbound/makunbound, so combining
|
||||||
the two methods can result in a more aggressive image size reduction.
|
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
|
Due to the nature of this option, it is desirable to specify it as the
|
||||||
last method (i.e.
|
last method (i.e.\ rightmost).
|
||||||
rightmost).
|
|
||||||
.RS
|
|
||||||
.RE
|
|
||||||
.TP
|
.TP
|
||||||
.B \-\-purify, \-\-no\-purify
|
.B \[en]purify, \[en]no\-purify
|
||||||
This is common to CCL, SBCL, CMUCL.
|
This is common to CCL, SBCL, CMUCL.
|
||||||
Moves all objects to the static space where GC does not scan, for the
|
Moves all objects to the static space where GC does not scan, for the
|
||||||
later performance of GC.
|
later performance of GC.
|
||||||
Purification is enabled by default.
|
Purification is enabled by default.
|
||||||
.RS
|
|
||||||
.RE
|
|
||||||
.TP
|
.TP
|
||||||
.B \-\-impurify, \-\-no\-impurify
|
.B \[en]impurify, \[en]no\-impurify
|
||||||
This is an CCL\-specific option (enabled by default).
|
This is an CCL\-specific option (enabled by default).
|
||||||
It moves all objects to the dynamic space before saving the image.
|
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
|
When purification is enabled, it impurifies all objects before running
|
||||||
the purifying GC.
|
the purifying GC.
|
||||||
.RS
|
|
||||||
.RE
|
|
||||||
.TP
|
.TP
|
||||||
.B \-\-delete\-debug\-info
|
.B \[en]delete\-debug\-info
|
||||||
This removes the debug infomation of functions (used to show the stack
|
This removes the debug infomation of functions (used to show the stack
|
||||||
frame etc), as well as the source locations and the deprecation
|
frame etc), as well as the source locations and the deprecation
|
||||||
information of various symbols.
|
information of various symbols.
|
||||||
SBCL only.
|
SBCL only.
|
||||||
This option has a large effect (+10MB reduction).
|
This option has a large effect (+10MB reduction).
|
||||||
.RS
|
|
||||||
.RE
|
|
||||||
.TP
|
.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
|
This removes all definitions of macros and compiler\-macros, assuming
|
||||||
that no runtime compilation/interpretation of code will be performed.
|
that no runtime compilation/interpretation of code will be performed.
|
||||||
This option should be portable across implementations.
|
This option should be portable across implementations.
|
||||||
It has ~2MB reduction on SBCL.
|
It has \[ti]2MB reduction on SBCL.
|
||||||
.RS
|
|
||||||
.RE
|
|
||||||
.TP
|
.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
|
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
|
In addition to the macro and the compiler\-macro definitions, it
|
||||||
destroys the internal compiler systems of SBCL by also removing the
|
destroys the internal compiler systems of SBCL by also removing the
|
||||||
inlining information, IR1 transformer and IR2 (VOP).
|
inlining information, IR1 transformer and IR2 (VOP).
|
||||||
.RS
|
|
||||||
.RE
|
|
||||||
.SH SEE ALSO
|
.SH SEE ALSO
|
||||||
.PP
|
.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
|
.SH AUTHORS
|
||||||
Roswell Project Team.
|
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" "" "" ""
|
.TH "ros-emacs" "1" "" "" ""
|
||||||
.hy
|
.hy
|
||||||
.PP
|
.PP
|
||||||
ros\-emacs \- launch Emacs with Slime # Synopsis
|
ros\-emacs \- launch Emacs with Slime # Synopsis
|
||||||
.PP
|
.PP
|
||||||
\f[B]ros emacs\f[] [ARGS...]
|
\f[B]ros emacs\f[R] [ARGS\&...]
|
||||||
.SH Description
|
.SH Description
|
||||||
.PP
|
.PP
|
||||||
Launches Emacs with a Slime(https://common\-lisp.net/project/slime/)
|
Launches Emacs with a Slime(https://common\-lisp.net/project/slime/)
|
||||||
|
|
@ -14,6 +14,6 @@ of roswell.
|
||||||
Additional arguments are passed to emacs.
|
Additional arguments are passed to emacs.
|
||||||
.SH SEE ALSO
|
.SH SEE ALSO
|
||||||
.PP
|
.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
|
.SH AUTHORS
|
||||||
Roswell Project Team.
|
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" "" "" ""
|
.TH "ros-help" "1" "" "" ""
|
||||||
.hy
|
.hy
|
||||||
|
|
@ -6,12 +6,12 @@
|
||||||
ros\-help \- Show Command help
|
ros\-help \- Show Command help
|
||||||
.SH Synopsis
|
.SH Synopsis
|
||||||
.PP
|
.PP
|
||||||
\f[B]ros help\f[] [subcommand or topics]
|
\f[B]ros help\f[R] [subcommand or topics]
|
||||||
.SH Description
|
.SH Description
|
||||||
.PP
|
.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
|
.SH SEE ALSO
|
||||||
.PP
|
.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
|
.SH AUTHORS
|
||||||
Roswell Project Team.
|
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" "" "" ""
|
.TH "ros-init" "1" "" "" ""
|
||||||
.hy
|
.hy
|
||||||
|
|
@ -6,16 +6,16 @@
|
||||||
ros\-init \- Create a roswell script (optionally based on a template)
|
ros\-init \- Create a roswell script (optionally based on a template)
|
||||||
.SH Synopsis
|
.SH Synopsis
|
||||||
.PP
|
.PP
|
||||||
\f[B]ros init [TEMPLATE] NAME [ARGS...]]\f[]
|
\f[B]ros init [TEMPLATE] NAME [ARGS\&...]]\f[R]
|
||||||
.TP
|
.TP
|
||||||
.B TEMPLATE
|
.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.
|
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
|
matches one of the templates being stored, then it automatically uses
|
||||||
the template.
|
the template.
|
||||||
To suppress this behavior, you should explicitly specify
|
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
|
.RS
|
||||||
.PP
|
.PP
|
||||||
Thus you are warned when you use this command from a shell script.
|
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
|
.RE
|
||||||
.TP
|
.TP
|
||||||
.B NAME
|
.B NAME
|
||||||
Specify the output filename, or "\-" to indicate \f[I]stdout\f[].
|
Specify the output filename, or \[lq]\-\[rq] to indicate
|
||||||
When \f[I]TEMPLATE\f[] is \f[I]default\f[], it automatically appends a
|
\f[I]stdout\f[R].
|
||||||
file type ".ros".
|
When \f[I]TEMPLATE\f[R] is \f[I]default\f[R], it automatically appends a
|
||||||
.RS
|
file type \[lq].ros\[rq].
|
||||||
.RE
|
|
||||||
.SH Description
|
.SH Description
|
||||||
.PP
|
.PP
|
||||||
Initialises a roswell file based on a template.
|
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
|
.PP
|
||||||
The default template is something like:
|
The default template is something like:
|
||||||
.IP
|
.IP
|
||||||
.nf
|
.nf
|
||||||
\f[C]
|
\f[C]
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
#|\-*\-\ mode:lisp\ \-*\-|#
|
#|\-*\- mode:lisp \-*\-|#
|
||||||
#|\ <Put\ a\ one\-line\ description\ here>
|
#| <Put a one\-line description here>
|
||||||
exec\ ros\ \-Q\ \-\-\ $0\ "$\@"
|
exec ros \-Q \-\- $0 \[dq]$\[at]\[dq]
|
||||||
|#
|
|#
|
||||||
(progn\ ;;init\ forms
|
(progn ;;init forms
|
||||||
\ \ (ros:ensure\-asdf)
|
(ros:ensure\-asdf)
|
||||||
\ \ ;;#+quicklisp\ (ql:quickload\ \[aq]()\ :silent\ t)
|
;;#+quicklisp (ql:quickload \[aq]() :silent t)
|
||||||
\ \ )
|
)
|
||||||
|
|
||||||
(defpackage\ :ros.script.test.3703600390
|
(defpackage :ros.script.test.3703600390
|
||||||
\ \ (:use\ :cl))
|
(:use :cl))
|
||||||
(in\-package\ :ros.script.test.3703600390)
|
(in\-package :ros.script.test.3703600390)
|
||||||
|
|
||||||
(defun\ main\ (&rest\ argv)
|
(defun main (&rest argv)
|
||||||
\ \ (declare\ (ignorable\ argv)))
|
(declare (ignorable argv)))
|
||||||
;;;\ vim:\ set\ ft=lisp\ lisp:
|
;;; vim: set ft=lisp lisp:
|
||||||
\f[]
|
\f[R]
|
||||||
.fi
|
.fi
|
||||||
.PP
|
.PP
|
||||||
This is basically a shell script which immediately invokes Roswell by
|
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,
|
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
|
reads the rest of the file as a Common Lisp program, and finally invokes
|
||||||
a function main with command\-line arguments.
|
a function main with command\-line arguments.
|
||||||
.SH SEE ALSO
|
.SH SEE ALSO
|
||||||
.PP
|
.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
|
.SH AUTHORS
|
||||||
Roswell Project Team.
|
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" "" "" ""
|
.TH "ros-install" "1" "" "" ""
|
||||||
.hy
|
.hy
|
||||||
|
|
@ -6,82 +6,78 @@
|
||||||
ros\-install \- Install lisp implementations or quicklisp system
|
ros\-install \- Install lisp implementations or quicklisp system
|
||||||
.SH Synopsis
|
.SH Synopsis
|
||||||
.IP \[bu] 2
|
.IP \[bu] 2
|
||||||
\f[B]ros install\f[] system [system ...]
|
\f[B]ros install\f[R] system [system \&...]
|
||||||
.IP \[bu] 2
|
.IP \[bu] 2
|
||||||
\f[B]ros install\f[] impl[/version] [param ...]
|
\f[B]ros install\f[R] impl[/version] [param \&...]
|
||||||
.SH Description
|
.SH Description
|
||||||
.TP
|
.TP
|
||||||
.B system
|
.B system
|
||||||
a name specifying a system.
|
a name specifying a system.
|
||||||
.RS
|
|
||||||
.RE
|
|
||||||
.TP
|
.TP
|
||||||
.B impl
|
.B impl
|
||||||
a name specifying a lisp implementation.
|
a name specifying a lisp implementation.
|
||||||
.RS
|
|
||||||
.RE
|
|
||||||
.SH Installing a Lisp Implementation
|
.SH Installing a Lisp Implementation
|
||||||
.PP
|
.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
|
supported implementations, it fetches, downloads and installs it to one
|
||||||
of the internal directory managed by roswell (~/.roswell, or
|
of the internal directory managed by roswell (\[ti]/.roswell, or
|
||||||
\f[C]ROSWELL_INSTALL_DIR\f[]).
|
\f[C]ROSWELL_INSTALL_DIR\f[R]).
|
||||||
In order to use the installed implementation, you have to run
|
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
|
.PP
|
||||||
For example, the following command downloads the latest sbcl binary from
|
For example, the following command downloads the latest sbcl binary from
|
||||||
sbcl.org.
|
sbcl.org.
|
||||||
Note that this may be different from the default binary installed by
|
Note that this may be different from the default binary installed by
|
||||||
roswell, called \f[C]sbcl\-bin\f[].
|
roswell, called \f[C]sbcl\-bin\f[R].
|
||||||
\f[C]sbcl\-bin\f[] is a stable and well\-tested version of the sbcl
|
\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.
|
binary which is supposed to be a little older than the latest sbcl.
|
||||||
.IP
|
.IP
|
||||||
.nf
|
.nf
|
||||||
\f[C]
|
\f[C]
|
||||||
$\ ros\ install\ sbcl
|
$ ros install sbcl
|
||||||
\f[]
|
\f[R]
|
||||||
.fi
|
.fi
|
||||||
.PP
|
.PP
|
||||||
When invoked without a name, it prints the list of installable
|
When invoked without a name, it prints the list of installable
|
||||||
implementations.
|
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.)
|
implementations already installed.)
|
||||||
.IP
|
.IP
|
||||||
.nf
|
.nf
|
||||||
\f[C]
|
\f[C]
|
||||||
Usage:\ ros\ install\ impl\ [OPTIONS]
|
Usage: ros install impl [OPTIONS]
|
||||||
|
|
||||||
For\ more\ details\ on\ impl\ specific\ options,\ type:
|
For more details on impl specific options, type:
|
||||||
ros\ help\ install\ impl
|
ros help install impl
|
||||||
|
|
||||||
Candidates\ impls\ for\ installation\ are:
|
Candidates impls for installation are:
|
||||||
ecl
|
ecl
|
||||||
sbcl
|
sbcl
|
||||||
clisp
|
clisp
|
||||||
ccl\-bin
|
ccl\-bin
|
||||||
sbcl\-bin
|
sbcl\-bin
|
||||||
\f[]
|
\f[R]
|
||||||
.fi
|
.fi
|
||||||
.PP
|
.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.
|
of the implementation.
|
||||||
.IP
|
.IP
|
||||||
.nf
|
.nf
|
||||||
\f[C]
|
\f[C]
|
||||||
$\ ros\ install\ sbcl/1.2.14
|
$ ros install sbcl/1.2.14
|
||||||
\f[]
|
\f[R]
|
||||||
.fi
|
.fi
|
||||||
.PP
|
.PP
|
||||||
There might be some \f[I]hidden\f[] implementation that are not listed
|
There might be some \f[I]hidden\f[R] implementation that are not listed
|
||||||
here \-\-\- they are in the alpha quality, but try the one you like or
|
here \[em] they are in the alpha quality, but try the one you like or
|
||||||
watch the website (https://github.com/roswell/roswell).
|
watch the website (https://github.com/roswell/roswell).
|
||||||
.IP
|
.IP
|
||||||
.nf
|
.nf
|
||||||
\f[C]
|
\f[C]
|
||||||
$\ ros\ install\ ccl
|
$ ros install ccl
|
||||||
$\ ros\ install\ abcl
|
$ ros install abcl
|
||||||
$\ ...
|
$ ...
|
||||||
\f[]
|
\f[R]
|
||||||
.fi
|
.fi
|
||||||
.SH Installing a quicklisp system and the bundled roswell scripts
|
.SH Installing a quicklisp system and the bundled roswell scripts
|
||||||
.PP
|
.PP
|
||||||
|
|
@ -90,36 +86,36 @@ tries to find a quicklisp system of the given name.
|
||||||
.IP
|
.IP
|
||||||
.nf
|
.nf
|
||||||
\f[C]
|
\f[C]
|
||||||
$\ ros\ install\ alexandria
|
$ ros install alexandria
|
||||||
\f[]
|
\f[R]
|
||||||
.fi
|
.fi
|
||||||
.PP
|
.PP
|
||||||
After compiling and loading the system, it funcalls
|
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.
|
function is set during the compilation/load.
|
||||||
.PP
|
.PP
|
||||||
When the system comes with a \f[B]roswell script\f[] created by
|
When the system comes with a \f[B]roswell script\f[R] created by
|
||||||
\f[I]ros\-init\f[](1) in the subdirectory \f[C]roswell\f[], they are
|
\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[].
|
installed into \f[B]ROSWELL_INSTALL_DIR/bin\f[R].
|
||||||
Setting the path to this directory makes those scripts available from
|
Setting the path to this directory makes those scripts available from
|
||||||
the shell command line.
|
the shell command line.
|
||||||
.IP
|
.IP
|
||||||
.nf
|
.nf
|
||||||
\f[C]
|
\f[C]
|
||||||
$\ ros\ install\ qlot
|
$ ros install qlot
|
||||||
System\ \[aq]qlot\[aq]\ found.\ Loading\ the\ system..
|
System \[aq]qlot\[aq] found. Loading the system..
|
||||||
Processing\ build\-hook..
|
Processing build\-hook..
|
||||||
Found\ 1\ scripts:\ qlot
|
Found 1 scripts: qlot
|
||||||
Attempting\ to\ install\ the\ scripts\ in\ roswell/\ subdirectory\ of\ the\ system...
|
Attempting to install the scripts in roswell/ subdirectory of the system...
|
||||||
/home/user/.roswell/bin/qlot
|
/home/user/.roswell/bin/qlot
|
||||||
|
|
||||||
$\ qlot
|
$ qlot
|
||||||
Usage:\ qlot\ [install\ |\ update\ |\ bundle\ |\ exec\ shell\-args..]
|
Usage: qlot [install | update | bundle | exec shell\-args..]
|
||||||
\f[]
|
\f[R]
|
||||||
.fi
|
.fi
|
||||||
.SH SEE ALSO
|
.SH SEE ALSO
|
||||||
.PP
|
.PP
|
||||||
\f[I]sbcl\f[](1), \f[I]ros\f[](1), \f[I]ros\-list\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[](1)
|
\f[I]ros\-init\f[R](1)
|
||||||
.SH AUTHORS
|
.SH AUTHORS
|
||||||
Roswell Project Team.
|
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" "" "" ""
|
.TH "ros-list" "1" "" "" ""
|
||||||
.hy
|
.hy
|
||||||
|
|
@ -6,35 +6,29 @@
|
||||||
ros\-list \- list the materials installed by roswell
|
ros\-list \- list the materials installed by roswell
|
||||||
.SH Synopsis
|
.SH Synopsis
|
||||||
.PP
|
.PP
|
||||||
\f[B]ros list [type] [options]\f[]
|
\f[B]ros list [type] [options]\f[R]
|
||||||
.SH Description
|
.SH Description
|
||||||
.PP
|
.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
|
.TP
|
||||||
.B installed [ [ IMPL | IMPL/VERSION ]...]
|
.B installed [ [ IMPL | IMPL/VERSION ]\&...]
|
||||||
List the implementations that have been already installed.
|
List the implementations that have been already installed.
|
||||||
Optionally providing IMPL shows the installed versions of the
|
Optionally providing IMPL shows the installed versions of the
|
||||||
implementation.
|
implementation.
|
||||||
.RS
|
|
||||||
.RE
|
|
||||||
.TP
|
.TP
|
||||||
.B dump [IMPL]
|
.B dump [IMPL]
|
||||||
List the internal dumped images that are compatible with IMPL.
|
List the internal dumped images that are compatible with IMPL.
|
||||||
When IMPL is ommited, it is defaulted to the current lisp implementation
|
When IMPL is ommited, it is defaulted to the current lisp implementation
|
||||||
in use.
|
in use.
|
||||||
Images are in \f[C]$ROSWELL_INSTALL_DIR/impl/.../dump/\f[].
|
Images are in \f[C]$ROSWELL_INSTALL_DIR/impl/.../dump/\f[R].
|
||||||
.RS
|
|
||||||
.RE
|
|
||||||
.TP
|
.TP
|
||||||
.B versions [IMPL]
|
.B versions [IMPL]
|
||||||
List the installable versions for IMPL.
|
List the installable versions for IMPL.
|
||||||
When IMPL is ommited, it is defaulted to the current lisp implementation
|
When IMPL is ommited, it is defaulted to the current lisp implementation
|
||||||
in use.
|
in use.
|
||||||
This feature is experimental.
|
This feature is experimental.
|
||||||
.RS
|
|
||||||
.RE
|
|
||||||
.SH SEE ALSO
|
.SH SEE ALSO
|
||||||
.PP
|
.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
|
.SH AUTHORS
|
||||||
Roswell Project Team.
|
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" "" "" ""
|
.TH "ros-run" "1" "" "" ""
|
||||||
.hy
|
.hy
|
||||||
.PP
|
.PP
|
||||||
ros\-run \- start a REPL # Synopsis
|
ros\-run \- start a REPL # Synopsis
|
||||||
.PP
|
.PP
|
||||||
\f[B]ros [options] run\f[]
|
\f[B]ros [options] run\f[R]
|
||||||
.SH Description
|
.SH Description
|
||||||
.PP
|
.PP
|
||||||
Processes the given options and start a REPL using the currently
|
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
|
.SH SEE ALSO
|
||||||
.PP
|
.PP
|
||||||
\f[I]ros\f[](1)
|
\f[I]ros\f[R](1)
|
||||||
.SH AUTHORS
|
.SH AUTHORS
|
||||||
Roswell Project Team.
|
Roswell Project Team.
|
||||||
|
|
|
||||||
27
documents/man/ros-serve.1
Normal file
27
documents/man/ros-serve.1
Normal file
|
|
@ -0,0 +1,27 @@
|
||||||
|
.\" Automatically generated by Pandoc 2.5
|
||||||
|
.\"
|
||||||
|
.TH "ros-serve" "1" "" "" ""
|
||||||
|
.hy
|
||||||
|
.PP
|
||||||
|
ros\-serve \- start lisp server
|
||||||
|
.SH Synopsis
|
||||||
|
.PP
|
||||||
|
\f[B]ros [options for roswell \&... ] serve\f[R] protocol [options for
|
||||||
|
the protocol \&...] \&...
|
||||||
|
.SH description
|
||||||
|
.PP
|
||||||
|
\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[R]
|
||||||
|
Listen port would be \f[C]port\f[R] instead of the default port 4005.
|
||||||
|
.TP
|
||||||
|
.B \f[C]\-\-interface interface\f[R]
|
||||||
|
limit interface for listen.
|
||||||
|
default is \f[C]localhost\f[R] so there would be no limitation.
|
||||||
|
.SH SEE ALSO
|
||||||
|
.PP
|
||||||
|
\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" "" "" ""
|
.TH "ros-setup" "1" "" "" ""
|
||||||
.hy
|
.hy
|
||||||
|
|
@ -6,22 +6,22 @@
|
||||||
ros\-setup \- setup the backend of roswell
|
ros\-setup \- setup the backend of roswell
|
||||||
.SH Synopsis
|
.SH Synopsis
|
||||||
.PP
|
.PP
|
||||||
\f[B]ros setup\f[]
|
\f[B]ros setup\f[R]
|
||||||
.SH Description
|
.SH Description
|
||||||
.PP
|
.PP
|
||||||
\f[B]ros setup\f[] initializes roswell.
|
\f[B]ros setup\f[R] initializes roswell.
|
||||||
The process includes the following steps:
|
The process includes the following steps:
|
||||||
.IP \[bu] 2
|
.IP \[bu] 2
|
||||||
Downloading the default stable lisp implementation (sbcl\-bin) to
|
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
|
.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
|
.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
|
.IP \[bu] 2
|
||||||
Making the core image of roswell itself.
|
Making the core image of roswell itself.
|
||||||
.SH SEE ALSO
|
.SH SEE ALSO
|
||||||
.PP
|
.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
|
.SH AUTHORS
|
||||||
Roswell Project Team.
|
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" "" "" ""
|
.TH "ros-template" "1" "" "" ""
|
||||||
.hy
|
.hy
|
||||||
|
|
@ -6,248 +6,223 @@
|
||||||
ros\-template \- Edit template for ros\-init
|
ros\-template \- Edit template for ros\-init
|
||||||
.SH synopsis
|
.SH synopsis
|
||||||
.IP \[bu] 2
|
.IP \[bu] 2
|
||||||
\f[B]ros template\f[] command args...
|
\f[B]ros template\f[R] command args\&...
|
||||||
.SH Subcommands
|
.SH Subcommands
|
||||||
.TP
|
.TP
|
||||||
.B init template\-name
|
.B init template\-name
|
||||||
Create new template in local\-project directory.
|
Create new template in local\-project directory.
|
||||||
.RS
|
|
||||||
.RE
|
|
||||||
.TP
|
.TP
|
||||||
.B deinit template\-name
|
.B deinit template\-name
|
||||||
Remove a template from local\-project directory.
|
Remove a template from local\-project directory.
|
||||||
.RS
|
|
||||||
.RE
|
|
||||||
.TP
|
.TP
|
||||||
.B list
|
.B list
|
||||||
Show file list and states of the files \f[I]type\f[] \f[I]chmod\f[]
|
Show file list and states of the files \f[I]type\f[R] \f[I]chmod\f[R]
|
||||||
\f[I]rewrite\f[] in templates.
|
\f[I]rewrite\f[R] in templates.
|
||||||
.RS
|
|
||||||
.RE
|
|
||||||
.TP
|
.TP
|
||||||
.B checkout [template\-name]
|
.B checkout [template\-name]
|
||||||
When invoked without template\-name,this command shows candidates for
|
When invoked without template\-name,this command shows candidates for
|
||||||
current templates to operate.If with template\-name, this command choose
|
current templates to operate.If with template\-name, this command choose
|
||||||
the name as current template.
|
the name as current template.
|
||||||
.RS
|
|
||||||
.RE
|
|
||||||
.TP
|
.TP
|
||||||
.B add [template\-name] [files ...]
|
.B add [template\-name] [files \&...]
|
||||||
Add files to current template.First parameter could taken as a
|
Add files to current template.First parameter could taken as a
|
||||||
template\-name when current template are \f[I]default\f[].
|
template\-name when current template are \f[I]default\f[R].
|
||||||
.RS
|
|
||||||
.RE
|
|
||||||
.TP
|
.TP
|
||||||
.B cat [template\-name] [files ...]
|
.B cat [template\-name] [files \&...]
|
||||||
Show contents in the current template.
|
Show contents in the current template.
|
||||||
.RS
|
|
||||||
.RE
|
|
||||||
.TP
|
.TP
|
||||||
.B edit [template\-name] [files ...]
|
.B edit [template\-name] [files \&...]
|
||||||
Edit content of files in template using \f[C]/usr/bin/editor\f[].
|
Edit content of files in template using \f[C]/usr/bin/editor\f[R].
|
||||||
.RS
|
|
||||||
.RE
|
|
||||||
.TP
|
.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.
|
Remove file form current template.
|
||||||
.RS
|
|
||||||
.RE
|
|
||||||
.TP
|
.TP
|
||||||
.B type [template\-name] [type] [files ...]
|
.B type [template\-name] [type] [files \&...]
|
||||||
Change file type.
|
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
|
{{name}} {{author}} {{email}} {{universal_time}} are available variable
|
||||||
in the template file.
|
in the template file.
|
||||||
Withoug files, change default type.
|
Withoug files, change default type.
|
||||||
.RS
|
|
||||||
.RE
|
|
||||||
.TP
|
.TP
|
||||||
.B chmod [template\-name] [mode] [files ...]
|
.B chmod [template\-name] [mode] [files \&...]
|
||||||
Change file mode bits to generate.
|
Change file mode bits to generate.
|
||||||
specify mode in octal format.
|
specify mode in octal format.
|
||||||
.RS
|
|
||||||
.RE
|
|
||||||
.TP
|
.TP
|
||||||
.B rewrite [template\-name] file rewrite\-rule
|
.B rewrite [template\-name] file rewrite\-rule
|
||||||
Change file name using djula template.Variables {{name}} {{author}}
|
Change file name using djula template.Variables {{name}} {{author}}
|
||||||
{{email}} {{universal_time}} are available for rewrite\-rule.
|
{{email}} {{universal_time}} are available for rewrite\-rule.
|
||||||
.RS
|
|
||||||
.RE
|
|
||||||
.TP
|
.TP
|
||||||
.B export [template\-name] [directory]
|
.B export [template\-name] [directory]
|
||||||
Export files in current template to current directory.
|
Export files in current template to current directory.
|
||||||
.RS
|
|
||||||
.RE
|
|
||||||
.TP
|
.TP
|
||||||
.B import [directory]
|
.B import [directory]
|
||||||
Import template in current directory
|
Import template in current directory
|
||||||
.RS
|
|
||||||
.RE
|
|
||||||
.TP
|
.TP
|
||||||
.B help
|
.B help
|
||||||
Show the subcommand help.
|
Show the subcommand help.
|
||||||
.RS
|
|
||||||
.RE
|
|
||||||
.SH Description
|
.SH Description
|
||||||
.PP
|
.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
|
.SS Create template
|
||||||
.PP
|
.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
|
.IP
|
||||||
.nf
|
.nf
|
||||||
\f[C]
|
\f[C]
|
||||||
$\ ros\ template\ init\ sample\-template
|
$ ros template init sample\-template
|
||||||
\f[]
|
\f[R]
|
||||||
.fi
|
.fi
|
||||||
.PP
|
.PP
|
||||||
Many of sub\-commands take a template name as first argument.
|
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
|
After the following, such sub\-commands are applied to
|
||||||
\f[C]sample\-template\f[].
|
\f[C]sample\-template\f[R].
|
||||||
.IP
|
.IP
|
||||||
.nf
|
.nf
|
||||||
\f[C]
|
\f[C]
|
||||||
$\ ros\ template\ checkout\ sample\-template
|
$ ros template checkout sample\-template
|
||||||
\f[]
|
\f[R]
|
||||||
.fi
|
.fi
|
||||||
.PP
|
.PP
|
||||||
Next, the \f[C]add\f[] sub\-command adds local file[s] to template.
|
Next, the \f[C]add\f[R] sub\-command adds local file[s] to template.
|
||||||
Then, the \f[C]list\f[] sub\-command shows information of files in
|
Then, the \f[C]list\f[R] sub\-command shows information of files in
|
||||||
template.
|
template.
|
||||||
.IP
|
.IP
|
||||||
.nf
|
.nf
|
||||||
\f[C]
|
\f[C]
|
||||||
$\ echo\ "Hello\ {{\ author\ }}!!"\ >\ sample.txt
|
$ echo \[dq]Hello {{ author }}!!\[dq] > sample.txt
|
||||||
$\ ros\ template\ add\ sample.txt
|
$ ros template add sample.txt
|
||||||
$\ ros\ template\ list
|
$ ros template list
|
||||||
\ \ \ \ \ \ copy\ \ sample.txt\
|
copy sample.txt
|
||||||
\f[]
|
\f[R]
|
||||||
.fi
|
.fi
|
||||||
.PP
|
.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.
|
There are the following 2 strategies.
|
||||||
.IP \[bu] 2
|
.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
|
.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/).
|
Djula (http://mmontone.github.io/djula/).
|
||||||
.RS 2
|
.RS 2
|
||||||
.IP \[bu] 2
|
.IP \[bu] 2
|
||||||
Available variables are explained later.
|
Available variables are explained later.
|
||||||
.RE
|
.RE
|
||||||
.PP
|
.PP
|
||||||
The \f[C]type\f[] sub\-command changes it.
|
The \f[C]type\f[R] sub\-command changes it.
|
||||||
In addition, default strategy (\f[I]copy\f[]) can be changed for each
|
In addition, default strategy (\f[I]copy\f[R]) can be changed for each
|
||||||
template by the \f[C]type\f[] sub\-command without file names (Ex.
|
template by the \f[C]type\f[R] sub\-command without file names (Ex.
|
||||||
\f[C]ros\ template\ type\ djula\f[]).
|
\f[C]ros template type djula\f[R]).
|
||||||
.IP
|
.IP
|
||||||
.nf
|
.nf
|
||||||
\f[C]
|
\f[C]
|
||||||
$\ ros\ template\ type\ djula\ sample.txt
|
$ ros template type djula sample.txt
|
||||||
$\ ros\ template\ list
|
$ ros template list
|
||||||
\ \ \ \ \ \ djula\ sample.txt\
|
djula sample.txt
|
||||||
\f[]
|
\f[R]
|
||||||
.fi
|
.fi
|
||||||
.PP
|
.PP
|
||||||
The \f[C]sample.txt\f[] will be simply output as \f[C]sample.txt\f[] in
|
The \f[C]sample.txt\f[R] will be simply output as \f[C]sample.txt\f[R]
|
||||||
default.
|
in default.
|
||||||
But you can change it by the \f[C]rewrite\f[] sub\-command.
|
But you can change it by the \f[C]rewrite\f[R] sub\-command.
|
||||||
In the following example, it will be output as
|
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
|
.IP
|
||||||
.nf
|
.nf
|
||||||
\f[C]
|
\f[C]
|
||||||
$\ ros\ template\ rewrite\ sample.txt\ "sample\-{{\ name\ }}.txt"
|
$ ros template rewrite sample.txt \[dq]sample\-{{ name }}.txt\[dq]
|
||||||
$\ ros\ template\ list
|
$ ros template list
|
||||||
\ \ \ \ \ \ djula\ sample.txt\ \->\ "sample\-{{\ name\ }}.txt"
|
djula sample.txt \-> \[dq]sample\-{{ name }}.txt\[dq]
|
||||||
\f[]
|
\f[R]
|
||||||
.fi
|
.fi
|
||||||
.PP
|
.PP
|
||||||
Note: Rewrite rules are always processed by Djula irrespective of
|
Note: Rewrite rules are always processed by Djula irrespective of
|
||||||
strategy of the file.
|
strategy of the file.
|
||||||
.SS Apply template
|
.SS Apply template
|
||||||
.PP
|
.PP
|
||||||
\f[I]ros\-init\f[](1) can specify a template.
|
\f[I]ros\-init\f[R](1) can specify a template.
|
||||||
.IP
|
.IP
|
||||||
.nf
|
.nf
|
||||||
\f[C]
|
\f[C]
|
||||||
$\ mkdir\ temp\ ;\ cd\ temp
|
$ mkdir temp ; cd temp
|
||||||
$\ ros\ init\ sample\-template\ some\-project
|
$ ros init sample\-template some\-project
|
||||||
$\ ls
|
$ ls
|
||||||
sample\-some\-project.txt
|
sample\-some\-project.txt
|
||||||
$\ cat\ sample\-some\-project.txt\ #\ Assume\ that\ "author"\ is\ "alien"
|
$ cat sample\-some\-project.txt # Assume that \[dq]author\[dq] is \[dq]alien\[dq]
|
||||||
Hello\ alien!!
|
Hello alien!!
|
||||||
\f[]
|
\f[R]
|
||||||
.fi
|
.fi
|
||||||
.PP
|
.PP
|
||||||
The file name and its content are processed by Djula as explained in the
|
The file name and its content are processed by Djula as explained in the
|
||||||
above.
|
above.
|
||||||
The following variables can be used in defaut.
|
The following variables can be used in defaut.
|
||||||
.IP \[bu] 2
|
.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
|
.IP \[bu] 2
|
||||||
{{author}}: An author name extracted from config of Git or
|
{{author}}: An author name extracted from config of Git or
|
||||||
\f[C]whoami\f[]
|
\f[C]whoami\f[R]
|
||||||
.IP \[bu] 2
|
.IP \[bu] 2
|
||||||
{{email}}: An e\-mail address extracted from config of Git or created
|
{{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
|
.IP \[bu] 2
|
||||||
{{universal_time}}: A universal time created by
|
{{universal_time}}: A universal time created by
|
||||||
\f[C]get\-universal\-time\f[] function
|
\f[C]get\-universal\-time\f[R] function
|
||||||
.PP
|
.PP
|
||||||
In addition, you can use original variables as the followings.
|
In addition, you can use original variables as the followings.
|
||||||
.IP
|
.IP
|
||||||
.nf
|
.nf
|
||||||
\f[C]
|
\f[C]
|
||||||
$\ echo\ "Hello\ {{\ area\ }}!!"\ >\ sample.txt
|
$ echo \[dq]Hello {{ area }}!!\[dq] > sample.txt
|
||||||
$\ ros\ template\ add\ sample.txt\ #\ Note:\ It\ overwrites\ existing
|
$ ros template add sample.txt # Note: It overwrites existing
|
||||||
$\ mkdir\ temp\ ;\ cd\ temp
|
$ mkdir temp ; cd temp
|
||||||
$\ ros\ init\ sample\-template\ roswell\ \-\-area\ 51
|
$ ros init sample\-template roswell \-\-area 51
|
||||||
$\ cat\ sample\-roswell.txt
|
$ cat sample\-roswell.txt
|
||||||
Hello\ 51!!
|
Hello 51!!
|
||||||
\f[]
|
\f[R]
|
||||||
.fi
|
.fi
|
||||||
.SS Export and import template
|
.SS Export and import template
|
||||||
.PP
|
.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.
|
added files.
|
||||||
.PP
|
.PP
|
||||||
However, if you want to, for example, manage it using Git in a local
|
However, if you want to, for example, manage it using Git in a local
|
||||||
directory or to install distributed templates, you can use the
|
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
|
.PP
|
||||||
First, the \f[C]export\f[] sub\-command exports added files and a
|
First, the \f[C]export\f[R] sub\-command exports added files and a
|
||||||
setting file \f[C]roswell.init.<template\ name>.asd\f[] that is
|
setting file \f[C]roswell.init.<template name>.asd\f[R] that is
|
||||||
internally created and editted.
|
internally created and editted.
|
||||||
.IP
|
.IP
|
||||||
.nf
|
.nf
|
||||||
\f[C]
|
\f[C]
|
||||||
$\ ros\ template\ export\ dir
|
$ ros template export dir
|
||||||
$\ ls\ dir
|
$ ls dir
|
||||||
roswell.init.sample\-template.asd\ \ sample.txt
|
roswell.init.sample\-template.asd sample.txt
|
||||||
$\ cat\ dir/sample.txt
|
$ cat dir/sample.txt
|
||||||
Hello\ {{\ area\ }}!!
|
Hello {{ area }}!!
|
||||||
\f[]
|
\f[R]
|
||||||
.fi
|
.fi
|
||||||
.PP
|
.PP
|
||||||
Second, the \f[C]import\f[] sub\-command imports them.
|
Second, the \f[C]import\f[R] sub\-command imports them.
|
||||||
.IP
|
.IP
|
||||||
.nf
|
.nf
|
||||||
\f[C]
|
\f[C]
|
||||||
#\ Assume\ that\ this\ is\ another\ machine...
|
# Assume that this is another machine...
|
||||||
$\ ros\ template\ list\ sample\-template\ #\ nothing\ is\ output\
|
$ ros template list sample\-template # nothing is output
|
||||||
$\ ls\ downloaded
|
$ ls downloaded
|
||||||
roswell.init.sample\-template.asd\ \ sample.txt
|
roswell.init.sample\-template.asd sample.txt
|
||||||
$\ ros\ template\ import\ downloaded
|
$ ros template import downloaded
|
||||||
$\ ros\ template\ list\ sample\-template
|
$ ros template list sample\-template
|
||||||
\ \ \ \ \ \ djula\ sample.txt\ \->\ "sample\-{{\ name\ }}.txt"
|
djula sample.txt \-> \[dq]sample\-{{ name }}.txt\[dq]
|
||||||
\f[]
|
\f[R]
|
||||||
.fi
|
.fi
|
||||||
.PP
|
.PP
|
||||||
Note: If there is a template whose name is same, it will be overwritten.
|
Note: If there is a template whose name is same, it will be overwritten.
|
||||||
.SH SEE ALSO
|
.SH SEE ALSO
|
||||||
.PP
|
.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
|
.SH AUTHORS
|
||||||
Roswell Project Team.
|
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" "" "" ""
|
.TH "ros-update" "1" "" "" ""
|
||||||
.hy
|
.hy
|
||||||
|
|
@ -6,27 +6,23 @@
|
||||||
ros\-update \- Update system installed from vcs
|
ros\-update \- Update system installed from vcs
|
||||||
.SH Synopsis
|
.SH Synopsis
|
||||||
.IP \[bu] 2
|
.IP \[bu] 2
|
||||||
\f[B]ros update\f[] system [system ...]
|
\f[B]ros update\f[R] system [system \&...]
|
||||||
.IP \[bu] 2
|
.IP \[bu] 2
|
||||||
\f[B]ros update\f[] method [params ...]
|
\f[B]ros update\f[R] method [params \&...]
|
||||||
.SH Description
|
.SH Description
|
||||||
.TP
|
.TP
|
||||||
.B system
|
.B system
|
||||||
a name specifying a system.
|
a name specifying a system.
|
||||||
.RS
|
|
||||||
.RE
|
|
||||||
.TP
|
.TP
|
||||||
.B method
|
.B method
|
||||||
currently supported method is \f[C]git\f[].
|
currently supported method is \f[C]git\f[R].
|
||||||
.RS
|
|
||||||
.RE
|
|
||||||
.SH Update system
|
.SH Update system
|
||||||
.PP
|
.PP
|
||||||
When system are already installed and the system has \f[C]\&.git\f[] in
|
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[] and
|
the system directory it invoke \f[C]git pull\f[R] and
|
||||||
\f[C]ros\ install\f[] the system.
|
\f[C]ros install\f[R] the system.
|
||||||
.SH SEE ALSO
|
.SH SEE ALSO
|
||||||
.PP
|
.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
|
.SH AUTHORS
|
||||||
Roswell Project Team.
|
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" "" "" ""
|
.TH "ros-use" "1" "" "" ""
|
||||||
.hy
|
.hy
|
||||||
.PP
|
.PP
|
||||||
ros\-use \- sets the default implementation used by roswell # synopsis
|
ros\-use \- sets the default implementation used by roswell # synopsis
|
||||||
.PP
|
.PP
|
||||||
\f[B]ros [options] use\f[] impl[/version]
|
\f[B]ros [options] use\f[R] impl[/version]
|
||||||
.PP
|
.PP
|
||||||
impl : The name of an implementation which is already installed.
|
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
|
The list of installed implementations is available in
|
||||||
\f[I]ros\-list\f[](1).
|
\f[I]ros\-list\f[R](1).
|
||||||
.PP
|
.PP
|
||||||
version: : The version specifier.
|
version: : The version specifier.
|
||||||
The string representation of the version (e.g.
|
The string representation of the version (e.g.\ .) depends on each
|
||||||
.) depends on each implementation and roswell generally follows the
|
implementation and roswell generally follows the representation used by
|
||||||
representation used by the implementation.
|
the implementation.
|
||||||
In addition, \f[I]a special version name "system"\f[] tells roswell to
|
In addition, \f[I]a special version name \[lq]system\[rq]\f[R] tells
|
||||||
use the implementation that is installed in your system, which should be
|
roswell to use the implementation that is installed in your system,
|
||||||
in PATH.
|
which should be in PATH.
|
||||||
.SH example
|
.SH example
|
||||||
.PP
|
.PP
|
||||||
ros use sbcl : use the latest SBCL among several versions of SBCLs
|
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
|
This is compiled from the source, which may take some time to install
|
||||||
but allows SLIME to jump to the implementation source code.
|
but allows SLIME to jump to the implementation source code.
|
||||||
.PP
|
.PP
|
||||||
ros use sbcl\-bin : use the latest stable SBCL binary downloaded from
|
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.
|
Roswell uses this by default.
|
||||||
\f[C]sbcl\-bin\f[] tends to be an older version compared to
|
\f[C]sbcl\-bin\f[R] 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\f[R], but surely newer than your \f[I]apt\-get\f[R] installed
|
||||||
counterpart!
|
counterpart!
|
||||||
.PP
|
.PP
|
||||||
ros use sbcl/1.3.1 : use the compiled SBCL 1.3.1.
|
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.
|
ros use ccl : use the CCL compiled from the source.
|
||||||
Same set of version specifiers as for SBCL can be applied.
|
Same set of version specifiers as for SBCL can be applied.
|
||||||
.PP
|
.PP
|
||||||
Roswell also supports \f[I]abcl\f[], \f[I]acl\f[], \f[I]clisp\f[],
|
Roswell also supports \f[I]abcl\f[R], \f[I]acl\f[R], \f[I]clisp\f[R],
|
||||||
\f[I]cmu\f[] and \f[I]ecl\f[].
|
\f[I]cmu\f[R] and \f[I]ecl\f[R].
|
||||||
.SH SEE ALSO
|
.SH SEE ALSO
|
||||||
.PP
|
.PP
|
||||||
\f[I]sbcl\f[](1), \f[I]ros\f[](1), \f[I]ros\-install\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[](1)
|
\f[I]ros\-list\f[R](1)
|
||||||
.SH AUTHORS
|
.SH AUTHORS
|
||||||
Roswell Project Team.
|
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" "" "" ""
|
.TH "ros-wait" "1" "" "" ""
|
||||||
.hy
|
.hy
|
||||||
.PP
|
.PP
|
||||||
ros\-wait \- # synopsis
|
ros\-wait \- # synopsis
|
||||||
.PP
|
.PP
|
||||||
\f[B]ros [options] wait\f[]
|
\f[B]ros [options] wait\f[R]
|
||||||
.SH Description
|
.SH Description
|
||||||
.PP
|
.PP
|
||||||
Wait forever after processing the options.
|
Wait forever after processing the options.
|
||||||
|
|
@ -19,11 +19,11 @@ from the client.
|
||||||
.IP
|
.IP
|
||||||
.nf
|
.nf
|
||||||
\f[C]
|
\f[C]
|
||||||
$\ ros\ \-sp\ clack\ \-l\ app.lisp\ \-e\ \[aq](clack:clackup)\[aq]\ wait
|
$ ros \-sp clack \-l app.lisp \-e \[aq](clack:clackup)\[aq] wait
|
||||||
\f[]
|
\f[R]
|
||||||
.fi
|
.fi
|
||||||
.SH SEE ALSO
|
.SH SEE ALSO
|
||||||
.PP
|
.PP
|
||||||
\f[I]ros\f[](1)
|
\f[I]ros\f[R](1)
|
||||||
.SH AUTHORS
|
.SH AUTHORS
|
||||||
Roswell Project Team.
|
Roswell Project Team.
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
.\" Automatically generated by Pandoc 1.16.0.2
|
.\" Automatically generated by Pandoc 2.5
|
||||||
.\"
|
.\"
|
||||||
.TH "ros" "1" "" "" ""
|
.TH "ros" "1" "" "" ""
|
||||||
.hy
|
.hy
|
||||||
|
|
@ -6,11 +6,11 @@
|
||||||
Roswell \- Common Lisp environment setup Utility
|
Roswell \- Common Lisp environment setup Utility
|
||||||
.SH Synopsis
|
.SH Synopsis
|
||||||
.IP \[bu] 2
|
.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
|
.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
|
.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
|
.SH Description
|
||||||
.PP
|
.PP
|
||||||
Roswell is a command line tool for installing and managing Common Lisp
|
Roswell is a command line tool for installing and managing Common Lisp
|
||||||
|
|
@ -20,7 +20,7 @@ ROSWELL\-SCRIPTS written in Common Lisp.
|
||||||
.PP
|
.PP
|
||||||
Currently roswell supports sbcl, ccl, clisp and ecl as its supported
|
Currently roswell supports sbcl, ccl, clisp and ecl as its supported
|
||||||
lisp implementations.
|
lisp implementations.
|
||||||
For further details see \f[I]ros\-install\f[](1).
|
For further details see \f[I]ros\-install\f[R](1).
|
||||||
.PP
|
.PP
|
||||||
Scripts installed by roswell will be system wide if appropriate
|
Scripts installed by roswell will be system wide if appropriate
|
||||||
directory is included in PATH.
|
directory is included in PATH.
|
||||||
|
|
@ -29,241 +29,157 @@ directory is included in PATH.
|
||||||
In an order of utility/frequency.
|
In an order of utility/frequency.
|
||||||
.TP
|
.TP
|
||||||
.B install
|
.B install
|
||||||
Install a given implementation (e.g.
|
Install a given implementation (e.g.\ sbcl, ccl) or a system
|
||||||
sbcl, ccl) or a system (e.g.
|
(e.g.\ alexandria) for roswell environment.
|
||||||
alexandria) for roswell environment.
|
See \f[I]ros\-install\f[R](1).
|
||||||
See \f[I]ros\-install\f[](1).
|
|
||||||
.RS
|
|
||||||
.RE
|
|
||||||
.TP
|
.TP
|
||||||
.B init [name[.ros]]
|
.B init [name[.ros]]
|
||||||
Create a new ros script.
|
Create a new ros script.
|
||||||
\f[C]\&.ros\f[] is optional, and is added automaticaly.
|
\f[C].ros\f[R] is optional, and is added automaticaly.
|
||||||
See \f[I]ros\-init\f[].
|
See \f[I]ros\-init\f[R].
|
||||||
.RS
|
|
||||||
.RE
|
|
||||||
.TP
|
.TP
|
||||||
.B dump [executable|output] [script]
|
.B dump [executable|output] [script]
|
||||||
Dump an image of the script for the faster startup or to make an
|
Dump an image of the script for the faster startup or to make an
|
||||||
executable.
|
executable.
|
||||||
See \f[I]ros\-dump\f[].
|
See \f[I]ros\-dump\f[R].
|
||||||
.RS
|
|
||||||
.RE
|
|
||||||
.TP
|
.TP
|
||||||
.B build
|
.B build
|
||||||
Make an executable from the script.
|
Make an executable from the script.
|
||||||
See \f[I]ros\-build\f[].
|
See \f[I]ros\-build\f[R].
|
||||||
.RS
|
|
||||||
.RE
|
|
||||||
.TP
|
.TP
|
||||||
.B run
|
.B run
|
||||||
Initiate REPL.
|
Initiate REPL.
|
||||||
See \f[I]ros\-run\f[].
|
See \f[I]ros\-run\f[R].
|
||||||
.RS
|
|
||||||
.RE
|
|
||||||
.TP
|
.TP
|
||||||
.B use
|
.B use
|
||||||
Change the default implementation used by roswell.
|
Change the default implementation used by roswell.
|
||||||
See \f[I]ros\-use\f[].
|
See \f[I]ros\-use\f[R].
|
||||||
.RS
|
|
||||||
.RE
|
|
||||||
.TP
|
.TP
|
||||||
.B list
|
.B list
|
||||||
List the various informations.
|
List the various informations.
|
||||||
See \f[I]ros\-list\f[].
|
See \f[I]ros\-list\f[R].
|
||||||
.RS
|
|
||||||
.RE
|
|
||||||
.TP
|
.TP
|
||||||
.B config
|
.B config
|
||||||
Get and set the options.
|
Get and set the options.
|
||||||
See \f[I]ros\-config\f[].
|
See \f[I]ros\-config\f[R].
|
||||||
.RS
|
|
||||||
.RE
|
|
||||||
.TP
|
.TP
|
||||||
.B setup
|
.B setup
|
||||||
Run the initial setup.
|
Run the initial setup.
|
||||||
See \f[I]ros\-setup\f[].
|
See \f[I]ros\-setup\f[R].
|
||||||
.RS
|
|
||||||
.RE
|
|
||||||
.TP
|
.TP
|
||||||
.B emacs
|
.B emacs
|
||||||
Launch emacs with slime.
|
Launch emacs with slime.
|
||||||
See \f[I]ros\-emacs\f[].
|
See \f[I]ros\-emacs\f[R].
|
||||||
.RS
|
|
||||||
.RE
|
|
||||||
.TP
|
.TP
|
||||||
.B wait
|
.B wait
|
||||||
Wait forever, used for daemonizing the script.
|
Wait forever, used for daemonizing the script.
|
||||||
See \f[I]ros\-wait\f[].
|
See \f[I]ros\-wait\f[R].
|
||||||
.RS
|
|
||||||
.RE
|
|
||||||
.TP
|
.TP
|
||||||
.B delete
|
.B delete
|
||||||
Delete an installed implementation.
|
Delete an installed implementation.
|
||||||
See \f[I]ros\-delete\f[].
|
See \f[I]ros\-delete\f[R].
|
||||||
.RS
|
|
||||||
.RE
|
|
||||||
.TP
|
.TP
|
||||||
.B version
|
.B version
|
||||||
Show the roswell version information.
|
Show the roswell version information.
|
||||||
See \f[I]ros\-version\f[].
|
See \f[I]ros\-version\f[R].
|
||||||
.RS
|
|
||||||
.RE
|
|
||||||
.TP
|
.TP
|
||||||
.B help
|
.B help
|
||||||
Show the subcommand help.
|
Show the subcommand help.
|
||||||
.RS
|
|
||||||
.RE
|
|
||||||
.SH Options
|
.SH Options
|
||||||
.PP
|
.PP
|
||||||
Options are processed in left\-to\-right order.
|
Options are processed in left\-to\-right order.
|
||||||
.TP
|
.TP
|
||||||
.B \-w CODE \-\-wrap CODE
|
.B \-w CODE \[en]wrap CODE
|
||||||
Run the script with a shell wrapper CODE, e.g.
|
Run the script with a shell wrapper CODE, e.g.\ rlwrap
|
||||||
rlwrap
|
|
||||||
.RS
|
|
||||||
.RE
|
|
||||||
.TP
|
.TP
|
||||||
.B \-m IMAGE \-\-image IMAGE
|
.B \-m IMAGE \[en]image IMAGE
|
||||||
Continue from Lisp image IMAGE
|
Continue from Lisp image IMAGE
|
||||||
.RS
|
|
||||||
.RE
|
|
||||||
.TP
|
.TP
|
||||||
.B \-L NAME \-\-lisp NAME
|
.B \-L NAME \[en]lisp NAME
|
||||||
Run the script with a lisp impl NAME[/VERSION] if present, e.g.
|
Run the script with a lisp impl NAME[/VERSION] if present,
|
||||||
sbcl\-bin, sbcl/1.2.16.
|
e.g.\ sbcl\-bin, sbcl/1.2.16.
|
||||||
Fails otherwise.
|
Fails otherwise.
|
||||||
.RS
|
|
||||||
.RE
|
|
||||||
.TP
|
.TP
|
||||||
.B \-l FILE \-\-load FILE
|
.B \-l FILE \[en]load FILE
|
||||||
Load a lisp file FILE while building
|
Load a lisp file FILE while building
|
||||||
.RS
|
|
||||||
.RE
|
|
||||||
.TP
|
.TP
|
||||||
.B \-S X \-\-source\-registry X
|
.B \-S X \[en]source\-registry X
|
||||||
Override the source registry of asdf systems.
|
Override the source registry of asdf systems.
|
||||||
.RS
|
|
||||||
.RE
|
|
||||||
.TP
|
.TP
|
||||||
.B \-s SYSTEM \-\-system SYSTEM
|
.B \-s SYSTEM \[en]system SYSTEM
|
||||||
Load the asdf SYSTEM while building.
|
Load the asdf SYSTEM while building.
|
||||||
.RS
|
|
||||||
.RE
|
|
||||||
.TP
|
.TP
|
||||||
.B \-\-load\-system SYSTEM
|
.B \[en]load\-system SYSTEM
|
||||||
Same as above (buildapp compatibility)
|
Same as above (buildapp compatibility)
|
||||||
.RS
|
|
||||||
.RE
|
|
||||||
.TP
|
.TP
|
||||||
.B \-p PACKAGE \-\-package PACKAGE
|
.B \-p PACKAGE \[en]package PACKAGE
|
||||||
Change the current package to PACKAGE
|
Change the current package to PACKAGE
|
||||||
.RS
|
|
||||||
.RE
|
|
||||||
.TP
|
.TP
|
||||||
.B \-sp SP \-\-system\-package SP
|
.B \-sp SP \[en]system\-package SP
|
||||||
Combination of \-s SP and \-p SP
|
Combination of \-s SP and \-p SP
|
||||||
.RS
|
|
||||||
.RE
|
|
||||||
.TP
|
.TP
|
||||||
.B \-e FORM \-\-eval FORM
|
.B \-e FORM \[en]eval FORM
|
||||||
Evaluate FORM while building
|
Evaluate FORM while building
|
||||||
.RS
|
|
||||||
.RE
|
|
||||||
.TP
|
.TP
|
||||||
.B \-\-require MODULE
|
.B \[en]require MODULE
|
||||||
require MODULE while building
|
require MODULE while building
|
||||||
.RS
|
|
||||||
.RE
|
|
||||||
.TP
|
.TP
|
||||||
.B \-q \-\-quit
|
.B \-q \[en]quit
|
||||||
quit lisp here
|
quit lisp here
|
||||||
.RS
|
|
||||||
.RE
|
|
||||||
.TP
|
.TP
|
||||||
.B \-r FUNC \-\-restart FUNC
|
.B \-r FUNC \[en]restart FUNC
|
||||||
the build image restarts from calling FUNC
|
the build image restarts from calling FUNC
|
||||||
.RS
|
|
||||||
.RE
|
|
||||||
.TP
|
.TP
|
||||||
.B \-E FUNC \-\-entry FUNC
|
.B \-E FUNC \[en]entry FUNC
|
||||||
the build image restarts from calling (FUNC argv).
|
the build image restarts from calling (FUNC argv).
|
||||||
.RS
|
|
||||||
.RE
|
|
||||||
.TP
|
.TP
|
||||||
.B \-i FORM \-\-init FORM
|
.B \-i FORM \[en]init FORM
|
||||||
evaluate FORM after the restart.
|
evaluate FORM after the restart.
|
||||||
.RS
|
|
||||||
.RE
|
|
||||||
.TP
|
.TP
|
||||||
.B \-ip FORM \-\-print FORM
|
.B \-ip FORM \[en]print FORM
|
||||||
evaluate and princ FORM after the restart
|
evaluate and princ FORM after the restart
|
||||||
.RS
|
|
||||||
.RE
|
|
||||||
.TP
|
.TP
|
||||||
.B \-iw FORM \-\-write FORM
|
.B \-iw FORM \[en]write FORM
|
||||||
evaluate and write FORM after the restart
|
evaluate and write FORM after the restart
|
||||||
.RS
|
|
||||||
.RE
|
|
||||||
.TP
|
.TP
|
||||||
.B \-F FORM \-\-final FORM
|
.B \-F FORM \[en]final FORM
|
||||||
evaluate FORM before dumping the IMAGE
|
evaluate FORM before dumping the IMAGE
|
||||||
.RS
|
|
||||||
.RE
|
|
||||||
.TP
|
.TP
|
||||||
.B \-R \-\-rc
|
.B \-R \[en]rc
|
||||||
try to read /etc/rosrc, ~/.roswell/init.lisp
|
try to read /etc/rosrc, \[ti]/.roswell/init.lisp
|
||||||
.RS
|
|
||||||
.RE
|
|
||||||
.TP
|
.TP
|
||||||
.B +R \-\-no\-rc
|
.B +R \[en]no\-rc
|
||||||
skip /etc/rosrc, ~/.roswell/init.lisp
|
skip /etc/rosrc, \[ti]/.roswell/init.lisp
|
||||||
.RS
|
|
||||||
.RE
|
|
||||||
.TP
|
.TP
|
||||||
.B \-Q \-\-quicklisp
|
.B \-Q \[en]quicklisp
|
||||||
load quicklisp (default)
|
load quicklisp (default)
|
||||||
.RS
|
|
||||||
.RE
|
|
||||||
.TP
|
.TP
|
||||||
.B +Q \-\-no\-quicklisp
|
.B +Q \[en]no\-quicklisp
|
||||||
do not load quicklisp
|
do not load quicklisp
|
||||||
.RS
|
|
||||||
.RE
|
|
||||||
.TP
|
.TP
|
||||||
.B \-v \-\-verbose
|
.B \-v \[en]verbose
|
||||||
be quite verbose while building
|
be quite verbose while building
|
||||||
.RS
|
|
||||||
.RE
|
|
||||||
.TP
|
.TP
|
||||||
.B \-\-quiet
|
.B \[en]quiet
|
||||||
suppress output while building (default)
|
suppress output while building (default)
|
||||||
.RS
|
|
||||||
.RE
|
|
||||||
.TP
|
.TP
|
||||||
.B \-\-test
|
.B \[en]test
|
||||||
for test purpose
|
for test purpose
|
||||||
.RS
|
|
||||||
.RE
|
|
||||||
.TP
|
.TP
|
||||||
.B dynamic\-space\-size=[size in MB]
|
.B dynamic\-space\-size=[size in MB]
|
||||||
SBCL specific.
|
SBCL specific.
|
||||||
The argument is passed to SBCL by \f[C]\-\-dynamic\-space\-size\f[]
|
The argument is passed to SBCL by \f[C]\-\-dynamic\-space\-size\f[R]
|
||||||
.RS
|
|
||||||
.RE
|
|
||||||
.SH Environmental Variables
|
.SH Environmental Variables
|
||||||
.TP
|
.TP
|
||||||
.B ROSWELL_HOME
|
.B ROSWELL_HOME
|
||||||
Specifies the home directory of roswell, defaulted to $HOME on Unix
|
Specifies the home directory of roswell, defaulted to $HOME on Unix
|
||||||
platform .
|
platform .
|
||||||
.RS
|
|
||||||
.RE
|
|
||||||
.SH Bugs
|
.SH Bugs
|
||||||
.PP
|
.PP
|
||||||
Check out issues list (https://github.com/roswell/roswell/issues)
|
Check out issues list (https://github.com/roswell/roswell/issues)
|
||||||
.SH SEE ALSO
|
.SH SEE ALSO
|
||||||
.PP
|
.PP
|
||||||
\f[I]sbcl\f[](1) \f[I]ros\-dump\f[](1) \f[I]ros\-init\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[](1) \f[I]ros\-list\f[](1) \f[I]ros\-setup\f[](1)
|
\f[I]ros\-install\f[R](1) \f[I]ros\-list\f[R](1) \f[I]ros\-setup\f[R](1)
|
||||||
.SH AUTHORS
|
.SH AUTHORS
|
||||||
Roswell Project Team.
|
Roswell Project Team.
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,12 @@
|
||||||
|
% ros-asdf(1)
|
||||||
|
% Roswell Project Team
|
||||||
|
% January 2022
|
||||||
|
|
||||||
|
# NAME
|
||||||
|
|
||||||
ros-asdf -
|
ros-asdf -
|
||||||
# synopsis
|
|
||||||
|
# SYNOPSIS
|
||||||
|
|
||||||
**ros [options] asdf [subcommand]**
|
**ros [options] asdf [subcommand]**
|
||||||
|
|
||||||
|
|
@ -10,9 +16,9 @@ ros-asdf -
|
||||||
|
|
||||||
<!-- : description. end with a period. -->
|
<!-- : 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 -->
|
<!-- # options -->
|
||||||
<!-- -->
|
<!-- -->
|
||||||
|
|
|
||||||
35
documents/ros-client.md
Normal file
35
documents/ros-client.md
Normal file
|
|
@ -0,0 +1,35 @@
|
||||||
|
ros-client - one-shot connect to remote repl.
|
||||||
|
|
||||||
|
# synopsis
|
||||||
|
|
||||||
|
**ros client** protocol [options for the protocol ...] ...
|
||||||
|
|
||||||
|
<!-- # subcommands -->
|
||||||
|
<!-- somecommand -->
|
||||||
|
|
||||||
|
<!-- : description. end with a period. -->
|
||||||
|
|
||||||
|
# description
|
||||||
|
|
||||||
|
`ros-client` send message to lisp server and wait for message sent back.
|
||||||
|
|
||||||
|
# swank protocol options
|
||||||
|
|
||||||
|
`--port port`
|
||||||
|
|
||||||
|
: set server `port` to connect. default port 4005.
|
||||||
|
|
||||||
|
`--interface interface`
|
||||||
|
|
||||||
|
: interface for connect. default is `localhost`.
|
||||||
|
|
||||||
|
-e FORM --eval FORM
|
||||||
|
|
||||||
|
: Evaluate FORM while building
|
||||||
|
|
||||||
|
<!-- # options -->
|
||||||
|
<!-- -->
|
||||||
|
<!-- # Environmental Variables -->
|
||||||
|
|
||||||
|
# SEE ALSO
|
||||||
|
_ros_(1) _ros-serve_(1)
|
||||||
|
|
@ -8,13 +8,13 @@ ros-config - get and set options
|
||||||
|
|
||||||
Without any arguments, it shows all variables and it's value.
|
Without any arguments, it shows all variables and it's value.
|
||||||
|
|
||||||
show VAR
|
show TARGET
|
||||||
|
|
||||||
: set the VALUE to the TARGET.
|
: show TARGET.
|
||||||
|
|
||||||
|
|
||||||
set VAR VALUE
|
set TARGET VALUE
|
||||||
|
|
||||||
: set the VALUE to the TARGET.
|
: set the VALUE to the TARGET.
|
||||||
|
|
||||||
<!-- # options -->
|
<!-- # options -->
|
||||||
|
|
|
||||||
31
documents/ros-serve.md
Normal file
31
documents/ros-serve.md
Normal file
|
|
@ -0,0 +1,31 @@
|
||||||
|
ros-serve - start lisp server
|
||||||
|
|
||||||
|
# Synopsis
|
||||||
|
|
||||||
|
**ros [options for roswell ... ] serve** protocol [options for the protocol ...] ...
|
||||||
|
|
||||||
|
<!-- # subcommands -->
|
||||||
|
<!-- somecommand -->
|
||||||
|
|
||||||
|
<!-- : description. end with a period. -->
|
||||||
|
|
||||||
|
# description
|
||||||
|
|
||||||
|
`ros-serve` start lisp and wait for clients to connect to the lisp.
|
||||||
|
|
||||||
|
# swank protocol options
|
||||||
|
|
||||||
|
`--port port`
|
||||||
|
|
||||||
|
: Listen port would be `port` instead of the default port 4005.
|
||||||
|
|
||||||
|
`--interface interface`
|
||||||
|
|
||||||
|
: limit interface for listen. default is `localhost` so there would be no limitation.
|
||||||
|
|
||||||
|
<!-- # options -->
|
||||||
|
<!-- -->
|
||||||
|
<!-- # Environmental Variables -->
|
||||||
|
|
||||||
|
# SEE ALSO
|
||||||
|
_ros_(1) _ros-client_(1)
|
||||||
|
|
@ -34,6 +34,10 @@ edit [template-name] [files ...]
|
||||||
|
|
||||||
: Edit content of files in template using `/usr/bin/editor`.
|
: 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 ...]
|
rm [template-name] [files ...]
|
||||||
|
|
||||||
: Remove file form current template.
|
: Remove file form current template.
|
||||||
|
|
|
||||||
|
|
@ -27,10 +27,16 @@
|
||||||
(loop repeat 4
|
(loop repeat 4
|
||||||
for line = (read-line in)
|
for line = (read-line in)
|
||||||
when (ignore-errors (string= line "exec" :end1 4))
|
when (ignore-errors (string= line "exec" :end1 4))
|
||||||
do (setf opts (parse-argv line))))
|
do (setf opts (parse-argv line))))
|
||||||
(roswell:roswell `(,@(when (roswell:verbose) '("-v"))
|
(let ((impl (or (ros:opt "*lisp")
|
||||||
,@impl-argv
|
(ros:opt "default.lisp"))))
|
||||||
,opts "-L" ,(or (ros:opt "*lisp")
|
(roswell:roswell `(,@(when (roswell:verbose) '("-v"))
|
||||||
(ros:opt "default.lisp"))
|
,@impl-argv
|
||||||
|
,@(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))
|
"dump" ,@dump-argv "executable" ,(first argv))
|
||||||
:interactive nil)))
|
:interactive nil))))
|
||||||
|
|
|
||||||
52
lisp/client-swank.lisp
Normal file
52
lisp/client-swank.lisp
Normal file
|
|
@ -0,0 +1,52 @@
|
||||||
|
(roswell:include "util")
|
||||||
|
(defpackage :roswell.client.swank
|
||||||
|
(:use :cl :roswell.util))
|
||||||
|
(in-package :roswell.client.swank)
|
||||||
|
(ql:quickload "swank-protocol" :silent t)
|
||||||
|
|
||||||
|
(defun swank-wait (connection)
|
||||||
|
(loop for msg = (swank-protocol:read-message connection)
|
||||||
|
do (cond ((find (first msg) '(:indentation-update :return :presentation-end)) :ignore)
|
||||||
|
((eql (first msg) :new-package)
|
||||||
|
(setf (swank-protocol:connection-package connection) (second msg)))
|
||||||
|
((eql (first msg) :presentation-start)
|
||||||
|
(format *error-output* "=> ")
|
||||||
|
(force-output *error-output*))
|
||||||
|
((eql (first msg) :debug-activate)
|
||||||
|
(roswell:quit 1))
|
||||||
|
((eql (first msg) :write-string)
|
||||||
|
(format t "~A" (second msg))
|
||||||
|
(force-output))
|
||||||
|
(t (print msg *error-output*)))
|
||||||
|
until (find (first msg) '(:return :debug-activate))))
|
||||||
|
|
||||||
|
(defun swank (&rest r)
|
||||||
|
(let ((port 4005)
|
||||||
|
(interface "localhost")
|
||||||
|
(eval))
|
||||||
|
(loop for (var val) on (cdr r) by #'cddr
|
||||||
|
do (cond ((equal var "--port")
|
||||||
|
(setf port (parse-integer val)))
|
||||||
|
((equal var "--interface")
|
||||||
|
(setf interface val))
|
||||||
|
((or (equal var "--eval")
|
||||||
|
(equal var "-e"))
|
||||||
|
(push (cons :eval val) eval))))
|
||||||
|
(let* ((connection (swank-protocol:make-connection
|
||||||
|
interface
|
||||||
|
port)))
|
||||||
|
(swank-protocol:connect connection)
|
||||||
|
(swank-protocol:request-swank-require
|
||||||
|
connection
|
||||||
|
'(:swank-presentations :swank-repl))
|
||||||
|
(swank-wait connection)
|
||||||
|
(swank-protocol:request-init-presentations connection)
|
||||||
|
(swank-wait connection)
|
||||||
|
(swank-protocol:request-create-repl connection)
|
||||||
|
(swank-wait connection)
|
||||||
|
(loop for i in (nreverse eval)
|
||||||
|
do (swank-protocol:request-listener-eval
|
||||||
|
connection
|
||||||
|
(case (first i)
|
||||||
|
(:eval (rest i))))
|
||||||
|
(swank-wait connection)))))
|
||||||
26
lisp/client.ros
Normal file
26
lisp/client.ros
Normal file
|
|
@ -0,0 +1,26 @@
|
||||||
|
#!/bin/sh
|
||||||
|
#|-*- mode:lisp -*-|#
|
||||||
|
#|
|
||||||
|
exec ros +R +Q +A -m roswell -N roswell -- $0 "$@"
|
||||||
|
|#
|
||||||
|
(progn ;;init forms
|
||||||
|
(ros:ensure-asdf)
|
||||||
|
#+quicklisp(ql:quickload '() :silent t)
|
||||||
|
(roswell:include '("util-main" "system"))
|
||||||
|
)
|
||||||
|
|
||||||
|
(defpackage :ros.script.client.3837302398
|
||||||
|
(:use :cl :roswell.util :roswell.util.main))
|
||||||
|
(in-package :ros.script.client.3837302398)
|
||||||
|
|
||||||
|
(defmacro preload-client-subsystems ()
|
||||||
|
`(progn ,@(loop for s in (directory (merge-pathnames "client-*.lisp" (ros:opt "lispdir")))
|
||||||
|
collect `(system ,(pathname-name s)))))
|
||||||
|
#+nil(preload-client-subsystems)
|
||||||
|
|
||||||
|
(defun main (&rest argv)
|
||||||
|
(module-main argv
|
||||||
|
:default "default"
|
||||||
|
:usage "default")
|
||||||
|
)
|
||||||
|
;;; vim: set ft=lisp lisp:
|
||||||
|
|
@ -126,10 +126,14 @@ IR1 (deftransform), IR2 (VOP) information in the infodb."
|
||||||
(setf (sb-impl::package-%shadowing-symbols package) nil)
|
(setf (sb-impl::package-%shadowing-symbols package) nil)
|
||||||
(format t ".")
|
(format t ".")
|
||||||
(setf (sb-impl::package-internal-symbols package)
|
(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 ".")
|
(format t ".")
|
||||||
(setf (sb-impl::package-external-symbols package)
|
(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 ".")
|
(format t ".")
|
||||||
(setf (sb-impl::package-tables package) #())
|
(setf (sb-impl::package-tables package) #())
|
||||||
(format t ".")
|
(format t ".")
|
||||||
|
|
|
||||||
|
|
@ -33,33 +33,44 @@
|
||||||
|
|
||||||
(defun roswell-installed-system-name (system-name)
|
(defun roswell-installed-system-name (system-name)
|
||||||
;; should return repo part of system-name.
|
;; should return repo part of system-name.
|
||||||
;; "user//repo" "user//repo/branch" "git://bra/bra/bra/repo.git" "github://user/repo"
|
;; "user:repo[:branch or tag][/subsystem/name]" "git://bra/bra/bra/repo.git" "github://user/repo"
|
||||||
(when (find "" (split-sequence #\/ system-name) :test 'equal) ;; found "//"
|
(let ((split (split-sequence #\: system-name)))
|
||||||
(if (find #\: system-name)
|
(when (rest split) ;; found ":"
|
||||||
(values nil "not implemented yet") ;; TBD
|
(if (ignore-errors (and (eql (aref (second split) 0) #\/)
|
||||||
(second (remove "" (split-sequence #\/ system-name) :test 'equal)))))
|
(eql (aref (second split) 1) #\/)))
|
||||||
|
(values nil "not implemented yet") ;; TBD
|
||||||
|
(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)
|
(defun roswell-installable-searcher (system-name)
|
||||||
(let ((name (roswell-installed-system-name system-name))
|
(multiple-value-bind (name func)
|
||||||
pname)
|
(roswell-installed-system-name system-name)
|
||||||
(and
|
(and
|
||||||
name
|
name
|
||||||
(not (when (setf pname (read-call "asdf/find-system::primary-system-name" system-name))
|
(not (equal name system-name))
|
||||||
(asdf:find-system pname nil)))
|
(let ((result
|
||||||
(prog1
|
(or (ignore-errors (asdf:find-system name))
|
||||||
(or (quicklisp-client:local-projects-searcher name)
|
(progn
|
||||||
(unless (find system-name (loop for ar = (ros:getenv "ROSINSTALL") then (subseq ar (1+ p))
|
(funcall func system-name)
|
||||||
for p = (position #\, ar)
|
(local-project-build-hash :rebuild t)
|
||||||
for arg = (if p (subseq ar 0 p) ar)
|
(asdf:find-system name))
|
||||||
collect arg
|
(return-from roswell-installable-searcher)))) ;;can't find.
|
||||||
while p)
|
(when result
|
||||||
:test 'equal)
|
(let ((*load-pathname* nil))
|
||||||
(roswell:roswell `("install" ,system-name))
|
(eval `(asdf:defsystem ,system-name
|
||||||
(quicklisp-client:register-local-projects)
|
:depends-on (,name)))))
|
||||||
(quicklisp-client:local-projects-searcher name))
|
result))))
|
||||||
(return-from roswell-installable-searcher)) ;;can't find.
|
|
||||||
(eval `(asdf:defsystem ,system-name :depends-on (,name))))
|
|
||||||
(asdf:find-system system-name))))
|
|
||||||
|
|
||||||
(defun local-project-enum (path)
|
(defun local-project-enum (path)
|
||||||
(let ((sub (remove-if (lambda (x)
|
(let ((sub (remove-if (lambda (x)
|
||||||
|
|
|
||||||
71
lisp/fmt.ros
71
lisp/fmt.ros
|
|
@ -5,17 +5,30 @@ exec ros -Q -N roswell -- $0 "$@"
|
||||||
|#
|
|#
|
||||||
(progn ;;init forms
|
(progn ;;init forms
|
||||||
(ros:ensure-asdf)
|
(ros:ensure-asdf)
|
||||||
#+quicklisp
|
#+sbcl (require "sb-introspect")
|
||||||
(progn
|
#+quicklisp (ql:quickload '("cl-indentify") :silent t))
|
||||||
(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)))
|
|
||||||
|
|
||||||
(defpackage :ros.script.fmt.3707812168
|
(defpackage :ros.script.fmt.3707812168
|
||||||
(:use :cl))
|
(:use :cl))
|
||||||
(in-package :ros.script.fmt.3707812168)
|
(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)
|
(defun system (path)
|
||||||
(let ((* (when (and (probe-file path)
|
(let ((* (when (and (probe-file path)
|
||||||
(equal (pathname-type path) "asd"))
|
(equal (pathname-type path) "asd"))
|
||||||
|
|
@ -37,15 +50,39 @@ exec ros -Q -N roswell -- $0 "$@"
|
||||||
(list c)))))
|
(list c)))))
|
||||||
(when *
|
(when *
|
||||||
(ql:quickload * :silent (not (ros:verbose)))
|
(ql:quickload * :silent (not (ros:verbose)))
|
||||||
(lem-lisp-syntax.indent:indentation-update)
|
(register-macro-templates)
|
||||||
(r (asdf:find-system *))))))
|
(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)
|
(defun main (&rest argv)
|
||||||
"go fmt like something"
|
"go fmt like something"
|
||||||
|
(indentify:load-default-templates)
|
||||||
|
(register-standard-templates)
|
||||||
(dolist (arg (if argv
|
(dolist (arg (if argv
|
||||||
(prog1 (loop for arg in argv
|
(loop for arg in argv
|
||||||
append (or (system arg) (list arg)))
|
append (or (system arg) (list arg)))
|
||||||
(lem-lisp-syntax:indentation-update))
|
|
||||||
(ignore-errors
|
(ignore-errors
|
||||||
(let* ((name (first (last (pathname-directory *default-pathname-defaults*))))
|
(let* ((name (first (last (pathname-directory *default-pathname-defaults*))))
|
||||||
(path (probe-file (make-pathname :name name :type "asd"))))
|
(path (probe-file (make-pathname :name name :type "asd"))))
|
||||||
|
|
@ -53,18 +90,6 @@ exec ros -Q -N roswell -- $0 "$@"
|
||||||
(append (directory "*.lisp")
|
(append (directory "*.lisp")
|
||||||
(directory "*.ros")))))))
|
(directory "*.ros")))))))
|
||||||
(if (probe-file arg)
|
(if (probe-file arg)
|
||||||
(let ((buffer (lem-base:find-file-buffer arg)))
|
(format-file 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 *error-output* "~A does not exist" arg))))
|
(format *error-output* "~A does not exist" arg))))
|
||||||
;;; vim: set ft=lisp lisp:
|
;;; vim: set ft=lisp lisp:
|
||||||
|
|
|
||||||
|
|
@ -17,7 +17,7 @@
|
||||||
(mapcar #'usage
|
(mapcar #'usage
|
||||||
'("Usage:"
|
'("Usage:"
|
||||||
""
|
""
|
||||||
"To install a new Lisp implementaion:"
|
"To install a new Lisp implementation:"
|
||||||
" ~A install impl [options]"
|
" ~A install impl [options]"
|
||||||
"or a system from the GitHub:"
|
"or a system from the GitHub:"
|
||||||
" ~A install fukamachi/prove/v2.0.0 [repository... ]"
|
" ~A install fukamachi/prove/v2.0.0 [repository... ]"
|
||||||
|
|
@ -30,6 +30,7 @@
|
||||||
""
|
""
|
||||||
"For more details on impl specific options, type:"
|
"For more details on impl specific options, type:"
|
||||||
" ~A help install impl"
|
" ~A help install impl"
|
||||||
|
"e.g.: ~A help install sbcl"
|
||||||
""
|
""
|
||||||
""
|
""
|
||||||
"Candidates impls for installation are:")))
|
"Candidates impls for installation are:")))
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,4 @@
|
||||||
|
;; -*- lexical-binding: nil; -*-
|
||||||
(defun roswell-configdir ()
|
(defun roswell-configdir ()
|
||||||
(substring (shell-command-to-string "ros roswell-internal-use version confdir") 0 -1))
|
(substring (shell-command-to-string "ros roswell-internal-use version confdir") 0 -1))
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -160,49 +160,62 @@ have the latest asdf, and this file has a workaround for this.
|
||||||
(ext:run-shell-command (format nil "~{~A~^ ~}" args))))))
|
(ext:run-shell-command (format nil "~{~A~^ ~}" args))))))
|
||||||
|
|
||||||
(defun exec (args)
|
(defun exec (args)
|
||||||
#+(and unix sbcl)
|
#+(and unix sbcl
|
||||||
|
(not haiku))
|
||||||
(execvp (first args) args)
|
(execvp (first args) args)
|
||||||
#+(and unix ccl)
|
#+(and unix ccl)
|
||||||
(ignore-errors
|
(ignore-errors
|
||||||
(ccl:with-string-vector (argv args) (ccl::%execvp argv)))
|
(ccl:with-string-vector (argv args) (ccl::%execvp argv)))
|
||||||
(quit (run-program args :output :interactive)))
|
(quit (run-program args :output :interactive)))
|
||||||
|
|
||||||
(defun quicklisp (&key path (environment "QUICKLISP_HOME"))
|
(defun quicklisp (&key path (environment "QUICKLISP_HOME")
|
||||||
|
&aux (is-quicklisp-already-available
|
||||||
|
(find :quicklisp *features*)))
|
||||||
"Corresponds to -Q command. Finds and loads setup.lisp for quicklisp, and adds appropriate local-project paths."
|
"Corresponds to -Q command. Finds and loads setup.lisp for quicklisp, and adds appropriate local-project paths."
|
||||||
(unless (find :quicklisp *features*)
|
|
||||||
(let ((path (make-pathname
|
(cond
|
||||||
:name "setup"
|
(is-quicklisp-already-available
|
||||||
:type "lisp"
|
(unless (equal (ignore-errors (truename (pathname (opt "quicklisp"))))
|
||||||
:defaults (or path
|
(ignore-errors (truename (symbol-value (read-from-string "ql:*quicklisp-home*")))))
|
||||||
(and environment (getenv environment))
|
(setf *local-project-directories*
|
||||||
(opt "quicklisp"))))
|
(copy-list
|
||||||
(local (ignore-errors
|
(symbol-value (read-from-string "ql:*local-project-directories*")))))
|
||||||
|
;; In this case we have to return nil
|
||||||
|
(values nil))
|
||||||
|
(t ;; If quicklisp is not loaded yet:
|
||||||
|
(let ((path (make-pathname
|
||||||
|
:name "setup"
|
||||||
|
:type "lisp"
|
||||||
|
:defaults (or path
|
||||||
|
(and environment (getenv environment))
|
||||||
|
(opt "quicklisp"))))
|
||||||
|
(local (ignore-errors
|
||||||
(truename
|
(truename
|
||||||
(merge-pathnames
|
(merge-pathnames
|
||||||
".roswell/local-projects/"
|
".roswell/local-projects/"
|
||||||
*default-pathname-defaults*)))))
|
*default-pathname-defaults*)))))
|
||||||
(when (probe-file path)
|
(when (probe-file path)
|
||||||
(cl:load path :verbose (verbose))
|
(cl:load path :verbose (verbose))
|
||||||
(unless (getenv environment)
|
(unless (getenv environment)
|
||||||
(loop
|
(loop
|
||||||
;; *local-project-directories* defaults to a list of a single pathname,
|
;; *local-project-directories* defaults to a list of a single pathname,
|
||||||
;; which is <directory containing setup.lisp>/local-projects/ .
|
;; which is <directory containing setup.lisp>/local-projects/ .
|
||||||
for path in `(;; Searches local-project/ in the current directory
|
for path in `(;; Searches local-project/ in the current directory
|
||||||
,local
|
,local
|
||||||
;; Searches relative path from env path
|
;; Searches relative path from env path
|
||||||
,(ignore-errors
|
,(ignore-errors
|
||||||
(truename
|
(truename
|
||||||
(merge-pathnames
|
(merge-pathnames
|
||||||
"../../../local-projects/"
|
"../../../local-projects/"
|
||||||
(first (symbol-value (read-from-string "ql:*local-project-directories*"))))))
|
(first (symbol-value (read-from-string "ql:*local-project-directories*"))))))
|
||||||
;; Searches local-project/ in e.g. ~/.roswell/
|
;; Searches local-project/ in e.g. ~/.roswell/
|
||||||
,(ensure-directories-exist (merge-pathnames "local-projects/" (opt "homedir"))))
|
,(ensure-directories-exist (merge-pathnames "local-projects/" (opt "homedir"))))
|
||||||
for probe = (and path (or (ignore-errors (probe-file path))
|
for probe = (and path (or (ignore-errors (probe-file path))
|
||||||
#+clisp(ext:probe-directory path)))
|
#+clisp(ext:probe-directory path)))
|
||||||
when probe
|
when probe
|
||||||
do (push path *local-project-directories*)
|
do (push path *local-project-directories*)
|
||||||
until probe))
|
until probe))
|
||||||
t))))
|
t)))))
|
||||||
|
|
||||||
(defvar *included-names* '("init"))
|
(defvar *included-names* '("init"))
|
||||||
(defparameter *include-path* (or #.*compile-file-pathname* *load-pathname*))
|
(defparameter *include-path* (or #.*compile-file-pathname* *load-pathname*))
|
||||||
|
|
@ -296,13 +309,25 @@ As a hacky side effect, files with the same name as PROVIDE is not loaded.
|
||||||
(or *version-cache*
|
(or *version-cache*
|
||||||
(setf *version-cache* (roswell '("roswell-internal-use" "version") :string t)))))
|
(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
|
#+sbcl
|
||||||
(when (ignore-errors (string-equal (opt "impl") "sbcl-bin" :end1 8))
|
(when (ignore-errors (string-equal (opt "impl") "sbcl-bin" :end1 8))
|
||||||
(flet ((source (version)
|
(flet ((source (version)
|
||||||
(let ((path (merge-pathnames (format nil "src/sbcl-~A/" version) (opt "homedir"))))
|
(let ((path (merge-pathnames (format nil "src/sbcl-~A/" version) (opt "homedir"))))
|
||||||
(when (probe-file path)
|
(when (probe-file path)
|
||||||
(sb-ext:set-sbcl-source-location path)))))
|
(sb-ext:set-sbcl-source-location path)))))
|
||||||
(or (source (lisp-implementation-version))
|
(or (source (implementation-version))
|
||||||
(source "git"))))
|
(source "git"))))
|
||||||
|
|
||||||
(defun source-registry (arg &rest rest)
|
(defun source-registry (arg &rest rest)
|
||||||
|
|
@ -421,7 +446,8 @@ As a hacky side effect, files with the same name as PROVIDE is not loaded.
|
||||||
(with-open-file (in arg)
|
(with-open-file (in arg)
|
||||||
(body in)))
|
(body in)))
|
||||||
(*latest-system* (apply 'hook (cons arg *argv*)))
|
(*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)
|
(defun stdin (arg &rest rest)
|
||||||
(declare (ignorable arg rest))
|
(declare (ignorable arg rest))
|
||||||
|
|
|
||||||
|
|
@ -9,8 +9,21 @@
|
||||||
(defvar *msys2-arch*)
|
(defvar *msys2-arch*)
|
||||||
(defvar *msys2-bits*)
|
(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 ()
|
(defun msys2-get-version ()
|
||||||
'("20180531"))
|
'("20230127"))
|
||||||
|
|
||||||
;;sha1 "309f604a165179d50fbe4131cf87bd160769f974"
|
;;sha1 "309f604a165179d50fbe4131cf87bd160769f974"
|
||||||
;;(ironclad:byte-array-to-hex-string (ironclad:digest-file :sha1 path))
|
;;(ironclad:byte-array-to-hex-string (ironclad:digest-file :sha1 path))
|
||||||
|
|
||||||
|
|
@ -33,9 +46,12 @@
|
||||||
(when (or (not (probe-file path))
|
(when (or (not (probe-file path))
|
||||||
(opt "download.force"))
|
(opt "download.force"))
|
||||||
(download
|
(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-uri)
|
||||||
*msys2-arch* *msys2-arch* (getf argv :version))
|
(msys2-get-release
|
||||||
|
(getf argv :version))
|
||||||
|
*msys2-arch*
|
||||||
|
(getf argv :version))
|
||||||
path))
|
path))
|
||||||
(format t " done.~%")
|
(format t " done.~%")
|
||||||
(expand path
|
(expand path
|
||||||
|
|
@ -67,11 +83,10 @@
|
||||||
"make zlib-devel"))
|
"make zlib-devel"))
|
||||||
:output t
|
:output t
|
||||||
:error-output t))
|
:error-output t))
|
||||||
|
|
||||||
(uiop/run-program:run-program
|
(uiop/run-program:run-program
|
||||||
`(,(uiop:native-namestring (merge-pathnames "autorebase.bat" msys)))
|
`(,(uiop:native-namestring (merge-pathnames "autorebase.bat" msys)))
|
||||||
:output t
|
:output t
|
||||||
:error-output t)
|
:error-output t)
|
||||||
(setf (config "msys2.version") (getf argv :version)))))
|
(setf (config "msys2.version") (getf argv :version)))))
|
||||||
(cons t argv))
|
(cons t argv))
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -11,10 +11,10 @@
|
||||||
(let ((file (merge-pathnames "tmp/abcl-bin.html" (homedir))))
|
(let ((file (merge-pathnames "tmp/abcl-bin.html" (homedir))))
|
||||||
(format *error-output* "Checking version to install....~%")
|
(format *error-output* "Checking version to install....~%")
|
||||||
(download (abcl-bin-uri) file)
|
(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")
|
(plump:parse file) "a")
|
||||||
for x = (string-right-trim "/" (plump:get-attribute a "href"))
|
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)))))
|
collect x)))))
|
||||||
|
|
||||||
(defun abcl-bin-impl ()
|
(defun abcl-bin-impl ()
|
||||||
|
|
|
||||||
|
|
@ -8,26 +8,50 @@
|
||||||
(mapcar #'car *allegro-agreement-uri*))
|
(mapcar #'car *allegro-agreement-uri*))
|
||||||
|
|
||||||
(defun make-allegro-uri (argv &key
|
(defun make-allegro-uri (argv &key
|
||||||
(uname (uname))
|
(uname (uname))
|
||||||
(uname-m (uname-m))
|
(uname-m (uname-m))
|
||||||
(version (getf argv :version)))
|
(version (getf argv :version)))
|
||||||
(let ((os (intern uname :keyword))
|
(let ((os (intern uname :keyword))
|
||||||
(machine (intern uname-m :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~}"
|
(format nil "~@{~A~}"
|
||||||
(allegro-uri) "ftp/pub/acl" version "/"
|
(allegro-uri) "ftp/pub/acl" version "/"
|
||||||
(case os (:|darwin| "macosx") (t os))
|
(ecase os
|
||||||
(if (eql os :|windows|) ""
|
(:|linux| (ecase machine
|
||||||
(case machine (:|x86| 86) (:|x86-64| 86)))
|
(:|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
|
"/acl" version
|
||||||
(case os (:|linux| "-linux") (:|darwin| "-macosx") (:|windows| "") (t os))
|
(ecase os
|
||||||
"-" (case machine (:|x86-64| "x86") (t machine))
|
(:|linux| (format nil "~@{~A~}"
|
||||||
(case os
|
"-linux-"
|
||||||
(:|linux| (cond ((equal "10.1express" version) ".tbz2")
|
(ecase machine
|
||||||
((equal "100express" version) ".bz2")))
|
(:|x86-64| "x64")
|
||||||
(:|darwin| ".dmg")
|
(:|arm64| "aarch64")
|
||||||
(:|windows| ".exe"))))
|
(:|x86| "x86"))
|
||||||
((equal "101b" version)))))
|
(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)
|
(defun allegro-argv-parse (argv)
|
||||||
(format *error-output* "~&Installing allegro/~A...~%" (getf argv :version))
|
(format *error-output* "~&Installing allegro/~A...~%" (getf argv :version))
|
||||||
|
|
@ -54,7 +78,7 @@
|
||||||
(uiop:run-program
|
(uiop:run-program
|
||||||
(format nil "hdiutil attach ~A | awk -F '\t' 'END{print $NF}'" (opt "download.archive"))
|
(format nil "hdiutil attach ~A | awk -F '\t' 'END{print $NF}'" (opt "download.archive"))
|
||||||
:output :string))))
|
:output :string))))
|
||||||
(uiop:run-program (format nil "cp -r \"~A/AllegroCLexpress.app/Contents/Resources/\" \"~A\""
|
(uiop:run-program (format nil "cp -r \"~A/AllegroCL64express.app/Contents/Resources/\" \"~A\""
|
||||||
mount-dir
|
mount-dir
|
||||||
(ensure-directories-exist (merge-pathnames (format nil "~A/" (opt "as")) impls))))
|
(ensure-directories-exist (merge-pathnames (format nil "~A/" (opt "as")) impls))))
|
||||||
(uiop:run-program (format nil "hdiutil detach \"~A\"" mount-dir))))
|
(uiop:run-program (format nil "hdiutil detach \"~A\"" mount-dir))))
|
||||||
|
|
@ -64,7 +88,9 @@
|
||||||
(uiop/filesystem:delete-directory-tree
|
(uiop/filesystem:delete-directory-tree
|
||||||
path :validate t))
|
path :validate t))
|
||||||
(ql-impl-util:rename-directory
|
(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))))
|
(merge-pathnames (format nil "~A/" (opt "as")) impls))))
|
||||||
(cons t argv)))
|
(cons t argv)))
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -32,7 +32,7 @@
|
||||||
(let* ((src (merge-pathnames (format nil "asdf-~A/" version) src))
|
(let* ((src (merge-pathnames (format nil "asdf-~A/" version) src))
|
||||||
(cmd (list (sh) "-lc" (format nil "cd ~S;~A"
|
(cmd (list (sh) "-lc" (format nil "cd ~S;~A"
|
||||||
(#+win32 mingw-namestring #-win32 princ-to-string src)
|
(#+win32 mingw-namestring #-win32 princ-to-string src)
|
||||||
"make"))))
|
(make)))))
|
||||||
(uiop/os:chdir src)
|
(uiop/os:chdir src)
|
||||||
(format t "~&chdir ~A~%" src)
|
(format t "~&chdir ~A~%" src)
|
||||||
(uiop/run-program:run-program cmd :output t :ignore-error-status nil)
|
(uiop/run-program:run-program cmd :output t :ignore-error-status nil)
|
||||||
|
|
|
||||||
70
lisp/install-clasp-bin.lisp
Normal file
70
lisp/install-clasp-bin.lisp
Normal file
|
|
@ -0,0 +1,70 @@
|
||||||
|
(roswell:include "util-install-quicklisp")
|
||||||
|
(defpackage :roswell.install.clasp-bin
|
||||||
|
(:use :cl :roswell.install :roswell.util :roswell.locations))
|
||||||
|
(in-package :roswell.install.clasp-bin)
|
||||||
|
|
||||||
|
(defun clasp-bin-get-version ()
|
||||||
|
(format *error-output* "Checking version to install...~%")
|
||||||
|
(cddr (github-version (clasp-git-version-uri)
|
||||||
|
"clasp"
|
||||||
|
(lambda (href) (subseq href (1+ (position #\/ href :from-end t)))))))
|
||||||
|
|
||||||
|
(defun clasp-bin-argv-parse (argv)
|
||||||
|
(format *error-output* "~&Installing clasp-bin/~A...~%" (getf argv :version))
|
||||||
|
(when (position "--without-install" (getf argv :argv) :test 'equal)
|
||||||
|
(set-opt "without-install" t))
|
||||||
|
(cons t argv))
|
||||||
|
|
||||||
|
(defun clasp-bin-download (argv)
|
||||||
|
(let* ((uname (uname))
|
||||||
|
(version (getf argv :version))
|
||||||
|
(name (format nil "~@{~A~}" "clasp-" version "-x86-64-" uname)))
|
||||||
|
(set-opt "as" version)
|
||||||
|
(set-opt "download.uri" (or (opt "download.uri")
|
||||||
|
(format nil "~@{~A~}" (clasp-bin-uri)
|
||||||
|
version "/" name "-binary" ".tar.gz")))
|
||||||
|
(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 clasp-bin-expand (argv)
|
||||||
|
(format t "~%Extracting archive:~A~%" (opt "download.archive"))
|
||||||
|
(let* ((impls (merge-pathnames (format nil "impls/~A/~A/clasp-bin/" (uname-m) (uname)) (homedir)))
|
||||||
|
(path (merge-pathnames (format nil "~A/" (opt "as")) impls))
|
||||||
|
(version (getf argv :version))
|
||||||
|
(uname (uname)))
|
||||||
|
(expand (opt "download.archive") (ensure-directories-exist impls))
|
||||||
|
(and (probe-file path)
|
||||||
|
(uiop/filesystem:delete-directory-tree
|
||||||
|
path :validate t))
|
||||||
|
(ql-impl-util:rename-directory
|
||||||
|
(merge-pathnames (format nil "~@{~A~}" "clasp-" version "-x86-64-" uname "/") impls)
|
||||||
|
(merge-pathnames (opt "as") impls)))
|
||||||
|
(cons t argv))
|
||||||
|
|
||||||
|
(defun clasp-bin-help (argv)
|
||||||
|
(format t "clasp-bin install options~%")
|
||||||
|
(flet ((fmt (param default more)
|
||||||
|
(format t "--~A~A ~A~%~5T~A~%"
|
||||||
|
(cond ((eql default t) "without-")
|
||||||
|
((null default) "with-")
|
||||||
|
(t ""))
|
||||||
|
param
|
||||||
|
(or (and (not (null default))
|
||||||
|
(not (eql default t))
|
||||||
|
default)
|
||||||
|
"")
|
||||||
|
more)))
|
||||||
|
(fmt "install" t "Download archive"))
|
||||||
|
(cons t argv))
|
||||||
|
|
||||||
|
(defun clasp-bin (type)
|
||||||
|
(case type
|
||||||
|
(:help '(clasp-bin-help))
|
||||||
|
(:install `(,(decide-version 'clasp-bin-get-version)
|
||||||
|
clasp-bin-argv-parse
|
||||||
|
,(decide-download 'clasp-bin-download)
|
||||||
|
clasp-bin-expand
|
||||||
|
setup))
|
||||||
|
(:list 'clasp-bin-get-version)))
|
||||||
99
lisp/install-clisp-head.lisp
Normal file
99
lisp/install-clisp-head.lisp
Normal file
|
|
@ -0,0 +1,99 @@
|
||||||
|
(roswell:include "util-install-quicklisp")
|
||||||
|
(defpackage :roswell.install.clisp-head
|
||||||
|
(:use :cl :roswell.install :roswell.util :roswell.locations))
|
||||||
|
(in-package :roswell.install.clisp-head)
|
||||||
|
|
||||||
|
(defun clisp-head-variant ()
|
||||||
|
(let ((uname (uname))
|
||||||
|
(variant (opt "variant")))
|
||||||
|
(cond (variant variant)
|
||||||
|
((and (equal uname "linux"))
|
||||||
|
"glibc2.19")
|
||||||
|
(t "")))) ;; TBD
|
||||||
|
|
||||||
|
(defun clisp-head-get-version ()
|
||||||
|
(format *error-output* "Checking version to install....~%")
|
||||||
|
(let ((elts
|
||||||
|
(let ((file (merge-pathnames "tmp/clisp_head.tsv" (homedir))))
|
||||||
|
(download (clisp-head-version-uri) file :interval 3600)
|
||||||
|
(mapcar (lambda (x) (uiop:split-string x :separator '(#\tab)))
|
||||||
|
(uiop:read-file-lines file))))
|
||||||
|
(uname (uname))
|
||||||
|
(uname-m (uname-m))
|
||||||
|
(variant (clisp-head-variant)))
|
||||||
|
(mapcar 'third (remove-if-not (lambda (x)
|
||||||
|
(and (equal (first x) uname)
|
||||||
|
(equal (second x) uname-m)
|
||||||
|
(equal (fourth x) variant)
|
||||||
|
))
|
||||||
|
elts))))
|
||||||
|
|
||||||
|
(defun clisp-head-argv-parse (argv)
|
||||||
|
(let ((uname (uname))
|
||||||
|
(uname-m (uname-m)))
|
||||||
|
(set-opt "as" (getf argv :version))
|
||||||
|
(set-opt "prefix" (merge-pathnames (format nil "impls/~A/~A/~A/~A/" (uname-m) (uname) (getf argv :target) (opt "as")) (homedir)))
|
||||||
|
(set-opt "src" (merge-pathnames (format nil "src/clisp-~A-~A-~A~A/"
|
||||||
|
(getf argv :version)
|
||||||
|
uname-m
|
||||||
|
uname
|
||||||
|
(let ((var (clisp-head-variant)))
|
||||||
|
(if (zerop (length var))
|
||||||
|
""
|
||||||
|
(format nil "-~A" var))))
|
||||||
|
(homedir))))
|
||||||
|
(cons t argv))
|
||||||
|
|
||||||
|
(defun clisp-head-download (argv)
|
||||||
|
(set-opt "download.uri" (format nil "~@{~A~}" (clisp-head-uri) (getf argv :version)
|
||||||
|
"/clisp-"
|
||||||
|
(getf argv :version) "-"
|
||||||
|
(uname-m) "-"
|
||||||
|
(uname)
|
||||||
|
(let ((var (clisp-head-variant)))
|
||||||
|
(if (zerop (length var))
|
||||||
|
""
|
||||||
|
(format nil "-~A" var)))
|
||||||
|
"-binary"
|
||||||
|
#-win32 ".tar.bz2"
|
||||||
|
#+win32 ".msi"))
|
||||||
|
(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"))))
|
||||||
|
|
||||||
|
#-win32
|
||||||
|
(defun clisp-head-expand (argv)
|
||||||
|
(let ((impls (merge-pathnames (format nil "impls/~A/~A/clisp-head/" (uname-m) (uname)) (homedir))))
|
||||||
|
(cond
|
||||||
|
(t
|
||||||
|
(format t "~%Extracting archive:~A~%" (opt "download.archive"))
|
||||||
|
(expand (opt "download.archive")
|
||||||
|
(ensure-directories-exist impls))))
|
||||||
|
(ql-impl-util:rename-directory
|
||||||
|
(merge-pathnames (format nil "clisp-~A-~A-~A~A/"
|
||||||
|
(opt "as")
|
||||||
|
(uname-m)
|
||||||
|
(uname)
|
||||||
|
(let ((var (clisp-head-variant)))
|
||||||
|
(if (zerop (length var))
|
||||||
|
""
|
||||||
|
(format nil "-~A" var))))
|
||||||
|
impls)
|
||||||
|
(merge-pathnames (format nil "~A/" (opt "as")) impls)))
|
||||||
|
(cons t argv))
|
||||||
|
|
||||||
|
(defun clisp-head-help (argv)
|
||||||
|
(format t "no options for clisp-head~%")
|
||||||
|
(cons t argv))
|
||||||
|
|
||||||
|
(defun clisp-head (type)
|
||||||
|
(case type
|
||||||
|
(:help '(clisp-head-help))
|
||||||
|
(:install `(,(decide-version 'clisp-head-get-version)
|
||||||
|
clisp-head-argv-parse
|
||||||
|
start
|
||||||
|
,(decide-download 'clisp-head-download)
|
||||||
|
clisp-head-expand
|
||||||
|
setup))
|
||||||
|
(:list 'clisp-head-get-version)))
|
||||||
|
|
@ -10,10 +10,8 @@
|
||||||
(defun clisp-get-version ()
|
(defun clisp-get-version ()
|
||||||
(let ((file (merge-pathnames "tmp/clisp.html" (homedir))))
|
(let ((file (merge-pathnames "tmp/clisp.html" (homedir))))
|
||||||
(format *error-output* "Checking version to install....~%")
|
(format *error-output* "Checking version to install....~%")
|
||||||
(unless (and (probe-file file)
|
(download (clisp-version-uri) file :interval (* 60 60))
|
||||||
(< (get-universal-time) (+ (* 60 60) (file-write-date file))))
|
(loop for link in (get-elements-by-tag-name (plump:parse file) "a")
|
||||||
(download (clisp-version-uri) file))
|
|
||||||
(loop for link in (plump:get-elements-by-tag-name (plump:parse file) "a")
|
|
||||||
for href = (plump:get-attribute link "href") for len = (1- (length href))
|
for href = (plump:get-attribute link "href") for len = (1- (length href))
|
||||||
when (and (eql (aref href len) #\/)
|
when (and (eql (aref href len) #\/)
|
||||||
(not (eql (aref href 0) #\/))
|
(not (eql (aref href 0) #\/))
|
||||||
|
|
|
||||||
|
|
@ -6,10 +6,8 @@
|
||||||
(defun cmu-bin-get-version ()
|
(defun cmu-bin-get-version ()
|
||||||
(let ((file (merge-pathnames "tmp/cmu-bin.html" (homedir))))
|
(let ((file (merge-pathnames "tmp/cmu-bin.html" (homedir))))
|
||||||
(format *error-output* "Checking version to install...~%")
|
(format *error-output* "Checking version to install...~%")
|
||||||
(unless (and (probe-file file)
|
(download (format nil "~Arelease/" (cmu-bin-uri)) file :interval (* 60 60))
|
||||||
(< (get-universal-time) (+ (* 60 60) (file-write-date file))))
|
(loop for link in (get-elements-by-tag-name (plump:parse file) "a")
|
||||||
(download (format nil "~Arelease/" (cmu-bin-uri)) file))
|
|
||||||
(loop for link in (plump:get-elements-by-tag-name (plump:parse file) "a")
|
|
||||||
for href = (plump:get-attribute link "href")
|
for href = (plump:get-attribute link "href")
|
||||||
for len = (length href)
|
for len = (length href)
|
||||||
when (and (digit-char-p (aref href 0))
|
when (and (digit-char-p (aref href 0))
|
||||||
|
|
@ -23,11 +21,31 @@
|
||||||
(or (cdr (assoc (uname-m) *cmu-uname-m-alist* :test 'equal))
|
(or (cdr (assoc (uname-m) *cmu-uname-m-alist* :test 'equal))
|
||||||
(uname-m)))
|
(uname-m)))
|
||||||
|
|
||||||
|
(defun cmu-bin-directory-uri (version)
|
||||||
|
(format nil "~@{~A~}" (cmu-bin-uri) (if (find #\- version) "snapshots/" "release/")
|
||||||
|
(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)
|
(defun cmu-bin-archive-uri (version extra)
|
||||||
(let ((uname (uname))
|
(format nil "~@{~A~}" (cmu-bin-directory-uri version)
|
||||||
(cmu-uname-m (cmu-uname-m)))
|
(cmu-bin-archive-name version extra) (cmu-bin-archive-type 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")))
|
|
||||||
|
|
||||||
(defun cmu-bin-argv-parse (argv)
|
(defun cmu-bin-argv-parse (argv)
|
||||||
(format *error-output* "~&Installing cmu-bin/~A...~%" (getf argv :version))
|
(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)))
|
(homedir)))
|
||||||
:direction :output :if-exists :append :if-does-not-exist :create)
|
:direction :output :if-exists :append :if-does-not-exist :create)
|
||||||
(format out "~&--~&~A~%" (date))
|
(format out "~&--~&~A~%" (date))
|
||||||
(let* ((cmd (format nil "make"))
|
(let* ((cmd (make))
|
||||||
(*standard-output* (make-broadcast-stream out #+sbcl(make-instance 'count-line-stream))))
|
(*standard-output* (make-broadcast-stream out #+sbcl(make-instance 'count-line-stream))))
|
||||||
(ecl-chdir argv)
|
(ecl-chdir argv)
|
||||||
(uiop/run-program:run-program cmd :output t :ignore-error-status t)))
|
(uiop/run-program:run-program cmd :output t :ignore-error-status t)))
|
||||||
|
|
@ -108,7 +108,7 @@
|
||||||
(format out "~&--~&~A~%" (date))
|
(format out "~&--~&~A~%" (date))
|
||||||
(let ((*standard-output* (make-broadcast-stream
|
(let ((*standard-output* (make-broadcast-stream
|
||||||
out #+sbcl(make-instance 'count-line-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.~%"))
|
(format *error-output* "done.~%"))
|
||||||
(cons t argv))
|
(cons t argv))
|
||||||
|
|
||||||
|
|
@ -119,7 +119,7 @@
|
||||||
(*standard-output* (make-broadcast-stream
|
(*standard-output* (make-broadcast-stream
|
||||||
out #+sbcl(make-instance 'count-line-stream))))
|
out #+sbcl(make-instance 'count-line-stream))))
|
||||||
(uiop/run-program:run-program
|
(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))
|
:output t))
|
||||||
(format t "done.~%")
|
(format t "done.~%")
|
||||||
(cons t argv))
|
(cons t argv))
|
||||||
|
|
|
||||||
112
lisp/install-sbcl-head.lisp
Normal file
112
lisp/install-sbcl-head.lisp
Normal file
|
|
@ -0,0 +1,112 @@
|
||||||
|
(roswell:include "util-install-quicklisp")
|
||||||
|
(defpackage :roswell.install.sbcl-head
|
||||||
|
(:use :cl :roswell.install :roswell.util :roswell.locations))
|
||||||
|
(in-package :roswell.install.sbcl-head)
|
||||||
|
|
||||||
|
(defun sbcl-head-variant ()
|
||||||
|
(or (roswell:opt "variant")
|
||||||
|
(roswell:roswell `("roswell-internal-use" "version" "sbcl-bin-variant") :string t)))
|
||||||
|
|
||||||
|
(defun sbcl-head-get-version ()
|
||||||
|
(format *error-output* "Checking version to install....~%")
|
||||||
|
(let ((elts
|
||||||
|
(let ((file (merge-pathnames "tmp/sbcl_head.tsv" (homedir))))
|
||||||
|
(download (sbcl-head-version-uri) file :interval 3600)
|
||||||
|
(mapcar (lambda (x) (uiop:split-string x :separator '(#\tab)))
|
||||||
|
(uiop:read-file-lines file))))
|
||||||
|
(uname (uname))
|
||||||
|
(uname-m (uname-m))
|
||||||
|
(variant (sbcl-head-variant)))
|
||||||
|
(mapcar 'third (remove-if-not (lambda (x)
|
||||||
|
(and (equal (first x) uname)
|
||||||
|
(equal (second x) uname-m)
|
||||||
|
(equal (fourth x) variant)
|
||||||
|
))
|
||||||
|
elts))))
|
||||||
|
|
||||||
|
(defun sbcl-head-argv-parse (argv)
|
||||||
|
(let ((pos (position "--as" (getf argv :argv) :test 'equal))
|
||||||
|
(uname (uname))
|
||||||
|
(uname-m (uname-m)))
|
||||||
|
(set-opt "as" (or (and pos (ignore-errors (nth (1+ pos) (getf argv :argv)))
|
||||||
|
(format nil "~A-~A"
|
||||||
|
(getf argv :version)
|
||||||
|
(nth (1+ pos) (getf argv :argv))))
|
||||||
|
(getf argv :version)))
|
||||||
|
(set-opt "prefix" (merge-pathnames (format nil "impls/~A/~A/~A/~A/" (uname-m) (uname) (getf argv :target) (opt "as")) (homedir)))
|
||||||
|
(set-opt "src" (merge-pathnames (format nil "src/sbcl-~A-~A-~A~A/"
|
||||||
|
(getf argv :version)
|
||||||
|
uname-m
|
||||||
|
uname
|
||||||
|
(let ((var (sbcl-head-variant)))
|
||||||
|
(if (zerop (length var))
|
||||||
|
""
|
||||||
|
(format nil "-~A" var))))
|
||||||
|
(homedir))))
|
||||||
|
(cons t argv))
|
||||||
|
|
||||||
|
(defun sbcl-head-download (argv)
|
||||||
|
(set-opt "download.uri" (format nil "~@{~A~}" (sbcl-head-uri) (getf argv :version)
|
||||||
|
"/sbcl-"
|
||||||
|
(getf argv :version) "-"
|
||||||
|
(uname-m) "-"
|
||||||
|
(uname)
|
||||||
|
(let ((var (sbcl-head-variant)))
|
||||||
|
(if (zerop (length var))
|
||||||
|
""
|
||||||
|
(format nil "-~A" var)))
|
||||||
|
"-binary.tar.bz2"))
|
||||||
|
(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 sbcl-head-expand (argv)
|
||||||
|
(let* ((h (homedir))
|
||||||
|
(v (getf argv :version)))
|
||||||
|
(cond
|
||||||
|
(t
|
||||||
|
(format t "~%Extracting archive:~A~%" (opt "download.archive"))
|
||||||
|
(expand (opt "download.archive")
|
||||||
|
(ensure-directories-exist (merge-pathnames "src/" h)))
|
||||||
|
)))
|
||||||
|
(cons t argv))
|
||||||
|
|
||||||
|
(defun sbcl-head-install (argv)
|
||||||
|
(let* ((impl-path (opt "prefix"))
|
||||||
|
(src (opt "src"))
|
||||||
|
(install-root impl-path)
|
||||||
|
(log-path (merge-pathnames (format nil "impls/log/~A-~A/install.log" (getf argv :target) (opt "as")) (homedir))))
|
||||||
|
#-delete-later(format t "~S~%" (list :sbcl-head-install :debug impl-path src log-path))
|
||||||
|
(unless (opt "archive")
|
||||||
|
(format t "~&Installing ~A/~A" (getf argv :target) (opt "as"))
|
||||||
|
(format t "~&prefix: ~s~%" impl-path)
|
||||||
|
(ensure-directories-exist impl-path)
|
||||||
|
(ensure-directories-exist log-path)
|
||||||
|
(chdir src)
|
||||||
|
(unsetenv "SBCL_HOME")
|
||||||
|
(setenv "INSTALL_ROOT" (format nil "~A" install-root))
|
||||||
|
(with-open-file (out log-path :direction :output :if-exists :append :if-does-not-exist :create)
|
||||||
|
(format out "~&--~&~A~%" (date))
|
||||||
|
(let ((*standard-output* (make-broadcast-stream
|
||||||
|
out #+sbcl(make-instance 'count-line-stream))))
|
||||||
|
(uiop/run-program:run-program
|
||||||
|
(list (sh) "-lc" (format nil "cd ~S;~A ~A"
|
||||||
|
(#+win32 mingw-namestring #-win32 princ-to-string src)
|
||||||
|
(or #-win32 (sh) "")
|
||||||
|
"./install.sh")) :output t)))
|
||||||
|
(format *error-output* "done.~%")))
|
||||||
|
(cons t argv))
|
||||||
|
|
||||||
|
(defun sbcl-head (type)
|
||||||
|
(case type
|
||||||
|
(:help '(sbcl-head-help))
|
||||||
|
(:install `(,(decide-version 'sbcl-head-get-version)
|
||||||
|
sbcl-head-argv-parse
|
||||||
|
#+win32 sbcl-msys
|
||||||
|
start
|
||||||
|
,(decide-download 'sbcl-head-download)
|
||||||
|
sbcl-head-expand
|
||||||
|
sbcl-head-install
|
||||||
|
setup))
|
||||||
|
(:list 'sbcl-head-get-version)))
|
||||||
|
|
@ -15,10 +15,12 @@
|
||||||
(push ',name *locations*))))
|
(push ',name *locations*))))
|
||||||
|
|
||||||
(defuri clisp-version-uri "http://ftp.gnu.org/pub/gnu/clisp/release/")
|
(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 7za-uri "http://sourceforge.net/projects/sevenzip/files/7-Zip/9.20/7za920.zip/download#")
|
||||||
(defuri allegro-uri "http://www.franz.com/")
|
(defuri allegro-uri "https://franz.com/")
|
||||||
(defuri abcl-bin-uri "https://common-lisp.net/project/armedbear/releases/")
|
(defuri abcl-bin-uri "https://common-lisp.net/project/armedbear/releases/")
|
||||||
(defuri ccl-bin-uri "https://github.com/roswell/ccl_bin/releases/download/")
|
(defuri ccl-bin-uri "https://github.com/roswell/ccl_bin/releases/download/")
|
||||||
|
(defuri clasp-bin-uri "https://github.com/roswell/clasp_bin/releases/download/")
|
||||||
(defuri clisp-uri "http://sourceforge.net/projects/clisp/files/clisp/")
|
(defuri clisp-uri "http://sourceforge.net/projects/clisp/files/clisp/")
|
||||||
(defuri cmu-bin-uri "https://common-lisp.net/project/cmucl/downloads/")
|
(defuri cmu-bin-uri "https://common-lisp.net/project/cmucl/downloads/")
|
||||||
(defuri quicklisp-uri "http://beta.quicklisp.org/")
|
(defuri quicklisp-uri "http://beta.quicklisp.org/")
|
||||||
|
|
@ -26,14 +28,16 @@
|
||||||
(defuri ffcall-uri "https://github.com/roswell/libffcall/archive/")
|
(defuri ffcall-uri "https://github.com/roswell/libffcall/archive/")
|
||||||
|
|
||||||
(defuri sigsegv-uri "http://ftpmirror.gnu.org/libsigsegv/")
|
(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")
|
(defuri clisp-patch1-uri "https://raw.githubusercontent.com/Homebrew/homebrew/2fb8cb1a2279f80dc89900b3ebaca9e5afc90494/Library/Formula/clisp.rb")
|
||||||
|
|
||||||
(defuri asdf-git-version-uri "https://github.com/roswell/asdf/releases.atom")
|
(defuri asdf-git-version-uri "https://github.com/roswell/asdf/releases.atom")
|
||||||
(defuri ecl-git-version-uri "https://github.com/roswell/ecl/releases.atom")
|
(defuri ecl-git-version-uri "https://github.com/roswell/ecl/releases.atom")
|
||||||
(defuri sbcl-git-version-uri "https://github.com/sbcl/sbcl/releases.atom")
|
(defuri sbcl-git-version-uri "https://github.com/sbcl/sbcl/releases.atom")
|
||||||
|
(defuri sbcl-head-version-uri "https://github.com/roswell/sbcl_head/releases/download/files/sbcl-bin_uri.tsv")
|
||||||
(defuri ccl-git-version-uri "https://github.com/roswell/ccl_bin/releases.atom")
|
(defuri ccl-git-version-uri "https://github.com/roswell/ccl_bin/releases.atom")
|
||||||
|
(defuri clasp-git-version-uri "https://github.com/roswell/clasp_bin/releases.atom")
|
||||||
(defuri slime-git-version-uri"https://github.com/slime/slime/releases.atom")
|
(defuri slime-git-version-uri"https://github.com/slime/slime/releases.atom")
|
||||||
(defuri sly-git-version-uri "https://github.com/joaotavora/sly/releases.atom")
|
(defuri sly-git-version-uri "https://github.com/joaotavora/sly/releases.atom")
|
||||||
(defuri npt-git-version-uri "https://github.com/nptcl/npt/releases.atom")
|
(defuri npt-git-version-uri "https://github.com/nptcl/npt/releases.atom")
|
||||||
|
|
@ -41,6 +45,8 @@
|
||||||
(defuri asdf-uri "https://github.com/roswell/asdf/archive/")
|
(defuri asdf-uri "https://github.com/roswell/asdf/archive/")
|
||||||
(defuri ecl-uri "https://github.com/roswell/ecl/archive/")
|
(defuri ecl-uri "https://github.com/roswell/ecl/archive/")
|
||||||
(defuri sbcl-uri "https://github.com/sbcl/sbcl/archive/")
|
(defuri sbcl-uri "https://github.com/sbcl/sbcl/archive/")
|
||||||
|
(defuri sbcl-head-uri "https://github.com/roswell/sbcl_head/releases/download/")
|
||||||
|
(defuri clisp-head-uri "https://github.com/roswell/clisp_head/releases/download/")
|
||||||
(defuri npt-uri "https://github.com/nptcl/npt/archive/")
|
(defuri npt-uri "https://github.com/nptcl/npt/archive/")
|
||||||
|
|
||||||
(defuri sbcl-bin-version-uri)
|
(defuri sbcl-bin-version-uri)
|
||||||
|
|
@ -48,6 +54,7 @@
|
||||||
|
|
||||||
(export
|
(export
|
||||||
(defvar *allegro-agreement-uri*
|
(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#)
|
("100express" . #1#)
|
||||||
("101b" . "http://franz.com/products/licensing/FSLA10.1.beta.pdf"))))
|
("101b" . "http://franz.com/products/licensing/FSLA10.1.beta.pdf"))))
|
||||||
|
|
|
||||||
17
lisp/serve-default.lisp
Normal file
17
lisp/serve-default.lisp
Normal file
|
|
@ -0,0 +1,17 @@
|
||||||
|
(roswell:include "util")
|
||||||
|
(defpackage :roswell.serve.default
|
||||||
|
(:use :cl :roswell.util))
|
||||||
|
(in-package :roswell.serve.default)
|
||||||
|
|
||||||
|
(defun default (&rest r)
|
||||||
|
(if (null r)
|
||||||
|
(progn
|
||||||
|
(format *error-output* "Possible subcommands:~%")
|
||||||
|
(finish-output *error-output*)
|
||||||
|
(format t "~{~A~%~}"
|
||||||
|
(sort (loop for x in (asdf:registered-systems)
|
||||||
|
when (ignore-errors (and (string-equal "roswell.serve." x :end2 14)
|
||||||
|
(not (string-equal "roswell.serve.default" x))))
|
||||||
|
collect (subseq x 14))
|
||||||
|
#'string<)))
|
||||||
|
(format *error-output* "not suppported type for serve:~A~%" (first r))))
|
||||||
19
lisp/serve-swank.lisp
Normal file
19
lisp/serve-swank.lisp
Normal file
|
|
@ -0,0 +1,19 @@
|
||||||
|
(roswell:include "util")
|
||||||
|
(defpackage :roswell.serve.swank
|
||||||
|
(:use :cl :roswell.util))
|
||||||
|
(in-package :roswell.serve.swank)
|
||||||
|
|
||||||
|
(defun swank (&rest r)
|
||||||
|
(ql:quickload :swank :silent t)
|
||||||
|
(let ((port 4005)
|
||||||
|
(interface "localhost"))
|
||||||
|
(loop for (var val) on (cdr r) by #'cddr
|
||||||
|
do (cond ((equal var "--port")
|
||||||
|
(setf port (parse-integer val)))
|
||||||
|
((equal var "--interface")
|
||||||
|
(setf interface val))))
|
||||||
|
(roswell.util:read-call "swank:create-server"
|
||||||
|
:interface interface
|
||||||
|
:port port
|
||||||
|
:dont-close t))
|
||||||
|
(loop (sleep 1)))
|
||||||
25
lisp/serve.ros
Normal file
25
lisp/serve.ros
Normal file
|
|
@ -0,0 +1,25 @@
|
||||||
|
#!/bin/sh
|
||||||
|
#|-*- mode:lisp -*-|#
|
||||||
|
#|
|
||||||
|
exec ros -Q -- $0 "$@"
|
||||||
|
|#
|
||||||
|
(progn ;;init forms
|
||||||
|
(ros:ensure-asdf)
|
||||||
|
#+quicklisp(ql:quickload '() :silent t)
|
||||||
|
(roswell:include '("util-main" "system"))
|
||||||
|
)
|
||||||
|
|
||||||
|
(defpackage :ros.script.serve.3806416041
|
||||||
|
(:use :cl :roswell.util :roswell.util.main))
|
||||||
|
(in-package :ros.script.serve.3806416041)
|
||||||
|
|
||||||
|
(defmacro preload-serve-subsystems ()
|
||||||
|
`(progn ,@(loop for s in (directory (merge-pathnames "serve-*.lisp" (ros:opt "lispdir")))
|
||||||
|
collect `(system ,(pathname-name s)))))
|
||||||
|
(preload-serve-subsystems)
|
||||||
|
|
||||||
|
(defun main (&rest argv)
|
||||||
|
(module-main argv
|
||||||
|
:default "default"
|
||||||
|
:usage "default"))
|
||||||
|
;;; vim: set ft=lisp lisp:
|
||||||
|
|
@ -17,6 +17,7 @@ exec ros -Q -m roswell -N roswell -- $0 "$@"
|
||||||
("add" . template-add)
|
("add" . template-add)
|
||||||
("cat" . template-cat)
|
("cat" . template-cat)
|
||||||
("edit" . template-edit)
|
("edit" . template-edit)
|
||||||
|
("path" . template-native-path)
|
||||||
("rm" . template-rm)
|
("rm" . template-rm)
|
||||||
("delete" . template-rm)
|
("delete" . template-rm)
|
||||||
("type" . template-type)
|
("type" . template-type)
|
||||||
|
|
@ -28,12 +29,15 @@ exec ros -Q -m roswell -N roswell -- $0 "$@"
|
||||||
|
|
||||||
(defun template-init (names)
|
(defun template-init (names)
|
||||||
"Create new template"
|
"Create new template"
|
||||||
(let* ((name (first names))
|
(if names
|
||||||
(path (template-asd-path name)))
|
(let* ((name (first names))
|
||||||
(when (probe-file path)
|
(path (template-asd-path name)))
|
||||||
(format *error-output* "already exist ~A~%" path)
|
(when (probe-file path)
|
||||||
(ros:quit 0))
|
(format *error-output* "already exist ~A~%" path)
|
||||||
(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)
|
(defun template-deinit (names)
|
||||||
"Remove a template"
|
"Remove a template"
|
||||||
|
|
@ -76,7 +80,7 @@ exec ros -Q -m roswell -N roswell -- $0 "$@"
|
||||||
(format *error-output* "current default is ~S~%~%candidates:~%~{~A~%~}"
|
(format *error-output* "current default is ~S~%~%candidates:~%~{~A~%~}"
|
||||||
(template-default)
|
(template-default)
|
||||||
(templates-list :name t))
|
(templates-list :name t))
|
||||||
(ros:quit 1))
|
(ros:quit 0))
|
||||||
(let ((path (templates-list :filter name)))
|
(let ((path (templates-list :filter name)))
|
||||||
(unless path
|
(unless path
|
||||||
(format *error-output* "template: ~S not found.~%" name)
|
(format *error-output* "template: ~S not found.~%" name)
|
||||||
|
|
@ -121,6 +125,18 @@ exec ros -Q -m roswell -N roswell -- $0 "$@"
|
||||||
,@(loop for i in _
|
,@(loop for i in _
|
||||||
collect (uiop:native-namestring (template-file-path name i)))))))
|
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 (_)
|
(defun template-rm (_)
|
||||||
"Remove (delete) files from template."
|
"Remove (delete) files from template."
|
||||||
(let ((name (template-default)))
|
(let ((name (template-default)))
|
||||||
|
|
|
||||||
|
|
@ -26,10 +26,17 @@ exec ros -Q -m roswell -N roswell -- $0 "$@"
|
||||||
;; update systems
|
;; update systems
|
||||||
(dolist (alias argv)
|
(dolist (alias argv)
|
||||||
(loop
|
(loop
|
||||||
with path = (ignore-errors
|
with path = (or
|
||||||
(make-pathname
|
(and (find #\/ alias)
|
||||||
:type nil :name nil
|
(let ((dir (merge-pathnames
|
||||||
:defaults (asdf:system-source-file (asdf:find-system alias))))
|
(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)))))
|
||||||
for f in *update-functions*
|
for f in *update-functions*
|
||||||
for r = (and path (funcall f path))
|
for r = (and path (funcall f path))
|
||||||
when r do (roswell:roswell `("install" ,alias))
|
when r do (roswell:roswell `("install" ,alias))
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,18 @@
|
||||||
|
|
||||||
(defvar *build-hook* nil)
|
(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
|
#+sbcl
|
||||||
(defclass count-line-stream (sb-gray:fundamental-character-output-stream)
|
(defclass count-line-stream (sb-gray:fundamental-character-output-stream)
|
||||||
((base :initarg :base
|
((base :initarg :base
|
||||||
|
|
@ -162,7 +174,8 @@
|
||||||
*error-output* (make-broadcast-stream)
|
*error-output* (make-broadcast-stream)
|
||||||
*trace-output*(make-broadcast-stream)))
|
*trace-output*(make-broadcast-stream)))
|
||||||
(if (ql:where-is-system system)
|
(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)))
|
(ignore-errors(asdf:oos 'asdf:load-op system :force t)))
|
||||||
(ql:quickload system)))
|
(ql:quickload system)))
|
||||||
(format *error-output* "~&[~a/3] Processing build-hook.." (incf step))
|
(format *error-output* "~&[~a/3] Processing build-hook.." (incf step))
|
||||||
|
|
@ -209,12 +222,14 @@
|
||||||
(system "install-abcl-bin")
|
(system "install-abcl-bin")
|
||||||
(system "install-allegro")
|
(system "install-allegro")
|
||||||
(system "install-ccl-bin")
|
(system "install-ccl-bin")
|
||||||
|
(system "install-clasp-bin")
|
||||||
(system "install-clasp")
|
(system "install-clasp")
|
||||||
(system "install-clisp")
|
(system "install-clisp")
|
||||||
(system "install-cmu-bin")
|
(system "install-cmu-bin")
|
||||||
(system "install-ecl")
|
(system "install-ecl")
|
||||||
(system "install-mkcl")
|
(system "install-mkcl")
|
||||||
(system "install-sbcl-bin")
|
(system "install-sbcl-bin")
|
||||||
|
(system "install-sbcl-head")
|
||||||
(system "install-sbcl")
|
(system "install-sbcl")
|
||||||
(system "install-sbcl-source")
|
(system "install-sbcl-source")
|
||||||
(system "install+7zip"(:depends-on (:zip)))
|
(system "install+7zip"(:depends-on (:zip)))
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,8 @@
|
||||||
:install-system-script :install-impl-if-probed :install-script-if-probed
|
:install-system-script :install-impl-if-probed :install-script-if-probed
|
||||||
:install-system-if-probed :mingw-namestring :install-github :*checkout-default*
|
:install-system-if-probed :mingw-namestring :install-github :*checkout-default*
|
||||||
:install :decide-version :decide-download :require-system-package
|
: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)
|
(in-package :roswell.install)
|
||||||
|
|
||||||
(defvar *ros-path* nil)
|
(defvar *ros-path* nil)
|
||||||
|
|
@ -74,12 +75,10 @@ To differentiate it from the system with the same name in quicklisp, the path sh
|
||||||
(defun github-version (uri project filter)
|
(defun github-version (uri project filter)
|
||||||
(let ((elts
|
(let ((elts
|
||||||
(let ((file (merge-pathnames (format nil "tmp/~A.html" project) (homedir))))
|
(let ((file (merge-pathnames (format nil "tmp/~A.html" project) (homedir))))
|
||||||
(unless (and (probe-file file)
|
(download uri file :interval (* 60 60))
|
||||||
(< (get-universal-time) (+ (* 60 60) (file-write-date file))))
|
|
||||||
(download uri file))
|
|
||||||
(read-call "plump:parse" file))))
|
(read-call "plump:parse" file))))
|
||||||
(nreverse
|
(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")
|
for href = (read-call "plump:get-attribute" link "href")
|
||||||
when (funcall filter href)
|
when (funcall filter href)
|
||||||
collect it))))
|
collect it))))
|
||||||
|
|
|
||||||
|
|
@ -5,16 +5,16 @@
|
||||||
(in-package :roswell.util.main)
|
(in-package :roswell.util.main)
|
||||||
|
|
||||||
(defun module-main (args &key default usage
|
(defun module-main (args &key default usage
|
||||||
(mod-name #'identity)
|
(mod-name #'identity)
|
||||||
(error-output *error-output*))
|
(error-output *error-output*))
|
||||||
(let* ((name (first args))
|
(let* ((name (first args))
|
||||||
(packagename (package-name *package*))
|
(packagename (package-name *package*))
|
||||||
(pos (loop repeat 3
|
(pos (loop with pos = 0
|
||||||
with pos = 0
|
for p = (position #\. packagename :start pos)
|
||||||
for p = (position #\. packagename :start pos)
|
repeat 3
|
||||||
while p
|
while p
|
||||||
collect p
|
collect p
|
||||||
do (setf pos (1+ p))))
|
do (setf pos (1+ p))))
|
||||||
(module-name (string-downcase
|
(module-name (string-downcase
|
||||||
(subseq packagename (1+ (second pos)) (third pos)))))
|
(subseq packagename (1+ (second pos)) (third pos)))))
|
||||||
(cond
|
(cond
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
#+ros.init
|
#+ros.init
|
||||||
(roswell:include '("util" "system") "util-template")
|
(roswell:include '("util" "system") "util-template")
|
||||||
#+quicklisp
|
#+quicklisp
|
||||||
(ql:quickload '("uiop" "djula") :silent t)
|
(ignore-errors (ql:quickload '("uiop" "djula") :silent t))
|
||||||
(defpackage :roswell.util.template
|
(defpackage :roswell.util.template
|
||||||
(:use :cl)
|
(:use :cl)
|
||||||
(:export
|
(:export
|
||||||
|
|
@ -113,7 +113,8 @@
|
||||||
:name (format nil "roswell.init.~A" template-name)))
|
:name (format nil "roswell.init.~A" template-name)))
|
||||||
|
|
||||||
(defun apply-djula (template-string stream params)
|
(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
|
`(,@params
|
||||||
:author ,(author)
|
:author ,(author)
|
||||||
:email ,(email)
|
:email ,(email)
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,7 @@
|
||||||
(:import-from :ros :opt :ensure-asdf :*local-project-directories*)
|
(:import-from :ros :opt :ensure-asdf :*local-project-directories*)
|
||||||
(:export
|
(:export
|
||||||
:uname :uname-m :homedir :config :impl :which :config-env :checkoutdir
|
: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
|
:core-extention :clone-github :opt :read-call :set-opt :copy-dir
|
||||||
:roswell-installable-searcher :setenv :unsetenv :ensure-asdf :split-sequence
|
:roswell-installable-searcher :setenv :unsetenv :ensure-asdf :split-sequence
|
||||||
:local-project-build-hash))
|
:local-project-build-hash))
|
||||||
|
|
@ -137,13 +137,16 @@ Example:
|
||||||
output nil)
|
output nil)
|
||||||
t)))
|
t)))
|
||||||
|
|
||||||
(defun download (uri file &key proxy (verbose nil) (output :interactive))
|
(defun download (uri file &key proxy (verbose nil) (output :interactive) interval)
|
||||||
"Interface to curl4 in the roswell C binary"
|
"Interface to curl4 in the roswell C binary"
|
||||||
(declare (ignorable proxy))
|
(declare (ignorable proxy))
|
||||||
(ensure-directories-exist file)
|
(unless (and interval
|
||||||
(roswell:roswell `("roswell-internal-use" "download" ,(backslash-encode uri)
|
(probe-file file)
|
||||||
,file ,@(when verbose (list verbose)))
|
(< (get-universal-time) (+ interval (file-write-date file))))
|
||||||
output nil))
|
(ensure-directories-exist file)
|
||||||
|
(roswell:roswell `("roswell-internal-use" "download" ,(backslash-encode uri)
|
||||||
|
,file ,@(when verbose (list verbose)))
|
||||||
|
output nil)))
|
||||||
|
|
||||||
(defun expand (archive dest &key verbose)
|
(defun expand (archive dest &key verbose)
|
||||||
"extract archive via roswell. gz/bz/7z should be supported."
|
"extract archive via roswell. gz/bz/7z should be supported."
|
||||||
|
|
@ -193,6 +196,9 @@ Example:
|
||||||
(which "bash")
|
(which "bash")
|
||||||
"sh"))
|
"sh"))
|
||||||
|
|
||||||
|
(defun make ()
|
||||||
|
(or #+freebsd "gmake" "make"))
|
||||||
|
|
||||||
(defvar *version*
|
(defvar *version*
|
||||||
`(:roswell ,(or (ignore-errors (roswell:version))
|
`(:roswell ,(or (ignore-errors (roswell:version))
|
||||||
(progn
|
(progn
|
||||||
|
|
|
||||||
|
|
@ -18,6 +18,7 @@ exec ros -Q -m roswell -N roswell -- $0 "$@"
|
||||||
(curl (version "curl"))
|
(curl (version "curl"))
|
||||||
(asdf (version "asdf"))
|
(asdf (version "asdf"))
|
||||||
(conf (version "confdir"))
|
(conf (version "confdir"))
|
||||||
|
(variant (version "sbcl-bin-variant"))
|
||||||
(home (roswell.util:homedir)))
|
(home (roswell.util:homedir)))
|
||||||
(unless (zerop (length revision))
|
(unless (zerop (length revision))
|
||||||
(setf revision (format nil "(~A)" revision)))
|
(setf revision (format nil "(~A)" revision)))
|
||||||
|
|
@ -34,5 +35,6 @@ exec ros -Q -m roswell -N roswell -- $0 "$@"
|
||||||
(format *error-output* "lispdir='~A'~%" (opt "lispdir"))
|
(format *error-output* "lispdir='~A'~%" (opt "lispdir"))
|
||||||
(format *error-output* "homedir='~A'~%" home)
|
(format *error-output* "homedir='~A'~%" home)
|
||||||
(unless (or (zerop (length conf)) (equal home conf))
|
(unless (or (zerop (length conf)) (equal home conf))
|
||||||
(format *error-output* "configdir='~A'~%" conf))))
|
(format *error-output* "configdir='~A'~%" conf))
|
||||||
|
(format *error-output* "sbcl-bin-variant='~A'~%" variant)))
|
||||||
;;; vim: set ft=lisp lisp:
|
;;; vim: set ft=lisp lisp:
|
||||||
|
|
|
||||||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue