commit fcfe7e63701c03c69ec28835bd24699b270502b1
parent 68dcb13fbfcf569c03170444818b5c40f2d13233
Author: Florian Dold <florian@dold.me>
Date: Wed, 25 Nov 2020 16:30:31 +0100
docker-based build instructions
Diffstat:
4 files changed, 51 insertions(+), 1 deletion(-)
diff --git a/.gitignore b/.gitignore
@@ -4,6 +4,7 @@ dist/
lib/
node_modules/
tsconfig.tsbuildinfo
+.pnpm-store/
# GNU-style build system
/configure
diff --git a/README b/README
@@ -6,7 +6,14 @@ in TypeScript.
## Dependencies
-In order to build the GNU Taler wallet, make sure that you have Node.JS and pnpm installed.
+The following dependencies are required to build the wallet:
+
+* python>=3.8
+* nodejs>=12
+* jq
+* npm
+* pnpm
+* zip
## Installation
@@ -31,6 +38,21 @@ This will create the zip file with the WebExtension in the location
packages/taler-wallet-webextension/taler-wallet-webextension-$VERSION.zip
```
+We also provide a `Dockerfile` for a container that can build the WebExtension:
+
+```shell
+# Build the image
+(host)$ docker build --tag walletbuilder contrib/wallet-docker
+
+# Run container with wallet source mounted
+(host)$ docker run -it -v $PWD:wallet-core walletbuilder
+
+# Run build inside container
+(container)$ cd wallet-core
+(container)$ ./configure && make webextension
+```
+
+
### Compiling from Git
If you are compiling the code from git, you have to run `./bootstrap` before
diff --git a/contrib/wallet-docker/Dockerfile b/contrib/wallet-docker/Dockerfile
@@ -0,0 +1,9 @@
+FROM debian:bullseye AS walletbuild
+
+# Install dependencies
+RUN apt-get update
+RUN apt-get -y upgrade
+RUN apt-get -y install build-essential zip jq python3 python3-pip nodejs npm
+RUN npm install -g pnpm
+
+COPY gitbuild.sh /bin
diff --git a/contrib/wallet-docker/gitbuild.sh b/contrib/wallet-docker/gitbuild.sh
@@ -0,0 +1,18 @@
+#!/bin/sh
+
+set -eu
+
+# Fetch source
+git clone https://git.taler.net/wallet-core.git
+
+cd wallet-core
+
+# Only for git repositories
+./bootstrap
+
+# Run build
+./configure
+make webextension
+
+# Copy WebExtension to root folder
+cp wallet-core/packages/taler-wallet-webextension/taler-wallet*.zip /