uboot: (firmwareOdroidC2/C4) don't invoke patch tool, use patches = [] instead

https://github.com/NixOS/nixpkgs/blob/master/pkgs/stdenv/generic/setup.sh#L948
this can do it nicely.

Signed-off-by: Anton Arapov <anton@deadbeef.mx>
This commit is contained in:
Anton Arapov 2021-04-03 12:58:10 +02:00 committed by Alan Daniels
commit 56de2bcd43
30691 changed files with 3076956 additions and 0 deletions

View file

@ -0,0 +1,46 @@
{ lib, stdenv, fetchFromGitHub, pkg-config, autoreconfHook
, libX11, pam, libgcrypt, libXrender, imlib2 }:
stdenv.mkDerivation rec {
pname = "alock";
version = "unstable-2017-07-20";
src = fetchFromGitHub {
owner = "Arkq";
repo = "alock";
rev = "2035e1d4a2293432f5503e82d10f899232eb0f38";
sha256 = "sha256-Rm00ytSfEv5Wljz4f/4bbyrK3sCV/oRUwz4DKx0pya8=";
};
PAM_DEFAULT_SERVICE = "login";
configureFlags = [
"--enable-pam"
"--enable-hash"
"--enable-xrender"
"--enable-imlib2"
];
nativeBuildInputs = [ pkg-config ];
buildInputs = [
autoreconfHook libX11
pam libgcrypt libXrender imlib2
];
meta = with lib; {
homepage = "https://github.com/Arkq/alock";
description = "Simple screen lock application for X server";
longDescription = ''
alock locks the X server until the user enters a password
via the keyboard. If the authentification was successful
the X server is unlocked and the user can continue to work.
alock does not provide any fancy animations like xlock or
xscreensaver and never will. It's just for locking the current
X session.
'';
platforms = platforms.linux;
maintainers = with maintainers; [ ftrvxmtrx chris-martin ];
license = licenses.mit;
};
}

View file

@ -0,0 +1,50 @@
{ fetchFromGitHub
, lib
, makeWrapper
, stdenv
# Dependencies (@see https://github.com/pavanjadhaw/betterlockscreen/blob/master/shell.nix)
, bc
, coreutils
, i3lock-color
, gawk
, gnugrep
, gnused
, imagemagick
, procps
, xdpyinfo
, xrandr
, xset
}:
stdenv.mkDerivation rec {
pname = "betterlockscreen";
version = "4.0.4";
src = fetchFromGitHub {
owner = "pavanjadhaw";
repo = "betterlockscreen";
rev = "v${version}";
sha256 = "sha256-ZZnwByxfESE8ZOOh1vnbphUHDolo9MIQh3erjtBLmWQ=";
};
nativeBuildInputs = [ makeWrapper ];
installPhase = ''
runHook preInstall
mkdir -p $out/bin
cp betterlockscreen $out/bin/betterlockscreen
wrapProgram "$out/bin/betterlockscreen" --prefix PATH : "$out/bin:${lib.makeBinPath [ bc coreutils i3lock-color gawk gnugrep gnused imagemagick procps xdpyinfo xrandr xset ]}"
runHook postInstall
'';
meta = with lib; {
description = "Fast and sweet looking lockscreen for linux systems with effects!";
homepage = "https://github.com/pavanjadhaw/betterlockscreen";
license = licenses.mit;
platforms = platforms.linux;
maintainers = with maintainers; [ eyjhb sebtm ];
};
}

View file

@ -0,0 +1,47 @@
{ lib, stdenv, fetchFromGitHub, autoreconfHook, wxGTK30, ffmpeg, lua5_1, curl
, libpng, xorg, pkg-config, flam3, libgtop, boost, tinyxml, freeglut, libGLU, libGL
, glee }:
stdenv.mkDerivation rec {
pname = "electricsheep";
version = "3.0.2-2019-10-05";
src = fetchFromGitHub {
owner = "scottdraves";
repo = pname;
rev = "37ba0fd692d6581f8fe009ed11c9650cd8174123";
sha256 = "sha256-v/+2dxOY/p6wNAywcFHUAfsZEJw31Syu2MacN/KeyWg=";
};
nativeBuildInputs = [ autoreconfHook pkg-config ];
buildInputs = [
wxGTK30 ffmpeg lua5_1 curl libpng xorg.libXrender
flam3 libgtop boost tinyxml freeglut libGLU libGL glee
];
preAutoreconf = ''
cd client_generic
sed -i '/ACX_PTHREAD/d' configure.ac
'';
configureFlags = [
"CPPFLAGS=-I${glee}/include/GL"
];
makeFlags = [
''CXXFLAGS+="-DGL_GLEXT_PROTOTYPES"''
];
preBuild = ''
sed -i "s|/usr|$out|" Makefile
'';
meta = with lib; {
description = "Electric Sheep, a distributed screen saver for evolving artificial organisms";
homepage = "https://electricsheep.org/";
maintainers = with maintainers; [ fpletz ];
platforms = platforms.linux;
license = licenses.gpl1;
};
}

View file

@ -0,0 +1,40 @@
{ lib, stdenv, i3lock, imagemagick, scrot, playerctl, fetchFromGitLab }:
stdenv.mkDerivation rec {
pname = "i3lock-pixeled";
version = "1.2.1";
src = fetchFromGitLab {
owner = "Ma27";
repo = "i3lock-pixeled";
rev = version;
sha256 = "1l9yjf9say0mcqnnjkyj4z3f6y83bnx4jsycd1h10p3m8afbh8my";
};
propagatedBuildInputs = [
i3lock
imagemagick
scrot
playerctl
];
makeFlags = [
"PREFIX=$(out)/bin"
];
patchPhase = ''
substituteInPlace i3lock-pixeled \
--replace i3lock "${i3lock}/bin/i3lock" \
--replace convert "${imagemagick}/bin/convert" \
--replace scrot "${scrot}/bin/scrot" \
--replace playerctl "${playerctl}/bin/playerctl"
'';
meta = with lib; {
description = "Simple i3lock helper which pixels a screenshot by scaling it down and up to get a pixeled version of the screen when the lock is active";
homepage = "https://gitlab.com/Ma27/i3lock-pixeled";
license = licenses.mit;
platforms = platforms.linux;
maintainers = with maintainers; [ ma27 ];
};
}

View file

@ -0,0 +1,90 @@
{ lib, stdenv
, fetchFromGitHub
, nix-update-script
, meson
, ninja
, pkg-config
, gtk3
, glib
, intltool
, dbus-glib
, libX11
, libXScrnSaver
, libXxf86vm
, libXext
, systemd
, pantheon
, wrapGAppsHook
}:
stdenv.mkDerivation rec {
pname = "light-locker";
version = "1.9.0";
outputs = [ "out" "man" ];
src = fetchFromGitHub {
owner = "the-cavalry";
repo = pname;
rev = "v${version}";
sha256 = "1z5lcd02gqax65qc14hj5khifg7gr53zy3s5i6apba50lbdlfk46";
};
nativeBuildInputs = [
intltool
meson
ninja
pkg-config
wrapGAppsHook
];
buildInputs = [
dbus-glib
glib
gtk3
libX11
libXScrnSaver
libXext
libXxf86vm
systemd
];
mesonFlags = [
"-Dmit-ext=true"
"-Ddpms-ext=true"
"-Dxf86gamma-ext=true"
"-Dsystemd=true"
"-Dupower=true"
"-Dlate-locking=true"
"-Dlock-on-suspend=true"
"-Dlock-on-lid=true"
"-Dgsettings=true"
];
postInstall = ''
${glib.dev}/bin/glib-compile-schemas $out/share/glib-2.0/schemas
'';
passthru = {
updateScript = nix-update-script {
attrPath = pname;
};
};
meta = with lib; {
homepage = "https://github.com/the-cavalry/light-locker";
description = "A simple session-locker for LightDM";
longDescription = ''
A simple locker (forked from gnome-screensaver) that aims to
have simple, sane, secure defaults and be well integrated with
the desktop while not carrying any desktop-specific
dependencies.
It relies on LightDM for locking and unlocking your session via
ConsoleKit/UPower or logind/systemd.
'';
license = licenses.gpl2;
maintainers = with maintainers; [ obadz ] ++ teams.pantheon.members;
platforms = platforms.linux;
};
}

View file

@ -0,0 +1,47 @@
{
lib, stdenv, makeWrapper, fetchFromGitHub, writeShellScriptBin,
imagemagick, i3lock-color, xdpyinfo, xrandr, bc, feh, procps, xrdb, xset,
gnused, gnugrep, coreutils
}:
let
i3lock = writeShellScriptBin "i3lock" ''
${i3lock-color}/bin/i3lock-color "$@"
'';
binPath = lib.makeBinPath [
imagemagick i3lock
xdpyinfo xrandr xset
bc feh procps xrdb
gnused gnugrep coreutils
];
in
stdenv.mkDerivation rec {
pname = "multilockscreen";
version = "1.2.0";
src = fetchFromGitHub {
owner = "jeffmhubbard";
repo = pname;
rev = "v${version}";
sha256 = "1bfpbazvhaz9x356nsghz0czysh9b75g79cd9s35v0x0rrzdr9qj";
};
nativeBuildInputs = [ makeWrapper ];
installPhase = ''
mkdir -p $out/bin
cp multilockscreen $out/bin/multilockscreen
wrapProgram "$out/bin/multilockscreen" --prefix PATH : "${binPath}"
'';
meta = with lib; {
description = "Wrapper script for i3lock-color";
longDescription = ''
multilockscreen is a wrapper script for i3lock-color.
It allows you to cache background images for i3lock-color with a variety of different effects and adds a stylish indicator.
'';
homepage = "https://github.com/jeffmhubbard/multilockscreen";
license = licenses.mit;
platforms = platforms.linux;
maintainers = with maintainers; [ kylesferrazza ];
};
}

View file

@ -0,0 +1,27 @@
{ lib, stdenv, fetchFromGitHub, pam, systemd }:
stdenv.mkDerivation rec {
version = "13";
pname = "physlock";
src = fetchFromGitHub {
owner = "muennich";
repo = pname;
rev = "v${version}";
sha256 = "1mz4xxjip5ldiw9jgfq9zvqb6w10bcjfx6939w1appqg8f521a7s";
};
buildInputs = [ pam systemd ];
preConfigure = ''
substituteInPlace Makefile \
--replace "-m 4755 -o root -g root" ""
'';
makeFlags = [ "PREFIX=$(out)" "SESSION=systemd" ];
meta = with lib; {
description = "A secure suspend/hibernate-friendly alternative to `vlock -an`";
license = licenses.gpl2;
platforms = platforms.linux;
};
}

View file

@ -0,0 +1,33 @@
{ rustPlatform, fetchFromGitHub, lib }:
rustPlatform.buildRustPackage rec {
pname = "pipes-rs";
version = "1.4.7";
src = fetchFromGitHub {
owner = "lhvy";
repo = pname;
rev = "v${version}";
sha256 = "sha256-egjmvvbPmIjccg44F2/TiGrn5HRN5hp8XL0yd0/ctv0=";
};
cargoSha256 = "sha256-i9aR0dGNRF37Hhs9vq0wpdZGIVkX7M1SzbpASR5ve+g=";
doInstallCheck = true;
installCheckPhase = ''
if [[ "$("$out/bin/${pname}" --version)" == "${pname} ${version}" ]]; then
echo '${pname} smoke check passed'
else
echo '${pname} smoke check failed'
return 1
fi
'';
meta = with lib; {
description = "An over-engineered rewrite of pipes.sh in Rust";
homepage = "https://github.com/lhvy/pipes-rs";
license = with licenses; [ asl20 mit ];
maintainers = [ maintainers.vanilla ];
};
}

View file

@ -0,0 +1,32 @@
{ lib, stdenv, fetchFromGitHub, makeWrapper, coreutils, ncurses }:
stdenv.mkDerivation rec {
pname = "pipes";
version = "1.3.0";
src = fetchFromGitHub {
owner = "pipeseroni";
repo = "pipes.sh";
rev = "v${version}";
hash = "sha256-856OWlnNiGB20571TJg7Ayzcz4r6NqdW5DMDiim09mc=";
};
nativeBuildInputs = [ makeWrapper ];
installPhase = ''
mkdir $out -p
make PREFIX=$out/ install
wrapProgram $out/bin/pipes.sh \
--set PATH "${lib.makeBinPath [ coreutils ncurses ]}"
'';
meta = with lib; {
description = "Animated pipes terminal screensaver";
homepage = "https://github.com/pipeseroni/pipes.sh";
license = licenses.mit;
maintainers = [ maintainers.matthiasbeyer ];
mainProgram = "pipes.sh";
platforms = platforms.unix;
};
}

View file

@ -0,0 +1,27 @@
{lib, stdenv, fetchurl, pkg-config, xlibsWrapper, libXext, libGLU, libGL, imagemagick6, libtiff, bzip2}:
stdenv.mkDerivation rec {
version = "0.9.1";
pname = "rss-glx";
src = fetchurl {
url = "mirror://sourceforge/rss-glx/rss-glx_${version}.tar.bz2";
sha256 = "1aikafjqrfmv23jnrrm5d56dg6injh4l67zjdxzdapv9chw7g3cg";
};
nativeBuildInputs = [ pkg-config ];
buildInputs = [ libGLU libGL xlibsWrapper imagemagick6 libtiff bzip2 ];
NIX_CFLAGS_COMPILE = "-I${imagemagick6.dev}/include/ImageMagick";
NIX_LDFLAGS= "-rpath ${libXext}/lib";
meta = {
description = "Really Slick Screensavers Port to GLX";
longDescription = ''
This package currently contains all of the screensavers from the
original collection, plus a few others.
'';
license = lib.licenses.gpl2;
platforms = lib.platforms.linux;
};
}

View file

@ -0,0 +1,39 @@
{ lib, stdenv, fetchurl, writeText
, xorgproto, libX11, libXext, libXrandr
# default header can be obtained from
# https://git.suckless.org/slock/tree/config.def.h
, conf ? null }:
with lib;
stdenv.mkDerivation rec {
pname = "slock";
version = "1.4";
src = fetchurl {
url = "https://dl.suckless.org/tools/slock-${version}.tar.gz";
sha256 = "0sif752303dg33f14k6pgwq2jp1hjyhqv6x4sy3sj281qvdljf5m";
};
buildInputs = [ xorgproto libX11 libXext libXrandr ];
installFlags = [ "PREFIX=$(out)" ];
postPatch = "sed -i '/chmod u+s/d' Makefile";
preBuild = optionalString (conf != null) ''
cp ${writeText "config.def.h" conf} config.def.h
'';
makeFlags = [ "CC:=$(CC)" ];
meta = {
homepage = "https://tools.suckless.org/slock";
description = "Simple X display locker";
longDescription = ''
Simple X display locker. This is the simplest X screen locker.
'';
license = licenses.mit;
maintainers = with maintainers; [ astsmtl ];
platforms = platforms.linux;
};
}

View file

@ -0,0 +1,30 @@
{ lib, stdenv, fetchurl, pam }:
stdenv.mkDerivation rec {
pname = "vlock";
version = "2.2.2";
src = fetchurl {
url = "mirror://debian/pool/main/v/vlock/vlock_${version}.orig.tar.gz";
sha256 = "1b9gv7hmlb8swda5bn40lp1yki8b8wv29vdnhcjqfl6ir98551za";
};
prePatch = ''
sed -i -e '/INSTALL/ {
s/-[og] [^ ]*//g; s/4711/755/
}' Makefile modules/Makefile
'';
patches = [ ./eintr.patch ];
configureFlags = [ "VLOCK_GROUP=root" "ROOT_GROUP=root" ];
buildInputs = [ pam ];
meta = with lib; {
description = "Virtual console locking program";
license = licenses.gpl2;
maintainers = [ ];
platforms = platforms.linux;
};
}

View file

@ -0,0 +1,34 @@
In systemd I have seen this error, using it as a service:
vlock-start[14567]: vlock-new: could not activate new terminal: Interrupted system call
I think this should fix that.
Also on github: https://github.com/viric/vlock/commit/781a26087f83c7247601b6f82f784cca9266694e
diff --git a/modules/new.c b/modules/new.c
index e9b15fb..7aed640 100644
--- a/modules/new.c
+++ b/modules/new.c
@@ -103,9 +103,19 @@ static char *get_console_name(int n)
* file descriptor. */
static int activate_console(int consfd, int vtno)
{
- int c = ioctl(consfd, VT_ACTIVATE, vtno);
+ int c;
+ do {
+ c = ioctl(consfd, VT_ACTIVATE, vtno);
+ } while(c != 0 && errno == EINTR);
- return c < 0 ? c : ioctl(consfd, VT_WAITACTIVE, vtno);
+ if (c < 0)
+ return c;
+
+ do {
+ c = ioctl(consfd, VT_WAITACTIVE, vtno);
+ } while(c != 0 && errno == EINTR);
+
+ return c;
}
struct new_console_context {

View file

@ -0,0 +1,35 @@
{ lib, stdenv, fetchFromGitHub, xlibsWrapper
, imake, gccmakedep, libXScrnSaver, xorgproto
}:
stdenv.mkDerivation rec {
pname = "xautolock";
version = "2.2-7-ga23dd5c";
# This repository contains xautolock-2.2 plus various useful patches that
# were collected from Debian, etc.
src = fetchFromGitHub {
owner = "peti";
repo = "xautolock";
rev = "v${version}";
sha256 = "10j61rl0sx9sh84rjyfyddl73xb5i2cpb17fyrli8kwj39nw0v2g";
};
nativeBuildInputs = [ imake gccmakedep ];
buildInputs = [ xlibsWrapper libXScrnSaver xorgproto ];
makeFlags = [
"BINDIR=$(out)/bin"
"MANPATH=$(out)/share/man"
];
installTargets = [ "install" "install.man" ];
meta = with lib; {
description = "Launch a given program when your X session has been idle for a given time";
homepage = "http://www.ibiblio.org/pub/linux/X11/screensavers";
maintainers = with maintainers; [ peti ];
platforms = platforms.linux;
license = licenses.gpl2;
};
}

View file

@ -0,0 +1,42 @@
{ stdenv, lib, fetchurl, pam ? null, libX11, libXext, libXinerama
, libXdmcp, libXt, autoreconfHook }:
stdenv.mkDerivation rec {
pname = "xlockmore";
version = "5.69";
src = fetchurl {
url = "http://sillycycle.com/xlock/xlockmore-${version}.tar.xz";
sha256 = "sha256-6pJlTAASJoSHZaJRpzvLxHPM7xe3IcwY1TYfWdvW07k=";
curlOpts = "--user-agent 'Mozilla/5.0'";
};
# Optionally, it can use GTK.
buildInputs = [ pam libX11 libXext.dev libXinerama libXdmcp libXt ];
nativeBuildInputs = [ autoreconfHook ];
# Don't try to install `xlock' setuid. Password authentication works
# fine via PAM without super user privileges.
configureFlags =
[ "--disable-setuid"
] ++ (lib.optional (pam != null) "--enable-pam");
postPatch =
let makePath = p: lib.concatMapStringsSep " " (x: x + "/" + p) buildInputs;
inputs = "${makePath "lib"} ${makePath "include"}";
in ''
sed -i 's,\(for ac_dir in\),\1 ${inputs},' configure.ac
sed -i 's,/usr/,/no-such-dir/,g' configure.ac
configureFlags+=" --enable-appdefaultdir=$out/share/X11/app-defaults"
'';
hardeningDisable = [ "format" ]; # no build output otherwise
meta = with lib; {
description = "Screen locker for the X Window System";
homepage = "http://sillycycle.com/xlockmore.html";
license = licenses.gpl2;
maintainers = with maintainers; [ pSub ];
platforms = platforms.linux;
};
}

View file

@ -0,0 +1,68 @@
{ lib, stdenv, fetchurl, makeWrapper
, pkg-config, intltool
, perl, perlPackages, gettext, libX11, libXext, libXi, libXt
, libXft, libXinerama, libXrandr, libXxf86vm, libGL, libGLU, gle
, gtk2, gdk-pixbuf, gdk-pixbuf-xlib, libxml2, pam
, systemd, coreutils
, forceInstallAllHacks ? false
, withSystemd ? stdenv.isLinux
}:
stdenv.mkDerivation rec {
version = "6.03";
pname = "xscreensaver";
src = fetchurl {
url = "https://www.jwz.org/${pname}/${pname}-${version}.tar.gz";
sha256 = "sha256-Mo1ReXNSrPWMpbq0nnb78mA058rXhfZR6hHOe0P7olo=";
};
nativeBuildInputs = [
pkg-config intltool makeWrapper
];
buildInputs = [
perl gettext libX11 libXext libXi libXt
libXft libXinerama libXrandr libXxf86vm libGL libGLU gle
gtk2 gdk-pixbuf gdk-pixbuf-xlib libxml2 pam
perlPackages.LWPProtocolHttps perlPackages.MozillaCA
] ++ lib.optional withSystemd systemd;
preConfigure = ''
# Fix installation paths for GTK resources.
sed -e 's%@GTK_DATADIR@%@datadir@% ; s%@PO_DATADIR@%@datadir@%' \
-i driver/Makefile.in po/Makefile.in.in
'';
configureFlags = [
"--with-app-defaults=${placeholder "out"}/share/xscreensaver/app-defaults"
];
# "marbling" has NEON code that mixes signed and unsigned vector types
NIX_CFLAGS_COMPILE = lib.optional (with stdenv.hostPlatform; isAarch64 || isAarch32) "-flax-vector-conversions";
postInstall = ''
for bin in $out/bin/*; do
wrapProgram "$bin" \
--prefix PATH : "$out/libexec/xscreensaver" \
--prefix PATH : "${lib.makeBinPath [ coreutils perl ]}" \
--prefix PERL5LIB ':' $PERL5LIB
done
'' + lib.optionalString forceInstallAllHacks ''
make -j$NIX_BUILD_CORES -C hacks/glx dnalogo
cat hacks/Makefile.in \
| grep -E '([a-z0-9]+):[[:space:]]*\1[.]o' | cut -d : -f 1 | xargs make -j$NIX_BUILD_CORES -C hacks
cat hacks/glx/Makefile.in \
| grep -E '([a-z0-9]+):[[:space:]]*\1[.]o' | cut -d : -f 1 | xargs make -j$NIX_BUILD_CORES -C hacks/glx
cp -f $(find hacks -type f -perm -111 "!" -name "*.*" ) "$out/libexec/xscreensaver"
'';
meta = {
homepage = "https://www.jwz.org/xscreensaver/";
description = "A set of screensavers";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ raskin ];
platforms = lib.platforms.unix; # Once had cygwin problems
downloadPage = "https://www.jwz.org/xscreensaver/download.html";
};
}

View file

@ -0,0 +1,24 @@
{ lib, stdenv, fetchFromGitHub, cmake, docutils, pkg-config, glib, libpthreadstubs
, libXau, libXdmcp, xcbutil }:
stdenv.mkDerivation {
pname = "xss-lock";
version = "unstable-2018-05-31";
src = fetchFromGitHub {
owner = "xdbob";
repo = "xss-lock";
rev = "cd0b89df9bac1880ea6ea830251c6b4492d505a5";
sha256 = "040nqgfh564frvqkrkmak3x3h0yadz6kzk81jkfvd9vd20a9drh7";
};
nativeBuildInputs = [ cmake pkg-config docutils ];
buildInputs = [ glib libpthreadstubs libXau libXdmcp xcbutil ];
meta = with lib; {
description = "Use external locker (such as i3lock) as X screen saver";
license = licenses.mit;
maintainers = with maintainers; [ malyn offline ];
platforms = platforms.linux;
};
}

View file

@ -0,0 +1,29 @@
{ lib, stdenv, fetchFromGitHub, glib, pkg-config, xorg, dbus }:
stdenv.mkDerivation rec {
pname = "xssproxy";
version = "1.0.0";
src = fetchFromGitHub {
owner = "timakro";
repo = "xssproxy";
rev = "v${version}";
sha256 = "0c83wmipnsdnbihc5niyczs7jrkss2s8n6iwwjdia7hkjzbd0hl7";
};
nativeBuildInputs = [ pkg-config ];
buildInputs = [ glib xorg.libX11 xorg.libXScrnSaver dbus ];
makeFlags = [
"bindir=$(out)/bin"
"man1dir=$(out)/share/man/man1"
];
meta = {
description = "Forward freedesktop.org Idle Inhibition Service calls to Xss";
homepage = "https://github.com/timakro/xssproxy";
license = lib.licenses.gpl3;
maintainers = with lib.maintainers; [ benley ];
platforms = lib.platforms.unix;
};
}

View file

@ -0,0 +1,30 @@
{ lib, stdenv, fetchFromGitHub, python2, pkg-config, xlibsWrapper, pam }:
stdenv.mkDerivation {
pname = "xtrlock-pam";
version = "3.4-post-20150909";
src = fetchFromGitHub {
owner = "aanatoly";
repo = "xtrlock-pam";
rev = "6f4920fcfff54791c0779057e9efacbbbbc05df6";
sha256 = "sha256-TFfs418fpjBrAJNGW8U3jE0K7jQkfL4vCquAViKkXPw=";
};
nativeBuildInputs = [ pkg-config ];
buildInputs = [ python2 xlibsWrapper pam ];
configurePhase = ''
substituteInPlace .config/options.py --replace /usr/include/security/pam_appl.h ${pam}/include/security/pam_appl.h
substituteInPlace src/xtrlock.c --replace system-local-login xscreensaver
python configure --prefix=$out
'';
meta = {
homepage = "https://github.com/aanatoly/xtrlock-pam";
description = "PAM based X11 screen locker";
license = "unknown";
maintainers = with lib.maintainers; [ tstrobel ];
platforms = with lib.platforms; linux;
};
}