Unverified Commit 1f2b2b8e authored by Yohann Boniface's avatar Yohann Boniface Committed by GitHub
Browse files

sobjectizer: init at 5.8.4 (#403862)

parents 3f4f2285 2c503c36
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -10735,6 +10735,12 @@
    githubId = 49885246;
    keys = [ { fingerprint = "6358 EF87 86E0 EF2F 1628  103F BAB5 F165 1C71 C9C3"; } ];
  };
  ivalery111 = {
    name = "Valery";
    email = "ivalery111@gmail.com";
    github = "ivalery111";
    githubId = 37245535;
  };
  ivan = {
    email = "ivan@ludios.org";
    github = "ivan";
+60 −0
Original line number Diff line number Diff line
{
  pkgs,
  lib,
  stdenv,
  fetchFromGitHub,
  fetchpatch,
  cmake,
  withStatic ? stdenv.hostPlatform.isStatic,
  withShared ? !withStatic,
  buildExamples ? false,
}:

# Ensure build examples with static library.
assert buildExamples -> withStatic;

stdenv.mkDerivation (finalAttrs: {
  pname = "sobjectizer";
  version = "5.8.4";

  src = fetchFromGitHub {
    owner = "Stiffstream";
    repo = "sobjectizer";
    tag = "v.${finalAttrs.version}";
    hash = "sha256-tIqWgd6TppHfqZk3XHzhG0t+Nn8BQCTP81UD7ls67UE=";
  };

  patches = [
    (fetchpatch {
      name = "tests-do-not-require-static-library.patch";
      url = "https://github.com/Stiffstream/sobjectizer/commit/10eb34c65ccdaa4fea62d0c4354b83104256370d.patch";
      hash = "sha256-a2g6jDGDC/y8cmbAD0KtVQKhVS5ZAjKtMhbAUyoQIvg=";
    })
  ];

  nativeBuildInputs = [ cmake ];

  cmakeDir = "../dev";

  cmakeFlags = [
    (lib.cmakeBool "SOBJECTIZER_BUILD_STATIC" withStatic)
    (lib.cmakeBool "SOBJECTIZER_BUILD_SHARED" withShared)
    (lib.cmakeBool "BUILD_EXAMPLES" (buildExamples && withStatic))
    (lib.cmakeBool "BUILD_TESTS" (finalAttrs.doCheck && withShared))
  ];

  # The tests require the shared library thanks to the patch.
  doCheck = withShared;

  # Receive semi-automated updates.
  passthru.updateScript = pkgs.nix-update-script { };

  meta = {
    homepage = "https://github.com/Stiffstream/sobjectizer/tree/master";
    changelog = "https://github.com/Stiffstream/sobjectizer/releases/tag/v.${finalAttrs.version}";
    description = "Implementation of Actor, Publish-Subscribe, and CSP models in one rather small C++ framework";
    license = lib.licenses.bsd3;
    maintainers = [ lib.maintainers.ivalery111 ];
    platforms = lib.platforms.all;
  };
})