1{ lib, stdenv
2, fetchurl
3, cairo
4, meson
5, ninja
6, pkg-config
7, gstreamer
8, gst-plugins-base
9, gst-plugins-bad
10, gst-rtsp-server
11, python3
12, gobject-introspection
13, json-glib
14# Checks meson.is_cross_build(), so even canExecute isn't enough.
15, enableDocumentation ? stdenv.hostPlatform == stdenv.buildPlatform, hotdoc
16}:
17
18stdenv.mkDerivation rec {
19 pname = "gst-devtools";
20 version = "1.24.2";
21
22 src = fetchurl {
23 url = "https://gstreamer.freedesktop.org/src/${pname}/${pname}-${version}.tar.xz";
24 hash = "sha256-/dfDDBqhuweADdmKUeVSEQZWGYNeSIn1yS/oI7hs2PQ=";
25 };
26
27 outputs = [
28 "out"
29 "dev"
30 ];
31
32 depsBuildBuild = [
33 pkg-config
34 ];
35
36 nativeBuildInputs = [
37 meson
38 ninja
39 pkg-config
40 gobject-introspection
41 ] ++ lib.optionals enableDocumentation [
42 hotdoc
43 ];
44
45 buildInputs = [
46 cairo
47 python3
48 json-glib
49 ];
50
51 propagatedBuildInputs = [
52 gstreamer
53 gst-plugins-base
54 gst-plugins-bad
55 gst-rtsp-server
56 ];
57
58 mesonFlags = [
59 (lib.mesonEnable "doc" enableDocumentation)
60 ];
61
62 meta = with lib; {
63 description = "Integration testing infrastructure for the GStreamer framework";
64 homepage = "https://gstreamer.freedesktop.org";
65 license = licenses.lgpl2Plus;
66 platforms = platforms.unix;
67 maintainers = with maintainers; [ lilyinstarlight ];
68 };
69}