File tar.cabal of Package ghc-tar

cabal-version:   2.2
name:            tar
version:         0.6.4.0
x-revision: 1
license:         BSD-3-Clause
license-file:    LICENSE
author:          Duncan Coutts <duncan@community.haskell.org>
                 Bjorn Bringert <bjorn@bringert.net>
maintainer:      Bodigrim <andrew.lelechenko@gmail.com>
bug-reports:     https://github.com/haskell/tar/issues
copyright:       2007 Bjorn Bringert <bjorn@bringert.net>
                 2008-2016 Duncan Coutts <duncan@community.haskell.org>
category:        Codec
synopsis:        Reading, writing and manipulating ".tar" archive files.
description:     This library is for working with \"@.tar@\" archive files. It
                 can read and write a range of common variations of archive
                 format including V7, POSIX USTAR and GNU formats.
                 .
                 It provides support for packing and unpacking portable
                 archives. This makes it suitable for distribution but not
                 backup because details like file ownership and exact
                 permissions are not preserved.
                 .
                 It also provides features for random access to archive
                 content using an index.
build-type:      Simple
extra-source-files:
                 test/data/long-filepath.tar
                 test/data/long-symlink.tar
                 test/data/symlink.tar
extra-doc-files: changelog.md
                 README.md
tested-with:     GHC==9.12.1, GHC==9.10.1, GHC==9.8.4,
                 GHC==9.6.5, GHC==9.4.8, GHC==9.2.8, GHC==9.0.2,
                 GHC==8.10.7, GHC==8.8.4, GHC==8.6.5

source-repository head
  type: git
  location: https://github.com/haskell/tar.git

library
  default-language: Haskell2010
  build-depends: tar-internal

  reexported-modules:
    Codec.Archive.Tar,
    Codec.Archive.Tar.Entry,
    Codec.Archive.Tar.Check,
    Codec.Archive.Tar.Index

library tar-internal
  default-language: Haskell2010
  build-depends: base       >= 4.12  && < 5,
                 array                 < 0.6,
                 bytestring >= 0.10 && < 0.13,
                 containers >= 0.2  && < 0.9,
                 deepseq    >= 1.1  && < 1.6,
                 directory  >= 1.3.1 && < 1.4,
                 directory-ospath-streaming >= 0.2.1 && < 0.3,
                 file-io                < 0.2,
                 filepath   >= 1.4.100 && < 1.6,
                 os-string  >= 2.0 && < 2.1,
                 time                  < 1.15,
                 transformers          < 0.7,

  exposed-modules:
    Codec.Archive.Tar
    Codec.Archive.Tar.Entry
    Codec.Archive.Tar.Check
    Codec.Archive.Tar.Check.Internal
    Codec.Archive.Tar.Index
    Codec.Archive.Tar.LongNames
    Codec.Archive.Tar.Types
    Codec.Archive.Tar.Read
    Codec.Archive.Tar.Write
    Codec.Archive.Tar.Pack
    Codec.Archive.Tar.PackAscii
    Codec.Archive.Tar.Unpack
    Codec.Archive.Tar.Index.StringTable
    Codec.Archive.Tar.Index.IntTrie
    Codec.Archive.Tar.Index.Internal
    Codec.Archive.Tar.Index.Utils

  other-extensions:
    BangPatterns
    CPP
    DeriveDataTypeable
    GeneralizedNewtypeDeriving
    PatternGuards
    ScopedTypeVariables

  ghc-options: -Wall -fno-warn-unused-imports

test-suite properties
  type:          exitcode-stdio-1.0
  default-language: Haskell2010
  build-depends: base < 5,
                 array,
                 bytestring >= 0.10,
                 containers,
                 deepseq,
                 directory >= 1.2,
                 directory-ospath-streaming,
                 file-embed,
                 filepath,
                 QuickCheck       == 2.*,
                 tar-internal,
                 tasty            >= 0.10 && <1.6,
                 tasty-quickcheck >= 0.8  && <1,
                 temporary < 1.4,
                 time
  if impl(ghc < 9.0)
    build-depends: bytestring-handle < 0.2

  hs-source-dirs: test

  main-is: Properties.hs

  other-modules:
    Codec.Archive.Tar.Tests
    Codec.Archive.Tar.Index.Tests
    Codec.Archive.Tar.Index.IntTrie.Tests
    Codec.Archive.Tar.Index.StringTable.Tests
    Codec.Archive.Tar.Pack.Tests
    Codec.Archive.Tar.Types.Tests
    Codec.Archive.Tar.Unpack.Tests

  other-extensions:
    CPP
    BangPatterns,
    DeriveDataTypeable
    ScopedTypeVariables

  ghc-options: -fno-ignore-asserts

benchmark bench
  type:          exitcode-stdio-1.0
  default-language: Haskell2010
  hs-source-dirs: bench
  main-is:       Main.hs
  build-depends: base < 5,
                 tar,
                 bytestring >= 0.10,
                 filepath,
                 directory >= 1.2,
                 array,
                 containers,
                 deepseq,
                 temporary < 1.4,
                 time,
                 tasty-bench >= 0.4 && < 0.5
openSUSE Build Service is sponsored by