Merge pull request #268619 from tweag/lib-descriptions
[NixPkgs.git] / pkgs / development / libraries / libucl / default.nix
blob9ba96644102e275dbe0b88179dc2b7a5f0a4da11
1 { lib, stdenv
2 , fetchFromGitHub
3 , pkg-config
4 , autoreconfHook
5 , curl
6 , lua
7 , openssl
8 , features ? {
9     urls = false;
10     # Upstream enables regex by default
11     regex = true;
12     # Signature support is broken with openssl 1.1.1: https://github.com/vstakhov/libucl/issues/203
13     signatures = false;
14     lua = false;
15     utils = false;
16   }
19 let
20   featureDeps = {
21     urls = [ curl ];
22     signatures = [ openssl ];
23     lua = [ lua ];
24   };
26 stdenv.mkDerivation rec {
27   pname = "libucl";
28   version = "0.8.2";
30   src = fetchFromGitHub {
31     owner = "vstakhov";
32     repo = pname;
33     rev = version;
34     sha256 = "sha256-rpTc0gq8HquDow4NEkRSjyESEMrv8dAhX98yKKu/Fsk=";
35   };
37   nativeBuildInputs = [ pkg-config autoreconfHook ];
39   buildInputs = with lib;
40     concatLists (
41       mapAttrsToList (feat: enabled:
42         optionals enabled (featureDeps."${feat}" or [])
43       ) features
44     );
46   enableParallelBuilding = true;
48   configureFlags = with lib;
49     mapAttrsToList (feat: enabled: strings.enableFeature enabled feat) features;
51   meta = with lib; {
52     description = "Universal configuration library parser";
53     homepage = "https://github.com/vstakhov/libucl";
54     license = licenses.bsd2;
55     platforms = platforms.unix;
56     maintainers = with maintainers; [ jpotier ];
57   };