1{
2 stdenv,
3 fetchzip,
4 lib,
5 makeWrapper,
6 unzip,
7 glib,
8 gtk2,
9 gtk3,
10 jre,
11 libXtst,
12 coreutils,
13 gnugrep,
14 zulu,
15 preferGtk3 ? true,
16 preferZulu ? true,
17}:
18
19let
20 rev = 3627;
21 jre' = if preferZulu then zulu else jre;
22 gtk' = if preferGtk3 then gtk3 else gtk2;
23in
24stdenv.mkDerivation rec {
25 pname = "davmail";
26 version = "6.3.0";
27
28 src = fetchzip {
29 url = "mirror://sourceforge/${pname}/${version}/${pname}-${version}-${toString rev}.zip";
30 hash = "sha256-zJMwCFX/uJnLeThj6/t2usBRM+LIuamZt0EFLG3N+8k=";
31 stripRoot = false;
32 };
33
34 postPatch = ''
35 sed -i -e '/^JAVA_OPTS/d' davmail
36 '';
37
38 nativeBuildInputs = [
39 makeWrapper
40 unzip
41 ];
42
43 installPhase = ''
44 runHook preInstall
45
46 mkdir -p $out/share/davmail
47 cp -vR ./* $out/share/davmail
48 makeWrapper $out/share/davmail/davmail $out/bin/davmail \
49 --set-default JAVA_OPTS "-Xmx512M -Dsun.net.inetaddr.ttl=60 -Djdk.gtk.version=${lib.versions.major gtk'.version}" \
50 --prefix PATH : ${
51 lib.makeBinPath [
52 jre'
53 coreutils
54 gnugrep
55 ]
56 } \
57 --prefix LD_LIBRARY_PATH : ${
58 lib.makeLibraryPath [
59 glib
60 gtk'
61 libXtst
62 ]
63 }
64
65 runHook postInstall
66 '';
67
68 meta = with lib; {
69 description = "Java application which presents a Microsoft Exchange server as local CALDAV, IMAP and SMTP servers";
70 homepage = "https://davmail.sourceforge.net/";
71 license = licenses.gpl2Plus;
72 maintainers = with maintainers; [ peterhoeg ];
73 platforms = platforms.all;
74 mainProgram = "davmail";
75 };
76}