diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 50bcabe4a891..08e502919ef9 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -723,6 +723,12 @@ githubId = 10677343; name = "Eugene"; }; + afermg = { + email = "afer.mg@gmail.com"; + github = "afermg"; + githubId = 14353896; + name = "Alan Munoz"; + }; afh = { email = "surryhill+nix@gmail.com"; github = "afh"; diff --git a/pkgs/development/python-modules/pynng/default.nix b/pkgs/development/python-modules/pynng/default.nix new file mode 100644 index 000000000000..e3eb55ec0967 --- /dev/null +++ b/pkgs/development/python-modules/pynng/default.nix @@ -0,0 +1,83 @@ +{ + lib, + cmake, + ninja, + buildPythonPackage, + fetchFromGitHub, + setuptools, + setuptools-scm, + cffi, + sniffio, + pytest, + trio, + pytest-trio, + pytest-asyncio, +}: +let + nng = fetchFromGitHub { + owner = "nanomsg"; + repo = "nng"; + tag = "v1.6.0"; + sha256 = "sha256-Kq8QxPU6SiTk0Ev2IJoktSPjVOlAS4/e1PQvw2+e8UA="; + }; + + mbedtls = fetchFromGitHub { + owner = "ARMmbed"; + repo = "mbedtls"; + tag = "v3.5.1"; + sha256 = "sha256-HxsHcGbSExp1aG5yMR/J3kPL4zqnmNoN5T5wfV3APaw="; + }; + +in +buildPythonPackage { + pname = "pynng"; + version = "0.8.1-unstable-2025-05-14"; + format = "pyproject"; + + src = fetchFromGitHub { + owner = "codypiersall"; + repo = "pynng"; + rev = "2179328f8a858bbb3e177f66ac132bde4a5aa859"; + sha256 = "sha256-TxIVcqc+4bro+krc1AWgLdZKGGuQ2D6kybHnv5z1oHg="; + }; + + nativeBuildInputs = [ + cmake + ninja + ]; + + build-system = [ + setuptools + setuptools-scm + ]; + + preBuild = '' + cp -r ${mbedtls} mbedtls + chmod -R +w mbedtls + cp -r ${nng} nng + chmod -R +w nng + ''; + + dontUseCmakeConfigure = true; + + dependencies = [ + cffi + sniffio + pytest + trio + pytest-trio + pytest-asyncio + ]; + + pythonImportsCheck = [ + "pynng" + ]; + + meta = { + description = "Python bindings for Nanomsg Next Generation"; + homepage = "https://github.com/codypiersall/pynng"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ afermg ]; + platforms = lib.platforms.all; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index f10e8780caa1..5fdbd6ef24b3 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -13260,6 +13260,8 @@ self: super: with self; { pynndescent = callPackage ../development/python-modules/pynndescent { }; + pynng = callPackage ../development/python-modules/pynng { }; + pynobo = callPackage ../development/python-modules/pynobo { }; pynordpool = callPackage ../development/python-modules/pynordpool { };