Files
nixpkgs/pkgs/development/beam-modules/lib.nix
T

80 lines
2.4 KiB
Nix
Raw Normal View History

{ pkgs, stdenv }:
2017-06-04 20:26:37 +02:00
rec {
/* Similar to callPackageWith/callPackage, but without makeOverridable
*/
callPackageWith = autoArgs: fn: args:
let
2018-01-31 14:02:19 -05:00
f = if pkgs.lib.isFunction fn then fn else import fn;
auto = builtins.intersectAttrs (stdenv.lib.functionArgs f) autoArgs;
in f (auto // args);
callPackage = callPackageWith pkgs;
/* Uses generic-builder to evaluate provided drv containing OTP-version
specific data.
2017-06-04 20:26:37 +02:00
drv: package containing version-specific args;
builder: generic builder for all Erlang versions;
args: arguments merged into version-specific args, used mostly to customize
dependencies;
2017-06-04 20:26:37 +02:00
Arguments passed to the generic-builder are overridable, used to
enable/disable high-level OTP features, like ODBC or WX support;
Please note that "mkDerivation" defined here is the one called from R16.nix
and similar files.
2017-06-04 20:26:37 +02:00
*/
callErlang = drv: args:
let
builder = callPackage ../../development/interpreters/erlang/generic-builder.nix args;
in
callPackage drv {
mkDerivation = pkgs.makeOverridable builder;
};
2017-06-04 20:26:37 +02:00
2017-06-23 12:38:10 -04:00
/* Uses generic-builder to evaluate provided drv containing Elixir version
specific data.
drv: package containing version-specific args;
builder: generic builder for all Erlang versions;
args: arguments merged into version-specific args, used mostly to customize
dependencies;
Arguments passed to the generic-builder are overridable.
Please note that "mkDerivation" defined here is the one called from 1.4.nix
and similar files.
*/
2017-06-26 23:12:39 -04:00
callElixir = drv: args:
2017-06-22 20:34:32 -04:00
let
builder = callPackage ../interpreters/elixir/generic-builder.nix args;
2017-06-22 20:34:32 -04:00
in
callPackage drv {
mkDerivation = pkgs.makeOverridable builder;
};
2017-06-22 20:34:32 -04:00
2017-07-10 20:25:12 -04:00
/* Uses generic-builder to evaluate provided drv containing Elixir version
specific data.
drv: package containing version-specific args;
builder: generic builder for all Erlang versions;
args: arguments merged into version-specific args, used mostly to customize
dependencies;
Arguments passed to the generic-builder are overridable.
Please note that "mkDerivation" defined here is the one called from 1.2.nix
and similar files.
*/
callLFE = drv: args:
let
builder = callPackage ../interpreters/lfe/generic-builder.nix args;
in
callPackage drv {
mkDerivation = pkgs.makeOverridable builder;
};
2017-06-04 20:26:37 +02:00
}