about summary refs log tree commit diff
path: root/nixpkgs/pkgs/applications/networking/mailreaders/mailspring/linux.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/applications/networking/mailreaders/mailspring/linux.nix')
-rw-r--r--nixpkgs/pkgs/applications/networking/mailreaders/mailspring/linux.nix92
1 files changed, 92 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/applications/networking/mailreaders/mailspring/linux.nix b/nixpkgs/pkgs/applications/networking/mailreaders/mailspring/linux.nix
new file mode 100644
index 000000000000..dff8796f6ce2
--- /dev/null
+++ b/nixpkgs/pkgs/applications/networking/mailreaders/mailspring/linux.nix
@@ -0,0 +1,92 @@
+{ stdenv
+, lib
+, pname
+, version
+, meta
+, fetchurl
+, autoPatchelfHook
+, alsa-lib
+, coreutils
+, db
+, dpkg
+, glib
+, gtk3
+, wrapGAppsHook
+, libkrb5
+, libsecret
+, nss
+, openssl
+, udev
+, xorg
+, mesa
+, libdrm
+, libappindicator
+}:
+
+stdenv.mkDerivation (finalAttrs: {
+  inherit pname version meta;
+
+  src = fetchurl {
+    url = "https://github.com/Foundry376/Mailspring/releases/download/${finalAttrs.version}/mailspring-${finalAttrs.version}-amd64.deb";
+    hash = "sha256-2F5k8zRRI6x1EQ0k8wvIq1Q3Lnrn2ROp/Mq+H7Vqzlc=";
+  };
+
+  nativeBuildInputs = [
+    autoPatchelfHook
+    dpkg
+    wrapGAppsHook
+  ];
+
+  buildInputs = [
+    alsa-lib
+    db
+    glib
+    gtk3
+    libkrb5
+    libsecret
+    nss
+    xorg.libxkbfile
+    xorg.libXdamage
+    xorg.libXScrnSaver
+    xorg.libXtst
+    xorg.libxshmfence
+    mesa
+    libdrm
+  ];
+
+  runtimeDependencies = [
+    coreutils
+    openssl
+    (lib.getLib udev)
+    libappindicator
+    libsecret
+  ];
+
+  unpackPhase = ''
+    runHook preUnpack
+
+    dpkg -x $src .
+
+    runHook postUnpack
+  '';
+
+  installPhase = ''
+    runHook preInstall
+
+    mkdir -p $out/{bin,lib}
+    cp -ar ./usr/share $out
+
+    substituteInPlace $out/share/mailspring/resources/app.asar.unpacked/mailsync \
+      --replace-fail dirname ${coreutils}/bin/dirname
+
+    ln -s $out/share/mailspring/mailspring $out/bin/mailspring
+    ln -s ${lib.getLib openssl}/lib/libcrypto.so $out/lib/libcrypto.so.1.0.0
+
+    runHook postInstall
+  '';
+
+  postFixup = /* sh */ ''
+    substituteInPlace $out/share/applications/Mailspring.desktop \
+      --replace-fail Exec=mailspring Exec=$out/bin/mailspring
+  '';
+})