about summary refs log tree commit diff
path: root/pkgs/development/libraries/gmime/3.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/libraries/gmime/3.nix')
-rw-r--r--pkgs/development/libraries/gmime/3.nix84
1 files changed, 58 insertions, 26 deletions
diff --git a/pkgs/development/libraries/gmime/3.nix b/pkgs/development/libraries/gmime/3.nix
index 8f20d756c1f9f..25d6c85aa328d 100644
--- a/pkgs/development/libraries/gmime/3.nix
+++ b/pkgs/development/libraries/gmime/3.nix
@@ -1,18 +1,38 @@
-{ lib, stdenv, fetchurl, pkg-config, glib, zlib, gnupg, gpgme, libidn2, libunistring, gobject-introspection
-, vala }:
+{
+  lib,
+  stdenv,
+  fetchurl,
+  pkg-config,
+  glib,
+  zlib,
+  gnupg,
+  gpgme,
+  libidn2,
+  libunistring,
+  gobject-introspection,
+  vala,
+}:
 
 stdenv.mkDerivation rec {
   version = "3.2.14";
   pname = "gmime";
 
-  src = fetchurl { # https://github.com/jstedfast/gmime/releases
+  src = fetchurl {
+    # https://github.com/jstedfast/gmime/releases
     url = "https://github.com/jstedfast/gmime/releases/download/${version}/gmime-${version}.tar.xz";
     sha256 = "sha256-pes91nX3LlRci8HNEhB+Sq0ursGQXre0ATzbH75eIxc=";
   };
 
-  outputs = [ "out" "dev" ];
+  outputs = [
+    "out"
+    "dev"
+  ];
 
-  nativeBuildInputs = [ pkg-config gobject-introspection vala ];
+  nativeBuildInputs = [
+    pkg-config
+    gobject-introspection
+    vala
+  ];
   buildInputs = [
     zlib
     gpgme
@@ -21,22 +41,34 @@ stdenv.mkDerivation rec {
     vala # for share/vala/Makefile.vapigen
   ];
   propagatedBuildInputs = [ glib ];
-  configureFlags = [
-    "--enable-introspection=yes"
-    "--enable-vala=yes"
-  ] ++ lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [ "ac_cv_have_iconv_detect_h=yes" ];
-
-  postPatch = ''
-    substituteInPlace tests/testsuite.c \
-      --replace /bin/rm rm
-  '';
-
-  preConfigure = ''
-    PKG_CONFIG_VAPIGEN_VAPIGEN="$(type -p vapigen)"
-    export PKG_CONFIG_VAPIGEN_VAPIGEN
-  '' + lib.optionalString (stdenv.buildPlatform != stdenv.hostPlatform) ''
-    cp ${if stdenv.hostPlatform.isMusl then ./musl-iconv-detect.h else ./iconv-detect.h} ./iconv-detect.h
-  '';
+  configureFlags =
+    [
+      "--enable-introspection=yes"
+      "--enable-vala=yes"
+    ]
+    ++ lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [ "ac_cv_have_iconv_detect_h=yes" ];
+
+  postPatch =
+    ''
+      substituteInPlace tests/testsuite.c \
+        --replace /bin/rm rm
+    ''
+    + lib.optionalString stdenv.isDarwin ''
+      # This specific test fails on darwin for some unknown reason
+      substituteInPlace tests/test-filters.c \
+        --replace-fail 'test_charset_conversion (datadir, "japanese", "utf-8", "iso-2022-jp");' ""
+    '';
+
+  preConfigure =
+    ''
+      PKG_CONFIG_VAPIGEN_VAPIGEN="$(type -p vapigen)"
+      export PKG_CONFIG_VAPIGEN_VAPIGEN
+    ''
+    + lib.optionalString (stdenv.buildPlatform != stdenv.hostPlatform) ''
+      cp ${
+        if stdenv.hostPlatform.isMusl then ./musl-iconv-detect.h else ./iconv-detect.h
+      } ./iconv-detect.h
+    '';
 
   nativeCheckInputs = [ gnupg ];
 
@@ -44,11 +76,11 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  meta = with lib; {
+  meta = {
     homepage = "https://github.com/jstedfast/gmime/";
-    description = "A C/C++ library for creating, editing and parsing MIME messages and structures";
-    license = licenses.lgpl21Plus;
-    maintainers = with maintainers; [ ];
-    platforms = platforms.unix;
+    description = "C/C++ library for creating, editing and parsing MIME messages and structures";
+    license = lib.licenses.lgpl21Plus;
+    maintainers = with lib.maintainers; [ ];
+    platforms = lib.platforms.unix;
   };
 }