packages feed

lzma-static-5.2.5.2: lzma-static.cabal

cabal-version:       2.2
name:                lzma-static
version:             5.2.5.2

synopsis:            LZMA/XZ compression and decompression (static)
homepage:            https://github.com/hasufell/lzma-static
bug-reports:         https://github.com/hasufell/lzma-static/issues
license:             BSD-3-Clause
license-file:        LICENSE
author:              Julian Ospald
maintainer:          hasufell@posteo.de
copyright:           (c) 2015, Herbert Valerio Riedel, (c) 2021 Julian Ospald
stability:           experimental
category:            Codec, Compression
build-type:          Simple
tested-with:         GHC==8.6.5, GHC==8.8.4, GHC==8.10.4
description:
    This package provides a pure interface for compressing and
    decompressing
    <https://en.wikipedia.org/wiki/LZMA LZMA (Lempel–Ziv–Markov chain algorithm)>
    streams of data represented as lazy @ByteString@s. A
    monadic incremental interface is provided as well. This package
    relies on the <http://tukaani.org/xz/ liblzma C library>.

extra-source-files:
  Changelog.md
  autoconf-darwin/config.h
  autoconf-freebsd/config.h
  autoconf-linux-x86_64/config.h
  autoconf-linux-i386/config.h
  autoconf-linux-arm/config.h
  autoconf-linux-aarch64/config.h
  autoconf-win32/config.h
  cbits/common/*.c
  cbits/common/*.h
  cbits/liblzma/api/lzma.h
  cbits/liblzma/api/lzma/*.h
  cbits/liblzma/check/*.c
  cbits/liblzma/check/*.h
  cbits/liblzma/common/*.c
  cbits/liblzma/common/*.h
  cbits/liblzma/delta/*.c
  cbits/liblzma/delta/*.h
  cbits/liblzma/lz/*.c
  cbits/liblzma/lz/*.h
  cbits/liblzma/lzma/*.c
  cbits/liblzma/lzma/*.h
  cbits/liblzma/rangecoder/*.c
  cbits/liblzma/rangecoder/*.h
  cbits/liblzma/simple/*.c
  cbits/liblzma/simple/*.h

source-repository head
  type:     git
  location: https://github.com/hasufell/lzma-static.git

library
  default-language:    Haskell2010
  other-extensions:    BangPatterns, RecordWildCards, DeriveDataTypeable
  hs-source-dirs:      src

  exposed-modules:     Codec.Compression.Lzma
  other-modules:       LibLzma

  build-depends:       base       >=4.5    && <4.15
                     , bytestring >=0.9.2  && <0.11

  if os(windows)
    include-dirs: autoconf-win32
  elif os(darwin)
    include-dirs: autoconf-darwin
  elif os(linux)
    if arch(x86_64)
      include-dirs: autoconf-linux-x86_64
    elif arch(i386)
      include-dirs: autoconf-linux-i386
    elif arch(arm)
      include-dirs: autoconf-linux-arm
    elif arch(aarch64)
      include-dirs: autoconf-linux-aarch64
    else
      build-depends: unbuildable<0
      buildable: False
  elif os(freebsd)
    include-dirs: autoconf-freebsd
  else
    build-depends: unbuildable<0
    buildable: False

  c-sources:
    cbits/lzma_wrapper.c
    cbits/common/tuklib_cpucores.c
    cbits/common/tuklib_physmem.c
    cbits/liblzma/check/check.c
    cbits/liblzma/check/crc32_fast.c
    cbits/liblzma/check/crc32_table.c
    cbits/liblzma/check/crc64_fast.c
    cbits/liblzma/check/crc64_table.c
    cbits/liblzma/check/sha256.c
    cbits/liblzma/common/alone_decoder.c
    cbits/liblzma/common/alone_encoder.c
    cbits/liblzma/common/auto_decoder.c
    cbits/liblzma/common/block_buffer_decoder.c
    cbits/liblzma/common/block_buffer_encoder.c
    cbits/liblzma/common/block_decoder.c
    cbits/liblzma/common/block_encoder.c
    cbits/liblzma/common/block_header_decoder.c
    cbits/liblzma/common/block_header_encoder.c
    cbits/liblzma/common/block_util.c
    cbits/liblzma/common/common.c
    cbits/liblzma/common/easy_buffer_encoder.c
    cbits/liblzma/common/easy_decoder_memusage.c
    cbits/liblzma/common/easy_encoder.c
    cbits/liblzma/common/easy_encoder_memusage.c
    cbits/liblzma/common/easy_preset.c
    cbits/liblzma/common/filter_buffer_decoder.c
    cbits/liblzma/common/filter_buffer_encoder.c
    cbits/liblzma/common/filter_common.c
    cbits/liblzma/common/filter_decoder.c
    cbits/liblzma/common/filter_encoder.c
    cbits/liblzma/common/filter_flags_decoder.c
    cbits/liblzma/common/filter_flags_encoder.c
    cbits/liblzma/common/hardware_cputhreads.c
    cbits/liblzma/common/hardware_physmem.c
    cbits/liblzma/common/index.c
    cbits/liblzma/common/index_decoder.c
    cbits/liblzma/common/index_encoder.c
    cbits/liblzma/common/index_hash.c
    cbits/liblzma/common/outqueue.c
    cbits/liblzma/common/stream_buffer_decoder.c
    cbits/liblzma/common/stream_buffer_encoder.c
    cbits/liblzma/common/stream_decoder.c
    cbits/liblzma/common/stream_encoder.c
    cbits/liblzma/common/stream_encoder_mt.c
    cbits/liblzma/common/stream_flags_common.c
    cbits/liblzma/common/stream_flags_decoder.c
    cbits/liblzma/common/stream_flags_encoder.c
    cbits/liblzma/common/vli_decoder.c
    cbits/liblzma/common/vli_encoder.c
    cbits/liblzma/common/vli_size.c
    cbits/liblzma/delta/delta_common.c
    cbits/liblzma/delta/delta_decoder.c
    cbits/liblzma/delta/delta_encoder.c
    cbits/liblzma/lz/lz_decoder.c
    cbits/liblzma/lz/lz_encoder.c
    cbits/liblzma/lz/lz_encoder_mf.c
    cbits/liblzma/lzma/fastpos_table.c
    cbits/liblzma/lzma/lzma2_decoder.c
    cbits/liblzma/lzma/lzma2_encoder.c
    cbits/liblzma/lzma/lzma_decoder.c
    cbits/liblzma/lzma/lzma_encoder.c
    cbits/liblzma/lzma/lzma_encoder_optimum_fast.c
    cbits/liblzma/lzma/lzma_encoder_optimum_normal.c
    cbits/liblzma/lzma/lzma_encoder_presets.c
    cbits/liblzma/rangecoder/price_table.c
    cbits/liblzma/simple/arm.c
    cbits/liblzma/simple/armthumb.c
    cbits/liblzma/simple/ia64.c
    cbits/liblzma/simple/powerpc.c
    cbits/liblzma/simple/simple_coder.c
    cbits/liblzma/simple/simple_decoder.c
    cbits/liblzma/simple/simple_encoder.c
    cbits/liblzma/simple/sparc.c
    cbits/liblzma/simple/x86.c

  include-dirs:
    cbits/liblzma/api
    cbits/liblzma/common
    cbits/liblzma/check
    cbits/liblzma/delta
    cbits/liblzma/lz
    cbits/liblzma/lzma
    cbits/liblzma/rangecoder
    cbits/liblzma/simple
    cbits/common

  install-includes:
    lzma.h
    lzma/base.h
    lzma/bcj.h
    lzma/block.h
    lzma/check.h
    lzma/container.h
    lzma/delta.h
    lzma/filter.h
    lzma/hardware.h
    lzma/index.h
    lzma/index_hash.h
    lzma/lzma12.h
    lzma/stream_flags.h
    lzma/version.h
    lzma/vli.h

  cc-options: -std=gnu99 -DHAVE_CONFIG_H -DTUKLIB_SYMBOL_PREFIX=lzma_
  ghc-options:         -Wall


test-suite lzma-tests
  default-language:    Haskell2010
  other-extensions:    OverloadedStrings
  hs-source-dirs:      src-tests
  type:                exitcode-stdio-1.0
  main-is:             lzma-tests.hs

  -- dependencies with version bounds inherited from the library stanza
  build-depends:       lzma-static
                     , base
                     , bytestring
  -- additional dependencies that require version bounds
  build-depends:       HUnit                      >= 1.2      && <1.7
                     , QuickCheck                 >= 2.8      && <2.14
                     , tasty                      >= 0.10     && <1.4
                     , tasty-hunit                >= 0.9      && <0.11
                     , tasty-quickcheck           >= 0.8.3.2  && <0.11

  ghc-options:         -Wall -threaded