Merge master into staging-next

authored by github-actions[bot] and committed by GitHub 084f3d75 b8b9f523

+259 -220
+13
nixos/doc/manual/from_md/release-notes/rl-2205.section.xml
··· 1664 1664 </listitem> 1665 1665 <listitem> 1666 1666 <para> 1667 + The default version of <literal>nextcloud</literal> is 1668 + <emphasis role="strong">nextcloud24</emphasis>. Please note 1669 + that it’s <emphasis role="strong">not</emphasis> possible to 1670 + upgrade <literal>nextcloud</literal> across multiple major 1671 + versions! This means it’s e.g. not possible to upgrade from 1672 + <literal>nextcloud22</literal> to 1673 + <literal>nextcloud24</literal> in a single deploy and most 1674 + <literal>21.11</literal> users will have to upgrade to 1675 + <literal>nextcloud23</literal> first. 1676 + </para> 1677 + </listitem> 1678 + <listitem> 1679 + <para> 1667 1680 <literal>pkgs.vimPlugins.onedark-nvim</literal> now refers to 1668 1681 <link xlink:href="https://github.com/navarasu/onedark.nvim">navarasu/onedark.nvim</link> 1669 1682 (formerly refers to
+4
nixos/doc/manual/release-notes/rl-2205.section.md
··· 636 636 637 637 - The `vpnc` package has been changed to use GnuTLS instead of OpenSSL by default for licensing reasons. 638 638 639 + - The default version of `nextcloud` is **nextcloud24**. Please note that it's **not** possible to upgrade 640 + `nextcloud` across multiple major versions! This means it's e.g. not possible to upgrade from `nextcloud22` 641 + to `nextcloud24` in a single deploy and most `21.11` users will have to upgrade to `nextcloud23` first. 642 + 639 643 - `pkgs.vimPlugins.onedark-nvim` now refers to [navarasu/onedark.nvim](https://github.com/navarasu/onedark.nvim) 640 644 (formerly refers to [olimorris/onedarkpro.nvim](https://github.com/olimorris/onedarkpro.nvim)). 641 645
+31 -27
nixos/modules/services/mail/mailman.nix
··· 6 6 7 7 cfg = config.services.mailman; 8 8 9 - pythonEnv = pkgs.python3.withPackages (ps: 10 - [ps.mailman ps.mailman-web] 11 - ++ lib.optional cfg.hyperkitty.enable ps.mailman-hyperkitty 12 - ++ cfg.extraPythonPackages); 9 + inherit (pkgs.mailmanPackages.buildEnvs { withHyperkitty = cfg.hyperkitty.enable; }) 10 + mailmanEnv webEnv; 11 + 12 + withPostgresql = config.services.postgresql.enable; 13 13 14 14 # This deliberately doesn't use recursiveUpdate so users can 15 15 # override the defaults. ··· 72 72 stored in the world-readable Nix store. To continue using 73 73 Hyperkitty, you must set services.mailman.hyperkitty.enable = true. 74 74 '') 75 + (mkRemovedOptionModule [ "services" "mailman" "package" ] '' 76 + Didn't have an effect for several years. 77 + '') 75 78 ]; 76 79 77 80 options = { ··· 84 87 description = "Enable Mailman on this host. Requires an active MTA on the host (e.g. Postfix)."; 85 88 }; 86 89 87 - package = mkOption { 88 - type = types.package; 89 - default = pkgs.mailman; 90 - defaultText = literalExpression "pkgs.mailman"; 91 - example = literalExpression "pkgs.mailman.override { archivers = []; }"; 92 - description = "Mailman package to use"; 93 - }; 94 - 95 90 enablePostfix = mkOption { 96 91 type = types.bool; 97 92 default = true; ··· 185 180 mailman.layout = "fhs"; 186 181 187 182 "paths.fhs" = { 188 - bin_dir = "${pkgs.python3Packages.mailman}/bin"; 183 + bin_dir = "${pkgs.mailmanPackages.mailman}/bin"; 189 184 var_dir = "/var/lib/mailman"; 190 185 queue_dir = "$var_dir/queue"; 191 186 template_dir = "$var_dir/templates"; ··· 295 290 name = "mailman-tools"; 296 291 # We don't want to pollute the system PATH with a python 297 292 # interpreter etc. so let's pick only the stuff we actually 298 - # want from pythonEnv 293 + # want from {web,mailman}Env 299 294 pathsToLink = ["/bin"]; 300 - paths = [pythonEnv]; 295 + paths = [ mailmanEnv webEnv ]; 296 + # Only mailman-related stuff is installed, the rest is removed 297 + # in `postBuild`. 298 + ignoreCollisions = true; 301 299 postBuild = '' 302 300 find $out/bin/ -mindepth 1 -not -name "mailman*" -delete 303 301 ''; ··· 320 318 description = "GNU Mailman Master Process"; 321 319 before = lib.optional cfg.enablePostfix "postfix.service"; 322 320 after = [ "network.target" ] 323 - ++ lib.optional cfg.enablePostfix "postfix-setup.service"; 321 + ++ lib.optional cfg.enablePostfix "postfix-setup.service" 322 + ++ lib.optional withPostgresql "postgresql.service"; 324 323 restartTriggers = [ config.environment.etc."mailman.cfg".source ]; 324 + requires = optional withPostgresql "postgresql.service"; 325 325 wantedBy = [ "multi-user.target" ]; 326 326 serviceConfig = { 327 - ExecStart = "${pythonEnv}/bin/mailman start"; 328 - ExecStop = "${pythonEnv}/bin/mailman stop"; 327 + ExecStart = "${mailmanEnv}/bin/mailman start"; 328 + ExecStop = "${mailmanEnv}/bin/mailman stop"; 329 329 User = "mailman"; 330 330 Group = "mailman"; 331 331 Type = "forking"; ··· 340 340 before = [ "mailman.service" "mailman-web-setup.service" "mailman-uwsgi.service" "hyperkitty.service" ]; 341 341 requiredBy = [ "mailman.service" "mailman-web-setup.service" "mailman-uwsgi.service" "hyperkitty.service" ]; 342 342 path = with pkgs; [ jq ]; 343 + after = optional withPostgresql "postgresql.service"; 344 + requires = optional withPostgresql "postgresql.service"; 343 345 serviceConfig.Type = "oneshot"; 344 346 script = '' 345 347 mailmanDir=/var/lib/mailman ··· 381 383 restartTriggers = [ config.environment.etc."mailman3/settings.py".source ]; 382 384 script = '' 383 385 [[ -e "${webSettings.STATIC_ROOT}" ]] && find "${webSettings.STATIC_ROOT}/" -mindepth 1 -delete 384 - ${pythonEnv}/bin/mailman-web migrate 385 - ${pythonEnv}/bin/mailman-web collectstatic 386 - ${pythonEnv}/bin/mailman-web compress 386 + ${webEnv}/bin/mailman-web migrate 387 + ${webEnv}/bin/mailman-web collectstatic 388 + ${webEnv}/bin/mailman-web compress 387 389 ''; 388 390 serviceConfig = { 389 391 User = cfg.webUser; ··· 397 399 uwsgiConfig.uwsgi = { 398 400 type = "normal"; 399 401 plugins = ["python3"]; 400 - home = pythonEnv; 402 + home = webEnv; 401 403 module = "mailman_web.wsgi"; 402 404 http = "127.0.0.1:18507"; 403 405 }; 404 406 uwsgiConfigFile = pkgs.writeText "uwsgi-mailman.json" (builtins.toJSON uwsgiConfig); 405 407 in { 406 408 wantedBy = ["multi-user.target"]; 407 - requires = ["mailman-uwsgi.socket" "mailman-web-setup.service"]; 409 + after = optional withPostgresql "postgresql.service"; 410 + requires = ["mailman-uwsgi.socket" "mailman-web-setup.service"] 411 + ++ optional withPostgresql "postgresql.service"; 408 412 restartTriggers = [ config.environment.etc."mailman3/settings.py".source ]; 409 413 serviceConfig = { 410 414 # Since the mailman-web settings.py obstinately creates a logs ··· 422 426 startAt = "daily"; 423 427 restartTriggers = [ config.environment.etc."mailman.cfg".source ]; 424 428 serviceConfig = { 425 - ExecStart = "${pythonEnv}/bin/mailman digests --send"; 429 + ExecStart = "${mailmanEnv}/bin/mailman digests --send"; 426 430 User = "mailman"; 427 431 Group = "mailman"; 428 432 }; ··· 434 438 restartTriggers = [ config.environment.etc."mailman3/settings.py".source ]; 435 439 wantedBy = [ "mailman.service" "multi-user.target" ]; 436 440 serviceConfig = { 437 - ExecStart = "${pythonEnv}/bin/mailman-web qcluster"; 441 + ExecStart = "${webEnv}/bin/mailman-web qcluster"; 438 442 User = cfg.webUser; 439 443 Group = "mailman"; 440 444 WorkingDirectory = "/var/lib/mailman-web"; ··· 453 457 inherit startAt; 454 458 restartTriggers = [ config.environment.etc."mailman3/settings.py".source ]; 455 459 serviceConfig = { 456 - ExecStart = "${pythonEnv}/bin/mailman-web runjobs ${name}"; 460 + ExecStart = "${webEnv}/bin/mailman-web runjobs ${name}"; 457 461 User = cfg.webUser; 458 462 Group = "mailman"; 459 463 WorkingDirectory = "/var/lib/mailman-web"; ··· 462 466 }; 463 467 464 468 meta = { 465 - maintainers = with lib.maintainers; [ lheckemann qyliss ]; 469 + maintainers = with lib.maintainers; [ lheckemann qyliss ma27 ]; 466 470 doc = ./mailman.xml; 467 471 }; 468 472
+1 -2
nixos/modules/services/web-apps/nextcloud.nix
··· 153 153 package = mkOption { 154 154 type = types.package; 155 155 description = "Which package to use for the Nextcloud instance."; 156 - relatedPackages = [ "nextcloud22" "nextcloud23" "nextcloud24" ]; 156 + relatedPackages = [ "nextcloud23" "nextcloud24" ]; 157 157 }; 158 158 phpPackage = mkOption { 159 159 type = types.package; ··· 625 625 nextcloud defined in an overlay, please set `services.nextcloud.package` to 626 626 `pkgs.nextcloud`. 627 627 '' 628 - else if versionOlder stateVersion "21.11" then nextcloud21 629 628 else if versionOlder stateVersion "22.05" then nextcloud22 630 629 else nextcloud24 631 630 );
+1 -1
nixos/tests/nextcloud/default.nix
··· 18 18 }; 19 19 }) 20 20 { } 21 - [ 22 23 24 ] 21 + [ 23 24 ]
+11 -1
pkgs/development/compilers/intercal/default.nix
··· 1 - { lib, stdenv, fetchurl 1 + { lib, stdenv, fetchurl, fetchpatch 2 2 , pkg-config 3 3 , bison, flex 4 4 , makeWrapper }: ··· 13 13 url = "http://catb.org/esr/intercal/${pname}-${version}.tar.gz"; 14 14 sha256 = "1z2gpa5rbqb7jscqlf258k0b0jc7d2zkyipb5csjpj6d3sw45n4k"; 15 15 }; 16 + 17 + patches = [ 18 + # Pull patch pending upstream inclusion for -fno-common toolchains: 19 + # https://gitlab.com/esr/intercal/-/issues/4 20 + (fetchpatch { 21 + name = "fno-common.patch"; 22 + url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/dev-lang/c-intercal/files/c-intercal-31.0-no-common.patch?id=a110a98b4de6f280d770ba3cc92a4612326205a3"; 23 + sha256 = "03523fc40042r2ryq5val27prlim8pld4950qqpawpism4w3y1p2"; 24 + }) 25 + ]; 16 26 17 27 buildInputs = 18 28 [ pkg-config bison flex makeWrapper ];
+3 -1
pkgs/development/libraries/flann/default.nix
··· 32 32 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"; 33 33 sha256 = "REsBnbe6vlrZ+iCcw43kR5wy2o6q10RM73xjW5kBsr4="; 34 34 }) 35 + ] ++ lib.optionals (!stdenv.cc.isClang) [ 35 36 # Avoid the bundled version of LZ4 and instead use the system one. 36 37 (fetchpatch { 37 38 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 58 unzip 58 59 ]; 59 60 60 - propagatedBuildInputs = [ lz4 ]; 61 + # lz4 unbundling broken for llvm, use internal version 62 + propagatedBuildInputs = lib.optional (!stdenv.cc.isClang) lz4; 61 63 62 64 buildInputs = lib.optionals enablePython [ python3 ]; 63 65
+1 -1
pkgs/development/libraries/libscrypt/default.nix
··· 11 11 sha256 = "sha256-QWWqC10bENemG5FYEog87tT7IxDaBJUDqu6j/sO3sYE="; 12 12 }; 13 13 14 - buildFlags = lib.optional stdenv.isDarwin "LDFLAGS= CFLAGS_EXTRA="; 14 + buildFlags = lib.optional stdenv.isDarwin "LDFLAGS= LDFLAGS_EXTRA= CFLAGS_EXTRA="; 15 15 16 16 installFlags = [ "PREFIX=$(out)" ]; 17 17 installTargets = lib.optional stdenv.isDarwin "install-osx";
+2 -2
pkgs/development/python-modules/casbin/default.nix
··· 9 9 10 10 buildPythonPackage rec { 11 11 pname = "casbin"; 12 - version = "1.16.4"; 12 + version = "1.16.5"; 13 13 format = "setuptools"; 14 14 15 15 disabled = pythonOlder "3.6"; ··· 18 18 owner = pname; 19 19 repo = "pycasbin"; 20 20 rev = "refs/tags/v${version}"; 21 - sha256 = "sha256-/zIx1GlzAnQf0t2d8ME+bi2CZGj6Qr9f5Z4afrQD8FY="; 21 + sha256 = "sha256-27j1iuqf0af4Cm3r32FJnWnjvvUcacuv2+1OL6z/mwM="; 22 22 }; 23 23 24 24 propagatedBuildInputs = [
+11 -1
pkgs/development/python-modules/diff-cover/default.nix
··· 26 26 src = fetchPypi { 27 27 pname = "diff_cover"; 28 28 inherit version; 29 - sha256 = "sha256-N2O0/C75EGO6crUCFGUiJLLQqfMVRNVQRZb1xKhHzXs="; 29 + hash = "sha256-N2O0/C75EGO6crUCFGUiJLLQqfMVRNVQRZb1xKhHzXs="; 30 30 }; 31 31 32 32 propagatedBuildInputs = [ ··· 54 54 "test_style_defs" 55 55 # uses pytest.approx in a boolean context, which is unsupported since pytest7 56 56 "test_percent_covered" 57 + # assert '<!DOCTYPE ht...ody>\n</html>' == '<!DOCTYPE ht...ody>\n</html>' 58 + "test_html_with_external_css" 59 + # assert '<table class...</tr></table>' == '<div class=".../table></div>' 60 + "test_format" 61 + "test_format_with_invalid_violation_lines" 62 + "test_no_filename_ext" 63 + "test_unicode" 64 + "test_load_snippets_html" 65 + "test_load_utf8_snippets" 66 + "test_load_declared_arabic" 57 67 ]; 58 68 59 69 pythonImportsCheck = [
+2 -8
pkgs/development/python-modules/mailman-hyperkitty/default.nix pkgs/servers/mail/mailman/mailman-hyperkitty.nix
··· 1 1 { lib 2 - , buildPythonPackage 3 - , fetchPypi 2 + , python3 4 3 , mailman 5 - , mock 6 - , nose2 7 - , python 8 - , pythonOlder 9 - , requests 10 - , zope_interface 11 4 }: 12 5 6 + with python3.pkgs; 13 7 buildPythonPackage rec { 14 8 pname = "mailman-hyperkitty"; 15 9 version = "1.2.0";
+9 -6
pkgs/development/python-modules/python-barcode/default.nix
··· 3 3 , fetchPypi 4 4 , pythonOlder 5 5 , setuptools-scm 6 - , imagesSupport ? false 7 6 , pillow 8 7 , pytestCheckHook 9 8 }: 10 9 11 10 buildPythonPackage rec { 12 11 pname = "python-barcode"; 13 - version = "0.13.1"; 12 + version = "0.14.0"; 14 13 format = "setuptools"; 15 14 16 15 disabled = pythonOlder "3.6"; 17 16 18 17 src = fetchPypi { 19 18 inherit pname version; 20 - sha256 = "sha256-+vukqiTp2Wl3e+UhwpT/GPbCs2rWO1/C8hCNly4jslI="; 19 + sha256 = "sha256-JBs0qlxctqmImIL5QJsBgpA6LF0ZtCGL42Cc271f/fk="; 21 20 }; 22 21 23 22 propagatedBuildInputs = [ 24 23 setuptools-scm 25 - ] ++ lib.optionals (imagesSupport) [ 26 - pillow 27 24 ]; 28 25 26 + passthru.extras-require = { 27 + images = [ 28 + pillow 29 + ]; 30 + }; 31 + 29 32 postPatch = '' 30 33 substituteInPlace setup.cfg \ 31 34 --replace "--cov=barcode" "" \ ··· 35 38 36 39 checkInputs = [ 37 40 pytestCheckHook 38 - ]; 41 + ] ++ passthru.extras-require.images; 39 42 40 43 pythonImportsCheck = [ "barcode" ]; 41 44
+2 -2
pkgs/development/tools/database/sqlfluff/default.nix
··· 5 5 6 6 python3.pkgs.buildPythonApplication rec { 7 7 pname = "sqlfluff"; 8 - version = "0.13.1"; 8 + version = "0.13.2"; 9 9 10 10 src = fetchFromGitHub { 11 11 owner = pname; 12 12 repo = pname; 13 13 rev = "refs/tags/${version}"; 14 - hash = "sha256-hFpz2p8lJ4HpuSMZ8IDtqp2PIJFqEcelbYVAQpldu4o="; 14 + hash = "sha256-tPcj4QTqO03SKyZh7OQbXvjJPheUeWGhWfqpy/IBrk4="; 15 15 }; 16 16 17 17 propagatedBuildInputs = with python3.pkgs; [
+2 -2
pkgs/servers/dns/bind/default.nix
··· 9 9 10 10 stdenv.mkDerivation rec { 11 11 pname = "bind"; 12 - version = "9.18.1"; 12 + version = "9.18.3"; 13 13 14 14 src = fetchurl { 15 15 url = "https://downloads.isc.org/isc/bind9/${version}/${pname}-${version}.tar.xz"; 16 - sha256 = "sha256-V8ev2HFpTWFctN77HBvW7QIzUJQ9dFhBTbjUk+9WBCc="; 16 + sha256 = "sha256-CtjadzvZPLoO9mzIGZlpjr35w+UfrtXlyMHrdcrSrm8="; 17 17 }; 18 18 19 19 outputs = [ "out" "lib" "dev" "man" "dnsutils" "host" ];
+3 -3
pkgs/servers/isso/default.nix
··· 16 16 with python3Packages; buildPythonApplication rec { 17 17 18 18 pname = "isso"; 19 - version = "0.12.6.1"; 19 + version = "0.12.6.2"; 20 20 21 21 src = fetchFromGitHub { 22 22 owner = "posativ"; 23 23 repo = pname; 24 - rev = version; 25 - sha256 = "sha256-b2iJmOOsaI4lqJ5//jmHflXRx4yFDaAoKZixXoWIyZg="; 24 + rev = "refs/tags/${version}"; 25 + sha256 = "sha256-T5T3EJS8ef8uo+P9qkC+7I70qv+4PFrnhImr04Fz57U="; 26 26 }; 27 27 28 28 propagatedBuildInputs = [
+23 -85
pkgs/servers/mail/mailman/default.nix
··· 1 - { lib, buildPythonPackage, fetchPypi, fetchpatch, pythonOlder, python3, postfix, lynx 2 - }: 1 + { newScope, lib, python3 }: 3 2 4 3 let 5 - # Mailman does not support sqlalchemy >= 1.4 https://gitlab.com/mailman/mailman/-/issues/845 6 - pythonOverride = python3.override { 7 - packageOverrides = self: super: { 8 - alembic = super.alembic.overridePythonAttrs (oldAttrs: { 9 - # does not find tests 10 - doCheck = false; 11 - }); 12 - sqlalchemy = super.sqlalchemy.overridePythonAttrs (oldAttrs: rec { 13 - version = "1.3.24"; 14 - src = oldAttrs.src.override { 15 - inherit version; 16 - hash = "sha256-67t3fL+TEjWbiXv4G6ANrg9ctp+6KhgmXcwYpvXvdRk="; 17 - }; 18 - # does not find tests 19 - doCheck = false; 20 - }); 21 - }; 22 - }; 23 - in 24 - 25 - buildPythonPackage rec { 26 - pname = "mailman"; 27 - version = "3.3.5"; 28 - disabled = pythonOlder "3.6"; 4 + callPackage = newScope self; 29 5 30 - src = fetchPypi { 31 - inherit pname version; 32 - sha256 = "12mgxs1ndhdjjkydx48b95na9k9h0disfqgrr6wxx7vda6dqvcwz"; 33 - }; 6 + self = lib.makeExtensible (self: { 7 + python3 = callPackage ./python.nix { inherit python3; }; 34 8 35 - propagatedBuildInputs = with pythonOverride.pkgs; [ 36 - aiosmtpd 37 - alembic 38 - authheaders 39 - click 40 - dnspython 41 - falcon 42 - flufl_bounce 43 - flufl_i18n 44 - flufl_lock 45 - gunicorn 46 - importlib-resources 47 - lazr_config 48 - passlib 49 - requests 50 - sqlalchemy 51 - zope_component 52 - zope_configuration 53 - ]; 9 + hyperkitty = callPackage ./hyperkitty.nix { }; 54 10 55 - patches = [ 56 - (fetchpatch { 57 - url = "https://gitlab.com/mailman/mailman/-/commit/4b206e2a5267a0e17f345fd7b2d957122ba57566.patch"; 58 - sha256 = "06axmrn74p81wvcki36c7gfj5fp5q15zxz2yl3lrvijic7hbs4n2"; 59 - }) 60 - (fetchpatch { 61 - url = "https://gitlab.com/mailman/mailman/-/commit/9613154f3c04fa2383fbf017031ef263c291418d.patch"; 62 - sha256 = "0vyw87s857vfxbf7kihwb6w094xyxmxbi1bpdqi3ybjamjycp55r"; 63 - }) 64 - ./log-stderr.patch 65 - ]; 11 + mailman = callPackage ./package.nix { }; 66 12 67 - postPatch = '' 68 - substituteInPlace setup.py \ 69 - --replace "alembic>=1.6.2,<1.7" "alembic>=1.6.2" 13 + mailman-hyperkitty = callPackage ./mailman-hyperkitty.nix { }; 70 14 71 - substituteInPlace src/mailman/config/postfix.cfg \ 72 - --replace /usr/sbin/postmap ${postfix}/bin/postmap 73 - substituteInPlace src/mailman/config/schema.cfg \ 74 - --replace /usr/bin/lynx ${lynx}/bin/lynx 75 - ''; 15 + postorius = callPackage ./postorius.nix { }; 76 16 77 - # Mailman assumes that those scripts in $out/bin are Python scripts. Wrapping 78 - # them in shell code breaks this assumption. Use the wrapped version (see 79 - # wrapped.nix) if you need the CLI (rather than the Python library). 80 - # 81 - # This gives a properly wrapped 'mailman' command plus an interpreter that 82 - # has all the necessary search paths to execute unwrapped 'master' and 83 - # 'runner' scripts. 84 - dontWrapPythonPrograms = true; 17 + web = callPackage ./web.nix { }; 85 18 86 - # requires flufl.testing, which the upstream has archived 87 - doCheck = false; 19 + buildEnvs = { web ? self.web 20 + , mailman ? self.mailman 21 + , mailman-hyperkitty ? self.mailman-hyperkitty 22 + , withHyperkitty ? false 23 + }: 24 + { 25 + mailmanEnv = self.python3.withPackages 26 + (ps: [ mailman ps.psycopg2 ] 27 + ++ lib.optional withHyperkitty mailman-hyperkitty); 28 + webEnv = self.python3.withPackages 29 + (ps: [ web ps.psycopg2 ]); 30 + }; 31 + }); 88 32 89 - meta = { 90 - homepage = "https://www.gnu.org/software/mailman/"; 91 - description = "Free software for managing electronic mail discussion and newsletter lists"; 92 - license = lib.licenses.gpl3Plus; 93 - maintainers = with lib.maintainers; [ qyliss ]; 94 - }; 95 - } 33 + in self
+3 -27
pkgs/servers/mail/mailman/hyperkitty.nix
··· 1 1 { lib 2 - , buildPythonPackage 2 + , python3 3 3 , fetchpatch 4 - , fetchPypi 5 - , pythonOlder 6 - 7 - # dependencies 8 - , defusedxml 9 - , django 10 - , django-gravatar2 11 - , django-haystack 12 - , django-mailman3 13 - , django-paintstore 14 - , django-q 15 - , django_compressor 16 - , django-extensions 17 - , djangorestframework 18 - , flufl_lock 19 - , mistune_2_0 20 - , networkx 21 - , psycopg2 22 - , python-dateutil 23 - , robot-detection 4 + }: 24 5 25 - # tests 26 - , beautifulsoup4 27 - , elasticsearch 28 - , mock 29 - , whoosh 30 - }: 6 + with python3.pkgs; 31 7 32 8 buildPythonPackage rec { 33 9 pname = "HyperKitty";
+76
pkgs/servers/mail/mailman/package.nix
··· 1 + { lib, fetchpatch, python3, postfix, lynx 2 + }: 3 + 4 + with python3.pkgs; 5 + 6 + buildPythonPackage rec { 7 + pname = "mailman"; 8 + version = "3.3.5"; 9 + disabled = pythonOlder "3.6"; 10 + 11 + src = fetchPypi { 12 + inherit pname version; 13 + sha256 = "12mgxs1ndhdjjkydx48b95na9k9h0disfqgrr6wxx7vda6dqvcwz"; 14 + }; 15 + 16 + propagatedBuildInputs = with python3.pkgs; [ 17 + aiosmtpd 18 + alembic 19 + authheaders 20 + click 21 + dnspython 22 + falcon 23 + flufl_bounce 24 + flufl_i18n 25 + flufl_lock 26 + gunicorn 27 + importlib-resources 28 + lazr_config 29 + passlib 30 + requests 31 + sqlalchemy 32 + zope_component 33 + zope_configuration 34 + ]; 35 + 36 + patches = [ 37 + (fetchpatch { 38 + url = "https://gitlab.com/mailman/mailman/-/commit/4b206e2a5267a0e17f345fd7b2d957122ba57566.patch"; 39 + sha256 = "06axmrn74p81wvcki36c7gfj5fp5q15zxz2yl3lrvijic7hbs4n2"; 40 + }) 41 + (fetchpatch { 42 + url = "https://gitlab.com/mailman/mailman/-/commit/9613154f3c04fa2383fbf017031ef263c291418d.patch"; 43 + sha256 = "0vyw87s857vfxbf7kihwb6w094xyxmxbi1bpdqi3ybjamjycp55r"; 44 + }) 45 + ./log-stderr.patch 46 + ]; 47 + 48 + postPatch = '' 49 + substituteInPlace setup.py \ 50 + --replace "alembic>=1.6.2,<1.7" "alembic>=1.6.2" 51 + 52 + substituteInPlace src/mailman/config/postfix.cfg \ 53 + --replace /usr/sbin/postmap ${postfix}/bin/postmap 54 + substituteInPlace src/mailman/config/schema.cfg \ 55 + --replace /usr/bin/lynx ${lynx}/bin/lynx 56 + ''; 57 + 58 + # Mailman assumes that those scripts in $out/bin are Python scripts. Wrapping 59 + # them in shell code breaks this assumption. Use the wrapped version (see 60 + # wrapped.nix) if you need the CLI (rather than the Python library). 61 + # 62 + # This gives a properly wrapped 'mailman' command plus an interpreter that 63 + # has all the necessary search paths to execute unwrapped 'master' and 64 + # 'runner' scripts. 65 + dontWrapPythonPrograms = true; 66 + 67 + # requires flufl.testing, which the upstream has archived 68 + doCheck = false; 69 + 70 + meta = { 71 + homepage = "https://www.gnu.org/software/mailman/"; 72 + description = "Free software for managing electronic mail discussion and newsletter lists"; 73 + license = lib.licenses.gpl3Plus; 74 + maintainers = with lib.maintainers; [ qyliss ma27 ]; 75 + }; 76 + }
+3 -3
pkgs/servers/mail/mailman/postorius.nix
··· 1 - { lib, buildPythonPackage, fetchPypi, beautifulsoup4, vcrpy, mock 2 - , django-mailman3, mailmanclient, readme_renderer 3 - }: 1 + { lib, python3 }: 2 + 3 + with python3.pkgs; 4 4 5 5 buildPythonPackage rec { 6 6 pname = "postorius";
+30
pkgs/servers/mail/mailman/python.nix
··· 1 + { python3 }: 2 + 3 + python3.override { 4 + packageOverrides = self: super: { 5 + # does not find tests 6 + alembic = super.alembic.overridePythonAttrs (oldAttrs: { 7 + doCheck = false; 8 + }); 9 + # Needed by mailman, see https://gitlab.com/mailman/mailman/-/issues/964 10 + sqlalchemy = super.sqlalchemy.overridePythonAttrs (oldAttrs: rec { 11 + version = "1.3.24"; 12 + src = super.fetchPypi { 13 + inherit version; 14 + inherit (oldAttrs) pname; 15 + sha256 = "06bmxzssc66cblk1hamskyv5q3xf1nh1py3vi6dka4lkpxy7gfzb"; 16 + }; 17 + # does not find tests 18 + doCheck = false; 19 + }); 20 + # Fixes `AssertionError: database connection isn't set to UTC` 21 + psycopg2 = super.psycopg2.overridePythonAttrs (a: (rec { 22 + version = "2.8.6"; 23 + src = super.fetchPypi { 24 + inherit version; 25 + inherit (a) pname; 26 + sha256 = "fb23f6c71107c37fd667cb4ea363ddeb936b348bbd6449278eb92c189699f543"; 27 + }; 28 + })); 29 + }; 30 + }
+4 -2
pkgs/servers/mail/mailman/web.nix
··· 1 - { buildPythonPackage, lib, fetchPypi, pythonOlder 2 - , sassc, hyperkitty, postorius, whoosh, setuptools-scm 1 + { lib, python3 2 + , sassc, hyperkitty, postorius 3 3 }: 4 + 5 + with python3.pkgs; 4 6 5 7 buildPythonPackage rec { 6 8 pname = "mailman-web";
-20
pkgs/servers/mail/mailman/wrapped.nix
··· 1 - { runCommand, lib, makeWrapper, python3 2 - , archivers ? [ python3.pkgs.mailman-hyperkitty ] 3 - }: 4 - 5 - let 6 - inherit (python3.pkgs) makePythonPath mailman; 7 - in 8 - 9 - runCommand "${mailman.name}-wrapped" { 10 - inherit (mailman) meta; 11 - nativeBuildInputs = [ makeWrapper ]; 12 - passthru = mailman.passthru // { unwrapped = mailman; }; 13 - } '' 14 - mkdir -p "$out/bin" 15 - cd "${mailman}/bin" 16 - for exe in *; do 17 - makeWrapper "${mailman}/bin/$exe" "$out/bin/$exe" \ 18 - --set PYTHONPATH ${makePythonPath ([ mailman ] ++ archivers)} 19 - done 20 - ''
+5 -10
pkgs/servers/nextcloud/default.nix
··· 33 33 }; 34 34 }; 35 35 in { 36 - nextcloud21 = throw '' 37 - Nextcloud v21 has been removed from `nixpkgs` as the support for it was dropped 38 - by upstream in 2022-02. Please upgrade to at least Nextcloud v22 by declaring 36 + nextcloud22 = throw '' 37 + Nextcloud v22 has been removed from `nixpkgs` as the support for is dropped 38 + by upstream in 2022-07. Please upgrade to at least Nextcloud v23 by declaring 39 39 40 - services.nextcloud.package = pkgs.nextcloud22; 40 + services.nextcloud.package = pkgs.nextcloud23; 41 41 42 42 in your NixOS config. 43 43 44 - WARNING: if you were on Nextcloud 20 on NixOS 21.11 you have to upgrade to Nextcloud 21 44 + WARNING: if you were on Nextcloud 21 on NixOS 21.11 you have to upgrade to Nextcloud 22 45 45 first on 21.11 because Nextcloud doesn't support upgrades accross multiple major versions! 46 46 ''; 47 - 48 - nextcloud22 = generic { 49 - version = "22.2.8"; 50 - sha256 = "061b8a118d0fa500058a04ff8476ba96d4c24cef56e5fe5e300cc7113ce13a18"; 51 - }; 52 47 53 48 nextcloud23 = generic { 54 49 version = "23.0.5";
+4 -1
pkgs/tools/admin/syft/default.nix
··· 1 - { lib, buildGoModule, fetchFromGitHub, installShellFiles }: 1 + { lib, stdenv, buildGoModule, fetchFromGitHub, installShellFiles }: 2 2 3 3 buildGoModule rec { 4 4 pname = "syft"; ··· 74 74 ''; 75 75 license = with licenses; [ asl20 ]; 76 76 maintainers = with maintainers; [ jk ]; 77 + # Need updated macOS SDK 78 + # https://github.com/NixOS/nixpkgs/issues/101229 79 + broken = (stdenv.isDarwin && stdenv.isx86_64); 77 80 }; 78 81 }
+1 -1
pkgs/tools/audio/beets/common.nix
··· 126 126 eval "disabledTestPaths=($disabledTestPaths)" 127 127 for path in ''${disabledTestPaths[@]}; do 128 128 if [ -e "$path" ]; then 129 - args+=" --ignore \"$path\"" 129 + args+=" --ignore $path" 130 130 else 131 131 echo "Skipping non-existent test path '$path'" 132 132 fi
+5
pkgs/tools/misc/marlin-calc/default.nix
··· 11 11 sha256 = "14sqajm361gnrcqv84g7kbmyqm8pppbhqsabszc4j2cn7vbwkdg5"; 12 12 }; 13 13 14 + postPatch = '' 15 + # missing header for gcc >= 11 16 + sed -i '1i#include <limits>' Marlin/src/module/calc.cpp 17 + ''; 18 + 14 19 buildPhase = '' 15 20 cd Marlin/src 16 21 c++ module/planner.cpp module/calc.cpp feature/fwretract.cpp \
+4 -4
pkgs/top-level/all-packages.nix
··· 8602 8602 grocy = callPackage ../servers/grocy { }; 8603 8603 8604 8604 inherit (callPackage ../servers/nextcloud {}) 8605 - nextcloud21 nextcloud22 nextcloud23 nextcloud24; 8605 + nextcloud22 nextcloud23 nextcloud24; 8606 8606 8607 8607 nextcloud-client = libsForQt5.callPackage ../applications/networking/nextcloud-client { }; 8608 8608 ··· 21879 21879 21880 21880 mackerel-agent = callPackage ../servers/monitoring/mackerel-agent { }; 21881 21881 21882 - mailman = callPackage ../servers/mail/mailman/wrapped.nix { }; 21882 + mailmanPackages = callPackage ../servers/mail/mailman { }; 21883 + inherit (mailmanPackages) mailman mailman-hyperkitty; 21884 + mailman-web = mailmanPackages.web; 21883 21885 21884 21886 mailman-rss = callPackage ../tools/misc/mailman-rss { }; 21885 - 21886 - mailman-web = with python3.pkgs; toPythonApplication mailman-web; 21887 21887 21888 21888 listadmin = callPackage ../applications/networking/listadmin {}; 21889 21889
+5
pkgs/top-level/python-aliases.nix
··· 77 77 HAP-python = hap-python; # added 2021-06-01 78 78 hbmqtt = throw "hbmqtt was removed because it is no longer maintained"; # added 2021-11-07 79 79 hdlparse = throw "hdlparse has been removed, it was using setuptools 2to3 translation feature, which has been removed in setuptools 58"; # added 2022-01-18 80 + hyperkitty = throw "Please use pkgs.mailmanPackages.hyperkitty"; # added 2022-04-29 80 81 IMAPClient = imapclient; # added 2021-10-28 81 82 jupyter_client = jupyter-client; # added 2021-10-15 82 83 Keras = keras; # added 2021-11-25 ··· 85 86 Markups = markups; # added 2022-02-14 86 87 MechanicalSoup = mechanicalsoup; # added 2021-06-01 87 88 memcached = python-memcached; # added 2022-05-06 89 + mailman = throw "Please use pkgs.mailman"; # added 2022-04-29 90 + mailman-hyperkitty = throw "Please use pkgs.mailmanPackages.mailman-hyperkitty"; # added 2022-04-29 91 + mailman-web = throw "Please use pkgs.mailman-web"; # added 2022-04-29 88 92 net2grid = gridnet; # add 2022-04-22 89 93 nose-cover3 = throw "nose-cover3 has been removed, it was using setuptools 2to3 translation feature, which has been removed in setuptools 58"; # added 2022-02-16 90 94 pam = python-pam; # added 2020-09-07. 91 95 PasteDeploy = pastedeploy; # added 2021-10-07 92 96 pathpy = path; # added 2022-04-12 93 97 pep257 = pydocstyle; # added 2022-04-12 98 + postorius = throw "Please use pkgs.mailmanPackages.postorius"; # added 2022-04-29 94 99 powerlineMemSegment = powerline-mem-segment; # added 2021-10-08 95 100 privacyidea = throw "privacyidea has been renamed to pkgs.privacyidea"; # added 2021-06-20 96 101 prometheus_client = prometheus-client; # added 2021-06-10
-10
pkgs/top-level/python-packages.nix
··· 4023 4023 4024 4024 hyperion-py = callPackage ../development/python-modules/hyperion-py { }; 4025 4025 4026 - hyperkitty = callPackage ../servers/mail/mailman/hyperkitty.nix { }; 4027 - 4028 4026 hyperlink = callPackage ../development/python-modules/hyperlink { }; 4029 4027 4030 4028 hyperopt = callPackage ../development/python-modules/hyperopt { }; ··· 5076 5074 5077 5075 mailchimp = callPackage ../development/python-modules/mailchimp { }; 5078 5076 5079 - mailman = callPackage ../servers/mail/mailman { }; 5080 - 5081 5077 mailmanclient = callPackage ../development/python-modules/mailmanclient { }; 5082 - 5083 - mailman-hyperkitty = callPackage ../development/python-modules/mailman-hyperkitty { }; 5084 - 5085 - mailman-web = callPackage ../servers/mail/mailman/web.nix { }; 5086 5078 5087 5079 rtmixer = callPackage ../development/python-modules/rtmixer { }; 5088 5080 ··· 6664 6656 posix_ipc = callPackage ../development/python-modules/posix_ipc { }; 6665 6657 6666 6658 poster3 = callPackage ../development/python-modules/poster3 { }; 6667 - 6668 - postorius = callPackage ../servers/mail/mailman/postorius.nix { }; 6669 6659 6670 6660 pot = callPackage ../development/python-modules/pot { }; 6671 6661