From 46954de8bc07649bd2337abdea109930c3e4f7ad Mon Sep 17 00:00:00 2001 From: Sandro Jäckel Date: Thu, 31 Dec 2020 21:46:39 +0100 Subject: Add front, fix back --- front/default.nix | 62 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 front/default.nix (limited to 'front/default.nix') diff --git a/front/default.nix b/front/default.nix new file mode 100644 index 0000000..794f4a5 --- /dev/null +++ b/front/default.nix @@ -0,0 +1,62 @@ +with (import { }); let + + workadventure-messages = import ../messages; + + # node-abi = "83"; + + # node-grpc-precompiled = pkgs.fetchzip { + # name = "node-grpc-precompiled-node-${node-abi}"; + # url = "https://node-precompiled-binaries.grpc.io/grpc/v1.24.4/node-v${node-abi}-linux-x64-glibc.tar.gz"; + # sha256 = "119rhhk1jpi2vwyim7byq3agacasc4q25c26wyzfmy8vk2ih6ndj"; + # }; + + # node-grpc-patched = pkgs.stdenv.mkDerivation { + # name = "node-grpc"; + # buildInputs = [ stdenv.cc.cc ]; + # nativeBuildInputs = [ pkgs.autoPatchelfHook ]; + # dontUnpack = true; + # # spams console + # dontStrip = true; + # installPhase = '' + # install -D -m755 ${node-grpc-precompiled}/grpc_node.node $out/bin/grpc_node.node + # ''; + # }; + +in +yarn2nix-moretea.mkYarnPackage rec { + pname = "workadventurefront"; + version = "unstable"; + + src = fetchFromGitHub + { + owner = "thecodingmachine"; + repo = "workadventure"; + rev = "284846e8a59ec0d921189ac3a46e0eb5d1e14818"; + sha256 = "1f1vi226kas7x9y8zw810q5vg1ikn4bb6ha9vnzvqk9y7jlc1n8q"; + } + "/front"; + + # NOTE: this is optional and generated dynamically if omitted + yarnNix = ./yarn.nix; + + nativeBuildInputs = [ makeWrapper ]; + + # pkgConfig = { + # grpc = { + # postInstall = '' + # install -D -m755 ${node-grpc-patched}/bin/grpc_node.node src/node/extension_binary/node-v${node-abi}-linux-x64-glibc/grpc_node.node + # ''; + # }; + # }; + + dontStrip = true; + + buildPhase = '' + mkdir -p $out + ln -s ${workadventure-messages.outPath}/generated deps/${pname}/src/Messages/generated + HOME=$TMPDIR yarn --offline run build + cp -r deps/${pname}/dist/ $out/ + ''; + + distPhase = ":"; + installPhase = ":"; +} -- cgit v1.2.3 From fdc0f39816cc9c972d0cc53c082d79b69cee8b21 Mon Sep 17 00:00:00 2001 From: Sandro Jäckel Date: Fri, 1 Jan 2021 17:11:38 +0100 Subject: Cleanup --- front/default.nix | 30 ------------------------------ 1 file changed, 30 deletions(-) (limited to 'front/default.nix') diff --git a/front/default.nix b/front/default.nix index 794f4a5..786384f 100644 --- a/front/default.nix +++ b/front/default.nix @@ -1,27 +1,5 @@ with (import { }); let - workadventure-messages = import ../messages; - - # node-abi = "83"; - - # node-grpc-precompiled = pkgs.fetchzip { - # name = "node-grpc-precompiled-node-${node-abi}"; - # url = "https://node-precompiled-binaries.grpc.io/grpc/v1.24.4/node-v${node-abi}-linux-x64-glibc.tar.gz"; - # sha256 = "119rhhk1jpi2vwyim7byq3agacasc4q25c26wyzfmy8vk2ih6ndj"; - # }; - - # node-grpc-patched = pkgs.stdenv.mkDerivation { - # name = "node-grpc"; - # buildInputs = [ stdenv.cc.cc ]; - # nativeBuildInputs = [ pkgs.autoPatchelfHook ]; - # dontUnpack = true; - # # spams console - # dontStrip = true; - # installPhase = '' - # install -D -m755 ${node-grpc-precompiled}/grpc_node.node $out/bin/grpc_node.node - # ''; - # }; - in yarn2nix-moretea.mkYarnPackage rec { pname = "workadventurefront"; @@ -40,14 +18,6 @@ yarn2nix-moretea.mkYarnPackage rec { nativeBuildInputs = [ makeWrapper ]; - # pkgConfig = { - # grpc = { - # postInstall = '' - # install -D -m755 ${node-grpc-patched}/bin/grpc_node.node src/node/extension_binary/node-v${node-abi}-linux-x64-glibc/grpc_node.node - # ''; - # }; - # }; - dontStrip = true; buildPhase = '' -- cgit v1.2.3 From c5342ed3feda6f6f427fdea65a24f1ac86b3c2cc Mon Sep 17 00:00:00 2001 From: Serge Bazanski Date: Fri, 1 Jan 2021 22:13:39 +0100 Subject: Switch to callPackage --- front/default.nix | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'front/default.nix') diff --git a/front/default.nix b/front/default.nix index 786384f..057855e 100644 --- a/front/default.nix +++ b/front/default.nix @@ -1,6 +1,9 @@ -with (import { }); let - workadventure-messages = import ../messages; -in +{ stdenv +, fetchFromGitHub +, makeWrapper +, workadventure-messages +, yarn2nix-moretea +, ... }: yarn2nix-moretea.mkYarnPackage rec { pname = "workadventurefront"; version = "unstable"; -- cgit v1.2.3 From 7835d1341c6cb03bb6b76a693bdc9a6c9981af78 Mon Sep 17 00:00:00 2001 From: Mewp Date: Sun, 10 Jan 2021 15:51:31 +0100 Subject: Make the front package configurable. --- front/default.nix | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'front/default.nix') diff --git a/front/default.nix b/front/default.nix index 057855e..ea49c0f 100644 --- a/front/default.nix +++ b/front/default.nix @@ -3,7 +3,8 @@ , makeWrapper , workadventure-messages , yarn2nix-moretea -, ... }: +, lib +, ... } @ args: yarn2nix-moretea.mkYarnPackage rec { pname = "workadventurefront"; version = "unstable"; @@ -32,4 +33,8 @@ yarn2nix-moretea.mkYarnPackage rec { distPhase = ":"; installPhase = ":"; -} +} // lib.getAttrs [ + "DEBUG_MODE" "API_URL" "UPLOADER_URL" "ADMIN_URL" + "API_PROTOCOL" "UPLOADER_PROTOCOL" "ADMIN_PROTOCOL" + "TURN_SERVER" "TURN_USER" "TURN_PASSWORD" + "JITSI_URL" "JITSI_PRIVATE_MODE" ] args -- cgit v1.2.3 From 09e8c81cc18f4781f59d22dd8ab1654c5b846de2 Mon Sep 17 00:00:00 2001 From: Mewp Date: Sun, 10 Jan 2021 16:51:48 +0100 Subject: Use a different approach for passing env vars. --- front/default.nix | 27 ++++++++++++++++++++------- 1 file changed, 20 insertions(+), 7 deletions(-) (limited to 'front/default.nix') diff --git a/front/default.nix b/front/default.nix index ea49c0f..ecb5afb 100644 --- a/front/default.nix +++ b/front/default.nix @@ -4,8 +4,25 @@ , workadventure-messages , yarn2nix-moretea , lib -, ... } @ args: -yarn2nix-moretea.mkYarnPackage rec { +, environment ? {} +, ... }: + +let + envVar = (name: lib.optionalAttrs (environment ? name) { name = environment.${name}; }); + + envVars = envVar "DEBUG_MODE" + // envVar "API_URL" + // envVar "UPLOADER_URL" + // envVar "ADMIN_URL" + // envVar "API_PROTOCOL" + // envVar "UPLOADER_PROTOCOL" + // envVar "ADMIN_PROTOCOL" + // envVar "TURN_SERVER" + // envVar "TURN_USER" + // envVar "TURN_PASSWORD" + // envVar "JITSI_URL" + // envVar "JITSI_PRIVATE_MODE"; +in yarn2nix-moretea.mkYarnPackage (rec { pname = "workadventurefront"; version = "unstable"; @@ -33,8 +50,4 @@ yarn2nix-moretea.mkYarnPackage rec { distPhase = ":"; installPhase = ":"; -} // lib.getAttrs [ - "DEBUG_MODE" "API_URL" "UPLOADER_URL" "ADMIN_URL" - "API_PROTOCOL" "UPLOADER_PROTOCOL" "ADMIN_PROTOCOL" - "TURN_SERVER" "TURN_USER" "TURN_PASSWORD" - "JITSI_URL" "JITSI_PRIVATE_MODE" ] args +} // envVars) -- cgit v1.2.3 From 0f3b3d4807b674d7f7ec83ab347f84839a87ffce Mon Sep 17 00:00:00 2001 From: Mewp Date: Sun, 10 Jan 2021 23:55:57 +0100 Subject: Fix front env vars. Update env to a working WA version. --- front/default.nix | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) (limited to 'front/default.nix') diff --git a/front/default.nix b/front/default.nix index ecb5afb..d3276e7 100644 --- a/front/default.nix +++ b/front/default.nix @@ -1,5 +1,5 @@ { stdenv -, fetchFromGitHub +, fetchFromGitLab , makeWrapper , workadventure-messages , yarn2nix-moretea @@ -8,15 +8,21 @@ , ... }: let - envVar = (name: lib.optionalAttrs (environment ? name) { name = environment.${name}; }); + envVar = (name: lib.optionalAttrs (environment ? ${name}) { ${name} = environment.${name}; }); envVars = envVar "DEBUG_MODE" // envVar "API_URL" // envVar "UPLOADER_URL" // envVar "ADMIN_URL" + // envVar "MAPS_URL" + // envVar "API_HOST" + // envVar "UPLOADER_HOST" + // envVar "ADMIN_HOST" + // envVar "MAPS_HOST" // envVar "API_PROTOCOL" // envVar "UPLOADER_PROTOCOL" // envVar "ADMIN_PROTOCOL" + // envVar "MAPS_PROTOCOL" // envVar "TURN_SERVER" // envVar "TURN_USER" // envVar "TURN_PASSWORD" @@ -26,12 +32,12 @@ in yarn2nix-moretea.mkYarnPackage (rec { pname = "workadventurefront"; version = "unstable"; - src = fetchFromGitHub + src = fetchFromGitLab { - owner = "thecodingmachine"; + owner = "fediventure"; repo = "workadventure"; - rev = "284846e8a59ec0d921189ac3a46e0eb5d1e14818"; - sha256 = "1f1vi226kas7x9y8zw810q5vg1ikn4bb6ha9vnzvqk9y7jlc1n8q"; + rev = "e77551c629b0412c808843f91d072a4ce7558d7f"; + sha256 = "1ikasdk2qhsrnh8x9sxvyjhzdiwmzimgs523cqysasz312yv4dfk"; } + "/front"; # NOTE: this is optional and generated dynamically if omitted -- cgit v1.2.3 From a76cd83752bebff7a271534b49ce15cb16145051 Mon Sep 17 00:00:00 2001 From: Mewp Date: Mon, 11 Jan 2021 03:17:51 +0100 Subject: Update the front package --- front/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'front/default.nix') diff --git a/front/default.nix b/front/default.nix index d3276e7..43eb919 100644 --- a/front/default.nix +++ b/front/default.nix @@ -36,8 +36,8 @@ in yarn2nix-moretea.mkYarnPackage (rec { { owner = "fediventure"; repo = "workadventure"; - rev = "e77551c629b0412c808843f91d072a4ce7558d7f"; - sha256 = "1ikasdk2qhsrnh8x9sxvyjhzdiwmzimgs523cqysasz312yv4dfk"; + rev = "1bcf0757fd5203132edd17fc806d81e7699111a7"; + sha256 = "0wwgfrcrpimpxjhk073yxlkcp1p0bn0glxd9wisyq5kv8s7jw1yz"; } + "/front"; # NOTE: this is optional and generated dynamically if omitted -- cgit v1.2.3 From b4bfd52e7c27141890a16f913c7a5873fc5a06ef Mon Sep 17 00:00:00 2001 From: Finn Behrens Date: Thu, 21 Jan 2021 12:03:24 +0100 Subject: create overlay and move everything into workadventure.* --- front/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'front/default.nix') diff --git a/front/default.nix b/front/default.nix index 43eb919..e4192aa 100644 --- a/front/default.nix +++ b/front/default.nix @@ -1,7 +1,7 @@ { stdenv , fetchFromGitLab , makeWrapper -, workadventure-messages +, workadventure , yarn2nix-moretea , lib , environment ? {} @@ -49,7 +49,7 @@ in yarn2nix-moretea.mkYarnPackage (rec { buildPhase = '' mkdir -p $out - ln -s ${workadventure-messages.outPath}/generated deps/${pname}/src/Messages/generated + ln -s ${workadventure.messages.outPath}/generated deps/${pname}/src/Messages/generated HOME=$TMPDIR yarn --offline run build cp -r deps/${pname}/dist/ $out/ ''; -- cgit v1.2.3 From 8899fcfbb665aba4a19513ea48ec16b27b705579 Mon Sep 17 00:00:00 2001 From: stuebinm Date: Tue, 26 Jan 2021 00:31:35 +0100 Subject: patches to remove googletagmanager and change default map --- front/default.nix | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'front/default.nix') diff --git a/front/default.nix b/front/default.nix index 43eb919..6a0f087 100644 --- a/front/default.nix +++ b/front/default.nix @@ -40,6 +40,7 @@ in yarn2nix-moretea.mkYarnPackage (rec { sha256 = "0wwgfrcrpimpxjhk073yxlkcp1p0bn0glxd9wisyq5kv8s7jw1yz"; } + "/front"; + # NOTE: this is optional and generated dynamically if omitted yarnNix = ./yarn.nix; @@ -47,6 +48,15 @@ in yarn2nix-moretea.mkYarnPackage (rec { dontStrip = true; + + # can't currently change stun server as chaski.stuebinm.eu doesn't seem to work? +# find . -name '*.ts' -exec sed -i "s/urls: 'stun:stun.l.google.com:19302'/url: 'chaski.stuebinm.eu:3478',credential:'chaski',username:'chaski'/g" {} + + patchPhase = '' + # remove google tag manager + find . -name '*.html' -exec sed -i "s/' ' ' + '' + (if envVars ? DEFAULT_MAP_URL then ''replace-literal -efs -r -x .ts "/Floor0/floor0.json" "${envVars.DEFAULT_MAP_URL}"'' else ""); buildPhase = '' mkdir -p $out -- cgit v1.2.3 From c46949747779b5e679774ceb23a530ed4736c52b Mon Sep 17 00:00:00 2001 From: stuebinm Date: Fri, 5 Feb 2021 22:19:01 +0100 Subject: configurable stun server --- front/default.nix | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) (limited to 'front/default.nix') diff --git a/front/default.nix b/front/default.nix index 00db42c..26eb4b1 100644 --- a/front/default.nix +++ b/front/default.nix @@ -5,11 +5,20 @@ , yarn2nix-moretea , lib , replace -, environment ? {} +, settings ? {} , ... }: let - envVar = (name: lib.optionalAttrs (environment ? ${name}) { ${name} = environment.${name}; }); + # nix is nice enough that we can just convert options written in camelCase into CAMEL_CASE to make environment vars out of them, which workadventure will use during its build + toCamelCase = + (name: builtins.replaceStrings + (map + (c : "_${c}") + lib.strings.lowerChars) + lib.strings.upperChars + (lib.strings.toLower name)); + + envVar = (name: lib.optionalAttrs (settings ? ${toCamelCase name}) { ${name} = settings.${toCamelCase name}; }); envVars = envVar "DEBUG_MODE" // envVar "API_URL" @@ -29,7 +38,8 @@ let // envVar "TURN_PASSWORD" // envVar "JITSI_URL" // envVar "JITSI_PRIVATE_MODE" - // envVar "DEFAULT_MAP_URL"; + // envVar "DEFAULT_MAP_URL" + // envVar "STUN_SERVER"; in yarn2nix-moretea.mkYarnPackage (rec { pname = "workadventurefront"; version = "unstable"; @@ -52,8 +62,10 @@ in yarn2nix-moretea.mkYarnPackage (rec { patchPhase = '' # remove google tag manager - replace-literal -efsw '' ' ' - '' + (if envVars ? DEFAULT_MAP_URL then ''replace-literal -efs -r -x .ts "/Floor0/floor0.json" "${envVars.DEFAULT_MAP_URL}"'' else ""); + replace-literal -efsw '' ' '; + '' + + (if envVars ? DEFAULT_MAP_URL then ''replace-literal -efs -r -x .ts "/Floor0/floor0.json" "${envVars.DEFAULT_MAP_URL}";'' else "") + + (if envVars ? STUN_SERVER then ''replace-literal -efs -r -x .ts "stun:stun.l.google.com:19302" "${envVars.STUN_SERVER}";'' else ""); buildPhase = '' mkdir -p $out -- cgit v1.2.3 From 8788bba867874725439a76dc94891e4438568650 Mon Sep 17 00:00:00 2001 From: stuebinm Date: Thu, 18 Feb 2021 15:30:59 +0100 Subject: patch out quill.js cdn Note that only the sources are patched out; the quill npm package is still in the nix set and the javascript, it just silently fails to laod at runtime now. --- front/default.nix | 86 ++++++++++++++++++++++++++++++++++--------------------- 1 file changed, 54 insertions(+), 32 deletions(-) (limited to 'front/default.nix') diff --git a/front/default.nix b/front/default.nix index 26eb4b1..dc3f115 100644 --- a/front/default.nix +++ b/front/default.nix @@ -9,7 +9,9 @@ , ... }: let - # nix is nice enough that we can just convert options written in camelCase into CAMEL_CASE to make environment vars out of them, which workadventure will use during its build + # nix is nice enough that we can just convert options written in + # camelCase into CAMEL_CASE to make environment vars out of them, + # which workadventure will use during its build toCamelCase = (name: builtins.replaceStrings (map @@ -18,8 +20,17 @@ let lib.strings.upperChars (lib.strings.toLower name)); - envVar = (name: lib.optionalAttrs (settings ? ${toCamelCase name}) { ${name} = settings.${toCamelCase name}; }); + # helper function for defining optional environment arguments, which + # may be passed to this package through the `settings` argument + envVar = + (name: lib.optionalAttrs + (settings ? ${toCamelCase name}) + { ${name} = settings.${toCamelCase name}; }); + # all (currently known) options for workadventure-front. Note that + # some of them are pseudo-options, which are not actually implemented + # by workadventure (yet?) and which are instead handled during the + # patch phase of this derivation. envVars = envVar "DEBUG_MODE" // envVar "API_URL" // envVar "UPLOADER_URL" @@ -40,40 +51,51 @@ let // envVar "JITSI_PRIVATE_MODE" // envVar "DEFAULT_MAP_URL" // envVar "STUN_SERVER"; -in yarn2nix-moretea.mkYarnPackage (rec { - pname = "workadventurefront"; - version = "unstable"; +in + yarn2nix-moretea.mkYarnPackage + (rec { + pname = "workadventurefront"; + version = "unstable"; - src = fetchFromGitLab - { - owner = "fediventure"; - repo = "workadventure"; - rev = "1bcf0757fd5203132edd17fc806d81e7699111a7"; - sha256 = "0wwgfrcrpimpxjhk073yxlkcp1p0bn0glxd9wisyq5kv8s7jw1yz"; - } + "/front"; + # TODO: perhaps move this into its own file, to make it easily + # replacable across all workadventure packages. + src = fetchFromGitLab { + owner = "fediventure"; + repo = "workadventure"; + rev = "1bcf0757fd5203132edd17fc806d81e7699111a7"; + sha256 = "0wwgfrcrpimpxjhk073yxlkcp1p0bn0glxd9wisyq5kv8s7jw1yz"; + } + "/front"; + # NOTE: this is optional and generated dynamically if omitted + yarnNix = ./yarn.nix; - # NOTE: this is optional and generated dynamically if omitted - yarnNix = ./yarn.nix; + nativeBuildInputs = [ + makeWrapper + # includes `replace-literal` for patching. This command is + # actually the basis for `substituteInPlace`! + replace + ]; - nativeBuildInputs = [ makeWrapper replace ]; + dontStrip = true; - dontStrip = true; + patchPhase = '' + # remove google tag manager + replace-literal -efsw '' ' '; + # remove quill js cdn + replace-literal -efsr -x .ts 'fileref.setAttribute("href", "https://cdn.quilljs.com/1.3.7/quill.snow.css");' ' '; + replace-literal -efsr '"@types/quill": "^1.3.7",' ' '; + replace-literal -efsr '"quill": "^1.3.7",' ' '; + '' + + (if envVars ? DEFAULT_MAP_URL then ''replace-literal -efs -r -x .ts "/Floor0/floor0.json" "${envVars.DEFAULT_MAP_URL}";'' else "") + + (if envVars ? STUN_SERVER then ''replace-literal -efs -r -x .ts "stun:stun.l.google.com:19302" "${envVars.STUN_SERVER}";'' else ""); - patchPhase = '' - # remove google tag manager - replace-literal -efsw '' ' '; - '' - + (if envVars ? DEFAULT_MAP_URL then ''replace-literal -efs -r -x .ts "/Floor0/floor0.json" "${envVars.DEFAULT_MAP_URL}";'' else "") - + (if envVars ? STUN_SERVER then ''replace-literal -efs -r -x .ts "stun:stun.l.google.com:19302" "${envVars.STUN_SERVER}";'' else ""); + buildPhase = '' + mkdir -p $out + ln -s ${workadventure-messages.outPath}/generated deps/${pname}/src/Messages/generated + HOME=$TMPDIR yarn --offline run build + cp -r deps/${pname}/dist/ $out/ + ''; - buildPhase = '' - mkdir -p $out - ln -s ${workadventure-messages.outPath}/generated deps/${pname}/src/Messages/generated - HOME=$TMPDIR yarn --offline run build - cp -r deps/${pname}/dist/ $out/ - ''; - - distPhase = ":"; - installPhase = ":"; -} // envVars) + distPhase = ":"; + installPhase = ":"; + } // envVars) -- cgit v1.2.3 From bfae9d9bfa90a0189d943ca865fa046f510b9922 Mon Sep 17 00:00:00 2001 From: stuebinm Date: Thu, 18 Feb 2021 15:51:08 +0100 Subject: Safer option injection to build scripts Nix isn't very typesafe, but apparently there is at least a `escapeShellArg` function which makes things safe for shell execution. --- front/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'front/default.nix') diff --git a/front/default.nix b/front/default.nix index dc3f115..5385de3 100644 --- a/front/default.nix +++ b/front/default.nix @@ -86,8 +86,8 @@ in replace-literal -efsr '"@types/quill": "^1.3.7",' ' '; replace-literal -efsr '"quill": "^1.3.7",' ' '; '' - + (if envVars ? DEFAULT_MAP_URL then ''replace-literal -efs -r -x .ts "/Floor0/floor0.json" "${envVars.DEFAULT_MAP_URL}";'' else "") - + (if envVars ? STUN_SERVER then ''replace-literal -efs -r -x .ts "stun:stun.l.google.com:19302" "${envVars.STUN_SERVER}";'' else ""); + + (if envVars ? DEFAULT_MAP_URL then ''replace-literal -efs -r -x .ts "/Floor0/floor0.json" ${lib.escapeShellArg envVars.DEFAULT_MAP_URL};'' else "") + + (if envVars ? STUN_SERVER then ''replace-literal -efs -r -x .ts "stun:stun.l.google.com:19302" ${lib.escapeShellArg envVars.STUN_SERVER};'' else ""); buildPhase = '' mkdir -p $out -- cgit v1.2.3 From fedeaa88fc6347103706f65d666f6612987d7cec Mon Sep 17 00:00:00 2001 From: stuebinm Date: Thu, 25 Feb 2021 17:57:18 +0100 Subject: Update to Version v1.1.0 of workadventure --- front/default.nix | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'front/default.nix') diff --git a/front/default.nix b/front/default.nix index adfbab2..8d1f0b1 100644 --- a/front/default.nix +++ b/front/default.nix @@ -1,5 +1,5 @@ { stdenv -, fetchFromGitLab +, fetchFromGitHub , makeWrapper , workadventure , yarn2nix-moretea @@ -59,11 +59,11 @@ in # TODO: perhaps move this into its own file, to make it easily # replacable across all workadventure packages. - src = fetchFromGitLab { - owner = "fediventure"; + src = fetchFromGitHub { + owner = "thecodingmachine"; repo = "workadventure"; - rev = "1bcf0757fd5203132edd17fc806d81e7699111a7"; - sha256 = "0wwgfrcrpimpxjhk073yxlkcp1p0bn0glxd9wisyq5kv8s7jw1yz"; + rev = "v1.1.0"; + sha256 = "0q4mf16r785aa4f47npmmmhbg6spadnliyi1fk4s4pcjqajgf45f"; } + "/front"; # NOTE: this is optional and generated dynamically if omitted -- cgit v1.2.3 From 7ec4c291d8ec93bc205af5c238dfe6a5176f4da4 Mon Sep 17 00:00:00 2001 From: stuebinm Date: Thu, 25 Feb 2021 18:08:52 +0100 Subject: Bump to current master version of tcm workadventure Builds fine, let's see if anything else works! --- front/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'front/default.nix') diff --git a/front/default.nix b/front/default.nix index 8d1f0b1..1851302 100644 --- a/front/default.nix +++ b/front/default.nix @@ -62,8 +62,8 @@ in src = fetchFromGitHub { owner = "thecodingmachine"; repo = "workadventure"; - rev = "v1.1.0"; - sha256 = "0q4mf16r785aa4f47npmmmhbg6spadnliyi1fk4s4pcjqajgf45f"; + rev = "6e9c71598004dc9cbab9418efb3c0ac892da7ca2"; + sha256 = "0rvra0dy631al4aylacyqldkyd6biawz2shsikgcy30nv5lzc78c"; } + "/front"; # NOTE: this is optional and generated dynamically if omitted -- cgit v1.2.3 From 210a4860ef16f3f00cd5265d238c2a7372a0daa5 Mon Sep 17 00:00:00 2001 From: stuebinm Date: Fri, 26 Feb 2021 21:24:39 +0100 Subject: more options for the frontend --- front/default.nix | 141 ++++++++++++++++++++---------------------------------- 1 file changed, 51 insertions(+), 90 deletions(-) (limited to 'front/default.nix') diff --git a/front/default.nix b/front/default.nix index 1851302..440fa00 100644 --- a/front/default.nix +++ b/front/default.nix @@ -5,97 +5,58 @@ , yarn2nix-moretea , lib , replace -, settings ? {} +, environment ? {} , ... }: let - # nix is nice enough that we can just convert options written in - # camelCase into CAMEL_CASE to make environment vars out of them, - # which workadventure will use during its build - toCamelCase = - (name: builtins.replaceStrings - (map - (c : "_${c}") - lib.strings.lowerChars) - lib.strings.upperChars - (lib.strings.toLower name)); - - # helper function for defining optional environment arguments, which - # may be passed to this package through the `settings` argument - envVar = - (name: lib.optionalAttrs - (settings ? ${toCamelCase name}) - { ${name} = settings.${toCamelCase name}; }); - - # all (currently known) options for workadventure-front. Note that - # some of them are pseudo-options, which are not actually implemented - # by workadventure (yet?) and which are instead handled during the - # patch phase of this derivation. - envVars = envVar "DEBUG_MODE" - // envVar "API_URL" - // envVar "UPLOADER_URL" - // envVar "ADMIN_URL" - // envVar "MAPS_URL" - // envVar "API_HOST" - // envVar "UPLOADER_HOST" - // envVar "ADMIN_HOST" - // envVar "MAPS_HOST" - // envVar "API_PROTOCOL" - // envVar "UPLOADER_PROTOCOL" - // envVar "ADMIN_PROTOCOL" - // envVar "MAPS_PROTOCOL" - // envVar "TURN_SERVER" - // envVar "TURN_USER" - // envVar "TURN_PASSWORD" - // envVar "JITSI_URL" - // envVar "JITSI_PRIVATE_MODE" - // envVar "DEFAULT_MAP_URL" - // envVar "STUN_SERVER"; + envIf = name: script: if environment ? name then script else ""; in - yarn2nix-moretea.mkYarnPackage - (rec { - pname = "workadventurefront"; - version = "unstable"; - - # 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"; - - # NOTE: this is optional and generated dynamically if omitted - yarnNix = ./yarn.nix; - - nativeBuildInputs = [ - makeWrapper - # includes `replace-literal` for patching. This command is - # actually the basis for `substituteInPlace`! - replace - ]; - - dontStrip = true; - - patchPhase = '' - # remove google tag manager - replace-literal -efsw '' ' '; - # remove quill js cdn - replace-literal -efsr -x .ts 'fileref.setAttribute("href", "https://cdn.quilljs.com/1.3.7/quill.snow.css");' ' '; - replace-literal -efsr '"@types/quill": "^1.3.7",' ' '; - replace-literal -efsr '"quill": "^1.3.7",' ' '; - '' - + (if envVars ? DEFAULT_MAP_URL then ''replace-literal -efs -r -x .ts "/Floor0/floor0.json" ${lib.escapeShellArg envVars.DEFAULT_MAP_URL};'' else "") - + (if envVars ? STUN_SERVER then ''replace-literal -efs -r -x .ts "stun:stun.l.google.com:19302" ${lib.escapeShellArg envVars.STUN_SERVER};'' else ""); - - buildPhase = '' - mkdir -p $out - ln -s ${workadventure.messages.outPath}/generated deps/${pname}/src/Messages/generated - HOME=$TMPDIR yarn --offline run build - cp -r deps/${pname}/dist/ $out/ - ''; - - distPhase = ":"; - installPhase = ":"; - } // envVars) +yarn2nix-moretea.mkYarnPackage + (rec { + pname = "workadventurefront"; + version = "unstable"; + + # 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"; + + # NOTE: this is optional and generated dynamically if omitted + yarnNix = ./yarn.nix; + + nativeBuildInputs = [ + makeWrapper + # includes `replace-literal` for patching. This command is + # actually the basis for `substituteInPlace`! + replace + ]; + + dontStrip = true; + + patchPhase = '' + # remove google tag manager + replace-literal -efsw '' ' '; + # remove quill js cdn + replace-literal -efsr -x .ts 'fileref.setAttribute("href", "https://cdn.quilljs.com/1.3.7/quill.snow.css");' ' '; + replace-literal -efsr '"@types/quill": "^1.3.7",' ' '; + replace-literal -efsr '"quill": "^1.3.7",' ' '; + '' + + envIf "RESOLUTION" ''replace-literal -efsr -x .ts 'const RESOLUTION = 2' 'const RESOLUTION = ${environment.RESOLUTION}' '' + + envIf "ZOOM_LEVEL" ''replace-literal -efsr -x .ts 'const ZOOM_LEVEL = 1' 'const ZOOM_LEVEL = ${environment.ZOOM_LEVEL}' '' + + envIf "POSITION_DELAY" ''replace-literal -efsr -x .ts 'const POSITION_DELAY = 200' 'const POSITION_DELAY = ${environment.POSITION_DELAY}' '' + + envIf "MAX_EXTRAPOLATION_TIME" ''replace-literal -efsr -x .ts 'const MAX_EXTRAPOLATION_TIME = 100' 'const MAX_EXTRAPOLATION_TIME = ${environment.MAX_EXTRAPOLATION_TIME}' ''; + + buildPhase = '' + mkdir -p $out + ln -s ${workadventure.messages.outPath}/generated deps/${pname}/src/Messages/generated + HOME=$TMPDIR yarn --offline run build + cp -r deps/${pname}/dist/ $out/ + ''; + + distPhase = ":"; + installPhase = ":"; + } // environment) -- cgit v1.2.3