buildLuarocksPackage: extraVariables is now an attrset
This commit is contained in:
parent
7aee5b838b
commit
6eeb434b33
@ -56,7 +56,7 @@ name ? "${attrs.pname}-${attrs.version}"
|
||||
# Appended to the generated luarocks config
|
||||
, extraConfig ? ""
|
||||
# Inserted into the generated luarocks config in the "variables" table
|
||||
, extraVariables ? ""
|
||||
, extraVariables ? {}
|
||||
# The two above arguments have access to builder variables -- e.g. to $out
|
||||
|
||||
# relative to srcRoot, path to the rockspec to use when using rocks
|
||||
@ -77,7 +77,10 @@ let
|
||||
# luarocks only looks for rockspecs in the default/system tree instead of all
|
||||
# configured trees)
|
||||
luarocks_config = "luarocks-config.lua";
|
||||
luarocks_content = ''
|
||||
luarocks_content = let
|
||||
extraVariablesStr = lib.concatStringsSep "\n "
|
||||
(lib.mapAttrsToList (k: v: "${k}='${v}';") extraVariables);
|
||||
in ''
|
||||
local_cache = ""
|
||||
-- To prevent collisions when creating environments, we install the rock
|
||||
-- files into per-package subdirectories
|
||||
@ -105,8 +108,8 @@ let
|
||||
-- Some needed machinery to handle multiple-output external dependencies,
|
||||
-- as per https://github.com/luarocks/luarocks/issues/766
|
||||
${lib.optionalString (lib.length depVariables > 0) ''
|
||||
${lib.concatStringsSep "\n " depVariables}''}
|
||||
${extraVariables}
|
||||
${lib.concatStringsSep "\n " depVariables}''}
|
||||
${extraVariablesStr}
|
||||
}
|
||||
${extraConfig}
|
||||
'';
|
||||
@ -139,7 +142,7 @@ let
|
||||
externalDeps' = lib.filter (dep: !lib.isDerivation dep) externalDeps;
|
||||
in
|
||||
toLuaModule ( lua.stdenv.mkDerivation (
|
||||
builtins.removeAttrs attrs ["disabled" "checkInputs" "externalDeps"] // {
|
||||
builtins.removeAttrs attrs ["disabled" "checkInputs" "externalDeps" "extraVariables"] // {
|
||||
|
||||
name = namePrefix + name;
|
||||
|
||||
|
@ -153,11 +153,11 @@ with super;
|
||||
});
|
||||
|
||||
luadbi-mysql = super.luadbi-mysql.override({
|
||||
extraVariables = ''
|
||||
-- Can't just be /include and /lib, unfortunately needs the trailing 'mysql'
|
||||
MYSQL_INCDIR='${pkgs.libmysqlclient}/include/mysql';
|
||||
MYSQL_LIBDIR='${pkgs.libmysqlclient}/lib/mysql';
|
||||
'';
|
||||
extraVariables = {
|
||||
# Can't just be /include and /lib, unfortunately needs the trailing 'mysql'
|
||||
MYSQL_INCDIR="${pkgs.libmysqlclient}/include/mysql";
|
||||
MYSQL_LIBDIR="${pkgs.libmysqlclient}/lib/mysql";
|
||||
};
|
||||
buildInputs = [
|
||||
pkgs.mysql.client
|
||||
pkgs.libmysqlclient
|
||||
|
Loading…
Reference in New Issue
Block a user