[Nix-dev] Proposed feature for make-wrapper.sh

Phil Wetzel phil at audido.com
Sun May 8 01:24:09 CEST 2016


Greetings,

I've just installed NixOS on my desktop with KDE. I had trouble getting 
akonadi working (the data backend for kdepim). I found one other person with 
the same problem [1], though it is hard for me to believe I am the only person 
trying to run KMail on NixOS.

The problem turned out to be akonadi starting an instance of mysqld (mariadb) 
that failed to find an error messages file because it didn't know where it was. 
Setting the --basedir prevents this problem from occurring, and that is what 
is done in the service module definition. kdepim users can solve the problem 
locally by setting basedir in their akonadi/mysql.cf config, but if we would 
like it to work out of the box it seemed to me that the way forward was to use 
wrapProgram on mysqld. You can't actually run mysqld from the commandline 
without without the --basedir argument with it packaged the way it is now 
anyway. 

This turned out to not work either because:

 - wrapProgram --add-flags *prepends* all the wrapped flags to the argument list
 - akonadi uses the --defaults-file argument
 - mysqld requires --defaults-file to be the first argument if it is used

This can certainly be solved with some hackery after the wrapProgram in 
postInstall, but perhaps it would be better to include a --suffix-flags feature 
to make-wrapper.sh.

What would you suggest as the better choice? I didn't want to submit a PR with   
a hack if that wasn't the way forward, and I definitely didn't want to submit a 
PR touching the build tools and documentation without at least saying hello 
first.

Thank you,
Phil Wetzel

[1] - http://lists.science.uu.nl/pipermail/nix-dev/2015-January/015575.html


More information about the nix-dev mailing list