tools for building gleam projects with nix

buildGleamApplication: allow specifying runtime, create wrapper using runtime

foxgirl.engineering cdd981c6 1ab77734

verified
+9
+9
nix/build-gleam-application.nix
··· 31 31 gleamNix, 32 32 erlang ? inputs.erlang, 33 33 gleam ? inputs.gleam, 34 + jsRuntime ? null, 34 35 35 36 target ? "erlang", 36 37 buildGleamArgs ? { }, ··· 82 83 erlang 83 84 gleam 84 85 target 86 + jsRuntime 85 87 ; 86 88 87 89 nativeBuildInputs = nativeBuildInputs ++ [ ··· 120 122 ${lib.concatMapStringsSep "\n" (package: "ln -s ${package}/* $out/lib/") compiledPackages} 121 123 122 124 mv gleam_entrypoint.mjs $out/lib/ 125 + 126 + ${lib.optionalString (finalAttrs.jsRuntime != null) '' 127 + makeWrapper ${lib.getExe finalAttrs.jsRuntime} $out/bin/${finalAttrs.pname} --add-flags \ 128 + "${ 129 + lib.optionalString (finalAttrs.jsRuntime.pname != "deno") "--preserve-symlinks" 130 + } $out/lib/gleam_entrypoint.mjs" 131 + ''} 123 132 '' 124 133 } 125 134