eeb5e7abd6
Move the http calls into their own module, so we can trace the request and provide a simple copy-to-replay command. We have to work around a bug in the otel library, which would limit our attribute value length to 128 bytes because it uses the wrong option value. ~~~ `ifExists` is finally made more useful for dealing with optional attributes in e.g. lists. Change-Id: Iafab523e9ec4b00136db43f31fdc12aeefb7f77c Reviewed-on: https://cl.tvl.fyi/c/depot/+/11241 Tested-by: BuildkiteCI Autosubmit: Profpatsch <mail@profpatsch.de> Reviewed-by: Profpatsch <mail@profpatsch.de>
78 lines
2 KiB
Nix
78 lines
2 KiB
Nix
{ depot, pkgs, lib, ... }:
|
|
|
|
let
|
|
# bins = depot.nix.getBins pkgs.sqlite ["sqlite3"];
|
|
|
|
whatcd-resolver = pkgs.haskellPackages.mkDerivation {
|
|
pname = "whatcd-resolver";
|
|
version = "0.1.0";
|
|
|
|
src = depot.users.Profpatsch.exactSource ./. [
|
|
./whatcd-resolver.cabal
|
|
./Main.hs
|
|
./src/WhatcdResolver.hs
|
|
./src/AppT.hs
|
|
./src/JsonLd.hs
|
|
./src/Optional.hs
|
|
./src/Html.hs
|
|
./src/Http.hs
|
|
./src/Transmission.hs
|
|
./src/Redacted.hs
|
|
];
|
|
|
|
libraryHaskellDepends = [
|
|
depot.users.Profpatsch.my-prelude
|
|
depot.users.Profpatsch.my-webstuff
|
|
pkgs.haskellPackages.pa-prelude
|
|
pkgs.haskellPackages.pa-label
|
|
pkgs.haskellPackages.pa-json
|
|
pkgs.haskellPackages.pa-error-tree
|
|
pkgs.haskellPackages.pa-field-parser
|
|
pkgs.haskellPackages.pa-run-command
|
|
pkgs.haskellPackages.aeson-better-errors
|
|
pkgs.haskellPackages.blaze-html
|
|
pkgs.haskellPackages.dlist
|
|
pkgs.haskellPackages.hs-opentelemetry-sdk
|
|
pkgs.haskellPackages.http-conduit
|
|
pkgs.haskellPackages.http-types
|
|
pkgs.haskellPackages.ihp-hsx
|
|
pkgs.haskellPackages.monad-logger
|
|
pkgs.haskellPackages.resource-pool
|
|
pkgs.haskellPackages.postgresql-simple
|
|
pkgs.haskellPackages.selective
|
|
pkgs.haskellPackages.tmp-postgres
|
|
pkgs.haskellPackages.unliftio
|
|
pkgs.haskellPackages.wai-extra
|
|
pkgs.haskellPackages.warp
|
|
pkgs.haskellPackages.punycode
|
|
];
|
|
|
|
isExecutable = true;
|
|
isLibrary = false;
|
|
license = lib.licenses.mit;
|
|
};
|
|
|
|
bins = depot.nix.getBins whatcd-resolver [ "whatcd-resolver" ];
|
|
|
|
in
|
|
|
|
depot.nix.writeExecline "whatcd-resolver-wrapped" { } [
|
|
"importas"
|
|
"-i"
|
|
"PATH"
|
|
"PATH"
|
|
"export"
|
|
"PATH"
|
|
# TODO: figure out how to automatically migrate to a new postgres version with tmp_postgres (dump?)
|
|
"${pkgs.postgresql_14}/bin:$${PATH}"
|
|
"export"
|
|
"WHATCD_RESOLVER_TOOLS"
|
|
(pkgs.linkFarm "whatcd-resolver-tools" [
|
|
{
|
|
name = "pg_format";
|
|
path = "${pkgs.pgformatter}/bin/pg_format";
|
|
}
|
|
])
|
|
bins.whatcd-resolver
|
|
]
|
|
|