nixpkgs/pkgs/applications/misc/done/default.nix

77 lines
1.5 KiB
Nix

{ lib
, stdenv
, fetchFromGitHub
, cargo
, glib
, meson
, ninja
, pkg-config
, rustPlatform
, rustc
, wrapGAppsHook4
, gdk-pixbuf
, gtk4
, libadwaita
, libsecret
, openssl
, sqlite
, darwin
, gettext
}:
stdenv.mkDerivation rec {
pname = "done";
version = "0.2.0";
src = fetchFromGitHub {
owner = "done-devs";
repo = "done";
rev = "v${version}";
hash = "sha256-97bWBayEyhCMjTxxxFVdO8V2pBZuVzss1Tp9/TnfDB0=";
};
cargoDeps = rustPlatform.importCargoLock {
lockFile = ./Cargo.lock;
outputHashes = {
"directories-4.0.1" = "sha256-4M8WstNq5I7UduIUZI9q1R9oazp7MDBRBRBHZv6iGWI=";
"libset-0.1.2" = "sha256-+eA6pqafIYomXdlvwSzT/b/T4Je5HgPPmGL2M11VpMU=";
};
};
nativeBuildInputs = [
cargo
glib
meson
ninja
pkg-config
rustPlatform.cargoSetupHook
rustc
wrapGAppsHook4
];
buildInputs = [
gdk-pixbuf
gtk4
libadwaita
libsecret
openssl
sqlite
] ++ lib.optionals stdenv.isDarwin [
darwin.apple_sdk.frameworks.AppKit
];
env = lib.optionalAttrs stdenv.isDarwin {
GETTEXT_DIR = gettext;
# Work around https://github.com/NixOS/nixpkgs/issues/166205.
NIX_LDFLAGS = "-l${stdenv.cc.libcxx.cxxabi.libName}";
};
meta = with lib; {
description = "The ultimate task management solution for seamless organization and efficiency";
homepage = "https://done.edfloreshz.dev/";
changelog = "https://github.com/done-devs/done/blob/${src.rev}/CHANGES.md";
license = licenses.mpl20;
maintainers = with maintainers; [ figsoda ];
};
}