+++ /dev/null
-{ environment ? "prod"
-, varDir ? "/var/lib/aten_${environment}"
-, mylibs, composerEnv, fetchgit, runCommand, nodejs, jq, libsass, python, fetchurl }:
-let
- packagesource = mylibs.fetchedGitPrivate ./aten.json;
- packagejson = runCommand "package.json" { buildInputs = [ jq ]; } ''
- cat ${packagesource.src}/package.json | jq -r '.version = "v1.0.0"|.name="aten"' > $out
- '';
- yarnModules = mylibs.yarn2nixPackage.mkYarnModules rec {
- name = "aten-yarn";
- pname = name;
- version = "v1.0.0";
- packageJSON = packagejson;
- yarnLock = "${packagesource.src}/yarn.lock";
- yarnNix = ./yarn-packages.nix;
- pkgConfig = {
- all = {
- buildInputs = [ mylibs.yarn2nixPackage.src ];
- };
- node-sass = {
- buildInputs = [ libsass python ];
- postInstall = let
- nodeHeaders = fetchurl {
- url = "https://nodejs.org/download/release/v${nodejs.version}/node-v${nodejs.version}-headers.tar.gz";
- sha256 = "1df3yhlwlvai0m9kvjyknjg11hnw0kj0rnhyzbwvsfjnmr6z8r76";
- };
- in
- ''
- node scripts/build.js --tarball=${nodeHeaders}
- '';
- };
- };
- };
- app = composerEnv.buildPackage (
- import ./php-packages.nix { inherit composerEnv fetchurl fetchgit; } //
- packagesource //
- rec {
- 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 mylibs.yarn2nixPackage.yarn ];
- passthru = {
- inherit varDir;
- inherit environment;
- webRoot = "${app}/public";
- };
- }
- );
-in app