From 799cfd954519843dccfd656a5732200e62846168 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alu=C3=ADsio=20Augusto=20Silva=20Gon=C3=A7alves?= Date: Sun, 18 Aug 2019 12:42:05 -0300 Subject: pythonPackages.daemonocle: init at 1.0.2 --- .../python-modules/daemonocle/default.nix | 42 ++++++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 ++ 2 files changed, 44 insertions(+) create mode 100644 pkgs/development/python-modules/daemonocle/default.nix diff --git a/pkgs/development/python-modules/daemonocle/default.nix b/pkgs/development/python-modules/daemonocle/default.nix new file mode 100644 index 000000000000..ac470b83f7b2 --- /dev/null +++ b/pkgs/development/python-modules/daemonocle/default.nix @@ -0,0 +1,42 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, click +, psutil +, pytestCheckHook +}: + +buildPythonPackage rec { + pname = "daemonocle"; + version = "1.0.2"; + + src = fetchFromGitHub { + owner = "jnrbsn"; + repo = "daemonocle"; + rev = "v${version}"; + hash = "sha256-kDCbosXTIffuCzHcReXhiW4YPbxDW3OPnTbMC/EGJrM="; + }; + + propagatedBuildInputs = [ click psutil ]; + checkInputs = [ pytestCheckHook ]; + + # One third of the tests fail on the sandbox with + # "psutil.NoSuchProcess: no process found with pid 0". + doCheck = false; + disabledTests = [ "sudo" ]; + pythonImportsCheck = [ "daemonocle" ]; + + meta = with lib; { + description = "A Python library for creating super fancy Unix daemons"; + longDescription = '' + daemonocle is a library for creating your own Unix-style daemons + written in Python. It solves many problems that other daemon + libraries have and provides some really useful features you don't + often see in other daemons. + ''; + homepage = "https://github.com/jnrbsn/daemonocle"; + license = licenses.mit; + maintainers = [ maintainers.AluisioASG ]; + platforms = platforms.unix; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 500ed5a252c4..594209b344d9 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -1452,6 +1452,8 @@ in { daemonize = callPackage ../development/python-modules/daemonize { }; + daemonocle = callPackage ../development/python-modules/daemonocle { }; + daphne = callPackage ../development/python-modules/daphne { }; darcsver = callPackage ../development/python-modules/darcsver { }; -- cgit v1.2.3 From b0d6df575c32f8cebd352c342657e1928648bdf4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alu=C3=ADsio=20Augusto=20Silva=20Gon=C3=A7alves?= Date: Sun, 18 Aug 2019 13:37:45 -0300 Subject: dyndnsc: init at 0.5.1 --- .../networking/dyndns/dyndnsc/default.nix | 59 ++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 2 files changed, 61 insertions(+) create mode 100644 pkgs/applications/networking/dyndns/dyndnsc/default.nix diff --git a/pkgs/applications/networking/dyndns/dyndnsc/default.nix b/pkgs/applications/networking/dyndns/dyndnsc/default.nix new file mode 100644 index 000000000000..65d463057416 --- /dev/null +++ b/pkgs/applications/networking/dyndns/dyndnsc/default.nix @@ -0,0 +1,59 @@ +{ stdenv, lib, python3Packages }: + +python3Packages.buildPythonApplication rec { + pname = "dyndnsc"; + version = "0.5.1"; + + src = python3Packages.fetchPypi { + inherit pname version; + hash = "sha256-Sy6U0XhIQ9mPmznmWKqoyqE34vaE84fwlivouaF7Dd0="; + }; + + postPatch = '' + substituteInPlace setup.py --replace "bottle==" "bottle>=" + ''; + + nativeBuildInputs = with python3Packages; [ pytestrunner ]; + propagatedBuildInputs = with python3Packages; [ + daemonocle + dnspython + netifaces + requests + setuptools + ]; + checkInputs = with python3Packages; [ bottle pytestCheckHook ]; + + disabledTests = [ + # dnswanip connects to an external server to discover the + # machine's IP address. + "dnswanip" + ] ++ lib.optionals stdenv.isDarwin [ + # The tests that spawn a server using Bottle cannot be run on + # macOS or Windows as the default multiprocessing start method + # on those platforms is 'spawn', which requires the code to be + # run to be picklable, which this code isn't. + # Additionaly, other start methods are unsafe and prone to failure + # on macOS; see https://bugs.python.org/issue33725. + "BottleServer" + ]; + # Allow tests that bind or connect to localhost on macOS. + __darwinAllowLocalNetworking = true; + + meta = with lib; { + description = "Dynamic DNS update client with support for multiple protocols"; + longDescription = '' + Dyndnsc is a command line client for sending updates to Dynamic + DNS (DDNS, DynDNS) services. It supports multiple protocols and + services, and it has native support for IPv6. The configuration + file allows using foreign, but compatible services. Dyndnsc + ships many different IP detection mechanisms, support for + configuring multiple services in one place and it has a daemon + mode for running unattended. It has a plugin system to provide + external notification services. + ''; + homepage = "https://github.com/infothrill/python-dyndnsc"; + license = licenses.mit; + maintainers = with maintainers; [ AluisioASG ]; + platforms = platforms.unix; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 4420d2f0bc96..c36c6236a6d8 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -2037,6 +2037,8 @@ in dyncall = callPackage ../development/libraries/dyncall { }; + dyndnsc = callPackage ../applications/networking/dyndns/dyndnsc { }; + earlyoom = callPackage ../os-specific/linux/earlyoom { }; EBTKS = callPackage ../development/libraries/science/biology/EBTKS { }; -- cgit v1.2.3