diff options
Diffstat (limited to 'pkgs/applications/window-managers/i3/status-rust.nix')
-rw-r--r-- | pkgs/applications/window-managers/i3/status-rust.nix | 44 |
1 files changed, 37 insertions, 7 deletions
diff --git a/pkgs/applications/window-managers/i3/status-rust.nix b/pkgs/applications/window-managers/i3/status-rust.nix index 8bd3d581434..fe0cde61c6f 100644 --- a/pkgs/applications/window-managers/i3/status-rust.nix +++ b/pkgs/applications/window-managers/i3/status-rust.nix @@ -1,26 +1,56 @@ -{ stdenv, rustPlatform, fetchFromGitHub, pkgconfig, dbus, libpulseaudio }: +{ lib +, rustPlatform +, fetchFromGitHub +, pkg-config +, makeWrapper +, dbus +, libpulseaudio +, notmuch +, openssl +, ethtool +}: rustPlatform.buildRustPackage rec { pname = "i3status-rust"; - version = "0.14.1"; + version = "0.20.2"; src = fetchFromGitHub { owner = "greshake"; repo = pname; rev = "v${version}"; - sha256 = "11qhzjml04njhfa033v98m4yd522zj91s6ffvrm0m6sk7m0wyjsc"; + sha256 = "sha256-9PXvQrh0gmn/G+b7sbQffQkPnUKu1eVrvUoJlRBsOEM="; }; - cargoSha256 = "0jmmxld4rsjj6p5nazi3d8j1hh7r34q6kyfqq4wv0sjc77gcpaxd"; + cargoSha256 = "sha256-6orDR2Ml1Fy20uT47EDkEk0rGFxO0djHZsFiqlS1Tk8="; - nativeBuildInputs = [ pkgconfig ]; + nativeBuildInputs = [ pkg-config makeWrapper ]; - buildInputs = [ dbus libpulseaudio ]; + buildInputs = [ dbus libpulseaudio notmuch openssl ]; + + cargoBuildFlags = [ + "--features=notmuch" + "--features=maildir" + "--features=pulseaudio" + ]; + + prePatch = '' + substituteInPlace src/util.rs \ + --replace "/usr/share/i3status-rust" "$out/share" + ''; + + postInstall = '' + mkdir -p $out/share + cp -R files/* $out/share + ''; + + postFixup = '' + wrapProgram $out/bin/i3status-rs --prefix PATH : "${ethtool}/bin" + ''; # Currently no tests are implemented, so we avoid building the package twice doCheck = false; - meta = with stdenv.lib; { + meta = with lib; { description = "Very resource-friendly and feature-rich replacement for i3status"; homepage = "https://github.com/greshake/i3status-rust"; license = licenses.gpl3; |