From 47d3b98b4b3f52e862fe62186ec5dcbb0a233202 Mon Sep 17 00:00:00 2001 From: adisbladis Date: Sat, 3 Aug 2019 20:48:11 +0100 Subject: melpa-packages: Add ability to ovveride melpa JSON archive location This enables using the melpa json generator in an overlay --- .../editors/emacs-modes/melpa-packages.nix | 482 +++++++++++---------- .../editors/emacs-modes/melpa-stable-packages.nix | 235 ---------- pkgs/top-level/emacs-packages.nix | 30 +- 3 files changed, 281 insertions(+), 466 deletions(-) delete mode 100644 pkgs/applications/editors/emacs-modes/melpa-stable-packages.nix (limited to 'pkgs') diff --git a/pkgs/applications/editors/emacs-modes/melpa-packages.nix b/pkgs/applications/editors/emacs-modes/melpa-packages.nix index 7f8ac548653..5f05d3b2695 100644 --- a/pkgs/applications/editors/emacs-modes/melpa-packages.nix +++ b/pkgs/applications/editors/emacs-modes/melpa-packages.nix @@ -12,124 +12,115 @@ env NIXPKGS_ALLOW_BROKEN=1 nix-instantiate --show-trace ../../../../ -A emacsPac */ -{ lib, external }: +{ lib, external }: variant: self: let -self: - - let - inherit (import ./libgenerated.nix lib self) melpaDerivation; - imported = lib.listToAttrs (map (melpaDerivation "unstable") - (lib.importJSON ./recipes-archive-melpa.json)); - super = builtins.removeAttrs imported [ - "swbuff-x" # required dependency swbuff is missing - ]; - - dontConfigure = pkg: pkg.override (args: { - melpaBuild = drv: args.melpaBuild (drv // { - configureScript = "true"; - }); + dontConfigure = pkg: if pkg != null then pkg.override (args: { + melpaBuild = drv: args.melpaBuild (drv // { + configureScript = "true"; }); + }) else null; - markBroken = pkg: pkg.override (args: { - melpaBuild = drv: args.melpaBuild (drv // { - meta = (drv.meta or {}) // { broken = true; }; - }); + markBroken = pkg: if pkg != null then pkg.override (args: { + melpaBuild = drv: args.melpaBuild (drv // { + meta = (drv.meta or {}) // { broken = true; }; }); + }) else null; - overrides = { - # Expects bash to be at /bin/bash - ac-rtags = markBroken super.ac-rtags; + generateMelpa = lib.makeOverridable ({ + archiveJson ? ./recipes-archive-melpa.json + }: let - # upstream issue: mismatched filename - ack-menu = markBroken super.ack-menu; + inherit (import ./libgenerated.nix lib self) melpaDerivation; + super = lib.listToAttrs (map (melpaDerivation variant) (lib.importJSON archiveJson)); - airline-themes = super.airline-themes.override { - inherit (self.melpaPackages) powerline; - }; + generic = import ./melpa-generic.nix; - # upstream issue: missing file header - bufshow = markBroken super.bufshow; + overrides = rec { + shared = { + # Expects bash to be at /bin/bash + ac-rtags = markBroken super.ac-rtags; - # part of a larger package - caml = dontConfigure super.caml; + airline-themes = super.airline-themes.override { + inherit (self.melpaPackages) powerline; + }; - # Expects bash to be at /bin/bash - company-rtags = markBroken super.company-rtags; + # upstream issue: missing file header + bufshow = markBroken super.bufshow; - easy-kill-extras = super.easy-kill-extras.override { - inherit (self.melpaPackages) easy-kill; - }; + # part of a larger package + caml = dontConfigure super.caml; - editorconfig = super.editorconfig.overrideAttrs (attrs: { - propagatedUserEnvPkgs = [ external.editorconfig-core-c ]; - }); + # Expects bash to be at /bin/bash + company-rtags = markBroken super.company-rtags; - egg = super.egg.overrideAttrs (attrs: { - # searches for Git at build time - nativeBuildInputs = - (attrs.nativeBuildInputs or []) ++ [ external.git ]; - }); + easy-kill-extras = super.easy-kill-extras.override { + inherit (self.melpaPackages) easy-kill; + }; - # upstream issue: missing file header - elmine = markBroken super.elmine; + # upstream issue: missing file header + elmine = markBroken super.elmine; - ess-R-data-view = super.ess-R-data-view.override { - inherit (self.melpaPackages) ess ctable popup; - }; + evil-magit = super.evil-magit.overrideAttrs (attrs: { + # searches for Git at build time + nativeBuildInputs = + (attrs.nativeBuildInputs or []) ++ [ external.git ]; + }); - evil-magit = super.evil-magit.overrideAttrs (attrs: { - # searches for Git at build time - nativeBuildInputs = - (attrs.nativeBuildInputs or []) ++ [ external.git ]; - }); + ess-R-data-view = super.ess-R-data-view.override { + inherit (self.melpaPackages) ess ctable popup; + }; - # missing dependencies - evil-search-highlight-persist = super.evil-search-highlight-persist.overrideAttrs (attrs: { - packageRequires = with self; [ evil highlight ]; - }); + # Expects bash to be at /bin/bash + flycheck-rtags = markBroken super.flycheck-rtags; - # Expects bash to be at /bin/bash - flycheck-rtags = markBroken super.flycheck-rtags; + # build timeout + graphene = markBroken super.graphene; - forge = super.forge.overrideAttrs (attrs: { - # searches for Git at build time - nativeBuildInputs = - (attrs.nativeBuildInputs or []) ++ [ external.git ]; - }); + # Build same version as Haskell package + hindent = super.hindent.overrideAttrs (attrs: { + version = external.hindent.version; + src = external.hindent.src; + packageRequires = [ self.haskell-mode ]; + propagatedUserEnvPkgs = [ external.hindent ]; + }); - # build timeout - graphene = markBroken super.graphene; + # upstream issue: missing file header + ido-complete-space-or-hyphen = markBroken super.ido-complete-space-or-hyphen; - # upstream issue: mismatched filename - helm-lobsters = markBroken super.helm-lobsters; + # upstream issue: missing file header + initsplit = markBroken super.initsplit; - # Expects bash to be at /bin/bash - helm-rtags = markBroken super.helm-rtags; + # tries to write a log file to $HOME + insert-shebang = super.insert-shebang.overrideAttrs (attrs: { + HOME = "/tmp"; + }); - # Build same version as Haskell package - hindent = super.hindent.overrideAttrs (attrs: { - version = external.hindent.version; - src = external.hindent.src; - packageRequires = [ self.haskell-mode ]; - propagatedUserEnvPkgs = [ external.hindent ]; - }); + # Expects bash to be at /bin/bash + ivy-rtags = markBroken super.ivy-rtags; - # upstream issue: missing file header - ido-complete-space-or-hyphen = markBroken super.ido-complete-space-or-hyphen; + # upstream issue: missing file header + jsfmt = markBroken super.jsfmt; - # upstream issue: missing file header - initsplit = super.initsplit; + # upstream issue: missing file header + maxframe = markBroken super.maxframe; - # tries to write a log file to $HOME - insert-shebang = super.insert-shebang.overrideAttrs (attrs: { - HOME = "/tmp"; - }); + magit = super.magit.overrideAttrs (attrs: { + # searches for Git at build time + nativeBuildInputs = + (attrs.nativeBuildInputs or []) ++ [ external.git ]; + }); - # Expects bash to be at /bin/bash - ivy-rtags = markBroken super.ivy-rtags; + magit-todos = super.magit-todos.overrideAttrs (attrs: { + # searches for Git at build time + nativeBuildInputs = + (attrs.nativeBuildInputs or []) ++ [ external.git ]; + }); - # upstream issue: missing file header - jsfmt = markBroken super.jsfmt; + magit-filenotify = super.magit-filenotify.overrideAttrs (attrs: { + # searches for Git at build time + nativeBuildInputs = + (attrs.nativeBuildInputs or []) ++ [ external.git ]; + }); kubernetes = super.kubernetes.overrideAttrs (attrs: { # searches for Git at build time @@ -138,169 +129,224 @@ self: }); # upstream issue: missing file header - maxframe = markBroken super.maxframe; + mhc = super.mhc.override { + inherit (self.melpaPackages) calfw; + }; - magit = - super.magit.overrideAttrs (attrs: { - # searches for Git at build time + # missing .NET + nemerle = markBroken super.nemerle; + + # part of a larger package + notmuch = dontConfigure super.notmuch; + + # missing OCaml + ocp-indent = markBroken super.ocp-indent; + + # upstream issue: missing file header + qiita = markBroken super.qiita; + + # upstream issue: missing file header + speech-tagger = markBroken super.speech-tagger; + + # upstream issue: missing file header + stgit = markBroken super.stgit; + + # upstream issue: missing file header + tawny-mode = markBroken super.tawny-mode; + + # upstream issue: missing file header + textmate = markBroken super.textmate; + + # missing OCaml + utop = markBroken super.utop; + + vdiff-magit = super.vdiff-magit.overrideAttrs (attrs: { nativeBuildInputs = (attrs.nativeBuildInputs or []) ++ [ external.git ]; }); - magit-annex = super.magit-annex.overrideAttrs (attrs: { - # searches for Git at build time - nativeBuildInputs = - (attrs.nativeBuildInputs or []) ++ [ external.git ]; - }); + # upstream issue: missing file header + voca-builder = markBroken super.voca-builder; + + # upstream issue: missing file header + window-numbering = markBroken super.window-numbering; + + # Map legacy renames from emacs2nix since code generation was ported to emacs lisp + _0blayout = super."0blayout"; + _0xc = super."0xc"; + _2048-game = super."2048-game"; + _4clojure = super."4clojure"; + at = super."@"; + desktop-plus = super."desktop+"; + ghub-plus = super."ghub+"; + git-gutter-plus = super."git-gutter+"; + git-gutter-fringe-plus = super."git-gutter-fringe+"; + ido-completing-read-plus = super."ido-completing-read+"; + image-plus = super."image+"; + image-dired-plus = super."image-dired+"; + markdown-mode-plus = super."markdown-mode+"; + package-plus = super."package+"; + rect-plus = super."rect+"; + term-plus = super."term+"; + term-plus-key-intercept = super."term+key-intercept"; + term-plus-mux = super."term+mux"; + xml-plus = super."xml+"; + }; - magit-gitflow = super.magit-gitflow.overrideAttrs (attrs: { - # searches for Git at build time - nativeBuildInputs = - (attrs.nativeBuildInputs or []) ++ [ external.git ]; - }); + stable = { + # part of a larger package + # upstream issue: missing package version + cmake-mode = markBroken (dontConfigure super.cmake-mode); - magithub = super.magithub.overrideAttrs (attrs: { - # searches for Git at build time - nativeBuildInputs = - (attrs.nativeBuildInputs or []) ++ [ external.git ]; - }); + # upstream issue: missing file header + connection = markBroken super.connection; - magit-svn = super.magit-svn.overrideAttrs (attrs: { - # searches for Git at build time - nativeBuildInputs = - (attrs.nativeBuildInputs or []) ++ [ external.git ]; - }); + # upstream issue: missing file header + dictionary = markBroken super.dictionary; - magit-todos = super.magit-todos.overrideAttrs (attrs: { - # searches for Git at build time - nativeBuildInputs = - (attrs.nativeBuildInputs or []) ++ [ external.git ]; - }); + # missing git + egg = markBroken super.egg; - magit-filenotify = super.magit-filenotify.overrideAttrs (attrs: { - # searches for Git at build time - nativeBuildInputs = - (attrs.nativeBuildInputs or []) ++ [ external.git ]; - }); + # upstream issue: missing dependency redshank + emr = markBroken super.emr; - mhc = super.mhc.override { - inherit (self.melpaPackages) calfw; - }; + # upstream issue: doesn't build + eterm-256color = markBroken super.eterm-256color; - # missing .NET - nemerle = markBroken super.nemerle; + # upstream issue: missing dependency highlight + evil-search-highlight-persist = markBroken super.evil-search-highlight-persist; - # part of a larger package - notmuch = dontConfigure super.notmuch; + # upstream issue: missing dependency highlight + floobits = markBroken super.floobits; - # missing OCaml - ocp-indent = markBroken super.ocp-indent; + # missing OCaml + flycheck-ocaml = markBroken super.flycheck-ocaml; - orgit = - (super.orgit.overrideAttrs (attrs: { - # searches for Git at build time - nativeBuildInputs = - (attrs.nativeBuildInputs or []) ++ [ external.git ]; - })); + # upstream issue: missing dependency + fold-dwim-org = markBroken super.fold-dwim-org; - # tries to write to $HOME - php-auto-yasnippets = super.php-auto-yasnippets.overrideAttrs (attrs: { - HOME = "/tmp"; - }); + # build timeout + graphene = markBroken super.graphene; - # upstream issue: mismatched filename - processing-snippets = markBroken super.processing-snippets; + # Expects bash to be at /bin/bash + helm-rtags = markBroken super.helm-rtags; - # upstream issue: missing file header - qiita = markBroken super.qiita; + # upstream issue: missing file header + link = markBroken super.link; - racer = super.racer.overrideAttrs (attrs: { - postPatch = attrs.postPatch or "" + '' - substituteInPlace racer.el \ - --replace /usr/local/src/rust/src ${external.rustPlatform.rustcSrc} - ''; - }); + # missing OCaml + merlin = markBroken super.merlin; - # upstream issue: missing file footer - seoul256-theme = markBroken super.seoul256-theme; + # upstream issue: missing file header + po-mode = markBroken super.po-mode; - spaceline = super.spaceline.override { - inherit (self.melpaPackages) powerline; + # upstream issue: truncated file + powershell = markBroken super.powershell; }; - # upstream issue: missing file header - speech-tagger = markBroken super.speech-tagger; + unstable = shared // { + # upstream issue: mismatched filename + ack-menu = markBroken super.ack-menu; - # upstream issue: missing file header - stgit = markBroken super.stgit; + editorconfig = super.editorconfig.overrideAttrs (attrs: { + propagatedUserEnvPkgs = [ external.editorconfig-core-c ]; + }); - # upstream issue: missing file header - tawny-mode = markBroken super.tawny-mode; + egg = super.egg.overrideAttrs (attrs: { + # searches for Git at build time + nativeBuildInputs = + (attrs.nativeBuildInputs or []) ++ [ external.git ]; + }); - # upstream issue: missing file header - textmate = markBroken super.textmate; + # missing dependencies + evil-search-highlight-persist = super.evil-search-highlight-persist.overrideAttrs (attrs: { + packageRequires = with self; [ evil highlight ]; + }); - treemacs-magit = super.treemacs-magit.overrideAttrs (attrs: { - # searches for Git at build time - nativeBuildInputs = - (attrs.nativeBuildInputs or []) ++ [ external.git ]; - }); + forge = super.forge.overrideAttrs (attrs: { + # searches for Git at build time + nativeBuildInputs = + (attrs.nativeBuildInputs or []) ++ [ external.git ]; + }); + + # upstream issue: mismatched filename + helm-lobsters = markBroken super.helm-lobsters; - # missing OCaml - utop = markBroken super.utop; + # Expects bash to be at /bin/bash + helm-rtags = markBroken super.helm-rtags; - vdiff-magit = - (super.vdiff-magit.overrideAttrs (attrs: { + magit-annex = super.magit-annex.overrideAttrs (attrs: { + # searches for Git at build time nativeBuildInputs = (attrs.nativeBuildInputs or []) ++ [ external.git ]; - })); + }); - # upstream issue: missing file header - voca-builder = markBroken super.voca-builder; + magit-gitflow = super.magit-gitflow.overrideAttrs (attrs: { + # searches for Git at build time + nativeBuildInputs = + (attrs.nativeBuildInputs or []) ++ [ external.git ]; + }); - # upstream issue: missing file header - window-numbering = markBroken super.window-numbering; - - w3m = super.w3m.override (args: { - melpaBuild = drv: args.melpaBuild (drv // { - prePatch = - let w3m = "${lib.getBin external.w3m}/bin/w3m"; in '' - substituteInPlace w3m.el \ - --replace 'defcustom w3m-command nil' \ - 'defcustom w3m-command "${w3m}"' - ''; + magithub = super.magithub.overrideAttrs (attrs: { + # searches for Git at build time + nativeBuildInputs = + (attrs.nativeBuildInputs or []) ++ [ external.git ]; }); - }); - # Map legacy renames from emacs2nix since code generation was ported to emacs lisp - _0blayout = super."0blayout"; - _0xc = super."0xc"; - _2048-game = super."2048-game"; - _4clojure = super."4clojure"; - at = super."@"; - desktop-plus = super."desktop+"; - # filesets-plus = super."filesets+"; - ghub-plus = super."ghub+"; - git-gutter-plus = super."git-gutter+"; - git-gutter-fringe-plus = super."git-gutter-fringe+"; - ido-completing-read-plus = super."ido-completing-read+"; - image-plus = super."image+"; - image-dired-plus = super."image-dired+"; - markdown-mode-plus = super."markdown-mode+"; - package-plus = super."package+"; - rect-plus = super."rect+"; - term-plus = super."term+"; - term-plus-key-intercept = super."term+key-intercept"; - term-plus-mux = super."term+mux"; - xml-plus = super."xml+"; + magit-svn = super.magit-svn.overrideAttrs (attrs: { + # searches for Git at build time + nativeBuildInputs = + (attrs.nativeBuildInputs or []) ++ [ external.git ]; + }); + + orgit = + (super.orgit.overrideAttrs (attrs: { + # searches for Git at build time + nativeBuildInputs = + (attrs.nativeBuildInputs or []) ++ [ external.git ]; + })); + + # tries to write to $HOME + php-auto-yasnippets = super.php-auto-yasnippets.overrideAttrs (attrs: { + HOME = "/tmp"; + }); + + # upstream issue: mismatched filename + processing-snippets = markBroken super.processing-snippets; + + racer = super.racer.overrideAttrs (attrs: { + postPatch = attrs.postPatch or "" + '' + substituteInPlace racer.el \ + --replace /usr/local/src/rust/src ${external.rustPlatform.rustcSrc} + ''; + }); + + # upstream issue: missing file footer + seoul256-theme = markBroken super.seoul256-theme; + + spaceline = super.spaceline.override { + inherit (self.melpaPackages) powerline; + }; + treemacs-magit = super.treemacs-magit.overrideAttrs (attrs: { + # searches for Git at build time + nativeBuildInputs = + (attrs.nativeBuildInputs or []) ++ [ external.git ]; + }); + + w3m = super.w3m.override (args: { + melpaBuild = drv: args.melpaBuild (drv // { + prePatch = + let w3m = "${lib.getBin external.w3m}/bin/w3m"; in '' + substituteInPlace w3m.el \ + --replace 'defcustom w3m-command nil' \ + 'defcustom w3m-command "${w3m}"' + ''; + }); + }); + }; }; - melpaPackages = - removeAttrs (super // overrides) - [ - "show-marks" # missing dependency: fm - "lenlen-theme" # missing dependency: color-theme-solarized - ]; - in - melpaPackages // { inherit melpaPackages; } + in super // overrides."${variant}"); + +in generateMelpa { } diff --git a/pkgs/applications/editors/emacs-modes/melpa-stable-packages.nix b/pkgs/applications/editors/emacs-modes/melpa-stable-packages.nix deleted file mode 100644 index 8f52f2d3489..00000000000 --- a/pkgs/applications/editors/emacs-modes/melpa-stable-packages.nix +++ /dev/null @@ -1,235 +0,0 @@ -/* - -# Updating - -To update the list of packages from MELPA, - - -1. Run ./update-melpa -2. Check for evaluation errors: -env NIXPKGS_ALLOW_BROKEN=1 nix-instantiate --show-trace ../../../../ -A emacsPackagesNg.melpaStablePackages -env NIXPKGS_ALLOW_BROKEN=1 nix-instantiate --show-trace ../../../../ -A emacsPackagesNg.melpaPackages -3. `git commit -m "melpa-packages: $(date -Idate)" recipes-archive-melpa.json` - -*/ - -{ lib, external }: - -self: - - let - inherit (import ./libgenerated.nix lib self) melpaDerivation; - imported = lib.listToAttrs (map (melpaDerivation "stable") - (lib.importJSON ./recipes-archive-melpa.json)); - super = imported; - - dontConfigure = pkg: pkg.override (args: { - melpaBuild = drv: args.melpaBuild (drv // { - configureScript = "true"; - }); - }); - - markBroken = pkg: if pkg != null then pkg.override (args: { - melpaBuild = drv: args.melpaBuild (drv // { - meta = (drv.meta or {}) // { broken = true; }; - }); - }) else null; - - overrides = { - # Expects bash to be at /bin/bash - ac-rtags = markBroken super.ac-rtags; - - airline-themes = super.airline-themes.override { - inherit (self.melpaPackages) powerline; - }; - - # upstream issue: missing file header - bufshow = markBroken super.bufshow; - - # part of a larger package - caml = dontConfigure super.caml; - - # part of a larger package - # upstream issue: missing package version - cmake-mode = markBroken (dontConfigure super.cmake-mode); - - # Expects bash to be at /bin/bash - company-rtags = markBroken super.company-rtags; - - # upstream issue: missing file header - connection = markBroken super.connection; - - # upstream issue: missing file header - dictionary = markBroken super.dictionary; - - easy-kill-extras = super.easy-kill-extras.override { - inherit (self.melpaPackages) easy-kill; - }; - - # missing git - egg = markBroken super.egg; - - # upstream issue: missing file header - elmine = markBroken super.elmine; - - # upstream issue: missing dependency redshank - emr = markBroken super.emr; - - ess-R-data-view = super.ess-R-data-view.override { - inherit (self.melpaPackages) ess ctable popup; - }; - - # upstream issue: doesn't build - eterm-256color = markBroken super.eterm-256color; - - # upstream issue: missing dependency highlight - evil-search-highlight-persist = markBroken super.evil-search-highlight-persist; - - # upstream issue: missing dependency highlight - floobits = markBroken super.floobits; - - # missing OCaml - flycheck-ocaml = markBroken super.flycheck-ocaml; - - # Expects bash to be at /bin/bash - flycheck-rtags = markBroken super.flycheck-rtags; - - # upstream issue: missing dependency - fold-dwim-org = markBroken super.fold-dwim-org; - - # build timeout - graphene = markBroken super.graphene; - - # Expects bash to be at /bin/bash - helm-rtags = markBroken super.helm-rtags; - - # Build same version as Haskell package - hindent = super.hindent.overrideAttrs (attrs: { - version = external.hindent.version; - src = external.hindent.src; - packageRequires = [ self.haskell-mode ]; - propagatedUserEnvPkgs = [ external.hindent ]; - }); - - # upstream issue: missing file header - ido-complete-space-or-hyphen = markBroken super.ido-complete-space-or-hyphen; - - # upstream issue: missing file header - initsplit = markBroken super.initsplit; - - # upstream issue: recipe fails - insert-shebang = markBroken super.insert-shebang; - - # Expects bash to be at /bin/bash - ivy-rtags = markBroken super.ivy-rtags; - - # upstream issue: missing file header - jsfmt = markBroken super.jsfmt; - - # upstream issue: missing file header - link = markBroken super.link; - - # upstream issue: missing file header - maxframe = markBroken super.maxframe; - - magit = - (super.magit.override { - # version of magit-popup needs to match magit - # https://github.com/magit/magit/issues/3286 - inherit (self.melpaStablePackages) magit-popup; - }).overrideAttrs (attrs: { - # searches for Git at build time - nativeBuildInputs = - (attrs.nativeBuildInputs or []) ++ [ external.git ]; - }); - - magit-todos = super.magit-todos.overrideAttrs (attrs: { - # searches for Git at build time - nativeBuildInputs = - (attrs.nativeBuildInputs or []) ++ [ external.git ]; - }); - - magit-filenotify = super.magit-filenotify.overrideAttrs (attrs: { - # searches for Git at build time - nativeBuildInputs = - (attrs.nativeBuildInputs or []) ++ [ external.git ]; - }); - - # missing OCaml - merlin = markBroken super.merlin; - - mhc = super.mhc.override { - inherit (self.melpaPackages) calfw; - }; - - # missing .NET - nemerle = markBroken super.nemerle; - - # part of a larger package - notmuch = dontConfigure super.notmuch; - - # missing OCaml - ocp-indent = markBroken super.ocp-indent; - - # upstream issue: missing file header - po-mode = markBroken super.po-mode; - - # upstream issue: truncated file - powershell = markBroken super.powershell; - - # upstream issue: missing file header - qiita = markBroken super.qiita; - - # upstream issue: missing file header - speech-tagger = markBroken super.speech-tagger; - - # upstream issue: missing file header - stgit = markBroken super.stgit; - - # upstream issue: missing file header - tawny-mode = markBroken super.tawny-mode; - - # upstream issue: missing file header - textmate = markBroken super.textmate; - - # missing OCaml - utop = markBroken super.utop; - - vdiff-magit = - (super.vdiff-magit.overrideAttrs (attrs: { - nativeBuildInputs = - (attrs.nativeBuildInputs or []) ++ [ external.git ]; - })); - - # upstream issue: missing file header - voca-builder = markBroken super.voca-builder; - - # upstream issue: missing file header - window-numbering = markBroken super.window-numbering; - - # Map legacy renames from emacs2nix since code generation was ported to emacs lisp - _0blayout = super."0blayout"; - _0xc = super."0xc"; - _2048-game = super."2048-game"; - _4clojure = super."4clojure"; - at = super."@"; - desktop-plus = super."desktop+"; - ghub-plus = super."ghub+"; - git-gutter-plus = super."git-gutter+"; - git-gutter-fringe-plus = super."git-gutter-fringe+"; - ido-completing-read-plus = super."ido-completing-read+"; - image-plus = super."image+"; - image-dired-plus = super."image-dired+"; - markdown-mode-plus = super."markdown-mode+"; - package-plus = super."package+"; - rect-plus = super."rect+"; - term-plus = super."term+"; - term-plus-key-intercept = super."term+key-intercept"; - term-plus-mux = super."term+mux"; - xml-plus = super."xml+"; - - }; - - melpaStablePackages = super // overrides; - in - melpaStablePackages // { inherit melpaStablePackages; } diff --git a/pkgs/top-level/emacs-packages.nix b/pkgs/top-level/emacs-packages.nix index e1b93954448..23e00708949 100644 --- a/pkgs/top-level/emacs-packages.nix +++ b/pkgs/top-level/emacs-packages.nix @@ -49,13 +49,18 @@ let inherit lib stdenv texinfo; }; - melpaStablePackages = import ../applications/editors/emacs-modes/melpa-stable-packages.nix { + # Contains both melpa stable & unstable + melpaGeneric = import ../applications/editors/emacs-modes/melpa-packages.nix { inherit external lib; }; - melpaPackages = import ../applications/editors/emacs-modes/melpa-packages.nix { - inherit external lib; - }; + melpaStablePackages = self: let + m = melpaGeneric "stable" self; + in {melpaStablePackages = m;} // m; + + melpaPackages = self: let + m = melpaGeneric "unstable" self; + in {melpaPackages = m;} // m; orgPackages = import ../applications/editors/emacs-modes/org-packages.nix { }; @@ -455,12 +460,11 @@ let }; -in - lib.makeScope newScope (self: - {} - // elpaPackages self - // melpaStablePackages self - // melpaPackages self - // orgPackages self - // packagesFun self - ) +in lib.makeScope newScope (self: + removeAttrs ({} + // elpaPackages self + // melpaStablePackages self + // melpaPackages self + // orgPackages self + // packagesFun self) [ "override" "overrideDerivation" ] +) -- cgit 1.4.1