about summary refs log tree commit diff
path: root/pkgs/tools/admin
diff options
context:
space:
mode:
authorVladimír Čunát <vcunat@gmail.com>2016-04-10 11:17:52 +0200
committerVladimír Čunát <vcunat@gmail.com>2016-04-10 11:17:52 +0200
commit30f14243c33f1b386273d08a4776aa679c42143d (patch)
treebd123d5c2ab4fef012ae7de6a225c092f8d611b8 /pkgs/tools/admin
parent50fccad5828fb459760fd7578951bb961a18c0fc (diff)
parent2463e0917318581da94e7ba92703b63128c40424 (diff)
downloadnixlib-30f14243c33f1b386273d08a4776aa679c42143d.tar
nixlib-30f14243c33f1b386273d08a4776aa679c42143d.tar.gz
nixlib-30f14243c33f1b386273d08a4776aa679c42143d.tar.bz2
nixlib-30f14243c33f1b386273d08a4776aa679c42143d.tar.lz
nixlib-30f14243c33f1b386273d08a4776aa679c42143d.tar.xz
nixlib-30f14243c33f1b386273d08a4776aa679c42143d.tar.zst
nixlib-30f14243c33f1b386273d08a4776aa679c42143d.zip
Merge branch 'master' into closure-size
Comparison to master evaluations on Hydra:
  - 1255515 for nixos
  - 1255502 for nixpkgs
Diffstat (limited to 'pkgs/tools/admin')
-rw-r--r--pkgs/tools/admin/salt/default.nix51
-rw-r--r--pkgs/tools/admin/salt/fix-libcrypto-loading.patch11
-rw-r--r--pkgs/tools/admin/salt/testing.nix24
3 files changed, 86 insertions, 0 deletions
diff --git a/pkgs/tools/admin/salt/default.nix b/pkgs/tools/admin/salt/default.nix
new file mode 100644
index 000000000000..254b7b9374eb
--- /dev/null
+++ b/pkgs/tools/admin/salt/default.nix
@@ -0,0 +1,51 @@
+{
+  stdenv, fetchurl, pythonPackages, openssl,
+
+  # Many Salt modules require various Python modules to be installed,
+  # passing them in this array enables Salt to find them.
+  extraInputs ? []
+}:
+
+pythonPackages.buildPythonApplication rec {
+  name = "salt-${version}";
+  version = "2015.8.8";
+
+  disabled = pythonPackages.isPy3k;
+
+  src = fetchurl {
+    url = "https://pypi.python.org/packages/source/s/salt/${name}.tar.gz";
+    sha256 = "1xcfcs50pyammb60myph4f8bi2r6iwkxwsnnhrjwvkv2ymxwxv5j";
+  };
+
+  propagatedBuildInputs = with pythonPackages; [
+    futures
+    jinja2
+    markupsafe
+    msgpack
+    pycrypto
+    pyyaml
+    pyzmq
+    requests
+    salttesting
+    tornado
+  ] ++ extraInputs;
+
+  patches = [ ./fix-libcrypto-loading.patch ];
+
+  postPatch = ''
+    substituteInPlace "salt/utils/rsax931.py" \
+      --subst-var-by "libcrypto" "${openssl}/lib/libcrypto.so"
+  '';
+
+  # The tests fail due to socket path length limits at the very least;
+  # possibly there are more issues but I didn't leave the test suite running
+  # as is it rather long.
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    homepage = https://saltstack.com/;
+    description = "Portable, distributed, remote execution and configuration management system";
+    maintainers = with maintainers; [ aneeshusa ];
+    license = licenses.asl20;
+  };
+}
diff --git a/pkgs/tools/admin/salt/fix-libcrypto-loading.patch b/pkgs/tools/admin/salt/fix-libcrypto-loading.patch
new file mode 100644
index 000000000000..c5cc1bde5d07
--- /dev/null
+++ b/pkgs/tools/admin/salt/fix-libcrypto-loading.patch
@@ -0,0 +1,11 @@
+diff --git a/salt/utils/rsax931.py b/salt/utils/rsax931.py
+index 9eb1f4a..d764f7a 100644
+--- a/salt/utils/rsax931.py
++++ b/salt/utils/rsax931.py
+@@ -36,7 +36,7 @@ def _load_libcrypto():
+                 'libcrypto.so*'))
+             lib = lib[0] if len(lib) > 0 else None
+         if lib:
+-            return cdll.LoadLibrary(lib)
++            return cdll.LoadLibrary('@libcrypto@')
+         raise OSError('Cannot locate OpenSSL libcrypto')
diff --git a/pkgs/tools/admin/salt/testing.nix b/pkgs/tools/admin/salt/testing.nix
new file mode 100644
index 000000000000..8c65defcab58
--- /dev/null
+++ b/pkgs/tools/admin/salt/testing.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchurl, pythonPackages }:
+
+pythonPackages.buildPythonApplication rec {
+  name = "SaltTesting-${version}";
+  version = "2015.7.10";
+
+  disabled = pythonPackages.isPy3k;
+
+  propagatedBuildInputs = with pythonPackages; [
+    six
+  ];
+
+  src = fetchurl {
+    url = "https://pypi.python.org/packages/source/S/SaltTesting/${name}.tar.gz";
+    sha256 = "0p0y8kb77pis18rcig1kf9dnns4bnfa3mr91q40lq4mw63l1b34h";
+  };
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/saltstack/salt-testing;
+    description = "Common testing tools used in the Salt Stack projects";
+    maintainers = with maintainers; [ aneeshusa ];
+    license = licenses.asl20;
+  };
+}