Skip to content

Commit 980f840

Browse files
committed
emacs: factor out elisp package override helpers
1 parent d046abc commit 980f840

File tree

4 files changed

+41
-39
lines changed

4 files changed

+41
-39
lines changed

pkgs/applications/editors/emacs/elisp-packages/elpa-devel-packages.nix

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -26,11 +26,9 @@ formats commits for you.
2626

2727
self: let
2828

29-
markBroken = pkg: pkg.override {
30-
elpaBuild = args: self.elpaBuild (args // {
31-
meta = (args.meta or {}) // { broken = true; };
32-
});
33-
};
29+
inherit (import ./lib-override-helper.nix pkgs)
30+
markBroken
31+
;
3432

3533
# Use custom elpa url fetcher with fallback/uncompress
3634
fetchurl = buildPackages.callPackage ./fetchelpa.nix { };

pkgs/applications/editors/emacs/elisp-packages/elpa-packages.nix

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -26,11 +26,9 @@ formats commits for you.
2626

2727
self: let
2828

29-
markBroken = pkg: pkg.override {
30-
elpaBuild = args: self.elpaBuild (args // {
31-
meta = (args.meta or {}) // { broken = true; };
32-
});
33-
};
29+
inherit (import ./lib-override-helper.nix pkgs)
30+
markBroken
31+
;
3432

3533
# Use custom elpa url fetcher with fallback/uncompress
3634
fetchurl = buildPackages.callPackage ./fetchelpa.nix { };
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
pkgs:
2+
3+
rec {
4+
buildWithGit =
5+
pkg:
6+
pkg.overrideAttrs (previousAttrs: {
7+
nativeBuildInputs = previousAttrs.nativeBuildInputs or [ ] ++ [ pkgs.git ];
8+
});
9+
10+
dontConfigure = pkg: pkg.overrideAttrs { dontConfigure = true; };
11+
12+
externalSrc =
13+
pkg: epkg:
14+
pkg.overrideAttrs (previousAttrs: {
15+
inherit (epkg) src version;
16+
propagatedUserEnvPkgs = previousAttrs.propagatedUserEnvPkgs or [ ] ++ [ epkg ];
17+
});
18+
19+
fix-rtags = pkg: dontConfigure (externalSrc pkg pkgs.rtags);
20+
21+
markBroken =
22+
pkg:
23+
pkg.overrideAttrs (previousAttrs: {
24+
meta = previousAttrs.meta or { } // {
25+
broken = true;
26+
};
27+
});
28+
}

pkgs/applications/editors/emacs/elisp-packages/melpa-packages.nix

Lines changed: 7 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -30,35 +30,13 @@ in
3030

3131
{ lib, pkgs }: variant: self:
3232
let
33-
dontConfigure = pkg:
34-
pkg.override (args: {
35-
melpaBuild = drv: args.melpaBuild (drv // {
36-
dontConfigure = true;
37-
});
38-
});
39-
40-
markBroken = pkg:
41-
pkg.override (args: {
42-
melpaBuild = drv: args.melpaBuild (drv // {
43-
meta = (drv.meta or { }) // { broken = true; };
44-
});
45-
});
46-
47-
externalSrc = pkg: epkg:
48-
pkg.override (args: {
49-
melpaBuild = drv: args.melpaBuild (drv // {
50-
inherit (epkg) src version;
51-
52-
propagatedUserEnvPkgs = [ epkg ];
53-
});
54-
});
55-
56-
buildWithGit = pkg: pkg.overrideAttrs (attrs: {
57-
nativeBuildInputs =
58-
(attrs.nativeBuildInputs or [ ]) ++ [ pkgs.git ];
59-
});
60-
61-
fix-rtags = pkg: dontConfigure (externalSrc pkg pkgs.rtags);
33+
inherit (import ./lib-override-helper.nix pkgs)
34+
buildWithGit
35+
dontConfigure
36+
externalSrc
37+
fix-rtags
38+
markBroken
39+
;
6240

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

0 commit comments

Comments
 (0)