metabrush/MetaBrush.cabal
2022-12-11 02:33:34 +01:00

287 lines
5.7 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.17 && < 4.18
, acts
^>= 0.3.1.0
, containers
>= 0.6.0.1 && < 0.7
, deepseq
>= 1.4.4.0 && < 1.5
, generic-lens
>= 2.2 && < 2.3
, groups
^>= 0.5.3
, groups-generic
^>= 0.3.1.0
, primitive
^>= 0.7.1.0
, transformers
^>= 0.5.6.2
ghc-options:
-O1
-fexpose-all-unfoldings
-funfolding-use-threshold=16
-fexcess-precision
-fspecialise-aggressively
-optc-O3
-optc-ffast-math
-Wall
-Wcompat
-fwarn-missing-local-signatures
-fwarn-incomplete-patterns
-fwarn-incomplete-uni-patterns
-fwarn-missing-deriving-strategies
-fno-warn-unticked-promoted-constructors
common extras
build-depends:
directory
>= 1.3.4.0 && < 1.4
, filepath
^>= 1.4.2.1
, hashable
>= 1.3.0.0 && < 1.5
, lens
>= 4.19.2 && < 5.3
, mtl
>= 2.2.2 && < 2.4
, scientific
>= 0.3.6.2 && < 0.3.8
, stm
^>= 2.5.0.0
, text
>= 1.2.3.1 && < 2.1
, unordered-containers
>= 0.2.11 && < 0.2.20
, waargonaut
^>= 0.8.0.2
common gtk
build-depends:
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
, haskell-gi
>= 0.26 && < 0.27
, haskell-gi-base
>= 0.26 && < 0.27
library splines
import:
common
hs-source-dirs:
src/splines
default-language:
Haskell2010
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
, eigen
^>= 3.3.7.0
, parallel
^>= 3.2.2.0
, prim-instances
^>= 0.2
, vector
>= 0.12.1.2 && < 0.14
library metabrushes
import:
common, extras
hs-source-dirs:
src/metabrushes
default-language:
Haskell2010
exposed-modules:
MetaBrush.Assert
, MetaBrush.Asset.Brushes
, MetaBrush.Brush
, MetaBrush.Document
, MetaBrush.Document.Draw
, MetaBrush.Document.History
, MetaBrush.Document.Serialise
, MetaBrush.Document.SubdivideStroke
, MetaBrush.DSL.Interpolation
, MetaBrush.DSL.Types
, MetaBrush.Records
, MetaBrush.Serialisable
, MetaBrush.Unique
, MetaBrush.Util
, Paths_MetaBrush
autogen-modules:
Paths_MetaBrush
if flag(asserts)
cpp-options:
-DASSERTS
build-depends:
splines
, atomic-file-ops
^>= 0.3.0.0
, bytestring
>= 0.10.10.0 && < 0.12
, dlist
^>= 1.0
, Earley
^>= 0.13.0.1
, tree-view
^>= 0.5
executable convert-metafont
import:
common, extras
hs-source-dirs:
src/convert
default-language:
Haskell2010
main-is:
Main.hs
other-modules:
MetaBrush.MetaFont.Convert
build-depends:
splines,
metabrushes,
diagrams-contrib,
diagrams-lib,
linear,
parsec
executable MetaBrush
import:
common, extras, gtk
hs-source-dirs:
src/app,
app
main-is:
Main.hs
default-language:
Haskell2010
other-modules:
MetaBrush.Action
, MetaBrush.Application
, 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.Context
, MetaBrush.Document.Selection
, MetaBrush.Document.Update
, MetaBrush.Event
, MetaBrush.GTK.Util
, MetaBrush.Render.Document
, MetaBrush.Render.Rulers
, MetaBrush.UI.Coordinates
, MetaBrush.UI.FileBar
, MetaBrush.UI.InfoBar
, MetaBrush.UI.Menu
, MetaBrush.UI.Panels
, MetaBrush.UI.ToolBar
, MetaBrush.UI.Viewport
, MetaBrush.Time
, Paths_MetaBrush
autogen-modules:
Paths_MetaBrush
ghc-options:
-threaded -rtsopts
if flag(asserts)
cpp-options:
-DASSERTS
build-depends:
splines
, metabrushes
, tardis
>= 0.4.2.0 && < 0.5