packages feed

alex-3.2.5: alex.cabal

cabal-version: >= 1.8
name: alex
version: 3.2.5
-- don't forget updating changelog.md!
license: BSD3
license-file: LICENSE
copyright: (c) Chis Dornan, Simon Marlow
author: Chris Dornan and Simon Marlow
maintainer: Simon Marlow <marlowsd@gmail.com>
bug-reports: https://github.com/simonmar/alex/issues
stability: stable
homepage: http://www.haskell.org/alex/
synopsis: Alex is a tool for generating lexical analysers in Haskell
description:
  Alex is a tool for generating lexical analysers in Haskell.
  It takes a description of tokens based on regular
  expressions and generates a Haskell module containing code
  for scanning text efficiently. It is similar to the tool
  lex or flex for C/C++.

category: Development
build-type: Simple

data-dir: data/

data-files:
        AlexTemplate
        AlexTemplate-ghc
        AlexTemplate-ghc-nopred
        AlexTemplate-ghc-debug
        AlexTemplate-debug
        AlexWrapper-basic
        AlexWrapper-basic-bytestring
        AlexWrapper-strict-bytestring
        AlexWrapper-posn
        AlexWrapper-posn-bytestring
        AlexWrapper-monad
        AlexWrapper-monad-bytestring
        AlexWrapper-monadUserState
        AlexWrapper-monadUserState-bytestring
        AlexWrapper-gscan

extra-source-files:
        CHANGELOG.md
        README.md
        TODO
        alex.spec
        doc/Makefile
        doc/aclocal.m4
        doc/alex.1.in
        doc/alex.xml
        doc/config.mk.in
        doc/configure.ac
        doc/docbook-xml.mk
        doc/fptools.css
        examples/Makefile
        examples/Tokens.x
        examples/Tokens_gscan.x
        examples/Tokens_posn.x
        examples/examples.x
        examples/haskell.x
        examples/lit.x
        examples/pp.x
        examples/state.x
        examples/tiny.y
        examples/words.x
        examples/words_monad.x
        examples/words_posn.x
        src/Parser.y.boot
        src/Scan.x.boot
        src/ghc_hooks.c
        templates/GenericTemplate.hs
        templates/wrappers.hs
        tests/Makefile
        tests/simple.x
        tests/null.x
        tests/tokens.x
        tests/tokens_gscan.x
        tests/tokens_posn.x
        tests/tokens_bytestring.x
        tests/tokens_posn_bytestring.x
        tests/tokens_scan_user.x
        tests/tokens_strict_bytestring.x
        tests/tokens_monad_bytestring.x
        tests/tokens_monadUserState_bytestring.x
        tests/tokens_bytestring_unicode.x
        tests/basic_typeclass.x
        tests/basic_typeclass_bytestring.x
        tests/default_typeclass.x
        tests/gscan_typeclass.x
        tests/posn_typeclass.x
        tests/monad_typeclass.x
        tests/monad_typeclass_bytestring.x
        tests/monadUserState_typeclass.x
        tests/monadUserState_typeclass_bytestring.x
        tests/posn_typeclass_bytestring.x
        tests/strict_typeclass.x
        tests/unicode.x

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

flag small_base
  description: Choose the new smaller, split-up base package.

executable alex
  hs-source-dirs: src
  main-is: Main.hs

  if flag(small_base)
    build-depends: base >= 2.1, array, containers, directory
  else
    build-depends: base >= 1.0

  build-depends: base < 5

  extensions: CPP
  ghc-options: -Wall -rtsopts
  other-modules:
        AbsSyn
        CharSet
        DFA
        DFAMin
        DFS
        Info
        Map
        NFA
        Output
        Paths_alex
        Parser
        ParseMonad
        Scan
        Set
        Sort
        Util
        UTF8
        Data.Ranged
        Data.Ranged.Boundaries
        Data.Ranged.RangedSet
        Data.Ranged.Ranges

test-suite tests
  type: exitcode-stdio-1.0
  main-is: test.hs
  -- This line is important as it ensures that the local `exe:alex` component declared above is built before the test-suite component is invoked, as well as making sure that `alex` is made available on $PATH and `$alex_datadir` is set accordingly before invoking `test.hs`
  build-tools: alex

  build-depends: base, process