Merge pull request #268619 from tweag/lib-descriptions
[NixPkgs.git] / pkgs / development / libraries / c-ares / default.nix
blobb8201f8ce5c6c67486cd52d347e68ab541547879
1 { lib, stdenv, fetchurl, writeTextDir
2 , withCMake ? true, cmake
4 # sensitive downstream packages
5 , curl
6 , grpc # consumes cmake config
7 }:
9 # Note: this package is used for bootstrapping fetchurl, and thus
10 # cannot use fetchpatch! All mutable patches (generated by GitHub or
11 # cgit) that are needed here should be included directly in Nixpkgs as
12 # files.
14 stdenv.mkDerivation rec {
15   pname = "c-ares";
16   version = "1.19.1";
18   src = fetchurl {
19     url = "https://c-ares.haxx.se/download/${pname}-${version}.tar.gz";
20     sha256 = "sha256-MhcAOZty7Q4DfQB0xinndB9rLsLdqSlWq+PpZx0+Jo4=";
21   };
23   outputs = [ "out" "dev" "man" ];
25   nativeBuildInputs = lib.optionals withCMake [ cmake ];
27   cmakeFlags = [] ++ lib.optionals stdenv.hostPlatform.isStatic [
28     "-DCARES_SHARED=OFF"
29     "-DCARES_STATIC=ON"
30   ];
32   enableParallelBuilding = true;
34   passthru.tests = {
35     inherit grpc;
36     curl = (curl.override { c-aresSupport = true; }).tests.withCheck;
37   };
39   meta = with lib; {
40     description = "A C library for asynchronous DNS requests";
41     homepage = "https://c-ares.haxx.se";
42     changelog = "https://c-ares.org/changelog.html#${lib.replaceStrings [ "." ] [ "_" ] version}";
43     license = licenses.mit;
44     platforms = platforms.all;
45   };