This project is mirrored from https://github.com/haskell/Cabal. Pull mirroring updated .
  1. 07 Feb, 2020 1 commit
  2. 22 Dec, 2019 2 commits
    • Oleg Grenrus's avatar
      Add --ignore-project flag to v2-run · e63a7050
      Oleg Grenrus authored
      e63a7050
    • Oleg Grenrus's avatar
      Implement file+noindex:///local/repositories · a07ef252
      Oleg Grenrus authored
      Resolve #6359
      
      `preferred-versions` are left out for now.
      It shouldn't be difficult to add, but needs work nevertheless.
      
      We also allow relative paths, which kind of work,
      if you are careful.
      
      In addtition
      - change the index cache to use `Distribution.Utils.Structured`,
        making Binary instances generically derived.
      - separate Distribution.Client.HashValue into own module.
        This allows to use HashValue for hashing the part of localRepoPath
        (breaks module dependency cycle).
      
      Almost as a feature generated 01-index.cache is never updated.
      If you change the contents of the directory, you have to purge
      01-index.cache file yourself.
      a07ef252
  3. 15 Dec, 2019 1 commit
  4. 12 Dec, 2019 1 commit
  5. 11 Dec, 2019 1 commit
    • Oleg Grenrus's avatar
      Add Distribution.Utils.Structured · ae33fcf9
      Oleg Grenrus authored
      It defines `Structured` type class, which we use to prepend
      a hash to cached `Binary` blobs. Thus we can catch early, if
      format is changed, avoiding corrupt cache making cabal
      behave weirdly.
      
      Plenty types got Typeable instances, as it's a superclass of Structured
      
      This commit also introduces new compat modules:
      
      - Distribution.Compat.Typeable with typeRep
      - Distribution.Client.Compat.Orphans,
        to collect at least some orphans into central place.
      ae33fcf9
  6. 02 Dec, 2019 1 commit
  7. 30 Nov, 2019 1 commit
    • Oleg Grenrus's avatar
      Use hackage-security-0.6 · 0165f0a7
      Oleg Grenrus authored
      Also in CI setup, install hackage-repo-tool using `cabal new-install`.
      And remove slightly confusing cabal.project.travis file.
      0165f0a7
  8. 14 Nov, 2019 1 commit
  9. 02 Oct, 2019 1 commit
  10. 24 Sep, 2019 1 commit
  11. 15 Aug, 2019 1 commit
  12. 25 Jul, 2019 1 commit
  13. 06 Jul, 2019 1 commit
  14. 10 May, 2019 1 commit
  15. 19 Mar, 2019 1 commit
  16. 12 Mar, 2019 1 commit
    • Francesco Gazzetta's avatar
      Add install-method, put new-install flags in config · 344c07ef
      Francesco Gazzetta authored
      Add an --install-method=symlink|copy flag which specifies how to perform
      the installation.
      
      * --symlink-bindir is now gone, replaced by --installdir
      * --install-method=copy is useful in Windows where symlinking is not
      supported
      
      All new-install flags can now be configured in ~/.cabal/config
      
      * NewInstallFlags changed to ClientInstallFlags (more descriptive than
      InstallExFlags (like ConfigExFlags))
      * ClientInstallFlags is now part of SavedConfig
      344c07ef
  17. 09 Mar, 2019 1 commit
  18. 07 Mar, 2019 1 commit
  19. 16 Jan, 2019 1 commit
    • Herbert Valerio Riedel's avatar
      Use `:pkg:fail`'s `MonadFail` class · 8e903011
      Herbert Valerio Riedel authored
      The `fail` package has been already in lib:Cabal's transitive
      dependencies via at least `lib:parsec` (for GHC < 8), so we might
      as well depend on it directly and avoid having to deal with two
      divergent compat `MonadFail` classes, as well as reduce the amount
      of CPP hackery.
      
      This should address the GHC < 8 build failures that were introduced
      via c3c29a49
      
      Future work: get rid of internal `Distribution.Compat.MonadFail` module.
      8e903011
  20. 03 Dec, 2018 1 commit
    • Herbert Valerio Riedel's avatar
      Sync up cabal metadata w/ metadata revision · 77610986
      Herbert Valerio Riedel authored
      cabal-install-2.4 doesn't build anymore w/ GHC 7.8 and older;
      so the metadata revision took care to fixup the lower bound of
      base and other boot libs to take the versions bundled w/ GHC 7.10.1
      as the lower bounds.
      
      Moreover, this also fixes some upper bounds not being PVP compliant.
      
      (cherry picked from commit 0ba16f5c)
      77610986
  21. 01 Dec, 2018 3 commits
  22. 28 Nov, 2018 1 commit
    • Oleg Grenrus's avatar
      Move ReadP out of Cabal (to cabal-install) · baf78ca2
      Oleg Grenrus authored
      - Distribution.Compat.ReadP to Distribution.Deprecated.ReadP
      - Distribution.Text to Distribution.Deprecated.Text
      - all Text instances needed by cabal-install to Deprecated.Text too
      - Distribution.ParseUtils to Distribution.Deprecated.ParseUtils
      - Remove deprecated Distribution.PrettyUtils
      - new Distribution.Text with
      
          display = prettyShow
          simpleParse = simpleParsec
      
        to not break too much stuff (Custom Setup.hs)
      - parseInstalledPackageInfo type signature changed to use
        `base` types
      
      This removes around 2k lines from Cabal the library.
      git diff --stat shows less, as files are moved (git is smart).
      Even so, total 300 lines removal at this point.
      baf78ca2
  23. 25 Nov, 2018 1 commit
  24. 09 Nov, 2018 1 commit
  25. 20 Aug, 2018 2 commits
    • Oleg Grenrus's avatar
      fixup! Preprocess cabal-install.cabal · 1c14ece8
      Oleg Grenrus authored
      1c14ece8
    • Oleg Grenrus's avatar
      Preprocess cabal-install.cabal · b1c2eaac
      Oleg Grenrus authored
      - Disable cabal-install's haddock on CI
      - Temporarily disable cabal check (`-main-is` in tests)
      - Remove this is not a lib note
      - Tell to run git update-index --assume-unchanged
      
          ... when changing to -dev or -monolithic configuration.
      
          Run --no-assume-unchanged unconditionally, when
          changing to the production build.
      - Improve auto-gen note in cabal-install.cabal
      - Try to build haddock (with GHC-8.4.3 only)
      b1c2eaac
  26. 02 Aug, 2018 1 commit
  27. 01 Aug, 2018 2 commits
  28. 31 Jul, 2018 2 commits
  29. 15 Jul, 2018 1 commit
  30. 14 Jul, 2018 5 commits
    • Duncan Coutts's avatar
      0403b01f
    • Duncan Coutts's avatar
      Try yet again with the windows file lock problem · 6c09d448
      Duncan Coutts authored
      Try the "retry N times on permission errors" strategy.
      6c09d448
    • Duncan Coutts's avatar
      Add tests for the new 'get -s' implementation · 42e52bbb
      Duncan Coutts authored
      It covers all the failure modes, and currently includes one actual
      network test where we fetch a git repo. There is a new testsuite feature
      flag to disable network tests, and we probably want to use that in CI.
      42e52bbb
    • Duncan Coutts's avatar
      Add QC tests for the VCS abstraction · 9bcd5e20
      Duncan Coutts authored
      This is a hopefully rather comprehensive approach: we generate an
      arbitrary description of how to make a repo, and model what content we
      would expect for every tag/commit. Then we can compare with executing
      the description for the real VCS and comparing the actual file content
      for any tag/commit.
      
      This is then the basis for checking for the various VCS drivers that we
      can (construct and) clone and sync repos properly. In particular for
      syncing this gives some confidence that we can sync for any plausible
      cached previous repo state.
      9bcd5e20
    • Duncan Coutts's avatar
      Add a new VCS abstration · c738ddd1
      Duncan Coutts authored
      This is intended for two things:
       * replacing the Brancher abstraction backing the current 'get -s' impl
       * the basis for source repo support in cabal.package files
      
      The latter is a bit more complex as it requires not just fetching a
      fresh repo, but syncing a repo to a specific tag, commit or branch. The
      approach assumes that we keep a cached copy so that most changes are
      cheap and it optimises things by allowing sharing data between multiple
      commits of the same repo, and multiple packages within the same repo.
      
      For example, it will be possible to specify the same repo in the
      cabal.project file for more than one package, and have those packages
      either in separate subdirs of the same commit, or on different
      commits/tags/branches. In the former case we use a single checkout
      while in the latter case we use two checkouts, but share repo data as
      far as possible.
      c738ddd1