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