nixpkgs/pkgs/applications/networking/irc/tiny/default.nix

48 lines
1.2 KiB
Nix

{ stdenv
, lib
, rustPlatform
, fetchFromGitHub
, pkg-config
, Foundation
, dbusSupport ? stdenv.isLinux, dbus
# rustls will be used for TLS if useOpenSSL=false
, useOpenSSL ? stdenv.isLinux, openssl
, notificationSupport ? stdenv.isLinux
}:
rustPlatform.buildRustPackage rec {
pname = "tiny";
version = "0.11.0";
src = fetchFromGitHub {
owner = "osa1";
repo = pname;
rev = "v${version}";
hash = "sha256-oOaLQh9gJlurHi9awoRh4wQnXwkuOGJLnGQA6di6k1Q=";
};
cargoPatches = [ ./Cargo.lock.patch ];
cargoHash = "sha256-wUBScLNRNAdDZ+HpQjYiExgPJnE9cxviooHePbJI13Q=";
nativeBuildInputs = lib.optional stdenv.isLinux pkg-config;
buildInputs = lib.optionals dbusSupport [ dbus ]
++ lib.optionals useOpenSSL [ openssl ]
++ lib.optional stdenv.isDarwin Foundation;
buildFeatures = lib.optional notificationSupport "desktop-notifications";
checkFlags = [
# flaky test
"--skip=tests::config::parsing_tab_configs"
];
meta = with lib; {
description = "A console IRC client";
homepage = "https://github.com/osa1/tiny";
changelog = "https://github.com/osa1/tiny/raw/v${version}/CHANGELOG.md";
license = licenses.mit;
maintainers = with maintainers; [ Br1ght0ne vyp ];
};
}