Unverified Commit 7a6c7c28 authored by Sandro Jäckel's avatar Sandro Jäckel Committed by GitHub
Browse files

imapgoose: init at 0.4.2 (#457095)

parents 07169f6d cee2209f
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -3671,6 +3671,12 @@
    githubId = 10221570;
    name = "Bo Bakker";
  };
  bobberb = {
    email = "bobberb@half-done.org";
    github = "bobberb";
    githubId = 1891836;
    name = "bobberb";
  };
  bobby285271 = {
    name = "Bobby Rong";
    email = "rjl931189261@126.com";
+53 −0
Original line number Diff line number Diff line
{
  lib,
  buildGoModule,
  fetchFromSourcehut,
  installShellFiles,
}:
buildGoModule rec {
  pname = "imapgoose";
  version = "0.4.2";

  src = fetchFromSourcehut {
    owner = "~whynothugo";
    repo = "ImapGoose";
    tag = "v${version}";
    hash = "sha256-Zu2cHCTl6RyZzndFrLM7xTeD/T3isVerIB8D6vD3jIU=";
  };

  vendorHash = "sha256-6mh6KsJlijXn+bLzmtJSC4lcYFChQdyBKEjFzbQMIM0=";

  subPackages = [
    "cmd/imapgoose"
    "cmd/capcheck"
  ];

  nativeBuildInputs = [ installShellFiles ];

  postInstall = ''
    installManPage imapgoose.1
    installManPage imapgoose.conf.5
  '';

  meta = {
    description = "IMAP to Maildir synchronization tool";
    longDescription = ''
      ImapGoose is a daemon that continuously keeps local mailboxes in sync
      with an IMAP server. It monitors both the IMAP server and local
      filesystem, immediately synchronizing changes within seconds. Unlike
      traditional sync tools, ImapGoose is highly optimized to reduce network
      traffic by leveraging modern IMAP extensions (CONDSTORE, QRESYNC, and
      NOTIFY) to perform efficient incremental syncs. It can monitor multiple
      mailboxes per connection and automatically reconnects with exponential
      back-off when network issues occur.
    '';
    homepage = "https://git.sr.ht/~whynothugo/ImapGoose";
    changelog = "https://git.sr.ht/~whynothugo/ImapGoose/refs/v${version}";
    license = lib.licenses.isc;
    platforms = lib.platforms.linux;
    mainProgram = "imapgoose";
    maintainers = with lib.maintainers; [
      bobberb
    ];
  };
}