packages feed

isobmff-0.14.0.0: isobmff.cabal

name:                isobmff
version:             0.14.0.0
synopsis:            A parser and generator for the ISO-14496-12/14 base media file format
description:         Please see README.md
homepage:            https://github.com/sheyll/isobmff#readme
license:             BSD3
license-file:        LICENSE
author:              Sven Heyll
maintainer:          sven.heyll@lindenbaum.eu
copyright:           2016-2019 Sven Heyll, Lindenbaum GmbH
category:            Codec
build-type:          Simple
extra-source-files:   README.md
                    , CHANGELOG.md
                    , stack.yaml
                    , .travis.yml
                    , doc/basic-structure.svg
                    , doc/data_reference_box.svg
                    , doc/ES_Descriptor.markDown
                    , doc/trun.markDown
                    , .gitignore
cabal-version:       >=1.10

flag tracing
  description: Build with trace output enabled
  default:     True

flag fullbenchmarks
  description: Enable the compilation of all benchmarks, takes a long time to compile
  default:     True

flag complextests
  description: Enable the compilation of all unit tests, even those, that take a long time to compile
  default:     True

library
  hs-source-dirs:      src
  exposed-modules:     Data.ByteString.IsoBaseFileFormat.Box
                     , Data.ByteString.IsoBaseFileFormat.Boxes
                     , Data.ByteString.IsoBaseFileFormat.Boxes.AudioSampleEntry
                     , Data.ByteString.IsoBaseFileFormat.Boxes.ChunkOffset
                     , Data.ByteString.IsoBaseFileFormat.Boxes.DataEntryUrl
                     , Data.ByteString.IsoBaseFileFormat.Boxes.DataEntryUrn
                     , Data.ByteString.IsoBaseFileFormat.Boxes.DataInformation
                     , Data.ByteString.IsoBaseFileFormat.Boxes.DataReference
                     , Data.ByteString.IsoBaseFileFormat.Boxes.FileType
                     , Data.ByteString.IsoBaseFileFormat.Boxes.Handler
                     , Data.ByteString.IsoBaseFileFormat.Boxes.HintMediaHeader
                     , Data.ByteString.IsoBaseFileFormat.Boxes.HintSampleEntry
                     , Data.ByteString.IsoBaseFileFormat.Boxes.Media
                     , Data.ByteString.IsoBaseFileFormat.Boxes.MediaData
                     , Data.ByteString.IsoBaseFileFormat.Boxes.MediaHeader
                     , Data.ByteString.IsoBaseFileFormat.Boxes.MediaInformation
                     , Data.ByteString.IsoBaseFileFormat.Boxes.MetaDataSampleEntry
                     , Data.ByteString.IsoBaseFileFormat.Boxes.Movie
                     , Data.ByteString.IsoBaseFileFormat.Boxes.MovieExtends
                     , Data.ByteString.IsoBaseFileFormat.Boxes.MovieExtendsHeader
                     , Data.ByteString.IsoBaseFileFormat.Boxes.MovieFragment
                     , Data.ByteString.IsoBaseFileFormat.Boxes.MovieFragmentHeader
                     , Data.ByteString.IsoBaseFileFormat.Boxes.MovieHeader
                     , Data.ByteString.IsoBaseFileFormat.Boxes.NullMediaHeader
                     , Data.ByteString.IsoBaseFileFormat.Boxes.ProgressiveDownloadInformation
                     , Data.ByteString.IsoBaseFileFormat.Boxes.Language
                     , Data.ByteString.IsoBaseFileFormat.Boxes.SampleDescription
                     , Data.ByteString.IsoBaseFileFormat.Boxes.SampleEntry
                     , Data.ByteString.IsoBaseFileFormat.Boxes.SampleSize
                     , Data.ByteString.IsoBaseFileFormat.Boxes.SampleTable
                     , Data.ByteString.IsoBaseFileFormat.Boxes.SampleToChunk
                     , Data.ByteString.IsoBaseFileFormat.Boxes.SegmentType
                     , Data.ByteString.IsoBaseFileFormat.Boxes.Skip
                     , Data.ByteString.IsoBaseFileFormat.Boxes.SoundMediaHeader
                     , Data.ByteString.IsoBaseFileFormat.Boxes.SpecificMediaHeader
                     , Data.ByteString.IsoBaseFileFormat.Boxes.TimeToSample
                     , Data.ByteString.IsoBaseFileFormat.Boxes.Track
                     , Data.ByteString.IsoBaseFileFormat.Boxes.TrackExtends
                     , Data.ByteString.IsoBaseFileFormat.Boxes.TrackFragBaseMediaDecodeTime
                     , Data.ByteString.IsoBaseFileFormat.Boxes.TrackFragment
                     , Data.ByteString.IsoBaseFileFormat.Boxes.TrackFragmentHeader
                     , Data.ByteString.IsoBaseFileFormat.Boxes.TrackHeader
                     , Data.ByteString.IsoBaseFileFormat.Boxes.TrackRun
                     , Data.ByteString.IsoBaseFileFormat.Boxes.VideoMediaHeader
                     , Data.ByteString.IsoBaseFileFormat.Boxes.VisualSampleEntry
                     , Data.ByteString.IsoBaseFileFormat.Brands.Dash
                     , Data.ByteString.IsoBaseFileFormat.MediaFile
                     , Data.ByteString.IsoBaseFileFormat.ReExports
                     , Data.ByteString.IsoBaseFileFormat.Util.BoxFields
                     , Data.ByteString.IsoBaseFileFormat.Util.FullBox
                     , Data.ByteString.IsoBaseFileFormat.Util.Time
                     , Data.ByteString.IsoBaseFileFormat.Util.TypeLayout
                     , Data.ByteString.IsoBaseFileFormat.Util.Versioned
                     , Data.ByteString.Mp4.Boxes.AudioSpecificConfig
                     , Data.ByteString.Mp4.Boxes.BaseDescriptor
                     , Data.ByteString.Mp4.Boxes.DecoderConfigDescriptor
                     , Data.ByteString.Mp4.Boxes.DecoderSpecificInfo
                     , Data.ByteString.Mp4.Boxes.ElementaryStreamDescriptor
                     , Data.ByteString.Mp4.Boxes.Expandable
                     , Data.ByteString.Mp4.Boxes.Mp4AudioSampleEntry
                     , Data.ByteString.Mp4.Boxes.SyncLayerConfigDescriptor
                     , Data.ByteString.Mp4.AudioStreaming
                     , Data.ByteString.Mp4.AacInitSegment
                     , Data.Kind.Extra
                     , Data.Type.BitRecords
                     , Data.Type.BitRecords.Arithmetic
                     , Data.Type.BitRecords.Assert
                     , Data.Type.BitRecords.BitBuffer64
                     , Data.Type.BitRecords.Builder.LazyByteStringBuilder
                     , Data.Type.BitRecords.Writer.ByteStringBuilder
                     , Data.Type.BitRecords.Core
                     , Data.Type.BitRecords.Enum
                     , Data.Type.BitRecords.SizedString
                     , Data.Type.BitRecords.Sized
                     , Data.Type.BitRecords.Structure
                     , Data.Type.BitRecords.Structure.Constructor
                     , Data.Type.BitRecords.Structure.String
                     , Data.Type.BitRecords.Structure.TypeLits
  build-depends:       base >= 4.12 && < 5
                     , bytestring
                     -- , type-list
                     , data-default
                     , vector
                     , singletons >= 2.5 && < 2.6
                     , tagged
                     , time
                     , function-builder >= 0.3 && < 0.4
                     , text
                     , type-spec >= 0.3
                     , mtl
                     , pretty-types >= 0.2.3 && < 0.4
                     , template-haskell
  default-language:    Haskell2010
  ghc-options:        -Wall -funbox-strict-fields -fno-warn-unused-do-bind -fprint-explicit-kinds
  if flag(tracing)
    cpp-options:      -DTRACING
  else
    cpp-options:      -DNTRACING

  default-extensions:  BangPatterns
                     , ConstraintKinds
                     , CPP
                     , DataKinds
                     , DefaultSignatures
                     , DeriveDataTypeable
                     , DeriveFunctor
                     , DeriveGeneric
                     , DuplicateRecordFields
                     , FlexibleInstances
                     , FlexibleContexts
                     , FunctionalDependencies
                     , GADTs
                     , GeneralizedNewtypeDeriving
                     , KindSignatures
                     , MultiParamTypeClasses
                     , NoStarIsType
                     , OverloadedStrings
                     , QuasiQuotes
                     , RecordWildCards
                     , RankNTypes
                     , ScopedTypeVariables
                     , StandaloneDeriving
                     , TemplateHaskell
                     , TupleSections
                     , TypeApplications
                     , TypeFamilies
                     , TypeInType
                     , TypeOperators
                     , TypeSynonymInstances
                     , UnicodeSyntax
test-suite spec
  type:                exitcode-stdio-1.0
  ghc-options:         -Wall
  hs-source-dirs:      spec
  default-language:    Haskell2010
  main-is:             Spec.hs
  other-modules:       BitRecordsSpec
                     , BoxFieldsSpec
                     , BoxSpec
                     , DataReferenceSpec
                     , ElementaryStreamDescriptorSpec
                     , EnumSpec
                     , ExpandableSpec
                     , Mp4AudioSampleEntrySpec
                     , MediaFileSpec
                     , Mp4AudioFileSpec
                     , Mp4AudioSegmentSpec
                     , TypeLayoutSpec
  build-depends:       base >= 4.12 && < 5
                     , bytestring
                     , hspec
                     , isobmff
                     , binary
                     , text
                     , type-spec
                     , mtl
                     , QuickCheck
                     , tagged
                     , pretty-types >= 0.2.1 && < 0.4
  default-extensions:  BangPatterns
                     , ConstraintKinds
                     , CPP
                     , DataKinds
                     , DefaultSignatures
                     , DeriveDataTypeable
                     , DeriveFunctor
                     , DeriveGeneric
                     , FlexibleInstances
                     , FlexibleContexts
                     , FunctionalDependencies
                     , GADTs
                     , GeneralizedNewtypeDeriving
                     , KindSignatures
                     , MultiParamTypeClasses
                     , OverloadedStrings
                     , QuasiQuotes
                     , RecordWildCards
                     , RankNTypes
                     , NoStarIsType
                     , ScopedTypeVariables
                     , StandaloneDeriving
                     , TemplateHaskell
                     , TupleSections
                     , TypeApplications
                     , TypeFamilies
                     , TypeInType
                     , TypeOperators
                     , TypeSynonymInstances
                     , UnicodeSyntax
  ghc-options:       -Wall +RTS -A256m -n2m -RTS
                     -fwarn-unused-binds -fno-warn-unused-do-bind -fno-warn-missing-signatures -fprint-explicit-kinds
  if flag(complextests)
    cpp-options:      -DCOMPLEXTESTS
  else
    cpp-options:      -DNCOMPLEXTESTS

benchmark bit-records
  type:                exitcode-stdio-1.0
  hs-source-dirs:      benchmarks/bit-records
  main-is:             Main.hs
  build-depends:       base >= 4.12 && < 5
                     , isobmff
                     , binary
                     , bytestring
                     , criterion
                     , tagged
                     , type-spec >= 0.3
  default-language:    Haskell2010
  default-extensions:  BangPatterns
                     , ConstraintKinds
                     , CPP
                     , DataKinds
                     , DefaultSignatures
                     , DeriveDataTypeable
                     , DeriveFunctor
                     , DeriveGeneric
                     , FlexibleInstances
                     , FlexibleContexts
                     , FunctionalDependencies
                     , GADTs
                     , GeneralizedNewtypeDeriving
                     , KindSignatures
                     , MultiParamTypeClasses
                     , NoStarIsType
                     , OverloadedStrings
                     , QuasiQuotes
                     , RecordWildCards
                     , RankNTypes
                     , ScopedTypeVariables
                     , StandaloneDeriving
                     , TemplateHaskell
                     , TupleSections
                     , TypeApplications
                     , TypeFamilies
                     , TypeInType
                     , TypeOperators
                     , TypeSynonymInstances
                     , UnicodeSyntax
  ghc-options:       +RTS -A256m -n2m -RTS
                     -Wall -fwarn-unused-binds
                     -fno-warn-unused-do-bind -fprint-explicit-kinds
  if flag(fullbenchmarks)
    cpp-options:       -DFULLBENCHMARKS
  else
    cpp-options:       -DNFULLBENCHMARKS

source-repository head
  type:     git
  location: https://github.com/sheyll/isobmff