kimai: fix bundled assets missing
We were relying on `composerNoScripts = false` to make sure post-install
command `assets:install` is run. `assets:install` copies assets from
`vendor/` directory into `public/` directory, placing it in appropriate
places.
However, with commit 80bb9aec24 ("kimai: switch to buildComposerProject2
and tag"), we switched to `buildComposerProject2` which has moved
`composer install` step to `composerVendor` derivation. By design,
`composerVendor` ignores anything that happens outside `vendor/`, so
the assets was not copied into final derivation.
So stop relying on `composerNoScripts = false` and run `assets:install`
ourselves in `postInstall` step. A side effect of this is that there is
another post-install step being skipped (`cache:clear`). However we
simply handle caches outside of the derivation (it's handled in the
module), so that's not a problem.
Fixes: https://github.com/NixOS/nixpkgs/issues/442208
This commit is contained in:
@@ -17,5 +17,8 @@
|
||||
machine.wait_for_unit("nginx.service")
|
||||
machine.wait_for_open_port(80)
|
||||
machine.succeed("curl -v --location --fail http://localhost/")
|
||||
# Make sure bundled assets are served.
|
||||
# https://github.com/NixOS/nixpkgs/issues/442208
|
||||
machine.succeed("curl -v --location --fail http://localhost/bundles/tabler/tabler.css")
|
||||
'';
|
||||
}
|
||||
|
||||
@@ -41,13 +41,16 @@ php.buildComposerProject2 (finalAttrs: {
|
||||
vendorHash = "sha256-I4v4WkPGLc8vBPjCiYzPxcLn4rH3HWtQXSqwGVKXeGg=";
|
||||
|
||||
composerNoPlugins = false;
|
||||
composerNoScripts = false;
|
||||
|
||||
postInstall = ''
|
||||
# Make available the console utility, as Kimai doesn't list this in
|
||||
# composer.json.
|
||||
mkdir -p "$out"/share/php/kimai "$out"/bin
|
||||
ln -s "$out"/share/php/kimai/bin/console "$out"/bin/console
|
||||
|
||||
# Install bundled assets. This is normally done in the `composer install`
|
||||
# post-install script, but it's being skipped.
|
||||
(cd "$out"/share/php/kimai && php ./bin/console assets:install)
|
||||
'';
|
||||
|
||||
passthru.tests = {
|
||||
|
||||
Reference in New Issue
Block a user