nylas-mail: 2.0.31

Added new email client Nylas-Mail.
This commit is contained in:
John Ramsden 2017-05-07 16:05:53 -07:00
parent e7322f1fdf
commit 42ff593555
2 changed files with 140 additions and 1 deletions

View file

@ -0,0 +1,134 @@
{ config
, stdenv
, pkgs
, fetchurl
, dpkg
, lib
, gnome2
, libgnome_keyring
, desktop_file_utils
, python2
, nodejs
, libnotify
, alsaLib
, atk
, glib
, pango
, gdk_pixbuf
, cairo
, freetype
, fontconfig
, dbus
, nss
, nspr
, cups
, expat
, wget
, udev
, xorg
, libgcrypt
, makeWrapper
, gcc-unwrapped
, coreutils
}:
stdenv.mkDerivation rec {
name = "${pkgname}-${version}";
pkgname = "nylas-mail";
version = "2.0.31";
subVersion = "e675deb";
src = fetchurl {
url = "https://edgehill.s3-us-west-2.amazonaws.com/${version}-${subVersion}/linux-deb/x64/NylasMail.deb";
sha256 = "b036956174f998bd4a2662a1f59cb4a302465b3ed06c487de88ff2721e372f6e";
};
# Build dependencies
propagatedBuildInputs = [
gnome2.gtk
gnome2.GConf
libgnome_keyring
desktop_file_utils
python2
nodejs
libnotify
alsaLib
atk
glib
pango
gdk_pixbuf
cairo
freetype
fontconfig
dbus
nss
nspr
cups
expat
wget
udev
gcc-unwrapped
coreutils
xorg.libXScrnSaver
xorg.libXi
xorg.libXtst
xorg.libXcursor
xorg.libXdamage
xorg.libXrandr
xorg.libXcomposite
xorg.libXext
xorg.libXfixes
xorg.libXrender
xorg.libX11
xorg.libxkbfile
];
# Runtime dependencies
buildInputs = [ makeWrapper gnome2.gnome_keyring ];
phases = [ "unpackPhase" ];
unpackPhase = ''
mkdir -p $out
${dpkg}/bin/dpkg-deb -x $src unpacked
mv unpacked/usr/* $out/
# Fix path in desktop file
substituteInPlace $out/share/applications/nylas-mail.desktop \
--replace /usr/bin/nylas-mail $out/bin/nylas-mail
# Patch librariess
noderp=$(patchelf --print-rpath $out/share/nylas-mail/libnode.so)
patchelf --set-rpath $noderp:$out/lib:${stdenv.cc.cc.lib}/lib:${xorg.libxkbfile.out}/lib:${lib.makeLibraryPath propagatedBuildInputs } \
$out/share/nylas-mail/libnode.so
ffrp=$(patchelf --print-rpath $out/share/nylas-mail/libffmpeg.so)
patchelf --set-rpath $ffrp:$out/lib:${stdenv.cc.cc.lib}/lib:${lib.makeLibraryPath propagatedBuildInputs } \
$out/share/nylas-mail/libffmpeg.so
# Patch binaries
binrp=$(patchelf --print-rpath $out/share/nylas-mail/nylas)
patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
--set-rpath $binrp:$out/lib:${stdenv.cc.cc.lib}/lib:${lib.makeLibraryPath propagatedBuildInputs } \
$out/share/nylas-mail/nylas
wrapProgram $out/share/nylas-mail/nylas --set LD_LIBRARY_PATH "${xorg.libxkbfile}/lib:${pkgs.gnome3.libgnome_keyring}/lib";
# Fix path to bash so apm can install plugins.
substituteInPlace $out/share/nylas-mail/resources/apm/bin/apm \
--replace /bin/bash ${stdenv.shell}
wrapProgram $out/share/nylas-mail/resources/apm/bin/apm \
--set PATH "${coreutils}/bin"
patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
--set-rpath ${gcc-unwrapped.lib}/lib \
$out/share/nylas-mail/resources/apm/bin/node
'';
meta = {
description = "Nylas Mail is an open-source mail client built on the modern web with Electron, React, and Flux. It is designed to be extensible, so it's easy to create new experiences and workflows around email.";
license = stdenv.lib.licenses.gpl3;
homepage = https://nylas.com;
};
}

View file

@ -1022,8 +1022,11 @@ with pkgs;
mpdris2 = callPackage ../tools/audio/mpdris2 { };
nfdump = callPackage ../tools/networking/nfdump { };
onboard = callPackage ../applications/misc/onboard { };
playerctl = callPackage ../tools/audio/playerctl { };
socklog = callPackage ../tools/system/socklog { };
@ -15910,6 +15913,8 @@ with pkgs;
thinkingRock = callPackage ../applications/misc/thinking-rock { };
nylas-mail = callPackage ../applications/networking/mailreaders/nylas-mail { };
thunderbird = callPackage ../applications/networking/mailreaders/thunderbird {
inherit (gnome2) libIDL;
libpng = libpng_apng;
@ -17011,7 +17016,7 @@ with pkgs;
quake3pointrelease = callPackage ../games/quake3/content/pointrelease.nix { };
quakespasm = callPackage ../games/quakespasm { };
ioquake3 = callPackage ../games/quake3/ioquake { };
quantumminigolf = callPackage ../games/quantumminigolf {};