Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

Already on GitHub? Sign in to your account

"main-is" misparsed in if/else, only by sdist #807

bos opened this Issue May 24, 2012 · 6 comments


4 participants

bos commented May 24, 2012

(Imported from Trac #817, reported by @jeffwheeler on 2011-03-22)

An if/else block which sets the main-is value for an executable based on a flag is misparsed when running "cabal sdist" (it's parsed correctly when running "cabal install").

Upon failure, it appears that it's looking for a filename that is the two main-is options concatenated together. E.g., I get the error "cabal: HackerMain?.hsMain.hs doesn't exist".

The problematic bit looks like:

if flag(hacking)

main-is: `HackerMain?`.hs


main-is: Main.hs

My entire config can be found on hpaste: http://hpaste.org/44939/yicabal (problematic lines around 268).


bos commented May 24, 2012

(Imported comment by @dcoutts on 2011-03-22)

Another example http://hpaste.org/48025

Two problems: one is the way sdist uses flatten, and the other is that monoid instance for main-is concatenates rather than picks the last. sdist should not use flatten, it needs to get the collection of values.

@ttuegel ttuegel added this to the _|_ milestone Apr 23, 2015

@ttuegel ttuegel removed the priority: low label Apr 23, 2015


BardurArantsson commented Jun 25, 2015

Sounds... obsolete. Suggest close...?


BardurArantsson commented Nov 7, 2015

Will most likely be subsumed by #2865 which seems like it's going to be getting in sometime soonish. Closing.

@phadej phadej added the Cabal: parser label Nov 7, 2015


phadej commented Nov 7, 2015

I'd rather keep this open, and check if it really solved. We can (should?) write tests for this kind of regressions before closing.

@phadej phadej reopened this Nov 7, 2015


BardurArantsson commented Nov 7, 2015

Ok, fair enough. I really mostly just wanted to (indirectly) call your attention to this.


phadej commented Nov 7, 2015


@ttuegel ttuegel self-assigned this Mar 10, 2016

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment