movim: remove parallel dependency

Currently there is an issue with $PATH & parallel causing build errors.
It’s probably best to just remove the dependency where bash forking is
good enough here.
This commit is contained in:
toastal 2024-04-27 10:12:01 +07:00
parent 10e3506904
commit 13852fc9ad
2 changed files with 34 additions and 46 deletions

View File

@ -103,22 +103,20 @@ let
lib.concatStringsSep "\n" [
(lib.optionalString brotli.enable ''
echo -n "Precompressing static files with Brotli "
find ${appDir}/public -type f ${findTextFileNames} \
| ${lib.getExe pkgs.parallel} ${lib.escapeShellArgs [
"--will-cite"
"-j $NIX_BUILD_CORES"
"${lib.getExe brotli.package} --keep --quality=${builtins.toString brotli.compressionLevel} --output={}.br {}"
]}
find ${appDir}/public -type f ${findTextFileNames} -print0 \
| xargs -0 -n 1 -P $NIX_BUILD_CORES ${pkgs.writeShellScript "movim_precompress_broti" ''
file="$1"
${lib.getExe brotli.package} --keep --quality=${builtins.toString brotli.compressionLevel} --output=$file.br $file
''}
echo " done."
'')
(lib.optionalString gzip.enable ''
echo -n "Precompressing static files with Gzip "
find ${appDir}/public -type f ${findTextFileNames} \
| ${lib.getExe pkgs.parallel} ${lib.escapeShellArgs [
"--will-cite"
"-j $NIX_BUILD_CORES"
"${lib.getExe gzip.package} -c -${builtins.toString gzip.compressionLevel} {} > {}.gz"
]}
find ${appDir}/public -type f ${findTextFileNames} -print0 \
| xargs -0 -n 1 -P $NIX_BUILD_CORES ${pkgs.writeShellScript "movim_precompress_broti" ''
file="$1"
${lib.getExe gzip.package} -c -${builtins.toString gzip.compressionLevel} $file > $file.gz
''}
echo " done."
'')
];

View File

@ -1,13 +1,13 @@
{ lib
, fetchpatch
, fetchFromGitHub
, writeShellScript
, dash
, php
, phpCfg ? null
, withPgsql ? true # “strongly recommended” according to docs
, withMysql ? false
, minifyStaticFiles ? false # default files are often not minified
, parallel
, esbuild
, lightningcss
, scour
@ -67,8 +67,7 @@ php.buildComposerProject (finalAttrs: {
});
nativeBuildInputs =
lib.optional (lib.any (x: x.enable) (lib.attrValues minify)) parallel
++ lib.optional minify.script.enable esbuild
lib.optional minify.script.enable esbuild
++ lib.optional minify.style.enable lightningcss
++ lib.optional minify.svg.enable scour;
@ -101,39 +100,30 @@ php.buildComposerProject (finalAttrs: {
'';
preBuild = lib.optionalString minify.script.enable ''
find ./public -type f -iname "*.js" \
| parallel ${lib.escapeShellArgs [
"--will-cite"
"-j $NIX_BUILD_CORES"
''
tmp="$(mktemp)"
esbuild {} --minify --target=${lib.escapeShellArg minify.script.target} --outfile=$tmp
[[ "$(stat -c %s $tmp)" -lt "$(stat -c %s {})" ]] && mv $tmp {}
''
]}
find ./public -type f -iname "*.js" -print0 \
| xargs -0 -n 1 -P $NIX_BUILD_CORES ${writeShellScript "movim_script_minify" ''
file="$1"
tmp="$(mktemp)"
esbuild $file --minify --target=${lib.escapeShellArg minify.script.target} --outfile=$tmp
[[ "$(stat -c %s $tmp)" -lt "$(stat -c %s $file)" ]] && mv $tmp $file
''}
'' + lib.optionalString minify.style.enable ''
export BROWSERLIST=${lib.escapeShellArg minify.style.browserslist}
find ./public -type f -iname "*.css" \
| parallel ${lib.escapeShellArgs [
"--will-cite"
"-j $NIX_BUILD_CORES"
''
tmp="$(mktemp)"
lightningcss {} --minify --browserslist --output-file=$tmp
[[ "$(stat -c %s $tmp)" -lt "$(stat -c %s {})" ]] && mv $tmp {}
''
]}
find ./public -type f -iname "*.css" -print0 \
| xargs -0 -n 1 -P $NIX_BUILD_CORES ${writeShellScript "movim_style_minify" ''
export BROWSERLIST="${lib.escapeShellArg minify.style.browserslist}"
file="$1"
tmp="$(mktemp)"
lightningcss $file --minify --browserslist --output-file=$tmp
[[ "$(stat -c %s $tmp)" -lt "$(stat -c %s $file)" ]] && mv $tmp $file
''}
'' + lib.optionalString minify.svg.enable ''
find ./public -type f -iname "*.svg" -a -not -path "*/emojis/*" \
| parallel ${lib.escapeShellArgs [
"--will-cite"
"-j $NIX_BUILD_CORES"
''
tmp="$(mktemp)"
scour -i {} -o $tmp --disable-style-to-xml --enable-comment-stripping --enable-viewboxing --indent=tab
[[ "$(stat -c %s $tmp)" -lt "$(stat -c %s {})" ]] && mv $tmp {}
''
]}
find ./public -type f -iname "*.svg" -a -not -path "*/emojis/*" -print0 \
| xargs -0 -n 1 -P $NIX_BUILD_CORES ${writeShellScript "movim_svg_minify" ''
file="$1"
tmp="$(mktemp)"
scour -i $file -o $tmp --disable-style-to-xml --enable-comment-stripping --enable-viewboxing --indent=tab
[[ "$(stat -c %s $tmp)" -lt "$(stat -c %s $file)" ]] && mv $tmp $file
''}
'';
postInstall = ''