cabal-install 1.22.0.1 → 1.22.2.0
raw patch · 29 files changed
+129/−13 lines, 29 filesdep ~Cabal
Dependency ranges changed: Cabal
Files
- Distribution/Client/Config.hs +3/−0
- Distribution/Client/Configure.hs +3/−0
- Distribution/Client/Dependency/Modular/Preference.hs +3/−0
- Distribution/Client/Dependency/TopDown.hs +3/−0
- Distribution/Client/Dependency/TopDown/Constraints.hs +3/−0
- Distribution/Client/Dependency/Types.hs +9/−1
- Distribution/Client/Exec.hs +3/−0
- Distribution/Client/Freeze.hs +3/−0
- Distribution/Client/Get.hs +3/−0
- Distribution/Client/IndexUtils.hs +3/−0
- Distribution/Client/Init.hs +2/−0
- Distribution/Client/Init/Heuristics.hs +5/−0
- Distribution/Client/Init/Types.hs +3/−0
- Distribution/Client/Install.hs +2/−0
- Distribution/Client/PackageIndex.hs +3/−0
- Distribution/Client/Run.hs +3/−0
- Distribution/Client/Sandbox.hs +7/−4
- Distribution/Client/Sandbox/PackageEnvironment.hs +3/−0
- Distribution/Client/Sandbox/Types.hs +3/−0
- Distribution/Client/Setup.hs +10/−4
- Distribution/Client/SetupWrapper.hs +4/−0
- Distribution/Client/Targets.hs +3/−0
- Main.hs +2/−0
- bootstrap.sh +1/−1
- cabal-install.cabal +4/−3
- changelog +4/−0
- tests/PackageTests/Exec/Check.hs +3/−0
- tests/PackageTests/MultipleSource/Check.hs +28/−0
- tests/UnitTests/Distribution/Client/UserConfig.hs +3/−0
Distribution/Client/Config.hs view
@@ -1,3 +1,4 @@+{-# LANGUAGE CPP #-} ----------------------------------------------------------------------------- -- | -- Module : Distribution.Client.Config@@ -91,8 +92,10 @@ ( partition, find, foldl' ) import Data.Maybe ( fromMaybe )+#if !MIN_VERSION_base(4,8,0) import Data.Monoid ( Monoid(..) )+#endif import Control.Monad ( unless, foldM, liftM, liftM2 ) import qualified Distribution.Compat.ReadP as Parse
Distribution/Client/Configure.hs view
@@ -1,3 +1,4 @@+{-# LANGUAGE CPP #-} ----------------------------------------------------------------------------- -- | -- Module : Distribution.Client.Configure@@ -55,7 +56,9 @@ import Distribution.Version ( Version(..), VersionRange, orLaterVersion ) +#if !MIN_VERSION_base(4,8,0) import Data.Monoid (Monoid(..))+#endif -- | Choose the Cabal version such that the setup scripts compiled against this -- version will support the given command-line flags.
Distribution/Client/Dependency/Modular/Preference.hs view
@@ -1,10 +1,13 @@+{-# LANGUAGE CPP #-} module Distribution.Client.Dependency.Modular.Preference where -- Reordering or pruning the tree in order to prefer or make certain choices. import qualified Data.List as L import qualified Data.Map as M+#if !MIN_VERSION_base(4,8,0) import Data.Monoid+#endif import Data.Ord import Distribution.Client.Dependency.Types
Distribution/Client/Dependency/TopDown.hs view
@@ -1,3 +1,4 @@+{-# LANGUAGE CPP #-} ----------------------------------------------------------------------------- -- | -- Module : Distribution.Client.Dependency.Types@@ -59,8 +60,10 @@ ( foldl', maximumBy, minimumBy, nub, sort, sortBy, groupBy ) import Data.Maybe ( fromJust, fromMaybe, catMaybes )+#if !MIN_VERSION_base(4,8,0) import Data.Monoid ( Monoid(mempty) )+#endif import Control.Monad ( guard ) import qualified Data.Set as Set
Distribution/Client/Dependency/TopDown/Constraints.hs view
@@ -1,3 +1,4 @@+{-# LANGUAGE CPP #-} ----------------------------------------------------------------------------- -- | -- Module : Distribution.Client.Dependency.TopDown.Constraints@@ -35,8 +36,10 @@ import Distribution.Client.Utils ( mergeBy, MergeResult(..) ) +#if !MIN_VERSION_base(4,8,0) import Data.Monoid ( Monoid(mempty) )+#endif import Data.Either ( partitionEithers ) import qualified Data.Map as Map
Distribution/Client/Dependency/Types.hs view
@@ -1,3 +1,4 @@+{-# LANGUAGE CPP #-} {-# LANGUAGE DeriveFunctor #-} ----------------------------------------------------------------------------- -- |@@ -29,13 +30,20 @@ foldProgress, ) where +#if !MIN_VERSION_base(4,8,0) import Control.Applicative- ( Applicative(..), Alternative(..) )+ ( Applicative(..) )+#endif+import Control.Applicative+ ( Alternative(..) ) + import Data.Char ( isAlpha, toLower )+#if !MIN_VERSION_base(4,8,0) import Data.Monoid ( Monoid(..) )+#endif import Distribution.Client.Types ( OptionalStanza(..), SourcePackage(..) )
Distribution/Client/Exec.hs view
@@ -1,3 +1,4 @@+{-# LANGUAGE CPP #-} ----------------------------------------------------------------------------- -- | -- Module : Distribution.Client.Exec@@ -30,8 +31,10 @@ import Distribution.Verbosity (Verbosity) import System.FilePath (searchPathSeparator, (</>))+#if !MIN_VERSION_base(4,8,0) import Control.Applicative ((<$>)) import Data.Monoid (mempty)+#endif -- | Execute the given command in the package's environment.
Distribution/Client/Freeze.hs view
@@ -1,3 +1,4 @@+{-# LANGUAGE CPP #-} ----------------------------------------------------------------------------- -- | -- Module : Distribution.Client.Freeze@@ -54,8 +55,10 @@ import Control.Monad ( when ) import qualified Data.ByteString.Lazy.Char8 as BS.Char8+#if !MIN_VERSION_base(4,8,0) import Data.Monoid ( mempty )+#endif import Data.Version ( showVersion ) import Distribution.Version
Distribution/Client/Get.hs view
@@ -1,3 +1,4 @@+{-# LANGUAGE CPP #-} ----------------------------------------------------------------------------- -- | -- Module : Distribution.Client.Get@@ -51,8 +52,10 @@ import qualified Data.Map import Data.Maybe ( listToMaybe, mapMaybe )+#if !MIN_VERSION_base(4,8,0) import Data.Monoid ( mempty )+#endif import Data.Ord ( comparing ) import System.Directory
Distribution/Client/IndexUtils.hs view
@@ -1,3 +1,4 @@+{-# LANGUAGE CPP #-} ----------------------------------------------------------------------------- -- | -- Module : Distribution.Client.IndexUtils@@ -63,7 +64,9 @@ import Data.Char (isAlphaNum) import Data.Maybe (mapMaybe, fromMaybe) import Data.List (isPrefixOf)+#if !MIN_VERSION_base(4,8,0) import Data.Monoid (Monoid(..))+#endif import qualified Data.Map as Map import Control.Monad (MonadPlus(mplus), when, liftM) import Control.Exception (evaluate)
Distribution/Client/Init.hs view
@@ -40,10 +40,12 @@ import Data.Function ( on ) import qualified Data.Map as M+#if !MIN_VERSION_base(4,8,0) import Data.Traversable ( traverse ) import Control.Applicative ( (<$>) )+#endif import Control.Monad ( when, unless, (>=>), join, forM_ ) import Control.Arrow
Distribution/Client/Init/Heuristics.hs view
@@ -1,3 +1,4 @@+{-# LANGUAGE CPP #-} ----------------------------------------------------------------------------- -- | -- Module : Distribution.Client.Init.Heuristics@@ -35,14 +36,18 @@ import Language.Haskell.Extension ( Extension ) import Distribution.Client.Types ( packageDescription, SourcePackageDb(..) )+#if !MIN_VERSION_base(4,8,0) import Control.Applicative ( pure, (<$>), (<*>) )+#endif import Control.Arrow ( first ) import Control.Monad ( liftM ) import Data.Char ( isAlphaNum, isNumber, isUpper, isLower, isSpace ) import Data.Either ( partitionEithers ) import Data.List ( isInfixOf, isPrefixOf, isSuffixOf, sortBy ) import Data.Maybe ( mapMaybe, catMaybes, maybeToList )+#if !MIN_VERSION_base(4,8,0) import Data.Monoid ( mempty, mappend, mconcat, )+#endif import Data.Ord ( comparing ) import qualified Data.Set as Set ( fromList, toList ) import System.Directory ( getCurrentDirectory, getDirectoryContents,
Distribution/Client/Init/Types.hs view
@@ -1,3 +1,4 @@+{-# LANGUAGE CPP #-} ----------------------------------------------------------------------------- -- | -- Module : Distribution.Client.Init.Types@@ -27,7 +28,9 @@ import qualified Distribution.Compat.ReadP as Parse import Distribution.Text +#if !MIN_VERSION_base(4,8,0) import Data.Monoid+#endif -- | InitFlags is really just a simple type to represent certain -- portions of a .cabal file. Rather than have a flag for EVERY
Distribution/Client/Install.hs view
@@ -45,8 +45,10 @@ ( ExitCode(..) ) import Distribution.Compat.Exception ( catchIO, catchExit )+#if !MIN_VERSION_base(4,8,0) import Control.Applicative ( (<$>) )+#endif import Control.Monad ( forM_, when, unless ) import System.Directory
Distribution/Client/PackageIndex.hs view
@@ -1,3 +1,4 @@+{-# LANGUAGE CPP #-} {-# LANGUAGE DeriveFunctor #-} ----------------------------------------------------------------------------- -- |@@ -63,7 +64,9 @@ import qualified Data.Array as Array import Data.Array ((!)) import Data.List (groupBy, sortBy, nub, isInfixOf)+#if !MIN_VERSION_base(4,8,0) import Data.Monoid (Monoid(..))+#endif import Data.Maybe (isJust, isNothing, fromMaybe, catMaybes) import Distribution.Package
Distribution/Client/Run.hs view
@@ -1,3 +1,4 @@+{-# LANGUAGE CPP #-} ----------------------------------------------------------------------------- -- | -- Module : Distribution.Client.Run@@ -28,7 +29,9 @@ import qualified Distribution.Simple.GHCJS as GHCJS +#if !MIN_VERSION_base(4,8,0) import Data.Functor ((<$>))+#endif import Data.List (find) import System.Directory (getCurrentDirectory) import Distribution.Compat.Environment (getEnvironment)
Distribution/Client/Sandbox.hs view
@@ -1,3 +1,4 @@+{-# LANGUAGE CPP #-} ----------------------------------------------------------------------------- -- | -- Module : Distribution.Client.Sandbox@@ -104,7 +105,9 @@ import Data.IORef ( newIORef, writeIORef, readIORef ) import Data.List ( delete, foldl' ) import Data.Maybe ( fromJust, fromMaybe )+#if !MIN_VERSION_base(4,8,0) import Data.Monoid ( mempty, mappend )+#endif import Data.Word ( Word32 ) import Numeric ( showHex ) import System.Directory ( createDirectory@@ -595,10 +598,10 @@ die' message = die (message ++ installFailedInSandbox) -- TODO: use a better error message, remove duplication. installFailedInSandbox =- "Note: when using a sandbox, all packages are required to have \- \consistent dependencies. \- \Try reinstalling/unregistering the offending packages or \- \recreating the sandbox."+ "Note: when using a sandbox, all packages are required to have "+ ++ "consistent dependencies. "+ ++ "Try reinstalling/unregistering the offending packages or "+ ++ "recreating the sandbox." logMsg message rest = debugNoWrap verbosity message >> rest topHandler' = topHandlerWith $ \_ -> do
Distribution/Client/Sandbox/PackageEnvironment.hs view
@@ -1,3 +1,4 @@+{-# LANGUAGE CPP #-} ----------------------------------------------------------------------------- -- | -- Module : Distribution.Client.Sandbox.PackageEnvironment@@ -60,7 +61,9 @@ import Control.Monad ( foldM, liftM2, when, unless ) import Data.List ( partition ) import Data.Maybe ( isJust )+#if !MIN_VERSION_base(4,8,0) import Data.Monoid ( Monoid(..) )+#endif import Distribution.Compat.Exception ( catchIO ) import System.Directory ( doesDirectoryExist, doesFileExist , renameFile )
Distribution/Client/Sandbox/Types.hs view
@@ -1,3 +1,4 @@+{-# LANGUAGE CPP #-} ----------------------------------------------------------------------------- -- | -- Module : Distribution.Client.Sandbox.Types@@ -15,7 +16,9 @@ import qualified Distribution.Simple.PackageIndex as InstalledPackageIndex import Distribution.Client.Types (SourcePackage) +#if !MIN_VERSION_base(4,8,0) import Data.Monoid+#endif import qualified Data.Set as S -- | Are we using a sandbox?
Distribution/Client/Setup.hs view
@@ -1,3 +1,4 @@+{-# LANGUAGE CPP #-} ----------------------------------------------------------------------------- -- | -- Module : Distribution.Client.Setup@@ -92,11 +93,13 @@ import Data.Char ( isSpace, isAlphaNum ) import Data.List- ( intercalate, deleteFirstsBy )+ ( intercalate, delete, deleteFirstsBy ) import Data.Maybe ( listToMaybe, maybeToList, fromMaybe )+#if !MIN_VERSION_base(4,8,0) import Data.Monoid ( Monoid(..) )+#endif import Control.Monad ( liftM ) import System.FilePath@@ -271,8 +274,7 @@ (reqArgFlag "FILE") ,option [] ["sandbox-config-file"]- "Set an alternate location for the sandbox config file \- \(default: './cabal.sandbox.config')"+ "Set an alternate location for the sandbox config file (default: './cabal.sandbox.config')" globalConfigFile (\v flags -> flags { globalSandboxConfigFile = v }) (reqArgFlag "FILE") @@ -368,7 +370,8 @@ filterConfigureFlags :: ConfigFlags -> Version -> ConfigFlags filterConfigureFlags flags cabalLibVersion- | cabalLibVersion >= Version [1,19,2] [] = flags_latest+ | cabalLibVersion >= Version [1,21,1] [] = flags_latest+ -- ^ NB: we expect the latest version to be the most common case. | cabalLibVersion < Version [1,3,10] [] = flags_1_3_10 | cabalLibVersion < Version [1,10,0] [] = flags_1_10_0 | cabalLibVersion < Version [1,14,0] [] = flags_1_14_0@@ -389,6 +392,9 @@ , configProfLib = configProfLib flags , configCoverage = NoFlag , configLibCoverage = configCoverage flags+ -- HACK: See #2409.+ , configProgramPaths =+ ("cabalConfProf", "/TRUE") `delete` configProgramPaths flags } -- Cabal < 1.19.2 doesn't know about '--exact-configuration'. flags_1_19_1 = flags_1_20_0 { configExactConfiguration = NoFlag }
Distribution/Client/SetupWrapper.hs view
@@ -97,11 +97,15 @@ import System.IO ( Handle, hPutStr ) import System.Exit ( ExitCode(..), exitWith ) import System.Process ( runProcess, waitForProcess )+#if !MIN_VERSION_base(4,8,0) import Control.Applicative ( (<$>), (<*>) )+#endif import Control.Monad ( when, unless ) import Data.List ( foldl1' ) import Data.Maybe ( fromMaybe, isJust )+#if !MIN_VERSION_base(4,8,0) import Data.Monoid ( mempty )+#endif import Data.Char ( isSpace ) #ifdef mingw32_HOST_OS
Distribution/Client/Targets.hs view
@@ -1,3 +1,4 @@+{-# LANGUAGE CPP #-} ----------------------------------------------------------------------------- -- | -- Module : Distribution.Client.Targets@@ -79,8 +80,10 @@ ( listToMaybe ) import Data.Either ( partitionEithers )+#if !MIN_VERSION_base(4,8,0) import Data.Monoid ( Monoid(..) )+#endif import qualified Data.Map as Map import qualified Data.ByteString.Lazy as BS import qualified Data.ByteString.Lazy.Char8 as BS.Char8
Main.hs view
@@ -154,7 +154,9 @@ import System.Directory (doesFileExist, getCurrentDirectory) import Data.List (intercalate) import Data.Maybe (mapMaybe)+#if !MIN_VERSION_base(4,8,0) import Data.Monoid (Monoid(..))+#endif import Control.Monad (when, unless) -- | Entry point
bootstrap.sh view
@@ -190,7 +190,7 @@ # >= 2.0 && < 2.7 NETWORK_URI_VER="2.6.0.1"; NETWORK_URI_VER_REGEXP="2\.6\." # >= 2.6 && < 2.7-CABAL_VER="1.22.1.0"; CABAL_VER_REGEXP="1\.22"+CABAL_VER="1.22.2.0"; CABAL_VER_REGEXP="1\.22" # >= 1.22 && < 1.23 TRANS_VER="0.4.2.0"; TRANS_VER_REGEXP="0\.[4]\." # >= 0.2.* && < 0.5
cabal-install.cabal view
@@ -1,5 +1,5 @@ Name: cabal-install-Version: 1.22.0.1+Version: 1.22.2.0 Synopsis: The command-line interface for Cabal and Hackage. Description: The \'cabal\' command-line program simplifies the process of managing@@ -129,9 +129,9 @@ array >= 0.1 && < 0.6, base >= 4.3 && < 5, bytestring >= 0.9 && < 1,- Cabal >= 1.22 && < 1.23,+ Cabal >= 1.22.2 && < 1.23, containers >= 0.1 && < 0.6,- filepath >= 1.0 && < 1.4,+ filepath >= 1.0 && < 1.5, HTTP >= 4000.2.5 && < 4000.3, mtl >= 2.0 && < 3, pretty >= 1 && < 1.2,@@ -231,6 +231,7 @@ other-modules: PackageTests.Exec.Check PackageTests.Freeze.Check+ PackageTests.MultipleSource.Check PackageTests.PackageTester build-depends: Cabal,
changelog view
@@ -1,4 +1,8 @@ -*-change-log-*-+1.22.2.0 Ryan Thomas <ryan@ryant.org> March 2015+ * Don't pass '--{en,dis}able-profiling' to old setup exes.+ * -Wall police+ * Allow filepath 1.4 1.21.x (current development version) * New command: user-config (#2159).
tests/PackageTests/Exec/Check.hs view
@@ -1,3 +1,4 @@+{-# LANGUAGE CPP #-} module PackageTests.Exec.Check ( tests ) where@@ -9,7 +10,9 @@ import Test.Framework.Providers.HUnit (testCase) import Test.HUnit (assertBool) +#if !MIN_VERSION_base(4,8,0) import Control.Applicative ((<$>))+#endif import Control.Monad (when) import Data.List (intercalate, isInfixOf) import System.FilePath ((</>))
+ tests/PackageTests/MultipleSource/Check.hs view
@@ -0,0 +1,28 @@+module PackageTests.MultipleSource.Check+ ( tests+ ) where+++import PackageTests.PackageTester++import Test.Framework as TF (Test)+import Test.Framework.Providers.HUnit (testCase)++import Control.Monad (void, when)+import System.Directory (doesDirectoryExist)+import System.FilePath ((</>))++dir :: FilePath+dir = packageTestsDirectory </> "MultipleSource"++tests :: TestsPaths -> [TF.Test]+tests paths =+ [ testCase "finds second source of multiple source" $ do+ sandboxExists <- doesDirectoryExist $ dir </> ".cabal-sandbox"+ when sandboxExists $+ void $ cabal_sandbox paths dir ["delete"]+ assertSandboxSucceeded =<< cabal_sandbox paths dir ["init"]+ assertSandboxSucceeded =<< cabal_sandbox paths dir ["add-source", "p"]+ assertSandboxSucceeded =<< cabal_sandbox paths dir ["add-source", "q"]+ assertInstallSucceeded =<< cabal_install paths dir ["q"]+ ]
tests/UnitTests/Distribution/Client/UserConfig.hs view
@@ -1,10 +1,13 @@+{-# LANGUAGE CPP #-} module UnitTests.Distribution.Client.UserConfig ( tests ) where import Control.Exception (bracket) import Data.List (sort, nub)+#if !MIN_VERSION_base(4,8,0) import Data.Monoid+#endif import System.Directory (getCurrentDirectory, removeDirectoryRecursive, createDirectoryIfMissing) import System.FilePath (takeDirectory)