packages feed

pollock-0.1.0.4: pollock.cabal

cabal-version:   3.4

-- The cabal-version field refers to the version of the .cabal specification,
-- and can be different from the cabal-install (the tool) version and the
-- Cabal (the library) version you are using. As such, the Cabal (the library)
-- version used must be equal or greater than the version stated in this field.
-- Starting from the specification version 2.2, the cabal-version field must be
-- the first thing in the cabal file.

-- Initial package description 'pollock' generated by
-- 'cabal init'. For further documentation, see:
--   http://haskell.org/cabal/users-guide/
--
name:            pollock

-- The package version.
-- See the Haskell package versioning policy (PVP) for standards
-- guiding when and how versions should be incremented.
-- https://pvp.haskell.org
-- PVP summary:     +-+------- breaking API changes
--                  | | +----- non-breaking API additions
--                  | | | +--- code changes with no API change
version:            0.1.0.4

synopsis: Functionality to help examine Haddock information of a module.
description: Pollock is functionality to examine various bits of information about documentation as exposed from a Haskell module. This is designed to be used as part of a GHC plugin.
license:         MIT
license-file:    LICENSE
author:          Trevis Elser
maintainer:      trevis@flipstone.com
copyright:       (c) 2023-2025 Trevis Elser
category:        Development, documentation, library
build-type:      Simple
tested-with:     GHC == 9.4.8, GHC == 9.6.7, GHC == 9.8.4, GHC == 9.10.3, GHC == 9.12.2, GHC == 9.14.1
extra-doc-files:
  CHANGELOG.md

source-repository head
  type: git
  location: git@github.com:telser/pollock.git


common warnings
  ghc-options: -Wall

common ci-warnings
  ghc-options:
    -Wall
    -Wcompat
    -Werror
    -Wmissing-import-lists
    -Wmissing-home-modules
    -Wmissed-specialisations
    -Wmonomorphism-restriction
    -Wpartial-fields
    -Wcpp-undef
    -Wredundant-constraints
    -Woperator-whitespace
    -Winvalid-haddock
    -Wunused-packages
    -Wunused-type-patterns
    -fwrite-ide-info
    -haddock
  if impl (ghc < 9.12)
    ghc-options:
      -Wcompat-unqualified-imports
  if impl (ghc >= 9.8)
    ghc-options:
      -Wincomplete-export-warnings
      -Wimplicit-rhs-quantification
      -Wterm-variable-capture
      -Winconsistent-flags
  if impl (ghc >= 9.10)
    ghc-options:
      -Wdefaulted-exception-context
      -- The following is tempoarily disabled -Wincomplete-record-selectors
  if impl (ghc >= 9.10) && impl (ghc < 9.14)
    ghc-options:
      -Wbadly-staged-types
      -Wdeprecated-type-abstractions
      -Wdata-kinds-tc
  if impl (ghc >= 9.12)
    ghc-options:
      -Wview-pattern-signatures
  if impl (ghc >= 9.14)
    ghc-options:
      -Wbadly-levelled-types

flag ci
  description:
    More strict ghc options used for development and ci, not intended for end-use.
  manual:      True
  default:     False

library
  import:           warnings
  -- Import ci-warnings when we set the flag
  if flag(ci)
    import: ci-warnings

  ghc-options: -funbox-strict-fields
               -O2

  exposed-modules: Pollock
  other-modules: Pollock.CompatGHC
                 Pollock.Documentation
                 Pollock.Documentation.Doc
                 Pollock.Documentation.DocumentationForDecl
                 Pollock.Documentation.ExportItem
                 Pollock.Documentation.Metadata
                 Pollock.Documentation.MetadataAndDoc
                 Pollock.Documentation.Parser
                 Pollock.DriverPlugin
                 Pollock.ModuleInfo
                 Pollock.ModuleInfo.ModuleInfo
                 Pollock.ModuleInfo.ModuleHeader
                 Pollock.ProcessModule

  other-extensions: CPP
                    ScopedTypeVariables

  build-depends: attoparsec  >=0.14.4   && <0.15
               , base        >=4.17.1.0 && <5
               , containers  >=0.6      && < 0.9
               , ghc         >=9.4      && <9.15
               , text        >=2.0      && <2.2

  hs-source-dirs:   src

  default-language: Haskell2010