summaryrefslogtreecommitdiff
path: root/slackbuilder.cabal
blob: 6d146df883126c1b9312ed5b589bf865e2b4c8e3 (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
96
97
98
99
100
101
102
103
104
105
106
107
cabal-version: 2.4
name: slackbuilder
version: 1.0

synopsis: Tool to automatically update Slackware build scripts.
bug-reports: https://git.caraus.tech/OSS/slackbuilder/issues

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

author: Eugen Wissner
maintainer: belka@caraus.de

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

source-repository head
  type: git
  location: https://git.caraus.tech/OSS/slackbuilder.git

common dependencies
  build-depends:
    aeson ^>= 2.2.0,
    base >= 4.16 && < 5,
    bytestring ^>= 0.12.0,
    conduit ^>= 1.3.5,
    conduit-extra ^>= 1.3,
    http-client ^>= 0.7,
    http-client-tls ^>= 0.3,
    containers ^>= 0.7,
    crypton ^>= 1.0,
    directory ^>= 1.3.8,
    exceptions >= 0.10,
    filepath ^>= 1.5,
    http-types ^>= 0.12.4,
    megaparsec ^>= 9.7,
    modern-uri ^>= 0.3.6,
    memory ^>= 0.18,
    parser-combinators ^>= 1.3,
    process ^>= 1.6.18,
    req ^>= 3.13,
    tar-conduit ^>= 0.4,
    lzma ^>= 0.0.1,
    text ^>= 2.1,
    tomland ^>= 1.3.3,
    transformers ^>= 0.6.1,
    unordered-containers ^>= 0.2.20,
    vector ^>= 0.13.0,
    word8 ^>= 0.1.3
  default-language: GHC2024
  default-extensions:
    DuplicateRecordFields
    OverloadedStrings
    RecordWildCards
    QuasiQuotes
    TemplateHaskell

library
  import: dependencies
  exposed-modules:
    SlackBuilder.Config
    SlackBuilder.Download
    SlackBuilder.Info
    SlackBuilder.LatestVersionCheck
    SlackBuilder.Package
    SlackBuilder.Trans
  hs-source-dirs: lib
  ghc-options: -Wall
  build-depends:
    mono-traversable ^>= 1.0.17

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

  other-modules:
    SlackBuilder.CommandLine
    SlackBuilder.Update
  build-depends:
    ansi-terminal ^>= 1.1,
    optparse-applicative ^>= 0.18.1,
    slackbuilder
  hs-source-dirs: src

  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.LatestVersionCheckSpec
    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
  build-tool-depends:
    hspec-discover:hspec-discover