mirror of
https://gitlab.com/sheaf/metabrush.git
synced 2024-11-23 15:34:06 +00:00
262 lines
5.8 KiB
Plaintext
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
|