at 23.05-pre 133 lines 2.4 kB view raw
1{ lib 2, stdenv 3, fetchurl 4, makeDesktopItem 5, wrapGAppsHook 6, atk 7, at-spi2-atk 8, at-spi2-core 9, alsa-lib 10, cairo 11, cups 12, dbus 13, expat 14, gdk-pixbuf 15, glib 16, gtk3 17, freetype 18, fontconfig 19, nss 20, nspr 21, pango 22, udev 23, libuuid 24, libX11 25, libxcb 26, libXi 27, libXcursor 28, libXdamage 29, libXrandr 30, libXcomposite 31, libXext 32, libXfixes 33, libXrender 34, libXtst 35, libXScrnSaver 36, libxkbcommon 37, libdrm 38, mesa 39, xorg 40, pname 41, version 42, meta 43, copyDesktopItems 44}: 45 46stdenv.mkDerivation rec { 47 inherit pname version meta; 48 49 src = fetchurl { 50 url = "https://dl.pstmn.io/download/version/${version}/linux64"; 51 sha256 = "sha256-ZCfPE+bvPEQjEvUO/FQ1iNR9TG6GtI4vmj6yJ7B62iw="; 52 name = "${pname}.tar.gz"; 53 }; 54 55 dontConfigure = true; 56 57 desktopItems = [ 58 (makeDesktopItem { 59 name = "postman"; 60 exec = "postman"; 61 icon = "postman"; 62 comment = "API Development Environment"; 63 desktopName = "Postman"; 64 genericName = "Postman"; 65 categories = [ "Development" ]; 66 }) 67 ]; 68 69 buildInputs = [ 70 stdenv.cc.cc.lib 71 atk 72 at-spi2-atk 73 at-spi2-core 74 alsa-lib 75 cairo 76 cups 77 dbus 78 expat 79 gdk-pixbuf 80 glib 81 gtk3 82 freetype 83 fontconfig 84 mesa 85 nss 86 nspr 87 pango 88 udev 89 libdrm 90 libuuid 91 libX11 92 libxcb 93 libXi 94 libXcursor 95 libXdamage 96 libXrandr 97 libXcomposite 98 libXext 99 libXfixes 100 libXrender 101 libXtst 102 libXScrnSaver 103 libxkbcommon 104 xorg.libxshmfence 105 ]; 106 107 nativeBuildInputs = [ wrapGAppsHook copyDesktopItems ]; 108 109 installPhase = '' 110 runHook preInstall 111 mkdir -p $out/share/postman 112 cp -R app/* $out/share/postman 113 rm $out/share/postman/Postman 114 115 mkdir -p $out/bin 116 ln -s $out/share/postman/postman $out/bin/postman 117 118 mkdir -p $out/share/icons/hicolor/128x128/apps 119 ln -s $out/share/postman/resources/app/assets/icon.png $out/share/icons/postman.png 120 ln -s $out/share/postman/resources/app/assets/icon.png $out/share/icons/hicolor/128x128/apps/postman.png 121 runHook postInstall 122 ''; 123 124 postFixup = '' 125 pushd $out/share/postman 126 patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" postman 127 for file in $(find . -type f \( -name \*.node -o -name postman -o -name \*.so\* \) ); do 128 ORIGIN=$(patchelf --print-rpath $file); \ 129 patchelf --set-rpath "${lib.makeLibraryPath buildInputs}:$ORIGIN" $file 130 done 131 popd 132 ''; 133}