anchor.diff:        ''"${name}=${value}"''
       ) envp) ++ [ "NULL" ])} };
     '' else "";
  +
  +  setuid = if user == null
  +    then "0"
  +    else "setuid(${calculate-id user})";
   in compile-c [ "-Wl,-s" ] (write-file "${name}.c" ''
     #include <unistd.h>
     #include <err.h>
  
positive.code: lib: lib.composable [ "build-support" "pkgs" ] (
  
  build-support@{ compile-c, write-file }:
  
  pkgs@{ coreutils }:
  
  name: { filename, argv, envp ? null }: let
    needs-envp = envp != null;
  
    exec-fun = if needs-envp
  
negative.code:   ${envp-def}
  
    int main(int argc, char ** _argv) {
      if (${setuid} == -1)
        err(213, "Setting user id");
      ${exec-fun};
      err(212, "executing %s", filename);
    }
  