lol
1{ lib
2, rustPlatform
3, fetchFromGitHub
4, pkg-config
5, openssl
6, zlib
7, stdenv
8, darwin
9}:
10
11rustPlatform.buildRustPackage rec {
12 pname = "cargo-shuttle";
13 version = "0.33.0";
14
15 src = fetchFromGitHub {
16 owner = "shuttle-hq";
17 repo = "shuttle";
18 rev = "v${version}";
19 hash = "sha256-9MdEB7T+ZJuI5sGbHkhibhqKiGZYmURbaarBsU4gQMk=";
20 };
21
22 cargoLock = {
23 lockFile = ./Cargo.lock;
24 outputHashes = {
25 "hyper-reverse-proxy-0.5.2-dev" = "sha256-R1ZXGgWvwHWRHmKX823QLqM6ZJW+tzWUXigKkAyI5OE=";
26 "tokiotest-httpserver-0.2.1" = "sha256-IPUaglIDwCUoczCCnX+R1IBqtc0s8b8toKEL8zN3/i8=";
27 };
28 };
29
30 nativeBuildInputs = [
31 pkg-config
32 ];
33
34 buildInputs = [
35 openssl
36 zlib
37 ] ++ lib.optionals stdenv.isDarwin [
38 darwin.apple_sdk.frameworks.CoreServices
39 darwin.apple_sdk.frameworks.SystemConfiguration
40 ];
41
42 cargoBuildFlags = [ "-p" "cargo-shuttle" ];
43
44 cargoTestFlags = cargoBuildFlags ++ [
45 # other tests are failing for different reasons
46 "init::shuttle_init_tests::"
47 ];
48
49 meta = with lib; {
50 description = "A cargo command for the shuttle platform";
51 homepage = "https://shuttle.rs";
52 changelog = "https://github.com/shuttle-hq/shuttle/releases/tag/${src.rev}";
53 license = licenses.asl20;
54 maintainers = with maintainers; [ figsoda ];
55 };
56}