tvl-depot/nix
sterni ee6b2003fc feat(nix/buildLisp): implementation specific deps and srcs
Both the deps and srcs arguments may now have special “filter sets” in
the lists they receive as arguments. When building, buildLisp checks if
such sets either have a attribute named like the current implementation
or a "default" attribute. If yes, the set is replaced by the respective
attribute's value. If no, the set is removed from the list without
replacement.

This can be used to add elements for (a) specific implementation(s):

  { sbcl = buildLisp.bundled "sb-posix"; }

  { sbcl = ./sbcl/optional-sbcl.lisp; }

or to switch between files for different implementations:

  # If a implementation case is missing and no default set present,
  # no file will be added. Compilation will likely fail as a result.
  {
    ecl = ./tf-ecl.lisp;
    ccl = ./tf-ccl.lisp;
    sbcl = ./tf-sbcl.lisp;
  }

or to account for special behavior for a certain implementation:

  {
    ccl = ./ccl-quirk-impl.lisp
    default = ./ansi-impl.lisp;
  }

Change-Id: I082c3701d1f5063b92100bf336a83425471c269d
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3321
Tested-by: BuildkiteCI
Reviewed-by: tazjin <mail@tazj.in>
2021-08-24 22:00:15 +00:00
..
binify refactor(nix): use our own writeScript(Bin) 2020-06-30 00:19:27 +00:00
bufCheck refactor: Replace 'depotPath' with 'depot.path' 2021-04-12 21:55:07 +00:00
buildGo feat(nix/buildGo): add the import position to errmsg 2021-04-23 16:35:57 +00:00
buildLisp feat(nix/buildLisp): implementation specific deps and srcs 2021-08-24 22:00:15 +00:00
buildManPages refactor(sterni): use pkgs over third_party to import from nixpkgs 2021-04-10 11:40:18 +00:00
drvSeqL feat(nix/drvSeqL): make build of a drv depend on unrelated drvs 2021-02-14 12:40:06 +00:00
emptyDerivation feat(nix/emptyDerivation) add emptyDerivation 2020-06-28 17:59:46 +00:00
escapeExecline chore(OWNERS): move Profpatsch up to nix/ 2021-01-01 19:03:15 +00:00
getBins chore(OWNERS): move Profpatsch up to nix/ 2021-01-01 19:03:15 +00:00
mergePatch feat(nix): add mergePatch 2021-01-01 19:03:02 +00:00
netstring feat(nix): add basic netstring nix generation functions 2021-04-24 09:54:34 +00:00
readTree refactor(readTree): Initialise repo roots without recursing 2021-04-12 21:55:07 +00:00
runExecline feat(users/Profpatsch/blog): implement blog engine lol 2021-04-30 21:47:42 +00:00
runTestsuite fix(nix/runTestsuite): use s6-portable-utils 2021-03-26 11:01:20 +00:00
tag feat(nix): add nix.tag, a way of discriminating via tagged unions 2021-01-30 15:41:08 +00:00
tailscale refactor: Replace some uses of builtins.toFile with pkgs.writeText 2021-03-25 19:14:36 +00:00
utils refactor(users/grfn/gws.fyi): implement isDirectory in pure nix 2021-08-24 12:13:06 +00:00
writeElispBin chore(writeElispBin): Move from //overrides to //nix 2020-12-01 12:55:59 +00:00
writeExecline chore(OWNERS): move Profpatsch up to nix/ 2021-01-01 19:03:15 +00:00
writers fix(nix/writers/rust): remove args override 2021-05-17 23:00:57 +00:00
writeScript refactor(nix): use our own writeScript(Bin) 2020-06-30 00:19:27 +00:00
writeScriptBin refactor(nix): use our own writeScript(Bin) 2020-06-30 00:19:27 +00:00
yants fix(nix/yants): make (typedef …).checkType return a result set 2021-02-19 16:14:55 +00:00
OWNERS chore(OWNERS): move Profpatsch up to nix/ 2021-01-01 19:03:15 +00:00