From 514a558d64ab10271a773fff2d40008a30d5c05f Mon Sep 17 00:00:00 2001 From: Martin Weinelt Date: Fri, 29 Sep 2023 16:29:49 +0200 Subject: [PATCH] python310Packages.libknot: init at 3.3.2 Python bindings to interface with libknot and Knot DNS. --- .../python-modules/libknot/default.nix | 43 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 45 insertions(+) create mode 100644 pkgs/development/python-modules/libknot/default.nix diff --git a/pkgs/development/python-modules/libknot/default.nix b/pkgs/development/python-modules/libknot/default.nix new file mode 100644 index 000000000000..1913d0765133 --- /dev/null +++ b/pkgs/development/python-modules/libknot/default.nix @@ -0,0 +1,43 @@ +{ lib +, buildPythonPackage +, fetchPypi + +# build-system +, hatchling + +# native dependencies +, knot-dns +}: + +buildPythonPackage rec { + pname = "libknot"; + version = "3.3.2"; + pyproject = true; + + src = fetchPypi { + inherit pname version; + hash = "sha256-uttdIl2ONoR9ba6gJXmJkU++UQldcezwTUG+X5mCcbE="; + }; + + postPatch = '' + substituteInPlace libknot/__init__.py \ + --replace "libknot%s.dylib" "${lib.getLib knot-dns}/lib/libknot%s.dylib" \ + --replace "libknot.so%s" "${lib.getLib knot-dns}/lib/libknot.so%s" + ''; + + nativeBuildInputs = [ + hatchling + ]; + + pythonImportsCheck = [ + "libknot" + ]; + + meta = with lib; { + description = "Python bindings for libknot"; + homepage = "https://gitlab.nic.cz/knot/knot-dns/-/tree/master/python/libknot"; + license = licenses.gpl3Only; + maintainers = with maintainers; [ hexa ]; + mainProgram = "libknot"; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index bf18ff41cd24..3e75efc59d95 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -6142,6 +6142,8 @@ self: super: with self; { libkeepass = callPackage ../development/python-modules/libkeepass { }; + libknot = callPackage ../development/python-modules/libknot { }; + liblarch = callPackage ../development/python-modules/liblarch { }; liblzfse = callPackage ../development/python-modules/liblzfse {