about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/libraries/mailcore2
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/mailcore2')
-rw-r--r--nixpkgs/pkgs/development/libraries/mailcore2/default.nix72
1 files changed, 72 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/libraries/mailcore2/default.nix b/nixpkgs/pkgs/development/libraries/mailcore2/default.nix
new file mode 100644
index 000000000000..86b4a320b68f
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/mailcore2/default.nix
@@ -0,0 +1,72 @@
+{ stdenv, lib, fetchFromGitHub, cmake, libetpan, icu, cyrus_sasl, libctemplate
+, libuchardet, pkg-config, glib, html-tidy, libxml2, libuuid, openssl
+, darwin
+}:
+
+stdenv.mkDerivation rec {
+  pname = "mailcore2";
+
+  version = "0.6.4";
+
+  src = fetchFromGitHub {
+    owner  = "MailCore";
+    repo   = "mailcore2";
+    rev    = version;
+    sha256 = "0a69q11z194fdfwyazjyyylx57sqs9j4lz7jwh5qcws8syqgb23z";
+  };
+
+  nativeBuildInputs = [ cmake pkg-config ];
+  buildInputs = [
+    libetpan cyrus_sasl libctemplate libuchardet
+    html-tidy libxml2 openssl
+  ] ++ lib.optionals stdenv.isLinux [
+    glib
+    icu
+    libuuid
+  ] ++ lib.optionals stdenv.isDarwin [
+    darwin.apple_sdk.frameworks.Foundation
+  ];
+
+  postPatch = ''
+    substituteInPlace CMakeLists.txt \
+       --replace " icule iculx" "" \
+       --replace "tidy/tidy.h" "tidy.h" \
+       --replace "/usr/include/tidy" "${html-tidy}/include" \
+       --replace "/usr/include/libxml2" "${libxml2.dev}/include/libxml2"
+    substituteInPlace src/core/basetypes/MCHTMLCleaner.cpp \
+      --replace buffio.h tidybuffio.h
+    substituteInPlace src/core/basetypes/MCString.cpp \
+      --replace "xmlErrorPtr" "const xmlError *"
+  '' + lib.optionalString (!stdenv.isDarwin) ''
+    substituteInPlace src/core/basetypes/MCICUTypes.h \
+      --replace "__CHAR16_TYPE__ UChar" "char16_t UChar"
+  '';
+
+  cmakeFlags = lib.optionals (!stdenv.isDarwin) [
+    "-DBUILD_SHARED_LIBS=ON"
+  ];
+
+  installPhase = ''
+    mkdir $out
+    cp -r src/include $out
+
+    mkdir $out/lib
+    cp src/libMailCore.* $out/lib
+  '';
+
+  doCheck = !stdenv.isDarwin;
+  checkPhase = ''
+    (
+      cd unittest
+      TZ=PST8PDT ./unittestcpp ../../unittest/data
+    )
+  '';
+
+  meta = with lib; {
+    description = "A simple and asynchronous API to work with e-mail protocols IMAP, POP and SMTP";
+    homepage    = "http://libmailcore.com";
+    license     = licenses.bsd3;
+    maintainers = with maintainers; [ ];
+    platforms   = platforms.unix;
+  };
+}