git.iko.soy/typeable/nixpkgs
on master help sign in
dyndnsc: init at 0.5.1
commitb0d6df575c32f8cebd352c342657e1928648bdf4 authorAluísio Augusto Silva Gonçalves <aluisio@aasg.name> dateSun 18 Aug 2019, 13:37 (7 years ago) parent799cfd9
2 files changed+61
pkgs/applications/networking/dyndns/dyndnsc/default.nix+59 pkgs/top-level/all-packages.nix+2
pkgs/applications/networking/dyndns/dyndnsc/default.nixnew file+59
@@ -0,0 +1,59 @@
1+{ stdenv, lib, python3Packages }:
2+
3+python3Packages.buildPythonApplication rec {
4+ pname = "dyndnsc";
5+ version = "0.5.1";
6+
7+ src = python3Packages.fetchPypi {
8+ inherit pname version;
9+ hash = "sha256-Sy6U0XhIQ9mPmznmWKqoyqE34vaE84fwlivouaF7Dd0=";
10+ };
11+
12+ postPatch = ''
13+ substituteInPlace setup.py --replace "bottle==" "bottle>="
14+ '';
15+
16+ nativeBuildInputs = with python3Packages; [ pytestrunner ];
17+ propagatedBuildInputs = with python3Packages; [
18+ daemonocle
19+ dnspython
20+ netifaces
21+ requests
22+ setuptools
23+ ];
24+ checkInputs = with python3Packages; [ bottle pytestCheckHook ];
25+
26+ disabledTests = [
27+ # dnswanip connects to an external server to discover the
28+ # machine's IP address.
29+ "dnswanip"
30+ ] ++ lib.optionals stdenv.isDarwin [
31+ # The tests that spawn a server using Bottle cannot be run on
32+ # macOS or Windows as the default multiprocessing start method
33+ # on those platforms is 'spawn', which requires the code to be
34+ # run to be picklable, which this code isn't.
35+ # Additionaly, other start methods are unsafe and prone to failure
36+ # on macOS; see https://bugs.python.org/issue33725.
37+ "BottleServer"
38+ ];
39+ # Allow tests that bind or connect to localhost on macOS.
40+ __darwinAllowLocalNetworking = true;
41+
42+ meta = with lib; {
43+ description = "Dynamic DNS update client with support for multiple protocols";
44+ longDescription = ''
45+ Dyndnsc is a command line client for sending updates to Dynamic
46+ DNS (DDNS, DynDNS) services. It supports multiple protocols and
47+ services, and it has native support for IPv6. The configuration
48+ file allows using foreign, but compatible services. Dyndnsc
49+ ships many different IP detection mechanisms, support for
50+ configuring multiple services in one place and it has a daemon
51+ mode for running unattended. It has a plugin system to provide
52+ external notification services.
53+ '';
54+ homepage = "https://github.com/infothrill/python-dyndnsc";
55+ license = licenses.mit;
56+ maintainers = with maintainers; [ AluisioASG ];
57+ platforms = platforms.unix;
58+ };
59+}
pkgs/top-level/all-packages.nix+2
@@ -2037,6 +2037,8 @@ in
20372037
20382038 dyncall = callPackage ../development/libraries/dyncall { };
20392039
2040+ dyndnsc = callPackage ../applications/networking/dyndns/dyndnsc { };
2041+
20402042 earlyoom = callPackage ../os-specific/linux/earlyoom { };
20412043
20422044 EBTKS = callPackage ../development/libraries/science/biology/EBTKS { };