The json parsing library gives us an error path where the parse failed, which means we can index into the path to show the json value that failed us. This can be quite expensive (and large!) of course, but the error message clarity is worth it methinks. Change-Id: Icacbd799254aaecd4a939ca13e6070d68a78138d Reviewed-on: https://cl.tvl.fyi/c/depot/+/12952 Tested-by: BuildkiteCI Reviewed-by: Profpatsch <mail@profpatsch.de>
56 lines
1.4 KiB
Nix
56 lines
1.4 KiB
Nix
{ depot, pkgs, lib, ... }:
|
|
|
|
pkgs.haskellPackages.mkDerivation {
|
|
pname = "my-prelude";
|
|
version = "0.0.1-unreleased";
|
|
|
|
src = depot.users.Profpatsch.exactSource ./. [
|
|
./my-prelude.cabal
|
|
./src/Aeson.hs
|
|
./src/Comparison.hs
|
|
./src/Debug.hs
|
|
./src/Json.hs
|
|
./src/Json/Enc.hs
|
|
./src/Arg.hs
|
|
./src/AtLeast.hs
|
|
./src/MyPrelude.hs
|
|
./src/Test.hs
|
|
./src/Parse.hs
|
|
./src/Pretty.hs
|
|
./src/Seconds.hs
|
|
./src/Tool.hs
|
|
./src/ValidationParseT.hs
|
|
./src/Postgres/Decoder.hs
|
|
./src/Postgres/MonadPostgres.hs
|
|
];
|
|
|
|
isLibrary = true;
|
|
|
|
libraryHaskellDepends = [
|
|
pkgs.haskellPackages.pa-prelude
|
|
pkgs.haskellPackages.pa-label
|
|
pkgs.haskellPackages.pa-error-tree
|
|
pkgs.haskellPackages.pa-json
|
|
pkgs.haskellPackages.pa-pretty
|
|
pkgs.haskellPackages.pa-field-parser
|
|
pkgs.haskellPackages.aeson-better-errors
|
|
pkgs.haskellPackages.foldl
|
|
pkgs.haskellPackages.resource-pool
|
|
pkgs.haskellPackages.error
|
|
pkgs.haskellPackages.hs-opentelemetry-api
|
|
pkgs.haskellPackages.hspec
|
|
pkgs.haskellPackages.hspec-expectations-pretty-diff
|
|
pkgs.haskellPackages.monad-logger
|
|
pkgs.haskellPackages.postgresql-simple
|
|
pkgs.haskellPackages.profunctors
|
|
pkgs.haskellPackages.PyF
|
|
pkgs.haskellPackages.semigroupoids
|
|
pkgs.haskellPackages.these
|
|
pkgs.haskellPackages.unliftio
|
|
pkgs.haskellPackages.validation-selective
|
|
pkgs.haskellPackages.vector
|
|
];
|
|
|
|
license = lib.licenses.mit;
|
|
|
|
}
|