biome: 1.9.2 -> 1.9.3
[NixPkgs.git] / pkgs / by-name / sm / smc-fuzzer / package.nix
blob7d10da09bed517409dfe8f1db2ca7575b55cacba
2   lib,
3   swiftPackages,
4   fetchFromGitHub,
5   stdenv,
6 }:
8 stdenv.mkDerivation {
9   pname = "smc-fuzzer";
10   version = "0-unstable-2020-12-23";
12   src = fetchFromGitHub {
13     repo = "smc-fuzzer";
14     owner = "theopolis";
15     rev = "ed60c4efeddea8a9778a976c49c650eee3840eac";
16     hash = "sha256-FyiFSVeO46UnBrpC8AhSuGe7alo37pT8J1qQWGPqV2U=";
17   };
19   buildInputs = [ swiftPackages.apple_sdk.frameworks.AppKit ];
21   installPhase = ''
22     runHook preInstall
24     install -Dm 755 smc -t $out/bin
26     runHook postInstall
27   '';
29   meta = {
30     description = "Apple SMC (System Management Controller) API fuzzer";
31     longDescription = ''
32       smc-fuzzer uses the AppleSMC IOKit interface and a userland API for
33       interacting with the System Management Controller (Mac embedded
34       controllers). The tool focuses on the SMC key/value API.
36       smc-fuzzer is not just useful for fuzzing the SMC itself: it can also be
37       used to explicitly control or query the SMC.  That makes it useful in
38       system management, e.g. controlling and querying the charge status of an
39       Apple laptop.
40     '';
41     homepage = "https://github.com/theopolis/smc-fuzzer";
42     license = lib.licenses.gpl2Plus;
43     maintainers = with lib.maintainers; [ hraban ];
44     mainProgram = "smc";
45     platforms = lib.platforms.darwin;
46   };