The build of xlockmore produced only the minimum set of features. DPMS
support, Xinerama etc was disabled because the changes in the postPatch
step were never applied by re-running autoconf.
Furthermore, DPMS was not supported because it couldn't find the
`dpms.h` header file in order to compile the support for DPMS features.
This patch uses the `autoreconfHook` in which we run
`autoconf` to apply the changes of `configure.ac` to the `configure`
script. The patch also uses the `libXext.dev` `buildInput` in order to
allow access to the right header files.
While looking at the sphinx package I noticed it was heavily
undermaintained, which is when we noticed nand0p has been inactive for
roughly 18 months. It is therefore prudent to assume they will not be
maintaining their packages, modules and tests.
- Their last contribution to nixpkgs was in 2019/12
- On 2021/05/08 I wrote them an email to the address listed in the
maintainer-list, which they didn't reply to.
Since 03eaa48 added perl.withPackages, there is a canonical way to
create a perl interpreter from a list of libraries, for use in script
shebangs or generic build inputs. This method is declarative (what we
are doing is clear), produces short shebangs[1] and needs not to wrap
existing scripts.
Unfortunately there are a few exceptions that I've found:
1. Scripts that are calling perl with the -T switch. This makes perl
ignore PERL5LIB, which is what perl.withPackages is using to inform
the interpreter of the library paths.
2. Perl packages that depends on libraries in their own path. This
is not possible because perl.withPackages works at build time. The
workaround is to add `-I $out/${perl.libPrefix}` to the shebang.
In all other cases I propose to switch to perl.withPackages.
[1]: https://lwn.net/Articles/779997/