packages feed

fluent-1.0.0: fluent.cabal

cabal-version: 3.0
name: fluent
version: 1.0.0
synopsis: Haskell implementation of Project Fluent
description:
  This library implements <https://projectfluent.org Project Fluent>,
  a localisation system designed to unleash the entire expressive power of natural
  language translations.

  Project Fluent keeps simple things simple and makes complex things possible.
  The syntax used for describing translations is easy to read and understand.
  At the same time it allows, when necessary, to represent complex concepts from
  natural languages like gender, plurals, conjugations, and others.

license: EUPL-1.2
license-file: LICENCE
author: IDA
maintainer: IDA
homepage: https://digital-autonomy.institute
bug-reports: https://issues.digital-autonomy.institute
category: Language
build-type: Simple
extra-doc-files:
  CHANGELOG.md

common common
  default-language: Haskell2010
  default-extensions:
    ApplicativeDo
    BlockArguments
    DataKinds
    DefaultSignatures
    DeriveAnyClass
    DeriveGeneric
    DeriveLift
    DerivingStrategies
    DerivingVia
    ExistentialQuantification
    ExplicitNamespaces
    FlexibleInstances
    GADTSyntax
    GeneralizedNewtypeDeriving
    ImportQualifiedPost
    InstanceSigs
    LambdaCase
    NamedFieldPuns
    NoImplicitPrelude
    NumericUnderscores
    OverloadedLabels
    OverloadedRecordDot
    OverloadedStrings
    QuasiQuotes
    RecordWildCards
    RecursiveDo
    ScopedTypeVariables
    StrictData
    TupleSections
    TypeApplications
    TypeFamilies
    TypeOperators
    TypeSynonymInstances
    ViewPatterns

  ghc-options:
    -Weverything
    -Wno-unsafe
    -Wno-missing-safe-haskell-mode
    -Wno-missing-export-lists
    -Wno-missing-import-lists
    -Wno-missing-kind-signatures
    -Wno-missing-role-annotations
    -Wno-all-missed-specialisations

library
  import: common
  hs-source-dirs: src
  build-depends:
    base >=4 && <5,
    extra >=1.6 && <1.9,
    fluent-syntax >=1.0 && <1.1,
    scientific >=0.3 && <0.4,
    text >=2.1.2 && <2.2,
    time >=1.12 && <1.17,
    unordered-containers >=0.2 && <0.3,

  exposed-modules:
    Language.Fluent
    Language.Fluent.Bundle
    Language.Fluent.Function
    Language.Fluent.Locale
    Language.Fluent.Number
    Language.Fluent.Pattern
    Language.Fluent.Plural
    Language.Fluent.Time
    Language.Fluent.Translate
    Language.Fluent.Value
    Language.Fluent.Width

test-suite test
  import: common
  type: exitcode-stdio-1.0
  hs-source-dirs: test
  main-is: Main.hs
  other-modules:
    ArgumentSpec
    BuiltinSpec
    CycleSpec
    FunctionSpec
    IsolationSpec
    LiteralSpec
    MessageSpec
    Prelude
    ReferenceSpec
    SelectSpec
    VariableSpec

  build-depends:
    base >=4 && <5,
    extra >=1.6 && <1.9,
    fluent,
    fluent-syntax >=1.0 && <1.1,
    hspec >=2.11 && <2.12,
    scientific >=0.3 && <0.4,
    text >=2.1.2 && <2.2,
    time >=1.12 && <1.17,
    unordered-containers >=0.2 && <0.3,