Skip to content
Snippets Groups Projects
This project is mirrored from https://github.com/haskell/Cabal. Pull mirroring updated .
  1. Apr 26, 2024
  2. Apr 25, 2024
  3. Apr 24, 2024
  4. Apr 23, 2024
  5. Apr 22, 2024
  6. Apr 18, 2024
  7. Apr 16, 2024
    • mergify[bot]'s avatar
      Merge pull request #9898 from haskell/mergify/bp/3.12/pr-9865 · 983fdcd4
      mergify[bot] authored
      GitLab CI: Shake up available platforms (backport #9865)
    • Bryan R's avatar
      Rework Darwin jobs · cb290f1b
      Bryan R authored
      * Use `arch` explicitly in both jobs. I don't know why x86_64 is the
        default, and I don't like it.
      
      * Stop using brew. This means a toolchain needs to already be installed
        where CI is run. This is the case today, although it's a bit fragile
        and I'll probably revisit it.
      
      * Use a matrix build to clean up the yml.
      
      * Use GHC 9.8.2 to work around GHC#24050
      
      (cherry picked from commit 1f60a977)
      cb290f1b
    • Bryan R's avatar
      Update ci-images pin and bootstrap versions · 155541dc
      Bryan R authored
      (cherry picked from commit 50c0c0f8)
      155541dc
    • Bryan R's avatar
      Only use ghcup where needed · 5e6ad862
      Bryan R authored
      (cherry picked from commit 6b6c6842)
      5e6ad862
    • Bryan R's avatar
      Simplify job names · 7cd0615f
      Bryan R authored
      (cherry picked from commit 3792f658)
      7cd0615f
    • mergify[bot]'s avatar
      Merge pull request #9893 from haskell/mergify/bp/3.12/pr-9583 · b6c1ed6d
      mergify[bot] authored
      Redesign 'cabal path' command to account for projects (backport #9583)
    • fendor's avatar
      Redesign 'cabal path' command to account for projects (#9583) · 354224c4
      fendor authored
      
      * Redesign 'cabal path' command to account for projects
      
      Previously, `cabal path` was only able to query from the global
      configuration file, e.g., `~/.cabal/config` or the XDG equivalent.
      Adding support for cabal project is a huge boost to usability.
      
      We take the foundations and turn them into `cabal v2-path` which takes
      project configuration, such as `cabal.project` into account.
      Note, the command is still named `cabal path`, but for the sake of
      disambiguation, we refer to this new iteration of the command as `cabal
      v2-path`.
      
      In addition, we add support for multiple output formats, such as
      key-value pairs and json.
      
      The key-value pair output prints a line for each queried key and its
      respective value:
      
          key1: value2
          key2: value2
      
      If only a single key is queried, we print only the
      value, for example:
      
          value1
      
      The json output format is versioned by the cabal-install version which
      is part of the json object.
      Thus, all result objects contain at least the key "cabal-install-version".
      
      We expand the `cabal v2-path` to also produce information of the
      compiler that is going to be used in a `cabal build` or `cabal repl` invocation.
      To do that, we rebuild the install plan and query for the configured
      compiler program.
      This is helpful for downstream tools, such as HLS, to figure out the GHC
      version required to compile a project with.
      
      We also add an exhaustive test suite for 'cabal path' cmd
      
      We test that each query honours cabal.project files, cli parameters, and
      is composable with the other query flags.
      
      We extend the test output normalisers for ghc compiler location and
      cabal-install version, as the 'cabal path' command outputs the exact ghc
      and ghc-pkg location. In addition, the json output format is versioned
      on the cabal-install version.
      
      Currently, we query the cabal-install version on each test normalisation
      run. This might be unnecessary expensive, and could be avoided by
      introducing a 'cabalProgram' that specifies how the program version can
      be found. This way, we can cache the version query.
      
      Add '--cache-home' flag thats shows the cabal's cache root
      
      Rename '--cache-dir' to the more correct '--remote-repo-dir'.
      
      * Update 'cabal path' documentation
      
      * Add changelog.d entry
      
      ---------
      
      Co-authored-by: default avatarmergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
      (cherry picked from commit 4a8a7c5d)
      354224c4
    • mergify[bot]'s avatar
      Merge pull request #9894 from haskell/mergify/bp/3.12/pr-9882 · bc0fb925
      mergify[bot] authored
      Update setupMinCabalVersionConstraint for GHC 9.10 (backport #9882)
    • f-a's avatar
      Update setupMinCabalVersionConstraint · 192fa5a7
      f-a authored
      (cherry picked from commit ecb174da)
      192fa5a7
  8. Apr 10, 2024
  9. Apr 09, 2024
    • mergify[bot]'s avatar
      Merge pull request #9877 from haskell/mergify/bp/3.12/pr-9578 · bd0d3214
      mergify[bot] authored
      Show import tree provenance (backport #9578)
    • Brandon S. Allbery's avatar
      Show provenance of import constraint · af9d5df9
      Brandon S. Allbery authored
      With this change to the solver message rendering, I also fix some bugs around project imports, adding tests for those cases. Reviewers asked that the Y-shaped import checks (using IORef) be made on a separate pull request. Removing those lead to cascading deletions.
      
      - Regenerate expected .out files
      - Show tree provenance of import constraint
      - Add trimmed down PackageTests/VersionPriority
      - Add changelog entry
      - Use NonEmpty
      - Fix check for cyclical import
      - Use primes for next iteration
      - Remove unused LANGUAGE pragmas
      - Rename to projectConfigPathRoot
      - Docs for ProjectConfigPath and showProjectConfigPath
      - Renaming
      - Add cyclical import tests with 1 and 2 hops in cycle
      - Use full path for cyclical error message
      - Expected output has project with full project path
      - Add fullPath local function
      - Project directory as FilePath, not Maybe FilePath
      - Use (_, projectFileName) binding splitFileName
      - Need full path to project parsing legacy
      - Inline seenImports conversion
      - Add cyclical checks with same file names and hops
      - Add noncyclical tests that hop over folders
      - Add a project testing skipping in and out of a folder
      - Update expectations of cyclical tests
      - Use canonicalizePath for collapsing .. when possible
      - Capture trace for later
      - Add module for ProjectConfigPath
      - Move functions for ProjectConfigPath to its module
      - Fetch URI is not prefixed with ./https://etc
      - Document normaliseConfigPath
      - Add doctests for normaliseConfigPath
      - Add doctest of canonicalizeConfigPath
      - Show an example of canonical paths
      - Use importer and importee in canonicalizeConfigPaths
      - Add logging
      af9d5df9
    • Rodrigo Mesquita's avatar
      Fix cabal-install in the presence of extra-packages · 6b488a80
      Rodrigo Mesquita authored
      Extra-packages listed in a cabal project are to be fetched from hackage,
      and will be in memory as 'NamedPackages' rather than resolved to
      'SpecificSourcePackage'.
      
      On install, we need to make source-dists for all the specific source
      packages, and fetch other packages from hackage. Since extra-packages
      are already 'NamedPackages', we simply return them along the sdistize-d
      specific source packages and the hackage source packages -- they will be
      correctly fetched from Hackage from install.
      
      Previously, cabal install <tgt> on a project with extra-packages would
      fail because the branch of 'NamedPackage' for 'PackageSpecifier' was
      simply unimplemented.
      
      Fixes #8848
      
      (cherry picked from commit c671f0e9)
      6b488a80
    • mergify[bot]'s avatar
      Merge pull request #9874 from haskell/mergify/bp/3.12/pr-9813 · 0a16cf77
      mergify[bot] authored
      Conform BSD-2-Clause and BSD-3-Clause text to SPDX (backport #9813)
    • f-a's avatar
      Conform BSD-2-Clause and BSD-3-Clause text to SPDX · 7bc5006c
      f-a authored
      `cabal init` text for BSD-2-Clause and BSD-3-Clause licence differed
      slightly from the one published at SPDX. [1] [2]
      
      This caused some problems to users when dealing with licence-recognition
      software. [3]
      
      [1] https://spdx.org/licenses/BSD-2-Clause.html
      [2] https://spdx.org/licenses/BSD-3-Clause.html
      [3] https://discourse.haskell.org/t/non-standard-license-generated-by-stack-new/9059
      
      (cherry picked from commit 1e86730a)
      7bc5006c
  10. Apr 06, 2024
  11. Mar 26, 2024
    • f-a's avatar
      Bump version numbers for 3.12.0.0 (#9788) · 7d140c56
      f-a authored
      * Bump version numbers for 3.12.0.0
      
      Version fields, constraints, licences, and bootstrap.
      
      ☞ N.B.:
      - This commit removes 8.10.7 from bootstrap list.
      - This release only deals with Cabal, not cabal-install.
      
      * Update index state in cabal.project.release
      
      This is needed since we need the new (0.6.2.5) release of
      hackage-security.
      
      * Regenerate bootstrap .json files
  12. Mar 22, 2024
  13. Mar 19, 2024
  14. Mar 11, 2024
  15. Mar 09, 2024
    • f-a's avatar
      Make `check` recognise `main-is` in conditional branches (#9768) · 698339c0
      f-a authored
      
      * Add tests for #9742
      
      `main-is` not picked up when inside a multibranch CondNode.
      
      * Fix comments
      
      * Add simplifyBranch to Distribution.Types.CondTree
      
      Goes hand in hand with with simplifyCondTree.
      
      * Make `check` deal correctly with multiple branches
      
      `cabal check` had a problem recognising fields in presence of
      multiple branches. This patch fixes the problem and does not
      meaningfully increases CI time of particularly taxing tests
      (like “duplicate flagged dependencies” from MemoryUsage).
      
      ---------
      
      Co-authored-by: default avatarmergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
      (cherry picked from commit 74b1f215)
      698339c0
Loading