about summary refs log tree commit diff
path: root/users/Profpatsch/netencode/netencode.cabal
diff options
context:
space:
mode:
authorProfpatsch <mail@profpatsch.de>2023-05-28T18·58+0200
committerclbot <clbot@tvl.fyi>2023-07-13T23·03+0000
commit8c4730c433ba01cb17aab2917d495d055c4f468e (patch)
tree0817b780ac451b91109771876805e7c0c5a93404 /users/Profpatsch/netencode/netencode.cabal
parentee21f725a38855e43fd8e82eb8c6c6fc99aca235 (diff)
chore(users/Profpatsch/*): more cabal maintenance r/6409
Change-Id: Ib1714abce2815873eb50dbeac088e812fa9098ab
Reviewed-on: https://cl.tvl.fyi/c/depot/+/8686
Tested-by: BuildkiteCI
Reviewed-by: Profpatsch <mail@profpatsch.de>
Autosubmit: Profpatsch <mail@profpatsch.de>
Diffstat (limited to 'users/Profpatsch/netencode/netencode.cabal')
-rw-r--r--users/Profpatsch/netencode/netencode.cabal57
1 files changed, 53 insertions, 4 deletions
diff --git a/users/Profpatsch/netencode/netencode.cabal b/users/Profpatsch/netencode/netencode.cabal
index 4e418d6dd887..7bff4487bbc1 100644
--- a/users/Profpatsch/netencode/netencode.cabal
+++ b/users/Profpatsch/netencode/netencode.cabal
@@ -1,25 +1,74 @@
-cabal-version:      2.4
+cabal-version:      3.0
 name:               netencode
 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
     exposed-modules:
         Netencode,
         Netencode.Parse
 
     build-depends:
         base >=4.15 && <5,
+        pa-prelude,
+        pa-label,
+        pa-error-tree,
         hedgehog,
         nonempty-containers,
         deriving-compat,
-        my-prelude,
         data-fix,
         bytestring,
         attoparsec,
         text,
         semigroupoids,
         selective
-
-    default-language: Haskell2010