1{ lib
2, rustPlatform
3, fetchFromGitHub
4, cmake
5, pkg-config
6, stdenv
7, libiconv
8, Security
9, SystemConfiguration
10, curl
11, openssl
12}:
13
14rustPlatform.buildRustPackage rec {
15 pname = "gitoxide";
16 version = "0.31.1";
17
18 src = fetchFromGitHub {
19 owner = "Byron";
20 repo = "gitoxide";
21 rev = "v${version}";
22 hash = "sha256-ML0sVsegrG96rBfpnD7GgOf9TWe/ojRo9UJwMFpDsKs=";
23 };
24
25 cargoHash = "sha256-gz4VY4a4AK9laIQo2MVTabyKzMyc7jRHrYsrfOLx+Ao=";
26
27 nativeBuildInputs = [ cmake pkg-config ];
28
29 buildInputs = [ curl ] ++ (if stdenv.isDarwin
30 then [ libiconv Security SystemConfiguration ]
31 else [ openssl ]);
32
33 # Needed to get openssl-sys to use pkg-config.
34 env.OPENSSL_NO_VENDOR = 1;
35
36 meta = with lib; {
37 description = "A command-line application for interacting with git repositories";
38 homepage = "https://github.com/Byron/gitoxide";
39 changelog = "https://github.com/Byron/gitoxide/blob/v${version}/CHANGELOG.md";
40 license = with licenses; [ mit /* or */ asl20 ];
41 maintainers = with maintainers; [ syberant ];
42 };
43}