python312Packages.types-aiobotocore: 2.15.2 -> 2.15.2.post3 (#361801)
[NixPkgs.git] / pkgs / by-name / me / meli / package.nix
blob679a0c7326dbc9642e83bc4d8d37b325180621f2
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.9";
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-zFsKL9F6PGoYjxFfFs2Bkdm2ZCeJtnTygkgCL7AXl9o=";
36   };
38   cargoHash = "sha256-us/jlsRbg0Y6FwznbRZeqK1TwwgL1uBwBdyneyvdI6Q=";
40   # Needed to get openssl-sys to use pkg-config
41   OPENSSL_NO_VENDOR=1;
43   nativeBuildInputs = [
44     pkg-config
45     installShellFiles
46     makeWrapper
47     mandoc
48     (rustfmt.override { asNightly = true; })
49   ];
51   buildInputs = [
52     openssl
53     dbus
54     sqlite
55   ];
57   nativeCheckInputs = [
58     file
59     gnum4
60   ];
62   postInstall = ''
63     installManPage meli/docs/*.{1,5,7}
65     wrapProgram $out/bin/meli \
66       --prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ gpgme ]} \
67       --prefix PATH : ${lib.makeBinPath [ gnum4 ]}
68   '';
70   preCheck = ''
71     export HOME=$(mktemp -d)
72   '';
74   checkFlags = [
75     "--skip=test_cli_subcommands" # panicking due to sandbox
76   ];
78   meta = with lib; {
79     broken = (stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isAarch64);
80     description = "Terminal e-mail client and e-mail client library";
81     mainProgram = "meli";
82     homepage = "https://meli.delivery";
83     license = licenses.gpl3;
84     maintainers = with maintainers; [ _0x4A6F matthiasbeyer ];
85     platforms = platforms.linux ++ platforms.darwin;
86   };