diff --git a/nixos/doc/manual/from_md/release-notes/rl-2205.section.xml b/nixos/doc/manual/from_md/release-notes/rl-2205.section.xml
index e6c7497e8e0d..1e4ecea0d4fa 100644
--- a/nixos/doc/manual/from_md/release-notes/rl-2205.section.xml
+++ b/nixos/doc/manual/from_md/release-notes/rl-2205.section.xml
@@ -1662,6 +1662,19 @@
GnuTLS instead of OpenSSL by default for licensing reasons.
+
+
+ The default version of nextcloud is
+ nextcloud24. Please note
+ that it’s not possible to
+ upgrade nextcloud across multiple major
+ versions! This means it’s e.g. not possible to upgrade from
+ nextcloud22 to
+ nextcloud24 in a single deploy and most
+ 21.11 users will have to upgrade to
+ nextcloud23 first.
+
+
pkgs.vimPlugins.onedark-nvim now refers to
diff --git a/nixos/doc/manual/release-notes/rl-2205.section.md b/nixos/doc/manual/release-notes/rl-2205.section.md
index 01db6861e569..64b900c83c0e 100644
--- a/nixos/doc/manual/release-notes/rl-2205.section.md
+++ b/nixos/doc/manual/release-notes/rl-2205.section.md
@@ -636,6 +636,10 @@ In addition to numerous new and upgraded packages, this release has the followin
- The `vpnc` package has been changed to use GnuTLS instead of OpenSSL by default for licensing reasons.
+- The default version of `nextcloud` is **nextcloud24**. Please note that it's **not** possible to upgrade
+ `nextcloud` across multiple major versions! This means it's e.g. not possible to upgrade from `nextcloud22`
+ to `nextcloud24` in a single deploy and most `21.11` users will have to upgrade to `nextcloud23` first.
+
- `pkgs.vimPlugins.onedark-nvim` now refers to [navarasu/onedark.nvim](https://github.com/navarasu/onedark.nvim)
(formerly refers to [olimorris/onedarkpro.nvim](https://github.com/olimorris/onedarkpro.nvim)).
diff --git a/nixos/modules/services/mail/mailman.nix b/nixos/modules/services/mail/mailman.nix
index f1e074587b31..5b714c384de3 100644
--- a/nixos/modules/services/mail/mailman.nix
+++ b/nixos/modules/services/mail/mailman.nix
@@ -6,10 +6,10 @@ let
cfg = config.services.mailman;
- pythonEnv = pkgs.python3.withPackages (ps:
- [ps.mailman ps.mailman-web]
- ++ lib.optional cfg.hyperkitty.enable ps.mailman-hyperkitty
- ++ cfg.extraPythonPackages);
+ inherit (pkgs.mailmanPackages.buildEnvs { withHyperkitty = cfg.hyperkitty.enable; })
+ mailmanEnv webEnv;
+
+ withPostgresql = config.services.postgresql.enable;
# This deliberately doesn't use recursiveUpdate so users can
# override the defaults.
@@ -72,6 +72,9 @@ in {
stored in the world-readable Nix store. To continue using
Hyperkitty, you must set services.mailman.hyperkitty.enable = true.
'')
+ (mkRemovedOptionModule [ "services" "mailman" "package" ] ''
+ Didn't have an effect for several years.
+ '')
];
options = {
@@ -84,14 +87,6 @@ in {
description = "Enable Mailman on this host. Requires an active MTA on the host (e.g. Postfix).";
};
- package = mkOption {
- type = types.package;
- default = pkgs.mailman;
- defaultText = literalExpression "pkgs.mailman";
- example = literalExpression "pkgs.mailman.override { archivers = []; }";
- description = "Mailman package to use";
- };
-
enablePostfix = mkOption {
type = types.bool;
default = true;
@@ -185,7 +180,7 @@ in {
mailman.layout = "fhs";
"paths.fhs" = {
- bin_dir = "${pkgs.python3Packages.mailman}/bin";
+ bin_dir = "${pkgs.mailmanPackages.mailman}/bin";
var_dir = "/var/lib/mailman";
queue_dir = "$var_dir/queue";
template_dir = "$var_dir/templates";
@@ -295,9 +290,12 @@ in {
name = "mailman-tools";
# We don't want to pollute the system PATH with a python
# interpreter etc. so let's pick only the stuff we actually
- # want from pythonEnv
+ # want from {web,mailman}Env
pathsToLink = ["/bin"];
- paths = [pythonEnv];
+ paths = [ mailmanEnv webEnv ];
+ # Only mailman-related stuff is installed, the rest is removed
+ # in `postBuild`.
+ ignoreCollisions = true;
postBuild = ''
find $out/bin/ -mindepth 1 -not -name "mailman*" -delete
'';
@@ -320,12 +318,14 @@ in {
description = "GNU Mailman Master Process";
before = lib.optional cfg.enablePostfix "postfix.service";
after = [ "network.target" ]
- ++ lib.optional cfg.enablePostfix "postfix-setup.service";
+ ++ lib.optional cfg.enablePostfix "postfix-setup.service"
+ ++ lib.optional withPostgresql "postgresql.service";
restartTriggers = [ config.environment.etc."mailman.cfg".source ];
+ requires = optional withPostgresql "postgresql.service";
wantedBy = [ "multi-user.target" ];
serviceConfig = {
- ExecStart = "${pythonEnv}/bin/mailman start";
- ExecStop = "${pythonEnv}/bin/mailman stop";
+ ExecStart = "${mailmanEnv}/bin/mailman start";
+ ExecStop = "${mailmanEnv}/bin/mailman stop";
User = "mailman";
Group = "mailman";
Type = "forking";
@@ -340,6 +340,8 @@ in {
before = [ "mailman.service" "mailman-web-setup.service" "mailman-uwsgi.service" "hyperkitty.service" ];
requiredBy = [ "mailman.service" "mailman-web-setup.service" "mailman-uwsgi.service" "hyperkitty.service" ];
path = with pkgs; [ jq ];
+ after = optional withPostgresql "postgresql.service";
+ requires = optional withPostgresql "postgresql.service";
serviceConfig.Type = "oneshot";
script = ''
mailmanDir=/var/lib/mailman
@@ -381,9 +383,9 @@ in {
restartTriggers = [ config.environment.etc."mailman3/settings.py".source ];
script = ''
[[ -e "${webSettings.STATIC_ROOT}" ]] && find "${webSettings.STATIC_ROOT}/" -mindepth 1 -delete
- ${pythonEnv}/bin/mailman-web migrate
- ${pythonEnv}/bin/mailman-web collectstatic
- ${pythonEnv}/bin/mailman-web compress
+ ${webEnv}/bin/mailman-web migrate
+ ${webEnv}/bin/mailman-web collectstatic
+ ${webEnv}/bin/mailman-web compress
'';
serviceConfig = {
User = cfg.webUser;
@@ -397,14 +399,16 @@ in {
uwsgiConfig.uwsgi = {
type = "normal";
plugins = ["python3"];
- home = pythonEnv;
+ home = webEnv;
module = "mailman_web.wsgi";
http = "127.0.0.1:18507";
};
uwsgiConfigFile = pkgs.writeText "uwsgi-mailman.json" (builtins.toJSON uwsgiConfig);
in {
wantedBy = ["multi-user.target"];
- requires = ["mailman-uwsgi.socket" "mailman-web-setup.service"];
+ after = optional withPostgresql "postgresql.service";
+ requires = ["mailman-uwsgi.socket" "mailman-web-setup.service"]
+ ++ optional withPostgresql "postgresql.service";
restartTriggers = [ config.environment.etc."mailman3/settings.py".source ];
serviceConfig = {
# Since the mailman-web settings.py obstinately creates a logs
@@ -422,7 +426,7 @@ in {
startAt = "daily";
restartTriggers = [ config.environment.etc."mailman.cfg".source ];
serviceConfig = {
- ExecStart = "${pythonEnv}/bin/mailman digests --send";
+ ExecStart = "${mailmanEnv}/bin/mailman digests --send";
User = "mailman";
Group = "mailman";
};
@@ -434,7 +438,7 @@ in {
restartTriggers = [ config.environment.etc."mailman3/settings.py".source ];
wantedBy = [ "mailman.service" "multi-user.target" ];
serviceConfig = {
- ExecStart = "${pythonEnv}/bin/mailman-web qcluster";
+ ExecStart = "${webEnv}/bin/mailman-web qcluster";
User = cfg.webUser;
Group = "mailman";
WorkingDirectory = "/var/lib/mailman-web";
@@ -453,7 +457,7 @@ in {
inherit startAt;
restartTriggers = [ config.environment.etc."mailman3/settings.py".source ];
serviceConfig = {
- ExecStart = "${pythonEnv}/bin/mailman-web runjobs ${name}";
+ ExecStart = "${webEnv}/bin/mailman-web runjobs ${name}";
User = cfg.webUser;
Group = "mailman";
WorkingDirectory = "/var/lib/mailman-web";
@@ -462,7 +466,7 @@ in {
};
meta = {
- maintainers = with lib.maintainers; [ lheckemann qyliss ];
+ maintainers = with lib.maintainers; [ lheckemann qyliss ma27 ];
doc = ./mailman.xml;
};
diff --git a/nixos/modules/services/web-apps/nextcloud.nix b/nixos/modules/services/web-apps/nextcloud.nix
index 52287a834c91..a58e8aa3abd8 100644
--- a/nixos/modules/services/web-apps/nextcloud.nix
+++ b/nixos/modules/services/web-apps/nextcloud.nix
@@ -153,7 +153,7 @@ in {
package = mkOption {
type = types.package;
description = "Which package to use for the Nextcloud instance.";
- relatedPackages = [ "nextcloud22" "nextcloud23" "nextcloud24" ];
+ relatedPackages = [ "nextcloud23" "nextcloud24" ];
};
phpPackage = mkOption {
type = types.package;
@@ -625,7 +625,6 @@ in {
nextcloud defined in an overlay, please set `services.nextcloud.package` to
`pkgs.nextcloud`.
''
- else if versionOlder stateVersion "21.11" then nextcloud21
else if versionOlder stateVersion "22.05" then nextcloud22
else nextcloud24
);
diff --git a/nixos/tests/nextcloud/default.nix b/nixos/tests/nextcloud/default.nix
index 76feac314d5b..45165b04bf89 100644
--- a/nixos/tests/nextcloud/default.nix
+++ b/nixos/tests/nextcloud/default.nix
@@ -18,4 +18,4 @@ foldl
};
})
{ }
- [ 22 23 24 ]
+ [ 23 24 ]
diff --git a/pkgs/development/compilers/intercal/default.nix b/pkgs/development/compilers/intercal/default.nix
index d696b6801ed5..f3383bdcb5ff 100644
--- a/pkgs/development/compilers/intercal/default.nix
+++ b/pkgs/development/compilers/intercal/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl
+{ lib, stdenv, fetchurl, fetchpatch
, pkg-config
, bison, flex
, makeWrapper }:
@@ -14,6 +14,16 @@ stdenv.mkDerivation rec {
sha256 = "1z2gpa5rbqb7jscqlf258k0b0jc7d2zkyipb5csjpj6d3sw45n4k";
};
+ patches = [
+ # Pull patch pending upstream inclusion for -fno-common toolchains:
+ # https://gitlab.com/esr/intercal/-/issues/4
+ (fetchpatch {
+ name = "fno-common.patch";
+ url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/dev-lang/c-intercal/files/c-intercal-31.0-no-common.patch?id=a110a98b4de6f280d770ba3cc92a4612326205a3";
+ sha256 = "03523fc40042r2ryq5val27prlim8pld4950qqpawpism4w3y1p2";
+ })
+ ];
+
buildInputs =
[ pkg-config bison flex makeWrapper ];
diff --git a/pkgs/development/libraries/flann/default.nix b/pkgs/development/libraries/flann/default.nix
index c294aec893a5..ec1715b005ff 100644
--- a/pkgs/development/libraries/flann/default.nix
+++ b/pkgs/development/libraries/flann/default.nix
@@ -32,6 +32,7 @@ stdenv.mkDerivation rec {
url = "https://salsa.debian.org/science-team/flann/-/raw/debian/1.9.1+dfsg-9/debian/patches/0001-src-cpp-fix-cmake-3.11-build.patch";
sha256 = "REsBnbe6vlrZ+iCcw43kR5wy2o6q10RM73xjW5kBsr4=";
})
+ ] ++ lib.optionals (!stdenv.cc.isClang) [
# Avoid the bundled version of LZ4 and instead use the system one.
(fetchpatch {
url = "https://salsa.debian.org/science-team/flann/-/raw/debian/1.9.1+dfsg-9/debian/patches/0003-Use-system-version-of-liblz4.patch";
@@ -57,7 +58,8 @@ stdenv.mkDerivation rec {
unzip
];
- propagatedBuildInputs = [ lz4 ];
+ # lz4 unbundling broken for llvm, use internal version
+ propagatedBuildInputs = lib.optional (!stdenv.cc.isClang) lz4;
buildInputs = lib.optionals enablePython [ python3 ];
diff --git a/pkgs/development/libraries/libscrypt/default.nix b/pkgs/development/libraries/libscrypt/default.nix
index 68ef1afd2eef..6adc2124a3ab 100644
--- a/pkgs/development/libraries/libscrypt/default.nix
+++ b/pkgs/development/libraries/libscrypt/default.nix
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
sha256 = "sha256-QWWqC10bENemG5FYEog87tT7IxDaBJUDqu6j/sO3sYE=";
};
- buildFlags = lib.optional stdenv.isDarwin "LDFLAGS= CFLAGS_EXTRA=";
+ buildFlags = lib.optional stdenv.isDarwin "LDFLAGS= LDFLAGS_EXTRA= CFLAGS_EXTRA=";
installFlags = [ "PREFIX=$(out)" ];
installTargets = lib.optional stdenv.isDarwin "install-osx";
diff --git a/pkgs/development/python-modules/casbin/default.nix b/pkgs/development/python-modules/casbin/default.nix
index f38d9aa634ad..5df8ae38bebe 100644
--- a/pkgs/development/python-modules/casbin/default.nix
+++ b/pkgs/development/python-modules/casbin/default.nix
@@ -9,7 +9,7 @@
buildPythonPackage rec {
pname = "casbin";
- version = "1.16.4";
+ version = "1.16.5";
format = "setuptools";
disabled = pythonOlder "3.6";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
owner = pname;
repo = "pycasbin";
rev = "refs/tags/v${version}";
- sha256 = "sha256-/zIx1GlzAnQf0t2d8ME+bi2CZGj6Qr9f5Z4afrQD8FY=";
+ sha256 = "sha256-27j1iuqf0af4Cm3r32FJnWnjvvUcacuv2+1OL6z/mwM=";
};
propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/diff-cover/default.nix b/pkgs/development/python-modules/diff-cover/default.nix
index 1fc50c5ef232..7d7a9afcd300 100644
--- a/pkgs/development/python-modules/diff-cover/default.nix
+++ b/pkgs/development/python-modules/diff-cover/default.nix
@@ -26,7 +26,7 @@ buildPythonPackage rec {
src = fetchPypi {
pname = "diff_cover";
inherit version;
- sha256 = "sha256-N2O0/C75EGO6crUCFGUiJLLQqfMVRNVQRZb1xKhHzXs=";
+ hash = "sha256-N2O0/C75EGO6crUCFGUiJLLQqfMVRNVQRZb1xKhHzXs=";
};
propagatedBuildInputs = [
@@ -54,6 +54,16 @@ buildPythonPackage rec {
"test_style_defs"
# uses pytest.approx in a boolean context, which is unsupported since pytest7
"test_percent_covered"
+ # assert '\n