-
Notifications
You must be signed in to change notification settings - Fork 2
/
emacs-module.cabal
170 lines (149 loc) · 3.55 KB
/
emacs-module.cabal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
cabal-version: 3.0
name:
emacs-module
version:
0.2.1.1
category: Foreign, Foreign binding
synopsis:
Utilities to write Emacs dynamic modules
description:
This package provides a full set of bindings to emacs-module.h that
allows to develop Emacs modules in Haskell. Bindings are based on
Emacs 28 version of the interface and thus should work in all
subsequent versions of Emacs, but will now work with earlier versions.
For pointers on how to write minimal Emacs module, please refer to
tutorial https://github.com/sergv/emacs-module/blob/master/Tutorial.md.
Entry point: Emacs.Module module.
license:
Apache-2.0
license-file:
LICENSE
author:
Sergey Vinokurov
maintainer:
Sergey Vinokurov <[email protected]>
tested-with:
, GHC == 9.2.8
, GHC == 9.4.7
, GHC == 9.6.3
, GHC == 9.8.1
, GHC == 9.10.1
extra-source-files:
cbits/emacs-module.h
extra-doc-files:
Changelog.md
Readme.md
build-type:
Simple
homepage:
https://github.com/sergv/emacs-module
source-repository head
type: git
location: https://github.com/sergv/emacs-module.git
flag call-stacks
description:
Enable call stacks
default:
False
manual:
True
flag assertions
description:
Enable runtime assertions
default:
False
manual:
True
common ghc-options
default-language:
GHC2021
default-extensions:
LambdaCase
ghc-options:
-Weverything
-Wno-all-missed-specialisations
-Wno-implicit-prelude
-Wno-missed-specialisations
-Wno-missing-import-lists
-Wno-missing-local-signatures
-Wno-missing-safe-haskell-mode
-Wno-redundant-constraints
-Wno-safe
-Wno-type-defaults
-Wno-unsafe
if impl(ghc >= 8.8)
ghc-options:
-Wno-missing-deriving-strategies
if impl(ghc >= 9.2)
ghc-options:
-Wno-missing-kind-signatures
if impl(ghc >= 9.8)
ghc-options:
-Wno-missing-role-annotations
-Wno-missing-poly-kind-signatures
library
import: ghc-options
if flag(call-stacks)
cpp-options: -DCALL_STACKS
if flag(assertions)
cpp-options: -DASSERTIONS
exposed-modules:
Data.Emacs.Module.Args
Data.Emacs.Module.Doc
Data.Emacs.Module.Env
Data.Emacs.Module.Env.Functions
Data.Emacs.Module.Env.ProcessInput
Data.Emacs.Module.GetRawValue
Data.Emacs.Module.NonNullPtr
Data.Emacs.Module.Runtime
Data.Emacs.Module.SymbolName
Data.Emacs.Module.SymbolName.Predefined
Data.Emacs.Module.SymbolName.Predefined.Funcall
Data.Emacs.Module.SymbolName.TH
Data.Emacs.Module.Value
Emacs.Module
Emacs.Module.Assert
Emacs.Module.Errors
Emacs.Module.Functions
Emacs.Module.Monad
Emacs.Module.Monad.Class
other-modules:
Data.Emacs.Module.NonNullPtr.Internal
Data.Emacs.Module.Raw.Env
Data.Emacs.Module.Raw.Env.Internal
Data.Emacs.Module.Raw.Env.TH
Data.Emacs.Module.Raw.Value
Data.Emacs.Module.Raw.Value.Internal
Data.Emacs.Module.SymbolName.Internal
Data.Emacs.Module.Value.Internal
Emacs.Module.Monad.Common
Foreign.Ptr.Builder
hs-source-dirs:
src
build-depends:
, base >= 4.16 && < 5
, bytestring
, deepseq
, exceptions
, filepath >= 1.5
, monad-control
, monad-interleave >= 0.2
, mtl >= 2.3
, os-string
, primitive
, prettyprinter >= 1.7
, prettyprinter-combinators
, text >= 2
, template-haskell
, transformers-base
, tuples-homogenous-h98
, vector >= 0.13
, void
includes:
emacs-module.h
install-includes:
emacs-module.h
include-dirs:
cbits
build-tool-depends:
hsc2hs:hsc2hs