Undefined symbols for architecture x86_64:
"_NSDefaultRunLoopMode", referenced from:
_X11ApplicationMain in libXquartz.a(X11Application.o)
"_OBJC_CLASS_$_NSArray", referenced from:
objc-class-ref in libXquartz.a(X11Application.o)
objc-class-ref in libXquartz.a(X11Controller.o)
objc-class-ref in libxpbproxy.a(x-selection.o)
"_OBJC_CLASS_$_NSData", referenced from:
objc-class-ref in libxpbproxy.a(x-selection.o)
"_OBJC_CLASS_$_NSDictionary", referenced from:
objc-class-ref in libxpbproxy.a(x-selection.o)
"_OBJC_CLASS_$_NSMutableArray", referenced from:
objc-class-ref in libXquartz.a(X11Application.o)
objc-class-ref in libXquartz.a(X11Controller.o)
"_OBJC_CLASS_$_NSMutableDictionary", referenced from:
objc-class-ref in libXquartz.a(X11Application.o)
"_OBJC_CLASS_$_NSRunLoop", referenced from:
objc-class-ref in libXquartz.a(X11Application.o)
"_OBJC_CLASS_$_NSURL", referenced from:
objc-class-ref in libXquartz.a(X11Application.o)
"_OBJC_EHTYPE_$_NSException", referenced from:
GCC_except_table29 in libxpbproxy.a(x-selection.o)
ld: symbol(s) not found for architecture x86_64
Undefined symbols for architecture x86_64:
"_NSDefaultRunLoopMode", referenced from:
_X11ApplicationMain in libXquartz.a(X11Application.o)
"_OBJC_CLASS_$_NSArray", referenced from:
objc-class-ref in libXquartz.a(X11Application.o)
objc-class-ref in libXquartz.a(X11Controller.o)
objc-class-ref in libxpbproxy.a(x-selection.o)
"_OBJC_CLASS_$_NSData", referenced from:
objc-class-ref in libxpbproxy.a(x-selection.o)
"_OBJC_CLASS_$_NSDictionary", referenced from:
objc-class-ref in libxpbproxy.a(x-selection.o)
"_OBJC_CLASS_$_NSMutableArray", referenced from:
objc-class-ref in libXquartz.a(X11Application.o)
objc-class-ref in libXquartz.a(X11Controller.o)
"_OBJC_CLASS_$_NSMutableDictionary", referenced from:
objc-class-ref in libXquartz.a(X11Application.o)
"_OBJC_CLASS_$_NSRunLoop", referenced from:
objc-class-ref in libXquartz.a(X11Application.o)
"_OBJC_CLASS_$_NSURL", referenced from:
objc-class-ref in libXquartz.a(X11Application.o)
"_OBJC_EHTYPE_$_NSException", referenced from:
GCC_except_table29 in libxpbproxy.a(x-selection.o)
ld: symbol(s) not found for architecture x86_64
Undefined symbols for architecture x86_64:
"_CFNotificationCenterAddObserver", referenced from:
_main in main.o
"_CFNotificationCenterGetDistributedCenter", referenced from:
_main in main.o
"_OBJC_CLASS_$_NSTimer", referenced from:
objc-class-ref in main.o
objc-class-ref in x-screen.o
"_OBJC_EHTYPE_$_NSException", referenced from:
GCC_except_table25 in main.o
ld: symbol(s) not found for architecture x86_64
The lines stored in `extraConfig` and `worker.<name?>.extraConfig`
should take precedent over values from included files but in order to do
this in rspamd UCL they need to be stored in a file that then gets
included with a high priority. This commit uses the overrides option to
store the value of the two `extraConfig` options in `extra-config.inc`
and `worker-<name?>.inc` respectively.
When the workers option for rspamd was originally implemented it was
based on a flawed understanding of how workers are configured in rspamd.
This meant that while rspamd supports configuring multiple workers of
the same type, so that different controller workers could have different
passwords, the NixOS module did not support this because it would write
an invalid configuration file if you tried.
Specifically a configuration like the one below:
```
workers.controller = {};
workers.controller2 = {
type = "controller";
};
```
Would result in a rspamd configuration of:
```
worker {
type = "controller";
count = 1;
.include "$CONFDIR/worker-controller.inc"
}
worker "controller2" {
type = "controller";
count = 1;
}
```
While to get multiple controller workers it should instead be:
```
worker "controller" {
type = "controller";
count = 1;
.include "$CONFDIR/worker-controller.inc"
}
worker "controller" {
type = "controller";
count = 1;
}
```