evcc: 0.131.4 -> 0.131.5
[NixPkgs.git] / pkgs / by-name / to / totem / package.nix
blobdb3e8892fe56edda3478b3ff51387f73505d2f37
1 { stdenv
2 , lib
3 , fetchurl
4 , meson
5 , ninja
6 , gettext
7 , gst_all_1
8 , python3Packages
9 , shared-mime-info
10 , pkg-config
11 , gtk3
12 , glib
13 , gobject-introspection
14 , totem-pl-parser
15 , wrapGAppsHook3
16 , itstool
17 , libxml2
18 , vala
19 , gnome
20 , grilo
21 , grilo-plugins
22 , libpeas
23 , libportal-gtk3
24 , libhandy
25 , adwaita-icon-theme
26 , gnome-desktop
27 , gsettings-desktop-schemas
28 , gdk-pixbuf
29 , xvfb-run
32 stdenv.mkDerivation rec {
33   pname = "totem";
34   version = "43.1";
36   src = fetchurl {
37     url = "mirror://gnome/sources/totem/${lib.versions.major version}/totem-${version}.tar.xz";
38     hash = "sha256-VmgpHpxkRJhcs//k6k8CEvVMK75g3QERTBqVD5R1nm0=";
39   };
41   nativeBuildInputs = [
42     meson
43     ninja
44     vala
45     pkg-config
46     gettext
47     python3Packages.python
48     itstool
49     gobject-introspection
50     wrapGAppsHook3
51   ];
53   buildInputs = [
54     gtk3
55     glib
56     grilo
57     totem-pl-parser
58     grilo-plugins
59     gst_all_1.gstreamer
60     gst_all_1.gst-plugins-base
61     (gst_all_1.gst-plugins-good.override { gtkSupport = true; })
62     gst_all_1.gst-plugins-bad
63     gst_all_1.gst-plugins-ugly
64     gst_all_1.gst-libav
65     libpeas
66     libportal-gtk3
67     libhandy
68     shared-mime-info
69     gdk-pixbuf
70     libxml2
71     adwaita-icon-theme
72     gnome-desktop
73     gsettings-desktop-schemas
74     python3Packages.pygobject3
75   ];
77   nativeCheckInputs = [
78     xvfb-run
79   ];
81   mesonFlags = [
82     # TODO: https://github.com/NixOS/nixpkgs/issues/36468
83     "-Dc_args=-I${glib.dev}/include/gio-unix-2.0"
84   ];
86   doCheck = true;
88   postPatch = ''
89     chmod +x meson_compile_python.py # patchShebangs requires executable file
90     patchShebangs \
91       ./meson_compile_python.py
92   '';
94   checkPhase = ''
95     runHook preCheck
97     xvfb-run -s '-screen 0 800x600x24' \
98       meson test --print-errorlogs
100     runHook postCheck
101   '';
103   passthru = {
104     updateScript = gnome.updateScript {
105       packageName = "totem";
106     };
107   };
109   meta = with lib; {
110     homepage = "https://apps.gnome.org/Totem/";
111     changelog = "https://gitlab.gnome.org/GNOME/totem/-/blob/${version}/NEWS?ref_type=tags";
112     description = "Movie player for the GNOME desktop based on GStreamer";
113     maintainers = teams.gnome.members;
114     license = licenses.gpl2Plus; # with exception to allow use of non-GPL compatible plug-ins
115     platforms = platforms.linux;
116   };