nixpkgs/pkgs/by-name/ei/eintopf/frontend.nix
2024-08-31 10:58:30 +02:00

63 lines
1.1 KiB
Nix

{ stdenv
, fetchYarnDeps
, fixup-yarn-lock
, yarn
, src
, version
, nodejs
, eintopf
}:
stdenv.mkDerivation (finalAttrs: {
pname = "eintopf";
inherit version src;
sourceRoot = "${finalAttrs.src.name}/backstage";
offlineCache = fetchYarnDeps {
yarnLock = "${finalAttrs.src}/backstage/yarn.lock";
hash = "sha256-7Br2FBhLZf7Cuul5n55EHfqyW8GbujB+yZ/RK6f7I4M=";
};
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;
};
})