haskell / haskell/cabal

Harden output filepaths for msys2 use

Open
#11,270 4 comments 2 reactions 0 assignees View on GitHub
attention: pr-welcome platform: windows type: bug
Dominant language
Haskell
Stars
1.7k
Forks
750
Avg merge
4d 3h
Merged PRs (30d)
28

Description

`cabal list-bin` on msys2 may sometimes produce paths like:

```
C:/Users/hasuf/git/stable-haskell/ghc/_build/stage0\build\x86_64-windows\ghc-9.8.4\cabal-install-3.17.0.0\x\cabal\build\cabal\cabal.exe
```

These can't be intepreted in an msys2 shell. But these two variants work:

1. `C:\\foo\\bar`
2. `C:/foo/bar`

Since forward slash is supported everywhere in windows, my suggestion would be to default to forward slash for output filepaths.

Contributor guide

Open the contributing guide

Research direction

Start at the `cabal list-bin` command and trace how output paths are formatted on MSYS2. Compare its mixed-separator output with the two working Windows forms in the issue; done means the command emits a path usable from an MSYS2 shell without breaking native Windows use.

Written by the indexing model from the issue text.

Assessment

Tech stack
haskell
Domain
cli, operating-systems
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
42/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.