metabrush/MetaBrush.cabal

325 lines
6.6 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
colours.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
default-extensions:
BangPatterns
BlockArguments
ConstraintKinds
DataKinds
DeriveAnyClass
DeriveTraversable
DeriveGeneric
DerivingVia
DuplicateRecordFields
FlexibleContexts
FlexibleInstances
FunctionalDependencies
GADTs
GeneralisedNewtypeDeriving
ImplicitParams
InstanceSigs
LambdaCase
LexicalNegation
MagicHash
MultiWayIf
NamedFieldPuns
PatternSynonyms
QuantifiedConstraints
RankNTypes
RecordWildCards
RecursiveDo
ScopedTypeVariables
StandaloneDeriving
StandaloneKindSignatures
TupleSections
TypeApplications
TypeFamilies
TypeOperators
UnboxedTuples
UndecidableInstances
ViewPatterns
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
, Math.Linear.Dual
, Math.Linear.Solve
, Math.Module
, Math.Orientation
, Math.Roots
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.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