packages feed

shebanger-1.0.0.0: shebanger.cabal

cabal-version:       3.4

name:                shebanger
version:             1.0.0.0
synopsis:            Transform a shell script into a series of scripts with only shebang lines
-- description:         CLI tool
homepage:            https://github.com/cdepillabout/shebanger
license:             BSD-3-Clause
license-file:        LICENSE
author:              Dennis Gosnell
maintainer:          cdep.illabout@gmail.com
copyright:           2024-2024 Dennis Gosnell
category:            Productivity
build-type:          Custom
extra-source-files:  README.md
                   , CHANGELOG.md
                   , default.nix
                   , nix/default.nix
                   , nix/overlay.nix
                   , shell.nix

custom-setup
                   -- Hackage apparently gives an error if you don't specify an
                   -- upper bound on your setup-depends. But I don't want to
                   -- have to remember to bump the upper bound of each of these
                   -- setup depends every time I want to make a release of shebanger,
                   -- especially sense I already have upper bounds on important things
                   -- like base below.
  setup-depends:     base <999
                   , cabal-doctest >=1.0.2 && <1.1

library
  default-language:    Haskell2010
  hs-source-dirs:      src
  exposed-modules:     Shebanger
                     , Shebanger.Cli
  other-modules:       Paths_shebanger
  autogen-modules:     Paths_shebanger
  build-depends:       base < 5
                     , base64-bytestring
                     , bytestring
                     , containers
                     , directory
                     , filepath
                     , from-sum
                     , optparse-applicative
                     , pretty-simple
                     , process
                     , text
                     , time
                     , unix
  ghc-options:         -Wall -Wincomplete-uni-patterns -Wincomplete-record-updates
  default-extensions:  DataKinds
                       DeriveDataTypeable
                       DeriveFunctor
                       DeriveGeneric
                       DerivingStrategies
                       DuplicateRecordFields
                       GeneralizedNewtypeDeriving
                       InstanceSigs
                       LambdaCase
                       MultiParamTypeClasses
                       NamedFieldPuns
                       NumericUnderscores
                       OverloadedLabels
                       OverloadedRecordDot
                       OverloadedStrings
                       PolyKinds
                       RankNTypes
                       RecordWildCards
                       ScopedTypeVariables
                       StandaloneKindSignatures
                       TupleSections
                       TypeApplications
                       TypeFamilies
                       TypeOperators
  other-extensions:    DeriveAnyClass
                       OverloadedRecordDot
                       QuasiQuotes
                       TemplateHaskell
                       UndecidableInstances

executable shebanger
  default-language:    Haskell2010
  main-is:             Main.hs
  hs-source-dirs:      app
  build-depends:       base < 5
                     , shebanger
  ghc-options:         -Wall -threaded -rtsopts -with-rtsopts=-N

test-suite doctests
  default-language:    Haskell2010
  type:                exitcode-stdio-1.0
  main-is:             DocTest.hs
  hs-source-dirs:      test
  build-depends:       base < 5
                     , doctest
                     , QuickCheck
                     , template-haskell
                     , shebanger
  ghc-options:         -Wall

test-suite shebanger-tests
  default-language:    Haskell2010
  type:                exitcode-stdio-1.0
  main-is:             Test.hs
  hs-source-dirs:      test
  other-modules:       Test.Shebanger
  build-depends:       base < 5
                     , shebanger
                     , tasty
                     , tasty-hunit
  ghc-options:         -Wall -Wincomplete-uni-patterns -Wincomplete-record-updates -threaded -rtsopts -with-rtsopts=-N

source-repository head
  type:     git
  location: git@github.com:cdepillabout/shebanger.git