narsil: bbc8fc5efd779ec885045f9b8d903d0df1bec1b2 -> f5ec6bd6b8013f2a2b74fc45b6f4c5374...
[NixPkgs.git] / pkgs / by-name / ch / cheese / package.nix
blobe1113fbebe088e0fce106cff7fd82ae76ea5e7f7
2   lib,
3   stdenv,
4   gettext,
5   fetchurl,
6   wrapGAppsHook3,
7   gnome-video-effects,
8   libcanberra-gtk3,
9   pkg-config,
10   gtk3,
11   glib,
12   clutter-gtk,
13   clutter-gst,
14   gst_all_1,
15   itstool,
16   vala,
17   docbook_xml_dtd_43,
18   docbook-xsl-nons,
19   appstream-glib,
20   libxslt,
21   gtk-doc,
22   adwaita-icon-theme,
23   librsvg,
24   totem,
25   gdk-pixbuf,
26   gnome,
27   gnome-desktop,
28   libxml2,
29   meson,
30   ninja,
31   dbus,
32   pipewire,
35 stdenv.mkDerivation rec {
36   pname = "cheese";
37   version = "44.1";
39   outputs = [
40     "out"
41     "man"
42     "devdoc"
43   ];
45   src = fetchurl {
46     url = "mirror://gnome/sources/cheese/${lib.versions.major version}/cheese-${version}.tar.xz";
47     hash = "sha256-XyGFxMmeVN3yuLr2DIKBmVDlSVLhMuhjmHXz7cv49o4=";
48   };
50   nativeBuildInputs = [
51     appstream-glib
52     docbook_xml_dtd_43
53     docbook-xsl-nons
54     gettext
55     gtk-doc
56     itstool
57     libxml2
58     libxslt # for xsltproc
59     meson
60     ninja
61     pkg-config
62     vala
63     wrapGAppsHook3
64     glib # for glib-compile-schemas
65   ];
67   buildInputs = [
68     adwaita-icon-theme
69     clutter-gst
70     dbus
71     gnome-desktop
72     gnome-video-effects
73     gst_all_1.gst-plugins-bad
74     gst_all_1.gst-plugins-base
75     gst_all_1.gst-plugins-good
76     gtk3
77     libcanberra-gtk3
78     librsvg
79     pipewire # PipeWire provides a gstreamer plugin for using PipeWire for video
80   ];
82   propagatedBuildInputs = [
83     clutter-gtk
84     gdk-pixbuf
85     glib
86     gst_all_1.gstreamer
87   ];
89   preFixup = ''
90     gappsWrapperArgs+=(
91       # Effects
92       --prefix XDG_DATA_DIRS : "${gnome-video-effects}/share"
93       # vp8enc preset
94       --prefix GST_PRESET_PATH : "${gst_all_1.gst-plugins-good}/share/gstreamer-1.0/presets"
95       # Thumbnailers
96       --prefix XDG_DATA_DIRS : "${gdk-pixbuf}/share"
97       --prefix XDG_DATA_DIRS : "${totem}/share"
98     )
99   '';
101   # Fix GCC 14 build
102   # ../libcheese/cheese-flash.c:135:22: error: assignment to 'GtkWidget *' {aka 'struct _GtkWidget *'} from
103   # incompatible pointer type 'GObject *' {aka 'struct _GObject *'} [-Wincompatible-pointer-types]
104   env.NIX_CFLAGS_COMPILE = "-Wno-error=incompatible-pointer-types";
106   passthru = {
107     updateScript = gnome.updateScript {
108       packageName = "cheese";
109     };
110   };
112   meta = with lib; {
113     homepage = "https://gitlab.gnome.org/GNOME/cheese";
114     changelog = "https://gitlab.gnome.org/GNOME/cheese/-/blob/${version}/NEWS?ref_type=tags";
115     description = "Take photos and videos with your webcam, with fun graphical effects";
116     mainProgram = "cheese";
117     maintainers = with maintainers; [ aleksana ];
118     license = licenses.gpl2Plus;
119     platforms = platforms.linux;
120   };