1{ lib
2, stdenv
3, fetchFromGitHub
4, openssl
5, pkg-config
6, libiconv
7, darwin
8, rustPlatform
9}:
10
11rustPlatform.buildRustPackage rec {
12 pname = "gitrs";
13 version = "v0.3.6";
14
15 src = fetchFromGitHub {
16 owner = "mccurdyc";
17 repo = pname;
18 rev = version;
19 hash = "sha256-+43XJroPNWmdUC6FDL84rZWrJm5fzuUXfpDkAMyVQQg=";
20 };
21
22 cargoHash = "sha256-2TXm1JTs0Xkid91A5tdi6Kokm0K1NOPmlocwFXv48uw=";
23
24 nativeBuildInputs = [
25 pkg-config # for openssl
26 ];
27
28 buildInputs = [ openssl.dev ]
29 ++ lib.optionals stdenv.isDarwin [
30 libiconv
31 darwin.apple_sdk.frameworks.Security
32 darwin.apple_sdk.frameworks.SystemConfiguration
33 ];
34
35 meta = with lib; {
36 description = "A simple, opinionated, tool, written in Rust, for declaratively managing Git repos on your machine";
37 homepage = "https://github.com/mccurdyc/gitrs";
38 license = licenses.mit;
39 maintainers = with maintainers; [ mccurdyc ];
40 mainProgram = "gitrs";
41 };
42}