summary refs log tree commit diff
path: root/pkgs/applications/editors/emacs/elisp-packages/manual-packages
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/applications/editors/emacs/elisp-packages/manual-packages')
-rw-r--r--pkgs/applications/editors/emacs/elisp-packages/manual-packages/el-easydraw/default.nix45
-rw-r--r--pkgs/applications/editors/emacs/elisp-packages/manual-packages/lsp-bridge/default.nix10
-rw-r--r--pkgs/applications/editors/emacs/elisp-packages/manual-packages/lsp-bridge/hardcode-dependencies.patch22
-rw-r--r--pkgs/applications/editors/emacs/elisp-packages/manual-packages/lspce/default.nix72
-rw-r--r--pkgs/applications/editors/emacs/elisp-packages/manual-packages/notdeft/default.nix75
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;
+  };
+}