This project is mirrored from https://github.com/haskell/Cabal.
Pull mirroring updated .
- Aug 24, 2016
-
-
Edward Z. Yang authored
Fixes #767. Signed-off-by:
Edward Z. Yang <ezyang@cs.stanford.edu>
-
- Aug 23, 2016
-
-
Edward Z. Yang authored
Signed-off-by:
Edward Z. Yang <ezyang@cs.stanford.edu>
-
- Aug 21, 2016
-
-
Edward Z. Yang authored
This fixes #220: new-build now builds, installs and adds executables to PATH automatically if they show up in 'build-tools'. However, there is still more that could be done: the new behavior only applies to a specific list of 'build-tools' (alex, happy, etc) which Cabal recognizes out of the box. The plan is to introduce a new 'tool-depends' field to allow dependencies on other executables as well. Signed-off-by:
Edward Z. Yang <ezyang@cs.stanford.edu>
-
Edward Z. Yang authored
Signed-off-by:
Edward Z. Yang <ezyang@cs.stanford.edu>
-
Edward Z. Yang authored
A bit of a megapatch. Here's what's in it: * First, a few miscellaneous utility functions and reexports in Cabal. I could have split these into a separate commit but I was too lazy to. * Distribution.Client.Install got refactored: instead of using PackageFixedDeps, it uses IsUnit instead. This is because we weren't using ComponentDeps in a nontrivial way; we just need some graph structure and IsNode (with UnitId keys) fulfills that. I also removed the invariant checking and error reporting because it was being annoying (we check the invariants already in SolverInstallPlan). * Look at Distribution.Client.ProjectPlanning.Types. This contains the primary type change: ElaboratedConfiguredPackage is now EITHER a monolithic ElaboratedPackage, or a per-component ElaboratedComponent (it should get renamed but I didn't do that in this patch.) These are what we're going to store in our plans: if a package we're building has a Setup script which supports per-component builds, we'll explode it into a component. Otherwise we'll keep it as a package. We'll see codepaths for both throughout. * OK, so the expansion happens in ProjectPlanning, mostly in 'elaborateAndExpandSolverPackage'. You should review the package hash computation code closely. When we can separate components, we compute a hash for each INDEPENDENTLY. This is good: we get more sharing. * We need to adjust the target resolution and pruning code in ProjectOrchestration and ProjectPlanning. I did a dumb but easy idea: if a user mentions 'packagename' in a target name, I spray the PackageTarget on every possibly relevant IPID in buildTargets', and then pare it down later. * And of course there's code in ProjectBuilding to actual do a configure and then build. * We change the layout of build directories so that we can track each component separately. While I was doing that, I also added compiler and platform information. Custom doesn't work yet because I need to give them their own separate component, and teach Cabal how to build them specially. Signed-off-by:
Edward Z. Yang <ezyang@cs.stanford.edu>
-
Edward Z. Yang authored
The previous approach I took, though correct, was quite confusing. If I refactor InstallPlan to operate on a per-component basis, then we'll automatically get support for convenience libraries, which will ultimately cleaner. (While we won't be able to get rid of support for whole package installs, it will be safe to assume packages using convenience libraries also support one-shot configure.) I didn't revert the support in cabal install; I'm not planning on componentizing it. Signed-off-by:
Edward Z. Yang <ezyang@cs.stanford.edu>
-
- Aug 17, 2016
-
-
Edward Z. Yang authored
Signed-off-by:
Edward Z. Yang <ezyang@cs.stanford.edu>
-
- Jun 26, 2016
-
-
Signed-off-by:
Edward Z. Yang <ezyang@cs.stanford.edu>
-
- May 06, 2016
-
-
Edward Z. Yang authored
Unfortunately, it was too difficult to factor out the common code between ProjectBuilding and Install. Signed-off-by:
Edward Z. Yang <ezyang@cs.stanford.edu>
-
- May 05, 2016
-
-
Edward Z. Yang authored
Signed-off-by:
Edward Z. Yang <ezyang@cs.stanford.edu>
-
- Apr 23, 2016
-
-
kristenk authored
-
- Apr 19, 2016
-
-
Mikhail Glushenkov authored
(cherry picked from commit d70c9aab)
-
- Apr 17, 2016
-
-
Duncan Coutts authored
Without this change, Edward's original patch to monitor the contents of Cabal files wouldn't actually be needed to make the test pass. Originally the test only covered the case of specifying a package by a glob that matches a .cabal file, and that case already worked because the glob matching already included a monitor on the glob matches (ie the .cabal file). What did not work was a glob that matched a directory, since in that case we did the the glob match for $thedir/*.cabal incorrectly, meaning that we didn't end up monitoring the files properly (a path mismatch meant we were monitoring different files).
-
- Apr 12, 2016
-
-
Edward Z. Yang authored
Signed-off-by:
Edward Z. Yang <ezyang@cs.stanford.edu>
-
- Apr 02, 2016
-
-
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>
-
- Apr 01, 2016
-
-
Edward Z. Yang authored
This are currently failing because there are bugs which need to be fixed. Signed-off-by:
Edward Z. Yang <ezyang@cs.stanford.edu>
-
- Mar 03, 2016
-
-
kristenk authored
Fixes #3059. cabal's handling of non-existent sources depends on the behavior of the directory package. 'canonicalizePath' can fail on non-existent paths before directory-1.2.3.0. This commit updates the test 'fail_on_nonexistent_source' to allow 'cabal sandbox delete-source' to fail or succeed. It also changes 'fail_removing_source_thats_not_registered' so that it only tests existing sources.
-
- Feb 11, 2016
-
-
kristenk authored
Spaces in the path to ghc-pkg caused two tests to fail when run with the Haskell Platform on Windows.
-
Mikhail Glushenkov authored
Needed because cabal-install no longer compiles against Cabal-1.23.1 snapshot that came with GHC 8.
-
- Feb 10, 2016
-
-
kristenk authored
-
- Feb 02, 2016
-
-
Edward Z. Yang authored
Signed-off-by:
Edward Z. Yang <ezyang@cs.stanford.edu>
-
- Jan 31, 2016
-
-
kristenk authored
-
'cabal user-config init' creates a default config file if it doesn't already exist. If '--config-file' is set, then that file will be written. If '-f' or '--force' is used, then the file will be overwritten if it already exists.
-
- Jan 04, 2016
-
-
Duncan Coutts authored
No need to test functions that come from the tar lib now. Also, correct the expected output for sandbox remove source. Previously the results were expected to come out in reverse order, because the old filterEntriesM performed the monad actions in reverse order. The new code doesn't have that bug so the results come out in the correct order.
-
- Dec 09, 2015
-
-
martinvlk authored
-
- Nov 24, 2015
-
-
martinvlk authored
-
- Nov 23, 2015
-
-
martinvlk authored
-
- Nov 17, 2015
-
-
martinvlk authored
-
- Oct 18, 2015
-
-
Oleg Grenrus authored
-
- Oct 17, 2015
-
-
Maciek Makowski authored
-
- Oct 14, 2015
-
-
Oleg Grenrus authored
- findExecutable sh - Use single quotes for cabal exec
-
Fixes #2797 Squashed commits: - Use ., not source
-