From 99c4eddd4768879e70545c556eafda2b44bd21fd Mon Sep 17 00:00:00 2001 From: Ethan Carter Edwards Date: Mon, 11 Aug 2025 11:44:02 -0400 Subject: [PATCH 1/3] python3Packages.securestring: init at 0.2 Signed-off-by: Ethan Carter Edwards --- .../python-modules/securestring/default.nix | 36 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 ++ 2 files changed, 38 insertions(+) create mode 100644 pkgs/development/python-modules/securestring/default.nix diff --git a/pkgs/development/python-modules/securestring/default.nix b/pkgs/development/python-modules/securestring/default.nix new file mode 100644 index 000000000000..b0def76456dd --- /dev/null +++ b/pkgs/development/python-modules/securestring/default.nix @@ -0,0 +1,36 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + setuptools, + openssl, +}: + +buildPythonPackage rec { + pname = "securestring"; + version = "0.2"; + pyproject = true; + + src = fetchFromGitHub { + owner = "dnet"; + repo = "pysecstr"; + tag = "v${version}"; + hash = "sha256-FV5NUPberA5nqHad8IwkQLMldT1DPqTGpqOwgQ2zSdI="; + }; + + build-system = [ setuptools ]; + + buildInputs = [ openssl ]; + + pythonImportsCheck = [ "SecureString" ]; + + # no upstream tests exist + doCheck = false; + + meta = { + description = "Clears the contents of strings containing cryptographic material"; + homepage = "https://github.com/dnet/pysecstr"; + license = lib.licenses.mit; + maintainers = [ lib.maintainers.ethancedwards8 ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 6f07217d973d..42b200062644 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -16293,6 +16293,8 @@ self: super: with self; { secure = callPackage ../development/python-modules/secure { }; + securestring = callPackage ../development/python-modules/securestring { }; + securesystemslib = callPackage ../development/python-modules/securesystemslib { }; securetar = callPackage ../development/python-modules/securetar { }; From a5bebf0fb7ed36fbb16148c7f09f5cc9907289ef Mon Sep 17 00:00:00 2001 From: Ethan Carter Edwards Date: Mon, 11 Aug 2025 11:48:41 -0400 Subject: [PATCH 2/3] python3Packages.pysodium: init at 0.7.18 Signed-off-by: Ethan Carter Edwards --- .../python-modules/pysodium/default.nix | 47 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 49 insertions(+) create mode 100644 pkgs/development/python-modules/pysodium/default.nix diff --git a/pkgs/development/python-modules/pysodium/default.nix b/pkgs/development/python-modules/pysodium/default.nix new file mode 100644 index 000000000000..6d0213e83481 --- /dev/null +++ b/pkgs/development/python-modules/pysodium/default.nix @@ -0,0 +1,47 @@ +{ + lib, + stdenv, + buildPythonPackage, + fetchFromGitHub, + setuptools, + libsodium, + pytestCheckHook, +}: + +buildPythonPackage rec { + pname = "pysodium"; + version = "0.7.18"; + pyproject = true; + + src = fetchFromGitHub { + owner = "stef"; + repo = "pysodium"; + tag = "v${version}"; + hash = "sha256-F2215AAI8UIvn6UbaJ/YxI4ZolCzlwY6nS5IafTs+i4="; + }; + + postPatch = + let + soext = stdenv.hostPlatform.extensions.sharedLibrary; + in + '' + substituteInPlace ./pysodium/__init__.py --replace-fail \ + "ctypes.util.find_library('sodium') or ctypes.util.find_library('libsodium')" "'${libsodium}/lib/libsodium${soext}'" + ''; + + build-system = [ setuptools ]; + + buildInputs = [ libsodium ]; + + nativeCheckInputs = [ pytestCheckHook ]; + + pythonImportsCheck = [ "pysodium" ]; + + meta = { + description = "Wrapper for libsodium providing high level crypto primitives"; + homepage = "https://github.com/stef/pysodium"; + changelog = "https://github.com/stef/pysodium/releases/tag/v${version}"; + maintainers = [ lib.maintainers.ethancedwards8 ]; + license = lib.licenses.bsd2; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 42b200062644..ed904bfd451f 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -14066,6 +14066,8 @@ self: super: with self; { pysocks = callPackage ../development/python-modules/pysocks { }; + pysodium = callPackage ../development/python-modules/pysodium { }; + pysol-cards = callPackage ../development/python-modules/pysol-cards { }; pysolarmanv5 = callPackage ../development/python-modules/pysolarmanv5 { }; From 1631285382b4938f87abe003c729d2fa30d99fad Mon Sep 17 00:00:00 2001 From: Ethan Carter Edwards Date: Mon, 11 Aug 2025 22:06:37 -0400 Subject: [PATCH 3/3] python3Packages.pyoprf: init at 0.7.1 Signed-off-by: Ethan Carter Edwards --- .../python-modules/pyoprf/default.nix | 54 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 56 insertions(+) create mode 100644 pkgs/development/python-modules/pyoprf/default.nix diff --git a/pkgs/development/python-modules/pyoprf/default.nix b/pkgs/development/python-modules/pyoprf/default.nix new file mode 100644 index 000000000000..317533daa588 --- /dev/null +++ b/pkgs/development/python-modules/pyoprf/default.nix @@ -0,0 +1,54 @@ +{ + lib, + stdenv, + buildPythonPackage, + liboprf, + setuptools, + pysodium, + securestring, + pytestCheckHook, +}: + +buildPythonPackage rec { + pname = "pyoprf"; + pyproject = true; + + inherit (liboprf) + version + src + ; + + postPatch = + let + soext = stdenv.hostPlatform.extensions.sharedLibrary; + in + '' + substituteInPlace ./pyoprf/__init__.py --replace-fail \ + "ctypes.util.find_library('oprf') or ctypes.util.find_library('liboprf')" "'${lib.getLib liboprf}/lib/liboprf${soext}'" + ''; + + sourceRoot = "${src.name}/python"; + + build-system = [ setuptools ]; + + dependencies = [ + pysodium + securestring + ]; + + pythonImportsCheck = [ "pyoprf" ]; + + nativeCheckInputs = [ pytestCheckHook ]; + + pytestFlagsArray = [ "tests/test.py" ]; + + meta = { + inherit (liboprf.meta) + description + homepage + changelog + license + teams + ; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index ed904bfd451f..ee90764b4e6e 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -13508,6 +13508,8 @@ self: super: with self; { pyoppleio-legacy = callPackage ../development/python-modules/pyoppleio-legacy { }; + pyoprf = callPackage ../development/python-modules/pyoprf { }; + pyorc = callPackage ../development/python-modules/pyorc { }; pyorthanc = callPackage ../development/python-modules/pyorthanc { };