1{ lib
2, buildPythonPackage
3, fetchFromGitHub
4, click
5, psutil
6, pytestCheckHook
7, lsof
8}:
9
10buildPythonPackage rec {
11 pname = "daemonocle";
12 version = "1.2.3";
13
14 src = fetchFromGitHub {
15 owner = "jnrbsn";
16 repo = "daemonocle";
17 rev = "v${version}";
18 hash = "sha256-K+IqpEQ4yhfSguPPm2Ult3kGNO/9H56B+kD5ntaCZdk=";
19 };
20
21 propagatedBuildInputs = [
22 click
23 psutil
24 ];
25
26 nativeCheckInputs = [
27 pytestCheckHook
28 lsof
29 ];
30
31 # One third of the tests fail on the sandbox with
32 # "psutil.NoSuchProcess: no process found with pid 0".
33 disabledTests = [
34 "sudo"
35 "test_chrootdir_without_permission"
36 "test_uid_and_gid_without_permission"
37 "test_multi_daemon"
38 "test_multi_daemon_action_worker_id"
39 "test_exec_worker"
40 ];
41
42 pythonImportsCheck = [
43 "daemonocle"
44 ];
45
46 meta = with lib; {
47 description = "A Python library for creating super fancy Unix daemons";
48 longDescription = ''
49 daemonocle is a library for creating your own Unix-style daemons
50 written in Python. It solves many problems that other daemon
51 libraries have and provides some really useful features you don't
52 often see in other daemons.
53 '';
54 homepage = "https://github.com/jnrbsn/daemonocle";
55 license = licenses.mit;
56 maintainers = with maintainers; [ AluisioASG ];
57 platforms = platforms.unix;
58 };
59}