diff options
Diffstat (limited to 'pkgs/applications/editors/emacs/elisp-packages/manual-packages')
5 files changed, 211 insertions, 13 deletions
diff --git a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/el-easydraw/default.nix b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/el-easydraw/default.nix new file mode 100644 index 00000000000..608777208bb --- /dev/null +++ b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/el-easydraw/default.nix @@ -0,0 +1,45 @@ +{ lib +, melpaBuild +, fetchFromGitHub +, writeText +, unstableGitUpdater +, gzip +}: + +let + rev = "de68851724072c6695e675f090b33a8abec040c9"; +in +melpaBuild { + pname = "edraw"; + version = "1.1.0"; + + src = fetchFromGitHub { + owner = "misohena"; + repo = "el-easydraw"; + inherit rev; + hash = "sha256-l9i+HCRKnKiDqID+bfAOPE7LpVBZp1AOPkceX8KbDXM="; + }; + + commit = rev; + + packageRequires = [ gzip ]; + + recipe = writeText "recipe" '' + (edraw + :repo "misohena/el-easydraw" + :fetcher github + :files + ("*.el" + "msg")) + ''; + + passthru.updateScript = unstableGitUpdater { }; + + meta = { + homepage = "https://github.com/misohena/el-easydraw"; + description = "Embedded drawing tool for Emacs"; + license = lib.licenses.gpl3; + maintainers = with lib.maintainers; [ brahyerr ]; + platforms = lib.platforms.all; + }; +} 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 index ae7eb76ee71..2ddd3e0bda3 100644 --- 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 @@ -5,7 +5,6 @@ , substituteAll , acm , markdown-mode -, posframe , git , go , gopls @@ -17,23 +16,25 @@ }: let - rev = "6f93deb32ebb3799dfedd896a17a0428a9b461bb"; + rev = "0b30d95c6de95b150d93ecee325b95e04ff09e46"; python = python3.withPackages (ps: with ps; [ epc orjson + paramiko + rapidfuzz sexpdata six ]); in melpaBuild { pname = "lsp-bridge"; - version = "20230607.135"; # 1:35 UTC + version = "20231021.309"; # 3:09 UTC src = fetchFromGitHub { owner = "manateelazycat"; repo = "lsp-bridge"; inherit rev; - hash = "sha256-4AKKsU+yuLA9qv6mhYPpjBJ8wrbGPMuzN98JXcVPAHg="; + hash = "sha256-hR7bZh0ElJ8F9ToJ4dkazF19T8PE01MTcxKrjeaEp4o="; }; commit = rev; @@ -50,7 +51,6 @@ melpaBuild { packageRequires = [ acm markdown-mode - posframe ]; checkInputs = [ diff --git a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/lsp-bridge/hardcode-dependencies.patch b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/lsp-bridge/hardcode-dependencies.patch index 765a6c71777..2fa57207ec3 100644 --- a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/lsp-bridge/hardcode-dependencies.patch +++ b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/lsp-bridge/hardcode-dependencies.patch @@ -1,18 +1,24 @@ diff --git a/lsp-bridge.el b/lsp-bridge.el -index 3a7ff0b..ea5e496 100644 +index 278c27e..f0c67c2 100644 --- a/lsp-bridge.el +++ b/lsp-bridge.el -@@ -326,13 +326,7 @@ Setting this to nil or 0 will turn off the indicator." +@@ -340,19 +340,7 @@ Setting this to nil or 0 will turn off the indicator." "Name of LSP-Bridge buffer." :type 'string) -(defcustom lsp-bridge-python-command (cond ((memq system-type '(cygwin windows-nt ms-dos)) -- (if (executable-find "pypy3.exe") -- "pypy3.exe" -- "python3.exe")) -- (t (if (executable-find "pypy3") -- "pypy3" -- "python3"))) +- (cond ((executable-find "pypy3.exe") +- "pypy3.exe") +- ((executable-find "python3.exe") +- "python3.exe") +- ((executable-find "python.exe") +- "python.exe"))) +- (t (cond ((executable-find "pypy3") +- "pypy3") +- ((executable-find "python3") +- "python3") +- ((executable-find "python") +- "python")))) +(defcustom lsp-bridge-python-command "@python@" "The Python interpreter used to run lsp_bridge.py." :type 'string) diff --git a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/lspce/default.nix b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/lspce/default.nix new file mode 100644 index 00000000000..29157c80241 --- /dev/null +++ b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/lspce/default.nix @@ -0,0 +1,72 @@ +{ lib +, emacs +, f +, fetchFromGitHub +, markdown-mode +, rustPlatform +, trivialBuild +, yasnippet +}: + +let + version = "unstable-2023-10-30"; + + src = fetchFromGitHub { + owner = "zbelial"; + repo = "lspce"; + rev = "34c59787bcdbf414c92d9b3bf0a0f5306cb98d64"; + hash = "sha256-kUHGdeJo2zXA410FqXGclgXmgWrll30Zv8fSprcmnIo="; + }; + + meta = { + homepage = "https://github.com/zbelial/lspce"; + description = "LSP Client for Emacs implemented as a module using rust"; + license = lib.licenses.gpl3Only; + maintainers = [ lib.maintainers.marsam ]; + inherit (emacs.meta) platforms; + }; + + lspce-module = rustPlatform.buildRustPackage { + inherit version src meta; + pname = "lspce-module"; + + cargoHash = "sha256-eqSromwJrFhtJWedDVJivfbKpAtSFEtuCP098qOxFgI="; + + checkFlags = [ + # flaky test + "--skip=msg::tests::serialize_request_with_null_params" + ]; + + postFixup = '' + for f in $out/lib/*; do + mv $f $out/lib/lspce-module.''${f##*.} + done + ''; + }; +in +trivialBuild rec { + inherit version src meta; + pname = "lspce"; + + preBuild = '' + ln -s ${lspce-module}/lib/lspce-module* . + + # Fix byte-compilation + substituteInPlace lspce-util.el \ + --replace "(require 'yasnippet)" "(require 'yasnippet)(require 'url-util)" + substituteInPlace lspce-calltree.el \ + --replace "(require 'compile)" "(require 'compile)(require 'cl-lib)" + ''; + + buildInputs = propagatedUserEnvPkgs; + + propagatedUserEnvPkgs = [ + f + markdown-mode + yasnippet + ]; + + postInstall = '' + install lspce-module* $LISPDIR + ''; +} diff --git a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/notdeft/default.nix b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/notdeft/default.nix new file mode 100644 index 00000000000..f9af8c465b9 --- /dev/null +++ b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/notdeft/default.nix @@ -0,0 +1,75 @@ +{ lib +, stdenv +, trivialBuild +, fetchFromGitHub +, emacs +, hydra +, ivy +, pkg-config +, tclap +, xapian + # Include pre-configured hydras +, withHydra ? false + # Include Ivy integration +, withIvy ? false +}: + +let + pname = "notdeft"; + version = "20211204.0846"; + + src = fetchFromGitHub { + owner = "hasu"; + repo = "notdeft"; + rev = "1b7054dcfc3547a7cafeb621552cec01d0540478"; + hash = "sha256-LMMLJFVpmoE/y3MqrgY2fmsehmzk6TkLsVoHmFUxiSw="; + }; + + # Xapian bindings for NotDeft + notdeft-xapian = stdenv.mkDerivation { + pname = "notdeft-xapian"; + inherit version src; + + sourceRoot = "${src.name}/xapian"; + + nativeBuildInputs = [ pkg-config tclap xapian ]; + + installPhase = '' + runHook preInstall + + mkdir -p $out/bin + cp notdeft-xapian $out/bin + + runHook postInstall + ''; + }; +in +trivialBuild { + inherit pname version src; + packageRequires = lib.optional withHydra hydra + ++ lib.optional withIvy ivy; + buildInputs = [ xapian ]; + + postPatch = '' + substituteInPlace notdeft-xapian.el \ + --replace 'defcustom notdeft-xapian-program nil' \ + "defcustom notdeft-xapian-program \"${notdeft-xapian}/bin/notdeft-xapian\"" + ''; + + # Extra modules are contained in the extras/ directory + preBuild = lib.optionalString withHydra '' + mv extras/notdeft-{mode-hydra,global-hydra}.el ./ + '' + + lib.optionalString withIvy '' + mv extras/notdeft-ivy.el ./ + '' + '' + rm -r extras/ + ''; + + meta = with lib; { + homepage = "https://tero.hasu.is/notdeft/"; + description = "Fork of Deft that uses Xapian as a search engine"; + maintainers = [ maintainers.nessdoor ]; + platforms = platforms.linux; + }; +} |