Just a quick little post so in another three years time I'll be able to figure out how to do this again a bit more quickly.
If you are trying to use cabal with headers and things on none standard paths (e.g. pkgsrc) then you need to do:
cabal install curl --extra-include-dirs=/usr/pkg/include/ --extra-lib-dirs=/usr/pkg/lib --configure-option=CPPFLAGS=-I/usr/pkg/include/ --configure-option=LDFLAGS=-L/usr/pkg/lib
The important bit being the
--configure-option flags as the
--extra ones are documented and thus a bit more obvious.