]> git.immae.eu Git - perso/Immae/Config/Nix.git/blobdiff - pkgs/status_engine/worker.nix
Add status engine website
[perso/Immae/Config/Nix.git] / pkgs / status_engine / worker.nix
diff --git a/pkgs/status_engine/worker.nix b/pkgs/status_engine/worker.nix
new file mode 100644 (file)
index 0000000..6c14449
--- /dev/null
@@ -0,0 +1,25 @@
+{ stdenv, mylibs, composerEnv, fetchurl, gearmand, callPackage, php73, php73base, config_file ? "/var/lib/status_engine/ui.yml" }:
+let
+  # FIXME: present in php73.buildPecl in latest nixpkgs-unstable
+  gearman = (callPackage <nixpkgs/pkgs/build-support/build-pecl.nix> { php = php73base; }) rec {
+    version = "2.0.6";
+    pname = "gearman";
+    src = fetchurl {
+      url = "https://github.com/wcgallego/pecl-gearman/archive/${pname}-${version}.tar.gz";
+      sha256 = "0bliga4j41xkvdfh6bqi6k8x6mfxbi5sl9gix97axs7w0ncyfprz";
+    };
+    configureFlags = [ "--with-gearman=${gearmand}" ];
+    nativeBuildInputs = [ gearmand ];
+  };
+in
+(composerEnv.override {
+  php = php73.withExtensions(e: php73.enabledExtensions ++ (with php73.extensions; [gearman redis mbstring bcmath json iconv]));
+}).buildPackage (mylibs.fetchedGithub ./worker.json //
+  import ./worker_php_packages.nix { inherit composerEnv fetchurl; } // rec {
+    postInstall = ''
+      ln -s ${config_file} $out/etc/config.yml
+      '';
+  preInstall = ''
+    cp ${./worker_composer.lock} $out/composer.lock
+    '';
+})