1{ lib, stdenv, fetchurl, pkg-config
2, gnutls
3}:
4
5stdenv.mkDerivation rec {
6 pname = "ucommon";
7 version = "7.0.0";
8
9 src = fetchurl {
10 url = "mirror://gnu/commoncpp/${pname}-${version}.tar.gz";
11 sha256 = "6ac9f76c2af010f97e916e4bae1cece341dc64ca28e3881ff4ddc3bc334060d7";
12 };
13
14 nativeBuildInputs = [ pkg-config ];
15
16 # use C++14 Standard until error handling code gets updated upstream
17 CXXFLAGS = [ "-std=c++14" ];
18
19 # disable flaky networking test
20 postPatch = ''
21 substituteInPlace test/stream.cpp \
22 --replace 'ifndef UCOMMON_SYSRUNTIME' 'if 0'
23 '';
24
25 # ucommon.pc has link time depdendencies on -lusecure -lucommon -lgnutls
26 propagatedBuildInputs = [ gnutls ];
27
28 doCheck = true;
29
30 meta = {
31 description = "C++ library to facilitate using C++ design patterns";
32 homepage = "https://www.gnu.org/software/commoncpp/";
33 license = lib.licenses.lgpl3Plus;
34 maintainers = with lib.maintainers; [ ];
35 platforms = lib.platforms.linux;
36 };
37}