packages feed

hsjuiz-0.2.6: hsjuiz.cabal

cabal-version:      3.0
name:               hsjuiz
version:            0.2.6
synopsis:           Write juiz processes and containers in Haskell
description:
    Write Process / Container / Component plugins of
    <https://github.com/OpenJUIZ/juiz juiz> (middleware for robots and IoT) in Haskell.
    A plugin is a shared library (a cabal @foreign-library@) that juiz loads as
    @language: "haskell"@. Values are passed through the C functions of libjuiz_sdk.
    .
    Building a plugin needs libjuiz_sdk of the same version as juiz. Download it from
    <https://github.com/OpenJUIZ/juiz/releases GitHub Releases>
    (@juiz_sdk-\<version\>-\<target\>.tar.gz@, or @scripts/install-juiz-sdk.sh@ in the juiz repository)
    and add it to @cabal.project@:
    .
    > package hsjuiz
    >   extra-lib-dirs: <sdk>/lib
    >   ghc-options: -optl-Wl,-rpath,<sdk>/lib
    .
    juiz (ロボット・IoT 向けミドルウェア) の Process / Container を Haskell で書くためのライブラリ。
    使い方は README を参照。
license:            MIT OR Apache-2.0
license-files:      LICENSE-MIT
                    LICENSE-APACHE
author:             ysuga
maintainer:         ysuga
homepage:           https://github.com/OpenJUIZ/juiz/tree/main/bindings/hsjuiz
bug-reports:        https://github.com/OpenJUIZ/juiz/issues
category:           Robotics, FFI
build-type:         Simple
extra-doc-files:    README.md
                    CHANGELOG.md
tested-with:        GHC ==9.6.*

source-repository head
    type:     git
    location: https://github.com/OpenJUIZ/juiz.git
    subdir:   bindings/hsjuiz

library
    default-language: Haskell2010
    hs-source-dirs:   src
    exposed-modules:  Juiz
                      Juiz.Value
                      Juiz.Error
                      Juiz.Capsule
                      Juiz.Manifest
                      Juiz.Process
                      Juiz.Container
                      Juiz.Component
                      Juiz.TH
                      Juiz.Type
                      Juiz.Image
                      Juiz.Pose
                      Juiz.Internal.FFI
                      Juiz.Internal.TypeInfo
                      Juiz.Internal.Base64
    build-depends:    base >=4.18 && <5
                    , bytestring >=0.11 && <0.13
                    , containers >=0.6 && <0.9
                    , text >=2.0 && <2.3
                    , template-haskell >=2.19 && <2.26
    -- juiz_hs_init (RTS の初期化) と、bool を返す C 関数を安全に呼ぶための小さな関数
    c-sources:        cbits/hsjuiz.c
    -- libjuiz_sdk の場所は利用者が cabal.project の extra-lib-dirs (または --extra-lib-dirs) で渡す (README を参照)
    extra-libraries:  juiz_sdk
    ghc-options:      -Wall