From 7d74ba8b6c7e8addefc01ff706efa59e3daafe21 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Thu, 25 Dec 2014 21:04:06 +0200 Subject: [PATCH 001/643] Add back yesod-auth-oauth2 and close #299 --- build-constraints.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index 5e5bccbf..80c6fe2c 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -329,8 +329,8 @@ packages: "Patrick Brisbin": - gravatar - # https://github.com/fpco/stackage/issues/299 - # mapM_ (add "Paul Harper ") $ words "yesod-auth-oauth2" + "Paul Harper ": + - yesod-auth-oauth2 "Felipe Lessa ": - esqueleto From 35f47e3c3818053c3e6a794deca70e516ec9d9e7 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Thu, 25 Dec 2014 21:04:26 +0200 Subject: [PATCH 002/643] Remove unneeded version bounds (have no effect right now) --- build-constraints.yaml | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index 80c6fe2c..75ec409c 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -603,13 +603,8 @@ packages: - sodium - hdevtools - # 0.16.2 fixes dependency issues with different version of GHC - # and Haskell Platform. Now builds on GHC 7.4-7.8. Version 1.0 is - # guaranteed to break the API. See - # https://travis-ci.org/jswebtools/language-ecmascript for - # current build status. "Andrey Chudnov ": - - language-ecmascript >= 0.16.2 && < 1.0 + - language-ecmascript "Tom Ellis ": - opaleye From 4377decd33a4e01abf1732951a64b2276b74f425 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Thu, 25 Dec 2014 21:04:39 +0200 Subject: [PATCH 003/643] Remove seemingly unneeded upper bound --- build-constraints.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index 75ec409c..89f635c3 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -110,7 +110,7 @@ packages: #- distributed-process-task #- distributed-process-execution - - kure <= 2.4.10 + - kure "Omari Norman ": - barecheck From 982bcfa2ad233e41e82b4d1319e280623b14a99c Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Fri, 26 Dec 2014 13:43:44 +0200 Subject: [PATCH 004/643] WIP new upload --- ChangeLog.md | 4 + Stackage/PerformBuild.hs | 10 --- Stackage/Prelude.hs | 13 +++ Stackage/ServerBundle.hs | 173 +++++++++++++++++++++++++++++++++++++-- Stackage/Upload.hs | 129 +++++++++++++---------------- stackage.cabal | 3 +- 6 files changed, 243 insertions(+), 89 deletions(-) diff --git a/ChangeLog.md b/ChangeLog.md index 2a524e11..37704fa8 100644 --- a/ChangeLog.md +++ b/ChangeLog.md @@ -1,3 +1,7 @@ +## 0.4.0 + +* Upload bundle V2 stuff + ## 0.3.1 * Added `justCheck` and `stackage check` command line. diff --git a/Stackage/PerformBuild.hs b/Stackage/PerformBuild.hs index 31602d55..5299f34e 100644 --- a/Stackage/PerformBuild.hs +++ b/Stackage/PerformBuild.hs @@ -412,16 +412,6 @@ singleBuild pb@PerformBuild {..} SingleBuild {..} = renameOrCopy :: FilePath -> FilePath -> IO () renameOrCopy src dest = rename src dest `catchIO` \_ -> copyDir src dest -copyDir :: FilePath -> FilePath -> IO () -copyDir src dest = - runResourceT $ sourceDirectoryDeep False src $$ mapM_C go - where - src' = src "" - go fp = forM_ (F.stripPrefix src' fp) $ \suffix -> do - let dest' = dest suffix - liftIO $ createTree $ parent dest' - sourceFile fp $$ (sinkFile dest' :: Sink ByteString (ResourceT IO) ()) - copyBuiltInHaddocks :: FilePath -> IO () copyBuiltInHaddocks docdir = do mghc <- findExecutable "ghc" diff --git a/Stackage/Prelude.hs b/Stackage/Prelude.hs index ab2187fc..28fff061 100644 --- a/Stackage/Prelude.hs +++ b/Stackage/Prelude.hs @@ -20,6 +20,9 @@ import Distribution.Version as X (Version (..), VersionRange) import Distribution.Version as X (withinRange) import qualified Distribution.Version as C +import Filesystem (createTree) +import Filesystem.Path (parent) +import qualified Filesystem.Path as F unPackageName :: PackageName -> Text unPackageName (PackageName str) = pack str @@ -101,3 +104,13 @@ topologicalSort toFinal toDeps = data TopologicalSortException key = NoEmptyDeps (Map key (Set key)) deriving (Show, Typeable) instance (Show key, Typeable key) => Exception (TopologicalSortException key) + +copyDir :: FilePath -> FilePath -> IO () +copyDir src dest = + runResourceT $ sourceDirectoryDeep False src $$ mapM_C go + where + src' = src "" + go fp = forM_ (F.stripPrefix src' fp) $ \suffix -> do + let dest' = dest suffix + liftIO $ createTree $ parent dest' + sourceFile fp $$ (sinkFile dest' :: Sink ByteString (ResourceT IO) ()) diff --git a/Stackage/ServerBundle.hs b/Stackage/ServerBundle.hs index 6cdf5cb4..5aedb090 100644 --- a/Stackage/ServerBundle.hs +++ b/Stackage/ServerBundle.hs @@ -7,21 +7,31 @@ module Stackage.ServerBundle , epochTime , bpAllPackages , docsListing + , createBundleV2 + , CreateBundleV2 (..) + , SnapshotType (..) + , writeIndexStyle + , DocMap + , PackageDocs (..) ) where import qualified Codec.Archive.Tar as Tar import qualified Codec.Archive.Tar.Entry as Tar import qualified Codec.Compression.GZip as GZip import qualified Data.Map as M +import Data.Aeson (ToJSON (..), (.=), object, FromJSON (..), (.:), withObject) +import System.IO.Temp (withTempDirectory) import qualified Data.Yaml as Y -import Filesystem (isFile) +import Filesystem (isFile, getWorkingDirectory, listDirectory, isDirectory, canonicalizePath) import Foreign.C.Types (CTime (CTime)) import Stackage.BuildConstraints import Stackage.BuildPlan import Stackage.Prelude +import System.IO.Temp (withTempDirectory) import qualified System.PosixCompat.Time as PC import qualified Text.XML as X import Text.XML.Cursor +import System.PosixCompat.Files (createSymbolicLink) -- | Get current time epochTime :: IO Tar.EpochTime @@ -73,13 +83,30 @@ serverBundle time title slug bp@BuildPlan {..} = GZip.compress $ Tar.write map (\(PackageName name) -> name) (M.keys $ siCorePackages bpSystemInfo) +-- | Package name is key +type DocMap = Map Text PackageDocs +data PackageDocs = PackageDocs + { pdVersion :: Text + , pdModules :: Map Text [Text] + -- ^ module name, path + } +instance ToJSON PackageDocs where + toJSON PackageDocs {..} = object + [ "version" .= pdVersion + , "modules" .= pdModules + ] +instance FromJSON PackageDocs where + parseJSON = withObject "PackageDocs" $ \o -> PackageDocs + <$> o .: "version" + <*> o .: "modules" + docsListing :: BuildPlan -> FilePath -- ^ docs directory - -> IO ByteString + -> IO DocMap docsListing bp docsDir = - fmap (Y.encode . fold) $ mapM go $ mapToList $ bpAllPackages bp + fmap fold $ mapM go $ mapToList $ bpAllPackages bp where - go :: (PackageName, Version) -> IO (Map Text Y.Value) + go :: (PackageName, Version) -> IO DocMap go (package, version) = do -- handleAny (const $ return mempty) $ do let dirname = fpFromText (concat [ display package @@ -107,8 +134,138 @@ docsListing bp docsDir = return $ if e then asMap $ singletonMap name [fpToText dirname, href] else mempty - return $ singletonMap (display package) $ Y.object - [ "version" Y..= display version - , "modules" Y..= m - ] + return $ singletonMap (display package) $ PackageDocs + { pdVersion = display version + , pdModules = m + } else return mempty + +data SnapshotType = STNightly + | STLTS !Int !Int -- ^ major, minor + deriving (Show, Read, Eq, Ord) + +instance ToJSON SnapshotType where + toJSON STNightly = object + [ "type" .= asText "nightly" + ] + toJSON (STLTS major minor) = object + [ "type" .= asText "lts" + , "major" .= major + , "minor" .= minor + ] +instance FromJSON SnapshotType where + parseJSON = withObject "SnapshotType" $ \o -> do + t <- o .: "type" + case asText t of + "nightly" -> return STNightly + "lts" -> STLTS + <$> o .: "major" + <*> o .: "minor" + _ -> fail $ "Unknown type for SnapshotType: " ++ unpack t + +data CreateBundleV2 = CreateBundleV2 + { cb2Plan :: BuildPlan + , cb2Type :: SnapshotType + , cb2DocsDir :: FilePath + , cb2Dest :: FilePath + } + +-- | Create a V2 bundle, which contains the build plan, metadata, docs, and doc +-- map. +createBundleV2 :: CreateBundleV2 -> IO () +createBundleV2 CreateBundleV2 {..} = do + docsDir <- canonicalizePath cb2DocsDir + docMap <- docsListing cb2Plan cb2DocsDir + + Y.encodeFile (fpToString $ docsDir "build-plan.yaml") cb2Plan + Y.encodeFile (fpToString $ docsDir "build-type.yaml") cb2Type + Y.encodeFile (fpToString $ docsDir "docs-map.yaml") docMap + void $ writeIndexStyle Nothing cb2DocsDir + + currentDir <- getWorkingDirectory + files <- listDirectory docsDir + + let args = "cfJ" + : fpToString (currentDir cb2Dest) + : "--dereference" + : map (fpToString . filename) files + cp = (proc "tar" args) { cwd = Just $ fpToString docsDir } + withCheckedProcess cp $ \ClosedStream Inherited Inherited -> return () + +writeIndexStyle :: Maybe Text -- ^ snapshot id + -> FilePath -- ^ docs dir + -> IO [String] +writeIndexStyle msnapid dir = do + dirs <- fmap sort + $ runResourceT + $ sourceDirectory dir + $$ filterMC (liftIO . isDirectory) + =$ mapC (fpToString . filename) + =$ sinkList + writeFile (dir "index.html") $ mkIndex + (unpack <$> msnapid) + dirs + writeFile (dir "style.css") styleCss + return dirs + +mkIndex :: Maybe String -> [String] -> String +mkIndex msnapid dirs = concat + [ "\nHaddocks index" + , "" + , "" + , "" + , "" + , "
" + , "
" + , "

Haddock documentation index

" + , flip foldMap msnapid $ \snapid -> concat + [ "

Return to snapshot

" + ] + , "
    " + , concatMap toLI dirs + , "
" + ] + where + toLI name = concat + [ "
  • " + , name + , "
  • " + ] + +styleCss :: String +styleCss = concat + [ "@media (min-width: 530px) {" + , "ul { -webkit-column-count: 2; -moz-column-count: 2; column-count: 2 }" + , "}" + , "@media (min-width: 760px) {" + , "ul { -webkit-column-count: 3; -moz-column-count: 3; column-count: 3 }" + , "}" + , "ul {" + , " margin-left: 0;" + , " padding-left: 0;" + , " list-style-type: none;" + , "}" + , "body {" + , " background: #f0f0f0;" + , " font-family: 'Lato', sans-serif;" + , " text-shadow: 1px 1px 1px #ffffff;" + , " font-size: 20px;" + , " line-height: 30px;" + , " padding-bottom: 5em;" + , "}" + , "h1 {" + , " font-weight: normal;" + , " color: #06537d;" + , " font-size: 45px;" + , "}" + , ".return a {" + , " color: #06537d;" + , " font-style: italic;" + , "}" + , ".return {" + , " margin-bottom: 1em;" + , "}"] diff --git a/Stackage/Upload.hs b/Stackage/Upload.hs index bb1c8246..bea1c289 100644 --- a/Stackage/Upload.hs +++ b/Stackage/Upload.hs @@ -13,17 +13,23 @@ module Stackage.Upload , uploadHackageDistro , UploadDocMap (..) , uploadDocMap + , uploadBundleV2 + , UploadBundleV2 (..) ) where import Control.Monad.Writer.Strict (execWriter, tell) import Data.Default.Class (Default (..)) +import Data.Function (fix) import Filesystem (isDirectory, isFile) import Network.HTTP.Client +import qualified Network.HTTP.Client.Conduit as HCC import Network.HTTP.Client.MultipartFormData import Stackage.BuildPlan (BuildPlan) import Stackage.Prelude -import Stackage.ServerBundle (bpAllPackages, docsListing) +import Stackage.ServerBundle (bpAllPackages, docsListing, writeIndexStyle) import System.IO.Temp (withSystemTempFile) +import qualified System.IO as IO +import qualified Data.Yaml as Y newtype StackageServer = StackageServer { unStackageServer :: Text } deriving (Show, Eq, Ord, Hashable, IsString) @@ -106,17 +112,7 @@ uploadDocs (UploadDocs (StackageServer host) fp0 token ident) man = do where uploadDocsDir = withSystemTempFile "haddocks.tar.xz" $ \fp h -> do hClose h - dirs <- fmap sort - $ runResourceT - $ sourceDirectory fp0 - $$ filterMC (liftIO . isDirectory) - =$ mapC (fpToString . filename) - =$ sinkList - writeFile (fp0 "index.html") $ mkIndex - (unpack $ unSnapshotIdent ident) - dirs - writeFile (fp0 "style.css") styleCss - -- FIXME write index.html, style.css + dirs <- writeIndexStyle (Just $ unSnapshotIdent ident) fp0 let cp = (proc "tar" $ "cJf" : fp : "index.html" : "style.css" : dirs) { cwd = Just $ fpToString fp0 } @@ -187,7 +183,7 @@ uploadDocMap :: UploadDocMap -> Manager -> IO (Response LByteString) uploadDocMap UploadDocMap {..} man = do docmap <- docsListing udmPlan udmDocDir req1 <- parseUrl $ unpack $ unStackageServer udmServer ++ "/upload-doc-map" - req2 <- formDataBody (formData docmap) req1 + req2 <- formDataBody (formData $ Y.encode docmap) req1 let req3 = req2 { method = "PUT" , requestHeaders = @@ -205,61 +201,54 @@ uploadDocMap UploadDocMap {..} man = do , partFileRequestBody "docmap" "docmap" $ RequestBodyBS docmap ] -mkIndex :: String -> [String] -> String -mkIndex snapid dirs = concat - [ "\nHaddocks index" - , "" - , "" - , "" - , "" - , "
    " - , "
    " - , "

    Haddock documentation index

    " - , "

    Return to snapshot

      " - , concatMap toLI dirs - , "
    " - ] - where - toLI name = concat - [ "
  • " - , name - , "
  • " - ] +data UploadBundleV2 = UploadBundleV2 + { ub2Server :: StackageServer + , ub2AuthToken :: Text + , ub2Bundle :: FilePath + } -styleCss :: String -styleCss = concat - [ "@media (min-width: 530px) {" - , "ul { -webkit-column-count: 2; -moz-column-count: 2; column-count: 2 }" - , "}" - , "@media (min-width: 760px) {" - , "ul { -webkit-column-count: 3; -moz-column-count: 3; column-count: 3 }" - , "}" - , "ul {" - , " margin-left: 0;" - , " padding-left: 0;" - , " list-style-type: none;" - , "}" - , "body {" - , " background: #f0f0f0;" - , " font-family: 'Lato', sans-serif;" - , " text-shadow: 1px 1px 1px #ffffff;" - , " font-size: 20px;" - , " line-height: 30px;" - , " padding-bottom: 5em;" - , "}" - , "h1 {" - , " font-weight: normal;" - , " color: #06537d;" - , " font-size: 45px;" - , "}" - , ".return a {" - , " color: #06537d;" - , " font-style: italic;" - , "}" - , ".return {" - , " margin-bottom: 1em;" - , "}"] +uploadBundleV2 :: UploadBundleV2 -> Manager -> IO Text +uploadBundleV2 UploadBundleV2 {..} man = IO.withBinaryFile (fpToString ub2Bundle) IO.ReadMode $ \h -> do + size <- IO.hFileSize h + req1 <- parseUrl $ unpack $ unStackageServer ub2Server ++ "/upload2" + let req2 = req1 + { method = "PUT" + , requestHeaders = + [ ("Authorization", encodeUtf8 ub2AuthToken) + , ("Accept", "application/json") + , ("Content-Type", "application/x-tar") + ] + , requestBody = HCC.requestBodySource (fromIntegral size) + $ sourceHandle h $= printProgress size + } + sink = decodeUtf8C =$ fix (\loop -> do + mx <- peekC + case mx of + Nothing -> error $ "uploadBundleV2: premature end of stream" + Just _ -> do + l <- lineC $ takeCE 4096 =$ foldC + let (cmd, msg') = break (== ':') l + msg = dropWhile (== ' ') $ dropWhile (== ':') msg' + case cmd of + "CONT" -> do + putStrLn msg + loop + "FAILURE" -> error $ "uploadBundleV2 failed: " ++ unpack msg + "SUCCESS" -> return msg + _ -> error $ "uploadBundleV2: unknown command " ++ unpack cmd + ) + withResponse req2 man $ \res -> HCC.bodyReaderSource (responseBody res) $$ sink + where + printProgress total = + loop 0 0 + where + loop sent lastPercent = + await >>= maybe (putStrLn "Upload complete") go + where + go bs = do + yield bs + let sent' = sent + fromIntegral (length bs) + percent = sent' * 100 `div` total + when (percent /= lastPercent) + $ putStrLn $ "Upload progress: " ++ tshow percent ++ "%" + loop sent' percent diff --git a/stackage.cabal b/stackage.cabal index 842cdbd7..d9e2a06d 100644 --- a/stackage.cabal +++ b/stackage.cabal @@ -1,5 +1,5 @@ name: stackage -version: 0.3.1 +version: 0.4.0 synopsis: "Stable Hackage," tools for creating a vetted set of packages from Hackage. description: Please see for a description and documentation. homepage: https://github.com/fpco/stackage @@ -52,6 +52,7 @@ library , yaml , unix-compat , http-client + , http-conduit , http-client-tls , temporary , data-default-class From 846c934ec3454a43586252d299ebc458e83090d5 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Sat, 27 Dec 2014 18:09:02 +0200 Subject: [PATCH 005/643] Temporarily revert #382 --- build-constraints.yaml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index 391a85c5..f23f511c 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -398,8 +398,10 @@ packages: - FenwickTree - hPDB - hPDB-examples - - wordpass - - json-autotype + + # https://github.com/fpco/stackage/pull/382#issuecomment-68182467 + # - wordpass + # - json-autotype "Roman Cheplyaka ": - action-permutations From f7aa2e2aa67b0a047a3d948851db6a817993ae27 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Sun, 28 Dec 2014 09:29:38 +0200 Subject: [PATCH 006/643] Add two conduit packages --- build-constraints.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index f23f511c..8895f913 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -42,6 +42,8 @@ packages: - repa-algorithms - repa-devil - JuicyPixels-repa + - cereal-conduit + - binary-conduit "FP Complete michael@fpcomplete.com @snoyberg": - alex From 3d5a826ed6976b83579dd789a50220f1e67f521f Mon Sep 17 00:00:00 2001 From: Alexander Thiemann Date: Mon, 29 Dec 2014 03:54:27 +0100 Subject: [PATCH 007/643] added more Spock packages --- build-constraints.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index f23f511c..2b3cbf06 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -588,6 +588,8 @@ packages: - graph-core - reroute - Spock + - Spock-digestive + - Spock-worker "Joey Eremondi ": - aeson-pretty From ffd56719a69620f827895a90b60ccd8a50f16e0a Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Mon, 29 Dec 2014 12:05:09 +0200 Subject: [PATCH 008/643] Upper bound lifted-async for #370 --- build-constraints.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 0e07ca36..8d25164d 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -646,6 +646,7 @@ packages: - monad-control < 1 - hasql < 0.5 - list-t < 0.4 + - lifted-async < 0.5 # Global flags are applied to all packages global-flags: From 99d4f45a89ed70fed0d8ee4e8aec0d33895ef6ae Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Mon, 29 Dec 2014 12:05:56 +0200 Subject: [PATCH 009/643] Fix upper bound --- build-constraints.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index 8d25164d..bed91bb5 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -646,7 +646,7 @@ packages: - monad-control < 1 - hasql < 0.5 - list-t < 0.4 - - lifted-async < 0.5 + - lifted-async < 0.3 # Global flags are applied to all packages global-flags: From 8494957758fdf0310a94e192d6c354452cb71068 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Mon, 29 Dec 2014 12:17:04 +0200 Subject: [PATCH 010/643] More upper bounds #370 #384 --- build-constraints.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index bed91bb5..bcc93f35 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -645,6 +645,8 @@ packages: # https://github.com/fpco/stackage/issues/370 - monad-control < 1 - hasql < 0.5 + - hasql-backend < 0.3 + - hasql-postgres < 0.10 - list-t < 0.4 - lifted-async < 0.3 From 2da61ec1a75b7011913f9db29474bdbe21c382e9 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Mon, 29 Dec 2014 12:23:48 +0200 Subject: [PATCH 011/643] Temporarily remove hopenpgp-tools #319 --- build-constraints.yaml | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index bcc93f35..9932f13b 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -455,7 +455,8 @@ packages: - openpgp-asciiarmor - MusicBrainz - DAV - - hopenpgp-tools + # https://github.com/fpco/stackage/issues/319 + # - hopenpgp-tools # https://github.com/fpco/stackage/issues/160 "Ketil Malde": @@ -636,12 +637,6 @@ packages: # https://github.com/fpco/stackage/issues/291 - random < 1.0.1.3 - # https://github.com/fpco/stackage/issues/318 - - HaXml < 1.25 - - # https://github.com/fpco/stackage/issues/319 - - polyparse < 1.10 - # https://github.com/fpco/stackage/issues/370 - monad-control < 1 - hasql < 0.5 From bfac675e216b62790c7216cb1d29b20dee1aa191 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Mon, 29 Dec 2014 12:55:10 +0200 Subject: [PATCH 012/643] Add lzma-conduit --- build-constraints.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 9932f13b..980c2580 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -44,6 +44,7 @@ packages: - JuicyPixels-repa - cereal-conduit - binary-conduit + - lzma-conduit "FP Complete michael@fpcomplete.com @snoyberg": - alex From b696813990df868d5636e180a5b2ce26a8273b59 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Mon, 29 Dec 2014 14:02:50 +0200 Subject: [PATCH 013/643] Expected HaXml Haddock failure #385 --- build-constraints.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 980c2580..3877e6ba 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -863,6 +863,9 @@ expected-haddock-failures: # https://github.com/ekmett/gl/issues/4 - gl + # https://github.com/fpco/stackage/issues/385 + - HaXml + # Benchmarks which should not be built. Note that Stackage does *not* generally # build benchmarks. The difference here will be whether dependencies for these # benchmarks are included or not. From e969234668b4693f176fb3a1fdadba6668368c6d Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Mon, 29 Dec 2014 15:28:01 +0200 Subject: [PATCH 014/643] Expected test failure vincenthz/hs-crypto-pubkey#17 --- build-constraints.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 3877e6ba..27432eee 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -855,6 +855,9 @@ expected-test-failures: - crypto-numbers - distributed-process-task + # https://github.com/vincenthz/hs-crypto-pubkey/issues/17 + - crypto-pubkey + # Haddocks which are expected to fail. Same concept as expected test failures. expected-haddock-failures: # https://github.com/acw/bytestring-progress/issues/4 From e10ac7c34984388e6f90b23852cddf8ea97c17e4 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Mon, 29 Dec 2014 15:29:24 +0200 Subject: [PATCH 015/643] Add liblzma-dev Debian package Pinging @manny-fp --- debian-bootstrap.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/debian-bootstrap.sh b/debian-bootstrap.sh index 13d45155..50177b28 100755 --- a/debian-bootstrap.sh +++ b/debian-bootstrap.sh @@ -46,4 +46,5 @@ sudo apt-get install -y \ libnotify-dev \ libgd2-xpm-dev \ libyaml-dev \ + liblzma-dev \ libzmq3-dev From 6e831efb166c897c92c5384d5eb9bfc593b6ea22 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Mon, 29 Dec 2014 15:31:03 +0200 Subject: [PATCH 016/643] Expected test failure agrafix/Spock-worker#2 --- build-constraints.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 27432eee..c7e8a4df 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -858,6 +858,9 @@ expected-test-failures: # https://github.com/vincenthz/hs-crypto-pubkey/issues/17 - crypto-pubkey + # https://github.com/agrafix/Spock-worker/issues/2 + - Spock-worker + # Haddocks which are expected to fail. Same concept as expected test failures. expected-haddock-failures: # https://github.com/acw/bytestring-progress/issues/4 From 4e2d1913cd0ed00f69350d589cb5a8e4a2ed2ba2 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Mon, 29 Dec 2014 15:39:23 +0200 Subject: [PATCH 017/643] Remove upper bounds and close #384 --- build-constraints.yaml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index c7e8a4df..9fea51c9 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -640,10 +640,6 @@ packages: # https://github.com/fpco/stackage/issues/370 - monad-control < 1 - - hasql < 0.5 - - hasql-backend < 0.3 - - hasql-postgres < 0.10 - - list-t < 0.4 - lifted-async < 0.3 # Global flags are applied to all packages From 2edae13c1be0b0c96fd1e3386fe7dd58fbbd6687 Mon Sep 17 00:00:00 2001 From: Emanuel Borsboom Date: Mon, 29 Dec 2014 18:41:32 -0800 Subject: [PATCH 018/643] Add broadcast-chan --- build-constraints.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 9fea51c9..2e9e3588 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -547,6 +547,7 @@ packages: "Emanuel Borsobom ": - BoundedChan + - broadcast-chan - bytestring-lexing - bytestring-trie - data-accessor From 6ade4f88a61b174a0a59b322e708ca3d37fadc77 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Tue, 30 Dec 2014 05:59:51 +0200 Subject: [PATCH 019/643] Add back packages from #382 --- build-constraints.yaml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index 2e9e3588..fec41263 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -402,9 +402,8 @@ packages: - hPDB - hPDB-examples - # https://github.com/fpco/stackage/pull/382#issuecomment-68182467 - # - wordpass - # - json-autotype + - wordpass + - json-autotype "Roman Cheplyaka ": - action-permutations From 982ac1580940d7770620d297f4b096321b9195ec Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Tue, 30 Dec 2014 06:02:04 +0200 Subject: [PATCH 020/643] Add back packages and close #381 --- build-constraints.yaml | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index fec41263..d61afd50 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -108,10 +108,8 @@ packages: - distributed-process-async - distributed-process-client-server - distributed-process-supervisor - - # https://github.com/fpco/stackage/issues/381 - #- distributed-process-task - #- distributed-process-execution + - distributed-process-task + - distributed-process-execution - kure From 08011c036edb83231c8a84a193006d3a562e4e90 Mon Sep 17 00:00:00 2001 From: Dominic Steinitz Date: Tue, 30 Dec 2014 09:13:29 +0000 Subject: [PATCH 021/643] Add yarr. --- build-constraints.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index d61afd50..fc172aaf 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -403,6 +403,9 @@ packages: - wordpass - json-autotype + "Dominic Steinitz ": + - yarr + "Roman Cheplyaka ": - action-permutations - amqp From ffca332cba38cdcb39900181f76144e429975eef Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Tue, 30 Dec 2014 14:16:33 +0200 Subject: [PATCH 022/643] Remove expected failure --- build-constraints.yaml | 3 --- 1 file changed, 3 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index d61afd50..c6adca8e 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -852,9 +852,6 @@ expected-test-failures: # https://github.com/vincenthz/hs-crypto-pubkey/issues/17 - crypto-pubkey - # https://github.com/agrafix/Spock-worker/issues/2 - - Spock-worker - # Haddocks which are expected to fail. Same concept as expected test failures. expected-haddock-failures: # https://github.com/acw/bytestring-progress/issues/4 From 97cc42a6d2b6d35e29a638908183c46f4250f10c Mon Sep 17 00:00:00 2001 From: Emanuel Borsboom Date: Tue, 30 Dec 2014 11:34:20 -0800 Subject: [PATCH 023/643] Add wl-pprint-text This was pulled in by graphviz, so it disappeared after graphviz was removed. --- build-constraints.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index c6adca8e..42b767e8 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -563,6 +563,7 @@ packages: - multimap - parallel-io - text-binary + - wl-pprint-text "Michael Sloan Date: Wed, 31 Dec 2014 10:47:15 +0200 Subject: [PATCH 024/643] Upper bound for #389 --- build-constraints.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 42b767e8..b7022782 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -641,6 +641,9 @@ packages: - monad-control < 1 - lifted-async < 0.3 + # https://github.com/fpco/stackage/issues/389 + - lens < 4.7 + # Global flags are applied to all packages global-flags: blaze_html_0_5: true From 7819eea565ecfa0c4a013038810fa2683618b008 Mon Sep 17 00:00:00 2001 From: Chris Done Date: Wed, 31 Dec 2014 18:52:30 +0100 Subject: [PATCH 025/643] Port stackage.hs to use optparse-applicative --- app/stackage.hs | 56 +++++++++++++++++++++++++++++++++++++------------ stackage.cabal | 1 + 2 files changed, 44 insertions(+), 13 deletions(-) diff --git a/app/stackage.hs b/app/stackage.hs index b78dbb9c..c324221e 100644 --- a/app/stackage.hs +++ b/app/stackage.hs @@ -1,16 +1,46 @@ +module Main where + +import Control.Monad +import Data.Monoid +import Data.Version +import Options.Applicative +import Paths_stackage (version) import Stackage.CompleteBuild -import System.Environment (getArgs) main :: IO () -main = do - args <- getArgs - case args of - [x] | Just y <- lookup x m -> y - _ -> error $ "Expected one argument, one of: " ++ unwords (map fst m) - where - m = - [ ("nightly", completeBuild Nightly) - , ("lts-major", completeBuild $ LTS Major) - , ("lts-minor", completeBuild $ LTS Minor) - , ("check", justCheck) - ] +main = + join (execParser + (info (helpOption <*> versionOption <*> config) + (header "Stackage" <> + fullDesc))) + where helpOption = + abortOption + ShowHelpText + (long "help" <> + help "Show this help text") + versionOption = + infoOption + ("fpbuild version " ++ showVersion version) + (long "version" <> + help "Show fpbuild version") + config = + subparser (mconcat [cmnd completeBuild + (pure Nightly) + "nightly" + "Build, test and upload the Nightly snapshot" + ,cmnd completeBuild + (pure (LTS Major)) + "lts-major" + "Build, test and upload the LTS (major) snapshot" + ,cmnd completeBuild + (pure (LTS Minor)) + "lts-minor" + "Build, test and upload the LTS (minor) snapshot" + ,cmnd (const justCheck) + (pure ()) + "check" + "Just check that the build plan is ok"]) + cmnd exec parse name desc = + (command name + (info (fmap exec parse) + (progDesc desc))) diff --git a/stackage.cabal b/stackage.cabal index 842cdbd7..e02a3ab2 100644 --- a/stackage.cabal +++ b/stackage.cabal @@ -68,6 +68,7 @@ executable stackage main-is: stackage.hs build-depends: base , stackage + , optparse-applicative >= 0.11 ghc-options: -rtsopts -threaded -with-rtsopts=-N test-suite spec From c42b61bd4c1fd3fe88bb5355c7ce4ffdb7ecbbdc Mon Sep 17 00:00:00 2001 From: Chris Done Date: Wed, 31 Dec 2014 19:33:59 +0100 Subject: [PATCH 026/643] Reformat stackage.hs in tibbe style @snoyberg Not bad, ran this through hindent --johan-tibell, looks legit. Looks like you wrote it =) --- app/stackage.hs | 82 ++++++++++++++++++++++++++++++------------------- 1 file changed, 50 insertions(+), 32 deletions(-) diff --git a/app/stackage.hs b/app/stackage.hs index c324221e..386c5644 100644 --- a/app/stackage.hs +++ b/app/stackage.hs @@ -1,3 +1,5 @@ +{-# LANGUAGE TupleSections #-} + module Main where import Control.Monad @@ -9,38 +11,54 @@ import Stackage.CompleteBuild main :: IO () main = - join (execParser - (info (helpOption <*> versionOption <*> config) - (header "Stackage" <> - fullDesc))) - where helpOption = - abortOption - ShowHelpText - (long "help" <> - help "Show this help text") - versionOption = - infoOption + join $ + execParser $ + info + (helpOption <*> versionOption <*> config) + (header "Stackage" <> + fullDesc) + where + helpOption = + abortOption ShowHelpText $ + long "help" <> + help "Show this help text" + versionOption = + infoOption ("fpbuild version " ++ showVersion version) (long "version" <> help "Show fpbuild version") - config = - subparser (mconcat [cmnd completeBuild - (pure Nightly) - "nightly" - "Build, test and upload the Nightly snapshot" - ,cmnd completeBuild - (pure (LTS Major)) - "lts-major" - "Build, test and upload the LTS (major) snapshot" - ,cmnd completeBuild - (pure (LTS Minor)) - "lts-minor" - "Build, test and upload the LTS (minor) snapshot" - ,cmnd (const justCheck) - (pure ()) - "check" - "Just check that the build plan is ok"]) - cmnd exec parse name desc = - (command name - (info (fmap exec parse) - (progDesc desc))) + config = + subparser $ + mconcat + [ cmnd + (uncurry completeBuild) + (fmap (Nightly, ) buildFlags) + "nightly" + "Build, test and upload the Nightly snapshot" + , cmnd + (uncurry completeBuild) + (fmap (LTS Major, ) buildFlags) + "lts-major" + "Build, test and upload the LTS (major) snapshot" + , cmnd + (uncurry completeBuild) + (fmap (LTS Minor, ) buildFlags) + "lts-minor" + "Build, test and upload the LTS (minor) snapshot" + , cmnd + (const justCheck) + (pure ()) + "check" + "Just check that the build plan is ok"] + cmnd exec parse name desc = + command name $ + info + (fmap exec parse) + (progDesc desc) + buildFlags = + BuildFlags <$> + fmap + not + (switch + (long "skip-tests" <> + help "Skip build and running the test suites")) From 787db34739adda4bb0a5db99f7bb6db22b654bf6 Mon Sep 17 00:00:00 2001 From: Chris Done Date: Wed, 31 Dec 2014 19:35:25 +0100 Subject: [PATCH 027/643] Add --skip-flags and pbEnableTests (#3976) --- Stackage/CompleteBuild.hs | 11 +++++++++-- Stackage/PerformBuild.hs | 3 ++- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/Stackage/CompleteBuild.hs b/Stackage/CompleteBuild.hs index c1b087ac..39930292 100644 --- a/Stackage/CompleteBuild.hs +++ b/Stackage/CompleteBuild.hs @@ -4,6 +4,7 @@ module Stackage.CompleteBuild ( BuildType (..) , BumpType (..) + , BuildFlags (..) , completeBuild , justCheck ) where @@ -24,6 +25,11 @@ import Stackage.UpdateBuildPlan import Stackage.Upload import System.IO (BufferMode (LineBuffering), hSetBuffering) +-- | Flags passed in from the command line. +data BuildFlags = BuildFlags + { bfEnableTests :: !Bool + } deriving (Show) + data BuildType = Nightly | LTS BumpType deriving (Show, Read, Eq, Ord) @@ -149,8 +155,8 @@ justCheck = withManager tlsManagerSettings $ \man -> do putStrLn "Plan seems valid!" -completeBuild :: BuildType -> IO () -completeBuild buildType = withManager tlsManagerSettings $ \man -> do +completeBuild :: BuildType -> BuildFlags -> IO () +completeBuild buildType buildFlags = withManager tlsManagerSettings $ \man -> do hSetBuffering stdout LineBuffering putStrLn $ "Loading settings for: " ++ tshow buildType @@ -170,6 +176,7 @@ completeBuild buildType = withManager tlsManagerSettings $ \man -> do , pbLog = hPut stdout , pbJobs = 8 , pbGlobalInstall = False + , pbEnableTests = bfEnableTests buildFlags } performBuild pb >>= mapM_ putStrLn diff --git a/Stackage/PerformBuild.hs b/Stackage/PerformBuild.hs index 31602d55..d24a1d4a 100644 --- a/Stackage/PerformBuild.hs +++ b/Stackage/PerformBuild.hs @@ -61,6 +61,7 @@ data PerformBuild = PerformBuild , pbJobs :: Int , pbGlobalInstall :: Bool -- ^ Register packages in the global database + , pbEnableTests :: Bool } data PackageInfo = PackageInfo @@ -378,7 +379,7 @@ singleBuild pb@PerformBuild {..} SingleBuild {..} = runTests = wf testOut $ \outH -> do let run = runChild outH - when (pcTests /= Don'tBuild) $ do + when (pbEnableTests && pcTests /= Don'tBuild) $ do log' $ "Test configure " ++ namever run "cabal" $ "configure" : "--enable-tests" : configArgs From a16bc2b13f137723e5664ee1cc4cddb9836ff2ba Mon Sep 17 00:00:00 2001 From: Chris Done Date: Wed, 31 Dec 2014 19:36:32 +0100 Subject: [PATCH 028/643] Add .dir-locals.el for emacs style conformance --- .dir-locals.el | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 .dir-locals.el diff --git a/.dir-locals.el b/.dir-locals.el new file mode 100644 index 00000000..101363c1 --- /dev/null +++ b/.dir-locals.el @@ -0,0 +1,3 @@ +((haskell-mode . ((haskell-process-type . cabal-repl) + (haskell-indent-spaces . 4) + (hindent-style . "johan-tibell")))) From fb73435572b76a665dc3a2c079e2be3cdff1eb15 Mon Sep 17 00:00:00 2001 From: Chris Done Date: Wed, 31 Dec 2014 19:42:53 +0100 Subject: [PATCH 029/643] Split off uploading into separate finallyUpload --- Stackage/CompleteBuild.hs | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/Stackage/CompleteBuild.hs b/Stackage/CompleteBuild.hs index 39930292..b7b5550e 100644 --- a/Stackage/CompleteBuild.hs +++ b/Stackage/CompleteBuild.hs @@ -155,12 +155,14 @@ justCheck = withManager tlsManagerSettings $ \man -> do putStrLn "Plan seems valid!" +-- | Make a complete plan, build, test and upload bundle, docs and +-- distro. completeBuild :: BuildType -> BuildFlags -> IO () completeBuild buildType buildFlags = withManager tlsManagerSettings $ \man -> do hSetBuffering stdout LineBuffering putStrLn $ "Loading settings for: " ++ tshow buildType - Settings {..} <- getSettings man buildType + settings@Settings {..} <- getSettings man buildType putStrLn $ "Writing build plan to: " ++ fpToText planFile encodeFile (fpToString planFile) plan @@ -180,6 +182,12 @@ completeBuild buildType buildFlags = withManager tlsManagerSettings $ \man -> do } performBuild pb >>= mapM_ putStrLn + finallyUpload settings man pb + +-- | The final part of the complete build process: uploading a bundle, +-- docs and a distro to hackage. +finallyUpload :: Settings -> Manager -> PerformBuild -> IO () +finallyUpload Settings{..} man pb = do putStrLn "Uploading bundle to Stackage Server" token <- readFile "/auth-token" now <- epochTime From 1f2824540e5ab7277c056696bc4189ba110bd53c Mon Sep 17 00:00:00 2001 From: Chris Done Date: Wed, 31 Dec 2014 19:44:41 +0100 Subject: [PATCH 030/643] Add --skip-upload flag Easier for testing stackage the executable/library itself. --- Stackage/CompleteBuild.hs | 4 +++- app/stackage.hs | 7 ++++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/Stackage/CompleteBuild.hs b/Stackage/CompleteBuild.hs index b7b5550e..74717fab 100644 --- a/Stackage/CompleteBuild.hs +++ b/Stackage/CompleteBuild.hs @@ -28,6 +28,7 @@ import System.IO (BufferMode (LineBuffering), hSetBuffering) -- | Flags passed in from the command line. data BuildFlags = BuildFlags { bfEnableTests :: !Bool + , bfDoUpload :: !Bool } deriving (Show) data BuildType = Nightly | LTS BumpType @@ -182,7 +183,8 @@ completeBuild buildType buildFlags = withManager tlsManagerSettings $ \man -> do } performBuild pb >>= mapM_ putStrLn - finallyUpload settings man pb + when (bfDoUpload buildFlags) $ + finallyUpload settings man pb -- | The final part of the complete build process: uploading a bundle, -- docs and a distro to hackage. diff --git a/app/stackage.hs b/app/stackage.hs index 386c5644..e5ce61ca 100644 --- a/app/stackage.hs +++ b/app/stackage.hs @@ -61,4 +61,9 @@ main = not (switch (long "skip-tests" <> - help "Skip build and running the test suites")) + help "Skip build and running the test suites")) <*> + fmap + not + (switch + (long "skip-upload" <> + help "Skip uploading bundle, docs, etc.")) From 335fa913850d4139d1c4c467311890c3925f3574 Mon Sep 17 00:00:00 2001 From: Chris Done Date: Wed, 31 Dec 2014 22:14:57 +0100 Subject: [PATCH 031/643] Add library profiling support #3973 * Implements --enable-library-profiling in the executable * Adds pbEnableLibProfiling * Adds ability to skip profiling on some packages, e.g. skipped-profiling: - transformers-compat --- Stackage/BuildConstraints.hs | 17 +++++++++++------ Stackage/CompleteBuild.hs | 6 ++++-- Stackage/PerformBuild.hs | 3 +++ Stackage/UpdateBuildPlan.hs | 1 + app/stackage.hs | 5 ++++- 5 files changed, 23 insertions(+), 9 deletions(-) diff --git a/Stackage/BuildConstraints.hs b/Stackage/BuildConstraints.hs index 94baca9e..0da8eebd 100644 --- a/Stackage/BuildConstraints.hs +++ b/Stackage/BuildConstraints.hs @@ -88,12 +88,13 @@ data BuildConstraints = BuildConstraints } data PackageConstraints = PackageConstraints - { pcVersionRange :: VersionRange - , pcMaintainer :: Maybe Maintainer - , pcTests :: TestState - , pcHaddocks :: TestState - , pcBuildBenchmarks :: Bool - , pcFlagOverrides :: Map FlagName Bool + { pcVersionRange :: VersionRange + , pcMaintainer :: Maybe Maintainer + , pcTests :: TestState + , pcHaddocks :: TestState + , pcBuildBenchmarks :: Bool + , pcFlagOverrides :: Map FlagName Bool + , pcEnableLibProfile :: Bool } deriving (Show, Eq) instance ToJSON PackageConstraints where @@ -115,6 +116,7 @@ instance FromJSON PackageConstraints where pcBuildBenchmarks <- o .: "build-benchmarks" pcFlagOverrides <- Map.mapKeysWith const mkFlagName <$> o .: "flags" pcMaintainer <- o .:? "maintainer" + pcEnableLibProfile <- fmap (fromMaybe False) (o .:? "library-profiling") return PackageConstraints {..} -- | The proposed plan from the requirements provided by contributors. @@ -152,6 +154,7 @@ data ConstraintFile = ConstraintFile , cfSkippedBenchmarks :: Set PackageName , cfPackages :: Map Maintainer (Vector Dependency) , cfGithubUsers :: Map Text (Set Text) + , cfSkippedLibProfiling :: Set PackageName } instance FromJSON ConstraintFile where @@ -162,6 +165,7 @@ instance FromJSON ConstraintFile where cfExpectedTestFailures <- getPackages o "expected-test-failures" cfExpectedHaddockFailures <- getPackages o "expected-haddock-failures" cfSkippedBenchmarks <- getPackages o "skipped-benchmarks" + cfSkippedLibProfiling <- getPackages o "skipped-profiling" cfPackages <- o .: "packages" >>= mapM (mapM toDep) . Map.mapKeysWith const Maintainer @@ -196,6 +200,7 @@ toBC ConstraintFile {..} = do mpair = lookup name revmap pcMaintainer = fmap fst mpair pcVersionRange = maybe anyVersion snd mpair + pcEnableLibProfile = not (name `member` cfSkippedLibProfiling) pcTests | name `member` cfSkippedTests = Don'tBuild | name `member` cfExpectedTestFailures = ExpectFailure diff --git a/Stackage/CompleteBuild.hs b/Stackage/CompleteBuild.hs index 74717fab..20dec4bf 100644 --- a/Stackage/CompleteBuild.hs +++ b/Stackage/CompleteBuild.hs @@ -27,8 +27,9 @@ import System.IO (BufferMode (LineBuffering), hSetBuffering) -- | Flags passed in from the command line. data BuildFlags = BuildFlags - { bfEnableTests :: !Bool - , bfDoUpload :: !Bool + { bfEnableTests :: !Bool + , bfDoUpload :: !Bool + , bfEnableLibProfile :: !Bool } deriving (Show) data BuildType = Nightly | LTS BumpType @@ -180,6 +181,7 @@ completeBuild buildType buildFlags = withManager tlsManagerSettings $ \man -> do , pbJobs = 8 , pbGlobalInstall = False , pbEnableTests = bfEnableTests buildFlags + , pbEnableLibProfiling = bfEnableLibProfile buildFlags } performBuild pb >>= mapM_ putStrLn diff --git a/Stackage/PerformBuild.hs b/Stackage/PerformBuild.hs index d24a1d4a..e5e1c23b 100644 --- a/Stackage/PerformBuild.hs +++ b/Stackage/PerformBuild.hs @@ -62,6 +62,7 @@ data PerformBuild = PerformBuild , pbGlobalInstall :: Bool -- ^ Register packages in the global database , pbEnableTests :: Bool + , pbEnableLibProfiling :: Bool } data PackageInfo = PackageInfo @@ -299,6 +300,8 @@ singleBuild pb@PerformBuild {..} SingleBuild {..} = tell' $ "--datadir=" ++ fpToText (pbDataDir pb) tell' $ "--docdir=" ++ fpToText (pbDocDir pb) tell' $ "--flags=" ++ flags + when (pbEnableLibProfiling && pcEnableLibProfile) $ + tell' "--enable-library-profiling" where tell' x = tell (x:) diff --git a/Stackage/UpdateBuildPlan.hs b/Stackage/UpdateBuildPlan.hs index 617560b5..a1615b11 100644 --- a/Stackage/UpdateBuildPlan.hs +++ b/Stackage/UpdateBuildPlan.hs @@ -33,6 +33,7 @@ updateBuildConstraints BuildPlan {..} = , pcHaddocks = maybe ExpectSuccess pcHaddocks moldPC , pcBuildBenchmarks = maybe True pcBuildBenchmarks moldPC , pcFlagOverrides = maybe mempty pcFlagOverrides moldPC + , pcEnableLibProfile = maybe False pcEnableLibProfile moldPC } where moldBP = lookup name bpPackages diff --git a/app/stackage.hs b/app/stackage.hs index e5ce61ca..2a06c2bd 100644 --- a/app/stackage.hs +++ b/app/stackage.hs @@ -66,4 +66,7 @@ main = not (switch (long "skip-upload" <> - help "Skip uploading bundle, docs, etc.")) + help "Skip uploading bundle, docs, etc.")) <*> + switch + (long "enable-library-profiling" <> + help "Enable profiling when building") From 5712c2172ab9722edd9586f982aff007d282f38a Mon Sep 17 00:00:00 2001 From: Chris Done Date: Wed, 31 Dec 2014 22:17:45 +0100 Subject: [PATCH 032/643] Add simple verbose mode (-v) for debugging --- Stackage/CompleteBuild.hs | 2 ++ Stackage/PerformBuild.hs | 4 +++- app/stackage.hs | 5 ++++- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/Stackage/CompleteBuild.hs b/Stackage/CompleteBuild.hs index 20dec4bf..19e90c43 100644 --- a/Stackage/CompleteBuild.hs +++ b/Stackage/CompleteBuild.hs @@ -30,6 +30,7 @@ data BuildFlags = BuildFlags { bfEnableTests :: !Bool , bfDoUpload :: !Bool , bfEnableLibProfile :: !Bool + , bfVerbose :: !Bool } deriving (Show) data BuildType = Nightly | LTS BumpType @@ -182,6 +183,7 @@ completeBuild buildType buildFlags = withManager tlsManagerSettings $ \man -> do , pbGlobalInstall = False , pbEnableTests = bfEnableTests buildFlags , pbEnableLibProfiling = bfEnableLibProfile buildFlags + , pbVerbose = bfVerbose buildFlags } performBuild pb >>= mapM_ putStrLn diff --git a/Stackage/PerformBuild.hs b/Stackage/PerformBuild.hs index e5e1c23b..7cdb3efd 100644 --- a/Stackage/PerformBuild.hs +++ b/Stackage/PerformBuild.hs @@ -63,6 +63,7 @@ data PerformBuild = PerformBuild -- ^ Register packages in the global database , pbEnableTests :: Bool , pbEnableLibProfiling :: Bool + , pbVerbose :: Bool } data PackageInfo = PackageInfo @@ -316,7 +317,8 @@ singleBuild pb@PerformBuild {..} SingleBuild {..} = PackageConstraints {..} = ppConstraints $ piPlan sbPackageInfo buildLibrary = wf libOut $ \outH -> do - let run = runChild outH + let run a b = do when pbVerbose $ log' (unwords (a : b)) + runChild outH a b log' $ "Unpacking " ++ namever runParent outH "cabal" ["unpack", namever] diff --git a/app/stackage.hs b/app/stackage.hs index 2a06c2bd..08efe846 100644 --- a/app/stackage.hs +++ b/app/stackage.hs @@ -69,4 +69,7 @@ main = help "Skip uploading bundle, docs, etc.")) <*> switch (long "enable-library-profiling" <> - help "Enable profiling when building") + help "Enable profiling when building") <*> + switch + (long "verbose" <> short 'v' <> + help "Output verbose detail about the build steps") From 3ff5e04039bad1cef0a941a0d99da3a8b0c4f01f Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Thu, 1 Jan 2015 11:57:17 +0200 Subject: [PATCH 033/643] Add expected test suite failure jswebtools/language-ecmascript#60 --- build-constraints.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index b7022782..f8faf208 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -856,6 +856,9 @@ expected-test-failures: # https://github.com/vincenthz/hs-crypto-pubkey/issues/17 - crypto-pubkey + # https://github.com/jswebtools/language-ecmascript/issues/60 + - language-ecmascript + # Haddocks which are expected to fail. Same concept as expected test failures. expected-haddock-failures: # https://github.com/acw/bytestring-progress/issues/4 From 55f2b44d3be97da71fe42f8e19180f1637d5a86c Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Thu, 1 Jan 2015 16:48:19 +0200 Subject: [PATCH 034/643] haddocks fixed --- build-constraints.yaml | 3 --- 1 file changed, 3 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index f8faf208..0dda583b 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -867,9 +867,6 @@ expected-haddock-failures: # https://github.com/ekmett/gl/issues/4 - gl - # https://github.com/fpco/stackage/issues/385 - - HaXml - # Benchmarks which should not be built. Note that Stackage does *not* generally # build benchmarks. The difference here will be whether dependencies for these # benchmarks are included or not. From ae568f96893e9e9779137cef2400f6b8fdf3d04d Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Fri, 2 Jan 2015 08:15:17 +0200 Subject: [PATCH 035/643] Upper bound for #390 --- build-constraints.yaml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 0dda583b..cc7e8dfc 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -644,6 +644,11 @@ packages: # https://github.com/fpco/stackage/issues/389 - lens < 4.7 + # https://github.com/fpco/stackage/issues/390 + # NOTE: When this issue is resolved, remove the expected test failure + # for language-ecmascript as well. + - language-ecmascript < 0.17 + # Global flags are applied to all packages global-flags: blaze_html_0_5: true From b76d7e97205921bdf4673417b33b15c4d85cca41 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Fri, 2 Jan 2015 08:25:25 +0200 Subject: [PATCH 036/643] Some comments regarding GHC 7.10 --- build-constraints.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index cc7e8dfc..a51518a3 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -2,7 +2,7 @@ packages: "Michael Snoyman michael@snoyman.com @snoyberg": - bzlib-conduit - - cabal-install < 1.19 + - cabal-install < 1.19 # GHC 7.10 bumpd to 1.22 - cabal-src - case-insensitive - classy-prelude-yesod @@ -254,7 +254,7 @@ packages: - monad-products - monad-st - monad-st - - mtl < 2.2 + - mtl < 2.2 # GHC 7.10 bump - nats - numeric-extras - parsers @@ -577,7 +577,7 @@ packages: - hasql-backend - hasql-postgres - list-t - - mtl-prelude < 2 + - mtl-prelude < 2 # GHC 7.10 bump - neat-interpolation - partial-handler - postgresql-binary From 8bca1ec5c83d9f53204cb50b7b28e32e84399e86 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Fri, 2 Jan 2015 08:29:54 +0200 Subject: [PATCH 037/643] Add empty skipped-profiling section @chrisdone this is now necessary, correct? --- build-constraints.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index a51518a3..d66b2a35 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -898,6 +898,8 @@ skipped-benchmarks: # sometimes falls out-of-sync on hasql-postgres - hasql +skipped-profiling: [] + # Mapping from Github account holding a package to the Github users who should # be pinged on failure. If no value is specified here, then the owning account # will be pinged. From 5d7b7b50826994ab80e3992ebf5cd41d31c06005 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Fri, 2 Jan 2015 08:19:36 +0200 Subject: [PATCH 038/643] Set a flag for storable-complex --- build-constraints.yaml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index d66b2a35..2e2643ab 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -678,6 +678,12 @@ package-flags: simplelocalnet: true p2p: true + # GHC 7.10: Remove this + # Note that the flag is lower-cased, because that's what Cabal does + # Perhaps the codebase should automatically lower case flag names? + storable-complex: + instanceinbase: false + # By skipping a test suite, we do not pull in the build dependencies skipped-tests: - ReadArgs # old version of hspec From d39b7bf2040c2c3e8fcc762716b703eb08e50f68 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Fri, 2 Jan 2015 09:11:17 +0200 Subject: [PATCH 039/643] Remove all global flags, just use package flags --- Stackage/BuildConstraints.hs | 7 ++----- build-constraints.yaml | 32 ++++++++++++++++++++------------ 2 files changed, 22 insertions(+), 17 deletions(-) diff --git a/Stackage/BuildConstraints.hs b/Stackage/BuildConstraints.hs index 0da8eebd..0c7d492f 100644 --- a/Stackage/BuildConstraints.hs +++ b/Stackage/BuildConstraints.hs @@ -146,8 +146,7 @@ getSystemInfo = do siArch = Distribution.System.X86_64 data ConstraintFile = ConstraintFile - { cfGlobalFlags :: Map FlagName Bool - , cfPackageFlags :: Map PackageName (Map FlagName Bool) + { cfPackageFlags :: Map PackageName (Map FlagName Bool) , cfSkippedTests :: Set PackageName , cfExpectedTestFailures :: Set PackageName , cfExpectedHaddockFailures :: Set PackageName @@ -159,7 +158,6 @@ data ConstraintFile = ConstraintFile instance FromJSON ConstraintFile where parseJSON = withObject "ConstraintFile" $ \o -> do - cfGlobalFlags <- goFlagMap <$> o .: "global-flags" cfPackageFlags <- (goPackageMap . fmap goFlagMap) <$> o .: "package-flags" cfSkippedTests <- getPackages o "skipped-tests" cfExpectedTestFailures <- getPackages o "expected-test-failures" @@ -210,7 +208,6 @@ toBC ConstraintFile {..} = do | name `member` cfExpectedHaddockFailures = ExpectFailure | otherwise = ExpectSuccess - pcFlagOverrides = fromMaybe mempty (lookup name cfPackageFlags) ++ - cfGlobalFlags + pcFlagOverrides = fromMaybe mempty $ lookup name cfPackageFlags bcGithubUsers = cfGithubUsers diff --git a/build-constraints.yaml b/build-constraints.yaml index 2e2643ab..41c4d365 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -649,18 +649,6 @@ packages: # for language-ecmascript as well. - language-ecmascript < 0.17 -# Global flags are applied to all packages -global-flags: - blaze_html_0_5: true - small_base: true - https: true - splitbase: true - old-locale: true - new-base: true - bytestring-in-base: false - test-hlint: false - network-uri: true - # Package flags are applied to individual packages, and override the values of # global-flags package-flags: @@ -684,6 +672,26 @@ package-flags: storable-complex: instanceinbase: false + logfloat: + splitbase: true + + curl: + new-base: true + + # GHC 7.10 remove + aeson: + old-locale: true + + hxt: + network-uri: true + hxt-http: + network-uri: true + hxt-relaxng: + network-uri: true + + pandoc: + https: true + # By skipping a test suite, we do not pull in the build dependencies skipped-tests: - ReadArgs # old version of hspec From 9c93a258f7b390d295f148c1d13c2b6ea5f14d21 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Fri, 2 Jan 2015 09:49:58 +0200 Subject: [PATCH 040/643] Revert "haddocks fixed" This reverts commit 55f2b44d3be97da71fe42f8e19180f1637d5a86c. --- build-constraints.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 41c4d365..999a2978 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -886,6 +886,9 @@ expected-haddock-failures: # https://github.com/ekmett/gl/issues/4 - gl + # https://github.com/fpco/stackage/issues/385 + - HaXml + # Benchmarks which should not be built. Note that Stackage does *not* generally # build benchmarks. The difference here will be whether dependencies for these # benchmarks are included or not. From d52fdfffdf795c5e67c13ec1b4a322e19abb8f64 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Fri, 2 Jan 2015 11:58:37 +0200 Subject: [PATCH 041/643] Version bump --- ChangeLog.md | 6 ++++++ stackage.cabal | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/ChangeLog.md b/ChangeLog.md index 2a524e11..bc6d7be2 100644 --- a/ChangeLog.md +++ b/ChangeLog.md @@ -1,3 +1,9 @@ +## 0.4.0 + +* Command line uses optparse-applicative with additional options +* Library profiling support during build +* Remove cfGlobalFlags (just use package-specific flags) + ## 0.3.1 * Added `justCheck` and `stackage check` command line. diff --git a/stackage.cabal b/stackage.cabal index e02a3ab2..7c4831c9 100644 --- a/stackage.cabal +++ b/stackage.cabal @@ -1,5 +1,5 @@ name: stackage -version: 0.3.1 +version: 0.4.0 synopsis: "Stable Hackage," tools for creating a vetted set of packages from Hackage. description: Please see for a description and documentation. homepage: https://github.com/fpco/stackage From 243ae9c3b643f61b36f0b4ca5cf6d346bee947ae Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Fri, 2 Jan 2015 12:04:10 +0200 Subject: [PATCH 042/643] Fix a serialization bug (pinging @chrisdone) --- Stackage/BuildConstraints.hs | 1 + 1 file changed, 1 insertion(+) diff --git a/Stackage/BuildConstraints.hs b/Stackage/BuildConstraints.hs index 0c7d492f..3b3f0d01 100644 --- a/Stackage/BuildConstraints.hs +++ b/Stackage/BuildConstraints.hs @@ -104,6 +104,7 @@ instance ToJSON PackageConstraints where , "haddocks" .= pcHaddocks , "build-benchmarks" .= pcBuildBenchmarks , "flags" .= Map.mapKeysWith const unFlagName pcFlagOverrides + , "library-profiling" .= pcEnableLibProfile ] where addMaintainer = maybe id (\m -> (("maintainer" .= m):)) pcMaintainer From 378c7ec556ee3aaf9211bcdadc8b1a4c09bfe6b3 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Sat, 3 Jan 2015 19:18:53 +0200 Subject: [PATCH 043/643] HaXml documentation is really fixed this time --- build-constraints.yaml | 3 --- 1 file changed, 3 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index 999a2978..41c4d365 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -886,9 +886,6 @@ expected-haddock-failures: # https://github.com/ekmett/gl/issues/4 - gl - # https://github.com/fpco/stackage/issues/385 - - HaXml - # Benchmarks which should not be built. Note that Stackage does *not* generally # build benchmarks. The difference here will be whether dependencies for these # benchmarks are included or not. From 7d22293348acc21ada8c64911ddfedd13e11ed95 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Sun, 4 Jan 2015 08:40:15 +0200 Subject: [PATCH 044/643] Add mutable-containers --- build-constraints.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 41c4d365..aa838fd8 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -45,6 +45,7 @@ packages: - cereal-conduit - binary-conduit - lzma-conduit + - mutable-containers "FP Complete michael@fpcomplete.com @snoyberg": - alex From 2b5cc3101095fcc4f8ad5a66b0c48c89b70b2e8b Mon Sep 17 00:00:00 2001 From: Chris Done Date: Sun, 4 Jan 2015 15:38:58 +0100 Subject: [PATCH 045/643] Add back hopenpgp-tools (#319) --- build-constraints.yaml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index aa838fd8..923ea7cb 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -454,8 +454,7 @@ packages: - openpgp-asciiarmor - MusicBrainz - DAV - # https://github.com/fpco/stackage/issues/319 - # - hopenpgp-tools + - hopenpgp-tools # https://github.com/fpco/stackage/issues/160 "Ketil Malde": @@ -625,7 +624,7 @@ packages: "Marcin Mrotek ": - type-list - + "David Turner ": - alarmclock - bank-holidays-england From 6801aff76f67a1b6a005bd14be21cd6981b65400 Mon Sep 17 00:00:00 2001 From: "Julian K. Arni" Date: Sun, 4 Jan 2015 16:51:36 +0100 Subject: [PATCH 046/643] Add servant packages. --- build-constraints.yaml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 923ea7cb..6229707f 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -629,6 +629,13 @@ packages: - alarmclock - bank-holidays-england + "Haskell Servant jkarni@gmail.com @jkarni": + - servant + - servant-client + - servant-docs + - servant-jquery + - servant-server + "Stackage upper bounds": # Force a specific version that's compatible with transformers 0.3 From a99cd7dc765252bb6b9f182b879fd92087ef1b32 Mon Sep 17 00:00:00 2001 From: Alexandr Ruchkin Date: Sun, 4 Jan 2015 19:36:15 +0300 Subject: [PATCH 047/643] Adding hdocs and hsdev packages. Subj --- build-constraints.yaml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 6229707f..73fd4251 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -636,6 +636,10 @@ packages: - servant-jquery - servant-server + "Alexandr Ruchkin voidex@live.com @mvoidex": + - hdocs + - hsdev + "Stackage upper bounds": # Force a specific version that's compatible with transformers 0.3 From ee9bc2bbed4ed004b917d3a3ef63bf8853bf2542 Mon Sep 17 00:00:00 2001 From: Chris Done Date: Sun, 4 Jan 2015 20:49:14 +0100 Subject: [PATCH 048/643] Document Stackage.CheckBuildPlan --- Stackage/CheckBuildPlan.hs | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/Stackage/CheckBuildPlan.hs b/Stackage/CheckBuildPlan.hs index 1ad76b27..f13265aa 100644 --- a/Stackage/CheckBuildPlan.hs +++ b/Stackage/CheckBuildPlan.hs @@ -19,6 +19,7 @@ import Stackage.Prelude -- FIXME check cycles in dependencies, only looking at libraries and -- executables +-- | Check the build plan for missing deps, wrong versions, etc. checkBuildPlan :: MonadThrow m => BuildPlan -> m () checkBuildPlan BuildPlan {..} | null errs' = return () @@ -28,6 +29,10 @@ checkBuildPlan BuildPlan {..} errs@(BadBuildPlan errs') = execWriter $ mapM_ (checkDeps allPackages) $ mapToList bpPackages +-- | For a given package name and plan, check that its dependencies are: +-- +-- 1. Existent (existing in the provided package map) +-- 2. Within version range checkDeps :: Map PackageName Version -> (PackageName, PackagePlan) -> Writer BadBuildPlan () From 5da6e5cfa463c0ae12ca947ab2577b6f00e36db2 Mon Sep 17 00:00:00 2001 From: Chris Done Date: Sun, 4 Jan 2015 21:39:15 +0100 Subject: [PATCH 049/643] Dependency injection of newBuildPlan (#375) --- Stackage/BuildPlan.hs | 13 ++++++++++--- Stackage/CompleteBuild.hs | 15 +++++++++++---- Stackage/UpdateBuildPlan.hs | 5 +++-- test/Stackage/BuildPlanSpec.hs | 5 +++-- 4 files changed, 27 insertions(+), 11 deletions(-) diff --git a/Stackage/BuildPlan.hs b/Stackage/BuildPlan.hs index 27868f06..b8bc5376 100644 --- a/Stackage/BuildPlan.hs +++ b/Stackage/BuildPlan.hs @@ -14,6 +14,7 @@ module Stackage.BuildPlan , PackagePlan (..) , newBuildPlan , makeToolMap + , getLatestAllowedPlans ) where import Control.Monad.State.Strict (execState, get, put) @@ -90,9 +91,9 @@ instance FromJSON PackagePlan where ppDesc <- o .: "description" return PackagePlan {..} -newBuildPlan :: MonadIO m => BuildConstraints -> m BuildPlan -newBuildPlan bc@BuildConstraints {..} = liftIO $ do - packagesOrig <- getLatestDescriptions (isAllowed bc) (mkPackagePlan bc) +-- | Make a build plan given these package set and build constraints. +newBuildPlan :: MonadIO m => Map PackageName PackagePlan -> BuildConstraints -> m BuildPlan +newBuildPlan packagesOrig bc@BuildConstraints {..} = liftIO $ do let toolMap = makeToolMap packagesOrig packages = populateUsers $ removeUnincluded bc toolMap packagesOrig toolNames :: [ExeName] @@ -205,3 +206,9 @@ mkPackagePlan bc gpd = do getFlag MkFlag {..} = (flagName, fromMaybe flagDefault $ lookup flagName overrides) flags = mapFromList $ map getFlag $ genPackageFlags gpd + +getLatestAllowedPlans :: MonadIO m => BuildConstraints -> m (Map PackageName PackagePlan) +getLatestAllowedPlans bc = + getLatestDescriptions + (isAllowed bc) + (mkPackagePlan bc) diff --git a/Stackage/CompleteBuild.hs b/Stackage/CompleteBuild.hs index 19e90c43..0d62bdbd 100644 --- a/Stackage/CompleteBuild.hs +++ b/Stackage/CompleteBuild.hs @@ -54,7 +54,9 @@ getSettings :: Manager -> BuildType -> IO Settings getSettings man Nightly = do day <- tshow . utctDay <$> getCurrentTime let slug' = "nightly-" ++ day - plan' <- defaultBuildConstraints man >>= newBuildPlan + bc <- defaultBuildConstraints man + pkgs <- getLatestAllowedPlans bc + plan' <- newBuildPlan pkgs bc return Settings { planFile = fpFromText ("nightly-" ++ day) <.> "yaml" , buildDir = fpFromText $ "builds/stackage-nightly-" ++ day @@ -81,14 +83,18 @@ getSettings man (LTS bumpType) = do case mlts of Nothing -> LTSVer 0 0 Just (LTSVer x _) -> LTSVer (x + 1) 0 - plan' <- defaultBuildConstraints man >>= newBuildPlan + bc <- defaultBuildConstraints man + pkgs <- getLatestAllowedPlans bc + plan' <- newBuildPlan pkgs bc return (new, plan') Minor -> do old <- maybe (error "No LTS plans found in current directory") return mlts oldplan <- decodeFileEither (fpToString $ renderLTSVer old) >>= either throwM return let new = incrLTSVer old - plan' <- updateBuildPlan oldplan + let bc = updateBuildConstraints oldplan + pkgs <- getLatestAllowedPlans bc + plan' <- newBuildPlan pkgs bc return (new, plan') let newfile = renderLTSVer new @@ -148,7 +154,8 @@ justCheck = withManager tlsManagerSettings $ \man -> do bc <- defaultBuildConstraints man putStrLn "Creating build plan" - plan <- newBuildPlan bc + plans <- getLatestAllowedPlans bc + plan <- newBuildPlan plans bc putStrLn $ "Writing build plan to check-plan.yaml" encodeFile "check-plan.yaml" plan diff --git a/Stackage/UpdateBuildPlan.hs b/Stackage/UpdateBuildPlan.hs index a1615b11..8c67c5ef 100644 --- a/Stackage/UpdateBuildPlan.hs +++ b/Stackage/UpdateBuildPlan.hs @@ -15,8 +15,9 @@ import Stackage.BuildConstraints import Stackage.BuildPlan import Stackage.Prelude -updateBuildPlan :: BuildPlan -> IO BuildPlan -updateBuildPlan = newBuildPlan . updateBuildConstraints +updateBuildPlan :: Map PackageName PackagePlan -> BuildPlan -> IO BuildPlan +updateBuildPlan packagesOrig + = newBuildPlan packagesOrig . updateBuildConstraints updateBuildConstraints :: BuildPlan -> BuildConstraints updateBuildConstraints BuildPlan {..} = diff --git a/test/Stackage/BuildPlanSpec.hs b/test/Stackage/BuildPlanSpec.hs index aa33c8dd..7c87d6d3 100644 --- a/test/Stackage/BuildPlanSpec.hs +++ b/test/Stackage/BuildPlanSpec.hs @@ -15,7 +15,8 @@ import Network.HTTP.Client.TLS (tlsManagerSettings) spec :: Spec spec = it "works" $ withManager tlsManagerSettings $ \man -> do bc <- defaultBuildConstraints man - bp <- newBuildPlan bc + pkgs <- getLatestAllowedPlans bc + bp <- newBuildPlan pkgs bc let bs = Y.encode bp ebp' = Y.decodeEither bs @@ -28,7 +29,7 @@ spec = it "works" $ withManager tlsManagerSettings $ \man -> do bpGithubUsers bp' `shouldBe` bpGithubUsers bp when (bp' /= bp) $ error "bp' /= bp" - bp2 <- updateBuildPlan bp + bp2 <- updateBuildPlan pkgs bp when (dropVersionRanges bp2 /= dropVersionRanges bp) $ error "bp2 /= bp" where dropVersionRanges bp = From 45b33ac54d795e69ef2625de1d9aae9628fe6327 Mon Sep 17 00:00:00 2001 From: Chris Done Date: Sun, 4 Jan 2015 22:26:33 +0100 Subject: [PATCH 050/643] Flexible tests for checkBuildPlan (#375) @snoyberg Can you confirm that this simple test suite works for you? I've set this up so that I can then add some cyclic dependencies and add an occurs check for that, but figured I'd setup tests for some of the existing invariants first. Should be like: $ cabal test --ghc-options=-O0; cat dist/test/stackage-0.4.0-spec.log Building stackage-0.4.0... Preprocessing library stackage-0.4.0... In-place registering stackage-0.4.0... Preprocessing executable 'stackage' for stackage-0.4.0... Preprocessing test suite 'spec' for stackage-0.4.0... [3 of 4] Compiling Stackage.BuildPlanSpec ( test/Stackage/BuildPlanSpec.hs, dist/build/spec/spec-tmp/Stackage/BuildPlanSpec.o ) Linking dist/build/spec/spec ... Running 1 test suites... Test suite spec: RUNNING... Test suite spec: PASS Test suite logged to: dist/test/stackage-0.4.0-spec.log 1 of 1 test suites (1 of 1 test cases) passed. Test suite spec: RUNNING... Stackage.BuildPlan simple package set bad version range on depdendency fails nonexistent package fails to check default package set checks ok Stackage.CorePackages works contains known core packages getCoreExecutables includes known executables Stackage.PackageIndex works getLatestDescriptions gives reasonable results Finished in 14.3302 seconds 9 examples, 0 failures Test suite spec: PASS Test suite logged to: dist/test/stackage-0.4.0-spec.log --- Stackage/BuildConstraints.hs | 1 + Stackage/CheckBuildPlan.hs | 1 + test/Stackage/BuildPlanSpec.hs | 124 +++++++++++++++++++++++++++---- test/test-build-constraints.yaml | 20 +++++ 4 files changed, 131 insertions(+), 15 deletions(-) create mode 100644 test/test-build-constraints.yaml diff --git a/Stackage/BuildConstraints.hs b/Stackage/BuildConstraints.hs index 3b3f0d01..674ac395 100644 --- a/Stackage/BuildConstraints.hs +++ b/Stackage/BuildConstraints.hs @@ -10,6 +10,7 @@ module Stackage.BuildConstraints , SystemInfo (..) , getSystemInfo , defaultBuildConstraints + , toBC ) where import Control.Monad.Writer.Strict (execWriter, tell) diff --git a/Stackage/CheckBuildPlan.hs b/Stackage/CheckBuildPlan.hs index f13265aa..ea656a9c 100644 --- a/Stackage/CheckBuildPlan.hs +++ b/Stackage/CheckBuildPlan.hs @@ -7,6 +7,7 @@ -- | Confirm that a build plan has a consistent set of dependencies. module Stackage.CheckBuildPlan ( checkBuildPlan + , BadBuildPlan ) where import Control.Monad.Writer.Strict (Writer, execWriter, tell) diff --git a/test/Stackage/BuildPlanSpec.hs b/test/Stackage/BuildPlanSpec.hs index 7c87d6d3..99679801 100644 --- a/test/Stackage/BuildPlanSpec.hs +++ b/test/Stackage/BuildPlanSpec.hs @@ -1,22 +1,56 @@ +{-# LANGUAGE ScopedTypeVariables #-} {-# LANGUAGE OverloadedStrings, NoImplicitPrelude #-} module Stackage.BuildPlanSpec (spec) where -import Stackage.BuildPlan -import Stackage.Prelude -import Stackage.BuildConstraints -import Stackage.UpdateBuildPlan -import Test.Hspec -import qualified Data.Yaml as Y -import Distribution.Version (anyVersion) import qualified Data.Map as Map -import Network.HTTP.Client (withManager) -import Network.HTTP.Client.TLS (tlsManagerSettings) +import qualified Data.Map.Strict as M +import qualified Data.Set as S +import Data.Yaml +import qualified Data.Yaml as Y +import Distribution.Version +import Network.HTTP.Client +import Network.HTTP.Client.TLS (tlsManagerSettings) +import Stackage.BuildConstraints +import Stackage.BuildPlan +import Stackage.CheckBuildPlan +import Stackage.PackageDescription +import Stackage.Prelude +import Stackage.UpdateBuildPlan +import Test.Hspec spec :: Spec -spec = it "works" $ withManager tlsManagerSettings $ \man -> do - bc <- defaultBuildConstraints man - pkgs <- getLatestAllowedPlans bc - bp <- newBuildPlan pkgs bc +spec = do + it "simple package set" $ check testBuildConstraints $ makePackageSet + [("foo", [0, 0, 0], [("bar", thisV [0, 0, 0])]) + ,("bar", [0, 0, 0], [])] + it "bad version range on depdendency fails" $ badBuildPlan $ makePackageSet + [("foo", [0, 0, 0], [("bar", thisV [1, 1, 0])]) + ,("bar", [0, 0, 0], [])] + it "nonexistent package fails to check" $ badBuildPlan $ makePackageSet + [("foo", [0, 0, 0], [("nonexistent", thisV [0, 0, 0])]) + ,("bar", [0, 0, 0], [])] + it "default package set checks ok" $ check defaultBuildConstraints getLatestAllowedPlans + +-- | Checking should be considered a bad build plan. +badBuildPlan :: (BuildConstraints -> IO (Map PackageName PackagePlan)) + -> void + -> IO () +badBuildPlan m _ = do + mu <- try (check testBuildConstraints m) + case mu of + Left (_ :: BadBuildPlan) -> + return () + Right () -> + error "Expected bad build plan." + +-- | Check build plan with the given package set getter. +check :: (Manager -> IO BuildConstraints) + -> (BuildConstraints -> IO (Map PackageName PackagePlan)) + -> IO () +check readPlanFile getPlans = withManager tlsManagerSettings $ \man -> do + bc <- readPlanFile man + plans <- getPlans bc + bp <- newBuildPlan plans bc let bs = Y.encode bp ebp' = Y.decodeEither bs @@ -26,14 +60,74 @@ spec = it "works" $ withManager tlsManagerSettings $ \man -> do forM_ allPackages $ \name -> (name, lookup name (bpPackages bp')) `shouldBe` (name, lookup name (bpPackages bp)) - bpGithubUsers bp' `shouldBe` bpGithubUsers bp + when (bp' /= bp) $ error "bp' /= bp" - bp2 <- updateBuildPlan pkgs bp + bp2 <- updateBuildPlan plans bp when (dropVersionRanges bp2 /= dropVersionRanges bp) $ error "bp2 /= bp" + checkBuildPlan bp where dropVersionRanges bp = bp { bpPackages = map go $ bpPackages bp } where go pb = pb { ppConstraints = go' $ ppConstraints pb } go' pc = pc { pcVersionRange = anyVersion } + +-- | Make a package set from a convenient data structure. +makePackageSet + :: [(String,[Int],[(String,VersionRange)])] + -> BuildConstraints + -> IO (Map PackageName PackagePlan) +makePackageSet ps _ = + return $ + M.fromList $ + map + (\(name,ver,deps) -> + ( PackageName name + , dummyPackage ver $ + M.fromList $ + map + (\(dname,dver) -> + ( PackageName dname + , DepInfo {diComponents = S.fromList + [CompLibrary] + ,diRange = dver})) + deps)) + ps + where + dummyPackage v deps = + PackagePlan + {ppVersion = Version v [] + ,ppGithubPings = mempty + ,ppUsers = mempty + ,ppConstraints = + PackageConstraints + {pcVersionRange = anyV + ,pcMaintainer = Nothing + ,pcTests = Don'tBuild + ,pcHaddocks = Don'tBuild + ,pcBuildBenchmarks = False + ,pcFlagOverrides = mempty + ,pcEnableLibProfile = False} + ,ppDesc = + SimpleDesc + {sdPackages = deps + ,sdTools = mempty + ,sdProvidedExes = mempty + ,sdModules = mempty}} + +-- | This exact version is required. +thisV :: [Int] -> VersionRange +thisV ver = thisVersion (Version ver []) + +-- | Accept any version. +anyV :: VersionRange +anyV = anyVersion + +-- | Test plan. +testBuildConstraints :: void -> IO BuildConstraints +testBuildConstraints _ = + decodeFileEither + (fpToString fp) >>= + either throwIO toBC + where fp = "test/test-build-constraints.yaml" diff --git a/test/test-build-constraints.yaml b/test/test-build-constraints.yaml new file mode 100644 index 00000000..de831eaf --- /dev/null +++ b/test/test-build-constraints.yaml @@ -0,0 +1,20 @@ +packages: + "Test": + - foo + - bar + +global-flags: [] + +skipped-tests: [] +expected-test-failures: [] +expected-haddock-failures: [] +skipped-benchmarks: [] +skipped-profiling: [] + +github-users: + bar: + - demo + +package-flags: + foo: + demo: true From e7b87bdb9b9b6b7e8f0a95a44527157feafd942f Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Mon, 5 Jan 2015 14:28:34 +0200 Subject: [PATCH 051/643] Try out Travis --- .travis.yml | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 .travis.yml diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 00000000..6a5da53b --- /dev/null +++ b/.travis.yml @@ -0,0 +1,7 @@ +language: haskell + +install: + - cabal update + - cabal install -j + +script: stackage check From 4654163df23083bb8d45b1eca6c34648a07f24f3 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Mon, 5 Jan 2015 14:33:41 +0200 Subject: [PATCH 052/643] Better Travis config? --- .travis.yml | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/.travis.yml b/.travis.yml index 6a5da53b..7b1a1cd1 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,7 +1,19 @@ -language: haskell +env: + - CABALVER=1.20 GHCVER=7.8.4 + +# Note: the distinction between `before_install` and `install` is not important. +before_install: + - travis_retry sudo add-apt-repository -y ppa:hvr/ghc + - travis_retry sudo apt-get update + - travis_retry sudo apt-get install cabal-install-$CABALVER ghc-$GHCVER # see note about happy/alex + - export PATH=/opt/ghc/$GHCVER/bin:/opt/cabal/$CABALVER/bin:$PATH install: - - cabal update - - cabal install -j + - cabal --version + - echo "$(ghc --version) [$(ghc --print-project-git-commit-id 2> /dev/null || echo '?')]" + - travis_retry cabal update + - cabal install -j -script: stackage check +# Here starts the actual work to be performed for the package under test; any command which exits with a non-zero exit code causes the build to fail. +script: + - stackage check From 7873834d7c75c09fa33193d8339843993ed179e3 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Mon, 5 Jan 2015 14:40:40 +0200 Subject: [PATCH 053/643] Try to use Travis caching --- .travis.yml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 7b1a1cd1..7cf659d4 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,6 +1,11 @@ env: - CABALVER=1.20 GHCVER=7.8.4 +cache: + directories: + - $HOME/.ghc + - $HOME/.cabal + # Note: the distinction between `before_install` and `install` is not important. before_install: - travis_retry sudo add-apt-repository -y ppa:hvr/ghc @@ -16,4 +21,4 @@ install: # Here starts the actual work to be performed for the package under test; any command which exits with a non-zero exit code causes the build to fail. script: - - stackage check + - ./dist/build/stackage/stackage check From e3ff2479808dab0eb08e51781ce169967459300c Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Mon, 5 Jan 2015 16:44:17 +0200 Subject: [PATCH 054/643] Upper bound for #398 --- build-constraints.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 73fd4251..1b4d7a9f 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -660,6 +660,9 @@ packages: # for language-ecmascript as well. - language-ecmascript < 0.17 + # https://github.com/fpco/stackage/issues/398 + - monoid-subclasses < 0.4 + # Package flags are applied to individual packages, and override the values of # global-flags package-flags: From cb9526b2fdf130018714c43fe5129e1185612b05 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Mon, 5 Jan 2015 17:08:23 +0200 Subject: [PATCH 055/643] Say "Still Alive" during checking for Travis --- Stackage/CompleteBuild.hs | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/Stackage/CompleteBuild.hs b/Stackage/CompleteBuild.hs index 0d62bdbd..74375d5c 100644 --- a/Stackage/CompleteBuild.hs +++ b/Stackage/CompleteBuild.hs @@ -8,6 +8,9 @@ module Stackage.CompleteBuild , completeBuild , justCheck ) where + +import Control.Concurrent (threadDelay) +import Control.Concurrent.Async (withAsync) import Data.Default.Class (def) import Data.Semigroup (Max (..), Option (..)) import Data.Text.Read (decimal) @@ -145,11 +148,20 @@ renderLTSVer lts = fpFromText $ concat , ".yaml" ] +-- | Just print a message saying "still alive" every second, to appease Travis. +stillAlive :: IO () -> IO () +stillAlive inner = + withAsync printer $ const inner + where + printer = forever $ do + threadDelay 1000000 + putStrLn "Still alive" + -- | Generate and check a new build plan, but do not execute it. -- -- Since 0.3.1 justCheck :: IO () -justCheck = withManager tlsManagerSettings $ \man -> do +justCheck = stillAlive $ withManager tlsManagerSettings $ \man -> do putStrLn "Loading build constraints" bc <- defaultBuildConstraints man From 241d5d72e27ee2abd6d0478d36a1f23132937b6a Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Mon, 5 Jan 2015 17:18:47 +0200 Subject: [PATCH 056/643] second ==> minute --- Stackage/CompleteBuild.hs | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/Stackage/CompleteBuild.hs b/Stackage/CompleteBuild.hs index 74375d5c..be4011eb 100644 --- a/Stackage/CompleteBuild.hs +++ b/Stackage/CompleteBuild.hs @@ -148,14 +148,15 @@ renderLTSVer lts = fpFromText $ concat , ".yaml" ] --- | Just print a message saying "still alive" every second, to appease Travis. +-- | Just print a message saying "still alive" every minute, to appease Travis. stillAlive :: IO () -> IO () stillAlive inner = - withAsync printer $ const inner + withAsync (printer 1) $ const inner where - printer = forever $ do - threadDelay 1000000 - putStrLn "Still alive" + printer i = forever $ do + threadDelay 60000000 + putStrLn $ "Still alive: " ++ tshow i + printer $! i + 1 -- | Generate and check a new build plan, but do not execute it. -- From a8a92976597f64ff5d412a2b375bf0b3598ef24c Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Mon, 5 Jan 2015 17:42:57 +0200 Subject: [PATCH 057/643] Test and docs failures mvoidex/hdocs#3 leventov/yarr#5 --- build-constraints.yaml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 1b45418d..53ae3fc6 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -895,6 +895,9 @@ expected-test-failures: # https://github.com/jswebtools/language-ecmascript/issues/60 - language-ecmascript + # https://github.com/mvoidex/hdocs/issues/3 + - hdocs + # Haddocks which are expected to fail. Same concept as expected test failures. expected-haddock-failures: # https://github.com/acw/bytestring-progress/issues/4 @@ -903,6 +906,9 @@ expected-haddock-failures: # https://github.com/ekmett/gl/issues/4 - gl + # https://github.com/leventov/yarr/issues/5 + - yarr + # Benchmarks which should not be built. Note that Stackage does *not* generally # build benchmarks. The difference here will be whether dependencies for these # benchmarks are included or not. From acf70ee25d0840a988a45e875b7aac53e439f2f5 Mon Sep 17 00:00:00 2001 From: Lambdageek Date: Mon, 5 Jan 2015 11:07:32 -0500 Subject: [PATCH 058/643] Add "unbound-generics" to Stackage. --- build-constraints.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 53ae3fc6..13b55a4c 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -643,6 +643,9 @@ packages: - hdocs - hsdev + "Aleksey Kliger aleksey@lambdageek.org @lambdageek": + - unbound-generics + "Stackage upper bounds": # Force a specific version that's compatible with transformers 0.3 From 21507586d68092370300ad72634f5872d73f6eec Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Mon, 5 Jan 2015 21:50:45 +0200 Subject: [PATCH 059/643] Version bump --- ChangeLog.md | 4 ++++ stackage.cabal | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/ChangeLog.md b/ChangeLog.md index bc6d7be2..10080e33 100644 --- a/ChangeLog.md +++ b/ChangeLog.md @@ -1,3 +1,7 @@ +## 0.4.0.1 + +* Print "Still Alive" while checking, to avoid Travis timeouts. + ## 0.4.0 * Command line uses optparse-applicative with additional options diff --git a/stackage.cabal b/stackage.cabal index 7c4831c9..353de1e6 100644 --- a/stackage.cabal +++ b/stackage.cabal @@ -1,5 +1,5 @@ name: stackage -version: 0.4.0 +version: 0.4.0.1 synopsis: "Stable Hackage," tools for creating a vetted set of packages from Hackage. description: Please see for a description and documentation. homepage: https://github.com/fpco/stackage From 20a6d58cb1c8b8475a02da9beb52a4cab20d4514 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Tue, 6 Jan 2015 07:18:15 +0200 Subject: [PATCH 060/643] Upper bound for #401 --- build-constraints.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 13b55a4c..fbafff3e 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -669,6 +669,9 @@ packages: # https://github.com/fpco/stackage/issues/398 - monoid-subclasses < 0.4 + # https://github.com/fpco/stackage/issues/401 + - happstack-server < 7.4 + # Package flags are applied to individual packages, and override the values of # global-flags package-flags: From db2ba1203b1957c6ed43e9498939688191998348 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Tue, 6 Jan 2015 07:18:26 +0200 Subject: [PATCH 061/643] Upper bound for #402 --- build-constraints.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index fbafff3e..28f1d2c5 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -672,6 +672,9 @@ packages: # https://github.com/fpco/stackage/issues/401 - happstack-server < 7.4 + # https://github.com/fpco/stackage/issues/402 + - vector-space < 0.9 + # Package flags are applied to individual packages, and override the values of # global-flags package-flags: From 27ac5db4553dee60513d880e039e1e26d7fdbbd8 Mon Sep 17 00:00:00 2001 From: Adam Bergmark Date: Tue, 6 Jan 2015 08:42:10 +0100 Subject: [PATCH 062/643] Add me as maintainer for fclabels --- build-constraints.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 28f1d2c5..f473cc53 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -378,6 +378,7 @@ packages: - fay-jquery - fay-text - fay-uri + - fclabels - snaplet-fay "Rodrigo Setti ": From e77403edc4cb3496025aea377d9b887a9f681350 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Tue, 6 Jan 2015 10:52:45 +0200 Subject: [PATCH 063/643] upload-nightly --- ChangeLog.md | 5 ++- Stackage/CompleteBuild.hs | 85 +++++++++++++++++++++++++-------------- app/stackage.hs | 10 +++++ stackage.cabal | 2 +- 4 files changed, 68 insertions(+), 34 deletions(-) diff --git a/ChangeLog.md b/ChangeLog.md index 10080e33..3dd9afc9 100644 --- a/ChangeLog.md +++ b/ChangeLog.md @@ -1,6 +1,7 @@ -## 0.4.0.1 +## 0.4.1 -* Print "Still Alive" while checking, to avoid Travis timeouts. +* Print "Still Alive" while checking, to avoid Travis timeouts +* Include `stackage upload-nightly` command ## 0.4.0 diff --git a/Stackage/CompleteBuild.hs b/Stackage/CompleteBuild.hs index be4011eb..acdf682b 100644 --- a/Stackage/CompleteBuild.hs +++ b/Stackage/CompleteBuild.hs @@ -7,6 +7,7 @@ module Stackage.CompleteBuild , BuildFlags (..) , completeBuild , justCheck + , justUploadNightly ) where import Control.Concurrent (threadDelay) @@ -53,28 +54,38 @@ data Settings = Settings , postBuild :: IO () } +nightlyPlanFile :: Text -- ^ day + -> FilePath +nightlyPlanFile day = fpFromText ("nightly-" ++ day) <.> "yaml" + +nightlySettings :: Text -- ^ day + -> BuildPlan + -> Settings +nightlySettings day plan' = Settings + { planFile = nightlyPlanFile day + , buildDir = fpFromText $ "builds/stackage-nightly-" ++ day + , logDir = fpFromText $ "logs/stackage-nightly-" ++ day + , title = \ghcVer -> concat + [ "Stackage Nightly " + , day + , ", GHC " + , ghcVer + ] + , slug = slug' + , setArgs = \ghcVer ub -> ub { ubNightly = Just ghcVer } + , plan = plan' + , postBuild = return () + } + where + slug' = "nightly-" ++ day + getSettings :: Manager -> BuildType -> IO Settings getSettings man Nightly = do day <- tshow . utctDay <$> getCurrentTime - let slug' = "nightly-" ++ day bc <- defaultBuildConstraints man pkgs <- getLatestAllowedPlans bc plan' <- newBuildPlan pkgs bc - return Settings - { planFile = fpFromText ("nightly-" ++ day) <.> "yaml" - , buildDir = fpFromText $ "builds/stackage-nightly-" ++ day - , logDir = fpFromText $ "logs/stackage-nightly-" ++ day - , title = \ghcVer -> concat - [ "Stackage Nightly " - , day - , ", GHC " - , ghcVer - ] - , slug = slug' - , setArgs = \ghcVer ub -> ub { ubNightly = Just ghcVer } - , plan = plan' - , postBuild = return () - } + return $ nightlySettings day plan' getSettings man (LTS bumpType) = do Option mlts <- fmap (fmap getMax) $ runResourceT $ sourceDirectory "." @@ -178,6 +189,19 @@ justCheck = stillAlive $ withManager tlsManagerSettings $ \man -> do putStrLn "Plan seems valid!" +getPerformBuild :: BuildFlags -> Settings -> PerformBuild +getPerformBuild buildFlags Settings {..} = PerformBuild + { pbPlan = plan + , pbInstallDest = buildDir + , pbLogDir = logDir + , pbLog = hPut stdout + , pbJobs = 8 + , pbGlobalInstall = False + , pbEnableTests = bfEnableTests buildFlags + , pbEnableLibProfiling = bfEnableLibProfile buildFlags + , pbVerbose = bfVerbose buildFlags + } + -- | Make a complete plan, build, test and upload bundle, docs and -- distro. completeBuild :: BuildType -> BuildFlags -> IO () @@ -194,26 +218,23 @@ completeBuild buildType buildFlags = withManager tlsManagerSettings $ \man -> do checkBuildPlan plan putStrLn "Performing build" - let pb = PerformBuild - { pbPlan = plan - , pbInstallDest = buildDir - , pbLogDir = logDir - , pbLog = hPut stdout - , pbJobs = 8 - , pbGlobalInstall = False - , pbEnableTests = bfEnableTests buildFlags - , pbEnableLibProfiling = bfEnableLibProfile buildFlags - , pbVerbose = bfVerbose buildFlags - } - performBuild pb >>= mapM_ putStrLn + performBuild (getPerformBuild buildFlags settings) >>= mapM_ putStrLn when (bfDoUpload buildFlags) $ - finallyUpload settings man pb + finallyUpload settings man + +justUploadNightly + :: Text -- ^ nightly date + -> IO () +justUploadNightly day = do + plan <- decodeFileEither (fpToString $ nightlyPlanFile day) + >>= either throwM return + withManager tlsManagerSettings $ finallyUpload $ nightlySettings day plan -- | The final part of the complete build process: uploading a bundle, -- docs and a distro to hackage. -finallyUpload :: Settings -> Manager -> PerformBuild -> IO () -finallyUpload Settings{..} man pb = do +finallyUpload :: Settings -> Manager -> IO () +finallyUpload settings@Settings{..} man = do putStrLn "Uploading bundle to Stackage Server" token <- readFile "/auth-token" now <- epochTime @@ -253,3 +274,5 @@ finallyUpload Settings{..} man pb = do , udmDocDir = pbDocDir pb , udmPlan = plan } man >>= print + where + pb = getPerformBuild (error "finallyUpload.buildFlags") settings diff --git a/app/stackage.hs b/app/stackage.hs index 08efe846..f9d31f7c 100644 --- a/app/stackage.hs +++ b/app/stackage.hs @@ -4,6 +4,7 @@ module Main where import Control.Monad import Data.Monoid +import Data.String (fromString) import Data.Version import Options.Applicative import Paths_stackage (version) @@ -45,6 +46,11 @@ main = (fmap (LTS Minor, ) buildFlags) "lts-minor" "Build, test and upload the LTS (minor) snapshot" + , cmnd + justUploadNightly + nightlyUploadFlags + "upload-nightly" + "Upload an already-built nightly snapshot" , cmnd (const justCheck) (pure ()) @@ -73,3 +79,7 @@ main = switch (long "verbose" <> short 'v' <> help "Output verbose detail about the build steps") + + nightlyUploadFlags = fromString <$> strArgument + (metavar "DATE" <> + help "Date, in YYYY-MM-DD format") diff --git a/stackage.cabal b/stackage.cabal index 353de1e6..8401a6ad 100644 --- a/stackage.cabal +++ b/stackage.cabal @@ -1,5 +1,5 @@ name: stackage -version: 0.4.0.1 +version: 0.4.1 synopsis: "Stable Hackage," tools for creating a vetted set of packages from Hackage. description: Please see for a description and documentation. homepage: https://github.com/fpco/stackage From 44cba232b7813e6eb08c9a5acb449dfa9001af56 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Tue, 6 Jan 2015 11:33:44 +0200 Subject: [PATCH 064/643] Try out a Docker build --- .dockerignore | 7 +++++++ Dockerfile | 27 +++++++++++++++++++++++++++ debian-bootstrap.sh | 8 ++++---- 3 files changed, 38 insertions(+), 4 deletions(-) create mode 100644 .dockerignore create mode 100644 Dockerfile diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 00000000..e09d9880 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,7 @@ +dist +builds +logs +.cabal-sandbox +cabal.sandbox.config +tarballs +*.yaml diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 00000000..5a7aa4d3 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,27 @@ +FROM ubuntu:12.04 + +ENV HOME /home/stackage +ENV LANG en_US.UTF-8 + +RUN mkdir /home/stackage -p +RUN locale-gen en_US.UTF-8 + +RUN DEBIAN_FRONTEND=noninteractive apt-get update +RUN DEBIAN_FRONTEND=noninteractive apt-get install -y software-properties-common python-software-properties +RUN DEBIAN_FRONTEND=noninteractive add-apt-repository ppa:hvr/ghc -y + +ADD debian-bootstrap.sh /tmp/debian-bootstrap.sh +RUN DEBIAN_FRONTEND=noninteractive bash /tmp/debian-bootstrap.sh +RUN rm /tmp/debian-bootstrap.sh + +RUN DEBIAN_FRONTEND=noninteractive apt-get install -y cabal-install-1.20 ghc-7.8.4 + +ENV PATH /opt/ghc/7.8.4/bin:/opt/cabal/1.20/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin + +RUN cabal update +ADD . /tmp/stackage +RUN cd /tmp/stackage && cabal install +RUN cp $HOME/.cabal/bin/stackage /usr/local/bin +RUN rm -rf $HOME/.cabal $HOME/.ghc /tmp/stackage + +RUN cd /home/stackage && cabal update && stackage nightly diff --git a/debian-bootstrap.sh b/debian-bootstrap.sh index 50177b28..2e423c25 100755 --- a/debian-bootstrap.sh +++ b/debian-bootstrap.sh @@ -10,10 +10,10 @@ # instructions, see: # http://www.stackage.org/install -sudo add-apt-repository -y ppa:chris-lea/zeromq -sudo add-apt-repository -y ppa:floe/libtisch -sudo apt-get update -sudo apt-get install -y \ +add-apt-repository -y ppa:chris-lea/zeromq +add-apt-repository -y ppa:floe/libtisch +apt-get update +apt-get install -y \ build-essential \ libncurses-dev \ git \ From 32dbaa45997747f6e72d8aa7e80d1f32ca526ec5 Mon Sep 17 00:00:00 2001 From: Alois Cochard Date: Mon, 5 Jan 2015 18:11:29 +0100 Subject: [PATCH 065/643] Adding `codex` and `machines-*` packages. --- build-constraints.yaml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 13b55a4c..4861aba4 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -646,6 +646,11 @@ packages: "Aleksey Kliger aleksey@lambdageek.org @lambdageek": - unbound-generics + "Alois Cochard alois.cochard@gmail.com @aloiscochard": + - machines-directory + - machines-io + - machines-process + "Stackage upper bounds": # Force a specific version that's compatible with transformers 0.3 From 636846ba3163186e54a89fa71c5faf53828af29c Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Tue, 6 Jan 2015 15:43:14 +0200 Subject: [PATCH 066/643] Docker: check, do not build --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 5a7aa4d3..af097edc 100644 --- a/Dockerfile +++ b/Dockerfile @@ -24,4 +24,4 @@ RUN cd /tmp/stackage && cabal install RUN cp $HOME/.cabal/bin/stackage /usr/local/bin RUN rm -rf $HOME/.cabal $HOME/.ghc /tmp/stackage -RUN cd /home/stackage && cabal update && stackage nightly +RUN cd /home/stackage && cabal update && stackage check From d08d1b624852937dfe1a74a860d3e47124352444 Mon Sep 17 00:00:00 2001 From: Chris Done Date: Wed, 7 Jan 2015 02:45:50 +0100 Subject: [PATCH 067/643] Check for cycles when checking a build plan #375 --- Stackage/CheckBuildPlan.hs | 63 +++++++++++++++++++++++++++++----- test/Stackage/BuildPlanSpec.hs | 10 +++++- 2 files changed, 63 insertions(+), 10 deletions(-) diff --git a/Stackage/CheckBuildPlan.hs b/Stackage/CheckBuildPlan.hs index ea656a9c..74bf3b83 100644 --- a/Stackage/CheckBuildPlan.hs +++ b/Stackage/CheckBuildPlan.hs @@ -1,3 +1,4 @@ +{-# LANGUAGE TupleSections #-} {-# LANGUAGE DeriveDataTypeable #-} {-# LANGUAGE GeneralizedNewtypeDeriving #-} {-# LANGUAGE NoImplicitPrelude #-} @@ -11,30 +12,34 @@ module Stackage.CheckBuildPlan ) where import Control.Monad.Writer.Strict (Writer, execWriter, tell) -import qualified Data.Text as T +import qualified Data.Map.Strict as M +import qualified Data.Text as T import Stackage.BuildConstraints import Stackage.BuildPlan import Stackage.PackageDescription import Stackage.Prelude --- FIXME check cycles in dependencies, only looking at libraries and --- executables - -- | Check the build plan for missing deps, wrong versions, etc. -checkBuildPlan :: MonadThrow m => BuildPlan -> m () +checkBuildPlan :: (MonadThrow m) => BuildPlan -> m () checkBuildPlan BuildPlan {..} | null errs' = return () | otherwise = throwM errs where - allPackages = siCorePackages bpSystemInfo ++ map ppVersion bpPackages + allPackages = map (,mempty) (siCorePackages bpSystemInfo) ++ + map (ppVersion &&& M.keys . M.filter libAndExe . sdPackages . ppDesc) bpPackages errs@(BadBuildPlan errs') = execWriter $ mapM_ (checkDeps allPackages) $ mapToList bpPackages + -- Only looking at libraries and executables, benchmarks and tests + -- are allowed to create cycles (e.g. test-framework depends on + -- text, which uses test-framework in its test-suite). + libAndExe (DepInfo cs _) = any (flip elem [CompLibrary,CompExecutable]) cs -- | For a given package name and plan, check that its dependencies are: -- -- 1. Existent (existing in the provided package map) -- 2. Within version range -checkDeps :: Map PackageName Version +-- 3. Check for dependency cycles. +checkDeps :: Map PackageName (Version,[PackageName]) -> (PackageName, PackagePlan) -> Writer BadBuildPlan () checkDeps allPackages (user, pb) = @@ -43,8 +48,16 @@ checkDeps allPackages (user, pb) = go (dep, diRange -> range) = case lookup dep allPackages of Nothing -> tell $ BadBuildPlan $ singletonMap (dep, Nothing) errMap - Just version - | version `withinRange` range -> return () + Just (version,deps) + | version `withinRange` range -> + occursCheck allPackages + (\d v -> + tell $ BadBuildPlan $ singletonMap + (d,v) + errMap) + dep + deps + [] | otherwise -> tell $ BadBuildPlan $ singletonMap (dep, Just version) errMap @@ -57,6 +70,38 @@ checkDeps allPackages (user, pb) = , puGithubPings = ppGithubPings pb } +-- | Check whether the package(s) occurs within its own dependency +-- tree. +occursCheck + :: Monad m + => Map PackageName (Version,[PackageName]) + -- ^ All packages. + -> (PackageName -> Maybe Version -> m ()) + -- ^ Report an erroneous package. + -> PackageName + -- ^ Starting package to check for cycles in. + -> [PackageName] + -- ^ Dependencies of the package. + -> [PackageName] + -- ^ Previously seen packages up the dependency tree. + -> m () +occursCheck allPackages reportError = + go + where + go pkg deps seen = + case find (flip elem seen) deps of + Just cyclic -> + reportError cyclic $ + fmap fst (lookup cyclic allPackages) + Nothing -> + forM_ deps $ + \pkg' -> + case lookup pkg' allPackages of + Just (_v,deps') + | pkg' /= pkg -> go pkg' deps' seen' + _ -> return () + where seen' = pkg : seen + data PkgUser = PkgUser { puName :: PackageName , puVersion :: Version diff --git a/test/Stackage/BuildPlanSpec.hs b/test/Stackage/BuildPlanSpec.hs index 99679801..b929d689 100644 --- a/test/Stackage/BuildPlanSpec.hs +++ b/test/Stackage/BuildPlanSpec.hs @@ -29,7 +29,15 @@ spec = do it "nonexistent package fails to check" $ badBuildPlan $ makePackageSet [("foo", [0, 0, 0], [("nonexistent", thisV [0, 0, 0])]) ,("bar", [0, 0, 0], [])] - it "default package set checks ok" $ check defaultBuildConstraints getLatestAllowedPlans + it "mutual cycles fail to check" $ badBuildPlan $ makePackageSet + [("foo", [0, 0, 0], [("bar", thisV [0, 0, 0])]) + ,("bar", [0, 0, 0], [("foo", thisV [0, 0, 0])])] + it "nested cycles fail to check" $ badBuildPlan $ makePackageSet + [("foo", [0, 0, 0], [("bar", thisV [0, 0, 0])]) + ,("bar", [0, 0, 0], [("mu", thisV [0, 0, 0])]) + ,("mu", [0, 0, 0], [("foo", thisV [0, 0, 0])])] + it "default package set checks ok" $ + check defaultBuildConstraints getLatestAllowedPlans -- | Checking should be considered a bad build plan. badBuildPlan :: (BuildConstraints -> IO (Map PackageName PackagePlan)) From fb5e40a605012c804f1361911387675b449a8078 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Wed, 7 Jan 2015 08:35:47 +0200 Subject: [PATCH 068/643] Upper bound for #370 --- build-constraints.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 3c2063e6..4be259e7 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -663,6 +663,7 @@ packages: # https://github.com/fpco/stackage/issues/370 - monad-control < 1 - lifted-async < 0.3 + - scotty < 0.9.1 # https://github.com/fpco/stackage/issues/389 - lens < 4.7 From 548578c16b0833232a2a3850fabf89aae22d64b4 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Wed, 7 Jan 2015 17:10:49 +0200 Subject: [PATCH 069/643] skip-check option to nightly (good for 7.10 builds) --- ChangeLog.md | 3 ++- Stackage/CompleteBuild.hs | 9 +++++++-- Stackage/PerformBuild.hs | 3 +++ app/stackage.hs | 5 ++++- stackage.cabal | 2 +- 5 files changed, 17 insertions(+), 5 deletions(-) diff --git a/ChangeLog.md b/ChangeLog.md index 3dd9afc9..416ca03d 100644 --- a/ChangeLog.md +++ b/ChangeLog.md @@ -1,7 +1,8 @@ -## 0.4.1 +## 0.5.0 * Print "Still Alive" while checking, to avoid Travis timeouts * Include `stackage upload-nightly` command +* Optional plan checking ## 0.4.0 diff --git a/Stackage/CompleteBuild.hs b/Stackage/CompleteBuild.hs index acdf682b..7a96ce74 100644 --- a/Stackage/CompleteBuild.hs +++ b/Stackage/CompleteBuild.hs @@ -35,6 +35,7 @@ data BuildFlags = BuildFlags , bfDoUpload :: !Bool , bfEnableLibProfile :: !Bool , bfVerbose :: !Bool + , bfSkipCheck :: !Bool } deriving (Show) data BuildType = Nightly | LTS BumpType @@ -200,6 +201,7 @@ getPerformBuild buildFlags Settings {..} = PerformBuild , pbEnableTests = bfEnableTests buildFlags , pbEnableLibProfiling = bfEnableLibProfile buildFlags , pbVerbose = bfVerbose buildFlags + , pbAllowNewer = bfSkipCheck buildFlags } -- | Make a complete plan, build, test and upload bundle, docs and @@ -214,8 +216,11 @@ completeBuild buildType buildFlags = withManager tlsManagerSettings $ \man -> do putStrLn $ "Writing build plan to: " ++ fpToText planFile encodeFile (fpToString planFile) plan - putStrLn "Checking build plan" - checkBuildPlan plan + if bfSkipCheck buildFlags + then putStrLn "Skipping build plan check" + else do + putStrLn "Checking build plan" + checkBuildPlan plan putStrLn "Performing build" performBuild (getPerformBuild buildFlags settings) >>= mapM_ putStrLn diff --git a/Stackage/PerformBuild.hs b/Stackage/PerformBuild.hs index 7cdb3efd..55601341 100644 --- a/Stackage/PerformBuild.hs +++ b/Stackage/PerformBuild.hs @@ -64,6 +64,8 @@ data PerformBuild = PerformBuild , pbEnableTests :: Bool , pbEnableLibProfiling :: Bool , pbVerbose :: Bool + , pbAllowNewer :: Bool + -- ^ Pass --allow-newer to cabal configure } data PackageInfo = PackageInfo @@ -293,6 +295,7 @@ singleBuild pb@PerformBuild {..} SingleBuild {..} = withBinaryFile (fpToString fp) WriteMode inner' configArgs = ($ []) $ execWriter $ do + when pbAllowNewer $ tell' "--allow-newer" tell' "--package-db=clear" tell' "--package-db=global" forM_ (pbDatabase pb) $ \db -> tell' $ "--package-db=" ++ fpToText db diff --git a/app/stackage.hs b/app/stackage.hs index f9d31f7c..1f61496f 100644 --- a/app/stackage.hs +++ b/app/stackage.hs @@ -78,7 +78,10 @@ main = help "Enable profiling when building") <*> switch (long "verbose" <> short 'v' <> - help "Output verbose detail about the build steps") + help "Output verbose detail about the build steps") <*> + switch + (long "skip-check" <> + help "Skip the check phase, and pass --allow-newer to cabal configure") nightlyUploadFlags = fromString <$> strArgument (metavar "DATE" <> diff --git a/stackage.cabal b/stackage.cabal index 8401a6ad..03a55f6e 100644 --- a/stackage.cabal +++ b/stackage.cabal @@ -1,5 +1,5 @@ name: stackage -version: 0.4.1 +version: 0.5.0 synopsis: "Stable Hackage," tools for creating a vetted set of packages from Hackage. description: Please see for a description and documentation. homepage: https://github.com/fpco/stackage From 7f8fe885cad525da7ab82b190e76705a6287d6b0 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Thu, 8 Jan 2015 10:17:07 +0200 Subject: [PATCH 070/643] Add some auth packages --- build-constraints.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 4be259e7..3b0a1d0e 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -27,7 +27,10 @@ packages: - warp-tls - yackage - yesod + - yesod-auth + - yesod-auth-oauth - yesod-auth-deskcom + - authenticate-oauth - yesod-bin - yesod-eventsource - yesod-fay From 4d57914e7cb865f01830bc95c9e8c40fc169e00a Mon Sep 17 00:00:00 2001 From: Renzo Carbonara Date: Thu, 8 Jan 2015 11:56:12 -0300 Subject: [PATCH 071/643] Add packages: network-simple, pipes-aeson, pipes-attoparsec, pipes-binary, pipes-network --- build-constraints.yaml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 3b0a1d0e..f14b3a00 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -655,6 +655,13 @@ packages: - machines-io - machines-process + "Renzo Carbonara renzocarbonara@gmail.com @k0001": + - network-simple + - pipes-aeson + - pipes-attoparsec + - pipes-binary + - pipes-network + "Stackage upper bounds": # Force a specific version that's compatible with transformers 0.3 From 6b953ccc42e0136e73437b7cc3505e6698359e2c Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Thu, 8 Jan 2015 20:23:12 +0200 Subject: [PATCH 072/643] Add hpc-coveralls Pinging @manny-fp. This adds in retry as well, with tests disabled. --- build-constraints.yaml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 3b0a1d0e..557749e2 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -49,6 +49,7 @@ packages: - binary-conduit - lzma-conduit - mutable-containers + - hpc-coveralls "FP Complete michael@fpcomplete.com @snoyberg": - alex @@ -774,6 +775,9 @@ skipped-tests: # https://github.com/fpco/stackage/pull/380#issuecomment-68060871 - Rasterific + # https://github.com/Soostone/retry/issues/18 + - retry + # Tests which we should build and run, but which are expected to fail. We # should not fail a build based on a test failure for one of these packages. expected-test-failures: From 4e156eb432d558c99b5aaa5484eb3910c2f0f5d1 Mon Sep 17 00:00:00 2001 From: Andraz Bajt Date: Fri, 9 Jan 2015 08:45:49 +0100 Subject: [PATCH 073/643] add snowflake, koofr-client and effect-handlers --- build-constraints.yaml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 557749e2..71cbf946 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -655,6 +655,11 @@ packages: - machines-directory - machines-io - machines-process + + "Andraz Bajt andraz@bajt.me @edofic": + - effect-handlers + - koofr-client + - snowflake "Stackage upper bounds": From e53a3d2ad2226d34f09c4b2040d29ce611ee34f2 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Fri, 9 Jan 2015 10:08:50 +0200 Subject: [PATCH 074/643] More monad-control issues --- build-constraints.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 557749e2..072441cb 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -668,6 +668,7 @@ packages: - monad-control < 1 - lifted-async < 0.3 - scotty < 0.9.1 + - hoauth2 < 0.4.4 # https://github.com/fpco/stackage/issues/389 - lens < 4.7 From 6f158c0a61c7231edd5be62f681bd5aaabb24ffb Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Fri, 9 Jan 2015 10:10:55 +0200 Subject: [PATCH 075/643] Upper bound for #407 --- build-constraints.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 072441cb..17b344b0 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -687,6 +687,9 @@ packages: # https://github.com/fpco/stackage/issues/402 - vector-space < 0.9 + # https://github.com/fpco/stackage/issues/407 + - HStringTemplate < 0.8 + # Package flags are applied to individual packages, and override the values of # global-flags package-flags: From 6b48a823a1a43938c4c11568a4663c4bb984315f Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Fri, 9 Jan 2015 11:07:39 +0200 Subject: [PATCH 076/643] Expected test failure guillaume-nargeot/hpc-coveralls#34 --- build-constraints.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 531f28cf..5d146ee9 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -930,6 +930,9 @@ expected-test-failures: # https://github.com/mvoidex/hdocs/issues/3 - hdocs + # https://github.com/guillaume-nargeot/hpc-coveralls/issues/34 + - hpc-coveralls + # Haddocks which are expected to fail. Same concept as expected test failures. expected-haddock-failures: # https://github.com/acw/bytestring-progress/issues/4 From 3b03ee972c1a9b6e3283cbaba5aef6b7d3aaa9be Mon Sep 17 00:00:00 2001 From: Guillaume Nargeot Date: Sat, 10 Jan 2015 21:53:44 +0900 Subject: [PATCH 077/643] Fixed guillaume-nargeot/hpc-coveralls#34 (Added test modules to package) --- build-constraints.yaml | 3 --- 1 file changed, 3 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index 5d146ee9..531f28cf 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -930,9 +930,6 @@ expected-test-failures: # https://github.com/mvoidex/hdocs/issues/3 - hdocs - # https://github.com/guillaume-nargeot/hpc-coveralls/issues/34 - - hpc-coveralls - # Haddocks which are expected to fail. Same concept as expected test failures. expected-haddock-failures: # https://github.com/acw/bytestring-progress/issues/4 From 78ab7b0e7645a94017c79c5a372a08e7d473495a Mon Sep 17 00:00:00 2001 From: Simon Hengel Date: Sun, 11 Jan 2015 11:31:13 +0800 Subject: [PATCH 078/643] Remove setenv from expected-test-failures --- build-constraints.yaml | 5 ++--- cabal.config | 2 +- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index 531f28cf..196e365e 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -793,10 +793,9 @@ expected-test-failures: # Requires an old version of WAI and Warp for tests - HTTP - # text and setenv have recursive dependencies in their tests, which - # cabal can't (yet) handle + # text has recursive dependencies in its tests, which cabal can't (yet) + # handle - text - - setenv # https://github.com/bos/statistics/issues/42 - statistics diff --git a/cabal.config b/cabal.config index 25f3661e..cc656768 100644 --- a/cabal.config +++ b/cabal.config @@ -647,7 +647,7 @@ constraints: abstract-deque ==0.3, semigroups ==0.16.0.1, sendfile ==0.7.9, seqloc ==0.6, - setenv ==0.1.1.1, + setenv ==0.1.1.2, SHA ==1.6.4.1, shake ==0.14.2, shake-language-c ==0.6.3, From c0bce54c6fe83ed2f0b0040e7a6ea4cca246cdf6 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Sun, 11 Jan 2015 09:48:15 +0200 Subject: [PATCH 079/643] Upper bound for #410 --- build-constraints.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 196e365e..a57579c8 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -695,6 +695,9 @@ packages: # https://github.com/fpco/stackage/issues/407 - HStringTemplate < 0.8 + # https://github.com/fpco/stackage/issues/410 + - elm-package < 0.4 + # Package flags are applied to individual packages, and override the values of # global-flags package-flags: From 085bd7f8cc3d00b3715ed6243c1edf5fe483dff1 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Sun, 11 Jan 2015 09:48:26 +0200 Subject: [PATCH 080/643] Flag for text --- build-constraints.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index a57579c8..8897569c 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -741,6 +741,9 @@ package-flags: pandoc: https: true + text: + integer-simple: false + # By skipping a test suite, we do not pull in the build dependencies skipped-tests: - ReadArgs # old version of hspec From a143fc438d88b45578d50501027cceacd1ee529a Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Sun, 11 Jan 2015 09:50:00 +0200 Subject: [PATCH 081/643] Allow text test suite to run --- build-constraints.yaml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index 8897569c..54485a00 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -799,10 +799,6 @@ expected-test-failures: # Requires an old version of WAI and Warp for tests - HTTP - # text has recursive dependencies in its tests, which cabal can't (yet) - # handle - - text - # https://github.com/bos/statistics/issues/42 - statistics From fd56370e3ae7cce0ab26248dd24cf0e610ae5907 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Sun, 11 Jan 2015 10:08:02 +0200 Subject: [PATCH 082/643] STACKAGE_AUTH_TOKEN environment variable --- ChangeLog.md | 5 +++++ Stackage/BuildConstraints.hs | 37 +++++++++++++++++++++++++++--------- Stackage/CompleteBuild.hs | 15 +++++++++++---- Stackage/PerformBuild.hs | 10 +++++++++- 4 files changed, 53 insertions(+), 14 deletions(-) diff --git a/ChangeLog.md b/ChangeLog.md index 416ca03d..a41aa3b2 100644 --- a/ChangeLog.md +++ b/ChangeLog.md @@ -1,3 +1,8 @@ +## 0.5.1 + +* `loadBuildConstraints` +* More command line options + ## 0.5.0 * Print "Still Alive" while checking, to avoid Travis timeouts diff --git a/Stackage/BuildConstraints.hs b/Stackage/BuildConstraints.hs index 674ac395..e7aae355 100644 --- a/Stackage/BuildConstraints.hs +++ b/Stackage/BuildConstraints.hs @@ -11,6 +11,8 @@ module Stackage.BuildConstraints , getSystemInfo , defaultBuildConstraints , toBC + , BuildConstraintsSource (..) + , loadBuildConstraints ) where import Control.Monad.Writer.Strict (execWriter, tell) @@ -22,7 +24,7 @@ import Distribution.System (Arch, OS) import qualified Distribution.System import Distribution.Version (anyVersion) import Filesystem (isFile) -import Network.HTTP.Client (Manager, httpLbs, responseBody) +import Network.HTTP.Client (Manager, httpLbs, responseBody, Request) import Stackage.CorePackages import Stackage.Prelude @@ -126,15 +128,32 @@ instance FromJSON PackageConstraints where -- Checks the current directory for a build-constraints.yaml file and uses it -- if present. If not, downloads from Github. defaultBuildConstraints :: Manager -> IO BuildConstraints -defaultBuildConstraints man = do - e <- isFile fp - if e - then decodeFileEither (fpToString fp) >>= either throwIO toBC - else httpLbs req man >>= - either throwIO toBC . decodeEither' . toStrict . responseBody +defaultBuildConstraints = loadBuildConstraints BCSDefault + +data BuildConstraintsSource + = BCSDefault + | BCSFile FilePath + | BCSWeb Request + deriving (Show) + +loadBuildConstraints :: BuildConstraintsSource -> Manager -> IO BuildConstraints +loadBuildConstraints bcs man = do + case bcs of + BCSDefault -> do + e <- isFile fp0 + if e + then loadFile fp0 + else loadReq req0 + BCSFile fp -> loadFile fp + BCSWeb req -> loadReq req where - fp = "build-constraints.yaml" - req = "https://raw.githubusercontent.com/fpco/stackage/master/build-constraints.yaml" + fp0 = "build-constraints.yaml" + req0 = "https://raw.githubusercontent.com/fpco/stackage/master/build-constraints.yaml" + + loadFile fp = decodeFileEither (fpToString fp) >>= either throwIO toBC + loadReq req = httpLbs req man >>= + either throwIO toBC . decodeEither' . toStrict . responseBody + getSystemInfo :: IO SystemInfo getSystemInfo = do diff --git a/Stackage/CompleteBuild.hs b/Stackage/CompleteBuild.hs index 7a96ce74..5960d960 100644 --- a/Stackage/CompleteBuild.hs +++ b/Stackage/CompleteBuild.hs @@ -27,6 +27,7 @@ import Stackage.Prelude import Stackage.ServerBundle import Stackage.UpdateBuildPlan import Stackage.Upload +import System.Environment (lookupEnv) import System.IO (BufferMode (LineBuffering), hSetBuffering) -- | Flags passed in from the command line. @@ -241,12 +242,18 @@ justUploadNightly day = do finallyUpload :: Settings -> Manager -> IO () finallyUpload settings@Settings{..} man = do putStrLn "Uploading bundle to Stackage Server" - token <- readFile "/auth-token" + + mtoken <- lookupEnv "STACKAGE_AUTH_TOKEN" + token <- + case mtoken of + Nothing -> decodeUtf8 <$> readFile "/auth-token" + Just token -> return $ pack token + now <- epochTime let ghcVer = display $ siGhcVersion $ bpSystemInfo plan (ident, mloc) <- flip uploadBundle man $ setArgs ghcVer def { ubContents = serverBundle now (title ghcVer) slug plan - , ubAuthToken = decodeUtf8 token + , ubAuthToken = token } putStrLn $ "New ident: " ++ unSnapshotIdent ident forM_ mloc $ \loc -> @@ -257,7 +264,7 @@ finallyUpload settings@Settings{..} man = do putStrLn "Uploading docs to Stackage Server" res1 <- uploadDocs UploadDocs { udServer = def - , udAuthToken = decodeUtf8 token + , udAuthToken = token , udDocs = pbDocDir pb , udSnapshot = ident } man @@ -274,7 +281,7 @@ finallyUpload settings@Settings{..} man = do putStrLn "Uploading doc map" uploadDocMap UploadDocMap { udmServer = def - , udmAuthToken = decodeUtf8 token + , udmAuthToken = token , udmSnapshot = ident , udmDocDir = pbDocDir pb , udmPlan = plan diff --git a/Stackage/PerformBuild.hs b/Stackage/PerformBuild.hs index 55601341..58821125 100644 --- a/Stackage/PerformBuild.hs +++ b/Stackage/PerformBuild.hs @@ -197,7 +197,7 @@ performBuild' pb@PerformBuild {..} = withBuildDir $ \builddir -> do id (\db -> (("HASKELL_PACKAGE_SANDBOX", fpToString db):)) (pbDatabase pb) - (map fixEnv env) + (filter allowedEnv $ map fixEnv env) , sbHaddockFiles = haddockFiles } @@ -215,6 +215,8 @@ performBuild' pb@PerformBuild {..} = withBuildDir $ \builddir -> do | toUpper p == "PATH" = (p, fpToString (pbBinDir pb) ++ pathSep : x) | otherwise = (p, x) + allowedEnv (k, _) = k `notMember` bannedEnvs + -- | Separate for the PATH environment variable pathSep :: Char #ifdef mingw32_HOST_OS @@ -223,6 +225,12 @@ performBuild' pb@PerformBuild {..} = withBuildDir $ \builddir -> do pathSep = ':' #endif +-- | Environment variables we don't allow to be passed on to child processes. +bannedEnvs :: Set String +bannedEnvs = setFromList + [ "STACKAGE_AUTH_TOKEN" + ] + data SingleBuild = SingleBuild { sbSem :: TSem , sbErrsVar :: TVar (Map PackageName BuildFailure) From 2defc5b2a538666a44917594da8bc5c95967465f Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Sun, 11 Jan 2015 10:17:49 +0200 Subject: [PATCH 083/643] Experimental Docker instructions --- README.md | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/README.md b/README.md index 013e3209..dde0c3be 100644 --- a/README.md +++ b/README.md @@ -49,6 +49,28 @@ build by running: cabal install stackage stackage nightly +### Docker + +Note: This method is currently considered experimental. + +If you'd like to check a build plan, or perform an entire build, without +specially configuring your system, Docker may be a good approach. To check if +some modifications to `build-constraints.yaml` are valid, try the following: + +1. Create a local clone of the `stackage` repo +2. Make modifications to your local `build-constraints.yaml` +3. Inside the `stackage` working directory, run the following: + + ``` + $ docker run -it --rm -v $(pwd):/stackage -w /stackage snoyberg/stackage /bin/bash -c 'cabal update && stackage check' + ``` + +Similarly, if you'd like to perform an entire build, you can replace the last step with: + +``` +$ docker run -it --rm -v $(pwd):/stackage -w /stackage snoyberg/stackage /bin/bash -c 'cabal update && stackage build --skip-upload' +``` + ## Processing The following describes at a high level the series of steps for processing From 7a99d26a29581ef813a90b40c03a97051923b836 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Sun, 11 Jan 2015 10:24:10 +0200 Subject: [PATCH 084/643] Remove expected test failure --- build-constraints.yaml | 3 --- 1 file changed, 3 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index 54485a00..18c59c09 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -928,9 +928,6 @@ expected-test-failures: # https://github.com/jswebtools/language-ecmascript/issues/60 - language-ecmascript - # https://github.com/mvoidex/hdocs/issues/3 - - hdocs - # Haddocks which are expected to fail. Same concept as expected test failures. expected-haddock-failures: # https://github.com/acw/bytestring-progress/issues/4 From c6bfb8224f0010791239a765a21f7c75c86df600 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Sun, 11 Jan 2015 12:34:08 +0200 Subject: [PATCH 085/643] Add missing file to tarball --- stackage.cabal | 1 + 1 file changed, 1 insertion(+) diff --git a/stackage.cabal b/stackage.cabal index 03a55f6e..cdf4769a 100644 --- a/stackage.cabal +++ b/stackage.cabal @@ -12,6 +12,7 @@ build-type: Simple cabal-version: >=1.10 extra-source-files: README.md ChangeLog.md + test/test-build-constraints.yaml library default-language: Haskell2010 From a48748057a2cd593eed33e41f4eded8d88b3c6d9 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Sun, 11 Jan 2015 12:34:36 +0200 Subject: [PATCH 086/643] Version bump --- build-constraints.yaml | 2 +- stackage.cabal | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index 18c59c09..19a80049 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -1,7 +1,7 @@ # Constraints for brand new builds packages: "Michael Snoyman michael@snoyman.com @snoyberg": - - bzlib-conduit + - bzlib-conduit > 1000000 - cabal-install < 1.19 # GHC 7.10 bumpd to 1.22 - cabal-src - case-insensitive diff --git a/stackage.cabal b/stackage.cabal index cdf4769a..fee22c08 100644 --- a/stackage.cabal +++ b/stackage.cabal @@ -1,5 +1,5 @@ name: stackage -version: 0.5.0 +version: 0.5.1 synopsis: "Stable Hackage," tools for creating a vetted set of packages from Hackage. description: Please see for a description and documentation. homepage: https://github.com/fpco/stackage From 30da8ebb0811ab4bf2b2ffa494d736d439493e7a Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Sun, 11 Jan 2015 12:35:13 +0200 Subject: [PATCH 087/643] Remove accidental debugging info --- build-constraints.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index 19a80049..18c59c09 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -1,7 +1,7 @@ # Constraints for brand new builds packages: "Michael Snoyman michael@snoyman.com @snoyberg": - - bzlib-conduit > 1000000 + - bzlib-conduit - cabal-install < 1.19 # GHC 7.10 bumpd to 1.22 - cabal-src - case-insensitive From 0ad61751760014415f97864badbf50e30eccdfb4 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Sun, 11 Jan 2015 13:01:11 +0200 Subject: [PATCH 088/643] Fix Docker command to use stackage nightly --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index dde0c3be..82a9802d 100644 --- a/README.md +++ b/README.md @@ -68,7 +68,7 @@ some modifications to `build-constraints.yaml` are valid, try the following: Similarly, if you'd like to perform an entire build, you can replace the last step with: ``` -$ docker run -it --rm -v $(pwd):/stackage -w /stackage snoyberg/stackage /bin/bash -c 'cabal update && stackage build --skip-upload' +$ docker run -it --rm -v $(pwd):/stackage -w /stackage snoyberg/stackage /bin/bash -c 'cabal update && stackage nightly --skip-upload' ``` ## Processing From f80d0bc8e10c24e5fa2f8f825685bfdf0d0692d5 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Sun, 11 Jan 2015 13:16:48 +0200 Subject: [PATCH 089/643] Docker: install hscolour --- Dockerfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index af097edc..2a90db9b 100644 --- a/Dockerfile +++ b/Dockerfile @@ -20,8 +20,8 @@ ENV PATH /opt/ghc/7.8.4/bin:/opt/cabal/1.20/bin:/usr/local/sbin:/usr/local/bin:/ RUN cabal update ADD . /tmp/stackage -RUN cd /tmp/stackage && cabal install -RUN cp $HOME/.cabal/bin/stackage /usr/local/bin +RUN cd /tmp/stackage && cabal install . hscolour +RUN cp $HOME/.cabal/bin/* /usr/local/bin RUN rm -rf $HOME/.cabal $HOME/.ghc /tmp/stackage RUN cd /home/stackage && cabal update && stackage check From 0a9ef9bbe3370d427c65b0f13cfb60efe01b56d0 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Sun, 11 Jan 2015 16:49:14 +0200 Subject: [PATCH 090/643] Skip ChasingBottoms 1.3.0.10 --- build-constraints.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 18c59c09..6742f24b 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -698,6 +698,9 @@ packages: # https://github.com/fpco/stackage/issues/410 - elm-package < 0.4 + # https://github.com/fpco/lts-haskell/issues/5 + - ChasingBottoms "< 1.3.0.10 || > 1.3.0.10" + # Package flags are applied to individual packages, and override the values of # global-flags package-flags: From dd4026fb4537f33bbe16a76e4d584350b8c0d468 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Sun, 11 Jan 2015 16:52:33 +0200 Subject: [PATCH 091/643] Fix previous version constraint --- build-constraints.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index 6742f24b..09251564 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -699,7 +699,7 @@ packages: - elm-package < 0.4 # https://github.com/fpco/lts-haskell/issues/5 - - ChasingBottoms "< 1.3.0.10 || > 1.3.0.10" + - ChasingBottoms < 1.3.0.10 || > 1.3.0.10 # Package flags are applied to individual packages, and override the values of # global-flags From 948f796190b0822ae1669cceb1fc56947b3e379f Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Mon, 12 Jan 2015 12:50:04 +0200 Subject: [PATCH 092/643] Set Joey as ping for Elm --- build-constraints.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 09251564..b42212f2 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -992,3 +992,5 @@ github-users: - mightybyte haskell-ro: - mihaimaruseac + elm-lang: + - JoeyEremondi From a649714c359cfa40663422d690bfa4b46d503a62 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Tue, 13 Jan 2015 07:50:30 +0200 Subject: [PATCH 093/643] Expected test failure kazy-yamamoto/unix-time#29 --- build-constraints.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index b42212f2..0c71737c 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -931,6 +931,9 @@ expected-test-failures: # https://github.com/jswebtools/language-ecmascript/issues/60 - language-ecmascript + # https://github.com/kazu-yamamoto/unix-time/issues/29 + - unix-time + # Haddocks which are expected to fail. Same concept as expected test failures. expected-haddock-failures: # https://github.com/acw/bytestring-progress/issues/4 From 28a53c135812ff0cfe5e4d77fbfe00b8591e018b Mon Sep 17 00:00:00 2001 From: Jens Petersen Date: Tue, 13 Jan 2015 16:39:28 +0900 Subject: [PATCH 094/643] add cabal-rpm --- build-constraints.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 0c71737c..ab07fc02 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -661,6 +661,9 @@ packages: - koofr-client - snowflake + "Jens Petersen juhpetersen@gmail.com @juhp": + - cabal-rpm + "Stackage upper bounds": # Force a specific version that's compatible with transformers 0.3 From cd23e9856bf5740bd2c7fd3d0b2ac21a6e8b978d Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Wed, 14 Jan 2015 07:57:47 +0200 Subject: [PATCH 095/643] Upper bound for #412 --- build-constraints.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index ab07fc02..c6dead3f 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -704,6 +704,9 @@ packages: # https://github.com/fpco/lts-haskell/issues/5 - ChasingBottoms < 1.3.0.10 || > 1.3.0.10 + # https://github.com/fpco/stackage/issues/412 + - process-extras < 0.3 + # Package flags are applied to individual packages, and override the values of # global-flags package-flags: From b08210debd0d57de322d6be0ad9e39eb19ad2d41 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Wed, 14 Jan 2015 08:18:30 +0200 Subject: [PATCH 096/643] LTSHaskell distro name haskell/hackage-server#307 --- Stackage/CompleteBuild.hs | 5 ++++- Stackage/Upload.hs | 32 +++++++++++++++++++++++--------- 2 files changed, 27 insertions(+), 10 deletions(-) diff --git a/Stackage/CompleteBuild.hs b/Stackage/CompleteBuild.hs index 5960d960..cf74eef2 100644 --- a/Stackage/CompleteBuild.hs +++ b/Stackage/CompleteBuild.hs @@ -54,6 +54,7 @@ data Settings = Settings , slug :: Text , setArgs :: Text -> UploadBundle -> UploadBundle , postBuild :: IO () + , distroName :: Text -- ^ distro name on Hackage } nightlyPlanFile :: Text -- ^ day @@ -77,6 +78,7 @@ nightlySettings day plan' = Settings , setArgs = \ghcVer ub -> ub { ubNightly = Just ghcVer } , plan = plan' , postBuild = return () + , distroName = "Stackage" } where slug' = "nightly-" ++ day @@ -137,6 +139,7 @@ getSettings man (LTS bumpType) = do git ["commit", "-m", "Added new LTS release: " ++ show new] putStrLn "Pushing to Git repository" git ["push"] + , distroName = "LTSHaskell" } data LTSVer = LTSVer !Int !Int @@ -274,7 +277,7 @@ finallyUpload settings@Settings{..} man = do case map encodeUtf8 $ words $ decodeUtf8 $ either (const "") id ecreds of [username, password] -> do putStrLn "Uploading as Hackage distro" - res2 <- uploadHackageDistro plan username password man + res2 <- uploadHackageDistroNamed distroName plan username password man putStrLn $ "Distro upload response: " ++ tshow res2 _ -> putStrLn "No creds found, skipping Hackage distro upload" diff --git a/Stackage/Upload.hs b/Stackage/Upload.hs index bb1c8246..c3e544e4 100644 --- a/Stackage/Upload.hs +++ b/Stackage/Upload.hs @@ -11,6 +11,7 @@ module Stackage.Upload , UploadDocs (..) , uploadDocs , uploadHackageDistro + , uploadHackageDistroNamed , UploadDocMap (..) , uploadDocMap ) where @@ -149,8 +150,28 @@ uploadHackageDistro :: BuildPlan -> ByteString -- ^ Hackage password -> Manager -> IO (Response LByteString) -uploadHackageDistro bp username password = - httpLbs (applyBasicAuth username password req) +uploadHackageDistro = uploadHackageDistroNamed "Stackage" + +uploadHackageDistroNamed + :: Text -- ^ distro name + -> BuildPlan + -> ByteString -- ^ Hackage username + -> ByteString -- ^ Hackage password + -> Manager + -> IO (Response LByteString) +uploadHackageDistroNamed name bp username password manager = do + req1 <- parseUrl $ concat + [ "http://hackage.haskell.org/distro/" + , unpack name + , "/packages.csv" + ] + let req2 = req1 + { requestHeaders = [("Content-Type", "text/csv")] + , requestBody = RequestBodyLBS csv + , checkStatus = \_ _ _ -> Nothing + , method = "PUT" + } + httpLbs (applyBasicAuth username password req2) manager where csv = encodeUtf8 $ builderToLazy @@ -168,13 +189,6 @@ uploadHackageDistro bp username password = (toBuilder $ display name) ++ "\"" - req = "http://hackage.haskell.org/distro/Stackage/packages.csv" - { requestHeaders = [("Content-Type", "text/csv")] - , requestBody = RequestBodyLBS csv - , checkStatus = \_ _ _ -> Nothing - , method = "PUT" - } - data UploadDocMap = UploadDocMap { udmServer :: StackageServer , udmAuthToken :: Text From 3d79cbf258a3dbb0a1959ab61713a2b5145041d7 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Wed, 14 Jan 2015 08:19:25 +0200 Subject: [PATCH 097/643] Version bump --- ChangeLog.md | 4 ++++ stackage.cabal | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/ChangeLog.md b/ChangeLog.md index a41aa3b2..87e64958 100644 --- a/ChangeLog.md +++ b/ChangeLog.md @@ -1,3 +1,7 @@ +## 0.5.2 + +* Upload LTS to Hackage with the name LTSHaskell + ## 0.5.1 * `loadBuildConstraints` diff --git a/stackage.cabal b/stackage.cabal index fee22c08..c5e848e7 100644 --- a/stackage.cabal +++ b/stackage.cabal @@ -1,5 +1,5 @@ name: stackage -version: 0.5.1 +version: 0.5.2 synopsis: "Stable Hackage," tools for creating a vetted set of packages from Hackage. description: Please see for a description and documentation. homepage: https://github.com/fpco/stackage From 1d2793a8298d5c962ae39a4be22a250cd32c2114 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Wed, 14 Jan 2015 09:01:20 +0200 Subject: [PATCH 098/643] Skip DRBG-0.5.4 TomMD/DRBG#7 --- build-constraints.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index c6dead3f..8a6527f7 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -707,6 +707,9 @@ packages: # https://github.com/fpco/stackage/issues/412 - process-extras < 0.3 + # https://github.com/TomMD/DRBG/issues/7 + - DRBG < 0.5.4 || > 0.5.4 + # Package flags are applied to individual packages, and override the values of # global-flags package-flags: From 68f5621ea401b0dac8df65b848747670541ab255 Mon Sep 17 00:00:00 2001 From: Alois Cochard Date: Wed, 7 Jan 2015 11:37:31 +0100 Subject: [PATCH 099/643] Adding `codex` package. --- build-constraints.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 4be259e7..9027532f 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -648,6 +648,7 @@ packages: - unbound-generics "Alois Cochard alois.cochard@gmail.com @aloiscochard": + - codex - machines-directory - machines-io - machines-process From d6998a4e8dd2ad26826ca33f4512f049b792eeda Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Wed, 14 Jan 2015 11:43:36 +0200 Subject: [PATCH 100/643] Add expected test failure --- build-constraints.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 8a6527f7..83be0317 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -943,6 +943,9 @@ expected-test-failures: # https://github.com/kazu-yamamoto/unix-time/issues/29 - unix-time + # Tests can fail when the build plan fails, which happens arbitrarily. + - stackage + # Haddocks which are expected to fail. Same concept as expected test failures. expected-haddock-failures: # https://github.com/acw/bytestring-progress/issues/4 From 33a94d1c1ffc812c078e3b28d3ae281482181cb8 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Wed, 14 Jan 2015 11:45:21 +0200 Subject: [PATCH 101/643] Skip check during test suite --- test/Stackage/BuildPlanSpec.hs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/test/Stackage/BuildPlanSpec.hs b/test/Stackage/BuildPlanSpec.hs index b929d689..b87c74d2 100644 --- a/test/Stackage/BuildPlanSpec.hs +++ b/test/Stackage/BuildPlanSpec.hs @@ -36,8 +36,10 @@ spec = do [("foo", [0, 0, 0], [("bar", thisV [0, 0, 0])]) ,("bar", [0, 0, 0], [("mu", thisV [0, 0, 0])]) ,("mu", [0, 0, 0], [("foo", thisV [0, 0, 0])])] + {- Shouldn't be testing this actually it "default package set checks ok" $ check defaultBuildConstraints getLatestAllowedPlans + -} -- | Checking should be considered a bad build plan. badBuildPlan :: (BuildConstraints -> IO (Map PackageName PackagePlan)) From 0ab7bbcc764755e295ec6c4c4cd0ac91e6ff5082 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Wed, 14 Jan 2015 21:58:13 +0200 Subject: [PATCH 102/643] Remove upper bounds and close #412 --- build-constraints.yaml | 3 --- 1 file changed, 3 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index df62f74d..8a2daf43 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -705,9 +705,6 @@ packages: # https://github.com/fpco/lts-haskell/issues/5 - ChasingBottoms < 1.3.0.10 || > 1.3.0.10 - # https://github.com/fpco/stackage/issues/412 - - process-extras < 0.3 - # https://github.com/TomMD/DRBG/issues/7 - DRBG < 0.5.4 || > 0.5.4 From 455871ed38a1610c78be6ea41485c3bb10d4abc2 Mon Sep 17 00:00:00 2001 From: Alois Cochard Date: Wed, 14 Jan 2015 22:55:14 +0100 Subject: [PATCH 103/643] Add `wreq` package. --- build-constraints.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 8a2daf43..e5e9ab56 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -656,6 +656,8 @@ packages: - machines-directory - machines-io - machines-process + # on behalf of Bryan O'Sullivan @bos + - wreq "Andraz Bajt andraz@bajt.me @edofic": - effect-handlers From bf6b6f3317ea8a1ffacf6a6275e9301cd83692c6 Mon Sep 17 00:00:00 2001 From: "Leza Morais Lutonda (Lemol-C)" Date: Wed, 14 Jan 2015 21:39:27 -0500 Subject: [PATCH 104/643] Add HaskellNet --- build-constraints.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 8a2daf43..f85b9353 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -662,6 +662,9 @@ packages: - koofr-client - snowflake + "Leza M. Lutonda lemol-c@hotmail.com @lemol": + - HaskellNet + "Jens Petersen juhpetersen@gmail.com @juhp": - cabal-rpm From ef2378e0201cef3eee3d9e241ff32e53a86e7d24 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Thu, 15 Jan 2015 07:48:38 +0200 Subject: [PATCH 105/643] Switch to expected failure TomMD/DRBG#7 --- build-constraints.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index 8a2daf43..ae07cdad 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -705,9 +705,6 @@ packages: # https://github.com/fpco/lts-haskell/issues/5 - ChasingBottoms < 1.3.0.10 || > 1.3.0.10 - # https://github.com/TomMD/DRBG/issues/7 - - DRBG < 0.5.4 || > 0.5.4 - # Package flags are applied to individual packages, and override the values of # global-flags package-flags: @@ -944,6 +941,9 @@ expected-test-failures: # Tests can fail when the build plan fails, which happens arbitrarily. - stackage + # https://github.com/TomMD/DRBG/issues/7 + - DRBG + # Haddocks which are expected to fail. Same concept as expected test failures. expected-haddock-failures: # https://github.com/acw/bytestring-progress/issues/4 From 8e2819c14f012a11d73446845222e342494e646a Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Thu, 15 Jan 2015 08:59:09 +0200 Subject: [PATCH 106/643] Add expected test failure bos/wreq#53 --- build-constraints.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 3726580c..31877f60 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -949,6 +949,9 @@ expected-test-failures: # https://github.com/TomMD/DRBG/issues/7 - DRBG + # https://github.com/bos/wreq/issues/53 + - wreq + # Haddocks which are expected to fail. Same concept as expected test failures. expected-haddock-failures: # https://github.com/acw/bytestring-progress/issues/4 From 16d3f85f9b38a10d18149a5d4441a3250e13d449 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Fri, 16 Jan 2015 07:13:18 +0200 Subject: [PATCH 107/643] Upper bounds for #415 --- build-constraints.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 31877f60..e9deb3c3 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -710,6 +710,9 @@ packages: # https://github.com/fpco/lts-haskell/issues/5 - ChasingBottoms < 1.3.0.10 || > 1.3.0.10 + # https://github.com/fpco/stackage/issues/415 + - hackage-db < 1.12 + # Package flags are applied to individual packages, and override the values of # global-flags package-flags: From 993dfbefb2ab2ab42575053eb0310f013a34a4d9 Mon Sep 17 00:00:00 2001 From: George Giorgidze Date: Fri, 16 Jan 2015 22:38:24 +0000 Subject: [PATCH 108/643] Whitespace only --- build-constraints.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index e9deb3c3..6168981d 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -657,8 +657,8 @@ packages: - machines-io - machines-process # on behalf of Bryan O'Sullivan @bos - - wreq - + - wreq + "Andraz Bajt andraz@bajt.me @edofic": - effect-handlers - koofr-client From b5466165eb36f7bd996f81902d63bbd8592976cd Mon Sep 17 00:00:00 2001 From: George Giorgidze Date: Fri, 16 Jan 2015 22:39:10 +0000 Subject: [PATCH 109/643] Add set-monad to Stackage --- build-constraints.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 6168981d..bff07903 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -440,6 +440,7 @@ packages: "George Giorgidze ": - HCodecs - YampaSynth + - set-monad "Phil Hargett ": - courier From eddc392c5d5f3aff5350e36083402cb5f816192c Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Sat, 17 Jan 2015 21:41:27 +0200 Subject: [PATCH 110/643] Expected test failure vincenthz/tasty-kat#1 --- build-constraints.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index bff07903..08077dab 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -956,6 +956,9 @@ expected-test-failures: # https://github.com/bos/wreq/issues/53 - wreq + # https://github.com/vincenthz/tasty-kat/issues/1 + - tasty-kat + # Haddocks which are expected to fail. Same concept as expected test failures. expected-haddock-failures: # https://github.com/acw/bytestring-progress/issues/4 From 347a6d18433a907b49fa94b29fc9bf32bb01da1e Mon Sep 17 00:00:00 2001 From: Omari Norman Date: Sat, 17 Jan 2015 22:22:20 -0500 Subject: [PATCH 111/643] add multiarg, prednote, cartel; remove rainbow-tests --- build-constraints.yaml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index 08077dab..253b3c79 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -121,8 +121,10 @@ packages: "Omari Norman ": - barecheck - rainbow - - rainbow-tests - quickpull + - multiarg + - prednote + - cartel "Neil Mitchell": - hlint From bf0d7efbcab29049f410d5096482fd532158027a Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Mon, 19 Jan 2015 06:03:34 +0200 Subject: [PATCH 112/643] Upper bounds for #421 --- build-constraints.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index 08077dab..1070803e 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -121,7 +121,8 @@ packages: "Omari Norman ": - barecheck - rainbow - - rainbow-tests + # https://github.com/fpco/stackage/issues/421 + #- rainbow-tests - quickpull "Neil Mitchell": From 8833ca229a4caac550c61c3f44d2b41d8bd10246 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Mon, 19 Jan 2015 07:34:37 +0200 Subject: [PATCH 113/643] Revert "Upper bounds for #421" Addressed by PR #420. Closes #421 This reverts commit bf0d7efbcab29049f410d5096482fd532158027a. --- build-constraints.yaml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index 1070803e..08077dab 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -121,8 +121,7 @@ packages: "Omari Norman ": - barecheck - rainbow - # https://github.com/fpco/stackage/issues/421 - #- rainbow-tests + - rainbow-tests - quickpull "Neil Mitchell": From b90506c78680f49df407100792cbb018a782ca00 Mon Sep 17 00:00:00 2001 From: Joachim Breitner Date: Mon, 19 Jan 2015 10:50:07 +0100 Subject: [PATCH 114/643] Add tttool --- build-constraints.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 253b3c79..0eae9493 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -456,6 +456,7 @@ packages: - circle-packing - arbtt - ghc-heap-view + - tttool "Aditya Bhargava Date: Mon, 19 Jan 2015 11:47:55 +0100 Subject: [PATCH 115/643] Add old-locale flag for tttool (#422) --- build-constraints.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 0eae9493..f80f81a1 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -749,6 +749,8 @@ package-flags: # GHC 7.10 remove aeson: old-locale: true + tttool: + old-locale: true hxt: network-uri: true From 041f21621a6e41af291e52e4e04269703ec92aa4 Mon Sep 17 00:00:00 2001 From: Joachim Breitner Date: Mon, 19 Jan 2015 23:51:59 +0100 Subject: [PATCH 116/643] Add gipeda --- build-constraints.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index f80f81a1..c46eba24 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -457,6 +457,7 @@ packages: - arbtt - ghc-heap-view - tttool + - gipeda "Aditya Bhargava Date: Wed, 21 Jan 2015 04:10:18 +0200 Subject: [PATCH 117/643] More upper bounds for #389 --- build-constraints.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index c46eba24..5f0d7bf3 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -691,6 +691,7 @@ packages: # https://github.com/fpco/stackage/issues/389 - lens < 4.7 + - hsdev < 0.1.3.3 # https://github.com/fpco/stackage/issues/390 # NOTE: When this issue is resolved, remove the expected test failure From 06563467b87a503ac2275c541b1d3ef0bb62abd6 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Thu, 22 Jan 2015 15:16:28 +0200 Subject: [PATCH 118/643] Upper bound for #424 --- build-constraints.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 5f0d7bf3..ade038c0 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -719,6 +719,9 @@ packages: # https://github.com/fpco/stackage/issues/415 - hackage-db < 1.12 + # https://github.com/fpco/stackage/issues/424 + - control-monad-free < 0.6 + # Package flags are applied to individual packages, and override the values of # global-flags package-flags: From f5bbf9e547866a3fa409bb82276b86ea28cb330c Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Thu, 22 Jan 2015 15:45:42 +0200 Subject: [PATCH 119/643] Temporarily skip tests jgm/zip-archive#23 --- build-constraints.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index ade038c0..c377310b 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -819,6 +819,9 @@ skipped-tests: # https://github.com/Soostone/retry/issues/18 - retry + # https://github.com/jgm/zip-archive/issues/23 + - zip-archive + # Tests which we should build and run, but which are expected to fail. We # should not fail a build based on a test failure for one of these packages. expected-test-failures: From b4586e991e5ebf294a94d7c04a877357ec71d86d Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Fri, 23 Jan 2015 00:09:10 +0200 Subject: [PATCH 120/643] Don't die due to missing tool jgm/zip-archive#23 --- Stackage/PerformBuild.hs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Stackage/PerformBuild.hs b/Stackage/PerformBuild.hs index 58821125..c74b449a 100644 --- a/Stackage/PerformBuild.hs +++ b/Stackage/PerformBuild.hs @@ -88,7 +88,9 @@ waitForDeps toolMap packageMap activeComps bp pi action = do case lookup exe toolMap >>= fromNullable . map checkPackage . setToList of Nothing | isCoreExe exe -> return () - | otherwise -> throwSTM $ ToolMissing exe + -- https://github.com/jgm/zip-archive/issues/23 + -- | otherwise -> throwSTM $ ToolMissing exe + | otherwise -> return () Just packages -> ofoldl1' (<|>) packages action where From d580bfca5f22d7920ccb124ea71f8e9e0ff5377c Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Fri, 23 Jan 2015 00:09:45 +0200 Subject: [PATCH 121/643] Remove skipped test jgm/zip-archive#23 --- build-constraints.yaml | 3 --- 1 file changed, 3 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index c377310b..ade038c0 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -819,9 +819,6 @@ skipped-tests: # https://github.com/Soostone/retry/issues/18 - retry - # https://github.com/jgm/zip-archive/issues/23 - - zip-archive - # Tests which we should build and run, but which are expected to fail. We # should not fail a build based on a test failure for one of these packages. expected-test-failures: From 4e9c9d1ffa428e6f060cde9fc86dd771912b5da5 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Sun, 25 Jan 2015 14:32:06 +0200 Subject: [PATCH 122/643] Upper bound for #426 --- build-constraints.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index ade038c0..f7496850 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -722,6 +722,9 @@ packages: # https://github.com/fpco/stackage/issues/424 - control-monad-free < 0.6 + # https://github.com/fpco/stackage/issues/426 + - utf8-string < 1 + # Package flags are applied to individual packages, and override the values of # global-flags package-flags: From 6e7f19624d1abb20c26b5a3008146200411496db Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Tue, 27 Jan 2015 15:20:35 +0200 Subject: [PATCH 123/643] Turn off old-time flag for tar --- build-constraints.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index f7496850..815c5972 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -773,6 +773,9 @@ package-flags: text: integer-simple: false + tar: + old-time: false + # By skipping a test suite, we do not pull in the build dependencies skipped-tests: - ReadArgs # old version of hspec From c48d50b851c54a612f3704f525a8b50fff7c881f Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Tue, 27 Jan 2015 15:24:19 +0200 Subject: [PATCH 124/643] Remove expected failure --- build-constraints.yaml | 3 --- 1 file changed, 3 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index 815c5972..52f12682 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -972,9 +972,6 @@ expected-test-failures: # https://github.com/bos/wreq/issues/53 - wreq - # https://github.com/vincenthz/tasty-kat/issues/1 - - tasty-kat - # Haddocks which are expected to fail. Same concept as expected test failures. expected-haddock-failures: # https://github.com/acw/bytestring-progress/issues/4 From d75573dfbacd4228414f08d26fe1e9de9d506228 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Tue, 27 Jan 2015 20:13:59 +0200 Subject: [PATCH 125/643] Expected test failure ndmitchell/hoogle#96 --- build-constraints.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 52f12682..1658197e 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -972,6 +972,9 @@ expected-test-failures: # https://github.com/bos/wreq/issues/53 - wreq + # https://github.com/ndmitchell/hoogle/issues/96 + - hoogle + # Haddocks which are expected to fail. Same concept as expected test failures. expected-haddock-failures: # https://github.com/acw/bytestring-progress/issues/4 From 6ade0e650b175dc8821f8007dc3e2946438995a7 Mon Sep 17 00:00:00 2001 From: Emanuel Borsboom Date: Thu, 29 Jan 2015 04:13:36 -0800 Subject: [PATCH 126/643] Add ghc-heap-view to skipped-profiling --- build-constraints.yaml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index 1658197e..a0827469 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -1012,7 +1012,9 @@ skipped-benchmarks: # sometimes falls out-of-sync on hasql-postgres - hasql -skipped-profiling: [] +skipped-profiling: + # https://github.com/nomeata/ghc-heap-view/commit/8d198eb8fbbad2ce0c4527c781659f35b8909c04#diff-8288955e209cfbead5b318a8598be9c0R10 + - ghc-heap-view # Mapping from Github account holding a package to the Github users who should # be pinged on failure. If no value is specified here, then the owning account From 462c0d0ce5918e3ee5de0836aade7bbb251b3434 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Thu, 29 Jan 2015 17:41:05 +0200 Subject: [PATCH 127/643] Remove ChasingBottoms constraints --- build-constraints.yaml | 3 --- 1 file changed, 3 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index 1658197e..4eb1f4c3 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -713,9 +713,6 @@ packages: # https://github.com/fpco/stackage/issues/410 - elm-package < 0.4 - # https://github.com/fpco/lts-haskell/issues/5 - - ChasingBottoms < 1.3.0.10 || > 1.3.0.10 - # https://github.com/fpco/stackage/issues/415 - hackage-db < 1.12 From 13c020a72a57925ebc0d3af991cd4cc36af38cea Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Thu, 29 Jan 2015 17:41:14 +0200 Subject: [PATCH 128/643] Extra #426 constraint --- build-constraints.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 4eb1f4c3..b561b922 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -721,6 +721,7 @@ packages: # https://github.com/fpco/stackage/issues/426 - utf8-string < 1 + - language-javascript < 0.5.13.1 # Package flags are applied to individual packages, and override the values of # global-flags From 011c5f01ed4d922d88739e12e0e591c04d0ad4ef Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Thu, 29 Jan 2015 18:11:59 +0200 Subject: [PATCH 129/643] Remove expected hoogle failure --- build-constraints.yaml | 3 --- 1 file changed, 3 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index 58ef57e4..52775e5e 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -977,9 +977,6 @@ expected-test-failures: # https://github.com/bos/wreq/issues/53 - wreq - # https://github.com/ndmitchell/hoogle/issues/96 - - hoogle - # Haddocks which are expected to fail. Same concept as expected test failures. expected-haddock-failures: # https://github.com/acw/bytestring-progress/issues/4 From 003db2f02b160331fe421a8f1c8fb08346b30481 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Thu, 29 Jan 2015 18:25:16 +0200 Subject: [PATCH 130/643] Remove dupe --- build-constraints.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index c7b1c330..c9bcfbdb 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -183,7 +183,6 @@ packages: - crypto-random-api - hit - language-java - - language-java - libgit - pem - siphash From 3b863ccf7c11cc835805e92ebe938505617fd744 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Thu, 29 Jan 2015 18:25:25 +0200 Subject: [PATCH 131/643] Remove unneeded constraint --- build-constraints.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index c9bcfbdb..a4075e4d 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -727,7 +727,6 @@ packages: # https://github.com/fpco/stackage/issues/426 - utf8-string < 1 - - language-javascript < 0.5.13.1 # Package flags are applied to individual packages, and override the values of # global-flags From f51b86e165f109930e462f110bc0155215824e47 Mon Sep 17 00:00:00 2001 From: Emanuel Borsboom Date: Thu, 29 Jan 2015 14:03:54 -0800 Subject: [PATCH 132/643] Add `install` subcommand. Used to install a Stackage snapshot from a build plan. --- Stackage/InstallBuild.hs | 96 ++++++++++++++++++++++++++++++++++++++++ app/stackage.hs | 67 ++++++++++++++++++++++++++-- stackage.cabal | 2 + 3 files changed, 161 insertions(+), 4 deletions(-) create mode 100644 Stackage/InstallBuild.hs diff --git a/Stackage/InstallBuild.hs b/Stackage/InstallBuild.hs new file mode 100644 index 00000000..abe8a14e --- /dev/null +++ b/Stackage/InstallBuild.hs @@ -0,0 +1,96 @@ +{-# LANGUAGE DeriveDataTypeable #-} +{-# LANGUAGE NoImplicitPrelude #-} +{-# LANGUAGE OverloadedStrings #-} +{-# LANGUAGE RecordWildCards #-} +{-# LANGUAGE ScopedTypeVariables #-} +module Stackage.InstallBuild + ( InstallFlags (..) + , BuildPlanSource (..) + , installBuild + ) where + +import qualified Codec.Archive.Tar as Tar +import qualified Codec.Compression.GZip as GZip +import qualified Data.Yaml as Yaml +import Network.HTTP.Client +import Network.HTTP.Client.TLS (tlsManagerSettings) +import Stackage.BuildPlan +import Stackage.CheckBuildPlan +import Stackage.PerformBuild +import Stackage.Prelude +import System.IO (BufferMode (LineBuffering), hSetBuffering) + +-- | Flags passed in from the command line. +data InstallFlags = InstallFlags + { ifPlanSource :: !BuildPlanSource + , ifInstallDest :: !FilePath + , ifLogDir :: !(Maybe FilePath) + , ifJobs :: !Int + , ifGlobalInstall :: !Bool + , ifEnableTests :: !Bool + , ifEnableLibProfiling :: !Bool + , ifVerbose :: !Bool + , ifSkipCheck :: !Bool + } deriving (Show) + +-- | Source for build plan. +data BuildPlanSource = BPSBundleWeb String + | BPSFile FilePath + deriving (Show) + +getPerformBuild :: BuildPlan -> InstallFlags -> PerformBuild +getPerformBuild plan InstallFlags{..} = + PerformBuild + { pbPlan = plan + , pbInstallDest = ifInstallDest + , pbLogDir = fromMaybe (ifInstallDest "logs") ifLogDir + , pbLog = hPut stdout + , pbJobs = ifJobs + , pbGlobalInstall = ifGlobalInstall + , pbEnableTests = ifEnableTests + , pbEnableLibProfiling = ifEnableLibProfiling + , pbVerbose = ifVerbose + , pbAllowNewer = ifSkipCheck + } + +-- | Install stackage from an existing build plan. +installBuild :: InstallFlags -> IO () +installBuild installFlags@InstallFlags{..} = do + hSetBuffering stdout LineBuffering + + putStrLn $ "Loading build plan" + plan <- case ifPlanSource of + BPSBundleWeb url -> withManager tlsManagerSettings $ \man -> do + req <- parseUrl url + res <- httpLbs req man + planBSL <- getPlanEntry $ Tar.read $ GZip.decompress (responseBody res) + decodeBuildPlan planBSL + BPSFile path -> Yaml.decodeFileEither (fpToString path) >>= either throwM return + + if ifSkipCheck + then putStrLn "Skipping build plan check" + else do + putStrLn "Checking build plan" + checkBuildPlan plan + + putStrLn "Performing build" + performBuild (getPerformBuild plan installFlags) >>= mapM_ putStrLn + + where + getPlanEntry Tar.Done = throwIO NoBuildPlanException + getPlanEntry (Tar.Fail e) = throwIO e + getPlanEntry (Tar.Next entry entries) + | Tar.entryPath entry == "build-plan.yaml" = + case Tar.entryContent entry of + Tar.NormalFile bs _ -> return bs + _ -> throwIO NoBuildPlanException + | otherwise = getPlanEntry entries + + decodeBuildPlan = + either throwIO return . Yaml.decodeEither' . toStrict + +data InstallBuildException = NoBuildPlanException + deriving (Typeable) +instance Exception InstallBuildException +instance Show InstallBuildException where + show NoBuildPlanException = "Bundle has missing or invalid build-plan.yaml" diff --git a/app/stackage.hs b/app/stackage.hs index 1f61496f..8fdd2833 100644 --- a/app/stackage.hs +++ b/app/stackage.hs @@ -7,8 +7,10 @@ import Data.Monoid import Data.String (fromString) import Data.Version import Options.Applicative +import Filesystem.Path.CurrentOS (decodeString) import Paths_stackage (version) import Stackage.CompleteBuild +import Stackage.InstallBuild main :: IO () main = @@ -25,9 +27,9 @@ main = help "Show this help text" versionOption = infoOption - ("fpbuild version " ++ showVersion version) + ("stackage version " ++ showVersion version) (long "version" <> - help "Show fpbuild version") + help "Show stackage version") config = subparser $ mconcat @@ -55,12 +57,19 @@ main = (const justCheck) (pure ()) "check" - "Just check that the build plan is ok"] + "Just check that the build plan is ok" + , cmnd + installBuild + installFlags + "install" + "Install a snapshot from an existing build plan"] + cmnd exec parse name desc = command name $ info - (fmap exec parse) + (fmap exec (parse <**> helpOption)) (progDesc desc) + buildFlags = BuildFlags <$> fmap @@ -86,3 +95,53 @@ main = nightlyUploadFlags = fromString <$> strArgument (metavar "DATE" <> help "Date, in YYYY-MM-DD format") + + installFlags = + InstallFlags <$> + (fmap + BPSBundleWeb + (strOption + (long "bundle" <> + metavar "URL" <> + help "Stackage bundle containing build plan")) <|> + fmap + (BPSFile . decodeString) + (strOption + (long "build-plan" <> + metavar "PATH" <> + help "Build-plan YAML file"))) <*> + fmap + decodeString + (strArgument + (metavar "DESTINATION-PATH" <> + help "Destination directory path")) <*> + (fmap + (Just . decodeString) + (strOption + (long "log-dir" <> + metavar "PATH" <> + help "Location of log files (default DESTINATION-PATH/logs)")) <|> + pure Nothing) <*> + option + auto + (long "jobs" <> + metavar "NUMBER" <> + showDefault <> value 8 <> + help "Number of threads") <*> + switch + (long "global" <> + help "Install in global package database") <*> + fmap + not + (switch + (long "skip-tests" <> + help "Skip build and running the test suites")) <*> + switch + (long "enable-library-profiling" <> + help "Enable profiling when building") <*> + switch + (long "verbose" <> short 'v' <> + help "Output verbose detail about the build steps") <*> + switch + (long "skip-check" <> + help "Skip the check phase, and pass --allow-newer to cabal configure") diff --git a/stackage.cabal b/stackage.cabal index c5e848e7..94b42da9 100644 --- a/stackage.cabal +++ b/stackage.cabal @@ -24,6 +24,7 @@ library Stackage.CheckBuildPlan Stackage.UpdateBuildPlan Stackage.GithubPings + Stackage.InstallBuild Stackage.PackageDescription Stackage.ServerBundle Stackage.Upload @@ -70,6 +71,7 @@ executable stackage build-depends: base , stackage , optparse-applicative >= 0.11 + , system-filepath ghc-options: -rtsopts -threaded -with-rtsopts=-N test-suite spec From 623926418a92b7fe6490eeb9640fb7f6cc6de7e4 Mon Sep 17 00:00:00 2001 From: Tomas Carnecky Date: Fri, 30 Jan 2015 13:48:11 +0000 Subject: [PATCH 133/643] Update build-constraints.yaml --- build-constraints.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index c7b1c330..74885423 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -682,6 +682,9 @@ packages: - pipes-binary - pipes-network + "Tomas Carnecky": + - rethinkdb-client-driver + "Stackage upper bounds": # Force a specific version that's compatible with transformers 0.3 From e8ae7d8b4c34078c4af59294d2b0f842b842235f Mon Sep 17 00:00:00 2001 From: Chris Done Date: Sun, 1 Feb 2015 16:06:47 +0100 Subject: [PATCH 134/643] Add upper bound on th-sugar @snoyberg this build plan checks out. --- build-constraints.yaml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index 74885423..0dca78c9 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -100,7 +100,10 @@ packages: - criterion - th-lift - singletons - - th-desugar + + # https://github.com/fpco/stackage/issues/433 + - th-desugar < 1.5 + - quickcheck-assertions - distributed-process-simplelocalnet From 6188c0c3bb4f68911c55e5bdba314e7ce2e151aa Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Mon, 2 Feb 2015 04:15:43 +0200 Subject: [PATCH 135/643] Haddock failure wereHamster/rethinkdb-client-driver#1 --- build-constraints.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 15d961a9..14f2be28 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -992,6 +992,9 @@ expected-haddock-failures: # https://github.com/leventov/yarr/issues/5 - yarr + # https://github.com/wereHamster/rethinkdb-client-driver/issues/1 + - rethinkdb-client-driver + # Benchmarks which should not be built. Note that Stackage does *not* generally # build benchmarks. The difference here will be whether dependencies for these # benchmarks are included or not. From 76f13a53bf72e6bc9da83dc99bc7930a4930132a Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Mon, 2 Feb 2015 04:25:48 +0200 Subject: [PATCH 136/643] Revert "Add upper bound on th-sugar" This reverts commit e8ae7d8b4c34078c4af59294d2b0f842b842235f. --- build-constraints.yaml | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index 14f2be28..1d08d2d3 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -100,10 +100,7 @@ packages: - criterion - th-lift - singletons - - # https://github.com/fpco/stackage/issues/433 - - th-desugar < 1.5 - + - th-desugar - quickcheck-assertions - distributed-process-simplelocalnet From a6518d44464a1760c768c7f3711eaa7e216a2e20 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Mon, 2 Feb 2015 05:41:57 +0200 Subject: [PATCH 137/643] Expected test failure --- build-constraints.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 1d08d2d3..74d4a007 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -978,6 +978,9 @@ expected-test-failures: # https://github.com/bos/wreq/issues/53 - wreq + # Requires local database running + - rethinkdb-client-driver + # Haddocks which are expected to fail. Same concept as expected test failures. expected-haddock-failures: # https://github.com/acw/bytestring-progress/issues/4 From c8c499755af03ffa460c7af4468b2872d4aaa592 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Thu, 5 Feb 2015 07:12:59 +0200 Subject: [PATCH 138/643] Upper bound for d12frosted/CanonicalPath#3 --- build-constraints.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 74d4a007..4e6b9c81 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -731,6 +731,9 @@ packages: # https://github.com/fpco/stackage/issues/426 - utf8-string < 1 + # https://github.com/d12frosted/CanonicalPath/issues/3 + - system-canonicalpath < 0.3 + # Package flags are applied to individual packages, and override the values of # global-flags package-flags: From 67adda68ff4b04156658288084cf22f2cab72794 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Thu, 5 Feb 2015 20:56:22 +0200 Subject: [PATCH 139/643] Install fixed cabal-install (avoid test streaming bug) --- Dockerfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index 2a90db9b..4fb4f838 100644 --- a/Dockerfile +++ b/Dockerfile @@ -16,11 +16,11 @@ RUN rm /tmp/debian-bootstrap.sh RUN DEBIAN_FRONTEND=noninteractive apt-get install -y cabal-install-1.20 ghc-7.8.4 -ENV PATH /opt/ghc/7.8.4/bin:/opt/cabal/1.20/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin +ENV PATH /home/stackage/.cabal/bin:/opt/ghc/7.8.4/bin:/opt/cabal/1.20/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin RUN cabal update ADD . /tmp/stackage -RUN cd /tmp/stackage && cabal install . hscolour +RUN cd /tmp/stackage && cabal install . hscolour cabal-install --constraint "Cabal < 1.22" RUN cp $HOME/.cabal/bin/* /usr/local/bin RUN rm -rf $HOME/.cabal $HOME/.ghc /tmp/stackage From d1f366e133e0593dc66e2b9229719a74125f4caf Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Thu, 5 Feb 2015 22:14:52 +0200 Subject: [PATCH 140/643] Put /usr/local before /opt for custom cabal to take precedence --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 4fb4f838..54580bda 100644 --- a/Dockerfile +++ b/Dockerfile @@ -16,7 +16,7 @@ RUN rm /tmp/debian-bootstrap.sh RUN DEBIAN_FRONTEND=noninteractive apt-get install -y cabal-install-1.20 ghc-7.8.4 -ENV PATH /home/stackage/.cabal/bin:/opt/ghc/7.8.4/bin:/opt/cabal/1.20/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin +ENV PATH /home/stackage/.cabal/bin:/usr/local/sbin:/usr/local/bin:/opt/ghc/7.8.4/bin:/opt/cabal/1.20/bin:/usr/sbin:/usr/bin:/sbin:/bin RUN cabal update ADD . /tmp/stackage From 8568f83fee2371c6b690b481048ea9196e385ab0 Mon Sep 17 00:00:00 2001 From: Alexandr Kurilin Date: Thu, 5 Feb 2015 12:35:39 -0800 Subject: [PATCH 141/643] Add bcrypt package --- build-constraints.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 4e6b9c81..e942c32b 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -684,6 +684,9 @@ packages: "Tomas Carnecky": - rethinkdb-client-driver + "Alexandr Kurilin alex@kurilin.net @alex_kurilin": + - bcrypt + "Stackage upper bounds": # Force a specific version that's compatible with transformers 0.3 From 308cc51aa133adca7f985a5cddf9161c3be4a40e Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Fri, 6 Feb 2015 00:07:17 +0200 Subject: [PATCH 142/643] Add .git to dockerignore --- .dockerignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.dockerignore b/.dockerignore index e09d9880..383463ca 100644 --- a/.dockerignore +++ b/.dockerignore @@ -5,3 +5,4 @@ logs cabal.sandbox.config tarballs *.yaml +.git From 8ac653efd73495ade2451af3e5ff4b5b8aa4e60f Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Fri, 6 Feb 2015 00:15:18 +0200 Subject: [PATCH 143/643] Collapse some layers --- Dockerfile | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/Dockerfile b/Dockerfile index 54580bda..a83c42bc 100644 --- a/Dockerfile +++ b/Dockerfile @@ -20,8 +20,6 @@ ENV PATH /home/stackage/.cabal/bin:/usr/local/sbin:/usr/local/bin:/opt/ghc/7.8.4 RUN cabal update ADD . /tmp/stackage -RUN cd /tmp/stackage && cabal install . hscolour cabal-install --constraint "Cabal < 1.22" -RUN cp $HOME/.cabal/bin/* /usr/local/bin -RUN rm -rf $HOME/.cabal $HOME/.ghc /tmp/stackage +RUN cd /tmp/stackage && cabal install . hscolour cabal-install --constraint "Cabal < 1.22" && cp $HOME/.cabal/bin/* /usr/local/bin && rm -rf $HOME/.cabal $HOME/.ghc /tmp/stackage RUN cd /home/stackage && cabal update && stackage check From f78b47bc5f627e85b0cd0f1baf498c97f11ef896 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Mon, 9 Feb 2015 07:22:27 +0200 Subject: [PATCH 144/643] Expected test failure haskell-distributed/distributed-process-execution#2 --- build-constraints.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index e942c32b..92e7adb1 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -987,6 +987,9 @@ expected-test-failures: # Requires local database running - rethinkdb-client-driver + # https://github.com/haskell-distributed/distributed-process-execution/issues/2 + - distributed-process-execution + # Haddocks which are expected to fail. Same concept as expected test failures. expected-haddock-failures: # https://github.com/acw/bytestring-progress/issues/4 From 33cd4c0ec757dd15f3e445097089cd6eb3f7cb57 Mon Sep 17 00:00:00 2001 From: Jeffrey Rosenbluth Date: Mon, 9 Feb 2015 16:16:02 -0500 Subject: [PATCH 145/643] Update build-constraints.yaml --- build-constraints.yaml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 92e7adb1..a5f8a5ea 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -686,6 +686,12 @@ packages: "Alexandr Kurilin alex@kurilin.net @alex_kurilin": - bcrypt + + "Jeffrey Rosenbluth jeffrey.rosenbluth@gmail.com": + - palette + - diagrams-canvas + - diagrams-rasterific + - lucid-svg "Stackage upper bounds": From 6ff05d185c3174b95de98c32b937ae3ac6781e55 Mon Sep 17 00:00:00 2001 From: Vincent Date: Tue, 10 Feb 2015 14:09:23 +0100 Subject: [PATCH 146/643] Adding rasterific-svg & svg-tree --- build-constraints.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 92e7adb1..1c748b64 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -332,6 +332,8 @@ packages: - JuicyPixels - FontyFruity - Rasterific + - svg-tree + - rasterific-svg "Patrick Brisbin": - gravatar From d601f51ea1147d1c8a448d9b897d09c236a28085 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Wed, 11 Feb 2015 07:09:47 +0200 Subject: [PATCH 147/643] Expected test failure jwiegley/gitlib#42 --- build-constraints.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 1c748b64..cb871e52 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -992,6 +992,9 @@ expected-test-failures: # https://github.com/haskell-distributed/distributed-process-execution/issues/2 - distributed-process-execution + # https://github.com/jwiegley/gitlib/issues/42 + - hlibgit2 + # Haddocks which are expected to fail. Same concept as expected test failures. expected-haddock-failures: # https://github.com/acw/bytestring-progress/issues/4 From 7228ab9eb208f74a00d762d2672f05161245e97f Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Wed, 11 Feb 2015 08:27:03 +0200 Subject: [PATCH 148/643] Skip a test instead of expecting failure --- build-constraints.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index 54cb43d6..1fd20945 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -845,6 +845,9 @@ skipped-tests: # https://github.com/Soostone/retry/issues/18 - retry + # https://github.com/jwiegley/gitlib/issues/42 + - hlibgit2 + # Tests which we should build and run, but which are expected to fail. We # should not fail a build based on a test failure for one of these packages. expected-test-failures: @@ -998,9 +1001,6 @@ expected-test-failures: # https://github.com/haskell-distributed/distributed-process-execution/issues/2 - distributed-process-execution - # https://github.com/jwiegley/gitlib/issues/42 - - hlibgit2 - # Haddocks which are expected to fail. Same concept as expected test failures. expected-haddock-failures: # https://github.com/acw/bytestring-progress/issues/4 From 4dda9a078050106a4615a2fdd0396655d3f7dd1c Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Thu, 12 Feb 2015 06:45:43 +0200 Subject: [PATCH 149/643] Upper bound for #440 --- build-constraints.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 1fd20945..04ba737f 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -745,6 +745,9 @@ packages: # https://github.com/d12frosted/CanonicalPath/issues/3 - system-canonicalpath < 0.3 + # https://github.com/fpco/stackage/issues/440 + - th-orphans < 0.9 + # Package flags are applied to individual packages, and override the values of # global-flags package-flags: From b357b5ab1445645f872d7ee0546ae98eedc107e4 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Thu, 12 Feb 2015 06:46:11 +0200 Subject: [PATCH 150/643] Flag fixes for mtl-compat --- build-constraints.yaml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 04ba737f..7e1e13af 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -799,6 +799,10 @@ package-flags: tar: old-time: false + mtl-compat: + two-point-one: true + two-point-two: false + # By skipping a test suite, we do not pull in the build dependencies skipped-tests: - ReadArgs # old version of hspec From 26f0ec3674cb35a71bcae3d9b5bebff33dacd718 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Thu, 12 Feb 2015 15:13:12 +0200 Subject: [PATCH 151/643] Upper bound for #442 --- build-constraints.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 7e1e13af..33bd3b2e 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -748,6 +748,9 @@ packages: # https://github.com/fpco/stackage/issues/440 - th-orphans < 0.9 + # https://github.com/fpco/stackage/issues/442 + - blaze-builder < 0.4 + # Package flags are applied to individual packages, and override the values of # global-flags package-flags: From 96ff559f4815fd50e621ea5ef1329ad3311eb76a Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Thu, 12 Feb 2015 15:13:20 +0200 Subject: [PATCH 152/643] Upper bound for #443 --- build-constraints.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 33bd3b2e..ae747353 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -751,6 +751,9 @@ packages: # https://github.com/fpco/stackage/issues/442 - blaze-builder < 0.4 + # https://github.com/fpco/stackage/issues/443 + - exceptions < 0.7 + # Package flags are applied to individual packages, and override the values of # global-flags package-flags: From d06aef22c9b8bc49cd3c0acef8d783fe86433aa4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gabr=C3=ADel=20Arth=C3=BAr=20P=C3=A9tursson?= Date: Thu, 12 Feb 2015 13:36:28 +0000 Subject: [PATCH 153/643] Add sdl2 package Note that the package depends on sdl2 >= 2.0.3 via pkg-config. --- build-constraints.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index ae747353..f3c773ee 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -695,6 +695,9 @@ packages: - diagrams-rasterific - lucid-svg + "Gabríel Arthúr Pétursson gabriel@system.is": + - sdl2 + "Stackage upper bounds": # Force a specific version that's compatible with transformers 0.3 From e66b409ba29751b41a5380ab228768b15a3afa40 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Fri, 13 Feb 2015 07:42:58 +0200 Subject: [PATCH 154/643] Add sdl2 system packages Pinging @manny-fp --- debian-bootstrap.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/debian-bootstrap.sh b/debian-bootstrap.sh index 2e423c25..c069dcb1 100755 --- a/debian-bootstrap.sh +++ b/debian-bootstrap.sh @@ -12,6 +12,7 @@ add-apt-repository -y ppa:chris-lea/zeromq add-apt-repository -y ppa:floe/libtisch +add-apt-repository -y ppa:zoogie/sdl2-snapshots apt-get update apt-get install -y \ build-essential \ @@ -47,4 +48,5 @@ apt-get install -y \ libgd2-xpm-dev \ libyaml-dev \ liblzma-dev \ + libsdl2-dev \ libzmq3-dev From 8cb0cc928da8aceead0c70ec28827b4f2c92dae5 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Fri, 13 Feb 2015 07:44:17 +0200 Subject: [PATCH 155/643] Extra #440 upper bound --- build-constraints.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index f3c773ee..e6ddaf71 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -750,6 +750,7 @@ packages: # https://github.com/fpco/stackage/issues/440 - th-orphans < 0.9 + - file-location < 0.4.7 # https://github.com/fpco/stackage/issues/442 - blaze-builder < 0.4 From 274eab8c3ea14e82114d71494e182f72428d883d Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Fri, 13 Feb 2015 08:45:25 +0200 Subject: [PATCH 156/643] Remove upper bounds and close #370 #401 In this process, I had to remove MusicBrainz. This could no longer be held off, as the old monad-control was causing problems elsewhere in the build. --- build-constraints.yaml | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index e6ddaf71..45862f89 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -466,7 +466,9 @@ packages: "Clint Adams ": - hOpenPGP - openpgp-asciiarmor - - MusicBrainz + # Removed due to non-responsiveness on: + # https://github.com/fpco/stackage/issues/370 + # - MusicBrainz - DAV - hopenpgp-tools @@ -706,12 +708,6 @@ packages: # https://github.com/fpco/stackage/issues/291 - random < 1.0.1.3 - # https://github.com/fpco/stackage/issues/370 - - monad-control < 1 - - lifted-async < 0.3 - - scotty < 0.9.1 - - hoauth2 < 0.4.4 - # https://github.com/fpco/stackage/issues/389 - lens < 4.7 - hsdev < 0.1.3.3 @@ -724,9 +720,6 @@ packages: # https://github.com/fpco/stackage/issues/398 - monoid-subclasses < 0.4 - # https://github.com/fpco/stackage/issues/401 - - happstack-server < 7.4 - # https://github.com/fpco/stackage/issues/402 - vector-space < 0.9 From 9f3e6ce8e581a4db7004bcb65056c08a53f35e69 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Fri, 13 Feb 2015 08:52:00 +0200 Subject: [PATCH 157/643] Remove upper bounds and close #398 --- build-constraints.yaml | 3 --- 1 file changed, 3 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index 45862f89..6e11f220 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -717,9 +717,6 @@ packages: # for language-ecmascript as well. - language-ecmascript < 0.17 - # https://github.com/fpco/stackage/issues/398 - - monoid-subclasses < 0.4 - # https://github.com/fpco/stackage/issues/402 - vector-space < 0.9 From 48a2022c8f29488c5f5e79b38b57b2707a49bb83 Mon Sep 17 00:00:00 2001 From: Chris Done Date: Fri, 13 Feb 2015 09:54:18 +0100 Subject: [PATCH 158/643] Add hindent and descriptive --- build-constraints.yaml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index 6e11f220..0ffb130c 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -209,8 +209,10 @@ packages: - scrobble - shell-conduit - sourcemap + - hindent + - descriptive # requires old haddock currently - haskell-docs - # TODO: Add hindent and structured-haskell-mode once they've been ported to HSE 1.16. + # TODO: Add structured-haskell-mode once they've been ported to HSE 1.16. # GHC 7.6 # "Alberto G. Corona ": @@ -690,7 +692,7 @@ packages: "Alexandr Kurilin alex@kurilin.net @alex_kurilin": - bcrypt - + "Jeffrey Rosenbluth jeffrey.rosenbluth@gmail.com": - palette - diagrams-canvas From 3b7c0593ed5d69aba5af3b992bd80dd8bba0306c Mon Sep 17 00:00:00 2001 From: Chris Done Date: Fri, 13 Feb 2015 09:58:47 +0100 Subject: [PATCH 159/643] Add wrap --- build-constraints.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 0ffb130c..c339838d 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -211,6 +211,7 @@ packages: - sourcemap - hindent - descriptive + - wrap # requires old haddock currently - haskell-docs # TODO: Add structured-haskell-mode once they've been ported to HSE 1.16. From 7e25cf072c9b27659b169ece24b80de33bbbc9c7 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Sun, 15 Feb 2015 07:28:36 +0200 Subject: [PATCH 160/643] Upper bound for #445 --- build-constraints.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index c339838d..c2e644a6 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -751,6 +751,9 @@ packages: # https://github.com/fpco/stackage/issues/443 - exceptions < 0.7 + # https://github.com/fpco/stackage/issues/445 + - semigroupoids < 4.3 + # Package flags are applied to individual packages, and override the values of # global-flags package-flags: From faf31a9f414abf9b37a932985bd7cbb670461b68 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Sun, 15 Feb 2015 07:28:56 +0200 Subject: [PATCH 161/643] Upper bound for #446 --- build-constraints.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index c2e644a6..8efa29cf 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -707,6 +707,7 @@ packages: # Force a specific version that's compatible with transformers 0.3 - transformers-compat == 0.3.3.3 + - mtl-compat < 0.2 # https://github.com/fpco/stackage/issues/446 # https://github.com/fpco/stackage/issues/291 - random < 1.0.1.3 From d367361857aceaff0f99d7e47a9d868f9807a062 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Sun, 15 Feb 2015 14:59:00 +0200 Subject: [PATCH 162/643] Temporarily disable fpco-api --- build-constraints.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index 8efa29cf..e9f42035 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -72,7 +72,7 @@ packages: - fixed-list - foreign-store - formatting - - fpco-api + #- fpco-api - gtk2hs-buildtools - happy - histogram-fill From 8b5b0db0170437dbf24231e97b2e0d4d3606c61c Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Sun, 15 Feb 2015 15:04:22 +0200 Subject: [PATCH 163/643] Add back MusicBrainz --- build-constraints.yaml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index e9f42035..ddfd74f3 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -469,9 +469,7 @@ packages: "Clint Adams ": - hOpenPGP - openpgp-asciiarmor - # Removed due to non-responsiveness on: - # https://github.com/fpco/stackage/issues/370 - # - MusicBrainz + - MusicBrainz - DAV - hopenpgp-tools From 287e10cb9c2657f47ef9b43637b3e3b513fac06f Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Sun, 15 Feb 2015 15:04:52 +0200 Subject: [PATCH 164/643] Un-skip hlibgit2 tests --- build-constraints.yaml | 3 --- 1 file changed, 3 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index ddfd74f3..4e185683 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -857,9 +857,6 @@ skipped-tests: # https://github.com/Soostone/retry/issues/18 - retry - # https://github.com/jwiegley/gitlib/issues/42 - - hlibgit2 - # Tests which we should build and run, but which are expected to fail. We # should not fail a build based on a test failure for one of these packages. expected-test-failures: From 9106add72590c086f47f28c6642c07682491c11a Mon Sep 17 00:00:00 2001 From: Jasper Van der Jeugt Date: Sun, 15 Feb 2015 20:04:00 +0100 Subject: [PATCH 165/643] Add Hakyll to Stackage --- build-constraints.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 4e185683..76fbc89d 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -152,6 +152,7 @@ packages: "Jasper Van der Jeugt": - blaze-html - blaze-markup + - hakyll - stylish-haskell "Antoine Latter": From 19cf63976925ca64b318857bfabc7cb5a2e27ce1 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Mon, 16 Feb 2015 11:55:00 +0200 Subject: [PATCH 166/643] Upper bound for #443 --- build-constraints.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 76fbc89d..0396bcfe 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -750,6 +750,7 @@ packages: # https://github.com/fpco/stackage/issues/443 - exceptions < 0.7 + - resourcet < 1.1.4 # https://github.com/fpco/stackage/issues/445 - semigroupoids < 4.3 From e62226e92c9904deb7748469dc414e5653f642d1 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Tue, 17 Feb 2015 02:12:21 +0200 Subject: [PATCH 167/643] Remove upper bounds and close #389 --- build-constraints.yaml | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index 0396bcfe..c4de7765 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -315,8 +315,9 @@ packages: "Brent Yorgey ": - active - - BlogLiterately - - BlogLiterately-diagrams + # Temporarily disabled due to restrictive lens upper bound + #- BlogLiterately + #- BlogLiterately-diagrams - diagrams - diagrams-builder - diagrams-contrib @@ -711,10 +712,6 @@ packages: # https://github.com/fpco/stackage/issues/291 - random < 1.0.1.3 - # https://github.com/fpco/stackage/issues/389 - - lens < 4.7 - - hsdev < 0.1.3.3 - # https://github.com/fpco/stackage/issues/390 # NOTE: When this issue is resolved, remove the expected test failure # for language-ecmascript as well. From 46f95d8ddbf10babb8242bc81543f97d27a83e79 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Wed, 24 Dec 2014 12:13:36 +0200 Subject: [PATCH 168/643] GHC 7.10 testing changes DO NOT MERGE --- Stackage/PerformBuild.hs | 19 +++++++++++-------- build-constraints.yaml | 22 +++------------------- 2 files changed, 14 insertions(+), 27 deletions(-) diff --git a/Stackage/PerformBuild.hs b/Stackage/PerformBuild.hs index c74b449a..b1682e4e 100644 --- a/Stackage/PerformBuild.hs +++ b/Stackage/PerformBuild.hs @@ -168,6 +168,7 @@ performBuild' pb@PerformBuild {..} = withBuildDir $ \builddir -> do $ \ClosedStream Inherited Inherited -> return () pbLog $ encodeUtf8 "Copying built-in Haddocks\n" copyBuiltInHaddocks (pbDocDir pb) + pbLog $ encodeUtf8 "Finished copying built-in Haddocks\n" sem <- atomically $ newTSem pbJobs active <- newTVarIO (0 :: Int) @@ -288,7 +289,7 @@ singleBuild pb@PerformBuild {..} SingleBuild {..} = log' t = do i <- readTVarIO sbActive errs <- readTVarIO sbErrsVar - pbLog $ encodeUtf8 $ concat + when False $ pbLog $ encodeUtf8 $ concat [ t , " (pending: " , tshow i @@ -367,7 +368,6 @@ singleBuild pb@PerformBuild {..} SingleBuild {..} = args = "haddock" : "--hyperlink-source" : "--html" - : "--hoogle" : "--html-location=../$pkg-$version/" : hfsOpts @@ -416,12 +416,15 @@ singleBuild pb@PerformBuild {..} SingleBuild {..} = warn t = atomically $ modifyTVar sbWarningsVar (. (t:)) updateErrs exc = do - log' $ concat - [ display (piName sbPackageInfo) - , ": " - , tshow exc - ] - atomically $ modifyTVar sbErrsVar $ insertMap (piName sbPackageInfo) exc' + case exc' of + DependencyFailed _ -> return () + _ -> do + log' $ concat + [ display (piName sbPackageInfo) + , ": " + , tshow exc + ] + atomically $ modifyTVar sbErrsVar $ insertMap (piName sbPackageInfo) exc' where exc' = case fromException exc of diff --git a/build-constraints.yaml b/build-constraints.yaml index c4de7765..74b60e4b 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -2,7 +2,7 @@ packages: "Michael Snoyman michael@snoyman.com @snoyberg": - bzlib-conduit - - cabal-install < 1.19 # GHC 7.10 bumpd to 1.22 + - cabal-install - cabal-src - case-insensitive - classy-prelude-yesod @@ -264,7 +264,7 @@ packages: - monad-products - monad-st - monad-st - - mtl < 2.2 # GHC 7.10 bump + - mtl - nats - numeric-extras - parsers @@ -596,7 +596,7 @@ packages: - hasql-backend - hasql-postgres - list-t - - mtl-prelude < 2 # GHC 7.10 bump + - mtl-prelude - neat-interpolation - partial-handler - postgresql-binary @@ -705,10 +705,6 @@ packages: "Stackage upper bounds": - # Force a specific version that's compatible with transformers 0.3 - - transformers-compat == 0.3.3.3 - - mtl-compat < 0.2 # https://github.com/fpco/stackage/issues/446 - # https://github.com/fpco/stackage/issues/291 - random < 1.0.1.3 @@ -769,24 +765,12 @@ package-flags: simplelocalnet: true p2p: true - # GHC 7.10: Remove this - # Note that the flag is lower-cased, because that's what Cabal does - # Perhaps the codebase should automatically lower case flag names? - storable-complex: - instanceinbase: false - logfloat: splitbase: true curl: new-base: true - # GHC 7.10 remove - aeson: - old-locale: true - tttool: - old-locale: true - hxt: network-uri: true hxt-http: From 635fc73f55c71a94676198a0430bbf4d4267211a Mon Sep 17 00:00:00 2001 From: Leon Mergen Date: Tue, 17 Feb 2015 12:35:05 +0700 Subject: [PATCH 169/643] Update build-constraints.yaml --- build-constraints.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index c4de7765..019851b6 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -703,6 +703,9 @@ packages: "Gabríel Arthúr Pétursson gabriel@system.is": - sdl2 + "Leon Mergen leon@solatis.com": + - network-attoparsec + "Stackage upper bounds": # Force a specific version that's compatible with transformers 0.3 From 58a621bcbabe1d13133c9ac48e72d718c5fa6d8b Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Tue, 17 Feb 2015 07:46:51 +0200 Subject: [PATCH 170/643] Remove no-longer-needed upper bound --- build-constraints.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index 019851b6..e291aff3 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -750,7 +750,6 @@ packages: # https://github.com/fpco/stackage/issues/443 - exceptions < 0.7 - - resourcet < 1.1.4 # https://github.com/fpco/stackage/issues/445 - semigroupoids < 4.3 From 4cb98cd9ed782df8711af480ec53dce783a2452a Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Tue, 17 Feb 2015 11:58:36 +0200 Subject: [PATCH 171/643] Include some missing system files --- debian-bootstrap.sh | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/debian-bootstrap.sh b/debian-bootstrap.sh index c069dcb1..0beb5273 100755 --- a/debian-bootstrap.sh +++ b/debian-bootstrap.sh @@ -18,6 +18,9 @@ apt-get install -y \ build-essential \ libncurses-dev \ git \ + wget \ + m4 \ + texlive-binaries \ libgmp3c2 \ libgmp3-dev \ zlib1g-dev \ @@ -38,7 +41,6 @@ apt-get install -y \ libpq-dev \ libicu-dev \ libssl-dev \ - nettle-dev \ libgsl0-dev \ libblas-dev \ liblapack-dev \ @@ -50,3 +52,15 @@ apt-get install -y \ liblzma-dev \ libsdl2-dev \ libzmq3-dev + +mkdir /tmp/nettle-build +( +cd /tmp/nettle-build +wget https://ftp.gnu.org/gnu/nettle/nettle-2.7.1.tar.gz +tar zxf nettle-2.7.1.tar.gz +cd nettle-2.7.1 +./configure +make +make install +) +rm -rf /tmp/nettle-build From 613fc07e8e6295520b49da940d6d7fbc9605e950 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Tue, 17 Feb 2015 15:41:08 +0200 Subject: [PATCH 172/643] Skip test suite jberryman/directory-tree#4 --- build-constraints.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index e291aff3..a45cbfe3 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -1011,6 +1011,9 @@ expected-test-failures: # https://github.com/haskell-distributed/distributed-process-execution/issues/2 - distributed-process-execution + # https://github.com/jberryman/directory-tree/issues/4 + - directory-tree + # Haddocks which are expected to fail. Same concept as expected test failures. expected-haddock-failures: # https://github.com/acw/bytestring-progress/issues/4 From 4761d55ce4c9646ab48bc232f1a34810583136c1 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Tue, 17 Feb 2015 15:41:26 +0200 Subject: [PATCH 173/643] Docker image fixes --- build-constraints.yaml | 4 ++++ debian-bootstrap.sh | 4 +++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index a45cbfe3..9c5c2591 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -1011,6 +1011,10 @@ expected-test-failures: # https://github.com/haskell-distributed/distributed-process-execution/issues/2 - distributed-process-execution + # Seems to depend on mtl being installed in user package database, which + # isn't always the case (e.g., build server) + - mtl + # https://github.com/jberryman/directory-tree/issues/4 - directory-tree diff --git a/debian-bootstrap.sh b/debian-bootstrap.sh index 0beb5273..0f296009 100755 --- a/debian-bootstrap.sh +++ b/debian-bootstrap.sh @@ -37,6 +37,7 @@ apt-get install -y \ llvm \ libbz2-dev \ libjudy-dev \ + libsqlite3-dev \ libmysqlclient-dev \ libpq-dev \ libicu-dev \ @@ -51,6 +52,7 @@ apt-get install -y \ libyaml-dev \ liblzma-dev \ libsdl2-dev \ + libxss-dev \ libzmq3-dev mkdir /tmp/nettle-build @@ -59,7 +61,7 @@ cd /tmp/nettle-build wget https://ftp.gnu.org/gnu/nettle/nettle-2.7.1.tar.gz tar zxf nettle-2.7.1.tar.gz cd nettle-2.7.1 -./configure +./configure --prefix=/usr make make install ) From 5b72273a9f0fda115514f96589a658c5a25ed74f Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Tue, 17 Feb 2015 16:38:07 +0200 Subject: [PATCH 174/643] Remove upper bounds and close #446 --- build-constraints.yaml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index 9c5c2591..0ab5775f 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -709,8 +709,7 @@ packages: "Stackage upper bounds": # Force a specific version that's compatible with transformers 0.3 - - transformers-compat == 0.3.3.3 - - mtl-compat < 0.2 # https://github.com/fpco/stackage/issues/446 + - transformers-compat == 0.4.0.3 # https://github.com/fpco/stackage/issues/291 - random < 1.0.1.3 From 6c984bde6781febb7535780dd84665125a62cc54 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Wed, 18 Feb 2015 06:47:36 +0200 Subject: [PATCH 175/643] Typo --- build-constraints.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index 0ab5775f..6db0dd3f 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -1012,7 +1012,7 @@ expected-test-failures: # Seems to depend on mtl being installed in user package database, which # isn't always the case (e.g., build server) - - mtl + - happy # https://github.com/jberryman/directory-tree/issues/4 - directory-tree From d4234b84668eed85b18b43191c2faff79ad05e79 Mon Sep 17 00:00:00 2001 From: Timothy Jones Date: Thu, 19 Feb 2015 17:13:23 +1300 Subject: [PATCH 176/643] Add http-media and cabal-test-quickcheck --- build-constraints.yaml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 6db0dd3f..8eb473f6 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -706,6 +706,10 @@ packages: "Leon Mergen leon@solatis.com": - network-attoparsec + "Timothy Jones git@zmthy.io @zmthy": + - cabal-test-quickcheck + - http-media + "Stackage upper bounds": # Force a specific version that's compatible with transformers 0.3 From bd6c774c02dfa256480fc7c977bf29bd0c423ae4 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Thu, 19 Feb 2015 07:51:43 +0200 Subject: [PATCH 177/643] Expected test failure massysett/multiarg#4 --- build-constraints.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 6db0dd3f..fb328637 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -1017,6 +1017,9 @@ expected-test-failures: # https://github.com/jberryman/directory-tree/issues/4 - directory-tree + # https://github.com/massysett/multiarg/issues/4 + - multiarg + # Haddocks which are expected to fail. Same concept as expected test failures. expected-haddock-failures: # https://github.com/acw/bytestring-progress/issues/4 From 7183cf0f77f66a2463da2fd795654708dc9567ec Mon Sep 17 00:00:00 2001 From: Sebastiaan Visser Date: Thu, 19 Feb 2015 11:41:21 +0100 Subject: [PATCH 178/643] Update build-constraints.yaml --- build-constraints.yaml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index fb328637..80e75e4e 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -390,9 +390,12 @@ packages: - fay-jquery - fay-text - fay-uri - - fclabels - snaplet-fay + "Sebastiaan Visser ": + - clay + - fclabels + "Rodrigo Setti ": - messagepack - messagepack-rpc From fb5e7af5c04cb158cb8cf2e8a6a8ca0ea57dfca3 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Thu, 19 Feb 2015 16:02:03 +0200 Subject: [PATCH 179/643] Remove expected failure --- build-constraints.yaml | 3 --- 1 file changed, 3 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index 80e75e4e..4f9fbbb7 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -1020,9 +1020,6 @@ expected-test-failures: # https://github.com/jberryman/directory-tree/issues/4 - directory-tree - # https://github.com/massysett/multiarg/issues/4 - - multiarg - # Haddocks which are expected to fail. Same concept as expected test failures. expected-haddock-failures: # https://github.com/acw/bytestring-progress/issues/4 From 4312df025fd5aa4be9972c3c276945c9cfd65515 Mon Sep 17 00:00:00 2001 From: Oleg Grenrus Date: Sat, 21 Feb 2015 12:39:02 +0200 Subject: [PATCH 180/643] Add --skip-haddock -flag --- Stackage/CompleteBuild.hs | 2 ++ Stackage/InstallBuild.hs | 2 ++ Stackage/PerformBuild.hs | 3 ++- app/stackage.hs | 10 ++++++++++ 4 files changed, 16 insertions(+), 1 deletion(-) diff --git a/Stackage/CompleteBuild.hs b/Stackage/CompleteBuild.hs index cf74eef2..341be2b4 100644 --- a/Stackage/CompleteBuild.hs +++ b/Stackage/CompleteBuild.hs @@ -33,6 +33,7 @@ import System.IO (BufferMode (LineBuffering), hSetBuffering) -- | Flags passed in from the command line. data BuildFlags = BuildFlags { bfEnableTests :: !Bool + , bfEnableHaddock :: !Bool , bfDoUpload :: !Bool , bfEnableLibProfile :: !Bool , bfVerbose :: !Bool @@ -203,6 +204,7 @@ getPerformBuild buildFlags Settings {..} = PerformBuild , pbJobs = 8 , pbGlobalInstall = False , pbEnableTests = bfEnableTests buildFlags + , pbEnableHaddock = bfEnableHaddock buildFlags , pbEnableLibProfiling = bfEnableLibProfile buildFlags , pbVerbose = bfVerbose buildFlags , pbAllowNewer = bfSkipCheck buildFlags diff --git a/Stackage/InstallBuild.hs b/Stackage/InstallBuild.hs index abe8a14e..a6a6c25f 100644 --- a/Stackage/InstallBuild.hs +++ b/Stackage/InstallBuild.hs @@ -28,6 +28,7 @@ data InstallFlags = InstallFlags , ifJobs :: !Int , ifGlobalInstall :: !Bool , ifEnableTests :: !Bool + , ifEnableHaddock :: !Bool , ifEnableLibProfiling :: !Bool , ifVerbose :: !Bool , ifSkipCheck :: !Bool @@ -48,6 +49,7 @@ getPerformBuild plan InstallFlags{..} = , pbJobs = ifJobs , pbGlobalInstall = ifGlobalInstall , pbEnableTests = ifEnableTests + , pbEnableHaddock = ifEnableHaddock , pbEnableLibProfiling = ifEnableLibProfiling , pbVerbose = ifVerbose , pbAllowNewer = ifSkipCheck diff --git a/Stackage/PerformBuild.hs b/Stackage/PerformBuild.hs index c74b449a..e38f8e62 100644 --- a/Stackage/PerformBuild.hs +++ b/Stackage/PerformBuild.hs @@ -62,6 +62,7 @@ data PerformBuild = PerformBuild , pbGlobalInstall :: Bool -- ^ Register packages in the global database , pbEnableTests :: Bool + , pbEnableHaddock :: Bool , pbEnableLibProfiling :: Bool , pbVerbose :: Bool , pbAllowNewer :: Bool @@ -354,7 +355,7 @@ singleBuild pb@PerformBuild {..} SingleBuild {..} = -- dependency's haddocks before this finishes atomically $ putTMVar (piResult sbPackageInfo) True - when (pcHaddocks /= Don'tBuild && not (null $ sdModules $ ppDesc $ piPlan sbPackageInfo)) $ do + when (pbEnableHaddock && pcHaddocks /= Don'tBuild && not (null $ sdModules $ ppDesc $ piPlan sbPackageInfo)) $ do log' $ "Haddocks " ++ namever hfs <- readTVarIO sbHaddockFiles let hfsOpts = flip map (mapToList hfs) $ \(pkgVer, hf) -> concat diff --git a/app/stackage.hs b/app/stackage.hs index 8fdd2833..c8bb4f52 100644 --- a/app/stackage.hs +++ b/app/stackage.hs @@ -77,6 +77,11 @@ main = (switch (long "skip-tests" <> help "Skip build and running the test suites")) <*> + fmap + not + (switch + (long "skip-haddock" <> + help "Skip generating haddock documentation")) <*> fmap not (switch @@ -136,6 +141,11 @@ main = (switch (long "skip-tests" <> help "Skip build and running the test suites")) <*> + fmap + not + (switch + (long "skip-haddock" <> + help "Skip generating haddock documentation")) <*> switch (long "enable-library-profiling" <> help "Enable profiling when building") <*> From 4e2260a869ecc2288b927bf11fee67aca6708165 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Sun, 22 Feb 2015 07:03:40 +0200 Subject: [PATCH 181/643] Expected test failure zmthy/http-media#11 --- build-constraints.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 3fc076f6..3318f930 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -1024,6 +1024,9 @@ expected-test-failures: # https://github.com/jberryman/directory-tree/issues/4 - directory-tree + # https://github.com/zmthy/http-media/issues/11 + - http-media + # Haddocks which are expected to fail. Same concept as expected test failures. expected-haddock-failures: # https://github.com/acw/bytestring-progress/issues/4 From 79b2b13b0e266e7461e66f5ebb7fd8f2f8068ea1 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Mon, 23 Feb 2015 07:09:16 +0200 Subject: [PATCH 182/643] Upper bound for #453 --- build-constraints.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 3318f930..c9638349 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -760,6 +760,9 @@ packages: # https://github.com/fpco/stackage/issues/445 - semigroupoids < 4.3 + # https://github.com/fpco/stackage/issues/453 + - descriptive < 0.9 + # Package flags are applied to individual packages, and override the values of # global-flags package-flags: From c7230cd1dbad30c85d79c5a5819a6a0f9754c552 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Mon, 23 Feb 2015 07:10:35 +0200 Subject: [PATCH 183/643] Remove upper bounds and close #445 --- build-constraints.yaml | 3 --- 1 file changed, 3 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index c9638349..1a3ea338 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -757,9 +757,6 @@ packages: # https://github.com/fpco/stackage/issues/443 - exceptions < 0.7 - # https://github.com/fpco/stackage/issues/445 - - semigroupoids < 4.3 - # https://github.com/fpco/stackage/issues/453 - descriptive < 0.9 From 56a37736690957a35eb3fcc1fc137459ef2fc9e1 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Mon, 23 Feb 2015 07:11:54 +0200 Subject: [PATCH 184/643] Remove upper bound and close #402 --- build-constraints.yaml | 3 --- 1 file changed, 3 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index 1a3ea338..39f6feee 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -726,9 +726,6 @@ packages: # for language-ecmascript as well. - language-ecmascript < 0.17 - # https://github.com/fpco/stackage/issues/402 - - vector-space < 0.9 - # https://github.com/fpco/stackage/issues/407 - HStringTemplate < 0.8 From 42f96904d72e234e52dbe4761a77c05f1217d1cb Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Mon, 23 Feb 2015 08:16:19 +0200 Subject: [PATCH 185/643] Temporary upper bound for byorgey/haxr#7 --- build-constraints.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 39f6feee..abf1e978 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -757,6 +757,9 @@ packages: # https://github.com/fpco/stackage/issues/453 - descriptive < 0.9 + # https://github.com/byorgey/haxr/issues/7 + - haxr < 3000.10.4 + # Package flags are applied to individual packages, and override the values of # global-flags package-flags: From 8a0e3b20aceb61cec6657360c89eba4c54d771c4 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Mon, 23 Feb 2015 09:40:21 +0200 Subject: [PATCH 186/643] Add expected test failure ekmett/semigroupoids#18 --- build-constraints.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index abf1e978..0207887e 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -1027,6 +1027,9 @@ expected-test-failures: # https://github.com/zmthy/http-media/issues/11 - http-media + # https://github.com/ekmett/semigroupoids/issues/18 + - semigroupoids + # Haddocks which are expected to fail. Same concept as expected test failures. expected-haddock-failures: # https://github.com/acw/bytestring-progress/issues/4 From 7be69244306fbb86361b775c3046b219357d73a2 Mon Sep 17 00:00:00 2001 From: Chris Done Date: Mon, 23 Feb 2015 10:54:42 +0100 Subject: [PATCH 187/643] Fix descriptive upper bound on hindent (fixes #453) --- build-constraints.yaml | 3 --- 1 file changed, 3 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index 0207887e..953e4ef2 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -754,9 +754,6 @@ packages: # https://github.com/fpco/stackage/issues/443 - exceptions < 0.7 - # https://github.com/fpco/stackage/issues/453 - - descriptive < 0.9 - # https://github.com/byorgey/haxr/issues/7 - haxr < 3000.10.4 From 240de346305b902b564954e4c3bd750b72a8706b Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Mon, 23 Feb 2015 16:30:34 +0200 Subject: [PATCH 188/643] Remove upper bound for byorgey/haxr#7 --- build-constraints.yaml | 3 --- 1 file changed, 3 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index 953e4ef2..8708a3c3 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -754,9 +754,6 @@ packages: # https://github.com/fpco/stackage/issues/443 - exceptions < 0.7 - # https://github.com/byorgey/haxr/issues/7 - - haxr < 3000.10.4 - # Package flags are applied to individual packages, and override the values of # global-flags package-flags: From 031ab4e77a0aa25e4856f6ffac8f67e084770c3e Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Mon, 23 Feb 2015 16:33:10 +0200 Subject: [PATCH 189/643] Extra #442 upper bounds --- build-constraints.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 8708a3c3..b91604c2 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -750,6 +750,8 @@ packages: # https://github.com/fpco/stackage/issues/442 - blaze-builder < 0.4 + - blaze-markup < 0.7 + - blaze-html < 0.8 # https://github.com/fpco/stackage/issues/443 - exceptions < 0.7 From b7d0a219db3ec3f813cc8e2ad26e0264d525db2d Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Mon, 23 Feb 2015 16:34:47 +0200 Subject: [PATCH 190/643] Extra upper bound for #443 --- build-constraints.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index b91604c2..123b4e8b 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -755,6 +755,9 @@ packages: # https://github.com/fpco/stackage/issues/443 - exceptions < 0.7 + - rest-client < 0.5 + - rest-types < 1.13 + - rest-core < 0.35 # Package flags are applied to individual packages, and override the values of # global-flags From 569e804bd4065f5aa71e485a659d013b1450516c Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Mon, 23 Feb 2015 19:40:43 +0200 Subject: [PATCH 191/643] Extra upper bound to work around silkapp/rest#107 --- build-constraints.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 123b4e8b..5ebf663d 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -758,6 +758,7 @@ packages: - rest-client < 0.5 - rest-types < 1.13 - rest-core < 0.35 + - rest-gen < 0.17 # Package flags are applied to individual packages, and override the values of # global-flags From 350c4402742f51c70270c5ede6ce1987e003933f Mon Sep 17 00:00:00 2001 From: Greg V Date: Mon, 23 Feb 2015 21:40:54 +0300 Subject: [PATCH 192/643] Add gitson, pcre-heavy --- build-constraints.yaml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 5ebf663d..8eeb83e1 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -712,6 +712,10 @@ packages: "Timothy Jones git@zmthy.io @zmthy": - cabal-test-quickcheck - http-media + + "Greg V greg@unrelenting.technology @myfreeweb": + - gitson + - pcre-heavy "Stackage upper bounds": From 4b4331e349ae071324bbb0e095c4b2f8d4c54c54 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Tue, 24 Feb 2015 07:00:45 +0200 Subject: [PATCH 193/643] Add @Gabriel439 as maintainer of pipes-safe See: https://github.com/fpco/stackage/issues/443#issuecomment-75662205 --- build-constraints.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 5ebf663d..ad7db534 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -379,6 +379,7 @@ packages: - pipes - pipes-parse - pipes-concurrency + - pipes-safe "Chris Allen ": - bloodhound From 4c1a2781173a1f8168a8a835974079888945225d Mon Sep 17 00:00:00 2001 From: Francesco Mazzoli Date: Tue, 24 Feb 2015 16:15:14 +0100 Subject: [PATCH 194/643] Add `language-c-quote` --- build-constraints.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 6fd5222b..98bb6d7b 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -718,6 +718,9 @@ packages: - gitson - pcre-heavy + "Francesco Mazzoli f@mazzo.li @bitonic": + - language-c-quote + "Stackage upper bounds": # Force a specific version that's compatible with transformers 0.3 From 4e1d67b34b787df988ec49d10ddd31589290bea7 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Wed, 25 Feb 2015 09:37:46 +0200 Subject: [PATCH 195/643] rest-wai upper bound --- build-constraints.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 98bb6d7b..8aeabfae 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -767,6 +767,7 @@ packages: - rest-types < 1.13 - rest-core < 0.35 - rest-gen < 0.17 + - rest-wai < 0.1.0.7 # Package flags are applied to individual packages, and override the values of # global-flags From 859415519567caf0857a2d2954f11e67b7713114 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Thu, 26 Feb 2015 07:16:24 +0200 Subject: [PATCH 196/643] Add back gitlib-libgit2 (fixes jwiegley/gitlib#23) --- build-constraints.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 8aeabfae..5feed0f1 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -578,6 +578,7 @@ packages: - haddock-api - here - hlibgit2 + - gitlib-libgit2 - hostname-validate - interpolatedstring-perl6 - iproute From 4af65f023229ef1e1584f57eec570d8c0214614c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=B6nke=20Hahn?= Date: Fri, 27 Feb 2015 19:54:42 +0800 Subject: [PATCH 197/643] Add string-conversions --- build-constraints.yaml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index 8aeabfae..9b52943c 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -713,7 +713,7 @@ packages: "Timothy Jones git@zmthy.io @zmthy": - cabal-test-quickcheck - http-media - + "Greg V greg@unrelenting.technology @myfreeweb": - gitson - pcre-heavy @@ -721,6 +721,9 @@ packages: "Francesco Mazzoli f@mazzo.li @bitonic": - language-c-quote + "Sönke Hahn soenkehahn@gmail.com @soenkehahn": + - string-conversions + "Stackage upper bounds": # Force a specific version that's compatible with transformers 0.3 From fbf40bcd2e5e622d4babf0093fcc1e641c7d2eec Mon Sep 17 00:00:00 2001 From: marcinmrotek Date: Sun, 1 Mar 2015 08:29:37 +0100 Subject: [PATCH 198/643] Update build-constraints.yaml Added my libraries: diagrams-hsqml, type-list and vinyl-utils. --- build-constraints.yaml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 28735ce9..5aefd126 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -603,6 +603,11 @@ packages: "Samplecount stefan@samplecount.com @kaoskorobase": - shake-language-c + + "Marcin Mrotek ": + - diagrams-hsqml + - type-list + - vinyl-utils "Stackage upper bounds": # https://github.com/fpco/stackage/issues/288 From b5ac384b46ffd3adf82d0a0c196c82c433adc363 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Sun, 1 Mar 2015 12:10:47 +0200 Subject: [PATCH 199/643] Create symlink for nettle --- debian-bootstrap.sh | 3 +++ 1 file changed, 3 insertions(+) diff --git a/debian-bootstrap.sh b/debian-bootstrap.sh index 0f296009..7025ea05 100755 --- a/debian-bootstrap.sh +++ b/debian-bootstrap.sh @@ -64,5 +64,8 @@ cd nettle-2.7.1 ./configure --prefix=/usr make make install + +mkdir -p /usr/lib/x86_64-linux-gnu/ +ln -sfv /usr/lib/libnettle.so.4.7 /usr/lib/x86_64-linux-gnu/libnettle.so.4 ) rm -rf /tmp/nettle-build From dffc7edfba56a1bb7ce59c595f30e9a9687c4cdc Mon Sep 17 00:00:00 2001 From: Adam Bergmark Date: Sun, 1 Mar 2015 18:21:14 +0100 Subject: [PATCH 200/643] Add generic-xmlpickler and remove some duplicate entries --- build-constraints.yaml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index fd5e83cd..e881afca 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -507,9 +507,9 @@ packages: - code-builder - fay-builder - generic-aeson + - generic-xmlpickler - hxt-pickle-utils - imagesize-conduit - - imagesize-conduit - json-schema - multipart - regular-xmlpickler @@ -522,8 +522,6 @@ packages: - rest-types - rest-wai - tostring - - tostring - - uri-encode - uri-encode "Simon Michael ": From a8a2bd77d34fa8c04c01b60d9dd345d1e41717b5 Mon Sep 17 00:00:00 2001 From: Dimitri 'phaazon' Sabadie Date: Tue, 3 Mar 2015 00:17:53 +0100 Subject: [PATCH 201/643] Added two packages for Dimitri Sabadie. - smoothie, a spline library ; - al, a raw binding to OpenAL 1.1. --- build-constraints.yaml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index e881afca..bdb537b7 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -531,7 +531,9 @@ packages: - io-manager "Dimitri Sabadie ": - ghc-syb-utils @@ -643,7 +645,7 @@ packages: "Samplecount stefan@samplecount.com @kaoskorobase": - shake-language-c - + "Marcin Mrotek ": - diagrams-hsqml - type-list From 3807e55a52378132616e585b74a5572211041310 Mon Sep 17 00:00:00 2001 From: Boris Date: Tue, 3 Mar 2015 09:46:02 +0200 Subject: [PATCH 202/643] remove upper bound for https://github.com/d12frosted/CanonicalPath/issues/3 --- build-constraints.yaml | 3 --- 1 file changed, 3 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index bdb537b7..e0d1391c 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -758,9 +758,6 @@ packages: # https://github.com/fpco/stackage/issues/426 - utf8-string < 1 - # https://github.com/d12frosted/CanonicalPath/issues/3 - - system-canonicalpath < 0.3 - # https://github.com/fpco/stackage/issues/440 - th-orphans < 0.9 - file-location < 0.4.7 From d9905369565891335dc3184d06e8bb421f7162c2 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Tue, 3 Mar 2015 11:37:30 +0200 Subject: [PATCH 203/643] Temporarily disable al #461 --- build-constraints.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index e0d1391c..b19729a9 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -531,7 +531,8 @@ packages: - io-manager "Dimitri Sabadie Date: Tue, 3 Mar 2015 11:42:12 +0200 Subject: [PATCH 204/643] Expected test failure ndmitchell/hoogle#101 --- build-constraints.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index b19729a9..2fb473a9 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -1046,6 +1046,9 @@ expected-test-failures: # https://github.com/ekmett/semigroupoids/issues/18 - semigroupoids + # https://github.com/ndmitchell/hoogle/issues/101 + - hoogle + # Haddocks which are expected to fail. Same concept as expected test failures. expected-haddock-failures: # https://github.com/acw/bytestring-progress/issues/4 From 2dcff03780800b5a6f8a58ea97255a1d3581fa29 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Tue, 3 Mar 2015 17:08:06 +0200 Subject: [PATCH 205/643] Expected test failure d12frosted/CanonicalPath#4 --- build-constraints.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 2fb473a9..897ca989 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -1049,6 +1049,9 @@ expected-test-failures: # https://github.com/ndmitchell/hoogle/issues/101 - hoogle + # https://github.com/d12frosted/CanonicalPath/issues/4 + - system-canonicalpath + # Haddocks which are expected to fail. Same concept as expected test failures. expected-haddock-failures: # https://github.com/acw/bytestring-progress/issues/4 From 8dc931e093c65c8a6ba9ba87fb15c8f9d08ff390 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Tue, 3 Mar 2015 17:10:43 +0200 Subject: [PATCH 206/643] Expected test failure myfreeweb/gitson#1 --- build-constraints.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 897ca989..d021ca68 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -1052,6 +1052,9 @@ expected-test-failures: # https://github.com/d12frosted/CanonicalPath/issues/4 - system-canonicalpath + # https://github.com/myfreeweb/gitson/issues/1 + - gitson + # Haddocks which are expected to fail. Same concept as expected test failures. expected-haddock-failures: # https://github.com/acw/bytestring-progress/issues/4 From a22919f9402f9eea407fc676919221106bd1e819 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Thu, 5 Mar 2015 09:59:02 +0200 Subject: [PATCH 207/643] Temporarily block hopenpgp-tools #463 --- build-constraints.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index d021ca68..3e6c210f 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -477,7 +477,8 @@ packages: - openpgp-asciiarmor - MusicBrainz - DAV - - hopenpgp-tools + # https://github.com/fpco/stackage/issues/463 + #- hopenpgp-tools # https://github.com/fpco/stackage/issues/160 "Ketil Malde": From 0770ab8e27e62babba894c03ed5e4e5d33e55a93 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Thu, 5 Mar 2015 10:00:36 +0200 Subject: [PATCH 208/643] system-canonicalpath passes tests again --- build-constraints.yaml | 3 --- 1 file changed, 3 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index 3e6c210f..d0801ef5 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -1050,9 +1050,6 @@ expected-test-failures: # https://github.com/ndmitchell/hoogle/issues/101 - hoogle - # https://github.com/d12frosted/CanonicalPath/issues/4 - - system-canonicalpath - # https://github.com/myfreeweb/gitson/issues/1 - gitson From a3120f0d0925a1373828ba88a715c995a4dd2caf Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Sat, 7 Mar 2015 19:09:59 +0200 Subject: [PATCH 209/643] Upper bound for #464 --- build-constraints.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index d0801ef5..3fbce4fd 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -777,6 +777,9 @@ packages: - rest-gen < 0.17 - rest-wai < 0.1.0.7 + # https://github.com/fpco/stackage/issues/464 + - profunctors < 4.4 + # Package flags are applied to individual packages, and override the values of # global-flags package-flags: From 6a492e8a68c64b8d6ae78c0e882396e48772efee Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Sat, 7 Mar 2015 19:10:52 +0200 Subject: [PATCH 210/643] Upper bound for #465 --- build-constraints.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 3fbce4fd..c93239e9 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -780,6 +780,9 @@ packages: # https://github.com/fpco/stackage/issues/464 - profunctors < 4.4 + # https://github.com/fpco/stackage/issues/465 + - free < 4.11 + # Package flags are applied to individual packages, and override the values of # global-flags package-flags: From 1e004c73e4421328f5178f23fbd14d8af45ae4be Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Sat, 7 Mar 2015 19:11:40 +0200 Subject: [PATCH 211/643] Upper bound for #466 --- build-constraints.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index c93239e9..01ec535e 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -783,6 +783,9 @@ packages: # https://github.com/fpco/stackage/issues/465 - free < 4.11 + # https://github.com/fpco/stackage/issues/466 + - linear < 1.17 + # Package flags are applied to individual packages, and override the values of # global-flags package-flags: From a923f36160bf0ab0b4a925da1d79bcfeaa7d6833 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Sun, 8 Mar 2015 06:31:50 +0200 Subject: [PATCH 212/643] Upper bounds for #467 --- build-constraints.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 01ec535e..0221448c 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -786,6 +786,9 @@ packages: # https://github.com/fpco/stackage/issues/466 - linear < 1.17 + # https://github.com/fpco/stackage/issues/467 + - lens < 4.8 + # Package flags are applied to individual packages, and override the values of # global-flags package-flags: From 0fd3665aea7914aaf3168978580e1f0f1a79ee81 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Sun, 8 Mar 2015 06:33:53 +0200 Subject: [PATCH 213/643] Expected test failure jcristovao/enclosed-exceptions#6 --- build-constraints.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 0221448c..34e66411 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -1065,6 +1065,9 @@ expected-test-failures: # https://github.com/myfreeweb/gitson/issues/1 - gitson + # https://github.com/jcristovao/enclosed-exceptions/issues/6 + - enclosed-exceptions + # Haddocks which are expected to fail. Same concept as expected test failures. expected-haddock-failures: # https://github.com/acw/bytestring-progress/issues/4 From 661ff0199932a015a7fa1d64c4f5b7b82ced9683 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Sun, 8 Mar 2015 06:42:48 +0200 Subject: [PATCH 214/643] Remove upper bounds and close #466 --- build-constraints.yaml | 3 --- 1 file changed, 3 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index 34e66411..e468214c 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -783,9 +783,6 @@ packages: # https://github.com/fpco/stackage/issues/465 - free < 4.11 - # https://github.com/fpco/stackage/issues/466 - - linear < 1.17 - # https://github.com/fpco/stackage/issues/467 - lens < 4.8 From 7a10048b01e4e9ed712e3586a18eae37972cbec5 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Sun, 8 Mar 2015 06:43:12 +0200 Subject: [PATCH 215/643] Remove upper bounds and close #465 --- build-constraints.yaml | 3 --- 1 file changed, 3 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index e468214c..2821a495 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -780,9 +780,6 @@ packages: # https://github.com/fpco/stackage/issues/464 - profunctors < 4.4 - # https://github.com/fpco/stackage/issues/465 - - free < 4.11 - # https://github.com/fpco/stackage/issues/467 - lens < 4.8 From 2495abb79e69126bbf13bf1e757a953d56c5a07a Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Sun, 8 Mar 2015 06:43:36 +0200 Subject: [PATCH 216/643] Remove upper bounds and close #464 --- build-constraints.yaml | 3 --- 1 file changed, 3 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index 2821a495..0684d999 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -777,9 +777,6 @@ packages: - rest-gen < 0.17 - rest-wai < 0.1.0.7 - # https://github.com/fpco/stackage/issues/464 - - profunctors < 4.4 - # https://github.com/fpco/stackage/issues/467 - lens < 4.8 From aab7687816fd5aed4284425e95fb0d508ba8f4fb Mon Sep 17 00:00:00 2001 From: Alexander Thiemann Date: Sun, 8 Mar 2015 20:33:54 +0100 Subject: [PATCH 217/643] add users, users-test, users-postgresql-simple --- build-constraints.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 0684d999..8e143411 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -619,6 +619,9 @@ packages: - Spock - Spock-digestive - Spock-worker + - users + - users-test + - users-postgresql-simple "Joey Eremondi ": - aeson-pretty From ac07851dac4f836f70f234266b7eff5322d08dfc Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Tue, 10 Mar 2015 08:56:53 +0200 Subject: [PATCH 218/643] Expected test failure for users-postgresql-simple --- build-constraints.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 8e143411..95e3a681 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -1062,6 +1062,9 @@ expected-test-failures: # https://github.com/jcristovao/enclosed-exceptions/issues/6 - enclosed-exceptions + # Expects a running PostgreSQL server + - users-postgresql-simple + # Haddocks which are expected to fail. Same concept as expected test failures. expected-haddock-failures: # https://github.com/acw/bytestring-progress/issues/4 From b096a8b49bd9d65c0107c94fc8b06a0b65fc4772 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Tue, 10 Mar 2015 08:59:25 +0200 Subject: [PATCH 219/643] Upper bound for #469 --- build-constraints.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 95e3a681..08a6de13 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -783,6 +783,9 @@ packages: # https://github.com/fpco/stackage/issues/467 - lens < 4.8 + # https://github.com/fpco/stackage/issues/469 + - contravariant < 1.3 + # Package flags are applied to individual packages, and override the values of # global-flags package-flags: From 7f68c4aa0d057d3480e51f6f03b390043d2c4669 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Tue, 10 Mar 2015 21:39:30 +0200 Subject: [PATCH 220/643] Remove upper bounds and close #469 --- build-constraints.yaml | 3 --- 1 file changed, 3 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index 08a6de13..95e3a681 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -783,9 +783,6 @@ packages: # https://github.com/fpco/stackage/issues/467 - lens < 4.8 - # https://github.com/fpco/stackage/issues/469 - - contravariant < 1.3 - # Package flags are applied to individual packages, and override the values of # global-flags package-flags: From 508fefe6186d346ac509c8189801a9acb8ab02bc Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Wed, 11 Mar 2015 07:27:48 +0200 Subject: [PATCH 221/643] Remove upper bounds and close #291 --- build-constraints.yaml | 3 --- 1 file changed, 3 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index 95e3a681..55c7d7b7 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -740,9 +740,6 @@ packages: # Force a specific version that's compatible with transformers 0.3 - transformers-compat == 0.4.0.3 - # https://github.com/fpco/stackage/issues/291 - - random < 1.0.1.3 - # https://github.com/fpco/stackage/issues/390 # NOTE: When this issue is resolved, remove the expected test failure # for language-ecmascript as well. From 4b9c9e1c68f14328d580c21f29dc208ac8e70484 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Wed, 11 Mar 2015 07:36:22 +0200 Subject: [PATCH 222/643] Get a missing executable for lhs2tex --- debian-bootstrap.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/debian-bootstrap.sh b/debian-bootstrap.sh index 7025ea05..827e8460 100755 --- a/debian-bootstrap.sh +++ b/debian-bootstrap.sh @@ -20,7 +20,7 @@ apt-get install -y \ git \ wget \ m4 \ - texlive-binaries \ + texlive-full \ libgmp3c2 \ libgmp3-dev \ zlib1g-dev \ From 6443a042194fd3509088b103e8466360e36a9bb1 Mon Sep 17 00:00:00 2001 From: Oleg Grenrus Date: Wed, 11 Mar 2015 14:41:42 +0200 Subject: [PATCH 223/643] Add waitra package --- build-constraints.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 55c7d7b7..d8e951d8 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -735,6 +735,9 @@ packages: "Sönke Hahn soenkehahn@gmail.com @soenkehahn": - string-conversions + "Oleg Grenrus oleg.grenrus@iki.fi @phadej": + - waitra + "Stackage upper bounds": # Force a specific version that's compatible with transformers 0.3 From d0f8ae6e34310e928292445b0a7e49925dc0bda4 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Wed, 11 Mar 2015 14:49:27 +0200 Subject: [PATCH 224/643] Expect nettle test failure --- build-constraints.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 55c7d7b7..e3ee8c09 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -1062,6 +1062,9 @@ expected-test-failures: # Expects a running PostgreSQL server - users-postgresql-simple + # Problems with linking with system libraries on Ubuntu 12.04 + - nettle + # Haddocks which are expected to fail. Same concept as expected test failures. expected-haddock-failures: # https://github.com/acw/bytestring-progress/issues/4 From ba470b136b97f4255983a14c5f1fb7c4bb297c41 Mon Sep 17 00:00:00 2001 From: Tim Dysinger Date: Wed, 11 Mar 2015 09:50:57 -1000 Subject: [PATCH 225/643] Install alex & happy via PPA onto the docker image as a binary deb package Might be acceptable for #471 in the short term --- Dockerfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index a83c42bc..c3956908 100644 --- a/Dockerfile +++ b/Dockerfile @@ -14,9 +14,9 @@ ADD debian-bootstrap.sh /tmp/debian-bootstrap.sh RUN DEBIAN_FRONTEND=noninteractive bash /tmp/debian-bootstrap.sh RUN rm /tmp/debian-bootstrap.sh -RUN DEBIAN_FRONTEND=noninteractive apt-get install -y cabal-install-1.20 ghc-7.8.4 +RUN DEBIAN_FRONTEND=noninteractive apt-get install -y cabal-install-1.20 ghc-7.8.4 alex-3.1.3 happy-1.19.4 -ENV PATH /home/stackage/.cabal/bin:/usr/local/sbin:/usr/local/bin:/opt/ghc/7.8.4/bin:/opt/cabal/1.20/bin:/usr/sbin:/usr/bin:/sbin:/bin +ENV PATH /home/stackage/.cabal/bin:/usr/local/sbin:/usr/local/bin:/opt/ghc/7.8.4/bin:/opt/cabal/1.20/bin:/opt/alex/3.1.3/bin:/opt/happy/1.19.4/bin:/usr/sbin:/usr/bin:/sbin:/bin RUN cabal update ADD . /tmp/stackage From 79ccb289bdde569f4ec148ae0f1b5781ab99be43 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Wed, 11 Mar 2015 22:11:32 +0200 Subject: [PATCH 226/643] Upper bound for #473 --- build-constraints.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index ef9b0fd4..3829e62f 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -783,6 +783,9 @@ packages: # https://github.com/fpco/stackage/issues/467 - lens < 4.8 + # https://github.com/fpco/stackage/issues/473 + - snap < 0.14 + # Package flags are applied to individual packages, and override the values of # global-flags package-flags: From 3ef123f4b4ecf642c15f99264358c99aa92c35ae Mon Sep 17 00:00:00 2001 From: Leon Mergen Date: Thu, 12 Mar 2015 12:05:20 +0700 Subject: [PATCH 227/643] Adds network-anonymous-i2p --- build-constraints.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index 3829e62f..bbd379d9 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -718,8 +718,9 @@ packages: "Gabríel Arthúr Pétursson gabriel@system.is": - sdl2 - "Leon Mergen leon@solatis.com": + "Leon Mergen leon@solatis.com @solatis": - network-attoparsec + - network-anonymous-i2p "Timothy Jones git@zmthy.io @zmthy": - cabal-test-quickcheck From a30a4297744681087bdeb55f24d15e93827d1d6a Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Thu, 12 Mar 2015 08:12:35 +0200 Subject: [PATCH 228/643] Remove upper bounds and close #473 --- build-constraints.yaml | 3 --- 1 file changed, 3 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index bbd379d9..7655b963 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -784,9 +784,6 @@ packages: # https://github.com/fpco/stackage/issues/467 - lens < 4.8 - # https://github.com/fpco/stackage/issues/473 - - snap < 0.14 - # Package flags are applied to individual packages, and override the values of # global-flags package-flags: From 4b651e8865fe4ee9e551fc6b35582d33d01cfa42 Mon Sep 17 00:00:00 2001 From: Tim Dysinger Date: Wed, 11 Mar 2015 14:34:53 -1000 Subject: [PATCH 229/643] add performbuild flag for dynamic executables --- Stackage/CompleteBuild.hs | 1 + Stackage/InstallBuild.hs | 1 + Stackage/PerformBuild.hs | 2 ++ 3 files changed, 4 insertions(+) diff --git a/Stackage/CompleteBuild.hs b/Stackage/CompleteBuild.hs index 341be2b4..62a7634e 100644 --- a/Stackage/CompleteBuild.hs +++ b/Stackage/CompleteBuild.hs @@ -206,6 +206,7 @@ getPerformBuild buildFlags Settings {..} = PerformBuild , pbEnableTests = bfEnableTests buildFlags , pbEnableHaddock = bfEnableHaddock buildFlags , pbEnableLibProfiling = bfEnableLibProfile buildFlags + , pbEnableExecDyn = bfEnableExecDyn buildFlags , pbVerbose = bfVerbose buildFlags , pbAllowNewer = bfSkipCheck buildFlags } diff --git a/Stackage/InstallBuild.hs b/Stackage/InstallBuild.hs index a6a6c25f..74c78427 100644 --- a/Stackage/InstallBuild.hs +++ b/Stackage/InstallBuild.hs @@ -51,6 +51,7 @@ getPerformBuild plan InstallFlags{..} = , pbEnableTests = ifEnableTests , pbEnableHaddock = ifEnableHaddock , pbEnableLibProfiling = ifEnableLibProfiling + , pbEnableExecDyn = ifEnableExecDyn , pbVerbose = ifVerbose , pbAllowNewer = ifSkipCheck } diff --git a/Stackage/PerformBuild.hs b/Stackage/PerformBuild.hs index e38f8e62..e25094c6 100644 --- a/Stackage/PerformBuild.hs +++ b/Stackage/PerformBuild.hs @@ -64,6 +64,7 @@ data PerformBuild = PerformBuild , pbEnableTests :: Bool , pbEnableHaddock :: Bool , pbEnableLibProfiling :: Bool + , pbEnableExecDyn :: Bool , pbVerbose :: Bool , pbAllowNewer :: Bool -- ^ Pass --allow-newer to cabal configure @@ -317,6 +318,7 @@ singleBuild pb@PerformBuild {..} SingleBuild {..} = tell' $ "--flags=" ++ flags when (pbEnableLibProfiling && pcEnableLibProfile) $ tell' "--enable-library-profiling" + when pbEnableExecDyn $ tell' "--enable-executable-dynamic" where tell' x = tell (x:) From f6b95190f1f7420071e2dedc48ad9bc7cf32f31f Mon Sep 17 00:00:00 2001 From: Tim Dysinger Date: Wed, 11 Mar 2015 14:34:22 -1000 Subject: [PATCH 230/643] add installflag for dynamic executables --- Stackage/InstallBuild.hs | 1 + app/stackage.hs | 3 +++ 2 files changed, 4 insertions(+) diff --git a/Stackage/InstallBuild.hs b/Stackage/InstallBuild.hs index 74c78427..757939a7 100644 --- a/Stackage/InstallBuild.hs +++ b/Stackage/InstallBuild.hs @@ -30,6 +30,7 @@ data InstallFlags = InstallFlags , ifEnableTests :: !Bool , ifEnableHaddock :: !Bool , ifEnableLibProfiling :: !Bool + , ifEnableExecDyn :: !Bool , ifVerbose :: !Bool , ifSkipCheck :: !Bool } deriving (Show) diff --git a/app/stackage.hs b/app/stackage.hs index c8bb4f52..57497dfd 100644 --- a/app/stackage.hs +++ b/app/stackage.hs @@ -149,6 +149,9 @@ main = switch (long "enable-library-profiling" <> help "Enable profiling when building") <*> + switch + (long "enable-executable-dynamic" <> + help "Enable dynamic executables when building") <*> switch (long "verbose" <> short 'v' <> help "Output verbose detail about the build steps") <*> From 0ffdb203c3d340e2423b9d08b123491b94ef6225 Mon Sep 17 00:00:00 2001 From: Tim Dysinger Date: Wed, 11 Mar 2015 14:33:14 -1000 Subject: [PATCH 231/643] add buildflags for dynamic executables --- Stackage/CompleteBuild.hs | 1 + app/stackage.hs | 3 +++ 2 files changed, 4 insertions(+) diff --git a/Stackage/CompleteBuild.hs b/Stackage/CompleteBuild.hs index 62a7634e..ab9c3a3b 100644 --- a/Stackage/CompleteBuild.hs +++ b/Stackage/CompleteBuild.hs @@ -36,6 +36,7 @@ data BuildFlags = BuildFlags , bfEnableHaddock :: !Bool , bfDoUpload :: !Bool , bfEnableLibProfile :: !Bool + , bfEnableExecDyn :: !Bool , bfVerbose :: !Bool , bfSkipCheck :: !Bool } deriving (Show) diff --git a/app/stackage.hs b/app/stackage.hs index 57497dfd..1b9583c7 100644 --- a/app/stackage.hs +++ b/app/stackage.hs @@ -90,6 +90,9 @@ main = switch (long "enable-library-profiling" <> help "Enable profiling when building") <*> + switch + (long "enable-executable-dynamic" <> + help "Enable dynamic executables when building") <*> switch (long "verbose" <> short 'v' <> help "Output verbose detail about the build steps") <*> From eadca478ae0e3161308c64e0cc63e342ad3d303d Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Thu, 12 Mar 2015 14:26:16 +0200 Subject: [PATCH 232/643] First stab an incremental builds Pinging @chrisdone --- Stackage/CompleteBuild.hs | 4 +- Stackage/GhcPkg.hs | 79 ++++++++++++++++++++++ Stackage/PerformBuild.hs | 137 +++++++++++++++++++++++++++++++------- stackage.cabal | 2 + 4 files changed, 195 insertions(+), 27 deletions(-) create mode 100644 Stackage/GhcPkg.hs diff --git a/Stackage/CompleteBuild.hs b/Stackage/CompleteBuild.hs index 341be2b4..97e8ba72 100644 --- a/Stackage/CompleteBuild.hs +++ b/Stackage/CompleteBuild.hs @@ -67,7 +67,7 @@ nightlySettings :: Text -- ^ day -> Settings nightlySettings day plan' = Settings { planFile = nightlyPlanFile day - , buildDir = fpFromText $ "builds/stackage-nightly-" ++ day + , buildDir = fpFromText $ "builds/nightly" , logDir = fpFromText $ "logs/stackage-nightly-" ++ day , title = \ghcVer -> concat [ "Stackage Nightly " @@ -120,7 +120,7 @@ getSettings man (LTS bumpType) = do return Settings { planFile = newfile - , buildDir = fpFromText $ "builds/stackage-lts-" ++ tshow new + , buildDir = fpFromText $ "builds/lts" , logDir = fpFromText $ "logs/stackage-lts-" ++ tshow new , title = \ghcVer -> concat [ "LTS Haskell " diff --git a/Stackage/GhcPkg.hs b/Stackage/GhcPkg.hs new file mode 100644 index 00000000..4985d2f2 --- /dev/null +++ b/Stackage/GhcPkg.hs @@ -0,0 +1,79 @@ +{-# LANGUAGE NoImplicitPrelude #-} +-- | General commands related to ghc-pkg. + +module Stackage.GhcPkg where + +import Data.Conduit +import qualified Data.Conduit.List as CL +import Data.Conduit.Process +import qualified Data.Conduit.Text as CT +import Data.Maybe +import Data.Text (Text) +import qualified Data.Text as T +import Distribution.Compat.ReadP +import Distribution.Package +import Distribution.Text (parse) +import Filesystem.Path.CurrentOS (FilePath) +import qualified Filesystem.Path.CurrentOS as FP +import Data.Map (Map) +import Data.Version (Version) +import Stackage.Prelude + +setupPackageDatabase + :: Maybe FilePath -- ^ database location, Nothing if using global DB + -> Map PackageName Version -- ^ packages and versions to be installed + -> IO (Set PackageName) -- ^ packages remaining in the database after cleanup +setupPackageDatabase mdb toInstall = do + registered1 <- getRegisteredPackages flags + forM_ registered1 $ \(PackageIdentifier name version) -> + case lookup name toInstall of + Just version' | version /= version' -> unregisterPackage flags name + _ -> return () + broken <- getBrokenPackages flags + forM_ broken $ \(PackageIdentifier name _) -> unregisterPackage flags name + foldMap (\(PackageIdentifier name _) -> singletonSet name) + <$> getRegisteredPackages flags + where + flags = ghcPkgFlags mdb + +ghcPkgFlags :: Maybe FilePath -> [String] +ghcPkgFlags mdb = + "--no-user-package-db" : + case mdb of + Nothing -> ["--global"] + Just fp -> ["--package-db=" ++ fpToString fp] + +-- | Get broken packages. +getBrokenPackages :: [String] -> IO [PackageIdentifier] +getBrokenPackages flags = do + (_,ps) <- sourceProcessWithConsumer + (proc + "ghc-pkg" + ("check" : "--simple-output" : flags)) + (CT.decodeUtf8 $= CT.lines $= CL.consume) + return (mapMaybe parsePackageIdent (T.words (T.unlines ps))) + +-- | Get available packages. +getRegisteredPackages :: [String] -> IO [PackageIdentifier] +getRegisteredPackages flags = do + (_,ps) <- sourceProcessWithConsumer + (proc + "ghc-pkg" + ("list" : "--simple-output" : flags)) + (CT.decodeUtf8 $= CT.lines $= CL.consume) + return (mapMaybe parsePackageIdent (T.words (T.unlines ps))) + +-- | Parse a package identifier: foo-1.2.3 +parsePackageIdent :: Text -> Maybe PackageIdentifier +parsePackageIdent = fmap fst . + listToMaybe . + filter (null . snd) . + readP_to_S parse . T.unpack + +-- | Unregister a package. +unregisterPackage :: [String] -> PackageName -> IO () +unregisterPackage flags ident = do + void (readProcessWithExitCode + "ghc-pkg" + ("unregister": flags ++ ["--force", unpack $ display ident]) + "") diff --git a/Stackage/PerformBuild.hs b/Stackage/PerformBuild.hs index e38f8e62..fe8dac4a 100644 --- a/Stackage/PerformBuild.hs +++ b/Stackage/PerformBuild.hs @@ -19,11 +19,12 @@ import qualified Data.Map as Map import Data.NonNull (fromNullable) import Filesystem (canonicalizePath, createTree, getWorkingDirectory, isDirectory, - removeTree, rename) + removeTree, rename, isFile, removeFile) import Filesystem.Path (parent) import qualified Filesystem.Path as F import Stackage.BuildConstraints import Stackage.BuildPlan +import Stackage.GhcPkg import Stackage.PackageDescription import Stackage.Prelude hiding (pi) import System.Directory (findExecutable) @@ -134,6 +135,10 @@ pbLibDir pb = pbInstallDest pb "lib" pbDataDir pb = pbInstallDest pb "share" pbDocDir pb = pbInstallDest pb "doc" +-- | Directory keeping previous result info +pbPrevResDir :: PerformBuild -> FilePath +pbPrevResDir pb = pbInstallDest pb "prevres" + performBuild :: PerformBuild -> IO [Text] performBuild pb = do cwd <- getWorkingDirectory @@ -161,12 +166,13 @@ performBuild' pb@PerformBuild {..} = withBuildDir $ \builddir -> do $ \ClosedStream Inherited Inherited -> return () let removeTree' fp = whenM (isDirectory fp) (removeTree fp) - mapM_ removeTree' [pbInstallDest, pbLogDir] + removeTree' pbLogDir - forM_ (pbDatabase pb) $ \db -> do - createTree $ parent db - withCheckedProcess (proc "ghc-pkg" ["init", fpToString db]) - $ \ClosedStream Inherited Inherited -> return () + forM_ (pbDatabase pb) $ \db -> + unlessM (isFile $ db "package.cache") $ do + createTree $ parent db + withCheckedProcess (proc "ghc-pkg" ["init", fpToString db]) + $ \ClosedStream Inherited Inherited -> return () pbLog $ encodeUtf8 "Copying built-in Haddocks\n" copyBuiltInHaddocks (pbDocDir pb) @@ -186,7 +192,12 @@ performBuild' pb@PerformBuild {..} = withBuildDir $ \builddir -> do env <- getEnvironment haddockFiles <- newTVarIO mempty - forM_ packageMap $ \pi -> void $ async $ singleBuild pb SingleBuild + registeredPackages <- setupPackageDatabase + (pbDatabase pb) + (ppVersion <$> bpPackages pbPlan) + + forM_ packageMap $ \pi -> void $ async $ singleBuild pb registeredPackages + SingleBuild { sbSem = sem , sbErrsVar = errsVar , sbWarningsVar = warningsVar @@ -248,8 +259,10 @@ data SingleBuild = SingleBuild , sbHaddockFiles :: TVar (Map Text FilePath) -- ^ package-version, .haddock file } -singleBuild :: PerformBuild -> SingleBuild -> IO () -singleBuild pb@PerformBuild {..} SingleBuild {..} = +singleBuild :: PerformBuild + -> Set PackageName -- ^ registered packages + -> SingleBuild -> IO () +singleBuild pb@PerformBuild {..} registeredPackages SingleBuild {..} = withCounter sbActive $ handle updateErrs $ (`finally` void (atomically $ tryPutTMVar (piResult sbPackageInfo) False)) @@ -261,11 +274,12 @@ singleBuild pb@PerformBuild {..} SingleBuild {..} = let wfd comps = waitForDeps sbToolMap sbPackageMap comps pbPlan sbPackageInfo . withTSem sbSem - wfd libComps buildLibrary + withUnpacked <- wfd libComps buildLibrary - wfd testComps runTests + wfd testComps (runTests withUnpacked) - name = display $ piName sbPackageInfo + pname = piName sbPackageInfo + name = display pname namever = concat [ name , "-" @@ -333,19 +347,34 @@ singleBuild pb@PerformBuild {..} SingleBuild {..} = buildLibrary = wf libOut $ \outH -> do let run a b = do when pbVerbose $ log' (unwords (a : b)) runChild outH a b - log' $ "Unpacking " ++ namever - runParent outH "cabal" ["unpack", namever] - log' $ "Configuring " ++ namever - run "cabal" $ "configure" : configArgs + isUnpacked <- newIORef False + let withUnpacked inner = do + unlessM (readIORef isUnpacked) $ do + log' $ "Unpacking " ++ namever + runParent outH "cabal" ["unpack", namever] + writeIORef isUnpacked True + inner - log' $ "Building " ++ namever - run "cabal" ["build"] + isConfiged <- newIORef False + let withConfiged inner = withUnpacked $ do + unlessM (readIORef isConfiged) $ do + log' $ "Configuring " ++ namever + run "cabal" $ "configure" : configArgs + writeIORef isConfiged True + inner - log' $ "Copying/registering " ++ namever - run "cabal" ["copy"] - withMVar sbRegisterMutex $ const $ - run "cabal" ["register"] + unless (pname `member` registeredPackages) $ withConfiged $ do + deletePreviousResults pb pname + -- FIXME delete old Haddocks? + + log' $ "Building " ++ namever + run "cabal" ["build"] + + log' $ "Copying/registering " ++ namever + run "cabal" ["copy"] + withMVar sbRegisterMutex $ const $ + run "cabal" ["register"] -- Even if the tests later fail, we can allow other libraries to build -- on top of our successful results @@ -355,7 +384,11 @@ singleBuild pb@PerformBuild {..} SingleBuild {..} = -- dependency's haddocks before this finishes atomically $ putTMVar (piResult sbPackageInfo) True - when (pbEnableHaddock && pcHaddocks /= Don'tBuild && not (null $ sdModules $ ppDesc $ piPlan sbPackageInfo)) $ do + prevHaddockResult <- getPreviousResult pb Haddock pname + let needHaddock = pbEnableHaddock + && checkPrevResult prevHaddockResult pcHaddocks + && not (null $ sdModules $ ppDesc $ piPlan sbPackageInfo) + when needHaddock $ withConfiged $ do log' $ "Haddocks " ++ namever hfs <- readTVarIO sbHaddockFiles let hfsOpts = flip map (mapToList hfs) $ \(pkgVer, hf) -> concat @@ -390,15 +423,21 @@ singleBuild pb@PerformBuild {..} SingleBuild {..} = $ modifyTVar sbHaddockFiles $ insertMap namever newPath + savePreviousResult pb Haddock pname $ either (const False) (const True) eres case (eres, pcHaddocks) of (Left e, ExpectSuccess) -> throwM e (Right (), ExpectFailure) -> warn $ namever ++ ": unexpected Haddock success" _ -> return () - runTests = wf testOut $ \outH -> do + return withUnpacked + + runTests withUnpacked = wf testOut $ \outH -> do let run = runChild outH - when (pbEnableTests && pcTests /= Don'tBuild) $ do + prevTestResult <- getPreviousResult pb Test pname + let needTest = pbEnableTests + && checkPrevResult prevTestResult pcTests + when needTest $ withUnpacked $ do log' $ "Test configure " ++ namever run "cabal" $ "configure" : "--enable-tests" : configArgs @@ -409,6 +448,7 @@ singleBuild pb@PerformBuild {..} SingleBuild {..} = log' $ "Test run " ++ namever run "cabal" ["test", "--log=" ++ fpToText testRunOut] + savePreviousResult pb Test pname $ either (const False) (const True) eres case (eres, pcTests) of (Left e, ExpectSuccess) -> throwM e (Right (), ExpectFailure) -> warn $ namever ++ ": unexpected test success" @@ -451,3 +491,50 @@ copyBuiltInHaddocks docdir = do src <- canonicalizePath (parent (fpFromString ghc) "../share/doc/ghc/html/libraries") copyDir src docdir + +------------- Previous results + +-- | The previous actions that can be run +data ResultType = Haddock | Test + deriving (Show, Enum, Eq, Ord, Bounded, Read) + +-- | The result generated on a previous run +data PrevResult = PRNoResult | PRSuccess | PRFailure + +-- | Check if we should rerun based on a PrevResult and the expected status +checkPrevResult _ Don'tBuild = False +checkPrevResult PRNoResult _ = True +checkPrevResult PRSuccess _ = False +checkPrevResult PRFailure ExpectSuccess = True +checkPrevResult PRFailure _ = False + +withPRPath :: PerformBuild -> ResultType -> PackageName -> (FilePath -> IO a) -> IO a +withPRPath pb rt (PackageName name) inner = do + createTree $ parent fp + inner fp + where + fp = pbPrevResDir pb fpFromString (show rt) fpFromString name + +successBS, failureBS :: ByteString +successBS = "success" +failureBS = "failure" + +getPreviousResult :: PerformBuild -> ResultType -> PackageName -> IO PrevResult +getPreviousResult w x y = withPRPath w x y $ \fp -> do + eres <- tryIO $ readFile fp + return $ case eres of + Right bs + | bs == successBS -> PRSuccess + | bs == failureBS -> PRFailure + _ -> PRNoResult + +savePreviousResult :: PerformBuild -> ResultType -> PackageName -> Bool -> IO () +savePreviousResult pb rt name res = + withPRPath pb rt name $ \fp -> writeFile fp $ + if res then successBS else failureBS + +deletePreviousResults :: PerformBuild -> PackageName -> IO () +deletePreviousResults pb name = + forM_ [minBound..maxBound] $ \rt -> + withPRPath pb rt name $ \fp -> + void $ tryIO $ removeFile fp diff --git a/stackage.cabal b/stackage.cabal index 94b42da9..2dec3030 100644 --- a/stackage.cabal +++ b/stackage.cabal @@ -23,6 +23,7 @@ library Stackage.BuildPlan Stackage.CheckBuildPlan Stackage.UpdateBuildPlan + Stackage.GhcPkg Stackage.GithubPings Stackage.InstallBuild Stackage.PackageDescription @@ -63,6 +64,7 @@ library , streaming-commons >= 0.1.7.1 , semigroups , xml-conduit + , conduit executable stackage default-language: Haskell2010 From f5bd0c777d99734bbb69b54bf98aeaff69eb8fee Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Thu, 12 Mar 2015 16:59:57 +0200 Subject: [PATCH 233/643] Add expected test failure network-anonymous-i2p --- build-constraints.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 7655b963..1b343254 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -1069,6 +1069,9 @@ expected-test-failures: # Problems with linking with system libraries on Ubuntu 12.04 - nettle + # Requires locally running services + - network-anonymous-i2p + # Haddocks which are expected to fail. Same concept as expected test failures. expected-haddock-failures: # https://github.com/acw/bytestring-progress/issues/4 From e75b014b8b207330cd5d487010bf72daafc95e4e Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Thu, 12 Mar 2015 17:00:56 +0200 Subject: [PATCH 234/643] Delete old Haddocks when unregistering --- Stackage/GhcPkg.hs | 19 ++++++++++++------- Stackage/PerformBuild.hs | 2 +- 2 files changed, 13 insertions(+), 8 deletions(-) diff --git a/Stackage/GhcPkg.hs b/Stackage/GhcPkg.hs index 4985d2f2..c741e96a 100644 --- a/Stackage/GhcPkg.hs +++ b/Stackage/GhcPkg.hs @@ -18,19 +18,21 @@ import qualified Filesystem.Path.CurrentOS as FP import Data.Map (Map) import Data.Version (Version) import Stackage.Prelude +import Filesystem (removeTree) setupPackageDatabase :: Maybe FilePath -- ^ database location, Nothing if using global DB + -> FilePath -- ^ documentation root -> Map PackageName Version -- ^ packages and versions to be installed -> IO (Set PackageName) -- ^ packages remaining in the database after cleanup -setupPackageDatabase mdb toInstall = do +setupPackageDatabase mdb docDir toInstall = do registered1 <- getRegisteredPackages flags - forM_ registered1 $ \(PackageIdentifier name version) -> + forM_ registered1 $ \pi@(PackageIdentifier name version) -> case lookup name toInstall of - Just version' | version /= version' -> unregisterPackage flags name + Just version' | version /= version' -> unregisterPackage docDir flags pi _ -> return () broken <- getBrokenPackages flags - forM_ broken $ \(PackageIdentifier name _) -> unregisterPackage flags name + forM_ broken $ unregisterPackage docDir flags foldMap (\(PackageIdentifier name _) -> singletonSet name) <$> getRegisteredPackages flags where @@ -71,9 +73,12 @@ parsePackageIdent = fmap fst . readP_to_S parse . T.unpack -- | Unregister a package. -unregisterPackage :: [String] -> PackageName -> IO () -unregisterPackage flags ident = do +unregisterPackage :: FilePath -- ^ doc directory + -> [String] -> PackageIdentifier -> IO () +unregisterPackage docDir flags ident@(PackageIdentifier name _) = do void (readProcessWithExitCode "ghc-pkg" - ("unregister": flags ++ ["--force", unpack $ display ident]) + ("unregister": flags ++ ["--force", unpack $ display name]) "") + + void $ tryIO $ removeTree $ docDir fpFromText (display ident) diff --git a/Stackage/PerformBuild.hs b/Stackage/PerformBuild.hs index fe8dac4a..5597cd63 100644 --- a/Stackage/PerformBuild.hs +++ b/Stackage/PerformBuild.hs @@ -194,6 +194,7 @@ performBuild' pb@PerformBuild {..} = withBuildDir $ \builddir -> do registeredPackages <- setupPackageDatabase (pbDatabase pb) + (pbDocDir pb) (ppVersion <$> bpPackages pbPlan) forM_ packageMap $ \pi -> void $ async $ singleBuild pb registeredPackages @@ -366,7 +367,6 @@ singleBuild pb@PerformBuild {..} registeredPackages SingleBuild {..} = unless (pname `member` registeredPackages) $ withConfiged $ do deletePreviousResults pb pname - -- FIXME delete old Haddocks? log' $ "Building " ++ namever run "cabal" ["build"] From 75faf6126bfb566efe5e837c571c2b7a295504ab Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Thu, 12 Mar 2015 17:57:43 +0200 Subject: [PATCH 235/643] Add logging when unregistering a package --- Stackage/GhcPkg.hs | 18 ++++++++++++------ Stackage/PerformBuild.hs | 1 + 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/Stackage/GhcPkg.hs b/Stackage/GhcPkg.hs index c741e96a..f6c3eccf 100644 --- a/Stackage/GhcPkg.hs +++ b/Stackage/GhcPkg.hs @@ -1,7 +1,10 @@ {-# LANGUAGE NoImplicitPrelude #-} +{-# LANGUAGE OverloadedStrings #-} -- | General commands related to ghc-pkg. -module Stackage.GhcPkg where +module Stackage.GhcPkg + ( setupPackageDatabase + ) where import Data.Conduit import qualified Data.Conduit.List as CL @@ -23,16 +26,17 @@ import Filesystem (removeTree) setupPackageDatabase :: Maybe FilePath -- ^ database location, Nothing if using global DB -> FilePath -- ^ documentation root + -> (ByteString -> IO ()) -- ^ logging -> Map PackageName Version -- ^ packages and versions to be installed -> IO (Set PackageName) -- ^ packages remaining in the database after cleanup -setupPackageDatabase mdb docDir toInstall = do +setupPackageDatabase mdb docDir log' toInstall = do registered1 <- getRegisteredPackages flags forM_ registered1 $ \pi@(PackageIdentifier name version) -> case lookup name toInstall of - Just version' | version /= version' -> unregisterPackage docDir flags pi + Just version' | version /= version' -> unregisterPackage log' docDir flags pi _ -> return () broken <- getBrokenPackages flags - forM_ broken $ unregisterPackage docDir flags + forM_ broken $ unregisterPackage log' docDir flags foldMap (\(PackageIdentifier name _) -> singletonSet name) <$> getRegisteredPackages flags where @@ -73,9 +77,11 @@ parsePackageIdent = fmap fst . readP_to_S parse . T.unpack -- | Unregister a package. -unregisterPackage :: FilePath -- ^ doc directory +unregisterPackage :: (ByteString -> IO ()) -- ^ log func + -> FilePath -- ^ doc directory -> [String] -> PackageIdentifier -> IO () -unregisterPackage docDir flags ident@(PackageIdentifier name _) = do +unregisterPackage log' docDir flags ident@(PackageIdentifier name _) = do + log' $ "Unregistering " ++ encodeUtf8 (display ident) void (readProcessWithExitCode "ghc-pkg" ("unregister": flags ++ ["--force", unpack $ display name]) diff --git a/Stackage/PerformBuild.hs b/Stackage/PerformBuild.hs index 5597cd63..7a627a55 100644 --- a/Stackage/PerformBuild.hs +++ b/Stackage/PerformBuild.hs @@ -195,6 +195,7 @@ performBuild' pb@PerformBuild {..} = withBuildDir $ \builddir -> do registeredPackages <- setupPackageDatabase (pbDatabase pb) (pbDocDir pb) + pbLog (ppVersion <$> bpPackages pbPlan) forM_ packageMap $ \pi -> void $ async $ singleBuild pb registeredPackages From 351c03b8812f291f5625d3f8b6d5b096a44a7fe9 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Fri, 13 Mar 2015 08:39:50 +0200 Subject: [PATCH 236/643] Use PackageIdentifier --- Stackage/GhcPkg.hs | 2 +- Stackage/PerformBuild.hs | 27 +++++++++++++++------------ 2 files changed, 16 insertions(+), 13 deletions(-) diff --git a/Stackage/GhcPkg.hs b/Stackage/GhcPkg.hs index f6c3eccf..1e5171d8 100644 --- a/Stackage/GhcPkg.hs +++ b/Stackage/GhcPkg.hs @@ -81,7 +81,7 @@ unregisterPackage :: (ByteString -> IO ()) -- ^ log func -> FilePath -- ^ doc directory -> [String] -> PackageIdentifier -> IO () unregisterPackage log' docDir flags ident@(PackageIdentifier name _) = do - log' $ "Unregistering " ++ encodeUtf8 (display ident) + log' $ "Unregistering " ++ encodeUtf8 (display ident) ++ "\n" void (readProcessWithExitCode "ghc-pkg" ("unregister": flags ++ ["--force", unpack $ display name]) diff --git a/Stackage/PerformBuild.hs b/Stackage/PerformBuild.hs index 7a627a55..e43d0d5a 100644 --- a/Stackage/PerformBuild.hs +++ b/Stackage/PerformBuild.hs @@ -281,6 +281,7 @@ singleBuild pb@PerformBuild {..} registeredPackages SingleBuild {..} = wfd testComps (runTests withUnpacked) pname = piName sbPackageInfo + pident = PackageIdentifier pname (ppVersion $ piPlan sbPackageInfo) name = display pname namever = concat [ name @@ -385,7 +386,7 @@ singleBuild pb@PerformBuild {..} registeredPackages SingleBuild {..} = -- dependency's haddocks before this finishes atomically $ putTMVar (piResult sbPackageInfo) True - prevHaddockResult <- getPreviousResult pb Haddock pname + prevHaddockResult <- getPreviousResult pb Haddock pident let needHaddock = pbEnableHaddock && checkPrevResult prevHaddockResult pcHaddocks && not (null $ sdModules $ ppDesc $ piPlan sbPackageInfo) @@ -424,7 +425,7 @@ singleBuild pb@PerformBuild {..} registeredPackages SingleBuild {..} = $ modifyTVar sbHaddockFiles $ insertMap namever newPath - savePreviousResult pb Haddock pname $ either (const False) (const True) eres + savePreviousResult pb Haddock pident $ either (const False) (const True) eres case (eres, pcHaddocks) of (Left e, ExpectSuccess) -> throwM e (Right (), ExpectFailure) -> warn $ namever ++ ": unexpected Haddock success" @@ -435,7 +436,7 @@ singleBuild pb@PerformBuild {..} registeredPackages SingleBuild {..} = runTests withUnpacked = wf testOut $ \outH -> do let run = runChild outH - prevTestResult <- getPreviousResult pb Test pname + prevTestResult <- getPreviousResult pb Test pident let needTest = pbEnableTests && checkPrevResult prevTestResult pcTests when needTest $ withUnpacked $ do @@ -449,7 +450,7 @@ singleBuild pb@PerformBuild {..} registeredPackages SingleBuild {..} = log' $ "Test run " ++ namever run "cabal" ["test", "--log=" ++ fpToText testRunOut] - savePreviousResult pb Test pname $ either (const False) (const True) eres + savePreviousResult pb Test pident $ either (const False) (const True) eres case (eres, pcTests) of (Left e, ExpectSuccess) -> throwM e (Right (), ExpectFailure) -> warn $ namever ++ ": unexpected test success" @@ -501,26 +502,28 @@ data ResultType = Haddock | Test -- | The result generated on a previous run data PrevResult = PRNoResult | PRSuccess | PRFailure + deriving (Show, Enum, Eq, Ord, Bounded, Read) -- | Check if we should rerun based on a PrevResult and the expected status +checkPrevResult :: PrevResult -> TestState -> Bool checkPrevResult _ Don'tBuild = False checkPrevResult PRNoResult _ = True checkPrevResult PRSuccess _ = False checkPrevResult PRFailure ExpectSuccess = True checkPrevResult PRFailure _ = False -withPRPath :: PerformBuild -> ResultType -> PackageName -> (FilePath -> IO a) -> IO a -withPRPath pb rt (PackageName name) inner = do +withPRPath :: PerformBuild -> ResultType -> PackageIdentifier -> (FilePath -> IO a) -> IO a +withPRPath pb rt ident inner = do createTree $ parent fp inner fp where - fp = pbPrevResDir pb fpFromString (show rt) fpFromString name + fp = pbPrevResDir pb fpFromString (show rt) fpFromText (display ident) successBS, failureBS :: ByteString successBS = "success" failureBS = "failure" -getPreviousResult :: PerformBuild -> ResultType -> PackageName -> IO PrevResult +getPreviousResult :: PerformBuild -> ResultType -> PackageIdentifier -> IO PrevResult getPreviousResult w x y = withPRPath w x y $ \fp -> do eres <- tryIO $ readFile fp return $ case eres of @@ -529,12 +532,12 @@ getPreviousResult w x y = withPRPath w x y $ \fp -> do | bs == failureBS -> PRFailure _ -> PRNoResult -savePreviousResult :: PerformBuild -> ResultType -> PackageName -> Bool -> IO () -savePreviousResult pb rt name res = - withPRPath pb rt name $ \fp -> writeFile fp $ +savePreviousResult :: PerformBuild -> ResultType -> PackageIdentifier -> Bool -> IO () +savePreviousResult pb rt ident res = + withPRPath pb rt ident $ \fp -> writeFile fp $ if res then successBS else failureBS -deletePreviousResults :: PerformBuild -> PackageName -> IO () +deletePreviousResults :: PerformBuild -> PackageIdentifier -> IO () deletePreviousResults pb name = forM_ [minBound..maxBound] $ \rt -> withPRPath pb rt name $ \fp -> From cd0e717aab6478b91265512e56336c4441478970 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Fri, 13 Mar 2015 08:40:16 +0200 Subject: [PATCH 237/643] File for store build results --- Stackage/PerformBuild.hs | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/Stackage/PerformBuild.hs b/Stackage/PerformBuild.hs index e43d0d5a..1aef3af3 100644 --- a/Stackage/PerformBuild.hs +++ b/Stackage/PerformBuild.hs @@ -367,8 +367,10 @@ singleBuild pb@PerformBuild {..} registeredPackages SingleBuild {..} = writeIORef isConfiged True inner - unless (pname `member` registeredPackages) $ withConfiged $ do - deletePreviousResults pb pname + prevBuildResult <- getPreviousResult pb Build pident + unless (prevBuildResult == PRSuccess) $ withConfiged $ do + assert (pname `notMember` registeredPackages) $ do + deletePreviousResults pb pident log' $ "Building " ++ namever run "cabal" ["build"] @@ -378,6 +380,8 @@ singleBuild pb@PerformBuild {..} registeredPackages SingleBuild {..} = withMVar sbRegisterMutex $ const $ run "cabal" ["register"] + savePreviousResult pb Build pident True + -- Even if the tests later fail, we can allow other libraries to build -- on top of our successful results -- @@ -497,7 +501,7 @@ copyBuiltInHaddocks docdir = do ------------- Previous results -- | The previous actions that can be run -data ResultType = Haddock | Test +data ResultType = Build | Haddock | Test deriving (Show, Enum, Eq, Ord, Bounded, Read) -- | The result generated on a previous run From ca28a53e91bcb7d0cb8d95cb206b438351cad724 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Fri, 13 Mar 2015 08:46:02 +0200 Subject: [PATCH 238/643] Switch default library profiling to true (pinging @manny-fp) --- Stackage/BuildConstraints.hs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Stackage/BuildConstraints.hs b/Stackage/BuildConstraints.hs index e7aae355..c4ce1ceb 100644 --- a/Stackage/BuildConstraints.hs +++ b/Stackage/BuildConstraints.hs @@ -120,7 +120,7 @@ instance FromJSON PackageConstraints where pcBuildBenchmarks <- o .: "build-benchmarks" pcFlagOverrides <- Map.mapKeysWith const mkFlagName <$> o .: "flags" pcMaintainer <- o .:? "maintainer" - pcEnableLibProfile <- fmap (fromMaybe False) (o .:? "library-profiling") + pcEnableLibProfile <- fmap (fromMaybe True) (o .:? "library-profiling") return PackageConstraints {..} -- | The proposed plan from the requirements provided by contributors. From 19a64410d2f440c3d9f1f4fd746aa6b534013f15 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Thu, 12 Mar 2015 16:59:57 +0200 Subject: [PATCH 239/643] Add expected test failure network-anonymous-i2p --- build-constraints.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 7655b963..1b343254 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -1069,6 +1069,9 @@ expected-test-failures: # Problems with linking with system libraries on Ubuntu 12.04 - nettle + # Requires locally running services + - network-anonymous-i2p + # Haddocks which are expected to fail. Same concept as expected test failures. expected-haddock-failures: # https://github.com/acw/bytestring-progress/issues/4 From d625c4747bc4e4d9ec77ae1139a21d971aa66ed0 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Fri, 13 Mar 2015 12:33:07 +0200 Subject: [PATCH 240/643] Expect Haddock failure: gtk --- build-constraints.yaml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 1b343254..4036dc18 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -1086,6 +1086,10 @@ expected-haddock-failures: # https://github.com/wereHamster/rethinkdb-client-driver/issues/1 - rethinkdb-client-driver + # Requires build before haddock, which doesn't always happen in incremental + # builds. Could consider special-casing this requirement. + - gtk + # Benchmarks which should not be built. Note that Stackage does *not* generally # build benchmarks. The difference here will be whether dependencies for these # benchmarks are included or not. From 8f74bbee495532162ab3d58225ff0a9661ccc019 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Sat, 14 Mar 2015 20:47:14 +0200 Subject: [PATCH 241/643] Delete previous results when unregistering Previously, package install status was determined by checking the package database. However, this didn't work for executables, so I switched it to keep explicit track of build results. I forgot to then clear those results when unregistering a package. Pinging @manny-fp @chrisdone --- Stackage/GhcPkg.hs | 11 +++++++---- Stackage/PerformBuild.hs | 1 + 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/Stackage/GhcPkg.hs b/Stackage/GhcPkg.hs index 1e5171d8..8f9f9431 100644 --- a/Stackage/GhcPkg.hs +++ b/Stackage/GhcPkg.hs @@ -28,15 +28,16 @@ setupPackageDatabase -> FilePath -- ^ documentation root -> (ByteString -> IO ()) -- ^ logging -> Map PackageName Version -- ^ packages and versions to be installed + -> (PackageIdentifier -> IO ()) -- ^ callback to be used when unregistering a package -> IO (Set PackageName) -- ^ packages remaining in the database after cleanup -setupPackageDatabase mdb docDir log' toInstall = do +setupPackageDatabase mdb docDir log' toInstall onUnregister = do registered1 <- getRegisteredPackages flags forM_ registered1 $ \pi@(PackageIdentifier name version) -> case lookup name toInstall of - Just version' | version /= version' -> unregisterPackage log' docDir flags pi + Just version' | version /= version' -> unregisterPackage log' onUnregister docDir flags pi _ -> return () broken <- getBrokenPackages flags - forM_ broken $ unregisterPackage log' docDir flags + forM_ broken $ unregisterPackage log' onUnregister docDir flags foldMap (\(PackageIdentifier name _) -> singletonSet name) <$> getRegisteredPackages flags where @@ -78,10 +79,12 @@ parsePackageIdent = fmap fst . -- | Unregister a package. unregisterPackage :: (ByteString -> IO ()) -- ^ log func + -> (PackageIdentifier -> IO ()) -- ^ callback to be used when unregistering a package -> FilePath -- ^ doc directory -> [String] -> PackageIdentifier -> IO () -unregisterPackage log' docDir flags ident@(PackageIdentifier name _) = do +unregisterPackage log' onUnregister docDir flags ident@(PackageIdentifier name _) = do log' $ "Unregistering " ++ encodeUtf8 (display ident) ++ "\n" + onUnregister ident void (readProcessWithExitCode "ghc-pkg" ("unregister": flags ++ ["--force", unpack $ display name]) diff --git a/Stackage/PerformBuild.hs b/Stackage/PerformBuild.hs index d922dab9..02fa14b7 100644 --- a/Stackage/PerformBuild.hs +++ b/Stackage/PerformBuild.hs @@ -198,6 +198,7 @@ performBuild' pb@PerformBuild {..} = withBuildDir $ \builddir -> do (pbDocDir pb) pbLog (ppVersion <$> bpPackages pbPlan) + (deletePreviousResults pb) forM_ packageMap $ \pi -> void $ async $ singleBuild pb registeredPackages SingleBuild From eef9c14d248d2e3ad696078e8843894dbf8a4b7c Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Sun, 15 Mar 2015 15:29:47 +0200 Subject: [PATCH 242/643] Delete libraries when unregistering Pinging @manny-fp --- Stackage/GhcPkg.hs | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/Stackage/GhcPkg.hs b/Stackage/GhcPkg.hs index 8f9f9431..27b7f9e1 100644 --- a/Stackage/GhcPkg.hs +++ b/Stackage/GhcPkg.hs @@ -85,9 +85,20 @@ unregisterPackage :: (ByteString -> IO ()) -- ^ log func unregisterPackage log' onUnregister docDir flags ident@(PackageIdentifier name _) = do log' $ "Unregistering " ++ encodeUtf8 (display ident) ++ "\n" onUnregister ident + + -- Delete libraries + sourceProcessWithConsumer + (proc "ghc-pkg" ("describe" : flags ++ [unpack $ display ident])) + (CT.decodeUtf8 + $= CT.lines + $= CL.mapMaybe parseLibraryDir + $= CL.mapM_ (void . tryIO . removeTree)) + void (readProcessWithExitCode "ghc-pkg" ("unregister": flags ++ ["--force", unpack $ display name]) "") void $ tryIO $ removeTree $ docDir fpFromText (display ident) + where + parseLibraryDir = fmap fpFromText . stripPrefix "library-dirs: " From e80a8d0acfbdc47809cd6418f2aa791751ee916c Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Sun, 15 Mar 2015 15:46:58 +0200 Subject: [PATCH 243/643] Only create log files when needed Did this for two reasons: 1. Easier to read incremental output this way 2. I believe that, with incremental builds, we were running out of file descriptors in some cases due to so rapidly plowing through all of the packages. I'm not certain this was the source of the errors I was seeing, but given (1), it made sense to try this first. --- Stackage/PerformBuild.hs | 36 +++++++++++++++++++++++++----------- 1 file changed, 25 insertions(+), 11 deletions(-) diff --git a/Stackage/PerformBuild.hs b/Stackage/PerformBuild.hs index 02fa14b7..2b333044 100644 --- a/Stackage/PerformBuild.hs +++ b/Stackage/PerformBuild.hs @@ -30,7 +30,7 @@ import Stackage.Prelude hiding (pi) import System.Directory (findExecutable) import System.Environment (getEnvironment) import System.IO (IOMode (WriteMode), - withBinaryFile) + openBinaryFile) import System.IO.Temp (withSystemTempDirectory) data BuildException = BuildException (Map PackageName BuildFailure) [Text] @@ -291,11 +291,12 @@ singleBuild pb@PerformBuild {..} registeredPackages SingleBuild {..} = , display $ ppVersion $ piPlan sbPackageInfo ] - runIn wdir outH cmd args = - withCheckedProcess cp $ \ClosedStream UseProvidedHandle UseProvidedHandle -> + runIn wdir getOutH cmd args = do + outH <- getOutH + withCheckedProcess (cp outH) $ \ClosedStream UseProvidedHandle UseProvidedHandle -> (return () :: IO ()) where - cp = (proc (unpack $ asText cmd) (map (unpack . asText) args)) + cp outH = (proc (unpack $ asText cmd) (map (unpack . asText) args)) { cwd = Just $ fpToString wdir , std_out = UseHandle outH , std_err = UseHandle outH @@ -321,8 +322,21 @@ singleBuild pb@PerformBuild {..} registeredPackages SingleBuild {..} = testRunOut = pbLogDir fpFromText namever "test-run.out" wf fp inner' = do - createTree $ parent fp - withBinaryFile (fpToString fp) WriteMode inner' + ref <- newIORef Nothing + let cleanup = do + mh <- readIORef ref + forM_ mh hClose + getH = do + mh <- readIORef ref + case mh of + Just h -> return h + Nothing -> mask_ $ do + createTree $ parent fp + h <- openBinaryFile (fpToString fp) WriteMode + writeIORef ref $ Just h + return h + + inner' getH `finally` cleanup configArgs = ($ []) $ execWriter $ do when pbAllowNewer $ tell' "--allow-newer" @@ -350,15 +364,15 @@ singleBuild pb@PerformBuild {..} registeredPackages SingleBuild {..} = PackageConstraints {..} = ppConstraints $ piPlan sbPackageInfo - buildLibrary = wf libOut $ \outH -> do + buildLibrary = wf libOut $ \getOutH -> do let run a b = do when pbVerbose $ log' (unwords (a : b)) - runChild outH a b + runChild getOutH a b isUnpacked <- newIORef False let withUnpacked inner = do unlessM (readIORef isUnpacked) $ do log' $ "Unpacking " ++ namever - runParent outH "cabal" ["unpack", namever] + runParent getOutH "cabal" ["unpack", namever] writeIORef isUnpacked True inner @@ -440,8 +454,8 @@ singleBuild pb@PerformBuild {..} registeredPackages SingleBuild {..} = return withUnpacked - runTests withUnpacked = wf testOut $ \outH -> do - let run = runChild outH + runTests withUnpacked = wf testOut $ \getOutH -> do + let run = runChild getOutH prevTestResult <- getPreviousResult pb Test pident let needTest = pbEnableTests From 7dfde3ba49fb60209ccef21e1d03ba633b5fee3f Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Sun, 15 Mar 2015 18:51:55 +0200 Subject: [PATCH 244/643] Generate v2 bundle during complete build --- Stackage/CompleteBuild.hs | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/Stackage/CompleteBuild.hs b/Stackage/CompleteBuild.hs index 80693dad..c3b26144 100644 --- a/Stackage/CompleteBuild.hs +++ b/Stackage/CompleteBuild.hs @@ -57,6 +57,8 @@ data Settings = Settings , setArgs :: Text -> UploadBundle -> UploadBundle , postBuild :: IO () , distroName :: Text -- ^ distro name on Hackage + , snapshotType :: SnapshotType + , bundleDest :: FilePath } nightlyPlanFile :: Text -- ^ day @@ -81,6 +83,8 @@ nightlySettings day plan' = Settings , plan = plan' , postBuild = return () , distroName = "Stackage" + , snapshotType = STNightly + , bundleDest = fpFromText $ "stackage-nightly-" ++ tshow day ++ ".bundle" } where slug' = "nightly-" ++ day @@ -142,6 +146,10 @@ getSettings man (LTS bumpType) = do putStrLn "Pushing to Git repository" git ["push"] , distroName = "LTSHaskell" + , snapshotType = + case new of + LTSVer x y -> STLTS x y + , bundleDest = fpFromText $ "stackage-lts-" ++ tshow new ++ ".bundle" } data LTSVer = LTSVer !Int !Int @@ -231,7 +239,16 @@ completeBuild buildType buildFlags = withManager tlsManagerSettings $ \man -> do checkBuildPlan plan putStrLn "Performing build" - performBuild (getPerformBuild buildFlags settings) >>= mapM_ putStrLn + let pb = getPerformBuild buildFlags settings + performBuild pb >>= mapM_ putStrLn + + putStrLn $ "Creating bundle (v2) at: " ++ fpToText bundleDest + createBundleV2 CreateBundleV2 + { cb2Plan = plan + , cb2Type = snapshotType + , cb2DocsDir = pbDocDir pb + , cb2Dest = bundleDest + } when (bfDoUpload buildFlags) $ finallyUpload settings man From fb1d2607bc6fc0b906e657b21f92117f116d2d0d Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Sun, 15 Mar 2015 19:15:57 +0200 Subject: [PATCH 245/643] Get rid of superfluous quotes --- Stackage/CompleteBuild.hs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Stackage/CompleteBuild.hs b/Stackage/CompleteBuild.hs index c3b26144..b5f41759 100644 --- a/Stackage/CompleteBuild.hs +++ b/Stackage/CompleteBuild.hs @@ -84,7 +84,7 @@ nightlySettings day plan' = Settings , postBuild = return () , distroName = "Stackage" , snapshotType = STNightly - , bundleDest = fpFromText $ "stackage-nightly-" ++ tshow day ++ ".bundle" + , bundleDest = fpFromText $ "stackage-nightly-" ++ day ++ ".bundle" } where slug' = "nightly-" ++ day From 43639bd6c5cd8a5d1eedec378c1ac305d0f4fd46 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Mon, 16 Mar 2015 12:33:29 +0200 Subject: [PATCH 246/643] Remove some expected failures c/o @chrisdone --- build-constraints.yaml | 6 ------ 1 file changed, 6 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index 4036dc18..527574db 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -966,9 +966,6 @@ expected-test-failures: # https://github.com/BioHaskell/octree/issues/4 - Octree - # https://github.com/goldfirere/th-desugar/issues/12 - - th-desugar - # https://github.com/jmillikin/haskell-filesystem/issues/3 - system-filepath @@ -1077,9 +1074,6 @@ expected-haddock-failures: # https://github.com/acw/bytestring-progress/issues/4 - bytestring-progress - # https://github.com/ekmett/gl/issues/4 - - gl - # https://github.com/leventov/yarr/issues/5 - yarr From 923d655e0900dfc642a7a4b588f52339e6a42e4e Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Mon, 16 Mar 2015 17:17:45 +0200 Subject: [PATCH 247/643] Provide options for v2 uploads --- ChangeLog.md | 2 +- Stackage/CompleteBuild.hs | 87 +++++++++++++++++++++++---------------- Stackage/Upload.hs | 3 ++ app/stackage.hs | 36 +++++++++++++++- stackage.cabal | 5 ++- 5 files changed, 93 insertions(+), 40 deletions(-) diff --git a/ChangeLog.md b/ChangeLog.md index 3d7dd179..2aa9aea0 100644 --- a/ChangeLog.md +++ b/ChangeLog.md @@ -1,4 +1,4 @@ -## Unreleased +## 0.6.0 * Upload bundle V2 stuff diff --git a/Stackage/CompleteBuild.hs b/Stackage/CompleteBuild.hs index b5f41759..5f4735e6 100644 --- a/Stackage/CompleteBuild.hs +++ b/Stackage/CompleteBuild.hs @@ -8,6 +8,7 @@ module Stackage.CompleteBuild , completeBuild , justCheck , justUploadNightly + , getStackageAuthToken ) where import Control.Concurrent (threadDelay) @@ -39,6 +40,7 @@ data BuildFlags = BuildFlags , bfEnableExecDyn :: !Bool , bfVerbose :: !Bool , bfSkipCheck :: !Bool + , bfUploadV2 :: !Bool } deriving (Show) data BuildType = Nightly | LTS BumpType @@ -251,7 +253,7 @@ completeBuild buildType buildFlags = withManager tlsManagerSettings $ \man -> do } when (bfDoUpload buildFlags) $ - finallyUpload settings man + finallyUpload (bfUploadV2 buildFlags) settings man justUploadNightly :: Text -- ^ nightly date @@ -259,41 +261,63 @@ justUploadNightly justUploadNightly day = do plan <- decodeFileEither (fpToString $ nightlyPlanFile day) >>= either throwM return - withManager tlsManagerSettings $ finallyUpload $ nightlySettings day plan + withManager tlsManagerSettings $ finallyUpload False $ nightlySettings day plan + +getStackageAuthToken :: IO Text +getStackageAuthToken = do + mtoken <- lookupEnv "STACKAGE_AUTH_TOKEN" + case mtoken of + Nothing -> decodeUtf8 <$> readFile "/auth-token" + Just token -> return $ pack token -- | The final part of the complete build process: uploading a bundle, -- docs and a distro to hackage. -finallyUpload :: Settings -> Manager -> IO () -finallyUpload settings@Settings{..} man = do +finallyUpload :: Bool -- ^ use v2 upload + -> Settings -> Manager -> IO () +finallyUpload useV2 settings@Settings{..} man = do putStrLn "Uploading bundle to Stackage Server" - mtoken <- lookupEnv "STACKAGE_AUTH_TOKEN" - token <- - case mtoken of - Nothing -> decodeUtf8 <$> readFile "/auth-token" - Just token -> return $ pack token + token <- getStackageAuthToken - now <- epochTime - let ghcVer = display $ siGhcVersion $ bpSystemInfo plan - (ident, mloc) <- flip uploadBundle man $ setArgs ghcVer def - { ubContents = serverBundle now (title ghcVer) slug plan - , ubAuthToken = token - } - putStrLn $ "New ident: " ++ unSnapshotIdent ident - forM_ mloc $ \loc -> - putStrLn $ "Track progress at: " ++ loc + if useV2 + then do + res <- flip uploadBundleV2 man UploadBundleV2 + { ub2Server = def + , ub2AuthToken = token + , ub2Bundle = bundleDest + } + putStrLn $ "New snapshot available at: " ++ res + else do + now <- epochTime + let ghcVer = display $ siGhcVersion $ bpSystemInfo plan + (ident, mloc) <- flip uploadBundle man $ setArgs ghcVer def + { ubContents = serverBundle now (title ghcVer) slug plan + , ubAuthToken = token + } + putStrLn $ "New ident: " ++ unSnapshotIdent ident + forM_ mloc $ \loc -> + putStrLn $ "Track progress at: " ++ loc + + putStrLn "Uploading docs to Stackage Server" + res1 <- tryAny $ uploadDocs UploadDocs + { udServer = def + , udAuthToken = token + , udDocs = pbDocDir pb + , udSnapshot = ident + } man + putStrLn $ "Doc upload response: " ++ tshow res1 + + putStrLn "Uploading doc map" + tryAny (uploadDocMap UploadDocMap + { udmServer = def + , udmAuthToken = token + , udmSnapshot = ident + , udmDocDir = pbDocDir pb + , udmPlan = plan + } man) >>= print postBuild `catchAny` print - putStrLn "Uploading docs to Stackage Server" - res1 <- uploadDocs UploadDocs - { udServer = def - , udAuthToken = token - , udDocs = pbDocDir pb - , udSnapshot = ident - } man - putStrLn $ "Doc upload response: " ++ tshow res1 - ecreds <- tryIO $ readFile "/hackage-creds" case map encodeUtf8 $ words $ decodeUtf8 $ either (const "") id ecreds of [username, password] -> do @@ -301,14 +325,5 @@ finallyUpload settings@Settings{..} man = do res2 <- uploadHackageDistroNamed distroName plan username password man putStrLn $ "Distro upload response: " ++ tshow res2 _ -> putStrLn "No creds found, skipping Hackage distro upload" - - putStrLn "Uploading doc map" - uploadDocMap UploadDocMap - { udmServer = def - , udmAuthToken = token - , udmSnapshot = ident - , udmDocDir = pbDocDir pb - , udmPlan = plan - } man >>= print where pb = getPerformBuild (error "finallyUpload.buildFlags") settings diff --git a/Stackage/Upload.hs b/Stackage/Upload.hs index 3282bf91..28cdf730 100644 --- a/Stackage/Upload.hs +++ b/Stackage/Upload.hs @@ -16,6 +16,8 @@ module Stackage.Upload , uploadDocMap , uploadBundleV2 , UploadBundleV2 (..) + , def + , unStackageServer ) where import Control.Monad.Writer.Strict (execWriter, tell) @@ -224,6 +226,7 @@ data UploadBundleV2 = UploadBundleV2 uploadBundleV2 :: UploadBundleV2 -> Manager -> IO Text uploadBundleV2 UploadBundleV2 {..} man = IO.withBinaryFile (fpToString ub2Bundle) IO.ReadMode $ \h -> do size <- IO.hFileSize h + putStrLn $ "Bundle size: " ++ tshow size req1 <- parseUrl $ unpack $ unStackageServer ub2Server ++ "/upload2" let req2 = req1 { method = "PUT" diff --git a/app/stackage.hs b/app/stackage.hs index 1b9583c7..c53c4ee4 100644 --- a/app/stackage.hs +++ b/app/stackage.hs @@ -10,7 +10,11 @@ import Options.Applicative import Filesystem.Path.CurrentOS (decodeString) import Paths_stackage (version) import Stackage.CompleteBuild +import Stackage.Upload import Stackage.InstallBuild +import Network.HTTP.Client (withManager) +import Network.HTTP.Client.TLS (tlsManagerSettings) +import qualified Data.Text as T main :: IO () main = @@ -62,7 +66,13 @@ main = installBuild installFlags "install" - "Install a snapshot from an existing build plan"] + "Install a snapshot from an existing build plan" + , cmnd + uploadv2 + uploadv2Flags + "upload2" + "Upload a pre-existing v2 bundle" + ] cmnd exec parse name desc = command name $ @@ -98,7 +108,10 @@ main = help "Output verbose detail about the build steps") <*> switch (long "skip-check" <> - help "Skip the check phase, and pass --allow-newer to cabal configure") + help "Skip the check phase, and pass --allow-newer to cabal configure") <*> + switch + (long "upload-v2" <> + help "Use the V2 upload code") nightlyUploadFlags = fromString <$> strArgument (metavar "DATE" <> @@ -161,3 +174,22 @@ main = switch (long "skip-check" <> help "Skip the check phase, and pass --allow-newer to cabal configure") + + uploadv2 (path, url) = withManager tlsManagerSettings $ \man -> do + token <- getStackageAuthToken + res <- flip uploadBundleV2 man UploadBundleV2 + { ub2AuthToken = token + , ub2Server = fromString url + , ub2Bundle = decodeString path + } + putStrLn $ "New URL: " ++ T.unpack res + + uploadv2Flags = (,) + <$> (strArgument + (metavar "BUNDLE-PATH" <> + help "Bundle path")) + <*> strOption + (long "server-url" <> + metavar "SERVER-URL" <> + showDefault <> value (T.unpack $ unStackageServer def) <> + help "Server to upload bundle to") diff --git a/stackage.cabal b/stackage.cabal index df327327..7efbd149 100644 --- a/stackage.cabal +++ b/stackage.cabal @@ -1,5 +1,5 @@ name: stackage -version: 0.5.2 +version: 0.6.0 synopsis: "Stable Hackage," tools for creating a vetted set of packages from Hackage. description: Please see for a description and documentation. homepage: https://github.com/fpco/stackage @@ -75,6 +75,9 @@ executable stackage , stackage , optparse-applicative >= 0.11 , system-filepath + , http-client + , http-client-tls + , text ghc-options: -rtsopts -threaded -with-rtsopts=-N test-suite spec From ca22965695076fbc053c74d0d7df1fc5e349dcf1 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Tue, 17 Mar 2015 10:37:27 +0200 Subject: [PATCH 248/643] Upper bound for #476 --- build-constraints.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 527574db..bed49edf 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -784,6 +784,9 @@ packages: # https://github.com/fpco/stackage/issues/467 - lens < 4.8 + # https://github.com/fpco/stackage/issues/476 + - vector-space < 0.10 + # Package flags are applied to individual packages, and override the values of # global-flags package-flags: From b872245bb5c0da650edff3c9dde22066559987d4 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Tue, 17 Mar 2015 10:37:27 +0200 Subject: [PATCH 249/643] Upper bound for #476 --- build-constraints.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 4036dc18..9bdd0e63 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -784,6 +784,9 @@ packages: # https://github.com/fpco/stackage/issues/467 - lens < 4.8 + # https://github.com/fpco/stackage/issues/476 + - vector-space < 0.10 + # Package flags are applied to individual packages, and override the values of # global-flags package-flags: From 56e1afd3e61502b1b3705e54ec0323f66d5ff4c7 Mon Sep 17 00:00:00 2001 From: "Adam C. Foltzer" Date: Tue, 17 Mar 2015 15:46:49 -0700 Subject: [PATCH 250/643] Add gitrev Hey, I've been using stackage for months now, might as well start contributing ;) --- build-constraints.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 9bdd0e63..39b08db0 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -738,6 +738,9 @@ packages: "Oleg Grenrus oleg.grenrus@iki.fi @phadej": - waitra + + "Adam C. Foltzer acfoltzer@galois.com @acfoltzer": + - gitrev "Stackage upper bounds": From 705c6b28a72b415e45ddf742f16419daeec63679 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Wed, 18 Mar 2015 08:37:57 +0200 Subject: [PATCH 251/643] Extra #440 upper bound --- build-constraints.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 39b08db0..633134b7 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -770,6 +770,7 @@ packages: # https://github.com/fpco/stackage/issues/440 - th-orphans < 0.9 - file-location < 0.4.7 + - th-desugar < 1.5.1 # https://github.com/fpco/stackage/issues/442 - blaze-builder < 0.4 From 03ac82de687fa2360e4be778f31129e4067a35df Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Wed, 18 Mar 2015 08:38:07 +0200 Subject: [PATCH 252/643] Upper bound for #478 --- build-constraints.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 633134b7..00b9e278 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -791,6 +791,9 @@ packages: # https://github.com/fpco/stackage/issues/476 - vector-space < 0.10 + # https://github.com/fpco/stackage/issues/478 + - linear < 1.18 + # Package flags are applied to individual packages, and override the values of # global-flags package-flags: From 1c71e419b18c047489d4d7d98b60209fa77b544e Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Wed, 18 Mar 2015 10:56:51 +0200 Subject: [PATCH 253/643] Fix haddocks --- Stackage/PerformBuild.hs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Stackage/PerformBuild.hs b/Stackage/PerformBuild.hs index 9ed578b9..41a460de 100644 --- a/Stackage/PerformBuild.hs +++ b/Stackage/PerformBuild.hs @@ -92,7 +92,7 @@ waitForDeps toolMap packageMap activeComps bp pi action = do Nothing | isCoreExe exe -> return () -- https://github.com/jgm/zip-archive/issues/23 - -- | otherwise -> throwSTM $ ToolMissing exe + -- - | otherwise -> throwSTM $ ToolMissing exe | otherwise -> return () Just packages -> ofoldl1' (<|>) packages action From 956060c5d3892ec7f426c4aeea7200729c978c5c Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Wed, 18 Mar 2015 11:13:47 +0200 Subject: [PATCH 254/643] Version bump --- stackage.cabal | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/stackage.cabal b/stackage.cabal index 7efbd149..d12c172b 100644 --- a/stackage.cabal +++ b/stackage.cabal @@ -1,5 +1,5 @@ name: stackage -version: 0.6.0 +version: 0.6.0.1 synopsis: "Stable Hackage," tools for creating a vetted set of packages from Hackage. description: Please see for a description and documentation. homepage: https://github.com/fpco/stackage From b7a582c18c886319f13e50681266f1f2b82b41b7 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Wed, 18 Mar 2015 12:00:23 +0200 Subject: [PATCH 255/643] Remove upper bounds and close #478 --- build-constraints.yaml | 3 --- 1 file changed, 3 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index a0a665dd..92e45a9c 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -791,9 +791,6 @@ packages: # https://github.com/fpco/stackage/issues/476 - vector-space < 0.10 - # https://github.com/fpco/stackage/issues/478 - - linear < 1.18 - # Package flags are applied to individual packages, and override the values of # global-flags package-flags: From 52580761e7bd6946b0072a9303047801cc895deb Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Wed, 18 Mar 2015 12:22:37 +0200 Subject: [PATCH 256/643] Upper bound for ekmett/linear#70 --- build-constraints.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 92e45a9c..8191928a 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -791,6 +791,9 @@ packages: # https://github.com/fpco/stackage/issues/476 - vector-space < 0.10 + # https://github.com/ekmett/linear/issues/70 + - linear < 1.18 + # Package flags are applied to individual packages, and override the values of # global-flags package-flags: From d0138fae7aa50ad7afc1359e94000a44199c014c Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Wed, 18 Mar 2015 15:17:03 +0200 Subject: [PATCH 257/643] V2 upload by default, --server-url option when building --- ChangeLog.md | 4 ++++ Stackage/CompleteBuild.hs | 16 +++++++++++----- Stackage/Upload.hs | 1 + app/stackage.hs | 9 +++++++-- 4 files changed, 23 insertions(+), 7 deletions(-) diff --git a/ChangeLog.md b/ChangeLog.md index 2aa9aea0..1dddb87e 100644 --- a/ChangeLog.md +++ b/ChangeLog.md @@ -1,3 +1,7 @@ +## 0.6.1 + +* Switch to V2 upload by default + ## 0.6.0 * Upload bundle V2 stuff diff --git a/Stackage/CompleteBuild.hs b/Stackage/CompleteBuild.hs index 5f4735e6..fb1cdde5 100644 --- a/Stackage/CompleteBuild.hs +++ b/Stackage/CompleteBuild.hs @@ -40,7 +40,8 @@ data BuildFlags = BuildFlags , bfEnableExecDyn :: !Bool , bfVerbose :: !Bool , bfSkipCheck :: !Bool - , bfUploadV2 :: !Bool + , bfUploadV1 :: !Bool + , bfServer :: !StackageServer } deriving (Show) data BuildType = Nightly | LTS BumpType @@ -253,7 +254,11 @@ completeBuild buildType buildFlags = withManager tlsManagerSettings $ \man -> do } when (bfDoUpload buildFlags) $ - finallyUpload (bfUploadV2 buildFlags) settings man + finallyUpload + (not $ bfUploadV1 buildFlags) + (bfServer buildFlags) + settings + man justUploadNightly :: Text -- ^ nightly date @@ -261,7 +266,7 @@ justUploadNightly justUploadNightly day = do plan <- decodeFileEither (fpToString $ nightlyPlanFile day) >>= either throwM return - withManager tlsManagerSettings $ finallyUpload False $ nightlySettings day plan + withManager tlsManagerSettings $ finallyUpload False def $ nightlySettings day plan getStackageAuthToken :: IO Text getStackageAuthToken = do @@ -273,8 +278,9 @@ getStackageAuthToken = do -- | The final part of the complete build process: uploading a bundle, -- docs and a distro to hackage. finallyUpload :: Bool -- ^ use v2 upload + -> StackageServer -> Settings -> Manager -> IO () -finallyUpload useV2 settings@Settings{..} man = do +finallyUpload useV2 server settings@Settings{..} man = do putStrLn "Uploading bundle to Stackage Server" token <- getStackageAuthToken @@ -282,7 +288,7 @@ finallyUpload useV2 settings@Settings{..} man = do if useV2 then do res <- flip uploadBundleV2 man UploadBundleV2 - { ub2Server = def + { ub2Server = server , ub2AuthToken = token , ub2Bundle = bundleDest } diff --git a/Stackage/Upload.hs b/Stackage/Upload.hs index 28cdf730..64d21094 100644 --- a/Stackage/Upload.hs +++ b/Stackage/Upload.hs @@ -17,6 +17,7 @@ module Stackage.Upload , uploadBundleV2 , UploadBundleV2 (..) , def + , StackageServer , unStackageServer ) where diff --git a/app/stackage.hs b/app/stackage.hs index c53c4ee4..75e83108 100644 --- a/app/stackage.hs +++ b/app/stackage.hs @@ -110,8 +110,13 @@ main = (long "skip-check" <> help "Skip the check phase, and pass --allow-newer to cabal configure") <*> switch - (long "upload-v2" <> - help "Use the V2 upload code") + (long "upload-v1" <> + help "Use the V1 upload code") <*> + (fmap fromString (strOption + (long "server-url" <> + metavar "SERVER-URL" <> + showDefault <> value (T.unpack $ unStackageServer def) <> + help "Server to upload bundle to"))) nightlyUploadFlags = fromString <$> strArgument (metavar "DATE" <> From 5aecf6deb7e548e3b33b3c040c3e48fdbee19576 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Wed, 18 Mar 2015 15:37:00 +0200 Subject: [PATCH 258/643] Tweak mtl-compat constraints --- build-constraints.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index ce127ee5..75cfb730 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -831,7 +831,7 @@ package-flags: old-time: false mtl-compat: - two-point-one: true + two-point-one: false two-point-two: false # By skipping a test suite, we do not pull in the build dependencies From 076c477905575fead6fb672b7b116373d3aeeaf9 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Wed, 18 Mar 2015 15:45:54 +0200 Subject: [PATCH 259/643] skip-hoogle options --- ChangeLog.md | 1 + Stackage/CompleteBuild.hs | 2 ++ Stackage/InstallBuild.hs | 2 ++ Stackage/PerformBuild.hs | 17 +++++++++++------ app/stackage.hs | 14 ++++++++++++-- 5 files changed, 28 insertions(+), 8 deletions(-) diff --git a/ChangeLog.md b/ChangeLog.md index 1dddb87e..d168d7e0 100644 --- a/ChangeLog.md +++ b/ChangeLog.md @@ -1,6 +1,7 @@ ## 0.6.1 * Switch to V2 upload by default +* --skip-hoogle option ## 0.6.0 diff --git a/Stackage/CompleteBuild.hs b/Stackage/CompleteBuild.hs index fb1cdde5..ee4996d6 100644 --- a/Stackage/CompleteBuild.hs +++ b/Stackage/CompleteBuild.hs @@ -42,6 +42,7 @@ data BuildFlags = BuildFlags , bfSkipCheck :: !Bool , bfUploadV1 :: !Bool , bfServer :: !StackageServer + , bfBuildHoogle :: !Bool } deriving (Show) data BuildType = Nightly | LTS BumpType @@ -221,6 +222,7 @@ getPerformBuild buildFlags Settings {..} = PerformBuild , pbEnableExecDyn = bfEnableExecDyn buildFlags , pbVerbose = bfVerbose buildFlags , pbAllowNewer = bfSkipCheck buildFlags + , pbBuildHoogle = bfBuildHoogle buildFlags } -- | Make a complete plan, build, test and upload bundle, docs and diff --git a/Stackage/InstallBuild.hs b/Stackage/InstallBuild.hs index 757939a7..2f896e35 100644 --- a/Stackage/InstallBuild.hs +++ b/Stackage/InstallBuild.hs @@ -33,6 +33,7 @@ data InstallFlags = InstallFlags , ifEnableExecDyn :: !Bool , ifVerbose :: !Bool , ifSkipCheck :: !Bool + , ifBuildHoogle :: !Bool } deriving (Show) -- | Source for build plan. @@ -55,6 +56,7 @@ getPerformBuild plan InstallFlags{..} = , pbEnableExecDyn = ifEnableExecDyn , pbVerbose = ifVerbose , pbAllowNewer = ifSkipCheck + , pbBuildHoogle = ifBuildHoogle } -- | Install stackage from an existing build plan. diff --git a/Stackage/PerformBuild.hs b/Stackage/PerformBuild.hs index 41a460de..06c1edc6 100644 --- a/Stackage/PerformBuild.hs +++ b/Stackage/PerformBuild.hs @@ -69,6 +69,10 @@ data PerformBuild = PerformBuild , pbVerbose :: Bool , pbAllowNewer :: Bool -- ^ Pass --allow-newer to cabal configure + , pbBuildHoogle :: Bool + -- ^ Should we build Hoogle database? + -- + -- May be disabled due to: https://ghc.haskell.org/trac/ghc/ticket/9921 } data PackageInfo = PackageInfo @@ -421,12 +425,13 @@ singleBuild pb@PerformBuild {..} registeredPackages SingleBuild {..} = , "/," , fpToText hf ] - args = "haddock" - : "--hyperlink-source" - : "--html" - : "--hoogle" - : "--html-location=../$pkg-$version/" - : hfsOpts + args = ($ hfsOpts) $ execWriter $ do + let tell' x = tell (x:) + tell' "haddock" + tell' "--hyperlink-source" + tell' "--html" + when pbBuildHoogle $ tell' "--hoogle" + tell' "--html-location=../$pkg-$version/" eres <- tryAny $ run "cabal" args diff --git a/app/stackage.hs b/app/stackage.hs index 75e83108..d2618da2 100644 --- a/app/stackage.hs +++ b/app/stackage.hs @@ -116,7 +116,12 @@ main = (long "server-url" <> metavar "SERVER-URL" <> showDefault <> value (T.unpack $ unStackageServer def) <> - help "Server to upload bundle to"))) + help "Server to upload bundle to"))) <*> + fmap + not + (switch + (long "skip-hoogle" <> + help "Skip generating Hoogle input files")) nightlyUploadFlags = fromString <$> strArgument (metavar "DATE" <> @@ -178,7 +183,12 @@ main = help "Output verbose detail about the build steps") <*> switch (long "skip-check" <> - help "Skip the check phase, and pass --allow-newer to cabal configure") + help "Skip the check phase, and pass --allow-newer to cabal configure") <*> + fmap + not + (switch + (long "skip-hoogle" <> + help "Skip generating Hoogle input files")) uploadv2 (path, url) = withManager tlsManagerSettings $ \man -> do token <- getStackageAuthToken From b9de1c28cd7cfe3a74bc3a9a70485903a99ac6ce Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Wed, 18 Mar 2015 15:47:25 +0200 Subject: [PATCH 260/643] Return code to match master branch --- Stackage/PerformBuild.hs | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) diff --git a/Stackage/PerformBuild.hs b/Stackage/PerformBuild.hs index e64fbd07..06c1edc6 100644 --- a/Stackage/PerformBuild.hs +++ b/Stackage/PerformBuild.hs @@ -180,7 +180,6 @@ performBuild' pb@PerformBuild {..} = withBuildDir $ \builddir -> do $ \ClosedStream Inherited Inherited -> return () pbLog $ encodeUtf8 "Copying built-in Haddocks\n" copyBuiltInHaddocks (pbDocDir pb) - pbLog $ encodeUtf8 "Finished copying built-in Haddocks\n" sem <- atomically $ newTSem pbJobs active <- newTVarIO (0 :: Int) @@ -314,7 +313,7 @@ singleBuild pb@PerformBuild {..} registeredPackages SingleBuild {..} = log' t = do i <- readTVarIO sbActive errs <- readTVarIO sbErrsVar - when False $ pbLog $ encodeUtf8 $ concat + pbLog $ encodeUtf8 $ concat [ t , " (pending: " , tshow i @@ -486,15 +485,12 @@ singleBuild pb@PerformBuild {..} registeredPackages SingleBuild {..} = warn t = atomically $ modifyTVar sbWarningsVar (. (t:)) updateErrs exc = do - case exc' of - DependencyFailed _ -> return () - _ -> do - log' $ concat - [ display (piName sbPackageInfo) - , ": " - , tshow exc - ] - atomically $ modifyTVar sbErrsVar $ insertMap (piName sbPackageInfo) exc' + log' $ concat + [ display (piName sbPackageInfo) + , ": " + , tshow exc + ] + atomically $ modifyTVar sbErrsVar $ insertMap (piName sbPackageInfo) exc' where exc' = case fromException exc of From baf7dca591bb2af70affdce4a5383522e3d2ef3d Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Thu, 19 Mar 2015 07:51:42 +0200 Subject: [PATCH 261/643] Upper bound for #479 --- build-constraints.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 8191928a..bc5ea9d3 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -794,6 +794,9 @@ packages: # https://github.com/ekmett/linear/issues/70 - linear < 1.18 + # https://github.com/fpco/stackage/issues/479 + - QuickCheck < 2.8 + # Package flags are applied to individual packages, and override the values of # global-flags package-flags: From 08c674509fe4370a080221fed299bec2cb927ba8 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Thu, 19 Mar 2015 07:55:57 +0200 Subject: [PATCH 262/643] Another upper bound on #440 --- build-constraints.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index bc5ea9d3..9907bce6 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -771,6 +771,7 @@ packages: - th-orphans < 0.9 - file-location < 0.4.7 - th-desugar < 1.5.1 + - singletons < 1.1.1 # https://github.com/fpco/stackage/issues/442 - blaze-builder < 0.4 From c71cbd72decac6d427214a902f6fa64921190e8c Mon Sep 17 00:00:00 2001 From: Michael Sloan Date: Wed, 18 Mar 2015 23:59:58 -0700 Subject: [PATCH 263/643] Add executable-hash --- build-constraints.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 9907bce6..f14892a8 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -67,6 +67,7 @@ packages: - csv-conduit - diagrams-cairo - dimensional + - executable-hash - executable-path - fgl - fixed-list From e8304baaf9b29a8f623f0f1d0f86c38dd8635203 Mon Sep 17 00:00:00 2001 From: ___ Date: Thu, 19 Mar 2015 14:34:41 +0000 Subject: [PATCH 264/643] Add jose-jwt library --- build-constraints.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index f14892a8..6a9c58a7 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -743,6 +743,9 @@ packages: "Adam C. Foltzer acfoltzer@galois.com @acfoltzer": - gitrev + "Luke Taylor tekul.hs@gmail.com @tekul": + - jose-jwt + "Stackage upper bounds": # Force a specific version that's compatible with transformers 0.3 From 38fd5a2b4a5124d9479f6cc4f2489919625cf44f Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Thu, 19 Mar 2015 17:34:40 +0200 Subject: [PATCH 265/643] Expected test failure jose-jwt #482 --- build-constraints.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 6a9c58a7..05926055 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -1087,6 +1087,9 @@ expected-test-failures: # Requires locally running services - network-anonymous-i2p + # https://github.com/fpco/stackage/pull/482#issuecomment-83635207 + - jose-jwt + # Haddocks which are expected to fail. Same concept as expected test failures. expected-haddock-failures: # https://github.com/acw/bytestring-progress/issues/4 From a54f2711c57ef26db24e213db1f495ba97bc5c5f Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Thu, 19 Mar 2015 19:11:58 +0200 Subject: [PATCH 266/643] Disable doctest for jose-jwt --- build-constraints.yaml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index 05926055..d969cf0d 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -857,6 +857,10 @@ package-flags: two-point-one: true two-point-two: false + # https://github.com/fpco/stackage/pull/482#issuecomment-83635207 + jose-jwt: + doctest: false + # By skipping a test suite, we do not pull in the build dependencies skipped-tests: - ReadArgs # old version of hspec @@ -1087,9 +1091,6 @@ expected-test-failures: # Requires locally running services - network-anonymous-i2p - # https://github.com/fpco/stackage/pull/482#issuecomment-83635207 - - jose-jwt - # Haddocks which are expected to fail. Same concept as expected test failures. expected-haddock-failures: # https://github.com/acw/bytestring-progress/issues/4 From 2b3e44bbffc32dfc4dcc708ef7962c7584354943 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Fri, 20 Mar 2015 08:02:42 +0200 Subject: [PATCH 267/643] Upper bound for #483 --- build-constraints.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index d969cf0d..96d76ef2 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -802,6 +802,9 @@ packages: # https://github.com/fpco/stackage/issues/479 - QuickCheck < 2.8 + # https://github.com/fpco/stackage/issues/483 + - rethinkdb-client-driver < 0.0.15 + # Package flags are applied to individual packages, and override the values of # global-flags package-flags: From 452687cd61bbb26f72887c5d44de0f513fad8e4e Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Sun, 22 Mar 2015 09:28:48 +0200 Subject: [PATCH 268/643] Upper bound for #484 --- build-constraints.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 96d76ef2..8657ff32 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -805,6 +805,9 @@ packages: # https://github.com/fpco/stackage/issues/483 - rethinkdb-client-driver < 0.0.15 + # https://github.com/fpco/stackage/issues/484 + - opaleye < 0.3.1.1 + # Package flags are applied to individual packages, and override the values of # global-flags package-flags: From 5dd8ca466c93c83b8e79e91e361417ef19dbc3d7 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Sun, 22 Mar 2015 12:35:33 +0200 Subject: [PATCH 269/643] Upper bound for #485 --- build-constraints.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 8657ff32..a0d0652b 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -808,6 +808,9 @@ packages: # https://github.com/fpco/stackage/issues/484 - opaleye < 0.3.1.1 + # https://github.com/fpco/stackage/issues/485 + - parsec < 3.1.9 + # Package flags are applied to individual packages, and override the values of # global-flags package-flags: From 8f95d1879cc32c8180fd304283817d18bab19f1b Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Sun, 22 Mar 2015 12:58:07 +0200 Subject: [PATCH 270/643] Remove upper bounds and close #484 --- build-constraints.yaml | 3 --- 1 file changed, 3 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index a0d0652b..7596251a 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -805,9 +805,6 @@ packages: # https://github.com/fpco/stackage/issues/483 - rethinkdb-client-driver < 0.0.15 - # https://github.com/fpco/stackage/issues/484 - - opaleye < 0.3.1.1 - # https://github.com/fpco/stackage/issues/485 - parsec < 3.1.9 From 1891c1bfa79910555aeed6f105672acf8296d642 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Sun, 22 Mar 2015 13:25:31 +0200 Subject: [PATCH 271/643] Separate out stackage-curator --- .gitignore | 9 - ChangeLog.md | 64 --- Dockerfile | 25 - README.md | 12 +- Setup.hs | 2 - Stackage/BuildConstraints.hs | 234 --------- Stackage/BuildPlan.hs | 214 -------- Stackage/CheckBuildPlan.hs | 162 ------ Stackage/CompleteBuild.hs | 337 ------------ Stackage/CorePackages.hs | 53 -- Stackage/GhcPkg.hs | 104 ---- Stackage/GithubPings.hs | 36 -- Stackage/InstallBuild.hs | 102 ---- Stackage/PackageDescription.hs | 200 ------- Stackage/PackageIndex.hs | 127 ----- Stackage/PerformBuild.hs | 560 -------------------- Stackage/Prelude.hs | 116 ---- Stackage/ServerBundle.hs | 271 ---------- Stackage/UpdateBuildPlan.hs | 54 -- Stackage/Upload.hs | 272 ---------- app/stackage.hs | 210 -------- build-constraints.yaml | 1 + cabal.config | 847 ------------------------------ debian-bootstrap.sh | 71 --- stackage.cabal | 105 ---- test/Spec.hs | 1 - test/Stackage/BuildPlanSpec.hs | 143 ----- test/Stackage/CorePackagesSpec.hs | 19 - test/Stackage/PackageIndexSpec.hs | 21 - test/test-build-constraints.yaml | 20 - 30 files changed, 9 insertions(+), 4383 deletions(-) delete mode 100644 ChangeLog.md delete mode 100644 Dockerfile delete mode 100644 Setup.hs delete mode 100644 Stackage/BuildConstraints.hs delete mode 100644 Stackage/BuildPlan.hs delete mode 100644 Stackage/CheckBuildPlan.hs delete mode 100644 Stackage/CompleteBuild.hs delete mode 100644 Stackage/CorePackages.hs delete mode 100644 Stackage/GhcPkg.hs delete mode 100644 Stackage/GithubPings.hs delete mode 100644 Stackage/InstallBuild.hs delete mode 100644 Stackage/PackageDescription.hs delete mode 100644 Stackage/PackageIndex.hs delete mode 100644 Stackage/PerformBuild.hs delete mode 100644 Stackage/Prelude.hs delete mode 100644 Stackage/ServerBundle.hs delete mode 100644 Stackage/UpdateBuildPlan.hs delete mode 100644 Stackage/Upload.hs delete mode 100644 app/stackage.hs delete mode 100644 cabal.config delete mode 100755 debian-bootstrap.sh delete mode 100644 stackage.cabal delete mode 100644 test/Spec.hs delete mode 100644 test/Stackage/BuildPlanSpec.hs delete mode 100644 test/Stackage/CorePackagesSpec.hs delete mode 100644 test/Stackage/PackageIndexSpec.hs delete mode 100644 test/test-build-constraints.yaml diff --git a/.gitignore b/.gitignore index a153cdeb..6b60ace9 100644 --- a/.gitignore +++ b/.gitignore @@ -1,13 +1,4 @@ -dist -*.o -*.hi -*.chi -*.chs.h -*.swp /builds/ /logs/ -/.cabal-sandbox/ -cabal.sandbox.config nightly-*.yaml lts-*.yaml -/tarballs/ diff --git a/ChangeLog.md b/ChangeLog.md deleted file mode 100644 index d168d7e0..00000000 --- a/ChangeLog.md +++ /dev/null @@ -1,64 +0,0 @@ -## 0.6.1 - -* Switch to V2 upload by default -* --skip-hoogle option - -## 0.6.0 - -* Upload bundle V2 stuff - -## 0.5.2 - -* Upload LTS to Hackage with the name LTSHaskell - -## 0.5.1 - -* `loadBuildConstraints` -* More command line options - -## 0.5.0 - -* Print "Still Alive" while checking, to avoid Travis timeouts -* Include `stackage upload-nightly` command -* Optional plan checking - -## 0.4.0 - -* Command line uses optparse-applicative with additional options -* Library profiling support during build -* Remove cfGlobalFlags (just use package-specific flags) - -## 0.3.1 - -* Added `justCheck` and `stackage check` command line. - -## 0.3.0.1 - -Pre-fetch all packages from Hackage to catch Hackage downtime early. - -## 0.3.0.0 - -* Return progress URL from uploadBundle - -## 0.2.1.4 - -Generate a `core` file in bundles. - -## 0.2.1.1 - -Run postBuild earlier to avoid problems from broken doc uploads. - -## 0.2.1.0 - -* Use TLS manager (to download from Github) - -## 0.2.0.0 - -* Minor fixes -* `pbGlobalInstall` - -## 0.1.0.0 - -First version of Stackage which is made available as its own package. The -codebase has been completely rewritten at this point, to be ready for generated -both Stackage Nightly and LTS Haskell distributions. diff --git a/Dockerfile b/Dockerfile deleted file mode 100644 index c3956908..00000000 --- a/Dockerfile +++ /dev/null @@ -1,25 +0,0 @@ -FROM ubuntu:12.04 - -ENV HOME /home/stackage -ENV LANG en_US.UTF-8 - -RUN mkdir /home/stackage -p -RUN locale-gen en_US.UTF-8 - -RUN DEBIAN_FRONTEND=noninteractive apt-get update -RUN DEBIAN_FRONTEND=noninteractive apt-get install -y software-properties-common python-software-properties -RUN DEBIAN_FRONTEND=noninteractive add-apt-repository ppa:hvr/ghc -y - -ADD debian-bootstrap.sh /tmp/debian-bootstrap.sh -RUN DEBIAN_FRONTEND=noninteractive bash /tmp/debian-bootstrap.sh -RUN rm /tmp/debian-bootstrap.sh - -RUN DEBIAN_FRONTEND=noninteractive apt-get install -y cabal-install-1.20 ghc-7.8.4 alex-3.1.3 happy-1.19.4 - -ENV PATH /home/stackage/.cabal/bin:/usr/local/sbin:/usr/local/bin:/opt/ghc/7.8.4/bin:/opt/cabal/1.20/bin:/opt/alex/3.1.3/bin:/opt/happy/1.19.4/bin:/usr/sbin:/usr/bin:/sbin:/bin - -RUN cabal update -ADD . /tmp/stackage -RUN cd /tmp/stackage && cabal install . hscolour cabal-install --constraint "Cabal < 1.22" && cp $HOME/.cabal/bin/* /usr/local/bin && rm -rf $HOME/.cabal $HOME/.ghc /tmp/stackage - -RUN cd /home/stackage && cabal update && stackage check diff --git a/README.md b/README.md index 82a9802d..848c9744 100644 --- a/README.md +++ b/README.md @@ -7,10 +7,14 @@ __NOTE__ This repository is for package authors to get their code into Stackage. If you simply want to use Stackage as an end user, please follow the instructions on [http://www.stackage.org/](http://www.stackage.org). -A note about the codebase: the goal is to minimize dependencies and have -the maximum range of supported compiler versions. Therefore, we avoid -anything "complicated." For example, instead of using the text package, -we use Strings everywhere. +The Stackage project consists of multiple repositories. This repository +contains the metadata on packages to be included in future builds and some +project information. In addition, we have the following repositories: + +* [stackage-server](https://github.com/fpco/stackage-server) +* [stackage-curator](https://github.com/fpco/stackage-curator) +* [stackage-types](https://github.com/fpco/stackage-types) +* [lts-haskell](https://github.com/fpco/lts-haskell) Get your package included ------------------------- diff --git a/Setup.hs b/Setup.hs deleted file mode 100644 index 9a994af6..00000000 --- a/Setup.hs +++ /dev/null @@ -1,2 +0,0 @@ -import Distribution.Simple -main = defaultMain diff --git a/Stackage/BuildConstraints.hs b/Stackage/BuildConstraints.hs deleted file mode 100644 index c4ce1ceb..00000000 --- a/Stackage/BuildConstraints.hs +++ /dev/null @@ -1,234 +0,0 @@ -{-# LANGUAGE NoImplicitPrelude #-} -{-# LANGUAGE OverloadedStrings #-} -{-# LANGUAGE RecordWildCards #-} -{-# LANGUAGE TupleSections #-} --- | The constraints on package selection for a new build plan. -module Stackage.BuildConstraints - ( BuildConstraints (..) - , PackageConstraints (..) - , TestState (..) - , SystemInfo (..) - , getSystemInfo - , defaultBuildConstraints - , toBC - , BuildConstraintsSource (..) - , loadBuildConstraints - ) where - -import Control.Monad.Writer.Strict (execWriter, tell) -import Data.Aeson -import qualified Data.Map as Map -import Data.Yaml (decodeEither', decodeFileEither) -import Distribution.Package (Dependency (..)) -import Distribution.System (Arch, OS) -import qualified Distribution.System -import Distribution.Version (anyVersion) -import Filesystem (isFile) -import Network.HTTP.Client (Manager, httpLbs, responseBody, Request) -import Stackage.CorePackages -import Stackage.Prelude - -data TestState = ExpectSuccess - | ExpectFailure - | Don'tBuild -- ^ when the test suite will pull in things we don't want - deriving (Show, Eq, Ord, Bounded, Enum) - -testStateToText :: TestState -> Text -testStateToText ExpectSuccess = "expect-success" -testStateToText ExpectFailure = "expect-failure" -testStateToText Don'tBuild = "do-not-build" - -instance ToJSON TestState where - toJSON = toJSON . testStateToText -instance FromJSON TestState where - parseJSON = withText "TestState" $ \t -> - case lookup t states of - Nothing -> fail $ "Invalid state: " ++ unpack t - Just v -> return v - where - states = asHashMap $ mapFromList - $ map (\x -> (testStateToText x, x)) [minBound..maxBound] - -data SystemInfo = SystemInfo - { siGhcVersion :: Version - , siOS :: OS - , siArch :: Arch - , siCorePackages :: Map PackageName Version - , siCoreExecutables :: Set ExeName - } - deriving (Show, Eq, Ord) -instance ToJSON SystemInfo where - toJSON SystemInfo {..} = object - [ "ghc-version" .= display siGhcVersion - , "os" .= display siOS - , "arch" .= display siArch - , "core-packages" .= Map.mapKeysWith const unPackageName (map display siCorePackages) - , "core-executables" .= siCoreExecutables - ] -instance FromJSON SystemInfo where - parseJSON = withObject "SystemInfo" $ \o -> do - let helper name = (o .: name) >>= either (fail . show) return . simpleParse - siGhcVersion <- helper "ghc-version" - siOS <- helper "os" - siArch <- helper "arch" - siCorePackages <- (o .: "core-packages") >>= goPackages - siCoreExecutables <- o .: "core-executables" - return SystemInfo {..} - where - goPackages = either (fail . show) return - . mapM simpleParse - . Map.mapKeysWith const mkPackageName - -data BuildConstraints = BuildConstraints - { bcPackages :: Set PackageName - -- ^ This does not include core packages. - , bcPackageConstraints :: PackageName -> PackageConstraints - - , bcSystemInfo :: SystemInfo - - , bcGithubUsers :: Map Text (Set Text) - -- ^ map an account to set of pingees - } - -data PackageConstraints = PackageConstraints - { pcVersionRange :: VersionRange - , pcMaintainer :: Maybe Maintainer - , pcTests :: TestState - , pcHaddocks :: TestState - , pcBuildBenchmarks :: Bool - , pcFlagOverrides :: Map FlagName Bool - , pcEnableLibProfile :: Bool - } - deriving (Show, Eq) -instance ToJSON PackageConstraints where - toJSON PackageConstraints {..} = object $ addMaintainer - [ "version-range" .= display pcVersionRange - , "tests" .= pcTests - , "haddocks" .= pcHaddocks - , "build-benchmarks" .= pcBuildBenchmarks - , "flags" .= Map.mapKeysWith const unFlagName pcFlagOverrides - , "library-profiling" .= pcEnableLibProfile - ] - where - addMaintainer = maybe id (\m -> (("maintainer" .= m):)) pcMaintainer -instance FromJSON PackageConstraints where - parseJSON = withObject "PackageConstraints" $ \o -> do - pcVersionRange <- (o .: "version-range") - >>= either (fail . show) return . simpleParse - pcTests <- o .: "tests" - pcHaddocks <- o .: "haddocks" - pcBuildBenchmarks <- o .: "build-benchmarks" - pcFlagOverrides <- Map.mapKeysWith const mkFlagName <$> o .: "flags" - pcMaintainer <- o .:? "maintainer" - pcEnableLibProfile <- fmap (fromMaybe True) (o .:? "library-profiling") - return PackageConstraints {..} - --- | The proposed plan from the requirements provided by contributors. --- --- Checks the current directory for a build-constraints.yaml file and uses it --- if present. If not, downloads from Github. -defaultBuildConstraints :: Manager -> IO BuildConstraints -defaultBuildConstraints = loadBuildConstraints BCSDefault - -data BuildConstraintsSource - = BCSDefault - | BCSFile FilePath - | BCSWeb Request - deriving (Show) - -loadBuildConstraints :: BuildConstraintsSource -> Manager -> IO BuildConstraints -loadBuildConstraints bcs man = do - case bcs of - BCSDefault -> do - e <- isFile fp0 - if e - then loadFile fp0 - else loadReq req0 - BCSFile fp -> loadFile fp - BCSWeb req -> loadReq req - where - fp0 = "build-constraints.yaml" - req0 = "https://raw.githubusercontent.com/fpco/stackage/master/build-constraints.yaml" - - loadFile fp = decodeFileEither (fpToString fp) >>= either throwIO toBC - loadReq req = httpLbs req man >>= - either throwIO toBC . decodeEither' . toStrict . responseBody - - -getSystemInfo :: IO SystemInfo -getSystemInfo = do - siCorePackages <- getCorePackages - siCoreExecutables <- getCoreExecutables - siGhcVersion <- getGhcVersion - return SystemInfo {..} - where - -- FIXME consider not hard-coding the next two values - siOS = Distribution.System.Linux - siArch = Distribution.System.X86_64 - -data ConstraintFile = ConstraintFile - { cfPackageFlags :: Map PackageName (Map FlagName Bool) - , cfSkippedTests :: Set PackageName - , cfExpectedTestFailures :: Set PackageName - , cfExpectedHaddockFailures :: Set PackageName - , cfSkippedBenchmarks :: Set PackageName - , cfPackages :: Map Maintainer (Vector Dependency) - , cfGithubUsers :: Map Text (Set Text) - , cfSkippedLibProfiling :: Set PackageName - } - -instance FromJSON ConstraintFile where - parseJSON = withObject "ConstraintFile" $ \o -> do - cfPackageFlags <- (goPackageMap . fmap goFlagMap) <$> o .: "package-flags" - cfSkippedTests <- getPackages o "skipped-tests" - cfExpectedTestFailures <- getPackages o "expected-test-failures" - cfExpectedHaddockFailures <- getPackages o "expected-haddock-failures" - cfSkippedBenchmarks <- getPackages o "skipped-benchmarks" - cfSkippedLibProfiling <- getPackages o "skipped-profiling" - cfPackages <- o .: "packages" - >>= mapM (mapM toDep) - . Map.mapKeysWith const Maintainer - cfGithubUsers <- o .: "github-users" - return ConstraintFile {..} - where - goFlagMap = Map.mapKeysWith const FlagName - goPackageMap = Map.mapKeysWith const PackageName - getPackages o name = (setFromList . map PackageName) <$> o .: name - - toDep :: Monad m => Text -> m Dependency - toDep = either (fail . show) return . simpleParse - -toBC :: ConstraintFile -> IO BuildConstraints -toBC ConstraintFile {..} = do - bcSystemInfo <- getSystemInfo - return BuildConstraints {..} - where - combine (maintainer, range1) (_, range2) = - (maintainer, intersectVersionRanges range1 range2) - revmap = unionsWith combine $ ($ []) $ execWriter - $ forM_ (mapToList cfPackages) - $ \(maintainer, deps) -> forM_ deps - $ \(Dependency name range) -> - tell (singletonMap name (maintainer, range):) - - bcPackages = Map.keysSet revmap - - bcPackageConstraints name = - PackageConstraints {..} - where - mpair = lookup name revmap - pcMaintainer = fmap fst mpair - pcVersionRange = maybe anyVersion snd mpair - pcEnableLibProfile = not (name `member` cfSkippedLibProfiling) - pcTests - | name `member` cfSkippedTests = Don'tBuild - | name `member` cfExpectedTestFailures = ExpectFailure - | otherwise = ExpectSuccess - pcBuildBenchmarks = name `notMember` cfSkippedBenchmarks - pcHaddocks - | name `member` cfExpectedHaddockFailures = ExpectFailure - - | otherwise = ExpectSuccess - pcFlagOverrides = fromMaybe mempty $ lookup name cfPackageFlags - - bcGithubUsers = cfGithubUsers diff --git a/Stackage/BuildPlan.hs b/Stackage/BuildPlan.hs deleted file mode 100644 index b8bc5376..00000000 --- a/Stackage/BuildPlan.hs +++ /dev/null @@ -1,214 +0,0 @@ -{-# LANGUAGE DeriveDataTypeable #-} -{-# LANGUAGE DeriveFoldable #-} -{-# LANGUAGE DeriveFunctor #-} -{-# LANGUAGE DeriveTraversable #-} -{-# LANGUAGE NoImplicitPrelude #-} -{-# LANGUAGE OverloadedStrings #-} -{-# LANGUAGE RecordWildCards #-} -{-# LANGUAGE TupleSections #-} -{-# LANGUAGE TypeFamilies #-} --- | Representation of a concrete build plan, and how to generate a new one --- based on constraints. -module Stackage.BuildPlan - ( BuildPlan (..) - , PackagePlan (..) - , newBuildPlan - , makeToolMap - , getLatestAllowedPlans - ) where - -import Control.Monad.State.Strict (execState, get, put) -import Data.Aeson -import qualified Data.Map as Map -import qualified Data.Set as Set -import qualified Distribution.Compiler -import Distribution.PackageDescription -import Stackage.BuildConstraints -import Stackage.GithubPings -import Stackage.PackageDescription -import Stackage.PackageIndex -import Stackage.Prelude - -data BuildPlan = BuildPlan - { bpSystemInfo :: SystemInfo - , bpTools :: Vector (PackageName, Version) - , bpPackages :: Map PackageName PackagePlan - , bpGithubUsers :: Map Text (Set Text) - } - deriving (Show, Eq) - -instance ToJSON BuildPlan where - toJSON BuildPlan {..} = object - [ "system-info" .= bpSystemInfo - , "tools" .= map goTool bpTools - , "packages" .= Map.mapKeysWith const unPackageName bpPackages - , "github-users" .= bpGithubUsers - ] - where - goTool (k, v) = object - [ "name" .= display k - , "version" .= display v - ] -instance FromJSON BuildPlan where - parseJSON = withObject "BuildPlan" $ \o -> do - bpSystemInfo <- o .: "system-info" - bpTools <- (o .: "tools") >>= mapM goTool - bpPackages <- Map.mapKeysWith const mkPackageName <$> (o .: "packages") - bpGithubUsers <- o .:? "github-users" .!= mempty - return BuildPlan {..} - where - goTool = withObject "Tool" $ \o -> (,) - <$> ((o .: "name") >>= - either (fail . show) return . simpleParse . asText) - <*> ((o .: "version") >>= - either (fail . show) return . simpleParse . asText) - -data PackagePlan = PackagePlan - { ppVersion :: Version - , ppGithubPings :: Set Text - , ppUsers :: Set PackageName - , ppConstraints :: PackageConstraints - , ppDesc :: SimpleDesc - } - deriving (Show, Eq) - -instance ToJSON PackagePlan where - toJSON PackagePlan {..} = object - [ "version" .= asText (display ppVersion) - , "github-pings" .= ppGithubPings - , "users" .= map unPackageName (unpack ppUsers) - , "constraints" .= ppConstraints - , "description" .= ppDesc - ] -instance FromJSON PackagePlan where - parseJSON = withObject "PackageBuild" $ \o -> do - ppVersion <- o .: "version" - >>= either (fail . show) return - . simpleParse . asText - ppGithubPings <- o .:? "github-pings" .!= mempty - ppUsers <- Set.map PackageName <$> (o .:? "users" .!= mempty) - ppConstraints <- o .: "constraints" - ppDesc <- o .: "description" - return PackagePlan {..} - --- | Make a build plan given these package set and build constraints. -newBuildPlan :: MonadIO m => Map PackageName PackagePlan -> BuildConstraints -> m BuildPlan -newBuildPlan packagesOrig bc@BuildConstraints {..} = liftIO $ do - let toolMap = makeToolMap packagesOrig - packages = populateUsers $ removeUnincluded bc toolMap packagesOrig - toolNames :: [ExeName] - toolNames = concatMap (Map.keys . sdTools . ppDesc) packages - tools <- topologicalSortTools toolMap $ mapFromList $ do - exeName <- toolNames - guard $ exeName `notMember` siCoreExecutables - packageName <- maybe mempty setToList $ lookup exeName toolMap - packagePlan <- maybeToList $ lookup packageName packagesOrig - return (packageName, packagePlan) - -- FIXME topologically sort packages? maybe just leave that to the build phase - return BuildPlan - { bpSystemInfo = bcSystemInfo - , bpTools = tools - , bpPackages = packages - , bpGithubUsers = bcGithubUsers - } - where - SystemInfo {..} = bcSystemInfo - -makeToolMap :: Map PackageName PackagePlan - -> Map ExeName (Set PackageName) -makeToolMap = - unionsWith (++) . map go . mapToList - where - go (packageName, pp) = - foldMap go' $ sdProvidedExes $ ppDesc pp - where - go' exeName = singletonMap exeName (singletonSet packageName) - -topologicalSortTools :: MonadThrow m - => Map ExeName (Set PackageName) - -> Map PackageName PackagePlan - -> m (Vector (PackageName, Version)) -topologicalSortTools toolMap = topologicalSort - ppVersion - (concatMap (fromMaybe mempty . flip lookup toolMap) . Map.keys . sdTools . ppDesc) - --- | Include only packages which are dependencies of the required packages and --- their build tools. -removeUnincluded :: BuildConstraints - -> Map ExeName (Set PackageName) - -> Map PackageName PackagePlan - -> Map PackageName PackagePlan -removeUnincluded BuildConstraints {..} toolMap orig = - mapFromList $ filter (\(x, _) -> x `member` included) $ mapToList orig - where - SystemInfo {..} = bcSystemInfo - - included :: Set PackageName - included = flip execState mempty $ mapM_ add bcPackages - - add name = do - inc <- get - when (name `notMember` inc) $ do - put $ insertSet name inc - case lookup name orig of - Nothing -> return () - Just pb -> do - mapM_ add $ Map.keys $ sdPackages $ ppDesc pb - forM_ (Map.keys $ sdTools $ ppDesc pb) $ - \exeName -> when (exeName `notMember` siCoreExecutables) - $ mapM_ add $ fromMaybe mempty $ lookup exeName toolMap - -populateUsers :: Map PackageName PackagePlan - -> Map PackageName PackagePlan -populateUsers orig = - mapWithKey go orig - where - go name pb = pb { ppUsers = foldMap (go2 name) (mapToList orig) } - - go2 dep (user, pb) - | dep `member` sdPackages (ppDesc pb) = singletonSet user - | otherwise = mempty - --- | Check whether the given package/version combo meets the constraints --- currently in place. -isAllowed :: BuildConstraints - -> PackageName -> Version -> Bool -isAllowed bc = \name version -> - case lookup name $ siCorePackages $ bcSystemInfo bc of - Just _ -> False -- never reinstall a core package - Nothing -> withinRange version $ pcVersionRange $ bcPackageConstraints bc name - -mkPackagePlan :: MonadThrow m - => BuildConstraints - -> GenericPackageDescription - -> m PackagePlan -mkPackagePlan bc gpd = do - ppDesc <- toSimpleDesc CheckCond {..} gpd - return PackagePlan {..} - where - PackageIdentifier name ppVersion = package $ packageDescription gpd - ppGithubPings = getGithubPings bc gpd - ppConstraints = bcPackageConstraints bc name - ppUsers = mempty -- must be filled in later - - ccPackageName = name - ccOS = siOS - ccArch = siArch - ccCompilerFlavor = Distribution.Compiler.GHC - ccCompilerVersion = siGhcVersion - ccFlags = flags - ccIncludeTests = pcTests ppConstraints /= Don'tBuild - ccIncludeBenchmarks = pcBuildBenchmarks ppConstraints - - SystemInfo {..} = bcSystemInfo bc - - overrides = pcFlagOverrides ppConstraints - getFlag MkFlag {..} = - (flagName, fromMaybe flagDefault $ lookup flagName overrides) - flags = mapFromList $ map getFlag $ genPackageFlags gpd - -getLatestAllowedPlans :: MonadIO m => BuildConstraints -> m (Map PackageName PackagePlan) -getLatestAllowedPlans bc = - getLatestDescriptions - (isAllowed bc) - (mkPackagePlan bc) diff --git a/Stackage/CheckBuildPlan.hs b/Stackage/CheckBuildPlan.hs deleted file mode 100644 index 74bf3b83..00000000 --- a/Stackage/CheckBuildPlan.hs +++ /dev/null @@ -1,162 +0,0 @@ -{-# LANGUAGE TupleSections #-} -{-# LANGUAGE DeriveDataTypeable #-} -{-# LANGUAGE GeneralizedNewtypeDeriving #-} -{-# LANGUAGE NoImplicitPrelude #-} -{-# LANGUAGE OverloadedStrings #-} -{-# LANGUAGE RecordWildCards #-} -{-# LANGUAGE ViewPatterns #-} --- | Confirm that a build plan has a consistent set of dependencies. -module Stackage.CheckBuildPlan - ( checkBuildPlan - , BadBuildPlan - ) where - -import Control.Monad.Writer.Strict (Writer, execWriter, tell) -import qualified Data.Map.Strict as M -import qualified Data.Text as T -import Stackage.BuildConstraints -import Stackage.BuildPlan -import Stackage.PackageDescription -import Stackage.Prelude - --- | Check the build plan for missing deps, wrong versions, etc. -checkBuildPlan :: (MonadThrow m) => BuildPlan -> m () -checkBuildPlan BuildPlan {..} - | null errs' = return () - | otherwise = throwM errs - where - allPackages = map (,mempty) (siCorePackages bpSystemInfo) ++ - map (ppVersion &&& M.keys . M.filter libAndExe . sdPackages . ppDesc) bpPackages - errs@(BadBuildPlan errs') = - execWriter $ mapM_ (checkDeps allPackages) $ mapToList bpPackages - -- Only looking at libraries and executables, benchmarks and tests - -- are allowed to create cycles (e.g. test-framework depends on - -- text, which uses test-framework in its test-suite). - libAndExe (DepInfo cs _) = any (flip elem [CompLibrary,CompExecutable]) cs - --- | For a given package name and plan, check that its dependencies are: --- --- 1. Existent (existing in the provided package map) --- 2. Within version range --- 3. Check for dependency cycles. -checkDeps :: Map PackageName (Version,[PackageName]) - -> (PackageName, PackagePlan) - -> Writer BadBuildPlan () -checkDeps allPackages (user, pb) = - mapM_ go $ mapToList $ sdPackages $ ppDesc pb - where - go (dep, diRange -> range) = - case lookup dep allPackages of - Nothing -> tell $ BadBuildPlan $ singletonMap (dep, Nothing) errMap - Just (version,deps) - | version `withinRange` range -> - occursCheck allPackages - (\d v -> - tell $ BadBuildPlan $ singletonMap - (d,v) - errMap) - dep - deps - [] - | otherwise -> tell $ BadBuildPlan $ singletonMap - (dep, Just version) - errMap - where - errMap = singletonMap pu range - pu = PkgUser - { puName = user - , puVersion = ppVersion pb - , puMaintainer = pcMaintainer $ ppConstraints pb - , puGithubPings = ppGithubPings pb - } - --- | Check whether the package(s) occurs within its own dependency --- tree. -occursCheck - :: Monad m - => Map PackageName (Version,[PackageName]) - -- ^ All packages. - -> (PackageName -> Maybe Version -> m ()) - -- ^ Report an erroneous package. - -> PackageName - -- ^ Starting package to check for cycles in. - -> [PackageName] - -- ^ Dependencies of the package. - -> [PackageName] - -- ^ Previously seen packages up the dependency tree. - -> m () -occursCheck allPackages reportError = - go - where - go pkg deps seen = - case find (flip elem seen) deps of - Just cyclic -> - reportError cyclic $ - fmap fst (lookup cyclic allPackages) - Nothing -> - forM_ deps $ - \pkg' -> - case lookup pkg' allPackages of - Just (_v,deps') - | pkg' /= pkg -> go pkg' deps' seen' - _ -> return () - where seen' = pkg : seen - -data PkgUser = PkgUser - { puName :: PackageName - , puVersion :: Version - , puMaintainer :: Maybe Maintainer - , puGithubPings :: Set Text - } - deriving (Eq, Ord) - -pkgUserShow1 :: PkgUser -> Text -pkgUserShow1 PkgUser {..} = concat - [ display puName - , "-" - , display puVersion - ] - -pkgUserShow2 :: PkgUser -> Text -pkgUserShow2 PkgUser {..} = unwords - $ (maybe "No maintainer" unMaintainer puMaintainer ++ ".") - : map (cons '@') (setToList puGithubPings) - -newtype BadBuildPlan = - BadBuildPlan (Map (PackageName, Maybe Version) (Map PkgUser VersionRange)) - deriving Typeable -instance Exception BadBuildPlan -instance Show BadBuildPlan where - show (BadBuildPlan errs) = - unpack $ concatMap go $ mapToList errs - where - go ((dep, mdepVer), users) = unlines - $ "" - : showDepVer dep mdepVer - : map showUser (mapToList users) - - showDepVer :: PackageName -> Maybe Version -> Text - showDepVer dep Nothing = display dep ++ " (not present) depended on by:" - showDepVer dep (Just version) = concat - [ display dep - , "-" - , display version - , " depended on by:" - ] - - showUser :: (PkgUser, VersionRange) -> Text - showUser (pu, range) = concat - [ "- " - , pkgUserShow1 pu - , " (" - -- add a space after < to avoid confusing Markdown processors (like - -- Github's issue tracker) - , T.replace "<" "< " $ display range - , "). " - , pkgUserShow2 pu - ] - -instance Monoid BadBuildPlan where - mempty = BadBuildPlan mempty - mappend (BadBuildPlan x) (BadBuildPlan y) = - BadBuildPlan $ unionWith (unionWith intersectVersionRanges) x y diff --git a/Stackage/CompleteBuild.hs b/Stackage/CompleteBuild.hs deleted file mode 100644 index ee4996d6..00000000 --- a/Stackage/CompleteBuild.hs +++ /dev/null @@ -1,337 +0,0 @@ -{-# LANGUAGE NoImplicitPrelude #-} -{-# LANGUAGE OverloadedStrings #-} -{-# LANGUAGE RecordWildCards #-} -module Stackage.CompleteBuild - ( BuildType (..) - , BumpType (..) - , BuildFlags (..) - , completeBuild - , justCheck - , justUploadNightly - , getStackageAuthToken - ) where - -import Control.Concurrent (threadDelay) -import Control.Concurrent.Async (withAsync) -import Data.Default.Class (def) -import Data.Semigroup (Max (..), Option (..)) -import Data.Text.Read (decimal) -import Data.Time -import Data.Yaml (decodeFileEither, encodeFile) -import Network.HTTP.Client -import Network.HTTP.Client.TLS (tlsManagerSettings) -import Stackage.BuildConstraints -import Stackage.BuildPlan -import Stackage.CheckBuildPlan -import Stackage.PerformBuild -import Stackage.Prelude -import Stackage.ServerBundle -import Stackage.UpdateBuildPlan -import Stackage.Upload -import System.Environment (lookupEnv) -import System.IO (BufferMode (LineBuffering), hSetBuffering) - --- | Flags passed in from the command line. -data BuildFlags = BuildFlags - { bfEnableTests :: !Bool - , bfEnableHaddock :: !Bool - , bfDoUpload :: !Bool - , bfEnableLibProfile :: !Bool - , bfEnableExecDyn :: !Bool - , bfVerbose :: !Bool - , bfSkipCheck :: !Bool - , bfUploadV1 :: !Bool - , bfServer :: !StackageServer - , bfBuildHoogle :: !Bool - } deriving (Show) - -data BuildType = Nightly | LTS BumpType - deriving (Show, Read, Eq, Ord) - -data BumpType = Major | Minor - deriving (Show, Read, Eq, Ord) - -data Settings = Settings - { plan :: BuildPlan - , planFile :: FilePath - , buildDir :: FilePath - , logDir :: FilePath - , title :: Text -> Text -- ^ GHC version -> title - , slug :: Text - , setArgs :: Text -> UploadBundle -> UploadBundle - , postBuild :: IO () - , distroName :: Text -- ^ distro name on Hackage - , snapshotType :: SnapshotType - , bundleDest :: FilePath - } - -nightlyPlanFile :: Text -- ^ day - -> FilePath -nightlyPlanFile day = fpFromText ("nightly-" ++ day) <.> "yaml" - -nightlySettings :: Text -- ^ day - -> BuildPlan - -> Settings -nightlySettings day plan' = Settings - { planFile = nightlyPlanFile day - , buildDir = fpFromText $ "builds/nightly" - , logDir = fpFromText $ "logs/stackage-nightly-" ++ day - , title = \ghcVer -> concat - [ "Stackage Nightly " - , day - , ", GHC " - , ghcVer - ] - , slug = slug' - , setArgs = \ghcVer ub -> ub { ubNightly = Just ghcVer } - , plan = plan' - , postBuild = return () - , distroName = "Stackage" - , snapshotType = STNightly - , bundleDest = fpFromText $ "stackage-nightly-" ++ day ++ ".bundle" - } - where - slug' = "nightly-" ++ day - -getSettings :: Manager -> BuildType -> IO Settings -getSettings man Nightly = do - day <- tshow . utctDay <$> getCurrentTime - bc <- defaultBuildConstraints man - pkgs <- getLatestAllowedPlans bc - plan' <- newBuildPlan pkgs bc - return $ nightlySettings day plan' -getSettings man (LTS bumpType) = do - Option mlts <- fmap (fmap getMax) $ runResourceT - $ sourceDirectory "." - $$ foldMapC (Option . fmap Max . parseLTSVer . filename) - - (new, plan') <- case bumpType of - Major -> do - let new = - case mlts of - Nothing -> LTSVer 0 0 - Just (LTSVer x _) -> LTSVer (x + 1) 0 - bc <- defaultBuildConstraints man - pkgs <- getLatestAllowedPlans bc - plan' <- newBuildPlan pkgs bc - return (new, plan') - Minor -> do - old <- maybe (error "No LTS plans found in current directory") return mlts - oldplan <- decodeFileEither (fpToString $ renderLTSVer old) - >>= either throwM return - let new = incrLTSVer old - let bc = updateBuildConstraints oldplan - pkgs <- getLatestAllowedPlans bc - plan' <- newBuildPlan pkgs bc - return (new, plan') - - let newfile = renderLTSVer new - - return Settings - { planFile = newfile - , buildDir = fpFromText $ "builds/lts" - , logDir = fpFromText $ "logs/stackage-lts-" ++ tshow new - , title = \ghcVer -> concat - [ "LTS Haskell " - , tshow new - , ", GHC " - , ghcVer - ] - , slug = "lts-" ++ tshow new - , setArgs = \_ ub -> ub { ubLTS = Just $ tshow new } - , plan = plan' - , postBuild = do - let git args = withCheckedProcess - (proc "git" args) $ \ClosedStream Inherited Inherited -> - return () - putStrLn "Committing new LTS file to Git" - git ["add", fpToString newfile] - git ["commit", "-m", "Added new LTS release: " ++ show new] - putStrLn "Pushing to Git repository" - git ["push"] - , distroName = "LTSHaskell" - , snapshotType = - case new of - LTSVer x y -> STLTS x y - , bundleDest = fpFromText $ "stackage-lts-" ++ tshow new ++ ".bundle" - } - -data LTSVer = LTSVer !Int !Int - deriving (Eq, Ord) -instance Show LTSVer where - show (LTSVer x y) = concat [show x, ".", show y] -incrLTSVer :: LTSVer -> LTSVer -incrLTSVer (LTSVer x y) = LTSVer x (y + 1) - -parseLTSVer :: FilePath -> Maybe LTSVer -parseLTSVer fp = do - w <- stripPrefix "lts-" $ fpToText fp - x <- stripSuffix ".yaml" w - Right (major, y) <- Just $ decimal x - z <- stripPrefix "." y - Right (minor, "") <- Just $ decimal z - return $ LTSVer major minor -renderLTSVer :: LTSVer -> FilePath -renderLTSVer lts = fpFromText $ concat - [ "lts-" - , tshow lts - , ".yaml" - ] - --- | Just print a message saying "still alive" every minute, to appease Travis. -stillAlive :: IO () -> IO () -stillAlive inner = - withAsync (printer 1) $ const inner - where - printer i = forever $ do - threadDelay 60000000 - putStrLn $ "Still alive: " ++ tshow i - printer $! i + 1 - --- | Generate and check a new build plan, but do not execute it. --- --- Since 0.3.1 -justCheck :: IO () -justCheck = stillAlive $ withManager tlsManagerSettings $ \man -> do - putStrLn "Loading build constraints" - bc <- defaultBuildConstraints man - - putStrLn "Creating build plan" - plans <- getLatestAllowedPlans bc - plan <- newBuildPlan plans bc - - putStrLn $ "Writing build plan to check-plan.yaml" - encodeFile "check-plan.yaml" plan - - putStrLn "Checking plan" - checkBuildPlan plan - - putStrLn "Plan seems valid!" - -getPerformBuild :: BuildFlags -> Settings -> PerformBuild -getPerformBuild buildFlags Settings {..} = PerformBuild - { pbPlan = plan - , pbInstallDest = buildDir - , pbLogDir = logDir - , pbLog = hPut stdout - , pbJobs = 8 - , pbGlobalInstall = False - , pbEnableTests = bfEnableTests buildFlags - , pbEnableHaddock = bfEnableHaddock buildFlags - , pbEnableLibProfiling = bfEnableLibProfile buildFlags - , pbEnableExecDyn = bfEnableExecDyn buildFlags - , pbVerbose = bfVerbose buildFlags - , pbAllowNewer = bfSkipCheck buildFlags - , pbBuildHoogle = bfBuildHoogle buildFlags - } - --- | Make a complete plan, build, test and upload bundle, docs and --- distro. -completeBuild :: BuildType -> BuildFlags -> IO () -completeBuild buildType buildFlags = withManager tlsManagerSettings $ \man -> do - hSetBuffering stdout LineBuffering - - putStrLn $ "Loading settings for: " ++ tshow buildType - settings@Settings {..} <- getSettings man buildType - - putStrLn $ "Writing build plan to: " ++ fpToText planFile - encodeFile (fpToString planFile) plan - - if bfSkipCheck buildFlags - then putStrLn "Skipping build plan check" - else do - putStrLn "Checking build plan" - checkBuildPlan plan - - putStrLn "Performing build" - let pb = getPerformBuild buildFlags settings - performBuild pb >>= mapM_ putStrLn - - putStrLn $ "Creating bundle (v2) at: " ++ fpToText bundleDest - createBundleV2 CreateBundleV2 - { cb2Plan = plan - , cb2Type = snapshotType - , cb2DocsDir = pbDocDir pb - , cb2Dest = bundleDest - } - - when (bfDoUpload buildFlags) $ - finallyUpload - (not $ bfUploadV1 buildFlags) - (bfServer buildFlags) - settings - man - -justUploadNightly - :: Text -- ^ nightly date - -> IO () -justUploadNightly day = do - plan <- decodeFileEither (fpToString $ nightlyPlanFile day) - >>= either throwM return - withManager tlsManagerSettings $ finallyUpload False def $ nightlySettings day plan - -getStackageAuthToken :: IO Text -getStackageAuthToken = do - mtoken <- lookupEnv "STACKAGE_AUTH_TOKEN" - case mtoken of - Nothing -> decodeUtf8 <$> readFile "/auth-token" - Just token -> return $ pack token - --- | The final part of the complete build process: uploading a bundle, --- docs and a distro to hackage. -finallyUpload :: Bool -- ^ use v2 upload - -> StackageServer - -> Settings -> Manager -> IO () -finallyUpload useV2 server settings@Settings{..} man = do - putStrLn "Uploading bundle to Stackage Server" - - token <- getStackageAuthToken - - if useV2 - then do - res <- flip uploadBundleV2 man UploadBundleV2 - { ub2Server = server - , ub2AuthToken = token - , ub2Bundle = bundleDest - } - putStrLn $ "New snapshot available at: " ++ res - else do - now <- epochTime - let ghcVer = display $ siGhcVersion $ bpSystemInfo plan - (ident, mloc) <- flip uploadBundle man $ setArgs ghcVer def - { ubContents = serverBundle now (title ghcVer) slug plan - , ubAuthToken = token - } - putStrLn $ "New ident: " ++ unSnapshotIdent ident - forM_ mloc $ \loc -> - putStrLn $ "Track progress at: " ++ loc - - putStrLn "Uploading docs to Stackage Server" - res1 <- tryAny $ uploadDocs UploadDocs - { udServer = def - , udAuthToken = token - , udDocs = pbDocDir pb - , udSnapshot = ident - } man - putStrLn $ "Doc upload response: " ++ tshow res1 - - putStrLn "Uploading doc map" - tryAny (uploadDocMap UploadDocMap - { udmServer = def - , udmAuthToken = token - , udmSnapshot = ident - , udmDocDir = pbDocDir pb - , udmPlan = plan - } man) >>= print - - postBuild `catchAny` print - - ecreds <- tryIO $ readFile "/hackage-creds" - case map encodeUtf8 $ words $ decodeUtf8 $ either (const "") id ecreds of - [username, password] -> do - putStrLn "Uploading as Hackage distro" - res2 <- uploadHackageDistroNamed distroName plan username password man - putStrLn $ "Distro upload response: " ++ tshow res2 - _ -> putStrLn "No creds found, skipping Hackage distro upload" - where - pb = getPerformBuild (error "finallyUpload.buildFlags") settings diff --git a/Stackage/CorePackages.hs b/Stackage/CorePackages.hs deleted file mode 100644 index 896ff002..00000000 --- a/Stackage/CorePackages.hs +++ /dev/null @@ -1,53 +0,0 @@ -{-# LANGUAGE NoImplicitPrelude #-} -{-# LANGUAGE OverloadedStrings #-} -module Stackage.CorePackages - ( getCorePackages - , getCoreExecutables - , getGhcVersion - ) where - -import qualified Data.Text as T -import Filesystem (listDirectory) -import Stackage.Prelude -import System.Directory (findExecutable) - --- | Get a @Map@ of all of the core packages. Core packages are defined as --- packages which ship with GHC itself. --- --- Precondition: GHC global package database has only core packages, and GHC --- ships with just a single version of each packages. -getCorePackages :: IO (Map PackageName Version) -getCorePackages = - withCheckedProcess cp $ \ClosedStream src Inherited -> - src $$ decodeUtf8C =$ linesUnboundedC =$ foldMapMC parsePackage - where - cp = proc "ghc-pkg" ["--no-user-package-conf", "list"] - parsePackage t - | ":" `isInfixOf` t = return mempty - | Just p <- stripSuffix "-" p' = singletonMap - <$> simpleParse p - <*> simpleParse v - | otherwise = return mempty - where - (p', v) = T.breakOnEnd "-" $ dropParens $ T.strip t - - dropParens s - | length s > 2 && headEx s == '(' && lastEx s == ')' = - initEx $ tailEx s - | otherwise = s - --- | A list of executables that are shipped with GHC. -getCoreExecutables :: IO (Set ExeName) -getCoreExecutables = do - mfp <- findExecutable "ghc" - dir <- - case mfp of - Nothing -> error "No ghc executable found on PATH" - Just fp -> return $ directory $ fpFromString fp - (setFromList . map (ExeName . fpToText . filename)) <$> listDirectory dir - -getGhcVersion :: IO Version -getGhcVersion = do - withCheckedProcess (proc "ghc" ["--numeric-version"]) $ - \ClosedStream src Inherited -> - (src $$ decodeUtf8C =$ foldC) >>= simpleParse diff --git a/Stackage/GhcPkg.hs b/Stackage/GhcPkg.hs deleted file mode 100644 index 27b7f9e1..00000000 --- a/Stackage/GhcPkg.hs +++ /dev/null @@ -1,104 +0,0 @@ -{-# LANGUAGE NoImplicitPrelude #-} -{-# LANGUAGE OverloadedStrings #-} --- | General commands related to ghc-pkg. - -module Stackage.GhcPkg - ( setupPackageDatabase - ) where - -import Data.Conduit -import qualified Data.Conduit.List as CL -import Data.Conduit.Process -import qualified Data.Conduit.Text as CT -import Data.Maybe -import Data.Text (Text) -import qualified Data.Text as T -import Distribution.Compat.ReadP -import Distribution.Package -import Distribution.Text (parse) -import Filesystem.Path.CurrentOS (FilePath) -import qualified Filesystem.Path.CurrentOS as FP -import Data.Map (Map) -import Data.Version (Version) -import Stackage.Prelude -import Filesystem (removeTree) - -setupPackageDatabase - :: Maybe FilePath -- ^ database location, Nothing if using global DB - -> FilePath -- ^ documentation root - -> (ByteString -> IO ()) -- ^ logging - -> Map PackageName Version -- ^ packages and versions to be installed - -> (PackageIdentifier -> IO ()) -- ^ callback to be used when unregistering a package - -> IO (Set PackageName) -- ^ packages remaining in the database after cleanup -setupPackageDatabase mdb docDir log' toInstall onUnregister = do - registered1 <- getRegisteredPackages flags - forM_ registered1 $ \pi@(PackageIdentifier name version) -> - case lookup name toInstall of - Just version' | version /= version' -> unregisterPackage log' onUnregister docDir flags pi - _ -> return () - broken <- getBrokenPackages flags - forM_ broken $ unregisterPackage log' onUnregister docDir flags - foldMap (\(PackageIdentifier name _) -> singletonSet name) - <$> getRegisteredPackages flags - where - flags = ghcPkgFlags mdb - -ghcPkgFlags :: Maybe FilePath -> [String] -ghcPkgFlags mdb = - "--no-user-package-db" : - case mdb of - Nothing -> ["--global"] - Just fp -> ["--package-db=" ++ fpToString fp] - --- | Get broken packages. -getBrokenPackages :: [String] -> IO [PackageIdentifier] -getBrokenPackages flags = do - (_,ps) <- sourceProcessWithConsumer - (proc - "ghc-pkg" - ("check" : "--simple-output" : flags)) - (CT.decodeUtf8 $= CT.lines $= CL.consume) - return (mapMaybe parsePackageIdent (T.words (T.unlines ps))) - --- | Get available packages. -getRegisteredPackages :: [String] -> IO [PackageIdentifier] -getRegisteredPackages flags = do - (_,ps) <- sourceProcessWithConsumer - (proc - "ghc-pkg" - ("list" : "--simple-output" : flags)) - (CT.decodeUtf8 $= CT.lines $= CL.consume) - return (mapMaybe parsePackageIdent (T.words (T.unlines ps))) - --- | Parse a package identifier: foo-1.2.3 -parsePackageIdent :: Text -> Maybe PackageIdentifier -parsePackageIdent = fmap fst . - listToMaybe . - filter (null . snd) . - readP_to_S parse . T.unpack - --- | Unregister a package. -unregisterPackage :: (ByteString -> IO ()) -- ^ log func - -> (PackageIdentifier -> IO ()) -- ^ callback to be used when unregistering a package - -> FilePath -- ^ doc directory - -> [String] -> PackageIdentifier -> IO () -unregisterPackage log' onUnregister docDir flags ident@(PackageIdentifier name _) = do - log' $ "Unregistering " ++ encodeUtf8 (display ident) ++ "\n" - onUnregister ident - - -- Delete libraries - sourceProcessWithConsumer - (proc "ghc-pkg" ("describe" : flags ++ [unpack $ display ident])) - (CT.decodeUtf8 - $= CT.lines - $= CL.mapMaybe parseLibraryDir - $= CL.mapM_ (void . tryIO . removeTree)) - - void (readProcessWithExitCode - "ghc-pkg" - ("unregister": flags ++ ["--force", unpack $ display name]) - "") - - void $ tryIO $ removeTree $ docDir fpFromText (display ident) - where - parseLibraryDir = fmap fpFromText . stripPrefix "library-dirs: " diff --git a/Stackage/GithubPings.hs b/Stackage/GithubPings.hs deleted file mode 100644 index bb7369f4..00000000 --- a/Stackage/GithubPings.hs +++ /dev/null @@ -1,36 +0,0 @@ -{-# LANGUAGE NoImplicitPrelude #-} -{-# LANGUAGE OverloadedStrings #-} -{-# LANGUAGE ViewPatterns #-} -module Stackage.GithubPings - ( getGithubPings - ) where - -import Distribution.PackageDescription -import Stackage.BuildConstraints -import Stackage.Prelude - --- | Determine accounts to be pinged on Github based on various metadata in the --- package description. -getGithubPings :: BuildConstraints -- ^ for mapping to pingees - -> GenericPackageDescription -> Set Text -getGithubPings bc gpd = - foldMap (\(pack -> name) -> fromMaybe (singletonSet name) (lookup name (bcGithubUsers bc))) $ - goHomepage (homepage $ packageDescription gpd) ++ - concatMap goRepo (sourceRepos $ packageDescription gpd) - where - goHomepage t = do - prefix <- - [ "http://github.com/" - , "https://github.com/" - , "git://github.com/" - , "git@github.com:" - ] - t' <- maybeToList $ stripPrefix prefix t - let t'' = takeWhile (/= '/') t' - guard $ not $ null t'' - return t'' - - goRepo sr = - case (repoType sr, repoLocation sr) of - (Just Git, Just s) -> goHomepage s - _ -> [] diff --git a/Stackage/InstallBuild.hs b/Stackage/InstallBuild.hs deleted file mode 100644 index 2f896e35..00000000 --- a/Stackage/InstallBuild.hs +++ /dev/null @@ -1,102 +0,0 @@ -{-# LANGUAGE DeriveDataTypeable #-} -{-# LANGUAGE NoImplicitPrelude #-} -{-# LANGUAGE OverloadedStrings #-} -{-# LANGUAGE RecordWildCards #-} -{-# LANGUAGE ScopedTypeVariables #-} -module Stackage.InstallBuild - ( InstallFlags (..) - , BuildPlanSource (..) - , installBuild - ) where - -import qualified Codec.Archive.Tar as Tar -import qualified Codec.Compression.GZip as GZip -import qualified Data.Yaml as Yaml -import Network.HTTP.Client -import Network.HTTP.Client.TLS (tlsManagerSettings) -import Stackage.BuildPlan -import Stackage.CheckBuildPlan -import Stackage.PerformBuild -import Stackage.Prelude -import System.IO (BufferMode (LineBuffering), hSetBuffering) - --- | Flags passed in from the command line. -data InstallFlags = InstallFlags - { ifPlanSource :: !BuildPlanSource - , ifInstallDest :: !FilePath - , ifLogDir :: !(Maybe FilePath) - , ifJobs :: !Int - , ifGlobalInstall :: !Bool - , ifEnableTests :: !Bool - , ifEnableHaddock :: !Bool - , ifEnableLibProfiling :: !Bool - , ifEnableExecDyn :: !Bool - , ifVerbose :: !Bool - , ifSkipCheck :: !Bool - , ifBuildHoogle :: !Bool - } deriving (Show) - --- | Source for build plan. -data BuildPlanSource = BPSBundleWeb String - | BPSFile FilePath - deriving (Show) - -getPerformBuild :: BuildPlan -> InstallFlags -> PerformBuild -getPerformBuild plan InstallFlags{..} = - PerformBuild - { pbPlan = plan - , pbInstallDest = ifInstallDest - , pbLogDir = fromMaybe (ifInstallDest "logs") ifLogDir - , pbLog = hPut stdout - , pbJobs = ifJobs - , pbGlobalInstall = ifGlobalInstall - , pbEnableTests = ifEnableTests - , pbEnableHaddock = ifEnableHaddock - , pbEnableLibProfiling = ifEnableLibProfiling - , pbEnableExecDyn = ifEnableExecDyn - , pbVerbose = ifVerbose - , pbAllowNewer = ifSkipCheck - , pbBuildHoogle = ifBuildHoogle - } - --- | Install stackage from an existing build plan. -installBuild :: InstallFlags -> IO () -installBuild installFlags@InstallFlags{..} = do - hSetBuffering stdout LineBuffering - - putStrLn $ "Loading build plan" - plan <- case ifPlanSource of - BPSBundleWeb url -> withManager tlsManagerSettings $ \man -> do - req <- parseUrl url - res <- httpLbs req man - planBSL <- getPlanEntry $ Tar.read $ GZip.decompress (responseBody res) - decodeBuildPlan planBSL - BPSFile path -> Yaml.decodeFileEither (fpToString path) >>= either throwM return - - if ifSkipCheck - then putStrLn "Skipping build plan check" - else do - putStrLn "Checking build plan" - checkBuildPlan plan - - putStrLn "Performing build" - performBuild (getPerformBuild plan installFlags) >>= mapM_ putStrLn - - where - getPlanEntry Tar.Done = throwIO NoBuildPlanException - getPlanEntry (Tar.Fail e) = throwIO e - getPlanEntry (Tar.Next entry entries) - | Tar.entryPath entry == "build-plan.yaml" = - case Tar.entryContent entry of - Tar.NormalFile bs _ -> return bs - _ -> throwIO NoBuildPlanException - | otherwise = getPlanEntry entries - - decodeBuildPlan = - either throwIO return . Yaml.decodeEither' . toStrict - -data InstallBuildException = NoBuildPlanException - deriving (Typeable) -instance Exception InstallBuildException -instance Show InstallBuildException where - show NoBuildPlanException = "Bundle has missing or invalid build-plan.yaml" diff --git a/Stackage/PackageDescription.hs b/Stackage/PackageDescription.hs deleted file mode 100644 index 24263701..00000000 --- a/Stackage/PackageDescription.hs +++ /dev/null @@ -1,200 +0,0 @@ -{-# LANGUAGE DeriveDataTypeable #-} -{-# LANGUAGE DeriveFoldable #-} -{-# LANGUAGE DeriveFunctor #-} -{-# LANGUAGE DeriveTraversable #-} -{-# LANGUAGE FlexibleContexts #-} -{-# LANGUAGE NoImplicitPrelude #-} -{-# LANGUAGE OverloadedStrings #-} -{-# LANGUAGE RecordWildCards #-} -{-# LANGUAGE TypeFamilies #-} --- | Manipulate @GenericPackageDescription@ from Cabal into something more --- useful for us. -module Stackage.PackageDescription - ( SimpleDesc (..) - , toSimpleDesc - , CheckCond (..) - , Component (..) - , DepInfo (..) - ) where - -import Control.Monad.Writer.Strict (MonadWriter, execWriterT, - tell) -import Data.Aeson -import qualified Data.Map as Map -import Distribution.Compiler (CompilerFlavor) -import Distribution.Package (Dependency (..)) -import Distribution.PackageDescription -import Distribution.System (Arch, OS) -import Stackage.Prelude - -data Component = CompLibrary - | CompExecutable - | CompTestSuite - | CompBenchmark - deriving (Show, Read, Eq, Ord, Enum, Bounded) - -compToText :: Component -> Text -compToText CompLibrary = "library" -compToText CompExecutable = "executable" -compToText CompTestSuite = "test-suite" -compToText CompBenchmark = "benchmark" - -instance ToJSON Component where - toJSON = toJSON . compToText -instance FromJSON Component where - parseJSON = withText "Component" $ \t -> maybe - (fail $ "Invalid component: " ++ unpack t) - return - (lookup t comps) - where - comps = asHashMap $ mapFromList $ map (compToText &&& id) [minBound..maxBound] - -data DepInfo = DepInfo - { diComponents :: Set Component - , diRange :: VersionRange - } - deriving (Show, Eq) - -instance Semigroup DepInfo where - DepInfo a x <> DepInfo b y = DepInfo - (a <> b) - (intersectVersionRanges x y) -instance ToJSON DepInfo where - toJSON DepInfo {..} = object - [ "components" .= diComponents - , "range" .= display diRange - ] -instance FromJSON DepInfo where - parseJSON = withObject "DepInfo" $ \o -> do - diComponents <- o .: "components" - diRange <- o .: "range" >>= either (fail . show) return . simpleParse - return DepInfo {..} - --- | A simplified package description that tracks: --- --- * Package dependencies --- --- * Build tool dependencies --- --- * Provided executables --- --- It has fully resolved all conditionals -data SimpleDesc = SimpleDesc - { sdPackages :: Map PackageName DepInfo - , sdTools :: Map ExeName DepInfo - , sdProvidedExes :: Set ExeName - , sdModules :: Set Text - -- ^ modules exported by the library - } - deriving (Show, Eq) -instance Monoid SimpleDesc where - mempty = SimpleDesc mempty mempty mempty mempty - mappend (SimpleDesc a b c d) (SimpleDesc w x y z) = SimpleDesc - (unionWith (<>) a w) - (unionWith (<>) b x) - (c ++ y) - (d ++ z) -instance ToJSON SimpleDesc where - toJSON SimpleDesc {..} = object - [ "packages" .= Map.mapKeysWith const unPackageName sdPackages - , "tools" .= Map.mapKeysWith const unExeName sdTools - , "provided-exes" .= sdProvidedExes - , "modules" .= sdModules - ] -instance FromJSON SimpleDesc where - parseJSON = withObject "SimpleDesc" $ \o -> do - sdPackages <- Map.mapKeysWith const mkPackageName <$> (o .: "packages") - sdTools <- Map.mapKeysWith const ExeName <$> (o .: "tools") - sdProvidedExes <- o .: "provided-exes" - sdModules <- o .: "modules" - return SimpleDesc {..} - --- | Convert a 'GenericPackageDescription' into a 'SimpleDesc' by following the --- constraints in the provided 'CheckCond'. -toSimpleDesc :: MonadThrow m - => CheckCond - -> GenericPackageDescription - -> m SimpleDesc -toSimpleDesc cc gpd = execWriterT $ do - forM_ (condLibrary gpd) $ tellTree cc CompLibrary libBuildInfo getModules - forM_ (condExecutables gpd) $ tellTree cc CompExecutable buildInfo noModules . snd - tell mempty { sdProvidedExes = setFromList - $ map (fromString . fst) - $ condExecutables gpd - } - when (ccIncludeTests cc) $ forM_ (condTestSuites gpd) - $ tellTree cc CompTestSuite testBuildInfo noModules . snd - when (ccIncludeBenchmarks cc) $ forM_ (condBenchmarks gpd) - $ tellTree cc CompBenchmark benchmarkBuildInfo noModules . snd - where - noModules = const mempty - getModules = setFromList . map display . exposedModules - --- | Convert a single CondTree to a 'SimpleDesc'. -tellTree :: (MonadWriter SimpleDesc m, MonadThrow m) - => CheckCond - -> Component - -> (a -> BuildInfo) - -> (a -> Set Text) -- ^ get module names - -> CondTree ConfVar [Dependency] a - -> m () -tellTree cc component getBI getModules = - loop - where - loop (CondNode dat deps comps) = do - tell mempty - { sdPackages = unionsWith (<>) $ flip map deps - $ \(Dependency x y) -> singletonMap x DepInfo - { diComponents = singletonSet component - , diRange = simplifyVersionRange y - } - , sdTools = unionsWith (<>) $ flip map (buildTools $ getBI dat) - $ \(Dependency name range) -> singletonMap - -- In practice, cabal files refer to the exe name, not the - -- package name. - (ExeName $ unPackageName name) - DepInfo - { diComponents = singletonSet component - , diRange = simplifyVersionRange range - } - , sdModules = getModules dat - } - forM_ comps $ \(cond, ontrue, onfalse) -> do - b <- checkCond cc cond - if b - then loop ontrue - else maybe (return ()) loop onfalse - --- | Resolve a condition to a boolean based on the provided 'CheckCond'. -checkCond :: MonadThrow m => CheckCond -> Condition ConfVar -> m Bool -checkCond CheckCond {..} cond0 = - go cond0 - where - go (Var (OS os)) = return $ os == ccOS - go (Var (Arch arch)) = return $ arch == ccArch - go (Var (Flag flag)) = - case lookup flag ccFlags of - Nothing -> throwM $ FlagNotDefined ccPackageName flag cond0 - Just b -> return b - go (Var (Impl flavor range)) = return - $ flavor == ccCompilerFlavor - && ccCompilerVersion `withinRange` range - go (Lit b) = return b - go (CNot c) = not `liftM` go c - go (CAnd x y) = (&&) `liftM` go x `ap` go y - go (COr x y) = (||) `liftM` go x `ap` go y - -data CheckCondException = FlagNotDefined PackageName FlagName (Condition ConfVar) - deriving (Show, Typeable) -instance Exception CheckCondException - -data CheckCond = CheckCond - { ccPackageName :: PackageName -- for debugging only - , ccOS :: OS - , ccArch :: Arch - , ccFlags :: Map FlagName Bool - , ccCompilerFlavor :: CompilerFlavor - , ccCompilerVersion :: Version - , ccIncludeTests :: Bool - , ccIncludeBenchmarks :: Bool - } diff --git a/Stackage/PackageIndex.hs b/Stackage/PackageIndex.hs deleted file mode 100644 index 6b4c8087..00000000 --- a/Stackage/PackageIndex.hs +++ /dev/null @@ -1,127 +0,0 @@ -{-# LANGUAGE DeriveDataTypeable #-} -{-# LANGUAGE FlexibleContexts #-} -{-# LANGUAGE NoImplicitPrelude #-} -{-# LANGUAGE OverloadedStrings #-} -{-# LANGUAGE RankNTypes #-} -{-# LANGUAGE ViewPatterns #-} --- | Dealing with the 00-index file and all its cabal files. -module Stackage.PackageIndex - ( sourcePackageIndex - , UnparsedCabalFile (..) - , getLatestDescriptions - ) where - -import qualified Codec.Archive.Tar as Tar -import Data.Conduit.Lazy (MonadActive, - lazyConsume) -import qualified Data.Text as T -import Distribution.PackageDescription (package, - packageDescription) -import Distribution.PackageDescription.Parse (ParseResult (..), - parsePackageDescription) -import Distribution.ParseUtils (PError) -import Stackage.Prelude -import System.Directory (getAppUserDataDirectory) - --- | Name of the 00-index.tar downloaded from Hackage. -getPackageIndexPath :: MonadIO m => m FilePath -getPackageIndexPath = liftIO $ do - c <- getCabalRoot - configLines <- runResourceT $ sourceFile (c "config") - $$ decodeUtf8C - =$ linesUnboundedC - =$ concatMapC getRemoteCache - =$ sinkList - case configLines of - [x] -> return $ x "hackage.haskell.org" "00-index.tar" - [] -> error $ "No remote-repo-cache found in Cabal config file" - _ -> error $ "Multiple remote-repo-cache entries found in Cabal config file" - where - getCabalRoot :: IO FilePath - getCabalRoot = fpFromString <$> getAppUserDataDirectory "cabal" - - getRemoteCache s = do - ("remote-repo-cache", stripPrefix ":" -> Just v) <- Just $ break (== ':') s - Just $ fpFromText $ T.strip v - --- | A cabal file with name and version parsed from the filepath, and the --- package description itself ready to be parsed. It's left in unparsed form --- for efficiency. -data UnparsedCabalFile = UnparsedCabalFile - { ucfName :: PackageName - , ucfVersion :: Version - , ucfParse :: forall m. MonadThrow m => m GenericPackageDescription - } - --- | Stream all of the cabal files from the 00-index tar file. -sourcePackageIndex :: (MonadThrow m, MonadResource m, MonadActive m, MonadBaseControl IO m) - => Producer m UnparsedCabalFile -sourcePackageIndex = do - fp <- getPackageIndexPath - -- yay for the tar package. Use lazyConsume instead of readFile to get some - -- kind of resource protection - lbs <- lift $ fromChunks <$> lazyConsume (sourceFile fp) - loop (Tar.read lbs) - where - loop (Tar.Next e es) = goE e >> loop es - loop Tar.Done = return () - loop (Tar.Fail e) = throwM e - - goE e - | Just front <- stripSuffix ".cabal" $ pack $ Tar.entryPath e - , Tar.NormalFile lbs _size <- Tar.entryContent e = do - (name, version) <- parseNameVersion front - yield UnparsedCabalFile - { ucfName = name - , ucfVersion = version - , ucfParse = goContent (Tar.entryPath e) name version lbs - } - | otherwise = return () - - goContent fp name version lbs = - case parsePackageDescription $ unpack $ decodeUtf8 lbs of - ParseFailed e -> throwM $ CabalParseException (fpFromString fp) e - ParseOk _warnings gpd -> do - let pd = packageDescription gpd - PackageIdentifier name' version' = package pd - when (name /= name' || version /= version') $ - throwM $ MismatchedNameVersion (fpFromString fp) - name name' version version' - return gpd - - parseNameVersion t1 = do - let (p', t2) = break (== '/') $ T.replace "\\" "/" t1 - p <- simpleParse p' - t3 <- maybe (throwM $ InvalidCabalPath t1 "no slash") return - $ stripPrefix "/" t2 - let (v', t4) = break (== '/') t3 - v <- simpleParse v' - when (t4 /= cons '/' p') $ throwM $ InvalidCabalPath t1 $ "Expected at end: " ++ p' - return (p, v) - -data InvalidCabalPath = InvalidCabalPath Text Text - deriving (Show, Typeable) -instance Exception InvalidCabalPath - -data CabalParseException = CabalParseException FilePath PError - | MismatchedNameVersion FilePath PackageName PackageName Version Version - deriving (Show, Typeable) -instance Exception CabalParseException - --- | Get all of the latest descriptions for name/version pairs matching the --- given criterion. -getLatestDescriptions :: MonadIO m - => (PackageName -> Version -> Bool) - -> (GenericPackageDescription -> IO desc) - -> m (Map PackageName desc) -getLatestDescriptions f parseDesc = liftIO $ do - m <- runResourceT $ sourcePackageIndex $$ filterC f' =$ foldlC add mempty - forM m $ \ucf -> liftIO $ ucfParse ucf >>= parseDesc - where - f' ucf = f (ucfName ucf) (ucfVersion ucf) - add m ucf = - case lookup name m of - Just ucf' | ucfVersion ucf < ucfVersion ucf' -> m - _ -> insertMap name ucf m - where - name = ucfName ucf diff --git a/Stackage/PerformBuild.hs b/Stackage/PerformBuild.hs deleted file mode 100644 index 06c1edc6..00000000 --- a/Stackage/PerformBuild.hs +++ /dev/null @@ -1,560 +0,0 @@ --- | Perform an actual build, generate a binary package database and a --- documentation directory in the process. -{-# LANGUAGE CPP #-} -{-# LANGUAGE DeriveDataTypeable #-} -{-# LANGUAGE NoImplicitPrelude #-} -{-# LANGUAGE OverloadedStrings #-} -{-# LANGUAGE RecordWildCards #-} -module Stackage.PerformBuild - ( performBuild - , PerformBuild (..) - , BuildException (..) - , pbDocDir - ) where - -import Control.Concurrent.Async (async) -import Control.Concurrent.STM.TSem -import Control.Monad.Writer.Strict (execWriter, tell) -import qualified Data.Map as Map -import Data.NonNull (fromNullable) -import Filesystem (canonicalizePath, createTree, - getWorkingDirectory, isDirectory, - removeTree, rename, isFile, removeFile) -import Filesystem.Path (parent) -import qualified Filesystem.Path as F -import Stackage.BuildConstraints -import Stackage.BuildPlan -import Stackage.GhcPkg -import Stackage.PackageDescription -import Stackage.Prelude hiding (pi) -import System.Directory (findExecutable) -import System.Environment (getEnvironment) -import System.IO (IOMode (WriteMode), - openBinaryFile) -import System.IO.Temp (withSystemTempDirectory) - -data BuildException = BuildException (Map PackageName BuildFailure) [Text] - deriving Typeable -instance Exception BuildException -instance Show BuildException where - show (BuildException m warnings) = - unlines $ map go (mapToList m) ++ map unpack warnings - where - go (PackageName name, bf) = concat - [ name - , ": " - , show bf - ] - -data BuildFailure = DependencyFailed PackageName - | DependencyMissing PackageName - | ToolMissing ExeName - | NotImplemented - | BuildFailureException SomeException - deriving (Show, Typeable) -instance Exception BuildFailure - -data PerformBuild = PerformBuild - { pbPlan :: BuildPlan - , pbInstallDest :: FilePath - , pbLog :: ByteString -> IO () - , pbLogDir :: FilePath - , pbJobs :: Int - , pbGlobalInstall :: Bool - -- ^ Register packages in the global database - , pbEnableTests :: Bool - , pbEnableHaddock :: Bool - , pbEnableLibProfiling :: Bool - , pbEnableExecDyn :: Bool - , pbVerbose :: Bool - , pbAllowNewer :: Bool - -- ^ Pass --allow-newer to cabal configure - , pbBuildHoogle :: Bool - -- ^ Should we build Hoogle database? - -- - -- May be disabled due to: https://ghc.haskell.org/trac/ghc/ticket/9921 - } - -data PackageInfo = PackageInfo - { piPlan :: PackagePlan - , piName :: PackageName - , piResult :: TMVar Bool - } - -waitForDeps :: Map ExeName (Set PackageName) - -> Map PackageName PackageInfo - -> Set Component - -> BuildPlan - -> PackageInfo - -> IO a - -> IO a -waitForDeps toolMap packageMap activeComps bp pi action = do - atomically $ do - mapM_ checkPackage $ Map.keys $ filterUnused $ sdPackages $ ppDesc $ piPlan pi - forM_ (Map.keys $ filterUnused $ sdTools $ ppDesc $ piPlan pi) $ \exe -> do - case lookup exe toolMap >>= fromNullable . map checkPackage . setToList of - Nothing - | isCoreExe exe -> return () - -- https://github.com/jgm/zip-archive/issues/23 - -- - | otherwise -> throwSTM $ ToolMissing exe - | otherwise -> return () - Just packages -> ofoldl1' (<|>) packages - action - where - filterUnused :: Ord key => Map key DepInfo -> Map key DepInfo - filterUnused = - mapFromList . filter (go . snd) . mapToList - where - go = not . null . intersection activeComps . diComponents - - checkPackage package | package == piName pi = return () - checkPackage package = - case lookup package packageMap of - Nothing - | isCore package -> return () - | otherwise -> throwSTM $ DependencyMissing package - Just dep -> do - res <- readTMVar $ piResult dep - unless res $ throwSTM $ DependencyFailed package - - isCore = (`member` siCorePackages (bpSystemInfo bp)) - isCoreExe = (`member` siCoreExecutables (bpSystemInfo bp)) - -withCounter :: TVar Int -> IO a -> IO a -withCounter counter = bracket_ - (atomically $ modifyTVar counter (+ 1)) - (atomically $ modifyTVar counter (subtract 1)) - -withTSem :: TSem -> IO a -> IO a -withTSem sem = bracket_ (atomically $ waitTSem sem) (atomically $ signalTSem sem) - --- | Returns @Nothing@ if installing to a global database -pbDatabase :: PerformBuild -> Maybe FilePath -pbDatabase pb - | pbGlobalInstall pb = Nothing - | otherwise = Just $ pbInstallDest pb "pkgdb" - -pbBinDir, pbLibDir, pbDataDir, pbDocDir :: PerformBuild -> FilePath -pbBinDir pb = pbInstallDest pb "bin" -pbLibDir pb = pbInstallDest pb "lib" -pbDataDir pb = pbInstallDest pb "share" -pbDocDir pb = pbInstallDest pb "doc" - --- | Directory keeping previous result info -pbPrevResDir :: PerformBuild -> FilePath -pbPrevResDir pb = pbInstallDest pb "prevres" - -performBuild :: PerformBuild -> IO [Text] -performBuild pb = do - cwd <- getWorkingDirectory - performBuild' pb - { pbInstallDest = cwd pbInstallDest pb - , pbLogDir = cwd pbLogDir pb - } - -performBuild' :: PerformBuild -> IO [Text] -performBuild' pb@PerformBuild {..} = withBuildDir $ \builddir -> do - -- First make sure to fetch all of the dependencies... just in case Hackage - -- has an outage. Don't feel like wasting hours of CPU time. - pbLog $ encodeUtf8 "Pre-fetching all packages\n" - let toDownload = flip map (mapToList $ bpPackages pbPlan) - $ \(name, plan) -> unpack $ concat - [ display name - , "-" - , display $ ppVersion plan - ] - withCheckedProcess - (proc "cabal" - $ "fetch" - : "--no-dependencies" - : toDownload) - $ \ClosedStream Inherited Inherited -> return () - - let removeTree' fp = whenM (isDirectory fp) (removeTree fp) - removeTree' pbLogDir - - forM_ (pbDatabase pb) $ \db -> - unlessM (isFile $ db "package.cache") $ do - createTree $ parent db - withCheckedProcess (proc "ghc-pkg" ["init", fpToString db]) - $ \ClosedStream Inherited Inherited -> return () - pbLog $ encodeUtf8 "Copying built-in Haddocks\n" - copyBuiltInHaddocks (pbDocDir pb) - - sem <- atomically $ newTSem pbJobs - active <- newTVarIO (0 :: Int) - let toolMap = makeToolMap $ bpPackages pbPlan - packageMap <- fmap fold $ forM (mapToList $ bpPackages pbPlan) - $ \(name, plan) -> do - let piPlan = plan - piName = name - piResult <- newEmptyTMVarIO - return $ singletonMap name PackageInfo {..} - - errsVar <- newTVarIO mempty - warningsVar <- newTVarIO id - mutex <- newMVar () - env <- getEnvironment - haddockFiles <- newTVarIO mempty - - registeredPackages <- setupPackageDatabase - (pbDatabase pb) - (pbDocDir pb) - pbLog - (ppVersion <$> bpPackages pbPlan) - (deletePreviousResults pb) - - forM_ packageMap $ \pi -> void $ async $ singleBuild pb registeredPackages - SingleBuild - { sbSem = sem - , sbErrsVar = errsVar - , sbWarningsVar = warningsVar - , sbActive = active - , sbToolMap = toolMap - , sbPackageMap = packageMap - , sbBuildDir = builddir - , sbPackageInfo = pi - , sbRegisterMutex = mutex - , sbModifiedEnv = maybe - id - (\db -> (("HASKELL_PACKAGE_SANDBOX", fpToString db):)) - (pbDatabase pb) - (filter allowedEnv $ map fixEnv env) - , sbHaddockFiles = haddockFiles - } - - void $ tryAny $ atomically $ readTVar active >>= checkSTM . (== 0) - - warnings <- ($ []) <$> readTVarIO warningsVar - errs <- readTVarIO errsVar - when (not $ null errs) $ throwM $ BuildException errs warnings - return warnings - where - withBuildDir f = withSystemTempDirectory "stackage-build" (f . fpFromString) - - fixEnv (p, x) - -- Thank you Windows having case-insensitive environment variables... - | toUpper p == "PATH" = (p, fpToString (pbBinDir pb) ++ pathSep : x) - | otherwise = (p, x) - - allowedEnv (k, _) = k `notMember` bannedEnvs - - -- | Separate for the PATH environment variable - pathSep :: Char -#ifdef mingw32_HOST_OS - pathSep = ';' -#else - pathSep = ':' -#endif - --- | Environment variables we don't allow to be passed on to child processes. -bannedEnvs :: Set String -bannedEnvs = setFromList - [ "STACKAGE_AUTH_TOKEN" - ] - -data SingleBuild = SingleBuild - { sbSem :: TSem - , sbErrsVar :: TVar (Map PackageName BuildFailure) - , sbWarningsVar :: TVar ([Text] -> [Text]) - , sbActive :: TVar Int - , sbToolMap :: Map ExeName (Set PackageName) - , sbPackageMap :: Map PackageName PackageInfo - , sbBuildDir :: FilePath - , sbPackageInfo :: PackageInfo - , sbRegisterMutex :: MVar () - , sbModifiedEnv :: [(String, String)] - , sbHaddockFiles :: TVar (Map Text FilePath) -- ^ package-version, .haddock file - } - -singleBuild :: PerformBuild - -> Set PackageName -- ^ registered packages - -> SingleBuild -> IO () -singleBuild pb@PerformBuild {..} registeredPackages SingleBuild {..} = - withCounter sbActive - $ handle updateErrs - $ (`finally` void (atomically $ tryPutTMVar (piResult sbPackageInfo) False)) - $ inner - where - libComps = setFromList [CompLibrary, CompExecutable] - testComps = insertSet CompTestSuite libComps - inner = do - let wfd comps = - waitForDeps sbToolMap sbPackageMap comps pbPlan sbPackageInfo - . withTSem sbSem - withUnpacked <- wfd libComps buildLibrary - - wfd testComps (runTests withUnpacked) - - pname = piName sbPackageInfo - pident = PackageIdentifier pname (ppVersion $ piPlan sbPackageInfo) - name = display pname - namever = concat - [ name - , "-" - , display $ ppVersion $ piPlan sbPackageInfo - ] - - runIn wdir getOutH cmd args = do - outH <- getOutH - withCheckedProcess (cp outH) $ \ClosedStream UseProvidedHandle UseProvidedHandle -> - (return () :: IO ()) - where - cp outH = (proc (unpack $ asText cmd) (map (unpack . asText) args)) - { cwd = Just $ fpToString wdir - , std_out = UseHandle outH - , std_err = UseHandle outH - , env = Just sbModifiedEnv - } - runParent = runIn sbBuildDir - runChild = runIn childDir - childDir = sbBuildDir fpFromText namever - - log' t = do - i <- readTVarIO sbActive - errs <- readTVarIO sbErrsVar - pbLog $ encodeUtf8 $ concat - [ t - , " (pending: " - , tshow i - , ", failures: " - , tshow $ length errs - , ")\n" - ] - libOut = pbLogDir fpFromText namever "build.out" - testOut = pbLogDir fpFromText namever "test.out" - testRunOut = pbLogDir fpFromText namever "test-run.out" - - wf fp inner' = do - ref <- newIORef Nothing - let cleanup = do - mh <- readIORef ref - forM_ mh hClose - getH = do - mh <- readIORef ref - case mh of - Just h -> return h - Nothing -> mask_ $ do - createTree $ parent fp - h <- openBinaryFile (fpToString fp) WriteMode - writeIORef ref $ Just h - return h - - inner' getH `finally` cleanup - - configArgs = ($ []) $ execWriter $ do - when pbAllowNewer $ tell' "--allow-newer" - tell' "--package-db=clear" - tell' "--package-db=global" - forM_ (pbDatabase pb) $ \db -> tell' $ "--package-db=" ++ fpToText db - tell' $ "--libdir=" ++ fpToText (pbLibDir pb) - tell' $ "--bindir=" ++ fpToText (pbBinDir pb) - tell' $ "--datadir=" ++ fpToText (pbDataDir pb) - tell' $ "--docdir=" ++ fpToText (pbDocDir pb) - tell' $ "--flags=" ++ flags - when (pbEnableLibProfiling && pcEnableLibProfile) $ - tell' "--enable-library-profiling" - when pbEnableExecDyn $ tell' "--enable-executable-dynamic" - where - tell' x = tell (x:) - - flags :: Text - flags = unwords $ map go $ mapToList pcFlagOverrides - where - go (name', isOn) = concat - [ if isOn then "" else "-" - , unFlagName name' - ] - - PackageConstraints {..} = ppConstraints $ piPlan sbPackageInfo - - buildLibrary = wf libOut $ \getOutH -> do - let run a b = do when pbVerbose $ log' (unwords (a : b)) - runChild getOutH a b - - isUnpacked <- newIORef False - let withUnpacked inner = do - unlessM (readIORef isUnpacked) $ do - log' $ "Unpacking " ++ namever - runParent getOutH "cabal" ["unpack", namever] - writeIORef isUnpacked True - inner - - isConfiged <- newIORef False - let withConfiged inner = withUnpacked $ do - unlessM (readIORef isConfiged) $ do - log' $ "Configuring " ++ namever - run "cabal" $ "configure" : configArgs - writeIORef isConfiged True - inner - - prevBuildResult <- getPreviousResult pb Build pident - unless (prevBuildResult == PRSuccess) $ withConfiged $ do - assert (pname `notMember` registeredPackages) $ do - deletePreviousResults pb pident - - log' $ "Building " ++ namever - run "cabal" ["build"] - - log' $ "Copying/registering " ++ namever - run "cabal" ["copy"] - withMVar sbRegisterMutex $ const $ - run "cabal" ["register"] - - savePreviousResult pb Build pident True - - -- Even if the tests later fail, we can allow other libraries to build - -- on top of our successful results - -- - -- FIXME do we need to wait to do this until after Haddocks build? - -- otherwise, we could have a race condition and try to build a - -- dependency's haddocks before this finishes - atomically $ putTMVar (piResult sbPackageInfo) True - - prevHaddockResult <- getPreviousResult pb Haddock pident - let needHaddock = pbEnableHaddock - && checkPrevResult prevHaddockResult pcHaddocks - && not (null $ sdModules $ ppDesc $ piPlan sbPackageInfo) - when needHaddock $ withConfiged $ do - log' $ "Haddocks " ++ namever - hfs <- readTVarIO sbHaddockFiles - let hfsOpts = flip map (mapToList hfs) $ \(pkgVer, hf) -> concat - [ "--haddock-options=--read-interface=" - , "../" - , pkgVer - , "/," - , fpToText hf - ] - args = ($ hfsOpts) $ execWriter $ do - let tell' x = tell (x:) - tell' "haddock" - tell' "--hyperlink-source" - tell' "--html" - when pbBuildHoogle $ tell' "--hoogle" - tell' "--html-location=../$pkg-$version/" - - eres <- tryAny $ run "cabal" args - - forM_ eres $ \() -> do - renameOrCopy - (childDir "dist" "doc" "html" fpFromText name) - (pbDocDir pb fpFromText namever) - - enewPath <- tryIO - $ canonicalizePath - $ pbDocDir pb - fpFromText namever - fpFromText name <.> "haddock" - case enewPath of - Left e -> warn $ tshow e - Right newPath -> atomically - $ modifyTVar sbHaddockFiles - $ insertMap namever newPath - - savePreviousResult pb Haddock pident $ either (const False) (const True) eres - case (eres, pcHaddocks) of - (Left e, ExpectSuccess) -> throwM e - (Right (), ExpectFailure) -> warn $ namever ++ ": unexpected Haddock success" - _ -> return () - - return withUnpacked - - runTests withUnpacked = wf testOut $ \getOutH -> do - let run = runChild getOutH - - prevTestResult <- getPreviousResult pb Test pident - let needTest = pbEnableTests - && checkPrevResult prevTestResult pcTests - when needTest $ withUnpacked $ do - log' $ "Test configure " ++ namever - run "cabal" $ "configure" : "--enable-tests" : configArgs - - eres <- tryAny $ do - log' $ "Test build " ++ namever - run "cabal" ["build"] - - log' $ "Test run " ++ namever - run "cabal" ["test", "--log=" ++ fpToText testRunOut] - - savePreviousResult pb Test pident $ either (const False) (const True) eres - case (eres, pcTests) of - (Left e, ExpectSuccess) -> throwM e - (Right (), ExpectFailure) -> warn $ namever ++ ": unexpected test success" - _ -> return () - - warn t = atomically $ modifyTVar sbWarningsVar (. (t:)) - - updateErrs exc = do - log' $ concat - [ display (piName sbPackageInfo) - , ": " - , tshow exc - ] - atomically $ modifyTVar sbErrsVar $ insertMap (piName sbPackageInfo) exc' - where - exc' = - case fromException exc of - Just bf -> bf - Nothing -> BuildFailureException exc - -renameOrCopy :: FilePath -> FilePath -> IO () -renameOrCopy src dest = rename src dest `catchIO` \_ -> copyDir src dest - -copyBuiltInHaddocks :: FilePath -> IO () -copyBuiltInHaddocks docdir = do - mghc <- findExecutable "ghc" - case mghc of - Nothing -> error "GHC not found on PATH" - Just ghc -> do - src <- canonicalizePath - (parent (fpFromString ghc) "../share/doc/ghc/html/libraries") - copyDir src docdir - -------------- Previous results - --- | The previous actions that can be run -data ResultType = Build | Haddock | Test - deriving (Show, Enum, Eq, Ord, Bounded, Read) - --- | The result generated on a previous run -data PrevResult = PRNoResult | PRSuccess | PRFailure - deriving (Show, Enum, Eq, Ord, Bounded, Read) - --- | Check if we should rerun based on a PrevResult and the expected status -checkPrevResult :: PrevResult -> TestState -> Bool -checkPrevResult _ Don'tBuild = False -checkPrevResult PRNoResult _ = True -checkPrevResult PRSuccess _ = False -checkPrevResult PRFailure ExpectSuccess = True -checkPrevResult PRFailure _ = False - -withPRPath :: PerformBuild -> ResultType -> PackageIdentifier -> (FilePath -> IO a) -> IO a -withPRPath pb rt ident inner = do - createTree $ parent fp - inner fp - where - fp = pbPrevResDir pb fpFromString (show rt) fpFromText (display ident) - -successBS, failureBS :: ByteString -successBS = "success" -failureBS = "failure" - -getPreviousResult :: PerformBuild -> ResultType -> PackageIdentifier -> IO PrevResult -getPreviousResult w x y = withPRPath w x y $ \fp -> do - eres <- tryIO $ readFile fp - return $ case eres of - Right bs - | bs == successBS -> PRSuccess - | bs == failureBS -> PRFailure - _ -> PRNoResult - -savePreviousResult :: PerformBuild -> ResultType -> PackageIdentifier -> Bool -> IO () -savePreviousResult pb rt ident res = - withPRPath pb rt ident $ \fp -> writeFile fp $ - if res then successBS else failureBS - -deletePreviousResults :: PerformBuild -> PackageIdentifier -> IO () -deletePreviousResults pb name = - forM_ [minBound..maxBound] $ \rt -> - withPRPath pb rt name $ \fp -> - void $ tryIO $ removeFile fp diff --git a/Stackage/Prelude.hs b/Stackage/Prelude.hs deleted file mode 100644 index 28fff061..00000000 --- a/Stackage/Prelude.hs +++ /dev/null @@ -1,116 +0,0 @@ -{-# LANGUAGE DeriveDataTypeable #-} -{-# LANGUAGE GeneralizedNewtypeDeriving #-} -{-# LANGUAGE NoImplicitPrelude #-} -{-# LANGUAGE OverloadedStrings #-} -{-# LANGUAGE TypeFamilies #-} -module Stackage.Prelude - ( module X - , module Stackage.Prelude - ) where - -import ClassyPrelude.Conduit as X -import Data.Aeson (FromJSON, ToJSON) -import Data.Conduit.Process as X -import qualified Data.Map as Map -import Data.Typeable (TypeRep, typeOf) -import Distribution.Package as X (PackageIdentifier (..), PackageName (PackageName)) -import Distribution.PackageDescription as X (FlagName (..), GenericPackageDescription) -import qualified Distribution.Text as DT -import Distribution.Version as X (Version (..), - VersionRange) -import Distribution.Version as X (withinRange) -import qualified Distribution.Version as C -import Filesystem (createTree) -import Filesystem.Path (parent) -import qualified Filesystem.Path as F - -unPackageName :: PackageName -> Text -unPackageName (PackageName str) = pack str - -unFlagName :: FlagName -> Text -unFlagName (FlagName str) = pack str - -mkPackageName :: Text -> PackageName -mkPackageName = PackageName . unpack - -mkFlagName :: Text -> FlagName -mkFlagName = FlagName . unpack - -display :: DT.Text a => a -> Text -display = fromString . DT.display - -simpleParse :: (MonadThrow m, DT.Text a, Typeable a) => Text -> m a -simpleParse orig = withTypeRep $ \rep -> - case DT.simpleParse str of - Nothing -> throwM (ParseFailedException rep (pack str)) - Just v -> return v - where - str = unpack orig - - withTypeRep :: Typeable a => (TypeRep -> m a) -> m a - withTypeRep f = - res - where - res = f (typeOf (unwrap res)) - - unwrap :: m a -> a - unwrap _ = error "unwrap" - -data ParseFailedException = ParseFailedException TypeRep Text - deriving (Show, Typeable) -instance Exception ParseFailedException - -newtype Maintainer = Maintainer { unMaintainer :: Text } - deriving (Show, Eq, Ord, Hashable, ToJSON, FromJSON, IsString) - --- | Name of an executable. -newtype ExeName = ExeName { unExeName :: Text } - deriving (Show, Eq, Ord, Hashable, ToJSON, FromJSON, IsString) - -intersectVersionRanges :: VersionRange -> VersionRange -> VersionRange -intersectVersionRanges x y = C.simplifyVersionRange $ C.intersectVersionRanges x y - --- | There seems to be a bug in Cabal where serializing and deserializing --- version ranges winds up with different representations. So we have a --- super-simplifier to deal with that. -simplifyVersionRange :: VersionRange -> VersionRange -simplifyVersionRange vr = - fromMaybe (assert False vr') $ simpleParse $ display vr' - where - vr' = C.simplifyVersionRange vr - --- | Topologically sort so that items with dependencies occur after those --- dependencies. -topologicalSort :: (Ord key, Show key, MonadThrow m, Typeable key) - => (value -> finalValue) - -> (value -> Set key) -- ^ deps - -> Map key value - -> m (Vector (key, finalValue)) -topologicalSort toFinal toDeps = - loop id . mapWithKey removeSelfDeps . fmap (toDeps &&& toFinal) - where - removeSelfDeps k (deps, final) = (deleteSet k deps, final) - loop front toProcess | null toProcess = return $ pack $ front [] - loop front toProcess - | null noDeps = throwM $ NoEmptyDeps (map fst toProcess') - | otherwise = loop (front . noDeps') (mapFromList hasDeps) - where - toProcess' = fmap (first removeUnavailable) toProcess - allKeys = Map.keysSet toProcess - removeUnavailable = asSet . setFromList . filter (`member` allKeys) . setToList - (noDeps, hasDeps) = partition (null . fst . snd) $ mapToList toProcess' - noDeps' = (map (second snd) noDeps ++) - -data TopologicalSortException key = NoEmptyDeps (Map key (Set key)) - deriving (Show, Typeable) -instance (Show key, Typeable key) => Exception (TopologicalSortException key) - -copyDir :: FilePath -> FilePath -> IO () -copyDir src dest = - runResourceT $ sourceDirectoryDeep False src $$ mapM_C go - where - src' = src "" - go fp = forM_ (F.stripPrefix src' fp) $ \suffix -> do - let dest' = dest suffix - liftIO $ createTree $ parent dest' - sourceFile fp $$ (sinkFile dest' :: Sink ByteString (ResourceT IO) ()) diff --git a/Stackage/ServerBundle.hs b/Stackage/ServerBundle.hs deleted file mode 100644 index 5aedb090..00000000 --- a/Stackage/ServerBundle.hs +++ /dev/null @@ -1,271 +0,0 @@ --- | Create a bundle to be uploaded to Stackage Server. -{-# LANGUAGE NoImplicitPrelude #-} -{-# LANGUAGE OverloadedStrings #-} -{-# LANGUAGE RecordWildCards #-} -module Stackage.ServerBundle - ( serverBundle - , epochTime - , bpAllPackages - , docsListing - , createBundleV2 - , CreateBundleV2 (..) - , SnapshotType (..) - , writeIndexStyle - , DocMap - , PackageDocs (..) - ) where - -import qualified Codec.Archive.Tar as Tar -import qualified Codec.Archive.Tar.Entry as Tar -import qualified Codec.Compression.GZip as GZip -import qualified Data.Map as M -import Data.Aeson (ToJSON (..), (.=), object, FromJSON (..), (.:), withObject) -import System.IO.Temp (withTempDirectory) -import qualified Data.Yaml as Y -import Filesystem (isFile, getWorkingDirectory, listDirectory, isDirectory, canonicalizePath) -import Foreign.C.Types (CTime (CTime)) -import Stackage.BuildConstraints -import Stackage.BuildPlan -import Stackage.Prelude -import System.IO.Temp (withTempDirectory) -import qualified System.PosixCompat.Time as PC -import qualified Text.XML as X -import Text.XML.Cursor -import System.PosixCompat.Files (createSymbolicLink) - --- | Get current time -epochTime :: IO Tar.EpochTime -epochTime = (\(CTime t) -> fromIntegral t) <$> PC.epochTime - --- | All package/versions in a build plan, including core packages. --- --- Note that this may include packages not available on Hackage. -bpAllPackages :: BuildPlan -> Map PackageName Version -bpAllPackages BuildPlan {..} = - siCorePackages bpSystemInfo ++ map ppVersion bpPackages - -serverBundle :: Tar.EpochTime - -> Text -- ^ title - -> Text -- ^ slug - -> BuildPlan - -> LByteString -serverBundle time title slug bp@BuildPlan {..} = GZip.compress $ Tar.write - [ fe "build-plan.yaml" (fromStrict $ Y.encode bp) - , fe "hackage" hackage - , fe "slug" (fromStrict $ encodeUtf8 slug) - , fe "desc" (fromStrict $ encodeUtf8 title) - , fe "core" corePackagesList - ] - where - fe name contents = - case Tar.toTarPath False name of - Left s -> error s - Right name' -> (Tar.fileEntry name' contents) - { Tar.entryTime = time - } - hackage = builderToLazy $ foldMap goPair $ mapToList packageMap - - -- need to remove some packages that don't exist on Hackage - packageMap = foldr deleteMap (bpAllPackages bp) $ map PackageName - [ "bin-package-db" - , "ghc" - , "rts" - ] - - goPair (name, version) = - toBuilder (display name) ++ - toBuilder (asText "-") ++ - toBuilder (display version) ++ - toBuilder (asText "\n") - - corePackagesList = - builderToLazy $ toBuilder $ unlines $ - map (\(PackageName name) -> name) - (M.keys $ siCorePackages bpSystemInfo) - --- | Package name is key -type DocMap = Map Text PackageDocs -data PackageDocs = PackageDocs - { pdVersion :: Text - , pdModules :: Map Text [Text] - -- ^ module name, path - } -instance ToJSON PackageDocs where - toJSON PackageDocs {..} = object - [ "version" .= pdVersion - , "modules" .= pdModules - ] -instance FromJSON PackageDocs where - parseJSON = withObject "PackageDocs" $ \o -> PackageDocs - <$> o .: "version" - <*> o .: "modules" - -docsListing :: BuildPlan - -> FilePath -- ^ docs directory - -> IO DocMap -docsListing bp docsDir = - fmap fold $ mapM go $ mapToList $ bpAllPackages bp - where - go :: (PackageName, Version) -> IO DocMap - go (package, version) = do -- handleAny (const $ return mempty) $ do - let dirname = fpFromText (concat - [ display package - , "-" - , display version - ]) - indexFP = (docsDir dirname "index.html") - ie <- isFile indexFP - if ie - then do - doc <- flip X.readFile indexFP X.def - { X.psDecodeEntities = X.decodeHtmlEntities - } - let cursor = fromDocument doc - getPair x = take 1 $ do - href <- attribute "href" x - let name = concat $ x $// content - guard $ not $ null name - return (href, name) - pairs = cursor $// attributeIs "class" "module" - &/ laxElement "a" >=> getPair - m <- fmap fold $ forM pairs $ \(href, name) -> do - let suffix = dirname fpFromText href - e <- isFile $ docsDir suffix - return $ if e - then asMap $ singletonMap name [fpToText dirname, href] - else mempty - return $ singletonMap (display package) $ PackageDocs - { pdVersion = display version - , pdModules = m - } - else return mempty - -data SnapshotType = STNightly - | STLTS !Int !Int -- ^ major, minor - deriving (Show, Read, Eq, Ord) - -instance ToJSON SnapshotType where - toJSON STNightly = object - [ "type" .= asText "nightly" - ] - toJSON (STLTS major minor) = object - [ "type" .= asText "lts" - , "major" .= major - , "minor" .= minor - ] -instance FromJSON SnapshotType where - parseJSON = withObject "SnapshotType" $ \o -> do - t <- o .: "type" - case asText t of - "nightly" -> return STNightly - "lts" -> STLTS - <$> o .: "major" - <*> o .: "minor" - _ -> fail $ "Unknown type for SnapshotType: " ++ unpack t - -data CreateBundleV2 = CreateBundleV2 - { cb2Plan :: BuildPlan - , cb2Type :: SnapshotType - , cb2DocsDir :: FilePath - , cb2Dest :: FilePath - } - --- | Create a V2 bundle, which contains the build plan, metadata, docs, and doc --- map. -createBundleV2 :: CreateBundleV2 -> IO () -createBundleV2 CreateBundleV2 {..} = do - docsDir <- canonicalizePath cb2DocsDir - docMap <- docsListing cb2Plan cb2DocsDir - - Y.encodeFile (fpToString $ docsDir "build-plan.yaml") cb2Plan - Y.encodeFile (fpToString $ docsDir "build-type.yaml") cb2Type - Y.encodeFile (fpToString $ docsDir "docs-map.yaml") docMap - void $ writeIndexStyle Nothing cb2DocsDir - - currentDir <- getWorkingDirectory - files <- listDirectory docsDir - - let args = "cfJ" - : fpToString (currentDir cb2Dest) - : "--dereference" - : map (fpToString . filename) files - cp = (proc "tar" args) { cwd = Just $ fpToString docsDir } - withCheckedProcess cp $ \ClosedStream Inherited Inherited -> return () - -writeIndexStyle :: Maybe Text -- ^ snapshot id - -> FilePath -- ^ docs dir - -> IO [String] -writeIndexStyle msnapid dir = do - dirs <- fmap sort - $ runResourceT - $ sourceDirectory dir - $$ filterMC (liftIO . isDirectory) - =$ mapC (fpToString . filename) - =$ sinkList - writeFile (dir "index.html") $ mkIndex - (unpack <$> msnapid) - dirs - writeFile (dir "style.css") styleCss - return dirs - -mkIndex :: Maybe String -> [String] -> String -mkIndex msnapid dirs = concat - [ "\nHaddocks index" - , "" - , "" - , "" - , "" - , "
    " - , "
    " - , "

    Haddock documentation index

    " - , flip foldMap msnapid $ \snapid -> concat - [ "

    Return to snapshot

    " - ] - , "
      " - , concatMap toLI dirs - , "
    " - ] - where - toLI name = concat - [ "
  • " - , name - , "
  • " - ] - -styleCss :: String -styleCss = concat - [ "@media (min-width: 530px) {" - , "ul { -webkit-column-count: 2; -moz-column-count: 2; column-count: 2 }" - , "}" - , "@media (min-width: 760px) {" - , "ul { -webkit-column-count: 3; -moz-column-count: 3; column-count: 3 }" - , "}" - , "ul {" - , " margin-left: 0;" - , " padding-left: 0;" - , " list-style-type: none;" - , "}" - , "body {" - , " background: #f0f0f0;" - , " font-family: 'Lato', sans-serif;" - , " text-shadow: 1px 1px 1px #ffffff;" - , " font-size: 20px;" - , " line-height: 30px;" - , " padding-bottom: 5em;" - , "}" - , "h1 {" - , " font-weight: normal;" - , " color: #06537d;" - , " font-size: 45px;" - , "}" - , ".return a {" - , " color: #06537d;" - , " font-style: italic;" - , "}" - , ".return {" - , " margin-bottom: 1em;" - , "}"] diff --git a/Stackage/UpdateBuildPlan.hs b/Stackage/UpdateBuildPlan.hs deleted file mode 100644 index 8c67c5ef..00000000 --- a/Stackage/UpdateBuildPlan.hs +++ /dev/null @@ -1,54 +0,0 @@ -{-# LANGUAGE NoImplicitPrelude #-} -{-# LANGUAGE OverloadedStrings #-} -{-# LANGUAGE RecordWildCards #-} --- | Take an existing build plan and bump all packages to the newest version in --- the same major version number. -module Stackage.UpdateBuildPlan - ( updateBuildConstraints - , updateBuildPlan - ) where - -import qualified Data.Map as Map -import Distribution.Version (anyVersion, earlierVersion, - orLaterVersion) -import Stackage.BuildConstraints -import Stackage.BuildPlan -import Stackage.Prelude - -updateBuildPlan :: Map PackageName PackagePlan -> BuildPlan -> IO BuildPlan -updateBuildPlan packagesOrig - = newBuildPlan packagesOrig . updateBuildConstraints - -updateBuildConstraints :: BuildPlan -> BuildConstraints -updateBuildConstraints BuildPlan {..} = - BuildConstraints {..} - where - bcSystemInfo = bpSystemInfo - bcPackages = Map.keysSet bpPackages - bcGithubUsers = bpGithubUsers - - bcPackageConstraints name = PackageConstraints - { pcVersionRange = addBumpRange (maybe anyVersion pcVersionRange moldPC) - , pcMaintainer = moldPC >>= pcMaintainer - , pcTests = maybe ExpectSuccess pcTests moldPC - , pcHaddocks = maybe ExpectSuccess pcHaddocks moldPC - , pcBuildBenchmarks = maybe True pcBuildBenchmarks moldPC - , pcFlagOverrides = maybe mempty pcFlagOverrides moldPC - , pcEnableLibProfile = maybe False pcEnableLibProfile moldPC - } - where - moldBP = lookup name bpPackages - moldPC = ppConstraints <$> moldBP - - addBumpRange oldRange = - case moldBP of - Nothing -> oldRange - Just bp -> intersectVersionRanges oldRange - $ bumpRange $ ppVersion bp - - bumpRange version = intersectVersionRanges - (orLaterVersion version) - (earlierVersion $ bumpVersion version) - bumpVersion (Version (x:y:_) _) = Version [x, y + 1] [] - bumpVersion (Version [x] _) = Version [x, 1] [] - bumpVersion (Version [] _) = assert False $ Version [1, 0] [] diff --git a/Stackage/Upload.hs b/Stackage/Upload.hs deleted file mode 100644 index 64d21094..00000000 --- a/Stackage/Upload.hs +++ /dev/null @@ -1,272 +0,0 @@ --- | Upload to Stackage and Hackage -{-# LANGUAGE GeneralizedNewtypeDeriving #-} -{-# LANGUAGE NoImplicitPrelude #-} -{-# LANGUAGE OverloadedStrings #-} -{-# LANGUAGE RecordWildCards #-} -{-# LANGUAGE TupleSections #-} -module Stackage.Upload - ( UploadBundle (..) - , SnapshotIdent (..) - , uploadBundle - , UploadDocs (..) - , uploadDocs - , uploadHackageDistro - , uploadHackageDistroNamed - , UploadDocMap (..) - , uploadDocMap - , uploadBundleV2 - , UploadBundleV2 (..) - , def - , StackageServer - , unStackageServer - ) where - -import Control.Monad.Writer.Strict (execWriter, tell) -import Data.Default.Class (Default (..)) -import Data.Function (fix) -import Filesystem (isDirectory, isFile) -import Network.HTTP.Client -import qualified Network.HTTP.Client.Conduit as HCC -import Network.HTTP.Client.MultipartFormData -import Stackage.BuildPlan (BuildPlan) -import Stackage.Prelude -import Stackage.ServerBundle (bpAllPackages, docsListing, writeIndexStyle) -import System.IO.Temp (withSystemTempFile) -import qualified System.IO as IO -import qualified Data.Yaml as Y - -newtype StackageServer = StackageServer { unStackageServer :: Text } - deriving (Show, Eq, Ord, Hashable, IsString) -instance Default StackageServer where - def = "http://www.stackage.org" - -data UploadBundle = UploadBundle - { ubServer :: StackageServer - , ubContents :: LByteString - , ubAlias :: Maybe Text - , ubNightly :: Maybe Text -- ^ should be GHC version - , ubLTS :: Maybe Text -- ^ e.g. 2.3 - , ubAuthToken :: Text - } -instance Default UploadBundle where - def = UploadBundle - { ubServer = def - , ubContents = mempty - , ubAlias = Nothing - , ubNightly = Nothing - , ubLTS = Nothing - , ubAuthToken = "no-auth-token-provided" - } - -newtype SnapshotIdent = SnapshotIdent { unSnapshotIdent :: Text } - deriving (Show, Eq, Ord, Hashable, IsString) - -uploadBundle :: UploadBundle -> Manager -> IO (SnapshotIdent, Maybe Text) -uploadBundle UploadBundle {..} man = do - req1 <- parseUrl $ unpack $ unStackageServer ubServer ++ "/upload" - req2 <- formDataBody formData req1 - let req3 = req2 - { method = "PUT" - , requestHeaders = - [ ("Authorization", encodeUtf8 ubAuthToken) - , ("Accept", "application/json") - ] ++ requestHeaders req2 - , redirectCount = 0 - , checkStatus = \_ _ _ -> Nothing - , responseTimeout = Just 300000000 - } - res <- httpLbs req3 man - case lookup "x-stackage-ident" $ responseHeaders res of - Just snapid -> return - ( SnapshotIdent $ decodeUtf8 snapid - , decodeUtf8 <$> lookup "location" (responseHeaders res) - ) - Nothing -> error $ "An error occurred: " ++ show res - where - params = mapMaybe (\(x, y) -> (x, ) <$> y) - [ ("alias", ubAlias) - , ("nightly", ubNightly) - , ("lts", ubLTS) - ] - formData = ($ []) $ execWriter $ do - forM_ params $ \(key, value) -> - tell' $ partBS key $ encodeUtf8 value - tell' $ partFileRequestBody "stackage" "stackage" - $ RequestBodyLBS ubContents - - tell' x = tell (x:) - -data UploadDocs = UploadDocs - { udServer :: StackageServer - , udDocs :: FilePath -- ^ may be a directory or a tarball - , udAuthToken :: Text - , udSnapshot :: SnapshotIdent - } - -uploadDocs :: UploadDocs -> Manager -> IO (Response LByteString) -uploadDocs (UploadDocs (StackageServer host) fp0 token ident) man = do - fe <- isFile fp0 - if fe - then uploadDocsFile $ fpToString fp0 - else do - de <- isDirectory fp0 - if de - then uploadDocsDir - else error $ "Path not found: " ++ fpToString fp0 - where - uploadDocsDir = withSystemTempFile "haddocks.tar.xz" $ \fp h -> do - hClose h - dirs <- writeIndexStyle (Just $ unSnapshotIdent ident) fp0 - let cp = (proc "tar" $ "cJf" : fp : "index.html" : "style.css" : dirs) - { cwd = Just $ fpToString fp0 - } - withCheckedProcess cp $ \Inherited Inherited Inherited -> return () - uploadDocsFile fp - uploadDocsFile fp = do - req1 <- parseUrl $ unpack $ concat - [ host - , "/upload-haddock/" - , unSnapshotIdent ident - ] - let formData = - [ partFileSource "tarball" fp - ] - req2 <- formDataBody formData req1 - let req3 = req2 - { method = "PUT" - , requestHeaders = - [ ("Authorization", encodeUtf8 token) - , ("Accept", "application/json") - ] ++ requestHeaders req2 - , redirectCount = 0 - , checkStatus = \_ _ _ -> Nothing - , responseTimeout = Just 300000000 - } - httpLbs req3 man - -uploadHackageDistro :: BuildPlan - -> ByteString -- ^ Hackage username - -> ByteString -- ^ Hackage password - -> Manager - -> IO (Response LByteString) -uploadHackageDistro = uploadHackageDistroNamed "Stackage" - -uploadHackageDistroNamed - :: Text -- ^ distro name - -> BuildPlan - -> ByteString -- ^ Hackage username - -> ByteString -- ^ Hackage password - -> Manager - -> IO (Response LByteString) -uploadHackageDistroNamed name bp username password manager = do - req1 <- parseUrl $ concat - [ "http://hackage.haskell.org/distro/" - , unpack name - , "/packages.csv" - ] - let req2 = req1 - { requestHeaders = [("Content-Type", "text/csv")] - , requestBody = RequestBodyLBS csv - , checkStatus = \_ _ _ -> Nothing - , method = "PUT" - } - httpLbs (applyBasicAuth username password req2) manager - where - csv = encodeUtf8 - $ builderToLazy - $ mconcat - $ intersperse "\n" - $ map go - $ mapToList - $ bpAllPackages bp - go (name, version) = - "\"" ++ - (toBuilder $ display name) ++ - "\",\"" ++ - (toBuilder $ display version) ++ - "\",\"http://www.stackage.org/package/" ++ - (toBuilder $ display name) ++ - "\"" - -data UploadDocMap = UploadDocMap - { udmServer :: StackageServer - , udmAuthToken :: Text - , udmSnapshot :: SnapshotIdent - , udmDocDir :: FilePath - , udmPlan :: BuildPlan - } - -uploadDocMap :: UploadDocMap -> Manager -> IO (Response LByteString) -uploadDocMap UploadDocMap {..} man = do - docmap <- docsListing udmPlan udmDocDir - req1 <- parseUrl $ unpack $ unStackageServer udmServer ++ "/upload-doc-map" - req2 <- formDataBody (formData $ Y.encode docmap) req1 - let req3 = req2 - { method = "PUT" - , requestHeaders = - [ ("Authorization", encodeUtf8 udmAuthToken) - , ("Accept", "application/json") - ] ++ requestHeaders req2 - , redirectCount = 0 - , checkStatus = \_ _ _ -> Nothing - , responseTimeout = Just 300000000 - } - httpLbs req3 man - where - formData docmap = - [ partBS "snapshot" (encodeUtf8 $ unSnapshotIdent udmSnapshot) - , partFileRequestBody "docmap" "docmap" $ RequestBodyBS docmap - ] - -data UploadBundleV2 = UploadBundleV2 - { ub2Server :: StackageServer - , ub2AuthToken :: Text - , ub2Bundle :: FilePath - } - -uploadBundleV2 :: UploadBundleV2 -> Manager -> IO Text -uploadBundleV2 UploadBundleV2 {..} man = IO.withBinaryFile (fpToString ub2Bundle) IO.ReadMode $ \h -> do - size <- IO.hFileSize h - putStrLn $ "Bundle size: " ++ tshow size - req1 <- parseUrl $ unpack $ unStackageServer ub2Server ++ "/upload2" - let req2 = req1 - { method = "PUT" - , requestHeaders = - [ ("Authorization", encodeUtf8 ub2AuthToken) - , ("Accept", "application/json") - , ("Content-Type", "application/x-tar") - ] - , requestBody = HCC.requestBodySource (fromIntegral size) - $ sourceHandle h $= printProgress size - } - sink = decodeUtf8C =$ fix (\loop -> do - mx <- peekC - case mx of - Nothing -> error $ "uploadBundleV2: premature end of stream" - Just _ -> do - l <- lineC $ takeCE 4096 =$ foldC - let (cmd, msg') = break (== ':') l - msg = dropWhile (== ' ') $ dropWhile (== ':') msg' - case cmd of - "CONT" -> do - putStrLn msg - loop - "FAILURE" -> error $ "uploadBundleV2 failed: " ++ unpack msg - "SUCCESS" -> return msg - _ -> error $ "uploadBundleV2: unknown command " ++ unpack cmd - ) - withResponse req2 man $ \res -> HCC.bodyReaderSource (responseBody res) $$ sink - where - printProgress total = - loop 0 0 - where - loop sent lastPercent = - await >>= maybe (putStrLn "Upload complete") go - where - go bs = do - yield bs - let sent' = sent + fromIntegral (length bs) - percent = sent' * 100 `div` total - when (percent /= lastPercent) - $ putStrLn $ "Upload progress: " ++ tshow percent ++ "%" - loop sent' percent diff --git a/app/stackage.hs b/app/stackage.hs deleted file mode 100644 index d2618da2..00000000 --- a/app/stackage.hs +++ /dev/null @@ -1,210 +0,0 @@ -{-# LANGUAGE TupleSections #-} - -module Main where - -import Control.Monad -import Data.Monoid -import Data.String (fromString) -import Data.Version -import Options.Applicative -import Filesystem.Path.CurrentOS (decodeString) -import Paths_stackage (version) -import Stackage.CompleteBuild -import Stackage.Upload -import Stackage.InstallBuild -import Network.HTTP.Client (withManager) -import Network.HTTP.Client.TLS (tlsManagerSettings) -import qualified Data.Text as T - -main :: IO () -main = - join $ - execParser $ - info - (helpOption <*> versionOption <*> config) - (header "Stackage" <> - fullDesc) - where - helpOption = - abortOption ShowHelpText $ - long "help" <> - help "Show this help text" - versionOption = - infoOption - ("stackage version " ++ showVersion version) - (long "version" <> - help "Show stackage version") - config = - subparser $ - mconcat - [ cmnd - (uncurry completeBuild) - (fmap (Nightly, ) buildFlags) - "nightly" - "Build, test and upload the Nightly snapshot" - , cmnd - (uncurry completeBuild) - (fmap (LTS Major, ) buildFlags) - "lts-major" - "Build, test and upload the LTS (major) snapshot" - , cmnd - (uncurry completeBuild) - (fmap (LTS Minor, ) buildFlags) - "lts-minor" - "Build, test and upload the LTS (minor) snapshot" - , cmnd - justUploadNightly - nightlyUploadFlags - "upload-nightly" - "Upload an already-built nightly snapshot" - , cmnd - (const justCheck) - (pure ()) - "check" - "Just check that the build plan is ok" - , cmnd - installBuild - installFlags - "install" - "Install a snapshot from an existing build plan" - , cmnd - uploadv2 - uploadv2Flags - "upload2" - "Upload a pre-existing v2 bundle" - ] - - cmnd exec parse name desc = - command name $ - info - (fmap exec (parse <**> helpOption)) - (progDesc desc) - - buildFlags = - BuildFlags <$> - fmap - not - (switch - (long "skip-tests" <> - help "Skip build and running the test suites")) <*> - fmap - not - (switch - (long "skip-haddock" <> - help "Skip generating haddock documentation")) <*> - fmap - not - (switch - (long "skip-upload" <> - help "Skip uploading bundle, docs, etc.")) <*> - switch - (long "enable-library-profiling" <> - help "Enable profiling when building") <*> - switch - (long "enable-executable-dynamic" <> - help "Enable dynamic executables when building") <*> - switch - (long "verbose" <> short 'v' <> - help "Output verbose detail about the build steps") <*> - switch - (long "skip-check" <> - help "Skip the check phase, and pass --allow-newer to cabal configure") <*> - switch - (long "upload-v1" <> - help "Use the V1 upload code") <*> - (fmap fromString (strOption - (long "server-url" <> - metavar "SERVER-URL" <> - showDefault <> value (T.unpack $ unStackageServer def) <> - help "Server to upload bundle to"))) <*> - fmap - not - (switch - (long "skip-hoogle" <> - help "Skip generating Hoogle input files")) - - nightlyUploadFlags = fromString <$> strArgument - (metavar "DATE" <> - help "Date, in YYYY-MM-DD format") - - installFlags = - InstallFlags <$> - (fmap - BPSBundleWeb - (strOption - (long "bundle" <> - metavar "URL" <> - help "Stackage bundle containing build plan")) <|> - fmap - (BPSFile . decodeString) - (strOption - (long "build-plan" <> - metavar "PATH" <> - help "Build-plan YAML file"))) <*> - fmap - decodeString - (strArgument - (metavar "DESTINATION-PATH" <> - help "Destination directory path")) <*> - (fmap - (Just . decodeString) - (strOption - (long "log-dir" <> - metavar "PATH" <> - help "Location of log files (default DESTINATION-PATH/logs)")) <|> - pure Nothing) <*> - option - auto - (long "jobs" <> - metavar "NUMBER" <> - showDefault <> value 8 <> - help "Number of threads") <*> - switch - (long "global" <> - help "Install in global package database") <*> - fmap - not - (switch - (long "skip-tests" <> - help "Skip build and running the test suites")) <*> - fmap - not - (switch - (long "skip-haddock" <> - help "Skip generating haddock documentation")) <*> - switch - (long "enable-library-profiling" <> - help "Enable profiling when building") <*> - switch - (long "enable-executable-dynamic" <> - help "Enable dynamic executables when building") <*> - switch - (long "verbose" <> short 'v' <> - help "Output verbose detail about the build steps") <*> - switch - (long "skip-check" <> - help "Skip the check phase, and pass --allow-newer to cabal configure") <*> - fmap - not - (switch - (long "skip-hoogle" <> - help "Skip generating Hoogle input files")) - - uploadv2 (path, url) = withManager tlsManagerSettings $ \man -> do - token <- getStackageAuthToken - res <- flip uploadBundleV2 man UploadBundleV2 - { ub2AuthToken = token - , ub2Server = fromString url - , ub2Bundle = decodeString path - } - putStrLn $ "New URL: " ++ T.unpack res - - uploadv2Flags = (,) - <$> (strArgument - (metavar "BUNDLE-PATH" <> - help "Bundle path")) - <*> strOption - (long "server-url" <> - metavar "SERVER-URL" <> - showDefault <> value (T.unpack $ unStackageServer def) <> - help "Server to upload bundle to") diff --git a/build-constraints.yaml b/build-constraints.yaml index 7596251a..206af9e8 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -93,6 +93,7 @@ packages: - shelly - smtLib - stackage + - stackage-curator - statistics-linreg - th-expand-syns - thyme diff --git a/cabal.config b/cabal.config deleted file mode 100644 index cc656768..00000000 --- a/cabal.config +++ /dev/null @@ -1,847 +0,0 @@ --- Stackage snapshot from: http://www.stackage.org/snapshot/nightly-2014-12-24 --- Please place this file next to your .cabal file as cabal.config --- To only use tested packages, uncomment the following line: --- remote-repo: stackage-nightly-2014-12-24:http://www.stackage.org/snapshot/nightly-2014-12-24 -constraints: abstract-deque ==0.3, - abstract-par ==0.3.3, - accelerate ==0.15.0.0, - ace ==0.6, - action-permutations ==0.0.0.1, - active ==0.1.0.17, - AC-Vector ==2.3.2, - ad ==4.2.1.1, - adjunctions ==4.2, - aeson ==0.8.0.2, - aeson-pretty ==0.7.2, - aeson-qq ==0.7.4, - aeson-utils ==0.2.2.1, - alarmclock ==0.2.0.5, - alex ==3.1.3, - amqp ==0.10.1, - ansi-terminal ==0.6.2.1, - ansi-wl-pprint ==0.6.7.1, - appar ==0.1.4, - approximate ==0.2.1.1, - arbtt ==0.8.1.4, - arithmoi ==0.4.1.1, - array installed, - arrow-list ==0.6.1.5, - asn1-data ==0.7.1, - asn1-encoding ==0.9.0, - asn1-parse ==0.9.0, - asn1-types ==0.3.0, - async ==2.0.2, - atto-lisp ==0.2.2, - attoparsec ==0.12.1.2, - attoparsec-conduit ==1.1.0, - attoparsec-enumerator ==0.3.3, - attoparsec-expr ==0.1.1.1, - authenticate ==1.3.2.11, - auto-update ==0.1.2.1, - aws ==0.11, - bake ==0.2, - bank-holidays-england ==0.1.0.1, - barecheck ==0.2.0.6, - base16-bytestring ==0.1.1.6, - base64-bytestring ==1.0.0.1, - base-compat ==0.5.0, - base-prelude ==0.1.8, - base-unicode-symbols ==0.2.2.4, - basic-prelude ==0.3.10, - bifunctors ==4.2, - binary installed, - binary-list ==1.0.1.0, - bindings-DSL ==1.0.21, - bioace ==0.0.1, - bioalign ==0.0.5, - biocore ==0.3.1, - biofasta ==0.0.3, - biofastq ==0.1, - biophd ==0.0.5, - biopsl ==0.4, - biosff ==0.3.7.1, - bits ==0.4, - BlastHTTP ==1.0.1, - blastxml ==0.3.2, - blaze-builder ==0.3.3.4, - blaze-builder-enumerator ==0.2.0.6, - blaze-html ==0.7.0.3, - blaze-markup ==0.6.1.1, - blaze-svg ==0.3.4, - blaze-textual ==0.2.0.9, - BlogLiterately ==0.7.1.7, - BlogLiterately-diagrams ==0.1.4.3, - bloodhound ==0.5.0.1, - bmp ==1.2.5.2, - Boolean ==0.2.3, - bool-extras ==0.4.0, - bound ==1.0.4, - BoundedChan ==1.0.3.0, - bson ==0.3.1, - bumper ==0.6.0.2, - byteable ==0.1.1, - bytedump ==1.0, - byteorder ==1.0.4, - bytes ==0.14.1.2, - bytestring installed, - bytestring-builder ==0.10.4.0.1, - bytestring-lexing ==0.4.3.2, - bytestring-mmap ==0.2.2, - bytestring-progress ==1.0.3, - bytestring-trie ==0.2.4, - bzlib ==0.5.0.4, - bzlib-conduit ==0.2.1.3, - c2hs ==0.20.1, - Cabal installed, - cabal-install ==1.18.0.6, - cabal-src ==0.2.5, - cairo ==0.13.0.5, - case-insensitive ==1.2.0.3, - cases ==0.1.2, - cassava ==0.4.2.1, - cautious-file ==1.0.2, - cereal ==0.4.1.0, - cereal-conduit ==0.7.2.3, - certificate ==1.3.9, - charset ==0.3.7, - Chart ==1.3.2, - Chart-diagrams ==1.3.2, - ChasingBottoms ==1.3.0.8, - check-email ==1.0, - checkers ==0.4.1, - chell ==0.4, - chell-quickcheck ==0.2.4, - chunked-data ==0.1.0.1, - cipher-aes ==0.2.9, - cipher-blowfish ==0.0.3, - cipher-camellia ==0.0.2, - cipher-des ==0.0.6, - cipher-rc4 ==0.1.4, - circle-packing ==0.1.0.3, - classy-prelude ==0.10.2, - classy-prelude-conduit ==0.10.2, - classy-prelude-yesod ==0.10.2, - clientsession ==0.9.1.1, - clock ==0.4.1.3, - cmdargs ==0.10.12, - code-builder ==0.1.3, - colour ==2.3.3, - comonad ==4.2.2, - comonads-fd ==4.0, - comonad-transformers ==4.0, - compdata ==0.9, - compensated ==0.6.1, - composition ==1.0.1.0, - compressed ==3.10, - concatenative ==1.0.1, - concurrent-extra ==0.7.0.9, - concurrent-supply ==0.1.7, - cond ==0.4.1.1, - conduit ==1.2.3.1, - conduit-combinators ==0.3.0.5, - conduit-extra ==1.1.5.1, - configurator ==0.3.0.0, - connection ==0.2.3, - constraints ==0.4.1.1, - containers installed, - containers-unicode-symbols ==0.3.1.1, - contravariant ==1.2, - control-monad-free ==0.5.3, - control-monad-loop ==0.1, - convertible ==1.1.0.0, - cookie ==0.4.1.4, - courier ==0.1.0.15, - cpphs ==1.18.6, - cprng-aes ==0.6.1, - cpu ==0.1.2, - criterion ==1.0.2.0, - crypto-api ==0.13.2, - cryptocipher ==0.6.2, - crypto-cipher-tests ==0.0.11, - crypto-cipher-types ==0.0.9, - cryptohash ==0.11.6, - cryptohash-conduit ==0.1.1, - cryptohash-cryptoapi ==0.1.3, - crypto-numbers ==0.2.3, - crypto-pubkey ==0.2.6, - crypto-pubkey-types ==0.4.2.3, - crypto-random ==0.0.8, - crypto-random-api ==0.2.0, - css-text ==0.1.2.1, - csv ==0.1.2, - csv-conduit ==0.6.3, - curl ==1.3.8, - data-accessor ==0.2.2.6, - data-accessor-mtl ==0.2.0.4, - data-binary-ieee754 ==0.4.4, - data-default ==0.5.3, - data-default-class ==0.0.1, - data-default-instances-base ==0.0.1, - data-default-instances-containers ==0.0.1, - data-default-instances-dlist ==0.0.1, - data-default-instances-old-locale ==0.0.1, - data-inttrie ==0.1.0, - data-lens-light ==0.1.2.1, - data-memocombinators ==0.5.1, - data-reify ==0.6, - DAV ==1.0.3, - deepseq installed, - deepseq-generics ==0.1.1.2, - derive ==2.5.18, - diagrams ==1.2, - diagrams-builder ==0.6.0.2, - diagrams-cairo ==1.2.0.4, - diagrams-contrib ==1.1.2.4, - diagrams-core ==1.2.0.4, - diagrams-haddock ==0.2.2.12, - diagrams-lib ==1.2.0.7, - diagrams-postscript ==1.1.0.3, - diagrams-svg ==1.1.0.3, - Diff ==0.3.0, - digest ==0.0.1.2, - digestive-functors ==0.7.1.3, - dimensional ==0.13.0.1, - directory installed, - directory-tree ==0.12.0, - direct-sqlite ==2.3.14, - distributed-process ==0.5.3, - distributed-process-async ==0.2.0, - distributed-process-client-server ==0.1.1, - distributed-process-execution ==0.1.0, - distributed-process-extras ==0.1.1, - distributed-process-simplelocalnet ==0.2.2.0, - distributed-process-supervisor ==0.1.1, - distributed-process-task ==0.1.0, - distributed-static ==0.3.1.0, - distributive ==0.4.4, - djinn-ghc ==0.0.2.2, - djinn-lib ==0.0.1.2, - dlist ==0.7.1, - dlist-instances ==0.1, - doctest ==0.9.11.1, - double-conversion ==2.0.1.0, - dual-tree ==0.2.0.5, - easy-file ==0.2.0, - either ==4.3.2.1, - elm-build-lib ==0.14.0.0, - elm-compiler ==0.14, - elm-core-sources ==1.0.0, - elm-package ==0.2.2, - email-validate ==2.0.1, - enclosed-exceptions ==1.0.1, - entropy ==0.3.4.1, - enumerator ==0.4.20, - eq ==4.0.3, - erf ==2.0.0.0, - errorcall-eq-instance ==0.1.0, - errors ==1.4.7, - ersatz ==0.2.6.1, - esqueleto ==2.1.2.1, - exceptions ==0.6.1, - exception-transformers ==0.3.0.4, - executable-path ==0.0.3, - ex-pool ==0.2, - extensible-exceptions ==0.1.1.4, - extra ==1.0, - failure ==0.2.0.3, - fast-logger ==2.2.3, - fay ==0.21.2.1, - fay-base ==0.19.4.1, - fay-builder ==0.2.0.1, - fay-dom ==0.5, - fay-jquery ==0.6.0.2, - fay-text ==0.3.2, - fay-uri ==0.2.0.0, - fb ==1.0.7, - fb-persistent ==0.3.4, - fclabels ==2.0.2, - FenwickTree ==0.1.1, - fgl ==5.5.0.1, - file-embed ==0.0.7, - file-location ==0.4.5.3, - filemanip ==0.3.6.2, - filepath installed, - fingertree ==0.1.0.0, - fixed ==0.2.1, - fixed-list ==0.1.5, - flexible-defaults ==0.0.1.1, - focus ==0.1.3, - foldl ==1.0.7, - force-layout ==0.3.0.8, - foreign-store ==0.1, - formatting ==6.0.0, - fpco-api ==1.2.0.4, - free ==4.10.0.1, - freenect ==1.2, - frisby ==0.2, - fsnotify ==0.1.0.3, - fuzzcheck ==0.1.1, - gd ==3000.7.3, - generic-aeson ==0.2.0.2, - generic-deriving ==1.6.3, - generics-sop ==0.1.0.4, - ghc-heap-view ==0.5.3, - ghcid ==0.3.3, - ghc-mod ==5.2.1.1, - ghc-mtl ==1.2.1.0, - ghc-paths ==0.1.0.9, - ghc-prim installed, - ghc-syb-utils ==0.2.2, - gio ==0.13.0.3, - git-embed ==0.1.0, - gl ==0.6.2, - glib ==0.13.0.6, - Glob ==0.7.5, - GLURaw ==1.4.0.1, - GLUT ==2.5.1.1, - graph-core ==0.2.1.0, - graphs ==0.5.0.1, - graphviz ==2999.17.0.1, - gravatar ==0.6, - groundhog ==0.7.0.1, - groundhog-mysql ==0.7.0.1, - groundhog-postgresql ==0.7.0.1, - groundhog-sqlite ==0.7.0.1, - groundhog-th ==0.7.0, - groupoids ==4.0, - groups ==0.4.0.0, - gtk ==0.13.3, - gtk2hs-buildtools ==0.13.0.3, - haddock-api ==2.15.0.1, - haddock-library ==1.1.1, - half ==0.2.0.1, - HandsomeSoup ==0.3.5, - happstack-server ==7.3.9, - happy ==1.19.4, - hashable ==1.2.3.1, - hashable-extras ==0.2.0.1, - hashmap ==1.3.0.1, - hashtables ==1.2.0.1, - haskeline installed, - haskell2010 installed, - haskell98 installed, - haskell-lexer ==1.0, - haskell-names ==0.4.1, - haskell-packages ==0.2.4.3, - haskell-src ==1.0.1.6, - haskell-src-exts ==1.16.0.1, - haskell-src-meta ==0.6.0.8, - hasql ==0.4.1, - hasql-backend ==0.2.2, - hasql-postgres ==0.9.1, - hastache ==0.6.1, - HaTeX ==3.16.0.0, - HaXml ==1.24.1, - haxr ==3000.10.3.1, - HCodecs ==0.5, - hdaemonize ==0.5.0.0, - hdevtools ==0.1.0.6, - heaps ==0.3.1, - hebrew-time ==0.1.1, - heist ==0.14.0.1, - here ==1.2.6, - heredoc ==0.2.0.0, - highlighting-kate ==0.5.11.1, - hinotify ==0.3.7, - hint ==0.4.2.1, - histogram-fill ==0.8.3.0, - hit ==0.6.2, - hjsmin ==0.1.4.7, - hledger ==0.23.3, - hledger-lib ==0.23.3, - hlibgit2 ==0.18.0.13, - hlint ==1.9.13, - hmatrix ==0.16.1.2, - hmatrix-gsl ==0.16.0.2, - holy-project ==0.1.1.1, - hoogle ==4.2.36, - hoopl installed, - hOpenPGP ==1.11, - hopenpgp-tools ==0.13, - hostname ==1.0, - hostname-validate ==1.0.0, - hourglass ==0.2.6, - hpc installed, - hPDB ==1.2.0, - hPDB-examples ==1.1.2, - hs-bibutils ==5.5, - hscolour ==1.20.3, - hse-cpp ==0.1, - hslogger ==1.2.6, - hslua ==0.3.13, - hspec ==2.1.2, - hspec2 ==0.6.1, - hspec-core ==2.1.2, - hspec-discover ==2.1.2, - hspec-expectations ==0.6.1, - hspec-meta ==2.0.0, - hspec-wai ==0.6.2, - hspec-wai-json ==0.6.0, - HStringTemplate ==0.7.3, - hsyslog ==2.0, - HTF ==0.12.2.3, - html ==1.0.1.2, - html-conduit ==1.1.1.1, - HTTP ==4000.2.19, - http-client ==0.4.6.1, - http-client-tls ==0.2.2, - http-conduit ==2.1.5, - http-date ==0.0.4, - http-reverse-proxy ==0.4.1.2, - http-types ==0.8.5, - HUnit ==1.2.5.2, - hweblib ==0.6.3, - hxt ==9.3.1.10, - hxt-charproperties ==9.2.0.0, - hxt-http ==9.1.5, - hxt-pickle-utils ==0.1.0.2, - hxt-regex-xmlschema ==9.2.0, - hxt-relaxng ==9.1.5.1, - hxt-unicode ==9.0.2.2, - hybrid-vectors ==0.1.2, - hyphenation ==0.4, - idna ==0.3.0, - ieee754 ==0.7.4, - imagesize-conduit ==1.0.0.4, - immortal ==0.2, - incremental-parser ==0.2.3.3, - indents ==0.3.3, - ini ==0.2.2, - integer-gmp installed, - integration ==0.2.0.1, - interpolate ==0.1.0, - interpolatedstring-perl6 ==0.9.0, - intervals ==0.7.0.1, - io-choice ==0.0.5, - io-manager ==0.1.0.2, - io-memoize ==1.1.1.0, - iproute ==1.3.1, - iterable ==3.0, - ixset ==1.0.6, - js-flot ==0.8.3, - js-jquery ==1.11.1, - json-schema ==0.7.3.0, - JuicyPixels ==3.1.7.1, - JuicyPixels-repa ==0.7, - kan-extensions ==4.1.1, - kdt ==0.2.2, - keter ==1.3.7.1, - keys ==3.10.1, - kure ==2.4.10, - language-c ==0.4.7, - language-ecmascript ==0.16.2, - language-glsl ==0.1.1, - language-haskell-extract ==0.2.4, - language-java ==0.2.7, - language-javascript ==0.5.13, - lazy-csv ==0.5, - lca ==0.2.4, - lens ==4.6.0.1, - lens-aeson ==1.0.0.3, - lens-family-th ==0.4.0.0, - lhs2tex ==1.18.1, - libgit ==0.3.0, - libnotify ==0.1.1.0, - lifted-async ==0.2.0.2, - lifted-base ==0.2.3.3, - linear ==1.15.5, - linear-accelerate ==0.2, - list-t ==0.3.1, - loch-th ==0.2.1, - log-domain ==0.9.3, - logfloat ==0.12.1, - logict ==0.6.0.2, - loop ==0.2.0, - lucid ==2.5, - machines ==0.4.1, - mandrill ==0.1.1.0, - map-syntax ==0.2, - markdown ==0.1.13, - markdown-unlit ==0.2.0.1, - math-functions ==0.1.5.2, - matrix ==0.3.4.0, - MaybeT ==0.1.2, - MemoTrie ==0.6.2, - mersenne-random-pure64 ==0.2.0.4, - messagepack ==0.3.0, - messagepack-rpc ==0.1.0.3, - mime-mail ==0.4.6.2, - mime-mail-ses ==0.3.2.1, - mime-types ==0.1.0.5, - missing-foreign ==0.1.1, - MissingH ==1.3.0.1, - mmap ==0.5.9, - mmorph ==1.0.4, - MonadCatchIO-transformers ==0.3.1.3, - monad-control ==0.3.3.0, - monad-coroutine ==0.8.0.1, - monadcryptorandom ==0.6.1, - monad-extras ==0.5.9, - monadic-arrays ==0.2.1.3, - monad-journal ==0.6.0.2, - monad-logger ==0.3.11.1, - monad-loops ==0.4.2.1, - monad-par ==0.3.4.7, - monad-parallel ==0.7.1.3, - monad-par-extras ==0.3.3, - monad-primitive ==0.1, - monad-products ==4.0.0.1, - MonadPrompt ==1.0.0.5, - MonadRandom ==0.3.0.1, - monad-st ==0.2.4, - monads-tf ==0.1.0.2, - mongoDB ==2.0.3, - monoid-extras ==0.3.3.5, - monoid-subclasses ==0.3.6.2, - mono-traversable ==0.7.0, - mtl ==2.1.3.1, - mtlparse ==0.1.2, - mtl-prelude ==1.0.1, - multimap ==1.2.1, - multipart ==0.1.2, - MusicBrainz ==0.2.2, - mwc-random ==0.13.2.2, - mysql ==0.1.1.7, - mysql-simple ==0.2.2.4, - nanospec ==0.2.0, - nats ==1, - neat-interpolation ==0.2.2, - nettle ==0.1.0, - network ==2.6.0.2, - network-conduit-tls ==1.1.0.2, - network-info ==0.2.0.5, - network-multicast ==0.0.11, - network-simple ==0.4.0.2, - network-transport ==0.4.1.0, - network-transport-tcp ==0.4.1, - network-transport-tests ==0.2.1.0, - network-uri ==2.6.0.1, - newtype ==0.2, - nsis ==0.2.4, - numbers ==3000.2.0.1, - numeric-extras ==0.0.3, - NumInstances ==1.4, - numtype ==1.1, - Octree ==0.5.3, - old-locale installed, - old-time installed, - OneTuple ==0.2.1, - opaleye ==0.3, - OpenGL ==2.9.2.0, - OpenGLRaw ==1.5.0.0, - openpgp-asciiarmor ==0.1, - operational ==0.2.3.2, - options ==1.2.1, - optparse-applicative ==0.11.0.1, - osdkeys ==0.0, - pandoc ==1.13.2, - pandoc-citeproc ==0.6, - pandoc-types ==1.12.4.1, - pango ==0.13.0.4, - parallel ==3.2.0.5, - parallel-io ==0.3.3, - parseargs ==0.1.5.2, - parsec ==3.1.7, - parsers ==0.12.1.1, - partial-handler ==0.1.0, - path-pieces ==0.1.5, - patience ==0.1.1, - pcre-light ==0.4.0.3, - pdfinfo ==1.5.1, - pem ==0.2.2, - persistent ==2.1.1.3, - persistent-mongoDB ==2.1.2, - persistent-mysql ==2.1.2, - persistent-postgresql ==2.1.2, - persistent-sqlite ==2.1.1.2, - persistent-template ==2.1.0.1, - phantom-state ==0.2.0.2, - pipes ==4.1.4, - pipes-concurrency ==2.0.2, - pipes-parse ==3.0.2, - placeholders ==0.1, - pointed ==4.1.1, - polyparse ==1.9, - pool-conduit ==0.1.2.3, - postgresql-binary ==0.5.0, - postgresql-libpq ==0.9.0.1, - postgresql-simple ==0.4.8.0, - pqueue ==1.2.1, - prefix-units ==0.1.0.2, - prelude-extras ==0.4, - present ==2.2, - pretty installed, - prettyclass ==1.0.0.0, - pretty-class ==1.0.1.1, - pretty-show ==1.6.8, - primes ==0.2.1.0, - primitive ==0.5.4.0, - process installed, - process-conduit ==1.2.0.1, - process-extras ==0.2.0, - product-profunctors ==0.6, - profunctor-extras ==4.0, - profunctors ==4.3.2, - project-template ==0.1.4.2, - publicsuffixlist ==0.1, - punycode ==2.0, - pure-io ==0.2.1, - pureMD5 ==2.1.2.1, - pwstore-fast ==2.4.4, - quandl-api ==0.2.0.0, - QuasiText ==0.1.2.5, - QuickCheck ==2.7.6, - quickcheck-assertions ==0.1.1, - quickcheck-instances ==0.3.9, - quickcheck-io ==0.1.1, - quickpull ==0.4.0.0, - rainbow ==0.20.0.4, - rainbow-tests ==0.20.0.4, - random ==1.0.1.1, - random-fu ==0.2.6.1, - random-shuffle ==0.0.4, - random-source ==0.3.0.6, - rank1dynamic ==0.2.0.1, - raw-strings-qq ==1.0.2, - ReadArgs ==1.2.2, - reducers ==3.10.3, - reflection ==1.5.1, - regex-applicative ==0.3.0.3, - regex-base ==0.93.2, - regex-compat ==0.95.1, - regex-pcre-builtin ==0.94.4.8.8.35, - regex-posix ==0.95.2, - regexpr ==0.5.4, - regex-tdfa ==1.2.0, - regex-tdfa-rc ==1.1.8.3, - regular ==0.3.4.3, - regular-xmlpickler ==0.2, - rematch ==0.2.0.0, - repa ==3.3.1.2, - repa-algorithms ==3.3.1.2, - repa-devil ==0.3.2.2, - repa-io ==3.3.1.2, - reroute ==0.2.2.1, - resource-pool ==0.2.3.2, - resourcet ==1.1.3.3, - rest-client ==0.4.0.2, - rest-core ==0.33.1.2, - rest-gen ==0.16.1.3, - rest-happstack ==0.2.10.3, - rest-snap ==0.1.17.14, - rest-stringmap ==0.2.0.2, - rest-types ==1.11.1.1, - rest-wai ==0.1.0.4, - rev-state ==0.1, - rfc5051 ==0.1.0.3, - runmemo ==1.0.0.1, - rvar ==0.2.0.2, - safe ==0.3.8, - safecopy ==0.8.3, - scientific ==0.3.3.3, - scotty ==0.9.0, - scrobble ==0.2.1.1, - securemem ==0.1.4, - semigroupoid-extras ==4.0, - semigroupoids ==4.2, - semigroups ==0.16.0.1, - sendfile ==0.7.9, - seqloc ==0.6, - setenv ==0.1.1.2, - SHA ==1.6.4.1, - shake ==0.14.2, - shake-language-c ==0.6.3, - shakespeare ==2.0.2.1, - shakespeare-i18n ==1.1.0, - shakespeare-text ==1.1.0, - shell-conduit ==4.5, - shelly ==1.5.6, - silently ==1.2.4.1, - simple-reflect ==0.3.2, - simple-sendfile ==0.2.18, - singletons ==1.0, - siphash ==1.0.3, - skein ==1.0.9.2, - slave-thread ==0.1.5, - smallcheck ==1.1.1, - smtLib ==1.0.7, - snap ==0.13.3.2, - snap-core ==0.9.6.4, - snaplet-fay ==0.3.3.8, - snap-server ==0.9.4.6, - socks ==0.5.4, - sodium ==0.11.0.2, - sourcemap ==0.1.3.0, - speculation ==1.5.0.1, - sphinx ==0.6.0.1, - split ==0.2.2, - Spock ==0.7.5.1, - spoon ==0.3.1, - sqlite-simple ==0.4.8.0, - stateref ==0.3, - statestack ==0.2.0.3, - statistics ==0.13.2.1, - statistics-linreg ==0.3, - stm ==2.4.4, - stm-chans ==3.0.0.2, - stm-conduit ==2.5.2, - stm-containers ==0.2.7, - stm-stats ==0.2.0.0, - storable-complex ==0.2.1, - storable-endian ==0.2.5, - streaming-commons ==0.1.8, - streams ==3.2, - strict ==0.3.2, - stringable ==0.1.3, - stringbuilder ==0.5.0, - stringprep ==1.0.0, - stringsearch ==0.3.6.5, - stylish-haskell ==0.5.11.0, - SVGFonts ==1.4.0.3, - syb ==0.4.2, - syb-with-class ==0.6.1.5, - system-canonicalpath ==0.2.0.0, - system-fileio ==0.3.16, - system-filepath ==0.4.13, - system-posix-redirect ==1.1.0.1, - tabular ==0.2.2.5, - tagged ==0.7.3, - tagshare ==0.0, - tagsoup ==0.13.3, - tagstream-conduit ==0.5.5.3, - tar ==0.4.0.1, - tardis ==0.3.0.0, - tasty ==0.10.1, - tasty-ant-xml ==1.0.1, - tasty-golden ==2.2.2.4, - tasty-hunit ==0.9.0.1, - tasty-quickcheck ==0.8.3.2, - tasty-smallcheck ==0.8.0.1, - tasty-th ==0.1.3, - template-haskell installed, - temporary ==1.2.0.3, - temporary-rc ==1.2.0.3, - terminal-progress-bar ==0.0.1.4, - terminal-size ==0.3.0, - terminfo installed, - test-framework ==0.8.1.0, - test-framework-hunit ==0.3.0.1, - test-framework-quickcheck2 ==0.3.0.3, - test-framework-th ==0.2.4, - testing-feat ==0.4.0.2, - testpack ==2.1.3.0, - texmath ==0.8.0.1, - text ==1.1.1.3, - text-binary ==0.1.0, - text-format ==0.3.1.1, - text-icu ==0.7.0.0, - tf-random ==0.5, - th-desugar ==1.4.2, - th-expand-syns ==0.3.0.4, - th-extras ==0.0.0.2, - th-lift ==0.7, - th-orphans ==0.8.2, - threads ==0.5.1.2, - th-reify-many ==0.1.2, - thyme ==0.3.5.5, - time installed, - time-compat ==0.1.0.3, - time-lens ==0.4.0.1, - timezone-olson ==0.1.6, - timezone-series ==0.1.4, - tls ==1.2.13, - tls-debug ==0.3.4, - tostring ==0.2.1, - transformers installed, - transformers-base ==0.4.3, - transformers-compat ==0.3.3.3, - traverse-with-class ==0.2.0.3, - tree-view ==0.4, - tuple ==0.3.0.2, - type-eq ==0.4.2, - type-list ==0.0.0.0, - udbus ==0.2.1, - unbounded-delays ==0.1.0.8, - union-find ==0.2, - uniplate ==1.6.12, - unix installed, - unix-compat ==0.4.1.3, - unix-time ==0.3.4, - unordered-containers ==0.2.5.1, - uri-encode ==1.5.0.3, - url ==2.1.3, - utf8-light ==0.4.2, - utf8-string ==0.3.8, - uuid ==1.3.7, - vault ==0.3.0.4, - vector ==0.10.12.2, - vector-algorithms ==0.6.0.3, - vector-binary-instances ==0.2.1.0, - vector-instances ==3.3, - vector-space ==0.8.7, - vector-space-points ==0.2, - vector-th-unbox ==0.2.1.0, - vhd ==0.2.2, - void ==0.7, - wai ==3.0.2.1, - wai-app-static ==3.0.0.5, - wai-conduit ==3.0.0.2, - wai-eventsource ==3.0.0, - wai-extra ==3.0.3.1, - wai-logger ==2.2.3, - wai-middleware-static ==0.6.0.1, - wai-websockets ==3.0.0.3, - warp ==3.0.4.1, - warp-tls ==3.0.1.1, - webdriver ==0.6.0.3, - web-fpco ==0.1.1.0, - websockets ==0.9.2.1, - wizards ==1.0.1, - wl-pprint ==1.1, - wl-pprint-extras ==3.5.0.3, - wl-pprint-terminfo ==3.7.1.3, - wl-pprint-text ==1.1.0.2, - word8 ==0.1.1, - X11 ==1.6.1.2, - x509 ==1.5.0.1, - x509-store ==1.5.0, - x509-system ==1.5.0, - x509-validation ==1.5.1, - xenstore ==0.1.1, - xhtml installed, - xml ==1.3.13, - xml-conduit ==1.2.3.1, - xmlgen ==0.6.2.1, - xml-hamlet ==0.4.0.9, - xmlhtml ==0.2.3.3, - xml-types ==0.3.4, - xss-sanitize ==0.3.5.4, - yackage ==0.7.0.6, - yaml ==0.8.10.1, - Yampa ==0.9.6, - YampaSynth ==0.2, - yesod ==1.4.1.3, - yesod-auth ==1.4.1.1, - yesod-auth-deskcom ==1.4.0, - yesod-auth-fb ==1.6.6, - yesod-auth-hashdb ==1.4.1.1, - yesod-bin ==1.4.3.1, - yesod-core ==1.4.7.1, - yesod-eventsource ==1.4.0.1, - yesod-fay ==0.7.0, - yesod-fb ==0.3.4, - yesod-form ==1.4.3.1, - yesod-gitrepo ==0.1.1.0, - yesod-newsfeed ==1.4.0.1, - yesod-persistent ==1.4.0.2, - yesod-sitemap ==1.4.0.1, - yesod-static ==1.4.0.4, - yesod-test ==1.4.2.1, - yesod-text-markdown ==0.1.7, - yesod-websockets ==0.2.1.1, - zeromq4-haskell ==0.6.2, - zip-archive ==0.2.3.5, - zlib ==0.5.4.2, - zlib-bindings ==0.1.1.5, - zlib-enum ==0.2.3.1, - zlib-lens ==0.1 diff --git a/debian-bootstrap.sh b/debian-bootstrap.sh deleted file mode 100755 index 827e8460..00000000 --- a/debian-bootstrap.sh +++ /dev/null @@ -1,71 +0,0 @@ -#!/bin/bash -ex - -# Work in progress: create a list of commands necessary to get Stackage -# up-and-running on a freshly installed Debian-based system (includin Ubuntu). - -# Quick start: -# wget -O - https://raw.github.com/fpco/stackage/master/debian-bootstrap.sh | bash -ex - -# NOTE: Requires that GHC and Cabal are installed and on your PATH. For -# instructions, see: -# http://www.stackage.org/install - -add-apt-repository -y ppa:chris-lea/zeromq -add-apt-repository -y ppa:floe/libtisch -add-apt-repository -y ppa:zoogie/sdl2-snapshots -apt-get update -apt-get install -y \ - build-essential \ - libncurses-dev \ - git \ - wget \ - m4 \ - texlive-full \ - libgmp3c2 \ - libgmp3-dev \ - zlib1g-dev \ - libedit2 \ - libedit-dev \ - freeglut3-dev \ - libglu1-mesa-dev \ - libglib2.0-dev \ - libcairo2-dev \ - libpango1.0-dev \ - libgtk2.0-dev \ - zip \ - libdevil-dev \ - llvm \ - libbz2-dev \ - libjudy-dev \ - libsqlite3-dev \ - libmysqlclient-dev \ - libpq-dev \ - libicu-dev \ - libssl-dev \ - libgsl0-dev \ - libblas-dev \ - liblapack-dev \ - libcurl4-openssl-dev \ - libfreenect-dev \ - libnotify-dev \ - libgd2-xpm-dev \ - libyaml-dev \ - liblzma-dev \ - libsdl2-dev \ - libxss-dev \ - libzmq3-dev - -mkdir /tmp/nettle-build -( -cd /tmp/nettle-build -wget https://ftp.gnu.org/gnu/nettle/nettle-2.7.1.tar.gz -tar zxf nettle-2.7.1.tar.gz -cd nettle-2.7.1 -./configure --prefix=/usr -make -make install - -mkdir -p /usr/lib/x86_64-linux-gnu/ -ln -sfv /usr/lib/libnettle.so.4.7 /usr/lib/x86_64-linux-gnu/libnettle.so.4 -) -rm -rf /tmp/nettle-build diff --git a/stackage.cabal b/stackage.cabal deleted file mode 100644 index d12c172b..00000000 --- a/stackage.cabal +++ /dev/null @@ -1,105 +0,0 @@ -name: stackage -version: 0.6.0.1 -synopsis: "Stable Hackage," tools for creating a vetted set of packages from Hackage. -description: Please see for a description and documentation. -homepage: https://github.com/fpco/stackage -license: MIT -license-file: LICENSE -author: Michael Snoyman -maintainer: michael@fpcomplete.com -category: Distribution -build-type: Simple -cabal-version: >=1.10 -extra-source-files: README.md - ChangeLog.md - test/test-build-constraints.yaml - -library - default-language: Haskell2010 - exposed-modules: Stackage.Prelude - Stackage.BuildConstraints - Stackage.CorePackages - Stackage.PackageIndex - Stackage.BuildPlan - Stackage.CheckBuildPlan - Stackage.UpdateBuildPlan - Stackage.GhcPkg - Stackage.GithubPings - Stackage.InstallBuild - Stackage.PackageDescription - Stackage.ServerBundle - Stackage.Upload - Stackage.PerformBuild - Stackage.CompleteBuild - build-depends: base >= 4 && < 5 - , containers - , Cabal >= 1.14 - , tar >= 0.3 - , zlib - , bytestring - , directory - , filepath - , transformers - , process - , old-locale - , time - , utf8-string - - , conduit-extra - , classy-prelude-conduit - , text - , system-fileio - , system-filepath - , mtl - , aeson - , yaml - , unix-compat - , http-client - , http-conduit - , http-client-tls - , temporary - , data-default-class - , stm - , mono-traversable - , async - , streaming-commons >= 0.1.7.1 - , semigroups - , xml-conduit - , conduit - -executable stackage - default-language: Haskell2010 - hs-source-dirs: app - main-is: stackage.hs - build-depends: base - , stackage - , optparse-applicative >= 0.11 - , system-filepath - , http-client - , http-client-tls - , text - ghc-options: -rtsopts -threaded -with-rtsopts=-N - -test-suite spec - type: exitcode-stdio-1.0 - default-language: Haskell2010 - hs-source-dirs: test - main-is: Spec.hs - other-modules: Stackage.CorePackagesSpec - Stackage.PackageIndexSpec - Stackage.BuildPlanSpec - build-depends: base - , stackage - , hspec - , QuickCheck - , text - , classy-prelude-conduit - , Cabal - , yaml - , containers - , http-client - , http-client-tls - -source-repository head - type: git - location: https://github.com/fpco/stackage diff --git a/test/Spec.hs b/test/Spec.hs deleted file mode 100644 index a824f8c3..00000000 --- a/test/Spec.hs +++ /dev/null @@ -1 +0,0 @@ -{-# OPTIONS_GHC -F -pgmF hspec-discover #-} diff --git a/test/Stackage/BuildPlanSpec.hs b/test/Stackage/BuildPlanSpec.hs deleted file mode 100644 index b87c74d2..00000000 --- a/test/Stackage/BuildPlanSpec.hs +++ /dev/null @@ -1,143 +0,0 @@ -{-# LANGUAGE ScopedTypeVariables #-} -{-# LANGUAGE OverloadedStrings, NoImplicitPrelude #-} -module Stackage.BuildPlanSpec (spec) where - -import qualified Data.Map as Map -import qualified Data.Map.Strict as M -import qualified Data.Set as S -import Data.Yaml -import qualified Data.Yaml as Y -import Distribution.Version -import Network.HTTP.Client -import Network.HTTP.Client.TLS (tlsManagerSettings) -import Stackage.BuildConstraints -import Stackage.BuildPlan -import Stackage.CheckBuildPlan -import Stackage.PackageDescription -import Stackage.Prelude -import Stackage.UpdateBuildPlan -import Test.Hspec - -spec :: Spec -spec = do - it "simple package set" $ check testBuildConstraints $ makePackageSet - [("foo", [0, 0, 0], [("bar", thisV [0, 0, 0])]) - ,("bar", [0, 0, 0], [])] - it "bad version range on depdendency fails" $ badBuildPlan $ makePackageSet - [("foo", [0, 0, 0], [("bar", thisV [1, 1, 0])]) - ,("bar", [0, 0, 0], [])] - it "nonexistent package fails to check" $ badBuildPlan $ makePackageSet - [("foo", [0, 0, 0], [("nonexistent", thisV [0, 0, 0])]) - ,("bar", [0, 0, 0], [])] - it "mutual cycles fail to check" $ badBuildPlan $ makePackageSet - [("foo", [0, 0, 0], [("bar", thisV [0, 0, 0])]) - ,("bar", [0, 0, 0], [("foo", thisV [0, 0, 0])])] - it "nested cycles fail to check" $ badBuildPlan $ makePackageSet - [("foo", [0, 0, 0], [("bar", thisV [0, 0, 0])]) - ,("bar", [0, 0, 0], [("mu", thisV [0, 0, 0])]) - ,("mu", [0, 0, 0], [("foo", thisV [0, 0, 0])])] - {- Shouldn't be testing this actually - it "default package set checks ok" $ - check defaultBuildConstraints getLatestAllowedPlans - -} - --- | Checking should be considered a bad build plan. -badBuildPlan :: (BuildConstraints -> IO (Map PackageName PackagePlan)) - -> void - -> IO () -badBuildPlan m _ = do - mu <- try (check testBuildConstraints m) - case mu of - Left (_ :: BadBuildPlan) -> - return () - Right () -> - error "Expected bad build plan." - --- | Check build plan with the given package set getter. -check :: (Manager -> IO BuildConstraints) - -> (BuildConstraints -> IO (Map PackageName PackagePlan)) - -> IO () -check readPlanFile getPlans = withManager tlsManagerSettings $ \man -> do - bc <- readPlanFile man - plans <- getPlans bc - bp <- newBuildPlan plans bc - let bs = Y.encode bp - ebp' = Y.decodeEither bs - - bp' <- either error return ebp' - - let allPackages = Map.keysSet (bpPackages bp) ++ Map.keysSet (bpPackages bp') - forM_ allPackages $ \name -> - (name, lookup name (bpPackages bp')) `shouldBe` - (name, lookup name (bpPackages bp)) - bpGithubUsers bp' `shouldBe` bpGithubUsers bp - - when (bp' /= bp) $ error "bp' /= bp" - bp2 <- updateBuildPlan plans bp - when (dropVersionRanges bp2 /= dropVersionRanges bp) $ error "bp2 /= bp" - checkBuildPlan bp - where - dropVersionRanges bp = - bp { bpPackages = map go $ bpPackages bp } - where - go pb = pb { ppConstraints = go' $ ppConstraints pb } - go' pc = pc { pcVersionRange = anyVersion } - --- | Make a package set from a convenient data structure. -makePackageSet - :: [(String,[Int],[(String,VersionRange)])] - -> BuildConstraints - -> IO (Map PackageName PackagePlan) -makePackageSet ps _ = - return $ - M.fromList $ - map - (\(name,ver,deps) -> - ( PackageName name - , dummyPackage ver $ - M.fromList $ - map - (\(dname,dver) -> - ( PackageName dname - , DepInfo {diComponents = S.fromList - [CompLibrary] - ,diRange = dver})) - deps)) - ps - where - dummyPackage v deps = - PackagePlan - {ppVersion = Version v [] - ,ppGithubPings = mempty - ,ppUsers = mempty - ,ppConstraints = - PackageConstraints - {pcVersionRange = anyV - ,pcMaintainer = Nothing - ,pcTests = Don'tBuild - ,pcHaddocks = Don'tBuild - ,pcBuildBenchmarks = False - ,pcFlagOverrides = mempty - ,pcEnableLibProfile = False} - ,ppDesc = - SimpleDesc - {sdPackages = deps - ,sdTools = mempty - ,sdProvidedExes = mempty - ,sdModules = mempty}} - --- | This exact version is required. -thisV :: [Int] -> VersionRange -thisV ver = thisVersion (Version ver []) - --- | Accept any version. -anyV :: VersionRange -anyV = anyVersion - --- | Test plan. -testBuildConstraints :: void -> IO BuildConstraints -testBuildConstraints _ = - decodeFileEither - (fpToString fp) >>= - either throwIO toBC - where fp = "test/test-build-constraints.yaml" diff --git a/test/Stackage/CorePackagesSpec.hs b/test/Stackage/CorePackagesSpec.hs deleted file mode 100644 index ce0c5d10..00000000 --- a/test/Stackage/CorePackagesSpec.hs +++ /dev/null @@ -1,19 +0,0 @@ -{-# LANGUAGE OverloadedStrings, NoImplicitPrelude #-} -module Stackage.CorePackagesSpec (spec) where - -import Stackage.CorePackages -import Stackage.Prelude -import Test.Hspec - -spec :: Spec -spec = do - it "works" $ void getCorePackages - it "contains known core packages" $ do - m <- getCorePackages - forM_ (words "ghc containers base") $ \p -> - m `shouldSatisfy` (member (PackageName p)) - it "getCoreExecutables includes known executables" $ do - s <- getCoreExecutables - s `shouldSatisfy` member "ghc" - s `shouldSatisfy` member "hsc2hs" - s `shouldSatisfy` member "runghc" diff --git a/test/Stackage/PackageIndexSpec.hs b/test/Stackage/PackageIndexSpec.hs deleted file mode 100644 index e0ef97e6..00000000 --- a/test/Stackage/PackageIndexSpec.hs +++ /dev/null @@ -1,21 +0,0 @@ -{-# LANGUAGE OverloadedStrings, NoImplicitPrelude #-} -module Stackage.PackageIndexSpec (spec) where - -import Stackage.PackageIndex -import Stackage.Prelude -import Test.Hspec -import Distribution.Package (packageId) - -spec :: Spec -spec = do - it "works" $ (runResourceT $ sourcePackageIndex $$ sinkNull :: IO ()) - it "getLatestDescriptions gives reasonable results" $ do - let f x y = (display x, display y) `member` asSet (setFromList - [ (asText "base", asText "4.5.0.0") - , ("does-not-exist", "9999999999999999999") - ]) - m <- getLatestDescriptions f return - length m `shouldBe` 1 - p <- simpleParse $ asText "base" - v <- simpleParse $ asText "4.5.0.0" - (pkgVersion . packageId <$> m) `shouldBe` singletonMap p v diff --git a/test/test-build-constraints.yaml b/test/test-build-constraints.yaml deleted file mode 100644 index de831eaf..00000000 --- a/test/test-build-constraints.yaml +++ /dev/null @@ -1,20 +0,0 @@ -packages: - "Test": - - foo - - bar - -global-flags: [] - -skipped-tests: [] -expected-test-failures: [] -expected-haddock-failures: [] -skipped-benchmarks: [] -skipped-profiling: [] - -github-users: - bar: - - demo - -package-flags: - foo: - demo: true From 98075e03c7d7910eb816811dac89ef5f336f1151 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Sun, 22 Mar 2015 14:27:00 +0200 Subject: [PATCH 272/643] Add stackage-types --- build-constraints.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 206af9e8..f97471e6 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -94,6 +94,7 @@ packages: - smtLib - stackage - stackage-curator + - stackage-types - statistics-linreg - th-expand-syns - thyme From 827cc6e5be4d7206f698de2d5813ba0038cd4de2 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Sun, 22 Mar 2015 14:50:21 +0200 Subject: [PATCH 273/643] Docker no longer available --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 848c9744..b4337f12 100644 --- a/README.md +++ b/README.md @@ -55,7 +55,7 @@ build by running: ### Docker -Note: This method is currently considered experimental. +Note: This method has been disabled for now, but may be enabled again in the future. If you'd like to check a build plan, or perform an entire build, without specially configuring your system, Docker may be a good approach. To check if From 5bdd6de1b0e84e06951a99c9f99dd8e68e82b305 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Sun, 22 Mar 2015 15:23:40 +0200 Subject: [PATCH 274/643] Add some Travis badges --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index b4337f12..bd036c15 100644 --- a/README.md +++ b/README.md @@ -11,9 +11,9 @@ The Stackage project consists of multiple repositories. This repository contains the metadata on packages to be included in future builds and some project information. In addition, we have the following repositories: -* [stackage-server](https://github.com/fpco/stackage-server) -* [stackage-curator](https://github.com/fpco/stackage-curator) -* [stackage-types](https://github.com/fpco/stackage-types) +* [stackage-server](https://github.com/fpco/stackage-server) [![Build Status](https://travis-ci.org/fpco/stackage-server.svg?branch=master)](https://travis-ci.org/fpco/stackage-server) +* [stackage-curator](https://github.com/fpco/stackage-curator) [![Build Status](https://travis-ci.org/fpco/stackage-curator.svg?branch=master)](https://travis-ci.org/fpco/stackage-curator) +* [stackage-types](https://github.com/fpco/stackage-types) [![Build Status](https://travis-ci.org/fpco/stackage-types.svg?branch=master)](https://travis-ci.org/fpco/stackage-types) * [lts-haskell](https://github.com/fpco/lts-haskell) Get your package included From f8856289195e1ac6d1f57c4a98c8f1c17e62ca6e Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Sun, 22 Mar 2015 15:25:23 +0200 Subject: [PATCH 275/643] Add another badge --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index bd036c15..47f46a1f 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,8 @@ stackage ======== +[![Build Status](https://travis-ci.org/fpco/stackage.svg?branch=master)](https://travis-ci.org/fpco/stackage) + "Stable Hackage," tools for creating a vetted set of packages from Hackage. __NOTE__ This repository is for package authors to get their code into From db6cc51b0683089f705215621f77d2faaee7f338 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Sun, 22 Mar 2015 16:23:35 +0200 Subject: [PATCH 276/643] Use prebuilt stackage-curator executable --- .travis.yml | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/.travis.yml b/.travis.yml index 7cf659d4..c74fb9e8 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,11 +1,6 @@ env: - CABALVER=1.20 GHCVER=7.8.4 -cache: - directories: - - $HOME/.ghc - - $HOME/.cabal - # Note: the distinction between `before_install` and `install` is not important. before_install: - travis_retry sudo add-apt-repository -y ppa:hvr/ghc @@ -17,8 +12,10 @@ install: - cabal --version - echo "$(ghc --version) [$(ghc --print-project-git-commit-id 2> /dev/null || echo '?')]" - travis_retry cabal update - - cabal install -j + - wget https://s3.amazonaws.com/stackage-travis/stackage-curator.bz2 + - bunzip2 stackage-curator.bz2 + - chmod +x stackage-curator # Here starts the actual work to be performed for the package under test; any command which exits with a non-zero exit code causes the build to fail. script: - - ./dist/build/stackage/stackage check + - ./stackage-curator check From 03c7e123042e61e17eba13f5620ea36aa2d5ede0 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Sun, 22 Mar 2015 16:26:10 +0200 Subject: [PATCH 277/643] Add back Docker stuff --- Dockerfile | 25 ++++++++++++++++ debian-bootstrap.sh | 71 +++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 96 insertions(+) create mode 100644 Dockerfile create mode 100755 debian-bootstrap.sh diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 00000000..e3b09c3b --- /dev/null +++ b/Dockerfile @@ -0,0 +1,25 @@ +FROM ubuntu:12.04 + +ENV HOME /home/stackage +ENV LANG en_US.UTF-8 + +RUN mkdir /home/stackage -p +RUN locale-gen en_US.UTF-8 + +RUN DEBIAN_FRONTEND=noninteractive apt-get update +RUN DEBIAN_FRONTEND=noninteractive apt-get install -y software-properties-common python-software-properties +RUN DEBIAN_FRONTEND=noninteractive add-apt-repository ppa:hvr/ghc -y + +ADD debian-bootstrap.sh /tmp/debian-bootstrap.sh +RUN DEBIAN_FRONTEND=noninteractive bash /tmp/debian-bootstrap.sh +RUN rm /tmp/debian-bootstrap.sh + +RUN DEBIAN_FRONTEND=noninteractive apt-get install -y cabal-install-1.20 ghc-7.8.4 alex-3.1.3 happy-1.19.4 + +ENV PATH /home/stackage/.cabal/bin:/usr/local/sbin:/usr/local/bin:/opt/ghc/7.8.4/bin:/opt/cabal/1.20/bin:/opt/alex/3.1.3/bin:/opt/happy/1.19.4/bin:/usr/sbin:/usr/bin:/sbin:/bin + +RUN cabal update +RUN cabal install hscolour cabal-install --constraint "Cabal < 1.22" && cp $HOME/.cabal/bin/* /usr/local/bin && rm -rf $HOME/.cabal $HOME/.ghc /tmp/stackage +RUN wget https://s3.amazonaws.com/stackage-travis/stackage-curator.bz2 && bunzip2 stackage-curator.bz2 && chmod +x stackage-curator && mv stackage-curator /usr/local/bin + +RUN cd /home/stackage && cabal update && stackage-curator check diff --git a/debian-bootstrap.sh b/debian-bootstrap.sh new file mode 100755 index 00000000..827e8460 --- /dev/null +++ b/debian-bootstrap.sh @@ -0,0 +1,71 @@ +#!/bin/bash -ex + +# Work in progress: create a list of commands necessary to get Stackage +# up-and-running on a freshly installed Debian-based system (includin Ubuntu). + +# Quick start: +# wget -O - https://raw.github.com/fpco/stackage/master/debian-bootstrap.sh | bash -ex + +# NOTE: Requires that GHC and Cabal are installed and on your PATH. For +# instructions, see: +# http://www.stackage.org/install + +add-apt-repository -y ppa:chris-lea/zeromq +add-apt-repository -y ppa:floe/libtisch +add-apt-repository -y ppa:zoogie/sdl2-snapshots +apt-get update +apt-get install -y \ + build-essential \ + libncurses-dev \ + git \ + wget \ + m4 \ + texlive-full \ + libgmp3c2 \ + libgmp3-dev \ + zlib1g-dev \ + libedit2 \ + libedit-dev \ + freeglut3-dev \ + libglu1-mesa-dev \ + libglib2.0-dev \ + libcairo2-dev \ + libpango1.0-dev \ + libgtk2.0-dev \ + zip \ + libdevil-dev \ + llvm \ + libbz2-dev \ + libjudy-dev \ + libsqlite3-dev \ + libmysqlclient-dev \ + libpq-dev \ + libicu-dev \ + libssl-dev \ + libgsl0-dev \ + libblas-dev \ + liblapack-dev \ + libcurl4-openssl-dev \ + libfreenect-dev \ + libnotify-dev \ + libgd2-xpm-dev \ + libyaml-dev \ + liblzma-dev \ + libsdl2-dev \ + libxss-dev \ + libzmq3-dev + +mkdir /tmp/nettle-build +( +cd /tmp/nettle-build +wget https://ftp.gnu.org/gnu/nettle/nettle-2.7.1.tar.gz +tar zxf nettle-2.7.1.tar.gz +cd nettle-2.7.1 +./configure --prefix=/usr +make +make install + +mkdir -p /usr/lib/x86_64-linux-gnu/ +ln -sfv /usr/lib/libnettle.so.4.7 /usr/lib/x86_64-linux-gnu/libnettle.so.4 +) +rm -rf /tmp/nettle-build From e643ebb1866798d5b2ac5f52c1f84b625edc45a8 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Sun, 22 Mar 2015 16:42:34 +0200 Subject: [PATCH 278/643] Fix download path --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index c74fb9e8..cf90696a 100644 --- a/.travis.yml +++ b/.travis.yml @@ -12,7 +12,7 @@ install: - cabal --version - echo "$(ghc --version) [$(ghc --print-project-git-commit-id 2> /dev/null || echo '?')]" - travis_retry cabal update - - wget https://s3.amazonaws.com/stackage-travis/stackage-curator.bz2 + - wget https://s3.amazonaws.com/stackage-travis/stackage-curator/stackage-curator.bz2 - bunzip2 stackage-curator.bz2 - chmod +x stackage-curator From 697c13727ffcd470ee539c3ad89031784f35def3 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Sun, 22 Mar 2015 16:57:26 +0200 Subject: [PATCH 279/643] Update Travis for GHC 7.10 --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index cf90696a..70421914 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,5 +1,5 @@ env: - - CABALVER=1.20 GHCVER=7.8.4 + - CABALVER=1.22 GHCVER=7.10.1 # Note: the distinction between `before_install` and `install` is not important. before_install: From 717c7bdfb4463b67930eb1b8822a0f8010e2f080 Mon Sep 17 00:00:00 2001 From: Omari Norman Date: Sun, 22 Mar 2015 11:56:04 -0400 Subject: [PATCH 280/643] Remove quickpull and barecheck It's not worth upgrading these to support QuickCheck 2.8, as I no longer use these packages. I have removed the dependencies on these packages from my packages; no other Stackage packages depended on them. These packages were intended to solve two evils that often arise during testing (orphan instances and Template Haskell); however, I have reluctantly concluded that those evils are the lesser of other evils so these packages are no longer needed. --- build-constraints.yaml | 2 -- 1 file changed, 2 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index f97471e6..1dc9629c 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -122,9 +122,7 @@ packages: - kure "Omari Norman ": - - barecheck - rainbow - - quickpull - multiarg - prednote - cartel From df792c52dff8713562bab0cda44938e56e03a55f Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Sun, 22 Mar 2015 19:21:24 +0200 Subject: [PATCH 281/643] Fix download URL --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index e3b09c3b..095bdc4a 100644 --- a/Dockerfile +++ b/Dockerfile @@ -20,6 +20,6 @@ ENV PATH /home/stackage/.cabal/bin:/usr/local/sbin:/usr/local/bin:/opt/ghc/7.8.4 RUN cabal update RUN cabal install hscolour cabal-install --constraint "Cabal < 1.22" && cp $HOME/.cabal/bin/* /usr/local/bin && rm -rf $HOME/.cabal $HOME/.ghc /tmp/stackage -RUN wget https://s3.amazonaws.com/stackage-travis/stackage-curator.bz2 && bunzip2 stackage-curator.bz2 && chmod +x stackage-curator && mv stackage-curator /usr/local/bin +RUN wget https://s3.amazonaws.com/stackage-travis/stackage-curator/stackage-curator.bz2 && bunzip2 stackage-curator.bz2 && chmod +x stackage-curator && mv stackage-curator /usr/local/bin RUN cd /home/stackage && cabal update && stackage-curator check From 1d7df2eb550502ad6060de5b9e6676882f3c2e1e Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Sun, 22 Mar 2015 20:50:15 +0200 Subject: [PATCH 282/643] Remove upper bounds and close #407 --- build-constraints.yaml | 3 --- 1 file changed, 3 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index 1dc9629c..ebf05124 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -756,9 +756,6 @@ packages: # for language-ecmascript as well. - language-ecmascript < 0.17 - # https://github.com/fpco/stackage/issues/407 - - HStringTemplate < 0.8 - # https://github.com/fpco/stackage/issues/410 - elm-package < 0.4 From 38ddd93e99d37bd0e6c4f3f2368bf6446cc78b6b Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Sun, 22 Mar 2015 20:56:08 +0200 Subject: [PATCH 283/643] Remove upper bounds and close #390 Required removing elm-compiler. There are unreleased changes to elm-compiler which will allow it to be added back in the future. Pinging @JoeyEremondi --- build-constraints.yaml | 18 ++++-------------- 1 file changed, 4 insertions(+), 14 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index ebf05124..dcaced38 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -627,10 +627,11 @@ packages: "Joey Eremondi ": - aeson-pretty - digest - - elm-build-lib - - elm-compiler + # See: https://github.com/elm-lang/elm-compiler/commit/e714001a928b3834b62555fc350909c95d380ef4 + #- elm-build-lib + #- elm-compiler - elm-core-sources - - elm-package + #- elm-package - language-glsl - prettyclass - QuasiText @@ -751,14 +752,6 @@ packages: # Force a specific version that's compatible with transformers 0.3 - transformers-compat == 0.4.0.3 - # https://github.com/fpco/stackage/issues/390 - # NOTE: When this issue is resolved, remove the expected test failure - # for language-ecmascript as well. - - language-ecmascript < 0.17 - - # https://github.com/fpco/stackage/issues/410 - - elm-package < 0.4 - # https://github.com/fpco/stackage/issues/415 - hackage-db < 1.12 @@ -1042,9 +1035,6 @@ expected-test-failures: # https://github.com/vincenthz/hs-crypto-pubkey/issues/17 - crypto-pubkey - # https://github.com/jswebtools/language-ecmascript/issues/60 - - language-ecmascript - # https://github.com/kazu-yamamoto/unix-time/issues/29 - unix-time From 15e4569766253371b342412d3f835e841b48f0b0 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Sun, 22 Mar 2015 22:43:31 +0200 Subject: [PATCH 284/643] Remove upper bounds and close #426 --- build-constraints.yaml | 3 --- 1 file changed, 3 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index dcaced38..876760a9 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -758,9 +758,6 @@ packages: # https://github.com/fpco/stackage/issues/424 - control-monad-free < 0.6 - # https://github.com/fpco/stackage/issues/426 - - utf8-string < 1 - # https://github.com/fpco/stackage/issues/440 - th-orphans < 0.9 - file-location < 0.4.7 From 380a29bb622eb74abca676669bedd0a50f71b1d6 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Sun, 22 Mar 2015 22:49:14 +0200 Subject: [PATCH 285/643] Temporarily disable diagrams-haddock and digrams-builder for #443 --- build-constraints.yaml | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index 876760a9..141526b5 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -320,10 +320,13 @@ packages: #- BlogLiterately #- BlogLiterately-diagrams - diagrams - - diagrams-builder + + # https://github.com/fpco/stackage/issues/443 + #- diagrams-builder + #- diagrams-haddock + - diagrams-contrib - diagrams-core - - diagrams-haddock - diagrams-lib - diagrams-postscript - diagrams-svg @@ -769,14 +772,6 @@ packages: - blaze-markup < 0.7 - blaze-html < 0.8 - # https://github.com/fpco/stackage/issues/443 - - exceptions < 0.7 - - rest-client < 0.5 - - rest-types < 1.13 - - rest-core < 0.35 - - rest-gen < 0.17 - - rest-wai < 0.1.0.7 - # https://github.com/fpco/stackage/issues/467 - lens < 4.8 From afbbf9252ebe847a68085ad536bb0c00a84cab07 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Mon, 23 Mar 2015 08:34:43 +0200 Subject: [PATCH 286/643] Skip uuid-types benchmark #488 --- build-constraints.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 141526b5..acdd5a65 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -1117,6 +1117,9 @@ skipped-benchmarks: # sometimes falls out-of-sync on hasql-postgres - hasql + # https://github.com/fpco/stackage/issues/488 + - uuid-types + skipped-profiling: # https://github.com/nomeata/ghc-heap-view/commit/8d198eb8fbbad2ce0c4527c781659f35b8909c04#diff-8288955e209cfbead5b318a8598be9c0R10 - ghc-heap-view From fdc0554a0df8bae29605ad77933f37768fa19c54 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Mon, 23 Mar 2015 12:20:48 +0200 Subject: [PATCH 287/643] Call out issue #487 --- build-constraints.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index acdd5a65..648bf853 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -769,6 +769,8 @@ packages: # https://github.com/fpco/stackage/issues/442 - blaze-builder < 0.4 + + # https://github.com/fpco/stackage/issues/487 - blaze-markup < 0.7 - blaze-html < 0.8 From 83f8bf083f89ec11d197b4eed6f57de0fde4cda7 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Mon, 23 Mar 2015 20:09:23 +0200 Subject: [PATCH 288/643] Remove code explanation --- README.md | 42 ------------------------------------------ 1 file changed, 42 deletions(-) diff --git a/README.md b/README.md index 47f46a1f..65a7dc66 100644 --- a/README.md +++ b/README.md @@ -96,45 +96,3 @@ The following describes at a high level the series of steps for processing 1. Load up most recent build plan 2. Convert build plan into constraints for next build 3. Continue from step (3) above - -## Code explanation - -We start off with *constraints*. Constraints state things like "package X has a -given version range," who the maintainer is for a package, the description of -the system/compiler being used, etc. `BuildConstraints` describes the build as -a whole, whereas `PackageConstraints` describes the constraints on an -individual package. - -There are two primary ways of getting a `BuildConstraints`. -`defaultBuildConstraints` inspects the first GHC in the PATH environment variable to -determine GHC version, core packages, core tools, etc. It then uses the -`Stackage.Config` module to extract information on additional packages to be -installed. The secondary approach is in `Stackage2.UpdateBuildPlan`, which will be -discussed later. - -`BuildConstraints` does not specify a build completely. That is given by a -`BuildPlan`, which is similarly broken down into `BuildPlan` and `PackagePlan`. -In order to get a `BuildPlan`, we need two pieces of information: the -`BuildConstraints`, and a package index. The package index (usually downloaded -from Hackage) is a collection of all of the cabal files available. - -By applying a `BuildConstraints` to a package index (via `newBuildPlan`), we -get a proposed `BuildPlan`. There is no guarantee that this `BuildPlan` is -valid. To validate it, we use `checkBuildPlan`. A `BuildPlan` is an instance of -both `ToJSON` and `FromJSON`, and therefore can be serialized to a file for -later use. - -When dealing with LTS Haskell, we want to be able to take a `BuildPlan`, and -update to a newer `BuildPlan` that keeps all packages at the same major -version. `updateBuildConstraints` turns a `BuildPlan` into a new -`BuildConstraints` with that restriction, and `updateBuildPlan` applies -`newBuildPlan` to that result. As mentioned previously: this is *not* a -validated result, and therefore `checkBuildPlan` must be used. - -A `BuildPlan` can be acted on. This is done to check that all packages compile -together, run relevant test suites, test Haddock documentation is correct, and -produce as artifacts both a self-contained GHC binary package database and a -set of Haddock documentation. (Not yet implemented.) - -A `BuildPlan` may be converted into a bundle to be uploaded to Stackage Server. -(Not yet implemented.) From 21d700f94ea35b8e70417d177af615b601987ea2 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Tue, 24 Mar 2015 08:45:39 +0200 Subject: [PATCH 289/643] Unblock hopenpgp-tools and close #463 --- build-constraints.yaml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index 648bf853..3e33051f 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -481,8 +481,7 @@ packages: - openpgp-asciiarmor - MusicBrainz - DAV - # https://github.com/fpco/stackage/issues/463 - #- hopenpgp-tools + - hopenpgp-tools # https://github.com/fpco/stackage/issues/160 "Ketil Malde": From c29d0b59c04ee842f4cca49e5b6d80d27910a8da Mon Sep 17 00:00:00 2001 From: Brendan Hay Date: Tue, 24 Mar 2015 08:54:26 +0100 Subject: [PATCH 290/643] Adding packages from @brendanhay --- build-constraints.yaml | 52 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 3e33051f..7ac7fe45 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -749,6 +749,58 @@ packages: "Luke Taylor tekul.hs@gmail.com @tekul": - jose-jwt + "Brendan Hay brendan.g.hay@gmail.com @brendanhay": + - amazonka + - amazonka-core + - amazonka-autoscaling + - amazonka-cloudformation + - amazonka-cloudfront + - amazonka-cloudhsm + - amazonka-cloudsearch-domains + - amazonka-cloudsearch + - amazonka-cloudtrail + - amazonka-cloudwatch-logs + - amazonka-cloudwatch + - amazonka-codedeploy + - amazonka-cognito-identity + - amazonka-cognito-sync + - amazonka-config + - amazonka-datapipeline + - amazonka-directconnect + - amazonka-dynamodb + - amazonka-ec2 + - amazonka-ecs + - amazonka-elasticache + - amazonka-elasticbeanstalk + - amazonka-elastictranscoder + - amazonka-elb + - amazonka-emr + - amazonka-glacier + - amazonka-iam + - amazonka-importexport + - amazonka-kinesis + - amazonka-kms + - amazonka-lambda + - amazonka-opsworks + - amazonka-rds + - amazonka-redshift + - amazonka-route53-domains + - amazonka-route53 + - amazonka-s3 + - amazonka-sdb + - amazonka-ses + - amazonka-sns + - amazonka-sqs + - amazonka-ssm + - amazonka-storagegateway + - amazonka-sts + - amazonka-support + - amazonka-swf + - ede + - pagerduty + - semver + - text-manipulate + "Stackage upper bounds": # Force a specific version that's compatible with transformers 0.3 From a7f952133d3cda4cf27bbfc1acafc9a9c831b67f Mon Sep 17 00:00:00 2001 From: Brendan Hay Date: Tue, 24 Mar 2015 14:06:40 +0100 Subject: [PATCH 291/643] Set old-locale=true flag for building amazonka-core --- build-constraints.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 7ac7fe45..9c44eb88 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -877,6 +877,8 @@ package-flags: old-locale: true tttool: old-locale: true + amazonka-core: + old-locale: true hxt: network-uri: true From 991780c6ccc562009a71c2566f6c7802812a17e5 Mon Sep 17 00:00:00 2001 From: Brendan Hay Date: Tue, 24 Mar 2015 16:26:41 +0100 Subject: [PATCH 292/643] Removing extraneous whitespace --- build-constraints.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index 9c44eb88..d9d3d9fe 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -742,7 +742,7 @@ packages: "Oleg Grenrus oleg.grenrus@iki.fi @phadej": - waitra - + "Adam C. Foltzer acfoltzer@galois.com @acfoltzer": - gitrev From 296192f3fb55286a0775a4fc383f1fecc61f233b Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Tue, 24 Mar 2015 18:12:36 +0200 Subject: [PATCH 293/643] Remove upper bounds and close #485 --- build-constraints.yaml | 3 --- 1 file changed, 3 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index d9d3d9fe..8c02d39c 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -840,9 +840,6 @@ packages: # https://github.com/fpco/stackage/issues/483 - rethinkdb-client-driver < 0.0.15 - # https://github.com/fpco/stackage/issues/485 - - parsec < 3.1.9 - # Package flags are applied to individual packages, and override the values of # global-flags package-flags: From 1a66216447bfe1df09ab24f792c376eb8e302e98 Mon Sep 17 00:00:00 2001 From: "Adam C. Foltzer" Date: Tue, 24 Mar 2015 12:13:40 -0700 Subject: [PATCH 294/643] add cryptol It's finally on Hackage! --- build-constraints.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 8c02d39c..e95fc500 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -744,6 +744,7 @@ packages: - waitra "Adam C. Foltzer acfoltzer@galois.com @acfoltzer": + - cryptol - gitrev "Luke Taylor tekul.hs@gmail.com @tekul": From 86645133647b9ec8320d70d4878ae6b6d5bec1a7 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Wed, 25 Mar 2015 08:28:06 +0200 Subject: [PATCH 295/643] Package author guidelines --- README.md | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/README.md b/README.md index 65a7dc66..7c88a07e 100644 --- a/README.md +++ b/README.md @@ -43,6 +43,21 @@ dependencies, you may send a pull request without testing first. You should also read the [maintainers agreement](https://github.com/fpco/stackage/wiki/Maintainers-Agreement). +Package Author Guidelines +------------------------- + +There are some basic rules to get your package to play nice with Stackage. Here +are some quick guidelines to hopefully make this easier: + +* Make sure that your code is buildability and testable from Hackage. Often + times, authors test their builds locally, but the tarball that gets uploaded + to Hackage is missing some necessary files. +* Make your code compatible with the newest versions of all dependencies. +* Make your code compatible with the versions of libraries that ship with GHC ([more information on lenient lower bounds](https://www.fpcomplete.com/blog/2014/05/lenient-lower-bounds)). + +There are certainly many other tips that could be added here. If you think of +any, please send a pull request! + Build the package set --------------------- From 32802f42cde8bb1bfa96adb343674c228216c495 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20D=C3=ADaz?= Date: Wed, 25 Mar 2015 07:31:16 +0100 Subject: [PATCH 296/643] Two packages more for stackage. Also, added GitHub name. --- build-constraints.yaml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index e95fc500..40e668b4 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -374,10 +374,12 @@ packages: - tardis - lens-family-th - "Daniel Díaz ": + "Daniel Díaz dhelta.diaz@gmail.com @Daniel-Diaz": - HaTeX - matrix - binary-list + - haskintex + - post-mess-age "Gabriel Gonzalez ": - pipes From c5204e0485e7f6b777c1d2f9c7b8100ddc235236 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Wed, 25 Mar 2015 08:44:50 +0200 Subject: [PATCH 297/643] Expected Haddock failure GaloisInc/cryptol#195 --- build-constraints.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index e95fc500..fa41725c 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -1144,6 +1144,9 @@ expected-haddock-failures: # builds. Could consider special-casing this requirement. - gtk + # https://github.com/GaloisInc/cryptol/issues/195 + - cryptol + # Benchmarks which should not be built. Note that Stackage does *not* generally # build benchmarks. The difference here will be whether dependencies for these # benchmarks are included or not. From 313fd69f06cdd3393f93ec04fcefd68b6c3a7ad7 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Wed, 25 Mar 2015 11:59:46 +0200 Subject: [PATCH 298/643] Remove upper bounds and close #440 --- build-constraints.yaml | 6 ------ 1 file changed, 6 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index 0135e9ef..74c96a4c 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -815,12 +815,6 @@ packages: # https://github.com/fpco/stackage/issues/424 - control-monad-free < 0.6 - # https://github.com/fpco/stackage/issues/440 - - th-orphans < 0.9 - - file-location < 0.4.7 - - th-desugar < 1.5.1 - - singletons < 1.1.1 - # https://github.com/fpco/stackage/issues/442 - blaze-builder < 0.4 From 7d207ebd08ffe7daa26c8abd17f940311a148bff Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Thu, 26 Mar 2015 07:57:14 +0200 Subject: [PATCH 299/643] Remove skipped Haddock and close #195 --- build-constraints.yaml | 3 --- 1 file changed, 3 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index 74c96a4c..6638c27b 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -1140,9 +1140,6 @@ expected-haddock-failures: # builds. Could consider special-casing this requirement. - gtk - # https://github.com/GaloisInc/cryptol/issues/195 - - cryptol - # Benchmarks which should not be built. Note that Stackage does *not* generally # build benchmarks. The difference here will be whether dependencies for these # benchmarks are included or not. From 9fde0cf5f96336700c23b97d059ccb2e6a4e434a Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Thu, 26 Mar 2015 08:12:14 +0200 Subject: [PATCH 300/643] Link to multi-ghc-travis --- README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 7c88a07e..f7048506 100644 --- a/README.md +++ b/README.md @@ -51,7 +51,9 @@ are some quick guidelines to hopefully make this easier: * Make sure that your code is buildability and testable from Hackage. Often times, authors test their builds locally, but the tarball that gets uploaded - to Hackage is missing some necessary files. + to Hackage is missing some necessary files. The best way to do this is to + set up a Travis job to do it for you. We recommend the + [multi-ghc-travis](https://github.com/hvr/multi-ghc-travis) approach. * Make your code compatible with the newest versions of all dependencies. * Make your code compatible with the versions of libraries that ship with GHC ([more information on lenient lower bounds](https://www.fpcomplete.com/blog/2014/05/lenient-lower-bounds)). From 4e01b4ed51e59203d56b7b4b2c8f258b6f26f7a3 Mon Sep 17 00:00:00 2001 From: gbaz Date: Thu, 26 Mar 2015 13:51:22 -0400 Subject: [PATCH 301/643] add my packages --- build-constraints.yaml | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 6638c27b..a156caeb 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -804,6 +804,18 @@ packages: - semver - text-manipulate + + "Gershom Bazerman @gbaz": + - jmacro + - jmacro-rpc + - jmacro-rpc-happstack + - jmacro-rpc-snap + - mbox + - kmeans + - boolsimplifier + - cubicspline + - maximal-cliques + "Stackage upper bounds": # Force a specific version that's compatible with transformers 0.3 From 5efad4576f2c5438be249e2c87eb18dfa08f6619 Mon Sep 17 00:00:00 2001 From: Nick Partridge Date: Fri, 27 Mar 2015 08:22:28 +1000 Subject: [PATCH 302/643] Adds cabal-file-th to the package set --- build-constraints.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 6638c27b..c723eb75 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -804,6 +804,9 @@ packages: - semver - text-manipulate + "Nick Partridge nkpart@gmail.com @nkpart": + - cabal-file-th + "Stackage upper bounds": # Force a specific version that's compatible with transformers 0.3 From 87b78a17c41566f651d20930303984f9ea37a0ba Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Fri, 27 Mar 2015 07:03:59 +0300 Subject: [PATCH 303/643] Upper bound for #494 --- build-constraints.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index c723eb75..e9ae08d6 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -840,6 +840,9 @@ packages: # https://github.com/fpco/stackage/issues/483 - rethinkdb-client-driver < 0.0.15 + # https://github.com/fpco/stackage/issues/494 + - criterion < 1.1 + # Package flags are applied to individual packages, and override the values of # global-flags package-flags: From c9d72c4a17d46f83e326966c2fbc71f8145f0b1f Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Fri, 27 Mar 2015 07:09:56 +0300 Subject: [PATCH 304/643] Upper bound for #495 --- build-constraints.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index e9ae08d6..2d2c7946 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -843,6 +843,9 @@ packages: # https://github.com/fpco/stackage/issues/494 - criterion < 1.1 + # https://github.com/fpco/stackage/issues/495 + - shake < 0.15 + # Package flags are applied to individual packages, and override the values of # global-flags package-flags: From 5b44174e89edab310d2f8e853416ec08b52d2d5b Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Fri, 27 Mar 2015 13:11:07 +0300 Subject: [PATCH 305/643] Remove upper bounds and close #495 --- build-constraints.yaml | 3 --- 1 file changed, 3 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index e72d16c3..34ec41ca 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -854,9 +854,6 @@ packages: # https://github.com/fpco/stackage/issues/494 - criterion < 1.1 - # https://github.com/fpco/stackage/issues/495 - - shake < 0.15 - # Package flags are applied to individual packages, and override the values of # global-flags package-flags: From b76b19a31e9edfcadb9738171d22661ff1b970ee Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Sat, 28 Mar 2015 20:48:55 +0300 Subject: [PATCH 306/643] Upper bound for #497 --- build-constraints.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 34ec41ca..84668fac 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -854,6 +854,9 @@ packages: # https://github.com/fpco/stackage/issues/494 - criterion < 1.1 + # https://github.com/fpco/stackage/issues/497 + - primitive < 0.6 + # Package flags are applied to individual packages, and override the values of # global-flags package-flags: From 5540c316ab6c9f7dae327f5f1b44864e904e324f Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Sat, 28 Mar 2015 20:52:40 +0300 Subject: [PATCH 307/643] GHC 7.8/Haddocks upper bounds --- build-constraints.yaml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 84668fac..4550e18c 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -819,6 +819,10 @@ packages: - maximal-cliques "Stackage upper bounds": + # GHC 7.8 uppdate bound + - haddock-api < 2.16 + - haddock-library < 1.2 + - hdocs < 0.4.2 # Force a specific version that's compatible with transformers 0.3 - transformers-compat == 0.4.0.3 From ba52b3776e31a09313ef71d0a922829987ffa744 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Sat, 28 Mar 2015 21:01:42 +0300 Subject: [PATCH 308/643] Upper bound for Daniel-Diaz/binary-list#2 --- build-constraints.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 4550e18c..49d6c9e6 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -861,6 +861,9 @@ packages: # https://github.com/fpco/stackage/issues/497 - primitive < 0.6 + # https://github.com/Daniel-Diaz/binary-list/issues/2 + - binary-list < 1.1 + # Package flags are applied to individual packages, and override the values of # global-flags package-flags: From 511b2366b0961626579de82ad1a0ba97601f7ebe Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Sun, 29 Mar 2015 00:34:21 +0300 Subject: [PATCH 309/643] Expected test failure for nsis --- build-constraints.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 49d6c9e6..b45456a5 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -1152,6 +1152,9 @@ expected-test-failures: # Requires locally running services - network-anonymous-i2p + # Tests not reliable on non-Windows systems + - nsis + # Haddocks which are expected to fail. Same concept as expected test failures. expected-haddock-failures: # https://github.com/acw/bytestring-progress/issues/4 From 3dea63fd625939c349dc5b2854d363f1f25507df Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20D=C3=ADaz?= Date: Sun, 29 Mar 2015 00:32:20 +0100 Subject: [PATCH 310/643] binary-list upper bound should no longer be necessary. --- build-constraints.yaml | 3 --- 1 file changed, 3 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index b45456a5..e08a4e40 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -861,9 +861,6 @@ packages: # https://github.com/fpco/stackage/issues/497 - primitive < 0.6 - # https://github.com/Daniel-Diaz/binary-list/issues/2 - - binary-list < 1.1 - # Package flags are applied to individual packages, and override the values of # global-flags package-flags: From c49dfb95e6d9ff61ae1aaa81a1db923a6bf2dc55 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Sun, 29 Mar 2015 09:24:44 +0300 Subject: [PATCH 311/643] Upper bound for jgm/pandoc#2036 --- build-constraints.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index e08a4e40..5e39e88c 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -861,6 +861,9 @@ packages: # https://github.com/fpco/stackage/issues/497 - primitive < 0.6 + # https://github.com/jgm/pandoc/issues/2036 + - highlighting-kate < 0.5.14 + # Package flags are applied to individual packages, and override the values of # global-flags package-flags: From 2a2c651c1a76f75b2ec86e8b35c0079223f363e3 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Sun, 29 Mar 2015 09:33:16 +0300 Subject: [PATCH 312/643] More restrictive upper bound @lierdakil --- build-constraints.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index 5e39e88c..62f2b31c 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -862,7 +862,7 @@ packages: - primitive < 0.6 # https://github.com/jgm/pandoc/issues/2036 - - highlighting-kate < 0.5.14 + - highlighting-kate < 0.5.13 # Package flags are applied to individual packages, and override the values of # global-flags From 1dd1e33b47042a69977f93d4d9735f49ea26cbc7 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Sun, 29 Mar 2015 12:49:00 +0300 Subject: [PATCH 313/643] Remove upper bounds and close #424 --- build-constraints.yaml | 3 --- 1 file changed, 3 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index 62f2b31c..d6fe2455 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -830,9 +830,6 @@ packages: # https://github.com/fpco/stackage/issues/415 - hackage-db < 1.12 - # https://github.com/fpco/stackage/issues/424 - - control-monad-free < 0.6 - # https://github.com/fpco/stackage/issues/442 - blaze-builder < 0.4 From 8276274632cd06b12524e6b245d311b55cd30e88 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Sun, 29 Mar 2015 12:50:19 +0300 Subject: [PATCH 314/643] Remove upper bounds and close ekmett/linear#70 --- build-constraints.yaml | 3 --- 1 file changed, 3 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index d6fe2455..8cf32d6e 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -843,9 +843,6 @@ packages: # https://github.com/fpco/stackage/issues/476 - vector-space < 0.10 - # https://github.com/ekmett/linear/issues/70 - - linear < 1.18 - # https://github.com/fpco/stackage/issues/479 - QuickCheck < 2.8 From 858fa9e0fbb5ad32603a1e5bfca0be8339aa0186 Mon Sep 17 00:00:00 2001 From: Alexander Bondarenko Date: Sun, 29 Mar 2015 13:03:07 +0300 Subject: [PATCH 315/643] Register soap-* --- build-constraints.yaml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 8cf32d6e..74854d56 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -818,6 +818,11 @@ packages: - cubicspline - maximal-cliques + "Alexander Bondarenko @wiz": + - soap + - soap-tls + - soap-openssl + "Stackage upper bounds": # GHC 7.8 uppdate bound - haddock-api < 2.16 From 165f8a8768faa79ad97ebb25165addde47682144 Mon Sep 17 00:00:00 2001 From: Gabriel Gonzalez Date: Sun, 29 Mar 2015 09:39:29 -0500 Subject: [PATCH 316/643] Add `turtle` to Stackage --- build-constraints.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 74854d56..ea6fec5c 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -386,6 +386,7 @@ packages: - pipes-parse - pipes-concurrency - pipes-safe + - turtle "Chris Allen ": - bloodhound From f416811d4ac1ccdab51da679885a2e40ef011fd2 Mon Sep 17 00:00:00 2001 From: agocorona Date: Sun, 29 Mar 2015 20:42:24 +0200 Subject: [PATCH 317/643] Reintroduced Alberto G. Corona packages --- build-constraints.yaml | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index ea6fec5c..6d951c09 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -217,12 +217,11 @@ packages: # requires old haddock currently - haskell-docs # TODO: Add structured-haskell-mode once they've been ported to HSE 1.16. - # GHC 7.6 - # "Alberto G. Corona ": - # - RefSerialize - # - TCache - # - Workflow - # - MFlow + "Alberto G. Corona ": + - RefSerialize + - TCache + - Workflow + - MFlow "Edward Kmett ": - ad From ee4e58d3ef9486ccea50a129a976475eed1bafbb Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Sun, 29 Mar 2015 23:11:05 +0300 Subject: [PATCH 318/643] Remove upper bounds and close #341 --- build-constraints.yaml | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index 6d951c09..4f7a2a7a 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -435,10 +435,7 @@ packages: - amqp - curl - generics-sop - - # https://github.com/fpco/stackage/issues/341 - - haskell-names < 0.5 - + - haskell-names - haskell-packages - heredoc - hse-cpp From f31e09dc98c0dfc883748b98e8364d66269a9941 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20D=C3=ADaz?= Date: Sun, 29 Mar 2015 22:19:17 +0200 Subject: [PATCH 319/643] Yet another package from Daniel Diaz. --- build-constraints.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 4f7a2a7a..f85bf874 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -379,6 +379,7 @@ packages: - binary-list - haskintex - post-mess-age + - include-file "Gabriel Gonzalez ": - pipes From c6be261fbc529fda7e240727c7640000e4bbf262 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Sun, 29 Mar 2015 23:22:43 +0300 Subject: [PATCH 320/643] Upper bound for bos/mwc-random#45 --- build-constraints.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 4f7a2a7a..abf13c51 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -860,6 +860,9 @@ packages: # https://github.com/jgm/pandoc/issues/2036 - highlighting-kate < 0.5.13 + # https://github.com/bos/mwc-random/issues/45 + - mwc-random < 0.13.3.1 + # Package flags are applied to individual packages, and override the values of # global-flags package-flags: From eed98f0be4cfb4926ad31e9249f2d88e9cf4189a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mario=20Bla=C5=BEevi=C4=87?= Date: Sun, 29 Mar 2015 19:37:20 -0400 Subject: [PATCH 321/643] Adding picoparsec to Stackage. --- build-constraints.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 08077dab..1e18f24c 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -307,6 +307,7 @@ packages: - monad-coroutine - incremental-parser - monoid-subclasses + - picoparsec "Brent Yorgey ": - active From f63402751a798ea7ee7f1c032e16c0df463d73a9 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Mon, 30 Mar 2015 08:01:57 +0300 Subject: [PATCH 322/643] Add foldl to Gabriel #497 --- build-constraints.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index abf13c51..7b2971ee 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -386,6 +386,7 @@ packages: - pipes-concurrency - pipes-safe - turtle + - foldl "Chris Allen ": - bloodhound From 49075486cd933d8b0d1c47a21aeeee8669f57e98 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Mon, 30 Mar 2015 08:08:36 +0300 Subject: [PATCH 323/643] Remove upper bound for bos/mwc-random#45 --- build-constraints.yaml | 3 --- 1 file changed, 3 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index 36847602..c02ec054 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -863,9 +863,6 @@ packages: # https://github.com/jgm/pandoc/issues/2036 - highlighting-kate < 0.5.13 - # https://github.com/bos/mwc-random/issues/45 - - mwc-random < 0.13.3.1 - # Package flags are applied to individual packages, and override the values of # global-flags package-flags: From 31044dc760c2967676703aedf592d1684cb36be2 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Mon, 30 Mar 2015 13:43:21 +0300 Subject: [PATCH 324/643] Add ide-backend --- build-constraints.yaml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index c02ec054..5a7441b4 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -121,6 +121,10 @@ packages: - kure + - ide-backend + - ide-backend-server + - ide-backend-rts + "Omari Norman ": - rainbow - multiarg From 01b7812913385d359b83f3abbff9af5591edd1b7 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Mon, 30 Mar 2015 13:46:10 +0300 Subject: [PATCH 325/643] Extra upper bound on cabal-test-quickcheck for #479 @zmthy --- build-constraints.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 5a7441b4..0ce75a7b 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -854,6 +854,7 @@ packages: # https://github.com/fpco/stackage/issues/479 - QuickCheck < 2.8 + - cabal-test-quickcheck < 0.1.6 # https://github.com/fpco/stackage/issues/483 - rethinkdb-client-driver < 0.0.15 From e0835eb000489badc09fd075620b9fb2ee99fedc Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Mon, 30 Mar 2015 13:47:38 +0300 Subject: [PATCH 326/643] Stricter upper bound --- build-constraints.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index 0ce75a7b..91281d7a 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -854,7 +854,7 @@ packages: # https://github.com/fpco/stackage/issues/479 - QuickCheck < 2.8 - - cabal-test-quickcheck < 0.1.6 + - cabal-test-quickcheck < 0.1.5 # https://github.com/fpco/stackage/issues/483 - rethinkdb-client-driver < 0.0.15 From 97b12686dce61586b94675b73da9b4e98baf051b Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Mon, 30 Mar 2015 14:41:30 +0300 Subject: [PATCH 327/643] Cabal-ide-backend: expected test failure --- build-constraints.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 91281d7a..ff7d3568 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -1159,6 +1159,9 @@ expected-test-failures: # Tests not reliable on non-Windows systems - nsis + # Just a temporary package with a flimsy, inherited test suite + - Cabal-ide-backend + # Haddocks which are expected to fail. Same concept as expected test failures. expected-haddock-failures: # https://github.com/acw/bytestring-progress/issues/4 From 60eccf72afd00226583f95b459b7bfcb42abe495 Mon Sep 17 00:00:00 2001 From: Simon Michael Date: Mon, 30 Mar 2015 06:41:33 -0700 Subject: [PATCH 328/643] add hledger-web I don't really know a better to add this than submit a PR and hope the buildbots are kind. Tips welcome. --- build-constraints.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 4036dc18..a44926d4 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -527,6 +527,7 @@ packages: "Simon Michael ": - hledger + - hledger-web "Mihai Maruseac ": - io-manager From 02398985d269530ef96c575b9c8f4772a4869613 Mon Sep 17 00:00:00 2001 From: Simon Michael Date: Mon, 30 Mar 2015 06:48:42 -0700 Subject: [PATCH 329/643] add shelltestrunner A tool for testing command-line programs. --- build-constraints.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 4036dc18..e9a869ea 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -527,6 +527,7 @@ packages: "Simon Michael ": - hledger + - shelltestrunner "Mihai Maruseac ": - io-manager From cc58922a05804cf47ccc1f9710e2b971bde2454a Mon Sep 17 00:00:00 2001 From: Andres Loeh Date: Mon, 30 Mar 2015 16:07:53 +0200 Subject: [PATCH 330/643] Change maintainer for generics-sop. Explanation: - I am the actual maintainer of the package. - Roman registered it before because he needed it. - I've confirmed with Roman that he's ok with this change. --- build-constraints.yaml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index ff7d3568..d7cdf91f 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -441,7 +441,6 @@ packages: - action-permutations - amqp - curl - - generics-sop - haskell-names - haskell-packages - heredoc @@ -827,6 +826,9 @@ packages: - soap-tls - soap-openssl + "Andres Löh @kosmikus": + - generics-sop + "Stackage upper bounds": # GHC 7.8 uppdate bound - haddock-api < 2.16 From bdb4afc0ff8016d0d057e320e2fed45311902e91 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Mon, 30 Mar 2015 17:48:27 +0300 Subject: [PATCH 331/643] Upper bound for #509 --- build-constraints.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 2bf77bed..dc2f7812 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -871,6 +871,9 @@ packages: # https://github.com/jgm/pandoc/issues/2036 - highlighting-kate < 0.5.13 + # https://github.com/fpco/stackage/issues/509 + - srcloc < 0.5 + # Package flags are applied to individual packages, and override the values of # global-flags package-flags: From c7ba37cf496fd6f7b4c51ae0f6df225c8f3108c9 Mon Sep 17 00:00:00 2001 From: Oleg Grenrus Date: Mon, 30 Mar 2015 20:14:06 +0300 Subject: [PATCH 332/643] Add edit-distance and lattice --- build-constraints.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 81d05f53..a2010115 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -748,6 +748,8 @@ packages: - string-conversions "Oleg Grenrus oleg.grenrus@iki.fi @phadej": + - edit-distance + - lattices - waitra "Adam C. Foltzer acfoltzer@galois.com @acfoltzer": From 106638d32b705e9ee56e794d6c88baf9fabd7b58 Mon Sep 17 00:00:00 2001 From: Vivian McPhail Date: Tue, 31 Mar 2015 06:29:25 +1300 Subject: [PATCH 333/643] Update build-constraints.yaml Added Vivian McPhail's projects to `build-constraints.yaml`. --- build-constraints.yaml | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 81d05f53..7bc74d1d 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -831,6 +831,16 @@ packages: "Andres Löh @kosmikus": - generics-sop + "Vivian McPhail ": + - hmatrix-gsl-stats + - hstatistics + - hsignal + - plot + - plot-gtk + - plot-gtk3 + - vector-buffer + - hmatrix-repa + "Stackage upper bounds": # GHC 7.8 uppdate bound - haddock-api < 2.16 From 94a49a22a112dc02118c6513fc65c84b4c5190d0 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Mon, 30 Mar 2015 21:15:11 +0300 Subject: [PATCH 334/643] Add extra system dependency (pinging @manny-fp) --- debian-bootstrap.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/debian-bootstrap.sh b/debian-bootstrap.sh index 827e8460..2f158306 100755 --- a/debian-bootstrap.sh +++ b/debian-bootstrap.sh @@ -53,6 +53,7 @@ apt-get install -y \ liblzma-dev \ libsdl2-dev \ libxss-dev \ + libgtk-3-dev \ libzmq3-dev mkdir /tmp/nettle-build From 024beb30098e0be18363c477799fbc11462b0d48 Mon Sep 17 00:00:00 2001 From: Noam Lewis Date: Tue, 31 Mar 2015 00:14:26 +0300 Subject: [PATCH 335/643] add xml-to-json and xml-to-json-fast --- build-constraints.yaml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 10fd195b..914683f8 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -843,6 +843,10 @@ packages: - vector-buffer - hmatrix-repa + "Noam Lewis @sinelaw": + - xml-to-json + - xml-to-json-fast + "Stackage upper bounds": # GHC 7.8 uppdate bound - haddock-api < 2.16 From 03e5c9149a38c81c423283c63443193ae77a8d38 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Tue, 31 Mar 2015 10:29:30 +0300 Subject: [PATCH 336/643] Add some new packages (pinging @dysinger) --- build-constraints.yaml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 914683f8..a948e6ea 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -125,6 +125,11 @@ packages: - ide-backend-server - ide-backend-rts + - hackage-mirror + - wai-middleware-consul + - monad-logger-json + - monad-logger-syslog + "Omari Norman ": - rainbow - multiarg From 888dddfd6fc435cdde82bd3aea510608bacc7b8e Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Tue, 31 Mar 2015 16:39:37 +0300 Subject: [PATCH 337/643] Upper bound for #514 --- build-constraints.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index a948e6ea..1b190bb5 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -896,6 +896,9 @@ packages: # https://github.com/fpco/stackage/issues/509 - srcloc < 0.5 + # https://github.com/fpco/stackage/issues/514 + - tasty-golden < 2.3 + # Package flags are applied to individual packages, and override the values of # global-flags package-flags: From c0b2b91dcbf8293427a162c274016fbe2a793d02 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Tue, 31 Mar 2015 20:14:04 +0300 Subject: [PATCH 338/643] Remove upper bounds and close #514 --- build-constraints.yaml | 3 --- 1 file changed, 3 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index 1b190bb5..a948e6ea 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -896,9 +896,6 @@ packages: # https://github.com/fpco/stackage/issues/509 - srcloc < 0.5 - # https://github.com/fpco/stackage/issues/514 - - tasty-golden < 2.3 - # Package flags are applied to individual packages, and override the values of # global-flags package-flags: From 70ee24425755d29397adfada07c1f8a83afcf968 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Wed, 1 Apr 2015 07:28:53 +0300 Subject: [PATCH 339/643] Temporarily blocking ede due to #487 --- build-constraints.yaml | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index a948e6ea..afe3ad0d 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -811,7 +811,8 @@ packages: - amazonka-sts - amazonka-support - amazonka-swf - - ede + # https://github.com/fpco/stackage/issues/487 + # - ede Temporary block: trifecta uses blaze-markup < 0.7 - pagerduty - semver - text-manipulate @@ -867,10 +868,6 @@ packages: # https://github.com/fpco/stackage/issues/442 - blaze-builder < 0.4 - # https://github.com/fpco/stackage/issues/487 - - blaze-markup < 0.7 - - blaze-html < 0.8 - # https://github.com/fpco/stackage/issues/467 - lens < 4.8 From 4b66f128be1ff786daa2c38de5a946ee901c6981 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Wed, 1 Apr 2015 07:42:45 +0300 Subject: [PATCH 340/643] Expected test failure for consul-haskell --- build-constraints.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index afe3ad0d..93130166 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -1187,6 +1187,9 @@ expected-test-failures: # Just a temporary package with a flimsy, inherited test suite - Cabal-ide-backend + # Requires running server + - consul-haskell + # Haddocks which are expected to fail. Same concept as expected test failures. expected-haddock-failures: # https://github.com/acw/bytestring-progress/issues/4 From 3358e498c2acc62350a97ab2863a572cec31aa0e Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Wed, 1 Apr 2015 08:05:05 +0300 Subject: [PATCH 341/643] Add back ede and close #487 --- build-constraints.yaml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index 93130166..8d27343c 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -811,8 +811,7 @@ packages: - amazonka-sts - amazonka-support - amazonka-swf - # https://github.com/fpco/stackage/issues/487 - # - ede Temporary block: trifecta uses blaze-markup < 0.7 + - ede - pagerduty - semver - text-manipulate From 7d55a8b9fc9859cf9ce4e3b7eba3dac6e47366e9 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Wed, 1 Apr 2015 08:12:57 +0300 Subject: [PATCH 342/643] Remove deprecated process-conduit --- build-constraints.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index 8d27343c..c4c682de 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -19,7 +19,6 @@ packages: - persistent-postgresql - persistent-sqlite - persistent-template - - process-conduit - random-shuffle - sphinx - stm-conduit From 9e67fd7c3b2ff614b9368cbf798445e091bbc2a1 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Wed, 1 Apr 2015 11:10:07 +0300 Subject: [PATCH 343/643] Temporarily disable codex #415 --- build-constraints.yaml | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index c4c682de..17889606 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -693,7 +693,8 @@ packages: - unbound-generics "Alois Cochard alois.cochard@gmail.com @aloiscochard": - - codex + # https://github.com/fpco/stackage/issues/415 + # - codex - machines-directory - machines-io - machines-process @@ -860,9 +861,6 @@ packages: # Force a specific version that's compatible with transformers 0.3 - transformers-compat == 0.4.0.3 - # https://github.com/fpco/stackage/issues/415 - - hackage-db < 1.12 - # https://github.com/fpco/stackage/issues/442 - blaze-builder < 0.4 From f97b52b42189c3bb7c66fd5a679d3107806025c9 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Wed, 1 Apr 2015 11:15:49 +0300 Subject: [PATCH 344/643] Block some benchmarks #494 --- build-constraints.yaml | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index 17889606..e01d2f02 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -877,9 +877,6 @@ packages: # https://github.com/fpco/stackage/issues/483 - rethinkdb-client-driver < 0.0.15 - # https://github.com/fpco/stackage/issues/494 - - criterion < 1.1 - # https://github.com/fpco/stackage/issues/497 - primitive < 0.6 @@ -1230,6 +1227,11 @@ skipped-benchmarks: # https://github.com/fpco/stackage/issues/488 - uuid-types + # https://github.com/fpco/stackage/issues/494 + - case-insensitive + - postgresql-binary + - scientific + skipped-profiling: # https://github.com/nomeata/ghc-heap-view/commit/8d198eb8fbbad2ce0c4527c781659f35b8909c04#diff-8288955e209cfbead5b318a8598be9c0R10 - ghc-heap-view From ffbafa6c9746b3cf8b09da532c6a888fb91e0559 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Wed, 1 Apr 2015 20:13:22 +0300 Subject: [PATCH 345/643] Remove upper bounds and close #442 --- build-constraints.yaml | 3 --- 1 file changed, 3 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index e01d2f02..946fa3fc 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -861,9 +861,6 @@ packages: # Force a specific version that's compatible with transformers 0.3 - transformers-compat == 0.4.0.3 - # https://github.com/fpco/stackage/issues/442 - - blaze-builder < 0.4 - # https://github.com/fpco/stackage/issues/467 - lens < 4.8 From e2f151cffebafafecc7ffb0d5f5540a7a5d5d849 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Wed, 1 Apr 2015 22:55:18 +0300 Subject: [PATCH 346/643] Upper bounds for #515 --- build-constraints.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 946fa3fc..d27bda92 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -883,6 +883,9 @@ packages: # https://github.com/fpco/stackage/issues/509 - srcloc < 0.5 + # https://github.com/fpco/stackage/issues/515 + - exception-transformers < 0.4 + # Package flags are applied to individual packages, and override the values of # global-flags package-flags: From e92405f5f6121f9910e45430acaa11f08c969a7f Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Wed, 1 Apr 2015 23:08:16 +0300 Subject: [PATCH 347/643] Extra upper bound for #515 --- build-constraints.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index d27bda92..59dd99fa 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -885,6 +885,7 @@ packages: # https://github.com/fpco/stackage/issues/515 - exception-transformers < 0.4 + - exception-mtl < 0.4 # Package flags are applied to individual packages, and override the values of # global-flags From 7ab03059d0c3067c9216cd2e7e4846ef00d89231 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Wed, 1 Apr 2015 21:15:13 +0300 Subject: [PATCH 348/643] Remove upper bounds and close #497 --- build-constraints.yaml | 3 --- 1 file changed, 3 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index 59dd99fa..e2ba76f2 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -874,9 +874,6 @@ packages: # https://github.com/fpco/stackage/issues/483 - rethinkdb-client-driver < 0.0.15 - # https://github.com/fpco/stackage/issues/497 - - primitive < 0.6 - # https://github.com/jgm/pandoc/issues/2036 - highlighting-kate < 0.5.13 From 534f27fbf386c865d87a25d6a90685f860d05c0b Mon Sep 17 00:00:00 2001 From: Tim Baumann Date: Wed, 1 Apr 2015 22:56:02 +0200 Subject: [PATCH 349/643] Add 'aeson-schema' --- build-constraints.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index e2ba76f2..768dad92 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -851,6 +851,9 @@ packages: "Noam Lewis @sinelaw": - xml-to-json - xml-to-json-fast + + "Tim Baumann @timjb": + - aeson-schema "Stackage upper bounds": # GHC 7.8 uppdate bound From f5aa9ce4176f594dd440918afab10e232c3000ac Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Thu, 2 Apr 2015 10:16:32 +0300 Subject: [PATCH 350/643] Remove upper bounds and close #483 --- build-constraints.yaml | 3 --- 1 file changed, 3 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index 768dad92..09fba0e1 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -874,9 +874,6 @@ packages: - QuickCheck < 2.8 - cabal-test-quickcheck < 0.1.5 - # https://github.com/fpco/stackage/issues/483 - - rethinkdb-client-driver < 0.0.15 - # https://github.com/jgm/pandoc/issues/2036 - highlighting-kate < 0.5.13 From b7e6a300a3e87f21864d053219f709e8b76c9689 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Thu, 2 Apr 2015 10:18:58 +0300 Subject: [PATCH 351/643] Expected test failure timjb/aeson-schema#9 --- build-constraints.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 09fba0e1..b0320850 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -1181,6 +1181,9 @@ expected-test-failures: # Requires running server - consul-haskell + # https://github.com/timjb/aeson-schema/issues/9 + - aeson-schema + # Haddocks which are expected to fail. Same concept as expected test failures. expected-haddock-failures: # https://github.com/acw/bytestring-progress/issues/4 From fce37161f3978215492419b79c2479e6aeb2aaed Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Thu, 2 Apr 2015 14:14:18 +0300 Subject: [PATCH 352/643] Remove skipped test timjb/aeson-schema#9 --- build-constraints.yaml | 3 --- 1 file changed, 3 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index b0320850..09fba0e1 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -1181,9 +1181,6 @@ expected-test-failures: # Requires running server - consul-haskell - # https://github.com/timjb/aeson-schema/issues/9 - - aeson-schema - # Haddocks which are expected to fail. Same concept as expected test failures. expected-haddock-failures: # https://github.com/acw/bytestring-progress/issues/4 From 5ff22f4ffc5509a61d8178702af682e57ba41e31 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Thu, 2 Apr 2015 15:49:52 +0300 Subject: [PATCH 353/643] Properly reference #517 --- build-constraints.yaml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index 09fba0e1..268db100 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -298,8 +298,7 @@ packages: - gl - lens-aeson - zlib-lens - # Temporary upper bound for some of the above packages - - generic-deriving < 1.7 + - generic-deriving # hyperloglog "Andrew Farmer ": @@ -884,6 +883,9 @@ packages: - exception-transformers < 0.4 - exception-mtl < 0.4 + # https://github.com/fpco/stackage/issues/517 + - generic-deriving < 1.7 + # Package flags are applied to individual packages, and override the values of # global-flags package-flags: From 48235773915793f4aad78e6f66de4a4fc0d6da6e Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Thu, 2 Apr 2015 16:07:38 +0300 Subject: [PATCH 354/643] Add back hyperloglog --- build-constraints.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index 268db100..5bd3f513 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -299,7 +299,7 @@ packages: - lens-aeson - zlib-lens - generic-deriving - # hyperloglog + - hyperloglog "Andrew Farmer ": - scotty From c56b1b56ad5c3e70fe8cdfe9c3776a097cc54f91 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Thu, 2 Apr 2015 19:05:42 +0300 Subject: [PATCH 355/643] Turn on old-locale for arbtt --- build-constraints.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 5bd3f513..65c05960 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -947,6 +947,9 @@ package-flags: jose-jwt: doctest: false + arbtt: + old-locale: true + # By skipping a test suite, we do not pull in the build dependencies skipped-tests: - ReadArgs # old version of hspec From 7feb2c05651cf6dea2ed202c152ad28c80c368cb Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Thu, 2 Apr 2015 20:19:00 +0300 Subject: [PATCH 356/643] Docker: install sudo --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 095bdc4a..59d14682 100644 --- a/Dockerfile +++ b/Dockerfile @@ -14,7 +14,7 @@ ADD debian-bootstrap.sh /tmp/debian-bootstrap.sh RUN DEBIAN_FRONTEND=noninteractive bash /tmp/debian-bootstrap.sh RUN rm /tmp/debian-bootstrap.sh -RUN DEBIAN_FRONTEND=noninteractive apt-get install -y cabal-install-1.20 ghc-7.8.4 alex-3.1.3 happy-1.19.4 +RUN DEBIAN_FRONTEND=noninteractive apt-get install -y cabal-install-1.20 ghc-7.8.4 alex-3.1.3 happy-1.19.4 sudo ENV PATH /home/stackage/.cabal/bin:/usr/local/sbin:/usr/local/bin:/opt/ghc/7.8.4/bin:/opt/cabal/1.20/bin:/opt/alex/3.1.3/bin:/opt/happy/1.19.4/bin:/usr/sbin:/usr/bin:/sbin:/bin From 24079e50b58fb7cd7157317e14273807aede3c48 Mon Sep 17 00:00:00 2001 From: David Fox Date: Thu, 2 Apr 2015 11:19:51 -0700 Subject: [PATCH 357/643] Add debian and cabal-debian --- build-constraints.yaml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index 65c05960..a80627f1 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -853,7 +853,11 @@ packages: "Tim Baumann @timjb": - aeson-schema - + + "David Fox @ddssff" + - debian + - cabal-debian + "Stackage upper bounds": # GHC 7.8 uppdate bound - haddock-api < 2.16 From d938e5c9f6f0b4d1e5767097aa4cd55dd6799e82 Mon Sep 17 00:00:00 2001 From: David Fox Date: Thu, 2 Apr 2015 11:30:55 -0700 Subject: [PATCH 358/643] Fix syntax error in debian/cabal-debian entry --- build-constraints.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index a80627f1..71622a3d 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -854,7 +854,7 @@ packages: "Tim Baumann @timjb": - aeson-schema - "David Fox @ddssff" + "David Fox @ddssff": - debian - cabal-debian From 906f14e17627ddff466602cae20abafc6fda8306 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Thu, 2 Apr 2015 16:45:32 -0400 Subject: [PATCH 359/643] add git-annex @nomeata suggested I add it, and this is fine by me. git-annex is a leaf, non-library package, and in the http://hackage.haskell.org/packages/top list, after filtering out the core haskell ecosystem, git-annex is near the top of the list of remaining packages. For whatever that might be worth. --- build-constraints.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 65c05960..56f07335 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -490,6 +490,9 @@ packages: - MusicBrainz - DAV - hopenpgp-tools + + "Joey Hess ": + - git-annex # https://github.com/fpco/stackage/issues/160 "Ketil Malde": From 0b597df2b0963aeb311f8a26b857a00856211864 Mon Sep 17 00:00:00 2001 From: David Fox Date: Thu, 2 Apr 2015 14:23:11 -0700 Subject: [PATCH 360/643] Diagnosing why pretty>=1.1.2 dependency is being forced --- build-constraints.yaml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 71622a3d..926da243 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -954,6 +954,11 @@ package-flags: arbtt: old-locale: true + debian: + pretty-new: false + cabal-debian: + pretty-112: false + # By skipping a test suite, we do not pull in the build dependencies skipped-tests: - ReadArgs # old version of hspec From 8541f1c4f260af610231f8505a2aa345cf18b5c5 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Fri, 3 Apr 2015 05:28:12 +0300 Subject: [PATCH 361/643] Upper bound for #521 --- build-constraints.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 65c05960..4613281b 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -886,6 +886,9 @@ packages: # https://github.com/fpco/stackage/issues/517 - generic-deriving < 1.7 + # https://github.com/fpco/stackage/issues/521 + - tagged < 0.8 + # Package flags are applied to individual packages, and override the values of # global-flags package-flags: From b4ac928041745a39c28baf246923b7124bd6dec3 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Fri, 3 Apr 2015 09:20:38 +0300 Subject: [PATCH 362/643] Upper bounds for #524 --- build-constraints.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index ea96f239..94644dfb 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -893,6 +893,9 @@ packages: # https://github.com/fpco/stackage/issues/521 - tagged < 0.8 + # https://github.com/fpco/stackage/issues/524 + - repa < 3.4 + # Package flags are applied to individual packages, and override the values of # global-flags package-flags: From dab30803a01af196bad1a5f65b99d5834854365e Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Fri, 3 Apr 2015 13:14:42 +0300 Subject: [PATCH 363/643] Extra repa upper bounds --- build-constraints.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 94644dfb..2de49e1b 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -895,6 +895,8 @@ packages: # https://github.com/fpco/stackage/issues/524 - repa < 3.4 + - repa-algorithms < 3.4 + - repa-io < 3.4 # Package flags are applied to individual packages, and override the values of # global-flags From e1dffa2d88cf3309d5b870ae1fe98055e8c65165 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Fri, 3 Apr 2015 13:32:01 +0300 Subject: [PATCH 364/643] Remove upper bound and close #521 --- build-constraints.yaml | 3 --- 1 file changed, 3 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index 2de49e1b..a5bb0435 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -890,9 +890,6 @@ packages: # https://github.com/fpco/stackage/issues/517 - generic-deriving < 1.7 - # https://github.com/fpco/stackage/issues/521 - - tagged < 0.8 - # https://github.com/fpco/stackage/issues/524 - repa < 3.4 - repa-algorithms < 3.4 From 80f2365c6a9222b0b4043dad8eb6d2005462934b Mon Sep 17 00:00:00 2001 From: Joachim Breitner Date: Fri, 3 Apr 2015 21:36:00 +0200 Subject: [PATCH 365/643] Add list-fusion-probe --- build-constraints.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index a5bb0435..5480ed0b 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -480,6 +480,7 @@ packages: - ghc-heap-view - tttool - gipeda + - list-fusion-probe "Aditya Bhargava Date: Sat, 4 Apr 2015 23:37:51 +0200 Subject: [PATCH 366/643] Add haskell-spacegoo (minor package, but having it in stackage avoids bitrot.) --- build-constraints.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 5480ed0b..fdebbe0f 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -481,6 +481,7 @@ packages: - tttool - gipeda - list-fusion-probe + - haskell-spacegoo "Aditya Bhargava Date: Sun, 5 Apr 2015 10:58:48 +0300 Subject: [PATCH 367/643] Upper bound for Happstack/happstack-server#6 --- build-constraints.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index fdebbe0f..45ca8cb8 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -897,6 +897,9 @@ packages: - repa-algorithms < 3.4 - repa-io < 3.4 + # https://github.com/Happstack/happstack-server/issues/6 + - happstack-server < 7.4.3 + # Package flags are applied to individual packages, and override the values of # global-flags package-flags: From 9136b6ca4df898145a144a31c87128480b2497f3 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Sun, 5 Apr 2015 11:29:53 +0300 Subject: [PATCH 368/643] Upper bound for mgajda/json-autotype#5 --- build-constraints.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 45ca8cb8..70614e34 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -900,6 +900,9 @@ packages: # https://github.com/Happstack/happstack-server/issues/6 - happstack-server < 7.4.3 + # https://github.com/mgajda/json-autotype/issues/5 + - json-autotype < 0.4 + # Package flags are applied to individual packages, and override the values of # global-flags package-flags: From 0217ba42ab2aa247bbd63a1813c303f08b6b3c62 Mon Sep 17 00:00:00 2001 From: Stefan Saasen Date: Sun, 5 Apr 2015 21:21:42 +1000 Subject: [PATCH 369/643] Add 'jwt' --- build-constraints.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 70614e34..c7961b0b 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -860,6 +860,9 @@ packages: - debian - cabal-debian + "Stefan Saasen ": + - jwt + "Stackage upper bounds": # GHC 7.8 uppdate bound - haddock-api < 2.16 From 0e947550a722d3aef4fe2c020105fe4f158555e1 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Sun, 5 Apr 2015 16:03:17 +0300 Subject: [PATCH 370/643] Add monad-unlift --- build-constraints.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index c7961b0b..5530a5b0 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -49,6 +49,7 @@ packages: - lzma-conduit - mutable-containers - hpc-coveralls + - monad-unlift "FP Complete michael@fpcomplete.com @snoyberg": - alex From 578fcbdc31ddce5f664c50c68f67fbec76a60872 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Sun, 5 Apr 2015 21:57:30 +0300 Subject: [PATCH 371/643] Remove skipped benchmark and close #488 --- build-constraints.yaml | 3 --- 1 file changed, 3 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index 5530a5b0..8177b0b3 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -1253,9 +1253,6 @@ skipped-benchmarks: # sometimes falls out-of-sync on hasql-postgres - hasql - # https://github.com/fpco/stackage/issues/488 - - uuid-types - # https://github.com/fpco/stackage/issues/494 - case-insensitive - postgresql-binary From b7f9effd7d2c4630a9a338a6d461739d52e65693 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Mon, 6 Apr 2015 16:52:59 +0300 Subject: [PATCH 372/643] Upgrade to Ubuntu 14.04 --- Dockerfile | 2 +- debian-bootstrap.sh | 4 ---- 2 files changed, 1 insertion(+), 5 deletions(-) diff --git a/Dockerfile b/Dockerfile index 59d14682..ca916c3e 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM ubuntu:12.04 +FROM ubuntu:14.04 ENV HOME /home/stackage ENV LANG en_US.UTF-8 diff --git a/debian-bootstrap.sh b/debian-bootstrap.sh index 2f158306..15a1bec7 100755 --- a/debian-bootstrap.sh +++ b/debian-bootstrap.sh @@ -10,9 +10,6 @@ # instructions, see: # http://www.stackage.org/install -add-apt-repository -y ppa:chris-lea/zeromq -add-apt-repository -y ppa:floe/libtisch -add-apt-repository -y ppa:zoogie/sdl2-snapshots apt-get update apt-get install -y \ build-essential \ @@ -21,7 +18,6 @@ apt-get install -y \ wget \ m4 \ texlive-full \ - libgmp3c2 \ libgmp3-dev \ zlib1g-dev \ libedit2 \ From e8a432d97d3361a577761fcc7ff1cdc122d01ff8 Mon Sep 17 00:00:00 2001 From: Kritzefitz Date: Mon, 6 Apr 2015 21:28:07 +0200 Subject: [PATCH 373/643] Add setlocale --- build-constraints.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 8177b0b3..033798ab 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -863,6 +863,9 @@ packages: "Stefan Saasen ": - jwt + + "Sven Bartscher sven.bartscher@weltraumschlangen.de @kritzefitz": + - setlocale "Stackage upper bounds": # GHC 7.8 uppdate bound From 9be64048ebd060dd2bf79afdd40d2cd4a49a7fc1 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Mon, 6 Apr 2015 22:43:46 +0300 Subject: [PATCH 374/643] Upper bound for #529 --- build-constraints.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 033798ab..da51ffdf 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -910,6 +910,9 @@ packages: # https://github.com/mgajda/json-autotype/issues/5 - json-autotype < 0.4 + # https://github.com/fpco/stackage/issues/529 + - fixed-vector < 0.8 + # Package flags are applied to individual packages, and override the values of # global-flags package-flags: From 46c7bb0710beb142b54cfa921052c5b93704e3d6 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Tue, 7 Apr 2015 10:01:51 +0300 Subject: [PATCH 375/643] Remove json-autotype upper bound --- build-constraints.yaml | 3 --- 1 file changed, 3 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index da51ffdf..50198e2c 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -907,9 +907,6 @@ packages: # https://github.com/Happstack/happstack-server/issues/6 - happstack-server < 7.4.3 - # https://github.com/mgajda/json-autotype/issues/5 - - json-autotype < 0.4 - # https://github.com/fpco/stackage/issues/529 - fixed-vector < 0.8 From a078ebab2830297a10d717c6eed6e33e7eb0dd4f Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Tue, 7 Apr 2015 10:01:59 +0300 Subject: [PATCH 376/643] Add back sdl2 PPA --- debian-bootstrap.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/debian-bootstrap.sh b/debian-bootstrap.sh index 15a1bec7..8064d9b3 100755 --- a/debian-bootstrap.sh +++ b/debian-bootstrap.sh @@ -10,6 +10,8 @@ # instructions, see: # http://www.stackage.org/install +add-apt-repository -y ppa:zoogie/sdl2-snapshots + apt-get update apt-get install -y \ build-essential \ From c5f6a32f40ad3cdc99353f6cae6d518bed0f2f12 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Tue, 7 Apr 2015 11:25:23 +0300 Subject: [PATCH 377/643] Expected Haddock failure: Cabal-ide-backend --- build-constraints.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 50198e2c..399ad4a1 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -1230,6 +1230,9 @@ expected-haddock-failures: # builds. Could consider special-casing this requirement. - gtk + # Not sure why, but it's a temporary package anyway + - Cabal-ide-backend + # Benchmarks which should not be built. Note that Stackage does *not* generally # build benchmarks. The difference here will be whether dependencies for these # benchmarks are included or not. From 18500d3685e1a8e7e3d2731894c0de7ebea66173 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Wed, 8 Apr 2015 08:22:13 +0300 Subject: [PATCH 378/643] old-locale for hledger --- build-constraints.yaml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 399ad4a1..58652bfc 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -979,6 +979,13 @@ package-flags: cabal-debian: pretty-112: false + hledger: + old-locale: true + hledger-lib: + old-locale: true + hledger-web: + old-locale: true + # By skipping a test suite, we do not pull in the build dependencies skipped-tests: - ReadArgs # old version of hspec From 4daee956eeb1428a98957d5fcac55ef823a79af7 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Wed, 8 Apr 2015 09:36:28 +0300 Subject: [PATCH 379/643] Expected test failure jaspervdj/hakyll#345 --- build-constraints.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 58652bfc..40bd4411 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -1222,6 +1222,9 @@ expected-test-failures: # Requires running server - consul-haskell + # https://github.com/jaspervdj/hakyll/issues/345 + - hakyll + # Haddocks which are expected to fail. Same concept as expected test failures. expected-haddock-failures: # https://github.com/acw/bytestring-progress/issues/4 From 2b715658ab6409300ad5573f4d90b1dfcc939bf1 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Wed, 8 Apr 2015 17:08:35 +0300 Subject: [PATCH 380/643] Don't expect test failure jaspervdj/hakyll#345 --- build-constraints.yaml | 3 --- 1 file changed, 3 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index 40bd4411..58652bfc 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -1222,9 +1222,6 @@ expected-test-failures: # Requires running server - consul-haskell - # https://github.com/jaspervdj/hakyll/issues/345 - - hakyll - # Haddocks which are expected to fail. Same concept as expected test failures. expected-haddock-failures: # https://github.com/acw/bytestring-progress/issues/4 From ac7a7c7a842e1616d1cfd40a9554ca26dfc41b2b Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Wed, 8 Apr 2015 17:16:50 +0300 Subject: [PATCH 381/643] Docker: install newest cabal-install Otherwise, old Cabal and Cabal-ide-backend (based on newer Cabal) seem to get completely confused about custom package databases... yay broken software! --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index ca916c3e..ca33effa 100644 --- a/Dockerfile +++ b/Dockerfile @@ -19,7 +19,7 @@ RUN DEBIAN_FRONTEND=noninteractive apt-get install -y cabal-install-1.20 ghc-7.8 ENV PATH /home/stackage/.cabal/bin:/usr/local/sbin:/usr/local/bin:/opt/ghc/7.8.4/bin:/opt/cabal/1.20/bin:/opt/alex/3.1.3/bin:/opt/happy/1.19.4/bin:/usr/sbin:/usr/bin:/sbin:/bin RUN cabal update -RUN cabal install hscolour cabal-install --constraint "Cabal < 1.22" && cp $HOME/.cabal/bin/* /usr/local/bin && rm -rf $HOME/.cabal $HOME/.ghc /tmp/stackage +RUN cabal install hscolour cabal-install && cp $HOME/.cabal/bin/* /usr/local/bin && rm -rf $HOME/.cabal $HOME/.ghc /tmp/stackage RUN wget https://s3.amazonaws.com/stackage-travis/stackage-curator/stackage-curator.bz2 && bunzip2 stackage-curator.bz2 && chmod +x stackage-curator && mv stackage-curator /usr/local/bin RUN cd /home/stackage && cabal update && stackage-curator check From a752fbe75b59b0d60cd9c1a7fa4483d2522ee129 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Sun, 12 Apr 2015 12:11:58 +0300 Subject: [PATCH 382/643] Remove upper bounds and close #529 --- build-constraints.yaml | 3 --- 1 file changed, 3 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index 58652bfc..3ea76982 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -907,9 +907,6 @@ packages: # https://github.com/Happstack/happstack-server/issues/6 - happstack-server < 7.4.3 - # https://github.com/fpco/stackage/issues/529 - - fixed-vector < 0.8 - # Package flags are applied to individual packages, and override the values of # global-flags package-flags: From 54eba2076ec76038619e90860858ea8c72aed42b Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Sun, 12 Apr 2015 12:12:54 +0300 Subject: [PATCH 383/643] Upper bound for #531 --- build-constraints.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 3ea76982..18077cf1 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -907,6 +907,9 @@ packages: # https://github.com/Happstack/happstack-server/issues/6 - happstack-server < 7.4.3 + # https://github.com/fpco/stackage/issues/531 + - sbv < 4.3 + # Package flags are applied to individual packages, and override the values of # global-flags package-flags: From 406c9bc02a057b81b532001fef8cbe7b27774608 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Sun, 12 Apr 2015 12:59:04 +0300 Subject: [PATCH 384/643] Remove lens upper bound --- build-constraints.yaml | 3 --- 1 file changed, 3 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index 97a48751..78fba28b 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -868,9 +868,6 @@ packages: - setlocale "Stackage upper bounds": - # https://github.com/fpco/stackage/issues/467 - - lens < 4.8 - # https://github.com/fpco/stackage/issues/476 - vector-space < 0.10 From 576ed0d892cd76fb7c241efea977c3142b30cf82 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Mon, 13 Apr 2015 09:05:49 +0300 Subject: [PATCH 385/643] Avoid some broken versions --- build-constraints.yaml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 18077cf1..5f013bcc 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -910,6 +910,12 @@ packages: # https://github.com/fpco/stackage/issues/531 - sbv < 4.3 + # https://github.com/chrisdone/pdfinfo/issues/11 + - pdfinfo < 1.5.3 || > 1.5.3 + + # https://github.com/RaphaelJ/repa-devil/issues/7 + - repa-devil == 0.3.2.2 + # Package flags are applied to individual packages, and override the values of # global-flags package-flags: From 49f40b4c46b6e6fb4f4fcefe94afa6ac6bcca3f2 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Mon, 13 Apr 2015 13:45:31 +0300 Subject: [PATCH 386/643] Remove repa-devil constraint --- build-constraints.yaml | 3 --- 1 file changed, 3 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index 5f013bcc..5ab2b627 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -913,9 +913,6 @@ packages: # https://github.com/chrisdone/pdfinfo/issues/11 - pdfinfo < 1.5.3 || > 1.5.3 - # https://github.com/RaphaelJ/repa-devil/issues/7 - - repa-devil == 0.3.2.2 - # Package flags are applied to individual packages, and override the values of # global-flags package-flags: From 5535e761379fa3806da83d3647d29fb6e19a5363 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Mon, 13 Apr 2015 13:48:35 +0300 Subject: [PATCH 387/643] Remove pdfinfo bounds chrisdone/pdfinfo#11 --- build-constraints.yaml | 3 --- 1 file changed, 3 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index 5ab2b627..18077cf1 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -910,9 +910,6 @@ packages: # https://github.com/fpco/stackage/issues/531 - sbv < 4.3 - # https://github.com/chrisdone/pdfinfo/issues/11 - - pdfinfo < 1.5.3 || > 1.5.3 - # Package flags are applied to individual packages, and override the values of # global-flags package-flags: From 205237cea78d320c9beb13fe2a2380e7d3721564 Mon Sep 17 00:00:00 2001 From: Leon Mergen Date: Mon, 13 Apr 2015 18:48:18 +0700 Subject: [PATCH 388/643] Adds bitcoin-script and bitcoin-tx --- build-constraints.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 18077cf1..6fec7981 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -737,6 +737,8 @@ packages: - sdl2 "Leon Mergen leon@solatis.com @solatis": + - bitcoin-script + - bitcoin-tx - network-attoparsec - network-anonymous-i2p From 093485f26d8903c3d7746a6b86d8c2aed2852fe5 Mon Sep 17 00:00:00 2001 From: Taylor Fausak Date: Tue, 14 Apr 2015 09:03:31 -0500 Subject: [PATCH 389/643] Add flow --- build-constraints.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 6fec7981..82bd73d5 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -869,6 +869,9 @@ packages: "Sven Bartscher sven.bartscher@weltraumschlangen.de @kritzefitz": - setlocale + "Taylor Fausak @tfausak": + - flow + "Stackage upper bounds": # GHC 7.8 uppdate bound - haddock-api < 2.16 From a791e9f6ad84c9352afe3e23db49f8ff4e85ad49 Mon Sep 17 00:00:00 2001 From: "Adam C. Foltzer" Date: Tue, 14 Apr 2015 14:06:37 -0700 Subject: [PATCH 390/643] add persistent-refs --- build-constraints.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 82bd73d5..e52165c0 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -764,6 +764,7 @@ packages: "Adam C. Foltzer acfoltzer@galois.com @acfoltzer": - cryptol - gitrev + - persistent-refs "Luke Taylor tekul.hs@gmail.com @tekul": - jose-jwt From abc01983fb9c9461bee418d674513b21bf763612 Mon Sep 17 00:00:00 2001 From: Brendan Hay Date: Wed, 15 Apr 2015 15:12:01 +0200 Subject: [PATCH 391/643] Adding Amazon Machine Learning SDK --- build-constraints.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index e52165c0..939ed8a1 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -801,6 +801,7 @@ packages: - amazonka-kinesis - amazonka-kms - amazonka-lambda + - amazonka-ml - amazonka-opsworks - amazonka-rds - amazonka-redshift From 2f9053a2562f8ab099eb076c8efeb407ff5e0269 Mon Sep 17 00:00:00 2001 From: Brendan Hay Date: Wed, 15 Apr 2015 16:17:29 +0200 Subject: [PATCH 392/643] Adding Amazon WorkSpaces SDK --- build-constraints.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 939ed8a1..acbb0ef5 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -817,6 +817,7 @@ packages: - amazonka-sts - amazonka-support - amazonka-swf + - amazonka-workspaces - ede - pagerduty - semver From a98ce596b9e6dd21fb14415e7dfbfc78d88a8876 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Thu, 16 Apr 2015 19:23:01 +0300 Subject: [PATCH 393/643] Upper bound for #537 --- build-constraints.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index acbb0ef5..6ff2710a 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -918,6 +918,9 @@ packages: # https://github.com/fpco/stackage/issues/531 - sbv < 4.3 + # https://github.com/fpco/stackage/issues/537 + - zlib < 0.6 + # Package flags are applied to individual packages, and override the values of # global-flags package-flags: From c863a3230973b6e34f62ab13955414e2cf5dcea8 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Fri, 17 Apr 2015 06:35:06 +0300 Subject: [PATCH 394/643] Add stackage-update --- build-constraints.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 6ff2710a..b0cc3b54 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -95,6 +95,7 @@ packages: - stackage - stackage-curator - stackage-types + - stackage-update - statistics-linreg - th-expand-syns - thyme From e702d53329313669ee5055526f9e034a6a5e5175 Mon Sep 17 00:00:00 2001 From: Marios Titas Date: Fri, 17 Apr 2015 16:07:40 +0100 Subject: [PATCH 395/643] add github/redneb packages --- build-constraints.yaml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index b0cc3b54..a0947af3 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -876,6 +876,14 @@ packages: "Taylor Fausak @tfausak": - flow + "Marios Titas @redneb": + - btrfs + - disk-free-space + - hxt-css + - islink + - linux-file-extents + - linux-namespaces + "Stackage upper bounds": # GHC 7.8 uppdate bound - haddock-api < 2.16 From 6411755ebffaea32ae86f42c2756d0f5e3d7d053 Mon Sep 17 00:00:00 2001 From: Will Coster Date: Sun, 19 Apr 2015 16:49:17 -0700 Subject: [PATCH 396/643] Add scalpel to stackage --- build-constraints.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index a0947af3..a06bedb6 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -883,6 +883,9 @@ packages: - islink - linux-file-extents - linux-namespaces + + "Will Coster @fimad": + - scalpel "Stackage upper bounds": # GHC 7.8 uppdate bound From c30a504b2e894f47bb2de24632e4d4e9164a1f4c Mon Sep 17 00:00:00 2001 From: Leon Mergen Date: Mon, 20 Apr 2015 10:05:06 +0700 Subject: [PATCH 397/643] Adds hexstring package --- build-constraints.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index a0947af3..5bfac0bb 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -740,6 +740,7 @@ packages: "Leon Mergen leon@solatis.com @solatis": - bitcoin-script - bitcoin-tx + - hexstring - network-attoparsec - network-anonymous-i2p From b5179dbb9e11beaddd41779bf2f20b22a5c8d523 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Mon, 20 Apr 2015 07:26:35 +0300 Subject: [PATCH 398/643] Temporarily block Chart-diagrams #541 --- build-constraints.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index b0cc3b54..bdbe7f9f 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -60,7 +60,8 @@ packages: - cairo - cassava - Chart - - Chart-diagrams + # https://github.com/fpco/stackage/issues/541 + # - Chart-diagrams - compdata - configurator - convertible From 6f629d3809f4719593deadb89621cfa9b195c402 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Mon, 20 Apr 2015 10:39:46 +0300 Subject: [PATCH 399/643] Add stackage-cli --- build-constraints.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index e38aa71c..785351b4 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -97,6 +97,7 @@ packages: - stackage-curator - stackage-types - stackage-update + - stackage-cli - statistics-linreg - th-expand-syns - thyme From 781078b12650bd97095dce3c7351280ee4957997 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Mon, 20 Apr 2015 10:48:04 +0300 Subject: [PATCH 400/643] Add subdirectory with stackage package --- stackage/ChangeLog.md | 5 +++++ stackage/LICENSE | 20 ++++++++++++++++++++ stackage/README.md | 2 ++ stackage/Setup.hs | 2 ++ stackage/Stackage/Dummy.hs | 3 +++ stackage/stackage.cabal | 23 +++++++++++++++++++++++ 6 files changed, 55 insertions(+) create mode 100644 stackage/ChangeLog.md create mode 100644 stackage/LICENSE create mode 100644 stackage/README.md create mode 100644 stackage/Setup.hs create mode 100644 stackage/Stackage/Dummy.hs create mode 100644 stackage/stackage.cabal diff --git a/stackage/ChangeLog.md b/stackage/ChangeLog.md new file mode 100644 index 00000000..51676ad3 --- /dev/null +++ b/stackage/ChangeLog.md @@ -0,0 +1,5 @@ +## 0.7.0.0 + +* First release of this incarnation of the stackage package. Previously, this + package provided completely different functionality. That functionality has + since moved to stackage-curator. diff --git a/stackage/LICENSE b/stackage/LICENSE new file mode 100644 index 00000000..b08099d7 --- /dev/null +++ b/stackage/LICENSE @@ -0,0 +1,20 @@ +Copyright (c) 2015 FP Complete + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/stackage/README.md b/stackage/README.md new file mode 100644 index 00000000..941a7319 --- /dev/null +++ b/stackage/README.md @@ -0,0 +1,2 @@ +This is a dummy wrapper package, forcing installation of other packages which +provide real functionality. diff --git a/stackage/Setup.hs b/stackage/Setup.hs new file mode 100644 index 00000000..9a994af6 --- /dev/null +++ b/stackage/Setup.hs @@ -0,0 +1,2 @@ +import Distribution.Simple +main = defaultMain diff --git a/stackage/Stackage/Dummy.hs b/stackage/Stackage/Dummy.hs new file mode 100644 index 00000000..e82e4a47 --- /dev/null +++ b/stackage/Stackage/Dummy.hs @@ -0,0 +1,3 @@ +-- | This module does absolutely nothing. It's present so that cabal can more +-- easily track whether the stackage package is installed. +module Stackage.Dummy () where diff --git a/stackage/stackage.cabal b/stackage/stackage.cabal new file mode 100644 index 00000000..7c002014 --- /dev/null +++ b/stackage/stackage.cabal @@ -0,0 +1,23 @@ +name: stackage +version: 0.7.0.0 +synopsis: Dummy package forcing installation of other Stackage packages +homepage: https://www.stackage.org/ +license: MIT +license-file: LICENSE +author: Michael Snoyman +maintainer: michael@snoyman.com +category: Development +build-type: Simple +extra-source-files: README.md ChangeLog.md +cabal-version: >=1.10 + +library + exposed-modules: Stackage.Dummy + build-depends: base < 10 + , stackage-cli + , stackage-update + default-language: Haskell2010 + +source-repository head + type: git + location: git://github.com/fpco/stackage.git From 2fb2c6fa37400672a1e4506fd7bc57838b3baaed Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Tue, 21 Apr 2015 15:00:18 +0300 Subject: [PATCH 401/643] Install htmldocs in Docker --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index ca33effa..7fa1033b 100644 --- a/Dockerfile +++ b/Dockerfile @@ -14,7 +14,7 @@ ADD debian-bootstrap.sh /tmp/debian-bootstrap.sh RUN DEBIAN_FRONTEND=noninteractive bash /tmp/debian-bootstrap.sh RUN rm /tmp/debian-bootstrap.sh -RUN DEBIAN_FRONTEND=noninteractive apt-get install -y cabal-install-1.20 ghc-7.8.4 alex-3.1.3 happy-1.19.4 sudo +RUN DEBIAN_FRONTEND=noninteractive apt-get install -y cabal-install-1.20 ghc-7.8.4 ghc-7.8.4-htmldocs alex-3.1.3 happy-1.19.4 sudo ENV PATH /home/stackage/.cabal/bin:/usr/local/sbin:/usr/local/bin:/opt/ghc/7.8.4/bin:/opt/cabal/1.20/bin:/opt/alex/3.1.3/bin:/opt/happy/1.19.4/bin:/usr/sbin:/usr/bin:/sbin:/bin From 020e3e7313d8ddf4a72a82fe848cc55c08a5d8ab Mon Sep 17 00:00:00 2001 From: Alexey Smirnov Date: Tue, 21 Apr 2015 15:16:27 +0300 Subject: [PATCH 402/643] Add snmp and agentx --- build-constraints.yaml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 785351b4..b3e6e439 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -889,6 +889,10 @@ packages: "Will Coster @fimad": - scalpel + + "Smirnov Alexey @chemist": + - snmp + - agentx "Stackage upper bounds": # GHC 7.8 uppdate bound From 5ad4e99deeb8403117c7f8850e72cac3ad7bcc0a Mon Sep 17 00:00:00 2001 From: David Christiansen Date: Tue, 21 Apr 2015 16:33:09 +0200 Subject: [PATCH 403/643] Add annotated-wl-pprint Hopefully the syntax is correct this time :-) --- build-constraints.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index b3e6e439..97f8c1b4 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -893,6 +893,9 @@ packages: "Smirnov Alexey @chemist": - snmp - agentx + + "David Raymond Christiansen @david-christiansen": + - annotated-wl-pprint "Stackage upper bounds": # GHC 7.8 uppdate bound From 92c853d1fbd2c4e7c090bba7ee6a91b9a53a58f2 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Wed, 22 Apr 2015 08:02:12 +0300 Subject: [PATCH 404/643] Docker: install git --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 7fa1033b..8326f435 100644 --- a/Dockerfile +++ b/Dockerfile @@ -7,7 +7,7 @@ RUN mkdir /home/stackage -p RUN locale-gen en_US.UTF-8 RUN DEBIAN_FRONTEND=noninteractive apt-get update -RUN DEBIAN_FRONTEND=noninteractive apt-get install -y software-properties-common python-software-properties +RUN DEBIAN_FRONTEND=noninteractive apt-get install -y software-properties-common python-software-properties git RUN DEBIAN_FRONTEND=noninteractive add-apt-repository ppa:hvr/ghc -y ADD debian-bootstrap.sh /tmp/debian-bootstrap.sh From d65e54a7773ed170c779f488e0151e5841a0ee3b Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Wed, 22 Apr 2015 12:20:28 +0300 Subject: [PATCH 405/643] Add WIP nightly.sh script --- automated/nightly.sh | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100755 automated/nightly.sh diff --git a/automated/nightly.sh b/automated/nightly.sh new file mode 100755 index 00000000..d0406c4d --- /dev/null +++ b/automated/nightly.sh @@ -0,0 +1,34 @@ +#!/bin/bash + +# Work in progress + +set -e +set -x + +TARGET=nightly +WORKDIR=nightly +PLAN_FILE=current-plan.yaml +BUNDLE_FILE=current.bundle + +cd /home/ubuntu + +mkdir -p cabal ghc $WORKDIR .stackage-curator +rm -f stackage-curator stackage-curator.bz2 +wget https://s3.amazonaws.com/stackage-travis/stackage-curator/stackage-curator.bz2 +bunzip2 stackage-curator.bz2 +chmod +x stackage-curator + +cat >gitconfig < Date: Wed, 22 Apr 2015 17:40:32 +0300 Subject: [PATCH 406/643] New build.sh --- automated/.gitignore | 10 ++++++ automated/build.sh | 73 ++++++++++++++++++++++++++++++++++++++++++++ automated/nightly.sh | 34 --------------------- 3 files changed, 83 insertions(+), 34 deletions(-) create mode 100644 automated/.gitignore create mode 100755 automated/build.sh delete mode 100755 automated/nightly.sh diff --git a/automated/.gitignore b/automated/.gitignore new file mode 100644 index 00000000..8285928f --- /dev/null +++ b/automated/.gitignore @@ -0,0 +1,10 @@ +/auth-token +/bin/ +/gitconfig +/hackage-creds +/ssh-nightly/ +/ssh-lts/ +/nighlty/ +/lts-*/ +/stackage-curator/ +/stackage-update/ diff --git a/automated/build.sh b/automated/build.sh new file mode 100755 index 00000000..3d92d45d --- /dev/null +++ b/automated/build.sh @@ -0,0 +1,73 @@ +#!/usr/bin/env bash + +set -eux + +ROOT=$(cd $(dirname $0) ; pwd) +TARGET=$1 +TROOT=$ROOT/$(echo $TARGET | cut -d. -f 1) +PLAN_FILE=current-plan.yaml +BUNDLE_FILE=current.bundle + +CABAL_DIR=$ROOT/cabal +GHC_DIR=$ROOT/ghc +CURATOR_DIR=$ROOT/stackage-curator +UPDATE_DIR=$ROOT/stackage-update +WORKDIR=$TROOT/work +SSH_DIR=$ROOT/ssh-$(echo $TARGET | cut -d- -f 1) + +mkdir -p \ + "$CABAL_DIR" \ + "$GHC_DIR" \ + "$CURATOR_DIR" \ + "$UPDATE_DIR" \ + "$WORKDIR" \ + "$SSH_DIR" + +GITCONFIG=$ROOT/gitconfig +cat >$GITCONFIG <$SSH_DIR/known_hosts <gitconfig < Date: Wed, 22 Apr 2015 17:55:59 +0300 Subject: [PATCH 407/643] Upper bound for simonmichael/hledger#245 --- build-constraints.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 97f8c1b4..881679f5 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -943,6 +943,9 @@ packages: # https://github.com/fpco/stackage/issues/537 - zlib < 0.6 + # https://github.com/simonmichael/hledger/issues/245 + - base-compat < 0.8 + # Package flags are applied to individual packages, and override the values of # global-flags package-flags: From 819e0d388899e11c1b5c2d71626821931d9013fc Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Sat, 25 Apr 2015 21:00:10 +0300 Subject: [PATCH 408/643] Temporarily block Chart, allow newer lens --- build-constraints.yaml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index 881679f5..68e1ea4b 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -59,7 +59,10 @@ packages: - c2hs - cairo - cassava - - Chart + + # https://github.com/fpco/stackage/issues/467 + # - Chart + # https://github.com/fpco/stackage/issues/541 # - Chart-diagrams - compdata @@ -906,9 +909,6 @@ packages: # Force a specific version that's compatible with transformers 0.3 - transformers-compat == 0.4.0.3 - # https://github.com/fpco/stackage/issues/467 - - lens < 4.8 - # https://github.com/fpco/stackage/issues/476 - vector-space < 0.10 From 725dbdeb63aea6ff79101e1021667ae16139de33 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Sun, 26 Apr 2015 08:37:02 +0300 Subject: [PATCH 409/643] Remove upper bounds and close #467 --- build-constraints.yaml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index 68e1ea4b..878c6d72 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -59,9 +59,7 @@ packages: - c2hs - cairo - cassava - - # https://github.com/fpco/stackage/issues/467 - # - Chart + - Chart # https://github.com/fpco/stackage/issues/541 # - Chart-diagrams From 6c3e6ece90bbf3202ca971c811c3898635d3ea64 Mon Sep 17 00:00:00 2001 From: Leon Mergen Date: Sun, 26 Apr 2015 17:35:46 +0700 Subject: [PATCH 410/643] Adds base58string --- build-constraints.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 878c6d72..414a75fa 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -741,6 +741,7 @@ packages: - sdl2 "Leon Mergen leon@solatis.com @solatis": + - base58string - bitcoin-script - bitcoin-tx - hexstring From a9f8db27e42718fbb1a5c324f846e3af9dc9bc92 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=B6nke=20Hahn?= Date: Mon, 27 Apr 2015 11:20:04 +0800 Subject: [PATCH 411/643] add getopt-generics --- build-constraints.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 414a75fa..aa71dc3b 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -760,6 +760,7 @@ packages: - language-c-quote "Sönke Hahn soenkehahn@gmail.com @soenkehahn": + - getopt-generics - string-conversions "Oleg Grenrus oleg.grenrus@iki.fi @phadej": From a8a59af5a4bba3de5cdf8bbe110a8fd661d06815 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Mon, 27 Apr 2015 11:15:38 +0300 Subject: [PATCH 412/643] Skip tests due to #479 --- build-constraints.yaml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 414a75fa..7ddc641e 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -912,6 +912,7 @@ packages: - vector-space < 0.10 # https://github.com/fpco/stackage/issues/479 + # Remove skipped tests below as well - QuickCheck < 2.8 - cabal-test-quickcheck < 0.1.5 @@ -1070,6 +1071,10 @@ skipped-tests: # https://github.com/Soostone/retry/issues/18 - retry + # https://github.com/fpco/stackage/issues/479 + - prednote + - rainbow + # Tests which we should build and run, but which are expected to fail. We # should not fail a build based on a test failure for one of these packages. expected-test-failures: From c36fdd4adc153a7d40e72dd89f1313565eb70582 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Mon, 27 Apr 2015 12:13:23 +0300 Subject: [PATCH 413/643] Add stackage-upload --- build-constraints.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 7ddc641e..e323c3f0 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -98,6 +98,7 @@ packages: - stackage-curator - stackage-types - stackage-update + - stackage-upload - stackage-cli - statistics-linreg - th-expand-syns From 4711185bfabaa8553e3ae91c0b3d76b5c8e4da3b Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Tue, 28 Apr 2015 06:28:43 +0300 Subject: [PATCH 414/643] Remove some #479 skipped tests --- build-constraints.yaml | 5 ----- 1 file changed, 5 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index e323c3f0..78bb987b 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -913,7 +913,6 @@ packages: - vector-space < 0.10 # https://github.com/fpco/stackage/issues/479 - # Remove skipped tests below as well - QuickCheck < 2.8 - cabal-test-quickcheck < 0.1.5 @@ -1072,10 +1071,6 @@ skipped-tests: # https://github.com/Soostone/retry/issues/18 - retry - # https://github.com/fpco/stackage/issues/479 - - prednote - - rainbow - # Tests which we should build and run, but which are expected to fail. We # should not fail a build based on a test failure for one of these packages. expected-test-failures: From d4030fb548080697856c42f8e0bcb39ced0f679e Mon Sep 17 00:00:00 2001 From: Dan Burton Date: Mon, 27 Apr 2015 21:46:28 -0700 Subject: [PATCH 415/643] + Dan Burton: yesod-gitrev --- build-constraints.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 78bb987b..a9a56f99 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -378,6 +378,7 @@ packages: - accelerate "Dan Burton ": + - yesod-gitrev - basic-prelude - composition - io-memoize From 2edf57c3351edbcb5bc396bb3cbcc980640ca50d Mon Sep 17 00:00:00 2001 From: Toralf Wittner Date: Tue, 28 Apr 2015 11:02:54 +0200 Subject: [PATCH 416/643] Update build-constraints.yaml --- build-constraints.yaml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index a9a56f99..522696c3 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -574,6 +574,15 @@ packages: - yesod-auth-hashdb "Toralf Wittner ": + - bytestring-conversion + - cql + - cql-io + - redis-resp + - redis-io + - swagger + - tinylog + - wai-predicates + - wai-routing - zeromq4-haskell "trupill@gmail.com": From 83239fd16451aa38826a58d23ceb7141e7f4dd08 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Wed, 29 Apr 2015 08:46:01 +0300 Subject: [PATCH 417/643] Expected test failures --- build-constraints.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 522696c3..e09b536b 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -1267,6 +1267,8 @@ expected-test-failures: # Requires running server - consul-haskell + - hedis + - redis-io # Haddocks which are expected to fail. Same concept as expected test failures. expected-haddock-failures: From 2e0e4c05ee7f455f84c47f393f796f153d63bbdc Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Wed, 29 Apr 2015 10:48:56 +0300 Subject: [PATCH 418/643] Expect test failure twittner/swagger#3 --- build-constraints.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index e09b536b..959a0b15 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -1270,6 +1270,9 @@ expected-test-failures: - hedis - redis-io + # https://github.com/twittner/swagger/issues/3 + - swagger + # Haddocks which are expected to fail. Same concept as expected test failures. expected-haddock-failures: # https://github.com/acw/bytestring-progress/issues/4 From ee33f8ba92f2e3f917367d8c3d343907a28d7e8c Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Wed, 29 Apr 2015 11:55:15 +0300 Subject: [PATCH 419/643] Add stackage-install --- build-constraints.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 959a0b15..986ada50 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -100,6 +100,7 @@ packages: - stackage-update - stackage-upload - stackage-cli + - stackage-install - statistics-linreg - th-expand-syns - thyme From 2a3c8f9b1fc9761d32994c6a825709aa4b931b35 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Wed, 29 Apr 2015 11:55:59 +0300 Subject: [PATCH 420/643] stackage package: include -upload and -install --- stackage/stackage.cabal | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/stackage/stackage.cabal b/stackage/stackage.cabal index 7c002014..ca16cdd8 100644 --- a/stackage/stackage.cabal +++ b/stackage/stackage.cabal @@ -1,5 +1,5 @@ name: stackage -version: 0.7.0.0 +version: 0.7.1.0 synopsis: Dummy package forcing installation of other Stackage packages homepage: https://www.stackage.org/ license: MIT @@ -16,6 +16,8 @@ library build-depends: base < 10 , stackage-cli , stackage-update + , stackage-upload + , stackage-install default-language: Haskell2010 source-repository head From b9116f11efd089594174f1f3491eb27600c874d5 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Wed, 29 Apr 2015 12:21:16 +0300 Subject: [PATCH 421/643] Add additional stackage project links --- README.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/README.md b/README.md index f7048506..135b2f07 100644 --- a/README.md +++ b/README.md @@ -17,6 +17,10 @@ project information. In addition, we have the following repositories: * [stackage-curator](https://github.com/fpco/stackage-curator) [![Build Status](https://travis-ci.org/fpco/stackage-curator.svg?branch=master)](https://travis-ci.org/fpco/stackage-curator) * [stackage-types](https://github.com/fpco/stackage-types) [![Build Status](https://travis-ci.org/fpco/stackage-types.svg?branch=master)](https://travis-ci.org/fpco/stackage-types) * [lts-haskell](https://github.com/fpco/lts-haskell) +* [stackage-cli](https://github.com/fpco/stackage-cli) [![Build Status](https://travis-ci.org/fpco/stackage-cli.svg?branch=master)](https://travis-ci.org/fpco/stackage-cli) +* [stackage-update](https://github.com/fpco/stackage-update) [![Build Status](https://travis-ci.org/fpco/stackage-update.svg?branch=master)](https://travis-ci.org/fpco/stackage-update) +* [stackage-upload](https://github.com/fpco/stackage-upload) [![Build Status](https://travis-ci.org/fpco/stackage-upload.svg?branch=master)](https://travis-ci.org/fpco/stackage-upload) +* [stackage-install](https://github.com/fpco/stackage-install) [![Build Status](https://travis-ci.org/fpco/stackage-install.svg?branch=master)](https://travis-ci.org/fpco/stackage-install) Get your package included ------------------------- From 0d0908d977ea892c64cc3e633526cb3f392bb07d Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Wed, 29 Apr 2015 12:22:04 +0300 Subject: [PATCH 422/643] stackage-nightly repo link --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 135b2f07..2cc5a0c4 100644 --- a/README.md +++ b/README.md @@ -17,6 +17,7 @@ project information. In addition, we have the following repositories: * [stackage-curator](https://github.com/fpco/stackage-curator) [![Build Status](https://travis-ci.org/fpco/stackage-curator.svg?branch=master)](https://travis-ci.org/fpco/stackage-curator) * [stackage-types](https://github.com/fpco/stackage-types) [![Build Status](https://travis-ci.org/fpco/stackage-types.svg?branch=master)](https://travis-ci.org/fpco/stackage-types) * [lts-haskell](https://github.com/fpco/lts-haskell) +* [stackage-nightly](https://github.com/fpco/stackage-nightly) * [stackage-cli](https://github.com/fpco/stackage-cli) [![Build Status](https://travis-ci.org/fpco/stackage-cli.svg?branch=master)](https://travis-ci.org/fpco/stackage-cli) * [stackage-update](https://github.com/fpco/stackage-update) [![Build Status](https://travis-ci.org/fpco/stackage-update.svg?branch=master)](https://travis-ci.org/fpco/stackage-update) * [stackage-upload](https://github.com/fpco/stackage-upload) [![Build Status](https://travis-ci.org/fpco/stackage-upload.svg?branch=master)](https://travis-ci.org/fpco/stackage-upload) From 72236ccada7e13d711447c42b05bb98ca7f39f9b Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Wed, 29 Apr 2015 17:28:18 +0300 Subject: [PATCH 423/643] Remove upper bound for simonmichael/hledger#245 --- build-constraints.yaml | 3 --- 1 file changed, 3 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index 986ada50..20cda6ad 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -954,9 +954,6 @@ packages: # https://github.com/fpco/stackage/issues/537 - zlib < 0.6 - # https://github.com/simonmichael/hledger/issues/245 - - base-compat < 0.8 - # Package flags are applied to individual packages, and override the values of # global-flags package-flags: From 3dcbf9e7cc8bec09deef9949d5684582d9126738 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Wed, 29 Apr 2015 18:02:44 +0300 Subject: [PATCH 424/643] Revert "Remove upper bound for simonmichael/hledger#245" This reverts commit 72236ccada7e13d711447c42b05bb98ca7f39f9b. --- build-constraints.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 20cda6ad..986ada50 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -954,6 +954,9 @@ packages: # https://github.com/fpco/stackage/issues/537 - zlib < 0.6 + # https://github.com/simonmichael/hledger/issues/245 + - base-compat < 0.8 + # Package flags are applied to individual packages, and override the values of # global-flags package-flags: From e9652caf71f93b25a427677c042403a11e98e335 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Wed, 29 Apr 2015 19:24:02 +0300 Subject: [PATCH 425/643] Revert "Revert "Remove upper bound for simonmichael/hledger#245"" This reverts commit 3dcbf9e7cc8bec09deef9949d5684582d9126738. --- build-constraints.yaml | 3 --- 1 file changed, 3 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index 986ada50..20cda6ad 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -954,9 +954,6 @@ packages: # https://github.com/fpco/stackage/issues/537 - zlib < 0.6 - # https://github.com/simonmichael/hledger/issues/245 - - base-compat < 0.8 - # Package flags are applied to individual packages, and override the values of # global-flags package-flags: From bb3396d54599a25c09a2980ae5dbab3c76bf421d Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Thu, 30 Apr 2015 06:16:06 +0300 Subject: [PATCH 426/643] Upper bound for #549 --- build-constraints.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 20cda6ad..8fd5cda6 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -954,6 +954,9 @@ packages: # https://github.com/fpco/stackage/issues/537 - zlib < 0.6 + # https://github.com/fpco/stackage/issues/549 + - tttool < 1.4 + # Package flags are applied to individual packages, and override the values of # global-flags package-flags: From c67909b37a10dad2b687a426e9984db28b428808 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Thu, 30 Apr 2015 06:55:42 +0300 Subject: [PATCH 427/643] Block packages without GHC 7.10 support #378 --- build-constraints.yaml | 100 +++++++++++++++++++++++------------------ 1 file changed, 56 insertions(+), 44 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index 14b9bca5..60c0e36f 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -112,18 +112,19 @@ packages: - th-desugar - quickcheck-assertions - - distributed-process-simplelocalnet + # Cloud Haskell not yet updated to GHC 7.10 + #- distributed-process-simplelocalnet # cloud-haskell - - rank1dynamic - - distributed-static + #- rank1dynamic + #- distributed-static - network-transport - - distributed-process - - distributed-process-extras - - distributed-process-async - - distributed-process-client-server - - distributed-process-supervisor - - distributed-process-task - - distributed-process-execution + #- distributed-process + #- distributed-process-extras + #- distributed-process-async + #- distributed-process-client-server + #- distributed-process-supervisor + #- distributed-process-task + #- distributed-process-execution - kure @@ -188,7 +189,6 @@ packages: "Vincent Hanquez": - bytedump - - certificate - cipher-aes - cipher-rc4 - connection @@ -221,9 +221,10 @@ packages: - lucid - osdkeys - pdfinfo - - present + #- present GHC 7.10, via atto-lisp - pure-io - - scrobble + # https://github.com/jgoerzen/testpack/issues/11 + #- scrobble GHC 7.10, for QuickCheck 2.8 via testpack - shell-conduit - sourcemap - hindent @@ -250,7 +251,8 @@ packages: - comonad - comonads-fd - comonad-transformers - - compensated + # https://github.com/ekmett/compensated/issues/5 + #- compensated GHC 7.10 - compressed - concurrent-supply - constraints @@ -271,7 +273,7 @@ packages: - lca - lens - linear - - linear-accelerate + #- linear-accelerate GHC 7.10 - log-domain - machines - monadic-arrays @@ -376,7 +378,8 @@ packages: - containers-unicode-symbols "Trevor L. McDonell ": - - accelerate + [] + # - accelerate GHC 7.10 "Dan Burton ": - yesod-gitrev @@ -446,14 +449,16 @@ packages: - json-autotype "Dominic Steinitz ": - - yarr + [] + # - yarr GHC 7.10 "Roman Cheplyaka ": - action-permutations - amqp - curl - - haskell-names - - haskell-packages + # GHC 7.10 https://github.com/haskell-suite/haskell-packages/issues/22 + #- haskell-names + #- haskell-packages - heredoc - hse-cpp - immortal @@ -465,8 +470,9 @@ packages: - tasty-quickcheck - tasty-smallcheck - time-lens - - timezone-olson - - timezone-series + # GHC 7.10 + #- timezone-olson + #- timezone-series - traverse-with-class "George Giorgidze ": @@ -485,21 +491,22 @@ packages: "Joachim Breitner ": - circle-packing - arbtt - - ghc-heap-view + # - ghc-heap-view GHC 7.10 - tttool - gipeda - list-fusion-probe - haskell-spacegoo "Aditya Bhargava ": - - hOpenPGP + #- hOpenPGP GHC 7.10, via syb-with-class - openpgp-asciiarmor - MusicBrainz - DAV - - hopenpgp-tools + #- hopenpgp-tools GHC 7.10, via syb-with-class # https://github.com/fpco/stackage/issues/160 "Ketil Malde": @@ -617,7 +624,8 @@ packages: - interpolatedstring-perl6 - iproute - missing-foreign - - MissingH + # https://github.com/jgoerzen/testpack/issues/11 + #- MissingH GHC 7.10, for QuickCheck 2.8 via testpack - multimap - parallel-io - text-binary @@ -636,7 +644,7 @@ packages: - hasql-postgres - list-t - mtl-prelude - - neat-interpolation + #- neat-interpolation GHC 7.10 - partial-handler - postgresql-binary - slave-thread @@ -693,8 +701,10 @@ packages: - type-list "David Turner ": - - alarmclock - - bank-holidays-england + [] + # GHC 7.10 + #- alarmclock + #- bank-holidays-england "Haskell Servant jkarni@gmail.com @jkarni": - servant @@ -713,7 +723,7 @@ packages: "Alois Cochard alois.cochard@gmail.com @aloiscochard": # https://github.com/fpco/stackage/issues/415 # - codex - - machines-directory + #- machines-directory GHC 7.10 - machines-io - machines-process # on behalf of Bryan O'Sullivan @bos @@ -745,7 +755,7 @@ packages: "Jeffrey Rosenbluth jeffrey.rosenbluth@gmail.com": - palette - - diagrams-canvas + #- diagrams-canvas GHC 7.10, via blank-canvas - diagrams-rasterific - lucid-svg @@ -775,7 +785,7 @@ packages: - string-conversions "Oleg Grenrus oleg.grenrus@iki.fi @phadej": - - edit-distance + #- edit-distance GHC 7.10 - lattices - waitra @@ -915,10 +925,6 @@ packages: # https://github.com/fpco/stackage/issues/476 - vector-space < 0.10 - # https://github.com/fpco/stackage/issues/479 - - QuickCheck < 2.8 - - cabal-test-quickcheck < 0.1.5 - # https://github.com/jgm/pandoc/issues/2036 - highlighting-kate < 0.5.13 @@ -932,11 +938,6 @@ packages: # https://github.com/fpco/stackage/issues/517 - generic-deriving < 1.7 - # https://github.com/fpco/stackage/issues/524 - - repa < 3.4 - - repa-algorithms < 3.4 - - repa-io < 3.4 - # https://github.com/Happstack/happstack-server/issues/6 - happstack-server < 7.4.3 @@ -1052,6 +1053,20 @@ skipped-tests: # https://github.com/Soostone/retry/issues/18 - retry + # Just a temporary package with a flimsy, inherited test suite + - Cabal-ide-backend + + # QuickCheck 2.8 + - ChasingBottoms + - bson + - cabal-install + - exceptions + - graphviz + - pandoc + - testpack + - vector + - unordered-containers + # Tests which we should build and run, but which are expected to fail. We # should not fail a build based on a test failure for one of these packages. expected-test-failures: @@ -1233,9 +1248,6 @@ expected-test-failures: # Tests not reliable on non-Windows systems - nsis - # Just a temporary package with a flimsy, inherited test suite - - Cabal-ide-backend - # Requires running server - consul-haskell - hedis From 43cd26629cf4b5556c5527f90b1cbe1081d31598 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Thu, 30 Apr 2015 07:16:05 +0300 Subject: [PATCH 428/643] Block some more packages for GHC 7.10 compilation failures --- build-constraints.yaml | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index 60c0e36f..dd2fbace 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -72,7 +72,8 @@ packages: - executable-hash - executable-path - fgl - - fixed-list + # https://github.com/jvranish/FixedList/issues/1 + #- fixed-list GHC 7.10 - foreign-store - formatting #- fpco-api @@ -738,7 +739,9 @@ packages: - HaskellNet "Jens Petersen juhpetersen@gmail.com @juhp": - - cabal-rpm + [] + # https://github.com/juhp/cabal-rpm/issues/18 + # - cabal-rpm # GHC 7.10 "Renzo Carbonara renzocarbonara@gmail.com @k0001": - network-simple @@ -866,9 +869,11 @@ packages: - maximal-cliques "Alexander Bondarenko @wiz": - - soap - - soap-tls - - soap-openssl + [] + # GHC 7.10, via iconv + #- soap + #- soap-tls + #- soap-openssl "Andres Löh @kosmikus": - generics-sop From 5488c156103ad613bc8449adee24f6071968e4d7 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Thu, 30 Apr 2015 07:20:19 +0300 Subject: [PATCH 429/643] Add back HandsomeSoup --- build-constraints.yaml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index dd2fbace..e4b0fee6 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -499,8 +499,7 @@ packages: - haskell-spacegoo "Aditya Bhargava ": #- hOpenPGP GHC 7.10, via syb-with-class From 99c482895b93ec909a33974c27f2f4a134b7f969 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Thu, 30 Apr 2015 07:40:29 +0300 Subject: [PATCH 430/643] Two more GHC 7.10 compilation failures --- build-constraints.yaml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index e4b0fee6..54b8d9a7 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -201,7 +201,8 @@ packages: - crypto-random-api - hit - language-java - - libgit + # https://github.com/vincenthz/hs-libgit/issues/4 + # - libgit GHC 7.10 - pem - siphash - socks @@ -671,7 +672,8 @@ packages: #- elm-compiler - elm-core-sources #- elm-package - - language-glsl + # https://github.com/noteed/language-glsl/issues/11 + #- language-glsl GHC 7.10 - prettyclass - QuasiText - union-find From e56dc52a47c62872b267a102375d288b11c55151 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Thu, 30 Apr 2015 07:41:46 +0300 Subject: [PATCH 431/643] No longer expected failure for twittner/swagger#3 --- build-constraints.yaml | 3 --- 1 file changed, 3 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index 8fd5cda6..e89cd853 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -1271,9 +1271,6 @@ expected-test-failures: - hedis - redis-io - # https://github.com/twittner/swagger/issues/3 - - swagger - # Haddocks which are expected to fail. Same concept as expected test failures. expected-haddock-failures: # https://github.com/acw/bytestring-progress/issues/4 From 76ec5dbb248fae5875577a5b676c67b8d18d0ace Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Thu, 30 Apr 2015 08:46:52 +0300 Subject: [PATCH 432/643] Some more GHC 7.10 build failures --- build-constraints.yaml | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index 0ca9052e..38ab16dd 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -43,7 +43,7 @@ packages: - repa-io - repa-algorithms - repa-devil - - JuicyPixels-repa + #- JuicyPixels-repa GHC 7.10 - cereal-conduit - binary-conduit - lzma-conduit @@ -209,7 +209,8 @@ packages: - tls - tls-debug - vhd - - udbus + # https://github.com/vincenthz/hs-udbus/issues/4 + # - udbus GHC 7.10 - xenstore "Chris Done": @@ -1259,6 +1260,12 @@ expected-test-failures: - hedis - redis-io + # https://code.google.com/p/scrapyourboilerplate/issues/detail?id=26&thanks=26&ts=1430372304, GHC 7.10 + - syb + + # https://github.com/lymar/hastache/issues/47 GHC 7.10 + - hastache + # Haddocks which are expected to fail. Same concept as expected test failures. expected-haddock-failures: # https://github.com/acw/bytestring-progress/issues/4 @@ -1277,6 +1284,9 @@ expected-haddock-failures: # Not sure why, but it's a temporary package anyway - Cabal-ide-backend + # https://github.com/goldfirere/singletons/issues/120 + - singletons + # Benchmarks which should not be built. Note that Stackage does *not* generally # build benchmarks. The difference here will be whether dependencies for these # benchmarks are included or not. From 4d43ab3196a335eaf6e3c839bca779aa2bad393a Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Thu, 30 Apr 2015 09:48:18 +0300 Subject: [PATCH 433/643] More GHC 7.10 tweaks --- build-constraints.yaml | 28 ++++++++++++++++++---------- 1 file changed, 18 insertions(+), 10 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index 38ab16dd..f70b42e3 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -84,7 +84,8 @@ packages: - hmatrix-gsl - hxt - hxt-relaxng - - hybrid-vectors + # https://github.com/ekmett/hybrid-vectors/issues/1 + # - hybrid-vectors GHC 7.10 - indents - language-c - lhs2tex @@ -446,7 +447,8 @@ packages: - Octree - FenwickTree - hPDB - - hPDB-examples + # https://github.com/BioHaskell/hPDB-examples/issues/1 + #- hPDB-examples GHC 7.10 - wordpass - json-autotype @@ -693,7 +695,9 @@ packages: - product-profunctors "Samplecount stefan@samplecount.com @kaoskorobase": - - shake-language-c + [] + # https://github.com/samplecount/shake-language-c/issues/25 + # - shake-language-c GHC 7.10 "Marcin Mrotek ": - diagrams-hsqml @@ -860,10 +864,11 @@ packages: - cabal-file-th "Gershom Bazerman @gbaz": - - jmacro - - jmacro-rpc - - jmacro-rpc-happstack - - jmacro-rpc-snap + # http://hub.darcs.net/gershomb/jmacro/issue/1 GHC 7.10 + #- jmacro + #- jmacro-rpc + #- jmacro-rpc-happstack + #- jmacro-rpc-snap - mbox - kmeans - boolsimplifier @@ -945,9 +950,6 @@ packages: # https://github.com/fpco/stackage/issues/517 - generic-deriving < 1.7 - # https://github.com/Happstack/happstack-server/issues/6 - - happstack-server < 7.4.3 - # https://github.com/fpco/stackage/issues/531 - sbv < 4.3 @@ -1266,6 +1268,12 @@ expected-test-failures: # https://github.com/lymar/hastache/issues/47 GHC 7.10 - hastache + # https://github.com/timjb/aeson-schema/issues/13 GHC 7.10 + - aeson-schema + + # https://github.com/simonmar/alex/issues/62 GHC 7.10 + - alex + # Haddocks which are expected to fail. Same concept as expected test failures. expected-haddock-failures: # https://github.com/acw/bytestring-progress/issues/4 From d430deed7cc6c713b32d589c4782aca540004de1 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Thu, 30 Apr 2015 10:08:10 +0300 Subject: [PATCH 434/643] Skip Workflow/MFlow for GHC 7.10 agocorona/Workflow#5 --- build-constraints.yaml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index f70b42e3..f7197416 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -240,8 +240,9 @@ packages: "Alberto G. Corona ": - RefSerialize - TCache - - Workflow - - MFlow + # https://github.com/agocorona/Workflow/issues/5 GHC 7.10 + # - Workflow + # - MFlow "Edward Kmett ": - ad From 5a21a2827071bb7c5d92fbfaedf75f39adeda598 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Thu, 30 Apr 2015 10:49:43 +0300 Subject: [PATCH 435/643] biosff and hspec/nanospec#2 --- build-constraints.yaml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index f7197416..e55732ce 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -518,7 +518,7 @@ packages: - biocore - biofasta - biofastq - - biosff + # - biosff GHC 7.10 - blastxml - bioace - biophd < 0.0.6 || > 0.0.6 @@ -1275,6 +1275,9 @@ expected-test-failures: # https://github.com/simonmar/alex/issues/62 GHC 7.10 - alex + # https://github.com/hspec/nanospec/issues/2 GHC 7.10 + - nanospec + # Haddocks which are expected to fail. Same concept as expected test failures. expected-haddock-failures: # https://github.com/acw/bytestring-progress/issues/4 From 7d3aaa3546e1c654419162c66546ff181e102dc0 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Thu, 30 Apr 2015 11:28:57 +0300 Subject: [PATCH 436/643] More GHC 7.10 stuff (this will continue for a while) --- build-constraints.yaml | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index e55732ce..7818f83b 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -63,7 +63,9 @@ packages: # https://github.com/fpco/stackage/issues/541 # - Chart-diagrams - - compdata + + # https://github.com/pa-ba/compdata/issues/7 GHC 7.10 + # - compdata - configurator - convertible - csv-conduit @@ -462,9 +464,8 @@ packages: - action-permutations - amqp - curl - # GHC 7.10 https://github.com/haskell-suite/haskell-packages/issues/22 - #- haskell-names - #- haskell-packages + - haskell-names + - haskell-packages - heredoc - hse-cpp - immortal @@ -1278,6 +1279,12 @@ expected-test-failures: # https://github.com/hspec/nanospec/issues/2 GHC 7.10 - nanospec + # https://github.com/mvoidex/hdocs/issues/5 GHC 7.10 + - hdocs + + # https://github.com/kazu-yamamoto/http-date/issues/6 GHC 7.10 + - http-date + # Haddocks which are expected to fail. Same concept as expected test failures. expected-haddock-failures: # https://github.com/acw/bytestring-progress/issues/4 From f6c9f53d10482bd4d7b9d195aebb211f7f25b3ec Mon Sep 17 00:00:00 2001 From: Leon Mergen Date: Thu, 30 Apr 2015 15:52:20 +0700 Subject: [PATCH 437/643] Adds bitcoin-block and bitcoin-types packages --- build-constraints.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index e89cd853..bc9614b9 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -754,8 +754,10 @@ packages: "Leon Mergen leon@solatis.com @solatis": - base58string + - bitcoin-block - bitcoin-script - bitcoin-tx + - bitcoin-types - hexstring - network-attoparsec - network-anonymous-i2p From abc8ff662dfecf5977bbe74cfdc71f0bb8b309bb Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Thu, 30 Apr 2015 12:19:14 +0300 Subject: [PATCH 438/643] More GHC 7.10 --- build-constraints.yaml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index 7818f83b..009417c7 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -108,7 +108,8 @@ packages: - statistics-linreg - th-expand-syns - thyme - - webdriver + # https://github.com/kallisti-dev/hs-webdriver/issues/71 + # - webdriver - web-fpco - criterion - th-lift @@ -303,7 +304,8 @@ packages: - semigroupoids - semigroups - speculation - - streams + # https://github.com/ekmett/streams/issues/11 + # - streams GHC 7.10 - tagged - vector-instances - void @@ -1068,7 +1070,6 @@ skipped-tests: - Cabal-ide-backend # QuickCheck 2.8 - - ChasingBottoms - bson - cabal-install - exceptions @@ -1076,7 +1077,6 @@ skipped-tests: - pandoc - testpack - vector - - unordered-containers # Tests which we should build and run, but which are expected to fail. We # should not fail a build based on a test failure for one of these packages. @@ -1276,15 +1276,15 @@ expected-test-failures: # https://github.com/simonmar/alex/issues/62 GHC 7.10 - alex - # https://github.com/hspec/nanospec/issues/2 GHC 7.10 - - nanospec - # https://github.com/mvoidex/hdocs/issues/5 GHC 7.10 - hdocs # https://github.com/kazu-yamamoto/http-date/issues/6 GHC 7.10 - http-date + # https://github.com/haskell-suite/haskell-names/issues/63 + - haskell-names + # Haddocks which are expected to fail. Same concept as expected test failures. expected-haddock-failures: # https://github.com/acw/bytestring-progress/issues/4 From 7e495ddb2df17bc800a9324a9212b1fcaec2ac9b Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Thu, 30 Apr 2015 13:00:33 +0300 Subject: [PATCH 439/643] lykahb/grounghog#38 --- build-constraints.yaml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index 009417c7..1f36c410 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -439,7 +439,8 @@ packages: "Boris Lykah ": - groundhog - - groundhog-th + # https://github.com/lykahb/groundhog/issues/38 GHC 7.10 + # - groundhog-th - groundhog-sqlite - groundhog-postgresql - groundhog-mysql @@ -1299,6 +1300,7 @@ expected-haddock-failures: # Requires build before haddock, which doesn't always happen in incremental # builds. Could consider special-casing this requirement. - gtk + - gtk3 # Not sure why, but it's a temporary package anyway - Cabal-ide-backend From 6f8c05766c6477b4129618f23751cdfae12d7e4d Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Thu, 30 Apr 2015 13:02:20 +0300 Subject: [PATCH 440/643] Use older haskell-packages (Cabal constraint) --- build-constraints.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index e89cd853..832092d4 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -916,6 +916,7 @@ packages: - haddock-api < 2.16 - haddock-library < 1.2 - hdocs < 0.4.2 + - haskell-packages < 0.3 # Force a specific version that's compatible with transformers 0.3 - transformers-compat == 0.4.0.3 From 55050b1dd7554e0c07aa8fd6943676a1fb591ce3 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Thu, 30 Apr 2015 13:17:13 +0300 Subject: [PATCH 441/643] Upper bound on compdata --- build-constraints.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 832092d4..de198b57 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -917,6 +917,7 @@ packages: - haddock-library < 1.2 - hdocs < 0.4.2 - haskell-packages < 0.3 + - compdata < 0.10 # Force a specific version that's compatible with transformers 0.3 - transformers-compat == 0.4.0.3 From 9df6b583363a169606a62520b55859f1c577f07f Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Thu, 30 Apr 2015 13:38:56 +0300 Subject: [PATCH 442/643] More GHC 7.10 issues --- build-constraints.yaml | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index 0c1a1c20..81b58a17 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -580,7 +580,8 @@ packages: - ghc-syb-utils "Boris Buliga ": - - ghc-mod + # https://github.com/kazu-yamamoto/ghc-mod/issues/437 GHC 7.10 + # - ghc-mod - io-choice - system-canonicalpath @@ -727,7 +728,8 @@ packages: "Alexandr Ruchkin voidex@live.com @mvoidex": - hdocs - - hsdev + # https://github.com/kazu-yamamoto/ghc-mod/issues/437 GHC 7.10 + # - hsdev "Aleksey Kliger aleksey@lambdageek.org @lambdageek": - unbound-generics @@ -1285,9 +1287,15 @@ expected-test-failures: # https://github.com/kazu-yamamoto/http-date/issues/6 GHC 7.10 - http-date - # https://github.com/haskell-suite/haskell-names/issues/63 + # https://github.com/haskell-suite/haskell-names/issues/63 GHC 7.10 - haskell-names + # https://github.com/bos/text/issues/118 GHC 7.10 + - text + + # https://github.com/ekmett/machines/issues/42 GHC 7.10 + - machines + # Haddocks which are expected to fail. Same concept as expected test failures. expected-haddock-failures: # https://github.com/acw/bytestring-progress/issues/4 From 140bb479533cd57d93ab8e35b064383cdee7d0df Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Thu, 30 Apr 2015 14:20:10 +0300 Subject: [PATCH 443/643] Wash, rinse, repeat (GHC 7.10) --- build-constraints.yaml | 27 ++++++++++++++++++--------- 1 file changed, 18 insertions(+), 9 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index 81b58a17..46750a25 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -64,8 +64,7 @@ packages: # https://github.com/fpco/stackage/issues/541 # - Chart-diagrams - # https://github.com/pa-ba/compdata/issues/7 GHC 7.10 - # - compdata + - compdata - configurator - convertible - csv-conduit @@ -169,7 +168,9 @@ packages: - language-javascript "Alfredo Di Napoli ": - - mandrill + [] + # https://github.com/adinapoli/mandrill/issues/14 + # - mandrill GHC 7.10 "Jasper Van der Jeugt": - blaze-html @@ -268,7 +269,8 @@ packages: - distributive - either - eq - - ersatz + # https://github.com/ekmett/ersatz/issues/11 GHC 7.10 + # - ersatz - exceptions - free - graphs @@ -586,7 +588,9 @@ packages: - system-canonicalpath "Yann Esposito ": - - holy-project + [] + # https://github.com/yogsototh/holy-project/issues/5 GHC 7.10 + # - holy-project "Paul Rouse ": - yesod-auth-hashdb @@ -701,9 +705,7 @@ packages: - product-profunctors "Samplecount stefan@samplecount.com @kaoskorobase": - [] - # https://github.com/samplecount/shake-language-c/issues/25 - # - shake-language-c GHC 7.10 + - shake-language-c "Marcin Mrotek ": - diagrams-hsqml @@ -741,7 +743,8 @@ packages: - machines-io - machines-process # on behalf of Bryan O'Sullivan @bos - - wreq + # https://github.com/bos/wreq/issues/61 + # - wreq GHC 7.10 "Andraz Bajt andraz@bajt.me @edofic": - effect-handlers @@ -1296,6 +1299,12 @@ expected-test-failures: # https://github.com/ekmett/machines/issues/42 GHC 7.10 - machines + # https://github.com/ekmett/hyperloglog/issues/10 GHC 7.10 + - hyperloglog + + # https://github.com/acid-state/safecopy/issues/25 GHC 7.10 + - safecopy + # Haddocks which are expected to fail. Same concept as expected test failures. expected-haddock-failures: # https://github.com/acw/bytestring-progress/issues/4 From 89216b2a1ce627173e555416d5e9ebbce2a0929d Mon Sep 17 00:00:00 2001 From: ygale Date: Thu, 30 Apr 2015 14:29:45 +0300 Subject: [PATCH 444/643] Add timezone packages --- build-constraints.yaml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index eae0649d..d5735882 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -913,6 +913,10 @@ packages: "David Raymond Christiansen @david-christiansen": - annotated-wl-pprint + "Yitz Gale gale@sefer.org @ygale" + - timezone-series + - timezone-olson + "Stackage upper bounds": # GHC 7.8 uppdate bound - haddock-api < 2.16 From 92b6f43d12594ff0b2799289cb1cb2eeb288016a Mon Sep 17 00:00:00 2001 From: ygale Date: Thu, 30 Apr 2015 14:48:50 +0300 Subject: [PATCH 445/643] Missing colon. --- build-constraints.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index d5735882..046285d7 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -913,7 +913,7 @@ packages: "David Raymond Christiansen @david-christiansen": - annotated-wl-pprint - "Yitz Gale gale@sefer.org @ygale" + "Yitz Gale gale@sefer.org @ygale": - timezone-series - timezone-olson From a8d6f1d3eca257e3f8427fdb5e760b0fd144e3a9 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Thu, 30 Apr 2015 16:17:05 +0300 Subject: [PATCH 446/643] More GHC 7.10 changes --- build-constraints.yaml | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index 46750a25..77f7e78d 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -92,7 +92,8 @@ packages: - lhs2tex - persistent-mongoDB - pretty-class - - quandl-api + # https://github.com/pvdbrand/quandl-api/issues/2 GHC 7.10 + #- quandl-api - random-fu - random-source - shelly @@ -455,8 +456,7 @@ packages: - Octree - FenwickTree - hPDB - # https://github.com/BioHaskell/hPDB-examples/issues/1 - #- hPDB-examples GHC 7.10 + - hPDB-examples - wordpass - json-autotype @@ -482,9 +482,8 @@ packages: - tasty-quickcheck - tasty-smallcheck - time-lens - # GHC 7.10 - #- timezone-olson - #- timezone-series + - timezone-olson + - timezone-series - traverse-with-class "George Giorgidze ": @@ -515,7 +514,7 @@ packages: "Clint Adams ": #- hOpenPGP GHC 7.10, via syb-with-class - openpgp-asciiarmor - - MusicBrainz + # - MusicBrainz GHC 7.10, time 1.5 - DAV #- hopenpgp-tools GHC 7.10, via syb-with-class @@ -1305,6 +1304,9 @@ expected-test-failures: # https://github.com/acid-state/safecopy/issues/25 GHC 7.10 - safecopy + # https://github.com/ekmett/linear/issues/75 GHC 7.10 + - linear + # Haddocks which are expected to fail. Same concept as expected test failures. expected-haddock-failures: # https://github.com/acw/bytestring-progress/issues/4 From 597b38479f5a98b0b6491c436180243610cc5a61 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Thu, 30 Apr 2015 16:46:15 +0300 Subject: [PATCH 447/643] Ignore .swp files --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 6b60ace9..0f9f8e70 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,4 @@ /logs/ nightly-*.yaml lts-*.yaml +*.swp From af0d59eb48b69322633d18814b429288ee7181ae Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Thu, 30 Apr 2015 17:16:24 +0300 Subject: [PATCH 448/643] Workflow and aeson-schema --- build-constraints.yaml | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index 77f7e78d..c394ba0e 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -245,9 +245,8 @@ packages: "Alberto G. Corona ": - RefSerialize - TCache - # https://github.com/agocorona/Workflow/issues/5 GHC 7.10 - # - Workflow - # - MFlow + - Workflow + - MFlow "Edward Kmett ": - ad @@ -1277,9 +1276,6 @@ expected-test-failures: # https://github.com/lymar/hastache/issues/47 GHC 7.10 - hastache - # https://github.com/timjb/aeson-schema/issues/13 GHC 7.10 - - aeson-schema - # https://github.com/simonmar/alex/issues/62 GHC 7.10 - alex From adce4ca6e345b97bfdfd696afc0bfab7bb7a0208 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Thu, 30 Apr 2015 17:56:03 +0300 Subject: [PATCH 449/643] Switch groundhog-th and MFlow --- build-constraints.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index c394ba0e..81418309 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -246,7 +246,8 @@ packages: - RefSerialize - TCache - Workflow - - MFlow + # https://github.com/agocorona/MFlow/issues/60 GHC 7.10 + # - MFlow "Edward Kmett ": - ad @@ -441,8 +442,7 @@ packages: "Boris Lykah ": - groundhog - # https://github.com/lykahb/groundhog/issues/38 GHC 7.10 - # - groundhog-th + - groundhog-th - groundhog-sqlite - groundhog-postgresql - groundhog-mysql From 991c70b9626f02e44b0d1e96b09b5f1c4acb468c Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Thu, 30 Apr 2015 18:14:37 +0300 Subject: [PATCH 450/643] Switch to GHC 7.10 in Docker --- Dockerfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index 8326f435..aa2f781c 100644 --- a/Dockerfile +++ b/Dockerfile @@ -14,9 +14,9 @@ ADD debian-bootstrap.sh /tmp/debian-bootstrap.sh RUN DEBIAN_FRONTEND=noninteractive bash /tmp/debian-bootstrap.sh RUN rm /tmp/debian-bootstrap.sh -RUN DEBIAN_FRONTEND=noninteractive apt-get install -y cabal-install-1.20 ghc-7.8.4 ghc-7.8.4-htmldocs alex-3.1.3 happy-1.19.4 sudo +RUN DEBIAN_FRONTEND=noninteractive apt-get install -y cabal-install-1.22 ghc-7.10.1 ghc-7.10.1-htmldocs alex-3.1.3 happy-1.19.4 sudo -ENV PATH /home/stackage/.cabal/bin:/usr/local/sbin:/usr/local/bin:/opt/ghc/7.8.4/bin:/opt/cabal/1.20/bin:/opt/alex/3.1.3/bin:/opt/happy/1.19.4/bin:/usr/sbin:/usr/bin:/sbin:/bin +ENV PATH /home/stackage/.cabal/bin:/usr/local/sbin:/usr/local/bin:/opt/ghc/7.10.1/bin:/opt/cabal/1.22/bin:/opt/alex/3.1.3/bin:/opt/happy/1.19.4/bin:/usr/sbin:/usr/bin:/sbin:/bin RUN cabal update RUN cabal install hscolour cabal-install && cp $HOME/.cabal/bin/* /usr/local/bin && rm -rf $HOME/.cabal $HOME/.ghc /tmp/stackage From 91d7b1e7ac5915d2c9adad2bb6b9ea4e9f683567 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Thu, 30 Apr 2015 18:36:06 +0300 Subject: [PATCH 451/643] Allow mandrill again adinapoli/mandrill#14 --- build-constraints.yaml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index 81418309..c6745d17 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -169,9 +169,7 @@ packages: - language-javascript "Alfredo Di Napoli ": - [] - # https://github.com/adinapoli/mandrill/issues/14 - # - mandrill GHC 7.10 + - mandrill "Jasper Van der Jeugt": - blaze-html From 26baa8559123ddbdf4859e350bc3bd54f81fbbec Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Thu, 30 Apr 2015 20:48:06 +0300 Subject: [PATCH 452/643] Docker: don't check --- Dockerfile | 2 -- 1 file changed, 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index 59d14682..3809dd6d 100644 --- a/Dockerfile +++ b/Dockerfile @@ -21,5 +21,3 @@ ENV PATH /home/stackage/.cabal/bin:/usr/local/sbin:/usr/local/bin:/opt/ghc/7.8.4 RUN cabal update RUN cabal install hscolour cabal-install --constraint "Cabal < 1.22" && cp $HOME/.cabal/bin/* /usr/local/bin && rm -rf $HOME/.cabal $HOME/.ghc /tmp/stackage RUN wget https://s3.amazonaws.com/stackage-travis/stackage-curator/stackage-curator.bz2 && bunzip2 stackage-curator.bz2 && chmod +x stackage-curator && mv stackage-curator /usr/local/bin - -RUN cd /home/stackage && cabal update && stackage-curator check From 2a114737d7a67b29891fa847596fb25a5de0a259 Mon Sep 17 00:00:00 2001 From: David Turner Date: Fri, 1 May 2015 05:47:16 +0100 Subject: [PATCH 453/643] Reinstate alarmclock and bank-holidays-england New versions with relaxed dependency constraints have been uploaded. --- build-constraints.yaml | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index c6745d17..a9cdc621 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -712,10 +712,8 @@ packages: - type-list "David Turner ": - [] - # GHC 7.10 - #- alarmclock - #- bank-holidays-england + - alarmclock + - bank-holidays-england "Haskell Servant jkarni@gmail.com @jkarni": - servant From 5602aeb5c2a4bf8c6c295ab20874e0f09f20eedc Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Fri, 1 May 2015 07:47:42 +0300 Subject: [PATCH 454/643] Remove upper bounds and close #531 --- build-constraints.yaml | 3 --- 1 file changed, 3 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index eae0649d..58f86f05 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -952,9 +952,6 @@ packages: # https://github.com/Happstack/happstack-server/issues/6 - happstack-server < 7.4.3 - # https://github.com/fpco/stackage/issues/531 - - sbv < 4.3 - # https://github.com/fpco/stackage/issues/537 - zlib < 0.6 From af49d1faa5d1acdc62c4bfbae33dc18a4af9b6be Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Fri, 1 May 2015 07:54:00 +0300 Subject: [PATCH 455/643] Use image tags --- automated/build.sh | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/automated/build.sh b/automated/build.sh index 3d92d45d..3f730091 100755 --- a/automated/build.sh +++ b/automated/build.sh @@ -4,6 +4,7 @@ set -eux ROOT=$(cd $(dirname $0) ; pwd) TARGET=$1 +IMAGE=snoyberg/stackage:$(echo $TARGET | cut -d- -f 1) TROOT=$ROOT/$(echo $TARGET | cut -d. -f 1) PLAN_FILE=current-plan.yaml BUNDLE_FILE=current.bundle @@ -68,6 +69,6 @@ ARGS_BUILD="$ARGS_COMMON -v $CABAL_DIR:/home/stackage/.cabal:ro -v $GHC_DIR:/hom ARGS_UPLOAD="$ARGS_COMMON -v $AUTH_TOKEN:/auth-token:ro -v $HACKAGE_CREDS:/hackage-creds:ro -v $CURATOR_DIR:/home/stackage/.stackage-curator -v $SSH_DIR:/home/ubuntu/.ssh:ro -v $GITCONFIG:/home/stackage/.gitconfig:ro" # Use cabal update first to initialize ~/.cabal.config, then use stackage-curator update to get it securely -docker run $ARGS_PREBUILD snoyberg/stackage /bin/bash -c "cabal update && stackage-curator update && stackage-curator create-plan --plan-file $PLAN_FILE --target $TARGET && stackage-curator check --plan-file $PLAN_FILE && stackage-curator fetch --plan-file $PLAN_FILE && cabal install random cabal-install" -docker run $ARGS_BUILD snoyberg/stackage stackage-curator make-bundle --plan-file $PLAN_FILE --bundle-file $BUNDLE_FILE --target $TARGET -docker run $ARGS_UPLOAD snoyberg/stackage /bin/bash -c "stackage-curator upload --bundle-file $BUNDLE_FILE && stackage-curator hackage-distro --plan-file $PLAN_FILE --target $TARGET && stackage-curator upload-github --plan-file $PLAN_FILE --target $TARGET" +docker run $ARGS_PREBUILD $IMAgE /bin/bash -c "cabal update && stackage-curator update && stackage-curator create-plan --plan-file $PLAN_FILE --target $TARGET && stackage-curator check --plan-file $PLAN_FILE && stackage-curator fetch --plan-file $PLAN_FILE && cabal install random cabal-install" +docker run $ARGS_BUILD $IMAGE stackage-curator make-bundle --plan-file $PLAN_FILE --bundle-file $BUNDLE_FILE --target $TARGET +docker run $ARGS_UPLOAD $IMAGE /bin/bash -c "stackage-curator upload --bundle-file $BUNDLE_FILE && stackage-curator hackage-distro --plan-file $PLAN_FILE --target $TARGET && stackage-curator upload-github --plan-file $PLAN_FILE --target $TARGET" From c168eb4399baef40d7e6b02faeca4fbd9fcebe34 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Fri, 1 May 2015 08:04:38 +0300 Subject: [PATCH 456/643] Apply fix for mvoidex/hdocs#5 --- build-constraints.yaml | 3 --- 1 file changed, 3 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index 0408ed34..26628534 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -1272,9 +1272,6 @@ expected-test-failures: # https://github.com/simonmar/alex/issues/62 GHC 7.10 - alex - # https://github.com/mvoidex/hdocs/issues/5 GHC 7.10 - - hdocs - # https://github.com/kazu-yamamoto/http-date/issues/6 GHC 7.10 - http-date From b13dd6a21d7e44e1921be52393095e5089e77cfc Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Fri, 1 May 2015 08:26:21 +0300 Subject: [PATCH 457/643] Remove expected Haddock failure goldfirere/singletons#120 --- build-constraints.yaml | 3 --- 1 file changed, 3 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index 26628534..0cb852b8 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -1312,9 +1312,6 @@ expected-haddock-failures: # Not sure why, but it's a temporary package anyway - Cabal-ide-backend - # https://github.com/goldfirere/singletons/issues/120 - - singletons - # Benchmarks which should not be built. Note that Stackage does *not* generally # build benchmarks. The difference here will be whether dependencies for these # benchmarks are included or not. From c1088228f93e3b682945b4a0964ffa4a795d02e9 Mon Sep 17 00:00:00 2001 From: David Turner Date: Fri, 1 May 2015 08:31:20 +0100 Subject: [PATCH 458/643] Add @davecturner github username --- build-constraints.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index 58f86f05..f10dff45 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -692,7 +692,7 @@ packages: "Marcin Mrotek ": - type-list - "David Turner ": + "David Turner @davecturner": - alarmclock - bank-holidays-england From ab0e030ce961831903a5bf2298305e274507caad Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Fri, 1 May 2015 11:20:39 +0300 Subject: [PATCH 459/643] Add accelerate back, expect alex tests to pass --- build-constraints.yaml | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index 0cb852b8..65e2a8b2 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -282,7 +282,7 @@ packages: - lca - lens - linear - #- linear-accelerate GHC 7.10 + - linear-accelerate - log-domain - machines - monadic-arrays @@ -388,8 +388,7 @@ packages: - containers-unicode-symbols "Trevor L. McDonell ": - [] - # - accelerate GHC 7.10 + - accelerate "Dan Burton ": - yesod-gitrev @@ -1269,9 +1268,6 @@ expected-test-failures: # https://github.com/lymar/hastache/issues/47 GHC 7.10 - hastache - # https://github.com/simonmar/alex/issues/62 GHC 7.10 - - alex - # https://github.com/kazu-yamamoto/http-date/issues/6 GHC 7.10 - http-date From 5ac2788a460ebc6f1a9d53ca32ff4977d763cfeb Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Fri, 1 May 2015 11:32:11 +0300 Subject: [PATCH 460/643] Actually, alex is not on Hackage yet --- build-constraints.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 65e2a8b2..ac76a63f 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -1268,6 +1268,9 @@ expected-test-failures: # https://github.com/lymar/hastache/issues/47 GHC 7.10 - hastache + # https://github.com/simonmar/alex/issues/62 GHC 7.10 + - alex + # https://github.com/kazu-yamamoto/http-date/issues/6 GHC 7.10 - http-date From e649b0d63dd11a6aa7e0413b1b715e29993f7023 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Fri, 1 May 2015 13:31:00 +0300 Subject: [PATCH 461/643] Add cabal-rpm back juhp/cabal-rpm#18 --- build-constraints.yaml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index ac76a63f..4220930a 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -748,9 +748,7 @@ packages: - HaskellNet "Jens Petersen juhpetersen@gmail.com @juhp": - [] - # https://github.com/juhp/cabal-rpm/issues/18 - # - cabal-rpm # GHC 7.10 + - cabal-rpm "Renzo Carbonara renzocarbonara@gmail.com @k0001": - network-simple @@ -1015,6 +1013,9 @@ package-flags: HsOpenSSL: fast-bignum: false + cabal-rpm: + old-locale: false + # By skipping a test suite, we do not pull in the build dependencies skipped-tests: - ReadArgs # old version of hspec From b35f189c68dae490e5169ae9669e10bbea1f1549 Mon Sep 17 00:00:00 2001 From: Yann Esposito Date: Fri, 1 May 2015 18:55:38 +0200 Subject: [PATCH 462/643] Fixed an "holy-project" build issue The latest version 0.2.0.0 of holy-project should compile now. --- build-constraints.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index 4220930a..79eeaff6 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -584,8 +584,8 @@ packages: "Yann Esposito ": [] - # https://github.com/yogsototh/holy-project/issues/5 GHC 7.10 - # - holy-project + # Should have fixed: https://github.com/yogsototh/holy-project/issues/5 GHC 7.10 + - holy-project "Paul Rouse ": - yesod-auth-hashdb From f35f993530d3b1d636b4875c33105f93e01ef9c4 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Sat, 2 May 2015 21:10:43 +0300 Subject: [PATCH 463/643] Add Cabal to skipped tests (QuickCheck 2.8) --- build-constraints.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 4220930a..4826831b 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -1076,6 +1076,7 @@ skipped-tests: - pandoc - testpack - vector + - Cabal # Tests which we should build and run, but which are expected to fail. We # should not fail a build based on a test failure for one of these packages. From 0d1f62abb8c3977bfd5aab83c662f7ffc915d917 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Sat, 2 May 2015 21:14:05 +0300 Subject: [PATCH 464/643] Patch up PR for yogsototh/holy-project#5 --- build-constraints.yaml | 2 -- 1 file changed, 2 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index 2d632fbd..4a7540bc 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -583,8 +583,6 @@ packages: - system-canonicalpath "Yann Esposito ": - [] - # Should have fixed: https://github.com/yogsototh/holy-project/issues/5 GHC 7.10 - holy-project "Paul Rouse ": From 7a3f8b0658a54e2fc8f63ca46adcd8ca93d2ad47 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Sun, 3 May 2015 07:56:32 +0300 Subject: [PATCH 465/643] stackage-build-plan --- README.md | 1 + build-constraints.yaml | 1 + stackage/stackage.cabal | 3 ++- 3 files changed, 4 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 2cc5a0c4..5b15fd98 100644 --- a/README.md +++ b/README.md @@ -22,6 +22,7 @@ project information. In addition, we have the following repositories: * [stackage-update](https://github.com/fpco/stackage-update) [![Build Status](https://travis-ci.org/fpco/stackage-update.svg?branch=master)](https://travis-ci.org/fpco/stackage-update) * [stackage-upload](https://github.com/fpco/stackage-upload) [![Build Status](https://travis-ci.org/fpco/stackage-upload.svg?branch=master)](https://travis-ci.org/fpco/stackage-upload) * [stackage-install](https://github.com/fpco/stackage-install) [![Build Status](https://travis-ci.org/fpco/stackage-install.svg?branch=master)](https://travis-ci.org/fpco/stackage-install) +* [stackage-build-plan](https://github.com/fpco/stackage-build-plan) [![Build Status](https://travis-ci.org/fpco/stackage-build-plan.svg?branch=master)](https://travis-ci.org/fpco/stackage-build-plan) Get your package included ------------------------- diff --git a/build-constraints.yaml b/build-constraints.yaml index f10dff45..0b5500d2 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -101,6 +101,7 @@ packages: - stackage-upload - stackage-cli - stackage-install + - stackage-build-plan - statistics-linreg - th-expand-syns - thyme diff --git a/stackage/stackage.cabal b/stackage/stackage.cabal index ca16cdd8..d9a004d1 100644 --- a/stackage/stackage.cabal +++ b/stackage/stackage.cabal @@ -1,5 +1,5 @@ name: stackage -version: 0.7.1.0 +version: 0.7.2.0 synopsis: Dummy package forcing installation of other Stackage packages homepage: https://www.stackage.org/ license: MIT @@ -18,6 +18,7 @@ library , stackage-update , stackage-upload , stackage-install + , stackage-build-plan default-language: Haskell2010 source-repository head From 53376ff60d0d7881419fec85044aec560c81acb0 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Sun, 3 May 2015 08:19:23 +0300 Subject: [PATCH 466/643] Skip tests for yesodweb/Shelly.hs#98 --- build-constraints.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 0b5500d2..4636859b 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -1084,6 +1084,9 @@ skipped-tests: # https://github.com/Soostone/retry/issues/18 - retry + # https://github.com/yesodweb/Shelly.hs/pull/98 + - shelly + # Tests which we should build and run, but which are expected to fail. We # should not fail a build based on a test failure for one of these packages. expected-test-failures: From 241dbca1f1373c392ff67709afee9aa4d76efdeb Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Sun, 3 May 2015 08:31:04 +0300 Subject: [PATCH 467/643] Allow setting constraints on create-plan --- automated/build.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/automated/build.sh b/automated/build.sh index 3d92d45d..08a344a8 100755 --- a/automated/build.sh +++ b/automated/build.sh @@ -68,6 +68,6 @@ ARGS_BUILD="$ARGS_COMMON -v $CABAL_DIR:/home/stackage/.cabal:ro -v $GHC_DIR:/hom ARGS_UPLOAD="$ARGS_COMMON -v $AUTH_TOKEN:/auth-token:ro -v $HACKAGE_CREDS:/hackage-creds:ro -v $CURATOR_DIR:/home/stackage/.stackage-curator -v $SSH_DIR:/home/ubuntu/.ssh:ro -v $GITCONFIG:/home/stackage/.gitconfig:ro" # Use cabal update first to initialize ~/.cabal.config, then use stackage-curator update to get it securely -docker run $ARGS_PREBUILD snoyberg/stackage /bin/bash -c "cabal update && stackage-curator update && stackage-curator create-plan --plan-file $PLAN_FILE --target $TARGET && stackage-curator check --plan-file $PLAN_FILE && stackage-curator fetch --plan-file $PLAN_FILE && cabal install random cabal-install" +docker run $ARGS_PREBUILD snoyberg/stackage /bin/bash -c "cabal update && stackage-curator update && stackage-curator create-plan --plan-file $PLAN_FILE --target $TARGET ${CONSTRAINTS:-} && stackage-curator check --plan-file $PLAN_FILE && stackage-curator fetch --plan-file $PLAN_FILE && cabal install random cabal-install" docker run $ARGS_BUILD snoyberg/stackage stackage-curator make-bundle --plan-file $PLAN_FILE --bundle-file $BUNDLE_FILE --target $TARGET docker run $ARGS_UPLOAD snoyberg/stackage /bin/bash -c "stackage-curator upload --bundle-file $BUNDLE_FILE && stackage-curator hackage-distro --plan-file $PLAN_FILE --target $TARGET && stackage-curator upload-github --plan-file $PLAN_FILE --target $TARGET" From 26936be15c42e4db4691f72519d63b76fc10808c Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Sun, 3 May 2015 09:49:55 +0300 Subject: [PATCH 468/643] Don't skip tests yesodweb/Shelly.hs#98 --- build-constraints.yaml | 3 --- 1 file changed, 3 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index 4636859b..0b5500d2 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -1084,9 +1084,6 @@ skipped-tests: # https://github.com/Soostone/retry/issues/18 - retry - # https://github.com/yesodweb/Shelly.hs/pull/98 - - shelly - # Tests which we should build and run, but which are expected to fail. We # should not fail a build based on a test failure for one of these packages. expected-test-failures: From 98799db672ceeeed70cbe39d8afd00c95ba7ce9d Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Sun, 3 May 2015 13:31:39 +0300 Subject: [PATCH 469/643] Expected test failure yesodweb/Shelly.hs#99 --- build-constraints.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 0b5500d2..70cab47c 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -1273,6 +1273,9 @@ expected-test-failures: - hedis - redis-io + # https://github.com/yesodweb/Shelly.hs/issues/99 + - shelly + # Haddocks which are expected to fail. Same concept as expected test failures. expected-haddock-failures: # https://github.com/acw/bytestring-progress/issues/4 From 13ec252971064c1fb6289f1789034bb67c4a8fb0 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Sun, 3 May 2015 17:49:52 +0300 Subject: [PATCH 470/643] Remove expected test failure ekmett/machines#42 --- build-constraints.yaml | 3 --- 1 file changed, 3 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index f9062e2c..d8aa12b4 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -1281,9 +1281,6 @@ expected-test-failures: # https://github.com/bos/text/issues/118 GHC 7.10 - text - # https://github.com/ekmett/machines/issues/42 GHC 7.10 - - machines - # https://github.com/ekmett/hyperloglog/issues/10 GHC 7.10 - hyperloglog From 4d9c77c64e2ec66dc104c132193bb4455b6b82a4 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Sun, 3 May 2015 18:36:27 +0300 Subject: [PATCH 471/643] Remove expected test failure yesodweb/Shelly.hs#99 --- build-constraints.yaml | 3 --- 1 file changed, 3 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index 70cab47c..0b5500d2 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -1273,9 +1273,6 @@ expected-test-failures: - hedis - redis-io - # https://github.com/yesodweb/Shelly.hs/issues/99 - - shelly - # Haddocks which are expected to fail. Same concept as expected test failures. expected-haddock-failures: # https://github.com/acw/bytestring-progress/issues/4 From acb7078df83d68c58abc7581c8f33866e05e93eb Mon Sep 17 00:00:00 2001 From: Leon Mergen Date: Mon, 4 May 2015 11:36:47 +0700 Subject: [PATCH 472/643] Adds bitcoin-api --- build-constraints.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 0b5500d2..9d9fa682 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -755,6 +755,7 @@ packages: "Leon Mergen leon@solatis.com @solatis": - base58string + - bitcoin-api - bitcoin-block - bitcoin-script - bitcoin-tx From 0717bb83e0df6fcd69014460561366a473b8e5b7 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Mon, 4 May 2015 08:48:51 +0300 Subject: [PATCH 473/643] Use mtl-compat compatible by default with transformers 0.3 #522 --- build-constraints.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index ddbdc7b7..01935e8c 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -930,6 +930,7 @@ packages: # Force a specific version that's compatible with transformers 0.3 - transformers-compat == 0.4.0.3 + - mtl-compat == 0.2.1.1 # https://github.com/fpco/stackage/issues/476 - vector-space < 0.10 From 4a80873347bc2cd4d294bf6619a6803ebbafdc8b Mon Sep 17 00:00:00 2001 From: Josh Holland Date: Mon, 4 May 2015 12:14:22 +0100 Subject: [PATCH 474/643] Remove trailing whitespace --- build-constraints.yaml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index 01935e8c..ea8b8687 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -877,11 +877,11 @@ packages: - plot-gtk3 - vector-buffer - hmatrix-repa - + "Noam Lewis @sinelaw": - xml-to-json - xml-to-json-fast - + "Tim Baumann @timjb": - aeson-schema @@ -891,7 +891,7 @@ packages: "Stefan Saasen ": - jwt - + "Sven Bartscher sven.bartscher@weltraumschlangen.de @kritzefitz": - setlocale @@ -905,21 +905,21 @@ packages: - islink - linux-file-extents - linux-namespaces - + "Will Coster @fimad": - scalpel - + "Smirnov Alexey @chemist": - snmp - agentx - + "David Raymond Christiansen @david-christiansen": - annotated-wl-pprint "Yitz Gale gale@sefer.org @ygale": - timezone-series - timezone-olson - + "Stackage upper bounds": # GHC 7.8 uppdate bound - haddock-api < 2.16 From f26de0493774a131df57a57fa1377d6a0024be5e Mon Sep 17 00:00:00 2001 From: Josh Holland Date: Mon, 4 May 2015 12:14:48 +0100 Subject: [PATCH 475/643] Add sandi --- build-constraints.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index ea8b8687..3218ee61 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -920,6 +920,9 @@ packages: - timezone-series - timezone-olson + "Josh Holland josh@inv.alid.pw @jshholland": + - sandi + "Stackage upper bounds": # GHC 7.8 uppdate bound - haddock-api < 2.16 From c8e8a52e2f69731f56413008abc3aaec3f77fca2 Mon Sep 17 00:00:00 2001 From: Josh Holland Date: Mon, 4 May 2015 15:05:30 +0100 Subject: [PATCH 476/643] Add data-ordlist --- build-constraints.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 3218ee61..d25ac637 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -922,6 +922,7 @@ packages: "Josh Holland josh@inv.alid.pw @jshholland": - sandi + - data-ordlist "Stackage upper bounds": # GHC 7.8 uppdate bound From afa791c8437a454de73054a443572194f7e320db Mon Sep 17 00:00:00 2001 From: Harry Garrood Date: Mon, 4 May 2015 16:54:12 +0100 Subject: [PATCH 477/643] Add aeson-better-errors --- build-constraints.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index d25ac637..266a0e8f 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -923,6 +923,9 @@ packages: "Josh Holland josh@inv.alid.pw @jshholland": - sandi - data-ordlist + + "Harry Garrood @hdgarrood": + - aeson-better-errors "Stackage upper bounds": # GHC 7.8 uppdate bound From 4d6305626a97003b5408a832935978fc4f3767f8 Mon Sep 17 00:00:00 2001 From: Dan Burton Date: Mon, 4 May 2015 13:00:37 -0700 Subject: [PATCH 478/643] Add stackage-cabal, stackage-sandbox, stackage-setup to the family --- stackage/stackage.cabal | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/stackage/stackage.cabal b/stackage/stackage.cabal index d9a004d1..8dc126ad 100644 --- a/stackage/stackage.cabal +++ b/stackage/stackage.cabal @@ -1,5 +1,5 @@ name: stackage -version: 0.7.2.0 +version: 0.7.3.0 synopsis: Dummy package forcing installation of other Stackage packages homepage: https://www.stackage.org/ license: MIT @@ -19,6 +19,9 @@ library , stackage-upload , stackage-install , stackage-build-plan + , stackage-cabal + , stackage-sandbox + , stackage-setup default-language: Haskell2010 source-repository head From ab30e81f1535ff1b380f74b8699ed02bff3bdd88 Mon Sep 17 00:00:00 2001 From: Dan Burton Date: Mon, 4 May 2015 13:36:21 -0700 Subject: [PATCH 479/643] ChangeLog 0.7.3.0 --- stackage/ChangeLog.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/stackage/ChangeLog.md b/stackage/ChangeLog.md index 51676ad3..ab298b5d 100644 --- a/stackage/ChangeLog.md +++ b/stackage/ChangeLog.md @@ -1,3 +1,7 @@ +## 0.7.3.0 + +* Added the executables split off from stackage-cli. + ## 0.7.0.0 * First release of this incarnation of the stackage package. Previously, this From 67c0f06164326136b807f1ec12b8823a7d7e3850 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Tue, 5 May 2015 09:08:49 +0300 Subject: [PATCH 480/643] Temporarily block sandi #560 --- build-constraints.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index 2befe859..38e181f1 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -942,7 +942,8 @@ packages: - timezone-olson "Josh Holland josh@inv.alid.pw @jshholland": - - sandi + # https://github.com/fpco/stackage/issues/560 + # - sandi GHC 7.10 - data-ordlist "Harry Garrood @hdgarrood": From 5d0e52d01c7a4f0569f8ed23c01cb26aeb7fdac7 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Tue, 5 May 2015 09:08:58 +0300 Subject: [PATCH 481/643] Upper bound for #559 --- build-constraints.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 38e181f1..327fccc9 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -972,6 +972,9 @@ packages: # https://github.com/fpco/stackage/issues/549 - tttool < 1.4 + # https://github.com/fpco/stackage/issues/559 + - vector-algorithms < 0.7 + # Package flags are applied to individual packages, and override the values of # global-flags package-flags: From 6cc802388d459b5295d9e375081398cd34a0e5ed Mon Sep 17 00:00:00 2001 From: Timothy Jones Date: Tue, 5 May 2015 18:27:48 +1200 Subject: [PATCH 482/643] Remove cabal-test-quickcheck, restore http-media Packages tested with cabal-test-quickcheck cannot pass on all of the required platforms: it requires that Cabal and cabal-install be on the same side of version 1.19, but a build against GHC 7.8 will tend to use Cabal-1.18 with cabal-install-1.20 or higher. As such, the library has been removed. The http-media package, which used cabal-test-quickcheck, is now expected to build its test suite and pass all tests. --- build-constraints.yaml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index 327fccc9..adb58c88 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -783,7 +783,6 @@ packages: - network-anonymous-i2p "Timothy Jones git@zmthy.io @zmthy": - - cabal-test-quickcheck - http-media "Greg V greg@unrelenting.technology @myfreeweb": @@ -1248,9 +1247,6 @@ expected-test-failures: # https://github.com/jberryman/directory-tree/issues/4 - directory-tree - # https://github.com/zmthy/http-media/issues/11 - - http-media - # https://github.com/ekmett/semigroupoids/issues/18 - semigroupoids From d38554f725a6b1335e89eda473ab4d59dcc67d50 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Tue, 5 May 2015 11:14:13 +0300 Subject: [PATCH 483/643] Remove blocked package and close #560 --- build-constraints.yaml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index adb58c88..85038c26 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -941,8 +941,7 @@ packages: - timezone-olson "Josh Holland josh@inv.alid.pw @jshholland": - # https://github.com/fpco/stackage/issues/560 - # - sandi GHC 7.10 + - sandi - data-ordlist "Harry Garrood @hdgarrood": From 8f38b985478c6b0d7022250b0dca855c86e5c273 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Tue, 5 May 2015 11:17:04 +0300 Subject: [PATCH 484/643] Add back BlogLiterately --- build-constraints.yaml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index 85038c26..9eedf1b0 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -343,9 +343,8 @@ packages: "Brent Yorgey ": - active - # Temporarily disabled due to restrictive lens upper bound - #- BlogLiterately - #- BlogLiterately-diagrams + - BlogLiterately + # - BlogLiterately-diagrams GHC 7.10 - diagrams # https://github.com/fpco/stackage/issues/443 From 7b0f29a078487035c0a9c5bbb8c7e7cac7de39b4 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Tue, 5 May 2015 13:36:41 +0300 Subject: [PATCH 485/643] Add GHC major version to constraints file --- build-constraints.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 9eedf1b0..d0be6812 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -1,3 +1,5 @@ +ghc-major-version: "7.10" + # Constraints for brand new builds packages: "Michael Snoyman michael@snoyman.com @snoyberg": From 2b4199b417c10efd5ea371df7b7b91a8535ef62b Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Tue, 5 May 2015 15:27:48 +0300 Subject: [PATCH 486/643] Expected test failure haskell/haddock#390 --- build-constraints.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index d0be6812..f16ac465 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -1303,6 +1303,9 @@ expected-test-failures: # https://github.com/ekmett/linear/issues/75 GHC 7.10 - linear + # https://github.com/haskell/haddock/issues/390 + - haddock-library + # Haddocks which are expected to fail. Same concept as expected test failures. expected-haddock-failures: # https://github.com/acw/bytestring-progress/issues/4 From 4a9725ccf89cd2141052b8761d55727d43f1f9be Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Tue, 5 May 2015 17:55:58 +0300 Subject: [PATCH 487/643] Temporarily block bitcoin-api due to broken wreq --- build-constraints.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index f16ac465..7a97e815 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -774,7 +774,7 @@ packages: "Leon Mergen leon@solatis.com @solatis": - base58string - - bitcoin-api + # - bitcoin-api GHC 7.10, via wreq - bitcoin-block - bitcoin-script - bitcoin-tx From 79bf759f8dd5d02a0c0c71363fc63dd89b911112 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Tue, 5 May 2015 18:32:06 +0300 Subject: [PATCH 488/643] Temporary block byorgey/BlogLiterately#20 --- build-constraints.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index 7a97e815..ee68ba1a 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -345,7 +345,8 @@ packages: "Brent Yorgey ": - active - - BlogLiterately + # https://github.com/byorgey/BlogLiterately/issues/20 + # - BlogLiterately GHC 7.10 # - BlogLiterately-diagrams GHC 7.10 - diagrams From 7ad175e95d177babaefaa57e3807e3a60b33056c Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Tue, 5 May 2015 19:39:58 +0300 Subject: [PATCH 489/643] Add expected test failure ekmett/machines#44 --- build-constraints.yaml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index ee68ba1a..6295e321 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -1304,9 +1304,12 @@ expected-test-failures: # https://github.com/ekmett/linear/issues/75 GHC 7.10 - linear - # https://github.com/haskell/haddock/issues/390 + # https://github.com/haskell/haddock/issues/390 GHC 7.10 - haddock-library + # https://github.com/ekmett/machines/issues/44 GHC 7.10 + - machines + # Haddocks which are expected to fail. Same concept as expected test failures. expected-haddock-failures: # https://github.com/acw/bytestring-progress/issues/4 From a568d0b0d98d9fc13d7a3d3f5724ed5319a50004 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Wed, 6 May 2015 06:18:27 +0300 Subject: [PATCH 490/643] Expected test failure ivanperez-keera/Yampa#10 --- build-constraints.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 6295e321..b7f1f0b4 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -1310,6 +1310,9 @@ expected-test-failures: # https://github.com/ekmett/machines/issues/44 GHC 7.10 - machines + # https://github.com/ivanperez-keera/Yampa/issues/10 + - Yampa + # Haddocks which are expected to fail. Same concept as expected test failures. expected-haddock-failures: # https://github.com/acw/bytestring-progress/issues/4 From d874e974edad90ce5164a11e8d3282a6562082e9 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Wed, 6 May 2015 06:20:13 +0300 Subject: [PATCH 491/643] Remove upper bound and close #559 --- build-constraints.yaml | 3 --- 1 file changed, 3 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index b7f1f0b4..ec971f92 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -972,9 +972,6 @@ packages: # https://github.com/fpco/stackage/issues/549 - tttool < 1.4 - # https://github.com/fpco/stackage/issues/559 - - vector-algorithms < 0.7 - # Package flags are applied to individual packages, and override the values of # global-flags package-flags: From b8b491fc10a97998ebc74a10158f7308e41e667b Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Wed, 6 May 2015 06:26:28 +0300 Subject: [PATCH 492/643] Add some more Stackage tools explicitly --- build-constraints.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index ec971f92..c6f38900 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -108,6 +108,9 @@ packages: - stackage-cli - stackage-install - stackage-build-plan + - stackage-cabal + - stackage-sandbox + - stackage-setup - statistics-linreg - th-expand-syns - thyme From 76b25e903aaedf16bb999cc5167917da3403e0e0 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Wed, 6 May 2015 06:47:58 +0300 Subject: [PATCH 493/643] Remove expected test failure ekmett/machines#44 --- build-constraints.yaml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index c6f38900..35fa4d2a 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -1307,12 +1307,10 @@ expected-test-failures: # https://github.com/haskell/haddock/issues/390 GHC 7.10 - haddock-library - # https://github.com/ekmett/machines/issues/44 GHC 7.10 - - machines - # https://github.com/ivanperez-keera/Yampa/issues/10 - Yampa +>>>>>>> Remove expected test failure ekmett/machines#44 # Haddocks which are expected to fail. Same concept as expected test failures. expected-haddock-failures: # https://github.com/acw/bytestring-progress/issues/4 From 592f19420dcfffb3463fbe6d5588da50294e369f Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Wed, 6 May 2015 06:57:59 +0300 Subject: [PATCH 494/643] Remove rebase artifact --- build-constraints.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index 35fa4d2a..9166301a 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -1310,7 +1310,6 @@ expected-test-failures: # https://github.com/ivanperez-keera/Yampa/issues/10 - Yampa ->>>>>>> Remove expected test failure ekmett/machines#44 # Haddocks which are expected to fail. Same concept as expected test failures. expected-haddock-failures: # https://github.com/acw/bytestring-progress/issues/4 From 3e3f75365218c9d5fb1b3e5c93278c879eb90424 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Wed, 6 May 2015 07:10:36 +0300 Subject: [PATCH 495/643] Add back expected test failure ekmett/machines#44 --- build-constraints.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 9166301a..c0c783b2 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -1310,6 +1310,9 @@ expected-test-failures: # https://github.com/ivanperez-keera/Yampa/issues/10 - Yampa + # https://github.com/ekmett/machines/issues/44 + - machines + # Haddocks which are expected to fail. Same concept as expected test failures. expected-haddock-failures: # https://github.com/acw/bytestring-progress/issues/4 From 94e6967489f2c2738139e9d208fc50d1b87f968f Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Wed, 6 May 2015 07:11:20 +0300 Subject: [PATCH 496/643] Remove expected test failure ivanperez-keera/Yampa#10 --- build-constraints.yaml | 3 --- 1 file changed, 3 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index c0c783b2..4ce72064 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -1307,9 +1307,6 @@ expected-test-failures: # https://github.com/haskell/haddock/issues/390 GHC 7.10 - haddock-library - # https://github.com/ivanperez-keera/Yampa/issues/10 - - Yampa - # https://github.com/ekmett/machines/issues/44 - machines From 66cf2064bd2b205719b8a5c61ed636ede9050cdd Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Wed, 6 May 2015 07:20:30 +0300 Subject: [PATCH 497/643] Remove non-library packages --- stackage/stackage.cabal | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/stackage/stackage.cabal b/stackage/stackage.cabal index 8dc126ad..9988196e 100644 --- a/stackage/stackage.cabal +++ b/stackage/stackage.cabal @@ -1,5 +1,5 @@ name: stackage -version: 0.7.3.0 +version: 0.7.3.1 synopsis: Dummy package forcing installation of other Stackage packages homepage: https://www.stackage.org/ license: MIT @@ -19,9 +19,9 @@ library , stackage-upload , stackage-install , stackage-build-plan - , stackage-cabal - , stackage-sandbox - , stackage-setup + -- , stackage-cabal + -- , stackage-sandbox + -- , stackage-setup default-language: Haskell2010 source-repository head From 13821e67e8fd2b8e013babf04b2d580b46192055 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Wed, 6 May 2015 09:40:10 +0300 Subject: [PATCH 498/643] Remove manual flags for mtl-compat stackage-curator#1 --- build-constraints.yaml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index 4ce72064..3660239b 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -1015,10 +1015,6 @@ package-flags: tar: old-time: false - mtl-compat: - two-point-one: false - two-point-two: false - # https://github.com/fpco/stackage/pull/482#issuecomment-83635207 jose-jwt: doctest: false From a889e1c59e6c1ba40f7f34cef4a3d27c7b57cd68 Mon Sep 17 00:00:00 2001 From: Adam Bergmark Date: Wed, 6 May 2015 09:23:23 +0200 Subject: [PATCH 499/643] Add feed and time-compat --- build-constraints.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 3660239b..01ad336b 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -433,7 +433,9 @@ packages: - fay-jquery - fay-text - fay-uri + - feed - snaplet-fay + - time-compat "Sebastiaan Visser ": - clay From 756ea9785a14b48038b59d4f0ff93b3a20b7b139 Mon Sep 17 00:00:00 2001 From: Dan Burton Date: Wed, 6 May 2015 15:57:00 -0700 Subject: [PATCH 500/643] Add lib-enabled versions of the plugins --- stackage/stackage.cabal | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/stackage/stackage.cabal b/stackage/stackage.cabal index 9988196e..e56f30e0 100644 --- a/stackage/stackage.cabal +++ b/stackage/stackage.cabal @@ -1,5 +1,5 @@ name: stackage -version: 0.7.3.1 +version: 0.7.3.2 synopsis: Dummy package forcing installation of other Stackage packages homepage: https://www.stackage.org/ license: MIT @@ -14,14 +14,14 @@ cabal-version: >=1.10 library exposed-modules: Stackage.Dummy build-depends: base < 10 - , stackage-cli + , stackage-cli >= 0.1.0 , stackage-update , stackage-upload , stackage-install , stackage-build-plan - -- , stackage-cabal - -- , stackage-sandbox - -- , stackage-setup + , stackage-cabal >= 0.1.1 + , stackage-sandbox >= 0.1.1 + , stackage-setup >= 0.0.1 default-language: Haskell2010 source-repository head From 95f2f4c9d515bcd5941e6447868c8c15bcc92e59 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Thu, 7 May 2015 06:32:32 +0300 Subject: [PATCH 501/643] Add back BlogLiterately --- build-constraints.yaml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index 01ad336b..c955706a 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -348,8 +348,7 @@ packages: "Brent Yorgey ": - active - # https://github.com/byorgey/BlogLiterately/issues/20 - # - BlogLiterately GHC 7.10 + - BlogLiterately # - BlogLiterately-diagrams GHC 7.10 - diagrams From e658e7de3f065cc22b551aa308a3372bba45c223 Mon Sep 17 00:00:00 2001 From: Mitchell Rosen Date: Wed, 6 May 2015 22:41:23 -0700 Subject: [PATCH 502/643] Update build-constraints.yaml --- build-constraints.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index c955706a..3fec63bb 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -952,6 +952,9 @@ packages: "Harry Garrood @hdgarrood": - aeson-better-errors + + "Mitchell Rosen Date: Thu, 7 May 2015 11:48:15 +0300 Subject: [PATCH 503/643] Add wai-middleware-crowd --- build-constraints.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 3fec63bb..8d7620c7 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -145,6 +145,7 @@ packages: - hackage-mirror - wai-middleware-consul + - wai-middleware-crowd - monad-logger-json - monad-logger-syslog From 85f39cfb7418097cffe3c1b0cc229bfa4974425e Mon Sep 17 00:00:00 2001 From: Adam Bergmark Date: Fri, 8 May 2015 11:02:57 +0200 Subject: [PATCH 504/643] Add through-text --- build-constraints.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 8d7620c7..2ae56650 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -436,6 +436,7 @@ packages: - feed - snaplet-fay - time-compat + - through-text "Sebastiaan Visser ": - clay From 1fb9dcab3a83af87dc3f2f05928e325ed2445c6b Mon Sep 17 00:00:00 2001 From: Jeffrey Rosenbluth Date: Fri, 8 May 2015 09:22:47 -0400 Subject: [PATCH 505/643] Update build-constraints.yaml --- build-constraints.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 2ae56650..9f6c8c4d 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -775,6 +775,8 @@ packages: #- diagrams-canvas GHC 7.10, via blank-canvas - diagrams-rasterific - lucid-svg + - diagrams-html5 + - static-canvas "Gabríel Arthúr Pétursson gabriel@system.is": - sdl2 From 603da9537e42258dda0c5d3d144ac4d2c65c284b Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Sat, 9 May 2015 20:50:51 +0300 Subject: [PATCH 506/643] Upper bounds for #568 --- build-constraints.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 9f6c8c4d..f4a7da28 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -983,6 +983,9 @@ packages: # https://github.com/fpco/stackage/issues/549 - tttool < 1.4 + # https://github.com/fpco/stackage/issues/568 + - pandoc-citeproc < 0.7 + # Package flags are applied to individual packages, and override the values of # global-flags package-flags: From a44ece59f8f42aef45fa2ec6ae20ef83601cf83a Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Sun, 10 May 2015 09:09:23 +0300 Subject: [PATCH 507/643] Unblock jvranish/FixedList#1 --- build-constraints.yaml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index f4a7da28..68a51027 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -75,8 +75,7 @@ packages: - executable-hash - executable-path - fgl - # https://github.com/jvranish/FixedList/issues/1 - #- fixed-list GHC 7.10 + - fixed-list - foreign-store - formatting #- fpco-api From ca23597be5380e9f880b8d8be0b3114bc2dfdfe5 Mon Sep 17 00:00:00 2001 From: Emanuel Borsboom Date: Sat, 9 May 2015 23:38:57 -0700 Subject: [PATCH 508/643] Add Chart-cairo and ghc-events --- build-constraints.yaml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index 68a51027..0886a714 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -645,8 +645,10 @@ packages: - parallel-io - text-binary - wl-pprint-text + - Chart-cairo + - ghc-events - "Michael Sloan ": - th-orphans - th-reify-many From d3eaeae3e283d24d2190f38e4cdc2e8b5a03ef1c Mon Sep 17 00:00:00 2001 From: Christiaan Baaij Date: Sun, 10 May 2015 11:33:08 +0200 Subject: [PATCH 509/643] Add clash packages --- build-constraints.yaml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 0886a714..f78ae8c2 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -960,6 +960,14 @@ packages: "Mitchell Rosen @christiaanb": + - ghc-typelits-natnormalise + - clash-prelude + - clash-lib + - clash-vhdl + - clash-systemverilog + - clash-ghc "Stackage upper bounds": # https://github.com/fpco/stackage/issues/476 From 93dcb1e73b3b07a8a646ff4a07660d5f47d4468c Mon Sep 17 00:00:00 2001 From: Leon Mergen Date: Sun, 10 May 2015 18:09:01 +0700 Subject: [PATCH 510/643] Adds bitcoin-api-extra --- build-constraints.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index f78ae8c2..75dd99c2 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -785,6 +785,7 @@ packages: "Leon Mergen leon@solatis.com @solatis": - base58string # - bitcoin-api GHC 7.10, via wreq + # - bitcoin-api-extra GHC 7.10, via wreq - bitcoin-block - bitcoin-script - bitcoin-tx From fae208eba3789880327480fe0b133545f98973f5 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Sun, 10 May 2015 16:28:42 +0300 Subject: [PATCH 511/643] DOT_STACKAGE_DIR --- automated/build.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/automated/build.sh b/automated/build.sh index 31cc1804..21abf2e5 100755 --- a/automated/build.sh +++ b/automated/build.sh @@ -12,7 +12,7 @@ BUNDLE_FILE=current.bundle CABAL_DIR=$ROOT/cabal GHC_DIR=$ROOT/ghc CURATOR_DIR=$ROOT/stackage-curator -UPDATE_DIR=$ROOT/stackage-update +DOT_STACKAGE_DIR=$ROOT/dot-stackage WORKDIR=$TROOT/work SSH_DIR=$ROOT/ssh-$(echo $TARGET | cut -d- -f 1) @@ -20,7 +20,7 @@ mkdir -p \ "$CABAL_DIR" \ "$GHC_DIR" \ "$CURATOR_DIR" \ - "$UPDATE_DIR" \ + "$DOT_STACKAGE_DIR" \ "$WORKDIR" \ "$SSH_DIR" @@ -64,7 +64,7 @@ chmod +x stackage-curator ) ARGS_COMMON="--rm -u $USER -v $WORKDIR:/home/stackage/work -w /home/stackage/work -v $BINDIR/stackage-curator:/usr/local/bin/stackage-curator:ro -v /etc/passwd:/etc/passwd:ro -v /etc/group:/etc/group:ro" -ARGS_PREBUILD="$ARGS_COMMON -v $CABAL_DIR:/home/stackage/.cabal -v $GHC_DIR:/home/stackage/.ghc -v $UPDATE_DIR:/home/stackage/.stackage-update" +ARGS_PREBUILD="$ARGS_COMMON -v $CABAL_DIR:/home/stackage/.cabal -v $GHC_DIR:/home/stackage/.ghc -v $DOT_STACKAGE_DIR:/home/stackage/.stackage" ARGS_BUILD="$ARGS_COMMON -v $CABAL_DIR:/home/stackage/.cabal:ro -v $GHC_DIR:/home/stackage/.ghc:ro" ARGS_UPLOAD="$ARGS_COMMON -v $AUTH_TOKEN:/auth-token:ro -v $HACKAGE_CREDS:/hackage-creds:ro -v $CURATOR_DIR:/home/stackage/.stackage-curator -v $SSH_DIR:/home/ubuntu/.ssh:ro -v $GITCONFIG:/home/stackage/.gitconfig:ro" From 3a0f858e793418a97ce5055e2f92c5318bfac670 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Sun, 10 May 2015 16:39:57 +0300 Subject: [PATCH 512/643] Expected test failure haskell/ghc-events#9 --- build-constraints.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 75dd99c2..8fb87fc0 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -1327,6 +1327,9 @@ expected-test-failures: # https://github.com/ekmett/machines/issues/44 - machines + # https://github.com/haskell/ghc-events/issues/9 + - ghc-events + # Haddocks which are expected to fail. Same concept as expected test failures. expected-haddock-failures: # https://github.com/acw/bytestring-progress/issues/4 From 9c38e5fcc5c995b4bb2cdfbb7f79d04ab3b5da03 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Sun, 10 May 2015 19:19:48 +0300 Subject: [PATCH 513/643] Expected test failure haskell-servent/servant#68 --- build-constraints.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 8fb87fc0..381bb623 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -1330,6 +1330,9 @@ expected-test-failures: # https://github.com/haskell/ghc-events/issues/9 - ghc-events + # https://github.com/haskell-servant/servant/issues/68 + - servant-client + # Haddocks which are expected to fail. Same concept as expected test failures. expected-haddock-failures: # https://github.com/acw/bytestring-progress/issues/4 From 7f927fb99c4ddaf3b2d9b78affba897c3cb25c47 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Sun, 10 May 2015 19:41:32 +0300 Subject: [PATCH 514/643] No more CURATOR_DIR --- automated/build.sh | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/automated/build.sh b/automated/build.sh index 21abf2e5..98e882a8 100755 --- a/automated/build.sh +++ b/automated/build.sh @@ -11,7 +11,6 @@ BUNDLE_FILE=current.bundle CABAL_DIR=$ROOT/cabal GHC_DIR=$ROOT/ghc -CURATOR_DIR=$ROOT/stackage-curator DOT_STACKAGE_DIR=$ROOT/dot-stackage WORKDIR=$TROOT/work SSH_DIR=$ROOT/ssh-$(echo $TARGET | cut -d- -f 1) @@ -19,7 +18,6 @@ SSH_DIR=$ROOT/ssh-$(echo $TARGET | cut -d- -f 1) mkdir -p \ "$CABAL_DIR" \ "$GHC_DIR" \ - "$CURATOR_DIR" \ "$DOT_STACKAGE_DIR" \ "$WORKDIR" \ "$SSH_DIR" @@ -66,7 +64,7 @@ chmod +x stackage-curator ARGS_COMMON="--rm -u $USER -v $WORKDIR:/home/stackage/work -w /home/stackage/work -v $BINDIR/stackage-curator:/usr/local/bin/stackage-curator:ro -v /etc/passwd:/etc/passwd:ro -v /etc/group:/etc/group:ro" ARGS_PREBUILD="$ARGS_COMMON -v $CABAL_DIR:/home/stackage/.cabal -v $GHC_DIR:/home/stackage/.ghc -v $DOT_STACKAGE_DIR:/home/stackage/.stackage" ARGS_BUILD="$ARGS_COMMON -v $CABAL_DIR:/home/stackage/.cabal:ro -v $GHC_DIR:/home/stackage/.ghc:ro" -ARGS_UPLOAD="$ARGS_COMMON -v $AUTH_TOKEN:/auth-token:ro -v $HACKAGE_CREDS:/hackage-creds:ro -v $CURATOR_DIR:/home/stackage/.stackage-curator -v $SSH_DIR:/home/ubuntu/.ssh:ro -v $GITCONFIG:/home/stackage/.gitconfig:ro" +ARGS_UPLOAD="$ARGS_COMMON -v $AUTH_TOKEN:/auth-token:ro -v $HACKAGE_CREDS:/hackage-creds:ro -v $DOT_STACKAGE_DIR:/home/stackage/.stackage -v $SSH_DIR:/home/ubuntu/.ssh:ro -v $GITCONFIG:/home/stackage/.gitconfig:ro" # Use cabal update first to initialize ~/.cabal.config, then use stackage-curator update to get it securely docker run $ARGS_PREBUILD $IMAGE /bin/bash -c "cabal update && stackage-curator update && stackage-curator create-plan --plan-file $PLAN_FILE --target $TARGET ${CONSTRAINTS:-} && stackage-curator check --plan-file $PLAN_FILE && stackage-curator fetch --plan-file $PLAN_FILE && cabal install random cabal-install" From 7d549937145d990ce03298f6634630f0de66e87e Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Mon, 11 May 2015 07:20:04 +0300 Subject: [PATCH 515/643] Add back wreq bos/wreq#61 --- build-constraints.yaml | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index 381bb623..69723095 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -744,8 +744,7 @@ packages: - machines-io - machines-process # on behalf of Bryan O'Sullivan @bos - # https://github.com/bos/wreq/issues/61 - # - wreq GHC 7.10 + - wreq "Andraz Bajt andraz@bajt.me @edofic": - effect-handlers @@ -784,8 +783,8 @@ packages: "Leon Mergen leon@solatis.com @solatis": - base58string - # - bitcoin-api GHC 7.10, via wreq - # - bitcoin-api-extra GHC 7.10, via wreq + - bitcoin-api + - bitcoin-api-extra - bitcoin-block - bitcoin-script - bitcoin-tx From 9c09182bd736165488583504e770cdce23d88653 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Mon, 11 May 2015 07:20:17 +0300 Subject: [PATCH 516/643] S3 doc upload --- automated/build.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/automated/build.sh b/automated/build.sh index 98e882a8..815fc595 100755 --- a/automated/build.sh +++ b/automated/build.sh @@ -64,9 +64,9 @@ chmod +x stackage-curator ARGS_COMMON="--rm -u $USER -v $WORKDIR:/home/stackage/work -w /home/stackage/work -v $BINDIR/stackage-curator:/usr/local/bin/stackage-curator:ro -v /etc/passwd:/etc/passwd:ro -v /etc/group:/etc/group:ro" ARGS_PREBUILD="$ARGS_COMMON -v $CABAL_DIR:/home/stackage/.cabal -v $GHC_DIR:/home/stackage/.ghc -v $DOT_STACKAGE_DIR:/home/stackage/.stackage" ARGS_BUILD="$ARGS_COMMON -v $CABAL_DIR:/home/stackage/.cabal:ro -v $GHC_DIR:/home/stackage/.ghc:ro" -ARGS_UPLOAD="$ARGS_COMMON -v $AUTH_TOKEN:/auth-token:ro -v $HACKAGE_CREDS:/hackage-creds:ro -v $DOT_STACKAGE_DIR:/home/stackage/.stackage -v $SSH_DIR:/home/ubuntu/.ssh:ro -v $GITCONFIG:/home/stackage/.gitconfig:ro" +ARGS_UPLOAD="$ARGS_COMMON -e AWS_ACCESS_KEY=$AWS_ACCESS_KEY -e AWS_SECRET_KEY=$AWS_SECRET_KEY -v $AUTH_TOKEN:/auth-token:ro -v $HACKAGE_CREDS:/hackage-creds:ro -v $DOT_STACKAGE_DIR:/home/stackage/.stackage -v $SSH_DIR:/home/ubuntu/.ssh:ro -v $GITCONFIG:/home/stackage/.gitconfig:ro" # Use cabal update first to initialize ~/.cabal.config, then use stackage-curator update to get it securely docker run $ARGS_PREBUILD $IMAGE /bin/bash -c "cabal update && stackage-curator update && stackage-curator create-plan --plan-file $PLAN_FILE --target $TARGET ${CONSTRAINTS:-} && stackage-curator check --plan-file $PLAN_FILE && stackage-curator fetch --plan-file $PLAN_FILE && cabal install random cabal-install" docker run $ARGS_BUILD $IMAGE stackage-curator make-bundle --plan-file $PLAN_FILE --bundle-file $BUNDLE_FILE --target $TARGET -docker run $ARGS_UPLOAD $IMAGE /bin/bash -c "stackage-curator upload --bundle-file $BUNDLE_FILE && stackage-curator hackage-distro --plan-file $PLAN_FILE --target $TARGET && stackage-curator upload-github --plan-file $PLAN_FILE --target $TARGET" +docker run $ARGS_UPLOAD $IMAGE /bin/bash -c "stackage-curator upload --bundle-file $BUNDLE_FILE && stackage-curator hackage-distro --plan-file $PLAN_FILE --target $TARGET && stackage-curator upload-github --plan-file $PLAN_FILE --target $TARGET && stackage-curator upload-docs --target $TARGET" From e168f0f0378be0fb317a5a762b1bdfa30125fbea Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Mon, 11 May 2015 07:51:27 +0300 Subject: [PATCH 517/643] Account for nightly target name change --- automated/build.sh | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/automated/build.sh b/automated/build.sh index 815fc595..7e1b128c 100755 --- a/automated/build.sh +++ b/automated/build.sh @@ -5,7 +5,14 @@ set -eux ROOT=$(cd $(dirname $0) ; pwd) TARGET=$1 IMAGE=snoyberg/stackage:$(echo $TARGET | cut -d- -f 1) -TROOT=$ROOT/$(echo $TARGET | cut -d. -f 1) + +if [ "$IMAGE" -eq "nightly"] +then + TROOT=$ROOT/nightly +else + TROOT=$ROOT/$(echo $TARGET | cut -d. -f 1) +fi + PLAN_FILE=current-plan.yaml BUNDLE_FILE=current.bundle From 7336f41ed2dd5bc322389d394b6005a9353d6529 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Mon, 11 May 2015 08:33:18 +0300 Subject: [PATCH 518/643] Skip test for bttr/psqueues#2 --- build-constraints.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 69723095..80a892a4 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -1109,6 +1109,7 @@ skipped-tests: - testpack - vector - Cabal + - psqueues # Tests which we should build and run, but which are expected to fail. We # should not fail a build based on a test failure for one of these packages. From b400ffa8bf5f9a873d6486412cf9511eba70c955 Mon Sep 17 00:00:00 2001 From: Chris Done Date: Mon, 11 May 2015 08:48:41 +0200 Subject: [PATCH 519/643] Add path package --- build-constraints.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 80a892a4..5a26b342 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -243,6 +243,7 @@ packages: - hindent - descriptive - wrap + - path # requires old haddock currently - haskell-docs # TODO: Add structured-haskell-mode once they've been ported to HSE 1.16. From ba330b4c05c5d7f144a8505537c8874681270088 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Mon, 11 May 2015 10:33:26 +0300 Subject: [PATCH 520/643] Upper bound for #572 --- build-constraints.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 5a26b342..04358f5c 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -996,6 +996,9 @@ packages: # https://github.com/fpco/stackage/issues/568 - pandoc-citeproc < 0.7 + # https://github.com/fpco/stackage/issues/572 + - attoparsec < 0.13 + # Package flags are applied to individual packages, and override the values of # global-flags package-flags: From bcf7000cd2f5b30109fdac85818bf99cb6e46035 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Mon, 11 May 2015 10:37:01 +0300 Subject: [PATCH 521/643] Extra upper bound for #572 --- build-constraints.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 04358f5c..9cbfa303 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -998,6 +998,7 @@ packages: # https://github.com/fpco/stackage/issues/572 - attoparsec < 0.13 + - aeson < 0.8.1.0 # Package flags are applied to individual packages, and override the values of # global-flags From 4148ed9a297ca377346e9e3af09b359ad35c3b89 Mon Sep 17 00:00:00 2001 From: Jasper Van der Jeugt Date: Mon, 11 May 2015 10:36:55 +0100 Subject: [PATCH 522/643] Add psqueues to list of packages I maintain --- build-constraints.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 9cbfa303..67ca34c3 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -182,6 +182,7 @@ packages: - blaze-markup - hakyll - stylish-haskell + - psqueues "Antoine Latter": - byteorder From fad4ca318a5aa16cd5a9e93256553fc0eb07e629 Mon Sep 17 00:00:00 2001 From: Jasper Van der Jeugt Date: Mon, 11 May 2015 10:41:32 +0100 Subject: [PATCH 523/643] Add websockets to Stackage --- build-constraints.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 9cbfa303..708e7d56 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -182,6 +182,7 @@ packages: - blaze-markup - hakyll - stylish-haskell + - websockets "Antoine Latter": - byteorder From 9fcbee26005e94d7b298d411091afc7b66e79166 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Mon, 11 May 2015 12:44:59 +0300 Subject: [PATCH 524/643] No more psqueues skipped tests --- build-constraints.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index 67ca34c3..13e5275c 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -1115,7 +1115,6 @@ skipped-tests: - testpack - vector - Cabal - - psqueues # Tests which we should build and run, but which are expected to fail. We # should not fail a build based on a test failure for one of these packages. From e4977f4028f7edb8d335befb960dcedf525df0bd Mon Sep 17 00:00:00 2001 From: Athan Clark Date: Mon, 11 May 2015 16:27:13 -0600 Subject: [PATCH 525/643] Adding the nested-routes library --- build-constraints.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 390eacbc..e70a57df 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -972,6 +972,9 @@ packages: - clash-systemverilog - clash-ghc + "Athan Clark @athanclark": + - nested-routes + "Stackage upper bounds": # https://github.com/fpco/stackage/issues/476 - vector-space < 0.10 From be6b09f7d258fcae70dc0900535266070e01c356 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Tue, 12 May 2015 07:12:39 +0300 Subject: [PATCH 526/643] Upper bound for #576 --- build-constraints.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 390eacbc..c90b9607 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -1002,6 +1002,9 @@ packages: - attoparsec < 0.13 - aeson < 0.8.1.0 + # https://github.com/fpco/stackage/issues/576 + - hscolour < 1.23 + # Package flags are applied to individual packages, and override the values of # global-flags package-flags: From e91f30f067ed522e1d3bbf46a2b51ab7381d2cef Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Tue, 12 May 2015 09:55:50 +0300 Subject: [PATCH 527/643] No more expected failure kazu-yamamoto/http-date#6 --- build-constraints.yaml | 3 --- 1 file changed, 3 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index c90b9607..532c95cb 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -1312,9 +1312,6 @@ expected-test-failures: # https://github.com/simonmar/alex/issues/62 GHC 7.10 - alex - # https://github.com/kazu-yamamoto/http-date/issues/6 GHC 7.10 - - http-date - # https://github.com/haskell-suite/haskell-names/issues/63 GHC 7.10 - haskell-names From 609b644989f7559da22e36cadeefff2879f7c6cf Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Tue, 12 May 2015 09:57:44 +0300 Subject: [PATCH 528/643] Upper bounds for #577 --- build-constraints.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 532c95cb..7ecb0aa6 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -1005,6 +1005,9 @@ packages: # https://github.com/fpco/stackage/issues/576 - hscolour < 1.23 + # https://github.com/fpco/stackage/issues/577 + - MonadRandom < 0.4 + # Package flags are applied to individual packages, and override the values of # global-flags package-flags: From 521138a02624a6fbffc5d89e8e0146e46c993db7 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Tue, 12 May 2015 09:58:07 +0300 Subject: [PATCH 529/643] Remove upper bound and close #576 --- build-constraints.yaml | 3 --- 1 file changed, 3 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index 7ecb0aa6..1c567064 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -1002,9 +1002,6 @@ packages: - attoparsec < 0.13 - aeson < 0.8.1.0 - # https://github.com/fpco/stackage/issues/576 - - hscolour < 1.23 - # https://github.com/fpco/stackage/issues/577 - MonadRandom < 0.4 From 5947d30bcf68120713e44cf4d59af69a58ff2e8d Mon Sep 17 00:00:00 2001 From: Fumiaki Kinoshita Date: Tue, 12 May 2015 16:45:40 +0900 Subject: [PATCH 530/643] Add several packages I maintain --- build-constraints.yaml | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index 9b38e5a3..71ed7e2d 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -957,13 +957,13 @@ packages: "Josh Holland josh@inv.alid.pw @jshholland": - sandi - data-ordlist - + "Harry Garrood @hdgarrood": - aeson-better-errors - + "Mitchell Rosen @christiaanb": - ghc-typelits-natnormalise - clash-prelude @@ -975,6 +975,13 @@ packages: "Athan Clark @athanclark": - nested-routes + "Fumiaki Kinoshita @fumieval": + - control-bool + - monad-skeleton + - objective + - witherable + - xml-lens + "Stackage upper bounds": # https://github.com/fpco/stackage/issues/476 - vector-space < 0.10 From af68a28863dfc1f922e10c5c73c237fe5c9a2283 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Tue, 12 May 2015 14:25:25 +0300 Subject: [PATCH 531/643] Upper bound for #579 --- build-constraints.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 71ed7e2d..f33c3b00 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -1015,6 +1015,9 @@ packages: # https://github.com/fpco/stackage/issues/577 - MonadRandom < 0.4 + # https://github.com/fpco/stackage/issues/579 + - wai-app-static < 3.1 + # Package flags are applied to individual packages, and override the values of # global-flags package-flags: From 84a0aa9b0a44bb9c0c58735889cb07c7a226e24c Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Tue, 12 May 2015 15:05:16 +0300 Subject: [PATCH 532/643] Upper bounds for #579 #580 and #581 --- build-constraints.yaml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index f33c3b00..9c7e33f9 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -1017,6 +1017,14 @@ packages: # https://github.com/fpco/stackage/issues/579 - wai-app-static < 3.1 + - yesod-static < 1.5 + + # https://github.com/fpco/stackage/issues/580 + - chunked-data < 0.2 + + # https://github.com/fpco/stackage/issues/581 + - xml-conduit < 1.3 + - html-conduit < 1.2 # Package flags are applied to individual packages, and override the values of # global-flags From 455e136eaa2ca905e67f45b8d0f530085f9ae238 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Tue, 12 May 2015 15:26:13 +0300 Subject: [PATCH 533/643] Remove upper bound and close #580 --- build-constraints.yaml | 3 --- 1 file changed, 3 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index 9c7e33f9..fc5c9496 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -1019,9 +1019,6 @@ packages: - wai-app-static < 3.1 - yesod-static < 1.5 - # https://github.com/fpco/stackage/issues/580 - - chunked-data < 0.2 - # https://github.com/fpco/stackage/issues/581 - xml-conduit < 1.3 - html-conduit < 1.2 From 3855d1d2f8b8c2720b20142e18f962932a412c02 Mon Sep 17 00:00:00 2001 From: Alois Cochard Date: Tue, 12 May 2015 14:36:19 +0200 Subject: [PATCH 534/643] Re-enable codex (#415). --- build-constraints.yaml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index f33c3b00..4388f500 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -741,9 +741,8 @@ packages: - unbound-generics "Alois Cochard alois.cochard@gmail.com @aloiscochard": - # https://github.com/fpco/stackage/issues/415 - # - codex - #- machines-directory GHC 7.10 + - codex + - machines-directory - machines-io - machines-process # on behalf of Bryan O'Sullivan @bos From c815a1af1d41df941aecd08f5abc9cc9441c5ddb Mon Sep 17 00:00:00 2001 From: Alois Cochard Date: Tue, 12 May 2015 14:36:19 +0200 Subject: [PATCH 535/643] Re-enable codex (#415). --- build-constraints.yaml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index f33c3b00..4388f500 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -741,9 +741,8 @@ packages: - unbound-generics "Alois Cochard alois.cochard@gmail.com @aloiscochard": - # https://github.com/fpco/stackage/issues/415 - # - codex - #- machines-directory GHC 7.10 + - codex + - machines-directory - machines-io - machines-process # on behalf of Bryan O'Sullivan @bos From 79d4edd677693e4022dd5a881c767131afd25b0c Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Tue, 12 May 2015 18:37:16 +0300 Subject: [PATCH 536/643] Skip MissingH tests --- build-constraints.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 72ababc5..7aee8a9e 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -1136,6 +1136,7 @@ skipped-tests: - testpack - vector - Cabal + - MissingH # Tests which we should build and run, but which are expected to fail. We # should not fail a build based on a test failure for one of these packages. From 24b55488b58a12525f8954bb82a580a9d18c099f Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Tue, 12 May 2015 18:45:50 +0300 Subject: [PATCH 537/643] Remove upper bounds and close #568 --- build-constraints.yaml | 3 --- 1 file changed, 3 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index 7aee8a9e..fa101ec8 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -1004,9 +1004,6 @@ packages: # https://github.com/fpco/stackage/issues/549 - tttool < 1.4 - # https://github.com/fpco/stackage/issues/568 - - pandoc-citeproc < 0.7 - # https://github.com/fpco/stackage/issues/572 - attoparsec < 0.13 - aeson < 0.8.1.0 From 1e1f0ef7777a02b43bdc480095162f1e0eef6743 Mon Sep 17 00:00:00 2001 From: Athan Clark Date: Tue, 12 May 2015 18:15:19 -0600 Subject: [PATCH 538/643] more web packages --- build-constraints.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index fa101ec8..75b38e80 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -973,6 +973,9 @@ packages: "Athan Clark @athanclark": - nested-routes + - urlpath + - markup + - webpage "Fumiaki Kinoshita @fumieval": - control-bool From 8f83ffb1c80e84977803edcab0dbafb6c84c1907 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Wed, 13 May 2015 06:21:16 +0300 Subject: [PATCH 539/643] Upper bounds for #586 --- build-constraints.yaml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 75b38e80..ef44a4d3 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -1022,6 +1022,14 @@ packages: - xml-conduit < 1.3 - html-conduit < 1.2 + # https://github.com/fpco/stackage/issues/586 + - classy-prelude < 0.12 + - classy-prelude-conduit < 0.12 + - classy-prelude-yesod < 0.12 + - conduit-combinators < 1.0 + - basic-prelude < 0.4 + - chunked-data < 0.2 + # Package flags are applied to individual packages, and override the values of # global-flags package-flags: From 3f93ebaf4d8966368c58811104627e7f3da4906d Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Wed, 13 May 2015 08:19:22 +0300 Subject: [PATCH 540/643] Add stackage-metadata --- build-constraints.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index ef44a4d3..b918d2c8 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -110,6 +110,7 @@ packages: - stackage-cabal - stackage-sandbox - stackage-setup + - stackage-metadata - statistics-linreg - th-expand-syns - thyme From 25fca6d6190c364674ed3f1a8a58868879899916 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Wed, 13 May 2015 10:52:45 +0300 Subject: [PATCH 541/643] No longer expect failure bos/text#118 --- build-constraints.yaml | 3 --- 1 file changed, 3 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index b918d2c8..1fcdace9 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -1342,9 +1342,6 @@ expected-test-failures: # https://github.com/haskell-suite/haskell-names/issues/63 GHC 7.10 - haskell-names - # https://github.com/bos/text/issues/118 GHC 7.10 - - text - # https://github.com/ekmett/hyperloglog/issues/10 GHC 7.10 - hyperloglog From fad55415e124dc3dd81326490be36cbe53269255 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Wed, 13 May 2015 11:12:05 +0300 Subject: [PATCH 542/643] Fix working directory for nightly --- automated/build.sh | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/automated/build.sh b/automated/build.sh index 7e1b128c..7690be08 100755 --- a/automated/build.sh +++ b/automated/build.sh @@ -4,9 +4,10 @@ set -eux ROOT=$(cd $(dirname $0) ; pwd) TARGET=$1 -IMAGE=snoyberg/stackage:$(echo $TARGET | cut -d- -f 1) +TAG=$(echo $TARGET | cut -d- -f 1) +IMAGE=snoyberg/stackage:$TAG -if [ "$IMAGE" -eq "nightly"] +if [ "$TAG" -eq "nightly"] then TROOT=$ROOT/nightly else From 15cbe979846ce52cbaab9b5fb1ba5cd4fc450cba Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Wed, 13 May 2015 11:15:34 +0300 Subject: [PATCH 543/643] Fix bash (I suck at this) --- automated/build.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/automated/build.sh b/automated/build.sh index 7690be08..dd876035 100755 --- a/automated/build.sh +++ b/automated/build.sh @@ -7,7 +7,7 @@ TARGET=$1 TAG=$(echo $TARGET | cut -d- -f 1) IMAGE=snoyberg/stackage:$TAG -if [ "$TAG" -eq "nightly"] +if [ "$TAG" = "nightly" ] then TROOT=$ROOT/nightly else From bf480cb3df4021c0cca5d324c8bf3e7cc9978ded Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Wed, 13 May 2015 16:52:38 +0300 Subject: [PATCH 544/643] Upper bound for #587 --- build-constraints.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 1fcdace9..52c905b8 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -1031,6 +1031,9 @@ packages: - basic-prelude < 0.4 - chunked-data < 0.2 + # https://github.com/fpco/stackage/issues/587 + - cabal-debian < 4.27.2 + # Package flags are applied to individual packages, and override the values of # global-flags package-flags: From 7aa25b3f329bd1e35f9cdea61cf72b4f0874e838 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Wed, 13 May 2015 17:01:16 +0300 Subject: [PATCH 545/643] Temporarily block biophd BioHaskell/biophd#2 --- build-constraints.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index 52c905b8..8d2d3b35 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -534,7 +534,8 @@ packages: # - biosff GHC 7.10 - blastxml - bioace - - biophd < 0.0.6 || > 0.0.6 + # https://github.com/BioHaskell/biophd/issues/2 + # - biophd < 0.0.6 || > 0.0.6 - biopsl # https://github.com/ingolia/SamTools/issues/3 samtools - seqloc - bioalign From cd7681628aeb868c7b249adecafd2e20e1e569ce Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Wed, 13 May 2015 17:03:02 +0300 Subject: [PATCH 546/643] Expected test failure ekmett/parsers#47 --- build-constraints.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 8d2d3b35..f7a1ed73 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -1367,6 +1367,9 @@ expected-test-failures: # https://github.com/haskell-servant/servant/issues/68 - servant-client + # https://github.com/ekmett/parsers/issues/47 + - parsers + # Haddocks which are expected to fail. Same concept as expected test failures. expected-haddock-failures: # https://github.com/acw/bytestring-progress/issues/4 From ea089da9ab3ea635aa2ce94fc687679900f81ab7 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Wed, 13 May 2015 18:54:30 +0300 Subject: [PATCH 547/643] Expected test failure: bitcoin-api --- build-constraints.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index f7a1ed73..2b2a3f5f 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -1370,6 +1370,9 @@ expected-test-failures: # https://github.com/ekmett/parsers/issues/47 - parsers + # Requires a running server + - bitcoin-api + # Haddocks which are expected to fail. Same concept as expected test failures. expected-haddock-failures: # https://github.com/acw/bytestring-progress/issues/4 From 8764b2cff0fc66cab23feb67ca0535ee5b8d943c Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Wed, 13 May 2015 18:56:11 +0300 Subject: [PATCH 548/643] Temporarily block: solatis/haskell-bitcoin-api-extra#1 --- build-constraints.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index 2b2a3f5f..305e9363 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -788,7 +788,8 @@ packages: "Leon Mergen leon@solatis.com @solatis": - base58string - bitcoin-api - - bitcoin-api-extra + # https://github.com/solatis/haskell-bitcoin-api-extra/issues/1 + # - bitcoin-api-extra - bitcoin-block - bitcoin-script - bitcoin-tx From b5c6cfcff27c116788ee430c343a0bd8feb8c854 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Wed, 13 May 2015 19:12:07 +0300 Subject: [PATCH 549/643] --docmap-file added to automated builds --- automated/build.sh | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/automated/build.sh b/automated/build.sh index dd876035..617c7e88 100755 --- a/automated/build.sh +++ b/automated/build.sh @@ -15,6 +15,7 @@ else fi PLAN_FILE=current-plan.yaml +DOCMAP_FILE=current-docmap.yaml BUNDLE_FILE=current.bundle CABAL_DIR=$ROOT/cabal @@ -76,5 +77,5 @@ ARGS_UPLOAD="$ARGS_COMMON -e AWS_ACCESS_KEY=$AWS_ACCESS_KEY -e AWS_SECRET_KEY=$A # Use cabal update first to initialize ~/.cabal.config, then use stackage-curator update to get it securely docker run $ARGS_PREBUILD $IMAGE /bin/bash -c "cabal update && stackage-curator update && stackage-curator create-plan --plan-file $PLAN_FILE --target $TARGET ${CONSTRAINTS:-} && stackage-curator check --plan-file $PLAN_FILE && stackage-curator fetch --plan-file $PLAN_FILE && cabal install random cabal-install" -docker run $ARGS_BUILD $IMAGE stackage-curator make-bundle --plan-file $PLAN_FILE --bundle-file $BUNDLE_FILE --target $TARGET -docker run $ARGS_UPLOAD $IMAGE /bin/bash -c "stackage-curator upload --bundle-file $BUNDLE_FILE && stackage-curator hackage-distro --plan-file $PLAN_FILE --target $TARGET && stackage-curator upload-github --plan-file $PLAN_FILE --target $TARGET && stackage-curator upload-docs --target $TARGET" +docker run $ARGS_BUILD $IMAGE stackage-curator make-bundle --plan-file $PLAN_FILE --docmap-file $DOCMAP_FILE --bundle-file $BUNDLE_FILE --target $TARGET +docker run $ARGS_UPLOAD $IMAGE /bin/bash -c "stackage-curator upload --bundle-file $BUNDLE_FILE && stackage-curator hackage-distro --plan-file $PLAN_FILE --target $TARGET && stackage-curator upload-github --plan-file $PLAN_FILE --docmap-file $DOCMAP_FILE --target $TARGET && stackage-curator upload-docs --target $TARGET" From ea98e38f37cdccb257314a73a2955d31a3235786 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Wed, 13 May 2015 19:17:15 +0300 Subject: [PATCH 550/643] --bundle-file for upload-docs --- automated/build.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/automated/build.sh b/automated/build.sh index 617c7e88..476e130b 100755 --- a/automated/build.sh +++ b/automated/build.sh @@ -78,4 +78,4 @@ ARGS_UPLOAD="$ARGS_COMMON -e AWS_ACCESS_KEY=$AWS_ACCESS_KEY -e AWS_SECRET_KEY=$A # Use cabal update first to initialize ~/.cabal.config, then use stackage-curator update to get it securely docker run $ARGS_PREBUILD $IMAGE /bin/bash -c "cabal update && stackage-curator update && stackage-curator create-plan --plan-file $PLAN_FILE --target $TARGET ${CONSTRAINTS:-} && stackage-curator check --plan-file $PLAN_FILE && stackage-curator fetch --plan-file $PLAN_FILE && cabal install random cabal-install" docker run $ARGS_BUILD $IMAGE stackage-curator make-bundle --plan-file $PLAN_FILE --docmap-file $DOCMAP_FILE --bundle-file $BUNDLE_FILE --target $TARGET -docker run $ARGS_UPLOAD $IMAGE /bin/bash -c "stackage-curator upload --bundle-file $BUNDLE_FILE && stackage-curator hackage-distro --plan-file $PLAN_FILE --target $TARGET && stackage-curator upload-github --plan-file $PLAN_FILE --docmap-file $DOCMAP_FILE --target $TARGET && stackage-curator upload-docs --target $TARGET" +docker run $ARGS_UPLOAD $IMAGE /bin/bash -c "stackage-curator upload --bundle-file $BUNDLE_FILE && stackage-curator hackage-distro --plan-file $PLAN_FILE --target $TARGET && stackage-curator upload-github --plan-file $PLAN_FILE --docmap-file $DOCMAP_FILE --target $TARGET && stackage-curator upload-docs --target $TARGET --bundle-file $BUNDLE_FILE" From f132923d7568c826a0ec3a32e45b23d27bf582d6 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Wed, 13 May 2015 20:20:32 +0300 Subject: [PATCH 551/643] check-target-available --- automated/build.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/automated/build.sh b/automated/build.sh index 476e130b..a120d320 100755 --- a/automated/build.sh +++ b/automated/build.sh @@ -76,6 +76,6 @@ ARGS_BUILD="$ARGS_COMMON -v $CABAL_DIR:/home/stackage/.cabal:ro -v $GHC_DIR:/hom ARGS_UPLOAD="$ARGS_COMMON -e AWS_ACCESS_KEY=$AWS_ACCESS_KEY -e AWS_SECRET_KEY=$AWS_SECRET_KEY -v $AUTH_TOKEN:/auth-token:ro -v $HACKAGE_CREDS:/hackage-creds:ro -v $DOT_STACKAGE_DIR:/home/stackage/.stackage -v $SSH_DIR:/home/ubuntu/.ssh:ro -v $GITCONFIG:/home/stackage/.gitconfig:ro" # Use cabal update first to initialize ~/.cabal.config, then use stackage-curator update to get it securely -docker run $ARGS_PREBUILD $IMAGE /bin/bash -c "cabal update && stackage-curator update && stackage-curator create-plan --plan-file $PLAN_FILE --target $TARGET ${CONSTRAINTS:-} && stackage-curator check --plan-file $PLAN_FILE && stackage-curator fetch --plan-file $PLAN_FILE && cabal install random cabal-install" +docker run $ARGS_PREBUILD $IMAGE /bin/bash -c "stackage-curator check-target-available --target $TARGET && cabal update && stackage-curator update && stackage-curator create-plan --plan-file $PLAN_FILE --target $TARGET ${CONSTRAINTS:-} && stackage-curator check --plan-file $PLAN_FILE && stackage-curator fetch --plan-file $PLAN_FILE && cabal install random cabal-install" docker run $ARGS_BUILD $IMAGE stackage-curator make-bundle --plan-file $PLAN_FILE --docmap-file $DOCMAP_FILE --bundle-file $BUNDLE_FILE --target $TARGET docker run $ARGS_UPLOAD $IMAGE /bin/bash -c "stackage-curator upload --bundle-file $BUNDLE_FILE && stackage-curator hackage-distro --plan-file $PLAN_FILE --target $TARGET && stackage-curator upload-github --plan-file $PLAN_FILE --docmap-file $DOCMAP_FILE --target $TARGET && stackage-curator upload-docs --target $TARGET --bundle-file $BUNDLE_FILE" From 8a024d79f2dfcccc631614eb72328c02f538f62a Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Thu, 14 May 2015 06:08:03 +0300 Subject: [PATCH 552/643] Switch bounds for #587 --- build-constraints.yaml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index 305e9363..819ff0d4 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -1034,7 +1034,7 @@ packages: - chunked-data < 0.2 # https://github.com/fpco/stackage/issues/587 - - cabal-debian < 4.27.2 + - newtype-generics < 0.4.0.1 # Package flags are applied to individual packages, and override the values of # global-flags @@ -1152,6 +1152,9 @@ skipped-tests: - Cabal - MissingH + # https://github.com/fpco/stackage/issues/587 + - newtype-generics + # Tests which we should build and run, but which are expected to fail. We # should not fail a build based on a test failure for one of these packages. expected-test-failures: From 8839ff07d6afadd414dacab0e40490c534861b59 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Thu, 14 May 2015 06:09:13 +0300 Subject: [PATCH 553/643] Remove upper bounds and close #586 --- build-constraints.yaml | 8 -------- 1 file changed, 8 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index 819ff0d4..d8322a2c 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -1025,14 +1025,6 @@ packages: - xml-conduit < 1.3 - html-conduit < 1.2 - # https://github.com/fpco/stackage/issues/586 - - classy-prelude < 0.12 - - classy-prelude-conduit < 0.12 - - classy-prelude-yesod < 0.12 - - conduit-combinators < 1.0 - - basic-prelude < 0.4 - - chunked-data < 0.2 - # https://github.com/fpco/stackage/issues/587 - newtype-generics < 0.4.0.1 From d0f41632ddfb8b222a34a86698ef4356be346301 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Thu, 14 May 2015 06:10:58 +0300 Subject: [PATCH 554/643] Upper bound for #588 --- build-constraints.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index d8322a2c..2329e77b 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -1028,6 +1028,9 @@ packages: # https://github.com/fpco/stackage/issues/587 - newtype-generics < 0.4.0.1 + # https://github.com/fpco/stackage/issues/588 + - semigroupoids < 4.5 + # Package flags are applied to individual packages, and override the values of # global-flags package-flags: From c068334feade75c9157105fbad84ea67998e9a2d Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Thu, 14 May 2015 06:24:04 +0300 Subject: [PATCH 555/643] Temporarily block two failing builds --- build-constraints.yaml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index 2329e77b..534e2556 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -593,7 +593,8 @@ packages: # https://github.com/kazu-yamamoto/ghc-mod/issues/437 GHC 7.10 # - ghc-mod - io-choice - - system-canonicalpath + # https://github.com/d12frosted/CanonicalPath/issues/5 + # - system-canonicalpath "Yann Esposito ": - holy-project @@ -977,7 +978,8 @@ packages: "Athan Clark @athanclark": - nested-routes - urlpath - - markup + # https://github.com/athanclark/markup/issues/5 + # - markup - webpage "Fumiaki Kinoshita @fumieval": From 2b78553d09adea095b45bbe691484f85bedf3010 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Thu, 14 May 2015 06:45:48 +0300 Subject: [PATCH 556/643] Unblock markup --- build-constraints.yaml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index 534e2556..c07bdaf3 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -978,8 +978,7 @@ packages: "Athan Clark @athanclark": - nested-routes - urlpath - # https://github.com/athanclark/markup/issues/5 - # - markup + - markup - webpage "Fumiaki Kinoshita @fumieval": From 48e698038ab65d754290c17fe87750c3aaf14e44 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Thu, 14 May 2015 06:48:42 +0300 Subject: [PATCH 557/643] Temporary block for jwiegley/gitlib#46 --- build-constraints.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index c07bdaf3..000fab76 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -640,7 +640,8 @@ packages: - haddock-api - here - hlibgit2 - - gitlib-libgit2 + # https://github.com/jwiegley/gitlib/issues/46 + # - gitlib-libgit2 - hostname-validate - interpolatedstring-perl6 - iproute From f137d8ea9293085815ca30e6daf74bc482ffec9e Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Thu, 14 May 2015 06:50:00 +0300 Subject: [PATCH 558/643] Block stackage-curator --- build-constraints.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index 000fab76..6a002855 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -100,7 +100,8 @@ packages: - shelly - smtLib - stackage - - stackage-curator + # Temporary block while system-filepath issues worked out + # - stackage-curator - stackage-types - stackage-update - stackage-upload From d0993c79914893b0e3ac8f5db062901307700895 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Thu, 14 May 2015 08:27:49 +0300 Subject: [PATCH 559/643] Remove upper bounds and close #587 --- build-constraints.yaml | 6 ------ 1 file changed, 6 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index 6a002855..7ae3d9bf 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -1028,9 +1028,6 @@ packages: - xml-conduit < 1.3 - html-conduit < 1.2 - # https://github.com/fpco/stackage/issues/587 - - newtype-generics < 0.4.0.1 - # https://github.com/fpco/stackage/issues/588 - semigroupoids < 4.5 @@ -1150,9 +1147,6 @@ skipped-tests: - Cabal - MissingH - # https://github.com/fpco/stackage/issues/587 - - newtype-generics - # Tests which we should build and run, but which are expected to fail. We # should not fail a build based on a test failure for one of these packages. expected-test-failures: From fcfd3e11506c4c0a9980f60e3f7d04efac2077c8 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Thu, 14 May 2015 10:31:10 +0300 Subject: [PATCH 560/643] Unblock solatis/haskell-bitcoin-api-extra#1 --- build-constraints.yaml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index 7ae3d9bf..d1571c52 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -791,8 +791,7 @@ packages: "Leon Mergen leon@solatis.com @solatis": - base58string - bitcoin-api - # https://github.com/solatis/haskell-bitcoin-api-extra/issues/1 - # - bitcoin-api-extra + - bitcoin-api-extra - bitcoin-block - bitcoin-script - bitcoin-tx From ac77ed2b5b512338508ce7df1312ffedf250424d Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Thu, 14 May 2015 12:02:06 +0300 Subject: [PATCH 561/643] Remove block for vincenthz/hs-libgit#4 --- build-constraints.yaml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index d1571c52..9937e709 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -215,8 +215,7 @@ packages: - crypto-random-api - hit - language-java - # https://github.com/vincenthz/hs-libgit/issues/4 - # - libgit GHC 7.10 + - libgit - pem - siphash - socks From 50dec036deb3751e59ed4d4b8ce5843f6cf271e9 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Thu, 14 May 2015 13:00:06 +0300 Subject: [PATCH 562/643] Use upload-index --- automated/build.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/automated/build.sh b/automated/build.sh index a120d320..610857ab 100755 --- a/automated/build.sh +++ b/automated/build.sh @@ -78,4 +78,4 @@ ARGS_UPLOAD="$ARGS_COMMON -e AWS_ACCESS_KEY=$AWS_ACCESS_KEY -e AWS_SECRET_KEY=$A # Use cabal update first to initialize ~/.cabal.config, then use stackage-curator update to get it securely docker run $ARGS_PREBUILD $IMAGE /bin/bash -c "stackage-curator check-target-available --target $TARGET && cabal update && stackage-curator update && stackage-curator create-plan --plan-file $PLAN_FILE --target $TARGET ${CONSTRAINTS:-} && stackage-curator check --plan-file $PLAN_FILE && stackage-curator fetch --plan-file $PLAN_FILE && cabal install random cabal-install" docker run $ARGS_BUILD $IMAGE stackage-curator make-bundle --plan-file $PLAN_FILE --docmap-file $DOCMAP_FILE --bundle-file $BUNDLE_FILE --target $TARGET -docker run $ARGS_UPLOAD $IMAGE /bin/bash -c "stackage-curator upload --bundle-file $BUNDLE_FILE && stackage-curator hackage-distro --plan-file $PLAN_FILE --target $TARGET && stackage-curator upload-github --plan-file $PLAN_FILE --docmap-file $DOCMAP_FILE --target $TARGET && stackage-curator upload-docs --target $TARGET --bundle-file $BUNDLE_FILE" +docker run $ARGS_UPLOAD $IMAGE /bin/bash -c "stackage-curator upload --bundle-file $BUNDLE_FILE && stackage-curator hackage-distro --plan-file $PLAN_FILE --target $TARGET && stackage-curator upload-github --plan-file $PLAN_FILE --docmap-file $DOCMAP_FILE --target $TARGET && stackage-curator upload-index --plan-file $PLAN_FILE --target $TARGET && stackage-curator upload-docs --target $TARGET --bundle-file $BUNDLE_FILE" From a7bf4c7c7129c536f07ad1eb7b128d45de8c49db Mon Sep 17 00:00:00 2001 From: Peter Harpending Date: Thu, 14 May 2015 16:06:15 -0600 Subject: [PATCH 563/643] Add the package "exceptional" --- build-constraints.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 9937e709..def821b6 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -988,6 +988,9 @@ packages: - witherable - xml-lens + "Peter Harpending @pharpend": + - exceptional + "Stackage upper bounds": # https://github.com/fpco/stackage/issues/476 - vector-space < 0.10 From 70d95d6c36eb8e47fd712ebb318620cc6e5ccc52 Mon Sep 17 00:00:00 2001 From: Emanuel Borsboom Date: Thu, 14 May 2015 16:56:50 -0700 Subject: [PATCH 564/643] Add monad-extras --- build-constraints.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index 9937e709..27720105 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -627,7 +627,7 @@ packages: "Luis G. Torres ": + "Emanuel Borsboom ": - BoundedChan - broadcast-chan - bytestring-lexing @@ -654,6 +654,7 @@ packages: - wl-pprint-text - Chart-cairo - ghc-events + - monad-extras "Michael Sloan ": - th-orphans From d8555885798c926b4eb5df387dce61405ec1d9cd Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Fri, 15 May 2015 05:28:27 +0300 Subject: [PATCH 565/643] Upper bound for #579 --- build-constraints.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 27720105..ed1f36c9 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -1022,6 +1022,7 @@ packages: # https://github.com/fpco/stackage/issues/579 - wai-app-static < 3.1 - yesod-static < 1.5 + - keter < 1.4 # https://github.com/fpco/stackage/issues/581 - xml-conduit < 1.3 From fc84810552a4c087935e20b5d26fea359e65b58d Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Fri, 15 May 2015 05:37:31 +0300 Subject: [PATCH 566/643] Run check-target-available under ARGS_UPLOAD --- automated/build.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/automated/build.sh b/automated/build.sh index 610857ab..deae040e 100755 --- a/automated/build.sh +++ b/automated/build.sh @@ -76,6 +76,7 @@ ARGS_BUILD="$ARGS_COMMON -v $CABAL_DIR:/home/stackage/.cabal:ro -v $GHC_DIR:/hom ARGS_UPLOAD="$ARGS_COMMON -e AWS_ACCESS_KEY=$AWS_ACCESS_KEY -e AWS_SECRET_KEY=$AWS_SECRET_KEY -v $AUTH_TOKEN:/auth-token:ro -v $HACKAGE_CREDS:/hackage-creds:ro -v $DOT_STACKAGE_DIR:/home/stackage/.stackage -v $SSH_DIR:/home/ubuntu/.ssh:ro -v $GITCONFIG:/home/stackage/.gitconfig:ro" # Use cabal update first to initialize ~/.cabal.config, then use stackage-curator update to get it securely -docker run $ARGS_PREBUILD $IMAGE /bin/bash -c "stackage-curator check-target-available --target $TARGET && cabal update && stackage-curator update && stackage-curator create-plan --plan-file $PLAN_FILE --target $TARGET ${CONSTRAINTS:-} && stackage-curator check --plan-file $PLAN_FILE && stackage-curator fetch --plan-file $PLAN_FILE && cabal install random cabal-install" +docker run $ARGS_UPLOAD $IMAGE /bin/bash -c "stackage-curator check-target-available --target $TARGET" +docker run $ARGS_PREBUILD $IMAGE /bin/bash -c "cabal update && stackage-curator update && stackage-curator create-plan --plan-file $PLAN_FILE --target $TARGET ${CONSTRAINTS:-} && stackage-curator check --plan-file $PLAN_FILE && stackage-curator fetch --plan-file $PLAN_FILE && cabal install random cabal-install" docker run $ARGS_BUILD $IMAGE stackage-curator make-bundle --plan-file $PLAN_FILE --docmap-file $DOCMAP_FILE --bundle-file $BUNDLE_FILE --target $TARGET docker run $ARGS_UPLOAD $IMAGE /bin/bash -c "stackage-curator upload --bundle-file $BUNDLE_FILE && stackage-curator hackage-distro --plan-file $PLAN_FILE --target $TARGET && stackage-curator upload-github --plan-file $PLAN_FILE --docmap-file $DOCMAP_FILE --target $TARGET && stackage-curator upload-index --plan-file $PLAN_FILE --target $TARGET && stackage-curator upload-docs --target $TARGET --bundle-file $BUNDLE_FILE" From 2e34ece59ab0ac8eae02c952c63afe3b9068fe84 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Fri, 15 May 2015 07:07:35 +0300 Subject: [PATCH 567/643] Add back neat-interpolation --- build-constraints.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index 77391f9e..9715d32a 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -669,7 +669,7 @@ packages: - hasql-postgres - list-t - mtl-prelude - #- neat-interpolation GHC 7.10 + - neat-interpolation - partial-handler - postgresql-binary - slave-thread From a8c4b0c02f144f7b948a0e163a92c365c8a76fbd Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Fri, 15 May 2015 07:26:58 +0300 Subject: [PATCH 568/643] edit-distance --- build-constraints.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index 9715d32a..86bef7cc 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -815,7 +815,7 @@ packages: - string-conversions "Oleg Grenrus oleg.grenrus@iki.fi @phadej": - #- edit-distance GHC 7.10 + - edit-distance - lattices - waitra From 7dbd0297b7be9e1cee9f7a849eb1f7eaf57325d4 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Fri, 15 May 2015 10:11:01 +0300 Subject: [PATCH 569/643] Add expected test failure for running server needed --- build-constraints.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 86bef7cc..bde2700a 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -1371,6 +1371,7 @@ expected-test-failures: # Requires a running server - bitcoin-api + - bitcoin-api-extra # Haddocks which are expected to fail. Same concept as expected test failures. expected-haddock-failures: From 882569c740b6c00a52046d748b3185296ecd3f64 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Fri, 15 May 2015 13:01:01 +0300 Subject: [PATCH 570/643] Bind mount ~/.cabal during upload --- automated/build.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/automated/build.sh b/automated/build.sh index deae040e..af54104a 100755 --- a/automated/build.sh +++ b/automated/build.sh @@ -73,7 +73,7 @@ chmod +x stackage-curator ARGS_COMMON="--rm -u $USER -v $WORKDIR:/home/stackage/work -w /home/stackage/work -v $BINDIR/stackage-curator:/usr/local/bin/stackage-curator:ro -v /etc/passwd:/etc/passwd:ro -v /etc/group:/etc/group:ro" ARGS_PREBUILD="$ARGS_COMMON -v $CABAL_DIR:/home/stackage/.cabal -v $GHC_DIR:/home/stackage/.ghc -v $DOT_STACKAGE_DIR:/home/stackage/.stackage" ARGS_BUILD="$ARGS_COMMON -v $CABAL_DIR:/home/stackage/.cabal:ro -v $GHC_DIR:/home/stackage/.ghc:ro" -ARGS_UPLOAD="$ARGS_COMMON -e AWS_ACCESS_KEY=$AWS_ACCESS_KEY -e AWS_SECRET_KEY=$AWS_SECRET_KEY -v $AUTH_TOKEN:/auth-token:ro -v $HACKAGE_CREDS:/hackage-creds:ro -v $DOT_STACKAGE_DIR:/home/stackage/.stackage -v $SSH_DIR:/home/ubuntu/.ssh:ro -v $GITCONFIG:/home/stackage/.gitconfig:ro" +ARGS_UPLOAD="$ARGS_COMMON -e AWS_ACCESS_KEY=$AWS_ACCESS_KEY -e AWS_SECRET_KEY=$AWS_SECRET_KEY -v $AUTH_TOKEN:/auth-token:ro -v $HACKAGE_CREDS:/hackage-creds:ro -v $DOT_STACKAGE_DIR:/home/stackage/.stackage -v $SSH_DIR:/home/ubuntu/.ssh:ro -v $GITCONFIG:/home/stackage/.gitconfig:ro -v $CABAL_DIR:/home/stackage/.cabal:ro" # Use cabal update first to initialize ~/.cabal.config, then use stackage-curator update to get it securely docker run $ARGS_UPLOAD $IMAGE /bin/bash -c "stackage-curator check-target-available --target $TARGET" From f300fa08e83786013897f06ce9d1142fb1f4e260 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Fri, 15 May 2015 13:24:50 +0300 Subject: [PATCH 571/643] Upper bounds for #588 and #590 --- build-constraints.yaml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index bde2700a..1d4679d7 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -1033,6 +1033,11 @@ packages: # https://github.com/fpco/stackage/issues/588 - semigroupoids < 4.5 + - semigroupoid-extras < 4.5 + + # https://github.com/fpco/stackage/issues/590 + - bifunctors < 5 + - profunctors < 5 # Package flags are applied to individual packages, and override the values of # global-flags From 96d2c0b9bfa9bbdc0d8298407071aebdae5e2dc8 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Fri, 15 May 2015 13:39:43 +0300 Subject: [PATCH 572/643] Upper bound for #591 --- build-constraints.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 1d4679d7..b9689289 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -1039,6 +1039,9 @@ packages: - bifunctors < 5 - profunctors < 5 + # https://github.com/fpco/stackage/issues/591 + - th-orphans < 0.12 + # Package flags are applied to individual packages, and override the values of # global-flags package-flags: From 708425fcefe956ff2e0aa13c2ba57d99d60fc9d5 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Fri, 15 May 2015 17:45:17 +0300 Subject: [PATCH 573/643] More upper bounds for #588 and #590 --- build-constraints.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index b9689289..955213d0 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -1034,10 +1034,13 @@ packages: # https://github.com/fpco/stackage/issues/588 - semigroupoids < 4.5 - semigroupoid-extras < 4.5 + - lens < 4.10 # https://github.com/fpco/stackage/issues/590 - bifunctors < 5 - profunctors < 5 + - machines < 0.5 + - free < 4.12 # https://github.com/fpco/stackage/issues/591 - th-orphans < 0.12 From 32431f0da57e403052ff53d6cab42fedb1ba5623 Mon Sep 17 00:00:00 2001 From: Peter Harpending Date: Sat, 16 May 2015 12:53:30 -0600 Subject: [PATCH 574/643] Add 'pager' to stackage --- build-constraints.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 955213d0..8192f2c3 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -991,6 +991,7 @@ packages: "Peter Harpending @pharpend": - exceptional + - pager "Stackage upper bounds": # https://github.com/fpco/stackage/issues/476 From f7eedd41d05727a80015176bf163b3bc66090eb4 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Sat, 16 May 2015 22:10:56 +0300 Subject: [PATCH 575/643] Upper bound for ekmett/lens-action#5 --- build-constraints.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 955213d0..15e6a31f 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -1045,6 +1045,9 @@ packages: # https://github.com/fpco/stackage/issues/591 - th-orphans < 0.12 + # https://github.com/ekmett/lens-action/issues/5 + - lens-action < 0.2 + # Package flags are applied to individual packages, and override the values of # global-flags package-flags: From 738aa0c4ed066988f62eced40107a85e98ecfa1f Mon Sep 17 00:00:00 2001 From: gbaz Date: Mon, 18 May 2015 00:30:50 -0400 Subject: [PATCH 576/643] jmacro fixed for 710 --- build-constraints.yaml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index 7ab90a89..7d725fb7 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -885,8 +885,7 @@ packages: - cabal-file-th "Gershom Bazerman @gbaz": - # http://hub.darcs.net/gershomb/jmacro/issue/1 GHC 7.10 - #- jmacro + - jmacro #- jmacro-rpc #- jmacro-rpc-happstack #- jmacro-rpc-snap From 38a06f49803c81ab41d96427a48d4cc6216fe60f Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Mon, 18 May 2015 11:21:48 +0300 Subject: [PATCH 577/643] Add bad package noteed/language-glsl#11 --- build-constraints.yaml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index 7d725fb7..9c068244 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -696,8 +696,7 @@ packages: #- elm-compiler - elm-core-sources #- elm-package - # https://github.com/noteed/language-glsl/issues/11 - #- language-glsl GHC 7.10 + - language-glsl - prettyclass - QuasiText - union-find From a7dfb5bccb3472d1b0b6ef4992c7d013c88c53d3 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Mon, 18 May 2015 12:52:46 +0300 Subject: [PATCH 578/643] Add back pvdbrand/quandl-api#2 --- build-constraints.yaml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index 9c068244..c923346b 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -93,8 +93,7 @@ packages: - lhs2tex - persistent-mongoDB - pretty-class - # https://github.com/pvdbrand/quandl-api/issues/2 GHC 7.10 - #- quandl-api + - quandl-api - random-fu - random-source - shelly From e8defe55acea3c33144b4296cc3d6e2961cca3e4 Mon Sep 17 00:00:00 2001 From: Philipp Hausmann Date: Mon, 18 May 2015 12:10:44 +0200 Subject: [PATCH 579/643] Add tasty-silver --- build-constraints.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 955213d0..18b3a15c 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -992,6 +992,9 @@ packages: "Peter Harpending @pharpend": - exceptional + "Philipp Hausmann @phile314": + - tasty-silver + "Stackage upper bounds": # https://github.com/fpco/stackage/issues/476 - vector-space < 0.10 From e5970ae8b599097867ed1b84c3a16584c7c6c8dd Mon Sep 17 00:00:00 2001 From: Michael Thompson Date: Mon, 18 May 2015 10:19:43 -0400 Subject: [PATCH 580/643] Update build-constraints.yaml --- build-constraints.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 3da42d02..088e9121 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -993,6 +993,9 @@ packages: "Philipp Hausmann @phile314": - tasty-silver + "Michael Thompson @michaelt": + - pipes-text + "Stackage upper bounds": # https://github.com/fpco/stackage/issues/476 - vector-space < 0.10 From 2e234b90cf37349da36140f60508c3d59b6d6cd3 Mon Sep 17 00:00:00 2001 From: gbaz Date: Mon, 18 May 2015 13:19:06 -0400 Subject: [PATCH 581/643] Update build-constraints.yaml --- build-constraints.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index 7d725fb7..80a61003 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -886,9 +886,9 @@ packages: "Gershom Bazerman @gbaz": - jmacro - #- jmacro-rpc - #- jmacro-rpc-happstack - #- jmacro-rpc-snap + - jmacro-rpc + - jmacro-rpc-happstack + - jmacro-rpc-snap - mbox - kmeans - boolsimplifier From e575cf8fe6e1b1b4d5e187f40e9bd1d150aefc6e Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Tue, 19 May 2015 07:35:54 +0300 Subject: [PATCH 582/643] Revert "Add bad package noteed/language-glsl#11" This reverts commit 38a06f49803c81ab41d96427a48d4cc6216fe60f. --- build-constraints.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index 1473729f..f868d4c3 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -695,7 +695,8 @@ packages: #- elm-compiler - elm-core-sources #- elm-package - - language-glsl + # https://github.com/noteed/language-glsl/issues/11 + #- language-glsl GHC 7.10 - prettyclass - QuasiText - union-find From 1b69a26bf704c0221713868332738bee7e7864d5 Mon Sep 17 00:00:00 2001 From: Justin Le Date: Tue, 19 May 2015 00:24:13 -0700 Subject: [PATCH 583/643] Update build-constraints.yaml --- build-constraints.yaml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index f868d4c3..50be5c7f 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -996,6 +996,10 @@ packages: "Michael Thompson @michaelt": - pipes-text + + "Justin Le @mstksg": + - auto + - tagged-binary "Stackage upper bounds": # https://github.com/fpco/stackage/issues/476 From 056e0ecceb039af4cb025fb0a3d2fcde484630e5 Mon Sep 17 00:00:00 2001 From: Peter Harpending Date: Tue, 19 May 2015 11:04:38 -0600 Subject: [PATCH 584/643] Add editor-open to stackage --- build-constraints.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 07286435..eb0062e3 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -991,6 +991,7 @@ packages: - xml-lens "Peter Harpending @pharpend": + - editor-open - exceptional - pager From 8d104e9be6b0ecddc31a26fcf3654780eadec08f Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Tue, 19 May 2015 21:20:29 +0300 Subject: [PATCH 585/643] language-glsl added *back* --- build-constraints.yaml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index eb0062e3..1bc337a2 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -698,8 +698,7 @@ packages: #- elm-compiler - elm-core-sources #- elm-package - # https://github.com/noteed/language-glsl/issues/11 - #- language-glsl GHC 7.10 + - language-glsl - prettyclass - QuasiText - union-find From 1b46a985b34fe6aa4ad744837e874027130c410b Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Wed, 20 May 2015 10:45:24 +0300 Subject: [PATCH 586/643] Install libxml2-dev (pinging @manny-fp) --- debian-bootstrap.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/debian-bootstrap.sh b/debian-bootstrap.sh index 8064d9b3..16b21645 100755 --- a/debian-bootstrap.sh +++ b/debian-bootstrap.sh @@ -52,6 +52,7 @@ apt-get install -y \ libsdl2-dev \ libxss-dev \ libgtk-3-dev \ + libxml2-dev \ libzmq3-dev mkdir /tmp/nettle-build From ff47d340ce71ef1b2abd9752fdd3b550a2623a94 Mon Sep 17 00:00:00 2001 From: Adam Bergmark Date: Wed, 20 May 2015 12:08:45 +0200 Subject: [PATCH 587/643] Remove deprecated package --- build-constraints.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index 1bc337a2..225d76a0 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -562,7 +562,6 @@ packages: - imagesize-conduit - json-schema - multipart - - regular-xmlpickler - rest-client - rest-core - rest-gen From fde883edfccf33139a6bd1919e1f6f6b85d67f6e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=B6nke=20Hahn?= Date: Wed, 20 May 2015 18:25:23 +0800 Subject: [PATCH 588/643] add graph-wrapper --- build-constraints.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 225d76a0..6fb19fc6 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -812,6 +812,7 @@ packages: "Sönke Hahn soenkehahn@gmail.com @soenkehahn": - getopt-generics + - graph-wrapper - string-conversions "Oleg Grenrus oleg.grenrus@iki.fi @phadej": From ed86b5ce93b855d83afa0c84a84a5c46cb102b48 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Wed, 20 May 2015 15:19:42 +0300 Subject: [PATCH 589/643] Add libgsasl7-dev (pinging @manny-fp) --- debian-bootstrap.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/debian-bootstrap.sh b/debian-bootstrap.sh index 16b21645..de24152e 100755 --- a/debian-bootstrap.sh +++ b/debian-bootstrap.sh @@ -53,6 +53,7 @@ apt-get install -y \ libxss-dev \ libgtk-3-dev \ libxml2-dev \ + libgsasl7-dev \ libzmq3-dev mkdir /tmp/nettle-build From 291eb1e02a8b397b39667b76364f9344f3134a2d Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Wed, 20 May 2015 18:29:33 +0300 Subject: [PATCH 590/643] Extra upper bound for #572 --- build-constraints.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 6fb19fc6..5fba5bf0 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -1030,6 +1030,7 @@ packages: # https://github.com/fpco/stackage/issues/572 - attoparsec < 0.13 - aeson < 0.8.1.0 + - jose-jwt < 0.6 # https://github.com/fpco/stackage/issues/577 - MonadRandom < 0.4 From e83fbccc7770d37eb21ef4411c078b54be472e69 Mon Sep 17 00:00:00 2001 From: Ian Duncan Date: Wed, 20 May 2015 17:15:17 -0400 Subject: [PATCH 591/643] Add iand675 packages --- build-constraints.yaml | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 5fba5bf0..a04c81e2 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -1004,6 +1004,19 @@ packages: - auto - tagged-binary + "Ian Duncan @iand675": + - datadog + - growler + - feature-flags + - flowdock + - growler + - engine-io-growler + - metrics + - pipes-wai + - serf + - uri-templater + - librato + "Stackage upper bounds": # https://github.com/fpco/stackage/issues/476 - vector-space < 0.10 From 6a5d78cfb6a7e99c72d5d439948abd8778a1a71e Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Thu, 21 May 2015 06:42:06 +0300 Subject: [PATCH 592/643] Upper bound for #602 --- build-constraints.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 5fba5bf0..69fb2ba7 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -1061,6 +1061,9 @@ packages: # https://github.com/ekmett/lens-action/issues/5 - lens-action < 0.2 + # https://github.com/fpco/stackage/issues/602 + - errors < 2 + # Package flags are applied to individual packages, and override the values of # global-flags package-flags: From 9f5318d71026bf413b964ac919d6ac7c2716386b Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Thu, 21 May 2015 06:48:29 +0300 Subject: [PATCH 593/643] Temporarily block git-annex The only reason for this is that Docker Hub is having trouble creating a new image with the necessary libraries, which is stopping the build from succeeding. Will add back soon. --- build-constraints.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index 69fb2ba7..a9c30661 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -526,7 +526,8 @@ packages: #- hopenpgp-tools GHC 7.10, via syb-with-class "Joey Hess ": - - git-annex + [] + #- git-annex # https://github.com/fpco/stackage/issues/160 "Ketil Malde": From a5ee6149222f1ec94e7b30d7622ea79b132e6ed7 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Thu, 21 May 2015 07:57:10 +0300 Subject: [PATCH 594/643] Revert "Temporarily block git-annex" This reverts commit 9f5318d71026bf413b964ac919d6ac7c2716386b. --- build-constraints.yaml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index 297a03fe..3347bd15 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -526,8 +526,7 @@ packages: #- hopenpgp-tools GHC 7.10, via syb-with-class "Joey Hess ": - [] - #- git-annex + - git-annex # https://github.com/fpco/stackage/issues/160 "Ketil Malde": From ce594395337c3073c8983986455cf3920c9104d4 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Fri, 22 May 2015 07:15:09 +0300 Subject: [PATCH 595/643] biophd and lens-action --- build-constraints.yaml | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index 3347bd15..e257e872 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -536,8 +536,7 @@ packages: # - biosff GHC 7.10 - blastxml - bioace - # https://github.com/BioHaskell/biophd/issues/2 - # - biophd < 0.0.6 || > 0.0.6 + - biophd - biopsl # https://github.com/ingolia/SamTools/issues/3 samtools - seqloc - bioalign @@ -1071,9 +1070,6 @@ packages: # https://github.com/fpco/stackage/issues/591 - th-orphans < 0.12 - # https://github.com/ekmett/lens-action/issues/5 - - lens-action < 0.2 - # https://github.com/fpco/stackage/issues/602 - errors < 2 From d456f72b1b6211e65a1ee84b0e30a4cc76487f94 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Fri, 22 May 2015 08:44:16 +0300 Subject: [PATCH 596/643] Remove expected failure ekmett/semigroupoids#18 --- build-constraints.yaml | 3 --- 1 file changed, 3 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index e257e872..29f375ac 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -1343,9 +1343,6 @@ expected-test-failures: # https://github.com/jberryman/directory-tree/issues/4 - directory-tree - # https://github.com/ekmett/semigroupoids/issues/18 - - semigroupoids - # https://github.com/ndmitchell/hoogle/issues/101 - hoogle From f9fd76a01d4ba747f432a33b03c80ea67c590f0e Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Fri, 22 May 2015 08:53:55 +0300 Subject: [PATCH 597/643] Add back package jwiegley/gitlib#46 --- build-constraints.yaml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index 29f375ac..1c759279 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -640,8 +640,7 @@ packages: - haddock-api - here - hlibgit2 - # https://github.com/jwiegley/gitlib/issues/46 - # - gitlib-libgit2 + - gitlib-libgit2 - hostname-validate - interpolatedstring-perl6 - iproute From 27d372c572db5454d7ff268a068ec99ac5e995b8 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Fri, 22 May 2015 11:58:57 +0300 Subject: [PATCH 598/643] Block package BioHaskell/biophd#3 --- build-constraints.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index 1c759279..87072a0f 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -536,7 +536,8 @@ packages: # - biosff GHC 7.10 - blastxml - bioace - - biophd + # https://github.com/BioHaskell/biophd/issues/3 + # - biophd - biopsl # https://github.com/ingolia/SamTools/issues/3 samtools - seqloc - bioalign From b812dcaae2734ee6aa1973e25873a32ab6f2f9eb Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Fri, 22 May 2015 12:00:44 +0300 Subject: [PATCH 599/643] Temporary block amcphail/hmatrix-gsl-stats#6 --- build-constraints.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index 87072a0f..0b6a7acb 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -906,7 +906,8 @@ packages: - generics-sop "Vivian McPhail ": - - hmatrix-gsl-stats + # https://github.com/amcphail/hmatrix-gsl-stats/issues/6 + # - hmatrix-gsl-stats - hstatistics - hsignal - plot From e424ba94ec636dcca0d05c259705abfe424b7f15 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Fri, 22 May 2015 12:01:48 +0300 Subject: [PATCH 600/643] Use upper bound instead --- build-constraints.yaml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index 0b6a7acb..e1bf81c7 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -906,8 +906,7 @@ packages: - generics-sop "Vivian McPhail ": - # https://github.com/amcphail/hmatrix-gsl-stats/issues/6 - # - hmatrix-gsl-stats + - hmatrix-gsl-stats - hstatistics - hsignal - plot @@ -1074,6 +1073,9 @@ packages: # https://github.com/fpco/stackage/issues/602 - errors < 2 + # https://github.com/amcphail/hmatrix-gsl-stats/issues/6 + - hmatrix-gsl-stats < 0.3 + # Package flags are applied to individual packages, and override the values of # global-flags package-flags: From 88789f73cdafd4a56b91c112e993840acc5b30e7 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Fri, 22 May 2015 12:03:23 +0300 Subject: [PATCH 601/643] Expected test failure ekmett/semigroupids#34 --- build-constraints.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index e1bf81c7..0394a028 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -1412,6 +1412,9 @@ expected-test-failures: - bitcoin-api - bitcoin-api-extra + # https://github.com/ekmett/semigroupoids/issues/34 + - semigroupoids + # Haddocks which are expected to fail. Same concept as expected test failures. expected-haddock-failures: # https://github.com/acw/bytestring-progress/issues/4 From 751bc461ceeea5a2827aa5f7ff01e98af2664a68 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Fri, 22 May 2015 14:49:38 +0300 Subject: [PATCH 602/643] Temporary block iand675/metrics#2 --- build-constraints.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index 0394a028..d7cb23bb 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -1010,7 +1010,8 @@ packages: - flowdock - growler - engine-io-growler - - metrics + # https://github.com/iand675/metrics/issues/2 + # - metrics - pipes-wai - serf - uri-templater From abf0f4f00427f8d4a4d170f58bc6abd0328c3357 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Fri, 22 May 2015 14:53:17 +0300 Subject: [PATCH 603/643] Expected test failure kazu-yamamoto/dns#29 --- build-constraints.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index d7cb23bb..55ed1cb4 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -1416,6 +1416,9 @@ expected-test-failures: # https://github.com/ekmett/semigroupoids/issues/34 - semigroupoids + # https://github.com/kazu-yamamoto/dns/issues/29 + - dns + # Haddocks which are expected to fail. Same concept as expected test failures. expected-haddock-failures: # https://github.com/acw/bytestring-progress/issues/4 From d458fb3f4ffb33459f48cdc0f7e91684c1119613 Mon Sep 17 00:00:00 2001 From: Vincent Hanquez Date: Sun, 24 May 2015 08:17:35 +0100 Subject: [PATCH 604/643] remove udbus as I don't maintain it anymore --- build-constraints.yaml | 2 -- 1 file changed, 2 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index 55ed1cb4..b5226014 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -221,8 +221,6 @@ packages: - tls - tls-debug - vhd - # https://github.com/vincenthz/hs-udbus/issues/4 - # - udbus GHC 7.10 - xenstore "Chris Done": From 34578ed4fe3509241f0dcab6942d9cdaf1e701cb Mon Sep 17 00:00:00 2001 From: Vincent Hanquez Date: Sun, 24 May 2015 08:17:41 +0100 Subject: [PATCH 605/643] add memory --- build-constraints.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index b5226014..ced5a8ed 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -213,6 +213,7 @@ packages: - crypto-pubkey-types - crypto-random-api - hit + - memory - language-java - libgit - pem From 3c6e41e4d992bb2993d1d90a5ff1d84051410879 Mon Sep 17 00:00:00 2001 From: Vincent Hanquez Date: Sun, 24 May 2015 08:17:48 +0100 Subject: [PATCH 606/643] add cryptonite --- build-constraints.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index ced5a8ed..e8afb1b8 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -210,6 +210,7 @@ packages: - cpu - cryptocipher - cryptohash + - cryptonite - crypto-pubkey-types - crypto-random-api - hit From a7c836e42a1404e502672a02b60b917f89f28cfc Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Mon, 25 May 2015 09:51:30 +0300 Subject: [PATCH 607/643] Upper bound for kawu/text-binary#1 --- build-constraints.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index e8afb1b8..faa831df 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -1077,6 +1077,9 @@ packages: # https://github.com/amcphail/hmatrix-gsl-stats/issues/6 - hmatrix-gsl-stats < 0.3 + # https://github.com/kawu/text-binary/pull/1 + - text < 1.2.1 + # Package flags are applied to individual packages, and override the values of # global-flags package-flags: From 91780e63d574119b070a7d9ce0afb3d8ed125ffc Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Mon, 25 May 2015 10:02:38 +0300 Subject: [PATCH 608/643] Remove upper bound for amcphail/hmatrix-gsl-stats#6 --- build-constraints.yaml | 3 --- 1 file changed, 3 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index faa831df..17ee68e7 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -1074,9 +1074,6 @@ packages: # https://github.com/fpco/stackage/issues/602 - errors < 2 - # https://github.com/amcphail/hmatrix-gsl-stats/issues/6 - - hmatrix-gsl-stats < 0.3 - # https://github.com/kawu/text-binary/pull/1 - text < 1.2.1 From bf27286d58586bbd8bede17f4e1c31b8ae03c49d Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Mon, 25 May 2015 13:05:19 +0300 Subject: [PATCH 609/643] Upper bound for #604 --- build-constraints.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 17ee68e7..cf96c182 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -1077,6 +1077,9 @@ packages: # https://github.com/kawu/text-binary/pull/1 - text < 1.2.1 + # https://github.com/fpco/stackage/issues/604 + - Rasterific < 0.6 + # Package flags are applied to individual packages, and override the values of # global-flags package-flags: From 092bf817040da82a1e8aa55a34ee83380679715a Mon Sep 17 00:00:00 2001 From: Vincent Date: Mon, 25 May 2015 12:55:30 +0200 Subject: [PATCH 610/643] Add asciidiagram to build-constraints.yaml --- build-constraints.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index cf96c182..ffbc7ed3 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -377,6 +377,7 @@ packages: - Rasterific - svg-tree - rasterific-svg + - asciidiagram "Patrick Brisbin": - gravatar From 772bac4bd2f718e576fba1b8466cb93aa41cfbed Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Mon, 25 May 2015 14:21:46 +0300 Subject: [PATCH 611/643] Extra upper bound for #604 --- build-constraints.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index ffbc7ed3..fb417a4a 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -1080,6 +1080,7 @@ packages: # https://github.com/fpco/stackage/issues/604 - Rasterific < 0.6 + - rasterific-svg < 0.2.3 # Package flags are applied to individual packages, and override the values of # global-flags From 5d2a4088ce2788ce62c7b3d5dd566d2ed02738b0 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Mon, 25 May 2015 14:43:58 +0300 Subject: [PATCH 612/643] Temporarily block asciidiagram #605 --- build-constraints.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index fb417a4a..f17945a9 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -377,7 +377,8 @@ packages: - Rasterific - svg-tree - rasterific-svg - - asciidiagram + # https://github.com/fpco/stackage/pull/605 + # - asciidiagram "Patrick Brisbin": - gravatar From 5600e41deca4a04d9da1e4a35b836089a3685bb1 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Mon, 25 May 2015 17:48:13 +0300 Subject: [PATCH 613/643] Remove upper bounds and close #604 --- build-constraints.yaml | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index f17945a9..2e08b552 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -377,8 +377,7 @@ packages: - Rasterific - svg-tree - rasterific-svg - # https://github.com/fpco/stackage/pull/605 - # - asciidiagram + - asciidiagram "Patrick Brisbin": - gravatar @@ -781,7 +780,8 @@ packages: "Jeffrey Rosenbluth jeffrey.rosenbluth@gmail.com": - palette #- diagrams-canvas GHC 7.10, via blank-canvas - - diagrams-rasterific + # https://github.com/diagrams/diagrams-rasterific/pull/30 + # - diagrams-rasterific - lucid-svg - diagrams-html5 - static-canvas @@ -1079,10 +1079,6 @@ packages: # https://github.com/kawu/text-binary/pull/1 - text < 1.2.1 - # https://github.com/fpco/stackage/issues/604 - - Rasterific < 0.6 - - rasterific-svg < 0.2.3 - # Package flags are applied to individual packages, and override the values of # global-flags package-flags: From 2edc877c0884758ff55e1fdde54fe1928301a374 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Tue, 26 May 2015 10:38:10 +0300 Subject: [PATCH 614/643] Add back diagrams-rasterific --- build-constraints.yaml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index 2e08b552..dd6cf3fc 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -780,8 +780,7 @@ packages: "Jeffrey Rosenbluth jeffrey.rosenbluth@gmail.com": - palette #- diagrams-canvas GHC 7.10, via blank-canvas - # https://github.com/diagrams/diagrams-rasterific/pull/30 - # - diagrams-rasterific + - diagrams-rasterific - lucid-svg - diagrams-html5 - static-canvas From 125012a7ace3b6aac90a0b155cac8f3aac0f6250 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Tue, 26 May 2015 14:51:21 +0300 Subject: [PATCH 615/643] Remove expected test failure haskell-servant/servant#68 --- build-constraints.yaml | 3 --- 1 file changed, 3 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index dd6cf3fc..4cc2226b 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -1404,9 +1404,6 @@ expected-test-failures: # https://github.com/haskell/ghc-events/issues/9 - ghc-events - # https://github.com/haskell-servant/servant/issues/68 - - servant-client - # https://github.com/ekmett/parsers/issues/47 - parsers From 42bc862d31d367bcb5b02ed5f20320b63bb8e347 Mon Sep 17 00:00:00 2001 From: Leon Mergen Date: Wed, 27 May 2015 10:44:49 +0700 Subject: [PATCH 616/643] Adds base32string --- build-constraints.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 4cc2226b..7232eef9 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -789,6 +789,7 @@ packages: - sdl2 "Leon Mergen leon@solatis.com @solatis": + - base32string - base58string - bitcoin-api - bitcoin-api-extra From 629120934f55957ba32ea79e4e81410fc00f39e1 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Wed, 27 May 2015 07:00:31 +0300 Subject: [PATCH 617/643] Some expected test failures haskell-servent/servant#98 chrisdone/hindent#137 --- build-constraints.yaml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 4cc2226b..68070245 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -1417,6 +1417,12 @@ expected-test-failures: # https://github.com/kazu-yamamoto/dns/issues/29 - dns + # https://github.com/haskell-servant/servant/issues/98 + - servant-client + + # https://github.com/chrisdone/hindent/issues/137 + - hindent + # Haddocks which are expected to fail. Same concept as expected test failures. expected-haddock-failures: # https://github.com/acw/bytestring-progress/issues/4 From 392f735a67814d0ec640151da32dcb01210a4cc6 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Wed, 27 May 2015 07:40:11 +0300 Subject: [PATCH 618/643] Don't use system libraries (causes trouble for Windows) --- build-constraints.yaml | 6 ------ 1 file changed, 6 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index e33625ee..f472725f 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -1085,12 +1085,6 @@ package-flags: mersenne-random-pure64: small_base: false - # Use system libraries to speed up compilation and get bug fixes - persistent-sqlite: - systemlib: true - yaml: - system-libyaml: true - cloud-haskell: tcp: true simplelocalnet: true From dd1a039f8d7516b289718fe18ca991aaafaff649 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Wed, 27 May 2015 12:31:01 +0300 Subject: [PATCH 619/643] Remove expected failure and close chrisdone/hindent#137 --- build-constraints.yaml | 3 --- 1 file changed, 3 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index f472725f..a7376c7a 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -1415,9 +1415,6 @@ expected-test-failures: # https://github.com/haskell-servant/servant/issues/98 - servant-client - # https://github.com/chrisdone/hindent/issues/137 - - hindent - # Haddocks which are expected to fail. Same concept as expected test failures. expected-haddock-failures: # https://github.com/acw/bytestring-progress/issues/4 From 5a905f4ed8ee52c1a5b3ac9e1dd2efd04c6acf56 Mon Sep 17 00:00:00 2001 From: Dan Burton Date: Wed, 27 May 2015 14:00:15 -0700 Subject: [PATCH 620/643] + Dan Burton: hspec-jenkins --- build-constraints.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index a7376c7a..c8c309ef 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -400,6 +400,7 @@ packages: - accelerate "Dan Burton ": + - hspec-jenkins - yesod-gitrev - basic-prelude - composition From 4d56c1245f68bd1a80191a5af6b1753306d59c19 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Thu, 28 May 2015 17:02:12 +0300 Subject: [PATCH 621/643] Allow text 1.2.1, block pandoc 1.4 (#607) --- build-constraints.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index c8c309ef..042da9f7 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -1077,8 +1077,8 @@ packages: # https://github.com/fpco/stackage/issues/602 - errors < 2 - # https://github.com/kawu/text-binary/pull/1 - - text < 1.2.1 + # https://github.com/fpco/stackage/issues/607 + - pandoc < 1.14 # Package flags are applied to individual packages, and override the values of # global-flags From 62869c2eec159b67500141c77693cc81a438f424 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Thu, 28 May 2015 18:49:07 +0300 Subject: [PATCH 622/643] Group highlighting-kate with #607 --- build-constraints.yaml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index 042da9f7..574962ca 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -1024,9 +1024,6 @@ packages: # https://github.com/fpco/stackage/issues/476 - vector-space < 0.10 - # https://github.com/jgm/pandoc/issues/2036 - - highlighting-kate < 0.5.13 - # https://github.com/fpco/stackage/issues/509 - srcloc < 0.5 @@ -1079,6 +1076,7 @@ packages: # https://github.com/fpco/stackage/issues/607 - pandoc < 1.14 + - highlighting-kate < 0.5.13 # Package flags are applied to individual packages, and override the values of # global-flags From 6e695771dab3b593ee587089ff2985c8de931c5b Mon Sep 17 00:00:00 2001 From: Athan Clark Date: Thu, 28 May 2015 18:56:07 -0600 Subject: [PATCH 623/643] some "useful" combinators --- build-constraints.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 574962ca..55a6a6c8 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -983,6 +983,7 @@ packages: - urlpath - markup - webpage + - composition-extra "Fumiaki Kinoshita @fumieval": - control-bool From a197fdc56570700bf94958f45dc51a9d9d1fb872 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Fri, 29 May 2015 06:01:47 +0300 Subject: [PATCH 624/643] One more #607 upper bound --- build-constraints.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 55a6a6c8..9987f13f 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -1078,6 +1078,7 @@ packages: # https://github.com/fpco/stackage/issues/607 - pandoc < 1.14 - highlighting-kate < 0.5.13 + - BlogLiterately < 0.8 # Package flags are applied to individual packages, and override the values of # global-flags From 20286bfb99d725fbcd41cb726da0939d8ffb43f6 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Fri, 29 May 2015 08:16:11 +0300 Subject: [PATCH 625/643] Remove upper bounds and close #476 --- build-constraints.yaml | 3 --- 1 file changed, 3 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index 9987f13f..f379cc9a 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -1022,9 +1022,6 @@ packages: - librato "Stackage upper bounds": - # https://github.com/fpco/stackage/issues/476 - - vector-space < 0.10 - # https://github.com/fpco/stackage/issues/509 - srcloc < 0.5 From 45d8c8f3e5158b76fe4c691d94abc77920df1e14 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Fri, 29 May 2015 08:18:13 +0300 Subject: [PATCH 626/643] Remove upper bounds and close #515 --- build-constraints.yaml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index f379cc9a..4b7ae381 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -1025,10 +1025,6 @@ packages: # https://github.com/fpco/stackage/issues/509 - srcloc < 0.5 - # https://github.com/fpco/stackage/issues/515 - - exception-transformers < 0.4 - - exception-mtl < 0.4 - # https://github.com/fpco/stackage/issues/517 - generic-deriving < 1.7 From ecce5c5080db5cd1ea2f07d1265411fcc364fbb3 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Fri, 29 May 2015 08:25:29 +0300 Subject: [PATCH 627/643] Temporary block on language-c-quote until srclog dep is fixed --- build-constraints.yaml | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index 4b7ae381..4b7cb1e7 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -810,7 +810,11 @@ packages: - pcre-heavy "Francesco Mazzoli f@mazzo.li @bitonic": - - language-c-quote + [] + # Temporarily blocked due to: + # https://github.com/fpco/stackage/issues/509 + # - language-c-quote + "Sönke Hahn soenkehahn@gmail.com @soenkehahn": - getopt-generics @@ -1022,9 +1026,6 @@ packages: - librato "Stackage upper bounds": - # https://github.com/fpco/stackage/issues/509 - - srcloc < 0.5 - # https://github.com/fpco/stackage/issues/517 - generic-deriving < 1.7 From 9b627ffe6671b01777a393d4b2bad807c93b5a00 Mon Sep 17 00:00:00 2001 From: Roman Cheplyaka Date: Fri, 29 May 2015 08:34:21 +0300 Subject: [PATCH 628/643] Add lexer-applicative, tuples-homogenous-h98 --- build-constraints.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 4b7cb1e7..4c219509 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -484,6 +484,7 @@ packages: - hse-cpp - immortal - regex-applicative + - lexer-applicative - smallcheck - tasty - tasty-golden @@ -494,6 +495,7 @@ packages: - timezone-olson - timezone-series - traverse-with-class + - tuples-homogenous-h98 "George Giorgidze ": - HCodecs From 809bf86930e2ac9a1a25a02c211ecfc7d3c3a8de Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Fri, 29 May 2015 09:06:07 +0300 Subject: [PATCH 629/643] Remove upper bounds and close #517 --- build-constraints.yaml | 3 --- 1 file changed, 3 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index 4c219509..6d1c491a 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -1028,9 +1028,6 @@ packages: - librato "Stackage upper bounds": - # https://github.com/fpco/stackage/issues/517 - - generic-deriving < 1.7 - # https://github.com/fpco/stackage/issues/537 - zlib < 0.6 From c22bde55a86164d8d531785453555ee9bc759b06 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Fri, 29 May 2015 14:44:52 +0300 Subject: [PATCH 630/643] Remove upper bounds and close #607 --- build-constraints.yaml | 5 ----- 1 file changed, 5 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index 6d1c491a..c262ee49 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -1068,11 +1068,6 @@ packages: # https://github.com/fpco/stackage/issues/602 - errors < 2 - # https://github.com/fpco/stackage/issues/607 - - pandoc < 1.14 - - highlighting-kate < 0.5.13 - - BlogLiterately < 0.8 - # Package flags are applied to individual packages, and override the values of # global-flags package-flags: From 778eab1edb003ba46e0d1dcef5f3d04278e4a700 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Fri, 29 May 2015 14:45:44 +0300 Subject: [PATCH 631/643] Upper bound for #610 --- build-constraints.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index c262ee49..157b1f4d 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -1068,6 +1068,9 @@ packages: # https://github.com/fpco/stackage/issues/602 - errors < 2 + # https://github.com/fpco/stackage/issues/610 + - either < 4.4 + # Package flags are applied to individual packages, and override the values of # global-flags package-flags: From 1b30030bf814daf0019884e416d76e57a7c6e968 Mon Sep 17 00:00:00 2001 From: Ian Duncan Date: Sat, 30 May 2015 11:12:09 -0400 Subject: [PATCH 632/643] Reenable metrics package --- build-constraints.yaml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index 157b1f4d..e9a40a35 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -1020,8 +1020,7 @@ packages: - flowdock - growler - engine-io-growler - # https://github.com/iand675/metrics/issues/2 - # - metrics + - metrics - pipes-wai - serf - uri-templater From 1452f61b6c955d50c0c452f5183f440845ab3db0 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Sun, 31 May 2015 07:18:17 +0300 Subject: [PATCH 633/643] Upper bound for #613 --- build-constraints.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 157b1f4d..db7c992f 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -1071,6 +1071,9 @@ packages: # https://github.com/fpco/stackage/issues/610 - either < 4.4 + # https://github.com/fpco/stackage/issues/613 + - hslua < 0.4 + # Package flags are applied to individual packages, and override the values of # global-flags package-flags: From 87152d0f0fca63171dc8f7378586d2cd366c53d8 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Sun, 31 May 2015 09:01:46 +0300 Subject: [PATCH 634/643] Remove upper bounds and close #579 --- build-constraints.yaml | 5 ----- 1 file changed, 5 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index 844db322..76070091 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -1041,11 +1041,6 @@ packages: # https://github.com/fpco/stackage/issues/577 - MonadRandom < 0.4 - # https://github.com/fpco/stackage/issues/579 - - wai-app-static < 3.1 - - yesod-static < 1.5 - - keter < 1.4 - # https://github.com/fpco/stackage/issues/581 - xml-conduit < 1.3 - html-conduit < 1.2 From 7cfc0bc978c79ee55cea788ef13ecb37eae80343 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Sun, 31 May 2015 09:02:16 +0300 Subject: [PATCH 635/643] Remove expected failure haskell-servent/servent#98 --- build-constraints.yaml | 3 --- 1 file changed, 3 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index 76070091..dea40cc2 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -1401,9 +1401,6 @@ expected-test-failures: # https://github.com/kazu-yamamoto/dns/issues/29 - dns - # https://github.com/haskell-servant/servant/issues/98 - - servant-client - # Haddocks which are expected to fail. Same concept as expected test failures. expected-haddock-failures: # https://github.com/acw/bytestring-progress/issues/4 From 62ff92d3aa25e50aa08e112ca41cc8528eb205d0 Mon Sep 17 00:00:00 2001 From: Leon Mergen Date: Sun, 31 May 2015 15:47:11 +0700 Subject: [PATCH 636/643] Adds network-anonymous-tor --- build-constraints.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index dea40cc2..6e243d7f 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -803,6 +803,7 @@ packages: - hexstring - network-attoparsec - network-anonymous-i2p + - network-anonymous-tor "Timothy Jones git@zmthy.io @zmthy": - http-media From 2e4d1da4ff104e18c9bc6080ec6175f86a949183 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Sun, 31 May 2015 13:51:43 +0300 Subject: [PATCH 637/643] Skip cmark benchmarks --- build-constraints.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 6e243d7f..fb9bb2c1 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -1452,6 +1452,9 @@ skipped-benchmarks: - postgresql-binary - scientific + # Pulls in discount which depends on extra C libraries + - cmark + skipped-profiling: # https://github.com/nomeata/ghc-heap-view/commit/8d198eb8fbbad2ce0c4527c781659f35b8909c04#diff-8288955e209cfbead5b318a8598be9c0R10 - ghc-heap-view From e522575d674b6e3cd0c86721aedcab6c83858f6f Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Sun, 31 May 2015 13:53:20 +0300 Subject: [PATCH 638/643] Expected haddock failure solatis/haskell-network-anonymous-tor#1 --- build-constraints.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index fb9bb2c1..b62dd3f8 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -1421,6 +1421,9 @@ expected-haddock-failures: # Not sure why, but it's a temporary package anyway - Cabal-ide-backend + # https://github.com/solatis/haskell-network-anonymous-tor/issues/1 + - network-anonymous-tor + # Benchmarks which should not be built. Note that Stackage does *not* generally # build benchmarks. The difference here will be whether dependencies for these # benchmarks are included or not. From 6c2ee116a47ea32dfa19519493f42d04ae9b1e7c Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Sun, 31 May 2015 13:54:53 +0300 Subject: [PATCH 639/643] Expected test failure iand675/metrics#3 --- build-constraints.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index b62dd3f8..bc142365 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -1402,6 +1402,9 @@ expected-test-failures: # https://github.com/kazu-yamamoto/dns/issues/29 - dns + # https://github.com/iand675/metrics/issues/3 + - metrics + # Haddocks which are expected to fail. Same concept as expected test failures. expected-haddock-failures: # https://github.com/acw/bytestring-progress/issues/4 From 8d99e7707d680d2672cd875b48552b647050dd13 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Sun, 31 May 2015 14:04:11 +0300 Subject: [PATCH 640/643] Expect cipher-aes test failure --- build-constraints.yaml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index bc142365..9667c3e6 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -1405,6 +1405,10 @@ expected-test-failures: # https://github.com/iand675/metrics/issues/3 - metrics + # Getting no useful information as to why from the build server, but works + # when tested locally + - cipher-aes + # Haddocks which are expected to fail. Same concept as expected test failures. expected-haddock-failures: # https://github.com/acw/bytestring-progress/issues/4 From efb92cc3a2cbbec07df21dca9c96f29525634270 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Sun, 31 May 2015 19:10:00 +0300 Subject: [PATCH 641/643] Remove upper bounds and close #613 --- build-constraints.yaml | 3 --- 1 file changed, 3 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index 9667c3e6..578603be 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -1066,9 +1066,6 @@ packages: # https://github.com/fpco/stackage/issues/610 - either < 4.4 - # https://github.com/fpco/stackage/issues/613 - - hslua < 0.4 - # Package flags are applied to individual packages, and override the values of # global-flags package-flags: From e64c6dc6af604fd2f0a963676876b29becbbb696 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Sun, 31 May 2015 19:22:05 +0300 Subject: [PATCH 642/643] Upper bound for #615 --- build-constraints.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build-constraints.yaml b/build-constraints.yaml index 578603be..04971712 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -1066,6 +1066,9 @@ packages: # https://github.com/fpco/stackage/issues/610 - either < 4.4 + # https://github.com/fpco/stackage/issues/615 + - syb < 0.5 + # Package flags are applied to individual packages, and override the values of # global-flags package-flags: From 15d64ba6a76f94f2663615e0cbeaeb7e911e72c0 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Mon, 1 Jun 2015 08:42:04 +0300 Subject: [PATCH 643/643] Remove expected Haddock failure and close solatis/haskell-network-anonymous-tor#1 --- build-constraints.yaml | 3 --- 1 file changed, 3 deletions(-) diff --git a/build-constraints.yaml b/build-constraints.yaml index 04971712..4fa39a21 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -1428,9 +1428,6 @@ expected-haddock-failures: # Not sure why, but it's a temporary package anyway - Cabal-ide-backend - # https://github.com/solatis/haskell-network-anonymous-tor/issues/1 - - network-anonymous-tor - # Benchmarks which should not be built. Note that Stackage does *not* generally # build benchmarks. The difference here will be whether dependencies for these # benchmarks are included or not.