hs-tango-1.0.0: hs-tango.cabal
cabal-version: 3.6
name: hs-tango
version: 1.0.0
synopsis: Bindings to the Tango Controls system
description:
Haskell bindings for Tango, part of the Tango Distributed Control System toolkit. Some general notes about this project:
* There are raw C bindings inside the 'Tango.Raw' package. You shouldn't have to use these, but they might be a fallback if you need something very specific.
* C types are mapped to sized Haskell types. For example, an attribute of type "Short" will be mapped to the @Int16@ type. The names of the value constructors will be called ...Short, still, to have some symmetry with the Tango user interfaces.
* The implementation regarding some obscure types is lackluster: "encoded", "long string array" and "double string array" for example. Patches welcome!
If you want to connect to some Tango devices, head over to 'Tango.Client', where you'll also find some examples.
homepage: https://github.com/pmiddend/hs-tango
bug-reports: https://github.com/pmiddend/hs-tango/issues
license: MIT
license-file: LICENSE
author: DESY
maintainer: philipp.middendorf@desy.de
copyright: 2024 Philipp Middendorf
category: Bindings, Client, Distributed Systems, FFI, Foreign, Hardware, Science
build-type: Simple
extra-doc-files: Changelog
, README.org
extra-source-files: c_tango/src/c_tango_attribute.cpp
, c_tango/src/c_tango_command.cpp
, c_tango/src/c_tango_dbase.cpp
, c_tango/src/c_tango_proxy.cpp
, c_tango/src/c_tango.h
common warnings
ghc-options: -Weverything -Wno-missing-safe-haskell-mode -Wno-unsafe -Wno-missing-deriving-strategies -Wno-all-missed-specialisations -Wno-monomorphism-restriction -Wno-safe -Wno-missing-local-signatures -Wno-prepositive-qualified-module -Wno-missing-kind-signatures -Wno-missed-specializations
source-repository head
type: git
location: https://github.com/pmiddend/hs-tango
library
import: warnings
exposed-modules: Tango.Raw.Common
, Tango.Client
build-depends: base >= 4.17.0 && < 5,
derive-storable >= 0.3.1 && < 0.4,
text >= 2.0.2 && < 3,
unliftio >= 0.2.25 && < 0.3
hs-source-dirs: lib
ghc-options: -threaded
include-dirs: c_tango/src
hsc2hs-options: -k --define=CABAL_BINDGEN=1
pkgconfig-depends: tango
default-language: Haskell2010
cxx-sources: c_tango/src/c_tango_attribute.cpp
, c_tango/src/c_tango_command.cpp
, c_tango/src/c_tango_dbase.cpp
, c_tango/src/c_tango_proxy.cpp
-- copied blindly from https://github.com/joe-warren/opencascade-hs/blob/5c087f893712585703eb8bb0ce017b6fa2a4b984/opencascade-hs/opencascade-hs.cabal
other-modules: Paths_hs_tango
-- This one seems to be giving problems for hackage: Hackage does not yet allow uploads of packages with autogenerated module PackageInfo_*
-- , PackageInfo_hs_tango
-- copied blindly from https://github.com/joe-warren/opencascade-hs/blob/5c087f893712585703eb8bb0ce017b6fa2a4b984/opencascade-hs/opencascade-hs.cabal
autogen-modules: Paths_hs_tango
-- This one seems to be giving problems for hackage: Hackage does not yet allow uploads of packages with autogenerated module PackageInfo_*
-- , PackageInfo_hs_tango
-- copied from https://github.com/joe-warren/opencascade-hs/blob/5c087f893712585703eb8bb0ce017b6fa2a4b984/opencascade-hs/opencascade-hs.cabal
-- otherwise: undefined reference to operator new
extra-libraries: stdc++
benchmark tango-read-test-device
type: exitcode-stdio-1.0
main-is: ReadTestDevice.hs
ghc-options: -threaded -rtsopts -with-rtsopts=-N
hs-source-dirs:
app
build-depends:
base >=4.7 && <5
, hs-tango
, text