diff --git a/Stackage/CompleteBuild.hs b/Stackage/CompleteBuild.hs index 720d56cf..ba719548 100644 --- a/Stackage/CompleteBuild.hs +++ b/Stackage/CompleteBuild.hs @@ -38,6 +38,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 @@ -209,6 +210,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 6f4a8aec..91b0c04e 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 a7eb441c..6db51825 100644 --- a/Stackage/PerformBuild.hs +++ b/Stackage/PerformBuild.hs @@ -65,6 +65,7 @@ data PerformBuild = PerformBuild , pbGlobalInstall :: Bool -- ^ Register packages in the global database , pbEnableTests :: Bool + , pbEnableHaddock :: Bool , pbEnableLibProfiling :: Bool , pbVerbose :: Bool , pbAllowNewer :: Bool @@ -358,7 +359,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 15ea5902..4bb7ec43 100644 --- a/app/stackage.hs +++ b/app/stackage.hs @@ -78,6 +78,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 @@ -142,6 +147,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") <*> diff --git a/build-constraints.yaml b/build-constraints.yaml index 76fbc89d..123b4e8b 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 @@ -389,9 +390,12 @@ packages: - fay-jquery - fay-text - fay-uri - - fclabels - snaplet-fay + "Sebastiaan Visser ": + - clay + - fclabels + "Rodrigo Setti ": - messagepack - messagepack-rpc @@ -702,27 +706,26 @@ packages: "Gabríel Arthúr Pétursson gabriel@system.is": - sdl2 + "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 - - 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 - # 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. - 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 @@ -747,12 +750,14 @@ 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 - - # https://github.com/fpco/stackage/issues/445 - - semigroupoids < 4.3 + - 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 @@ -1011,6 +1016,19 @@ 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) + - happy + + # 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 + # Haddocks which are expected to fail. Same concept as expected test failures. expected-haddock-failures: # https://github.com/acw/bytestring-progress/issues/4 diff --git a/debian-bootstrap.sh b/debian-bootstrap.sh index c069dcb1..0f296009 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 \ @@ -34,11 +37,11 @@ apt-get install -y \ llvm \ libbz2-dev \ libjudy-dev \ + libsqlite3-dev \ libmysqlclient-dev \ libpq-dev \ libicu-dev \ libssl-dev \ - nettle-dev \ libgsl0-dev \ libblas-dev \ liblapack-dev \ @@ -49,4 +52,17 @@ apt-get install -y \ 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 +) +rm -rf /tmp/nettle-build