{ php84, lib }: let # Laravel connects to Postgres via PDO, so the runtime PHP must # ship pdo_pgsql. The default php84 set ships pdo, pdo_mysql, and # pdo_sqlite but not pdo_pgsql. buildEnv gives us a php with the # extra extension that flows through to passthru.php and the # composer build hooks. php = php84.buildEnv { extensions = ({ enabled, all }: enabled ++ [ all.pdo_pgsql ]); }; in php.buildComposerProject (finalAttrs: { pname = "tide-backend"; version = "0.1.0"; src = lib.cleanSource ../../backend; composerNoDev = true; composerNoPlugins = true; composerNoScripts = true; vendorHash = "sha256-MckSwzA5JP+wLV6P96OyOVxmDANZpg8bqqG8B7RSgnY="; passthru = { inherit php; }; meta = { description = "TIDE Laravel backend"; license = lib.licenses.mit; }; })