From 8c08052cc0dd800c1f6ad868dc29d5be45890566 Mon Sep 17 00:00:00 2001 From: Anderson Torres Date: Fri, 19 Jul 2024 10:07:46 -0300 Subject: [PATCH 1/2] emacsPackages.lspce: rework - detach Rust module to module.nix - trivialBuild -> melpaBuild - updateScript - adopt (by AndersonTorres) Co-authored-by: Lin Jian --- .../manual-packages/lspce/default.nix | 69 +++++-------------- .../manual-packages/lspce/module.nix | 40 +++++++++++ 2 files changed, 59 insertions(+), 50 deletions(-) create mode 100644 pkgs/applications/editors/emacs/elisp-packages/manual-packages/lspce/module.nix 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 index 97a9bea4f96c..78325d90bf78 100644 --- a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/lspce/default.nix +++ b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/lspce/default.nix @@ -1,65 +1,34 @@ -{ lib -, emacs -, f -, fetchFromGitHub -, markdown-mode -, rustPlatform -, trivialBuild -, yasnippet +{ + lib, + callPackage, + f, + markdown-mode, + melpaBuild, + nix-update-script, + yasnippet, }: let - version = "1.0.0-unstable-2024-02-03"; - - src = fetchFromGitHub { - owner = "zbelial"; - repo = "lspce"; - rev = "543dcf0ea9e3ff5c142c4365d90b6ae8dc27bd15"; - hash = "sha256-LZWRQOKkTjNo8jecBRholW9SHpiK0SWcV8yObojpvxo="; - }; - - meta = { - homepage = "https://github.com/zbelial/lspce"; - description = "LSP Client for Emacs implemented as a module using rust"; - license = lib.licenses.gpl3Only; - maintainers = [ ]; - inherit (emacs.meta) platforms; - }; - - lspce-module = rustPlatform.buildRustPackage { - inherit version src meta; - pname = "lspce-module"; - - cargoHash = "sha256-W9rsi7o4KvyRoG/pqRKOBbJtUoSW549Sh8+OV9sLcxs="; - - checkFlags = [ - # flaky test - "--skip=msg::tests::serialize_request_with_null_params" - ]; - - postInstall = '' - mkdir -p $out/share/emacs/site-lisp - for f in $out/lib/*; do - mv $f $out/share/emacs/site-lisp/lspce-module.''${f##*.} - done - rmdir $out/lib - ''; - }; + lspce-module = callPackage ./module.nix { }; in -trivialBuild rec { - inherit version src meta; +melpaBuild { pname = "lspce"; + inherit (lspce-module) version src meta; - buildInputs = propagatedUserEnvPkgs; - - propagatedUserEnvPkgs = [ + packageRequires = [ f markdown-mode yasnippet - lspce-module ]; + # to compile lspce.el, it needs lspce-module.so + files = ''(:defaults "${lib.getLib lspce-module}/lib/lspce-module.*")''; + passthru = { inherit lspce-module; + updateScript = nix-update-script { + attrPath = "emacsPackages.lspce.lspce-module"; + extraArgs = [ "--version=branch" ]; + }; }; } diff --git a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/lspce/module.nix b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/lspce/module.nix new file mode 100644 index 000000000000..0302b7b2692a --- /dev/null +++ b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/lspce/module.nix @@ -0,0 +1,40 @@ +{ + lib, + fetchFromGitHub, + rustPlatform, +}: + +rustPlatform.buildRustPackage { + pname = "lspce-module"; + version = "1.1.0-unstable-2024-02-03"; + + src = fetchFromGitHub { + owner = "zbelial"; + repo = "lspce"; + rev = "543dcf0ea9e3ff5c142c4365d90b6ae8dc27bd15"; + hash = "sha256-LZWRQOKkTjNo8jecBRholW9SHpiK0SWcV8yObojpvxo="; + }; + + cargoHash = "sha256-pjDh7epCjqVN+QMzOIwujJ2MmNYS08QcVy/2VxGZsb0="; + + checkFlags = [ + # flaky test + "--skip=msg::tests::serialize_request_with_null_params" + ]; + + # rename module without changing either suffix or location + # use for loop because there seems to be two modules on darwin systems + # https://github.com/zbelial/lspce/issues/7#issue-1783708570 + postInstall = '' + for f in $out/lib/*; do + mv --verbose $f $out/lib/lspce-module.''${f##*.} + done + ''; + + meta = { + homepage = "https://github.com/zbelial/lspce"; + description = "LSP Client for Emacs implemented as a module using Rust"; + license = lib.licenses.gpl3Only; + maintainers = with lib.maintainers; [ AndersonTorres ]; + }; +} From 92ebcc173ea133f996ed0c389cd3e42ab250910b Mon Sep 17 00:00:00 2001 From: Anderson Torres Date: Fri, 19 Jul 2024 10:12:56 -0300 Subject: [PATCH 2/2] emacsPackages.lspce: 1.0.0-unstable-2024-02-03 -> 1.1.0-unstable-2024-07-13 --- .../emacs/elisp-packages/manual-packages/lspce/module.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/lspce/module.nix b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/lspce/module.nix index 0302b7b2692a..10f25af5ba40 100644 --- a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/lspce/module.nix +++ b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/lspce/module.nix @@ -6,16 +6,16 @@ rustPlatform.buildRustPackage { pname = "lspce-module"; - version = "1.1.0-unstable-2024-02-03"; + version = "1.1.0-unstable-2024-07-13"; src = fetchFromGitHub { owner = "zbelial"; repo = "lspce"; - rev = "543dcf0ea9e3ff5c142c4365d90b6ae8dc27bd15"; - hash = "sha256-LZWRQOKkTjNo8jecBRholW9SHpiK0SWcV8yObojpvxo="; + rev = "01b77a4f544a912409857083842db51a20bfdbf3"; + hash = "sha256-oew5EujNYGjk/agBw3ECAVe7GZl8rw/4M5t32JM+1T8="; }; - cargoHash = "sha256-pjDh7epCjqVN+QMzOIwujJ2MmNYS08QcVy/2VxGZsb0="; + cargoHash = "sha256-YLcSaFHsm/Iw7Q3y/YkfdbYKUPW0DRmaZnZ1A9vKR14="; checkFlags = [ # flaky test