diff options
-rw-r--r-- | pkgs/development/libraries/libucl/default.nix | 58 | ||||
-rw-r--r-- | pkgs/top-level/all-packages.nix | 2 |
2 files changed, 60 insertions, 0 deletions
diff --git a/pkgs/development/libraries/libucl/default.nix b/pkgs/development/libraries/libucl/default.nix new file mode 100644 index 000000000000..b9b33453a4c6 --- /dev/null +++ b/pkgs/development/libraries/libucl/default.nix @@ -0,0 +1,58 @@ +{ stdenv +, fetchFromGitHub +, pkg-config +, autoreconfHook +, curl +, lua +, openssl +, features ? { + urls = false; + # Upstream enables regex by default + regex = true; + # Signature support is broken with openssl 1.1.1: https://github.com/vstakhov/libucl/issues/203 + signatures = false; + lua = false; + utils = false; + } +}: + +let + featureDeps = { + urls = [ curl ]; + signatures = [ openssl ]; + lua = [ lua ]; + }; +in +stdenv.mkDerivation rec { + pname = "libucl"; + version = "0.8.1"; + + src = fetchFromGitHub { + owner = "vstakhov"; + repo = pname; + rev = version; + sha256 = "1h52ldxankyhbbm1qbqz1f2q0j03c1b4mig7343bs3mc6fpm18gf"; + }; + + nativeBuildInputs = [ pkg-config autoreconfHook ]; + + buildInputs = with stdenv.lib; + concatLists ( + mapAttrsToList (feat: enabled: + optionals enabled (featureDeps."${feat}" or []) + ) features + ); + + enableParallelBuilding = true; + + configureFlags = with stdenv.lib; + mapAttrsToList (feat: enabled: strings.enableFeature enabled feat) features; + + meta = with stdenv.lib; { + description = "Universal configuration library parser"; + homepage = "https://github.com/vstakhov/libucl"; + license = licenses.bsd2; + platforms = platforms.unix; + maintainers = with maintainers; [ jpotier ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 7e82463309d9..fe2a3831c164 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -4991,6 +4991,8 @@ in libiberty = callPackage ../development/libraries/libiberty { }; + libucl = callPackage ../development/libraries/libucl { }; + libxc = callPackage ../development/libraries/libxc { }; libxcomp = callPackage ../development/libraries/libxcomp { }; |