packages feed

hmp3-ng-2.18.1: hmp3-ng.cabal

cabal-version: 3.0
name: hmp3-ng
version: 2.18.1
synopsis: A 2019 fork of an ncurses mp3 player written in Haskell
description:
  An mp3 player with a curses frontend.  Playlists are populated by
  passing file and directory names on the command line.  'h' displays
  help.

category: Sound
homepage: https://github.com/galenhuntington/hmp3-ng#readme
bug-reports: https://github.com/galenhuntington/hmp3-ng/issues
author: Don Stewart, Galen Huntington
maintainer: Galen Huntington
license: GPL-2.0-or-later
license-file: LICENSE
build-type: Simple

extra-doc-files:
  README.md

source-repository head
  type: git
  location: https://github.com/galenhuntington/hmp3-ng

common opts
  default-language: Haskell2010
  default-extensions:
    BlockArguments
    MultiWayIf
    OverloadedStrings
    RecordWildCards
    -- In GHC2024
    DerivingStrategies
    LambdaCase
    -- In GHC2021 (soon!)
    BangPatterns
    GeneralizedNewtypeDeriving
    NamedFieldPuns
    NumericUnderscores
    ScopedTypeVariables
    StandaloneDeriving
    TupleSections
    TypeApplications

  ghc-options:
    -Wall
    -funbox-strict-fields

library
  import: opts
  hs-source-dirs: ./
  exposed-modules:
    Base
    Config
    Core
    Keyboard
    Keymap
    Lexer
    State
    Style
    Syntax
    Tree
    UI
    Width

  other-modules:
    Paths_hmp3_ng

  autogen-modules:
    Paths_hmp3_ng

  pkgconfig-depends:
    ncursesw

  build-depends:
    array,
    base >=4.15 && <5,
    bytestring >=0.10,
    clock,
    containers,
    directory >=1.3.7.0,
    filepath,
    hscurses,
    mtl,
    pcre-light >=0.3,
    posix-paths,
    process,
    random,
    unix >=2.7,
    utf8-string,

executable hmp3
  import: opts
  main-is: Main.hs
  hs-source-dirs: app
  ghc-options: -threaded
  build-depends:
    base,
    bytestring,
    hmp3-ng,
    optparse-applicative,
    unix,
    utf8-string,

test-suite test
  import: opts
  type: exitcode-stdio-1.0
  main-is: Main.hs
  hs-source-dirs: test
  other-modules:
    ConfigSpec
    CoreSpec
    LexerSpec
    StyleSpec
    TreeSpec
    WidthSpec

  build-depends:
    base,
    bytestring,
    clock,
    hmp3-ng,
    tasty >=1.4,
    tasty-hunit >=0.10,
    utf8-string,