typelead/etlas

Support of new-install for windows

Opened this issue · 3 comments

  • Currently the default master (new-)install is not supported for windows, like in cabal itself (Symlinking feature not available on Windows)
  • As etlas uses lightweight scripts as launchers the support could be create a cmd script file in symlink-bindir that simply executes the launcher script in ${store-dir}\${eta-version}\${package-uid}\bin\${package-name}.cmd
  • Not sure if we could do that for all os's or keeping the symlink in unix is better

Not sure if we could do that for all os's or keeping the symlink in unix is better

I suggest that we make the script copying bit a Windows-only thing (just like the launcher scripts). The symlink feature on Unix-based systems is nice.

Investigating a bit i've read that symlinks are supported in windows since vista, with a console tool mklink and the family of CreateSymbolicLink* api calls. Surely i am missing something but i wonder why they are not used in windows by cabal or nix.
It seems until windows 10 you needed admin rights to create them and that wouls be the cause.

There is a pr in cabal about add a install-method flag to allow copy the executables instead symlinking them: haskell/cabal#5870