blob: 160c0626136d179a131af567eec441de0a431ca8 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
# Builder for depot-internal Emacs packages. Packages built using this
# builder are added into the Emacs packages fixpoint under
# `emacsPackages.tvlPackages`, which in turn makes it possible to use
# them with special Emacs features like native compilation.
#
# Arguments passed to the builder are the same as
# emacsPackages.trivialBuild, except:
#
# * packageRequires is not used
#
# * externalRequires takes a selection function for packages from
# emacsPackages
#
# * internalRequires takes other depot packages
{ pkgs, ... }:
buildArgs:
pkgs.callPackage({ emacsPackages }:
let
# Select external dependencies from the emacsPackages set
externalDeps = (buildArgs.externalRequires or (_: [])) emacsPackages;
# Override emacsPackages for depot-internal packages
internalDeps = map (p: p.override { inherit emacsPackages; })
(buildArgs.internalRequires or []);
trivialBuildArgs = builtins.removeAttrs buildArgs [
"externalRequires" "internalRequires"
] // {
packageRequires = externalDeps ++ internalDeps;
};
in emacsPackages.trivialBuild trivialBuildArgs) {}
|