metabrush/MetaBrush.cabal

236 lines
5.4 KiB
Plaintext

cabal-version: 3.0
name: MetaBrush
version: 0.1.0.0
synopsis: GUI for brush calligraphy.
category: Calligraphy, Font, Geometry, Graphics, GUI
license: NONE
homepage: https://gitlab.com/sheaf/MetaBrush
build-type: Simple
data-dir:
assets
data-files:
theme.css
icons/*
description:
MetaBrush is a GUI for brush calligraphy based on Bézier curves.
A brush stroke is defined by two components:
* the path of the brush, specified using quadratic Bézier curves,
* the shape of the brush, also specified with quadratic Bézier curves.
The shape of the brush is allowed to vary along the path.
flag asserts
description: Enable debugging assertions.
default: False
manual: True
common common
build-depends:
base
>= 4.13 && < 4.17
, acts
^>= 0.3.1.0
, containers
>= 0.6.0.1 && < 0.6.5
, deepseq
>= 1.4.4.0 && < 1.5
, generic-data
>= 0.8.0.0 && < 0.10
, generic-lens
>= 1.2.0.1 && < 2.0
, groups
>= 0.4.1.0 && < 0.6
, primitive
^>= 0.7.1.0
, transformers
^>= 0.5.6.2
default-language:
Haskell2010
ghc-options:
-O1
-fexpose-all-unfoldings
-funfolding-use-threshold=16
-fexcess-precision
-fspecialise-aggressively
-optc-O3
-optc-ffast-math
-- work around a laziness bug involving runRW# in GHC 9.0.1
-fno-full-laziness
-Wall
-Wcompat
-fwarn-missing-local-signatures
-fwarn-incomplete-patterns
-fwarn-incomplete-uni-patterns
-fwarn-missing-deriving-strategies
-fno-warn-unticked-promoted-constructors
-fno-show-valid-hole-fits
library
import:
common
hs-source-dirs:
src/lib
exposed-modules:
Math.Bezier.Cubic
, Math.Bezier.Cubic.Fit
, Math.Bezier.Envelope
, Math.Bezier.Quadratic
, Math.Bezier.Spline
, Math.Bezier.Stroke
, Math.Epsilon
, Math.Linear.Solve
, Math.Module
, Math.Orientation
, Math.Roots
, Math.Vector2D
build-depends:
bifunctors
>= 5.5.4 && < 5.6
, groups-generic
>= 0.1.0.0 && < 0.3
, hmatrix
^>= 0.20.0.0
, parallel
^>= 3.2.2.0
, prim-instances
^>= 0.2
, vector
>= 0.12.1.2 && < 0.13
executable MetaBrush
import:
common
hs-source-dirs:
src/app
, app
main-is:
Main.hs
other-modules:
MetaBrush.Action
, MetaBrush.Application
, MetaBrush.Asset.Brushes
, MetaBrush.Asset.CloseTabButton
, MetaBrush.Asset.Colours
, MetaBrush.Asset.Cursor
, MetaBrush.Asset.InfoBar
, MetaBrush.Asset.Logo
, MetaBrush.Asset.TickBox
, MetaBrush.Asset.Tools
, MetaBrush.Asset.WindowIcons
, MetaBrush.Assert
, MetaBrush.Brush
, MetaBrush.Context
, MetaBrush.Document
, MetaBrush.Document.Draw
, MetaBrush.Document.History
, MetaBrush.Document.Selection
, MetaBrush.Document.Serialise
, MetaBrush.Document.SubdivideStroke
, MetaBrush.Document.Update
, MetaBrush.Event
, MetaBrush.MetaParameter.AST
, MetaBrush.MetaParameter.Driver
, MetaBrush.MetaParameter.Eval
, MetaBrush.MetaParameter.Interpolation
, MetaBrush.MetaParameter.Parse
, MetaBrush.MetaParameter.PrimOp
, MetaBrush.MetaParameter.Rename
, MetaBrush.MetaParameter.TypeCheck
, MetaBrush.Render.Document
, MetaBrush.Render.Rulers
, MetaBrush.Time
, MetaBrush.UI.Coordinates
, MetaBrush.UI.FileBar
, MetaBrush.UI.InfoBar
, MetaBrush.UI.Menu
, MetaBrush.UI.Panels
, MetaBrush.UI.ToolBar
, MetaBrush.UI.Viewport
, MetaBrush.Unique
, MetaBrush.Util
, Paths_MetaBrush
autogen-modules:
Paths_MetaBrush
ghc-options:
-threaded -rtsopts
if flag(asserts)
cpp-options:
-DASSERTS
build-depends:
MetaBrush
, atomic-file-ops
^>= 0.3.0.0
, bytestring
>= 0.10.10.0 && < 0.12
, directory
>= 1.3.4.0 && < 1.4
, dlist
^>= 1.0
, Earley
^>= 0.13.0.1
, filepath
^>= 1.4.2.1
, ghc-typelits-knownnat
>= 0.7.3 && < 0.8
, gi-cairo-render
^>= 0.1.0
, gi-cairo-connector
^>= 0.1.0
, gi-gdk
>= 4.0.2 && < 4.1
, gi-gio
>= 2.0.27 && < 2.1
, gi-glib
>= 2.0.23 && < 2.1
, gi-gobject
^>= 2.0.24
, gi-gtk
>= 4.0.3 && < 4.1
--, gi-gtksource
-- >= 3.0.23 && < 3.1
, hashable
^>= 1.3.0.0
, haskell-gi
>= 0.25 && < 0.26
, haskell-gi-base
>= 0.25 && < 0.26
, lens
>= 4.19.2 && < 5.1
, mtl
^>= 2.2.2
, scientific
^>= 0.3.6.2
, stm
^>= 2.5.0.0
, superrecord
^>= 0.5.1.0
, tardis
>= 0.4.2.0 && < 0.5
, text
>= 1.2.3.1 && < 1.2.5
, tree-view
^>= 0.5
, unordered-containers
>= 0.2.11 && < 0.2.14
, waargonaut
^>= 0.8.0.2