about summary refs log tree commit diff
path: root/pkgs/by-name/me/meli/package.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/by-name/me/meli/package.nix')
-rw-r--r--pkgs/by-name/me/meli/package.nix86
1 files changed, 86 insertions, 0 deletions
diff --git a/pkgs/by-name/me/meli/package.nix b/pkgs/by-name/me/meli/package.nix
new file mode 100644
index 0000000000000..a4ff654ad892c
--- /dev/null
+++ b/pkgs/by-name/me/meli/package.nix
@@ -0,0 +1,86 @@
+{ stdenv
+, lib
+, fetchzip
+, rustPlatform
+
+# native build inputs
+, pkg-config
+, installShellFiles
+, makeWrapper
+, mandoc
+, rustfmt
+, file
+
+# build inputs
+, openssl
+, dbus
+, sqlite
+
+# runtime deps
+, gnum4
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "meli";
+  version = "0.8.4";
+
+  src = fetchzip {
+    urls = [
+      "https://git.meli-email.org/meli/meli/archive/v${version}.tar.gz"
+      "https://codeberg.org/meli/meli/archive/v${version}.tar.gz"
+      "https://github.com/meli/meli/archive/refs/tags/v${version}.tar.gz"
+    ];
+    hash = "sha256-wmIlYgXB17/i9Q+6C7pbcEjVlEuvhmqrSH+cDmaBKLs=";
+  };
+
+  cargoHash = "sha256-gYS/dxNMz/HkCmRXH5AdHPXJ2giqpAHc4eVXJGOpMDM=";
+
+  # Needed to get openssl-sys to use pkg-config
+  OPENSSL_NO_VENDOR=1;
+
+  nativeBuildInputs = [
+    pkg-config
+    installShellFiles
+    makeWrapper
+    mandoc
+    (rustfmt.override { asNightly = true; })
+  ];
+
+  buildInputs = [
+    openssl
+    dbus
+    sqlite
+  ];
+
+  nativeCheckInputs = [
+    file
+  ];
+
+  postInstall = ''
+    installManPage meli/docs/*.{1,5,7}
+
+    wrapProgram $out/bin/meli \
+      --prefix PATH : ${lib.makeBinPath [ gnum4 ]}
+  '';
+
+  preCheck = ''
+    export HOME=$(mktemp -d)
+  '';
+
+  checkFlags = [
+    "--skip=conf::test_config_parse"        # panicking due to sandbox
+    "--skip=smtp::test::test_smtp"          # requiring network
+    "--skip=utils::xdg::query_default_app"  # doesn't build
+    "--skip=utils::xdg::query_mime_info"    # doesn't build
+  ];
+
+  meta = with lib; {
+    broken = (stdenv.isLinux && stdenv.isAarch64);
+    description = "Terminal e-mail client and e-mail client library";
+    mainProgram = "meli";
+    homepage = "https://meli.delivery";
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ _0x4A6F matthiasbeyer ];
+    platforms = platforms.linux;
+  };
+}