diff --git a/flake.nix b/flake.nix index 184c5f06d..506125edd 100644 --- a/flake.nix +++ b/flake.nix @@ -75,6 +75,7 @@ inherit (pkgs) emacs-unstable-pgtk; inherit (pkgs) emacs-git emacs-git-nox; inherit (pkgs) emacs-pgtk; + inherit (pkgs) emacs-igc emacs-igc-pgtk; }; packages = mkEmacsSet pkgs.emacs; diff --git a/overlays/emacs.nix b/overlays/emacs.nix index 1e25d7ef2..365498775 100644 --- a/overlays/emacs.nix +++ b/overlays/emacs.nix @@ -146,6 +146,38 @@ let }; }); + emacs-igc = let base = (mkGitEmacs "emacs-igc" ../repos/emacs/emacs-igc.json) { }; + emacs = emacs-igc; + in + base.overrideAttrs ( + oa: { + buildInputs = oa.buildInputs ++ [ super.mps ]; + configureFlags = oa.configureFlags ++ [ "--with-mps=yes" ]; + patches = oa.patches ++ [ + # XXX: #318 + ./bytecomp-revert.patch + ]; + passthru = oa.passthru // { + pkgs = oa.passthru.pkgs.overrideScope (eself: esuper: { inherit emacs; }); + }; + }); + + emacs-igc-pgtk = let base = (mkGitEmacs "emacs-igc-pgtk" ../repos/emacs/emacs-igc.json) { withPgtk = true; }; + emacs = emacs-igc-pgtk; + in + base.overrideAttrs ( + oa: { + buildInputs = oa.buildInputs ++ [ super.mps ]; + configureFlags = oa.configureFlags ++ [ "--with-mps=yes" ]; + patches = oa.patches ++ [ + # XXX: #318 + ./bytecomp-revert.patch + ]; + passthru = oa.passthru // { + pkgs = oa.passthru.pkgs.overrideScope (eself: esuper: { inherit emacs; }); + }; + }); + emacs-lsp = (mkGitEmacs "emacs-lsp" ../repos/emacs/emacs-lsp.json) { withTreeSitter = false; }; commercial-emacs = (mkGitEmacs "commercial-emacs" ../repos/emacs/commercial-emacs-commercial-emacs.json) { @@ -195,6 +227,8 @@ in inherit commercial-emacs; + inherit emacs-igc emacs-igc-pgtk; + emacsWithPackagesFromUsePackage = import ../elisp.nix { pkgs = self; }; emacsWithPackagesFromPackageRequires = import ../packreq.nix { pkgs = self; }; diff --git a/repos/emacs/emacs-igc.json b/repos/emacs/emacs-igc.json new file mode 100644 index 000000000..914364ed9 --- /dev/null +++ b/repos/emacs/emacs-igc.json @@ -0,0 +1 @@ +{"type": "github", "owner": "emacs-mirror", "repo": "emacs", "rev": "ef194a1e0e96f91dc7a57efcdf8a81ed716d18e0", "sha256": "01bcxx9h1f613byik1kzpky8d3gi3cq337wdmpzwk6ny797impx5", "version": "20250118.0"} diff --git a/repos/emacs/update b/repos/emacs/update index df110bcce..bba9e31ed 100755 --- a/repos/emacs/update +++ b/repos/emacs/update @@ -52,6 +52,7 @@ function update_release() { update_savannah_branch master update_release +update_github_repo emacs-mirror emacs feature/igc igc update_github_repo emacs-lsp emacs json-rpc lsp update_github_repo commercial-emacs commercial-emacs master commercial-emacs