finitary-derive.cabal 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122
  1. cabal-version: 2.2
  2. name: finitary-derive
  3. -- PVP summary: +-+------- breaking API changes
  4. -- | | +----- non-breaking API additions
  5. -- | | | +--- code changes with no API change
  6. version: 3.0.0.1
  7. synopsis: Flexible and easy deriving of type classes for finitary
  8. types.
  9. description: Provides a collection of wrappers, allowing you to easily
  10. define (among others) Unbox, Storable, Hashable and
  11. Binary instances for finitary types with flexibility in
  12. terms of representation and efficiency. Never write an
  13. Unbox instance by hand again!
  14. homepage: https://notabug.org/sheaf/finitary-derive
  15. license: GPL-3.0-or-later
  16. license-file: LICENSE.md
  17. author: Koz Ross
  18. maintainer: Sam Derbyshire
  19. copyright: (C) Koz Ross 2019
  20. category: Data
  21. tested-with: GHC == 8.4.4,
  22. GHC == 8.6.5,
  23. GHC == 8.8.1,
  24. GHC == 8.10.4,
  25. GHC == 9.0.1
  26. build-type: Simple
  27. extra-source-files: CHANGELOG.md,
  28. README.md
  29. common common
  30. build-depends:
  31. finitary
  32. >= 1.2.0.0 && < 2.2,
  33. base
  34. >= 4.11 && < 4.16,
  35. binary
  36. >= 0.8.5.1 && < 0.11,
  37. deepseq
  38. >= 1.4.3.0 && < 1.5,
  39. finite-typelits
  40. >= 0.1.4.2 && < 0.2,
  41. hashable
  42. >= 1.3.0.0 && < 1.4,
  43. vector
  44. >= 0.12.0.3 && < 0.13,
  45. default-language:
  46. Haskell2010
  47. ghc-options:
  48. -Wall -Wcompat
  49. library
  50. import:
  51. common
  52. hs-source-dirs:
  53. src
  54. exposed-modules:
  55. Data.Finitary.Finiteness,
  56. Data.Finitary.PackBits,
  57. Data.Finitary.PackBits.Unsafe,
  58. Data.Finitary.PackBytes,
  59. Data.Finitary.PackWords,
  60. Data.Finitary.PackInto
  61. build-depends:
  62. bitvec
  63. >= 1.1.1.0 && < 1.2,
  64. coercible-utils
  65. >= 0.0.0 && < 0.1,
  66. ghc-typelits-extra
  67. >= 0.3.1 && < 0.5,
  68. ghc-typelits-knownnat
  69. >= 0.7 && < 0.8,
  70. primitive
  71. >= 0.7.1.0 && < 0.8,
  72. vector-instances
  73. >= 3.4 && < 3.5,
  74. vector-binary-instances
  75. >= 0.2.5.1 && < 0.3,
  76. if impl(ghc >= 9.0)
  77. cpp-options:
  78. -DBIGNUM
  79. build-depends:
  80. ghc-bignum
  81. >= 1.0 && < 1.1,
  82. else
  83. build-depends:
  84. integer-gmp
  85. >= 1.0.2.0 && < 1.2,
  86. test-suite tests
  87. import:
  88. common
  89. hs-source-dirs:
  90. test
  91. main-is:
  92. Main.hs
  93. type:
  94. exitcode-stdio-1.0
  95. build-depends:
  96. finitary-derive,
  97. hedgehog
  98. >= 1.0.1 && < 1.1,
  99. hedgehog-classes
  100. >= 0.2.4 && < 0.3,
  101. ghc-options:
  102. -O2 -threaded -rtsopts -with-rtsopts=-N