Update version to 2.0.32-fec7941 and apply proposed changes.

This commit is contained in:
John Ramsden 2017-06-01 00:06:20 -07:00
parent 1f10c1112a
commit 580f7b47a3

View file

@ -1,94 +1,93 @@
{ config
, stdenv
, pkgs
, fetchurl
, dpkg
, lib
, gnome2
, libgnome_keyring
, desktop_file_utils
, python2
, nodejs
, libnotify
{ dpkg, fetchurl, lib, pkgs, stdenv, config
, alsaLib
, atk
, glib
, pango
, gdk_pixbuf
, cairo
, freetype
, fontconfig
, dbus
, nss
, nspr
, cups
, expat
, wget
, udev
, xorg
, libgcrypt
, makeWrapper
, gcc-unwrapped
, coreutils
, cups
, dbus
, desktop_file_utils
, expat
, fontconfig
, freetype
, gcc-unwrapped
, gdk_pixbuf
, glib
, gnome2
, libgcrypt
, libgnome_keyring
, libnotify
, makeWrapper
, nodejs
, nspr
, nss
, pango
, python2
, udev
, wget
, xorg
}:
stdenv.mkDerivation rec {
name = "${pkgname}-${version}";
pkgname = "nylas-mail";
version = "2.0.31";
subVersion = "e675deb";
name = "${pkgname}-${version}";
pkgname = "nylas-mail";
version = "2.0.32";
subVersion = "fec7941";
src = fetchurl {
url = "https://edgehill.s3-us-west-2.amazonaws.com/${version}-${subVersion}/linux-deb/x64/NylasMail.deb";
sha256 = "b036956174f998bd4a2662a1f59cb4a302465b3ed06c487de88ff2721e372f6e";
};
src =
if stdenv.system == "x86_64-linux" then
fetchurl {
url = "https://edgehill.s3-us-west-2.amazonaws.com/${version}-${subVersion}/linux-deb/x64/NylasMail.deb";
sha256 = "40060aa1dc3b5187b8ed4a07b9de3427e3c5a291df98c2c82395647fa2aa4ada";
}
else
throw "NylasMail is not supported on ${stdenv.system}";
# 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
];
# Build dependencies
propagatedBuildInputs = [
alsaLib
atk
cairo
coreutils
cups
dbus
desktop_file_utils
expat
fontconfig
freetype
gcc-unwrapped
gdk_pixbuf
glib
gnome2.GConf
gnome2.gtk
libgnome_keyring
libnotify
nodejs
nspr
nss
pango
python2
udev
wget
xorg.libX11
xorg.libXScrnSaver
xorg.libXcomposite
xorg.libXcursor
xorg.libXdamage
xorg.libXext
xorg.libXfixes
xorg.libXi
xorg.libXrandr
xorg.libXrender
xorg.libXtst
xorg.libxkbfile
];
# Runtime dependencies
buildInputs = [ makeWrapper gnome2.gnome_keyring ];
# Runtime dependencies
buildInputs = [ makeWrapper gnome2.gnome_keyring ];
phases = [ "unpackPhase" ];
phases = [ "unpackPhase" ];
unpackPhase = ''
unpackPhase = ''
mkdir -p $out
${dpkg}/bin/dpkg-deb -x $src unpacked
@ -96,43 +95,43 @@ stdenv.mkDerivation rec {
# Fix path in desktop file
substituteInPlace $out/share/applications/nylas-mail.desktop \
--replace /usr/bin/nylas-mail $out/bin/nylas-mail
--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
# 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
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
# 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}
--replace /bin/bash ${stdenv.shell}
wrapProgram $out/share/nylas-mail/resources/apm/bin/apm \
--set PATH "${coreutils}/bin"
--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
'';
--set-rpath ${gcc-unwrapped.lib}/lib $out/share/nylas-mail/resources/apm/bin/node
'';
meta = with stdenv.lib; {
description = "Open-source mail client built on the modern web with Electron, React, and Flux";
longDescription = ''
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. To run nylas-mail, an additional manual step is required. Make sure to have services.gnome3.gnome-keyring.enable = true; in your configuration.nix before running nylas-mail. If you happen to miss this step, you should remove ~/.nylas-mail and "~/.config/Nylas Mail" for a blank setup".
'';
license = licenses.gpl3;
maintainers = with maintainers; [ johnramsden ];
homepage = https://nylas.com;
};
meta = with stdenv.lib; {
description = "Open-source mail client built on the modern web with Electron, React, and Flux";
longDescription = ''
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. To run nylas-mail, an additional manual step is required. Make sure to have services.gnome3.gnome-keyring.enable = true; in your configuration.nix before running nylas-mail. If you happen to miss this step, you should remove ~/.nylas-mail and "~/.config/Nylas Mail" for a blank setup".
'';
license = licenses.gpl3;
maintainers = with maintainers; [ johnramsden ];
homepage = https://nylas.com;
platforms = [ "x86_64-linux" ];
};
}