summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFlorian Dold <florian@dold.me>2020-11-25 16:30:31 +0100
committerFlorian Dold <florian@dold.me>2020-11-25 16:30:31 +0100
commitfcfe7e63701c03c69ec28835bd24699b270502b1 (patch)
tree0755ae52c01f78df0b205385e0c9a9d117525c24
parent68dcb13fbfcf569c03170444818b5c40f2d13233 (diff)
downloadwallet-core-fcfe7e63701c03c69ec28835bd24699b270502b1.tar.gz
wallet-core-fcfe7e63701c03c69ec28835bd24699b270502b1.tar.bz2
wallet-core-fcfe7e63701c03c69ec28835bd24699b270502b1.zip
docker-based build instructions
-rw-r--r--.gitignore1
-rw-r--r--README24
-rw-r--r--contrib/wallet-docker/Dockerfile9
-rw-r--r--contrib/wallet-docker/gitbuild.sh18
4 files changed, 51 insertions, 1 deletions
diff --git a/.gitignore b/.gitignore
index 8fb67e2a4..6d1a129f9 100644
--- 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
index 3249f4b02..d248d9c87 100644
--- 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
new file mode 100644
index 000000000..d1a04d32c
--- /dev/null
+++ 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
new file mode 100644
index 000000000..9e84c82dd
--- /dev/null
+++ 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 /