1{
2 lib,
3 stdenv,
4 fetchurl,
5 fetchpatch,
6 libnice,
7 pkg-config,
8 autoreconfHook,
9 gstreamer,
10 gst-plugins-base,
11 gupnp-igd,
12 gobject-introspection,
13 gst-plugins-good,
14 gst-plugins-bad,
15 gst-libav,
16 python3,
17}:
18
19stdenv.mkDerivation rec {
20 pname = "farstream";
21 version = "0.2.9";
22
23 outputs = [
24 "out"
25 "dev"
26 ];
27
28 src = fetchurl {
29 url = "https://www.freedesktop.org/software/farstream/releases/farstream/${pname}-${version}.tar.gz";
30 sha256 = "0yzlh9jf47a3ir40447s7hlwp98f9yr8z4gcm0vjwz6g6cj12zfb";
31 };
32
33 patches = [
34 # Fix build with newer gnumake.
35 (fetchpatch {
36 url = "https://gitlab.freedesktop.org/farstream/farstream/-/commit/54987d44.diff";
37 sha256 = "02pka68p2j1wg7768rq7afa5wl9xv82wp86q7izrmwwnxdmz4zyg";
38 })
39 ];
40
41 buildInputs = [
42 libnice
43 gupnp-igd
44 libnice
45 ];
46
47 nativeBuildInputs = [
48 pkg-config
49 autoreconfHook
50 gobject-introspection
51 python3
52 ];
53
54 propagatedBuildInputs = [
55 gstreamer
56 gst-plugins-base
57 gst-plugins-good
58 gst-plugins-bad
59 gst-libav
60 ];
61
62 meta = with lib; {
63 homepage = "https://www.freedesktop.org/wiki/Software/Farstream";
64 description = "Audio/Video Communications Framework formely known as farsight";
65 platforms = platforms.unix;
66 license = licenses.lgpl21;
67 };
68}