diff options
Diffstat (limited to 'infra/libkookie/nixpkgs/pkgs/applications/networking/dyndns/dyndnsc/default.nix')
-rw-r--r-- | infra/libkookie/nixpkgs/pkgs/applications/networking/dyndns/dyndnsc/default.nix | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/infra/libkookie/nixpkgs/pkgs/applications/networking/dyndns/dyndnsc/default.nix b/infra/libkookie/nixpkgs/pkgs/applications/networking/dyndns/dyndnsc/default.nix new file mode 100644 index 000000000000..65d463057416 --- /dev/null +++ b/infra/libkookie/nixpkgs/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; + }; +} |