diff options
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/mailcore2')
-rw-r--r-- | nixpkgs/pkgs/development/libraries/mailcore2/default.nix | 23 |
1 files changed, 18 insertions, 5 deletions
diff --git a/nixpkgs/pkgs/development/libraries/mailcore2/default.nix b/nixpkgs/pkgs/development/libraries/mailcore2/default.nix index 77e7669c0e12..86b4a320b68f 100644 --- a/nixpkgs/pkgs/development/libraries/mailcore2/default.nix +++ b/nixpkgs/pkgs/development/libraries/mailcore2/default.nix @@ -1,5 +1,6 @@ { stdenv, lib, fetchFromGitHub, cmake, libetpan, icu, cyrus_sasl, libctemplate , libuchardet, pkg-config, glib, html-tidy, libxml2, libuuid, openssl +, darwin }: stdenv.mkDerivation rec { @@ -16,8 +17,14 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ cmake pkg-config ]; buildInputs = [ - libetpan icu cyrus_sasl libctemplate libuchardet glib - html-tidy libxml2 libuuid openssl + 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 = '' @@ -28,9 +35,14 @@ stdenv.mkDerivation rec { --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 = [ + cmakeFlags = lib.optionals (!stdenv.isDarwin) [ "-DBUILD_SHARED_LIBS=ON" ]; @@ -39,10 +51,10 @@ stdenv.mkDerivation rec { cp -r src/include $out mkdir $out/lib - cp src/libMailCore.so $out/lib + cp src/libMailCore.* $out/lib ''; - doCheck = true; + doCheck = !stdenv.isDarwin; checkPhase = '' ( cd unittest @@ -55,5 +67,6 @@ stdenv.mkDerivation rec { homepage = "http://libmailcore.com"; license = licenses.bsd3; maintainers = with maintainers; [ ]; + platforms = platforms.unix; }; } |