diff --git a/pkgs/applications/editors/emacs/elisp-packages/melpa-packages.nix b/pkgs/applications/editors/emacs/elisp-packages/melpa-packages.nix index 6b3e93aa9754..0530af85cde0 100644 --- a/pkgs/applications/editors/emacs/elisp-packages/melpa-packages.nix +++ b/pkgs/applications/editors/emacs/elisp-packages/melpa-packages.nix @@ -31,11 +31,16 @@ in { lib, pkgs }: variant: self: let inherit (import ./lib-override-helper.nix pkgs lib) + addPackageRequires + addPackageRequiresIfOlder buildWithGit dontConfigure externalSrc fix-rtags + fixRequireHelmCore + ignoreCompilationError markBroken + mkHome ; generateMelpa = lib.makeOverridable ({ archiveJson ? defaultArchive @@ -131,7 +136,7 @@ let } // { # Expects bash to be at /bin/bash - ac-rtags = fix-rtags super.ac-rtags; + ac-rtags = ignoreCompilationError (fix-rtags super.ac-rtags); # elisp error age = super.age.overrideAttrs (attrs: { postPatch = attrs.postPatch or "" + '' @@ -144,7 +149,8 @@ let inherit (self.melpaPackages) powerline; }; - auto-complete-clang-async = super.auto-complete-clang-async.overrideAttrs (old: { + # https://github.com/Golevka/emacs-clang-complete-async/issues/90 + auto-complete-clang-async = (addPackageRequires super.auto-complete-clang-async [ self.auto-complete ]).overrideAttrs (old: { buildInputs = old.buildInputs ++ [ pkgs.llvmPackages.llvm ]; CFLAGS = "-I${pkgs.llvmPackages.libclang.lib}/include"; LDFLAGS = "-L${pkgs.llvmPackages.libclang.lib}/lib"; @@ -157,7 +163,7 @@ let # upstream issue: missing package version cmake-mode = dontConfigure super.cmake-mode; - company-rtags = fix-rtags super.company-rtags; + company-rtags = ignoreCompilationError (fix-rtags super.company-rtags); # elisp error easy-kill-extras = super.easy-kill-extras.override { inherit (self.melpaPackages) easy-kill; @@ -226,7 +232,7 @@ let inherit (self.melpaPackages) ess ctable popup; }; - flycheck-rtags = fix-rtags super.flycheck-rtags; + flycheck-rtags = ignoreCompilationError (fix-rtags super.flycheck-rtags); # elisp error pdf-tools = super.pdf-tools.overrideAttrs (old: { # Temporary work around for: @@ -313,7 +319,7 @@ let HOME = "/tmp"; }); - ivy-rtags = fix-rtags super.ivy-rtags; + ivy-rtags = ignoreCompilationError (fix-rtags super.ivy-rtags); # elisp error jinx = super.jinx.overrideAttrs (old: let libExt = pkgs.stdenv.hostPlatform.extensions.sharedLibrary; @@ -392,7 +398,7 @@ let magit-tbdiff = buildWithGit super.magit-tbdiff; - magit-topgit = buildWithGit super.magit-topgit; + magit-topgit = ignoreCompilationError (buildWithGit super.magit-topgit); # elisp error magit-vcsh = buildWithGit super.magit-vcsh; @@ -406,7 +412,7 @@ let magit-gitflow = buildWithGit super.magit-gitflow; - magithub = buildWithGit super.magithub; + magithub = ignoreCompilationError (buildWithGit super.magithub); # elisp error magit-svn = buildWithGit super.magit-svn; @@ -426,9 +432,7 @@ let jist = buildWithGit super.jist; - mandoku = buildWithGit super.mandoku; - - mandoku-tls = buildWithGit super.mandoku-tls; + mandoku = addPackageRequires super.mandoku [ self.git ]; # upstream is archived magit-p4 = buildWithGit super.magit-p4; @@ -465,7 +469,8 @@ let }); # upstream issue: missing file header - mhc = super.mhc.override { + # elisp error + mhc = (ignoreCompilationError super.mhc).override { inherit (self.melpaPackages) calfw; }; @@ -482,7 +487,7 @@ let ''; }); - rtags = dontConfigure (externalSrc super.rtags pkgs.rtags); + rtags = ignoreCompilationError (dontConfigure (externalSrc super.rtags pkgs.rtags)); # elisp error rtags-xref = dontConfigure super.rtags; @@ -496,12 +501,21 @@ let ''; }); - shm = super.shm.overrideAttrs (attrs: { - propagatedUserEnvPkgs = [ pkgs.haskellPackages.structured-haskell-mode ]; - }); + # https://github.com/projectional-haskell/structured-haskell-mode/issues/165 + shm = + (addPackageRequires super.shm [ + self.haskell-mode + self.hindent + ]).overrideAttrs + (attrs: { + propagatedUserEnvPkgs = attrs.propagatedUserEnvPkgs or [ ] ++ [ + pkgs.haskellPackages.structured-haskell-mode + ]; + }); # Telega has a server portion for it's network protocol - telega = super.telega.overrideAttrs (old: { + # elisp error + telega = (ignoreCompilationError super.telega).overrideAttrs (old: { buildInputs = old.buildInputs ++ [ pkgs.tdlib ]; nativeBuildInputs = old.nativeBuildInputs ++ [ pkgs.pkg-config ]; @@ -640,7 +654,7 @@ let ]; }); - helm-rtags = fix-rtags super.helm-rtags; + helm-rtags = ignoreCompilationError (fix-rtags super.helm-rtags); # elisp error # tries to write to $HOME php-auto-yasnippets = super.php-auto-yasnippets.overrideAttrs (attrs: { @@ -718,6 +732,809 @@ let ''; }) else super.osx-dictionary; + + abgaben = addPackageRequires (mkHome super.abgaben) [ self.mu4e ]; + + # https://github.com/afroisalreadyinu/abl-mode/issues/9 + abl-mode = addPackageRequires super.abl-mode [ self.f ]; + + ac-php-core = super.ac-php-core.overrideAttrs (old: { + # empty file causing native-compiler-error-empty-byte + preBuild = + '' + rm --verbose ac-php-comm-tags-data.el + '' + + old.preBuild or ""; + }); + + # Optimizer error: too much on the stack + ack-menu = ignoreCompilationError super.ack-menu; + + # https://github.com/gongo/airplay-el/issues/2 + airplay = addPackageRequires super.airplay [ self.request-deferred ]; + + # https://github.com/melpa/melpa/pull/9185 + alectryon = super.alectryon.overrideAttrs (old: { + preBuild = + old.preBuild or "" + + "\n" + + '' + rm --recursive --verbose etc/elisp/screenshot + ''; + }); + + # https://github.com/gergelypolonkai/alert-termux/issues/2 + alert-termux = addPackageRequires super.alert-termux [ self.alert ]; + + # https://github.com/magnars/angular-snippets.el/issues/7 + angular-snippets = addPackageRequires super.angular-snippets [ self.yasnippet ]; + + # https://github.com/ragone/asx/pull/3 + asx = addPackageRequires super.asx [ self.request ]; + + auctex-cluttex = mkHome super.auctex-cluttex; + + auctex-latexmk = mkHome super.auctex-latexmk; + + auto-indent-mode = ignoreCompilationError super.auto-indent-mode; # elisp error + + # missing optional dependencies + auto-complete-auctex = addPackageRequires (mkHome super.auto-complete-auctex) [ self.auctex ]; + + # depends on distel which is not on any ELPA https://github.com/massemanet/distel/issues/21 + auto-complete-distel = ignoreCompilationError super.auto-complete-distel; + + aws-ec2 = ignoreCompilationError super.aws-ec2; # elisp error + + badger-theme = ignoreCompilationError super.badger-theme; # elisp error + + # https://github.com/BinaryAnalysisPlatform/bap-mode/pull/4 + bap-mode = fixRequireHelmCore (addPackageRequires super.bap-mode [ self.helm-core ]); + + # try to open non-existent ~/.emacs.d/.blog_minimal.config during compilation + blog-minimal = ignoreCompilationError super.blog-minimal; + + boa-mode = ignoreCompilationError super.boa-mode; # elisp error + + # missing optional dependencies + boogie-friends = addPackageRequires super.boogie-friends [ self.lsp-mode ]; + + # https://github.com/melpa/melpa/pull/9181 + bpr = super.bpr.overrideAttrs (old: { + preBuild = + old.preBuild or "" + + "\n" + + '' + rm --verbose --force test-bpr.el + ''; + }); + + bts = ignoreCompilationError super.bts; # elisp error + + bts-github = ignoreCompilationError super.bts-github; # elisp error + + buffer-buttons = ignoreCompilationError super.buffer-buttons; # elisp error + + # https://github.com/kiwanami/emacs-calfw/pull/106 + calfw-cal = addPackageRequires super.calfw-cal [ self.calfw ]; + + # https://github.com/kiwanami/emacs-calfw/pull/106 + calfw-gcal = addPackageRequires super.calfw-gcal [ self.calfw ]; + + # https://github.com/kiwanami/emacs-calfw/pull/106 + calfw-howm = addPackageRequires super.calfw-howm [ + self.calfw + self.howm + ]; + + # https://github.com/kiwanami/emacs-calfw/pull/106 + calfw-ical = addPackageRequires super.calfw-ical [ self.calfw ]; + + # https://github.com/kiwanami/emacs-calfw/pull/106 + calfw-org = addPackageRequires super.calfw-org [ self.calfw ]; + + cardano-tx = ignoreCompilationError super.cardano-tx; # elisp error + + cardano-wallet = ignoreCompilationError super.cardano-wallet; # elisp error + + # elisp error and missing optional dependencies + cask-package-toolset = ignoreCompilationError super.cask-package-toolset; + + # missing optional dependencies + chee = addPackageRequires super.chee [ self.helm ]; + + cheerilee = ignoreCompilationError super.cheerilee; # elisp error + + # elisp error and missing optional dependencies + # one optional dependency spark is removed in https://github.com/melpa/melpa/pull/9151 + chronometrist = ignoreCompilationError super.chronometrist; + + # https://github.com/melpa/melpa/pull/9184 + chronometrist-key-values = super.chronometrist-key-values.overrideAttrs (old: { + recipe = '' + (chronometrist-key-values :fetcher git :url "" + :files (:defaults "elisp/chronometrist-key-values.*")) + ''; + }); + + # https://github.com/atilaneves/cmake-ide/issues/176 + cmake-ide = addPackageRequires super.cmake-ide [ self.dash ]; + + code-review = ignoreCompilationError super.code-review; # elisp error + + codesearch = super.codesearch.overrideAttrs ( + finalAttrs: previousAttrs: { + patches = + if lib.versionOlder finalAttrs.version "20240827.805" then + previousAttrs.patches or [ ] + ++ [ + (pkgs.fetchpatch { + name = "remove-unused-dash.patch"; + url = "https://github.com/abingham/emacs-codesearch/commit/bd24a152ab6ea9f69443ae8e5b7351bb2f990fb6.patch"; + hash = "sha256-cCHY8Ak2fHuuhymjSF7w2MLPDJa84mBUdKg27mB9yto="; + }) + ] + else + previousAttrs.patches or null; + } + ); + + # https://github.com/hying-caritas/comint-intercept/issues/2 + comint-intercept = addPackageRequires super.comint-intercept [ self.vterm ]; + + company-auctex = mkHome super.company-auctex; + + # depends on distel which is not on any ELPA https://github.com/massemanet/distel/issues/21 + company-distel = ignoreCompilationError super.company-distel; + + # qmltypes-table.el causing native-compiler-error-empty-byte + company-qml = ignoreCompilationError super.company-qml; + + # https://github.com/neuromage/ycm.el/issues/6 + company-ycm = ignoreCompilationError (addPackageRequires super.company-ycm [ self.company ]); + + composable = ignoreCompilationError super.composable; # elisp error + + # missing optional dependencies + conda = addPackageRequires super.conda [ self.projectile ]; + + counsel-gtags = ignoreCompilationError super.counsel-gtags; # elisp error + + # https://github.com/fuxialexander/counsel-notmuch/issues/3 + counsel-notmuch = addPackageRequires super.counsel-notmuch [ self.counsel ]; + + # needs dbus during compilation + counsel-spotify = ignoreCompilationError super.counsel-spotify; + + creole = ignoreCompilationError super.creole; # elisp error + + cssh = ignoreCompilationError super.cssh; # elisp error + + dap-mode = super.dap-mode.overrideAttrs (old: { + # empty file causing native-compiler-error-empty-byte + preBuild = + '' + rm --verbose dapui.el + '' + + old.preBuild or ""; + }); + + db-pg = ignoreCompilationError super.db-pg; # elisp error + + describe-number = ignoreCompilationError super.describe-number; # elisp error + + # missing optional dependencies: text-translator, not on any ELPA + dic-lookup-w3m = ignoreCompilationError super.dic-lookup-w3m; + + # https://github.com/nlamirault/dionysos/issues/17 + dionysos = addPackageRequires super.dionysos [ self.f ]; + + # https://github.com/emacsorphanage/dired-k/issues/48 + # missing optional dependencies + dired-k = addPackageRequires super.dired-k [ self.direx ]; + + # depends on distel which is not on any ELPA https://github.com/massemanet/distel/issues/21 + distel-completion-lib = ignoreCompilationError super.distel-completion-lib; + + django-mode = ignoreCompilationError super.django-mode; # elisp error + + # elisp error and missing optional dependencies + drupal-mode = ignoreCompilationError super.drupal-mode; + + e2wm-pkgex4pl = ignoreCompilationError super.e2wm-pkgex4pl; # elisp error + + ecb = ignoreCompilationError super.ecb; # elisp error + + # Optimizer error: too much on the stack + edit-color-stamp = ignoreCompilationError super.edit-color-stamp; + + edts = ignoreCompilationError (mkHome super.edts); # elisp error + + eimp = super.eimp.overrideAttrs (old: { + postPatch = + old.postPatch or "" + + "\n" + + '' + substituteInPlace eimp.el --replace-fail \ + '(defcustom eimp-mogrify-program "mogrify"' \ + '(defcustom eimp-mogrify-program "${pkgs.imagemagick}/bin/mogrify"' + ''; + }); + + ein = ignoreCompilationError super.ein; # elisp error + + # missing optional dependencies + ejc-sql = addPackageRequires super.ejc-sql [ + self.auto-complete + self.company + ]; + + # missing optional dependencies + ekg = addPackageRequires super.ekg [ self.denote ]; + + elisp-sandbox = ignoreCompilationError super.elisp-sandbox; # elisp error + + elnode = ignoreCompilationError super.elnode; # elisp error + + elscreen = super.elscreen.overrideAttrs (old: { + patches = old.patches or [ ] ++ [ + (pkgs.fetchpatch { + name = "do-not-require-unneeded-wl.patch"; + url = "https://github.com/knu/elscreen/pull/34/commits/2ffbeb11418d1b98809909c389e7010666d511fd.patch"; + hash = "sha256-7JoDGtFECZEkB3xmMBXZcx6oStkEV06soiqOkDevWtM="; + }) + ]; + }); + + el-secretario-mu4e = addPackageRequires super.el-secretario-mu4e [ self.mu4e ]; + + embark-vc = buildWithGit super.embark-vc; + + # https://github.com/nubank/emidje/issues/23 + emidje = addPackageRequires super.emidje [ self.pkg-info ]; + + # depends on later-do which is not on any ELPA + emms-player-simple-mpv = ignoreCompilationError super.emms-player-simple-mpv; + emms-player-mpv-jp-radios = ignoreCompilationError super.emms-player-mpv-jp-radios; + + enotify = ignoreCompilationError super.enotify; # elisp error + + # https://github.com/leathekd/ercn/issues/6 + ercn = addPackageRequires super.ercn [ self.dash ]; + + # missing optional dependencies + eval-in-repl = addPackageRequires super.eval-in-repl ( + with self; + [ + alchemist + cider + elm-mode + erlang + geiser + hy-mode + elixir-mode + js-comint + lua-mode + tuareg + racket-mode + inf-ruby + slime + sly + sml-mode + ] + ); + + # elisp error and missing dependencies + evalator = ignoreCompilationError super.evalator; + + evalator-clojure = ignoreCompilationError super.evalator-clojure; # elisp error + + # https://github.com/PythonNut/evil-easymotion/issues/74 + evil-easymotion = addPackageRequires super.evil-easymotion [ self.evil ]; + + evil-mu4e = addPackageRequires super.evil-mu4e [ self.mu4e ]; + + # https://github.com/VanLaser/evil-nl-break-undo/issues/2 + evil-nl-break-undo = addPackageRequiresIfOlder super.evil-nl-break-undo [ + self.evil + ] "20240921.953"; + + evil-python-movement = ignoreCompilationError super.evil-python-movement; # elisp error + + evil-tex = mkHome super.evil-tex; + + # Error: Bytecode overflow + ewal-doom-themes = ignoreCompilationError super.ewal-doom-themes; + + # https://github.com/agzam/exwm-edit/issues/32 + exwm-edit = addPackageRequires super.exwm-edit [ self.exwm ]; + + # https://github.com/syl20bnr/flymake-elixir/issues/4 + flymake-elixir = addPackageRequires super.flymake-elixir [ self.flymake-easy ]; + + flyparens = ignoreCompilationError super.flyparens; # elisp error + + fold-dwim-org = ignoreCompilationError super.fold-dwim-org; # elisp error + + # https://github.com/melpa/melpa/pull/9182 + frontside-javascript = super.frontside-javascript.overrideAttrs (old: { + preBuild = + old.preBuild or "" + + "\n" + + '' + rm --verbose packages/javascript/test-suppport.el + ''; + }); + + fxrd-mode = ignoreCompilationError super.fxrd-mode; # elisp error + + # missing optional dependencies + gap-mode = addPackageRequires super.gap-mode [ + self.company + self.flycheck + ]; + + gh-notify = buildWithGit super.gh-notify; + + # https://github.com/nlamirault/emacs-gitlab/issues/68 + gitlab = addPackageRequires super.gitlab [ self.f ]; + + # TODO report to upstream + global-tags = addPackageRequires super.global-tags [ self.s ]; + + go = ignoreCompilationError super.go; # elisp error + + graphene = ignoreCompilationError super.graphene; # elisp error + + greader = ignoreCompilationError super.greader; # elisp error + + # TODO report to upstream + guix = addPackageRequires super.guix [ self.geiser-guile ]; + + # missing optional dependencies + gumshoe = addPackageRequires super.gumshoe [ self.perspective ]; + + helm-chrome-control = super.helm-chrome-control.overrideAttrs (old: { + patches = old.patches or [ ] ++ [ + (pkgs.fetchpatch { + name = "require-helm-core-instead-of-helm.patch"; + url = "https://github.com/xuchunyang/helm-chrome-control/pull/2/commits/7765cd2483adef5cfa6cf77f52259ad6e1dd0daf.patch"; + hash = "sha256-tF+IaICbveYJvd3Tjx52YBBztpjifZdCA4O+Z2r1M3s="; + }) + ]; + }); + + # https://github.com/xuchunyang/helm-chrome-history/issues/3 + helm-chrome-history = fixRequireHelmCore super.helm-chrome-history; + + helm-cider = ignoreCompilationError super.helm-cider; # elisp error + + helm-ext = ignoreCompilationError super.helm-ext; # elisp error + + # https://github.com/iory/emacs-helm-ghs/issues/1 + helm-ghs = addPackageRequires super.helm-ghs [ self.helm-ghq ]; + + # https://github.com/maio/helm-git/issues/7 + helm-git = addPackageRequires super.helm-git [ + self.helm + self.magit + ]; + + # TODO report to upstream + helm-flycheck = fixRequireHelmCore super.helm-flycheck; + + # https://github.com/yasuyk/helm-git-grep/issues/54 + helm-git-grep = addPackageRequires super.helm-git-grep [ self.helm ]; + + # https://github.com/yasuyk/helm-go-package/issues/8 + helm-go-package = fixRequireHelmCore super.helm-go-package; + + # https://github.com/torgeir/helm-js-codemod.el/pull/1 + helm-js-codemod = fixRequireHelmCore super.helm-js-codemod; + + helm-kythe = ignoreCompilationError super.helm-kythe; # elisp error + + # https://github.com/emacs-jp/helm-migemo/issues/8 + helm-migemo = addPackageRequiresIfOlder super.helm-migemo [ self.helm ] "20240921.1550"; + + helm-mu = addPackageRequires super.helm-mu [ self.mu4e ]; + + # https://github.com/xuchunyang/helm-osx-app/pull/1 + helm-osx-app = addPackageRequires super.helm-osx-app [ self.helm ]; + + # https://github.com/cosmicexplorer/helm-rg/issues/36 + helm-rg = ignoreCompilationError super.helm-rg; # elisp error + + # https://github.com/yasuyk/helm-spaces/issues/1 + helm-spaces = fixRequireHelmCore super.helm-spaces; + + hideshow-org = ignoreCompilationError super.hideshow-org; # elisp error + + # https://github.com/purcell/hippie-expand-slime/issues/2 + hippie-expand-slime = addPackageRequires super.hippie-expand-slime [ self.slime ]; + + hyperbole = ignoreCompilationError (addPackageRequires (mkHome super.hyperbole) [ self.el-mock ]); # elisp error + + # needs non-existent "browser database directory" during compilation + # TODO report to upsteam about missing dependency websocket + ibrowse = ignoreCompilationError (addPackageRequires super.ibrowse [ self.websocket ]); + + # elisp error and missing optional dependencies + identica-mode = ignoreCompilationError super.identica-mode; + + # missing optional dependencies + idris-mode = addPackageRequires super.idris-mode [ self.flycheck ]; + + imbot = ignoreCompilationError super.imbot; # elisp error + + indium = mkHome super.indium; + + # TODO report to upsteam + inlineR = addPackageRequires super.inlineR [ self.ess ]; + + # https://github.com/duelinmarkers/insfactor.el/issues/7 + insfactor = addPackageRequires super.insfactor [ self.cider ]; + + # https://github.com/wandersoncferreira/ivy-clojuredocs/issues/5 + ivy-clojuredocs = addPackageRequires super.ivy-clojuredocs [ self.parseedn ]; + + # TODO report to upstream + jack-connect = addPackageRequires super.jack-connect [ self.dash ]; + + jdee = ignoreCompilationError super.jdee; # elisp error + + # https://github.com/fred-o/jekyll-modes/issues/6 + jekyll-modes = addPackageRequires super.jekyll-modes [ self.poly-markdown ]; + + jss = ignoreCompilationError super.jss; # elisp error + + # missing optional dependencies: vterm or eat + julia-snail = addPackageRequires super.julia-snail [ self.eat ]; + + kite = ignoreCompilationError super.kite; # elisp error + + # missing optional dependencies + laas = addPackageRequires super.laas [ self.math-symbol-lists ]; + + latex-change-env = mkHome super.latex-change-env; + + latex-extra = mkHome super.latex-extra; + + latex-table-wizard = mkHome super.latex-table-wizard; + + leaf-defaults = ignoreCompilationError super.leaf-defaults; # elisp error + + # https://github.com/abo-abo/lispy/pull/683 + # missing optional dependencies + lispy = addPackageRequires (mkHome super.lispy) [ self.indium ]; + + # missing optional dependencies + magik-mode = addPackageRequires super.magik-mode [ + self.auto-complete + self.flycheck + ]; + + # missing optional dependencies + magnatune = addPackageRequires super.magnatune [ self.helm ]; + + major-mode-icons = ignoreCompilationError super.major-mode-icons; # elisp error + + malinka = ignoreCompilationError super.malinka; # elisp error + + mastodon = ignoreCompilationError super.mastodon; # elisp error + + # https://github.com/org2blog/org2blog/issues/339 + metaweblog = addPackageRequires super.metaweblog [ self.xml-rpc ]; + + mu-cite = ignoreCompilationError super.mu-cite; # elisp error + + mu4e-alert = addPackageRequires super.mu4e-alert [ self.mu4e ]; + + mu4e-column-faces = addPackageRequires super.mu4e-column-faces [ self.mu4e ]; + + mu4e-conversation = addPackageRequires super.mu4e-conversation [ self.mu4e ]; + + mu4e-jump-to-list = addPackageRequires super.mu4e-jump-to-list [ self.mu4e ]; + + mu4e-marker-icons = addPackageRequires super.mu4e-marker-icons [ self.mu4e ]; + + mu4e-overview = addPackageRequires super.mu4e-overview [ self.mu4e ]; + + mu4e-query-fragments = addPackageRequires super.mu4e-query-fragments [ self.mu4e ]; + + mu4e-views = addPackageRequires super.mu4e-views [ self.mu4e ]; + + # https://github.com/magnars/multifiles.el/issues/9 + multifiles = addPackageRequires super.multifiles [ self.dash ]; + + # missing optional dependencies + mykie = addPackageRequires super.mykie [ self.helm ]; + + myrddin-mode = ignoreCompilationError super.myrddin-mode; # elisp error + + nand2tetris = super.nand2tetris.overrideAttrs (old: { + patches = old.patches or [ ] ++ [ + (pkgs.fetchpatch { + name = "remove-unneeded-require.patch"; + url = "https://github.com/CestDiego/nand2tetris.el/pull/16/commits/d06705bf52f3cf41f55498d88fe15a1064bc2cfa.patch"; + hash = "sha256-8OJXN9MuwBbL0afus53WroIxtIzHY7Bryv5ZGcS/inI="; + }) + ]; + }); + + # elisp error and missing dependency spamfilter which is not on any ELPA + navi2ch = ignoreCompilationError super.navi2ch; + + navorski = super.navorski.overrideAttrs (old: { + patches = old.patches or [ ] ++ [ + (pkgs.fetchpatch { + name = "stop-using-assoc.patch"; + url = "https://github.com/roman/navorski.el/pull/12/commits/b7b6c331898cae239c176346ac87c8551b1e0c72.patch"; + hash = "sha256-CZxOSGuJXATonHMSLGCzO4kOlQqRAOcNNq0i4Qh21y8="; + }) + ]; + }); + + # empty tools/ncl-mode-keywords.el causing native-compiler-error-empty-byte + ncl-mode = ignoreCompilationError super.ncl-mode; + + # missing optional dependencies + netease-cloud-music = addPackageRequires super.netease-cloud-music [ self.async ]; + + nim-mode = ignoreCompilationError super.nim-mode; # elisp error + + noctilux-theme = ignoreCompilationError super.noctilux-theme; # elisp error + + # https://github.com/nicferrier/emacs-noflet/issues/12 + noflet = ignoreCompilationError super.noflet; # elisp error + + norns = ignoreCompilationError super.norns; # elisp error + + # missing optional dependencies + nu-mode = addPackageRequires super.nu-mode [ self.evil ]; + + # try to open non-existent ~/.emacs.d/.chatgpt-shell.el during compilation + ob-chatgpt-shell = ignoreCompilationError super.ob-chatgpt-shell; + + org-change = ignoreCompilationError super.org-change; # elisp error + + org-edit-latex = mkHome super.org-edit-latex; + + org-gnome = ignoreCompilationError super.org-gnome; # elisp error + + org-gtd = ignoreCompilationError super.org-gtd; # elisp error + + # needs newer org than the Eamcs 29.4 builtin one + org-link-beautify = addPackageRequires super.org-link-beautify [ self.org ]; + + # TODO report to upstream + org-kindle = addPackageRequires super.org-kindle [ self.dash ]; + + org-special-block-extras = ignoreCompilationError super.org-special-block-extras; # elisp error + + org-trello = ignoreCompilationError super.org-trello; # elisp error + + # Optimizer error: too much on the stack + orgnav = ignoreCompilationError super.orgnav; + + org-noter = super.org-noter.overrideAttrs ( + finalAttrs: previousAttrs: { + patches = + if lib.versionOlder finalAttrs.version "20240915.344" then + previousAttrs.patches or [ ] + ++ [ + (pkgs.fetchpatch { + name = "catch-error-for-optional-dep-org-roam.patch"; + url = "https://github.com/org-noter/org-noter/commit/761c551ecc88fec57e840d346c6af5f5b94591d5.patch"; + hash = "sha256-Diw9DgjANDWu6CBMOlRaihQLOzeAr7VcJPZT579dpYU="; + }) + ] + else + previousAttrs.patches or null; + } + ); + + org-noter-pdftools = mkHome super.org-noter-pdftools; + + # elisp error and missing optional dependencies + org-ref = ignoreCompilationError super.org-ref; + + # missing optional dependencies + org-roam-bibtex = addPackageRequires super.org-roam-bibtex [ + self.helm-bibtex + self.ivy-bibtex + ]; + + org-pdftools = mkHome super.org-pdftools; + + org-projectile = super.org-projectile.overrideAttrs ( + finalAttrs: previousAttrs: { + # https://github.com/melpa/melpa/pull/9150 + preBuild = + if lib.versionOlder finalAttrs.version "20240901.2041" then + '' + rm --verbose org-projectile-helm.el + '' + + previousAttrs.preBuild or "" + else + previousAttrs.preBuild or null; + } + ); + + # https://github.com/colonelpanic8/org-project-capture/issues/66 + org-projectile-helm = addPackageRequires super.org-projectile-helm [ self.helm-org ]; + + # https://github.com/DarwinAwardWinner/mac-pseudo-daemon/issues/9 + osx-pseudo-daemon = addPackageRequiresIfOlder super.osx-pseudo-daemon [ self.mac-pseudo-daemon ] "20240922.2024"; + + # missing optional dependencies + outlook = addPackageRequires super.outlook [ self.mu4e ]; + + pastery = ignoreCompilationError super.pastery; # elisp error + + pgdevenv = ignoreCompilationError super.pgdevenv; # elisp error + + pinot = ignoreCompilationError super.pinot; # elisp error + + # https://github.com/polymode/poly-R/issues/41 + poly-R = addPackageRequires super.poly-R [ self.ess ]; + + # missing optional dependencies: direx e2wm yaol, yaol not on any ELPA + pophint = ignoreCompilationError super.pophint; + + portage-navi = ignoreCompilationError super.portage-navi; # elisp error + + preview-dvisvgm = mkHome super.preview-dvisvgm; + + # https://github.com/micdahl/projectile-trailblazer/issues/4 + projectile-trailblazer = addPackageRequires super.projectile-trailblazer [ self.projectile-rails ]; + + projmake-mode = ignoreCompilationError super.projmake-mode; # elisp error + + # https://github.com/tumashu/pyim-basedict/issues/4 + pyim-basedict = addPackageRequires super.pyim-basedict [ self.pyim ]; + + # TODO report to upstream + realgud-lldb = super.realgud-lldb.overrideAttrs (old: { + preBuild = + old.preBuild or "" + + "\n" + + '' + rm --verbose cask-install.el + ''; + }); + + # empty .yas-compiled-snippets.el causing native-compiler-error-empty-byte + requirejs = ignoreCompilationError super.requirejs; + + rhtml-mode = ignoreCompilationError super.rhtml-mode; # elisp error + + roguel-ike = ignoreCompilationError super.roguel-ike; # elisp error + + rpm-spec-mode = ignoreCompilationError super.rpm-spec-mode; # elisp error + + # https://github.com/emacsfodder/emacs-theme-sakura/issues/1 + sakura-theme = addPackageRequiresIfOlder super.sakura-theme [ self.autothemer ] "20240921.1028"; + + scad-preview = ignoreCompilationError super.scad-preview; # elisp error + + # https://github.com/wanderlust/semi/pull/29 + # missing optional dependencies + semi = addPackageRequires super.semi [ self.bbdb-vcard ]; + + shadchen = ignoreCompilationError super.shadchen; # elisp error + + # missing optional dependencies and one of them (mew) is not on any ELPA + shimbun = ignoreCompilationError ( + addPackageRequires super.shimbun [ + self.apel + self.flim + self.w3m + ] + ); + + slack = mkHome super.slack; + + # https://github.com/ffevotte/slurm.el/issues/14 + slurm-mode = addPackageRequires super.slurm-mode [ + self.dash + self.s + ]; + + smart-tabs-mode = ignoreCompilationError super.smart-tabs-mode; # elisp error + + # needs network during compilation + # https://github.com/md-arif-shaikh/soccer/issues/14 + soccer = ignoreCompilationError (addPackageRequires super.soccer [ self.s ]); + + # elisp error and missing optional dependencies + soundklaus = ignoreCompilationError super.soundklaus; + + # missing optional dependencies + sparql-mode = addPackageRequires super.sparql-mode [ self.company ]; + + speechd-el = ignoreCompilationError super.speechd-el; # elisp error + + spu = ignoreCompilationError super.spu; # elisp error + + # missing optional dependencies + ssh-tunnels = addPackageRequires super.ssh-tunnels [ self.helm ]; + + # https://github.com/brianc/jade-mode/issues/73 + stylus-mode = addPackageRequires super.stylus-mode [ self.sws-mode ]; + + # missing optional dependencies + suggest = addPackageRequires super.suggest [ self.shut-up ]; + + symex = ignoreCompilationError super.symex; # elisp error + + term-alert = mkHome super.term-alert; + + # https://github.com/colonelpanic8/term-manager/issues/9 + term-manager = addPackageRequires super.term-manager [ self.eat ]; + + texfrag = mkHome super.texfrag; + + # https://github.com/Dspil/text-categories/issues/3 + text-categories = addPackageRequiresIfOlder super.text-categories [ self.dash ] "20240921.824"; + + timp = ignoreCompilationError super.timp; # elisp error + + tommyh-theme = ignoreCompilationError super.tommyh-theme; # elisp error + + tramp-hdfs = ignoreCompilationError super.tramp-hdfs; # elisp error + + universal-emotions-emoticons = ignoreCompilationError super.universal-emotions-emoticons; # elisp error + + use-package-el-get = addPackageRequires super.use-package-el-get [ self.el-get ]; + + vala-mode = ignoreCompilationError super.vala-mode; # elisp error + + # needs network during compilation + wandbox = ignoreCompilationError super.wandbox; # needs network + + # optional dependency spamfilter is not on any ELPA + wanderlust = ignoreCompilationError (addPackageRequires super.wanderlust [ self.shimbun ]); + + # https://github.com/nicklanasa/xcode-mode/issues/28 + xcode-mode = addPackageRequires super.xcode-mode [ self.hydra ]; + + weechat = ignoreCompilationError super.weechat; # elisp error + + weechat-alert = ignoreCompilationError super.weechat-alert; # elisp error + + weibo = ignoreCompilationError super.weibo; # elisp error + + xenops = mkHome super.xenops; + + # missing optional dependencies + xmlunicode = addPackageRequires super.xmlunicode [ self.helm ]; + + # https://github.com/canatella/xwwp/issues/18 + xwwp-follow-link-ivy = addPackageRequires super.xwwp-follow-link-ivy [ self.ivy ]; + + # https://github.com/canatella/xwwp/issues/19 + xwwp-follow-link-helm = addPackageRequires super.xwwp-follow-link-helm [ self.helm ]; + + yara-mode = ignoreCompilationError super.yara-mode; # elisp error + + # https://github.com/leanprover-community/yasnippet-lean/issues/6 + yasnippet-lean = addPackageRequires super.yasnippet-lean [ self.lean-mode ]; + + yasnippet-snippets = mkHome super.yasnippet-snippets; + + yatex = ignoreCompilationError super.yatex; # elisp error + + # elisp error and incomplete recipe + ycm = ignoreCompilationError ( + addPackageRequires super.ycm [ + self.flycheck + self.f + ] + ); + + # missing optional dependencies + zotxt = addPackageRequires super.zotxt [ self.org-noter ]; }; in lib.mapAttrs (n: v: if lib.hasAttr n overrides then overrides.${n} else v) super);