From 1fd59f51580244bac8e75b4c08f103daa20674d9 Mon Sep 17 00:00:00 2001 From: Profpatsch Date: Sun, 6 Aug 2023 12:46:50 +0200 Subject: chore(users/Profpatsch): clean up haskell libs a little Change-Id: Ia9a6c5a754ca8f2912308feb5a26f5276a08d24c Reviewed-on: https://cl.tvl.fyi/c/depot/+/9011 Reviewed-by: Profpatsch Autosubmit: Profpatsch Tested-by: BuildkiteCI --- users/Profpatsch/mailbox-org/mailbox-org.cabal | 81 +++++++++++++++++++++----- 1 file changed, 68 insertions(+), 13 deletions(-) (limited to 'users/Profpatsch/mailbox-org/mailbox-org.cabal') diff --git a/users/Profpatsch/mailbox-org/mailbox-org.cabal b/users/Profpatsch/mailbox-org/mailbox-org.cabal index 8125baef71..8e5328907a 100644 --- a/users/Profpatsch/mailbox-org/mailbox-org.cabal +++ b/users/Profpatsch/mailbox-org/mailbox-org.cabal @@ -4,38 +4,93 @@ 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: + AesonQQ + + build-depends: + base >=4.15 && <5, + pa-prelude, + aeson, + PyF, + template-haskell + + + executable mailbox-org + import: common-options main-is: MailboxOrg.hs build-depends: base >=4.15 && <5, + mailbox-org, my-prelude, pa-prelude, pa-label, + pa-pretty, pa-error-tree, exec-helpers, netencode, text, - semigroupoids, - nonempty-containers, - data-fix, - selective, directory, - mtl, filepath, arglib-netencode, random, http-conduit, - http-client, aeson, aeson-better-errors, bytestring, - PyF, typed-process, - process, containers, - - default-language: Haskell2010 - - default-extensions: - GHC2021 -- cgit 1.4.1