about summary refs log tree commit diff
path: root/pkgs/development/tools/misc/slint-lsp/default.nix
diff options
context:
space:
mode:
authorxgroleau <xavgroleau@gmail.com>2022-10-07 11:53:42 -0400
committerxgroleau <xavgroleau@gmail.com>2022-10-07 11:53:42 -0400
commit43d8a46d853a30ec99b7cfa50d98a14b006d842d (patch)
treeae0619f475a8cdbb16c570ceebd1540ced6eb031 /pkgs/development/tools/misc/slint-lsp/default.nix
parentdae204faa0243b4d0c0234a5f5f83a2549ecb5b7 (diff)
slint-lsp: init 0.3.0
support for macos


fix


use gpl3plus instead


Moved fontconfig


patchelf on linux only

Diffstat (limited to 'pkgs/development/tools/misc/slint-lsp/default.nix')
-rw-r--r--pkgs/development/tools/misc/slint-lsp/default.nix66
1 files changed, 66 insertions, 0 deletions
diff --git a/pkgs/development/tools/misc/slint-lsp/default.nix b/pkgs/development/tools/misc/slint-lsp/default.nix
new file mode 100644
index 0000000000000..2211b5211d6a6
--- /dev/null
+++ b/pkgs/development/tools/misc/slint-lsp/default.nix
@@ -0,0 +1,66 @@
+{ lib
+, stdenv
+, rustPlatform
+, fetchCrate
+, pkg-config
+, cmake
+, fontconfig
+, libGL
+, libxcb
+, libX11
+, libXcursor
+, libXi
+, libXrandr
+, libxkbcommon
+, wayland
+  # Darwin Frameworks
+, AppKit
+, CoreGraphics
+, CoreServices
+, CoreText
+, Foundation
+, libiconv
+, OpenGL
+}:
+
+let
+  rpathLibs = [ fontconfig libGL libxcb libX11 libXcursor libXrandr libXi ]
+    ++ lib.optionals stdenv.isLinux [ libxkbcommon wayland ];
+in
+rustPlatform.buildRustPackage rec {
+  pname = "slint-lsp";
+  version = "0.3.0";
+
+  src = fetchCrate {
+    inherit pname version;
+    sha256 = "sha256-dZYkiYrotW8td5dxnPSvDzkWf+xV4ceISVLRZx2goXo=";
+  };
+
+  cargoSha256 = "sha256-9zbA9JXfLdosCU6gVsrsAyiyX8Qh6x5wMw1W4QKqbp4=";
+
+  nativeBuildInputs = [ cmake pkg-config fontconfig ];
+  buildInputs = rpathLibs ++ [ libxcb.dev ]
+    ++ lib.optionals stdenv.isDarwin [
+    AppKit
+    CoreGraphics
+    CoreServices
+    CoreText
+    Foundation
+    libiconv
+    OpenGL
+  ];
+
+  postInstall = lib.optionalString stdenv.isLinux  ''
+    patchelf --set-rpath ${lib.makeLibraryPath rpathLibs} $out/bin/slint-lsp
+  '';
+
+  dontPatchELF = true;
+
+  meta = with lib; {
+    description = "Language Server Protocol (LSP) for Slint UI language";
+    homepage = "https://slint-ui.com/";
+    changelog = "https://github.com/slint-ui/slint/blob/v${version}/CHANGELOG.md";
+    license = with licenses; [ gpl3Plus ];
+    maintainers = with maintainers; [ xgroleau ];
+  };
+}