about summary refs log tree commit diff
path: root/pkgs/development
diff options
context:
space:
mode:
authorJörg Thalheim <Mic92@users.noreply.github.com>2017-07-13 09:32:51 +0100
committerGitHub <noreply@github.com>2017-07-13 09:32:51 +0100
commitc29b5b5a4077b1fa93d28b94ee2d89f9410e139a (patch)
treed014b177a9baf89bf2e7d0e2e67c0a135280097d /pkgs/development
parent9e12be50b48898328f78d3ee9f7d5d164e2bd395 (diff)
parent00d73c42407d22cb94bac67ca889318e1c373787 (diff)
downloadnixlib-c29b5b5a4077b1fa93d28b94ee2d89f9410e139a.tar
nixlib-c29b5b5a4077b1fa93d28b94ee2d89f9410e139a.tar.gz
nixlib-c29b5b5a4077b1fa93d28b94ee2d89f9410e139a.tar.bz2
nixlib-c29b5b5a4077b1fa93d28b94ee2d89f9410e139a.tar.lz
nixlib-c29b5b5a4077b1fa93d28b94ee2d89f9410e139a.tar.xz
nixlib-c29b5b5a4077b1fa93d28b94ee2d89f9410e139a.tar.zst
nixlib-c29b5b5a4077b1fa93d28b94ee2d89f9410e139a.zip
Merge pull request #27350 from veprbl/slurm
Bump slurm, add pyslurm
Diffstat (limited to 'pkgs/development')
-rw-r--r--pkgs/development/python-modules/pyslurm/default.nix24
-rw-r--r--pkgs/development/python-modules/pyslurm/pyslurm-dlfcn.patch18
2 files changed, 42 insertions, 0 deletions
diff --git a/pkgs/development/python-modules/pyslurm/default.nix b/pkgs/development/python-modules/pyslurm/default.nix
new file mode 100644
index 000000000000..2acdef1b372e
--- /dev/null
+++ b/pkgs/development/python-modules/pyslurm/default.nix
@@ -0,0 +1,24 @@
+{ lib, fetchFromGitHub, buildPythonPackage, cython, slurm }:
+
+buildPythonPackage rec {
+  name = "pyslurm";
+
+  src = fetchFromGitHub {
+    repo = "pyslurm";
+    owner = "PySlurm";
+    rev = "69e4f4fd66003b98ddb7da25613fe641d4ae160d";
+    sha256 = "051kafkndbniklxyf0drb360aiblnqcf9rqjbvmqh66zrfya1m28";
+  };
+
+  patches = [ ./pyslurm-dlfcn.patch ];
+
+  buildInputs = [ cython slurm ];
+  setupPyBuildFlags = [ "--slurm-lib=${slurm}/lib" "--slurm-inc=${slurm.dev}/include" ];
+
+  meta = with lib; {
+    homepage = "https://github.com/PySlurm/pyslurm";
+    description = "Python bindings to Slurm";
+    license = licenses.gpl2;
+    maintainers = [ maintainers.veprbl ];
+  };
+}
diff --git a/pkgs/development/python-modules/pyslurm/pyslurm-dlfcn.patch b/pkgs/development/python-modules/pyslurm/pyslurm-dlfcn.patch
new file mode 100644
index 000000000000..2b3798a30706
--- /dev/null
+++ b/pkgs/development/python-modules/pyslurm/pyslurm-dlfcn.patch
@@ -0,0 +1,18 @@
+diff --git a/pyslurm/__init__.py b/pyslurm/__init__.py
+index 81643e1..e8b6836 100644
+--- a/pyslurm/__init__.py
++++ b/pyslurm/__init__.py
+@@ -11,8 +11,11 @@ import sys
+ old_dlopen_flags = ''
+ if hasattr(sys, "setdlopenflags"):
+     old_dlopen_flags = sys.getdlopenflags()
+-    import DLFCN
+-    sys.setdlopenflags(old_dlopen_flags | DLFCN.RTLD_GLOBAL)
++    if sys.version_info >= (3,6):
++        from os import RTLD_GLOBAL
++    else:
++        from DLFCN import RTLD_GLOBAL
++    sys.setdlopenflags(old_dlopen_flags | RTLD_GLOBAL)
+ 
+ from .pyslurm import *
+