depot/third_party/nixpkgs/pkgs/applications/misc/khal/default.nix

105 lines
2.2 KiB
Nix
Raw Normal View History

{ lib
, stdenv
, fetchFromGitHub
, fetchpatch
, glibcLocales
, installShellFiles
, python3
}:
python3.pkgs.buildPythonApplication rec {
pname = "khal";
version = "0.10.5";
src = fetchFromGitHub {
owner = "pimutils";
repo = pname;
rev = "v${version}";
hash = "sha256-FneJmoAOb7WjSgluCwlspf27IU3MsQZFKryL9OSSsUw=";
};
SETUPTOOLS_SCM_PRETEND_VERSION = version;
nativeBuildInputs = [
glibcLocales
installShellFiles
] ++ (with python3.pkgs; [
setuptools-scm
sphinx
sphinxcontrib_newsfeed
]);
propagatedBuildInputs = with python3.pkgs;[
atomicwrites
click
click-log
configobj
freezegun
icalendar
lxml
pkginfo
pkgs.vdirsyncer
python-dateutil
pytz
pyxdg
requests-toolbelt
tzlocal
urwid
];
nativeCheckInputs = with python3.pkgs;[
freezegun
hypothesis
packaging
pytestCheckHook
vdirsyncer
];
patches = [
# Tests working with latest pytz version, https://github.com/pimutils/khal/pull/1183
(fetchpatch {
name = "support-later-pytz.patch";
url = "https://github.com/pimutils/khal/commit/53eb8a7426d5c09478c78d809c4df4391438e246.patch";
sha256 = "sha256-drGtvJlQ3qFUdeukRWCFycPSZGWG/FSRqnbwJzFKITc=";
excludes = [
"CHANGELOG.rst"
];
})
];
postInstall = ''
# shell completions
installShellCompletion --cmd khal \
--bash <(_KHAL_COMPLETE=bash_source $out/bin/khal) \
--zsh <(_KHAL_COMPLETE=zsh_source $out/bin/khal) \
--fish <(_KHAL_COMPLETE=fish_source $out/bin/khal)
# man page
PATH="${python3.withPackages (ps: with ps; [ sphinx sphinxcontrib_newsfeed ])}/bin:$PATH" \
make -C doc man
installManPage doc/build/man/khal.1
# .desktop file
install -Dm755 misc/khal.desktop -t $out/share/applications
'';
doCheck = !stdenv.isAarch64;
LC_ALL = "en_US.UTF-8";
disabledTests = [
# timing based
"test_etag"
"test_bogota"
"test_event_no_dst"
];
meta = with lib; {
description = "CLI calendar application";
homepage = "http://lostpackets.de/khal/";
license = licenses.mit;
maintainers = with maintainers; [ gebner ];
broken = stdenv.isDarwin;
};
}