diff --git a/pkgs/applications/editors/emacs/elisp-packages/elpa-packages.nix b/pkgs/applications/editors/emacs/elisp-packages/elpa-packages.nix index 02a9a6e6562..69db13fec19 100644 --- a/pkgs/applications/editors/emacs/elisp-packages/elpa-packages.nix +++ b/pkgs/applications/editors/emacs/elisp-packages/elpa-packages.nix @@ -21,7 +21,7 @@ formats commits for you. */ -{ lib, stdenv, texinfo, writeText }: +{ lib, stdenv, texinfo, writeText, gcc }: self: let @@ -32,7 +32,7 @@ self: let }; elpaBuild = import ../../../../build-support/emacs/elpa.nix { - inherit lib stdenv texinfo writeText; + inherit lib stdenv texinfo writeText gcc; inherit (self) emacs; }; diff --git a/pkgs/build-support/emacs/elpa.nix b/pkgs/build-support/emacs/elpa.nix index 41a0670d0c8..965b8d8189a 100644 --- a/pkgs/build-support/emacs/elpa.nix +++ b/pkgs/build-support/emacs/elpa.nix @@ -1,6 +1,6 @@ # builder for Emacs packages built for packages.el -{ lib, stdenv, emacs, texinfo, writeText }: +{ lib, stdenv, emacs, texinfo, writeText, gcc }: with lib; @@ -19,7 +19,7 @@ let in -import ./generic.nix { inherit lib stdenv emacs texinfo writeText; } ({ +import ./generic.nix { inherit lib stdenv emacs texinfo writeText gcc; } ({ phases = "installPhase fixupPhase distPhase"; diff --git a/pkgs/build-support/emacs/generic.nix b/pkgs/build-support/emacs/generic.nix index 1456d9e423d..ef154982ad0 100644 --- a/pkgs/build-support/emacs/generic.nix +++ b/pkgs/build-support/emacs/generic.nix @@ -1,6 +1,6 @@ # generic builder for Emacs packages -{ lib, stdenv, emacs, texinfo, writeText, ... }: +{ lib, stdenv, emacs, texinfo, writeText, gcc, ... }: with lib; @@ -72,6 +72,8 @@ stdenv.mkDerivation ({ LIBRARY_PATH = "${lib.getLib stdenv.cc.libc}/lib"; + nativeBuildInputs = [ gcc ]; + addEmacsNativeLoadPath = true; postInstall = '' diff --git a/pkgs/build-support/emacs/melpa.nix b/pkgs/build-support/emacs/melpa.nix index c30d3e59906..408448f26a0 100644 --- a/pkgs/build-support/emacs/melpa.nix +++ b/pkgs/build-support/emacs/melpa.nix @@ -1,7 +1,7 @@ # builder for Emacs packages built for packages.el # using MELPA package-build.el -{ lib, stdenv, fetchFromGitHub, emacs, texinfo, writeText }: +{ lib, stdenv, fetchFromGitHub, emacs, texinfo, writeText, gcc }: with lib; @@ -28,7 +28,7 @@ let in -import ./generic.nix { inherit lib stdenv emacs texinfo writeText; } ({ +import ./generic.nix { inherit lib stdenv emacs texinfo writeText gcc; } ({ ename = if ename == null diff --git a/pkgs/build-support/emacs/wrapper.nix b/pkgs/build-support/emacs/wrapper.nix index 571d0eb687c..6b53f3fdd95 100644 --- a/pkgs/build-support/emacs/wrapper.nix +++ b/pkgs/build-support/emacs/wrapper.nix @@ -32,7 +32,7 @@ in customEmacsPackages.emacs.pkgs.withPackages (epkgs: [ epkgs.evil epkgs.magit */ -{ lib, lndir, makeWrapper, runCommand }: self: +{ lib, lndir, makeWrapper, runCommand, gcc }: self: with lib; @@ -65,7 +65,10 @@ runCommand # Store all paths we want to add to emacs here, so that we only need to add # one path to the load lists deps = runCommand "emacs-packages-deps" - { inherit explicitRequires lndir emacs; } + { + inherit explicitRequires lndir emacs; + nativeBuildInputs = lib.optional nativeComp gcc; + } '' findInputsOld() { local pkg="$1"; shift diff --git a/pkgs/top-level/emacs-packages.nix b/pkgs/top-level/emacs-packages.nix index d168d34e373..34f99561601 100644 --- a/pkgs/top-level/emacs-packages.nix +++ b/pkgs/top-level/emacs-packages.nix @@ -26,7 +26,7 @@ let mkElpaPackages = { pkgs, lib }: import ../applications/editors/emacs/elisp-packages/elpa-packages.nix { - inherit (pkgs) stdenv texinfo writeText; + inherit (pkgs) stdenv texinfo writeText gcc; inherit lib; }; @@ -44,7 +44,7 @@ let }; emacsWithPackages = { pkgs, lib }: import ../build-support/emacs/wrapper.nix { - inherit (pkgs) makeWrapper runCommand; + inherit (pkgs) makeWrapper runCommand gcc; inherit (pkgs.xorg) lndir; inherit lib; };