packages feed

camfort-0.905: camfort.cabal

name:                   camfort
version:                0.905
synopsis:               CamFort - Cambridge Fortran infrastructure
description:            CamFort is a tool for the analysis, transformation, verification of Fortran code.
homepage:               https://camfort.github.io
bug-reports:            https://github.com/camfort/camfort/issues

copyright:              2012-2018 University of Cambridge
author:                 Dominic Orchard, Matthew Danish, Mistral Contrastin, Andrew Rice, Oleg Oshmyan
maintainer:             dom.orchard@gmail.com

license:                Apache-2.0
license-file:           LICENSE

stability:              experimental
build-type:             Simple
category:               Language

cabal-version:          1.18
tested-with:            GHC >= 8.2

extra-source-files:     tests/fixtures/Specification/Stencils/*.f
                        tests/fixtures/Specification/Units/*.f90
                        tests/fixtures/Transformation/*.f90
                        CHANGELOG.md

source-repository head
  type: git
  location: https://github.com/camfort/camfort

executable camfort
  main-is: src/Main.hs
  build-depends:        base >= 4.6 && < 5,
                        directory >= 1.2 && < 2,
                        optparse-applicative >= 0.14 && < 0.15,
                        camfort
  default-language: Haskell2010

library
  hs-source-dirs:       src
  build-tools:          alex >= 3.1, happy >= 1.19
  extra-libraries:      flint
  exposed-modules:      Camfort.Analysis
                        Camfort.Analysis.Logger
                        Camfort.Analysis.Annotations
                        Camfort.Analysis.CommentAnnotator
                        Camfort.Analysis.ModFile
                        Camfort.Analysis.Simple
                        Camfort.Specification.Parser

                        Camfort.Specification.Stencils.Analysis
                        Camfort.Specification.Stencils.Annotation
                        Camfort.Specification.Stencils.CheckBackend
                        Camfort.Specification.Stencils.CheckFrontend
                        Camfort.Specification.Stencils.Consistency
                        Camfort.Specification.Stencils.DenotationalSemantics
                        Camfort.Specification.Stencils.InferenceBackend
                        Camfort.Specification.Stencils.InferenceFrontend
                        Camfort.Specification.Stencils.Model
                        Camfort.Specification.Stencils.Syntax
                        Camfort.Specification.Stencils.Generate
                        Camfort.Specification.Stencils.Parser
                        Camfort.Specification.Stencils.Parser.Types
                        Camfort.Specification.Stencils.Synthesis
                        Camfort.Specification.Stencils

                        Camfort.Specification.Units
                        Camfort.Specification.Units.Analysis
                        Camfort.Specification.Units.Analysis.Consistent
                        Camfort.Specification.Units.Analysis.Criticals
                        Camfort.Specification.Units.Analysis.Infer
                        Camfort.Specification.Units.Annotation
                        Camfort.Specification.Units.InferenceBackend
                        Camfort.Specification.Units.InferenceBackendFlint
                        Camfort.Specification.Units.InferenceBackendSBV
                        Camfort.Specification.Units.BackendTypes
                        Camfort.Specification.Units.Environment
                        Camfort.Specification.Units.ModFile
                        Camfort.Specification.Units.Monad
                        Camfort.Specification.Units.MonadTypes
                        Camfort.Specification.Units.Parser
                        Camfort.Specification.Units.Parser.Types
                        Camfort.Specification.Units.Synthesis

                        Camfort.Specification.Hoare
                        Camfort.Specification.Hoare.Annotation
                        Camfort.Specification.Hoare.Parser
                        Camfort.Specification.Hoare.Parser.Types
                        Camfort.Specification.Hoare.Lexer
                        Camfort.Specification.Hoare.Syntax
                        Camfort.Specification.Hoare.Translate
                        Camfort.Specification.Hoare.CheckFrontend
                        Camfort.Specification.Hoare.CheckBackend

                        Camfort.Transformation.CommonBlockElim
                        Camfort.Transformation.DeadCode
                        Camfort.Transformation.EquivalenceElim

                        Camfort.Helpers
                        Camfort.Helpers.Syntax
                        Camfort.Helpers.Vec
                        Camfort.Helpers.TypeLevel
                        Camfort.Functionality
                        Camfort.Input
                        Camfort.Output
                        Camfort.Reprint

                        Language.Fortran.Model
                        Language.Fortran.Model.Singletons
                        Language.Fortran.Model.Types
                        Language.Fortran.Model.Types.Match
                        Language.Fortran.Model.Translate
                        Language.Fortran.Model.Repr
                        Language.Fortran.Model.Repr.Prim
                        Language.Fortran.Model.Vars
                        Language.Fortran.Model.Op
                        Language.Fortran.Model.Op.Eval
                        Language.Fortran.Model.Op.Core
                        Language.Fortran.Model.Op.Core.Match
                        Language.Fortran.Model.Op.Core.Core
                        Language.Fortran.Model.Op.Core.Eval
                        Language.Fortran.Model.Op.Meta
                        Language.Fortran.Model.Op.High
                        Language.Fortran.Model.Util

  build-depends:        base >= 4.6 && < 5,
                        ghc-prim >= 0.3.1.0 && < 0.6,
                        containers >= 0.5.0.0 && < 0.6,
                        uniplate >= 1.6.10 && < 1.7,
                        syz >= 0.2 && < 0.3,
                        syb >= 0.4 && < 0.8,
                        matrix >= 0.2.2 && < 0.4,
                        hmatrix >= 0.15 && < 0.19,
                        mtl >= 2.1 && < 2.3,
                        text >= 0.11.2.3 && < 1.3,
                        array >= 0.4 && < 0.6,
                        directory >= 1.2 && < 1.4,
                        transformers >= 0.4 && < 0.6,
                        vector >= 0.1 && < 0.13,
                        GenericPretty >= 1.2.2 && < 1.3,
                        fortran-src >= 0.2.1.1 && < 0.3,
                        filepath >= 1.4 && < 1.5,
                        bytestring >= 0.10 && < 0.11,
                        fgl >= 5.6 && < 5.7,
                        binary >= 0.8.3.0 && < 0.9,
                        lattices >= 1.7.1 && < 1.8,
                        sbv >= 7.0 && < 8,
                        partial-order >= 0.1.2.1 && < 0.1.3,
                        lens >= 4.15.1 && < 5,
                        mmorph >= 1.0.9 && < 2,
                        singletons >= 2.2 && < 3,
                        template-haskell >= 2.11 && < 3,
                        vinyl >= 0.6 && < 1.0,
                        verifiable-expressions >= 0.4

  default-language: Haskell2010

test-suite spec
  type:                 exitcode-stdio-1.0
  main-is:              Spec.hs
  hs-source-dirs:       tests
  other-modules:        Camfort.Analysis.TestUtils
                        Camfort.Analysis.CommentAnnotatorSpec
                        Camfort.Analysis.ModFileSpec
                        Camfort.Analysis.ImplicitNoneSpec
                        Camfort.FunctionalitySpec
                        Camfort.ReprintSpec
                        Camfort.Specification.ParserSpec
                        Camfort.Specification.Stencils.CheckSpec
                        Camfort.Specification.Stencils.ConsistencySpec
                        Camfort.Specification.Stencils.DenotationalSemanticsSpec
                        Camfort.Specification.Stencils.ParserSpec
                        Camfort.Specification.Stencils.InferenceBackendSpec
                        Camfort.Specification.Stencils.ModelSpec
                        Camfort.Specification.StencilsSpec
                        Camfort.Specification.Units.Analysis.ConsistentSpec
                        Camfort.Specification.Units.Analysis.CriticalsSpec
                        Camfort.Specification.Units.Analysis.InferSpec
                        Camfort.Specification.Units.InferenceBackendSpec
                        Camfort.Specification.Units.ParserSpec
                        Camfort.Specification.Hoare.ParserSpec
                        Camfort.Transformation.CommonSpec
                        Camfort.Transformation.EquivalenceElimSpec

  build-depends:        base >= 4.6 && < 5,
                        containers >= 0.5.0.0 && < 0.6,
                        filepath >= 1.4 && < 1.5,
                        directory >= 1.2 && < 2,
                        hspec >= 2.2 && < 3,
                        QuickCheck >= 2.8 && < 3,
                        fgl >= 5.6 && < 5.7,
                        fortran-src >= 0.2.1.1 && < 0.3,
                        uniplate >= 1.6.10 && < 1.7,
                        mtl >= 2.1 && < 2.3,
                        bytestring >= 0.10 && < 0.11,
                        array >= 0.4 && < 0.6,
                        hmatrix >= 0.15 && < 0.19,
                        text >= 0.11.2.3 && < 1.3,
                        binary >= 0.8.3.0 && < 0.9,
                        lattices >= 1.7.1 && < 1.8,
                        sbv >= 7.0 && < 8,
                        partial-order >= 0.1.2.1 && < 0.1.3,
                        silently == 1.2.*,
                        temporary >= 1.2.0.4 && < 1.3,
                        lens >= 4.15.1 && < 5,
                        time,
                        verifiable-expressions >= 0.4,
                        camfort
  default-language: Haskell2010