about summary refs log tree commit diff
path: root/users/Profpatsch/writers
diff options
context:
space:
mode:
authorProfpatsch <mail@profpatsch.de>2021-04-23T20·04+0200
committerProfpatsch <mail@profpatsch.de>2021-04-24T10·23+0000
commiteb41eef6127216543d8b28c9c423ac1be0a4ee24 (patch)
treec01e67c4062711b3623841e8e56791ec8a14edc1 /users/Profpatsch/writers
parent7e888c3c7bb36f6ab6e83d4a6f6a755ff4156791 (diff)
chore(nix): move rustSimple from users.Profpatsch.writers r/2547
I think it’s solid enough to use in a wider context.

Change-Id: If53e8bbb6b90fa88d73fb42730db470e822ea182
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3055
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
Reviewed-by: lukegb <lukegb@tvl.fyi>
Diffstat (limited to 'users/Profpatsch/writers')
-rw-r--r--users/Profpatsch/writers/default.nix80
-rw-r--r--users/Profpatsch/writers/tests/default.nix49
2 files changed, 0 insertions, 129 deletions
diff --git a/users/Profpatsch/writers/default.nix b/users/Profpatsch/writers/default.nix
index 3cb105b5ed..3151a9d3bd 100644
--- a/users/Profpatsch/writers/default.nix
+++ b/users/Profpatsch/writers/default.nix
@@ -67,90 +67,10 @@ let
       doCheck = false;
     };
 
-  rustSimple = args@{name, ...}: src:
-    linkTo name "${rustSimpleBin args src}/bin/${name}";
-
-  linkTo = name: path: depot.nix.runExecline.local name {} [
-    "importas" "out" "out"
-    bins.s6-ln "-s" path "$out"
-  ];
-
-  rustSimpleBin = {
-    name,
-    dependencies ? [],
-    doCheck ? true,
-    ...
-  }@args: src:
-    (if doCheck then testRustSimple else pkgs.lib.id)
-    (pkgs.buildRustCrate ({
-      pname = name;
-      version = "1.0.0";
-      crateName = name;
-      crateBin = [ name ];
-      dependencies = dependencies;
-      src = pkgs.runCommandLocal "write-main.rs" {
-        src = src;
-        passAsFile = [ "src" ];
-      } ''
-        mkdir -p $out/src/bin
-        cp "$srcPath" $out/src/bin/${name}.rs
-        find $out
-      '';
-    } // args));
-
-  rustSimpleLib = {
-    name,
-    dependencies ? [],
-    doCheck ? true,
-    ...
-  }@args: src:
-    (if doCheck then testRustSimple else pkgs.lib.id)
-    (pkgs.buildRustCrate ({
-      pname = name;
-      version = "1.0.0";
-      crateName = name;
-      dependencies = dependencies;
-      src = pkgs.runCommandLocal "write-lib.rs" {
-        src = src;
-        passAsFile = [ "src" ];
-      } ''
-        mkdir -p $out/src
-        cp "$srcPath" $out/src/lib.rs
-        find $out
-      '';
-    } // args));
-
-  /* Takes a `buildRustCrate` derivation as an input,
-    * builds it with `{ buildTests = true; }` and runs
-    * all tests found in its `tests` dir. If they are
-    * all successful, `$out` will point to the crate
-    * built with `{ buildTests = false; }`, otherwise
-    * it will fail to build.
-    *
-    * See also `nix.drvSeqL` which is used to implement
-    * this behavior.
-    */
-  testRustSimple = rustDrv:
-    let
-      crate = buildTests: rustDrv.override { inherit buildTests; };
-      tests = depot.nix.runExecline.local "${rustDrv.name}-tests-run" {} [
-        "importas" "out" "out"
-        "if" [
-          "pipeline" [ bins.s6-ls "${crate true}/tests" ]
-          "forstdin" "-o0" "test"
-          "importas" "test" "test"
-          "${crate true}/tests/$test"
-        ]
-        bins.s6-touch "$out"
-      ];
-    in drvSeqL [ tests ] (crate false);
 
 in {
   inherit
     python3
     python3Lib
-    rustSimple
-    rustSimpleBin
-    rustSimpleLib
     ;
 }
diff --git a/users/Profpatsch/writers/tests/default.nix b/users/Profpatsch/writers/tests/default.nix
index e61bf482ee..c4769a28c6 100644
--- a/users/Profpatsch/writers/tests/default.nix
+++ b/users/Profpatsch/writers/tests/default.nix
@@ -4,9 +4,6 @@ let
   inherit (depot.users.Profpatsch.writers)
     python3Lib
     python3
-    rustSimple
-    rustSimpleLib
-    rustSimpleBin
     ;
 
   inherit (pkgs)
@@ -44,54 +41,8 @@ let
     assert(test_lib.test() == "test 1 2 3")
   '');
 
-
-  rustTransitiveLib = rustSimpleLib {
-    name = "transitive";
-  } ''
-    pub fn transitive(s: &str) -> String {
-      let mut new = s.to_string();
-      new.push_str(" 1 2 3");
-      new
-    }
-
-    #[cfg(test)]
-    mod tests {
-      use super::*;
-
-      #[test]
-      fn test_transitive() {
-        assert_eq!(transitive("foo").as_str(), "foo 1 2 3")
-      }
-    }
-  '';
-
-  rustTestLib = rustSimpleLib {
-    name = "test_lib";
-    dependencies = [ rustTransitiveLib ];
-  } ''
-    extern crate transitive;
-    use transitive::{transitive};
-    pub fn test() -> String {
-      transitive("test")
-    }
-  '';
-
-  rustWithLib = run (rustSimple {
-    name = "rust-with-lib";
-    dependencies = [ rustTestLib ];
-  } ''
-    extern crate test_lib;
-
-    fn main() {
-      assert_eq!(test_lib::test(), String::from("test 1 2 3"));
-    }
-  '');
-
-
 in depot.nix.utils.drvTargets {
   inherit
     pythonWithLib
-    rustTransitiveLib
-    rustWithLib
     ;
 }