1{ stdenv
2, lib
3, fetchFromGitHub
4, rustPlatform
5, pkg-config
6, nix-update-script
7, Security
8, openssl
9}:
10
11let
12 pname = "gptcommit";
13 version = "0.5.8";
14in
15rustPlatform.buildRustPackage {
16 inherit pname version;
17
18 src = fetchFromGitHub {
19 owner = "zurawiki";
20 repo = pname;
21 rev = "v${version}";
22 sha256 = "sha256-K4A0np8+gpFpSU4jBv6PAw4RyUWmIB7dTgWvpy36CYY=";
23 };
24
25 cargoSha256 = "sha256-awztElsrJCUGUn2HcGpCkxUO/nEy8iZO22/fQtwAKdg=";
26
27 nativeBuildInputs = [ pkg-config ];
28
29 # 0.5.6 release has failing tests
30 doCheck = false;
31
32 buildInputs = lib.optionals stdenv.isDarwin [ Security ] ++ lib.optionals stdenv.isLinux [ openssl ];
33
34 passthru = {
35 updateScript = nix-update-script { };
36 };
37
38 meta = with lib; {
39 description = "A git prepare-commit-msg hook for authoring commit messages with GPT-3. ";
40 homepage = "https://github.com/zurawiki/gptcommit";
41 license = with licenses; [ asl20 ];
42 maintainers = with maintainers; [ happysalada ];
43 platforms = with platforms; all;
44 };
45}
46