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})