]> git.immae.eu Git - perso/Immae/Config/Nix.git/blob - flakes/mypackages/pkgs/status_engine/worker.nix
Squash changes containing private information
[perso/Immae/Config/Nix.git] / flakes / mypackages / pkgs / status_engine / worker.nix
1 { stdenv, fetchFromGitHub, composerEnv, fetchurl, gearmand, callPackage, php81, config_file ? "/var/lib/status_engine/ui.yml" }:
2 let
3 gearman = php81.buildPecl rec {
4 # git describe
5 version = "2.1.0-12-g8fb88d5";
6 pname = "gearman";
7 src = fetchFromGitHub {
8 owner = "php";
9 repo = "pecl-networking-gearman";
10 rev = "8fb88d5a97111a7e8f0dc67553c387b49f047e53";
11 sha256 = "sha256-VPJX29JfNjh0mHlYY+iYKBHSJGUINbWHvojyYBSkSho=";
12 };
13 configureFlags = [ "--with-gearman=${gearmand}" ];
14 nativeBuildInputs = [ gearmand ];
15 };
16 php = php81.withExtensions({ enabled, all }: enabled ++ (with all; [gearman redis mbstring bcmath iconv]));
17 in
18 (composerEnv.override { inherit php; }).buildPackage (
19 import ./worker_php_packages.nix { inherit composerEnv fetchurl; } // rec {
20 name = "${pname}-${version}";
21 pname = "worker";
22 version = "master";
23 src = fetchFromGitHub {
24 owner = "statusengine";
25 repo = "worker";
26 rev = "e20d6b5c83c6b3c6a2030c9506542fa59dcbb551";
27 sha256 = "sha256-dcC+SLEqMUubp4JQFSuKNpd6U4VYvGR38Vn1jf6ZvTU=";
28 fetchSubmodules = true;
29 };
30 passthru.php = php;
31 postInstall = ''
32 ln -s ${config_file} $out/etc/config.yml
33 '';
34 preInstall = ''
35 cp ${./worker_composer.lock} $out/composer.lock
36 '';
37 })