Merge pull request #329823 from ExpidusOS/fix/pkgsllvm/elfutils
[NixPkgs.git] / pkgs / by-name / ch / cheese / package.nix
blob9ac53092c11441f48b44eedce386b0c5714d549b
1 { lib
2 , stdenv
3 , gettext
4 , fetchurl
5 , wrapGAppsHook3
6 , gnome-video-effects
7 , libcanberra-gtk3
8 , pkg-config
9 , gtk3
10 , glib
11 , clutter-gtk
12 , clutter-gst
13 , gst_all_1
14 , itstool
15 , vala
16 , docbook_xml_dtd_43
17 , docbook-xsl-nons
18 , appstream-glib
19 , libxslt
20 , gtk-doc
21 , adwaita-icon-theme
22 , librsvg
23 , totem
24 , gdk-pixbuf
25 , gnome
26 , gnome-desktop
27 , libxml2
28 , meson
29 , ninja
30 , dbus
31 , pipewire
34 stdenv.mkDerivation rec {
35   pname = "cheese";
36   version = "44.1";
38   outputs = [ "out" "man" "devdoc" ];
40   src = fetchurl {
41     url = "mirror://gnome/sources/cheese/${lib.versions.major version}/${pname}-${version}.tar.xz";
42     sha256 = "XyGFxMmeVN3yuLr2DIKBmVDlSVLhMuhjmHXz7cv49o4=";
43   };
45   nativeBuildInputs = [
46     appstream-glib
47     docbook_xml_dtd_43
48     docbook-xsl-nons
49     gettext
50     gtk-doc
51     itstool
52     libxml2
53     libxslt # for xsltproc
54     meson
55     ninja
56     pkg-config
57     vala
58     wrapGAppsHook3
59     glib # for glib-compile-schemas
60   ];
62   buildInputs = [
63     adwaita-icon-theme
64     clutter-gst
65     clutter-gtk
66     dbus
67     gdk-pixbuf
68     glib
69     gnome-desktop
70     gnome-video-effects
71     gst_all_1.gst-plugins-bad
72     gst_all_1.gst-plugins-base
73     gst_all_1.gst-plugins-good
74     gst_all_1.gstreamer
75     gtk3
76     libcanberra-gtk3
77     librsvg
78     pipewire # PipeWire provides a gstreamer plugin for using PipeWire for video
79   ];
81   preFixup = ''
82     gappsWrapperArgs+=(
83       # Effects
84       --prefix XDG_DATA_DIRS : "${gnome-video-effects}/share"
85       # vp8enc preset
86       --prefix GST_PRESET_PATH : "${gst_all_1.gst-plugins-good}/share/gstreamer-1.0/presets"
87       # Thumbnailers
88       --prefix XDG_DATA_DIRS : "${gdk-pixbuf}/share"
89       --prefix XDG_DATA_DIRS : "${totem}/share"
90     )
91   '';
93   passthru = {
94     updateScript = gnome.updateScript {
95       packageName = "cheese";
96     };
97   };
99   meta = with lib; {
100     homepage = "https://gitlab.gnome.org/GNOME/cheese";
101     description = "Take photos and videos with your webcam, with fun graphical effects";
102     mainProgram = "cheese";
103     maintainers = [ ];
104     license = licenses.gpl2Plus;
105     platforms = platforms.linux;
106   };