{ lib , stdenv , rustPlatform , fetchFromGitLab , pkg-config , sqlite , openssl , CoreServices }: rustPlatform.buildRustPackage rec { pname = "arti"; version = "0.5.0"; src = fetchFromGitLab { domain = "gitlab.torproject.org"; group = "tpo"; owner = "core"; repo = "arti"; rev = "arti-v${version}"; sha256 = "sha256-xze8Frxy9Rv01yz0L8GkEaXUoLlpODv3pEat1HnDIOs="; }; cargoSha256 = "sha256-yCQLSLxEziDQGDNtP7pmXlTImSKzr/O/5sITMHVJg8E="; nativeBuildInputs = lib.optionals stdenv.isLinux [ pkg-config ]; buildInputs = [ sqlite ] ++ lib.optionals stdenv.isLinux [ openssl ] ++ lib.optionals stdenv.isDarwin [ CoreServices ]; cargoBuildFlags = [ "--package" "arti" ]; cargoTestFlags = [ "--package" "arti" ]; meta = with lib; { description = "An implementation of Tor in Rust"; homepage = "https://gitlab.torproject.org/tpo/core/arti"; changelog = "https://gitlab.torproject.org/tpo/core/arti/-/raw/${src.rev}/CHANGELOG.md"; license = with licenses; [ asl20 /* or */ mit ]; maintainers = with maintainers; [ marsam ]; }; }