packages feed

nvfetcher-0.6.1.0: nvfetcher.cabal

cabal-version:   2.4
name:            nvfetcher
version:         0.6.1.0
synopsis:
  Generate nix sources expr for the latest version of packages

description:
  Please see [README](https://github.com/berberman/nvfetcher/blob/master/README.md)

homepage:        https://github.com/berberman/nvfetcher
bug-reports:     https://github.com/berberman/nvfetcher/issues
license:         MIT
license-file:    LICENSE
author:          berberman
maintainer:      berberman <berberman.yandex.com>
copyright:       2021-2023 berberman
category:        Nix
build-type:      Simple
extra-doc-files:
  CHANGELOG.md
  README.md

source-repository head
  type:     git
  location: https://github.com/berberman/nvfetcher.git

common common-options
  build-depends:
    , aeson                 >=1.5.6    && <2.1
    , aeson-pretty
    , base                  >=4.8      && <5
    , binary
    , binary-instances      ^>=1.0
    , bytestring
    , containers
    , data-default          ^>=0.7.1
    , extra                 ^>=1.7.9
    , free                  ^>=5.1.5
    , microlens
    , microlens-th
    , neat-interpolation    ^>=0.5.1
    , optparse-simple       ^>=0.1.1
    , parsec
    , prettyprinter
    , regex-tdfa            ^>=1.3.1.1
    , shake                 ^>=0.19
    , text
    , tomland               ^>=1.3.2
    , transformers
    , unordered-containers

  ghc-options:
    -Wall -Wcompat -Widentities -Wincomplete-uni-patterns
    -Wincomplete-record-updates -Wredundant-constraints
    -fhide-source-paths -Wno-name-shadowing
    -Wno-unticked-promoted-constructors

  default-language: Haskell2010

library
  import:          common-options
  hs-source-dirs:  src
  other-modules:   NvFetcher.Utils
  exposed-modules:
    NvFetcher
    NvFetcher.Config
    NvFetcher.Core
    NvFetcher.ExtractSrc
    NvFetcher.FetchRustGitDeps
    NvFetcher.GetGitCommitDate
    NvFetcher.NixExpr
    NvFetcher.NixFetcher
    NvFetcher.Nvchecker
    NvFetcher.Options
    NvFetcher.PackageSet
    NvFetcher.Types
    NvFetcher.Types.Lens
    NvFetcher.Types.ShakeExtras

  other-modules:   Paths_nvfetcher
  autogen-modules: Paths_nvfetcher

executable nvfetcher
  import:         common-options
  hs-source-dirs: app
  main-is:        Main.hs
  other-modules:
    Config
    Config.PackageFetcher
    Config.VersionSource

  build-depends:
    , nvfetcher
    , validation-selective

  ghc-options:    -threaded -rtsopts -with-rtsopts=-N

flag build-example
  description: Build example executable
  manual:      True
  default:     False

executable example
  import:        common-options

  if !flag(build-example)
    buildable: False

  main-is:       Main_example.hs
  build-depends: nvfetcher
  ghc-options:   -threaded -rtsopts -with-rtsopts=-N

test-suite tests
  import:             common-options
  type:               exitcode-stdio-1.0
  main-is:            Spec.hs
  other-modules:
    CheckVersionSpec
    FetchRustGitDepsSpec
    GetGitCommitDateSpec
    NixExprSpec
    PrefetchSpec
    Utils

  hs-source-dirs:     test
  ghc-options:        -threaded -rtsopts -with-rtsopts=-N
  build-depends:
    , async
    , hspec
    , nvfetcher
    , stm
    , unliftio

  build-tool-depends: hspec-discover:hspec-discover
  default-language:   Haskell2010