# Some dummy arguments...
{
  foo ? "foo",
}:

with import ./config.nix;

assert foo == "foo";

let

  platforms =
    let
      x = "foobar";
    in
    [
      x
      x
    ];

  makeDrv =
    name: progName:
    (
      mkDerivation {
        name =
          assert progName != "fail";
          name;
        inherit progName system;
        builder = ./user-envs.builder.sh;
      }
      // {
        meta = {
          description = "A silly test package with some \${escaped anti-quotation} in it";
          inherit platforms;
        };
      }
    );

in

[
  (makeDrv "foo-1.0" "foo")
  (makeDrv "foo-2.0pre1" "foo")
  (makeDrv "bar-0.1" "bar")
  (makeDrv "foo-2.0" "foo")
  (makeDrv "bar-0.1.1" "bar")
  (makeDrv "foo-0.1" "foo" // { meta.priority = 10; })
  (makeDrv "fail-0.1" "fail")
]
