Hello! mirai <mi...@makinata.eu> skribis:
> An oddity of how nginx modules are packaged in guix is that they all place > the .so file under /etc/nginx/modules which is an odd directory to place > library object files. To me that should be treated as a bug. Those .so files should go to $PKG/lib/nginx instead, or something similar. > Looking at how network-manager-configuration handles its vpn-plugins field, > it seems doable > that a similar approach can be used here. > The existing nginx-modules should be changed to install their .so files under > lib{64}/nginx > instead and they should drop a etc/nginx/modules/foo_module.conf file > responsible for loading > the module from the .so file. Including modules through a .conf should be > preferred as > there's no guarantee that a module is a .so file or that it is always a > _single_ .so file but in general this file should typically be a one-line > .conf file containing: > > load_module > "/gnu/store/......nginx-foo-module/usr/lib64/nginx/ngx_foo_module.so"; > > > And nginx-configuration should serialize the modules field as a series of > lines including > the module .conf files, that is: > > include > "/gnu/store/......nginx-foo-module/etc/nginx/modules/ngx_foo_module.conf"; > include > "/gnu/store/......nginx-bar-module/etc/nginx/modules/ngx_bar_module.conf"; > ... > > (note: a directory union could be used here as an alternative) I’d say that ideally, one could extend <nginx-configuration> with modules, and that would automatically create the ‘load_module’ statements. > On a related note, given how nginx-modules are expected to be built and > linked against the > same nginx build, a new nginx-build-system for nginx modules could be > considered as the few > existing nginx modules in guix are for the most part a copy-paste of each > other with some > modifications here-and-there. That would be an improvement, indeed! Thanks, Ludo’.