on master help sign in
Stylish Haskell
commitddd44dbb0e3cebcacc79718e427d1b01e10f5b08 authorMichael Snoyman <michael@snoyman.com> dateWed 5 Dec 2012, 10:50 (14 years ago) parent594c88e
7 files changed+58−41
Stackage/Build.hs+15−11 Stackage/InstallInfo.hs+1−1 Stackage/LoadDatabase.hs+19−7 Stackage/Tarballs.hs+6−6 Stackage/Test.hs+4−3 Stackage/Types.hs+12−12 Stackage/Util.hs+1−1
Stackage/Build.hs+15−11
@@ -4,24 +4,28 @@ module Stackage.Build
44 , BuildSettings (..)
55 ) where
66
7−import Distribution.Text (simpleParse)
7+import Control.Exception (assert)
88import Control.Monad (unless, when)
9−import Stackage.Types
9+import qualified Data.Map as Map
10+import Data.Set (empty)
11+import qualified Data.Set as Set
12+import Distribution.Text (simpleParse)
13+import Distribution.Version (thisVersion, withinRange)
1014import Stackage.CheckPlan
15+import Stackage.Config
1116import Stackage.InstallInfo
1217import Stackage.Tarballs
1318import Stackage.Test
19+import Stackage.Types
1420import Stackage.Util
15−import Stackage.Config
21+import System.Directory (canonicalizePath,
22+ createDirectoryIfMissing,
23+ doesDirectoryExist)
1624import System.Exit (ExitCode (ExitSuccess), exitWith)
17−import System.IO (IOMode (WriteMode), withBinaryFile, hPutStrLn)
18−import System.Process (runProcess, waitForProcess, rawSystem, readProcess)
19−import System.Directory (createDirectoryIfMissing, canonicalizePath, doesDirectoryExist)
20−import Distribution.Version (thisVersion, withinRange)
21−import Control.Exception (assert)
22−import Data.Set (empty)
23−import qualified Data.Map as Map
24−import qualified Data.Set as Set
25+import System.IO (IOMode (WriteMode), hPutStrLn,
26+ withBinaryFile)
27+import System.Process (rawSystem, readProcess, runProcess,
28+ waitForProcess)
2529
2630defaultBuildSettings :: BuildSettings
2731defaultBuildSettings = BuildSettings
Stackage/InstallInfo.hs+1−1
@@ -5,13 +5,13 @@ module Stackage.InstallInfo
55
66import qualified Data.Map as Map
77import qualified Data.Set as Set
8+import Data.Version (showVersion)
89import Stackage.Config
910import Stackage.HaskellPlatform
1011import Stackage.LoadDatabase
1112import Stackage.NarrowDatabase
1213import Stackage.Types
1314import Stackage.Util
14−import Data.Version (showVersion)
1515
1616dropExcluded :: BuildSettings
1717 -> Map PackageName (VersionRange, Maintainer)
Stackage/LoadDatabase.hs+19−7
@@ -4,24 +4,36 @@ import qualified Codec.Archive.Tar as Tar
44import qualified Data.ByteString.Lazy as L
55import qualified Data.ByteString.Lazy.Char8 as L8
66import qualified Data.Map as Map
7+import Data.Maybe (mapMaybe)
78import Data.Monoid (Monoid (..))
89import Data.Set (member)
910import qualified Data.Set as Set
11+import Distribution.Compiler (CompilerFlavor (GHC))
1012import Distribution.Package (Dependency (Dependency))
11−import Distribution.PackageDescription (condExecutables,
13+import Distribution.PackageDescription (Condition (..),
14+ ConfVar (..),
15+ allBuildInfo,
16+ benchmarkBuildInfo,
17+ buildInfo, buildTools,
18+ condBenchmarks,
19+ condExecutables,
1220 condLibrary,
1321 condTestSuites,
14− condBenchmarks,
15− condTreeConstraints, condTreeComponents, ConfVar (..), Condition(..), flagName, flagDefault, genPackageFlags, allBuildInfo, packageDescription, buildTools, libBuildInfo, condTreeData, buildInfo, testBuildInfo, benchmarkBuildInfo)
22+ condTreeComponents,
23+ condTreeConstraints,
24+ condTreeData,
25+ flagDefault, flagName,
26+ genPackageFlags,
27+ libBuildInfo,
28+ packageDescription,
29+ testBuildInfo)
1630import Distribution.PackageDescription.Parse (ParseResult (ParseOk),
1731 parsePackageDescription)
32+import Distribution.System (buildArch, buildOS)
1833import Distribution.Version (withinRange)
34+import Stackage.Config
1935import Stackage.Types
2036import Stackage.Util
21−import Stackage.Config
22−import Data.Maybe (mapMaybe)
23−import Distribution.System (buildOS, buildArch)
24−import Distribution.Compiler (CompilerFlavor (GHC))
2537
2638-- | Load the raw package database.
2739--
Stackage/Tarballs.hs+6−6
@@ -2,14 +2,14 @@ module Stackage.Tarballs
22 ( makeTarballs
33 ) where
44
5−import qualified Codec.Archive.Tar as Tar
6−import qualified Data.ByteString.Lazy as L
7−import qualified Data.Map as Map
8−import qualified Data.Set as Set
5+import qualified Codec.Archive.Tar as Tar
6+import qualified Data.ByteString.Lazy as L
7+import qualified Data.Map as Map
8+import qualified Data.Set as Set
99import Stackage.Types
1010import Stackage.Util
11−import System.Directory (createDirectoryIfMissing)
12−import System.FilePath (takeDirectory)
11+import System.Directory (createDirectoryIfMissing)
12+import System.FilePath (takeDirectory)
1313
1414makeTarballs :: InstallInfo -> IO ()
1515makeTarballs ii = do
Stackage/Test.hs+4−3
@@ -3,21 +3,22 @@ module Stackage.Test
33 ( runTestSuites
44 ) where
55
6+import Control.Exception (Exception, handle, throwIO)
67import Control.Monad (foldM, unless, when)
78import qualified Data.Map as Map
89import qualified Data.Set as Set
10+import Data.Typeable (Typeable)
911import Stackage.Config
1012import Stackage.Types
1113import Stackage.Util
12−import System.Directory (createDirectory, removeFile, canonicalizePath)
14+import System.Directory (canonicalizePath, createDirectory,
15+ removeFile)
1316import System.Environment (getEnvironment)
1417import System.Exit (ExitCode (ExitSuccess))
1518import System.FilePath ((<.>), (</>))
1619import System.IO (IOMode (WriteMode, AppendMode),
1720 withBinaryFile)
1821import System.Process (runProcess, waitForProcess)
19−import Control.Exception (handle, Exception, throwIO)
20−import Data.Typeable (Typeable)
2122
2223runTestSuites :: BuildSettings -> InstallInfo -> IO ()
2324runTestSuites settings ii = do
Stackage/Types.hs+12−12
@@ -42,13 +42,13 @@ instance Monoid HaskellPlatform where
4242 HaskellPlatform a x `mappend` HaskellPlatform b y = HaskellPlatform (mappend a b) (mappend x y)
4343
4444data InstallInfo = InstallInfo
45− { iiCore :: Set PackageName
46− , iiPackages :: Map PackageName (Version, Maintainer)
45+ { iiCore :: Set PackageName
46+ , iiPackages :: Map PackageName (Version, Maintainer)
4747 , iiOptionalCore :: Map PackageName Version
4848 -- ^ This is intended to hold onto packages which might be automatically
4949 -- provided in the global package database. In practice, this would be
5050 -- Haskell Platform packages provided by distributions.
51− , iiPackageDB :: PackageDB
51+ , iiPackageDB :: PackageDB
5252 }
5353
5454-- | Email address of a Stackage maintainer.
@@ -56,16 +56,16 @@ newtype Maintainer = Maintainer { unMaintainer :: String }
5656 deriving (Show, Eq, Ord)
5757
5858data BuildSettings = BuildSettings
59− { sandboxRoot :: FilePath
60− , extraBuildArgs :: [String]
61− , extraCore :: Set PackageName
62− , expectedFailures :: Set PackageName
63− , stablePackages :: Map PackageName (VersionRange, Maintainer)
64− , extraArgs :: [String]
65− , haskellPlatformCabal :: FilePath
59+ { sandboxRoot :: FilePath
60+ , extraBuildArgs :: [String]
61+ , extraCore :: Set PackageName
62+ , expectedFailures :: Set PackageName
63+ , stablePackages :: Map PackageName (VersionRange, Maintainer)
64+ , extraArgs :: [String]
65+ , haskellPlatformCabal :: FilePath
6666 , requireHaskellPlatform :: Bool
67− , cleanBeforeBuild :: Bool
68− , excludedPackages :: Set PackageName
67+ , cleanBeforeBuild :: Bool
68+ , excludedPackages :: Set PackageName
6969 -- ^ Packages which should be dropped from the list of stable packages,
7070 -- even if present via the Haskell Platform or @stablePackages@. If these
7171 -- packages are dependencies of others, they will still be included.
Stackage/Util.hs+1−1
@@ -14,8 +14,8 @@ import Stackage.Types
1414import System.Directory (doesDirectoryExist,
1515 removeDirectoryRecursive)
1616import System.Directory (getAppUserDataDirectory)
17+import System.Environment (getEnvironment)
1718import System.FilePath ((</>))
18−import System.Environment (getEnvironment)
1919
2020identsToRanges :: Set PackageIdentifier -> Map PackageName (VersionRange, Maintainer)
2121identsToRanges =