From 1bb62028c0e7dfbfb52a2a93e7f0be1fec1dc15d Mon Sep 17 00:00:00 2001 From: OPNA2608 Date: Wed, 22 May 2024 18:54:06 +0200 Subject: [PATCH 1/4] process-cpp: Add OPNA2608 to maintainers --- pkgs/development/libraries/process-cpp/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/libraries/process-cpp/default.nix b/pkgs/development/libraries/process-cpp/default.nix index f73f72e4545d..96032483b4f7 100644 --- a/pkgs/development/libraries/process-cpp/default.nix +++ b/pkgs/development/libraries/process-cpp/default.nix @@ -44,7 +44,7 @@ stdenv.mkDerivation rec { 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 ]; + maintainers = with maintainers; [ onny OPNA2608 ]; platforms = platforms.linux; }; } From 807c7eed437017f77d53b1f4c74738bc475c782e Mon Sep 17 00:00:00 2001 From: OPNA2608 Date: Wed, 22 May 2024 18:56:14 +0200 Subject: [PATCH 2/4] process-cpp: Move to by-name --- .../default.nix => by-name/pr/process-cpp/package.nix} | 0 pkgs/top-level/all-packages.nix | 2 -- 2 files changed, 2 deletions(-) rename pkgs/{development/libraries/process-cpp/default.nix => by-name/pr/process-cpp/package.nix} (100%) diff --git a/pkgs/development/libraries/process-cpp/default.nix b/pkgs/by-name/pr/process-cpp/package.nix similarity index 100% rename from pkgs/development/libraries/process-cpp/default.nix rename to pkgs/by-name/pr/process-cpp/package.nix diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index b9f0fb9cc21a..fb66f19fa71a 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -33771,8 +33771,6 @@ with pkgs; premid = callPackage ../applications/misc/premid { }; - process-cpp = callPackage ../development/libraries/process-cpp { }; - processing = callPackage ../applications/graphics/processing { jdk = jdk17; }; From d853de5189d5b35e3ea01e35b21ee9f03a79be19 Mon Sep 17 00:00:00 2001 From: OPNA2608 Date: Tue, 4 Jun 2024 14:12:11 +0200 Subject: [PATCH 3/4] process-cpp: Refactor - Switch to finalAttrs pattern - Add pkgConfigModules & test - Add updateScript - Switch to src.hash --- pkgs/by-name/pr/process-cpp/package.nix | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/pr/process-cpp/package.nix b/pkgs/by-name/pr/process-cpp/package.nix index 96032483b4f7..068302370126 100644 --- a/pkgs/by-name/pr/process-cpp/package.nix +++ b/pkgs/by-name/pr/process-cpp/package.nix @@ -1,13 +1,15 @@ { lib , stdenv , fetchFromGitLab +, testers +, unstableGitUpdater , cmake , boost , properties-cpp , pkg-config }: -stdenv.mkDerivation rec { +stdenv.mkDerivation (finalAttrs: { pname = "process-cpp"; version = "unstable-2021-05-11"; @@ -16,7 +18,7 @@ stdenv.mkDerivation rec { owner = "ubports"; repo = "development/core/lib-cpp/process-cpp"; rev = "ee6d99a3278343f5fdcec7ed3dad38763e257310"; - sha256 = "sha256-jDYXKCzrg/ZGFC2xpyfkn/f7J3t0cdOwHK2mLlYWNN0="; + hash = "sha256-jDYXKCzrg/ZGFC2xpyfkn/f7J3t0cdOwHK2mLlYWNN0="; }; postPatch = '' @@ -40,11 +42,17 @@ stdenv.mkDerivation rec { properties-cpp ]; + passthru = { + tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage; + updateScript = unstableGitUpdater { }; + }; + 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 OPNA2608 ]; platforms = platforms.linux; + pkgConfigModules = [ "process-cpp" ]; }; -} +}) From 977a1f05286bbcd0e3450cefc8bab5192d2bce77 Mon Sep 17 00:00:00 2001 From: OPNA2608 Date: Tue, 4 Jun 2024 14:13:07 +0200 Subject: [PATCH 4/4] process-cpp: unstable-2021-05-11 -> 3.0.1-unstable-2024-03-14 - Enable tests - Enable strictDeps - Add outputs --- pkgs/by-name/pr/process-cpp/package.nix | 42 ++++++++++++++++++------- 1 file changed, 31 insertions(+), 11 deletions(-) diff --git a/pkgs/by-name/pr/process-cpp/package.nix b/pkgs/by-name/pr/process-cpp/package.nix index 068302370126..407bb7a15a2f 100644 --- a/pkgs/by-name/pr/process-cpp/package.nix +++ b/pkgs/by-name/pr/process-cpp/package.nix @@ -4,34 +4,43 @@ , testers , unstableGitUpdater , cmake +, coreutils , boost +, gtest +, lomiri , properties-cpp , pkg-config }: stdenv.mkDerivation (finalAttrs: { pname = "process-cpp"; - version = "unstable-2021-05-11"; + version = "3.0.1-unstable-2024-03-14"; src = fetchFromGitLab { domain = "gitlab.com"; owner = "ubports"; repo = "development/core/lib-cpp/process-cpp"; - rev = "ee6d99a3278343f5fdcec7ed3dad38763e257310"; - hash = "sha256-jDYXKCzrg/ZGFC2xpyfkn/f7J3t0cdOwHK2mLlYWNN0="; + rev = "7b0a829abcbcdd25d949e5f9e2c26bb985a58b31"; + hash = "sha256-Az+lSJ7uVR4pAWvOeah5vFtIPb12eKp0nAFF1qsHZXA="; }; + outputs = [ + "out" + "dev" + ]; + 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 + substituteInPlace data/process-cpp.pc.in \ + --replace-fail 'libdir=''${exec_prefix}' 'libdir=''${prefix}' \ + --replace-fail 'includedir=''${exec_prefix}' 'includedir=''${prefix}' + + substituteInPlace tests/posix_process_test.cpp \ + --replace-fail '/usr/bin/sleep' '${lib.getExe' coreutils "sleep"}' \ + --replace-fail '/usr/bin/env' '${lib.getExe' coreutils "env"}' ''; + strictDeps = true; + nativeBuildInputs = [ cmake pkg-config @@ -39,9 +48,20 @@ stdenv.mkDerivation (finalAttrs: { buildInputs = [ boost + lomiri.cmake-extras properties-cpp ]; + checkInputs = [ + gtest + ]; + + cmakeFlags = [ + (lib.cmakeBool "BUILD_TESTING" finalAttrs.finalPackage.doCheck) + ]; + + doCheck = stdenv.buildPlatform.canExecute stdenv.hostPlatform; + passthru = { tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage; updateScript = unstableGitUpdater { };