From 580f7b47a3aa4a09a5096c74b53e254961f65f51 Mon Sep 17 00:00:00 2001 From: John Ramsden Date: Thu, 1 Jun 2017 00:06:20 -0700 Subject: [PATCH] Update version to 2.0.32-fec7941 and apply proposed changes. --- .../mailreaders/nylas-mail/default.nix | 211 +++++++++--------- 1 file changed, 105 insertions(+), 106 deletions(-) diff --git a/pkgs/applications/networking/mailreaders/nylas-mail/default.nix b/pkgs/applications/networking/mailreaders/nylas-mail/default.nix index 7c3ee456f257..47f633c7cfcc 100644 --- a/pkgs/applications/networking/mailreaders/nylas-mail/default.nix +++ b/pkgs/applications/networking/mailreaders/nylas-mail/default.nix @@ -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" ]; + }; }