From bef30ac04d6519c0f30fab6c35c1822c20aa7bdb Mon Sep 17 00:00:00 2001 From: ed Date: Sun, 25 Jan 2026 00:22:54 +0000 Subject: [PATCH] webdeps: vendor asmcrypto.js; npm is no longer able to build it, and the build output never changed since copyparty v0.11.20 (2021-06-20) / asmcrypto 2821dd1dedd1196c378f5854037dda5c869313f3 (2018-12-02) one final pass of reasonable size-golfing was done by hand deflated with pigz -11 -I250 --- copyparty/web/deps/README.md | 18 ++++++++++++++++++ copyparty/web/deps/sha512.ac.js.gz | Bin 0 -> 6667 bytes docs/lics.txt | 2 +- scripts/deps-docker/Dockerfile | 18 +++--------------- scripts/make-pypi-release.sh | 1 + scripts/make-sfx.sh | 2 +- scripts/make-tgz-release.sh | 3 ++- 7 files changed, 26 insertions(+), 18 deletions(-) create mode 100644 copyparty/web/deps/README.md create mode 100644 copyparty/web/deps/sha512.ac.js.gz diff --git a/copyparty/web/deps/README.md b/copyparty/web/deps/README.md new file mode 100644 index 00000000..41a4d853 --- /dev/null +++ b/copyparty/web/deps/README.md @@ -0,0 +1,18 @@ +this folder *mostly* contains third-party dependencies; run `make -C scripts/deps-docker` to build the following files and have them appear here: + +* `easymde.css.gz` and `easymde.js.gz` is the fancy markdown editor, [EasyMDE](https://github.com/Ionaru/easy-markdown-editor) +* `marked.js.gz` is the markdown rendering library [Marked](https://github.com/markedjs/marked) +* `mini-fa.css.gz` and `mini-fa.woff` is a small subset of [fontawesome](https://github.com/FortAwesome/Font-Awesome) +* `prism.css.gz` and `prism.js.gz` is the syntax highlighter [PrismJS](https://prismjs.com/) +* `scp.woff2` is a subset of the monospace font [Source Code Pro](https://github.com/adobe-fonts/source-code-pro) +* `sha512.hw.js.gz` is the Wasm sha512 library [hash-wasm](https://github.com/Daninet/hash-wasm) + +additionally, the following files are vendored into the copyparty git repository, but do NOT originate from the copyparty project (as mentioned in `--license`): + +* `sha512.ac.js.gz` is a compiled and slightly golfed/modified [asmcrypto.js](https://github.com/asmcrypto/asmcrypto.js), © 2013 Artem S Vybornov (MIT-Licensed) + * vendored because it no longer builds with modern versions of NodeJS/npm + * is only loaded by *really old* webbrowsers (ie11, firefox 51, chrome 56) + +finally, there is also the following files which *does* originate from the copyparty project, yet appear here for technical reasons: + +* `busy.mp3.gz` is a short mp3-file to make iphones stop glitching out diff --git a/copyparty/web/deps/sha512.ac.js.gz b/copyparty/web/deps/sha512.ac.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..ce98a7fe3a1bb98959f96ff6214947a92f65c2fa GIT binary patch literal 6667 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 src/entry-export_all.ts \ - && node -r esm build.js \ - && awk '/HMAC state/{o=1} /var HEAP/{o=0} /function hmac_reset/{o=1} /return \{/{o=0} /var __extends =/{o=1} /var Hash =/{o=0} /hmac_|pbkdf2_/{next} o{next} {gsub(/IllegalStateError/,"Exception")} {sub(/^ +/,"");sub(/^\/\/ .*/,"");sub(/;$/," ;")} 1' < asmcrypto.all.es5.js > /z/dist/sha512.ac.js - - # build hash-wasm RUN cd hash-wasm/dist \ && mv sha512.umd.min.js /z/dist/sha512.hw.js diff --git a/scripts/make-pypi-release.sh b/scripts/make-pypi-release.sh index aecfea94..7ed3b8a0 100755 --- a/scripts/make-pypi-release.sh +++ b/scripts/make-pypi-release.sh @@ -151,6 +151,7 @@ done rm -rf contrib [ $fast ] && sed -ri s/573/10/ copyparty/web/Makefile (cd copyparty/web && make -j$(nproc) && rm Makefile) +rm -f copyparty/web/deps/README.md # build python3 -m build diff --git a/scripts/make-sfx.sh b/scripts/make-sfx.sh index 770080d3..afd12c3b 100755 --- a/scripts/make-sfx.sh +++ b/scripts/make-sfx.sh @@ -435,7 +435,7 @@ find -name py.typed -delete find -type f \( -name .DS_Store -or -name ._.DS_Store \) -delete find -type f -name ._\* | while IFS= read -r f; do cmp <(printf '\x00\x05\x16') <(head -c 3 -- "$f") && rm -fv -- "$f"; done -rm -f copyparty/web/deps/*.full.* copyparty/web/dbg-* copyparty/web/Makefile +rm -f copyparty/web/deps/*.full.* copyparty/web/deps/README.md copyparty/web/dbg-* copyparty/web/Makefile find copyparty | LC_ALL=C sort | sed -r 's/\.gz$//;s/$/,/' > have cat have | while IFS= read -r x; do diff --git a/scripts/make-tgz-release.sh b/scripts/make-tgz-release.sh index c68766f9..f7cf25ca 100755 --- a/scripts/make-tgz-release.sh +++ b/scripts/make-tgz-release.sh @@ -91,7 +91,8 @@ grep -qE "^VERSION *= \(${commaver}\)$" copyparty/__version__.py || } rm -rf .vscode -rm \ +rm -f \ + copyparty/web/deps/README.md \ .gitattributes \ .gitignore