Files
Dark Steveneq 646b892680
Some checks failed
Periodic Merges (6h) / master → staging-nixos (push) Failing after 12m50s
Periodic Merges (6h) / master → staging-next (push) Failing after 12m54s
Periodic Merges (24h) / merge-base(master,staging) → haskell-updates (push) Failing after 11m54s
Periodic Merges (6h) / staging-next → staging (push) Failing after 12m13s
Periodic Merges (24h) / staging-next-25.05 → staging-25.05 (push) Failing after 13m24s
Periodic Merges (24h) / release-25.05 → staging-next-25.05 (push) Failing after 14m28s
push sheeet
2025-10-09 14:15:47 +02:00

63 lines
1.6 KiB
Nix

{
lib,
stdenv,
fetchurl,
updateAutotoolsGnuConfigScriptsHook,
withCMake ? true,
cmake,
# sensitive downstream packages
curl,
grpc, # consumes cmake config
}:
# Note: this package is used for bootstrapping fetchurl, and thus
# cannot use fetchpatch! All mutable patches (generated by GitHub or
# cgit) that are needed here should be included directly in Nixpkgs as
# files.
stdenv.mkDerivation rec {
pname = "c-ares";
version = "1.34.5";
src = fetchurl {
# Note: tag name varies in some versions, e.g. v1.30.0, c-ares-1_17_0.
url = "https://github.com/c-ares/c-ares/releases/download/v${version}/c-ares-${version}.tar.gz";
hash = "sha256-fZNXkOmvCBwlxJX9E8LPzaR5KYNBjpY1jvbnMg7gY0Y=";
};
outputs = [
"out"
"dev"
"man"
];
nativeBuildInputs = [ updateAutotoolsGnuConfigScriptsHook ] ++ lib.optionals withCMake [ cmake ];
cmakeFlags =
[ ]
++ lib.optionals stdenv.hostPlatform.isStatic [
"-DCARES_SHARED=OFF"
"-DCARES_STATIC=ON"
];
enableParallelBuilding = true;
passthru.tests = {
inherit grpc;
curl = (curl.override { c-aresSupport = true; }).tests.withCheck;
};
preFixup = lib.optionalString withCMake ''
substituteInPlace $out/lib/pkgconfig/libcares.pc --replace-fail \''${prefix}/ ""
'';
meta = with lib; {
description = "C library for asynchronous DNS requests";
homepage = "https://c-ares.haxx.se";
changelog = "https://c-ares.org/changelog.html#${lib.replaceStrings [ "." ] [ "_" ] version}";
license = licenses.mit;
platforms = platforms.all;
};
}