nixpkgs/pkgs/desktops/gnome-3/misc/gnome-screensaver/default.nix
2019-02-14 02:31:15 +01:00

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;
};
}