···23rec {
45- /* Uses generic-builder to evaluate provided drv containing OTP-version specific data.
0000000000067 drv: package containing version-specific args;
8 builder: generic builder for all Erlang versions;
9- gargs: arguments passed to the generic-builder, used mostly to customize dependencies;
10- args: arguments merged into version-specific args, used mostly to enable/disable high-level OTP
11- features, like ODBC or WX support;
1213- Please note that "mkDerivation" defined here is the one called from R16.nix and similar files.
000014 */
15- callErlang = drv: gargs: args: pkgs.callPackage drv (
16- let builder = pkgs.callPackage ../../development/interpreters/erlang/generic-builder.nix gargs;
17- in {
18- mkDerivation = a: builder (a // args);
19- });
002021}
···23rec {
45+ /* Similar to callPackageWith/callPackage, but without makeOverridable
6+ */
7+ callPackageWith = autoArgs: fn: args:
8+ let
9+ f = if builtins.isFunction fn then fn else import fn;
10+ auto = builtins.intersectAttrs (builtins.functionArgs f) autoArgs;
11+ in f (auto // args);
12+13+ callPackage = callPackageWith pkgs;
14+15+ /* Uses generic-builder to evaluate provided drv containing OTP-version
16+ specific data.
1718 drv: package containing version-specific args;
19 builder: generic builder for all Erlang versions;
20+ args: arguments merged into version-specific args, used mostly to customize
21+ dependencies;
02223+ Arguments passed to the generic-builder are overridable, used to
24+ enable/disable high-level OTP features, like ODBC or WX support;
25+26+ Please note that "mkDerivation" defined here is the one called from R16.nix
27+ and similar files.
28 */
29+ callErlang = drv: args:
30+ let
31+ builder = callPackage ../../development/interpreters/erlang/generic-builder.nix args;
32+ in
33+ callPackage drv {
34+ mkDerivation = pkgs.makeOverridable builder;
35+ };
3637}