diff --git a/pkgs/tools/networking/mailctl/default.nix b/pkgs/tools/networking/mailctl/default.nix new file mode 100644 index 000000000000..873d6f370939 --- /dev/null +++ b/pkgs/tools/networking/mailctl/default.nix @@ -0,0 +1,85 @@ +{ mkDerivation +, fetchFromSourcehut +, aeson +, base +, bytestring +, containers +, directory +, hsyslog +, http-conduit +, lib +, network-uri +, optparse-applicative +, pretty-simple +, process +, template-haskell +, text +, time +, twain +, utf8-string +, warp +, yaml +}: +mkDerivation rec { + pname = "mailctl"; + version = "0.8.8"; + + src = fetchFromSourcehut { + owner = "~petrus"; + repo = "mailctl"; + rev = version; + hash = "sha256-aFt6y2DzreROLcOLU8ynnSSVQW840T5wFqSRdSODQX4="; + }; + + isLibrary = true; + isExecutable = true; + + libraryHaskellDepends = [ + aeson + base + bytestring + containers + directory + hsyslog + http-conduit + network-uri + optparse-applicative + pretty-simple + process + template-haskell + text + time + twain + utf8-string + warp + yaml + ]; + + executableHaskellDepends = [ + aeson + base + bytestring + containers + directory + hsyslog + http-conduit + network-uri + optparse-applicative + pretty-simple + process + template-haskell + text + time + twain + utf8-string + warp + yaml + ]; + + description = "OAuth2 tool for mail clients"; + homepage = "https://sr.ht/~petrus/mailctl/"; + changelog = "https://git.sr.ht/~petrus/mailctl/refs/${version}"; + license = lib.licenses.bsd3; + maintainers = with lib.maintainers; [ aidalgol ]; + mainProgram = "mailctl"; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 6a3866691b37..4572d00ca157 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -2376,6 +2376,9 @@ with pkgs; mainsail = callPackage ../applications/misc/mainsail { }; + # Does not build with default Haskell version because upstream uses a newer Cabal version. + mailctl = haskell.packages.ghc94.callPackage ../tools/networking/mailctl { }; + mame = libsForQt5.callPackage ../applications/emulators/mame { }; mame-tools = lib.addMetaAttrs {