diff --git a/pkgs/development/python-modules/aiodiscover/default.nix b/pkgs/development/python-modules/aiodiscover/default.nix index db3b043e8355..97caef50285a 100644 --- a/pkgs/development/python-modules/aiodiscover/default.nix +++ b/pkgs/development/python-modules/aiodiscover/default.nix @@ -28,7 +28,9 @@ buildPythonPackage rec { ]; postPatch = '' - substituteInPlace setup.py --replace '"pytest-runner>=5.2",' "" + substituteInPlace setup.py \ + --replace '"pytest-runner>=5.2",' "" \ + --replace "pyroute2>=0.5.18,!=0.6.1" "pyroute2" ''; checkInputs = [ diff --git a/pkgs/development/python-modules/mitogen/default.nix b/pkgs/development/python-modules/mitogen/default.nix new file mode 100644 index 000000000000..3268e8fae7ba --- /dev/null +++ b/pkgs/development/python-modules/mitogen/default.nix @@ -0,0 +1,28 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +}: + +buildPythonPackage rec { + pname = "mitogen"; + version = "0.3.0rc1"; + + src = fetchFromGitHub { + owner = "mitogen-hq"; + repo = pname; + rev = "v${version}"; + sha256 = "0hxb41sshybxjyvyarl2axs0v6w53vqxafgfjrmpp5k20z5kapz4"; + }; + + # Tests require network access and Docker support + doCheck = false; + + pythonImportsCheck = [ "mitogen" ]; + + meta = with lib; { + description = "Python Library for writing distributed self-replicating programs"; + homepage = "https://github.com/mitogen-hq/mitogen"; + license = licenses.bsd3; + maintainers = with maintainers; [ fab ]; + }; +} diff --git a/pkgs/development/python-modules/pyroute2-core/default.nix b/pkgs/development/python-modules/pyroute2-core/default.nix new file mode 100644 index 000000000000..4ee37e4bfed1 --- /dev/null +++ b/pkgs/development/python-modules/pyroute2-core/default.nix @@ -0,0 +1,33 @@ +{ lib +, buildPythonPackage +, fetchPypi +, pyroute2-core +}: + +buildPythonPackage rec { + pname = "pyroute2-core"; + version = "0.6.1"; + + src = fetchPypi { + pname = "pyroute2.core"; + inherit version; + sha256 = "04v10rzz844w2wfpy4pkh8fxn6dminjmfm1q7ngg5wvpk5r691rj"; + }; + + # pyroute2 sub-modules have no tests + doCheck = false; + + pythonImportsCheck = [ + "pr2modules.common" + "pr2modules.config" + "pr2modules.proxy" + ]; + + meta = with lib; { + description = "Core module for pyroute2"; + homepage = "https://github.com/svinota/pyroute2"; + license = licenses.asl20; + maintainers = with maintainers; [ fab ]; + platforms = platforms.unix; + }; +} diff --git a/pkgs/development/python-modules/pyroute2-ethtool/default.nix b/pkgs/development/python-modules/pyroute2-ethtool/default.nix new file mode 100644 index 000000000000..4e671b4e193f --- /dev/null +++ b/pkgs/development/python-modules/pyroute2-ethtool/default.nix @@ -0,0 +1,35 @@ +{ lib +, buildPythonPackage +, fetchPypi +, pyroute2-core +}: + +buildPythonPackage rec { + pname = "pyroute2-ethtool"; + version = "0.6.1"; + + src = fetchPypi { + pname = "pyroute2.ethtool"; + inherit version; + sha256 = "1gd2vvdkjf6ppiql3znrlzc9xg8c4gsyg2jfm76c2xf329hi66n7"; + }; + + propagatedBuildInputs = [ + pyroute2-core + ]; + + # pyroute2 sub-modules have no tests + doCheck = false; + + pythonImportsCheck = [ + "pr2modules.ethtool" + ]; + + meta = with lib; { + description = "Ethtool module for pyroute2"; + homepage = "https://github.com/svinota/pyroute2"; + license = licenses.asl20; + maintainers = with maintainers; [ fab ]; + platforms = platforms.unix; + }; +} diff --git a/pkgs/development/python-modules/pyroute2-ipdb/default.nix b/pkgs/development/python-modules/pyroute2-ipdb/default.nix new file mode 100644 index 000000000000..733988f20f50 --- /dev/null +++ b/pkgs/development/python-modules/pyroute2-ipdb/default.nix @@ -0,0 +1,35 @@ +{ lib +, buildPythonPackage +, fetchPypi +, pyroute2-core +}: + +buildPythonPackage rec { + pname = "pyroute2-ipdb"; + version = "0.6.1"; + + src = fetchPypi { + pname = "pyroute2.ipdb"; + inherit version; + sha256 = "0wnzvy72pjipsdcfnwxpqp0jimg2l3w6gwd3r4b3mhvhackgsvs6"; + }; + + propagatedBuildInputs = [ + pyroute2-core + ]; + + # pyroute2 sub-modules have no tests + doCheck = false; + + pythonImportsCheck = [ + "pr2modules.ipdb" + ]; + + meta = with lib; { + description = "Ipdb module for pyroute2"; + homepage = "https://github.com/svinota/pyroute2"; + license = licenses.asl20; + maintainers = with maintainers; [ fab ]; + platforms = platforms.unix; + }; +} diff --git a/pkgs/development/python-modules/pyroute2-ipset/default.nix b/pkgs/development/python-modules/pyroute2-ipset/default.nix new file mode 100644 index 000000000000..5ea6c7ce5d4d --- /dev/null +++ b/pkgs/development/python-modules/pyroute2-ipset/default.nix @@ -0,0 +1,35 @@ +{ lib +, buildPythonPackage +, fetchPypi +, pyroute2-core +}: + +buildPythonPackage rec { + pname = "pyroute2-ipset"; + version = "0.6.1"; + + src = fetchPypi { + pname = "pyroute2.ipset"; + inherit version; + sha256 = "1d5l9f028y7fjfbxpp5wls9ffdgrln24dlz8k4p11b5n445liakx"; + }; + + propagatedBuildInputs = [ + pyroute2-core + ]; + + # pyroute2 sub-modules have no tests + doCheck = false; + + pythonImportsCheck = [ + "pr2modules.ipset" + ]; + + meta = with lib; { + description = "Ipset module for pyroute2"; + homepage = "https://github.com/svinota/pyroute2"; + license = licenses.asl20; + maintainers = with maintainers; [ fab ]; + platforms = platforms.unix; + }; +} diff --git a/pkgs/development/python-modules/pyroute2-ndb/default.nix b/pkgs/development/python-modules/pyroute2-ndb/default.nix new file mode 100644 index 000000000000..7b34b3d341a3 --- /dev/null +++ b/pkgs/development/python-modules/pyroute2-ndb/default.nix @@ -0,0 +1,33 @@ +{ lib +, buildPythonPackage +, fetchPypi +, pyroute2-core +}: + +buildPythonPackage rec { + pname = "pyroute2-ndb"; + version = "0.6.1"; + + src = fetchPypi { + pname = "pyroute2.ndb"; + inherit version; + sha256 = "0lzvh0vva8i86h00add0b45s4f5dn6zbgysfvmzrxxasvda7fhlj"; + }; + + propagatedBuildInputs = [ + pyroute2-core + ]; + + # pyroute2 sub-modules have no tests + doCheck = false; + + pythonImportsCheck = [ "pr2modules.ndb" ]; + + meta = with lib; { + description = "NDB module for pyroute2"; + homepage = "https://github.com/svinota/pyroute2"; + license = licenses.asl20; + maintainers = with maintainers; [ fab ]; + platforms = platforms.unix; + }; +} diff --git a/pkgs/development/python-modules/pyroute2-nftables/default.nix b/pkgs/development/python-modules/pyroute2-nftables/default.nix new file mode 100644 index 000000000000..594d57cba1bb --- /dev/null +++ b/pkgs/development/python-modules/pyroute2-nftables/default.nix @@ -0,0 +1,35 @@ +{ lib +, buildPythonPackage +, fetchPypi +, pyroute2-core +}: + +buildPythonPackage rec { + pname = "pyroute2-nftables"; + version = "0.6.1"; + + src = fetchPypi { + pname = "pyroute2.nftables"; + inherit version; + sha256 = "0g93jsjf77sxjxmgmd8pzy8daxnqnzp2fk9gbh9kxk1n1958p100"; + }; + + propagatedBuildInputs = [ + pyroute2-core + ]; + + # pyroute2 sub-modules have no tests + doCheck = false; + + pythonImportsCheck = [ + "pr2modules.nftables" + ]; + + meta = with lib; { + description = "Nftables module for pyroute2"; + homepage = "https://github.com/svinota/pyroute2"; + license = licenses.asl20; + maintainers = with maintainers; [ fab ]; + platforms = platforms.unix; + }; +} diff --git a/pkgs/development/python-modules/pyroute2-nslink/default.nix b/pkgs/development/python-modules/pyroute2-nslink/default.nix new file mode 100644 index 000000000000..e1076c1d0a05 --- /dev/null +++ b/pkgs/development/python-modules/pyroute2-nslink/default.nix @@ -0,0 +1,35 @@ +{ lib +, buildPythonPackage +, fetchPypi +, pyroute2-core +}: + +buildPythonPackage rec { + pname = "pyroute2-nslink"; + version = "0.6.1"; + + src = fetchPypi { + pname = "pyroute2.nslink"; + inherit version; + sha256 = "0hjdi863imppirjrwr87xk2mfbw2djcsh7x94cq4xwps7bxmmkwk"; + }; + + propagatedBuildInputs = [ + pyroute2-core + ]; + + # pyroute2 sub-modules have no tests + doCheck = false; + + pythonImportsCheck = [ + "pr2modules.nslink" + ]; + + meta = with lib; { + description = "Nslink module for pyroute2"; + homepage = "https://github.com/svinota/pyroute2"; + license = licenses.asl20; + maintainers = with maintainers; [ fab ]; + platforms = platforms.unix; + }; +} diff --git a/pkgs/development/python-modules/pyroute2-protocols/default.nix b/pkgs/development/python-modules/pyroute2-protocols/default.nix new file mode 100644 index 000000000000..389ca2ab44d0 --- /dev/null +++ b/pkgs/development/python-modules/pyroute2-protocols/default.nix @@ -0,0 +1,35 @@ +{ lib +, buildPythonPackage +, fetchPypi +, pyroute2-core +}: + +buildPythonPackage rec { + pname = "pyroute2-protocols"; + version = "0.6.1"; + + src = fetchPypi { + pname = "pyroute2.protocols"; + inherit version; + sha256 = "16c22ygyxdn1mhnd2f34q9b2mqa27klk6di91w27ycb3aczmadlm"; + }; + + propagatedBuildInputs = [ + pyroute2-core + ]; + + # pyroute2 sub-modules have no tests + doCheck = false; + + pythonImportsCheck = [ + "pr2modules.protocols" + ]; + + meta = with lib; { + description = "Protocols module for pyroute2"; + homepage = "https://github.com/svinota/pyroute2"; + license = licenses.asl20; + maintainers = with maintainers; [ fab ]; + platforms = platforms.unix; + }; +} diff --git a/pkgs/development/python-modules/pyroute2/default.nix b/pkgs/development/python-modules/pyroute2/default.nix index 00ce008d6cc7..f18bc12caa6a 100644 --- a/pkgs/development/python-modules/pyroute2/default.nix +++ b/pkgs/development/python-modules/pyroute2/default.nix @@ -1,17 +1,36 @@ { lib , buildPythonPackage , fetchPypi +, mitogen +, pyroute2-core +, pyroute2-ethtool +, pyroute2-ipdb +, pyroute2-ipset +, pyroute2-ndb +, pyroute2-nftables +, pyroute2-nslink }: buildPythonPackage rec { pname = "pyroute2"; - version = "0.5.18"; + version = "0.6.1"; src = fetchPypi { inherit pname version; - sha256 = "sha256-CKxAytUsC7Lg8gCHUgWZqpH8zgsiHdJukEIzBCiBC8U="; + sha256 = "sha256-nvG1PcuyQoZPrfMS4atsXsvpInjYt1bUIeX6Ol5DsO8="; }; + propagatedBuildInputs = [ + mitogen + pyroute2-core + pyroute2-ethtool + pyroute2-ipdb + pyroute2-ipset + pyroute2-ndb + pyroute2-nftables + pyroute2-nslink + ]; + # Requires root privileges, https://github.com/svinota/pyroute2/issues/778 doCheck = false; diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 50d02dbfdffe..6d5de034b504 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -4298,6 +4298,8 @@ in { mitmproxy = callPackage ../development/python-modules/mitmproxy { }; + mitogen = callPackage ../development/python-modules/mitogen { }; + mixpanel = callPackage ../development/python-modules/mixpanel { }; mkl-service = callPackage ../development/python-modules/mkl-service { }; @@ -6222,6 +6224,22 @@ in { pyroute2 = callPackage ../development/python-modules/pyroute2 { }; + pyroute2-core = callPackage ../development/python-modules/pyroute2-core { }; + + pyroute2-ethtool = callPackage ../development/python-modules/pyroute2-ethtool { }; + + pyroute2-ipdb = callPackage ../development/python-modules/pyroute2-ipdb { }; + + pyroute2-ipset = callPackage ../development/python-modules/pyroute2-ipset { }; + + pyroute2-ndb = callPackage ../development/python-modules/pyroute2-ndb { }; + + pyroute2-nftables = callPackage ../development/python-modules/pyroute2-nftables { }; + + pyroute2-nslink = callPackage ../development/python-modules/pyroute2-nslink { }; + + pyroute2-protocols = callPackage ../development/python-modules/pyroute2-protocols { }; + pyrr = callPackage ../development/python-modules/pyrr { }; pyrsistent = callPackage ../development/python-modules/pyrsistent { };