pubgrub-cabal-0.1.0.0: pubgrub-cabal.cabal
cabal-version: 3.0
name: pubgrub-cabal
version: 0.1.0.0
synopsis: The PubGrub version solver for cabal packages
description:
The cabal domain for the @pubgrub@ solver: a package name or one of its
automatic flags is a variable, an installed unit or a source release is a
value, a dependency's declared range is one symbolic set of instances, and
the leaves of every proof are what the request asks for, what a @.cabal@
file states, and what the compiler and the machine rule out.
It provides the translation from @GenericPackageDescription@ and an
installed package set into the solver's input (@PubGrub.Cabal.Flatten@,
@PubGrub.Cabal.Installed@), the rule that picks an instance of a package
and states what it entails (@PubGrub.Cabal.Provider@), and the renderer
that prints a failed resolution as a proof in cabal's range syntax
(@PubGrub.Cabal.Report@). Of the cabal ecosystem it needs @Cabal-syntax@
only: the index, the compiler and the installed database are the caller's
to supply.
category: Distribution
license: BSD-3-Clause
license-file: LICENSE
author: Andrea Bedini
maintainer: andrea.bedini@moduscreate.com
copyright: (c) 2026 Tweag I/O by Modus Create
homepage: https://github.com/tweag/pubgrub-hs
bug-reports: https://github.com/tweag/pubgrub-hs/issues
build-type: Simple
tested-with: GHC ==9.12.2 || ==9.14.1
extra-doc-files:
CHANGELOG.md
README.md
-- The expected proofs for the two error-reporting cases in test/PaperSpec.hs,
-- shipped so that the test suite runs from the sdist. They are golden files so
-- that each can be read as the proof a user would see, and
-- `cabal test --test-options=--accept` rewrites them when the wording changes on
-- purpose.
extra-source-files: test/golden/*.txt
source-repository head
type: git
location: https://github.com/tweag/pubgrub-hs.git
subdir: pubgrub-cabal
common warnings
ghc-options: -Wall
common language
default-language: GHC2021
default-extensions: ImportQualifiedPost
library
import: warnings, language
hs-source-dirs: src
exposed-modules:
PubGrub.Cabal
PubGrub.Cabal.Flatten
PubGrub.Cabal.Installed
PubGrub.Cabal.InstanceSet
PubGrub.Cabal.PreInstalled
PubGrub.Cabal.Pretty
PubGrub.Cabal.Provider
PubGrub.Cabal.Report
PubGrub.Cabal.Report.Headline
PubGrub.Cabal.Report.Layout
PubGrub.Cabal.Report.Rule
PubGrub.Cabal.Report.Wording
PubGrub.Cabal.Value
PubGrub.Cabal.Version
PubGrub.Cabal.VersionSet
build-depends:
, base >=4.21 && <4.23
, Cabal-syntax >=3.14 && <3.20
, co-log-core >=0.3.2 && <0.4
, containers >=0.7 && <0.9
, pubgrub ^>=0.1
, text >=2.1 && <2.2
test-suite pubgrub-cabal-test
import: warnings
type: exitcode-stdio-1.0
hs-source-dirs: test
main-is: Main.hs
default-language: GHC2021
other-modules:
ConstraintSpec
FlagSolveSpec
InstalledSpec
InstanceSetSpec
PaperSpec
ReleaseSpec
ReportSpec
SolverSpec
StoreSpec
VersionSetSpec
build-depends:
, base
, Cabal-syntax
, co-log-core
, bytestring
, containers
, pubgrub
, pubgrub-cabal
, tasty >=1.5 && <1.6
, tasty-golden >=2.3 && <2.4
, tasty-hunit >=0.10 && <0.11
, tasty-quickcheck >=0.11 && <0.12
, text