{ lib, rustPlatform, fetchFromGitHub, pkg-config, protobuf, openssl, sqlite, stdenv, darwin, }: rustPlatform.buildRustPackage { pname = "crabfit-api"; version = "unstable-2023-08-02"; src = fetchFromGitHub { owner = "GRA0007"; repo = "crab.fit"; rev = "628f9eefc300bf1ed3d6cc3323332c2ed9b8a350"; hash = "sha256-jy8BrJSHukRenPbZHw4nPx3cSi7E2GSg//WOXDh90mY="; }; sourceRoot = "source/api"; patches = [ ./addr.patch ]; cargoLock = { lockFile = ./Cargo.lock; outputHashes = { "google-cloud-0.2.1" = "sha256-3/sUeAXnpxO6kzx5+R7ukvMCEM001VoEPP6HmaRihHE="; }; }; nativeBuildInputs = [ pkg-config protobuf ]; buildInputs = [ openssl sqlite ] ++ lib.optionals stdenv.isDarwin [ darwin.apple_sdk.frameworks.CoreFoundation darwin.apple_sdk.frameworks.Security darwin.apple_sdk.frameworks.SystemConfiguration ]; buildFeatures = [ "sql-adaptor" ]; PROTOC = "${protobuf}/bin/protoc"; meta = with lib; { description = "Enter your availability to find a time that works for everyone"; homepage = "https://github.com/GRA0007/crab.fit"; license = licenses.gpl3; maintainers = with maintainers; [ thubrecht ]; mainProgram = "crabfit-api"; }; }