opensmtpd-extras: drop in favor of standalone tables

Upstream has archived the OpenSMTPD-extras repository with 82c49af (add
deprecation notice, 2024-10-22). Instead, it has created a set of
repositories, each containing one of the tables. The old tables aren't
compatible anymore with recent OpenSMTPD versions due to changed
protocols. Other extras, like the queues, don't have an alternative to
the best of my knowledge.

Furthermore, opensmtpd-extras doesn't even build anymore, furthermore
indicating that there aren't any users of this package. Remove the
"opensmtpd-extras" package and raise errors pointing to the new
standalone tables.

Add a release note.

+7 -116
+4
doc/release-notes/rl-2505.section.md
··· 54 The hook can be disabled by providing `dontCheckForBrokenSymlinks = true;` as an argument to `mkDerivation`. 55 For more information, [check the docs](https://nixos.org/manual/nixpkgs/unstable/#no-broken-symlinks.sh) or [see this PR](https://github.com/NixOS/nixpkgs/pull/370750). 56 57 - The hand written `perlPackages.SearchXapian` bindings have been dropped in favor of the (mostly compatible) 58 `perlPackages.Xapian`. 59
··· 54 The hook can be disabled by providing `dontCheckForBrokenSymlinks = true;` as an argument to `mkDerivation`. 55 For more information, [check the docs](https://nixos.org/manual/nixpkgs/unstable/#no-broken-symlinks.sh) or [see this PR](https://github.com/NixOS/nixpkgs/pull/370750). 56 57 + - `opensmtpd-extras` has been deprecated by upstream and is not compatible with 58 + OpenSMTPD 7.6.0 or later. The package has been removed in favor of a set of new 59 + `opensmtpd-table-*` packages. 60 + 61 - The hand written `perlPackages.SearchXapian` bindings have been dropped in favor of the (mostly compatible) 62 `perlPackages.Xapian`. 63
+2 -2
nixos/modules/services/mail/opensmtpd.nix
··· 76 description = '' 77 Packages to search for filters, tables, queues, and schedulers. 78 79 - Add OpenSMTPD-extras here if you want to use the filters, etc. from 80 - that package. 81 ''; 82 }; 83 };
··· 76 description = '' 77 Packages to search for filters, tables, queues, and schedulers. 78 79 + Add packages here if you want to use them as as such, for example 80 + from the opensmtpd-table-* packages. 81 ''; 82 }; 83 };
-113
pkgs/servers/mail/opensmtpd/extras.nix
··· 1 - { 2 - lib, 3 - stdenv, 4 - fetchurl, 5 - openssl, 6 - libevent, 7 - libasr, 8 - ncurses, 9 - pkg-config, 10 - lua5, 11 - perl, 12 - libmysqlclient, 13 - libpq, 14 - sqlite, 15 - hiredis, 16 - enableLua ? true, 17 - enablePerl ? true, 18 - enableMysql ? true, 19 - enablePostgres ? true, 20 - enableSqlite ? true, 21 - enableRedis ? true, 22 - }: 23 - 24 - stdenv.mkDerivation rec { 25 - pname = "opensmtpd-extras"; 26 - version = "6.7.1"; 27 - 28 - src = fetchurl { 29 - url = "https://www.opensmtpd.org/archives/${pname}-${version}.tar.gz"; 30 - sha256 = "1b1mx71bvmv92lbm08wr2p60g3qhikvv3n15zsr6dcwbk9aqahzq"; 31 - }; 32 - 33 - nativeBuildInputs = [ pkg-config ]; 34 - buildInputs = [ 35 - openssl 36 - libevent 37 - libasr 38 - lua5 39 - perl 40 - libmysqlclient 41 - libpq 42 - sqlite 43 - hiredis 44 - ]; 45 - 46 - configureFlags = 47 - [ 48 - "--sysconfdir=/etc" 49 - "--localstatedir=/var" 50 - "--with-privsep-user=smtpd" 51 - "--with-libevent-dir=${libevent.dev}" 52 - 53 - "--with-filter-clamav" 54 - "--with-filter-dkim-signer" 55 - "--with-filter-dnsbl" 56 - "--with-filter-monkey" 57 - "--with-filter-pause" 58 - "--with-filter-regex" 59 - "--with-filter-spamassassin" 60 - "--with-filter-stub" 61 - "--with-filter-trace" 62 - "--with-filter-void" 63 - "--with-queue-null" 64 - "--with-queue-ram" 65 - "--with-queue-stub" 66 - "--with-table-ldap" 67 - "--with-table-socketmap" 68 - "--with-table-passwd" 69 - "--with-table-stub" 70 - "--with-scheduler-ram" 71 - "--with-scheduler-stub" 72 - 73 - ] 74 - ++ lib.optionals enableLua [ 75 - "--with-lua=${pkg-config}" 76 - "--with-filter-lua" 77 - 78 - ] 79 - ++ lib.optionals enablePerl [ 80 - "--with-perl=${perl}" 81 - "--with-filter-perl" 82 - 83 - ] 84 - ++ lib.optionals enableMysql [ 85 - "--with-table-mysql" 86 - 87 - ] 88 - ++ lib.optionals enablePostgres [ 89 - "--with-table-postgres" 90 - 91 - ] 92 - ++ lib.optionals enableSqlite [ 93 - "--with-table-sqlite" 94 - 95 - ] 96 - ++ lib.optionals enableRedis [ 97 - "--with-table-redis" 98 - ]; 99 - 100 - env.NIX_CFLAGS_COMPILE = 101 - lib.optionalString enableRedis "-I${hiredis}/include/hiredis -lhiredis" 102 - + lib.optionalString enableMysql " -L${libmysqlclient}/lib/mysql"; 103 - 104 - meta = with lib; { 105 - homepage = "https://www.opensmtpd.org/"; 106 - description = "Extra plugins for the OpenSMTPD mail server"; 107 - license = licenses.isc; 108 - platforms = platforms.linux; 109 - maintainers = with maintainers; [ 110 - ekleog 111 - ]; 112 - }; 113 - }
···
+1
pkgs/top-level/aliases.nix
··· 1349 openlens = throw "Lens Closed its source code, package obsolete/stale - consider lens as replacement"; # Added 2024-09-04 1350 openlp = throw "openlp has been removed for now because the outdated version depended on insecure and removed packages and it needs help to upgrade and maintain it; see https://github.com/NixOS/nixpkgs/pull/314882"; # Added 2024-07-29 1351 openmpt123 = throw "'openmpt123' has been renamed to/replaced by 'libopenmpt'"; # Converted to throw 2024-10-17 1352 openssl_3_0 = openssl_3; # Added 2022-06-27 1353 opensycl = lib.warnOnInstantiate "'opensycl' has been renamed to 'adaptivecpp'" adaptivecpp; # Added 2024-12-04 1354 opensyclWithRocm = lib.warnOnInstantiate "'opensyclWithRocm' has been renamed to 'adaptivecppWithRocm'" adaptivecppWithRocm; # Added 2024-12-04
··· 1349 openlens = throw "Lens Closed its source code, package obsolete/stale - consider lens as replacement"; # Added 2024-09-04 1350 openlp = throw "openlp has been removed for now because the outdated version depended on insecure and removed packages and it needs help to upgrade and maintain it; see https://github.com/NixOS/nixpkgs/pull/314882"; # Added 2024-07-29 1351 openmpt123 = throw "'openmpt123' has been renamed to/replaced by 'libopenmpt'"; # Converted to throw 2024-10-17 1352 + opensmtpd-extras = throw "opensmtpd-extras has been removed in favor of separate opensmtpd-table-* packages"; # Added 2025-01-26 1353 openssl_3_0 = openssl_3; # Added 2022-06-27 1354 opensycl = lib.warnOnInstantiate "'opensycl' has been renamed to 'adaptivecpp'" adaptivecpp; # Added 2024-12-04 1355 opensyclWithRocm = lib.warnOnInstantiate "'opensyclWithRocm' has been renamed to 'adaptivecppWithRocm'" adaptivecppWithRocm; # Added 2024-12-04
-1
pkgs/top-level/all-packages.nix
··· 12101 }; 12102 12103 opensmtpd = callPackage ../servers/mail/opensmtpd { }; 12104 - opensmtpd-extras = callPackage ../servers/mail/opensmtpd/extras.nix { }; 12105 opensmtpd-filter-rspamd = callPackage ../servers/mail/opensmtpd/filter-rspamd.nix { }; 12106 12107 system-sendmail = lowPrio (callPackage ../servers/mail/system-sendmail { });
··· 12101 }; 12102 12103 opensmtpd = callPackage ../servers/mail/opensmtpd { }; 12104 opensmtpd-filter-rspamd = callPackage ../servers/mail/opensmtpd/filter-rspamd.nix { }; 12105 12106 system-sendmail = lowPrio (callPackage ../servers/mail/system-sendmail { });