forgejo-lts: 7.0.10 -> 7.0.11
[NixPkgs.git] / pkgs / by-name / ci / cinnamon-screensaver / package.nix
blob7ea3f4a0a13f617b1d4f445a1634279744006dc4
1 { lib
2 , stdenv
3 , fetchFromGitHub
4 , pkg-config
5 , meson
6 , ninja
7 , glib
8 , dbus
9 , gettext
10 , cinnamon-desktop
11 , cinnamon-common
12 , intltool
13 , libxslt
14 , gtk3
15 , libgnomekbd
16 , caribou
17 , libtool
18 , wrapGAppsHook3
19 , gobject-introspection
20 , python3
21 , pam
22 , cairo
23 , xapp
24 , xdotool
25 , xorg
26 , iso-flags-png-320x240
29 stdenv.mkDerivation rec {
30   pname = "cinnamon-screensaver";
31   version = "6.2.1";
33   src = fetchFromGitHub {
34     owner = "linuxmint";
35     repo = pname;
36     rev = version;
37     hash = "sha256-f1Z3fmtCokWNLJwsTOAIAZB3lwFfqakJJco3umyEaYk=";
38   };
40   nativeBuildInputs = [
41     pkg-config
42     wrapGAppsHook3
43     gettext
44     intltool
45     dbus # for meson.build
46     libxslt
47     libtool
48     meson
49     ninja
50     gobject-introspection
51   ];
53   buildInputs = [
54     # from meson.build
55     gtk3
56     glib
58     xorg.libXext
59     xorg.libXinerama
60     xorg.libX11
61     xorg.libXrandr
63     (python3.withPackages (pp: with pp; [
64       pygobject3
65       setproctitle
66       python-xapp
67       pycairo
68     ]))
69     xapp
70     xdotool
71     pam
72     cairo
73     cinnamon-desktop
74     cinnamon-common
75     libgnomekbd
76     caribou
77   ];
79   postPatch = ''
80     # cscreensaver hardcodes absolute paths everywhere. Nuke from orbit.
81     find . -type f -exec sed -i \
82       -e s,/usr/share/locale,/run/current-system/sw/share/locale,g \
83       -e s,/usr/lib/cinnamon-screensaver,$out/lib,g \
84       -e s,/usr/share/cinnamon-screensaver,$out/share,g \
85       -e s,/usr/share/iso-flag-png,${iso-flags-png-320x240}/share/iso-flags-png,g \
86       {} +
87   '';
89   preFixup = ''
90     # https://github.com/NixOS/nixpkgs/issues/101881
91     gappsWrapperArgs+=(
92       --prefix XDG_DATA_DIRS : "${caribou}/share"
93     )
94   '';
96   meta = with lib; {
97     homepage = "https://github.com/linuxmint/cinnamon-screensaver";
98     description = "Cinnamon screen locker and screensaver program";
99     license = [ licenses.gpl2 licenses.lgpl2 ];
100     platforms = platforms.linux;
101     maintainers = teams.cinnamon.members;
102   };