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