summary refs log tree commit diff
path: root/pkgs/tools/graphics/glmark2/default.nix
blob: 43da52634e68ca69a125ea951e6945a6ab56f2ff (plain) (blame)
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
{ stdenv, fetchFromGitHub, pkgconfig, libjpeg, libpng, xorg, libX11, libGL, libdrm,
  python27, wayland, libudev, mesa_noglu }:

stdenv.mkDerivation rec {
  name = "glmark2-${version}";
  version = "2017-09-01";

  src = fetchFromGitHub {
    owner = "glmark2";
    repo = "glmark2";
    rev = "7265e8e6c77c4f60302507eca0e18560b1117a86";
    sha256 = "076l75rfl6pnp1wgiwlaihy1vg2advg1z8bi0x84kk259kldgvwn";
  };

  nativeBuildInputs = [ pkgconfig ];
  buildInputs = [
    libjpeg libpng xorg.libxcb libX11 libGL libdrm python27 wayland libudev mesa_noglu
  ];

  buildPhase = ''
    python ./waf configure --prefix=$out --with-flavors x11-gl,x11-glesv2,drm-gl,drm-glesv2,wayland-gl,wayland-glesv2
    python2 ./waf
  '';

  installPhase = ''
    python2 ./waf install --destdir="$pkgdir/"
  '';

  meta = with stdenv.lib; {
    description = "OpenGL (ES) 2.0 benchmark";
    homepage = https://github.com/glmark2/glmark2;
    license = licenses.gpl3Plus;
    longDescription = ''
      glmark2 is a benchmark for OpenGL (ES) 2.0. It uses only the subset of
      the OpenGL 2.0 API that is compatible with OpenGL ES 2.0.
    '';
    platforms = platforms.linux;
    maintainers = [ maintainers.wmertens ];
  };
}