]> git.immae.eu Git - perso/Immae/Config/Nix.git/commitdiff
Migrate yarn2nix to external repository
authorIsmaël Bouya <ismael.bouya@normalesup.org>
Tue, 2 Apr 2019 12:15:55 +0000 (14:15 +0200)
committerIsmaël Bouya <ismael.bouya@normalesup.org>
Tue, 2 Apr 2019 12:15:55 +0000 (14:15 +0200)
nixops/modules/buildbot/default.nix
nixops/modules/websites/aten/aten.nix
nixops/modules/websites/aten/default.nix

index c670b7d4e66b521acec2d395c8bcda46ee7b8f81..ff1c697c5551d366689f72af8a0ef2c495a2f562 100644 (file)
@@ -2,8 +2,10 @@
 let
   varDir = "/var/lib/buildbot";
   buildslist_src = mylibs.fetchedGitPrivate ./buildslist.json;
-  buildslist_yarn = pkgs.yarn2nix.mkYarnModules {
+  buildslist_yarn = mylibs.yarn2nixPackage.mkYarnModules rec {
     name = "buildslist-yarn-modules";
+    pname = name;
+    inherit (pkgs.buildbot-pkg) version;
     packageJSON = "${buildslist_src.src}/package.json";
     yarnLock = "${buildslist_src.src}/yarn.lock";
   };
index b60b00a5f8ef711e453c341631cf7a4409ebd842..d9286c3fa7bd402ccfadd2f6e0d3d9100cfaf5c1 100644 (file)
@@ -1,4 +1,4 @@
-{ lib, writeText, fetchedGitPrivate, stdenv, composerEnv, fetchurl, fetchgit, python, nodejs, libsass, yarn2nix }:
+{ lib, writeText, fetchedGitPrivate, stdenv, runCommand, composerEnv, fetchurl, fetchgit, jq, python, nodejs, libsass, yarn2nixPackage }:
 let
   aten = { config }: rec {
     environment = config.environment;
@@ -91,10 +91,15 @@ let
     };
     yarnModules = let
         info = fetchedGitPrivate ./aten.json;
+        packagejson = runCommand "package.json" { buildInputs = [ jq ]; } ''
+          cat ${info.src}/package.json | jq -r '.version = "v1.0.0"|.name="aten"' > $out
+          '';
       in
-        yarn2nix.mkYarnModules {
-          name = "aten-yarn-modules";
-          packageJSON = "${info.src}/package.json";
+        yarn2nixPackage.mkYarnModules rec {
+          name = "aten-yarn";
+          pname = name;
+          version = "v1.0.0";
+          packageJSON = packagejson;
           yarnLock = "${info.src}/yarn.lock";
           pkgConfig = {
             node-sass = {
@@ -123,13 +128,12 @@ let
           export APP_SECRET="${config.secret}"
           '';
         postInstall = ''
-          cd $out
           ln -sf ${yarnModules}/node_modules .
           yarn run --offline encore production
           rm -rf var/{log,cache}
           ln -sf ${varDir}/{log,cache} var/
           '';
-        buildInputs = [ yarnModules yarn2nix yarn2nix.yarn ];
+        buildInputs = [ yarnModules yarn2nixPackage.yarn ];
       });
     webRoot = "${webappDir}/public";
   };
index 41c22cec46790e419273a7976061b511a1b3bfd6..51a36fbdb25e3b72130d4800e8ef63939388fcb0 100644 (file)
@@ -1,6 +1,6 @@
 { lib, pkgs, config, myconfig, mylibs, ... }:
 let
-    aten = pkgs.callPackage ./aten.nix { inherit (mylibs) fetchedGitPrivate; };
+    aten = pkgs.callPackage ./aten.nix { inherit (mylibs) fetchedGitPrivate yarn2nixPackage; };
     aten_dev  = aten {
       config = myconfig.env.websites.aten.integration;
     };