tangled
alpha
login
or
join now
pyrox.dev
/
nixpkgs
0
fork
atom
lol
0
fork
atom
overview
issues
pulls
pipelines
rPackages: add packagesWithRDepends
Nikolay Amiantov
11 years ago
3e6531c1
88ab59eb
+32
-4
1 changed file
expand all
collapse all
unified
split
pkgs
development
r-modules
default.nix
+32
-4
pkgs/development/r-modules/default.nix
reviewed
···
78
78
})
79
79
) overrides;
80
80
81
81
+
# Overrides package definitions with new R dependencies.
82
82
+
# For example,
83
83
+
#
84
84
+
# overrideRDepends {
85
85
+
# foo = [ self.bar ]
86
86
+
# } old
87
87
+
#
88
88
+
# results in
89
89
+
#
90
90
+
# {
91
91
+
# foo = old.foo.overrideDerivation (attrs: {
92
92
+
# nativeBuildInputs = attrs.nativeBuildInputs ++ [ self.bar ];
93
93
+
# propagatedNativeBuildInputs = attrs.propagatedNativeBuildInputs ++ [ self.bar ];
94
94
+
# });
95
95
+
# }
96
96
+
overrideRDepends = overrides: old:
97
97
+
lib.mapAttrs (name: value:
98
98
+
(builtins.getAttr name old).overrideDerivation (attrs: {
99
99
+
nativeBuildInputs = attrs.nativeBuildInputs ++ value;
100
100
+
propagatedNativeBuildInputs = attrs.propagatedNativeBuildInputs ++ value;
101
101
+
})
102
102
+
) overrides;
103
103
+
81
104
# Overrides package definition requiring X running to install.
82
105
# For example,
83
106
#
···
158
181
let
159
182
old1 = old0 // (overrideRequireX packagesRequireingX old0);
160
183
old2 = old1 // (overrideSkipCheck packagesToSkipCheck old1);
161
161
-
old3 = old2 // (overrideNativeBuildInputs packagesWithNativeBuildInputs old2);
162
162
-
old4 = old3 // (overrideBuildInputs packagesWithBuildInputs old3);
163
163
-
old5 = old4 // (overrideBroken brokenPackages old4);
164
164
-
old = old5;
184
184
+
old3 = old2 // (overrideRDepends packagesWithRDepends old2);
185
185
+
old4 = old3 // (overrideNativeBuildInputs packagesWithNativeBuildInputs old3);
186
186
+
old5 = old4 // (overrideBuildInputs packagesWithBuildInputs old4);
187
187
+
old6 = old5 // (overrideBroken brokenPackages old5);
188
188
+
old = old6;
165
189
in old // (otherOverrides old new);
166
190
167
191
# Recursive override pattern.
···
172
196
_self = import ./cran-packages.nix { inherit self derive; };
173
197
174
198
# tweaks for the individual packages and "in self" follow
199
199
+
200
200
+
packagesWithRDepends = {
201
201
+
# sort -t '=' -k 2
202
202
+
};
175
203
176
204
packagesWithNativeBuildInputs = {
177
205
# sort -t '=' -k 2