emacs-module-0.1.1: emacs-module.cabal
name:
emacs-module
version:
0.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 25 version of the interface and thus should work in all
subsequent versions of Emacs.
For pointers on how to write minimal Emacs module, please refer
to https://github.com/sergv/emacs-module/blob/master/test/src/Emacs/TestsInit.hs
license:
BSD3
license-file:
LICENSE
author:
Sergey Vinokurov
maintainer:
Sergey Vinokurov <serg.foo@gmail.com>
stability: stable
tested-with:
GHC == 8.0.2, GHC == 8.2.2, GHC == 8.4.3
extra-source-files:
cbits/emacs-module.h
cabal-version:
2.0
build-type:
Simple
homepage: https://github.com/sergv/emacs-module
source-repository head
type: git
location: https://github.com/sergv/emacs-module.git
flag assertions
description:
Enable runtime assertions
default:
False
manual:
True
flag module-assertions
description:
Bulid plugin that is plugin indentended to be used with Emacs's
'--module-assertions' enabled. Plugin will not free any global values
returned to Emacs and thus have an ever-growing memory leak.
default:
False
manual:
True
library
if flag(assertions)
cpp-options: -DASSERTIONS
if flag(module-assertions)
cpp-options: -DMODULE_ASSERTIONS
exposed-modules:
Data.Emacs.Module.Args
Data.Emacs.Module.Env
Data.Emacs.Module.Env.Functions
Data.Emacs.Module.NonNullPtr
Data.Emacs.Module.Runtime
Data.Emacs.Module.SymbolName
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.SymbolName.Internal
Data.Emacs.Module.Value.Internal
hs-source-dirs:
src
build-depends:
base >=4.7 && < 5,
bytestring,
deepseq,
exceptions,
monad-control,
mtl,
prettyprinter,
resourcet,
safe-exceptions-checked,
text,
template-haskell,
transformers-base,
vector,
void
if impl(ghc < 8.1)
build-depends: bifunctors
includes:
emacs-module.h
install-includes:
emacs-module.h
include-dirs:
cbits
build-tools:
hsc2hs
default-language:
Haskell2010
ghc-options:
-Wall
-fwarn-name-shadowing
-fno-warn-type-defaults
if impl(ghc >= 8.0)
ghc-options:
-Wcompat
-Whi-shadowing
-Widentities
-Wincomplete-record-updates
-Wincomplete-uni-patterns
-Wmissing-exported-signatures
if impl(ghc >= 8.2)
ghc-options:
-Wcpp-undef
-Wmissing-home-modules
-Wunbanged-strict-patterns