btrbk: add mainProgram
[NixPkgs.git] / pkgs / by-name / me / metacubexd / package.nix
blob85b7083f15b97705f98e69af94263094e6a8e200
2   lib,
3   fetchFromGitHub,
4   nix-update-script,
5   nodejs,
6   pnpm,
7   stdenv,
8 }:
9 stdenv.mkDerivation (finalAttrs: {
10   pname = "metacubexd";
11   version = "1.168.0";
13   src = fetchFromGitHub {
14     owner = "MetaCubeX";
15     repo = "metacubexd";
16     rev = "v${finalAttrs.version}";
17     hash = "sha256-HTHqf4R3eD+LlI9qmSz4id0SPVgid8Qp4P9JZzXGKlk=";
18   };
20   nativeBuildInputs = [
21     pnpm.configHook
22     nodejs
23   ];
25   pnpmDeps = pnpm.fetchDeps {
26     inherit (finalAttrs) pname version src;
27     hash = "sha256-OFcXsAFMwY6BnyEVK9Px1g17CHCQWyPpr1My7u3XPpU=";
28   };
30   buildPhase = ''
31     runHook preBuild
33     pnpm build
35     runHook postBuild
36   '';
38   installPhase = ''
39     runHook preInstall
41     cp -r ./dist $out
43     runHook postInstall
44   '';
46   passthru.updateScript = nix-update-script { };
48   meta = {
49     description = "Clash.Meta Dashboard, The Official One, XD";
50     homepage = "https://github.com/MetaCubeX/metacubexd";
51     license = lib.licenses.mit;
52     platforms = lib.platforms.all;
53     maintainers = with lib.maintainers; [ Guanran928 ];
54   };