From 7352984a5c3bc35f20184ddff97daea93f6b3738 Mon Sep 17 00:00:00 2001 From: stuebinm Date: Fri, 26 Feb 2021 21:34:48 +0100 Subject: Deduplicate workadventure sources Maximal sharing means that even if the workadventure sources are imported in all nix files, there will still only be one copy of it in the nix store --- nevertheless, it seems reasonable to only have them once in the code, too, if only to make upgrading them easier. --- back/default.nix | 11 +++-------- front/default.nix | 10 +++------- instance-options.nix | 3 --- maps/default.nix | 10 +++------- messages/default.nix | 9 +++------ overlay.nix | 19 +++++++++++++------ pusher/default.nix | 14 +++----------- uploader/default.nix | 10 +++------- 8 files changed, 31 insertions(+), 55 deletions(-) diff --git a/back/default.nix b/back/default.nix index 525253e..f74936a 100644 --- a/back/default.nix +++ b/back/default.nix @@ -1,6 +1,7 @@ +workadventuresrc: + { stdenv , autoPatchelfHook -, fetchFromGitHub , fetchzip , makeWrapper , nodejs-14_x @@ -36,13 +37,7 @@ yarn2nix-moretea.mkYarnPackage rec { pname = "workadventureback"; version = "unstable"; - src = fetchFromGitHub - { - owner = "thecodingmachine"; - repo = "workadventure"; - rev = "6e9c71598004dc9cbab9418efb3c0ac892da7ca2"; - sha256 = "0rvra0dy631al4aylacyqldkyd6biawz2shsikgcy30nv5lzc78c"; - } + "/back"; + src = "${workadventuresrc}/back"; # NOTE: this is optional and generated dynamically if omitted yarnNix = ./yarn.nix; diff --git a/front/default.nix b/front/default.nix index 440fa00..d7d9fa6 100644 --- a/front/default.nix +++ b/front/default.nix @@ -1,5 +1,6 @@ +workadventuresrc: + { stdenv -, fetchFromGitHub , makeWrapper , workadventure , yarn2nix-moretea @@ -18,12 +19,7 @@ yarn2nix-moretea.mkYarnPackage # TODO: perhaps move this into its own file, to make it easily # replacable across all workadventure packages. - src = fetchFromGitHub { - owner = "thecodingmachine"; - repo = "workadventure"; - rev = "6e9c71598004dc9cbab9418efb3c0ac892da7ca2"; - sha256 = "0rvra0dy631al4aylacyqldkyd6biawz2shsikgcy30nv5lzc78c"; - } + "/front"; + src = "${workadventuresrc}/front"; # NOTE: this is optional and generated dynamically if omitted yarnNix = ./yarn.nix; diff --git a/instance-options.nix b/instance-options.nix index f0f3649..c95a506 100644 --- a/instance-options.nix +++ b/instance-options.nix @@ -7,9 +7,6 @@ with pkgs; { options = rec { - settings = {}; - - backend = { enable = mkOption { default = true; diff --git a/maps/default.nix b/maps/default.nix index 5142f1e..6310942 100644 --- a/maps/default.nix +++ b/maps/default.nix @@ -1,3 +1,5 @@ +workadventuresrc: + { stdenv , fetchFromGitHub , makeWrapper @@ -8,13 +10,7 @@ yarn2nix-moretea.mkYarnPackage rec { pname = "workadventuremaps"; version = "unstable"; - src = fetchFromGitHub - { - owner = "thecodingmachine"; - repo = "workadventure"; - rev = "6e9c71598004dc9cbab9418efb3c0ac892da7ca2"; - sha256 = "0rvra0dy631al4aylacyqldkyd6biawz2shsikgcy30nv5lzc78c"; - } + "/maps"; + src = "${workadventuresrc}/maps"; # NOTE: this is optional and generated dynamically if omitted yarnNix = ./yarn.nix; diff --git a/messages/default.nix b/messages/default.nix index 6deb9f7..2e61f46 100644 --- a/messages/default.nix +++ b/messages/default.nix @@ -1,3 +1,5 @@ +workadventuresrc: + { stdenv , autoPatchelfHook , fetchFromGitHub @@ -35,12 +37,7 @@ yarn2nix-moretea.mkYarnPackage rec { pname = "workadventuremessages"; version = "unstable"; - src = fetchFromGitHub { - owner = "thecodingmachine"; - repo = "workadventure"; - rev = "6e9c71598004dc9cbab9418efb3c0ac892da7ca2"; - sha256 = "0rvra0dy631al4aylacyqldkyd6biawz2shsikgcy30nv5lzc78c"; - } + "/messages"; + src = "${workadventuresrc}/messages"; # NOTE: this is optional and generated dynamically if omitted yarnNix = ./yarn.nix; diff --git a/overlay.nix b/overlay.nix index 0a01748..3acdc30 100644 --- a/overlay.nix +++ b/overlay.nix @@ -2,13 +2,20 @@ self: super: let inherit (self) callPackage; + workadventuresrc = self.fetchFromGitHub { + owner = "thecodingmachine"; + repo = "workadventure"; + rev = "6e9c71598004dc9cbab9418efb3c0ac892da7ca2"; + sha256 = "0rvra0dy631al4aylacyqldkyd6biawz2shsikgcy30nv5lzc78c"; + }; + callWaPackage = path: callPackage (import path workadventuresrc); in { workadventure = { - back = callPackage ./back {}; - pusher = callPackage ./pusher {}; - messages = callPackage ./messages {}; - front = callPackage ./front {}; - uploader = callPackage ./uploader {}; - maps = callPackage ./maps {}; + back = callWaPackage ./back {}; + pusher = callWaPackage ./pusher {}; + messages = callWaPackage ./messages {}; + front = callWaPackage ./front {}; + uploader = callWaPackage ./uploader {}; + maps = callWaPackage ./maps {}; }; } diff --git a/pusher/default.nix b/pusher/default.nix index 7501504..cb6ee0d 100644 --- a/pusher/default.nix +++ b/pusher/default.nix @@ -1,15 +1,13 @@ +workadventuresrc: + { stdenv , autoPatchelfHook , makeWrapper , lib , getconf - , fetchzip -, fetchFromGitHub - , nodejs-14_x , yarn2nix-moretea - , workadventure }: @@ -39,13 +37,7 @@ yarn2nix-moretea.mkYarnPackage rec { pname = "workadventurepusher"; version = "unstable"; - src = fetchFromGitHub - { - owner = "thecodingmachine"; - repo = "workadventure"; - rev = "6e9c71598004dc9cbab9418efb3c0ac892da7ca2"; - sha256 = "0rvra0dy631al4aylacyqldkyd6biawz2shsikgcy30nv5lzc78c"; - } + "/pusher"; + src = "${workadventuresrc}/pusher"; # NOTE: this is optional and generated dynamically if omitted yarnNix = ./yarn.nix; diff --git a/uploader/default.nix b/uploader/default.nix index fa42f12..58e10c0 100644 --- a/uploader/default.nix +++ b/uploader/default.nix @@ -1,3 +1,5 @@ +workadventuresrc: + { stdenv , fetchFromGitHub , makeWrapper @@ -11,13 +13,7 @@ yarn2nix-moretea.mkYarnPackage rec { pname = "workadventureuploader"; version = "unstable"; - src = fetchFromGitHub - { - owner = "thecodingmachine"; - repo = "workadventure"; - rev = "6e9c71598004dc9cbab9418efb3c0ac892da7ca2"; - sha256 = "0rvra0dy631al4aylacyqldkyd6biawz2shsikgcy30nv5lzc78c"; - } + "/uploader"; + src = "${workadventuresrc}/uploader"; # NOTE: this is optional and generated dynamically if omitted yarnNix = ./yarn.nix; -- cgit v1.2.3