pythonPackages.k5test: init at 0.9.2
This was split out gssapi a while ago. Needs an extensive fix-paths.patch since it's reliant upon many shell tools.
This commit is contained in:
		
							parent
							
								
									49f6c9bbb0
								
							
						
					
					
						commit
						9d973b3dc1
					
				
							
								
								
									
										43
									
								
								pkgs/development/python-modules/k5test/default.nix
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										43
									
								
								pkgs/development/python-modules/k5test/default.nix
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,43 @@
 | 
			
		||||
{ lib
 | 
			
		||||
, buildPythonPackage
 | 
			
		||||
, fetchPypi
 | 
			
		||||
, substituteAll
 | 
			
		||||
, six
 | 
			
		||||
, krb5Full
 | 
			
		||||
, findutils
 | 
			
		||||
, which
 | 
			
		||||
}:
 | 
			
		||||
 | 
			
		||||
buildPythonPackage rec {
 | 
			
		||||
  pname = "k5test";
 | 
			
		||||
  version = "0.9.2";
 | 
			
		||||
 | 
			
		||||
  src = fetchPypi {
 | 
			
		||||
    inherit pname version;
 | 
			
		||||
    sha256 = "1lqp3jgfngyhaxjgj3n230hn90wsylwilh120yjf62h7b1s02mh8";
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  patches = [
 | 
			
		||||
    (substituteAll {
 | 
			
		||||
      src = ./fix-paths.patch;
 | 
			
		||||
      inherit findutils krb5Full;
 | 
			
		||||
      # krb5-config is in dev output
 | 
			
		||||
      krb5FullDev = krb5Full.dev;
 | 
			
		||||
      which = "${which}/bin/which";
 | 
			
		||||
    })
 | 
			
		||||
  ];
 | 
			
		||||
 | 
			
		||||
  propagatedBuildInputs = [
 | 
			
		||||
    six
 | 
			
		||||
  ];
 | 
			
		||||
 | 
			
		||||
  # No tests
 | 
			
		||||
  doCheck = false;
 | 
			
		||||
 | 
			
		||||
  meta = with lib; {
 | 
			
		||||
    description = "Library for setting up self-contained Kerberos 5 environment";
 | 
			
		||||
    homepage = https://github.com/pythongssapi/k5test;
 | 
			
		||||
    license = licenses.mit;
 | 
			
		||||
    maintainers = [ ];
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										90
									
								
								pkgs/development/python-modules/k5test/fix-paths.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										90
									
								
								pkgs/development/python-modules/k5test/fix-paths.patch
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,90 @@
 | 
			
		||||
diff --git a/k5test/_utils.py b/k5test/_utils.py
 | 
			
		||||
index e289fac..e2f486a 100644
 | 
			
		||||
--- a/k5test/_utils.py
 | 
			
		||||
+++ b/k5test/_utils.py
 | 
			
		||||
@@ -65,12 +65,12 @@ def find_plugin_dir():
 | 
			
		||||
 
 | 
			
		||||
     # if there was no LD_LIBRARY_PATH, or the above failed
 | 
			
		||||
     if _PLUGIN_DIR is None:
 | 
			
		||||
-        lib_dir = os.path.join(get_output('krb5-config --prefix'), 'lib64')
 | 
			
		||||
+        lib_dir = os.path.join(get_output('@krb5FullDev@/bin/krb5-config --prefix'), 'lib64')
 | 
			
		||||
         _PLUGIN_DIR = _decide_plugin_dir(_find_plugin_dirs_installed(lib_dir))
 | 
			
		||||
 
 | 
			
		||||
     # /usr/lib64 seems only to be distinct on Fedora/RHEL/Centos family
 | 
			
		||||
     if _PLUGIN_DIR is None:
 | 
			
		||||
-        lib_dir = os.path.join(get_output('krb5-config --prefix'), 'lib')
 | 
			
		||||
+        lib_dir = os.path.join(get_output('@krb5FullDev@/bin/krb5-config --prefix'), 'lib')
 | 
			
		||||
         _PLUGIN_DIR = _decide_plugin_dir(_find_plugin_dirs_installed(lib_dir))
 | 
			
		||||
 
 | 
			
		||||
     if _PLUGIN_DIR is not None:
 | 
			
		||||
@@ -89,7 +89,7 @@ def _decide_plugin_dir(dirs):
 | 
			
		||||
 
 | 
			
		||||
     for path in shortest_first:
 | 
			
		||||
         # check to see if it actually contains .so files
 | 
			
		||||
-        if get_output('find %s -name "*.so"' % path):
 | 
			
		||||
+        if get_output('@findutils@/bin/find %s -name "*.so"' % path):
 | 
			
		||||
             return path
 | 
			
		||||
 
 | 
			
		||||
     return None
 | 
			
		||||
@@ -97,7 +97,7 @@ def _decide_plugin_dir(dirs):
 | 
			
		||||
 
 | 
			
		||||
 def _find_plugin_dirs_installed(search_path):
 | 
			
		||||
     try:
 | 
			
		||||
-        options_raw = get_output('find %s/ -type d \( ! -executable -o ! -readable \) '
 | 
			
		||||
+        options_raw = get_output('@findutils@/bin/find %s/ -type d \( ! -executable -o ! -readable \) '
 | 
			
		||||
                                  '-prune -o '
 | 
			
		||||
                                  '-type d -path "*/krb5/plugins" -print' % search_path,
 | 
			
		||||
                                  stderr=subprocess.STDOUT)
 | 
			
		||||
@@ -111,7 +111,7 @@ def _find_plugin_dirs_installed(search_path):
 | 
			
		||||
 
 | 
			
		||||
 
 | 
			
		||||
 def _find_plugin_dirs_src(search_path):
 | 
			
		||||
-    options_raw = get_output('find %s/../ -type d -name plugins' % search_path)
 | 
			
		||||
+    options_raw = get_output('@findutils@/bin/find %s/../ -type d -name plugins' % search_path)
 | 
			
		||||
 
 | 
			
		||||
     if options_raw:
 | 
			
		||||
         return options_raw.split('\n')
 | 
			
		||||
diff --git a/k5test/realm.py b/k5test/realm.py
 | 
			
		||||
index f57946b..ad78579 100644
 | 
			
		||||
--- a/k5test/realm.py
 | 
			
		||||
+++ b/k5test/realm.py
 | 
			
		||||
@@ -181,19 +181,13 @@ class K5Realm(object):
 | 
			
		||||
             return path
 | 
			
		||||
 
 | 
			
		||||
     def _init_paths(self, **paths):
 | 
			
		||||
-        self.kdb5_util = self._discover_path('kdb5_util',
 | 
			
		||||
-                                             '/usr/sbin/kdb5_util', paths)
 | 
			
		||||
-        self.krb5kdc = self._discover_path('krb5kdc',
 | 
			
		||||
-                                           '/usr/sbin/krb5kdc', paths)
 | 
			
		||||
-        self.kadmin_local = self._discover_path('kadmin_local',
 | 
			
		||||
-                                                '/usr/sbin/kadmin.local',
 | 
			
		||||
-                                                paths)
 | 
			
		||||
-        self.kprop = self._discover_path('kprop', '/usr/sbin/kprop', paths)
 | 
			
		||||
-        self.kadmind = self._discover_path('kadmind',
 | 
			
		||||
-                                           '/usr/sbin/kadmind', paths)
 | 
			
		||||
-
 | 
			
		||||
-        self._kinit = self._discover_path('kinit', '/usr/bin/kinit', paths)
 | 
			
		||||
-        self._klist = self._discover_path('klist', '/usr/bin/klist', paths)
 | 
			
		||||
+        self.kdb5_util = '@krb5Full@/bin/kdb5_util'
 | 
			
		||||
+        self.krb5kdc = '@krb5Full@/bin/krb5kdc'
 | 
			
		||||
+        self.kadmin_local = '@krb5Full@/bin/kadmin.local'
 | 
			
		||||
+        self.kprop = '@krb5Full@/bin/kprop'
 | 
			
		||||
+        self.kadmind = '@krb5Full@/bin/kadmind'
 | 
			
		||||
+        self._kinit = '@krb5Full@/bin/kinit'
 | 
			
		||||
+        self._klist = '@krb5Full@/bin/klist'
 | 
			
		||||
 
 | 
			
		||||
     def _create_conf(self, profile, filename):
 | 
			
		||||
         with open(filename, 'w') as conf_file:
 | 
			
		||||
diff --git a/k5test/unit.py b/k5test/unit.py
 | 
			
		||||
index 4ee7f98..543d662 100644
 | 
			
		||||
--- a/k5test/unit.py
 | 
			
		||||
+++ b/k5test/unit.py
 | 
			
		||||
@@ -38,7 +38,7 @@ _KRB_VERSION = None
 | 
			
		||||
 def krb_minversion_test(target_version, problem):
 | 
			
		||||
     global _KRB_VERSION
 | 
			
		||||
     if _KRB_VERSION is None:
 | 
			
		||||
-        _KRB_VERSION = _utils.get_output("krb5-config --version")
 | 
			
		||||
+        _KRB_VERSION = _utils.get_output("@krb5FullDev@/bin/krb5-config --version")
 | 
			
		||||
         _KRB_VERSION = _KRB_VERSION.split(' ')[-1].split('.')
 | 
			
		||||
 
 | 
			
		||||
     def make_ext_test(func):
 | 
			
		||||
@ -3434,6 +3434,10 @@ in {
 | 
			
		||||
 | 
			
		||||
  kubernetes = callPackage ../development/python-modules/kubernetes { };
 | 
			
		||||
 | 
			
		||||
  k5test = callPackage ../development/python-modules/k5test {
 | 
			
		||||
    inherit (pkgs) krb5Full findutils which;
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  pylast = callPackage ../development/python-modules/pylast { };
 | 
			
		||||
 | 
			
		||||
  pylru = callPackage ../development/python-modules/pylru { };
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user