summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Weinelt <mweinelt@users.noreply.github.com>2021-06-16 12:18:53 +0200
committerGitHub <noreply@github.com>2021-06-16 12:18:53 +0200
commitb8780177a75e1536f233cd3352688b56fdde147a (patch)
treefcaeb0a609decdc344f71cccb5b6ba42bef5f049
parentMerge pull request #125967 from NixOS/backport-125953-to-release-21.05 (diff)
parentsolanum: clarify license to be gpl2 or later (diff)
downloadnixpkgs-b8780177a75e1536f233cd3352688b56fdde147a.tar.gz
Merge pull request #127016 from mweinelt/21.05/solanum
-rw-r--r--nixos/modules/services/networking/solanum.nix15
-rw-r--r--pkgs/servers/irc/solanum/bandb.patch12
-rw-r--r--pkgs/servers/irc/solanum/default.nix3
3 files changed, 11 insertions, 19 deletions
diff --git a/nixos/modules/services/networking/solanum.nix b/nixos/modules/services/networking/solanum.nix
index 989621b204ce..dc066a245494 100644
--- a/nixos/modules/services/networking/solanum.nix
+++ b/nixos/modules/services/networking/solanum.nix
@@ -2,7 +2,7 @@
let
inherit (lib) mkEnableOption mkIf mkOption types;
- inherit (pkgs) solanum;
+ inherit (pkgs) solanum util-linux;
cfg = config.services.solanum;
configFile = pkgs.writeText "solanum.conf" cfg.config;
@@ -78,15 +78,20 @@ in
config = mkIf cfg.enable (lib.mkMerge [
{
+
+ environment.etc."solanum/ircd.conf".source = configFile;
+
systemd.services.solanum = {
description = "Solanum IRC daemon";
after = [ "network.target" ];
wantedBy = [ "multi-user.target" ];
- environment = {
- BANDB_DBPATH = "/var/lib/solanum/ban.db";
- };
+ reloadIfChanged = true;
+ restartTriggers = [
+ configFile
+ ];
serviceConfig = {
- ExecStart = "${solanum}/bin/solanum -foreground -logfile /dev/stdout -configfile ${configFile} -pidfile /run/solanum/ircd.pid";
+ ExecStart = "${solanum}/bin/solanum -foreground -logfile /dev/stdout -configfile /etc/solanum/ircd.conf -pidfile /run/solanum/ircd.pid";
+ ExecReload = "${util-linux}/bin/kill -HUP $MAINPID";
DynamicUser = true;
User = "solanum";
StateDirectory = "solanum";
diff --git a/pkgs/servers/irc/solanum/bandb.patch b/pkgs/servers/irc/solanum/bandb.patch
deleted file mode 100644
index 7d204398b991..000000000000
--- a/pkgs/servers/irc/solanum/bandb.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff --git a/ircd/bandbi.c b/ircd/bandbi.c
-index 29a3bfa2..16a40f17 100644
---- a/ircd/bandbi.c
-+++ b/ircd/bandbi.c
-@@ -83,7 +83,6 @@ start_bandb(void)
- const char *suffix = "";
- #endif
-
-- rb_setenv("BANDB_DBPATH", ircd_paths[IRCD_PATH_BANDB], 1);
- if(bandb_path == NULL)
- {
- snprintf(fullpath, sizeof(fullpath), "%s%cbandb%s", ircd_paths[IRCD_PATH_LIBEXEC], RB_PATH_SEPARATOR, suffix);
diff --git a/pkgs/servers/irc/solanum/default.nix b/pkgs/servers/irc/solanum/default.nix
index 2fa85072854a..d5e70799cf54 100644
--- a/pkgs/servers/irc/solanum/default.nix
+++ b/pkgs/servers/irc/solanum/default.nix
@@ -23,7 +23,6 @@ stdenv.mkDerivation rec {
patches = [
./dont-create-logdir.patch
- ./bandb.patch # https://github.com/solanum-ircd/solanum/issues/156
];
postPatch = ''
@@ -62,7 +61,7 @@ stdenv.mkDerivation rec {
meta = with lib; {
description = "An IRCd for unified networks";
homepage = "https://github.com/solanum-ircd/solanum";
- license = licenses.gpl2Only;
+ license = licenses.gpl2Plus;
maintainers = with maintainers; [ hexa ];
platforms = platforms.unix;
};