packages feed

evdev-2.3.0: evdev.cabal

cabal-version:       3.0
name:                evdev
version:             2.3.0
author:              George Thomas
maintainer:          George Thomas
description:         Provides access to the Linux event device interface.
synopsis:            Bindings to libevdev
homepage:            https://github.com/georgefst/evdev
license:             BSD-3-Clause
license-file:        LICENSE
category:            System
extra-source-files:
    CHANGELOG.md
    README.md

source-repository head
    type: git
    location: git://github.com/georgefst/evdev.git

common common
    build-depends:
        base >= 4.11 && < 5,
        bytestring ^>= {0.10, 0.11, 0.12},
        containers ^>= 0.6.2,
        extra ^>= {1.6.18, 1.7},
        filepath-bytestring ^>= 1.4.2,
        monad-loops ^>= 0.4.3,
        mtl ^>= {2.2, 2.3},
        rawfilepath ^>= {1.0, 1.1},
        time ^>= {1.9.3, 1.10, 1.11, 1.12, 1.13},
        unix ^>= 2.7.2,
    default-language: GHC2021
    default-extensions:
        BlockArguments
        LambdaCase
        NamedFieldPuns
        OverloadedStrings
        PatternSynonyms
        RecordWildCards
        TypeFamilies
        ViewPatterns
    ghc-options:
        -Wall

library
    import: common
    exposed-modules:
        Evdev
        Evdev.Codes
        Evdev.Uinput
    other-modules:
        Evdev.LowLevel
        Util
    hs-source-dirs: src
    c-sources:
        src-c/evdev-hs.c
    pkgconfig-depends:
        libevdev
    build-tool-depends:
        c2hs:c2hs

test-suite test
    import: common
    type: exitcode-stdio-1.0
    main-is: Test.hs
    hs-source-dirs: test
    build-depends:
        evdev,
        tasty ^>= 1.4.1,
        tasty-hunit ^>= 0.10.0.3,
        tasty-quickcheck ^>= 0.10.1.1,
    ghc-options:
        -threaded