diff options
Diffstat (limited to 'pkgs/by-name/ei/eintopf/frontend.nix')
-rw-r--r-- | pkgs/by-name/ei/eintopf/frontend.nix | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/pkgs/by-name/ei/eintopf/frontend.nix b/pkgs/by-name/ei/eintopf/frontend.nix new file mode 100644 index 0000000000000..0a7bdd15dee98 --- /dev/null +++ b/pkgs/by-name/ei/eintopf/frontend.nix @@ -0,0 +1,64 @@ +{ lib +, stdenv +, fetchYarnDeps +, fixup-yarn-lock +, yarn +, fetchFromGitea +, src +, version +, nodejs +, eintopf +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "eintopf"; + inherit version src; + + sourceRoot = "${finalAttrs.src.name}/backstage"; + + offlineCache = fetchYarnDeps { + yarnLock = "${finalAttrs.src}/yarn.lock"; + hash = "sha256-Z/Pkk/qCWwr99g11DjEgnisPfxOhfD8+OCn6otxJtfI="; + }; + + nativeBuildInputs = [ + fixup-yarn-lock + nodejs + yarn + ]; + + configurePhase = '' + runHook preConfigure + + export HOME=$(mktemp -d) + yarn config --offline set yarn-offline-mirror $offlineCache + fixup-yarn-lock yarn.lock + yarn --offline --frozen-lockfile --ignore-platform --ignore-scripts --no-progress --non-interactive install + patchShebangs node_modules + + runHook postConfigure + ''; + + buildPhase = '' + runHook preBuild + + yarn --offline build + + runHook postBuild + ''; + + installPhase = '' + runHook preInstall + + yarn --offline --production install + + mkdir -p "$out" + cp -r . $out/ + + runHook postInstall + ''; + + meta = { + inherit (eintopf.meta) homepage description license maintainers; + }; +}) |