+++ /dev/null
-{ environment ? "prod"
-, varDir ? "/var/lib/aten_${environment}"
-, composerEnv, fetchgit, runCommand, nodejs-10_x, jq, libsass, python, fetchurl, yarn2nix-moretea, yarn, sources }:
-let
- yarn2nix-moretea' = yarn2nix-moretea.override({
- yarn = yarn.override({ nodejs = nodejs-10_x; });
- nodejs = nodejs-10_x;
- });
- packagesource = sources.websites-isabelle-aten;
- packagejson = runCommand "package.json" { buildInputs = [ jq ]; } ''
- cat ${packagesource}/package.json | jq -r '.version = "v1.0.0"|.name="aten"' > $out
- '';
- yarnModules = yarn2nix-moretea'.mkYarnModules rec {
- name = "aten-yarn";
- pname = name;
- version = "v1.0.0";
- packageJSON = packagejson;
- yarnLock = "${packagesource}/yarn.lock";
- yarnNix = ./yarn-packages.nix;
- pkgConfig = {
- node-sass = {
- buildInputs = [ libsass python ];
- postInstall = let
- nodeHeaders = fetchurl {
- url = "https://nodejs.org/download/release/v${nodejs-10_x.version}/node-v${nodejs-10_x.version}-headers.tar.gz";
- sha256 = "15hkcbs328d3rc1s14rmky8lh8d3rr86l8k0bia0ggxzwl23lj9c";
- };
- in
- ''
- node scripts/build.js --tarball=${nodeHeaders}
- '';
- };
- };
- };
- app = composerEnv.buildPackage (
- import ./php-packages.nix { inherit composerEnv fetchurl fetchgit; } //
- rec {
- version = packagesource.version;
- pname = "aten";
- name = "${pname}-${version}";
- src = packagesource;
- noDev = (environment == "prod");
- preInstall = ''
- export SYMFONY_ENV="${environment}"
- export APP_ENV="${environment}"
- '';
- postInstall = ''
- ln -sf ${yarnModules}/node_modules .
- yarn run --offline encore production
- rm -rf var/{log,cache}
- ln -sf ${varDir}/{log,cache} var/
- '';
- buildInputs = [ yarnModules yarn2nix-moretea'.yarn ];
- passthru = {
- inherit varDir;
- inherit environment;
- webRoot = "${app}/public";
- };
- }
- );
-in app