diff options
author | Alyssa Ross <hi@alyssa.is> | 2023-09-01 11:51:02 +0000 |
---|---|---|
committer | Alyssa Ross <hi@alyssa.is> | 2023-09-01 11:51:02 +0000 |
commit | aa4353b499e6950b7333578f936455a628145c31 (patch) | |
tree | c6332cedece2327a18d08794755b3fc0f9f1905b /nixpkgs/pkgs/development/libraries/glog | |
parent | ac456d475f4e50818499b804359355c0f3b4bbf7 (diff) | |
parent | 52185f4d76c18d8348f963795dfed1de018e8dfe (diff) | |
download | nixlib-aa4353b499e6950b7333578f936455a628145c31.tar nixlib-aa4353b499e6950b7333578f936455a628145c31.tar.gz nixlib-aa4353b499e6950b7333578f936455a628145c31.tar.bz2 nixlib-aa4353b499e6950b7333578f936455a628145c31.tar.lz nixlib-aa4353b499e6950b7333578f936455a628145c31.tar.xz nixlib-aa4353b499e6950b7333578f936455a628145c31.tar.zst nixlib-aa4353b499e6950b7333578f936455a628145c31.zip |
Merge https://github.com/NixOS/nixpkgs
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/glog')
-rw-r--r-- | nixpkgs/pkgs/development/libraries/glog/default.nix | 34 |
1 files changed, 30 insertions, 4 deletions
diff --git a/nixpkgs/pkgs/development/libraries/glog/default.nix b/nixpkgs/pkgs/development/libraries/glog/default.nix index a64bb0967aa7..53377022ad69 100644 --- a/nixpkgs/pkgs/development/libraries/glog/default.nix +++ b/nixpkgs/pkgs/development/libraries/glog/default.nix @@ -19,24 +19,50 @@ stdenv.mkDerivation rec { cmakeFlags = [ "-DBUILD_SHARED_LIBS=ON" + # glog's custom FindUnwind.cmake module detects LLVM's unwind in case + # stdenv.cc is clang. But the module doesn't get installed, causing + # consumers of the CMake config file to fail at the configuration step. + # Explicitly disabling unwind support sidesteps the issue. + "-DWITH_UNWIND=OFF" ]; - # TODO: Re-enable Darwin tests once we're on a release that has https://github.com/google/glog/issues/709#issuecomment-960381653 fixed - doCheck = !stdenv.isDarwin; + doCheck = true; + # There are some non-thread safe tests that can fail enableParallelChecking = false; nativeCheckInputs = [ perl ]; - GTEST_FILTER = + env.GTEST_FILTER = let filteredTests = lib.optionals stdenv.hostPlatform.isMusl [ "Symbolize.SymbolizeStackConsumption" "Symbolize.SymbolizeWithDemanglingStackConsumption" ] ++ lib.optionals stdenv.hostPlatform.isStatic [ "LogBacktraceAt.DoesBacktraceAtRightLineWhenEnabled" + ] ++ lib.optionals stdenv.cc.isClang [ + # Clang optimizes an expected allocation away. + # See https://github.com/google/glog/issues/937 + "DeathNoAllocNewHook.logging" + ] ++ lib.optionals stdenv.isDarwin [ + "LogBacktraceAt.DoesBacktraceAtRightLineWhenEnabled" + ]; + in + "-${builtins.concatStringsSep ":" filteredTests}"; + + checkPhase = + let + excludedTests = lib.optionals stdenv.isDarwin [ + "mock-log" + ] ++ lib.optionals (stdenv.isDarwin && stdenv.isAarch64) [ + "logging" # works around segfaults on aarch64-darwin for now ]; + excludedTestsRegex = lib.optionalString (excludedTests != [ ]) "(${lib.concatStringsSep "|" excludedTests})"; in - lib.optionalString doCheck "-${builtins.concatStringsSep ":" filteredTests}"; + '' + runHook preCheck + ctest -E "${excludedTestsRegex}" --output-on-failure + runHook postCheck + ''; meta = with lib; { homepage = "https://github.com/google/glog"; |