2018-07-11 16:38:38 +01:00
|
|
|
{ lib, stdenv, fetchFromGitHub, autoreconfHook, pkgconfig
|
2018-09-22 21:38:44 +01:00
|
|
|
, libX11, libXcomposite, libXft, libXmu, pam, apacheHttpd, imagemagick
|
2018-10-11 01:06:16 +01:00
|
|
|
, pamtester, xscreensaver, xset }:
|
2018-07-11 16:38:38 +01:00
|
|
|
|
|
|
|
stdenv.mkDerivation rec {
|
2018-08-13 22:31:12 +01:00
|
|
|
name = "xsecurelock-${version}";
|
2018-12-16 08:49:48 +00:00
|
|
|
version = "1.2";
|
2018-07-11 16:38:38 +01:00
|
|
|
|
|
|
|
src = fetchFromGitHub {
|
|
|
|
owner = "google";
|
|
|
|
repo = "xsecurelock";
|
2018-08-13 22:31:12 +01:00
|
|
|
rev = "v${version}";
|
2018-12-16 08:49:48 +00:00
|
|
|
sha256 = "1vaw2m3yyfazj1x7xdwppmm0ch075q399g5vzrmhhrkzdrs53r1x";
|
2018-07-11 16:38:38 +01:00
|
|
|
};
|
|
|
|
|
2018-12-16 08:49:48 +00:00
|
|
|
nativeBuildInputs = [
|
|
|
|
autoreconfHook pkgconfig
|
|
|
|
];
|
2018-07-11 16:38:38 +01:00
|
|
|
buildInputs = [
|
2018-09-22 21:38:44 +01:00
|
|
|
libX11 libXcomposite libXft libXmu pam
|
2018-07-11 16:38:38 +01:00
|
|
|
apacheHttpd imagemagick pamtester
|
|
|
|
];
|
|
|
|
|
|
|
|
configureFlags = [
|
|
|
|
"--with-pam-service-name=login"
|
|
|
|
"--with-xscreensaver=${xscreensaver}/libexec/xscreensaver"
|
|
|
|
];
|
|
|
|
|
2018-12-16 08:49:48 +00:00
|
|
|
preConfigure = ''
|
|
|
|
cat > version.c <<'EOF'
|
|
|
|
const char *const git_version = "${version}";
|
|
|
|
EOF
|
|
|
|
'';
|
|
|
|
|
2018-10-11 01:06:16 +01:00
|
|
|
preInstall = ''
|
|
|
|
substituteInPlace helpers/saver_blank \
|
|
|
|
--replace 'protect xset' 'protect ${xset}/bin/xset'
|
|
|
|
'';
|
|
|
|
|
2018-07-11 16:38:38 +01:00
|
|
|
meta = with lib; {
|
|
|
|
description = "X11 screen lock utility with security in mind";
|
|
|
|
homepage = https://github.com/google/xsecurelock;
|
|
|
|
license = licenses.asl20;
|
|
|
|
maintainers = with maintainers; [ fpletz ];
|
|
|
|
platforms = platforms.unix;
|
|
|
|
};
|
|
|
|
}
|