nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 stdenv,
3 lib,
4 fetchurl,
5 meson,
6 ninja,
7 pkg-config,
8 python3,
9 gettext,
10 gobject-introspection,
11 gst-plugins-base,
12 gst-plugins-bad,
13 # Checks meson.is_cross_build(), so even canExecute isn't enough.
14 enableDocumentation ? stdenv.hostPlatform == stdenv.buildPlatform,
15 hotdoc,
16 directoryListingUpdater,
17 apple-sdk_gstreamer,
18}:
19
20stdenv.mkDerivation (finalAttrs: {
21 pname = "gst-rtsp-server";
22 version = "1.26.5";
23
24 outputs = [
25 "out"
26 "dev"
27 ];
28
29 src = fetchurl {
30 url = "https://gstreamer.freedesktop.org/src/gst-rtsp-server/gst-rtsp-server-${finalAttrs.version}.tar.xz";
31 hash = "sha256-Mo3/JFdBloPypPBsoRnP0ivrYyzuGtaDBZEhMyU1PEQ=";
32 };
33
34 nativeBuildInputs = [
35 meson
36 ninja
37 gettext
38 gobject-introspection
39 pkg-config
40 python3
41 ]
42 ++ lib.optionals enableDocumentation [
43 hotdoc
44 ];
45
46 buildInputs = [
47 gst-plugins-base
48 gst-plugins-bad
49 ]
50 ++ lib.optionals stdenv.hostPlatform.isDarwin [
51 apple-sdk_gstreamer
52 ];
53
54 mesonFlags = [
55 "-Dglib_debug=disabled" # cast checks should be disabled on stable releases
56 "-Dexamples=disabled" # requires many dependencies and probably not useful for our users
57 (lib.mesonEnable "doc" enableDocumentation)
58 ];
59
60 postPatch = ''
61 patchShebangs \
62 scripts/extract-release-date-from-doap-file.py
63 '';
64
65 preFixup = ''
66 moveToOutput "lib/gstreamer-1.0/pkgconfig" "$dev"
67 '';
68
69 passthru = {
70 updateScript = directoryListingUpdater { };
71 };
72
73 meta = {
74 description = "GStreamer RTSP server";
75 homepage = "https://gstreamer.freedesktop.org";
76 longDescription = ''
77 A library on top of GStreamer for building an RTSP server.
78 '';
79 license = lib.licenses.lgpl2Plus;
80 platforms = lib.platforms.unix;
81 maintainers = with lib.maintainers; [ bkchr ];
82 };
83})