metabrush/MetaBrush.cabal
2024-10-09 16:57:08 +02:00

262 lines
5.8 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
-- Workaround for https://github.com/haskell/cabal/issues/4237
-- See https://github.com/commercialhaskell/stack/issues/2197
flag gtk-410
description: GTK is 4.10 or later
default: True
manual: False
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
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 && < 6.0
, mtl
>= 2.2.2 && < 2.4
, scientific
>= 0.3.6.2 && < 0.3.8
, stm
^>= 2.5.0.0
, text
>= 2.0 && < 3
, 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.9 && < 4.1
, gi-gio
>= 2.0.34 && < 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.10 && < 0.27
, haskell-gi-base
>= 0.26.8 && < 0.27
-- Workaround for https://github.com/haskell/cabal/issues/4237
-- See https://github.com/commercialhaskell/stack/issues/2197
if flag(gtk-410)
pkgconfig-depends: gtk4 >= 4.10
cpp-options: -DMIN_VERSION_GTK_4_10
else
pkgconfig-depends: gtk4 < 4.10
library metabrushes
import:
common, extras
hs-source-dirs:
src/metabrushes
default-language:
Haskell2010
exposed-modules:
MetaBrush.Action
, MetaBrush.Assert
, MetaBrush.Asset.Brushes
, MetaBrush.Brush
, MetaBrush.Brush.Widget
, MetaBrush.Document
, MetaBrush.Document.Diff
, MetaBrush.Document.History
, MetaBrush.Document.Serialise
, MetaBrush.Draw
, MetaBrush.Guide
, MetaBrush.Hover
, MetaBrush.Layer
, MetaBrush.Records
, MetaBrush.Serialisable
, MetaBrush.Stroke
, MetaBrush.Unique
, MetaBrush.Util
build-depends:
atomic-file-ops
^>= 0.3.0.0
, bytestring
>= 0.10.10.0 && < 0.13
executable MetaBrush
import:
common, extras, gtk
hs-source-dirs:
src/app,
app
main-is:
Main.hs
default-language:
Haskell2010
other-modules:
MetaBrush.Application
, MetaBrush.Application.Action
, MetaBrush.Application.Context
, MetaBrush.Application.UpdateDocument
, 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.Event
, MetaBrush.GTK.Util
, MetaBrush.Render.Document
, MetaBrush.Render.Rulers
, MetaBrush.Time
, MetaBrush.UI.BrushList
, MetaBrush.UI.Coordinates
, MetaBrush.UI.FileBar
, MetaBrush.UI.InfoBar
, MetaBrush.UI.Menu
, MetaBrush.UI.Panels
, MetaBrush.UI.StrokeTreeView
, MetaBrush.UI.ToolBar
, MetaBrush.UI.Viewport
ghc-options:
-threaded
-rtsopts
build-depends:
metabrushes
, tardis
>= 0.4.2.0 && < 0.6