summaryrefslogtreecommitdiff
path: root/slackbuilder.cabal
blob: 6d6139c3d05e3521f21115d6ffc0b14b7a5fb98d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
cabal-version: 2.4
name: slackbuilder
version: 1.0.0

synopsis: Slackware build scripts and configuration files.
bug-reports: https://git.caraus.tech/OSS/slackbuilder/issues

license: MPL-2.0
license-files: LICENSE
copyright: (c) 2023 Eugen Wissner

author: Eugen Wissner
maintainer: belka@caraus.de

category: Build
extra-source-files: CHANGELOG.md

common dependencies
  build-depends:
    base ^>= 4.16.4.0,
    bytestring ^>= 0.11.0,
    cryptonite >= 0.30,
    filepath ^>= 1.4.2,
    megaparsec ^>= 9.5,
    modern-uri ^>= 0.3.6,
    memory ^>= 0.18,
    parser-combinators ^>= 1.3,
    text ^>= 2.0,
    tomland ^>= 1.3.3,
    transformers ^>= 0.5.6,
    word8 ^>= 0.1.3
  default-language: Haskell2010
  default-extensions:
    DataKinds
    DuplicateRecordFields
    ExplicitForAll
    LambdaCase
    NamedFieldPuns
    OverloadedStrings
    RecordWildCards
    QuasiQuotes
    TemplateHaskell
    TupleSections
    TypeApplications

library
  import: dependencies
  exposed-modules:
    SlackBuilder.Config
    SlackBuilder.Info
    SlackBuilder.Package
    SlackBuilder.Trans
  hs-source-dirs: lib
  build-depends:
    exceptions >= 0.10

  ghc-options: -Wall

executable slackbuilder
  import: dependencies
  main-is: Main.hs

  other-modules:
    SlackBuilder.CommandLine
    SlackBuilder.Download
    SlackBuilder.Updater
  build-depends:
    aeson ^>= 2.2.0,
    conduit ^>= 1.3.5,
    http-client ^>= 0.7,
    optparse-applicative ^>= 0.18.1,
    process ^>= 1.6.17,
    req ^>= 3.13,
    slackbuilder,
    unordered-containers ^>= 0.2.19,
    vector ^>= 0.13.0
  hs-source-dirs: app

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

test-suite slackbuilder-test
  import: dependencies
  type: exitcode-stdio-1.0
  main-is: Spec.hs

  other-modules:
    SlackBuilder.InfoSpec
    SlackBuilder.PackageSpec
  hs-source-dirs: tests
  build-depends:
    hspec >= 2.10.9 && < 2.12,
    hspec-megaparsec ^>= 2.2,
    slackbuilder

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