2021-04-10 18:05:16 +02:00
|
|
|
{ depot, pkgs, ... }:
|
2021-01-01 18:55:33 +01:00
|
|
|
|
|
|
|
let
|
2021-03-15 22:32:16 +01:00
|
|
|
inherit (depot.users.Profpatsch.writers)
|
|
|
|
python3Lib
|
|
|
|
python3
|
|
|
|
;
|
|
|
|
|
2021-04-10 18:05:16 +02:00
|
|
|
inherit (pkgs)
|
2021-03-15 22:32:16 +01:00
|
|
|
coreutils
|
|
|
|
;
|
|
|
|
|
2022-01-30 17:06:58 +01:00
|
|
|
run = drv: depot.nix.runExecline.local "run-${drv.name}" { } [
|
|
|
|
"if"
|
|
|
|
[ drv ]
|
|
|
|
"importas"
|
|
|
|
"out"
|
|
|
|
"out"
|
|
|
|
"${coreutils}/bin/touch"
|
|
|
|
"$out"
|
2021-01-02 14:54:39 +01:00
|
|
|
];
|
|
|
|
|
2022-01-30 17:06:58 +01:00
|
|
|
pythonTransitiveLib = python3Lib
|
|
|
|
{
|
|
|
|
name = "transitive";
|
|
|
|
} ''
|
2021-01-01 20:00:51 +01:00
|
|
|
def transitive(s):
|
|
|
|
return s + " 1 2 3"
|
|
|
|
'';
|
|
|
|
|
2022-01-30 17:06:58 +01:00
|
|
|
pythonTestLib = python3Lib
|
|
|
|
{
|
|
|
|
name = "test_lib";
|
|
|
|
libraries = _: [ pythonTransitiveLib ];
|
|
|
|
} ''
|
2021-01-01 20:00:51 +01:00
|
|
|
import transitive
|
2021-01-01 18:55:33 +01:00
|
|
|
def test():
|
2021-01-01 20:00:51 +01:00
|
|
|
return transitive.transitive("test")
|
2021-01-01 18:55:33 +01:00
|
|
|
'';
|
|
|
|
|
2022-01-30 17:06:58 +01:00
|
|
|
pythonWithLib = run (python3
|
|
|
|
{
|
|
|
|
name = "python-with-lib";
|
|
|
|
libraries = _: [ pythonTestLib ];
|
|
|
|
} ''
|
2021-01-01 18:55:33 +01:00
|
|
|
import test_lib
|
|
|
|
|
2022-08-22 12:30:52 +02:00
|
|
|
assert test_lib.test() == "test 1 2 3"
|
2021-01-02 14:54:39 +01:00
|
|
|
'');
|
|
|
|
|
2022-01-30 17:06:58 +01:00
|
|
|
in
|
|
|
|
depot.nix.readTree.drvTargets {
|
2021-01-01 18:55:33 +01:00
|
|
|
inherit
|
2021-01-02 14:54:39 +01:00
|
|
|
pythonWithLib
|
|
|
|
;
|
2021-01-01 18:55:33 +01:00
|
|
|
}
|