packages feed

ipedb-0.2.0.0: ipedb.cabal

cabal-version: 3.0
name: ipedb
version: 0.2.0.0
synopsis: Build databases with IPE data
description: Build databases with IPE data.
homepage: https://github.com/well-typed/ipedb#README
license: BSD-3-Clause
license-file: LICENSE
author: Wen Kokke, Matthew Pickering, Hannes Siebenhandl
maintainer: wen@well-typed.com
copyright: (c) 2025-2026 Well-Typed
category: Development
build-type: Simple
extra-doc-files:
  CHANGELOG.md
  README.md

tested-with: ghc ==9.8.4 || ==9.10.3 || ==9.12.4 || ==9.14.1

source-repository head
  type: git
  location: https://github.com/well-typed/ipedb.git

-- 2026-06-29:
-- This flag should enable switching between leb128 and the vendored copy
-- of the packages.
flag use-leb128
  description: Use leb128 in place of the vendored copy
  default: False
  manual: False

common language
  ghc-options:
    -Wall
    -Wcompat
    -Widentities
    -Wprepositive-qualified-module
    -Wredundant-constraints
    -Wunticked-promoted-constructors
    -Wunused-packages

  default-language: Haskell2010
  default-extensions:
    BangPatterns
    ConstraintKinds
    DataKinds
    DeriveGeneric
    DerivingStrategies
    DerivingVia
    DuplicateRecordFields
    FlexibleInstances
    GADTs
    GeneralizedNewtypeDeriving
    ImportQualifiedPost
    InstanceSigs
    LambdaCase
    NoFieldSelectors
    OverloadedRecordDot
    PatternSynonyms
    RankNTypes
    RecordWildCards
    ScopedTypeVariables
    StandaloneDeriving
    TypeApplications
    ViewPatterns

library
  import: language
  hs-source-dirs:
    src
    src-internal

  exposed-modules:
    IpeDB.Database
    IpeDB.Types.CostCentre
    IpeDB.Types.InfoProv
    IpeDB.Types.SrcLoc

  other-modules:
    Data.Binary.Text

  build-depends:
    base >=4.16 && <4.23,
    binary >=0.8 && <0.9,
    blockio >=0.1 && <0.3,
    bytestring >=0.11 && <0.13,
    data-default >=0.2 && <0.9,
    directory >=1.3 && <1.4,
    filepath >=1.4 && <1.6,
    fs-api >=0.4 && <0.5,
    ghc-events >=0.20 && <0.21,
    hashable >=1.4 && <1.6,
    lsm-tree >=1.1 && <1.2,
    machines >=0.7.4 && <0.8,
    tar >=0.7 && <0.8,
    temporary >=1.1 && <1.4,
    text >=1.2 && <2.2,
    vector >=0.11 && <0.14,
    zlib >=0.7 && <0.8,

  -- 2026-06-29:
  -- This toggles between version 0.1.0.0 of the leb128 package
  -- and a vendored copy of its modules.
  -- and the
  if flag(use-leb128)
    build-depends: leb128 >=0.1 && <0.2
  else
    hs-source-dirs: vendor/leb128-0.1.0.0/src
    other-modules: Codec.LEB128.Generic

executable ipedb
  import: language
  hs-source-dirs: app-ipedb
  main-is: Main.hs
  other-modules: Paths_ipedb
  autogen-modules: Paths_ipedb
  build-depends:
    base >=4.16 && <4.23,
    bytestring >=0.11 && <0.13,
    data-default >=0.2 && <0.9,
    ghc-events >=0.20 && <0.21,
    ipedb,
    machines >=0.7.4 && <0.8,
    optparse-applicative >=0.17 && <0.20,
    vector >=0.11 && <0.14,
    zlib >=0.7 && <0.8,

executable ccdb
  import: language
  hs-source-dirs: app-ccdb
  main-is: Main.hs
  other-modules: Paths_ipedb
  autogen-modules: Paths_ipedb
  build-depends:
    base >=4.16 && <4.23,
    bytestring >=0.11 && <0.13,
    data-default >=0.2 && <0.9,
    ghc-events >=0.20 && <0.21,
    ipedb,
    machines >=0.7.4 && <0.8,
    optparse-applicative >=0.17 && <0.20,
    vector >=0.11 && <0.14,
    zlib >=0.7 && <0.8,

test-suite ipedb-test
  import: language
  type: exitcode-stdio-1.0
  hs-source-dirs: test
  main-is: Main.hs
  build-depends:
    base >=4.18 && <4.23,
    directory >=1.2.7 && <1.4,
    filepath >=1 && <1.6,
    ipedb,
    process >=1.6 && <1.7,
    tasty >=1.5 && <1.6,
    tasty-hunit >=0.10 && <0.11,
    temporary >=1.1 && <1.4,

  build-tool-depends:
    ipedb:ccdb,
    ipedb:ipedb,

  other-modules:
    Paths_ipedb

  autogen-modules:
    Paths_ipedb