evcc: 0.131.4 -> 0.131.5
[NixPkgs.git] / pkgs / by-name / cd / cdxgen / package.nix
blob8909dab33951e21fae670cc742dd4273e846d83e
2   fetchFromGitHub,
3   lib,
4   makeWrapper,
5   nodejs,
6   node-gyp,
7   pnpm_9,
8   python3,
9   stdenv,
10   xcbuild,
13 stdenv.mkDerivation (finalAttrs: {
14   pname = "cdxgen";
15   version = "10.10.4";
17   src = fetchFromGitHub {
18     owner = "CycloneDX";
19     repo = "cdxgen";
20     rev = "v${finalAttrs.version}";
21     hash = "sha256-5FxH9cAJ9FoSn1euimKOvxlAEny+LUqj/EH80+l1v04=";
22   };
24   nativeBuildInputs = [
25     makeWrapper
26     nodejs
27     node-gyp # required for sqlite3 bindings
28     pnpm_9.configHook
29     python3 # required for sqlite3 bindings
30   ] ++ lib.optional stdenv.hostPlatform.isDarwin [ xcbuild ];
32   pnpmDeps = pnpm_9.fetchDeps {
33     inherit (finalAttrs) pname version src;
34     hash = "sha256-GdFU8mx9H3daxziprIOQWZWEBcz9y9Qk88sus838Xlk=";
35   };
37   buildPhase = ''
38     runHook preBuild
40     pushd node_modules/sqlite3
41     node-gyp rebuild
42     popd
44     runHook postBuild
45   '';
47   installPhase = ''
48     runHook preInstall
50     mkdir -p $out/bin $out/lib
51     cp -r * $out/lib
52     makeWrapper ${nodejs}/bin/node "$out/bin/cdxgen" --add-flags "$out/lib/bin/cdxgen.js"
53     makeWrapper ${nodejs}/bin/node "$out/bin/cdxgen-evinse" --add-flags "$out/lib/bin/evinse.js"
54     makeWrapper ${nodejs}/bin/node "$out/bin/cdxgen-repl" --add-flags "$out/lib/bin/repl.js"
55     makeWrapper ${nodejs}/bin/node "$out/bin/cdxgen-verify" --add-flags "$out/lib/bin/verify.js"
57     runHook postInstall
58   '';
60   meta = with lib; {
61     description = "Creates CycloneDX Software Bill-of-Materials (SBOM) for your projects from source and container images";
62     mainProgram = "cdxgen";
63     homepage = "https://github.com/CycloneDX/cdxgen";
64     license = licenses.asl20;
65     maintainers = with maintainers; [
66       dit7ya
67       quincepie
68     ];
69   };