1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 click,
6 psutil,
7 pytestCheckHook,
8 lsof,
9}:
10
11buildPythonPackage rec {
12 pname = "daemonocle";
13 version = "1.2.3";
14 format = "setuptools";
15
16 src = fetchFromGitHub {
17 owner = "jnrbsn";
18 repo = "daemonocle";
19 rev = "v${version}";
20 hash = "sha256-K+IqpEQ4yhfSguPPm2Ult3kGNO/9H56B+kD5ntaCZdk=";
21 };
22
23 propagatedBuildInputs = [
24 click
25 psutil
26 ];
27
28 nativeCheckInputs = [
29 pytestCheckHook
30 lsof
31 ];
32
33 # One third of the tests fail on the sandbox with
34 # "psutil.NoSuchProcess: no process found with pid 0".
35 disabledTests = [
36 "sudo"
37 "test_chrootdir_without_permission"
38 "test_uid_and_gid_without_permission"
39 "test_multi_daemon"
40 "test_multi_daemon_action_worker_id"
41 "test_exec_worker"
42 ];
43
44 pythonImportsCheck = [ "daemonocle" ];
45
46 meta = with lib; {
47 description = "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 = [ ];
57 platforms = platforms.unix;
58 };
59}