Como faço para que a Cabal ignore minhas configurações de proxy do Windows?
Pergunta
Ao recuperar pacotes com cabala, frequentemente recebo erros com esta mensagem:
Erro do usuário (codec.compression.zlib: final prematuro do fluxo compactado)
Parece que a Cabal está usando minhas configurações de proxy de rede do Windows (para Privoxy).
De cavar pelo Google, a Cabal ou suas bibliotecas parecem ter (teve) um problema nessa área.
Possíveis soluções que posso ver são:
Desligue a proxy ao usar Cabal (não muito interessado nisso); ou
Pegue um patch e comece a hackear. Eu hesito em seguir esse caminho, pois sou um Haskell Noob completo e ainda não estou confortável com o DARCS; ou
Dê o parâmetro mágica "posso haz sem proxy". Daí a questão.
Solução
Se estou lendo http://darcs.haskell.org/cabal-install/distribution/client/httputils.hs Corretamente, você poderá definir a variável de ambiente http_proxy como um valor inválido (funcionaria "") para fazer com que seja direto.
Outras dicas
Seguindo o conselho de @samb e experimentando um pouco, a solução que estou usando agora é:
export HTTP_PROXY="::"
Aqui está parte do log experimental:
Experimente a solução de @samb:
[12:10:35z ~]:export HTTP_PROXY=""
[12:11:47z ~]:set|grep HTTP
HTTP_PROXY=
[12:11:50z ~]:cabal update
Downloading the latest package list from hackage.haskell.org
cabal.exe: connect: failed (Connection refused (WSAECONNREFUSED))
Experimente a solução de uma "pessoa razoável":
[12:11:54z ~]:export HTTP_PROXY="None"
[12:12:02z ~]:set|grep HTTP
HTTP_PROXY=None
[12:12:04z ~]:cabal update
Downloading the latest package list from hackage.haskell.org
cabal.exe: user error [\]
(openTCPConnection: host lookup failure for "None")
Experimente a solução de uma "pessoa irracional":
[12:23:44z ~]:export HTTP_PROXY="::"
[12:24:00z ~]:set|grep HTTP
HTTP_PROXY=::
[12:24:04z ~]:cabal update
Downloading the latest package list from hackage.haskell.org
Warning: invalid http proxy uri: "::"
Warning: proxy uri must be http with a hostname
Warning: ignoring http proxy, trying a direct connection
Note: there is a new version of cabal-install available.
To upgrade, run: cabal install cabal-install
[12:24:34z ~]:
Yay!