python3Packages.python3-gnutls: init at 3.1.9
This commit is contained in:
parent
fde5e30809
commit
f49be866a9
3 changed files with 96 additions and 0 deletions
52
pkgs/development/python-modules/python3-gnutls/default.nix
Normal file
52
pkgs/development/python-modules/python3-gnutls/default.nix
Normal file
|
@ -0,0 +1,52 @@
|
|||
{ lib, fetchFromGitHub, substituteAll, buildPythonPackage, isPy3k, gnutls
|
||||
, twisted, pyopenssl, service-identity }:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "python3-gnutls";
|
||||
version = "3.1.9";
|
||||
|
||||
disabled = !isPy3k;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "AGProjects";
|
||||
repo = "python3-gnutls";
|
||||
rev = "324b78f7cd3d9fe58c89c7f0b2bf94199bd6a6e5"; # version not tagged
|
||||
sha256 = "sha256-18T8bAHlNERHobsspUFvSC6ulN55nrFFb5aqNwU8T00=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [ twisted pyopenssl service-identity ];
|
||||
|
||||
patches = [
|
||||
(substituteAll {
|
||||
src = ./libgnutls-path.patch;
|
||||
gnutlslib = "${lib.getLib gnutls}/lib";
|
||||
})
|
||||
];
|
||||
|
||||
pythonImportsCheck = [ "gnutls" ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Python wrapper for the GnuTLS library";
|
||||
homepage = "https://github.com/AGProjects/python3-gnutls";
|
||||
license = licenses.lgpl21Plus;
|
||||
maintainers = with maintainers; [ chanley ];
|
||||
longDescription = ''
|
||||
This package provides a high level object oriented wrapper around libgnutls,
|
||||
as well as low level bindings to the GnuTLS types and functions via ctypes.
|
||||
The high level wrapper hides the details of accessing the GnuTLS library via
|
||||
ctypes behind a set of classes that encapsulate GnuTLS sessions, certificates
|
||||
and credentials and expose them to python applications using a simple API.
|
||||
|
||||
The package also includes a Twisted interface that has seamless intergration
|
||||
with Twisted, providing connectTLS and listenTLS methods on the Twisted
|
||||
reactor once imported (the methods are automatically attached to the reactor
|
||||
by simply importing the GnuTLS Twisted interface module).
|
||||
|
||||
The high level wrapper is written using the GnuTLS library bindings that are
|
||||
made available via ctypes. This makes the wrapper very powerful and flexible
|
||||
as it has direct access to all the GnuTLS internals and is also very easy to
|
||||
extend without any need to write C code or recompile anything.
|
||||
|
||||
'';
|
||||
};
|
||||
}
|
|
@ -0,0 +1,42 @@
|
|||
diff --git a/gnutls/library/__init__.py b/gnutls/library/__init__.py
|
||||
index c1d898a..b87bd2e 100644
|
||||
--- a/gnutls/library/__init__.py
|
||||
+++ b/gnutls/library/__init__.py
|
||||
@@ -18,35 +18,19 @@ def _library_locations(abi_version):
|
||||
system = _get_system_name()
|
||||
if system == "darwin":
|
||||
library_names = ["libgnutls.%d.dylib" % abi_version]
|
||||
- dynamic_loader_env_vars = ["DYLD_LIBRARY_PATH", "LD_LIBRARY_PATH"]
|
||||
- additional_paths = ["/usr/local/lib", "/opt/local/lib", "/sw/lib"]
|
||||
elif system == "windows":
|
||||
library_names = ["libgnutls-%d.dll" % abi_version]
|
||||
- dynamic_loader_env_vars = ["PATH"]
|
||||
- additional_paths = ["."]
|
||||
elif system == "cygwin":
|
||||
library_names = ["cyggnutls-%d.dll" % abi_version]
|
||||
- dynamic_loader_env_vars = ["LD_LIBRARY_PATH"]
|
||||
- additional_paths = ["/usr/bin"]
|
||||
else:
|
||||
# Debian uses libgnutls-deb0.so.28, go figure
|
||||
library_names = [
|
||||
"libgnutls.so.%d" % abi_version,
|
||||
"libgnutls-deb0.so.%d" % abi_version,
|
||||
]
|
||||
- dynamic_loader_env_vars = ["LD_LIBRARY_PATH"]
|
||||
- additional_paths = ["/usr/local/lib"]
|
||||
for library_name in library_names:
|
||||
- for path in (
|
||||
- path
|
||||
- for env_var in dynamic_loader_env_vars
|
||||
- for path in os.environ.get(env_var, "").split(":")
|
||||
- if os.path.isdir(path)
|
||||
- ):
|
||||
- yield os.path.join(path, library_name)
|
||||
- yield library_name
|
||||
- for path in additional_paths:
|
||||
- yield os.path.join(path, library_name)
|
||||
+ path = "@gnutlslib@"
|
||||
+ yield os.path.join(path, library_name)
|
||||
|
||||
|
||||
def _load_library(abi_versions):
|
|
@ -7154,6 +7154,8 @@ in {
|
|||
|
||||
python3-eventlib = callPackage ../development/python-modules/python3-eventlib { };
|
||||
|
||||
python3-gnutls = callPackage ../development/python-modules/python3-gnutls { };
|
||||
|
||||
python3-openid = callPackage ../development/python-modules/python3-openid { };
|
||||
|
||||
python-awair = callPackage ../development/python-modules/python-awair { };
|
||||
|
|
Loading…
Reference in a new issue