1{ lib, stdenv
2, fetchurl
3, meson
4, ninja
5, pkg-config
6, gstreamer
7, gst-plugins-base
8, python3
9, gobject-introspection
10, json-glib
11}:
12
13stdenv.mkDerivation rec {
14 pname = "gst-devtools";
15 version = "1.18.4";
16
17 src = fetchurl {
18 url = "https://gstreamer.freedesktop.org/src/${pname}/${pname}-${version}.tar.xz";
19 sha256 = "1kvcabcfzm7wqih3lzgrg9xjbn4xpx43d1m2zkkvab4i8161kggz";
20 };
21
22 patches = [
23 ./fix_pkgconfig_includedir.patch
24 ];
25
26 outputs = [
27 "out"
28 "dev"
29 # "devdoc" # disabled until `hotdoc` is packaged in nixpkgs
30 ];
31
32 nativeBuildInputs = [
33 meson
34 ninja
35 pkg-config
36 gobject-introspection
37
38 # documentation
39 # TODO add hotdoc here
40 ];
41
42 buildInputs = [
43 python3
44 json-glib
45 ];
46
47 propagatedBuildInputs = [
48 gstreamer
49 gst-plugins-base
50 ];
51
52 mesonFlags = [
53 "-Ddoc=disabled" # `hotdoc` not packaged in nixpkgs as of writing
54 ] ++ lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [
55 "-Dintrospection=disabled"
56 ];
57
58 meta = with lib; {
59 description = "Integration testing infrastructure for the GStreamer framework";
60 homepage = "https://gstreamer.freedesktop.org";
61 license = licenses.lgpl2Plus;
62 platforms = platforms.unix;
63 };
64}