Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

postman: 7.0.7 -> 7.6.0 #67115

Merged
merged 2 commits into from
Sep 5, 2019
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
112 changes: 58 additions & 54 deletions pkgs/development/web/postman/default.nix
Original file line number Diff line number Diff line change
@@ -1,20 +1,22 @@
{ stdenv, lib, gnome2, fetchurl, pkgs, xorg, makeWrapper, makeDesktopItem }:
{ stdenv, fetchurl, makeDesktopItem, wrapGAppsHook
, atk, at-spi2-atk, alsaLib, cairo, cups, dbus, expat, gdk-pixbuf, glib, gtk3
, freetype, fontconfig, nss, nspr, pango, udev, libX11, libxcb, libXi
, libXcursor, libXdamage, libXrandr, libXcomposite, libXext, libXfixes
, libXrender, libXtst, libXScrnSaver
}:

stdenv.mkDerivation rec {
pname = "postman";
version = "7.0.7";
version = "7.6.0";

src = fetchurl {
url = "https://dl.pstmn.io/download/version/${version}/linux64";
sha256 = "47be1b955759520f3a2c7dcdecb85b4c52c38df717da294ba184f46f2058014a";
name = "${pname}-${version}.tar.gz";
sha256 = "sha256:03y82ydkj46l7dn35y944gnghbrrhc75y3yxdyidbh8fl3xvmlfv";
name = "${pname}.tar.gz";
};

nativeBuildInputs = [ makeWrapper ];

dontPatchELF = true;

buildPhase = ":"; # nothing to build
dontBuild = true; # nothing to build
evanjs marked this conversation as resolved.
Show resolved Hide resolved
dontConfigure = true;

desktopItem = makeDesktopItem {
name = "postman";
Expand All @@ -26,12 +28,48 @@ stdenv.mkDerivation rec {
categories = "Application;Development;";
};

buildInputs = [
stdenv.cc.cc.lib
atk
at-spi2-atk
alsaLib
cairo
cups
dbus
expat
gdk-pixbuf
glib
gtk3
freetype
fontconfig
nss
nspr
pango
udev
libX11
libxcb
libXi
libXcursor
libXdamage
libXrandr
libXcomposite
libXext
libXfixes
libXrender
libXtst
libXScrnSaver
];

nativeBuildInputs = [ wrapGAppsHook ];


installPhase = ''
mkdir -p $out/share/postman
cp -R app/* $out/share/postman
rm $out/share/postman/Postman

mkdir -p $out/bin
ln -s $out/share/postman/Postman $out/bin/postman
ln -s $out/share/postman/_Postman $out/bin/postman

mkdir -p $out/share/applications
ln -s ${desktopItem}/share/applications/* $out/share/applications/
Expand All @@ -43,55 +81,21 @@ stdenv.mkDerivation rec {
ln -s $out/share/postman/resources/app/assets/icon.png $iconSizeDir/postman.png
'';

preFixup = let
libPath = lib.makeLibraryPath [
stdenv.cc.cc.lib
gnome2.pango
gnome2.GConf
pkgs.atk
pkgs.alsaLib
pkgs.cairo
pkgs.cups
pkgs.dbus.daemon.lib
pkgs.expat
pkgs.gdk-pixbuf
pkgs.glib
pkgs.gtk2-x11
pkgs.freetype
pkgs.fontconfig
pkgs.nss
pkgs.nspr
pkgs.udev.lib
xorg.libX11
xorg.libxcb
xorg.libXi
xorg.libXcursor
xorg.libXdamage
xorg.libXrandr
xorg.libXcomposite
xorg.libXext
xorg.libXfixes
xorg.libXrender
xorg.libX11
xorg.libXtst
xorg.libXScrnSaver
];
in ''
patchelf \
--set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
--set-rpath "${libPath}:$out/share/postman" \
$out/share/postman/Postman
patchelf --set-rpath "${libPath}" $out/share/postman/libnode.so
patchelf --set-rpath "${libPath}" $out/share/postman/libffmpeg.so

wrapProgram $out/share/postman/Postman --prefix LD_LIBRARY_PATH : ${libPath}
postFixup = ''
pushd $out/share/postman
patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" _Postman
for file in $(find . -type f \( -name \*.node -o -name _Postman -o -name \*.so\* \) ); do
ORIGIN=$(patchelf --print-rpath $file); \
patchelf --set-rpath "${stdenv.lib.makeLibraryPath buildInputs}:$ORIGIN" $file
done
popd
'';

meta = with stdenv.lib; {
evanjs marked this conversation as resolved.
Show resolved Hide resolved
homepage = https://www.getpostman.com;
description = "API Development Environment";
license = stdenv.lib.licenses.postman;
license = licenses.postman;
platforms = [ "x86_64-linux" ];
maintainers = with maintainers; [ xurei ];
maintainers = with maintainers; [ xurei evanjs ];
};
}