This project is mirrored from https://github.com/haskell/Cabal.
Pull mirroring updated .
- Aug 29, 2024
-
-
Matthew Pickering authored
This refactoring enforces a simple property * We use symbolic paths in Cabal in order to represent that paths to package databases. These paths is relative to the package root. * We use normal filepaths in cabal-install to represent the path to a package database. These are relative to the current working directory. Paths are explicitly converted from one type to the other at the interface of `cabal-install` and `Cabal`, see `setupHsConfigureArgs` for where this happens. In order to achieve this `PackageDB` is abstracted over what the type of filepaths a specific package db points to. ``` type PackageDBX fp = ... | SpecificPackageDB fp | ... ``` If you are using the Cabal library then you probably want to migrate to use `PackageDBCWD` and `PackageDBStackCWD`. ``` type PackageDBCWD = PackageDBX FilePath type PackageDBStackCWD = [PackageDBCWD] ``` Then at the point where you call commands in the `Cabal` library convert these paths into paths relative to the root of the relevant package. The easiest way to do this is convert any paths into an absolute path. This patch fixes a double interpretation issue when the `--working-dir` option was used and package db paths were offset incorrectly.
-
Matthew Pickering authored
This fixes the --gen-pkg-config to use the symbolic path abstraction, in turn this ensures that we interpret the path appropiately when `--working-dir` is also set.
-
Matthew Pickering authored
This fixes a simple oversight where the flags were passed without updating the `--working-dir` argument appropiately.
-
Matthew Pickering authored
It is only on Cabal 3.13 that the symbolic path abstraction was introduced. On CI we only test with Cabal master so the incorrect bound wasn't picked up.
-
- Aug 28, 2024
-
-
mergify[bot] authored
Include package version in --promised-dependency flag
-
Matthew Pickering authored
In the original implementation of promised dependencies I accidentally left over the hard coded `currentCabalId` in the `configureDependencies` function. This led to several errors happening later when the package name and version would be incorrect if you looked at this field (package arguments are not computed using it), it is used when generating cabal macros and something in the haddock options. The solution is to pass the package version in the `--promised-depenency` flag so the format is now ``` NAME-VER[:COMPONENT_NAME]=CID` ``` rather than ``` NAME[:COMPONENT_NAME]=CID ``` Fixes #10166
-
mergify[bot] authored
add "ready and waiting" Mergify label
-
Brandon S. Allbery authored
The bot can use this to announce PRs that are entering the 2-day waiting period.
-
mergify[bot] authored
update the pinned index-state to get the new `rere`
-
Brandon S. Allbery authored
Without this, #10202 breaks `cabal.project.release` on ghc 9.10.1.
-
- Aug 27, 2024
-
-
mergify[bot] authored
ci: Fix --index-state for hackage roundtrip tests
-
Matthew Pickering authored
As a principle, tests which are required for CI to pass should be reproducible and not depending on external resources changes or being modified. The hackage tests currently violate this by depending on the latest index state from hackage. This is problematic because until the test is fixed all merges into master are blocked. Even though the patches in question have nothing to do with the test. It would be more suitable for a nightly job to run on the latest index and for normal CI to run with a fixed index which is updated periodically in a controlled manner. Fixes #10284
-
Matthew Pickering authored
We need to fix the index-state we test against so a new bad cabal file doesn't take down the CI for everyone. Towards #10284
-
- Aug 26, 2024
-
-
Alberto Fanton authored
* Add ProjectRootUsability datatype * Make findProjectRoot aware of broken files * Add changelog entry * Fix typos
-
- Aug 25, 2024
-
-
mergify[bot] authored
tests: Make structured hash tests invariant to GHC version
-
Matthew Pickering authored
In 9.8 the Generic instance for tuples changed (see ghc/ghc#24291) for more details. Therefore we remove the dependency on the `Generic` instance and the hashes will be invariant across GHC versions (for now). Fixes #10269
-
- Aug 24, 2024
-
-
mergify[bot] authored
validate dependabot configuration
-
Brandon S. Allbery authored
Borrowed from Ubuntu (https://github.com/ubuntu/authd/commit/3f9df8f21d952cd33fd44d3834d0edeec1f5766f) Sadly, this won't check our existing config unless I make a dummy update.
-
Brandon S. Allbery authored
* implement mergify rules for release branches We only handled the case of backports previously, but the current release checklist expects that we can commit PRs to release branches during a release (e.g. changelogs, because we want the list of changelog.d files that are actually part of the release). * block merging if PR has a 'blocked:' label * update backports strategy for #10260 --------- Co-authored-by:
mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
-
mergify[bot] authored
Ignore VSCodium work directory
-
Brandon S. Allbery authored
-
- Aug 23, 2024
-
-
Francesco Gazzetta authored
Release: https://codeberg.org/fgaz/changelog-d/releases/tag/v1.0.1 Co-authored-by:
mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
-
- Aug 22, 2024
-
-
mergify[bot] authored
index Paths and Paths_ (resp. for PackageInfo)
-
Brandon S. Allbery authored
These can currently be found by searching the documentation for `Paths_pkgname` and `PackageInfo_pkgname`, but you pretty much need to know that to begin with to find them. Add Sphinx index entries to make them more discoverable.
-
Fraser Tweedale authored
* cabal-install: extract url scheme checks Extract a bunch of string equality checks for the URI scheme to top-level functions. * cabal-install: refactor and document transport checks "They're the same picture". Thus, refactor the *transport supports https* checks. * cabal-install: allow Basic authentication in curl transport Allow the curl transport to use Basic authentication, if and only if the url scheme is HTTPS (i.e. TLS will be used). Retain the existing behaviour (force Digest scheme) for insecure requests. This change is required to support upcoming hackage-server changes. The wget transport already supports Basic authentication. --------- Co-authored-by:
mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
-
Brian J. Cardiff authored
* Add session to keep last chosen language * Drop do block in initCmd * Rename _runPrompt to runPrompt * Rename _runPromptState to runPromptState * Add type alias for NonEmpty String as Inputs * Split fmap and rename newSessionState * Rename arguments based on input and session (state) * Update UnitTest regarding _runPrompt rename * Make PromptIO a newtype * Formatting * Drop unneeded extensions * Hide MonadReader to consumes of PromptIO --------- Co-authored-by:
brandon s allbery kf8nh <allbery.b@gmail.com>
-
- Aug 20, 2024
- Aug 19, 2024
-
-
Brandon S. Allbery authored
* upgrade actions/upload-artifact to v4 * update Mergify queue strategies Mergify is requiring that separate queues be used for different merge strategies, staerting in mid-September with a brownout in mid-August. https://docs.mergify.com/configuration/file-format/#queue-rules * update actions/download-artifact This one wasn't throwing warnings, but has also been updated with the same deprecation timeframe. It's also incompatible with actions/upload-artifact@v4. --------- Co-authored-by:
mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
-
Rebecca Turner authored
* Always pass `ghc-options` The [documentation for `ghc-shared-options`][1] states that they are combined with `ghc-options`: > Additional options for GHC when the package is built as shared > library. The options specified via this field are combined with the > ones specified via `ghc-options`, and are passed to GHC during both > the compile and link phases. However, _only_ `ghc-shared-options` and not `ghc-options` are passed in many cases. This is an issue because it requires setting `ghc-shared-options` even if the shared (dynamic) parts of the build don't actually need different options; this has the unpleasant side-effect of causing modules to be compiled twice, effectively doubling compile time! See here, where any non-empty `ghc-shared-options` causes Cabal to not set `-dynamic-too`: https://github.com/haskell/cabal/blob/acbc0f3a5cc9faf0913ff3e270196693816cec41/Cabal/src/Distribution/Simple/GHC.hs#L1466-L1469 This issue was discovered while integrating the `mold` linker with a Haskell project. [1]: https://cabal.readthedocs.io/en/latest/cabal-package.html#pkg-field-ghc-shared-options * Add documentation * Also enhance profArgs and profDynArgs --------- Co-authored-by:
Hécate Moonlight <hecate+github@glitchbra.in> Co-authored-by:
Hécate <Kleidukos@users.noreply.github.com>
-
- Aug 16, 2024
-
-
mergify[bot] authored
hpc: Don't cover non-dependency libraries
-
Rodrigo Mesquita authored
We were passing the flag --coverage-for for every library in the package when building the testsuites. However, if a particular testsuite doesn't depend on one of the packages passed with --coverage-for we would crash. Since we look for the unit ids of all packages given in --coverage-for in the package database (to find hpc artifacts), if the testsuite builds before the library this lookup would fail. The fix is easy: don't pass --coverage-for=<lib> to <testsuite> if <testsuite> doesn't depend on <lib>. If <lib> is an indirect dependency of <testsuite> it'll no longer be covered by HPC, but this is a weird behaviour that I doubt anyone relies on. Fixes #10046
-
- Aug 15, 2024
-
-
mergify[bot] authored
Filter out -dinitial-unique and -dunique-increment from hash flags
-
Matthew Pickering authored
These options shouldn't affect the output of the package and hence shouldn't affect the store hash of a package.
-
- Aug 13, 2024
-
-
Artem Pelenitsyn authored
-
- Aug 11, 2024
-
-
mergify[bot] authored
use fixed cabal version per #10175
-