- webappDir = stdenv.mkDerivation (fetchedGitPrivate ./connexionswing.json // rec {
- # FIXME: can we do better than symlink?
- # FIXME: imagick optional
- # FIXME: initial sync
- # FIXME: backup
- # FIXME: replace with pkgs.phpPackages.composer
- 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 ../../../../../${varDir}/{medias,uploads} web/images/
- ln -sf ${configRoot} app/config/parameters.yml
- sed -i -e "/Incenteev..ParameterHandler..ScriptHandler::buildParameters/d" composer.json
- ${if environment == "dev" then "php bin/composer install" else ''
- SYMFONY_ENV=prod php bin/composer install --no-dev
- ./bin/console assetic:dump --env=prod --no-debug
- ''}
- rm -rf var
- ln -sf ../../../../../${varDir}/var var
- '';
- installPhase = ''
- cp -a . $out
- '';
- buildInputs = [
- php git cacert
- ];
- });
+ webappDir = composerEnv.buildPackage (
+ import ./php-packages.nix { inherit composerEnv fetchurl fetchgit; } //
+ fetchedGitPrivate ./connexionswing.json //
+ rec {
+ noDev = (environment == "prod");
+ preInstall = ''
+ export SYMFONY_ENV="${environment}"
+ '';
+ postInstall = ''
+ cd $out
+ ${if environment == "prod" then "php ./bin/console assetic:dump --env=prod --no-debug" else ""}
+ rm app/config/parameters.yml
+ ln -sf ${configRoot} app/config/parameters.yml
+ rm -rf var/{logs,cache}
+ ln -sf ../../../../../../${varDir}/var/{logs,cache} var/
+ ln -sf ../../../../../${varDir}/{medias,uploads} web/images/
+ '';
+ });