chore(users/Profpatsch/*): more cabal maintenance
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>
This commit is contained in:
parent
ee21f725a3
commit
8c4730c433
24 changed files with 264 additions and 203 deletions
|
|
@ -1,20 +1,17 @@
|
|||
{-# LANGUAGE LambdaCase #-}
|
||||
{-# LANGUAGE OverloadedStrings #-}
|
||||
{-# LANGUAGE QuasiQuotes #-}
|
||||
|
||||
module ArglibNetencode where
|
||||
|
||||
import qualified Data.Attoparsec.ByteString as Atto
|
||||
import Data.Maybe (fromMaybe)
|
||||
import Data.Attoparsec.ByteString qualified as Atto
|
||||
import ExecHelpers
|
||||
import MyPrelude
|
||||
import Netencode
|
||||
import qualified System.Environment as Env
|
||||
import qualified System.Posix.Env.ByteString as ByteEnv
|
||||
import Label
|
||||
import Netencode qualified
|
||||
import PossehlAnalyticsPrelude
|
||||
import System.Posix.Env.ByteString qualified as ByteEnv
|
||||
|
||||
arglibNetencode :: CurrentProgramName -> Maybe Text -> IO T
|
||||
arglibNetencode :: CurrentProgramName -> Maybe (Label "arglibEnvvar" Text) -> IO Netencode.T
|
||||
arglibNetencode progName mEnvvar = do
|
||||
let envvar = mEnvvar & fromMaybe "ARGLIB_NETENCODE" & textToBytesUtf8
|
||||
let envvar = mEnvvar <&> (.arglibEnvvar) & fromMaybe "ARGLIB_NETENCODE" & textToBytesUtf8
|
||||
ByteEnv.getEnv envvar >>= \case
|
||||
Nothing -> dieUserError progName [fmt|could not read args, envvar {envvar} not set|]
|
||||
Just bytes ->
|
||||
|
|
|
|||
|
|
@ -1,17 +1,65 @@
|
|||
cabal-version: 2.4
|
||||
cabal-version: 3.0
|
||||
name: arglib-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: ArglibNetencode
|
||||
|
||||
build-depends:
|
||||
base >=4.15 && <5,
|
||||
my-prelude,
|
||||
pa-prelude,
|
||||
pa-label,
|
||||
netencode,
|
||||
exec-helpers,
|
||||
attoparsec,
|
||||
unix
|
||||
default-language: Haskell2010
|
||||
|
|
|
|||
|
|
@ -57,7 +57,9 @@ let
|
|||
];
|
||||
|
||||
libraryHaskellDepends = [
|
||||
depot.users.Profpatsch.my-prelude
|
||||
pkgs.haskellPackages.pa-prelude
|
||||
pkgs.haskellPackages.pa-label
|
||||
pkgs.haskellPackages.pa-error-tree
|
||||
depot.users.Profpatsch.netencode.netencode-hs
|
||||
depot.users.Profpatsch.execline.exec-helpers-hs
|
||||
];
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue