diff --git a/pkgs/development/libraries/ucommon/default.nix b/pkgs/development/libraries/ucommon/default.nix index 0fc32513717..50d8f5e8745 100644 --- a/pkgs/development/libraries/ucommon/default.nix +++ b/pkgs/development/libraries/ucommon/default.nix @@ -1,17 +1,26 @@ -{ fetchurl, stdenv, gnutls, pkgconfig, zlib, libgcrypt }: +{ stdenv, fetchurl, pkgconfig +, openssl ? null, zlib ? null, gnutls ? null +}: + +let + xor = a: b: (a || b) && (!(a && b)); +in + +assert xor (openssl != null) (gnutls != null); +assert !(xor (openssl != null) (zlib != null)); stdenv.mkDerivation rec { - name = "ucommon-6.1.11"; + name = "ucommon-6.3.1"; src = fetchurl { url = "mirror://gnu/commoncpp/${name}.tar.gz"; - sha256 = "0hpwxiyd7c3qnzksk6vw94cdig1v8yy6khgcaa87a7hb3zbkv4zg"; + sha256 = "1marbwbqnllhm9nh22lvyfjy802pgy1wx7j7kkpkasbm9r0sb6mm"; }; - buildInputs = [ pkgconfig gnutls zlib ]; + buildInputs = [ pkgconfig ]; - # Propagate libgcrypt because it appears in `ucommon.pc'. - propagatedBuildInputs = [ libgcrypt ]; + # ucommon.pc has link time depdendencies on -lssl, -lcrypto, -lz, -lgnutls + propagatedBuildInputs = [ openssl zlib gnutls ]; doCheck = true; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 4067ccdbc8d..f49d6b2198d 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -7666,7 +7666,17 @@ let uthash = callPackage ../development/libraries/uthash { }; - ucommon = callPackage ../development/libraries/ucommon { }; + ucommon = ucommon_openssl; + + ucommon_openssl = callPackage ../development/libraries/ucommon { + gnutls = null; + }; + + ucommon_gnutls = lowPrio (ucommon.override { + openssl = null; + zlib = null; + gnutls = gnutls; + }); v8_3_16_14 = callPackage ../development/libraries/v8/3.16.14.nix { inherit (pythonPackages) gyp;