From 6ed5ec71bf71e695efe1a6fe285caf681db163be Mon Sep 17 00:00:00 2001 From: Lin Jian Date: Sun, 15 Sep 2024 01:56:08 +0800 Subject: [PATCH] emacs.pkgs.elpaPackages.ada-mode: move to common overrides --- .../elisp-packages/elpa-common-overrides.nix | 45 ++++++++++++++++++- .../elisp-packages/elpa-devel-packages.nix | 2 +- .../emacs/elisp-packages/elpa-packages.nix | 41 +---------------- 3 files changed, 46 insertions(+), 42 deletions(-) diff --git a/pkgs/applications/editors/emacs/elisp-packages/elpa-common-overrides.nix b/pkgs/applications/editors/emacs/elisp-packages/elpa-common-overrides.nix index 88269fb5da14..6115bb81fed3 100644 --- a/pkgs/applications/editors/emacs/elisp-packages/elpa-common-overrides.nix +++ b/pkgs/applications/editors/emacs/elisp-packages/elpa-common-overrides.nix @@ -1,4 +1,4 @@ -pkgs: +pkgs: lib: buildPackages: self: super: @@ -11,6 +11,49 @@ in tle = null; # builtin advice = null; # builtin + # Compilation instructions for the Ada executables: + # https://www.nongnu.org/ada-mode/ + ada-mode = super.ada-mode.overrideAttrs ( + finalAttrs: previousAttrs: { + # actually unpack source of ada-mode and wisi + # which are both needed to compile the tools + # we need at runtime + dontUnpack = false; + srcs = [ + super.ada-mode.src + self.wisi.src + ]; + + sourceRoot = "ada-mode-${finalAttrs.version}"; + + nativeBuildInputs = previousAttrs.nativeBuildInputs or [ ] ++ [ + buildPackages.gnat + buildPackages.gprbuild + buildPackages.dos2unix + buildPackages.re2c + ]; + + buildInputs = previousAttrs.buildInputs or [ ] ++ [ pkgs.gnatPackages.gnatcoll-xref ]; + + buildPhase = '' + runHook preBuild + ./build.sh -j$NIX_BUILD_CORES + runHook postBuild + ''; + + postInstall = + previousAttrs.postInstall or "" + + "\n" + + '' + ./install.sh "$out" + ''; + + meta = previousAttrs.meta // { + maintainers = [ lib.maintainers.sternenseemann ]; + }; + } + ); + # TODO delete this when we get upstream fix https://debbugs.gnu.org/cgi/bugreport.cgi?bug=73241 eglot = super.eglot.overrideAttrs (old: { postInstall = diff --git a/pkgs/applications/editors/emacs/elisp-packages/elpa-devel-packages.nix b/pkgs/applications/editors/emacs/elisp-packages/elpa-devel-packages.nix index eb3476e08261..5f9a2196f9c3 100644 --- a/pkgs/applications/editors/emacs/elisp-packages/elpa-devel-packages.nix +++ b/pkgs/applications/editors/emacs/elisp-packages/elpa-devel-packages.nix @@ -47,7 +47,7 @@ self: let super = imported; - commonOverrides = import ./elpa-common-overrides.nix pkgs; + commonOverrides = import ./elpa-common-overrides.nix pkgs lib buildPackages; overrides = self: super: { }; diff --git a/pkgs/applications/editors/emacs/elisp-packages/elpa-packages.nix b/pkgs/applications/editors/emacs/elisp-packages/elpa-packages.nix index cfe566a7f622..7452d513ef0f 100644 --- a/pkgs/applications/editors/emacs/elisp-packages/elpa-packages.nix +++ b/pkgs/applications/editors/emacs/elisp-packages/elpa-packages.nix @@ -47,7 +47,7 @@ self: let super = imported; - commonOverrides = import ./elpa-common-overrides.nix pkgs; + commonOverrides = import ./elpa-common-overrides.nix pkgs lib buildPackages; overrides = self: super: { # upstream issue: Wrong type argument: arrayp, nil @@ -56,45 +56,6 @@ self: let then markBroken super.org-transclusion else super.org-transclusion; rcirc-menu = markBroken super.rcirc-menu; # Missing file header - # Compilation instructions for the Ada executables: - # https://www.nongnu.org/ada-mode/ - ada-mode = super.ada-mode.overrideAttrs (old: { - # actually unpack source of ada-mode and wisi - # which are both needed to compile the tools - # we need at runtime - dontUnpack = false; - srcs = [ - super.ada-mode.src - self.wisi.src - ]; - - sourceRoot = "ada-mode-${self.ada-mode.version}"; - - nativeBuildInputs = old.nativeBuildInputs ++ [ - buildPackages.gnat - buildPackages.gprbuild - buildPackages.dos2unix - buildPackages.re2c - ]; - - buildInputs = old.buildInputs ++ [ - pkgs.gnatPackages.gnatcoll-xref - ]; - - buildPhase = '' - runHook preBuild - ./build.sh -j$NIX_BUILD_CORES - runHook postBuild - ''; - - postInstall = (old.postInstall or "") + "\n" + '' - ./install.sh "$out" - ''; - - meta = old.meta // { - maintainers = [ lib.maintainers.sternenseemann ]; - }; - }); jinx = super.jinx.overrideAttrs (old: let libExt = pkgs.stdenv.hostPlatform.extensions.sharedLibrary;