2023-01-07 23:38:17 +00:00
# run this file from ruffle root dir (not the docker dir) like
2023-01-11 21:52:06 +00:00
# rm -rf web/docker/docker_builds/*
2023-01-11 21:56:14 +00:00
# docker build --tag ruffle-web-docker -f web/docker/Dockerfile .
2023-01-07 23:38:17 +00:00
# docker cp $(docker create ruffle-web-docker:latest):/ruffle/web/packages web/docker/docker_builds/packages
FROM ubuntu:22.04
ENV DEBIAN_FRONTEND = noninteractive
RUN apt-get update -y
RUN apt-get -y full-upgrade
2023-01-20 03:03:46 +00:00
RUN apt-get install -y apt-utils
RUN apt-get install -y wget git openssl libssl-dev gcc gzip tar default-jdk default-jre pkg-config
2023-01-07 23:38:17 +00:00
RUN wget 'https://deb.nodesource.com/setup_lts.x' --quiet -O- | bash
2023-01-20 03:03:46 +00:00
RUN apt-get install -y nodejs
2023-01-18 00:34:59 +00:00
# ... sometimes github.com returns 404 for this one? so.. hacky-try again a few times. ref https://github.com/ruffle-rs/ruffle/pull/9121#issuecomment-1386209670
RUN bash -c ' \
for i in { 1..10} ; \
do \
2023-01-20 03:03:46 +00:00
wget '\' 'https://github.com/WebAssembly/binaryen/releases/download/version_111/binaryen-version_111-x86_64-linux.tar.gz' \' ' ; \
2023-01-18 00:34:59 +00:00
if [ $? -eq 0 ] ; then break; fi ; \
done ; \
2023-01-20 03:03:46 +00:00
if [ $? -ne 0 ] ; then echo FAILED to download binaryen \$ i times, aborting! 1>& 2; exit 1; fi ; \
2023-01-18 00:34:59 +00:00
tar xfvz binaryen-version_111-x86_64-linux.tar.gz; \
'
2023-01-17 06:13:49 +00:00
RUN cp -rf binaryen-version_111/* /usr/local/
2023-01-07 23:38:17 +00:00
RUN wget 'https://sh.rustup.rs' --quiet -O- | sh -s -- -y
# RUN source "$HOME/.cargo/env"
# source to modify env doesn't work with docker it seems :( so add cargo to PATH manually:
ENV PATH = " /root/.cargo/bin: $PATH "
RUN rustup update
RUN rustup target add wasm32-unknown-unknown
RUN cargo install wasm-bindgen-cli --version 0.2.83
COPY . ruffle
WORKDIR ruffle/web
RUN npm install
2023-01-11 21:52:06 +00:00
RUN npm run build:dual-wasm