packages feed

monatone-0.2.0.0: monatone.cabal

cabal-version:   3.4
name:            monatone
version:         0.2.0.0
synopsis:        Pure Haskell library for audio metadata parsing and writing
description:
  Monatone is a pure Haskell library for parsing and writing
  metadata from audio files. Supported formats include:

  - FLAC (full read\/write support with Vorbis comments and album art)
  - MP3 (ID3v1, ID3v2.3, and ID3v2.4 tags including APIC frames for album art)
  - M4A\/AAC\/ALAC (iTunes-style metadata with MP4 atoms and MusicBrainz support)
  - OGG\/Vorbis (Vorbis comment reading)
  - Opus (basic metadata support)

  Features include a pure Haskell implementation with no FFI dependencies,
  streaming support for large files, type-safe metadata representation,
  and comprehensive tag writing support for FLAC, MP3, and M4A formats.
homepage:        https://github.com/rembo10/monatone
bug-reports:     https://github.com/rembo10/monatone/issues
license:         GPL-3.0-only
license-file:    LICENSE
author:          rembo10
maintainer:      rembo10@codeshy.com
category:        Audio, Sound
stability:       experimental
build-type:      Simple
tested-with:     GHC == 9.10.3
extra-source-files:
                 README.md
                 test/fixtures/*.mp3
                 test/fixtures/*.flac
extra-doc-files:
                 CHANGELOG.md

source-repository head
  type:          git
  location:      https://github.com/rembo10/monatone

library
  exposed-modules:
                 Monatone.Common
                 Monatone.FLAC
                 Monatone.FLAC.Writer
                 Monatone.M4A
                 Monatone.M4A.Writer
                 Monatone.MP3
                 Monatone.MP3.Writer
                 Monatone.Metadata
                 Monatone.OGG
                 Monatone.Types
                 Monatone.Writer
  hs-source-dirs:
                 src
  build-depends:
                 base                 >= 4.17    && < 5,
                 aeson                >= 2.1     && < 2.4,
                 base64-bytestring    >= 1.2     && < 1.3,
                 binary               >= 0.8     && < 0.9,
                 bytestring           >= 0.11    && < 0.13,
                 containers           >= 0.6     && < 0.9,
                 deepseq              >= 1.4     && < 1.6,
                 directory            >= 1.3     && < 1.4,
                 file-io              >= 0.1     && < 0.2,
                 filepath             >= 1.4     && < 1.6,
                 mtl                  >= 2.2     && < 2.4,
                 temporary            >= 1.3     && < 1.4,
                 text                 >= 2.1     && < 2.2,
                 unordered-containers >= 0.2     && < 0.3
  default-language:
                 Haskell2010
  ghc-options:   -Wall
                 -Wcompat
                 -Widentities
                 -Wincomplete-record-updates
                 -Wincomplete-uni-patterns
                 -Wmissing-export-lists
                 -Wmissing-home-modules
                 -Wpartial-fields
                 -Wredundant-constraints

executable monatone
  main-is:       Main.hs
  hs-source-dirs:
                 app
  build-depends:
                 base,
                 monatone,
                 aeson,
                 base64-bytestring,
                 bytestring,
                 containers,
                 filepath             >= 1.4     && < 1.6,
                 mtl,
                 text
  default-language:
                 Haskell2010
  ghc-options:   -Wall
                 -Wcompat
                 -Widentities
                 -Wincomplete-record-updates
                 -Wincomplete-uni-patterns
                 -Wmissing-export-lists
                 -Wmissing-home-modules
                 -Wpartial-fields
                 -Wredundant-constraints

test-suite monatone-test
  type:          exitcode-stdio-1.0
  main-is:       Spec.hs
  other-modules:
                 Test.FLACSpec
                 Test.IntegrationSpec
                 Test.M4ASpec
                 Test.MP3Spec
                 Test.WriterSpec
  hs-source-dirs:
                 test
  build-depends:
                 base,
                 monatone,
                 QuickCheck           >= 2.14    && < 2.17,
                 bytestring,
                 containers,
                 directory,
                 filepath             >= 1.4     && < 1.6,
                 mtl,
                 process,
                 tasty                >= 1.4     && < 1.6,
                 tasty-hunit          >= 0.10    && < 0.11,
                 tasty-quickcheck     >= 0.11    && < 0.12,
                 temporary,
                 text
  default-language:
                 Haskell2010
  ghc-options:   -Wall
                 -Wcompat
                 -Widentities
                 -Wincomplete-record-updates
                 -Wincomplete-uni-patterns
                 -Wmissing-export-lists
                 -Wmissing-home-modules
                 -Wpartial-fields
                 -Wredundant-constraints