2021-08-29 12:36:58 -05:00
|
|
|
{ version, meta }:
|
|
|
|
|
|
|
|
let f =
|
|
|
|
{ lib, stdenv, cmake, ninja, boost
|
|
|
|
, coriolis-bootstrap, python2Packages }:
|
|
|
|
{ name
|
|
|
|
, src
|
|
|
|
, buildInputs ? []
|
|
|
|
, nativeBuildInputs ? []
|
2021-08-29 14:58:10 -05:00
|
|
|
, propagatedBuildInputs ? []
|
2021-08-29 12:36:58 -05:00
|
|
|
, pythonImportsCheck
|
2021-08-31 10:32:38 -05:00
|
|
|
, continuation ? (x: x)
|
2021-08-29 12:36:58 -05:00
|
|
|
}:
|
|
|
|
let
|
|
|
|
boostWithPython = boost.override { enablePython = true; inherit (python2Packages) python; };
|
|
|
|
drv = stdenv.mkDerivation {
|
|
|
|
pname = "coriolis-${name}";
|
|
|
|
|
2021-08-29 13:25:21 -05:00
|
|
|
buildInputs = [ python2Packages.python boostWithPython ] ++ buildInputs;
|
|
|
|
nativeBuildInputs = [
|
|
|
|
coriolis-bootstrap cmake ninja
|
|
|
|
python2Packages.pythonImportsCheckHook
|
|
|
|
] ++ nativeBuildInputs;
|
2021-08-29 14:58:10 -05:00
|
|
|
inherit propagatedBuildInputs;
|
2021-08-29 12:36:58 -05:00
|
|
|
|
|
|
|
preInstall = ''
|
|
|
|
export PYTHONPATH="$out/${python2Packages.python.sitePackages}:$PYTHONPATH"
|
|
|
|
'';
|
|
|
|
|
|
|
|
inherit version meta src pythonImportsCheck;
|
|
|
|
};
|
2021-08-31 10:32:38 -05:00
|
|
|
in continuation (python2Packages.toPythonModule drv);
|
2021-08-29 12:36:58 -05:00
|
|
|
in
|
|
|
|
|
|
|
|
pkg:
|
|
|
|
{
|
|
|
|
__functionArgs = builtins.functionArgs f // builtins.functionArgs pkg;
|
|
|
|
__functor = self: args: f (builtins.intersectAttrs (builtins.functionArgs f) args) (pkg (builtins.intersectAttrs (builtins.functionArgs pkg) args));
|
|
|
|
}
|