core/pkgs/by-name/ab/abseil-cpp/202301.nix

43 lines
1.2 KiB
Nix
Raw Normal View History

2024-05-13 21:24:10 +00:00
{ lib, stdenv, fetchFromGitHub, cmake, gtest
, static ? stdenv.hostPlatform.isStatic, cxxStandard ? null }:
2024-05-02 00:46:19 +00:00
stdenv.mkDerivation (finalAttrs: {
pname = "abseil-cpp";
version = "20230125.4";
src = fetchFromGitHub {
owner = "abseil";
repo = "abseil-cpp";
rev = "refs/tags/${finalAttrs.version}";
hash = "sha256-7C/QIXYRyUyNVVE0tqmv8b5g/uWc58iBI5jzdtddQ+U=";
};
patches = lib.optionals stdenv.isDarwin [
# Dont propagate the path to CoreFoundation. Otherwise, its impossible to build packages
# that require a different SDK other than the default one.
./cmake-core-foundation.patch
];
cmakeFlags = [
"-DABSL_BUILD_TEST_HELPERS=ON"
"-DABSL_USE_EXTERNAL_GOOGLETEST=ON"
"-DBUILD_SHARED_LIBS=${if static then "OFF" else "ON"}"
2024-05-13 21:24:10 +00:00
] ++ lib.optionals (cxxStandard != null)
[ "-DCMAKE_CXX_STANDARD=${cxxStandard}" ];
2024-05-02 00:46:19 +00:00
strictDeps = true;
nativeBuildInputs = [ cmake ];
buildInputs = [ gtest ];
meta = with lib; {
2024-05-13 21:24:10 +00:00
description =
"An open-source collection of C++ code designed to augment the C++ standard library";
2024-05-02 00:46:19 +00:00
homepage = "https://abseil.io/";
license = licenses.asl20;
platforms = platforms.all;
maintainers = [ maintainers.andersk ];
};
})