1{ lib
2, mkYarnPackage
3, fetchFromGitHub
4, fetchYarnDeps
5}:
6
7mkYarnPackage rec {
8 pname = "asar";
9 version = "3.2.4";
10
11 src = fetchFromGitHub {
12 owner = "electron";
13 repo = "asar";
14 rev = "v${version}";
15 hash = "sha256-12FP8VRDo1PQ+tiN4zhzkcfAx9zFs/0MU03t/vFo074=";
16 };
17
18 packageJSON = ./package.json;
19
20 offlineCache = fetchYarnDeps {
21 yarnLock = "${src}/yarn.lock";
22 hash = "sha256-/fV3hd98pl46+fgmiMH9sDQrrZgdLY1oF9c3TaIxRSg=";
23 };
24
25 doDist = false;
26
27 installPhase = ''
28 runHook preInstall
29
30 mkdir -p "$out/lib/node_modules"
31 mv deps/@electron "$out/lib/node_modules"
32 rm "$out/lib/node_modules/@electron/asar/node_modules"
33 mv node_modules "$out/lib/node_modules/@electron/asar"
34
35 mkdir "$out/bin"
36 ln -s "$out/lib/node_modules/@electron/asar/bin/asar.js" "$out/bin/asar"
37
38 runHook postInstall
39 '';
40
41 meta = {
42 description = "Simple extensive tar-like archive format with indexing";
43 homepage = "https://github.com/electron/asar";
44 license = lib.licenses.mit;
45 mainProgram = "asar";
46 maintainers = with lib.maintainers; [ xvapx ];
47 };
48}