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 { dpkg, fetchurl, lib, pkgs, stdenv, config
, stdenv
, pkgs
, fetchurl
, dpkg
, lib
, gnome2
, libgnome_keyring
, desktop_file_utils
, python2
, nodejs
, libnotify
, alsaLib , alsaLib
, atk , atk
, glib
, pango
, gdk_pixbuf
, cairo , cairo
, freetype
, fontconfig
, dbus
, nss
, nspr
, cups
, expat
, wget
, udev
, xorg
, libgcrypt
, makeWrapper
, gcc-unwrapped
, coreutils , 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 { stdenv.mkDerivation rec {
name = "${pkgname}-${version}"; name = "${pkgname}-${version}";
pkgname = "nylas-mail"; pkgname = "nylas-mail";
version = "2.0.31"; version = "2.0.32";
subVersion = "e675deb"; subVersion = "fec7941";
src = fetchurl { src =
url = "https://edgehill.s3-us-west-2.amazonaws.com/${version}-${subVersion}/linux-deb/x64/NylasMail.deb"; if stdenv.system == "x86_64-linux" then
sha256 = "b036956174f998bd4a2662a1f59cb4a302465b3ed06c487de88ff2721e372f6e"; 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 # Build dependencies
propagatedBuildInputs = [ propagatedBuildInputs = [
gnome2.gtk alsaLib
gnome2.GConf atk
libgnome_keyring cairo
desktop_file_utils coreutils
python2 cups
nodejs dbus
libnotify desktop_file_utils
alsaLib expat
atk fontconfig
glib freetype
pango gcc-unwrapped
gdk_pixbuf gdk_pixbuf
cairo glib
freetype gnome2.GConf
fontconfig gnome2.gtk
dbus libgnome_keyring
nss libnotify
nspr nodejs
cups nspr
expat nss
wget pango
udev python2
gcc-unwrapped udev
coreutils wget
xorg.libXScrnSaver xorg.libX11
xorg.libXi xorg.libXScrnSaver
xorg.libXtst xorg.libXcomposite
xorg.libXcursor xorg.libXcursor
xorg.libXdamage xorg.libXdamage
xorg.libXrandr xorg.libXext
xorg.libXcomposite xorg.libXfixes
xorg.libXext xorg.libXi
xorg.libXfixes xorg.libXrandr
xorg.libXrender xorg.libXrender
xorg.libX11 xorg.libXtst
xorg.libxkbfile xorg.libxkbfile
]; ];
# Runtime dependencies # Runtime dependencies
buildInputs = [ makeWrapper gnome2.gnome_keyring ]; buildInputs = [ makeWrapper gnome2.gnome_keyring ];
phases = [ "unpackPhase" ]; phases = [ "unpackPhase" ];
unpackPhase = '' unpackPhase = ''
mkdir -p $out mkdir -p $out
${dpkg}/bin/dpkg-deb -x $src unpacked ${dpkg}/bin/dpkg-deb -x $src unpacked
@ -96,43 +95,43 @@ stdenv.mkDerivation rec {
# Fix path in desktop file # Fix path in desktop file
substituteInPlace $out/share/applications/nylas-mail.desktop \ 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 # Patch librariess
noderp=$(patchelf --print-rpath $out/share/nylas-mail/libnode.so) 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 } \ patchelf --set-rpath $noderp:$out/lib:${stdenv.cc.cc.lib}/lib:${xorg.libxkbfile.out}/lib:${lib.makeLibraryPath propagatedBuildInputs } \
$out/share/nylas-mail/libnode.so $out/share/nylas-mail/libnode.so
ffrp=$(patchelf --print-rpath $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 } \ patchelf --set-rpath $ffrp:$out/lib:${stdenv.cc.cc.lib}/lib:${lib.makeLibraryPath propagatedBuildInputs } \
$out/share/nylas-mail/libffmpeg.so $out/share/nylas-mail/libffmpeg.so
# Patch binaries # Patch binaries
binrp=$(patchelf --print-rpath $out/share/nylas-mail/nylas) binrp=$(patchelf --print-rpath $out/share/nylas-mail/nylas)
patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
--set-rpath $binrp:$out/lib:${stdenv.cc.cc.lib}/lib:${lib.makeLibraryPath propagatedBuildInputs } \ --set-rpath $binrp:$out/lib:${stdenv.cc.cc.lib}/lib:${lib.makeLibraryPath propagatedBuildInputs } \
$out/share/nylas-mail/nylas $out/share/nylas-mail/nylas
wrapProgram $out/share/nylas-mail/nylas --set LD_LIBRARY_PATH "${xorg.libxkbfile}/lib:${pkgs.gnome3.libgnome_keyring}/lib"; 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. # Fix path to bash so apm can install plugins.
substituteInPlace $out/share/nylas-mail/resources/apm/bin/apm \ 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 \ 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)" \ patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
--set-rpath ${gcc-unwrapped.lib}/lib \ --set-rpath ${gcc-unwrapped.lib}/lib $out/share/nylas-mail/resources/apm/bin/node
$out/share/nylas-mail/resources/apm/bin/node '';
'';
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "Open-source mail client built on the modern web with Electron, React, and Flux"; description = "Open-source mail client built on the modern web with Electron, React, and Flux";
longDescription = '' 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". 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; license = licenses.gpl3;
maintainers = with maintainers; [ johnramsden ]; maintainers = with maintainers; [ johnramsden ];
homepage = https://nylas.com; homepage = https://nylas.com;
}; platforms = [ "x86_64-linux" ];
};
} }