]> git.immae.eu Git - perso/Immae/Config/Nix.git/blob - pkgs/status_engine/worker.nix
Add status engine website
[perso/Immae/Config/Nix.git] / pkgs / status_engine / worker.nix
1 { stdenv, mylibs, composerEnv, fetchurl, gearmand, callPackage, php73, php73base, config_file ? "/var/lib/status_engine/ui.yml" }:
2 let
3 # FIXME: present in php73.buildPecl in latest nixpkgs-unstable
4 gearman = (callPackage <nixpkgs/pkgs/build-support/build-pecl.nix> { php = php73base; }) rec {
5 version = "2.0.6";
6 pname = "gearman";
7 src = fetchurl {
8 url = "https://github.com/wcgallego/pecl-gearman/archive/${pname}-${version}.tar.gz";
9 sha256 = "0bliga4j41xkvdfh6bqi6k8x6mfxbi5sl9gix97axs7w0ncyfprz";
10 };
11 configureFlags = [ "--with-gearman=${gearmand}" ];
12 nativeBuildInputs = [ gearmand ];
13 };
14 in
15 (composerEnv.override {
16 php = php73.withExtensions(e: php73.enabledExtensions ++ (with php73.extensions; [gearman redis mbstring bcmath json iconv]));
17 }).buildPackage (mylibs.fetchedGithub ./worker.json //
18 import ./worker_php_packages.nix { inherit composerEnv fetchurl; } // rec {
19 postInstall = ''
20 ln -s ${config_file} $out/etc/config.yml
21 '';
22 preInstall = ''
23 cp ${./worker_composer.lock} $out/composer.lock
24 '';
25 })