about summary refs log tree commit diff
path: root/pkgs/development
diff options
context:
space:
mode:
authorDmitry Kalinkin <dmitry.kalinkin@gmail.com>2017-07-13 04:49:21 +0300
committerDmitry Kalinkin <dmitry.kalinkin@gmail.com>2017-07-13 03:13:05 -0400
commit00d73c42407d22cb94bac67ca889318e1c373787 (patch)
tree5ef7d7d20a2afbca2b9a3a8752929a90db9dcf31 /pkgs/development
parentb917a8760ef63d28cb23b76ecfe000e9b0bd1f3c (diff)
downloadnixlib-00d73c42407d22cb94bac67ca889318e1c373787.tar
nixlib-00d73c42407d22cb94bac67ca889318e1c373787.tar.gz
nixlib-00d73c42407d22cb94bac67ca889318e1c373787.tar.bz2
nixlib-00d73c42407d22cb94bac67ca889318e1c373787.tar.lz
nixlib-00d73c42407d22cb94bac67ca889318e1c373787.tar.xz
nixlib-00d73c42407d22cb94bac67ca889318e1c373787.tar.zst
nixlib-00d73c42407d22cb94bac67ca889318e1c373787.zip
python2Packages.pyslurm: init
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 *
+