This project is mirrored from https://github.com/haskell/Cabal.
Pull mirroring updated .
- Dec 28, 2015
-
-
Edward Z. Yang authored
Signed-off-by:
Edward Z. Yang <ezyang@cs.stanford.edu>
-
Edward Z. Yang authored
I've rewritten the test suite to be more concise and "correct by construction". The primary method that this is achieved by is introducing the 'TestM' monad, which carries around the important state for the tests so that (1) we don't have to pass it as an argument all around, and (2) we can automatically make the correct decisions about how to do things. This new method emphasises "configuration by convention": we assume that a test-case named "Foo" has its test packages in the directory "tests/PackageTests/Foo". A secondary change is that all command functions automatically fail if they have a non-zero exit code (unless you use the 'shouldFail' combinator which inverts the sense.) This saves a lot of typing on test-cases. (In fact, I've reorganized all of the commands related here.) In the process, I've tightened up the logic for how to find the LocalBuildInfo of the Cabal we've testing, so we should now reliably be testing the inplace Cabal library, and not the system library (as was often the case.) Because things are a lot shorter, there is no good reason to make Check modules except for the biggest test cases. Most test-cases have been folded into PackageTests.Tests; if you have a small test-case you should just put it there. Signed-off-by:
Edward Z. Yang <ezyang@cs.stanford.edu>
-
Edward Z. Yang authored
Signed-off-by:
Edward Z. Yang <ezyang@cs.stanford.edu>
-
- Dec 27, 2015
-
-
bardur.arantsson authored
Clean up FIXMEs
-
bardur.arantsson authored
-
- Dec 24, 2015
-
-
Oleg Grenrus authored
-
- Dec 23, 2015
-
-
Edward Z. Yang authored
Signed-off-by:
Edward Z. Yang <ezyang@cs.stanford.edu>
-
Edward Z. Yang authored
Signed-off-by:
Edward Z. Yang <ezyang@cs.stanford.edu>
-
- Dec 22, 2015
-
-
Mikhail Glushenkov authored
Also probe in canonicalized path, if binary was a symlink.
-
Edward Z. Yang authored
Signed-off-by:
Edward Z. Yang <ezyang@cs.stanford.edu>
-
- Dec 21, 2015
-
-
Edward Z. Yang authored
Signed-off-by:
Edward Z. Yang <ezyang@cs.stanford.edu>
-
Edward Z. Yang authored
Signed-off-by:
Edward Z. Yang <ezyang@cs.stanford.edu>
-
Mikhail Glushenkov authored
Introduce ignore-expiry cmdline arg
-
Mikhail Glushenkov authored
Make sure 'tarEntriesList' does not create thunks
-
Edsko de Vries authored
-
Edsko de Vries authored
If used, this will instruct the hackage-security library to ignore expiry dates on TUF metadata (to be used only if, say, the main server is down and we need to rely on mirrors that have not been updated for longer than the expiry period on the timestamp).
-
Edsko de Vries authored
-
- Dec 20, 2015
-
-
Mikhail Glushenkov authored
Define Semigroup instances
-
Herbert Valerio Riedel authored
GHC 8.0.1 is going to ship with time-1.6
-
- Dec 18, 2015
-
-
Mikhail Glushenkov authored
Separate out reading index from building cache
-
Edsko de Vries authored
And clarify the lazy nature of the algorithm.
-
- Dec 17, 2015
-
-
Herbert Valerio Riedel authored
This makes the code `-Wcompat`-clean with GHC 8.0 Due to the amount of `Monoid` instances, a compat-layer is used rather than flooding the code-base with CPP conditionals.
-
bardur.arantsson authored
-
Mikhail Glushenkov authored
Type refactoring
-
Herbert Valerio Riedel authored
Program.Find: Fix on Win32
-
Ben Gamari authored
ee0ed0b9 added another codepath to Distribution.Simple.Program.Find for Win32 platforms however did not add correct imports or a dependency on the Win32 library. Fix this.
-
Edsko de Vries authored
This changes the definition of `Index` to ``` haskell data Index = -- | The main index for the specified repository RepoIndex Repo -- | A sandbox-local repository -- Argument is the location of the index file | SandboxIndex FilePath ``` with ``` cacheFile (SandboxIndex index) = index `replaceExtension` "cache" ``` This also renames `repoRemote'` to `maybeRepoRemote`. I believe this addresses all comments.
-
Edsko de Vries authored
In other words, give it a callback, changing the type from globalRepos :: GlobalFlags -> [Repo] to Verbosity -> GlobalFlags -> ([Repo] -> IO a) -> IO a This will be necessary for repositories that need to do some repository-specific initialization (even if we don't currently have any, we will soon). The Verbosity flag is not used yet, but will be. This just changes the type and deals with the fallout.
-
Edsko de Vries authored
The old Repo type has a repoKind repoKind :: Either RemoteRepo LocalRepo, where LocalRepo was isomorphic to unit: data LocalRepo = LocalRepo This commit changes Repo to data Repo = -- | Local repositories RepoLocal { repoLocalDir :: FilePath } -- | Standard (unsecured) remote repositores | RepoRemote { repoRemote :: RemoteRepo , repoLocalDir :: FilePath } instead, which is a little more idiomatic and will make adding more repository types easier.
-
Edsko de Vries authored
Right now this just wraps the list of cache entries, but this might make it easier in the future to change the structure of the cache.
-
Edsko de Vries authored
In particular, distinguish between the repo-global index and a (sandbox-)local index.
-
- Dec 16, 2015
-
-
Herbert Valerio Riedel authored
GHC 8.0 changed the `ErrorCall` type to have an extended constructor, and backward compatibility has been provided via PatternSynonyms: data ErrorCall = ErrorCallWithLocation String String deriving (Eq, Ord) pattern ErrorCall :: String -> ErrorCall pattern ErrorCall err <- ErrorCallWithLocation err _ where ErrorCall err = ErrorCallWithLocation err "" However, due to https://ghc.haskell.org/ticket/8779 the exhaustive-checker doesn't cope well with pattern-synonyms yet, and so we get a non-exhaustive pattern-match failure when matching on 'ErrorCall' now. As the matching on the constructor 'ErrorCall' is done here to help infer the Exception instance, we can also just annotate the type directly, and eschew the problematic pattern match. While at it, this commit also makes this module CPP-free.
-
Mikhail Glushenkov authored
-
Duncan Coutts authored
Cabal lib for nix local build
-
Mikhail Glushenkov authored
Extend repo config with security settings
-
Mikhail Glushenkov authored
Remove magic value from `globalCommand`
-
Duncan Coutts authored
-
Duncan Coutts authored
About the ghc package dbs in particular.
-
Duncan Coutts authored
For supporting multi instance registrations on older GHC versions.
-
Edsko de Vries authored
This extends `RemoteRepo` with new fields ``` haskell -- | Enable secure access to Hackage? remoteRepoSecure :: Bool, -- | Root key IDs (for bootstrapping) remoteRepoRootKeys :: [String], -- | Threshold for verification during bootstrapping remoteRepoKeyThreshold :: Int, ``` and modifies the parser accordingly. This does not yet require a dependency on the security library. NOTE: We suggest to make the security functionality opt-in, rather than opt-out, for the first official release. Thus, the 'secure' field will be set to 'False' when initializing a `~/.cabal/config` file, and existing `~/.cabal/config` files will be interpreted as if they had `secure: False`.
-