diff --git a/flake.nix b/flake.nix index 2892415..999208b 100644 --- a/flake.nix +++ b/flake.nix @@ -95,6 +95,7 @@ }) (_: super: { nicer = super.callPackage ./pkgs/nicer.nix { }; + imapsync = super.callPackage ./pkgs/imapsync.nix { }; tmuxbash = super.callPackage ./pkgs/tmuxbash.nix { }; vanta-agent = super.callPackage ./pkgs/vanta-agent.nix { }; diff --git a/pkgs/imapsync.nix b/pkgs/imapsync.nix new file mode 100644 index 0000000..6e58a91 --- /dev/null +++ b/pkgs/imapsync.nix @@ -0,0 +1,76 @@ +{ + lib, + fetchurl, + makeWrapper, + perl, + perlPackages, + stdenv, +}: + +stdenv.mkDerivation rec { + pname = "imapsync"; + version = "2.290"; + + src = fetchurl { + url = "https://imapsync.lamiral.info/dist/old_releases/2.290/imapsync-${version}.tgz"; + sha256 = "sha256-uFhTxnaUDP793isfpF/7T8d4AnXDL4uN6zU8igY+EFE="; + }; + + postPatch = '' + sed -i -e s@/usr@$out@ Makefile + substituteInPlace INSTALL.d/prerequisites_imapsync --replace "PAR::Packer" "" + ''; + + postInstall = '' + wrapProgram $out/bin/imapsync --set PERL5LIB $PERL5LIB + ''; + + nativeBuildInputs = [ makeWrapper ]; + + buildInputs = with perlPackages; [ + Appcpanminus + CGI + CryptOpenSSLRSA + DataUniqid + DistCheckConflicts + EncodeIMAPUTF7 + FileCopyRecursive + FileTail + IOSocketINET6 + IOTee + JSONWebToken + LWP + MailIMAPClient + ModuleImplementation + ModuleScanDeps + NetServer + NTLM + PackageStash + PackageStashXS + ProcProcessTable + Readonly + RegexpCommon + SysMemInfo + TermReadKey + TestDeep + TestFatal + TestMockGuard + TestMockObject + TestPod + TestRequires + UnicodeString + perl + ]; + + meta = with lib; { + description = "Mail folder synchronizer between IMAP servers"; + mainProgram = "imapsync"; + homepage = "https://imapsync.lamiral.info/"; + license = licenses.nlpl; + maintainers = with maintainers; [ + pSub + motiejus + ]; + platforms = platforms.unix; + }; +}