Unverified Commit 00233f1d authored by Lin Jian's avatar Lin Jian Committed by GitHub
Browse files

Merge pull request #328453 from linj-fork/pr/fix-emacs-builder

emacs: handle some arguments correctly for genericBuild and melpaBuild
parents f6d4f4f0 54d71f7a
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -3,7 +3,7 @@
{ lib, stdenv, emacs, texinfo, writeText, gcc }:

let
  handledArgs = [ "files" "fileSpecs" "meta" ];
  handledArgs = [ "meta" ];
  genericBuild = import ./generic.nix { inherit lib stdenv emacs texinfo writeText gcc; };

in
+8 −4
Original line number Diff line number Diff line
@@ -4,7 +4,8 @@

let
  inherit (lib) optionalAttrs getLib;
  handledArgs = [ "buildInputs" "packageRequires" "meta" ];
  handledArgs = [ "buildInputs" "packageRequires" "propagatedUserEnvPkgs" "meta" ]
    ++ lib.optionals (emacs.withNativeCompilation or false) [ "nativeBuildInputs" "postInstall" ];

  setupHook = writeText "setup-hook.sh" ''
    source ${./emacs-funcs.sh}
@@ -25,7 +26,10 @@ in
{ pname
, version
, buildInputs ? []
, nativeBuildInputs ? []
, packageRequires ? []
, propagatedUserEnvPkgs ? []
, postInstall ? ""
, meta ? {}
, ...
}@args:
@@ -51,7 +55,7 @@ stdenv.mkDerivation (finalAttrs: ({

  buildInputs = [emacs texinfo] ++ packageRequires ++ buildInputs;
  propagatedBuildInputs = packageRequires;
  propagatedUserEnvPkgs = packageRequires;
  propagatedUserEnvPkgs = packageRequires ++ propagatedUserEnvPkgs;

  inherit setupHook;

@@ -69,7 +73,7 @@ stdenv.mkDerivation (finalAttrs: ({

  LIBRARY_PATH = "${getLib stdenv.cc.libc}/lib";

  nativeBuildInputs = [ gcc ];
  nativeBuildInputs = [ gcc ] ++ nativeBuildInputs;

  addEmacsNativeLoadPath = true;

@@ -84,7 +88,7 @@ stdenv.mkDerivation (finalAttrs: ({
    find $out/share/emacs -type f -name '*.el' -print0 \
      | xargs -0 -I {} -n 1 -P $NIX_BUILD_CORES sh -c \
          "emacs --batch --eval '(setq large-file-warning-threshold nil)' -f batch-native-compile {} || true"
  '';
  '' + postInstall;
}

// removeAttrs args handledArgs))
+6 −3
Original line number Diff line number Diff line
@@ -4,6 +4,7 @@
{ lib, stdenv, fetchFromGitHub, emacs, texinfo, writeText, gcc }:

let
  handledArgs = [ "meta" "preUnpack" "postUnpack" ];
  genericBuild = import ./generic.nix { inherit lib stdenv emacs texinfo writeText gcc; };

  packageBuild = stdenv.mkDerivation {
@@ -65,6 +66,8 @@ in
    (${ename} :fetcher git :url ""
              ${lib.optionalString (files != null) ":files ${files}"})
  '')
, preUnpack ? ""
, postUnpack ? ""
, meta ? {}
, ...
}@args:
@@ -98,12 +101,12 @@ genericBuild ({
    ln -s "$packageBuild" "$NIX_BUILD_TOP/package-build"

    mkdir -p "$NIX_BUILD_TOP/packages"
  '';
  '' + preUnpack;

  postUnpack = ''
    mkdir -p "$NIX_BUILD_TOP/working"
    ln -s "$NIX_BUILD_TOP/$sourceRoot" "$NIX_BUILD_TOP/working/$ename"
  '';
  '' + postUnpack;

  buildPhase = ''
    runHook preBuild
@@ -140,4 +143,4 @@ genericBuild ({
  } // meta;
}

// removeAttrs args [ "meta" ])
// removeAttrs args handledArgs)