aboutsummaryrefslogblamecommitdiff
path: root/flakes/mypackages/pkgs/status_engine/worker.nix
blob: d8425e170fde7ebd1810687d8f2c6f2de1fecd38 (plain) (tree)




































                                                                                                                                
{ stdenv, fetchFromGitHub, composerEnv, fetchurl, gearmand, callPackage, php81, config_file ? "/var/lib/status_engine/ui.yml" }:
let
  gearman = php81.buildPecl rec {
    # git describe
    version = "2.1.0-12-g8fb88d5";
    pname = "gearman";
    src = fetchFromGitHub {
      owner = "php";
      repo = "pecl-networking-gearman";
      rev = "8fb88d5a97111a7e8f0dc67553c387b49f047e53";
      sha256 = "sha256-VPJX29JfNjh0mHlYY+iYKBHSJGUINbWHvojyYBSkSho=";
    };
    configureFlags = [ "--with-gearman=${gearmand}" ];
    nativeBuildInputs = [ gearmand ];
  };
  php = php81.withExtensions({ enabled, all }: enabled ++ (with all; [gearman redis mbstring bcmath iconv]));
in
(composerEnv.override { inherit php; }).buildPackage (
  import ./worker_php_packages.nix { inherit composerEnv fetchurl; } // rec {
    name = "${pname}-${version}";
    pname = "worker";
    version = "master";
    src = fetchFromGitHub {
      owner = "statusengine";
      repo = "worker";
      rev = "e20d6b5c83c6b3c6a2030c9506542fa59dcbb551";
      sha256 = "sha256-dcC+SLEqMUubp4JQFSuKNpd6U4VYvGR38Vn1jf6ZvTU=";
      fetchSubmodules = true;
    };
    passthru.php = php;
    postInstall = ''
      ln -s ${config_file} $out/etc/config.yml
    '';
    preInstall = ''
      cp ${./worker_composer.lock} $out/composer.lock
    '';
})