From 2155559979388577678b793db3ee0fa81e670a4c Mon Sep 17 00:00:00 2001 From: Kira Bruneau Date: Sun, 12 Mar 2023 09:49:40 -0400 Subject: [PATCH 1/2] maintainers: add fxttr --- maintainers/maintainer-list.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 0fdd8716f6cb..6d0d5f9eaca6 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -5224,6 +5224,12 @@ githubId = 3036816; name = "Edgar Aroutiounian"; }; + fxttr = { + name = "Florian Büstgens"; + email = "fb@fx-ttr.de"; + github = "fxttr"; + githubId = 16306293; + }; fzakaria = { name = "Farid Zakaria"; email = "farid.m.zakaria@gmail.com"; From 861156414d40bf6b3f1b0aabd4b422f1d424e129 Mon Sep 17 00:00:00 2001 From: Kira Bruneau Date: Mon, 6 Mar 2023 19:51:51 -0500 Subject: [PATCH 2/2] emacsPackages.lsp-bridge: init at 20230309.554 --- .../emacs/elisp-packages/manual-packages.nix | 6 ++ .../manual-packages/acm/default.nix | 32 ++++++ .../manual-packages/lsp-bridge/default.nix | 97 +++++++++++++++++++ 3 files changed, 135 insertions(+) create mode 100644 pkgs/applications/editors/emacs/elisp-packages/manual-packages/acm/default.nix create mode 100644 pkgs/applications/editors/emacs/elisp-packages/manual-packages/lsp-bridge/default.nix diff --git a/pkgs/applications/editors/emacs/elisp-packages/manual-packages.nix b/pkgs/applications/editors/emacs/elisp-packages/manual-packages.nix index a7e8721f75b8..be7cf0b192d1 100644 --- a/pkgs/applications/editors/emacs/elisp-packages/manual-packages.nix +++ b/pkgs/applications/editors/emacs/elisp-packages/manual-packages.nix @@ -5,6 +5,8 @@ let inherit (self) callPackage; in { + acm = callPackage ./manual-packages/acm { }; + agda-input = callPackage ./manual-packages/agda-input { }; agda2-mode = callPackage ./manual-packages/agda2-mode { }; @@ -47,6 +49,10 @@ in llvm-mode = callPackage ./manual-packages/llvm-mode { }; + lsp-bridge = callPackage ./manual-packages/lsp-bridge { + inherit (pkgs) python3 git go gopls pyright; + }; + matrix-client = callPackage ./manual-packages/matrix-client { _map = self.map; }; diff --git a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/acm/default.nix b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/acm/default.nix new file mode 100644 index 000000000000..5879865c901e --- /dev/null +++ b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/acm/default.nix @@ -0,0 +1,32 @@ +{ lib +, melpaBuild +, lsp-bridge +, yasnippet +, writeText +}: + +melpaBuild { + pname = "acm"; + version = lsp-bridge.version; + + src = lsp-bridge.src; + commit = lsp-bridge.src.rev; + + packageRequires = [ + yasnippet + ]; + + recipe = writeText "recipe" '' + (acm + :repo "manateelazycat/lsp-bridge" + :fetcher github + :files ("acm/*.el" "acm/icons")) + ''; + + meta = with lib; { + description = "Asynchronous Completion Menu"; + homepage = "https://github.com/manateelazycat/lsp-bridge"; + license = licenses.gpl3Only; + maintainers = with maintainers; [ fxttr kira-bruneau ]; + }; +} diff --git a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/lsp-bridge/default.nix b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/lsp-bridge/default.nix new file mode 100644 index 000000000000..bdfe1ed2c809 --- /dev/null +++ b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/lsp-bridge/default.nix @@ -0,0 +1,97 @@ +{ lib +, python3 +, melpaBuild +, fetchFromGitHub +, substituteAll +, acm +, markdown-mode +, posframe +, git +, go +, gopls +, pyright +, tempel +, writeText +, unstableGitUpdater +}: + +let + rev = "c5dc02f6bd47039c320083b3befac0e569c0efa4"; + python = python3.withPackages (ps: with ps; [ + epc + orjson + sexpdata + six + ]); +in +melpaBuild { + pname = "lsp-bridge"; + version = "20230311.1648"; # 16:48 UTC + + src = fetchFromGitHub { + owner = "manateelazycat"; + repo = "lsp-bridge"; + inherit rev; + sha256 = "sha256-vbSVGPFBjAp4VRbJc6a2W0d2IqOusNa+rk4X6jRcjRI="; + }; + + commit = rev; + + # Hardcode the python dependencies needed for lsp-bridge, so users + # don't have to modify their global environment + postPatch = '' + substituteInPlace lsp-bridge.el --replace \ + '(defcustom lsp-bridge-python-command (if (memq system-type '"'"'(cygwin windows-nt ms-dos)) "python.exe" "python3")' \ + '(defcustom lsp-bridge-python-command "${python.interpreter}"' + ''; + + packageRequires = [ + acm + markdown-mode + posframe + ]; + + buildInputs = [ python ]; + + checkInputs = [ + git + go + gopls + pyright + tempel + ]; + + recipe = writeText "recipe" '' + (lsp-bridge + :repo "manateelazycat/lsp-bridge" + :fetcher github + :files + ("*.el" + "lsp_bridge.py" + "core" + "langserver" + "multiserver" + "resources")) + ''; + + doCheck = true; + checkPhase = '' + runHook preCheck + + cd "$sourceRoot" + mkfifo test.log + cat < test.log & + HOME=$(mktemp -d) python -m test.test + + runHook postCheck + ''; + + passthru.updateScript = unstableGitUpdater { }; + + meta = with lib; { + description = "A blazingly fast LSP client for Emacs"; + homepage = "https://github.com/manateelazycat/lsp-bridge"; + license = licenses.gpl3Only; + maintainers = with maintainers; [ fxttr kira-bruneau ]; + }; +}