diff --git a/pkgs/development/libraries/process-cpp/default.nix b/pkgs/development/libraries/process-cpp/default.nix new file mode 100644 index 000000000000..f73f72e4545d --- /dev/null +++ b/pkgs/development/libraries/process-cpp/default.nix @@ -0,0 +1,50 @@ +{ lib +, stdenv +, fetchFromGitLab +, cmake +, boost +, properties-cpp +, pkg-config +}: + +stdenv.mkDerivation rec { + pname = "process-cpp"; + version = "unstable-2021-05-11"; + + src = fetchFromGitLab { + domain = "gitlab.com"; + owner = "ubports"; + repo = "development/core/lib-cpp/process-cpp"; + rev = "ee6d99a3278343f5fdcec7ed3dad38763e257310"; + sha256 = "sha256-jDYXKCzrg/ZGFC2xpyfkn/f7J3t0cdOwHK2mLlYWNN0="; + }; + + postPatch = '' + # Excludes tests from tainting nativeBuildInputs with their dependencies when not being run + # Tests fail upon verifying OOM score adjustment via /proc//oom_score + # [ RUN ] LinuxProcess.adjusting_proc_oom_score_adj_works + # /build/source/tests/linux_process_test.cpp:83: Failure + # Value of: is_approximately_equal(oom_score.value, core::posix::linux::proc::process::OomScoreAdj::max_value()) + # Actual: false (333 > 10) + # Expected: true + sed -i '/tests/d' CMakeLists.txt + ''; + + nativeBuildInputs = [ + cmake + pkg-config + ]; + + buildInputs = [ + boost + properties-cpp + ]; + + meta = with lib; { + description = "A simple convenience library for handling processes in C++11"; + homepage = "https://gitlab.com/ubports/development/core/lib-cpp/process-cpp"; + license = with licenses; [ gpl3Only lgpl3Only ]; + maintainers = with maintainers; [ onny ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index d9145f3fbbbc..379585accd39 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -31715,6 +31715,8 @@ with pkgs; premid = callPackage ../applications/misc/premid { }; + process-cpp = callPackage ../development/libraries/process-cpp { }; + processing = callPackage ../applications/graphics/processing { jdk = oraclejdk8; };