]> git.immae.eu Git - perso/Immae/Config/Nix.git/blob - flakes/mypackages/pkgs/status_engine/worker.nix
Add flake skeletons
[perso/Immae/Config/Nix.git] / flakes / mypackages / pkgs / status_engine / worker.nix
1 { stdenv, fetchFromGitHub, composerEnv, fetchurl, gearmand, callPackage, php74, config_file ? "/var/lib/status_engine/ui.yml" }:
2 let
3 gearman = php74.buildPecl rec {
4 version = "2.1.0";
5 pname = "gearman";
6 src = fetchurl {
7 url = "https://github.com/php/pecl-networking-gearman/archive/${pname}-${version}.tar.gz";
8 sha256 = "077wh1kxpp9pfmsm3xixplis85zx5fpbhilvz1d5pic6rb0ali5s";
9 };
10 configureFlags = [ "--with-gearman=${gearmand}" ];
11 nativeBuildInputs = [ gearmand ];
12 };
13 in
14 (composerEnv.override {
15 php = php74.withExtensions({ enabled, all }: enabled ++ (with all; [gearman redis mbstring bcmath json iconv]));
16 }).buildPackage (
17 import ./worker_php_packages.nix { inherit composerEnv fetchurl; } // rec {
18 name = "${pname}-${version}";
19 pname = "worker";
20 version = "02267d4-master";
21 src = fetchFromGitHub {
22 owner = "statusengine";
23 repo = "worker";
24 rev = "02267d495ae69137d6765dc6b0f453f80216f1cf";
25 sha256 = "06ci4mkmifdf1z15yc8rxl44ppi45vjz4s136yaccq9d8vk9iyd4";
26 fetchSubmodules = true;
27 };
28 postInstall = ''
29 ln -s ${config_file} $out/etc/config.yml
30 '';
31 preInstall = ''
32 cp ${./worker_composer.lock} $out/composer.lock
33 '';
34 })