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/keycloak
|
||||
cerc/tx-spammer
|
||||
cerc/builder-gerbil
|
||||
|
Loading…
Reference in New Issue
Block a user