X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=virtual%2Fmodules%2Fwebsites%2Fconnexionswing%2Fconnexionswing.nix;h=ecbbfd56b1304eb7bd30b902ab6c861a9cd26a8c;hb=d78128ecd759db7aa86727fc08068a23e223b0ff;hp=66c9b53673e1a4df8d7119ae3cccc72d59a619a8;hpb=a718b966d80612cf9973da82d8fa8c632b21b152;p=perso%2FImmae%2FConfig%2FNix.git diff --git a/virtual/modules/websites/connexionswing/connexionswing.nix b/virtual/modules/websites/connexionswing/connexionswing.nix index 66c9b53..ecbbfd5 100644 --- a/virtual/modules/websites/connexionswing/connexionswing.nix +++ b/virtual/modules/websites/connexionswing/connexionswing.nix @@ -1,9 +1,8 @@ -{ lib, writeText, fetchedGitPrivate, stdenv, php, git, cacert }: +{ pkgs, lib, writeText, fetchedGitPrivate, stdenv, composerEnv, fetchurl, fetchgit }: let connexionswing = { config }: rec { environment = config.environment; varDir = "/var/lib/connexionswing_${environment}"; - envName= lib.strings.toUpper environment; configRoot = writeText "parameters.yml" '' # This file is auto-generated during the composer install @@ -13,6 +12,7 @@ let database_name: ${config.mysql.name} database_user: ${config.mysql.user} database_password: ${config.mysql.password} + database_server_version: ${pkgs.mariadb.mysqlVersion} mailer_transport: smtp mailer_host: mail.immae.eu mailer_user: null @@ -143,28 +143,24 @@ let fi ''; }; - webappDir = stdenv.mkDerivation (fetchedGitPrivate ./connexionswing.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 ../../../../../${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/ + ''; + }); webRoot = "${webappDir}/web"; }; in