From dae098f472998f3b1ef80569acbdfa24a54ba71e Mon Sep 17 00:00:00 2001 From: Dane Lipscombe Date: Sun, 17 Oct 2021 16:49:40 +1100 Subject: [PATCH] vscode-extensions.chenglou92.rescript-vscode: init at 1.1.3 --- pkgs/misc/vscode-extensions/default.nix | 2 ++ .../vscode-extensions/rescript/default.nix | 28 +++++++++++++++++ .../rescript/rescript-editor-analysis.nix | 31 +++++++++++++++++++ 3 files changed, 61 insertions(+) create mode 100644 pkgs/misc/vscode-extensions/rescript/default.nix create mode 100644 pkgs/misc/vscode-extensions/rescript/rescript-editor-analysis.nix diff --git a/pkgs/misc/vscode-extensions/default.nix b/pkgs/misc/vscode-extensions/default.nix index 579f080bbf1d..aae532d21d6a 100644 --- a/pkgs/misc/vscode-extensions/default.nix +++ b/pkgs/misc/vscode-extensions/default.nix @@ -316,6 +316,8 @@ let }; }; + chenglou92.rescript-vscode = callPackage ./rescript { }; + cmschuetz12.wal = buildVscodeMarketplaceExtension { mktplcRef = { name = "wal"; diff --git a/pkgs/misc/vscode-extensions/rescript/default.nix b/pkgs/misc/vscode-extensions/rescript/default.nix new file mode 100644 index 000000000000..5bad9b2e6283 --- /dev/null +++ b/pkgs/misc/vscode-extensions/rescript/default.nix @@ -0,0 +1,28 @@ +{ lib, stdenv, vscode-utils, callPackage }: +let + rescript-editor-analysis = (callPackage ./rescript-editor-analysis.nix { }); + arch = + if stdenv.isLinux then "linux" + else if stdenv.isDarwin then "darwin" + else throw "Unsupported platform"; + analysisDir = "server/analysis_binaries/${arch}"; +in +vscode-utils.buildVscodeMarketplaceExtension rec { + mktplcRef = { + name = "rescript-vscode"; + publisher = "chenglou92"; + version = "1.1.3"; + sha256 = "1c1ipxgm0f0a3vlnhr0v85jr5l3rwpjzh9w8nv2jn5vgvpas0b2a"; + }; + postPatch = '' + rm -r ${analysisDir} + ln -s ${rescript-editor-analysis}/bin ${analysisDir} + ''; + + meta = with lib; { + description = "The official VSCode plugin for ReScript"; + homepage = "https://github.com/rescript-lang/rescript-vscode"; + maintainers = with maintainers; [ dlip ]; + license = licenses.mit; + }; +} diff --git a/pkgs/misc/vscode-extensions/rescript/rescript-editor-analysis.nix b/pkgs/misc/vscode-extensions/rescript/rescript-editor-analysis.nix new file mode 100644 index 000000000000..518280b4b06b --- /dev/null +++ b/pkgs/misc/vscode-extensions/rescript/rescript-editor-analysis.nix @@ -0,0 +1,31 @@ +{ lib, stdenv, fetchFromGitHub, bash, ocaml }: + +stdenv.mkDerivation { + pname = "rescript-editor-analysis"; + version = "1.1.3"; + + src = fetchFromGitHub { + owner = "rescript-lang"; + repo = "rescript-vscode"; + rev = "8d0412a72307b220b7f5774e2612760a2d429059"; + sha256 = "rHQtfuIiEWlSPuZvNpEafsvlXCj2Uv1YRR1IfvKfC2s="; + }; + + nativeBuildInputs = [ ocaml ]; + + postPatch = '' + cd analysis + substituteInPlace Makefile --replace "/bin/bash" "${bash}/bin/bash" + ''; + + installPhase = '' + install -D -m0555 rescript-editor-analysis.exe $out/bin/rescript-editor-analysis.exe + ''; + + meta = with lib; { + description = "Analysis binary for the ReScript VSCode plugin"; + homepage = "https://github.com/rescript-lang/rescript-vscode"; + maintainers = with maintainers; [ dlip ]; + license = licenses.mit; + }; +}