about summary refs log tree commit diff
path: root/users/Profpatsch/writers
diff options
context:
space:
mode:
authorProfpatsch <mail@profpatsch.de>2021-01-01T19·00+0100
committerProfpatsch <mail@profpatsch.de>2021-01-03T16·12+0000
commit6b21b108ba07201e6471444961fa217c33b383c1 (patch)
treeac5909afb1207c4f0af465918f0390492bfd73fb /users/Profpatsch/writers
parent533e365c12b5097005626317171b789406c1780f (diff)
feat(users/Profpatsch): add writers.python3 r/2052
This is a reexport of nixpkgs.writers.writePython3, but the libraries
are passed the package set, like with other writers.

Change-Id: Ia5a2ed1b6b329700836a8575d2bde768bf64fb31
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2311
Tested-by: BuildkiteCI
Reviewed-by: Profpatsch <mail@profpatsch.de>
Diffstat (limited to 'users/Profpatsch/writers')
-rw-r--r--users/Profpatsch/writers/default.nix18
-rw-r--r--users/Profpatsch/writers/tests.nix19
2 files changed, 31 insertions, 6 deletions
diff --git a/users/Profpatsch/writers/default.nix b/users/Profpatsch/writers/default.nix
index f775913d00..222172e38e 100644
--- a/users/Profpatsch/writers/default.nix
+++ b/users/Profpatsch/writers/default.nix
@@ -2,6 +2,14 @@
 let
   bins = depot.nix.getBins pkgs.coreutils ["printf" "mkdir" "cat"];
 
+  python3 = name: args@{
+    libraries ? (_: []),
+    flakeIgnore ? []
+  }: pkgs.writers.writePython3 name {
+    libraries = libraries pkgs.python3Packages;
+    flakeIgnore = flakeIgnore;
+  };
+
   python3Lib = { name, libraries ? (_: []) }: moduleString:
     let srcTree = depot.nix.runExecline.local name { stdin = moduleString; } [
       "importas" "out" "out"
@@ -30,10 +38,18 @@ let
       doCheck = false;
     };
 
-  tests = import ./tests.nix { inherit depot pkgs python3Lib; };
+  tests = import ./tests.nix {
+    inherit
+      depot
+      pkgs
+      python3
+      python3Lib
+      ;
+   };
 
 in {
   inherit
+    python3
     python3Lib
     tests
     ;
diff --git a/users/Profpatsch/writers/tests.nix b/users/Profpatsch/writers/tests.nix
index 4cae230e0e..13ddfd10e9 100644
--- a/users/Profpatsch/writers/tests.nix
+++ b/users/Profpatsch/writers/tests.nix
@@ -1,19 +1,28 @@
-{ depot, pkgs, python3Lib }:
+{ depot, pkgs, python3, python3Lib }:
 
 let
+  transitiveLib = python3Lib {
+    name = "transitive";
+  } ''
+    def transitive(s):
+      return s + " 1 2 3"
+  '';
+
   testLib = python3Lib {
     name = "test_lib";
+    libraries = _: [ transitiveLib ];
   } ''
+    import transitive
     def test():
-      return "test"
+      return transitive.transitive("test")
   '';
 
-  pythonWithLib = pkgs.writers.writePython3 "python-with-lib" {
-    libraries = [ testLib ];
+  pythonWithLib = python3 "python-with-lib" {
+    libraries = _: [ testLib ];
   } ''
     import test_lib
 
-    assert(test_lib.test() == "test")
+    assert(test_lib.test() == "test 1 2 3")
   '';
 
 in {