{ lib , stdenv , gettext , fetchurl , wrapGAppsHook3 , gnome-video-effects , libcanberra-gtk3 , pkg-config , gtk3 , glib , clutter-gtk , clutter-gst , gst_all_1 , itstool , vala , docbook_xml_dtd_43 , docbook-xsl-nons , appstream-glib , libxslt , gtk-doc , adwaita-icon-theme , librsvg , totem , gdk-pixbuf , gnome , gnome-desktop , libxml2 , meson , ninja , dbus , pipewire }: stdenv.mkDerivation rec { pname = "cheese"; version = "44.1"; outputs = [ "out" "man" "devdoc" ]; src = fetchurl { url = "mirror://gnome/sources/cheese/${lib.versions.major version}/${pname}-${version}.tar.xz"; sha256 = "XyGFxMmeVN3yuLr2DIKBmVDlSVLhMuhjmHXz7cv49o4="; }; nativeBuildInputs = [ appstream-glib docbook_xml_dtd_43 docbook-xsl-nons gettext gtk-doc itstool libxml2 libxslt # for xsltproc meson ninja pkg-config vala wrapGAppsHook3 glib # for glib-compile-schemas ]; buildInputs = [ adwaita-icon-theme clutter-gst clutter-gtk dbus gdk-pixbuf glib gnome-desktop gnome-video-effects gst_all_1.gst-plugins-bad gst_all_1.gst-plugins-base gst_all_1.gst-plugins-good gst_all_1.gstreamer gtk3 libcanberra-gtk3 librsvg pipewire # PipeWire provides a gstreamer plugin for using PipeWire for video ]; preFixup = '' gappsWrapperArgs+=( # Effects --prefix XDG_DATA_DIRS : "${gnome-video-effects}/share" # vp8enc preset --prefix GST_PRESET_PATH : "${gst_all_1.gst-plugins-good}/share/gstreamer-1.0/presets" # Thumbnailers --prefix XDG_DATA_DIRS : "${gdk-pixbuf}/share" --prefix XDG_DATA_DIRS : "${totem}/share" ) ''; passthru = { updateScript = gnome.updateScript { packageName = "cheese"; }; }; meta = with lib; { homepage = "https://gitlab.gnome.org/GNOME/cheese"; description = "Take photos and videos with your webcam, with fun graphical effects"; mainProgram = "cheese"; maintainers = [ ]; license = licenses.gpl2Plus; platforms = platforms.linux; }; }