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