0
0
Fork 0
mirror of https://github.com/NixOS/nixpkgs.git synced 2025-07-13 21:50:33 +03:00

Merge pull request #27350 from veprbl/slurm

Bump slurm, add pyslurm
This commit is contained in:
Jörg Thalheim 2017-07-13 09:32:51 +01:00 committed by GitHub
commit c29b5b5a40
7 changed files with 75 additions and 22 deletions

View file

@ -36,9 +36,9 @@ in
package = mkOption { package = mkOption {
type = types.package; type = types.package;
default = pkgs.slurm-llnl; default = pkgs.slurm;
defaultText = "pkgs.slurm-llnl"; defaultText = "pkgs.slurm";
example = literalExample "pkgs.slurm-llnl-full"; example = literalExample "pkgs.slurm-full";
description = '' description = ''
The package to use for slurm binaries. The package to use for slurm binaries.
''; '';

View file

@ -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 ];
};
}

View file

@ -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 *

View file

@ -1,19 +1,24 @@
{ stdenv, fetchurl, pkgconfig, curl, python, munge, perl, pam, openssl { stdenv, fetchurl, pkgconfig, libtool, curl, python, munge, perl, pam, openssl
, ncurses, mysql, gtk2, lua, hwloc, numactl , ncurses, mysql, gtk2, lua, hwloc, numactl
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "slurm-llnl-${version}"; name = "slurm-${version}";
version = "15-08-5-1"; version = "17.02.6";
src = fetchurl { src = fetchurl {
url = "https://github.com/SchedMD/slurm/archive/slurm-${version}.tar.gz"; url = "https://www.schedmd.com/downloads/latest/slurm-17.02.6.tar.bz2";
sha256 = "05si1cn7zivggan25brsqfdw0ilvrlnhj96pwv16dh6vfkggzjr1"; sha256 = "1sp4xg15jc569r6dh61svgk2fmy3ndcgr5358yryajslf1w14mzh";
}; };
outputs = [ "out" "dev" ]; outputs = [ "out" "dev" ];
nativeBuildInputs = [ pkgconfig ]; # nixos test fails to start slurmd with 'undefined symbol: slurm_job_preempt_mode'
# https://groups.google.com/forum/#!topic/slurm-devel/QHOajQ84_Es
# this doesn't fix tests completely at least makes slurmd to launch
hardeningDisable = [ "bindnow" ];
nativeBuildInputs = [ pkgconfig libtool ];
buildInputs = [ buildInputs = [
curl python munge perl pam openssl mysql.lib ncurses gtk2 lua hwloc numactl curl python munge perl pam openssl mysql.lib ncurses gtk2 lua hwloc numactl
]; ];
@ -25,8 +30,8 @@ stdenv.mkDerivation rec {
] ++ stdenv.lib.optional (gtk2 == null) "--disable-gtktest"; ] ++ stdenv.lib.optional (gtk2 == null) "--disable-gtktest";
preConfigure = '' preConfigure = ''
substituteInPlace ./doc/html/shtml2html.py --replace "/usr/bin/env python" "${python.interpreter}" patchShebangs ./doc/html/shtml2html.py
substituteInPlace ./doc/man/man2html.py --replace "/usr/bin/env python" "${python.interpreter}" patchShebangs ./doc/man/man2html.py
''; '';
postInstall = '' postInstall = ''

View file

@ -1,31 +1,33 @@
{ stdenv, fetchFromGitHub, gnused, perl, libgcrypt, zlib, bzip2 }: { stdenv, fetchFromGitHub, autoreconfHook, gawk, gnused, libgcrypt, zlib, bzip2 }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "munge-0.5.11"; name = "munge-0.5.12";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "dun"; owner = "dun";
repo = "munge"; repo = "munge";
rev = "${name}"; rev = "${name}";
sha256 = "02847p742nq3cb8ayf5blrdicybq72nfsnggqkxr33cpppmsfwg9"; sha256 = "1wvkc63bqclpm5xmp3rn199x3jqd99255yicyydgz83cixp7wdbh";
}; };
buildInputs = [ gnused perl libgcrypt zlib bzip2 ]; nativeBuildInputs = [ autoreconfHook gawk gnused ];
buildInputs = [ libgcrypt zlib bzip2 ];
preConfigure = '' preAutoreconf = ''
# Remove the install-data stuff, since it tries to write to /var # Remove the install-data stuff, since it tries to write to /var
sed -i '505,511d' src/etc/Makefile.in substituteInPlace src/Makefile.am --replace "etc \\" "\\"
''; '';
configureFlags = [ configureFlags = [
"--localstatedir=/var" "--localstatedir=/var"
]; ];
meta = { meta = with stdenv.lib; {
description = '' description = ''
An authentication service for creating and validating credentials An authentication service for creating and validating credentials
''; '';
maintainers = [ stdenv.lib.maintainers.rickynils ]; license = licenses.lgpl3;
platforms = stdenv.lib.platforms.unix; platforms = platforms.unix;
maintainers = [ maintainers.rickynils ];
}; };
} }

View file

@ -11485,9 +11485,9 @@ with pkgs;
storm = callPackage ../servers/computing/storm { }; storm = callPackage ../servers/computing/storm { };
slurm-llnl = callPackage ../servers/computing/slurm { gtk2 = null; }; slurm = callPackage ../servers/computing/slurm { gtk2 = null; };
slurm-llnl-full = appendToName "full" (callPackage ../servers/computing/slurm { }); slurm-full = appendToName "full" (callPackage ../servers/computing/slurm { });
systemd-journal2gelf = callPackage ../tools/system/systemd-journal2gelf { }; systemd-journal2gelf = callPackage ../tools/system/systemd-journal2gelf { };

View file

@ -324,6 +324,10 @@ in {
pysideTools = callPackage ../development/python-modules/pyside/tools.nix { }; pysideTools = callPackage ../development/python-modules/pyside/tools.nix { };
pyslurm = callPackage ../development/python-modules/pyslurm {
slurm = pkgs.slurm;
};
python-sql = callPackage ../development/python-modules/python-sql { }; python-sql = callPackage ../development/python-modules/python-sql { };
python-stdnum = callPackage ../development/python-modules/python-stdnum { }; python-stdnum = callPackage ../development/python-modules/python-stdnum { };