-{ lib, writeText, fetchedGitPrivate, stdenv, php, git, cacert, phpPackages }:
+{ lib, writeText, fetchedGitPrivate, fetchurl, stdenv, composerEnv }:
let
tellesflorian = { config }: rec {
environment = config.environment;
fi
'';
};
- webappDir = stdenv.mkDerivation (fetchedGitPrivate ./tellesflorian.json // rec {
- buildPhase = ''
- export GIT_SSL_CAINFO=${cacert}/etc/ssl/certs/ca-bundle.crt
- export SSL_CERT_FILE=${cacert}/etc/ssl/certs/ca-bundle.crt
-
- ln -sf ${configRoot} app/config/parameters.yml
- sed -i -e "/Incenteev..ParameterHandler..ScriptHandler::buildParameters/d" composer.json
- ${if environment == "dev" then ''
- composer install
- '' else ''
- SYMFONY_ENV=prod composer install --no-dev
- ''}
- rm -rf var
- ln -sf ../../../../../${varDir}/var var
- '';
- installPhase = ''
- cp -a . $out
- '';
- buildInputs = [
- php git cacert phpPackages.composer
- ];
- });
+ webappDir = composerEnv.buildPackage (
+ import ./php-packages.nix { inherit composerEnv fetchurl; } //
+ fetchedGitPrivate ./tellesflorian.json //
+ rec {
+ noDev = (environment == "prod");
+ preInstall = ''
+ export SYMFONY_ENV="${environment}"
+ '';
+ postInstall = ''
+ cd $out
+ rm app/config/parameters.yml
+ ln -sf ${configRoot} app/config/parameters.yml
+ rm -rf var/{logs,cache}
+ ln -sf ../../../../../../${varDir}/var/{logs,cache,sessions} var/
+ '';
+ });
webRoot = "${webappDir}/web";
};
in