{ stdenv, mylibs, composerEnv, fetchurl, gearmand, callPackage, php74, config_file ? "/var/lib/status_engine/ui.yml" }: let gearman = php74.buildPecl rec { version = "2.1.0"; pname = "gearman"; src = fetchurl { url = "https://github.com/php/pecl-networking-gearman/archive/${pname}-${version}.tar.gz"; sha256 = "077wh1kxpp9pfmsm3xixplis85zx5fpbhilvz1d5pic6rb0ali5s"; }; configureFlags = [ "--with-gearman=${gearmand}" ]; nativeBuildInputs = [ gearmand ]; }; in (composerEnv.override { php = php74.withExtensions({ enabled, all }: enabled ++ (with all; [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 ''; })