From ce7117ccc055167bd2254328b659a80dbf28706c Mon Sep 17 00:00:00 2001 From: Weijia Wang <9713184+wegank@users.noreply.github.com> Date: Wed, 24 Jan 2024 11:56:22 +0100 Subject: [PATCH] mailcore2: fix build on darwin --- .../libraries/mailcore2/default.nix | 23 +++++++++++++------ 1 file changed, 16 insertions(+), 7 deletions(-) diff --git a/pkgs/development/libraries/mailcore2/default.nix b/pkgs/development/libraries/mailcore2/default.nix index b266979d12e4..86b4a320b68f 100644 --- a/pkgs/development/libraries/mailcore2/default.nix +++ b/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,13 +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/MCICUTypes.h \ - --replace "__CHAR16_TYPE__ UChar" "char16_t UChar" 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" ]; @@ -43,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 @@ -59,5 +67,6 @@ stdenv.mkDerivation rec { homepage = "http://libmailcore.com"; license = licenses.bsd3; maintainers = with maintainers; [ ]; + platforms = platforms.unix; }; }