aboutsummaryrefslogblamecommitdiff
path: root/systems/eldiron/websites/tools/landing.nix
blob: 692eaaeaa9f5b12f7644b3d93c507660b53a850a (plain) (tree)
1
2
3
4
5
6
7




                                                               

                                                                   






























                                                                                                                                  
{ stdenv, yarn2nix-moretea, nodejs_16 }:
let
  source = builtins.fetchGit {
    url = "https://git.immae.eu/github/bastienwirtz/homer.git";
    ref = "gitolite_local/local_changes";
    rev = "af6db21ee92824ddd9c4b9574018789619326ffc";
    narHash = "sha256-TAf2oIPu5ZfRbxahAjOxwQ/z/g82pXmLPU8LhwxRgXs";
  };
  yarnModules = yarn2nix-moretea.mkYarnModules rec {
    nodejs = nodejs_16;
    name = "landing";
    pname = name;
    version = "v1.0.0";
    packageJSON = "${source}/package.json";
    yarnLock = "${source}/yarn.lock";
    yarnNix = ./landing/yarn-packages.nix;
  };
in
  stdenv.mkDerivation rec {
    pname = "landing";
    version = "v1.0.0";
    src = source;

    buildInputs = [ yarnModules yarn2nix-moretea.yarn ];
    configurePhase = ''
      ln -s ${yarnModules}/node_modules .
    '';
    buildPhase = ''
      # See https://stackoverflow.com/questions/74548318/how-to-resolve-error-error0308010cdigital-envelope-routinesunsupported-no
      export NODE_OPTIONS=--openssl-legacy-provider
      yarn build
    '';
    installPhase = ''
      cp -a dist $out
      cp ${./landing}/*.php $out/
      ln -s service-worker.js $out/worker.js
    '';
  }