1{ fetchurl, fetchpatch, lib, stdenv, pkg-config, clutter, gtk3, glib, cogl, gnome, gdk-pixbuf, gobject-introspection }:
2
3stdenv.mkDerivation rec {
4 pname = "clutter-gst";
5 version = "3.0.27";
6
7 outputs = [ "out" "dev" ];
8
9 src = fetchurl {
10 url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
11 sha256 = "17czmpl92dzi4h3rn5rishk015yi3jwiw29zv8qan94xcmnbssgy";
12 };
13
14 patches = [
15 # Add patch from Arch Linux to fix corrupted display with Cheese
16 # https://gitlab.gnome.org/GNOME/cheese/-/issues/51
17 # https://github.com/archlinux/svntogit-packages/tree/packages/clutter-gst/trunk
18 (fetchpatch {
19 url = "https://github.com/archlinux/svntogit-packages/raw/c4dd0bbda35aa603ee790676f6e15541f71b6d36/trunk/0001-video-sink-Remove-RGBx-BGRx-support.patch";
20 sha256 = "sha256-k1fCiM/u7q81UrDYgbqhN/C+q9DVQ+qOyq6vmA3hbSQ=";
21 })
22 ];
23
24 strictDeps = true;
25 nativeBuildInputs = [ pkg-config glib gobject-introspection ];
26 propagatedBuildInputs = [ clutter gtk3 glib cogl gdk-pixbuf ];
27
28 postBuild = "rm -rf $out/share/gtk-doc";
29
30 passthru = {
31 updateScript = gnome.updateScript {
32 packageName = pname;
33 versionPolicy = "odd-unstable";
34 };
35 };
36
37 meta = {
38 description = "GStreamer bindings for clutter";
39
40 homepage = "http://www.clutter-project.org/";
41
42 license = lib.licenses.lgpl2Plus;
43
44 maintainers = with lib.maintainers; [ ];
45 platforms = lib.platforms.unix;
46 };
47}