pytrainer: unpin python 3.10
[NixPkgs.git] / pkgs / misc / screensavers / xlockmore / default.nix
blob37c864f87f4135faf7b681d263fc16d34cea5921
1 { stdenv, lib, fetchurl, pam ? null, libX11, libXext, libXinerama
2 , libXdmcp, libXt, autoreconfHook }:
4 stdenv.mkDerivation rec {
5   pname = "xlockmore";
6   version = "5.80";
8   src = fetchurl {
9     url = "http://sillycycle.com/xlock/xlockmore-${version}.tar.xz";
10     sha256 = "sha256-UC12U2jTbYFOy3d/1DnHWXkLPdNNXuNfdIB/cbqkdiE=";
11     curlOpts = "--user-agent 'Mozilla/5.0'";
12   };
14   # Optionally, it can use GTK.
15   buildInputs = [ pam libX11 libXext.dev libXinerama libXdmcp libXt ];
16   nativeBuildInputs = [ autoreconfHook ];
18   # Don't try to install `xlock' setuid. Password authentication works
19   # fine via PAM without super user privileges.
20   configureFlags =
21     [ "--disable-setuid"
22     ] ++ (lib.optional (pam != null) "--enable-pam");
24   postPatch =
25     let makePath = p: lib.concatMapStringsSep " " (x: x + "/" + p) buildInputs;
26         inputs = "${makePath "lib"} ${makePath "include"}";
27     in ''
28       sed -i 's,\(for ac_dir in\),\1 ${inputs},' configure.ac
29       sed -i 's,/usr/,/no-such-dir/,g' configure.ac
30       configureFlags+=" --enable-appdefaultdir=$out/share/X11/app-defaults"
31     '';
33   hardeningDisable = [ "format" ]; # no build output otherwise
35   meta = with lib; {
36     description = "Screen locker for the X Window System";
37     homepage = "http://sillycycle.com/xlockmore.html";
38     license = licenses.gpl2Only;
39     maintainers = with maintainers; [ pSub ];
40     platforms = platforms.linux;
41     mainProgram = "xlock";
42   };