nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 stdenv,
3 lib,
4 pname,
5 version,
6 meta,
7 fetchurl,
8 autoPatchelfHook,
9 alsa-lib,
10 coreutils,
11 db,
12 dpkg,
13 glib,
14 gtk3,
15 wrapGAppsHook3,
16 libkrb5,
17 libsecret,
18 nss,
19 openssl,
20 udev,
21 libxtst,
22 libxscrnsaver,
23 libxdamage,
24 libxshmfence,
25 libxkbfile,
26 libgbm,
27 libdrm,
28 libappindicator,
29}:
30
31stdenv.mkDerivation (finalAttrs: {
32 inherit pname version meta;
33
34 src = fetchurl {
35 url = "https://github.com/Foundry376/Mailspring/releases/download/${finalAttrs.version}/mailspring-${finalAttrs.version}-amd64.deb";
36 hash = "sha256-iJ6VzwvNTIRqUq9OWNOWOSuLbqhx+Lqx584kuyIslyA=";
37 };
38
39 nativeBuildInputs = [
40 autoPatchelfHook
41 dpkg
42 wrapGAppsHook3
43 ];
44
45 buildInputs = [
46 alsa-lib
47 db
48 glib
49 gtk3
50 libkrb5
51 libsecret
52 nss
53 libxkbfile
54 libxdamage
55 libxscrnsaver
56 libxtst
57 libxshmfence
58 libgbm
59 libdrm
60 ];
61
62 runtimeDependencies = [
63 coreutils
64 openssl
65 (lib.getLib udev)
66 libappindicator
67 libsecret
68 ];
69
70 unpackPhase = ''
71 runHook preUnpack
72
73 dpkg -x $src .
74
75 runHook postUnpack
76 '';
77
78 installPhase = ''
79 runHook preInstall
80
81 mkdir -p $out/{bin,lib}
82 cp -ar ./usr/share $out
83
84 substituteInPlace $out/share/mailspring/resources/app.asar.unpacked/mailsync \
85 --replace-fail dirname ${coreutils}/bin/dirname
86
87 ln -s $out/share/mailspring/mailspring $out/bin/mailspring
88 ln -s ${lib.getLib openssl}/lib/libcrypto.so $out/lib/libcrypto.so.1.0.0
89
90 runHook postInstall
91 '';
92
93 postFixup = # sh
94 ''
95 substituteInPlace $out/share/applications/Mailspring.desktop \
96 --replace-fail Exec=mailspring Exec=$out/bin/mailspring
97 '';
98})