1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
|
{ stdenv, lib, makeWrapper, fetchurl, dpkg
, alsaLib, atk, cairo, cups, dbus_daemon, expat, fontconfig, freetype
, gdk_pixbuf, glib, gnome2, gtk2-x11, nspr, nss
, libX11, libXScrnSaver, libXcomposite, libXcursor, libXdamage, libXext
, libXfixes, libXi, libXrandr, libXrender, libXtst, libxcb, nghttp2
, libudev0-shim, glibc, curl, openssl
}:
let
libPath = lib.makeLibraryPath [
alsaLib atk cairo cups dbus_daemon.lib expat fontconfig freetype gdk_pixbuf glib gnome2.GConf gnome2.pango
gtk2-x11 nspr nss stdenv.cc.cc.lib libX11 libXScrnSaver libXcomposite libXcursor libXdamage libXext libXfixes
libXi libXrandr libXrender libXtst libxcb
];
runtimeLibs = lib.makeLibraryPath [ libudev0-shim glibc curl openssl nghttp2 ];
in stdenv.mkDerivation rec {
name = "insomnia-${version}";
version = "5.16.6";
src = fetchurl {
url = "https://github.com/getinsomnia/insomnia/releases/download/v${version}/insomnia_${version}_amd64.deb";
sha256 = "1acad6gjrldd87nnv2hw558lzwy4c4ijh9jwjxnhz61jmdqvbmxw";
};
nativeBuildInputs = [ makeWrapper dpkg ];
buildPhase = ":";
unpackPhase = "dpkg-deb -x $src .";
installPhase = ''
mkdir -p $out/share/insomnia $out/lib $out/bin
mv usr/share/* $out/share/
mv opt/Insomnia/* $out/share/insomnia
mv $out/share/insomnia/*.so $out/lib/
ln -s $out/share/insomnia/insomnia $out/bin/insomnia
'';
preFixup = ''
for lib in $out/lib/*.so; do
patchelf --set-rpath "$out/lib:${libPath}" $lib
done
for bin in $out/bin/insomnia; do
patchelf --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) \
--set-rpath "$out/lib:${libPath}" \
$bin
done
wrapProgram "$out/bin/insomnia" --prefix LD_LIBRARY_PATH : ${runtimeLibs}
'';
meta = with stdenv.lib; {
homepage = https://insomnia.rest/;
description = "The most intuitive cross-platform REST API Client";
license = stdenv.lib.licenses.mit;
platforms = [ "x86_64-linux" ];
maintainers = with maintainers; [ markus1189 ];
};
}
|