This project is mirrored from https://github.com/haskell/Cabal.
Pull mirroring updated .
- 22 Dec, 2015 1 commit
-
-
Edward Z. Yang authored
Signed-off-by:
Edward Z. Yang <ezyang@cs.stanford.edu>
-
- 21 Dec, 2015 7 commits
-
-
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
-
- 20 Dec, 2015 2 commits
-
-
Mikhail Glushenkov authored
Define Semigroup instances
-
Herbert Valerio Riedel authored
GHC 8.0.1 is going to ship with time-1.6
-
- 18 Dec, 2015 2 commits
-
-
Mikhail Glushenkov authored
Separate out reading index from building cache
-
Edsko de Vries authored
And clarify the lazy nature of the algorithm.
-
- 17 Dec, 2015 10 commits
-
-
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
-
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.
-
- 16 Dec, 2015 18 commits
-
-
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`.
-
Edsko de Vries authored
In the definition of `globalCommand` we had (case showOrParseArgs of ShowArgs -> take 8; ParseArgs -> id) [..] the intention here is that the first 8 options will be shown when the user asks for `--help`, and the rest are not. However, this is rather error prone. If we forget to update that value when adding a new command line argument, we might either be wondering why the option isn't showing in the help text, or--worse--push another flag out of the help text without noticing. This commit changes this to args ShowArgs = argsShown args ParseArgs = argsShown ++ argsNotShown argsShown = [..] argsNotShown = [..] which is a lot more robust.
-
Duncan Coutts authored
For some reason my cpp does not fail with #if THING_NOT_DEFINED but the travis one does, so use #ifdef instead.
-
Duncan Coutts authored
-
Duncan Coutts authored
The ProgramDb Binary instance is a bit odd by leaving out the Programs, only including the ConfiguredPrograms. Of course this is because the Programs contain functions. But the ProgramSearchPath is concrete and should be included.
-
Duncan Coutts authored
This is to allow monitoring programs for changes. The combination of the location where the program was found, and all the other locations where the program was looked for gives the full set of files to monitor for changes in that program. The Program programFindLocation method is extended to return the locations looked at but where the prog was not found. The default implementation of programFindLocation, findProgramOnSearchPath, is extended to return those locations. Other places have to change, mostly just the type. In a couple places in GHC & GHCJS where there is additional searching done, the not-found locations have to be collected and returned.
-
Duncan Coutts authored
But in this patch, don't actually return them yet, so not yet changing the resturn type. The purpose here is change monitoring. In cabal-install we want to be able to automatically re-run various actions when the build environment changes, including when programs have changed (e.g. due to a $PATH change, finding the compiler in a different location). The basic information required for such change monitoring is not only the location where a program was ultimately found, but all the locations where it was looked for and not found. Otherwise one will miss the case where having previously found the program in one location, later on the program appears earlier in the search path. In this case a build system should notice and react, but if it only monitors the ultimate location where the program was found then this is impossible. The build system also needs to monitor the locations where the program was not found, to make sure it is still not there. This principle actually applies anytime we have a file search (e.g. hs-source-dirs), programs are just one example.
-
Duncan Coutts authored
The findProgramOnSearchPath function is what we use in most places to implement the Program abstraction's programFindLocation method. Re-export it via Program module. The only place that was still using the old findProgramLocation instead was in HaskellSuite. Deprecate findProgramLocation which is now no longer used. This is in preparation for changing the return type of findProgramOnSearchPath.
-
Duncan Coutts authored
It provides a way to find out what files need to be monitored to detect changes in a compiler's package database. This is not used within the Cabal lib.
-
Duncan Coutts authored
-