lmdb

Minimal LMDB bindings for Haskell.
git clone git://git.ppad.tech/lmdb.git
Log | Files | Refs | README | LICENSE

ppad-lmdb.cabal (2500B)


      1 cabal-version:      3.0
      2 name:               ppad-lmdb
      3 version:            0.1.0
      4 synopsis:           Minimal bindings to LMDB.
      5 license:            MIT
      6 license-file:       LICENSE
      7 author:             Jared Tobin
      8 maintainer:         jared@ppad.tech
      9 category:           Database
     10 build-type:         Simple
     11 tested-with:        GHC == 9.10.3
     12 extra-doc-files:    CHANGELOG
     13 extra-source-files: cbits/LICENSE
     14                   , cbits/lmdb.h
     15                   , cbits/mdb.c
     16                   , cbits/midl.c
     17                   , cbits/midl.h
     18 description:
     19   Minimal bindings to
     20   [LMDB](https://www.symas.com/lmdb) (Lightning Memory-Mapped
     21   Database), an embedded ACID key-value store. The upstream LMDB C
     22   source is vendored at release @LMDB_0.9.33@ under @cbits/@; no
     23   external @liblmdb@ is required.
     24 
     25 flag llvm
     26   description: Use GHC's LLVM backend.
     27   default:     False
     28   manual:      True
     29 
     30 source-repository head
     31   type:     git
     32   location: git.ppad.tech/lmdb.git
     33 
     34 library
     35   default-language: Haskell2010
     36   hs-source-dirs:   lib
     37   include-dirs:     cbits
     38   c-sources:        cbits/mdb.c
     39                   , cbits/midl.c
     40   cc-options:       -w
     41   ghc-options:
     42       -Wall
     43       -optc-Wno-incompatible-pointer-types
     44   if flag(llvm)
     45     ghc-options: -fllvm -O2
     46   if !os(windows)
     47     extra-libraries: pthread
     48   exposed-modules:
     49       Database.LMDB
     50       Database.LMDB.Internal
     51   build-depends:
     52       base       >= 4.9  && < 5
     53     , bytestring >= 0.9  && < 0.13
     54 
     55 test-suite lmdb-tests
     56   type:                exitcode-stdio-1.0
     57   default-language:    Haskell2010
     58   hs-source-dirs:      test
     59   main-is:             Main.hs
     60   ghc-options:
     61       -rtsopts -Wall -O2
     62   build-depends:
     63       base
     64     , bytestring
     65     , containers
     66     , directory
     67     , filepath
     68     , ppad-lmdb
     69     , QuickCheck
     70     , tasty
     71     , tasty-hunit
     72     , tasty-quickcheck
     73 
     74 benchmark lmdb-bench
     75   type:                exitcode-stdio-1.0
     76   default-language:    Haskell2010
     77   hs-source-dirs:      bench
     78   main-is:             Main.hs
     79   ghc-options:
     80       -rtsopts -O2 -Wall
     81   build-depends:
     82       base
     83     , bytestring
     84     , criterion
     85     , directory
     86     , filepath
     87     , ppad-lmdb
     88 
     89 benchmark lmdb-weigh
     90   type:                exitcode-stdio-1.0
     91   default-language:    Haskell2010
     92   hs-source-dirs:      bench
     93   main-is:             Weight.hs
     94   ghc-options:
     95       -rtsopts -O2 -Wall -fno-warn-orphans
     96   if flag(llvm)
     97     ghc-options: -fllvm
     98   build-depends:
     99       base
    100     , bytestring
    101     , directory
    102     , filepath
    103     , ppad-lmdb
    104     , weigh