nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{ stdenv, makeWrapper, fetchurl, dpkg, alsaLib, atk, cairo, cups, dbus, expat
2, fontconfig, freetype, gdk-pixbuf, glib, gnome2, nspr, nss, gtk3, gtk2
3, at-spi2-atk, gsettings-desktop-schemas, gobject-introspection, wrapGAppsHook
4, libX11, libXScrnSaver, libXcomposite, libXcursor, libXdamage, libXext
5, libXfixes, libXi, libXrandr, libXrender, libXtst, libxcb, nghttp2
6, libudev0-shim, glibc, curl, openssl, autoPatchelfHook }:
7
8let
9 runtimeLibs = stdenv.lib.makeLibraryPath [
10 curl
11 glibc
12 libudev0-shim
13 nghttp2
14 openssl
15 stdenv.cc.cc
16 ];
17in stdenv.mkDerivation rec {
18 pname = "insomnia";
19 version = "7.0.5";
20
21 src = fetchurl {
22 url =
23 "https://github.com/getinsomnia/insomnia/releases/download/v${version}/insomnia_${version}_amd64.deb";
24 sha256 = "1zcxldfi4rxg7rr6r588blhihyh7ggcdy32vwzjklgq7ihsvx5bs";
25 };
26
27 nativeBuildInputs =
28 [ autoPatchelfHook dpkg makeWrapper gobject-introspection wrapGAppsHook ];
29
30 buildInputs = [
31 alsaLib
32 at-spi2-atk
33 atk
34 cairo
35 cups
36 dbus
37 expat
38 fontconfig
39 freetype
40 gdk-pixbuf
41 glib
42 gnome2.GConf
43 gnome2.pango
44 gtk2
45 gtk3
46 gsettings-desktop-schemas
47 libX11
48 libXScrnSaver
49 libXcomposite
50 libXcursor
51 libXdamage
52 libXext
53 libXfixes
54 libXi
55 libXrandr
56 libXrender
57 libXtst
58 libxcb
59 nspr
60 nss
61 stdenv.cc.cc
62 ];
63
64 dontBuild = true;
65 dontConfigure = true;
66
67 unpackPhase = "dpkg-deb -x $src .";
68
69 installPhase = ''
70 mkdir -p $out/share/insomnia $out/lib $out/bin
71
72 mv usr/share/* $out/share/
73 mv opt/Insomnia/* $out/share/insomnia
74 mv $out/share/insomnia/*.so $out/lib/
75
76 ln -s $out/share/insomnia/insomnia $out/bin/insomnia
77 sed -i 's|\/opt\/Insomnia|'$out'/bin|g' $out/share/applications/insomnia.desktop
78 '';
79
80 preFixup = ''
81 wrapProgram "$out/bin/insomnia" --prefix LD_LIBRARY_PATH : ${runtimeLibs}
82 '';
83
84 meta = with stdenv.lib; {
85 homepage = "https://insomnia.rest/";
86 description = "The most intuitive cross-platform REST API Client";
87 license = licenses.mit;
88 platforms = [ "x86_64-linux" ];
89 maintainers = with maintainers; [ markus1189 babariviere ];
90 };
91
92}