about summary refs log tree commit diff
path: root/nixpkgs/pkgs/applications/misc/khard/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/applications/misc/khard/default.nix')
-rw-r--r--nixpkgs/pkgs/applications/misc/khard/default.nix50
1 files changed, 50 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/applications/misc/khard/default.nix b/nixpkgs/pkgs/applications/misc/khard/default.nix
new file mode 100644
index 000000000000..0654974eb939
--- /dev/null
+++ b/nixpkgs/pkgs/applications/misc/khard/default.nix
@@ -0,0 +1,50 @@
+{ lib, python3, fetchPypi, khard, testers }:
+
+python3.pkgs.buildPythonApplication rec {
+  version = "0.19.1";
+  pname = "khard";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "sha256-WfMKDaPD2j6wT02+GO5HY5E7aF2Z7IQY/VdKiMSRxJA=";
+  };
+
+  SETUPTOOLS_SCM_PRETEND_VERSION = version;
+  nativeBuildInputs = with python3.pkgs; [
+    setuptools-scm
+    sphinxHook
+    sphinx-autoapi
+    sphinx-autodoc-typehints
+  ];
+
+  sphinxBuilders = [ "man" ];
+
+  propagatedBuildInputs = with python3.pkgs; [
+    atomicwrites
+    configobj
+    ruamel-yaml
+    unidecode
+    vobject
+  ];
+
+  postInstall = ''
+    install -D misc/zsh/_khard $out/share/zsh/site-functions/_khard
+  '';
+
+  preCheck = ''
+    # see https://github.com/scheibler/khard/issues/263
+    export COLUMNS=80
+  '';
+
+  pythonImportsCheck = [ "khard" ];
+
+  passthru.tests.version = testers.testVersion { package = khard; };
+
+  meta = {
+    homepage = "https://github.com/scheibler/khard";
+    description = "Console carddav client";
+    license = lib.licenses.gpl3;
+    maintainers = with lib.maintainers; [ matthiasbeyer ];
+    mainProgram = "khard";
+  };
+}