nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 lib,
3 arrow,
4 attrs,
5 buildPythonPackage,
6 fetchFromGitHub,
7 pytest-flakes,
8 pytestCheckHook,
9 setuptools,
10 tatsu,
11}:
12
13buildPythonPackage rec {
14 pname = "ics";
15 version = "0.7.2";
16 pyproject = true;
17
18 src = fetchFromGitHub {
19 owner = "ics-py";
20 repo = "ics-py";
21 tag = "v${version}";
22 hash = "sha256-hdtnET7YfSb85+TGwpwzoxOfxPT7VSj9eKSiV6AXUS8=";
23 };
24
25 postPatch = ''
26 substituteInPlace setup.cfg \
27 --replace-fail "--pep8" ""
28 '';
29
30 build-system = [ setuptools ];
31
32 dependencies = [
33 attrs
34 arrow
35 tatsu
36 ];
37
38 nativeCheckInputs = [
39 pytest-flakes
40 pytestCheckHook
41 ];
42
43 disabledTests = [
44 # Failure seems to be related to arrow > 1.0
45 "test_event"
46 # Broke with TatSu 5.7:
47 "test_many_lines"
48 # AssertionError: 'Europe/Berlin' not found in "tzfile('Atlantic/Jan_Mayen')"
49 "test_timezone_not_dropped"
50 ];
51
52 pythonImportsCheck = [ "ics" ];
53
54 meta = {
55 description = "Pythonic and easy iCalendar library (RFC 5545)";
56 longDescription = ''
57 Ics.py is a pythonic and easy iCalendar library. Its goals are to read and
58 write ics data in a developer friendly way.
59 '';
60 homepage = "http://icspy.readthedocs.org/";
61 changelog = "https://github.com/ics-py/ics-py/releases/tag/v${version}";
62 license = lib.licenses.asl20;
63 maintainers = [ ];
64 };
65}