97 lines
2.3 KiB
Nix
97 lines
2.3 KiB
Nix
{ stdenv
|
|
, fetchgit
|
|
, fetchurl
|
|
, autoreconfHook
|
|
, dbus-glib
|
|
, glib
|
|
, gnome-common
|
|
, gnome-desktop
|
|
, gnome3
|
|
, gtk3
|
|
, gsettings-desktop-schemas
|
|
, pkgconfig
|
|
, intltool
|
|
, pam
|
|
, systemd
|
|
, wrapGAppsHook
|
|
}:
|
|
|
|
stdenv.mkDerivation rec {
|
|
pname = "gnome-screensaver";
|
|
version = "3.6.1";
|
|
|
|
# the original package is deprecated and the Ubuntu version has a number of useful patches
|
|
src = fetchgit {
|
|
url = "https://git.launchpad.net/ubuntu/+source/gnome-screensaver";
|
|
rev = "4f7b666131dec060a5aac9117f395ac522a627b4";
|
|
sha256 = "15xqgcpm825cy3rm8pj00qlblq66svmh06lcw8qi74a3g0xcir87";
|
|
};
|
|
|
|
# from debian/patches/series
|
|
patches = map (patch: "debian/patches/${patch}") [
|
|
"00git_logind_check.patch"
|
|
"01_no_autostart.patch"
|
|
"03_fix_ltsp-fading.patch"
|
|
"05_dbus_service.patch"
|
|
"10_legacy_scrsvr_inhibit.patch"
|
|
"13_nvidia_gamma_fade_fallback.patch"
|
|
"14_no_fade_on_user_switch.patch"
|
|
"15_dont_crash_on_no_fade.patch"
|
|
"16_dont_crash_in_kvm.patch"
|
|
"17_remove_top_panel.patch"
|
|
"18_unity_dialog_layout.patch"
|
|
"24_use_user_settings.patch"
|
|
"25_fix_lock_command.patch"
|
|
"27_lightdm_switch_user.patch"
|
|
"28_blocking_return.patch"
|
|
"29_handle_expired_creds.patch"
|
|
# these two patches are ubuntu-specific
|
|
# "30_ubuntu-lock-on-suspend_gsetting.patch"
|
|
# "31_lock_screen_on_suspend.patch"
|
|
"32_input_sources_switcher.patch"
|
|
"move-not-nuke.patch"
|
|
"allow-replacement"
|
|
"libsystemd.patch"
|
|
"0001-gs-lock-plug-Disconnect-signal-handler-from-right-ob.patch"
|
|
"33_budgie_support.patch"
|
|
] ++ [ ./fix-dbus-service-dir.patch ];
|
|
|
|
nativeBuildInputs = [
|
|
autoreconfHook
|
|
intltool
|
|
wrapGAppsHook
|
|
gnome-common
|
|
pkgconfig
|
|
];
|
|
|
|
buildInputs = [
|
|
glib
|
|
gtk3
|
|
gnome-desktop
|
|
dbus-glib
|
|
pam
|
|
systemd
|
|
];
|
|
|
|
configureFlags = [ "--enable-locking" "--with-systemd=yes" ];
|
|
|
|
enableParallelBuilding = true;
|
|
|
|
doCheck = true;
|
|
|
|
passthru = {
|
|
updateScript = gnome3.updateScript {
|
|
packageName = pname;
|
|
attrPath = "gnome3.${pname}";
|
|
};
|
|
};
|
|
|
|
meta = with stdenv.lib; {
|
|
description = "Component of Gnome Flashback that provides screen locking";
|
|
homepage = https://wiki.gnome.org/Projects/GnomeScreensaver;
|
|
license = licenses.gpl2Plus;
|
|
maintainers = gnome3.maintainers;
|
|
platforms = platforms.linux;
|
|
};
|
|
}
|