1{ lib
2, rustPlatform
3, fetchFromGitHub
4, pkg-config
5, openssl
6, stdenv
7, darwin
8}:
9
10rustPlatform.buildRustPackage rec {
11 pname = "hydra-cli";
12 version = "0.3.0";
13
14 src = fetchFromGitHub {
15 owner = "nlewo";
16 repo = pname;
17 rev = "v${version}";
18 sha256 = "1fd3swdjx249971ak1bgndm5kh6rlzbfywmydn122lhfi6ry6a03";
19 };
20
21 cargoLock = {
22 lockFile = ./Cargo.lock;
23 };
24
25 nativeBuildInputs = [
26 pkg-config
27 ];
28
29 buildInputs = [
30 openssl
31 ] ++ lib.optionals stdenv.isDarwin [
32 darwin.apple_sdk.frameworks.Security
33 ];
34
35 # build fails due to outdated socket2 dependency
36 postPatch = ''
37 ln -sf ${./Cargo.lock} Cargo.lock
38 '';
39
40 __darwinAllowLocalNetworking = true;
41
42 meta = with lib; {
43 description = "A client for the Hydra CI";
44 mainProgram = "hydra-cli";
45 homepage = "https://github.com/nlewo/hydra-cli";
46 license = with licenses; [ mit ];
47 maintainers = with maintainers; [ lewo ];
48 };
49}