feat(users/Profpatsch): init openlab-tools

Back at my bullshit.

Mostly copied the setup from whatcd-resolver.

Change-Id: I9edd4387ee73c18816b1692d5338735536cce70f
Reviewed-on: https://cl.tvl.fyi/c/depot/+/9803
Reviewed-by: Profpatsch <mail@profpatsch.de>
Tested-by: BuildkiteCI
Autosubmit: Profpatsch <mail@profpatsch.de>
This commit is contained in:
Profpatsch 2023-10-19 22:54:00 +02:00 committed by clbot
parent 42d3c1a748
commit efbffcd12d
4 changed files with 484 additions and 0 deletions

View file

@ -0,0 +1,108 @@
cabal-version: 3.0
name: openlab-tools
version: 0.1.0.0
author: Profpatsch
maintainer: mail@profpatsch.de
common common-options
ghc-options:
-Wall
-Wno-type-defaults
-Wunused-packages
-Wredundant-constraints
-fwarn-missing-deriving-strategies
-- See https://downloads.haskell.org/ghc/latest/docs/users_guide/exts.html
-- for a description of all these extensions
default-extensions:
-- Infer Applicative instead of Monad where possible
ApplicativeDo
-- Allow literal strings to be Text
OverloadedStrings
-- Syntactic sugar improvements
LambdaCase
MultiWayIf
-- Makes the (deprecated) usage of * instead of Data.Kind.Type an error
NoStarIsType
-- Convenient and crucial to deal with ambiguous field names, commonly
-- known as RecordDotSyntax
OverloadedRecordDot
-- does not export record fields as functions, use OverloadedRecordDot to access instead
NoFieldSelectors
-- Record punning
RecordWildCards
-- Improved Deriving
DerivingStrategies
DerivingVia
-- Type-level strings
DataKinds
-- to enable the `type` keyword in import lists (ormolu uses this automatically)
ExplicitNamespaces
default-language: GHC2021
library
import: common-options
hs-source-dirs: src
exposed-modules:
OpenlabTools
build-depends:
base >=4.15 && <5,
text,
my-prelude,
my-webstuff,
pa-prelude,
pa-error-tree,
pa-label,
pa-json,
pa-field-parser,
pa-pretty,
pa-run-command,
aeson-better-errors,
aeson,
blaze-html,
bytestring,
containers,
unordered-containers,
exceptions,
filepath,
hs-opentelemetry-sdk,
hs-opentelemetry-api,
http-conduit,
http-types,
monad-logger,
mtl,
network-uri,
scientific,
selective,
unliftio,
wai-extra,
wai,
warp,
tagsoup,
time
executable openlab-tools
import: common-options
main-is: Main.hs
ghc-options:
-threaded
build-depends:
base >=4.15 && <5,
openlab-tools