packages feed

granite-0.7.2.0: granite.cabal

cabal-version:      3.0
name:               granite
version:            0.7.2.0
synopsis:           Easy terminal plotting.
description:        A terminal plotting library for quick and easy visualisation.
license:            MIT
license-file:       LICENSE
author:             Michael Chavinda
tested-with:        GHC ==9.4.8
                     || ==9.6.7
                     || ==9.8.4
                     || ==9.10.3
                     || ==9.12.4
                     || ==9.14.1

maintainer:         mschavinda@gmail.com
copyright:          (c) 2024-2025 Michael Chavinda
bug-reports:        https://github.com/mchav/granite/issues
category:           Graphics
build-type:         Simple
extra-doc-files:    CHANGELOG.md README.md
extra-source-files: test/golden/*.txt
                    test/golden/*.svg

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

common ghc-options
    ghc-options:
        -Wall
        -Wcompat
        -Widentities
        -Wincomplete-record-updates
        -Wincomplete-uni-patterns
        -Winvalid-haddock
        -Wno-unticked-promoted-constructors
        -Wno-unused-do-bind
        -Wpartial-fields
        -Wredundant-constraints
        -Wunused-packages
        -fhide-source-paths
        -funbox-strict-fields

library
    import:           ghc-options
    exposed-modules:  Granite,
                      Granite.Chart,
                      Granite.Color,
                      Granite.Data.Frame,
                      Granite.Format,
                      Granite.Position,
                      Granite.Render.Chrome,
                      Granite.Render.Pipeline,
                      Granite.Render.Scene,
                      Granite.Render.Svg,
                      Granite.Render.Terminal,
                      Granite.Scale,
                      Granite.Spec,
                      Granite.Stat,
                      Granite.String,
                      Granite.Svg
    other-modules:    Granite.Internal.LegacyChart,
                      Granite.Internal.Util
    build-depends:
        base >=4 && <5,
        text >= 1 && < 3
    hs-source-dirs:   src
    default-language: GHC2021

executable granite
    main-is:          Main.hs
    build-depends:
        base >=4 && <5,
        granite ^>= 0.7,
        text >= 1 && < 3
    hs-source-dirs:   app
    default-language: GHC2021

test-suite granite-test
    import: ghc-options
    type: exitcode-stdio-1.0
    default-language: GHC2021
    main-is: Spec.hs

    other-modules:
        Golden
        GoldenSpec
        GraniteSpec
        PipelineSpec
        PlotlySpec
        PositionSpec
        RenderSpec
        ScaleSpec
        SpecPropSpec
        StatSpec

    build-depends:
        base >= 4.14 && < 5
        , granite ^>= 0.7
        , text >= 1.2 && < 3
        , hspec >= 2.7 && < 2.12
        , QuickCheck >= 2.14 && < 3

    hs-source-dirs: test

    build-tool-depends:
        hspec-discover:hspec-discover >= 2.7