From 5c3e4adf108d8ccde6d405d1621fc9a613f32e2b Mon Sep 17 00:00:00 2001 From: Dan Burton Date: Wed, 18 Mar 2015 14:28:18 -0700 Subject: [PATCH] cabal.config links should always be http; cabal doesn't support https. #83 --- Handler/StackageHome.hs | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/Handler/StackageHome.hs b/Handler/StackageHome.hs index 4a872ca..47a7911 100644 --- a/Handler/StackageHome.hs +++ b/Handler/StackageHome.hs @@ -130,22 +130,29 @@ getStackageCabalConfigR slug = do headerGlobal render = yield $ Chunk $ toBuilder (asText "-- Stackage snapshot from: ") ++ - toBuilder (render $ SnapshotR slug StackageHomeR) ++ + toBuilder snapshotUrl ++ toBuilder (asText "\n-- Please place these contents in your global cabal config file.\n-- To only use tested packages, uncomment the following line\n-- and comment out other remote-repo lines:\n-- remote-repo: stackage-") ++ toBuilder (toPathPiece slug) ++ toBuilder ':' ++ - toBuilder (render $ SnapshotR slug StackageHomeR) ++ + toBuilder snapshotUrl ++ toBuilder '\n' headerLocal render = yield $ Chunk $ toBuilder (asText "-- Stackage snapshot from: ") ++ - toBuilder (render $ SnapshotR slug StackageHomeR) ++ + toBuilder snapshotUrl ++ toBuilder (asText "\n-- Please place this file next to your .cabal file as cabal.config\n-- To only use tested packages, uncomment the following line:\n-- remote-repo: stackage-") ++ toBuilder (toPathPiece slug) ++ toBuilder ':' ++ - toBuilder (render $ SnapshotR slug StackageHomeR) ++ + toBuilder snapshotUrl ++ toBuilder '\n' + snapshotUrl = asHttp $ render $ SnapshotR slug StackageHomeR + + asHttp (stripPrefix "http://" -> Just s) = "http://" <> s + asHttp (stripPrefix "https://" -> Just s) = "http://" <> s + asHttp (stripPrefix "//" -> Just s) = "http://" <> s + asHttp s = error $ "Unexpected url prefix: " <> unpack s + constraint p | Just True <- packageCore p = toBuilder $ asText " installed" | otherwise = toBuilder (asText " ==") ++