packages feed

template-haskell-2.19.0.0: template-haskell.cabal

-- WARNING: template-haskell.cabal is automatically generated from template-haskell.cabal.in by
-- ../../configure.  Make sure you are editing template-haskell.cabal.in, not
-- template-haskell.cabal.

name:           template-haskell
version:        2.19.0.0
-- NOTE: Don't forget to update ./changelog.md
license:        BSD3
license-file:   LICENSE
category:       Template Haskell
maintainer:     libraries@haskell.org
bug-reports:    https://gitlab.haskell.org/ghc/ghc/issues/new
synopsis:       Support library for Template Haskell
build-type:     Simple
Cabal-Version:  >= 1.10
description:
    This package provides modules containing facilities for manipulating
    Haskell source code using Template Haskell.
    .
    See <http://www.haskell.org/haskellwiki/Template_Haskell> for more
    information.

extra-source-files: changelog.md

source-repository head
    type:     git
    location: https://gitlab.haskell.org/ghc/ghc.git
    subdir:   libraries/template-haskell


-- We give the option to vendor filepath to avoid making filepath non-reinstallable..
-- see #21738 for why we are doing this now and what the plan is for the future.
Flag vendor-filepath
    Description: Vendor the dependency on filepath
    Default: False
    Manual: True

Library
    default-language: Haskell2010
    other-extensions:
        BangPatterns
        CPP
        DefaultSignatures
        DeriveDataTypeable
        DeriveGeneric
        FlexibleInstances
        RankNTypes
        RoleAnnotations
        ScopedTypeVariables

    exposed-modules:
        Language.Haskell.TH
        Language.Haskell.TH.Lib
        Language.Haskell.TH.Ppr
        Language.Haskell.TH.PprLib
        Language.Haskell.TH.Quote
        Language.Haskell.TH.Syntax
        Language.Haskell.TH.LanguageExtensions
        Language.Haskell.TH.CodeDo
        Language.Haskell.TH.Lib.Internal

    other-modules:
        Language.Haskell.TH.Lib.Map

    build-depends:
        base        >= 4.11 && < 4.18,
        ghc-boot-th == 9.4.1,
        ghc-prim,
        pretty      == 1.1.*

    if flag(vendor-filepath)
      other-modules:
        System.FilePath
        System.FilePath.Posix
        System.FilePath.Windows
      hs-source-dirs: ./vendored-filepath .
      default-extensions:
        ImplicitPrelude
    else
      build-depends: filepath
      hs-source-dirs: .

    ghc-options: -Wall

    -- We need to set the unit ID to template-haskell (without a
    -- version number) as it's magic.
    ghc-options: -this-unit-id template-haskell

    -- This should match the default-extensions used in 'ghc.cabal'. This way,
    -- GHCi can be used to load it along with the compiler.
    Default-Extensions:
        NoImplicitPrelude