nixpkgs/pkgs/development/libraries/mongoc/default.nix
2023-05-25 12:35:12 +08:00

68 lines
1.3 KiB
Nix

{ lib
, stdenv
, fetchFromGitHub
, cmake
, pkg-config
, openssl
, zlib
, zstd
, icu
, cyrus_sasl
, snappy
, darwin
}:
stdenv.mkDerivation rec {
pname = "mongoc";
version = "1.23.4";
src = fetchFromGitHub {
owner = "mongodb";
repo = "mongo-c-driver";
rev = "refs/tags/${version}";
hash = "sha256-jYEEWbm00V3zhzxH8jBkrj/+OC6CGjbh5qofNYmsdTk=";
};
postPatch = ''
substituteInPlace src/libbson/CMakeLists.txt src/libmongoc/CMakeLists.txt \
--replace "\\\''${prefix}/" ""
'';
nativeBuildInputs = [
cmake
pkg-config
];
buildInputs = [
openssl
zlib
zstd
icu
cyrus_sasl
snappy
] ++ lib.optionals stdenv.isDarwin [
darwin.apple_sdk.frameworks.Security
];
cmakeFlags = [
"-DBUILD_VERSION=${version}"
"-DENABLE_UNINSTALL=OFF"
"-DENABLE_AUTOMATIC_INIT_AND_CLEANUP=OFF"
];
# remove forbidden reference to $TMPDIR
preFixup = ''
rm -rf src/{libmongoc,libbson}
'';
meta = with lib; {
broken = stdenv.isDarwin && stdenv.isx86_64;
description = "The official C client library for MongoDB";
homepage = "http://mongoc.org";
license = licenses.asl20;
mainProgram = "mongoc-stat";
maintainers = with maintainers; [ archer-65 ];
platforms = platforms.all;
};
}