diff --git a/pkgs/misc/vscode-extensions/default.nix b/pkgs/misc/vscode-extensions/default.nix index d464e735b8be..c000bb71bdd9 100644 --- a/pkgs/misc/vscode-extensions/default.nix +++ b/pkgs/misc/vscode-extensions/default.nix @@ -1176,17 +1176,7 @@ let }; }; - ms-toolsai.jupyter = buildVscodeMarketplaceExtension { - mktplcRef = { - name = "jupyter"; - publisher = "ms-toolsai"; - version = "2021.5.745244803"; - sha256 = "0gjpsp61l8daqa87mpmxcrvsvb0pc2vwg7xbkvwn0f13c1739w9p"; - }; - meta = { - license = lib.licenses.unfree; - }; - }; + ms-toolsai.jupyter = callPackage ./ms-toolsai-jupyter {}; mvllow.rose-pine = buildVscodeMarketplaceExtension { mktplcRef = { diff --git a/pkgs/misc/vscode-extensions/ms-toolsai-jupyter/default.nix b/pkgs/misc/vscode-extensions/ms-toolsai-jupyter/default.nix new file mode 100644 index 000000000000..6be5e225fa38 --- /dev/null +++ b/pkgs/misc/vscode-extensions/ms-toolsai-jupyter/default.nix @@ -0,0 +1,42 @@ +{ lib, vscode-utils, jq, moreutils }: + +let + inherit (vscode-utils) buildVscodeMarketplaceExtension; + +in buildVscodeMarketplaceExtension { + mktplcRef = { + name = "jupyter"; + publisher = "ms-toolsai"; + version = "2021.9.1101343141"; + sha256 = "1c5dgkk5yn6a8k3blbqakqdy8ppwgfbm0ciki7ix696bvlksbpdg"; + }; + + nativeBuildInputs = [ + jq + moreutils + ]; + + postPatch = '' + # Patch 'packages.json' so that the expected '__metadata' field exists. + # This works around observed extension load failure on vscode's attempt + # to rewrite 'packages.json' with this new information. + print_jq_query() { + cat <<"EOF" + .__metadata = { + "id": "6c2f1801-1e7f-45b2-9b5c-7782f1e076e8", + "publisherId": "ac8eb7c9-3e59-4b39-8040-f0484d8170ce", + "publisherDisplayName": "Microsoft", + "installedTimestamp": 0 + } + EOF + } + jq "$(print_jq_query)" ./package.json | sponge ./package.json + ''; + + meta = with lib; { + description = "Jupyter extension for vscode"; + homepage = "https://github.com/microsoft/vscode-jupyter"; + license = licenses.mit; + maintainers = with maintainers; [ jraygauthier ]; + }; +}