Unverified Commit 3b216ee0 authored by Lin Jian's avatar Lin Jian Committed by GitHub
Browse files

emacs: factor out elisp package override helpers (#341964)

parents 189af30d 980f8408
Loading
Loading
Loading
Loading
+3 −5
Original line number Diff line number Diff line
@@ -26,11 +26,9 @@ formats commits for you.

self: let

  markBroken = pkg: pkg.override {
    elpaBuild = args: self.elpaBuild (args // {
      meta = (args.meta or {}) // { broken = true; };
    });
  };
  inherit (import ./lib-override-helper.nix pkgs)
    markBroken
    ;

  # Use custom elpa url fetcher with fallback/uncompress
  fetchurl = buildPackages.callPackage ./fetchelpa.nix { };
+3 −5
Original line number Diff line number Diff line
@@ -26,11 +26,9 @@ formats commits for you.

self: let

  markBroken = pkg: pkg.override {
    elpaBuild = args: self.elpaBuild (args // {
      meta = (args.meta or {}) // { broken = true; };
    });
  };
  inherit (import ./lib-override-helper.nix pkgs)
    markBroken
    ;

  # Use custom elpa url fetcher with fallback/uncompress
  fetchurl = buildPackages.callPackage ./fetchelpa.nix { };
+28 −0
Original line number Diff line number Diff line
pkgs:

rec {
  buildWithGit =
    pkg:
    pkg.overrideAttrs (previousAttrs: {
      nativeBuildInputs = previousAttrs.nativeBuildInputs or [ ] ++ [ pkgs.git ];
    });

  dontConfigure = pkg: pkg.overrideAttrs { dontConfigure = true; };

  externalSrc =
    pkg: epkg:
    pkg.overrideAttrs (previousAttrs: {
      inherit (epkg) src version;
      propagatedUserEnvPkgs = previousAttrs.propagatedUserEnvPkgs or [ ] ++ [ epkg ];
    });

  fix-rtags = pkg: dontConfigure (externalSrc pkg pkgs.rtags);

  markBroken =
    pkg:
    pkg.overrideAttrs (previousAttrs: {
      meta = previousAttrs.meta or { } // {
        broken = true;
      };
    });
}
+7 −29
Original line number Diff line number Diff line
@@ -30,35 +30,13 @@ in

{ lib, pkgs }: variant: self:
let
  dontConfigure = pkg:
    pkg.override (args: {
      melpaBuild = drv: args.melpaBuild (drv // {
        dontConfigure = true;
      });
    });

  markBroken = pkg:
    pkg.override (args: {
      melpaBuild = drv: args.melpaBuild (drv // {
        meta = (drv.meta or { }) // { broken = true; };
      });
    });

  externalSrc = pkg: epkg:
    pkg.override (args: {
      melpaBuild = drv: args.melpaBuild (drv // {
        inherit (epkg) src version;

        propagatedUserEnvPkgs = [ epkg ];
      });
    });

  buildWithGit = pkg: pkg.overrideAttrs (attrs: {
    nativeBuildInputs =
      (attrs.nativeBuildInputs or [ ]) ++ [ pkgs.git ];
  });

  fix-rtags = pkg: dontConfigure (externalSrc pkg pkgs.rtags);
  inherit (import ./lib-override-helper.nix pkgs)
    buildWithGit
    dontConfigure
    externalSrc
    fix-rtags
    markBroken
    ;

  generateMelpa = lib.makeOverridable ({ archiveJson ? defaultArchive
                                       }: