forked from cerc-io/stack-orchestrator
Merge pull request #150 from cerc-io/dboreham/gerbil-builder
Add gerbil builder container
This commit is contained in:
commit
f982a7632e
20
app/data/container-build/cerc-builder-gerbil/Dockerfile
Normal file
20
app/data/container-build/cerc-builder-gerbil/Dockerfile
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
# From: https://github.com/vyzo/gerbil/blob/master/docker/Dockerfile
|
||||||
|
FROM gerbil/ubuntu
|
||||||
|
|
||||||
|
# Install the Solidity compiler (latest stable version)
|
||||||
|
RUN apt-get update && export DEBIAN_FRONTEND=noninteractive && export DEBCONF_NOWARNINGS="yes" && \
|
||||||
|
apt-get install -y software-properties-common && \
|
||||||
|
add-apt-repository ppa:ethereum/ethereum && \
|
||||||
|
apt-get update && apt-get install -y solc && \
|
||||||
|
apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
|
||||||
|
|
||||||
|
RUN mkdir /scripts
|
||||||
|
COPY install-dependencies.sh /scripts
|
||||||
|
|
||||||
|
RUN bash /scripts/install-dependencies.sh
|
||||||
|
|
||||||
|
# Needed to prevent git from raging about /src
|
||||||
|
RUN git config --global --add safe.directory /src
|
||||||
|
|
||||||
|
COPY entrypoint.sh /scripts
|
||||||
|
ENTRYPOINT ["/scripts/entrypoint.sh"]
|
21
app/data/container-build/cerc-builder-gerbil/README.md
Normal file
21
app/data/container-build/cerc-builder-gerbil/README.md
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
## Gerbil Scheme Builder
|
||||||
|
|
||||||
|
This container is designed to be used as a simple "build runner" environment for building and running Scheme projects using Gerbil and gerbil-ethereum. Its primary purpose is to allow build/test/run of gerbil code without the need to install and configure all the necessary prerequisites and dependencies on the host system.
|
||||||
|
|
||||||
|
### Usage
|
||||||
|
|
||||||
|
First build the container with:
|
||||||
|
|
||||||
|
```
|
||||||
|
$ laconic-so build-containers --include cerc/builder-gerbil
|
||||||
|
```
|
||||||
|
|
||||||
|
Now, assuming a gerbil project located at `~/projects/my-project`, run bash in the container mounting the project with:
|
||||||
|
|
||||||
|
```
|
||||||
|
$ docker run -it -v $HOME/projects/my-project:/src cerc/builder-gerbil:latest bash
|
||||||
|
root@7c4124bb09e3:/src#
|
||||||
|
```
|
||||||
|
|
||||||
|
Now gerbil commands can be run.
|
||||||
|
|
2
app/data/container-build/cerc-builder-gerbil/entrypoint.sh
Executable file
2
app/data/container-build/cerc-builder-gerbil/entrypoint.sh
Executable file
@ -0,0 +1,2 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
exec "$@"
|
15
app/data/container-build/cerc-builder-gerbil/install-dependencies.sh
Executable file
15
app/data/container-build/cerc-builder-gerbil/install-dependencies.sh
Executable file
@ -0,0 +1,15 @@
|
|||||||
|
DEPS=(github.com/fare/gerbil-utils
|
||||||
|
github.com/fare/gerbil-poo
|
||||||
|
github.com/fare/gerbil-crypto
|
||||||
|
github.com/fare/gerbil-persist
|
||||||
|
github.com/fare/gerbil-ethereum
|
||||||
|
github.com/drewc/gerbil-swank
|
||||||
|
github.com/drewc/drewc-r7rs-swank
|
||||||
|
github.com/drewc/smug-gerbil
|
||||||
|
github.com/drewc/ftw
|
||||||
|
github.com/vyzo/gerbil-libp2p
|
||||||
|
) ;
|
||||||
|
for i in ${DEPS[@]} ; do
|
||||||
|
gxpkg install $i &&
|
||||||
|
gxpkg build $i
|
||||||
|
done
|
@ -22,3 +22,4 @@ cerc/eth-probe
|
|||||||
cerc/builder-js
|
cerc/builder-js
|
||||||
cerc/keycloak
|
cerc/keycloak
|
||||||
cerc/tx-spammer
|
cerc/tx-spammer
|
||||||
|
cerc/builder-gerbil
|
||||||
|
Loading…
Reference in New Issue
Block a user