anchor.diff:  
       nix_debug "ROCKSPEC $rockspecFilename"
       nix_debug "cwd: $PWD"
  -    $LUAROCKS make --deps-mode=none --tree $out ''${rockspecFilename}
  -
  -    # to prevent collisions when creating environments
  -    # also added -f as it doesn't always exist
  -    # don't remove the whole directory as
  -    rm -rf $out/lib/luarocks/rocks-${lua.luaversion}/manifest
  +    $LUAROCKS make --deps-mode=all --tree=$out ''${rockspecFilename}
   
       runHook postInstall
     '';
   
     passthru = {
       inherit lua; # The lua interpreter
  +    inherit externalDeps;
     } // passthru;
   
     meta = with lib.maintainers; {
       platforms = lua.meta.platforms;
       # add extra maintainer(s) to every package
       maintainers = (meta.maintainers or []) ++ [ ];
  +    broken = disabled;
     } // meta;
   }))
  
positive.code: , passthru ? {}
  , doCheck ? false
  
  # appended to the luarocks generated config
  # in peculiar variables like { EVENT_INCDIR } can be useful to work around
  # luarocks limitations, ie, luarocks consider include/lib folders to be subfolders of the same package in external_deps_dirs
  # as explained in https://github.com/luarocks/luarocks/issues/766
  , extraConfig ? ""
  
  # relative to srcRoot, path to the rockspec to use when using rocks
  , rockspecFilename ?  "../*.rockspec"
  
negative.code: , propagatedNativeBuildInputs ? []
  
  # used to disable derivation, useful for specific lua versions
  # TODO move from this setting meta.broken to a 'disabled' attribute on the
  # package, then use that to skip/include in each lua${ver}Packages set?
  , disabled ? false
  
  # Additional arguments to pass to the makeWrapper function, which wraps
  # generated binaries.
  , makeWrapperArgs ? []
  
  # Skip wrapping of lua programs altogether
  , dontWrapLuaPrograms ? false
  