Merge pull request #105715 from AluisioASG/aasg/dyndnsc
This commit is contained in:
commit
555641c504
59
pkgs/applications/networking/dyndns/dyndnsc/default.nix
Normal file
59
pkgs/applications/networking/dyndns/dyndnsc/default.nix
Normal file
@ -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;
|
||||
};
|
||||
}
|
42
pkgs/development/python-modules/daemonocle/default.nix
Normal file
42
pkgs/development/python-modules/daemonocle/default.nix
Normal file
@ -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;
|
||||
};
|
||||
}
|
@ -2039,6 +2039,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 { };
|
||||
|
@ -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 { };
|
||||
|
Loading…
Reference in New Issue
Block a user