about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/libraries/gmime
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/gmime')
-rw-r--r--nixpkgs/pkgs/development/libraries/gmime/2.nix44
-rw-r--r--nixpkgs/pkgs/development/libraries/gmime/3.nix54
-rw-r--r--nixpkgs/pkgs/development/libraries/gmime/iconv-detect.h6
-rw-r--r--nixpkgs/pkgs/development/libraries/gmime/musl-iconv-detect.h6
4 files changed, 110 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/libraries/gmime/2.nix b/nixpkgs/pkgs/development/libraries/gmime/2.nix
new file mode 100644
index 000000000000..d6369227739b
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/gmime/2.nix
@@ -0,0 +1,44 @@
+{ lib, stdenv, fetchurl, pkg-config, glib, zlib, gnupg, libgpg-error, gobject-introspection }:
+
+stdenv.mkDerivation rec {
+  version = "2.6.23";
+  pname = "gmime";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/gmime/2.6/${pname}-${version}.tar.xz";
+    sha256 = "0slzlzcr3h8jikpz5a5amqd0csqh2m40gdk910ws2hnaf5m6hjbi";
+  };
+
+  outputs = [ "out" "dev" ];
+
+  nativeBuildInputs = [ pkg-config gobject-introspection ];
+  propagatedBuildInputs = [ glib zlib libgpg-error ];
+  configureFlags = [
+    "--enable-introspection=yes"
+  ] ++ lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [ "ac_cv_have_iconv_detect_h=yes" ];
+
+  postPatch = ''
+    substituteInPlace tests/testsuite.c \
+      --replace /bin/rm rm \
+      --replace /bin/mkdir mkdir
+
+    substituteInPlace tests/test-pkcs7.c \
+      --replace /bin/mkdir mkdir
+  '';
+
+  preConfigure = 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 ];
+
+  enableParallelBuilding = true;
+
+  meta = with lib; {
+    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;
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/gmime/3.nix b/nixpkgs/pkgs/development/libraries/gmime/3.nix
new file mode 100644
index 000000000000..e5a70f234872
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/gmime/3.nix
@@ -0,0 +1,54 @@
+{ lib, stdenv, fetchurl, pkg-config, glib, zlib, gnupg, gpgme, libidn2, libunistring, gobject-introspection
+, vala }:
+
+stdenv.mkDerivation rec {
+  version = "3.2.12";
+  pname = "gmime";
+
+  src = fetchurl { # https://github.com/jstedfast/gmime/releases
+    url = "https://github.com/jstedfast/gmime/releases/download/${version}/gmime-${version}.tar.xz";
+    sha256 = "sha256-OPm3aBgjQsSExBIobbjVgRaX/4FiQ3wFea3w0G4icFs=";
+  };
+
+  outputs = [ "out" "dev" ];
+
+  nativeBuildInputs = [ pkg-config gobject-introspection vala ];
+  buildInputs = [
+    zlib
+    gpgme
+    libidn2
+    libunistring
+    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
+  '';
+
+  nativeCheckInputs = [ gnupg ];
+
+  doCheck = true;
+
+  enableParallelBuilding = true;
+
+  meta = with lib; {
+    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;
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/gmime/iconv-detect.h b/nixpkgs/pkgs/development/libraries/gmime/iconv-detect.h
new file mode 100644
index 000000000000..6d9dd05b59e2
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/gmime/iconv-detect.h
@@ -0,0 +1,6 @@
+/* This is an auto-generated header, DO NOT EDIT! */
+
+#define ICONV_ISO_INT_FORMAT "iso-%u-%u"
+#define ICONV_ISO_STR_FORMAT "iso-%u-%s"
+#define ICONV_SHIFT_JIS "shift-jis"
+#define ICONV_10646 "iso-10646"
diff --git a/nixpkgs/pkgs/development/libraries/gmime/musl-iconv-detect.h b/nixpkgs/pkgs/development/libraries/gmime/musl-iconv-detect.h
new file mode 100644
index 000000000000..569da106b943
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/gmime/musl-iconv-detect.h
@@ -0,0 +1,6 @@
+/* This is an auto-generated header, DO NOT EDIT! */
+
+#define ICONV_ISO_INT_FORMAT "iso-%u-%u"
+#define ICONV_ISO_STR_FORMAT "iso-%u-%s"
+#define ICONV_SHIFT_JIS "shift-jis"
+#define ICONV_10646 "UCS-4BE"