python3Packages.orjson: Disable failing tests on 32 bit
[NixPkgs.git] / pkgs / tools / admin / salt / default.nix
blobbed3e93b310159c7ce4fab281c366216f84d428b
1 { lib
2 , python3
3 , openssl
4 , fetchpatch
5   # Many Salt modules require various Python modules to be installed,
6   # passing them in this array enables Salt to find them.
7 , extraInputs ? []
8 }:
10 python3.pkgs.buildPythonApplication rec {
11   pname = "salt";
12   version = "3005.1";
14   src = python3.pkgs.fetchPypi {
15     inherit pname version;
16     hash = "sha256-+hTF2HP4Y7UJUBIdfiOiRJUCdFSQx8SMDPBFQGz+V8E=";
17   };
19   propagatedBuildInputs = with python3.pkgs; [
20     distro
21     jinja2
22     jmespath
23     markupsafe
24     msgpack
25     psutil
26     pycryptodomex
27     pyyaml
28     pyzmq
29     requests
30   ] ++ extraInputs;
32   patches = [
33     ./fix-libcrypto-loading.patch
34   ];
36   postPatch = ''
37     substituteInPlace "salt/utils/rsax931.py" \
38       --subst-var-by "libcrypto" "${lib.getLib openssl}/lib/libcrypto.so"
39     substituteInPlace requirements/base.txt \
40       --replace contextvars ""
42     # Don't require optional dependencies on Darwin, let's use
43     # `extraInputs` like on any other platform
44     echo -n > "requirements/darwin.txt"
46     # 3004.1: requirement of pyzmq was restricted to <22.0.0; looks like that req was incorrect
47     # https://github.com/saltstack/salt/commit/070597e525bb7d56ffadede1aede325dfb1b73a4
48     # https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=259279
49     # https://github.com/saltstack/salt/pull/61163
50     substituteInPlace "requirements/zeromq.txt" \
51       --replace 'pyzmq<=20.0.0 ; python_version < "3.6"' "" \
52       --replace 'pyzmq>=17.0.0,<22.0.0 ; python_version < "3.9"' 'pyzmq>=17.0.0 ; python_version < "3.9"' \
53       --replace 'pyzmq>19.0.2,<22.0.0 ; python_version >= "3.9"' 'pyzmq>19.0.2 ; python_version >= "3.9"'
54   '';
56   # Don't use fixed dependencies on Darwin
57   USE_STATIC_REQUIREMENTS = "0";
59   # The tests fail due to socket path length limits at the very least;
60   # possibly there are more issues but I didn't leave the test suite running
61   # as is it rather long.
62   doCheck = false;
64   meta = with lib; {
65     homepage = "https://saltproject.io/";
66     changelog = "https://docs.saltproject.io/en/latest/topics/releases/${version}.html";
67     description = "Portable, distributed, remote execution and configuration management system";
68     maintainers = with maintainers; [ Flakebi ];
69     license = licenses.asl20;
70   };