pantry 0.5.1.4 → 0.5.1.5
raw patch · 8 files changed
+23/−20 lines, 8 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
Files
- ChangeLog.md +4/−0
- README.md +1/−2
- pantry.cabal +2/−2
- src/Hackage/Security/Client/Repository/HttpLib/HttpClient.hs +10/−7
- src/Pantry.hs +1/−1
- src/Pantry/HTTP.hs +1/−2
- src/Pantry/Hackage.hs +1/−1
- src/Pantry/Types.hs +3/−5
ChangeLog.md view
@@ -1,5 +1,9 @@ # Changelog for pantry +## v0.5.1.5+* Switch back to hackage.haskell.org [#30](https://github.com/commercialhaskell/pantry/pull/30)+* Pass through basic auth credentials specified in URLs [#32](https://github.com/commercialhaskell/pantry/pull/32)+ ## v0.5.1.4 * Allow building with persistent-2.11 [#28](https://github.com/commercialhaskell/pantry/pull/28)
README.md view
@@ -7,8 +7,7 @@ ## What is Pantry -* A Haskell library, command line executable, storage specification, and- network protocol+* A Haskell library, storage specification, and network protocol * Intended for content-addressable storage of Haskell packages * Allows non-centralized package storage * Primarily for use by Stackage and Stack, hopefully other tools as well
pantry.cabal view
@@ -4,10 +4,10 @@ -- -- see: https://github.com/sol/hpack ----- hash: b06a6e2c03d2ca724a7cf071d2d429b54f7af4e7fb8c026689da28163ae1538c+-- hash: 5145c942948b02a8a3a0fa1c11758a27a8691c292147b48e98d1f07becc053b7 name: pantry-version: 0.5.1.4+version: 0.5.1.5 synopsis: Content addressable Haskell package management description: Please see the README on Github at <https://github.com/commercialhaskell/pantry#readme> category: Development
src/Hackage/Security/Client/Repository/HttpLib/HttpClient.hs view
@@ -4,9 +4,9 @@ {-# LANGUAGE RankNTypes #-} {-# LANGUAGE ScopedTypeVariables #-} {-# LANGUAGE OverloadedStrings #-}--- Taken from--- https://github.com/well-typed/hackage-security/tree/master/hackage-security-http-client--- to avoid extra dependencies++-- Adapted from `hackage-security-http-client` to use our own+-- `Pantry.HTTP` implementation module Hackage.Security.Client.Repository.HttpLib.HttpClient ( httpLib ) where@@ -107,13 +107,16 @@ setRequestHeaders :: [HttpRequestHeader] -> HTTP.Request -> HTTP.Request setRequestHeaders opts =- HTTP.setRequestHeaders (trOpt disallowCompressionByDefault opts)+ setRequestHeaders' (trOpt disallowCompressionByDefault opts) where+ setRequestHeaders' :: [HTTP.Header] -> HTTP.Request -> HTTP.Request+ setRequestHeaders' = foldr (\(name, val) f -> f . HTTP.setRequestHeader name [val]) id+ trOpt :: [(HTTP.HeaderName, [ByteString])] -> [HttpRequestHeader] -> [HTTP.Header] trOpt acc [] =- concatMap finalizeHeader acc+ map finalizeHeader acc trOpt acc (HttpRequestMaxAge0:os) = trOpt (insert HTTP.hCacheControl ["max-age=0"] acc) os trOpt acc (HttpRequestNoTransform:os) =@@ -128,8 +131,8 @@ -- -- TODO: Right we we just comma-separate all of them. finalizeHeader :: (HTTP.HeaderName, [ByteString])- -> [HTTP.Header]- finalizeHeader (name, strs) = [(name, BS.intercalate ", " (reverse strs))]+ -> HTTP.Header+ finalizeHeader (name, strs) = (name, BS.intercalate ", " (reverse strs)) insert :: Eq a => a -> [b] -> [(a, [b])] -> [(a, [b])] insert _ _ [] = []
src/Pantry.hs view
@@ -295,7 +295,7 @@ , "fe331502606802feac15e514d9b9ea83fee8b6ffef71335479a2e68d84adc6b0" ] , hscKeyThreshold = 3- , hscDownloadPrefix = "https://s3.amazonaws.com/hackage.fpcomplete.com/"+ , hscDownloadPrefix = "https://hackage.haskell.org/" , hscIgnoreExpiry = False }
src/Pantry/HTTP.hs view
@@ -21,8 +21,7 @@ getResponseBody, getResponseHeaders, getResponseStatus,- setRequestHeader,- setRequestHeaders)+ setRequestHeader) import qualified Network.HTTP.Simple as HTTP hiding (withResponse) import Network.HTTP.Types as Export (Header, HeaderName, Status, hCacheControl,
src/Pantry/Hackage.hs view
@@ -40,9 +40,9 @@ import Path ((</>), Path, Abs, Rel, Dir, File, toFilePath, parseRelDir, parseRelFile) import qualified Distribution.Text import qualified Distribution.PackageDescription as Cabal-import System.IO (SeekMode (..)) import qualified Data.List.NonEmpty as NE import Data.Text.Metrics (damerauLevenshtein)+import System.IO (SeekMode (..)) -- Needed on GHC 8.6 import Distribution.PackageDescription (GenericPackageDescription) import Distribution.Types.Version (versionNumbers) import Distribution.Types.VersionRange (withinRange)
src/Pantry/Types.hs view
@@ -124,8 +124,7 @@ import qualified RIO.HashMap as HM import qualified Data.Map.Strict as Map (mapKeysMonotonic) import qualified RIO.Set as Set-import Data.Aeson (ToJSON (..), FromJSON (..), withText, FromJSONKey (..))-import Data.Aeson.Types (ToJSONKey (..) ,toJSONKeyText, Parser)+import Data.Aeson.Types (toJSONKeyText, Parser) import Pantry.Internal.AesonExtended import Data.Aeson.Encoding.Internal (unsafeToEncoding) import Data.ByteString.Builder (toLazyByteString, byteString, wordDec)@@ -150,7 +149,6 @@ import Data.Text.Read (decimal) import Path (Path, Abs, Dir, File, toFilePath, filename, (</>), parseRelFile) import Path.IO (resolveFile, resolveDir)-import Data.List.NonEmpty (NonEmpty) import qualified Data.List.NonEmpty as NE import Casa.Client (CasaRepoPrefix) @@ -1938,7 +1936,7 @@ -- -- @since 0.5.0.0 = LTS- !Int -- ^ Major version + !Int -- ^ Major version !Int -- ^ Minor version -- | Stackage Nightly snapshot, -- displayed as @"nighly-YYYY-MM-DD"@.@@ -2011,7 +2009,7 @@ display (RSLUrl url (Just blob)) = display url <> " (" <> display blob <> ")" display (RSLFilePath resolved) = display (resolvedRelative resolved) display (RSLSynonym syn) = display syn- + instance ToJSON RawSnapshotLocation where toJSON (RSLCompiler compiler) = object ["compiler" .= compiler]