1{ lib, stdenv, fetchurl, buildEnv, makeWrapper, glib, alsa-lib , dbus, gtk2, atk
2, pango, freetype, fontconfig, gdk-pixbuf , cairo, cups, expat, nspr, gconf, nss
3, xorg, libcap, unzip
4}:
5
6let
7 thrustEnv = buildEnv {
8 name = "env-thrust";
9 paths = [
10 stdenv.cc.cc glib dbus gtk2 atk pango freetype fontconfig gdk-pixbuf
11 cairo cups expat alsa-lib nspr gconf nss xorg.libXrender xorg.libX11
12 xorg.libXext xorg.libXdamage xorg.libXtst xorg.libXcomposite
13 xorg.libXi xorg.libXfixes xorg.libXrandr xorg.libXcursor libcap
14 ];
15 };
16in stdenv.mkDerivation rec {
17 pname = "thrust";
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 nativeBuildInputs = [ makeWrapper unzip ];
26 buildInputs = [ thrustEnv ];
27
28 installPhase = ''
29 mkdir -p $out/bin
30 mkdir -p $out/libexec/thrust
31 unzip -d $out/libexec/thrust/ $src
32 patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
33 $out/libexec/thrust/thrust_shell
34 wrapProgram $out/libexec/thrust/thrust_shell \
35 --prefix "LD_LIBRARY_PATH" : "${thrustEnv}/lib:${thrustEnv}/lib64"
36 ln -s $out/libexec/thrust/thrust_shell $out/bin
37 '';
38
39 meta = with lib; {
40 description = "Chromium-based cross-platform / cross-language application framework";
41 mainProgram = "thrust_shell";
42 homepage = "https://github.com/breach/thrust";
43 sourceProvenance = with sourceTypes; [ binaryNativeCode ];
44 license = licenses.mit;
45 maintainers = [ maintainers.osener ];
46 platforms = [ "x86_64-linux" ];
47 };
48}