summaryrefslogtreecommitdiffstats
path: root/config
AgeCommit message (Collapse)Author
2004-12-27Remove CPU detect for IRIX targets. Performance gain is less than 1%,Andy Polyakov
it makes more sense to strive for broader binary compatibility...
2004-12-20Refine PowerPC platform support.Andy Polyakov
2004-07-18Add anchors for AES, SHA-256/-512 assembler modules and SSE2 code pathes.Andy Polyakov
I also used this opportunity to clean up some out-of-date targets and re-group targets by OS.
2004-06-28Changes for VOS, submitted by Paul Green <Paul.Green@stratus.com>.Richard Levitte
PR: 499
2004-04-27Oops! Typo in ./config...Andy Polyakov
2004-04-27Improved PowerPC support. Proper ./config support for ppc targets,Andy Polyakov
especially for AIX. But most important BIGNUM assembler implementation submitted by IBM. Submitted by: Peter Waltenberg <pwalten@au1.ibm.com> Reviewed by: appro
2004-01-29HP/UX PA-RISC 2 targets update.Andy Polyakov
2003-11-20./config failed to correctly detect if gcc uses 64-bit ABI on HP-UX.Andy Polyakov
PR: 772
2003-03-20Some shells (ksh in this case) don't say 'command not found'.Richard Levitte
PR: 540
2003-03-20hinv may generate more than one line (1 line per CPU).Richard Levitte
PR: 520
2003-02-14Add support for IA64.Richard Levitte
PR: 454
2003-01-19Suggestion was to change ${MACHINE} to i586 in lines in question. Well,Andy Polyakov
"whatever" doesn't the same (avoids 386 being passed to ./Configure), consistent with other elder SCO targets and denotes that we probably shouldn't care much about every out-of-date platform.
2003-01-19Oops! Missed closing quote... Didn't have time to verify before a snapshotAndy Polyakov
was cut...
2003-01-18Caldera/SCO targets erroneously limit themselves to 386. See RT#464.Andy Polyakov
2003-01-18Fix for AIX shared build, see RT#463.Andy Polyakov
2003-01-13typoBodo Möller
2003-01-12Add better support for FreeBSD on non-x86 machines.Richard Levitte
Add specific support for FreeBSD on sparc64. PR: 427
2003-01-04Fix a typo.Andy Polyakov
2003-01-03Support for ILP32 on HPUX-IA64.Andy Polyakov
2002-12-05linux64-sparcv9 support finally debugged and tested.Andy Polyakov
Submitted by: Reviewed by: PR:
2002-12-04Add support for x86_64.Richard Levitte
PR: 348
2002-11-14Add Tandem OSS target.Richard Levitte
PR: 192
2002-11-14The directory 'rijndael' doesn't exist any more, let's check the aesRichard Levitte
directory instead (this should have been done long ago...).
2002-08-16isalist was less trustable than I thought (or rather, one can trust it toRichard Levitte
come up with all kinds of names we don't have in our targets). Besides, our sparcv9 targets currently generate sparcv8 code, I'm told.
2002-08-15It seems like sun4u doesn't always have a sparcv9 inside. Trust isalist.Richard Levitte
PR: 220
2002-08-09Parse version numbers prefixed with text (egcs does that, even withRichard Levitte
-dumpversion). PR: 203, part 1
2002-06-16Use -dumpversion to obtain gcc's version.Lutz Jänicke
Submitted by: ross.alexander@uk.neceur.com, allenh@eecs.berkeley.edu Reviewed by: PR: 96
2002-06-14Initial support for hpux64-parisc-gccLutz Jänicke
Submitted by: ross.alexander@uk.neceur.com Reviewed by: PR: 96
2002-06-13Make sure that any dash in the prefix before the version number is removed.Richard Levitte
PR: 96
2002-06-05Update the recognision of GCC version numbers to handle the prefix textRichard Levitte
that GCC 3.1 adds to the --version output
2002-05-12Recognize PPC64 target.Lutz Jänicke
Submitted by: Reviewed by: PR: 26
2002-03-15Rename 'cray-t90-cc' into 'cray-j90'.Bodo Möller
Add to 'config'.
2002-03-05New configuration targets for OpenBSD, handed to me by Bob Beck ↵Richard Levitte
<beck@openbsd.org>
2002-02-14At Corinna Vinschen's request, change CygWin32 to CygwinRichard Levitte
2002-02-14Correct sh, pleaseRichard Levitte
2002-02-13Update the configuration of CygWin32 to use the new capabilities ofRichard Levitte
CygWin 1.3.x, which includes thread and shared library support. Submitted by Corinna Vinschen <vinschen@redhat.com> and modified a little bit.
2002-01-25Apply Neale Ferguson's patch to add a configuration target for linux-s390xRichard Levitte
2002-01-02Add support for Linux on HP/PA.Richard Levitte
Submitted by "Bryan W. Headley" <bheadley@interaccess.com>
2001-12-19Cygwin patch. Submitted by Michael Kobar <mkobar@lymeware.com>Ulf Möller
2001-11-30Support for QNX (wrat@jump.net (the wharf rat)).Lutz Jänicke
2001-09-22crypto/idea and crypto/rijndael were missing in the list ofBodo Möller
directories that may have been deleted
2001-09-07Recognize OpenUNIX-8 with compilerLutz Jänicke
2001-09-06Even more corrections for OpenUNIX 8Lutz Jänicke
2001-09-06Support for shared libraries on Unixware-7 and OpenUNIX-8Lutz Jänicke
(Boyd Lynn Gerber <gerberb@zenez.com>).
2001-09-05Use GCC 2.95/3.0 optimizationUlf Möller
2001-08-10Apply the Tru64 patch from Tim Mooney <mooney@dogbert.cc.ndsu.NoDak.edu>Richard Levitte
His comments are: 1) Changes all references for `True64' to be `Tru64', which is the correct spelling for the OS name. 2) Makes `alpha-cc' be the same as `alpha164-cc', and adds an `alphaold-cc' entry that is the same as the previous `alpha-cc'. The reason is that most people these days are using the newer compiler, so it should be the default. 3) Adds a bit of commentary to Configure, regarding the name changes of the OS over the years, so it's not so confusing to people that haven't been with the OS for a while. 4) Adds an `alpha-cc-rpath' target (which is *not* selected automatically by Configure under any circumstance) that builds an RPATH into the shared libraries. This is explained in the comment in Configure. It's very very useful for people that want it, and people that don't want it just shouldn't choose that target. 5) Adds the `-pthread' flag as the best way to get POSIX thread support from the newer compiler. 6) Updates the Makefile targets, so that when the `alpha164-cc', `alpha-cc', or `alpha-cc-rpath' target is what Configure is set to use, it uses a Makefile target that includes the `-msym' option when building the shared library. This is a performance enhancement. 7) Updates `config' so that if it detects you're running version 4 or 5 of the OS, it automatically selects `alpha-cc', but uses `alphaold-cc' for versions 1-3 of the OS. 8) Updates the comment in opensslv.h, fixing both the OS name typo and adding a reference to IRIX 6.x, since the shared library semantics are virtually identical there.
2001-07-30Enhanced support for IA-64 Linux and HP-UX (as well as better support forAndy Polyakov
HP-UX in common in ./config). Note that for the moment of this writing none of 64-bit platforms pass bntest. I'm committing this anyway as it's too frustrating to patch snapshots over and over while 0.9.6 is known to work.
2001-07-30Typo in stty command lines.Andy Polyakov
2001-07-25Support for 64-bit Solaris build with GCC 3.0 and later. It should beAndy Polyakov
explicitely noted that 64-bit SPARCv9 ABI is not officially supported by GCC 3.0 (support is scheduled for 3.1 release), but it appears to work, at the very least 'make test' passes...
2001-03-18New cofiguration for Unixwre and SCO,with slightly better granularity. ↵Richard Levitte
Contributed by Tim Rice <tim@multitalents.net>
>str; default = "${cfg.user}"; description = lib.mdDoc "Owner to set on unix socket"; }; group = mkOption { type = types.str; default = "${cfg.group}"; description = lib.mdDoc "Group to set on unix socket"; }; rawEntry = mkOption { type = types.str; internal = true; }; }; config.rawEntry = let maybeOption = option: optionalString options.${option}.isDefined " ${option}=${config.${option}}"; in if (!(hasPrefix "/" config.socket)) then "${config.socket}" else "${config.socket}${maybeOption "mode"}${maybeOption "owner"}${maybeOption "group"}"; }; traceWarning = w: x: builtins.trace "warning: ${w}" x; workerOpts = { name, options, ... }: { options = { enable = mkOption { type = types.nullOr types.bool; default = null; description = lib.mdDoc "Whether to run the rspamd worker."; }; name = mkOption { type = types.nullOr types.str; default = name; description = lib.mdDoc "Name of the worker"; }; type = mkOption { type = types.nullOr (types.enum [ "normal" "controller" "fuzzy" "rspamd_proxy" "lua" "proxy" ]); description = lib.mdDoc '' The type of this worker. The type `proxy` is deprecated and only kept for backwards compatibility and should be replaced with `rspamd_proxy`. ''; apply = let from = "services.rspamd.workers.\"${name}\".type"; files = options.type.files; warning = "The option `${from}` defined in ${showFiles files} has enum value `proxy` which has been renamed to `rspamd_proxy`"; in x: if x == "proxy" then traceWarning warning "rspamd_proxy" else x; }; bindSockets = mkOption { type = types.listOf (types.either types.str (types.submodule bindSocketOpts)); default = []; description = lib.mdDoc '' List of sockets to listen, in format acceptable by rspamd ''; example = [{ socket = "/run/rspamd.sock"; mode = "0666"; owner = "rspamd"; } "*:11333"]; apply = value: map (each: if (isString each) then if (isUnixSocket each) then {socket = each; owner = cfg.user; group = cfg.group; mode = "0644"; rawEntry = "${each}";} else {socket = each; rawEntry = "${each}";} else each) value; }; count = mkOption { type = types.nullOr types.int; default = null; description = lib.mdDoc '' Number of worker instances to run ''; }; includes = mkOption { type = types.listOf types.str; default = []; description = lib.mdDoc '' List of files to include in configuration ''; }; extraConfig = mkOption { type = types.lines; default = ""; description = lib.mdDoc "Additional entries to put verbatim into worker section of rspamd config file."; }; }; config = mkIf (name == "normal" || name == "controller" || name == "fuzzy" || name == "rspamd_proxy") { type = mkDefault name; includes = mkDefault [ "$CONFDIR/worker-${if name == "rspamd_proxy" then "proxy" else name}.inc" ]; bindSockets = let unixSocket = name: { mode = "0660"; socket = "/run/rspamd/${name}.sock"; owner = cfg.user; group = cfg.group; }; in mkDefault (if name == "normal" then [(unixSocket "rspamd")] else if name == "controller" then [ "localhost:11334" ] else if name == "rspamd_proxy" then [ (unixSocket "proxy") ] else [] ); }; }; isUnixSocket = socket: hasPrefix "/" (if (isString socket) then socket else socket.socket); mkBindSockets = enabled: socks: concatStringsSep "\n " (flatten (map (each: "bind_socket = \"${each.rawEntry}\";") socks)); rspamdConfFile = pkgs.writeText "rspamd.conf" '' .include "$CONFDIR/common.conf" options { pidfile = "$RUNDIR/rspamd.pid"; .include "$CONFDIR/options.inc" .include(try=true; priority=1,duplicate=merge) "$LOCAL_CONFDIR/local.d/options.inc" .include(try=true; priority=10) "$LOCAL_CONFDIR/override.d/options.inc" } logging { type = "syslog"; .include "$CONFDIR/logging.inc" .include(try=true; priority=1,duplicate=merge) "$LOCAL_CONFDIR/local.d/logging.inc" .include(try=true; priority=10) "$LOCAL_CONFDIR/override.d/logging.inc" } ${concatStringsSep "\n" (mapAttrsToList (name: value: let includeName = if name == "rspamd_proxy" then "proxy" else name; tryOverride = boolToString (value.extraConfig == ""); in '' worker "${value.type}" { type = "${value.type}"; ${optionalString (value.enable != null) "enabled = ${if value.enable != false then "yes" else "no"};"} ${mkBindSockets value.enable value.bindSockets} ${optionalString (value.count != null) "count = ${toString value.count};"} ${concatStringsSep "\n " (map (each: ".include \"${each}\"") value.includes)} .include(try=true; priority=1,duplicate=merge) "$LOCAL_CONFDIR/local.d/worker-${includeName}.inc" .include(try=${tryOverride}; priority=10) "$LOCAL_CONFDIR/override.d/worker-${includeName}.inc" } '') cfg.workers)} ${optionalString (cfg.extraConfig != "") '' .include(priority=10) "$LOCAL_CONFDIR/override.d/extra-config.inc" ''} ''; filterFiles = files: filterAttrs (n: v: v.enable) files; rspamdDir = pkgs.linkFarm "etc-rspamd-dir" ( (mapAttrsToList (name: file: { name = "local.d/${name}"; path = file.source; }) (filterFiles cfg.locals)) ++ (mapAttrsToList (name: file: { name = "override.d/${name}"; path = file.source; }) (filterFiles cfg.overrides)) ++ (optional (cfg.localLuaRules != null) { name = "rspamd.local.lua"; path = cfg.localLuaRules; }) ++ [ { name = "rspamd.conf"; path = rspamdConfFile; } ] ); configFileModule = prefix: { name, config, ... }: { options = { enable = mkOption { type = types.bool; default = true; description = lib.mdDoc '' Whether this file ${prefix} should be generated. This option allows specific ${prefix} files to be disabled. ''; }; text = mkOption { default = null; type = types.nullOr types.lines; description = lib.mdDoc "Text of the file."; }; source = mkOption { type = types.path; description = lib.mdDoc "Path of the source file."; }; }; config = { source = mkIf (config.text != null) ( let name' = "rspamd-${prefix}-" + baseNameOf name; in mkDefault (pkgs.writeText name' config.text)); }; }; configOverrides = (mapAttrs' (n: v: nameValuePair "worker-${if n == "rspamd_proxy" then "proxy" else n}.inc" { text = v.extraConfig; }) (filterAttrs (n: v: v.extraConfig != "") cfg.workers)) // (if cfg.extraConfig == "" then {} else { "extra-config.inc".text = cfg.extraConfig; }); in { ###### interface options = { services.rspamd = { enable = mkEnableOption (lib.mdDoc "rspamd, the Rapid spam filtering system"); debug = mkOption { type = types.bool; default = false; description = lib.mdDoc "Whether to run the rspamd daemon in debug mode."; }; locals = mkOption { type = with types; attrsOf (submodule (configFileModule "locals")); default = {}; description = lib.mdDoc '' Local configuration files, written into {file}`/etc/rspamd/local.d/{name}`. ''; example = literalExpression '' { "redis.conf".source = "/nix/store/.../etc/dir/redis.conf"; "arc.conf".text = "allow_envfrom_empty = true;"; } ''; }; overrides = mkOption { type = with types; attrsOf (submodule (configFileModule "overrides")); default = {}; description = lib.mdDoc '' Overridden configuration files, written into {file}`/etc/rspamd/override.d/{name}`. ''; example = literalExpression '' { "redis.conf".source = "/nix/store/.../etc/dir/redis.conf"; "arc.conf".text = "allow_envfrom_empty = true;"; } ''; }; localLuaRules = mkOption { default = null; type = types.nullOr types.path; description = lib.mdDoc '' Path of file to link to {file}`/etc/rspamd/rspamd.local.lua` for local rules written in Lua ''; }; workers = mkOption { type = with types; attrsOf (submodule workerOpts); description = lib.mdDoc '' Attribute set of workers to start. ''; default = { normal = {}; controller = {}; }; example = literalExpression '' { normal = { includes = [ "$CONFDIR/worker-normal.inc" ]; bindSockets = [{ socket = "/run/rspamd/rspamd.sock"; mode = "0660"; owner = "''${config.${opt.user}}"; group = "''${config.${opt.group}}"; }]; };