metabrush/MetaBrush.cabal
sheaf d797abc5e4 Modularise root isolation algorithms
Different root isolation algorithms now live in separate modules,
and are all instances of the RootIsolationAlgorithm typeclass.

This separates the algorithmic code from the top-level driver code
in Math.Root.Isolation.
2024-04-22 20:06:03 +02:00

240 lines
5.1 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:
brush-strokes
^>= 0.1.0.0
, base
>= 4.17 && < 5
, acts
^>= 0.3.1.0
, code-page
^>= 0.2.1
, containers
>= 0.6.0.1 && < 0.8
, deepseq
>= 1.4.4.0 && < 1.6
, generic-lens
>= 2.2 && < 2.3
, groups
^>= 0.5.3
, primitive
^>= 0.9.0.0
, transformers
>= 0.5.6.2 && < 0.7
default-extensions:
BangPatterns
BlockArguments
ConstraintKinds
DataKinds
DeriveAnyClass
DeriveTraversable
DeriveGeneric
DerivingVia
FlexibleContexts
FlexibleInstances
FunctionalDependencies
GADTs
GeneralisedNewtypeDeriving
InstanceSigs
LambdaCase
LexicalNegation
MagicHash
MultiWayIf
NamedFieldPuns
NoStarIsType
PatternSynonyms
RankNTypes
RecordWildCards
RoleAnnotations
StandaloneDeriving
StandaloneKindSignatures
TupleSections
TypeAbstractions
TypeApplications
TypeFamilyDependencies
TypeOperators
UnboxedTuples
ViewPatterns
if impl(ghc >= 9.8)
default-extensions:
TypeAbstractions
ghc-options:
-Wall
-Wcompat
-fwarn-missing-local-signatures
-fwarn-incomplete-patterns
-fwarn-incomplete-uni-patterns
-fwarn-missing-deriving-strategies
-fno-warn-unticked-promoted-constructors
if flag(asserts)
cpp-options:
-DASSERTS
autogen-modules:
Paths_MetaBrush
other-modules:
Paths_MetaBrush
common extras
build-depends:
directory
>= 1.3.4.0 && < 1.4
, filepath
>= 1.4.2.1 && < 1.6
, 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
^>= 2.1.1
, unordered-containers
>= 0.2.11 && < 0.3
, 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 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
build-depends:
atomic-file-ops
^>= 0.3.0.0
, bytestring
>= 0.10.10.0 && < 0.12
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
ghc-options:
-threaded -rtsopts
build-depends:
metabrushes
, tardis
>= 0.4.2.0 && < 0.5