summaryrefslogtreecommitdiffstats
path: root/flake/pkgs/by-name/some-sass-language-server/package.nix
blob: 344850cd09c0076a41783c149d9ed46b49d57489 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
# Stolen from <https://github.com/NixOS/nixpkgs/pull/459753>
# because <nixpkgs> is slower than your mom
{
  lib,
  fetchFromGitHub,
  buildNpmPackage,
  pkg-config,
  libsecret,
  stdenv,
}:
buildNpmPackage (finalAttrs: {
  pname = "some-sass-language-server";
  version = "2.3.5";

  src = fetchFromGitHub {
    owner = "wkillerud";
    repo = "some-sass";
    tag = "some-sass-language-server@${finalAttrs.version}";
    hash = "sha256-rtoHrnMAf3xa1U9vkhPiQ17gsY2yW2knjctod3TbKuo=";
  };

  npmDepsHash = "sha256-8jKrxqn8jSWUjZURHl53STTD4hcU0Q3iPH9E4r+lKTc=";

  env.PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD = "1";
  npmInstallFlags = ["--ignore-scripts"];

  nativeBuildInputs = lib.optionals stdenv.hostPlatform.isLinux [pkg-config];
  buildInputs = lib.optionals stdenv.hostPlatform.isLinux [libsecret];

  dontNpmBuild = true;

  buildPhase = ''
    runHook preBuild

    echo "Building vscode-css-languageservice..."
    npm run build --workspace=packages/vscode-css-languageservice

    echo "Building language-services..."
    npm run build --workspace=packages/language-services

    echo "Building language-server..."
    npm run build:production --workspace=packages/language-server

    runHook postBuild
  '';

  installPhase = ''
    runHook preInstall

    mkdir -p $out/lib/node_modules/some-sass-language-server
    cp -r packages/language-server/dist \
    packages/language-server/bin \
    packages/language-server/package.json \
    $out/lib/node_modules/some-sass-language-server/

    mkdir -p $out/bin
    ln -s $out/lib/node_modules/some-sass-language-server/bin/some-sass-language-server \
    $out/bin/some-sass-language-server

    runHook postInstall
  '';

  meta = {
    description = "Language server with advanced feature support for Scss and Sass files";
    homepage = "https://wkillerud.github.io/some-sass/";
    changelog = "https://github.com/wkillerud/some-sass/releases/tag/some-sass-language-server@${finalAttrs.version}";
    license = lib.licenses.mit;
    mainProgram = "some-sass-language-server";
  };
})