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.22.3";
21
22 src = fetchurl {
23 url = "https://gstreamer.freedesktop.org/src/${pname}/${pname}-${version}.tar.xz";
24 hash = "sha256-RGrJxC1QLL/ZCBc3zBuFOzwfUNt3ynzNAa6hD2h1UME=";
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 gobject-introspection
50 ];
51
52 propagatedBuildInputs = [
53 gstreamer
54 gst-plugins-base
55 gst-plugins-bad
56 gst-rtsp-server
57 ];
58
59 mesonFlags = [
60 (lib.mesonEnable "doc" enableDocumentation)
61 ];
62
63 meta = with lib; {
64 description = "Integration testing infrastructure for the GStreamer framework";
65 homepage = "https://gstreamer.freedesktop.org";
66 license = licenses.lgpl2Plus;
67 platforms = platforms.unix;
68 maintainers = with maintainers; [ lilyinstarlight ];
69 };
70}