From e4d0f455fa2df56d852385196c377765e3758118 Mon Sep 17 00:00:00 2001 From: Anderson Torres Date: Sun, 25 Dec 2022 09:50:29 -0300 Subject: treewide: move language servers to pkgs/development/tools/language-servers --- .../tools/ansible-language-server/default.nix | 44 --------- .../tools/beancount-language-server/default.nix | 31 ------ .../tools/buf-language-server/default.nix | 27 ------ pkgs/development/tools/fortls/default.nix | 35 ------- .../tools/fortran-language-server/default.nix | 21 ---- pkgs/development/tools/gopls/default.nix | 28 ------ .../tools/jdt-language-server/default.nix | 103 -------------------- .../tools/jsonnet-language-server/default.nix | 33 ------- .../tools/kotlin-language-server/default.nix | 38 -------- .../ansible-language-server/default.nix | 44 +++++++++ .../beancount-language-server/default.nix | 31 ++++++ .../buf-language-server/default.nix | 27 ++++++ .../tools/language-servers/ccls/default.nix | 41 ++++++++ .../tools/language-servers/ccls/wrapper | 9 ++ .../tools/language-servers/fortls/default.nix | 35 +++++++ .../fortran-language-server/default.nix | 21 ++++ .../tools/language-servers/gopls/default.nix | 28 ++++++ .../jdt-language-server/default.nix | 103 ++++++++++++++++++++ .../jsonnet-language-server/default.nix | 33 +++++++ .../kotlin-language-server/default.nix | 38 ++++++++ .../tools/language-servers/metals/default.nix | 42 ++++++++ .../tools/language-servers/millet/default.nix | 32 ++++++ .../tools/language-servers/nil/default.nix | 33 +++++++ .../tools/language-servers/rnix-lsp/default.nix | 23 +++++ .../sumneko-lua-language-server/default.nix | 83 ++++++++++++++++ .../tools/language-servers/svls/default.nix | 25 +++++ .../vala-language-server/default.nix | 68 +++++++++++++ .../tools/language-servers/verible/default.nix | 108 +++++++++++++++++++++ .../verible/remove-unused-deps.patch | 22 +++++ pkgs/development/tools/metals/default.nix | 42 -------- pkgs/development/tools/millet/default.nix | 32 ------ pkgs/development/tools/misc/ccls/default.nix | 41 -------- pkgs/development/tools/misc/ccls/wrapper | 9 -- pkgs/development/tools/misc/svls/default.nix | 25 ----- pkgs/development/tools/nil/default.nix | 33 ------- pkgs/development/tools/rnix-lsp/default.nix | 23 ----- .../tools/sumneko-lua-language-server/default.nix | 83 ---------------- .../tools/vala-language-server/default.nix | 68 ------------- pkgs/development/tools/verible/default.nix | 108 --------------------- .../tools/verible/remove-unused-deps.patch | 22 ----- pkgs/top-level/all-packages.nix | 79 +++++++-------- 41 files changed, 887 insertions(+), 884 deletions(-) delete mode 100644 pkgs/development/tools/ansible-language-server/default.nix delete mode 100644 pkgs/development/tools/beancount-language-server/default.nix delete mode 100644 pkgs/development/tools/buf-language-server/default.nix delete mode 100644 pkgs/development/tools/fortls/default.nix delete mode 100644 pkgs/development/tools/fortran-language-server/default.nix delete mode 100644 pkgs/development/tools/gopls/default.nix delete mode 100644 pkgs/development/tools/jdt-language-server/default.nix delete mode 100644 pkgs/development/tools/jsonnet-language-server/default.nix delete mode 100644 pkgs/development/tools/kotlin-language-server/default.nix create mode 100644 pkgs/development/tools/language-servers/ansible-language-server/default.nix create mode 100644 pkgs/development/tools/language-servers/beancount-language-server/default.nix create mode 100644 pkgs/development/tools/language-servers/buf-language-server/default.nix create mode 100644 pkgs/development/tools/language-servers/ccls/default.nix create mode 100644 pkgs/development/tools/language-servers/ccls/wrapper create mode 100644 pkgs/development/tools/language-servers/fortls/default.nix create mode 100644 pkgs/development/tools/language-servers/fortran-language-server/default.nix create mode 100644 pkgs/development/tools/language-servers/gopls/default.nix create mode 100644 pkgs/development/tools/language-servers/jdt-language-server/default.nix create mode 100644 pkgs/development/tools/language-servers/jsonnet-language-server/default.nix create mode 100644 pkgs/development/tools/language-servers/kotlin-language-server/default.nix create mode 100644 pkgs/development/tools/language-servers/metals/default.nix create mode 100644 pkgs/development/tools/language-servers/millet/default.nix create mode 100644 pkgs/development/tools/language-servers/nil/default.nix create mode 100644 pkgs/development/tools/language-servers/rnix-lsp/default.nix create mode 100644 pkgs/development/tools/language-servers/sumneko-lua-language-server/default.nix create mode 100644 pkgs/development/tools/language-servers/svls/default.nix create mode 100644 pkgs/development/tools/language-servers/vala-language-server/default.nix create mode 100644 pkgs/development/tools/language-servers/verible/default.nix create mode 100644 pkgs/development/tools/language-servers/verible/remove-unused-deps.patch delete mode 100644 pkgs/development/tools/metals/default.nix delete mode 100644 pkgs/development/tools/millet/default.nix delete mode 100644 pkgs/development/tools/misc/ccls/default.nix delete mode 100644 pkgs/development/tools/misc/ccls/wrapper delete mode 100644 pkgs/development/tools/misc/svls/default.nix delete mode 100644 pkgs/development/tools/nil/default.nix delete mode 100644 pkgs/development/tools/rnix-lsp/default.nix delete mode 100644 pkgs/development/tools/sumneko-lua-language-server/default.nix delete mode 100644 pkgs/development/tools/vala-language-server/default.nix delete mode 100644 pkgs/development/tools/verible/default.nix delete mode 100644 pkgs/development/tools/verible/remove-unused-deps.patch (limited to 'pkgs') diff --git a/pkgs/development/tools/ansible-language-server/default.nix b/pkgs/development/tools/ansible-language-server/default.nix deleted file mode 100644 index a1547675dc083..0000000000000 --- a/pkgs/development/tools/ansible-language-server/default.nix +++ /dev/null @@ -1,44 +0,0 @@ -{ lib -, buildNpmPackage -, fetchFromGitHub -, nix-update-script -}: - -buildNpmPackage rec { - pname = "ansible-language-server"; - version = "1.0.3"; - - src = fetchFromGitHub { - owner = "ansible"; - repo = pname; - rev = "refs/tags/v${version}"; - hash = "sha256-+42fZ4ILUHg/KcnllUaFYYPBKHxauagbsVdIY1MgwSI="; - }; - - npmDepsHash = "sha256-DRXIbIogMeiJvZOB44hKkkfc3dg8mscnV6k2rUvYCNs="; - npmBuildScript = "compile"; - - # We remove the prepare and prepack scripts because they run the - # build script, and therefore are redundant. - # - # Additionally, the prepack script runs npm ci in addition to the - # build script. Directly before npm pack is run, we make npm unaware - # of the dependency cache, causing the npm ci invocation to fail, - # wiping out node_modules, which causes a mysterious error stating that tsc isn't installed. - postPatch = '' - sed -i '/"prepare"/d' package.json - sed -i '/"prepack"/d' package.json - ''; - - passthru.updateScript = nix-update-script { - attrPath = pname; - }; - - meta = with lib; { - changelog = "https://github.com/ansible/ansible-language-server/releases/tag/v${version}"; - description = "Ansible Language Server"; - homepage = "https://github.com/ansible/ansible-language-server"; - license = licenses.mit; - maintainers = with maintainers; [ hexa ]; - }; -} diff --git a/pkgs/development/tools/beancount-language-server/default.nix b/pkgs/development/tools/beancount-language-server/default.nix deleted file mode 100644 index b415906eead76..0000000000000 --- a/pkgs/development/tools/beancount-language-server/default.nix +++ /dev/null @@ -1,31 +0,0 @@ -{ lib -, fetchFromGitHub -, rustPlatform -}: - -rustPlatform.buildRustPackage rec { - pname = "beancount-language-server"; - version = "1.2.5"; - - src = fetchFromGitHub { - owner = "polarmutex"; - repo = "beancount-language-server"; - rev = "v${version}"; - sha256 = "sha256-AbljduMz4mz5InsHKCq0K6i9F/lBgvdy0+W8aclr0R0="; - }; - - cargoSha256 = "sha256-jrxVMGJk4o9aROtFZBc8G/HP5xm9MjVyewww1DzrRdM="; - - doInstallCheck = true; - postInstallCheck = '' - $out/bin/beancount-language-server --help > /dev/null - ''; - - meta = with lib; { - description = "A Language Server Protocol (LSP) for beancount files"; - homepage = "https://github.com/polarmutex/beancount-language-server"; - license = with licenses; [ mit ]; - maintainers = with maintainers; [ polarmutex ]; - }; -} - diff --git a/pkgs/development/tools/buf-language-server/default.nix b/pkgs/development/tools/buf-language-server/default.nix deleted file mode 100644 index 88da6eb944827..0000000000000 --- a/pkgs/development/tools/buf-language-server/default.nix +++ /dev/null @@ -1,27 +0,0 @@ -{ lib, buildGoModule, fetchFromGitHub }: - -buildGoModule rec { - pname = "buf-language-server"; - version = "unstable-2022-08-19"; - - src = fetchFromGitHub { - owner = "bufbuild"; - repo = pname; - rev = "6f08a7eed22c5a178cb55613f454319e09be112c"; - sha256 = "sha256-UHsWrWDOC/f3YS2g533CgUkuUmz4MUQRunClQiY/YPQ="; - }; - - vendorSha256 = "sha256-ORzCOmBx6k1GZj6pYLhqPsdneCc7Tt1yHpI5mw5ruFU="; - - ldflags = [ - "-s" - "-w" - ]; - - meta = with lib; { - description = "Language server for protocol buffers"; - homepage = "https://github.com/bufbuild/buf-language-server"; - license = licenses.asl20; - maintainers = with maintainers; [ svrana ]; - }; -} diff --git a/pkgs/development/tools/fortls/default.nix b/pkgs/development/tools/fortls/default.nix deleted file mode 100644 index 9aed276a63fa5..0000000000000 --- a/pkgs/development/tools/fortls/default.nix +++ /dev/null @@ -1,35 +0,0 @@ -{ buildPythonApplication -, lib -, fetchFromGitHub -, setuptools-scm -, json5 -, packaging -}: - -buildPythonApplication rec { - pname = "fortls"; - version = "2.13.0"; - - src = fetchFromGitHub { - owner = "fortran-lang"; - repo = pname; - rev = "v${version}"; - hash = "sha256-kFk2Dlnb0FXM3Ysvsy+g2AAMgpWmwzxuyJPovDm/FJU="; - }; - - nativeBuildInputs = [ setuptools-scm ]; - - propagatedBuildInputs = [ json5 packaging ]; - - preBuild = "export SETUPTOOLS_SCM_PRETEND_VERSION=${version}"; - - doCheck = true; - checkPhase = "$out/bin/fortls --help 1>/dev/null"; - - meta = with lib; { - description = "Fortran Language Server "; - homepage = "https://github.com/fortran-lang/fortls"; - license = [ licenses.mit ]; - maintainers = [ maintainers.sheepforce ]; - }; -} diff --git a/pkgs/development/tools/fortran-language-server/default.nix b/pkgs/development/tools/fortran-language-server/default.nix deleted file mode 100644 index 2c606ab715b51..0000000000000 --- a/pkgs/development/tools/fortran-language-server/default.nix +++ /dev/null @@ -1,21 +0,0 @@ -{ lib, fetchPypi, buildPythonApplication }: - -buildPythonApplication rec { - pname = "fortran-language-server"; - version = "1.12.0"; - - src = fetchPypi { - inherit pname version; - sha256 = "7Dkh7yPX4rULkzfJFxg47YxrCaxuHk+k3TOINHS9T5A="; - }; - - checkPhase = "$out/bin/fortls --help 1>/dev/null"; - pythonImportsCheck = [ "fortls" ]; - - meta = with lib; { - description = "FORTRAN Language Server for the Language Server Protocol"; - homepage = "https://pypi.org/project/fortran-language-server/"; - license = [ licenses.mit ]; - maintainers = [ maintainers.sheepforce ]; - }; -} diff --git a/pkgs/development/tools/gopls/default.nix b/pkgs/development/tools/gopls/default.nix deleted file mode 100644 index ca0a0b5638fe9..0000000000000 --- a/pkgs/development/tools/gopls/default.nix +++ /dev/null @@ -1,28 +0,0 @@ -{ lib, buildGoModule, fetchFromGitHub }: - -buildGoModule rec { - pname = "gopls"; - version = "0.11.0"; - - src = fetchFromGitHub { - owner = "golang"; - repo = "tools"; - rev = "gopls/v${version}"; - sha256 = "sha256-49TDAxFx4kSwCn1YGQgMn3xLG3RHCCttMzqUfm4OPtE="; - }; - - modRoot = "gopls"; - vendorSha256 = "sha256-1/stMvxsCs2OPMN7KGbZ61s2qGT5Yg7kHVHsWi6ekcY="; - - doCheck = false; - - # Only build gopls, and not the integration tests or documentation generator. - subPackages = [ "." ]; - - meta = with lib; { - description = "Official language server for the Go language"; - homepage = "https://github.com/golang/tools/tree/master/gopls"; - license = licenses.bsd3; - maintainers = with maintainers; [ mic92 rski SuperSandro2000 zimbatm ]; - }; -} diff --git a/pkgs/development/tools/jdt-language-server/default.nix b/pkgs/development/tools/jdt-language-server/default.nix deleted file mode 100644 index 1af69700152d2..0000000000000 --- a/pkgs/development/tools/jdt-language-server/default.nix +++ /dev/null @@ -1,103 +0,0 @@ -{ lib -, stdenv -, fetchurl -, makeWrapper -, jdk -}: - -stdenv.mkDerivation rec { - pname = "jdt-language-server"; - version = "1.17.0"; - timestamp = "202210271413"; - - src = fetchurl { - url = "https://download.eclipse.org/jdtls/milestones/${version}/jdt-language-server-${version}-${timestamp}.tar.gz"; - sha256 = "sha256-3NVzL3o/8LXR94/3Yma42XHfwNEFEVrmUijkeMs/vL0="; - }; - - sourceRoot = "."; - - buildInputs = [ - jdk - ]; - - nativeBuildInputs = [ - makeWrapper - ]; - - installPhase = - let - # The application ships with config directories for linux and mac - configDir = if stdenv.isDarwin then "config_mac" else "config_linux"; - in - '' - # Copy jars - install -D -t $out/share/java/plugins/ plugins/*.jar - - # Copy config directories for linux and mac - install -Dm 444 -t $out/share/config ${configDir}/* - - # Get latest version of launcher jar - # e.g. org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar - launcher="$(ls $out/share/java/plugins/org.eclipse.equinox.launcher_* | sort -V | tail -n1)" - - # The wrapper script will create a directory in the user's cache, copy in the config - # files since this dir can't be read-only, and by default use this as the runtime dir. - # - # The following options are required as per the upstream documentation: - # - # -Declipse.application=org.eclipse.jdt.ls.core.id1 - # -Dosgi.bundles.defaultStartLevel=4 - # -Declipse.product=org.eclipse.jdt.ls.core.product - # -noverify - # --add-modules=ALL-SYSTEM - # --add-opens java.base/java.util=ALL-UNNAMED - # --add-opens java.base/java.lang=ALL-UNNAMED - # - # The following options configure the server to run without writing logs to the nix store: - # - # -Dosgi.sharedConfiguration.area.readOnly=true - # -Dosgi.checkConfiguration=true - # -Dosgi.configuration.cascaded=true - # -Dosgi.sharedConfiguration.area=$out/share/config - # - # Other options which the caller may change: - # - # -Dlog.level: - # Log level. - # This can be overidden by setting JAVA_OPTS. - # - # The caller must specify the following: - # - # -data: - # The application stores runtime data here. We set this to /$PWD - # so that projects don't collide with each other. - # This can be overidden by specifying -configuration to the wrapper. - # - # Java options, such as -Xms and Xmx can be specified by setting JAVA_OPTS. - # - makeWrapper ${jdk}/bin/java $out/bin/jdt-language-server \ - --add-flags "-Declipse.application=org.eclipse.jdt.ls.core.id1" \ - --add-flags "-Dosgi.bundles.defaultStartLevel=4" \ - --add-flags "-Declipse.product=org.eclipse.jdt.ls.core.product" \ - --add-flags "-Dosgi.sharedConfiguration.area=$out/share/config" \ - --add-flags "-Dosgi.sharedConfiguration.area.readOnly=true" \ - --add-flags "-Dosgi.checkConfiguration=true" \ - --add-flags "-Dosgi.configuration.cascaded=true" \ - --add-flags "-Dlog.level=ALL" \ - --add-flags "-noverify" \ - --add-flags "\$JAVA_OPTS" \ - --add-flags "-jar $launcher" \ - --add-flags "--add-modules=ALL-SYSTEM" \ - --add-flags "--add-opens java.base/java.util=ALL-UNNAMED" \ - --add-flags "--add-opens java.base/java.lang=ALL-UNNAMED" - ''; - - meta = with lib; { - homepage = "https://github.com/eclipse/eclipse.jdt.ls"; - description = "Java language server"; - sourceProvenance = with sourceTypes; [ binaryBytecode ]; - license = licenses.epl20; - maintainers = with maintainers; [ matt-snider ]; - }; -} diff --git a/pkgs/development/tools/jsonnet-language-server/default.nix b/pkgs/development/tools/jsonnet-language-server/default.nix deleted file mode 100644 index f35900ec41ad5..0000000000000 --- a/pkgs/development/tools/jsonnet-language-server/default.nix +++ /dev/null @@ -1,33 +0,0 @@ -{ lib -, stdenv -, buildGoModule -, fetchFromGitHub -}: - -buildGoModule rec { - pname = "jsonnet-language-server"; - version = "0.11.0"; - - src = fetchFromGitHub { - owner = "grafana"; - repo = "jsonnet-language-server"; - rev = "refs/tags/v${version}"; - hash = "sha256-oPItt1v4wK0W0lSots3hoq5A1ooCRwzJV8cNYV+SBb4="; - }; - - vendorHash = "sha256-ZyTo79M5nqtqrtTOGanzgHcnSvqCKACacNBWzhYG5nY="; - - ldflags = [ - "-s" - "-w" - "-X 'main.version=${version}'" - ]; - - meta = with lib; { - description = "Language Server Protocol server for Jsonnet"; - homepage = "https://github.com/grafana/jsonnet-language-server"; - changelog = "https://github.com/grafana/jsonnet-language-server/releases/tag/v${version}"; - license = licenses.agpl3Only; - maintainers = with maintainers; [ hardselius ]; - }; -} diff --git a/pkgs/development/tools/kotlin-language-server/default.nix b/pkgs/development/tools/kotlin-language-server/default.nix deleted file mode 100644 index b3b1085273d10..0000000000000 --- a/pkgs/development/tools/kotlin-language-server/default.nix +++ /dev/null @@ -1,38 +0,0 @@ -{ lib, stdenv, fetchzip, openjdk, gradle, makeWrapper, maven }: - -stdenv.mkDerivation rec { - pname = "kotlin-language-server"; - version = "1.3.1"; - src = fetchzip { - url = "https://github.com/fwcd/kotlin-language-server/releases/download/${version}/server.zip"; - hash = "sha256-FxpNA4OGSgFdILl0yKBDTtVdQl6Bw9tm2eURbsJdZzI="; - }; - - dontBuild = true; - - installPhase = '' - mkdir -p $out/lib - mkdir -p $out/bin - cp -r lib/* $out/lib - cp -r bin/* $out/bin - ''; - - nativeBuildInputs = [ gradle makeWrapper ]; - buildInputs = [ openjdk gradle ]; - - postFixup = '' - wrapProgram "$out/bin/kotlin-language-server" --set JAVA_HOME ${openjdk} --prefix PATH : ${lib.strings.makeBinPath [ openjdk maven ] } - ''; - - meta = { - description = "kotlin language server"; - longDescription = '' - About Kotlin code completion, linting and more for any editor/IDE - using the Language Server Protocol Topics''; - maintainers = with lib.maintainers; [ vtuan10 ]; - homepage = "https://github.com/fwcd/kotlin-language-server"; - changelog = "https://github.com/fwcd/kotlin-language-server/blob/${version}/CHANGELOG.md"; - license = lib.licenses.mit; - platforms = lib.platforms.unix; - }; -} diff --git a/pkgs/development/tools/language-servers/ansible-language-server/default.nix b/pkgs/development/tools/language-servers/ansible-language-server/default.nix new file mode 100644 index 0000000000000..a1547675dc083 --- /dev/null +++ b/pkgs/development/tools/language-servers/ansible-language-server/default.nix @@ -0,0 +1,44 @@ +{ lib +, buildNpmPackage +, fetchFromGitHub +, nix-update-script +}: + +buildNpmPackage rec { + pname = "ansible-language-server"; + version = "1.0.3"; + + src = fetchFromGitHub { + owner = "ansible"; + repo = pname; + rev = "refs/tags/v${version}"; + hash = "sha256-+42fZ4ILUHg/KcnllUaFYYPBKHxauagbsVdIY1MgwSI="; + }; + + npmDepsHash = "sha256-DRXIbIogMeiJvZOB44hKkkfc3dg8mscnV6k2rUvYCNs="; + npmBuildScript = "compile"; + + # We remove the prepare and prepack scripts because they run the + # build script, and therefore are redundant. + # + # Additionally, the prepack script runs npm ci in addition to the + # build script. Directly before npm pack is run, we make npm unaware + # of the dependency cache, causing the npm ci invocation to fail, + # wiping out node_modules, which causes a mysterious error stating that tsc isn't installed. + postPatch = '' + sed -i '/"prepare"/d' package.json + sed -i '/"prepack"/d' package.json + ''; + + passthru.updateScript = nix-update-script { + attrPath = pname; + }; + + meta = with lib; { + changelog = "https://github.com/ansible/ansible-language-server/releases/tag/v${version}"; + description = "Ansible Language Server"; + homepage = "https://github.com/ansible/ansible-language-server"; + license = licenses.mit; + maintainers = with maintainers; [ hexa ]; + }; +} diff --git a/pkgs/development/tools/language-servers/beancount-language-server/default.nix b/pkgs/development/tools/language-servers/beancount-language-server/default.nix new file mode 100644 index 0000000000000..b415906eead76 --- /dev/null +++ b/pkgs/development/tools/language-servers/beancount-language-server/default.nix @@ -0,0 +1,31 @@ +{ lib +, fetchFromGitHub +, rustPlatform +}: + +rustPlatform.buildRustPackage rec { + pname = "beancount-language-server"; + version = "1.2.5"; + + src = fetchFromGitHub { + owner = "polarmutex"; + repo = "beancount-language-server"; + rev = "v${version}"; + sha256 = "sha256-AbljduMz4mz5InsHKCq0K6i9F/lBgvdy0+W8aclr0R0="; + }; + + cargoSha256 = "sha256-jrxVMGJk4o9aROtFZBc8G/HP5xm9MjVyewww1DzrRdM="; + + doInstallCheck = true; + postInstallCheck = '' + $out/bin/beancount-language-server --help > /dev/null + ''; + + meta = with lib; { + description = "A Language Server Protocol (LSP) for beancount files"; + homepage = "https://github.com/polarmutex/beancount-language-server"; + license = with licenses; [ mit ]; + maintainers = with maintainers; [ polarmutex ]; + }; +} + diff --git a/pkgs/development/tools/language-servers/buf-language-server/default.nix b/pkgs/development/tools/language-servers/buf-language-server/default.nix new file mode 100644 index 0000000000000..88da6eb944827 --- /dev/null +++ b/pkgs/development/tools/language-servers/buf-language-server/default.nix @@ -0,0 +1,27 @@ +{ lib, buildGoModule, fetchFromGitHub }: + +buildGoModule rec { + pname = "buf-language-server"; + version = "unstable-2022-08-19"; + + src = fetchFromGitHub { + owner = "bufbuild"; + repo = pname; + rev = "6f08a7eed22c5a178cb55613f454319e09be112c"; + sha256 = "sha256-UHsWrWDOC/f3YS2g533CgUkuUmz4MUQRunClQiY/YPQ="; + }; + + vendorSha256 = "sha256-ORzCOmBx6k1GZj6pYLhqPsdneCc7Tt1yHpI5mw5ruFU="; + + ldflags = [ + "-s" + "-w" + ]; + + meta = with lib; { + description = "Language server for protocol buffers"; + homepage = "https://github.com/bufbuild/buf-language-server"; + license = licenses.asl20; + maintainers = with maintainers; [ svrana ]; + }; +} diff --git a/pkgs/development/tools/language-servers/ccls/default.nix b/pkgs/development/tools/language-servers/ccls/default.nix new file mode 100644 index 0000000000000..a401fc47eac9e --- /dev/null +++ b/pkgs/development/tools/language-servers/ccls/default.nix @@ -0,0 +1,41 @@ +{ lib, stdenv, fetchFromGitHub +, cmake, llvmPackages, rapidjson, runtimeShell }: + +stdenv.mkDerivation rec { + pname = "ccls"; + version = "0.20220729"; + + src = fetchFromGitHub { + owner = "MaskRay"; + repo = "ccls"; + rev = version; + sha256 = "sha256-eSWgk6KdEyjDLPc27CsOCXDU7AKMoXNyzoA6dSwZ5TI="; + }; + + nativeBuildInputs = [ cmake llvmPackages.llvm.dev ]; + buildInputs = with llvmPackages; [ libclang llvm rapidjson ]; + + cmakeFlags = [ "-DCCLS_VERSION=${version}" ]; + + preConfigure = '' + cmakeFlagsArray+=(-DCMAKE_CXX_FLAGS="-fvisibility=hidden -fno-rtti") + ''; + + clang = llvmPackages.clang; + shell = runtimeShell; + + postFixup = '' + export wrapped=".ccls-wrapped" + mv $out/bin/ccls $out/bin/$wrapped + substituteAll ${./wrapper} $out/bin/ccls + chmod --reference=$out/bin/$wrapped $out/bin/ccls + ''; + + meta = with lib; { + description = "A c/c++ language server powered by clang"; + homepage = "https://github.com/MaskRay/ccls"; + license = licenses.asl20; + platforms = platforms.linux ++ platforms.darwin; + maintainers = with maintainers; [ mic92 tobim ]; + }; +} diff --git a/pkgs/development/tools/language-servers/ccls/wrapper b/pkgs/development/tools/language-servers/ccls/wrapper new file mode 100644 index 0000000000000..294b60893a3f8 --- /dev/null +++ b/pkgs/development/tools/language-servers/ccls/wrapper @@ -0,0 +1,9 @@ +#! @shell@ -e + +printf -v extraArgs ',\"%s\"' \ + $(cat @clang@/nix-support/libc-cflags \ + @clang@/nix-support/libcxx-cxxflags) \ + ${NIX_CFLAGS_COMPILE} +initString="--init={\"clang\":{\"extraArgs\":[${extraArgs:1}],\"resourceDir\":\"@clang@/resource-root\"}}" + +exec -a "$0" "@out@/bin/@wrapped@" "${initString}" "$@" diff --git a/pkgs/development/tools/language-servers/fortls/default.nix b/pkgs/development/tools/language-servers/fortls/default.nix new file mode 100644 index 0000000000000..9aed276a63fa5 --- /dev/null +++ b/pkgs/development/tools/language-servers/fortls/default.nix @@ -0,0 +1,35 @@ +{ buildPythonApplication +, lib +, fetchFromGitHub +, setuptools-scm +, json5 +, packaging +}: + +buildPythonApplication rec { + pname = "fortls"; + version = "2.13.0"; + + src = fetchFromGitHub { + owner = "fortran-lang"; + repo = pname; + rev = "v${version}"; + hash = "sha256-kFk2Dlnb0FXM3Ysvsy+g2AAMgpWmwzxuyJPovDm/FJU="; + }; + + nativeBuildInputs = [ setuptools-scm ]; + + propagatedBuildInputs = [ json5 packaging ]; + + preBuild = "export SETUPTOOLS_SCM_PRETEND_VERSION=${version}"; + + doCheck = true; + checkPhase = "$out/bin/fortls --help 1>/dev/null"; + + meta = with lib; { + description = "Fortran Language Server "; + homepage = "https://github.com/fortran-lang/fortls"; + license = [ licenses.mit ]; + maintainers = [ maintainers.sheepforce ]; + }; +} diff --git a/pkgs/development/tools/language-servers/fortran-language-server/default.nix b/pkgs/development/tools/language-servers/fortran-language-server/default.nix new file mode 100644 index 0000000000000..2c606ab715b51 --- /dev/null +++ b/pkgs/development/tools/language-servers/fortran-language-server/default.nix @@ -0,0 +1,21 @@ +{ lib, fetchPypi, buildPythonApplication }: + +buildPythonApplication rec { + pname = "fortran-language-server"; + version = "1.12.0"; + + src = fetchPypi { + inherit pname version; + sha256 = "7Dkh7yPX4rULkzfJFxg47YxrCaxuHk+k3TOINHS9T5A="; + }; + + checkPhase = "$out/bin/fortls --help 1>/dev/null"; + pythonImportsCheck = [ "fortls" ]; + + meta = with lib; { + description = "FORTRAN Language Server for the Language Server Protocol"; + homepage = "https://pypi.org/project/fortran-language-server/"; + license = [ licenses.mit ]; + maintainers = [ maintainers.sheepforce ]; + }; +} diff --git a/pkgs/development/tools/language-servers/gopls/default.nix b/pkgs/development/tools/language-servers/gopls/default.nix new file mode 100644 index 0000000000000..ca0a0b5638fe9 --- /dev/null +++ b/pkgs/development/tools/language-servers/gopls/default.nix @@ -0,0 +1,28 @@ +{ lib, buildGoModule, fetchFromGitHub }: + +buildGoModule rec { + pname = "gopls"; + version = "0.11.0"; + + src = fetchFromGitHub { + owner = "golang"; + repo = "tools"; + rev = "gopls/v${version}"; + sha256 = "sha256-49TDAxFx4kSwCn1YGQgMn3xLG3RHCCttMzqUfm4OPtE="; + }; + + modRoot = "gopls"; + vendorSha256 = "sha256-1/stMvxsCs2OPMN7KGbZ61s2qGT5Yg7kHVHsWi6ekcY="; + + doCheck = false; + + # Only build gopls, and not the integration tests or documentation generator. + subPackages = [ "." ]; + + meta = with lib; { + description = "Official language server for the Go language"; + homepage = "https://github.com/golang/tools/tree/master/gopls"; + license = licenses.bsd3; + maintainers = with maintainers; [ mic92 rski SuperSandro2000 zimbatm ]; + }; +} diff --git a/pkgs/development/tools/language-servers/jdt-language-server/default.nix b/pkgs/development/tools/language-servers/jdt-language-server/default.nix new file mode 100644 index 0000000000000..1af69700152d2 --- /dev/null +++ b/pkgs/development/tools/language-servers/jdt-language-server/default.nix @@ -0,0 +1,103 @@ +{ lib +, stdenv +, fetchurl +, makeWrapper +, jdk +}: + +stdenv.mkDerivation rec { + pname = "jdt-language-server"; + version = "1.17.0"; + timestamp = "202210271413"; + + src = fetchurl { + url = "https://download.eclipse.org/jdtls/milestones/${version}/jdt-language-server-${version}-${timestamp}.tar.gz"; + sha256 = "sha256-3NVzL3o/8LXR94/3Yma42XHfwNEFEVrmUijkeMs/vL0="; + }; + + sourceRoot = "."; + + buildInputs = [ + jdk + ]; + + nativeBuildInputs = [ + makeWrapper + ]; + + installPhase = + let + # The application ships with config directories for linux and mac + configDir = if stdenv.isDarwin then "config_mac" else "config_linux"; + in + '' + # Copy jars + install -D -t $out/share/java/plugins/ plugins/*.jar + + # Copy config directories for linux and mac + install -Dm 444 -t $out/share/config ${configDir}/* + + # Get latest version of launcher jar + # e.g. org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar + launcher="$(ls $out/share/java/plugins/org.eclipse.equinox.launcher_* | sort -V | tail -n1)" + + # The wrapper script will create a directory in the user's cache, copy in the config + # files since this dir can't be read-only, and by default use this as the runtime dir. + # + # The following options are required as per the upstream documentation: + # + # -Declipse.application=org.eclipse.jdt.ls.core.id1 + # -Dosgi.bundles.defaultStartLevel=4 + # -Declipse.product=org.eclipse.jdt.ls.core.product + # -noverify + # --add-modules=ALL-SYSTEM + # --add-opens java.base/java.util=ALL-UNNAMED + # --add-opens java.base/java.lang=ALL-UNNAMED + # + # The following options configure the server to run without writing logs to the nix store: + # + # -Dosgi.sharedConfiguration.area.readOnly=true + # -Dosgi.checkConfiguration=true + # -Dosgi.configuration.cascaded=true + # -Dosgi.sharedConfiguration.area=$out/share/config + # + # Other options which the caller may change: + # + # -Dlog.level: + # Log level. + # This can be overidden by setting JAVA_OPTS. + # + # The caller must specify the following: + # + # -data: + # The application stores runtime data here. We set this to /$PWD + # so that projects don't collide with each other. + # This can be overidden by specifying -configuration to the wrapper. + # + # Java options, such as -Xms and Xmx can be specified by setting JAVA_OPTS. + # + makeWrapper ${jdk}/bin/java $out/bin/jdt-language-server \ + --add-flags "-Declipse.application=org.eclipse.jdt.ls.core.id1" \ + --add-flags "-Dosgi.bundles.defaultStartLevel=4" \ + --add-flags "-Declipse.product=org.eclipse.jdt.ls.core.product" \ + --add-flags "-Dosgi.sharedConfiguration.area=$out/share/config" \ + --add-flags "-Dosgi.sharedConfiguration.area.readOnly=true" \ + --add-flags "-Dosgi.checkConfiguration=true" \ + --add-flags "-Dosgi.configuration.cascaded=true" \ + --add-flags "-Dlog.level=ALL" \ + --add-flags "-noverify" \ + --add-flags "\$JAVA_OPTS" \ + --add-flags "-jar $launcher" \ + --add-flags "--add-modules=ALL-SYSTEM" \ + --add-flags "--add-opens java.base/java.util=ALL-UNNAMED" \ + --add-flags "--add-opens java.base/java.lang=ALL-UNNAMED" + ''; + + meta = with lib; { + homepage = "https://github.com/eclipse/eclipse.jdt.ls"; + description = "Java language server"; + sourceProvenance = with sourceTypes; [ binaryBytecode ]; + license = licenses.epl20; + maintainers = with maintainers; [ matt-snider ]; + }; +} diff --git a/pkgs/development/tools/language-servers/jsonnet-language-server/default.nix b/pkgs/development/tools/language-servers/jsonnet-language-server/default.nix new file mode 100644 index 0000000000000..f35900ec41ad5 --- /dev/null +++ b/pkgs/development/tools/language-servers/jsonnet-language-server/default.nix @@ -0,0 +1,33 @@ +{ lib +, stdenv +, buildGoModule +, fetchFromGitHub +}: + +buildGoModule rec { + pname = "jsonnet-language-server"; + version = "0.11.0"; + + src = fetchFromGitHub { + owner = "grafana"; + repo = "jsonnet-language-server"; + rev = "refs/tags/v${version}"; + hash = "sha256-oPItt1v4wK0W0lSots3hoq5A1ooCRwzJV8cNYV+SBb4="; + }; + + vendorHash = "sha256-ZyTo79M5nqtqrtTOGanzgHcnSvqCKACacNBWzhYG5nY="; + + ldflags = [ + "-s" + "-w" + "-X 'main.version=${version}'" + ]; + + meta = with lib; { + description = "Language Server Protocol server for Jsonnet"; + homepage = "https://github.com/grafana/jsonnet-language-server"; + changelog = "https://github.com/grafana/jsonnet-language-server/releases/tag/v${version}"; + license = licenses.agpl3Only; + maintainers = with maintainers; [ hardselius ]; + }; +} diff --git a/pkgs/development/tools/language-servers/kotlin-language-server/default.nix b/pkgs/development/tools/language-servers/kotlin-language-server/default.nix new file mode 100644 index 0000000000000..b3b1085273d10 --- /dev/null +++ b/pkgs/development/tools/language-servers/kotlin-language-server/default.nix @@ -0,0 +1,38 @@ +{ lib, stdenv, fetchzip, openjdk, gradle, makeWrapper, maven }: + +stdenv.mkDerivation rec { + pname = "kotlin-language-server"; + version = "1.3.1"; + src = fetchzip { + url = "https://github.com/fwcd/kotlin-language-server/releases/download/${version}/server.zip"; + hash = "sha256-FxpNA4OGSgFdILl0yKBDTtVdQl6Bw9tm2eURbsJdZzI="; + }; + + dontBuild = true; + + installPhase = '' + mkdir -p $out/lib + mkdir -p $out/bin + cp -r lib/* $out/lib + cp -r bin/* $out/bin + ''; + + nativeBuildInputs = [ gradle makeWrapper ]; + buildInputs = [ openjdk gradle ]; + + postFixup = '' + wrapProgram "$out/bin/kotlin-language-server" --set JAVA_HOME ${openjdk} --prefix PATH : ${lib.strings.makeBinPath [ openjdk maven ] } + ''; + + meta = { + description = "kotlin language server"; + longDescription = '' + About Kotlin code completion, linting and more for any editor/IDE + using the Language Server Protocol Topics''; + maintainers = with lib.maintainers; [ vtuan10 ]; + homepage = "https://github.com/fwcd/kotlin-language-server"; + changelog = "https://github.com/fwcd/kotlin-language-server/blob/${version}/CHANGELOG.md"; + license = lib.licenses.mit; + platforms = lib.platforms.unix; + }; +} diff --git a/pkgs/development/tools/language-servers/metals/default.nix b/pkgs/development/tools/language-servers/metals/default.nix new file mode 100644 index 0000000000000..5b275f82346b8 --- /dev/null +++ b/pkgs/development/tools/language-servers/metals/default.nix @@ -0,0 +1,42 @@ +{ stdenv, lib, coursier, jre, makeWrapper, setJavaClassPath }: + +stdenv.mkDerivation rec { + pname = "metals"; + version = "0.11.9"; + + deps = stdenv.mkDerivation { + name = "${pname}-deps-${version}"; + buildCommand = '' + export COURSIER_CACHE=$(pwd) + ${coursier}/bin/cs fetch org.scalameta:metals_2.13:${version} \ + -r bintray:scalacenter/releases \ + -r sonatype:snapshots > deps + mkdir -p $out/share/java + cp -n $(< deps) $out/share/java/ + ''; + outputHashMode = "recursive"; + outputHashAlgo = "sha256"; + outputHash = "sha256-CJ34OZOAM0Le9U0KSe0nKINnxA3iUgqUMtS06YnjvVo="; + }; + + nativeBuildInputs = [ makeWrapper setJavaClassPath ]; + buildInputs = [ deps ]; + + dontUnpack = true; + + extraJavaOpts = "-XX:+UseG1GC -XX:+UseStringDeduplication -Xss4m -Xms100m"; + + installPhase = '' + mkdir -p $out/bin + + makeWrapper ${jre}/bin/java $out/bin/metals \ + --add-flags "${extraJavaOpts} -cp $CLASSPATH scala.meta.metals.Main" + ''; + + meta = with lib; { + homepage = "https://scalameta.org/metals/"; + license = licenses.asl20; + description = "Work-in-progress language server for Scala"; + maintainers = with maintainers; [ fabianhjr tomahna ]; + }; +} diff --git a/pkgs/development/tools/language-servers/millet/default.nix b/pkgs/development/tools/language-servers/millet/default.nix new file mode 100644 index 0000000000000..ccc895b895694 --- /dev/null +++ b/pkgs/development/tools/language-servers/millet/default.nix @@ -0,0 +1,32 @@ +{ lib, rustPlatform, fetchFromGitHub }: + +rustPlatform.buildRustPackage rec { + pname = "millet"; + version = "0.6.0"; + + src = fetchFromGitHub { + owner = "azdavis"; + repo = pname; + rev = "v${version}"; + hash = "sha256-tP1ccUtHfj+JPUYGo+QFYjbz56uNl3p53QNeE/xaCt4="; + }; + + cargoHash = "sha256-umOlvHDA8AtoAeB1i8nNgbjvzTmzwZfdjF+TCTKzqAU="; + + postPatch = '' + rm .cargo/config.toml + ''; + + cargoBuildFlags = [ "--package" "lang-srv" ]; + + cargoTestFlags = [ "--package" "lang-srv" ]; + + meta = with lib; { + description = "A language server for Standard ML"; + homepage = "https://github.com/azdavis/millet"; + changelog = "https://github.com/azdavis/millet/raw/v${version}/docs/changelog.md"; + license = [ licenses.mit /* or */ licenses.asl20 ]; + maintainers = with maintainers; [ marsam ]; + mainProgram = "lang-srv"; + }; +} diff --git a/pkgs/development/tools/language-servers/nil/default.nix b/pkgs/development/tools/language-servers/nil/default.nix new file mode 100644 index 0000000000000..de87838105bfa --- /dev/null +++ b/pkgs/development/tools/language-servers/nil/default.nix @@ -0,0 +1,33 @@ +{ lib, rustPlatform, fetchFromGitHub, nix, nix-update-script }: + +rustPlatform.buildRustPackage rec { + pname = "nil"; + version = "2022-12-01"; + + src = fetchFromGitHub { + owner = "oxalica"; + repo = pname; + rev = version; + hash = "sha256-E/QGmoL7Q3GDR2/I5o2CAMHMcmPQEJAySke1s+nOaho="; + }; + + cargoHash = "sha256-T3i86L6cF6uFbSs7xtKHGzB6XrE9jn2RZghxFzDleXU="; + + CFG_DATE = version; + CFG_REV = "release"; + + nativeBuildInputs = [ + (lib.getBin nix) + ]; + + passthru.updateScript = nix-update-script { + attrPath = pname; + }; + + meta = with lib; { + description = "Yet another language server for Nix"; + homepage = "https://github.com/oxalica/nil"; + license = with licenses; [ mit asl20 ]; + maintainers = with maintainers; [ figsoda oxalica ]; + }; +} diff --git a/pkgs/development/tools/language-servers/rnix-lsp/default.nix b/pkgs/development/tools/language-servers/rnix-lsp/default.nix new file mode 100644 index 0000000000000..a587f87b3da74 --- /dev/null +++ b/pkgs/development/tools/language-servers/rnix-lsp/default.nix @@ -0,0 +1,23 @@ +{ stdenv, lib, fetchFromGitHub, rustPlatform, nix }: + +rustPlatform.buildRustPackage rec { + pname = "rnix-lsp"; + version = "0.2.5"; + + src = fetchFromGitHub { + owner = "nix-community"; + repo = "rnix-lsp"; + rev = "v${version}"; + sha256 = "sha256-WXpj2fgduYlF4t0QEvdfV1Eft8/nFXWF2zyEBKMUEIk="; + }; + + cargoSha256 = "sha256-LfbmOhZJVthsLm8lnzHvEt7Vy27y4w4wpPfrf/s3s84="; + + checkInputs = lib.optional (!stdenv.isDarwin) nix; + + meta = with lib; { + description = "A work-in-progress language server for Nix, with syntax checking and basic completion"; + license = licenses.mit; + maintainers = with maintainers; [ ma27 ]; + }; +} diff --git a/pkgs/development/tools/language-servers/sumneko-lua-language-server/default.nix b/pkgs/development/tools/language-servers/sumneko-lua-language-server/default.nix new file mode 100644 index 0000000000000..bd9e704eef329 --- /dev/null +++ b/pkgs/development/tools/language-servers/sumneko-lua-language-server/default.nix @@ -0,0 +1,83 @@ +{ lib, stdenv, fetchFromGitHub, ninja, makeWrapper, CoreFoundation, Foundation }: +let + target = if stdenv.isDarwin then "macOS" else "Linux"; +in +stdenv.mkDerivation rec { + pname = "sumneko-lua-language-server"; + version = "3.6.4"; + + src = fetchFromGitHub { + owner = "sumneko"; + repo = "lua-language-server"; + rev = version; + sha256 = "sha256-46Fni1SWsbYnPdntgq6mgqkZ8DCKXGBhTBzSAD2EG5M="; + fetchSubmodules = true; + }; + + nativeBuildInputs = [ + ninja + makeWrapper + ]; + + buildInputs = lib.optionals stdenv.isDarwin [ + CoreFoundation + Foundation + ]; + + preBuild = '' + cd 3rd/luamake + '' + + lib.optionalString stdenv.isDarwin '' + # Needed for the test + export HOME=/var/empty + # This package uses the program clang for C and C++ files. The language + # is selected via the command line argument -std, but this do not work + # in combination with the nixpkgs clang wrapper. Therefor we have to + # find all c++ compiler statements and replace $cc (which expands to + # clang) with clang++. + sed -i compile/ninja/macos.ninja \ + -e '/c++/s,$cc,clang++,' \ + -e '/test.lua/s,= .*,= true,' \ + -e '/ldl/s,$cc,clang++,' + sed -i scripts/compiler/gcc.lua \ + -e '/cxx_/s,$cc,clang++,' + ''; + + ninjaFlags = [ + "-fcompile/ninja/${lib.toLower target}.ninja" + ]; + + postBuild = '' + cd ../.. + ./3rd/luamake/luamake rebuild + ''; + + installPhase = '' + runHook preInstall + + install -Dt "$out"/share/lua-language-server/bin bin/lua-language-server + install -m644 -t "$out"/share/lua-language-server/bin bin/*.* + install -m644 -t "$out"/share/lua-language-server {debugger,main}.lua + cp -r locale meta script "$out"/share/lua-language-server + + # necessary for --version to work: + install -m644 -t "$out"/share/lua-language-server changelog.md + + makeWrapper "$out"/share/lua-language-server/bin/lua-language-server \ + $out/bin/lua-language-server \ + --add-flags "-E $out/share/lua-language-server/main.lua \ + --logpath=\''${XDG_CACHE_HOME:-\$HOME/.cache}/sumneko_lua/log \ + --metapath=\''${XDG_CACHE_HOME:-\$HOME/.cache}/sumneko_lua/meta" + + runHook postInstall + ''; + + meta = with lib; { + description = "Lua Language Server coded by Lua"; + homepage = "https://github.com/sumneko/lua-language-server"; + license = licenses.mit; + maintainers = with maintainers; [ sei40kr ]; + platforms = platforms.linux ++ platforms.darwin; + mainProgram = "lua-language-server"; + }; +} diff --git a/pkgs/development/tools/language-servers/svls/default.nix b/pkgs/development/tools/language-servers/svls/default.nix new file mode 100644 index 0000000000000..5b5b87b0392f6 --- /dev/null +++ b/pkgs/development/tools/language-servers/svls/default.nix @@ -0,0 +1,25 @@ +{ lib +, rustPlatform +, fetchFromGitHub +}: + +rustPlatform.buildRustPackage rec { + pname = "svls"; + version = "0.2.6"; + + src = fetchFromGitHub { + owner = "dalance"; + repo = "svls"; + rev = "v${version}"; + sha256 = "sha256-1qYTYAXNMM3umRFpWoij8VU3rhBI4QWePa5Uaz2Y4Ik="; + }; + + cargoSha256 = "sha256-il7n8uxeXPKCBpRv3rqZZzqWjfpy558YNKBs9qOJ2oI="; + + meta = with lib; { + description = "SystemVerilog language server"; + homepage = "https://github.com/dalance/svls"; + license = licenses.mit; + maintainers = with maintainers; [ trepetti ]; + }; +} diff --git a/pkgs/development/tools/language-servers/vala-language-server/default.nix b/pkgs/development/tools/language-servers/vala-language-server/default.nix new file mode 100644 index 0000000000000..52e33fee6b608 --- /dev/null +++ b/pkgs/development/tools/language-servers/vala-language-server/default.nix @@ -0,0 +1,68 @@ +{ stdenv +, lib +, fetchFromGitHub +, fetchpatch +, nix-update-script +, meson +, ninja +, pkg-config +, scdoc +, gnome-builder +, glib +, libgee +, json-glib +, jsonrpc-glib +, vala +}: + +stdenv.mkDerivation rec { + pname = "vala-language-server"; + version = "0.48.5"; + + src = fetchFromGitHub { + owner = "vala-lang"; + repo = pname; + rev = version; + sha256 = "sha256-gntGnz8uqGz2EGwWWyty/N1ImaUKAPtXVZcjgp73SQM="; + }; + + patches = [ + # Fix regex for links in comments + # https://github.com/vala-lang/vala-language-server/pull/268 + (fetchpatch { + url = "https://github.com/vala-lang/vala-language-server/commit/b6193265d68b90755d57938c2ba1895841cf4b36.patch"; + sha256 = "sha256-nWG+xQAPDVBXamuKQymvn/FBHEP7Ta9p/vhYjxxBGzI="; + }) + ]; + + passthru = { + updateScript = nix-update-script { + attrPath = pname; + }; + }; + + nativeBuildInputs = [ + meson + ninja + pkg-config + scdoc + # GNOME Builder Plugin + gnome-builder + ]; + + buildInputs = [ + glib + libgee + json-glib + jsonrpc-glib + vala + ]; + + meta = with lib; { + description = "Code Intelligence for Vala & Genie"; + homepage = "https://github.com/vala-lang/vala-language-server"; + license = licenses.lgpl21Plus; + maintainers = with maintainers; [ andreasfelix ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/development/tools/language-servers/verible/default.nix b/pkgs/development/tools/language-servers/verible/default.nix new file mode 100644 index 0000000000000..d39b91180f98a --- /dev/null +++ b/pkgs/development/tools/language-servers/verible/default.nix @@ -0,0 +1,108 @@ +{ lib +, stdenv +, fetchFromGitHub +, buildBazelPackage +, bazel_4 +, flex +, bison +, python3 +}: + +let + system = stdenv.hostPlatform.system; +in +buildBazelPackage rec { + pname = "verible"; + version = "0.0-2472-ga80124e1"; + + # These environment variables are read in bazel/build-version.py to create + # a build string. Otherwise it would attempt to extract it from .git/. + GIT_DATE = "2022-10-21"; + GIT_VERSION = version; + + src = fetchFromGitHub { + owner = "chipsalliance"; + repo = "verible"; + rev = "v${version}"; + sha256 = "sha256:0jpdxqhnawrl80pbc8544pyggdp5s3cbc7byc423d5v0sri2f96v"; + }; + + patches = [ + # Patch WORKSPACE file to not include windows-related dependencies, + # as they are removed by bazel, breaking the fixed output derivation + # TODO: fix upstream + ./remove-unused-deps.patch + ]; + + bazelFlags = [ + "--//bazel:use_local_flex_bison" + "--javabase=@bazel_tools//tools/jdk:remote_jdk11" + "--host_javabase=@bazel_tools//tools/jdk:remote_jdk11" + ]; + + fetchAttrs = { + # Fixed output derivation hash after bazel fetch. + # This varies per platform, probably from the JDK pulled in being part + # of the output derivation ? Is there a more robust way to do this ? + # (Hashes extracted from the ofborg build logs) + sha256 = { + aarch64-linux = "sha256-6Udp7sZKGU8gcy6+5WPhkSWunf1sVkha8l5S1UQsC04="; + x86_64-linux = "sha256-WfhgbJFaM/ipdd1dRjPeVZ1mK2hotb0wLmKjO7e+BO4="; + }.${system} or (throw "No hash for system: ${system}"); + }; + + nativeBuildInputs = [ + flex # We use local flex and bison as WORKSPACE sources fail + bison # .. to compile with newer glibc + python3 + ]; + + postPatch = '' + patchShebangs\ + bazel/build-version.py \ + bazel/sh_test_with_runfiles_lib.sh \ + common/lsp/dummy-ls_test.sh \ + common/parser/move_yacc_stack_symbols.sh \ + common/parser/record_syntax_error.sh \ + common/tools/patch_tool_test.sh \ + common/tools/verible-transform-interactive.sh \ + common/tools/verible-transform-interactive-test.sh \ + common/util/create_version_header.sh \ + kythe-browse.sh \ + verilog/tools + ''; + + bazel = bazel_4; + removeRulesCC = false; + bazelTarget = ":install-binaries"; + bazelTestTargets = [ "//..." ]; + bazelBuildFlags = [ + "-c opt" + ]; + buildAttrs = { + installPhase = '' + mkdir -p "$out/bin" + + install bazel-bin/common/tools/verible-patch-tool "$out/bin" + + V_TOOLS_DIR=bazel-bin/verilog/tools + install $V_TOOLS_DIR/diff/verible-verilog-diff "$out/bin" + install $V_TOOLS_DIR/formatter/verible-verilog-format "$out/bin" + install $V_TOOLS_DIR/kythe/verible-verilog-kythe-extractor "$out/bin" + install $V_TOOLS_DIR/lint/verible-verilog-lint "$out/bin" + install $V_TOOLS_DIR/ls/verible-verilog-ls "$out/bin" + install $V_TOOLS_DIR/obfuscator/verible-verilog-obfuscate "$out/bin" + install $V_TOOLS_DIR/preprocessor/verible-verilog-preprocessor "$out/bin" + install $V_TOOLS_DIR/project/verible-verilog-project "$out/bin" + install $V_TOOLS_DIR/syntax/verible-verilog-syntax "$out/bin" + ''; + }; + + meta = with lib; { + homepage = "https://github.com/chipsalliance/verible"; + description = "Suite of SystemVerilog developer tools. Including a style-linter, indexer, formatter, and language server."; + license = licenses.asl20; + platforms = platforms.linux; + maintainers = with maintainers; [ hzeller newam ]; + }; +} diff --git a/pkgs/development/tools/language-servers/verible/remove-unused-deps.patch b/pkgs/development/tools/language-servers/verible/remove-unused-deps.patch new file mode 100644 index 0000000000000..19d20309c106b --- /dev/null +++ b/pkgs/development/tools/language-servers/verible/remove-unused-deps.patch @@ -0,0 +1,22 @@ +diff --git a/WORKSPACE b/WORKSPACE +index 696cc7ef..55a5bb8a 100644 +--- a/WORKSPACE ++++ b/WORKSPACE +@@ -81,17 +81,6 @@ load("@com_github_google_rules_install//:setup.bzl", "install_rules_setup") + + install_rules_setup() + +-# Need to load before rules_flex/rules_bison to make sure +-# win_flex_bison is the chosen toolchain on Windows +-load("//bazel:win_flex_bison.bzl", "win_flex_configure") +- +-win_flex_configure( +- name = "win_flex_bison", +- sha256 = "095cf65cb3f12ee5888022f93109acbe6264e5f18f6ffce0bda77feb31b65bd8", +- # bison 3.3.2, flex 2.6.4 +- url = "https://github.com/lexxmark/winflexbison/releases/download/v2.5.18/win_flex_bison-2.5.18.zip", +-) +- + http_archive( + name = "rules_m4", + sha256 = "c67fa9891bb19e9e6c1050003ba648d35383b8cb3c9572f397ad24040fb7f0eb", diff --git a/pkgs/development/tools/metals/default.nix b/pkgs/development/tools/metals/default.nix deleted file mode 100644 index 5b275f82346b8..0000000000000 --- a/pkgs/development/tools/metals/default.nix +++ /dev/null @@ -1,42 +0,0 @@ -{ stdenv, lib, coursier, jre, makeWrapper, setJavaClassPath }: - -stdenv.mkDerivation rec { - pname = "metals"; - version = "0.11.9"; - - deps = stdenv.mkDerivation { - name = "${pname}-deps-${version}"; - buildCommand = '' - export COURSIER_CACHE=$(pwd) - ${coursier}/bin/cs fetch org.scalameta:metals_2.13:${version} \ - -r bintray:scalacenter/releases \ - -r sonatype:snapshots > deps - mkdir -p $out/share/java - cp -n $(< deps) $out/share/java/ - ''; - outputHashMode = "recursive"; - outputHashAlgo = "sha256"; - outputHash = "sha256-CJ34OZOAM0Le9U0KSe0nKINnxA3iUgqUMtS06YnjvVo="; - }; - - nativeBuildInputs = [ makeWrapper setJavaClassPath ]; - buildInputs = [ deps ]; - - dontUnpack = true; - - extraJavaOpts = "-XX:+UseG1GC -XX:+UseStringDeduplication -Xss4m -Xms100m"; - - installPhase = '' - mkdir -p $out/bin - - makeWrapper ${jre}/bin/java $out/bin/metals \ - --add-flags "${extraJavaOpts} -cp $CLASSPATH scala.meta.metals.Main" - ''; - - meta = with lib; { - homepage = "https://scalameta.org/metals/"; - license = licenses.asl20; - description = "Work-in-progress language server for Scala"; - maintainers = with maintainers; [ fabianhjr tomahna ]; - }; -} diff --git a/pkgs/development/tools/millet/default.nix b/pkgs/development/tools/millet/default.nix deleted file mode 100644 index ccc895b895694..0000000000000 --- a/pkgs/development/tools/millet/default.nix +++ /dev/null @@ -1,32 +0,0 @@ -{ lib, rustPlatform, fetchFromGitHub }: - -rustPlatform.buildRustPackage rec { - pname = "millet"; - version = "0.6.0"; - - src = fetchFromGitHub { - owner = "azdavis"; - repo = pname; - rev = "v${version}"; - hash = "sha256-tP1ccUtHfj+JPUYGo+QFYjbz56uNl3p53QNeE/xaCt4="; - }; - - cargoHash = "sha256-umOlvHDA8AtoAeB1i8nNgbjvzTmzwZfdjF+TCTKzqAU="; - - postPatch = '' - rm .cargo/config.toml - ''; - - cargoBuildFlags = [ "--package" "lang-srv" ]; - - cargoTestFlags = [ "--package" "lang-srv" ]; - - meta = with lib; { - description = "A language server for Standard ML"; - homepage = "https://github.com/azdavis/millet"; - changelog = "https://github.com/azdavis/millet/raw/v${version}/docs/changelog.md"; - license = [ licenses.mit /* or */ licenses.asl20 ]; - maintainers = with maintainers; [ marsam ]; - mainProgram = "lang-srv"; - }; -} diff --git a/pkgs/development/tools/misc/ccls/default.nix b/pkgs/development/tools/misc/ccls/default.nix deleted file mode 100644 index a401fc47eac9e..0000000000000 --- a/pkgs/development/tools/misc/ccls/default.nix +++ /dev/null @@ -1,41 +0,0 @@ -{ lib, stdenv, fetchFromGitHub -, cmake, llvmPackages, rapidjson, runtimeShell }: - -stdenv.mkDerivation rec { - pname = "ccls"; - version = "0.20220729"; - - src = fetchFromGitHub { - owner = "MaskRay"; - repo = "ccls"; - rev = version; - sha256 = "sha256-eSWgk6KdEyjDLPc27CsOCXDU7AKMoXNyzoA6dSwZ5TI="; - }; - - nativeBuildInputs = [ cmake llvmPackages.llvm.dev ]; - buildInputs = with llvmPackages; [ libclang llvm rapidjson ]; - - cmakeFlags = [ "-DCCLS_VERSION=${version}" ]; - - preConfigure = '' - cmakeFlagsArray+=(-DCMAKE_CXX_FLAGS="-fvisibility=hidden -fno-rtti") - ''; - - clang = llvmPackages.clang; - shell = runtimeShell; - - postFixup = '' - export wrapped=".ccls-wrapped" - mv $out/bin/ccls $out/bin/$wrapped - substituteAll ${./wrapper} $out/bin/ccls - chmod --reference=$out/bin/$wrapped $out/bin/ccls - ''; - - meta = with lib; { - description = "A c/c++ language server powered by clang"; - homepage = "https://github.com/MaskRay/ccls"; - license = licenses.asl20; - platforms = platforms.linux ++ platforms.darwin; - maintainers = with maintainers; [ mic92 tobim ]; - }; -} diff --git a/pkgs/development/tools/misc/ccls/wrapper b/pkgs/development/tools/misc/ccls/wrapper deleted file mode 100644 index 294b60893a3f8..0000000000000 --- a/pkgs/development/tools/misc/ccls/wrapper +++ /dev/null @@ -1,9 +0,0 @@ -#! @shell@ -e - -printf -v extraArgs ',\"%s\"' \ - $(cat @clang@/nix-support/libc-cflags \ - @clang@/nix-support/libcxx-cxxflags) \ - ${NIX_CFLAGS_COMPILE} -initString="--init={\"clang\":{\"extraArgs\":[${extraArgs:1}],\"resourceDir\":\"@clang@/resource-root\"}}" - -exec -a "$0" "@out@/bin/@wrapped@" "${initString}" "$@" diff --git a/pkgs/development/tools/misc/svls/default.nix b/pkgs/development/tools/misc/svls/default.nix deleted file mode 100644 index 5b5b87b0392f6..0000000000000 --- a/pkgs/development/tools/misc/svls/default.nix +++ /dev/null @@ -1,25 +0,0 @@ -{ lib -, rustPlatform -, fetchFromGitHub -}: - -rustPlatform.buildRustPackage rec { - pname = "svls"; - version = "0.2.6"; - - src = fetchFromGitHub { - owner = "dalance"; - repo = "svls"; - rev = "v${version}"; - sha256 = "sha256-1qYTYAXNMM3umRFpWoij8VU3rhBI4QWePa5Uaz2Y4Ik="; - }; - - cargoSha256 = "sha256-il7n8uxeXPKCBpRv3rqZZzqWjfpy558YNKBs9qOJ2oI="; - - meta = with lib; { - description = "SystemVerilog language server"; - homepage = "https://github.com/dalance/svls"; - license = licenses.mit; - maintainers = with maintainers; [ trepetti ]; - }; -} diff --git a/pkgs/development/tools/nil/default.nix b/pkgs/development/tools/nil/default.nix deleted file mode 100644 index de87838105bfa..0000000000000 --- a/pkgs/development/tools/nil/default.nix +++ /dev/null @@ -1,33 +0,0 @@ -{ lib, rustPlatform, fetchFromGitHub, nix, nix-update-script }: - -rustPlatform.buildRustPackage rec { - pname = "nil"; - version = "2022-12-01"; - - src = fetchFromGitHub { - owner = "oxalica"; - repo = pname; - rev = version; - hash = "sha256-E/QGmoL7Q3GDR2/I5o2CAMHMcmPQEJAySke1s+nOaho="; - }; - - cargoHash = "sha256-T3i86L6cF6uFbSs7xtKHGzB6XrE9jn2RZghxFzDleXU="; - - CFG_DATE = version; - CFG_REV = "release"; - - nativeBuildInputs = [ - (lib.getBin nix) - ]; - - passthru.updateScript = nix-update-script { - attrPath = pname; - }; - - meta = with lib; { - description = "Yet another language server for Nix"; - homepage = "https://github.com/oxalica/nil"; - license = with licenses; [ mit asl20 ]; - maintainers = with maintainers; [ figsoda oxalica ]; - }; -} diff --git a/pkgs/development/tools/rnix-lsp/default.nix b/pkgs/development/tools/rnix-lsp/default.nix deleted file mode 100644 index a587f87b3da74..0000000000000 --- a/pkgs/development/tools/rnix-lsp/default.nix +++ /dev/null @@ -1,23 +0,0 @@ -{ stdenv, lib, fetchFromGitHub, rustPlatform, nix }: - -rustPlatform.buildRustPackage rec { - pname = "rnix-lsp"; - version = "0.2.5"; - - src = fetchFromGitHub { - owner = "nix-community"; - repo = "rnix-lsp"; - rev = "v${version}"; - sha256 = "sha256-WXpj2fgduYlF4t0QEvdfV1Eft8/nFXWF2zyEBKMUEIk="; - }; - - cargoSha256 = "sha256-LfbmOhZJVthsLm8lnzHvEt7Vy27y4w4wpPfrf/s3s84="; - - checkInputs = lib.optional (!stdenv.isDarwin) nix; - - meta = with lib; { - description = "A work-in-progress language server for Nix, with syntax checking and basic completion"; - license = licenses.mit; - maintainers = with maintainers; [ ma27 ]; - }; -} diff --git a/pkgs/development/tools/sumneko-lua-language-server/default.nix b/pkgs/development/tools/sumneko-lua-language-server/default.nix deleted file mode 100644 index bd9e704eef329..0000000000000 --- a/pkgs/development/tools/sumneko-lua-language-server/default.nix +++ /dev/null @@ -1,83 +0,0 @@ -{ lib, stdenv, fetchFromGitHub, ninja, makeWrapper, CoreFoundation, Foundation }: -let - target = if stdenv.isDarwin then "macOS" else "Linux"; -in -stdenv.mkDerivation rec { - pname = "sumneko-lua-language-server"; - version = "3.6.4"; - - src = fetchFromGitHub { - owner = "sumneko"; - repo = "lua-language-server"; - rev = version; - sha256 = "sha256-46Fni1SWsbYnPdntgq6mgqkZ8DCKXGBhTBzSAD2EG5M="; - fetchSubmodules = true; - }; - - nativeBuildInputs = [ - ninja - makeWrapper - ]; - - buildInputs = lib.optionals stdenv.isDarwin [ - CoreFoundation - Foundation - ]; - - preBuild = '' - cd 3rd/luamake - '' - + lib.optionalString stdenv.isDarwin '' - # Needed for the test - export HOME=/var/empty - # This package uses the program clang for C and C++ files. The language - # is selected via the command line argument -std, but this do not work - # in combination with the nixpkgs clang wrapper. Therefor we have to - # find all c++ compiler statements and replace $cc (which expands to - # clang) with clang++. - sed -i compile/ninja/macos.ninja \ - -e '/c++/s,$cc,clang++,' \ - -e '/test.lua/s,= .*,= true,' \ - -e '/ldl/s,$cc,clang++,' - sed -i scripts/compiler/gcc.lua \ - -e '/cxx_/s,$cc,clang++,' - ''; - - ninjaFlags = [ - "-fcompile/ninja/${lib.toLower target}.ninja" - ]; - - postBuild = '' - cd ../.. - ./3rd/luamake/luamake rebuild - ''; - - installPhase = '' - runHook preInstall - - install -Dt "$out"/share/lua-language-server/bin bin/lua-language-server - install -m644 -t "$out"/share/lua-language-server/bin bin/*.* - install -m644 -t "$out"/share/lua-language-server {debugger,main}.lua - cp -r locale meta script "$out"/share/lua-language-server - - # necessary for --version to work: - install -m644 -t "$out"/share/lua-language-server changelog.md - - makeWrapper "$out"/share/lua-language-server/bin/lua-language-server \ - $out/bin/lua-language-server \ - --add-flags "-E $out/share/lua-language-server/main.lua \ - --logpath=\''${XDG_CACHE_HOME:-\$HOME/.cache}/sumneko_lua/log \ - --metapath=\''${XDG_CACHE_HOME:-\$HOME/.cache}/sumneko_lua/meta" - - runHook postInstall - ''; - - meta = with lib; { - description = "Lua Language Server coded by Lua"; - homepage = "https://github.com/sumneko/lua-language-server"; - license = licenses.mit; - maintainers = with maintainers; [ sei40kr ]; - platforms = platforms.linux ++ platforms.darwin; - mainProgram = "lua-language-server"; - }; -} diff --git a/pkgs/development/tools/vala-language-server/default.nix b/pkgs/development/tools/vala-language-server/default.nix deleted file mode 100644 index 52e33fee6b608..0000000000000 --- a/pkgs/development/tools/vala-language-server/default.nix +++ /dev/null @@ -1,68 +0,0 @@ -{ stdenv -, lib -, fetchFromGitHub -, fetchpatch -, nix-update-script -, meson -, ninja -, pkg-config -, scdoc -, gnome-builder -, glib -, libgee -, json-glib -, jsonrpc-glib -, vala -}: - -stdenv.mkDerivation rec { - pname = "vala-language-server"; - version = "0.48.5"; - - src = fetchFromGitHub { - owner = "vala-lang"; - repo = pname; - rev = version; - sha256 = "sha256-gntGnz8uqGz2EGwWWyty/N1ImaUKAPtXVZcjgp73SQM="; - }; - - patches = [ - # Fix regex for links in comments - # https://github.com/vala-lang/vala-language-server/pull/268 - (fetchpatch { - url = "https://github.com/vala-lang/vala-language-server/commit/b6193265d68b90755d57938c2ba1895841cf4b36.patch"; - sha256 = "sha256-nWG+xQAPDVBXamuKQymvn/FBHEP7Ta9p/vhYjxxBGzI="; - }) - ]; - - passthru = { - updateScript = nix-update-script { - attrPath = pname; - }; - }; - - nativeBuildInputs = [ - meson - ninja - pkg-config - scdoc - # GNOME Builder Plugin - gnome-builder - ]; - - buildInputs = [ - glib - libgee - json-glib - jsonrpc-glib - vala - ]; - - meta = with lib; { - description = "Code Intelligence for Vala & Genie"; - homepage = "https://github.com/vala-lang/vala-language-server"; - license = licenses.lgpl21Plus; - maintainers = with maintainers; [ andreasfelix ]; - platforms = platforms.linux; - }; -} diff --git a/pkgs/development/tools/verible/default.nix b/pkgs/development/tools/verible/default.nix deleted file mode 100644 index d39b91180f98a..0000000000000 --- a/pkgs/development/tools/verible/default.nix +++ /dev/null @@ -1,108 +0,0 @@ -{ lib -, stdenv -, fetchFromGitHub -, buildBazelPackage -, bazel_4 -, flex -, bison -, python3 -}: - -let - system = stdenv.hostPlatform.system; -in -buildBazelPackage rec { - pname = "verible"; - version = "0.0-2472-ga80124e1"; - - # These environment variables are read in bazel/build-version.py to create - # a build string. Otherwise it would attempt to extract it from .git/. - GIT_DATE = "2022-10-21"; - GIT_VERSION = version; - - src = fetchFromGitHub { - owner = "chipsalliance"; - repo = "verible"; - rev = "v${version}"; - sha256 = "sha256:0jpdxqhnawrl80pbc8544pyggdp5s3cbc7byc423d5v0sri2f96v"; - }; - - patches = [ - # Patch WORKSPACE file to not include windows-related dependencies, - # as they are removed by bazel, breaking the fixed output derivation - # TODO: fix upstream - ./remove-unused-deps.patch - ]; - - bazelFlags = [ - "--//bazel:use_local_flex_bison" - "--javabase=@bazel_tools//tools/jdk:remote_jdk11" - "--host_javabase=@bazel_tools//tools/jdk:remote_jdk11" - ]; - - fetchAttrs = { - # Fixed output derivation hash after bazel fetch. - # This varies per platform, probably from the JDK pulled in being part - # of the output derivation ? Is there a more robust way to do this ? - # (Hashes extracted from the ofborg build logs) - sha256 = { - aarch64-linux = "sha256-6Udp7sZKGU8gcy6+5WPhkSWunf1sVkha8l5S1UQsC04="; - x86_64-linux = "sha256-WfhgbJFaM/ipdd1dRjPeVZ1mK2hotb0wLmKjO7e+BO4="; - }.${system} or (throw "No hash for system: ${system}"); - }; - - nativeBuildInputs = [ - flex # We use local flex and bison as WORKSPACE sources fail - bison # .. to compile with newer glibc - python3 - ]; - - postPatch = '' - patchShebangs\ - bazel/build-version.py \ - bazel/sh_test_with_runfiles_lib.sh \ - common/lsp/dummy-ls_test.sh \ - common/parser/move_yacc_stack_symbols.sh \ - common/parser/record_syntax_error.sh \ - common/tools/patch_tool_test.sh \ - common/tools/verible-transform-interactive.sh \ - common/tools/verible-transform-interactive-test.sh \ - common/util/create_version_header.sh \ - kythe-browse.sh \ - verilog/tools - ''; - - bazel = bazel_4; - removeRulesCC = false; - bazelTarget = ":install-binaries"; - bazelTestTargets = [ "//..." ]; - bazelBuildFlags = [ - "-c opt" - ]; - buildAttrs = { - installPhase = '' - mkdir -p "$out/bin" - - install bazel-bin/common/tools/verible-patch-tool "$out/bin" - - V_TOOLS_DIR=bazel-bin/verilog/tools - install $V_TOOLS_DIR/diff/verible-verilog-diff "$out/bin" - install $V_TOOLS_DIR/formatter/verible-verilog-format "$out/bin" - install $V_TOOLS_DIR/kythe/verible-verilog-kythe-extractor "$out/bin" - install $V_TOOLS_DIR/lint/verible-verilog-lint "$out/bin" - install $V_TOOLS_DIR/ls/verible-verilog-ls "$out/bin" - install $V_TOOLS_DIR/obfuscator/verible-verilog-obfuscate "$out/bin" - install $V_TOOLS_DIR/preprocessor/verible-verilog-preprocessor "$out/bin" - install $V_TOOLS_DIR/project/verible-verilog-project "$out/bin" - install $V_TOOLS_DIR/syntax/verible-verilog-syntax "$out/bin" - ''; - }; - - meta = with lib; { - homepage = "https://github.com/chipsalliance/verible"; - description = "Suite of SystemVerilog developer tools. Including a style-linter, indexer, formatter, and language server."; - license = licenses.asl20; - platforms = platforms.linux; - maintainers = with maintainers; [ hzeller newam ]; - }; -} diff --git a/pkgs/development/tools/verible/remove-unused-deps.patch b/pkgs/development/tools/verible/remove-unused-deps.patch deleted file mode 100644 index 19d20309c106b..0000000000000 --- a/pkgs/development/tools/verible/remove-unused-deps.patch +++ /dev/null @@ -1,22 +0,0 @@ -diff --git a/WORKSPACE b/WORKSPACE -index 696cc7ef..55a5bb8a 100644 ---- a/WORKSPACE -+++ b/WORKSPACE -@@ -81,17 +81,6 @@ load("@com_github_google_rules_install//:setup.bzl", "install_rules_setup") - - install_rules_setup() - --# Need to load before rules_flex/rules_bison to make sure --# win_flex_bison is the chosen toolchain on Windows --load("//bazel:win_flex_bison.bzl", "win_flex_configure") -- --win_flex_configure( -- name = "win_flex_bison", -- sha256 = "095cf65cb3f12ee5888022f93109acbe6264e5f18f6ffce0bda77feb31b65bd8", -- # bison 3.3.2, flex 2.6.4 -- url = "https://github.com/lexxmark/winflexbison/releases/download/v2.5.18/win_flex_bison-2.5.18.zip", --) -- - http_archive( - name = "rules_m4", - sha256 = "c67fa9891bb19e9e6c1050003ba648d35383b8cb3c9572f397ad24040fb7f0eb", diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index f2ae6cfc422f4..dc34a47dfa80b 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -320,8 +320,6 @@ with pkgs; buf = callPackage ../development/tools/buf { }; - buf-language-server = callPackage ../development/tools/buf-language-server { }; - cbfmt = callPackage ../development/tools/cbfmt { }; cfn-nag = callPackage ../development/tools/cfn-nag { }; @@ -12678,8 +12676,6 @@ with pkgs; verco = callPackage ../applications/version-management/verco { }; - verible = callPackage ../development/tools/verible { }; - verilator = callPackage ../applications/science/electronics/verilator {}; verilog = callPackage ../applications/science/electronics/verilog { @@ -14835,8 +14831,6 @@ with pkgs; kotlin = callPackage ../development/compilers/kotlin { }; kotlin-native = callPackage ../development/compilers/kotlin/native.nix { }; - kotlin-language-server = callPackage ../development/tools/kotlin-language-server {}; - lazarus = callPackage ../development/compilers/fpc/lazarus.nix { fpc = fpc; }; @@ -15003,8 +14997,6 @@ with pkgs; microscheme = callPackage ../development/compilers/microscheme { }; - millet = callPackage ../development/tools/millet {}; - mint = callPackage ../development/compilers/mint { }; mitama-cpp-result = callPackage ../development/libraries/mitama-cpp-result { }; @@ -15556,7 +15548,6 @@ with pkgs; coursier = coursier.override { jre = jdk8; }; }; - metals = callPackage ../development/tools/metals { }; scalafix = callPackage ../development/tools/scalafix { jre = jre8; # TODO: remove override https://github.com/NixOS/nixpkgs/pull/89731 }; @@ -16582,7 +16573,47 @@ with pkgs; ansible-doctor = with python3.pkgs; toPythonApplication ansible-doctor; - ansible-language-server = callPackage ../development/tools/ansible-language-server { }; + ### DEVELOPMENT / TOOLS / LANGUAGE-SERVERS + + ansible-language-server = callPackage ../development/tools/language-servers/ansible-language-server { }; + + beancount-language-server = callPackage ../development/tools/language-servers/beancount-language-server { }; + + buf-language-server = callPackage ../development/tools/language-servers/buf-language-server { }; + + ccls = callPackage ../development/tools/language-servers/ccls { + llvmPackages = llvmPackages_latest; + }; + + fortls = python3.pkgs.callPackage ../development/tools/language-servers/fortls { }; + + fortran-language-server = python3.pkgs.callPackage ../development/tools/language-servers/fortran-language-server { }; + + gopls = callPackage ../development/tools/language-servers/gopls { }; + + jdt-language-server = callPackage ../development/tools/language-servers/jdt-language-server { }; + + jsonnet-language-server = callPackage ../development/tools/language-servers/jsonnet-language-server { }; + + kotlin-language-server = callPackage ../development/tools/language-servers/kotlin-language-server { }; + + metals = callPackage ../development/tools/language-servers/metals { }; + + millet = callPackage ../development/tools/language-servers/millet { }; + + nil = callPackage ../development/tools/language-servers/nil { }; + + rnix-lsp = callPackage ../development/tools/language-servers/rnix-lsp { nix = nixVersions.nix_2_9; }; + + sumneko-lua-language-server = darwin.apple_sdk_11_0.callPackage ../development/tools/language-servers/sumneko-lua-language-server { + inherit (darwin.apple_sdk_11_0.frameworks) CoreFoundation Foundation; + }; + + svls = callPackage ../development/tools/language-servers/svls { }; + + vala-language-server = callPackage ../development/tools/language-servers/vala-language-server { }; + + verible = callPackage ../development/tools/language-servers/verible { }; ansible-later = with python3.pkgs; toPythonApplication ansible-later; @@ -17070,10 +17101,6 @@ with pkgs; cpplint = callPackage ../development/tools/analysis/cpplint { }; - ccls = callPackage ../development/tools/misc/ccls { - llvmPackages = llvmPackages_latest; - }; - credstash = with python3Packages; toPythonApplication credstash; creduce = callPackage ../development/tools/misc/creduce { @@ -17313,10 +17340,6 @@ with pkgs; fprettify = callPackage ../development/tools/fprettify { }; - fortls = python3.pkgs.callPackage ../development/tools/fortls { }; - - fortran-language-server = python3.pkgs.callPackage ../development/tools/fortran-language-server { }; - framac = callPackage ../development/tools/analysis/frama-c { }; frame = callPackage ../development/libraries/frame { }; @@ -17749,8 +17772,6 @@ with pkgs; nap = callPackage ../development/tools/nap { }; - nil = callPackage ../development/tools/nil { }; - ninja = callPackage ../development/tools/build-managers/ninja { }; nimbo = with python3Packages; callPackage ../applications/misc/nimbo { }; @@ -17996,8 +18017,6 @@ with pkgs; rman = callPackage ../development/tools/misc/rman { }; - rnix-lsp = callPackage ../development/tools/rnix-lsp { nix = nixVersions.nix_2_9; }; - rnginline = with python3Packages; toPythonApplication rnginline; rolespec = callPackage ../development/tools/misc/rolespec { }; @@ -18174,8 +18193,6 @@ with pkgs; svlint = callPackage ../development/tools/analysis/svlint { }; - svls = callPackage ../development/tools/misc/svls { }; - swarm = callPackage ../development/tools/analysis/swarm { }; swiftformat = callPackage ../development/tools/swiftformat { }; @@ -18302,8 +18319,6 @@ with pkgs; vagrant = callPackage ../development/tools/vagrant {}; - vala-language-server = callPackage ../development/tools/vala-language-server {}; - bashdb = callPackage ../development/tools/misc/bashdb { }; gdb = callPackage ../development/tools/misc/gdb { @@ -20090,8 +20105,6 @@ with pkgs; jsonnet-bundler = callPackage ../development/tools/jsonnet-bundler { }; - jsonnet-language-server = callPackage ../development/tools/jsonnet-language-server { }; - jrsonnet = callPackage ../development/compilers/jrsonnet { }; go-jsonnet = callPackage ../development/compilers/go-jsonnet { }; @@ -25864,8 +25877,6 @@ with pkgs; gomodifytags = callPackage ../development/tools/gomodifytags { }; - gopls = callPackage ../development/tools/gopls { }; - gops = callPackage ../development/tools/gops { }; gore = callPackage ../development/tools/gore { }; @@ -26772,8 +26783,6 @@ with pkgs; iwona = callPackage ../data/fonts/iwona { }; - jdt-language-server = callPackage ../development/tools/jdt-language-server {}; - jetbrains-mono = callPackage ../data/fonts/jetbrains-mono { }; jost = callPackage ../data/fonts/jost { }; @@ -34003,8 +34012,6 @@ with pkgs; beancount-black = with python3.pkgs; toPythonApplication beancount-black; - beancount-language-server = callPackage ../development/tools/beancount-language-server {}; - bean-add = callPackage ../applications/office/beancount/bean-add.nix { }; bench = haskell.lib.compose.justStaticExecutables haskellPackages.bench; @@ -37545,10 +37552,6 @@ with pkgs; sqsh = callPackage ../development/tools/sqsh { }; - sumneko-lua-language-server = darwin.apple_sdk_11_0.callPackage ../development/tools/sumneko-lua-language-server { - inherit (darwin.apple_sdk_11_0.frameworks) CoreFoundation Foundation; - }; - sysz = callPackage ../tools/misc/sysz { }; go-swag = callPackage ../development/tools/go-swag { }; -- cgit 1.4.1