packages feed

duckdb-ffi-1.5.0.0: duckdb-ffi.cabal

cabal-version: 3.4
name: duckdb-ffi
version: 1.5.0.0
author: Matthias Pall Gissurarson
maintainer: mpg@mpg.is
category: Database
build-type: Simple
tested-with:
  ghc ==9.6.*
  ghc ==9.8.*
  ghc ==9.10.*
  ghc ==9.12.*
  ghc ==9.14.*

license: MPL-2.0
license-file: LICENSE
synopsis: Haskell FFI bindings for DuckDB
homepage: https://github.com/Tritlo/duckdb-haskell
bug-reports: https://github.com/Tritlo/duckdb-haskell/issues
description:
  This library provides low-level FFI bindings to DuckDB.
  Tested with DuckDB version 1.5.0.
  Exposes the full DuckDB C API.
  .
  Requires libduckdb to be installed on the system.
  See <https://duckdb.org/docs/installation> for installation instructions.

extra-doc-files: CHANGELOG.md

source-repository head
  type: git
  location: https://github.com/Tritlo/duckdb-haskell.git
  subdir: duckdb-ffi

library
  default-language:
    Haskell2010

  default-extensions:
    AllowAmbiguousTypes
    DataKinds
    GADTs
    GeneralizedNewtypeDeriving
    ImportQualifiedPost
    LambdaCase
    MultiParamTypeClasses
    OverloadedStrings
    RankNTypes
    ScopedTypeVariables
    TypeApplications

  hs-source-dirs:
    src

  exposed-modules:
    Database.DuckDB.FFI
    Database.DuckDB.FFI.Deprecated

  other-modules:
    Database.DuckDB.FFI.AggregateFunctions
    Database.DuckDB.FFI.Appender
    Database.DuckDB.FFI.Arrow
    Database.DuckDB.FFI.BindValues
    Database.DuckDB.FFI.CastFunctions
    Database.DuckDB.FFI.Catalog
    Database.DuckDB.FFI.Configuration
    Database.DuckDB.FFI.CopyFunctions
    Database.DuckDB.FFI.DataChunk
    Database.DuckDB.FFI.Deprecated.Appender
    Database.DuckDB.FFI.Deprecated.Arrow
    Database.DuckDB.FFI.Deprecated.ExecutePrepared
    Database.DuckDB.FFI.Deprecated.PendingResult
    Database.DuckDB.FFI.Deprecated.QueryExecution
    Database.DuckDB.FFI.Deprecated.ResultFunctions
    Database.DuckDB.FFI.Deprecated.SafeFetch
    Database.DuckDB.FFI.Deprecated.StreamingResult
    Database.DuckDB.FFI.ErrorData
    Database.DuckDB.FFI.ExecutePrepared
    Database.DuckDB.FFI.Expression
    Database.DuckDB.FFI.ExtractStatements
    Database.DuckDB.FFI.FileSystem
    Database.DuckDB.FFI.Helpers
    Database.DuckDB.FFI.Logging
    Database.DuckDB.FFI.LogicalTypes
    Database.DuckDB.FFI.OpenConnect
    Database.DuckDB.FFI.PendingResult
    Database.DuckDB.FFI.PreparedStatements
    Database.DuckDB.FFI.ProfilingInfo
    Database.DuckDB.FFI.QueryExecution
    Database.DuckDB.FFI.ReplacementScans
    Database.DuckDB.FFI.ResultFunctions
    Database.DuckDB.FFI.ScalarFunctions
    Database.DuckDB.FFI.SelectionVector
    Database.DuckDB.FFI.StreamingResult
    Database.DuckDB.FFI.TableDescription
    Database.DuckDB.FFI.TableFunctions
    Database.DuckDB.FFI.Threading
    Database.DuckDB.FFI.Types
    Database.DuckDB.FFI.Validity
    Database.DuckDB.FFI.ValueInterface
    Database.DuckDB.FFI.Vector

  include-dirs: cbits/
  install-includes: duckdb.h
  extra-libraries: duckdb
  c-sources: cbits/duckdb_stub.c
  build-depends:
    base >=4.18 && <4.23,
    bytestring >=0.11 && <0.13,
    containers >=0.6 && <0.9,
    exceptions >=0.10 && <0.11,
    mtl >=2.3 && <2.4,
    text >=2.0 && <2.2,
    time >=1.12 && <1.16,
    transformers >=0.6 && <0.7,

  if os(linux)
    ghc-options: "-optl-Wl,-rpath,'$ORIGIN/../cbits/duckdb'"
    ld-options: "-Wl,-rpath,'$ORIGIN/../cbits/duckdb'"

test-suite duckdb-ffi-tests
  type: exitcode-stdio-1.0
  hs-source-dirs: test
  main-is: Main.hs
  other-modules:
    AggregateFunctionsTest
    AppenderTest
    ArrowInterfaceDeprecatedTests
    ArrowInterfaceTest
    BindValuesTest
    CastFunctionsTest
    ConfigurationTest
    DataChunkTest
    ErrorDataTest
    ExecutePreparedStatementsTest
    ExpressionTest
    ExtractStatementsTest
    HelpersTest
    LogicalTypesTest
    OpenConnectTest
    PendingResultTest
    PreparedStatementsTest
    ProfilingInfoTest
    QueryExecutionTest
    ReplacementScansTest
    ResultFunctionsTest
    SafeFetchTest
    ScalarFunctionsTest
    SelectionVectorTest
    StreamingResultTest
    TableDescriptionTest
    TableFunctionsTest
    ThreadingTest
    Utils
    ValidityMaskTest
    ValueInterfaceTest
    VectorTest

  ghc-options: -threaded
  default-language: Haskell2010
  build-depends:
    base >=4.18 && <4.23,
    duckdb-ffi,
    tasty >=1.5 && <1.6,
    tasty-expected-failure >=0.12 && <0.13,
    tasty-hunit >=0.10 && <0.11,
    text >=2.0 && <2.2,
    time >=1.12 && <1.16,