1{
2 lib,
3 fetchFromGitHub,
4 buildPythonPackage,
5 pygobject3,
6 xvfb-run,
7 gobject-introspection,
8 gtk3,
9 pythonOlder,
10 pytest,
11 setuptools,
12}:
13
14buildPythonPackage rec {
15 pname = "liblarch";
16 version = "3.2.0";
17 pyproject = true;
18
19 disabled = pythonOlder "3.5";
20
21 src = fetchFromGitHub {
22 owner = "getting-things-gnome";
23 repo = "liblarch";
24 rev = "v${version}";
25 hash = "sha256-A2qChe2z6rAhjRVX5VoHQitebf/nMATdVZQgtlquuYg=";
26 };
27
28 build-system = [
29 setuptools
30 ];
31
32 nativeCheckInputs = [
33 gobject-introspection # for setup hook
34 gtk3
35 pytest
36 ];
37
38 buildInputs = [ gtk3 ];
39
40 propagatedBuildInputs = [ pygobject3 ];
41
42 checkPhase = ''
43 runHook preCheck
44 ${xvfb-run}/bin/xvfb-run -s '-screen 0 800x600x24' pytest
45 runHook postCheck
46 '';
47
48 meta = with lib; {
49 description = "Python library built to easily handle data structure such are lists, trees and acyclic graphs";
50 homepage = "https://github.com/getting-things-gnome/liblarch";
51 downloadPage = "https://github.com/getting-things-gnome/liblarch/releases";
52 license = licenses.lgpl3Plus;
53 maintainers = with maintainers; [ oyren ];
54 platforms = platforms.linux;
55 };
56}