1{ lib
2, stdenv
3, fetchFromGitLab
4, gitUpdater
5, testers
6, cmake
7, pkg-config
8, gtest
9, doxygen
10, graphviz
11, lomiri
12}:
13
14stdenv.mkDerivation (finalAttrs: {
15 pname = "properties-cpp";
16 version = "0.0.3";
17
18 src = fetchFromGitLab {
19 owner = "ubports";
20 repo = "development/core/lib-cpp/properties-cpp";
21 rev = finalAttrs.version;
22 hash = "sha256-C/BDEuKNMQHOjATO5aWBptjIlgfv6ykzjFAsHb6uP3Q=";
23 };
24
25 postPatch = lib.optionalString (!finalAttrs.finalPackage.doCheck) ''
26 sed -i "/add_subdirectory(tests)/d" CMakeLists.txt
27 '';
28
29 strictDeps = true;
30
31 nativeBuildInputs = [
32 cmake
33 doxygen
34 graphviz
35 pkg-config
36 ];
37
38 buildInputs = [
39 lomiri.cmake-extras
40 ];
41
42 checkInputs = [
43 gtest
44 ];
45
46 doCheck = stdenv.buildPlatform.canExecute stdenv.hostPlatform;
47
48 passthru = {
49 tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage;
50 updateScript = gitUpdater { };
51 };
52
53 meta = with lib; {
54 homepage = "https://gitlab.com/ubports/development/core/lib-cpp/properties-cpp";
55 description = "A very simple convenience library for handling properties and signals in C++11";
56 license = licenses.lgpl3Only;
57 maintainers = with maintainers; [ edwtjo ];
58 platforms = platforms.linux;
59 pkgConfigModules = [
60 "properties-cpp"
61 ];
62 };
63})