python3Packages.orjson: Disable failing tests on 32 bit
[NixPkgs.git] / pkgs / development / libraries / ucc / default.nix
blob1e626911f28affb704861e42a436f85c20578497
1 { stdenv, lib, fetchFromGitHub, libtool, automake, autoconf, ucx
2 , enableCuda ? false
3 , cudatoolkit
4 , enableAvx ? stdenv.hostPlatform.avxSupport
5 , enableSse41 ? stdenv.hostPlatform.sse4_1Support
6 , enableSse42 ? stdenv.hostPlatform.sse4_2Support
7 } :
9 stdenv.mkDerivation rec {
10   pname = "ucc";
11   version = "1.1.0";
13   src = fetchFromGitHub {
14     owner = "openucx";
15     repo = "ucc";
16     rev = "v${version}";
17     sha256 = "sha256-5rf08SXy+vCfnz4zLJ0cMnxwso4WpZOt0jRRAUviVFU=";
18   };
20   enableParallelBuilding = true;
22   postPatch = ''
24     for comp in $(find src/components -name Makefile.am); do
25       substituteInPlace $comp \
26         --replace "/bin/bash" "${stdenv.shell}"
27     done
28   '';
30   preConfigure = ''
31     ./autogen.sh
32   '';
34   nativeBuildInputs = [ libtool automake autoconf ];
35   buildInputs = [ ucx ]
36     ++ lib.optional enableCuda cudatoolkit;
38   configureFlags = [ ]
39    ++ lib.optional enableSse41 "--with-sse41"
40    ++ lib.optional enableSse42 "--with-sse42"
41    ++ lib.optional enableAvx "--with-avx"
42    ++ lib.optional enableCuda "--with-cuda=${cudatoolkit}";
44   meta = with lib; {
45     description = "Collective communication operations API";
46     license = licenses.bsd3;
47     maintainers = [ maintainers.markuskowa ];
48     platforms = platforms.linux;
49   };