diff options
author | Robert Schütz <nix@dotlambda.de> | 2023-09-19 18:42:16 -0700 |
---|---|---|
committer | Robert Schütz <nix@dotlambda.de> | 2023-09-20 09:07:28 -0700 |
commit | c4574a95c510c6f99051e1c3396aba5e2e6952b1 (patch) | |
tree | 08837781eed0729d269c9985fb1e53a1687cbb63 /pkgs/servers | |
parent | f7f848d8cb9e1ef7b96278ab61f6ea2034bc0342 (diff) |
plausible: also install tracker
Diffstat (limited to 'pkgs/servers')
-rw-r--r-- | pkgs/servers/web-apps/plausible/default.nix | 45 |
1 files changed, 34 insertions, 11 deletions
diff --git a/pkgs/servers/web-apps/plausible/default.nix b/pkgs/servers/web-apps/plausible/default.nix index 39a2dc09d7732..9255a92f280b6 100644 --- a/pkgs/servers/web-apps/plausible/default.nix +++ b/pkgs/servers/web-apps/plausible/default.nix @@ -1,9 +1,8 @@ { lib , beamPackages +, buildNpmPackage , fetchFromGitHub , nodejs -, npmHooks -, fetchNpmDeps , nixosTests }: @@ -24,22 +23,40 @@ let inherit src version; hash = "sha256-CAyZLpjmw1JreK3MopqI0XsWhP+fJEMpXlww7CibSaM="; }; + + assets = buildNpmPackage { + pname = "${pname}-assets"; + inherit version; + src = "${src}/assets"; + npmDepsHash = "sha256-2t1M6RQhBjZxx36qawVUVC+ob9SvQIq5dy4HgVeY2Eo="; + dontNpmBuild = true; + installPhase = '' + runHook preInstall + cp -r . "$out" + runHook postInstall + ''; + }; + + tracker = buildNpmPackage { + pname = "${pname}-tracker"; + inherit version; + src = "${src}/tracker"; + npmDepsHash = "sha256-y09jVSwUrxF0nLpLqS1yQweYL+iMF6jVx0sUdQtvrpc="; + dontNpmBuild = true; + installPhase = '' + runHook preInstall + cp -r . "$out" + runHook postInstall + ''; + }; in beamPackages.mixRelease { inherit pname version src mixFodDeps; nativeBuildInputs = [ nodejs - npmHooks.npmConfigHook ]; - npmDeps = fetchNpmDeps { - src = "${src}/assets"; - hash = "sha256-2t1M6RQhBjZxx36qawVUVC+ob9SvQIq5dy4HgVeY2Eo="; - }; - - npmRoot = "assets"; - passthru = { tests = { inherit (nixosTests) plausible; }; updateScript = ./update.sh; @@ -49,10 +66,16 @@ beamPackages.mixRelease { substituteInPlace lib/plausible_release.ex --replace 'defp prepare do' 'def prepare do' ''; + preBuild = '' + rm -r assets tracker + cp -r ${assets} assets + cp -r ${tracker} tracker + ''; + postBuild = '' - export HOME=$TMPDIR export NODE_OPTIONS=--openssl-legacy-provider # required for webpack compatibility with OpenSSL 3 (https://github.com/webpack/webpack/issues/14532) npm run deploy --prefix ./assets + npm run deploy --prefix ./tracker # for external task you need a workaround for the no deps check flag # https://github.com/phoenixframework/phoenix/issues/2690 |