diff options
Diffstat (limited to 'pkgs/desktops/cinnamon/cinnamon-screensaver/default.nix')
-rw-r--r-- | pkgs/desktops/cinnamon/cinnamon-screensaver/default.nix | 100 |
1 files changed, 100 insertions, 0 deletions
diff --git a/pkgs/desktops/cinnamon/cinnamon-screensaver/default.nix b/pkgs/desktops/cinnamon/cinnamon-screensaver/default.nix new file mode 100644 index 00000000000..b70673253ed --- /dev/null +++ b/pkgs/desktops/cinnamon/cinnamon-screensaver/default.nix @@ -0,0 +1,100 @@ +{ lib, stdenv +, fetchFromGitHub +, pkg-config +, meson +, ninja +, glib +, dbus +, gettext +, cinnamon-desktop +, cinnamon-common +, intltool +, libxslt +, gtk3 +, libgnomekbd +, gnome +, libtool +, wrapGAppsHook +, gobject-introspection +, python3 +, pam +, accountsservice +, cairo +, xapps +, xorg +, iso-flags-png-320x420 +}: + +stdenv.mkDerivation rec { + pname = "cinnamon-screensaver"; + version = "4.8.1"; + + src = fetchFromGitHub { + owner = "linuxmint"; + repo = pname; + rev = version; + hash = "sha256-gvSGxSYKnRqJhj2unRYRHp6qGw/O9SxKPzhw5xjCSSQ="; + }; + + nativeBuildInputs = [ + pkg-config + wrapGAppsHook + gettext + intltool + dbus # for meson.build + libxslt + libtool + meson + ninja + ]; + + buildInputs = [ + # from meson.build + gobject-introspection + gtk3 + glib + + xorg.libXext + xorg.libXinerama + xorg.libX11 + xorg.libXrandr + + (python3.withPackages (pp: with pp; [ pygobject3 setproctitle xapp pycairo ])) + xapps + pam + accountsservice + cairo + cinnamon-desktop + cinnamon-common + libgnomekbd + gnome.caribou + + # things + iso-flags-png-320x420 + ]; + + mesonFlags = [ + # TODO: https://github.com/NixOS/nixpkgs/issues/36468 + "-Dc_args=-I${glib.dev}/include/gio-unix-2.0" + ]; + + postPatch = '' + # cscreensaver hardcodes absolute paths everywhere. Nuke from orbit. + find . -type f -exec sed -i \ + -e s,/usr/share/locale,/run/current-system/sw/share/locale,g \ + -e s,/usr/lib/cinnamon-screensaver,$out/lib,g \ + -e s,/usr/share/cinnamon-screensaver,$out/share,g \ + -e s,/usr/share/iso-flag-png,${iso-flags-png-320x420}/share/iso-flags-png,g \ + {} + + + sed "s|/usr/share/locale|/run/current-system/sw/share/locale|g" -i ./src/cinnamon-screensaver-main.py + ''; + + meta = with lib; { + homepage = "https://github.com/linuxmint/cinnamon-screensaver"; + description = "The Cinnamon screen locker and screensaver program"; + license = [ licenses.gpl2 licenses.lgpl2 ]; + platforms = platforms.linux; + maintainers = teams.cinnamon.members; + }; +} |