cabal-version: 3.0 name: emacs-module version: 0.2.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 tested-with: , GHC == 9.2.8 , GHC == 9.4.7 , GHC == 9.6.3 , GHC == 9.8.1 extra-source-files: cbits/emacs-module.h extra-source-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.4.100 , monad-control , monad-interleave >= 0.2 , mtl >= 2.3 , 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