packages feed

pollock-0.1.0.0: 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.0

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 Trevis Elser
category:        Development, documentation, library
build-type:      Simple
tested-with:     GHC == 9.4.7, GHC == 9.6.3, GHC == 9.8.1

-- Extra doc files to be distributed with the package, such as a CHANGELOG or a README.
extra-doc-files: CHANGELOG.md

-- Extra source files to be distributed with the package, such as examples, or a tutorial module.
-- extra-source-files:

common warnings
  ghc-options: -Wall

common ci-warnings
  ghc-options:
    -Wall
    -Wcompat
    -Werror
    -Wmissing-import-lists
    -Wmissing-home-modules
    -Wmissed-specialisations
    -Wmonomorphism-restriction
    -Wcompat-unqualified-imports
    -Wpartial-fields
    -Wcpp-undef
    -Wredundant-constraints
    -Woperator-whitespace
    -Winvalid-haddock
    -Wunused-packages
    -Wunused-type-patterns
    -fwrite-ide-info
    -haddock
  if impl (ghc >= 9.8)
    ghc-options:
      -Wincomplete-export-warnings
      -Wterm-variable-capture

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.8
               , ghc         >=9.4      && <9.9
               , text        >=2.0      && <2.2

  hs-source-dirs:   src

  default-language: Haskell2010