chromium,chromedriver: 129.0.6668.91 -> 129.0.6668.100
[NixPkgs.git] / pkgs / by-name / me / meli / package.nix
blob0fc8b082ca3117a7ac57f1e300994b415633587b
1 { stdenv
2 , lib
3 , fetchzip
4 , fetchpatch
5 , rustPlatform
7 # native build inputs
8 , pkg-config
9 , installShellFiles
10 , makeWrapper
11 , mandoc
12 , rustfmt
13 , file
15 # build inputs
16 , openssl
17 , dbus
18 , sqlite
20 # runtime deps
21 , gpgme
22 , gnum4
25 rustPlatform.buildRustPackage rec {
26   pname = "meli";
27   version = "0.8.7";
29   src = fetchzip {
30     urls = [
31       "https://git.meli-email.org/meli/meli/archive/v${version}.tar.gz"
32       "https://codeberg.org/meli/meli/archive/v${version}.tar.gz"
33       "https://github.com/meli/meli/archive/refs/tags/v${version}.tar.gz"
34     ];
35     hash = "sha256-2+JIehi2wuWdARbhFPvNPIJ9ucZKWjNSORszEG9lyjw=";
36   };
38   cargoHash = "sha256-ZVhUkpiiPKbWcf56cXFgn3Nyr63STHLlD7mpYEetNIY=";
40   cargoPatches = [
41     (fetchpatch {
42       # https://github.com/NixOS/nixpkgs/issues/332957#issuecomment-2278578811
43       name = "fix-rust-1.80-compat.patch";
44       url = "https://git.meli-email.org/meli/meli/commit/6b05279a0987315c401516cac8ff0b016a8e02a8.patch";
45       hash = "sha256-mh8H7wmHMXAe01UTvdY8vJeeLyH6ZFwylNLFFL+4LO0=";
46     })
47   ];
49   # Needed to get openssl-sys to use pkg-config
50   OPENSSL_NO_VENDOR=1;
52   nativeBuildInputs = [
53     pkg-config
54     installShellFiles
55     makeWrapper
56     mandoc
57     (rustfmt.override { asNightly = true; })
58   ];
60   buildInputs = [
61     openssl
62     dbus
63     sqlite
64   ];
66   nativeCheckInputs = [
67     file
68     gnum4
69   ];
71   postInstall = ''
72     installManPage meli/docs/*.{1,5,7}
74     wrapProgram $out/bin/meli \
75       --prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ gpgme ]} \
76       --prefix PATH : ${lib.makeBinPath [ gnum4 ]}
77   '';
79   preCheck = ''
80     export HOME=$(mktemp -d)
81   '';
83   checkFlags = [
84     "--skip=conf::tests::test_config_parse"            # panicking due to sandbox
85     "--skip=utils::tests::test_shellexpandtrait_impls" # panicking due to sandbox
86     "--skip=utils::tests::test_shellexpandtrait"       # panicking due to sandbox
87   ];
89   meta = with lib; {
90     broken = (stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isAarch64);
91     description = "Terminal e-mail client and e-mail client library";
92     mainProgram = "meli";
93     homepage = "https://meli.delivery";
94     license = licenses.gpl3;
95     maintainers = with maintainers; [ _0x4A6F matthiasbeyer ];
96     platforms = platforms.linux;
97   };