python3Packages.orjson: Disable failing tests on 32 bit
[NixPkgs.git] / pkgs / development / libraries / aws-c-common / default.nix
blobead22a8c9db7231a8ba274ea1b7dc9e568af8b80
1 { lib
2 , stdenv
3 , fetchFromGitHub
4 , cmake
5 , coreutils
6 }:
8 stdenv.mkDerivation rec {
9   pname = "aws-c-common";
10   version = "0.8.4";
12   src = fetchFromGitHub {
13     owner = "awslabs";
14     repo = pname;
15     rev = "v${version}";
16     sha256 = "sha256-8RKx3OPb53hCquFcT+AbtX+LDNEvzLHuqtkbvXewqRs=";
17   };
19   nativeBuildInputs = [ cmake ];
21   cmakeFlags = [
22     "-DBUILD_SHARED_LIBS=ON"
23   ] ++ lib.optionals stdenv.hostPlatform.isRiscV [
24     "-DCMAKE_C_FLAGS=-fasynchronous-unwind-tables"
25   ];
27   # aws-c-common misuses cmake modules, so we need
28   # to manually add a MODULE_PATH to its consumers
29   setupHook = ./setup-hook.sh;
31   # Prevent the execution of tests known to be flaky.
32   preCheck = let
33     ignoreTests = [
34       "promise_test_multiple_waiters"
35     ] ++ lib.optionals stdenv.hostPlatform.isMusl [
36       "sba_metrics" # https://github.com/awslabs/aws-c-common/issues/839
37     ];
38   in ''
39     cat <<EOW >CTestCustom.cmake
40     SET(CTEST_CUSTOM_TESTS_IGNORE ${toString ignoreTests})
41     EOW
42   '';
44   doCheck = true;
46   meta = with lib; {
47     description = "AWS SDK for C common core";
48     homepage = "https://github.com/awslabs/aws-c-common";
49     license = licenses.asl20;
50     platforms = platforms.unix;
51     maintainers = with maintainers; [ orivej eelco r-burns ];
52   };