mastodon: create missing static gzip and brotli files
This commit is contained in:
parent
24037e1818
commit
609dd87597
|
@ -1,6 +1,7 @@
|
||||||
{ lib, stdenv, nodejs-slim, mkYarnPackage, fetchFromGitHub, bundlerEnv, nixosTests
|
{ lib, stdenv, nodejs-slim, mkYarnPackage, fetchFromGitHub, bundlerEnv, nixosTests
|
||||||
, yarn, callPackage, imagemagick, ffmpeg, file, ruby_3_0, writeShellScript
|
, yarn, callPackage, imagemagick, ffmpeg, file, ruby_3_0, writeShellScript
|
||||||
, fetchYarnDeps, fixup_yarn_lock
|
, fetchYarnDeps, fixup_yarn_lock
|
||||||
|
, brotli
|
||||||
|
|
||||||
# Allow building a fork or custom version of Mastodon:
|
# Allow building a fork or custom version of Mastodon:
|
||||||
, pname ? "mastodon"
|
, pname ? "mastodon"
|
||||||
|
@ -45,7 +46,7 @@ stdenv.mkDerivation rec {
|
||||||
sha256 = "sha256-fuU92fydoazSXBHwA+DG//gRgWVYQ1M3m2oNS2iwv4I=";
|
sha256 = "sha256-fuU92fydoazSXBHwA+DG//gRgWVYQ1M3m2oNS2iwv4I=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ fixup_yarn_lock nodejs-slim yarn mastodonGems mastodonGems.wrappedRuby ];
|
nativeBuildInputs = [ fixup_yarn_lock nodejs-slim yarn mastodonGems mastodonGems.wrappedRuby brotli ];
|
||||||
|
|
||||||
RAILS_ENV = "production";
|
RAILS_ENV = "production";
|
||||||
NODE_ENV = "production";
|
NODE_ENV = "production";
|
||||||
|
@ -69,6 +70,17 @@ stdenv.mkDerivation rec {
|
||||||
rails assets:precompile
|
rails assets:precompile
|
||||||
yarn cache clean --offline
|
yarn cache clean --offline
|
||||||
rm -rf ~/node_modules/.cache
|
rm -rf ~/node_modules/.cache
|
||||||
|
|
||||||
|
# Create missing static gzip and brotli files
|
||||||
|
gzip -9 -n -c ~/public/assets/500.html > ~/public/assets/500.html.gz
|
||||||
|
gzip -9 -n -c ~/public/packs/report.html > ~/public/packs/report.html.gz
|
||||||
|
find ~/public/assets -maxdepth 1 -type f -name ".*.json" | while read file; do
|
||||||
|
gzip -9 -n -c $file > $file.gz
|
||||||
|
done
|
||||||
|
brotli --best -f ~/public/packs/report.html -o ~/public/packs/report.html.br
|
||||||
|
find ~/public/assets -type f -regextype posix-extended -iregex '.*\.(css|js|json|html)' | while read file; do
|
||||||
|
brotli --best -f $file -o $file.br
|
||||||
|
done
|
||||||
'';
|
'';
|
||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
|
@ -95,6 +107,22 @@ stdenv.mkDerivation rec {
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
|
# Create missing static gzip and brotli files
|
||||||
|
find public -maxdepth 1 -type f -regextype posix-extended -iregex '.*\.(css|js|svg|txt|xml)' | while read file; do
|
||||||
|
gzip -9 -n -c $file > $file.gz
|
||||||
|
brotli --best -f $file -o $file.br
|
||||||
|
done
|
||||||
|
find public/emoji -type f -name "*.svg" | while read file; do
|
||||||
|
gzip -9 -n -c $file > $file.gz
|
||||||
|
brotli --best -f $file -o $file.br
|
||||||
|
done
|
||||||
|
ln -s assets/500.html.gz public/500.html.gz
|
||||||
|
ln -s assets/500.html.br public/500.html.br
|
||||||
|
ln -s packs/sw.js.gz public/sw.js.gz
|
||||||
|
ln -s packs/sw.js.br public/sw.js.br
|
||||||
|
ln -s packs/sw.js.map.gz public/sw.js.map.gz
|
||||||
|
ln -s packs/sw.js.map.br public/sw.js.map.br
|
||||||
|
|
||||||
rm -rf log
|
rm -rf log
|
||||||
ln -s /var/log/mastodon log
|
ln -s /var/log/mastodon log
|
||||||
ln -s /tmp tmp
|
ln -s /tmp tmp
|
||||||
|
|
Loading…
Reference in a new issue