1{ stdenv, fetchurl, buildEnv, makeWrapper, glib, alsaLib , dbus, gtk, atk
2, pango, freetype, fontconfig, gdk_pixbuf , cairo, cups, expat, nspr, gconf, nss
3, xlibs, libcap, unzip
4}:
5
6let
7 thrustEnv = buildEnv {
8 name = "env-thrust";
9 paths = [
10 stdenv.cc.cc glib dbus gtk atk pango freetype fontconfig gdk_pixbuf
11 cairo cups expat alsaLib nspr gconf nss xlibs.libXrender xlibs.libX11
12 xlibs.libXext xlibs.libXdamage xlibs.libXtst xlibs.libXcomposite
13 xlibs.libXi xlibs.libXfixes xlibs.libXrandr xlibs.libXcursor libcap
14 ];
15 };
16in stdenv.mkDerivation rec {
17 name = "thrust-${version}";
18 version = "0.7.6";
19
20 src = fetchurl {
21 url = "https://github.com/breach/thrust/releases/download/v${version}/thrust-v${version}-linux-x64.zip";
22 sha256 = "07rrnlj0gk500pvar4b1wdqm05p4n9yjwn911x93bd2qwc8r5ymc";
23 };
24
25 buildInputs = [ thrustEnv makeWrapper unzip ];
26
27 phases = [ "installPhase" "fixupPhase" ];
28
29 installPhase = ''
30 mkdir -p $out/bin
31 mkdir -p $out/libexec/thrust
32 unzip -d $out/libexec/thrust/ $src
33 patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
34 $out/libexec/thrust/thrust_shell
35 wrapProgram $out/libexec/thrust/thrust_shell \
36 --prefix "LD_LIBRARY_PATH" : "${thrustEnv}/lib:${thrustEnv}/lib64"
37 ln -s $out/libexec/thrust/thrust_shell $out/bin
38 '';
39
40 meta = with stdenv.lib; {
41 description = "Chromium-based cross-platform / cross-language application framework";
42 homepage = https://github.com/breach/thrust;
43 license = licenses.mit;
44 maintainers = [ maintainers.osener ];
45 platforms = [ "x86_64-linux" ];
46 };
47}