asm.js polyfill for crypto.subtle.digest

This commit is contained in:
ed
2019-06-27 23:25:49 +00:00
parent 96c6be0ea1
commit 1c7195e555
5 changed files with 109 additions and 27 deletions

View File

@@ -1,26 +1,24 @@
FROM alpine:3.10
WORKDIR /z
ENV ver_forge=0.8.5 \
ENV ver_asmcrypto=2821dd1dedd1196c378f5854037dda5c869313f3 \
ver_ogvjs=1.6.1
# download
RUN apk add make g++ git bash npm patch wget tar pigz gzip unzip \
&& wget https://github.com/digitalbazaar/forge/archive/$ver_forge.tar.gz \
&& wget https://github.com/brion/ogv.js/releases/download/$ver_ogvjs/ogvjs-$ver_ogvjs.zip \
&& tar -xf $ver_forge.tar.gz \
&& wget https://github.com/asmcrypto/asmcrypto.js/archive/$ver_asmcrypto.tar.gz \
&& unzip ogvjs-$ver_ogvjs.zip \
&& cd forge-$ver_forge \
&& npm install
&& tar -xf $ver_asmcrypto.tar.gz \
&& cd asmcrypto.js-$ver_asmcrypto \
&& npm install \
&& mkdir /z/dist
# customize
COPY forge.patch /z
# build forge
RUN cd forge-$ver_forge \
&& patch -p1 < /z/forge.patch \
&& npm run build \
&& mkdir /z/dist \
&& cp -pv dist/forge.sha512.* /z/dist
# build asmcrypto
RUN cd asmcrypto.js-$ver_asmcrypto \
&& echo "export { Sha512 } from './hash/sha512/sha512';" > src/entry-export_all.ts \
&& node -r esm build.js \
&& mv asmcrypto.all.es5.js /z/dist/sha512.js \
&& mv dist_es5/hash/sha512/sha512.asm.js /z/dist/
# build ogvjs
RUN cd ogvjs-$ver_ogvjs \