{ fetchurl
, lib
, stdenv
, pkg-config
, meson
, ninja
, gobject-introspection
, clutter
, gtk3
, gnome
}:

let
  pname = "clutter-gtk";
  version = "1.8.4";
in

stdenv.mkDerivation rec {
  name = "${pname}-${version}";

  src = fetchurl {
    url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${name}.tar.xz";
    sha256 = "01ibniy4ich0fgpam53q252idm7f4fn5xg5qvizcfww90gn9652j";
  };

  outputs = [ "out" "dev" ];

  propagatedBuildInputs = [ clutter gtk3 ];
  nativeBuildInputs = [ meson ninja pkg-config gobject-introspection ];

  postPatch = ''
    # ld: malformed 32-bit x.y.z version number: =1
    substituteInPlace meson.build \
      --replace "host_system == 'darwin'" "false"
  '';

  postBuild = "rm -rf $out/share/gtk-doc";

  passthru = {
    updateScript = gnome.updateScript {
      packageName = pname;
      versionPolicy = "odd-unstable";
    };
  };

  meta = {
    description = "Clutter-GTK";
    homepage = "http://www.clutter-project.org/";
    license = lib.licenses.lgpl2Plus;
    maintainers = [ ];
    platforms = lib.platforms.unix;
  };
}