With cabal, cabal build does not build the assistant, even though all dependencies are there. Even after cabal configure -fAssistant, it silently skips installing the deps for the assistant and does not enable the CPP for the flag. Same for webapp.

Earlier versions of cabal did not behave this way. Perhaps it is a cabal bug?

I tried moving the build-depends out of the if flag(Assistant) section to the main build-depends section. It was able to install all the build depends, so it's not some dependency issue making it decide to turn off that build flag. --Joey

fixed by moving the dependencies into the main block. --Joey