Subject: Re: bug#46998: wish: package xvfb-run

From: Maxime Devos <[email-masked]>
Date: Mon, 08 Mar 2021 21:57:35 +0100

On Mon, 2021-03-08 at 01:57 +0100, Dr. Arne Babenhauserheide wrote:
> User-agent: mu4e 1.4.15; emacs 27.1
> (emacs:30177): dbind-WARNING **: 01:46:31.849: Could not open X display
> 
> http://deb.debian.org/debian/pool/main/x/xorg-server/xorg-server_1.20.10-3.diff.gz
> 
> +Usage: $PROGNAME [OPTION ...] COMMAND
> +Options:
> +DISPLAY=:$SERVERNUM XAUTHORITY=$AUTHFILE "$@"
> Dear Guix hackers,
> 
> One of my main tools for running graphical programs as part of my build
> pipelines is xvfb-run. Since it is not packaged in Guix, I’ve resorted
> to manual workarounds, but these have annoying drawbacks:
> 
> Xvfb :3 -screen 0 1024x768x16 & time DISPLAY=:3 HOME=/path/to/project/.emacs.d emacs …

build pipelines = (a) something for in guix package definitions, to be
run in the build container, or (b) as part of the Makefile or similar
for software, that you are compiling *outside* guix' build containter?

I'm assuming the latter as I read you're starting the editor "emacs".

> I now get errors about the maximum number of clients reached, because
> the Xvfb does not get reaped after the build:

If (a) is the case, and "after the build" here means "after guix build
PACKAGE" completes, then this seems a bug in how the guix daemon sets up it
build containers.

> Maximum number of clients reached
> Therefore I would ask whether it would be possible to package xvfb-run.
> It is provided as part of the patches of the xorg-package in Debian:

I'm no guix maintainer, but I don't see why not.  Myself I would prefer
this as a separate package "xvfb-run" that only has Debian's "xvfb-run"
script and its man page though.

In any case, the references to "stty", "awk", "cat", "xauth", "mktemp",
"xvfb", "touch", "rm", "fmt" would need to be replaced with the full
store path (using substitute* I presume).  The alternative would be
defining a wrapper script adjusting the $PATH, which doesn't seem ideal
for xvfb-run.

Are you planning to write a patch to guix yourself with (i) the adjusted
xorg-server, or (ii) a new xvfb-run package?

Greetings,
Maxime

> Best wishes,
> Arne