about summary refs log tree commit diff
path: root/nixpkgs/pkgs/tools/admin/salt
diff options
context:
space:
mode:
authorAlyssa Ross <hi@alyssa.is>2019-01-07 02:18:36 +0000
committerAlyssa Ross <hi@alyssa.is>2019-01-07 02:18:47 +0000
commit36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2 (patch)
treeb3faaf573407b32aa645237a4d16b82778a39a92 /nixpkgs/pkgs/tools/admin/salt
parent4e31070265257dc67d120c27e0f75c2344fdfa9a (diff)
parentabf060725d7614bd3b9f96764262dfbc2f9c2199 (diff)
downloadnixlib-36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2.tar
nixlib-36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2.tar.gz
nixlib-36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2.tar.bz2
nixlib-36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2.tar.lz
nixlib-36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2.tar.xz
nixlib-36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2.tar.zst
nixlib-36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2.zip
Add 'nixpkgs/' from commit 'abf060725d7614bd3b9f96764262dfbc2f9c2199'
git-subtree-dir: nixpkgs
git-subtree-mainline: 4e31070265257dc67d120c27e0f75c2344fdfa9a
git-subtree-split: abf060725d7614bd3b9f96764262dfbc2f9c2199
Diffstat (limited to 'nixpkgs/pkgs/tools/admin/salt')
-rw-r--r--nixpkgs/pkgs/tools/admin/salt/default.nix49
-rw-r--r--nixpkgs/pkgs/tools/admin/salt/fix-libcrypto-loading.patch14
-rw-r--r--nixpkgs/pkgs/tools/admin/salt/pepper/default.nix22
3 files changed, 85 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/tools/admin/salt/default.nix b/nixpkgs/pkgs/tools/admin/salt/default.nix
new file mode 100644
index 000000000000..6cf997cd738c
--- /dev/null
+++ b/nixpkgs/pkgs/tools/admin/salt/default.nix
@@ -0,0 +1,49 @@
+{
+  stdenv, 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 {
+  pname = "salt";
+  version = "2018.3.2";
+
+  src = pythonPackages.fetchPypi {
+    inherit pname version;
+    sha256 = "d86eeea2e5387f4a64bbf0a11d103bfc8aac1122e19d39cc0945d33efdc797bd";
+  };
+
+  propagatedBuildInputs = with pythonPackages; [
+    jinja2
+    markupsafe
+    msgpack
+    pycrypto
+    pyyaml
+    pyzmq
+    requests
+    tornado_4
+  ] ++ stdenv.lib.optional (!pythonPackages.isPy3k) [
+    futures
+  ] ++ extraInputs;
+
+  patches = [ ./fix-libcrypto-loading.patch ];
+
+  postPatch = ''
+    substituteInPlace "salt/utils/rsax931.py" \
+      --subst-var-by "libcrypto" "${openssl.out}/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/nixpkgs/pkgs/tools/admin/salt/fix-libcrypto-loading.patch b/nixpkgs/pkgs/tools/admin/salt/fix-libcrypto-loading.patch
new file mode 100644
index 000000000000..f7560b1fc56d
--- /dev/null
+++ b/nixpkgs/pkgs/tools/admin/salt/fix-libcrypto-loading.patch
@@ -0,0 +1,14 @@
+diff --git a/salt/utils/rsax931.py b/salt/utils/rsax931.py
+index f827cc6db8..b728595186 100644
+--- a/salt/utils/rsax931.py
++++ b/salt/utils/rsax931.py
+@@ -47,6 +47,9 @@ def _load_libcrypto():
+             lib = lib[0] if len(lib) > 0 else None
+         if lib:
+             return cdll.LoadLibrary(lib)
++        else:
++            return cdll.LoadLibrary('@libcrypto@')
++
+         raise OSError('Cannot locate OpenSSL libcrypto')
+ 
+ 
diff --git a/nixpkgs/pkgs/tools/admin/salt/pepper/default.nix b/nixpkgs/pkgs/tools/admin/salt/pepper/default.nix
new file mode 100644
index 000000000000..24e59a355532
--- /dev/null
+++ b/nixpkgs/pkgs/tools/admin/salt/pepper/default.nix
@@ -0,0 +1,22 @@
+{ lib
+, fetchurl
+, python2Packages
+}:
+
+python2Packages.buildPythonApplication rec {
+  name = "salt-pepper-${version}";
+  version = "0.5.5";
+  src = fetchurl {
+    url = "https://github.com/saltstack/pepper/releases/download/${version}/${name}.tar.gz";
+    sha256 = "1wj1k64ly6af6qsmiizlx32jxh23a37smd9wb57l5zl0x8sfqq1n";
+  };
+
+  doCheck = false; # no tests available
+
+  meta = with lib; {
+    description = "A CLI front-end to a running salt-api system";
+    homepage = https://github.com/saltstack/pepper;
+    maintainers = [ maintainers.pierrer ];
+    license = licenses.asl20;
+  };
+}