lol

Merge master into staging-next

authored by

github-actions[bot] and committed by
GitHub
f6ea8c74 9fd6a65a

+887 -517
+19 -2
doc/builders/trivial-builders.chapter.md
··· 4 4 5 5 ## `runCommand` {#trivial-builder-runCommand} 6 6 7 - This takes three arguments, `name`, `env`, and `buildCommand`. `name` is just the name that Nix will append to the store path in the same way that `stdenv.mkDerivation` uses its `name` attribute. `env` is an attribute set specifying environment variables that will be set for this derivation. These attributes are then passed to the wrapped `stdenv.mkDerivation`. `buildCommand` specifies the commands that will be run to create this derivation. Note that you will need to create `$out` for Nix to register the command as successful. 7 + `runCommand :: String -> AttrSet -> String -> Derivation` 8 + 9 + `runCommand name drvAttrs buildCommand` returns a derivation that is built by running the specified shell commands. 8 10 9 - An example of using `runCommand` is provided below. 11 + `name :: String` 12 + : The name that Nix will append to the store path in the same way that `stdenv.mkDerivation` uses its `name` attribute. 13 + 14 + `drvAttr :: AttrSet` 15 + : Attributes to pass to the underlying call to [`stdenv.mkDerivation`](#chap-stdenv). 16 + 17 + `buildCommand :: String` 18 + : Shell commands to run in the derivation builder. 19 + 20 + ::: {.note} 21 + You have to create a file or directory `$out` for Nix to be able to run the builder successfully. 22 + ::: 23 + 24 + ::: {.example #ex-runcommand-simple} 25 + # Invocation of `runCommand` 10 26 11 27 ```nix 12 28 (import <nixpkgs> {}).runCommand "my-example" {} '' ··· 28 44 date 29 45 '' 30 46 ``` 47 + ::: 31 48 32 49 ## `runCommandCC` {#trivial-builder-runCommandCC} 33 50
+20 -2
doc/languages-frameworks/beam.section.md
··· 44 44 45 45 ## How to Install BEAM Packages {#how-to-install-beam-packages} 46 46 47 - BEAM builders are not registered at the top level, simply because they are not relevant to the vast majority of Nix users. To install any of those builders into your profile, refer to them by their attribute path `beamPackages.rebar3`: 47 + BEAM builders are not registered at the top level, simply because they are not relevant to the vast majority of Nix users. 48 + To use any of those builders into your environment, refer to them by their attribute path under `beamPackages`, e.g. `beamPackages.rebar3`: 49 + 50 + ::: {.example #ex-beam-ephemeral-shell} 51 + # Ephemeral shell 48 52 49 53 ```ShellSession 50 - $ nix-env -f "<nixpkgs>" -iA beamPackages.rebar3 54 + $ nix-shell -p beamPackages.rebar3 51 55 ``` 56 + ::: 57 + 58 + ::: {.example #ex-beam-declarative-shell} 59 + # Declarative shell 60 + 61 + ```nix 62 + let 63 + pkgs = import <nixpkgs> { config = {}; overlays = []; }; 64 + in 65 + pkgs.mkShell { 66 + packages = [ pkgs.beamPackages.rebar3 ]; 67 + } 68 + ``` 69 + ::: 52 70 53 71 ## Packaging BEAM Applications {#packaging-beam-applications} 54 72
+11 -40
maintainers/maintainer-list.nix
··· 2429 2429 githubId = 1743184; 2430 2430 name = "Boris Babić"; 2431 2431 }; 2432 - borlaag = { 2433 - email = "borlaag@proton.me"; 2434 - github = "Borlaag"; 2435 - githubId = 114830266; 2436 - name = "Børlaag"; 2437 - }; 2438 2432 bosu = { 2439 2433 email = "boriss@gmail.com"; 2440 2434 github = "bosu"; ··· 3115 3109 }; 3116 3110 christianharke = { 3117 3111 email = "christian@harke.ch"; 3118 - github = "christianharke"; 3112 + github = "rake5k"; 3119 3113 githubId = 13007345; 3120 3114 name = "Christian Harke"; 3121 3115 keys = [{ ··· 4471 4465 DomesticMoth = { 4472 4466 name = "Andrew"; 4473 4467 email = "silkmoth@protonmail.com"; 4474 - github = "DomesticMoth"; 4468 + github = "asciimoth"; 4475 4469 githubId = 91414737; 4476 4470 keys = [{ 4477 4471 fingerprint = "7D6B AE0A A98A FDE9 3396 E721 F87E 15B8 3AA7 3087"; ··· 4857 4851 githubId = 54799; 4858 4852 name = "Edward Tjörnhammar"; 4859 4853 }; 4860 - ee2500 = { 4861 - email = "earthengine@skiff.com"; 4862 - github = "ee2500"; 4863 - githubId = 134107129; 4864 - name = "EarthEngine"; 4865 - }; 4866 4854 eelco = { 4867 4855 email = "edolstra+nixpkgs@gmail.com"; 4868 4856 github = "edolstra"; ··· 7349 7337 }; 7350 7338 imalison = { 7351 7339 email = "IvanMalison@gmail.com"; 7352 - github = "IvanMalison"; 7340 + github = "colonelpanic8"; 7353 7341 githubId = 1246619; 7354 7342 name = "Ivan Malison"; 7355 7343 }; ··· 7773 7761 jayesh-bhoot = { 7774 7762 name = "Jayesh Bhoot"; 7775 7763 email = "jb@jayeshbhoot.com"; 7776 - github = "bhootjb"; 7764 + github = "jyssh"; 7777 7765 githubId = 1915507; 7778 7766 }; 7779 7767 jayman2000 = { ··· 8445 8433 }; 8446 8434 jonnybolton = { 8447 8435 email = "jonnybolton@gmail.com"; 8448 - github = "jonnybolton"; 8436 + github = "jonnynightingale"; 8449 8437 githubId = 8580434; 8450 8438 name = "Jonny Bolton"; 8451 8439 }; ··· 8481 8469 github = "jorsn"; 8482 8470 githubId = 4646725; 8483 8471 }; 8484 - joscha = { 8485 - name = "joscha Loos"; 8486 - email = "j.loos@posteo.net"; 8487 - githubId = 57965027; 8488 - }; 8489 8472 josephst = { 8490 8473 name = "Joseph Stahl"; 8491 8474 email = "hello@josephstahl.com"; ··· 9786 9769 }; 9787 9770 lethalman = { 9788 9771 email = "lucabru@src.gnome.org"; 9789 - github = "lethalman"; 9772 + github = "lucabrunox"; 9790 9773 githubId = 480920; 9791 9774 name = "Luca Bruno"; 9792 9775 }; ··· 10459 10442 github = "mac-chaffee"; 10460 10443 githubId = 7581860; 10461 10444 }; 10462 - maddiethecafebabe = { 10463 - email = "maddie@cafebabe.date"; 10464 - github = "maddiethecafebabe"; 10465 - githubId = 75337286; 10466 - name = "Madeline S."; 10467 - }; 10468 10445 madjar = { 10469 10446 email = "georges.dubus@compiletoi.net"; 10470 10447 github = "madjar"; ··· 12211 12188 githubId = 77314501; 12212 12189 name = "Maurice Zhou"; 12213 12190 }; 12214 - nebulka = { 12215 - email = "arapun@proton.me"; 12216 - github = "nebulka1"; 12217 - githubId = 121920704; 12218 - name = "Nebulka"; 12219 - }; 12220 12191 Necior = { 12221 12192 email = "adrian@sadlocha.eu"; 12222 12193 github = "Necior"; ··· 13040 13011 }; 13041 13012 orichter = { 13042 13013 email = "richter-oliver@gmx.net"; 13043 - github = "RichterOliver"; 13014 + github = "ORichterSec"; 13044 13015 githubId = 135209509; 13045 13016 name = "Oliver Richter"; 13046 13017 }; ··· 13649 13620 }; 13650 13621 pjbarnoy = { 13651 13622 email = "pjbarnoy@gmail.com"; 13652 - github = "pjbarnoy"; 13623 + github = "waaamb"; 13653 13624 githubId = 119460; 13654 13625 name = "Perry Barnoy"; 13655 13626 }; ··· 13695 13666 PlayerNameHere = { 13696 13667 name = "Dixon Sean Low Yan Feng"; 13697 13668 email = "dixonseanlow@protonmail.com"; 13698 - github = "PlayerNameHere"; 13669 + github = "dixslyf"; 13699 13670 githubId = 56017218; 13700 13671 keys = [{ 13701 13672 fingerprint = "E6F4 BFB4 8DE3 893F 68FC A15F FF5F 4B30 A41B BAC8"; ··· 14401 14372 }; 14402 14373 razvan = { 14403 14374 email = "razvan.panda@gmail.com"; 14404 - github = "razvan-flavius-panda"; 14375 + github = "freeman42x"; 14405 14376 githubId = 1758708; 14406 14377 name = "Răzvan Flavius Panda"; 14407 14378 }; ··· 17130 17101 name = "The Hedgehog"; 17131 17102 email = "hedgehog@mrhedgehog.xyz"; 17132 17103 matrix = "@mrhedgehog:jupiterbroadcasting.com"; 17133 - github = "theHedgehog0"; 17104 + github = "pyrox0"; 17134 17105 githubId = 35778371; 17135 17106 keys = [{ 17136 17107 fingerprint = "38A0 29B0 4A7E 4C13 A4BB 86C8 7D51 0786 6B1C 6752";
+2
nixos/doc/manual/release-notes/rl-2311.section.md
··· 250 250 Unfortunately all servers supporting new clients (newer version of anki-sync-server, anki's built in sync server and this new rust package) do not support the older sync protocol that was used in the old server, so such old clients will also need updating and in particular the anki package in nixpkgs is also being updated in this release. 251 251 The module update takes care of the new config syntax and the data itself (user login and cards) are compatible, so users of the module will be able to just log in again after updating both client and server without any extra action. 252 252 253 + - `services.matrix-synapse` has new options to configure worker processes for matrix-synapse using [`services.matrix-synapse.workers`](#opt-services.matrix-synapse.workers). It's also now possible to configure a local redis server using [`services.matrix-synapse.configureRedisLocally`](#opt-services.matrix-synapse.configureRedisLocally). 254 + 253 255 - `services.nginx` gained a `defaultListen` option at server-level with support for PROXY protocol listeners, also `proxyProtocol` is now exposed in `services.nginx.virtualHosts.<name>.listen` option. It is now possible to run PROXY listeners and non-PROXY listeners at a server-level, see [#213510](https://github.com/NixOS/nixpkgs/pull/213510/) for more details. 254 256 255 257 - `services.restic.backups` now adds wrapper scripts to your system path, which set the same environment variables as the service, so restic operations can easly be run from the command line. This behavior can be disabled by setting `createWrapper` to `false`, per backup configuration.
-25
nixos/modules/services/matrix/synapse-log_config.yaml
··· 1 - version: 1 2 - 3 - # In systemd's journal, loglevel is implicitly stored, so let's omit it 4 - # from the message text. 5 - formatters: 6 - journal_fmt: 7 - format: '%(name)s: [%(request)s] %(message)s' 8 - 9 - filters: 10 - context: 11 - (): synapse.util.logcontext.LoggingContextFilter 12 - request: "" 13 - 14 - handlers: 15 - journal: 16 - class: systemd.journal.JournalHandler 17 - formatter: journal_fmt 18 - filters: [context] 19 - SYSLOG_IDENTIFIER: synapse 20 - 21 - root: 22 - level: INFO 23 - handlers: [journal] 24 - 25 - disable_existing_loggers: False
+444 -174
nixos/modules/services/matrix/synapse.nix
··· 4 4 5 5 let 6 6 cfg = config.services.matrix-synapse; 7 - format = pkgs.formats.yaml {}; 7 + format = pkgs.formats.yaml { }; 8 8 9 9 # remove null values from the final configuration 10 10 finalSettings = lib.filterAttrsRecursive (_: v: v != null) cfg.settings; ··· 13 13 usePostgresql = cfg.settings.database.name == "psycopg2"; 14 14 hasLocalPostgresDB = let args = cfg.settings.database.args; in 15 15 usePostgresql && (!(args ? host) || (elem args.host [ "localhost" "127.0.0.1" "::1" ])); 16 + hasWorkers = cfg.workers != { }; 16 17 17 18 registerNewMatrixUser = 18 19 let ··· 68 69 extras = wantedExtras; 69 70 inherit (cfg) plugins; 70 71 }; 72 + 73 + logConfig = logName: { 74 + version = 1; 75 + formatters.journal_fmt.format = "%(name)s: [%(request)s] %(message)s"; 76 + handlers.journal = { 77 + class = "systemd.journal.JournalHandler"; 78 + formatter = "journal_fmt"; 79 + SYSLOG_IDENTIFIER = logName; 80 + }; 81 + root = { 82 + level = "INFO"; 83 + handlers = [ "journal" ]; 84 + }; 85 + disable_existing_loggers = false; 86 + }; 87 + logConfigText = logName: 88 + let 89 + expr = '' 90 + { 91 + version = 1; 92 + formatters.journal_fmt.format = "%(name)s: [%(request)s] %(message)s"; 93 + handlers.journal = { 94 + class = "systemd.journal.JournalHandler"; 95 + formatter = "journal_fmt"; 96 + SYSLOG_IDENTIFIER = "${logName}"; 97 + }; 98 + root = { 99 + level = "INFO"; 100 + handlers = [ "journal" ]; 101 + }; 102 + disable_existing_loggers = false; 103 + }; 104 + ''; 105 + in 106 + lib.literalMD '' 107 + Path to a yaml file generated from this Nix expression: 108 + 109 + ``` 110 + ${expr} 111 + ``` 112 + ''; 113 + genLogConfigFile = logName: format.generate "synapse-log-${logName}.yaml" (logConfig logName); 71 114 in { 72 115 73 116 imports = [ ··· 154 197 155 198 ]; 156 199 157 - options = { 200 + options = let 201 + listenerType = workerContext: types.submodule { 202 + options = { 203 + port = mkOption { 204 + type = types.port; 205 + example = 8448; 206 + description = lib.mdDoc '' 207 + The port to listen for HTTP(S) requests on. 208 + ''; 209 + }; 210 + 211 + bind_addresses = mkOption { 212 + type = types.listOf types.str; 213 + default = [ 214 + "::1" 215 + "127.0.0.1" 216 + ]; 217 + example = literalExpression '' 218 + [ 219 + "::" 220 + "0.0.0.0" 221 + ] 222 + ''; 223 + description = lib.mdDoc '' 224 + IP addresses to bind the listener to. 225 + ''; 226 + }; 227 + 228 + type = mkOption { 229 + type = types.enum [ 230 + "http" 231 + "manhole" 232 + "metrics" 233 + "replication" 234 + ]; 235 + default = "http"; 236 + example = "metrics"; 237 + description = lib.mdDoc '' 238 + The type of the listener, usually http. 239 + ''; 240 + }; 241 + 242 + tls = mkOption { 243 + type = types.bool; 244 + default = !workerContext; 245 + example = false; 246 + description = lib.mdDoc '' 247 + Whether to enable TLS on the listener socket. 248 + ''; 249 + }; 250 + 251 + x_forwarded = mkOption { 252 + type = types.bool; 253 + default = false; 254 + example = true; 255 + description = lib.mdDoc '' 256 + Use the X-Forwarded-For (XFF) header as the client IP and not the 257 + actual client IP. 258 + ''; 259 + }; 260 + 261 + resources = mkOption { 262 + type = types.listOf (types.submodule { 263 + options = { 264 + names = mkOption { 265 + type = types.listOf (types.enum [ 266 + "client" 267 + "consent" 268 + "federation" 269 + "health" 270 + "keys" 271 + "media" 272 + "metrics" 273 + "openid" 274 + "replication" 275 + "static" 276 + ]); 277 + description = lib.mdDoc '' 278 + List of resources to host on this listener. 279 + ''; 280 + example = [ 281 + "client" 282 + ]; 283 + }; 284 + compress = mkOption { 285 + default = false; 286 + type = types.bool; 287 + description = lib.mdDoc '' 288 + Whether synapse should compress HTTP responses to clients that support it. 289 + This should be disabled if running synapse behind a load balancer 290 + that can do automatic compression. 291 + ''; 292 + }; 293 + }; 294 + }); 295 + description = lib.mdDoc '' 296 + List of HTTP resources to serve on this listener. 297 + ''; 298 + }; 299 + }; 300 + }; 301 + in { 158 302 services.matrix-synapse = { 159 303 enable = mkEnableOption (lib.mdDoc "matrix.org synapse"); 160 304 ··· 251 395 }; 252 396 253 397 settings = mkOption { 254 - default = {}; 398 + default = { }; 255 399 description = mdDoc '' 256 400 The primary synapse configuration. See the 257 401 [sample configuration](https://github.com/matrix-org/synapse/blob/v${pkgs.matrix-synapse-unwrapped.version}/docs/sample_config.yaml) ··· 346 490 347 491 log_config = mkOption { 348 492 type = types.path; 349 - default = ./synapse-log_config.yaml; 350 - defaultText = lib.literalExpression "nixos/modules/services/matrix/synapse-log_config.yaml"; 493 + default = genLogConfigFile "synapse"; 494 + defaultText = logConfigText "synapse"; 351 495 description = lib.mdDoc '' 352 496 The file that holds the logging configuration. 353 497 ''; ··· 409 553 }; 410 554 411 555 listeners = mkOption { 412 - type = types.listOf (types.submodule { 413 - options = { 414 - port = mkOption { 415 - type = types.port; 416 - example = 8448; 417 - description = lib.mdDoc '' 418 - The port to listen for HTTP(S) requests on. 419 - ''; 420 - }; 421 - 422 - bind_addresses = mkOption { 423 - type = types.listOf types.str; 424 - default = [ 425 - "::1" 426 - "127.0.0.1" 427 - ]; 428 - example = literalExpression '' 429 - [ 430 - "::" 431 - "0.0.0.0" 432 - ] 433 - ''; 434 - description = lib.mdDoc '' 435 - IP addresses to bind the listener to. 436 - ''; 437 - }; 438 - 439 - type = mkOption { 440 - type = types.enum [ 441 - "http" 442 - "manhole" 443 - "metrics" 444 - "replication" 445 - ]; 446 - default = "http"; 447 - example = "metrics"; 448 - description = lib.mdDoc '' 449 - The type of the listener, usually http. 450 - ''; 451 - }; 452 - 453 - tls = mkOption { 454 - type = types.bool; 455 - default = true; 456 - example = false; 457 - description = lib.mdDoc '' 458 - Whether to enable TLS on the listener socket. 459 - ''; 460 - }; 461 - 462 - x_forwarded = mkOption { 463 - type = types.bool; 464 - default = false; 465 - example = true; 466 - description = lib.mdDoc '' 467 - Use the X-Forwarded-For (XFF) header as the client IP and not the 468 - actual client IP. 469 - ''; 470 - }; 471 - 472 - resources = mkOption { 473 - type = types.listOf (types.submodule { 474 - options = { 475 - names = mkOption { 476 - type = types.listOf (types.enum [ 477 - "client" 478 - "consent" 479 - "federation" 480 - "keys" 481 - "media" 482 - "metrics" 483 - "openid" 484 - "replication" 485 - "static" 486 - ]); 487 - description = lib.mdDoc '' 488 - List of resources to host on this listener. 489 - ''; 490 - example = [ 491 - "client" 492 - ]; 493 - }; 494 - compress = mkOption { 495 - type = types.bool; 496 - description = lib.mdDoc '' 497 - Should synapse compress HTTP responses to clients that support it? 498 - This should be disabled if running synapse behind a load balancer 499 - that can do automatic compression. 500 - ''; 501 - }; 502 - }; 503 - }); 504 - description = lib.mdDoc '' 505 - List of HTTP resources to serve on this listener. 506 - ''; 507 - }; 508 - }; 509 - }); 510 - default = [ { 556 + type = types.listOf (listenerType false); 557 + default = [{ 511 558 port = 8008; 512 559 bind_addresses = [ "127.0.0.1" ]; 513 560 type = "http"; 514 561 tls = false; 515 562 x_forwarded = true; 516 - resources = [ { 563 + resources = [{ 517 564 names = [ "client" ]; 518 565 compress = true; 519 566 } { 520 567 names = [ "federation" ]; 521 568 compress = false; 522 - } ]; 523 - } ]; 569 + }]; 570 + }] ++ lib.optional hasWorkers { 571 + port = 9093; 572 + bind_addresses = [ "127.0.0.1" ]; 573 + type = "http"; 574 + tls = false; 575 + x_forwarded = false; 576 + resources = [{ 577 + names = [ "replication" ]; 578 + compress = false; 579 + }]; 580 + }; 524 581 description = lib.mdDoc '' 525 582 List of ports that Synapse should listen on, their purpose and their configuration. 583 + 584 + By default, synapse will be configured for client and federation traffic on port 8008, and 585 + for worker replication traffic on port 9093. See [`services.matrix-synapse.workers`](#opt-services.matrix-synapse.workers) 586 + for more details. 526 587 ''; 527 588 }; 528 589 ··· 534 595 default = if versionAtLeast config.system.stateVersion "18.03" 535 596 then "psycopg2" 536 597 else "sqlite3"; 537 - defaultText = literalExpression '' 598 + defaultText = literalExpression '' 538 599 if versionAtLeast config.system.stateVersion "18.03" 539 600 then "psycopg2" 540 601 else "sqlite3" ··· 551 612 psycopg2 = "matrix-synapse"; 552 613 }.${cfg.settings.database.name}; 553 614 defaultText = literalExpression '' 554 - { 555 - sqlite3 = "''${${options.services.matrix-synapse.dataDir}}/homeserver.db"; 556 - psycopg2 = "matrix-synapse"; 557 - }.''${${options.services.matrix-synapse.settings}.database.name}; 615 + { 616 + sqlite3 = "''${${options.services.matrix-synapse.dataDir}}/homeserver.db"; 617 + psycopg2 = "matrix-synapse"; 618 + }.''${${options.services.matrix-synapse.settings}.database.name}; 558 619 ''; 559 620 description = lib.mdDoc '' 560 621 Name of the database when using the psycopg2 backend, ··· 622 683 623 684 url_preview_ip_range_whitelist = mkOption { 624 685 type = types.listOf types.str; 625 - default = []; 686 + default = [ ]; 626 687 description = lib.mdDoc '' 627 688 List of IP address CIDR ranges that the URL preview spider is allowed 628 689 to access even if they are specified in url_preview_ip_range_blacklist. ··· 644 705 on how to configure it properly. 645 706 '')) 646 707 (types.attrsOf types.str)); 647 - default = []; 708 + default = [ ]; 648 709 example = literalExpression '' 649 710 [ 650 711 { scheme = "http"; } # no http previews ··· 690 751 691 752 turn_uris = mkOption { 692 753 type = types.listOf types.str; 693 - default = []; 754 + default = [ ]; 694 755 example = [ 695 756 "turn:turn.example.com:3487?transport=udp" 696 757 "turn:turn.example.com:3487?transport=tcp" ··· 727 788 }; 728 789 }; 729 790 }); 730 - default = [ { 791 + default = [{ 731 792 server_name = "matrix.org"; 732 793 verify_keys = { 733 794 "ed25519:auto" = "Noi6WqcDj0QmPxCNQqgezwTlBKrfqehY1u2FyWP9uYw"; 734 795 }; 735 - } ]; 796 + }]; 736 797 description = lib.mdDoc '' 737 798 The trusted servers to download signing keys from. 738 799 ''; ··· 746 807 ''; 747 808 }; 748 809 810 + redis = lib.mkOption { 811 + type = types.submodule { 812 + freeformType = format.type; 813 + options = { 814 + enabled = lib.mkOption { 815 + type = types.bool; 816 + default = false; 817 + description = lib.mdDoc '' 818 + Whether to use redis support 819 + ''; 820 + }; 821 + }; 822 + }; 823 + default = { }; 824 + description = lib.mdDoc '' 825 + Redis configuration for synapse. 826 + 827 + See the 828 + [upstream documentation](https://github.com/matrix-org/synapse/blob/v${pkgs.matrix-synapse-unwrapped.version}/usage/configuration/config_documentation.md#redis) 829 + for available options. 830 + ''; 831 + }; 749 832 }; 750 833 }; 751 834 }; 752 835 836 + workers = lib.mkOption { 837 + default = { }; 838 + description = lib.mdDoc '' 839 + Options for configuring workers. Worker support will be enabled if at least one worker is configured here. 840 + 841 + See the [worker documention](https://matrix-org.github.io/synapse/latest/workers.html#worker-configuration) 842 + for possible options for each worker. Worker-specific options overriding the shared homeserver configuration can be 843 + specified here for each worker. 844 + 845 + ::: {.note} 846 + Worker support will add a replication listener on port 9093 to the main synapse process using the default 847 + value of [`services.matrix-synapse.settings.listeners`](#opt-services.matrix-synapse.settings.listeners) and configure that 848 + listener as `services.matrix-synapse.settings.instance_map.main`. 849 + If you set either of those options, make sure to configure a replication listener yourself. 850 + 851 + A redis server is required for running workers. A local one can be enabled 852 + using [`services.matrix-synapse.configureRedisLocally`](#opt-services.matrix-synapse.configureRedisLocally). 853 + 854 + Workers also require a proper reverse proxy setup to direct incoming requests to the appropriate process. See 855 + the [reverse proxy documentation](https://matrix-org.github.io/synapse/latest/reverse_proxy.html) for a 856 + general reverse proxying setup and 857 + the [worker documentation](https://matrix-org.github.io/synapse/latest/workers.html#available-worker-applications) 858 + for the available endpoints per worker application. 859 + ::: 860 + ''; 861 + type = types.attrsOf (types.submodule ({name, ...}: { 862 + freeformType = format.type; 863 + options = { 864 + worker_app = lib.mkOption { 865 + type = types.enum [ 866 + "synapse.app.generic_worker" 867 + "synapse.app.media_repository" 868 + ]; 869 + description = "Type of this worker"; 870 + default = "synapse.app.generic_worker"; 871 + }; 872 + worker_listeners = lib.mkOption { 873 + default = [ ]; 874 + type = types.listOf (listenerType true); 875 + description = lib.mdDoc '' 876 + List of ports that this worker should listen on, their purpose and their configuration. 877 + ''; 878 + }; 879 + worker_log_config = lib.mkOption { 880 + type = types.path; 881 + default = genLogConfigFile "synapse-${name}"; 882 + defaultText = logConfigText "synapse-${name}"; 883 + description = lib.mdDoc '' 884 + The file for log configuration. 885 + 886 + See the [python documentation](https://docs.python.org/3/library/logging.config.html#configuration-dictionary-schema) 887 + for the schema and the [upstream repository](https://github.com/matrix-org/synapse/blob/v${pkgs.matrix-synapse-unwrapped.version}/docs/sample_log_config.yaml) 888 + for an example. 889 + ''; 890 + }; 891 + }; 892 + })); 893 + default = { }; 894 + example = lib.literalExpression '' 895 + { 896 + "federation_sender" = { }; 897 + "federation_receiver" = { 898 + worker_listeners = [ 899 + { 900 + type = "http"; 901 + port = 8009; 902 + bind_addresses = [ "127.0.0.1" ]; 903 + tls = false; 904 + x_forwarded = true; 905 + resources = [{ 906 + names = [ "federation" ]; 907 + }]; 908 + } 909 + ]; 910 + }; 911 + } 912 + ''; 913 + }; 914 + 753 915 extraConfigFiles = mkOption { 754 916 type = types.listOf types.path; 755 - default = []; 917 + default = [ ]; 756 918 description = lib.mdDoc '' 757 919 Extra config files to include. 758 920 ··· 762 924 NixOps is in use. 763 925 ''; 764 926 }; 927 + 928 + configureRedisLocally = lib.mkOption { 929 + type = types.bool; 930 + default = false; 931 + description = lib.mdDoc '' 932 + Whether to automatically configure a local redis server for matrix-synapse. 933 + ''; 934 + }; 765 935 }; 766 936 }; 767 937 768 938 config = mkIf cfg.enable { 769 939 assertions = [ 770 - { assertion = hasLocalPostgresDB -> config.services.postgresql.enable; 940 + { 941 + assertion = hasLocalPostgresDB -> config.services.postgresql.enable; 771 942 message = '' 772 943 Cannot deploy matrix-synapse with a configuration for a local postgresql database 773 944 and a missing postgresql service. Since 20.03 it's mandatory to manually configure the ··· 783 954 For further information about this update, please read the release-notes of 20.03 carefully. 784 955 ''; 785 956 } 957 + { 958 + assertion = hasWorkers -> cfg.settings.redis.enabled; 959 + message = '' 960 + Workers for matrix-synapse require configuring a redis instance. This can be done 961 + automatically by setting `services.matrix-synapse.configureRedisLocally = true`. 962 + ''; 963 + } 964 + { 965 + assertion = 966 + let 967 + main = cfg.settings.instance_map.main; 968 + listener = lib.findFirst 969 + ( 970 + listener: 971 + listener.port == main.port 972 + && (lib.any (resource: builtins.elem "replication" resource.names) listener.resources) 973 + && (lib.any (bind: bind == main.host || bind == "0.0.0.0" || bind == "::") listener.bind_addresses) 974 + ) 975 + null 976 + cfg.settings.listeners; 977 + in 978 + hasWorkers -> (listener != null); 979 + message = '' 980 + Workers for matrix-synapse require setting `services.matrix-synapse.settings.instance_map.main` 981 + to any listener configured in `services.matrix-synapse.settings.listeners` with a `"replication"` 982 + resource. 983 + 984 + This is done by default unless you manually configure either of those settings. 985 + ''; 986 + } 786 987 ]; 787 988 989 + services.matrix-synapse.settings.redis = lib.mkIf cfg.configureRedisLocally { 990 + enabled = true; 991 + path = config.services.redis.servers.matrix-synapse.unixSocket; 992 + }; 993 + services.matrix-synapse.settings.instance_map.main = lib.mkIf hasWorkers (lib.mkDefault { 994 + host = "127.0.0.1"; 995 + port = 9093; 996 + }); 997 + 788 998 services.matrix-synapse.configFile = configFile; 789 999 services.matrix-synapse.package = wrapped; 790 1000 ··· 803 1013 gid = config.ids.gids.matrix-synapse; 804 1014 }; 805 1015 806 - systemd.services.matrix-synapse = { 807 - description = "Synapse Matrix homeserver"; 1016 + systemd.targets.matrix-synapse = lib.mkIf hasWorkers { 1017 + description = "Synapse Matrix parent target"; 808 1018 after = [ "network.target" ] ++ optional hasLocalPostgresDB "postgresql.service"; 809 1019 wantedBy = [ "multi-user.target" ]; 810 - preStart = '' 811 - ${cfg.package}/bin/synapse_homeserver \ 812 - --config-path ${configFile} \ 813 - --keys-directory ${cfg.dataDir} \ 814 - --generate-keys 815 - ''; 816 - environment = optionalAttrs (cfg.withJemalloc) { 817 - LD_PRELOAD = "${pkgs.jemalloc}/lib/libjemalloc.so"; 818 - }; 819 - serviceConfig = { 820 - Type = "notify"; 821 - User = "matrix-synapse"; 822 - Group = "matrix-synapse"; 823 - WorkingDirectory = cfg.dataDir; 824 - ExecStartPre = [ ("+" + (pkgs.writeShellScript "matrix-synapse-fix-permissions" '' 825 - chown matrix-synapse:matrix-synapse ${cfg.settings.signing_key_path} 826 - chmod 0600 ${cfg.settings.signing_key_path} 827 - '')) ]; 828 - ExecStart = '' 829 - ${cfg.package}/bin/synapse_homeserver \ 830 - ${ concatMapStringsSep "\n " (x: "--config-path ${x} \\") ([ configFile ] ++ cfg.extraConfigFiles) } 831 - --keys-directory ${cfg.dataDir} 832 - ''; 833 - ExecReload = "${pkgs.util-linux}/bin/kill -HUP $MAINPID"; 834 - Restart = "on-failure"; 835 - UMask = "0077"; 1020 + }; 1021 + 1022 + systemd.services = 1023 + let 1024 + targetConfig = 1025 + if hasWorkers 1026 + then { 1027 + partOf = [ "matrix-synapse.target" ]; 1028 + wantedBy = [ "matrix-synapse.target" ]; 1029 + unitConfig.ReloadPropagatedFrom = "matrix-synapse.target"; 1030 + } 1031 + else { 1032 + after = [ "network.target" ] ++ optional hasLocalPostgresDB "postgresql.service"; 1033 + wantedBy = [ "multi-user.target" ]; 1034 + }; 1035 + baseServiceConfig = { 1036 + environment = optionalAttrs (cfg.withJemalloc) { 1037 + LD_PRELOAD = "${pkgs.jemalloc}/lib/libjemalloc.so"; 1038 + }; 1039 + serviceConfig = { 1040 + Type = "notify"; 1041 + User = "matrix-synapse"; 1042 + Group = "matrix-synapse"; 1043 + WorkingDirectory = cfg.dataDir; 1044 + ExecReload = "${pkgs.util-linux}/bin/kill -HUP $MAINPID"; 1045 + Restart = "on-failure"; 1046 + UMask = "0077"; 836 1047 837 - # Security Hardening 838 - # Refer to systemd.exec(5) for option descriptions. 839 - CapabilityBoundingSet = [ "" ]; 840 - LockPersonality = true; 841 - NoNewPrivileges = true; 842 - PrivateDevices = true; 843 - PrivateTmp = true; 844 - PrivateUsers = true; 845 - ProcSubset = "pid"; 846 - ProtectClock = true; 847 - ProtectControlGroups = true; 848 - ProtectHome = true; 849 - ProtectHostname = true; 850 - ProtectKernelLogs = true; 851 - ProtectKernelModules = true; 852 - ProtectKernelTunables = true; 853 - ProtectProc = "invisible"; 854 - ProtectSystem = "strict"; 855 - ReadWritePaths = [ cfg.dataDir ]; 856 - RemoveIPC = true; 857 - RestrictAddressFamilies = [ "AF_INET" "AF_INET6" "AF_UNIX" ]; 858 - RestrictNamespaces = true; 859 - RestrictRealtime = true; 860 - RestrictSUIDSGID = true; 861 - SystemCallArchitectures = "native"; 862 - SystemCallFilter = [ "@system-service" "~@resources" "~@privileged" ]; 863 - }; 1048 + # Security Hardening 1049 + # Refer to systemd.exec(5) for option descriptions. 1050 + CapabilityBoundingSet = [ "" ]; 1051 + LockPersonality = true; 1052 + NoNewPrivileges = true; 1053 + PrivateDevices = true; 1054 + PrivateTmp = true; 1055 + PrivateUsers = true; 1056 + ProcSubset = "pid"; 1057 + ProtectClock = true; 1058 + ProtectControlGroups = true; 1059 + ProtectHome = true; 1060 + ProtectHostname = true; 1061 + ProtectKernelLogs = true; 1062 + ProtectKernelModules = true; 1063 + ProtectKernelTunables = true; 1064 + ProtectProc = "invisible"; 1065 + ProtectSystem = "strict"; 1066 + ReadWritePaths = [ cfg.dataDir ]; 1067 + RemoveIPC = true; 1068 + RestrictAddressFamilies = [ "AF_INET" "AF_INET6" "AF_UNIX" ]; 1069 + RestrictNamespaces = true; 1070 + RestrictRealtime = true; 1071 + RestrictSUIDSGID = true; 1072 + SystemCallArchitectures = "native"; 1073 + SystemCallFilter = [ "@system-service" "~@resources" "~@privileged" ]; 1074 + }; 1075 + } 1076 + // targetConfig; 1077 + genWorkerService = name: workerCfg: 1078 + let 1079 + finalWorkerCfg = workerCfg // { worker_name = name; }; 1080 + workerConfigFile = format.generate "worker-${name}.yaml" finalWorkerCfg; 1081 + in 1082 + { 1083 + name = "matrix-synapse-worker-${name}"; 1084 + value = lib.mkMerge [ 1085 + baseServiceConfig 1086 + { 1087 + description = "Synapse Matrix worker ${name}"; 1088 + # make sure the main process starts first for potential database migrations 1089 + after = [ "matrix-synapse.service" ]; 1090 + requires = [ "matrix-synapse.service" ]; 1091 + serviceConfig = { 1092 + ExecStart = '' 1093 + ${cfg.package}/bin/synapse_worker \ 1094 + ${ concatMapStringsSep "\n " (x: "--config-path ${x} \\") ([ configFile workerConfigFile ] ++ cfg.extraConfigFiles) } 1095 + --keys-directory ${cfg.dataDir} 1096 + ''; 1097 + }; 1098 + } 1099 + ]; 1100 + }; 1101 + in 1102 + { 1103 + matrix-synapse = lib.mkMerge [ 1104 + baseServiceConfig 1105 + { 1106 + description = "Synapse Matrix homeserver"; 1107 + preStart = '' 1108 + ${cfg.package}/bin/synapse_homeserver \ 1109 + --config-path ${configFile} \ 1110 + --keys-directory ${cfg.dataDir} \ 1111 + --generate-keys 1112 + ''; 1113 + serviceConfig = { 1114 + ExecStartPre = [ 1115 + ("+" + (pkgs.writeShellScript "matrix-synapse-fix-permissions" '' 1116 + chown matrix-synapse:matrix-synapse ${cfg.settings.signing_key_path} 1117 + chmod 0600 ${cfg.settings.signing_key_path} 1118 + '')) 1119 + ]; 1120 + ExecStart = '' 1121 + ${cfg.package}/bin/synapse_homeserver \ 1122 + ${ concatMapStringsSep "\n " (x: "--config-path ${x} \\") ([ configFile ] ++ cfg.extraConfigFiles) } 1123 + --keys-directory ${cfg.dataDir} 1124 + ''; 1125 + }; 1126 + } 1127 + ]; 1128 + } 1129 + // (lib.mapAttrs' genWorkerService cfg.workers); 1130 + 1131 + services.redis.servers.matrix-synapse = lib.mkIf cfg.configureRedisLocally { 1132 + enable = true; 1133 + user = "matrix-synapse"; 864 1134 }; 865 1135 866 1136 environment.systemPackages = [ registerNewMatrixUser ];
+1
nixos/tests/all-tests.nix
··· 468 468 matrix-appservice-irc = handleTest ./matrix/appservice-irc.nix {}; 469 469 matrix-conduit = handleTest ./matrix/conduit.nix {}; 470 470 matrix-synapse = handleTest ./matrix/synapse.nix {}; 471 + matrix-synapse-workers = handleTest ./matrix/synapse-workers.nix {}; 471 472 mattermost = handleTest ./mattermost.nix {}; 472 473 mediamtx = handleTest ./mediamtx.nix {}; 473 474 mediatomb = handleTest ./mediatomb.nix {};
+50
nixos/tests/matrix/synapse-workers.nix
··· 1 + import ../make-test-python.nix ({ pkgs, ... }: { 2 + name = "matrix-synapse-workers"; 3 + meta = with pkgs.lib; { 4 + maintainers = teams.matrix.members; 5 + }; 6 + 7 + nodes = { 8 + homeserver = 9 + { pkgs 10 + , nodes 11 + , ... 12 + }: { 13 + services.postgresql = { 14 + enable = true; 15 + initialScript = pkgs.writeText "synapse-init.sql" '' 16 + CREATE ROLE "matrix-synapse" WITH LOGIN PASSWORD 'synapse'; 17 + CREATE DATABASE "matrix-synapse" WITH OWNER "matrix-synapse" 18 + TEMPLATE template0 19 + LC_COLLATE = "C" 20 + LC_CTYPE = "C"; 21 + ''; 22 + }; 23 + 24 + services.matrix-synapse = { 25 + enable = true; 26 + settings = { 27 + database = { 28 + name = "psycopg2"; 29 + args.password = "synapse"; 30 + }; 31 + enable_registration = true; 32 + enable_registration_without_verification = true; 33 + 34 + federation_sender_instances = [ "federation_sender" ]; 35 + }; 36 + configureRedisLocally = true; 37 + workers = { 38 + "federation_sender" = { }; 39 + }; 40 + }; 41 + }; 42 + }; 43 + 44 + testScript = '' 45 + start_all() 46 + 47 + homeserver.wait_for_unit("matrix-synapse.service"); 48 + homeserver.wait_for_unit("matrix-synapse-worker-federation_sender.service"); 49 + ''; 50 + })
+1
pkgs/applications/audio/scream/default.nix
··· 44 44 homepage = "https://github.com/duncanthrax/scream"; 45 45 license = licenses.mspl; 46 46 platforms = platforms.linux; 47 + mainProgram = "scream"; 47 48 maintainers = with maintainers; [ arcnmx ]; 48 49 }; 49 50 }
+3 -3
pkgs/applications/gis/grass/default.nix
··· 32 32 , zstd 33 33 }: 34 34 35 - stdenv.mkDerivation (finalAttrs: rec { 35 + stdenv.mkDerivation (finalAttrs: { 36 36 pname = "grass"; 37 37 version = "8.3.0"; 38 38 39 - src = with lib; fetchFromGitHub { 39 + src = fetchFromGitHub { 40 40 owner = "OSGeo"; 41 41 repo = "grass"; 42 - rev = version; 42 + rev = finalAttrs.version; 43 43 hash = "sha256-YHQtvp/AYMWme46yIc4lE/izjqVePnPxn3GY5RRfPq4="; 44 44 }; 45 45
+5 -5
pkgs/applications/graphics/figma-linux/default.nix
··· 8 8 , ... 9 9 }: 10 10 with lib; 11 - stdenv.mkDerivation rec { 11 + stdenv.mkDerivation (finalAttrs: { 12 12 pname = "figma-linux"; 13 13 version = "0.10.0"; 14 14 15 15 src = fetchurl { 16 - url = "https://github.com/Figma-Linux/figma-linux/releases/download/v${version}/figma-linux_${version}_linux_amd64.deb"; 16 + url = "https://github.com/Figma-Linux/figma-linux/releases/download/v${finalAttrs.version}/figma-linux_${finalAttrs.version}_linux_amd64.deb"; 17 17 sha256 = "sha256-+xiXEwSSxpt1/Eu9g57/L+Il/Av+a/mgGBQl/4LKR74="; 18 18 }; 19 19 ··· 65 65 66 66 postFixup = '' 67 67 substituteInPlace $out/share/applications/figma-linux.desktop \ 68 - --replace "Exec=/opt/figma-linux/figma-linux" "Exec=$out/bin/${pname}" 68 + --replace "Exec=/opt/figma-linux/figma-linux" "Exec=$out/bin/${finalAttrs.pname}" 69 69 ''; 70 70 71 71 meta = { ··· 73 73 homepage = "https://github.com/Figma-Linux/figma-linux"; 74 74 platforms = [ "x86_64-linux" ]; 75 75 license = licenses.gpl2; 76 - maintainers = with maintainers; [ ercao ]; 76 + maintainers = with maintainers; [ ercao kashw2 ]; 77 77 }; 78 - } 78 + })
+22 -29
pkgs/applications/graphics/flaca/Cargo.lock
··· 63 63 64 64 [[package]] 65 65 name = "bytemuck" 66 - version = "1.13.1" 66 + version = "1.14.0" 67 67 source = "registry+https://github.com/rust-lang/crates.io-index" 68 - checksum = "17febce684fd15d89027105661fec94afb475cb995fbc59d2865198446ba2eea" 68 + checksum = "374d28ec25809ee0e23827c2ab573d729e293f281dfe393500e7ad618baa61c6" 69 69 70 70 [[package]] 71 71 name = "byteorder" ··· 149 149 150 150 [[package]] 151 151 name = "ctrlc" 152 - version = "3.4.0" 152 + version = "3.4.1" 153 153 source = "registry+https://github.com/rust-lang/crates.io-index" 154 - checksum = "2a011bbe2c35ce9c1f143b7af6f94f29a167beb4cd1d29e6740ce836f723120e" 154 + checksum = "82e95fbd621905b854affdc67943b043a0fbb6ed7385fd5a25650d19a8a6cfdf" 155 155 dependencies = [ 156 156 "nix", 157 157 "windows-sys", ··· 190 190 191 191 [[package]] 192 192 name = "errno" 193 - version = "0.3.2" 193 + version = "0.3.3" 194 194 source = "registry+https://github.com/rust-lang/crates.io-index" 195 - checksum = "6b30f669a7961ef1631673d2766cc92f52d64f7ef354d4fe0ddfd30ed52f0f4f" 195 + checksum = "136526188508e25c6fef639d7927dfb3e0e3084488bf202267829cf7fc23dbdd" 196 196 dependencies = [ 197 197 "errno-dragonfly", 198 198 "libc", ··· 226 226 227 227 [[package]] 228 228 name = "flaca" 229 - version = "2.2.2" 229 + version = "2.3.0" 230 230 dependencies = [ 231 231 "argyle", 232 232 "cc", ··· 259 259 260 260 [[package]] 261 261 name = "fyi_msg" 262 - version = "0.11.2" 262 + version = "0.11.5" 263 263 source = "registry+https://github.com/rust-lang/crates.io-index" 264 - checksum = "64175e76ad270dcde1566c16eb7d0f6cc2cbb575e5721dbd899e7f3a86b92718" 264 + checksum = "04bb9530916893c31bca029d18088c77f02ea93e270cffab771f9b985cdeb4bb" 265 265 dependencies = [ 266 266 "ahash", 267 267 "bytecount", ··· 326 326 327 327 [[package]] 328 328 name = "libc" 329 - version = "0.2.147" 329 + version = "0.2.148" 330 330 source = "registry+https://github.com/rust-lang/crates.io-index" 331 - checksum = "b4668fb0ea861c1df094127ac5f1da3409a82116a4ba74fca2e58ef927159bb3" 331 + checksum = "9cdc71e17332e86d2e1d38c1f99edcb6288ee11b815fb1a4b049eaa2114d369b" 332 332 333 333 [[package]] 334 334 name = "libdeflate-sys" ··· 350 350 351 351 [[package]] 352 352 name = "linux-raw-sys" 353 - version = "0.4.5" 353 + version = "0.4.7" 354 354 source = "registry+https://github.com/rust-lang/crates.io-index" 355 - checksum = "57bcfdad1b858c2db7c38303a6d2ad4dfaf5eb53dfeb0910128b2c26d6158503" 355 + checksum = "1a9bad9f94746442c783ca431b22403b519cd7fbeed0533fdd6328b2f2212128" 356 356 357 357 [[package]] 358 358 name = "log" ··· 381 381 382 382 [[package]] 383 383 name = "mozjpeg-sys" 384 - version = "1.1.0" 384 + version = "2.0.2" 385 385 source = "registry+https://github.com/rust-lang/crates.io-index" 386 - checksum = "626df331e335cf8a26510918010954f4770f3b04714026c1904e42c4507f8a3e" 386 + checksum = "808feab72499ffd6c267a6fd06bd07e37bef14650c328a5c64636fecfa113eff" 387 387 dependencies = [ 388 388 "cc", 389 389 "dunce", ··· 402 402 403 403 [[package]] 404 404 name = "nix" 405 - version = "0.26.2" 405 + version = "0.27.1" 406 406 source = "registry+https://github.com/rust-lang/crates.io-index" 407 - checksum = "bfdda3d196821d6af13126e40375cdf7da646a96114af134d5f417a9a1dc8e1a" 407 + checksum = "2eb04e9c688eff1c89d72b407f168cf79bb9e867a9d3323ed6c01519eb9cc053" 408 408 dependencies = [ 409 - "bitflags 1.3.2", 409 + "bitflags 2.4.0", 410 410 "cfg-if", 411 411 "libc", 412 - "static_assertions", 413 412 ] 414 413 415 414 [[package]] ··· 552 551 553 552 [[package]] 554 553 name = "rustix" 555 - version = "0.38.9" 554 + version = "0.38.13" 556 555 source = "registry+https://github.com/rust-lang/crates.io-index" 557 - checksum = "9bfe0f2582b4931a45d1fa608f8a8722e8b3c7ac54dd6d5f3b3212791fedef49" 556 + checksum = "d7db8590df6dfcd144d22afd1b83b36c21a18d7cbc1dc4bb5295a8712e9eb662" 558 557 dependencies = [ 559 558 "bitflags 2.4.0", 560 559 "errno", ··· 580 579 version = "0.3.7" 581 580 source = "registry+https://github.com/rust-lang/crates.io-index" 582 581 checksum = "d66dc143e6b11c1eddc06d5c423cfc97062865baf299914ab64caa38182078fe" 583 - 584 - [[package]] 585 - name = "static_assertions" 586 - version = "1.1.0" 587 - source = "registry+https://github.com/rust-lang/crates.io-index" 588 - checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" 589 582 590 583 [[package]] 591 584 name = "tap" ··· 718 711 719 712 [[package]] 720 713 name = "write_atomic" 721 - version = "0.4.0" 714 + version = "0.4.1" 722 715 source = "registry+https://github.com/rust-lang/crates.io-index" 723 - checksum = "e0ccffd0975630df843ef6124fdfb5032f86b6110d4913b7c85cab7d597dd49f" 716 + checksum = "e1cc5bd3df909eefc4f13328da8ac3b9e6016e0899477c0354c6880c67362cfc" 724 717 dependencies = [ 725 718 "rustix", 726 719 "tempfile",
+2 -2
pkgs/applications/graphics/flaca/default.nix
··· 2 2 3 3 rustPlatform.buildRustPackage rec { 4 4 pname = "flaca"; 5 - version = "2.2.2"; 5 + version = "2.3.0"; 6 6 7 7 src = fetchFromGitHub { 8 8 owner = "Blobfolio"; 9 9 repo = pname; 10 10 rev = "v${version}"; 11 - hash = "sha256-YLJ8jeJhpxmSfF0PObd7FSFdVbEVhHYIaUJusAIEIx4="; 11 + hash = "sha256-gK9nKvhrqGQ3yDAfnqDF2K1g6JK3CYz0kSpTLqfGTzc="; 12 12 }; 13 13 14 14 # upstream does not provide a Cargo.lock
+2 -2
pkgs/applications/misc/fluidd/default.nix
··· 2 2 3 3 stdenvNoCC.mkDerivation rec { 4 4 pname = "fluidd"; 5 - version = "1.25.2"; 5 + version = "1.25.3"; 6 6 7 7 src = fetchurl { 8 8 name = "fluidd-v${version}.zip"; 9 9 url = "https://github.com/cadriel/fluidd/releases/download/v${version}/fluidd.zip"; 10 - sha256 = "sha256-WlUTRmQ1RWI2HQ5Kn85q+/fzVnTsda2aqgTWRlA+5JY="; 10 + sha256 = "sha256-raslLhVbeUL6Zoz5cw+fKtqdUvAkd7frAncd+q1AVxs="; 11 11 }; 12 12 13 13 nativeBuildInputs = [ unzip ];
+4 -4
pkgs/applications/misc/hyprland-autoname-workspaces/default.nix
··· 5 5 6 6 rustPlatform.buildRustPackage rec { 7 7 pname = "hyprland-autoname-workspaces"; 8 - version = "1.1.7"; 8 + version = "1.1.10"; 9 9 10 10 src = fetchFromGitHub { 11 11 owner = "hyprland-community"; 12 12 repo = "hyprland-autoname-workspaces"; 13 - rev = "v${version}"; 14 - hash = "sha256-OtKPJZI0YKi98HUY4IDU8LRg6dTaD68OgVi9FzfjDbA="; 13 + rev = version; 14 + hash = "sha256-I0ELCexJxZgbTLzO4GtvOtaIghzVND8kgOFmlQ0oca8="; 15 15 }; 16 16 17 - cargoHash = "sha256-ueT85rKa2PGvp/R/ZXkDGUFIXyYNpDErg4W8WcXAPIw="; 17 + cargoHash = "sha256-MmWYsYRxrcEtL+efK1yCzq5b+PsrsrG1flSXn2kGdYs="; 18 18 19 19 meta = with lib; { 20 20 description = "Automatically rename workspaces with icons of started applications";
+3 -3
pkgs/applications/networking/cluster/k8sgpt/default.nix
··· 2 2 3 3 buildGoModule rec { 4 4 pname = "k8sgpt"; 5 - version = "0.3.14"; 5 + version = "0.3.15"; 6 6 7 7 src = fetchFromGitHub { 8 8 owner = "k8sgpt-ai"; 9 9 repo = "k8sgpt"; 10 10 rev = "v${version}"; 11 - hash = "sha256-n1bWAx3BQxgiuhDdTb2HU1DSEBQqOP/ek9bJBZlbWEM="; 11 + hash = "sha256-mWdSyP1Gcs1FC0HUX2p84PK0n1Xnd2LrD48luN4+OVs="; 12 12 }; 13 13 14 - vendorHash = "sha256-FUgIziVI99kL3dLJLqVFPEmQqLKXxAMie2q46sp0PeU="; 14 + vendorHash = "sha256-y+oF9sqYVEQSukLkfz0JXFpKtUKP/1DzHIivkL2wBwk="; 15 15 16 16 CGO_ENABLED = 0; 17 17
+3 -3
pkgs/applications/networking/instant-messengers/feishu/default.nix
··· 63 63 }: 64 64 65 65 stdenv.mkDerivation rec { 66 - version = "6.1.11"; 66 + version = "6.9.16"; 67 67 pname = "feishu"; 68 - packageHash = "e82bd3ef"; # A hash value used in the download url 68 + packageHash = "fe01b99b"; # A hash value used in the download url 69 69 70 70 src = fetchurl { 71 71 url = "https://sf3-cn.feishucdn.com/obj/ee-appcenter/${packageHash}/Feishu-linux_x64-${version}.deb"; 72 - hash = "sha256-IBNMNOcOYIdiTlr4+Ziju7Pbf9XJV0O+w2arHTa1zZ0="; 72 + hash = "sha256-+koH6/K0J8KCVaNGIVvmLmPn/Ttyc9WcNAp0f7PLkqg="; 73 73 }; 74 74 75 75 nativeBuildInputs = [
+3 -3
pkgs/applications/networking/nextdns/default.nix
··· 2 2 3 3 buildGoModule rec { 4 4 pname = "nextdns"; 5 - version = "1.39.4"; 5 + version = "1.40.1"; 6 6 7 7 src = fetchFromGitHub { 8 8 owner = "nextdns"; 9 9 repo = "nextdns"; 10 10 rev = "v${version}"; 11 - sha256 = "sha256-7inMloKU/AL4s/p171xCzs4p4+AcLsvsbVsELK9vhFc="; 11 + sha256 = "sha256-VK6e8+r0A642zP0Pae8qbQCWT+CGpHY7B9ZGobXl92A="; 12 12 }; 13 13 14 - vendorHash = "sha256-pCta8FzGVpl9fvnnjQ7/e2x/HolXAuxnz0vwKejGk98="; 14 + vendorHash = "sha256-CKKyLtqSzbmvpmDcoyGD79msAudlumqxcXaMTNbCbNI="; 15 15 16 16 ldflags = [ "-s" "-w" "-X main.version=${version}" ]; 17 17
+6 -1
pkgs/applications/networking/warp/default.nix
··· 15 15 , glib 16 16 , gtk4 17 17 , libadwaita 18 + , Security 19 + , Foundation 18 20 }: 19 21 20 22 stdenv.mkDerivation rec { ··· 57 59 glib 58 60 gtk4 59 61 libadwaita 62 + ] ++ lib.optionals stdenv.isDarwin [ 63 + Security 64 + Foundation 60 65 ]; 61 66 62 67 meta = { ··· 64 69 homepage = "https://apps.gnome.org/app/app.drey.Warp"; 65 70 license = lib.licenses.gpl3Only; 66 71 maintainers = with lib.maintainers; [ dotlambda foo-dogsquared ]; 67 - platforms = lib.platforms.linux; 72 + platforms = lib.platforms.all; 68 73 }; 69 74 }
+1 -1
pkgs/applications/video/freetube/default.nix
··· 46 46 homepage = "https://freetubeapp.io/"; 47 47 license = licenses.agpl3Only; 48 48 maintainers = with maintainers; [ ryneeverett alyaeanyx ]; 49 - platforms = [ "x86_64-linux" ]; 49 + inherit (electron_22.meta) platforms; 50 50 }; 51 51 }
+2 -2
pkgs/applications/video/obs-studio/plugins/obs-pipewire-audio-capture.nix
··· 10 10 11 11 stdenv.mkDerivation rec { 12 12 pname = "obs-pipewire-audio-capture"; 13 - version = "1.1.0"; 13 + version = "1.1.1"; 14 14 15 15 src = fetchFromGitHub { 16 16 owner = "dimtpap"; 17 17 repo = pname; 18 18 rev = version; 19 - sha256 = "sha256-gcOH8gJuP03MxhJbgl941yTtm2XIHmqHWVwkRCVATkQ="; 19 + sha256 = "sha256-D4ONz/4S5Kt23Tmfa6jvw0X7680R9YDqG8/N6HhIQLE="; 20 20 }; 21 21 22 22 nativeBuildInputs = [ cmake ninja pkg-config ];
+1 -1
pkgs/applications/virtualization/rvvm/default.nix
··· 24 24 description = "The RISC-V Virtual Machine"; 25 25 license = with licenses; [ gpl3 /* or */ mpl20 ]; 26 26 platforms = platforms.linux ++ platforms.darwin; 27 - maintainers = with maintainers; [ nebulka ]; 27 + maintainers = with maintainers; [ ]; 28 28 }; 29 29 }
+2 -2
pkgs/data/fonts/sarasa-gothic/default.nix
··· 2 2 3 3 stdenvNoCC.mkDerivation rec { 4 4 pname = "sarasa-gothic"; 5 - version = "0.41.9"; 5 + version = "0.41.10"; 6 6 7 7 src = fetchurl { 8 8 # Use the 'ttc' files here for a smaller closure size. 9 9 # (Using 'ttf' files gives a closure size about 15x larger, as of November 2021.) 10 10 url = "https://github.com/be5invis/Sarasa-Gothic/releases/download/v${version}/sarasa-gothic-ttc-${version}.7z"; 11 - hash = "sha256-bZM6RJHN1Zm7SMmEfQFWSqrpzab7AeJgBfZ8Q2uVSB4="; 11 + hash = "sha256-RxXLjlWJEWaWph8jz1L1zZABYOm75MoxcI0cZJGBDvg="; 12 12 }; 13 13 14 14 sourceRoot = ".";
+2 -2
pkgs/desktops/mate/mate-desktop/default.nix
··· 13 13 14 14 stdenv.mkDerivation rec { 15 15 pname = "mate-desktop"; 16 - version = "1.26.1"; 16 + version = "1.26.2"; 17 17 18 18 src = fetchurl { 19 19 url = "https://pub.mate-desktop.org/releases/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; 20 - sha256 = "EtFmiiesGr1gk1OB0/OYIbuAhGenuKz570WIXXyAohE="; 20 + sha256 = "XtA/fFLXt+zknKHnNqp2au/rXGOeqz5oxwkMUw0CN2o="; 21 21 }; 22 22 23 23 nativeBuildInputs = [
+3 -3
pkgs/development/compilers/bfc/default.nix
··· 10 10 11 11 rustPlatform.buildRustPackage rec { 12 12 pname = "bfc"; 13 - version = "1.11.0"; 13 + version = "1.12.0"; 14 14 15 15 src = fetchFromGitHub { 16 16 owner = "Wilfred"; 17 17 repo = "bfc"; 18 18 rev = version; 19 - hash = "sha256-uRQP3LS7cpG85BilkSaI+2WbEp/6zZcFrryMNO+n6EA="; 19 + hash = "sha256-5pcvwCtXWEexvV3TS62dZ6Opg8ANP2L8B0Z8u/OQENU="; 20 20 }; 21 21 22 - cargoHash = "sha256-aQLUZzHBy5CBbp5SpsS5dFQYpD7Bc+4zTfLjA/nmMnE="; 22 + cargoHash = "sha256-1w/jPBO1TZpa0ju+O/NxQ/oMyzIvYVoXpj+ZLcIpQoU="; 23 23 24 24 buildInputs = [ 25 25 libxml2
+2 -2
pkgs/development/libraries/fmt/default.nix
··· 67 67 }; 68 68 69 69 fmt_10 = generic { 70 - version = "10.1.0"; 71 - sha256 = "sha256-t/Mcl3n2dj8UEnptQh4YgpvWrxSYN3iGPZ3LKwzlPAg="; 70 + version = "10.1.1"; 71 + sha256 = "sha256-H9+1lEaHM12nzXSmo9m8S6527t+97e6necayyjCPm1A="; 72 72 }; 73 73 }
+1
pkgs/development/libraries/openssl/default.nix
··· 221 221 homepage = "https://www.openssl.org/"; 222 222 description = "A cryptographic library that implements the SSL and TLS protocols"; 223 223 license = licenses.openssl; 224 + mainProgram = "openssl"; 224 225 pkgConfigModules = [ 225 226 "libcrypto" 226 227 "libssl"
+2 -2
pkgs/development/libraries/seasocks/default.nix
··· 2 2 3 3 stdenv.mkDerivation rec { 4 4 pname = "seasocks"; 5 - version = "1.4.5"; 5 + version = "1.4.6"; 6 6 7 7 src = fetchFromGitHub { 8 8 owner = "mattgodbolt"; 9 9 repo = pname; 10 10 rev = "v${version}"; 11 - sha256 = "sha256-b1KNHuS5ndkBWItKVTiJ//Y+uKi1PcUk9624IILOusQ="; 11 + sha256 = "sha256-R1McxZm2qsUoggFGfL587g+8eQf7si56xVkR8B8nehQ="; 12 12 }; 13 13 14 14 postPatch = ''
+2 -2
pkgs/development/libraries/sqlitecpp/default.nix
··· 2 2 3 3 stdenv.mkDerivation rec { 4 4 pname = "sqlitecpp"; 5 - version = "3.3.0"; 5 + version = "3.3.1"; 6 6 7 7 src = fetchFromGitHub { 8 8 owner = "SRombauts"; 9 9 repo = pname; 10 10 rev = version; 11 - sha256 = "sha256-3Xo/FgifbrSn0AvinriJZerUM2kbcMaoyF5ST8+1Qqw="; 11 + sha256 = "sha256-8l1JRaE7w9vJ4bCSLGAk9zwYHDFeKkBi9pE5fUJfLRc="; 12 12 }; 13 13 14 14 nativeBuildInputs = [ cmake ];
+1 -1
pkgs/development/libraries/yas/default.nix
··· 22 22 homepage = "https://github.com/niXman/yas"; 23 23 description = "Yet Another Serialization"; 24 24 license = licenses.boost; 25 - maintainers = with maintainers; [ ee2500 ]; 25 + maintainers = with maintainers; [ ]; 26 26 platforms = platforms.all; 27 27 }; 28 28 }
+1
pkgs/development/node-packages/main-programs.nix
··· 26 26 "@webassemblyjs/wasm-text-gen-1.11.1" = "wasmgen"; 27 27 "@webassemblyjs/wast-refmt-1.11.1" = "wast-refmt"; 28 28 aws-cdk = "cdk"; 29 + bash-language-server = "bash-language-server"; 29 30 cdk8s-cli = "cdk8s"; 30 31 cdktf-cli = "cdktf"; 31 32 clipboard-cli = "clipboard";
+2 -2
pkgs/development/python-modules/adafruit-platformdetect/default.nix
··· 7 7 8 8 buildPythonPackage rec { 9 9 pname = "adafruit-platformdetect"; 10 - version = "3.51.0"; 10 + version = "3.52.0"; 11 11 format = "pyproject"; 12 12 13 13 disabled = pythonOlder "3.7"; ··· 15 15 src = fetchPypi { 16 16 pname = "Adafruit-PlatformDetect"; 17 17 inherit version; 18 - hash = "sha256-/a0IKOFWnXC6BJItpJDqiA9aCB1PNhglNlB/4KvyQdg="; 18 + hash = "sha256-RydAyIzWRVQ+/xCVPtZ4HQ7eCH8cxeHW1XjEupWlAqc="; 19 19 }; 20 20 21 21 SETUPTOOLS_SCM_PRETEND_VERSION = version;
+2 -2
pkgs/development/python-modules/adlfs/default.nix
··· 12 12 13 13 buildPythonPackage rec { 14 14 pname = "adlfs"; 15 - version = "2023.8.0"; 15 + version = "2023.9.0"; 16 16 format = "setuptools"; 17 17 18 18 disabled = pythonOlder "3.7"; ··· 21 21 owner = "fsspec"; 22 22 repo = pname; 23 23 rev = "refs/tags/${version}"; 24 - hash = "sha256-ZPHB01CiBYiNoii73zVecq1l0WCqB2CzhhhaBeetb4g="; 24 + hash = "sha256-gu0qGaOIi5U8CtuhTfbX+AjyYSS6psPrJCM1ZqVe8Ww="; 25 25 }; 26 26 27 27 propagatedBuildInputs = [
+2 -2
pkgs/development/python-modules/aliyun-python-sdk-iot/default.nix
··· 7 7 8 8 buildPythonPackage rec { 9 9 pname = "aliyun-python-sdk-iot"; 10 - version = "8.55.0"; 10 + version = "8.56.0"; 11 11 format = "setuptools"; 12 12 13 13 disabled = pythonOlder "3.7"; 14 14 15 15 src = fetchPypi { 16 16 inherit pname version; 17 - hash = "sha256-cLiOdXZpjZUVJ0O0rykM6GQH0pXaiMQp1zH6kuDLqOY="; 17 + hash = "sha256-8d77P522c6gV8LhKErixzE2DvGmjr9bms+2eHYirgwg="; 18 18 }; 19 19 20 20 propagatedBuildInputs = [
+2 -2
pkgs/development/python-modules/aliyun-python-sdk-kms/default.nix
··· 7 7 8 8 buildPythonPackage rec { 9 9 pname = "aliyun-python-sdk-kms"; 10 - version = "2.16.1"; 10 + version = "2.16.2"; 11 11 format = "setuptools"; 12 12 13 13 disabled = pythonOlder "3.7"; 14 14 15 15 src = fetchPypi { 16 16 inherit pname version; 17 - hash = "sha256-o3JzdxVoIBS6zmi9QP6DMy9P2SUAmj6xENQbxm8nDno="; 17 + hash = "sha256-+HI0qLZNRXyiM4+HZQ2xijzn99vJv+9x7+jyiUre09Y="; 18 18 }; 19 19 20 20 propagatedBuildInputs = [
+2 -2
pkgs/development/python-modules/aws-sam-translator/default.nix
··· 16 16 17 17 buildPythonPackage rec { 18 18 pname = "aws-sam-translator"; 19 - version = "1.73.0"; 19 + version = "1.74.0"; 20 20 format = "setuptools"; 21 21 22 22 disabled = pythonOlder "3.7"; ··· 25 25 owner = "aws"; 26 26 repo = "serverless-application-model"; 27 27 rev = "refs/tags/v${version}"; 28 - hash = "sha256-rj+q/06gIvPYTJP/EH9ZrP0Sp4J3K1aCRyNkgpphWP4="; 28 + hash = "sha256-uOfBR0bvLVyBcfSAkSqOx4KjmSYbfktpJlxKjipfj50="; 29 29 }; 30 30 31 31 postPatch = ''
+8 -12
pkgs/development/python-modules/debugpy/default.nix
··· 20 20 21 21 buildPythonPackage rec { 22 22 pname = "debugpy"; 23 - version = "1.6.7.post1"; 23 + version = "1.8.0"; 24 24 format = "setuptools"; 25 25 26 - # Currently doesn't support 3.11: 27 - # https://github.com/microsoft/debugpy/issues/1107 28 - disabled = pythonOlder "3.7" || pythonAtLeast "3.11"; 26 + disabled = pythonOlder "3.8" || pythonAtLeast "3.13"; 29 27 30 28 src = fetchFromGitHub { 31 29 owner = "microsoft"; 32 30 repo = "debugpy"; 33 31 rev = "refs/tags/v${version}"; 34 - hash = "sha256-zsF6XUSAAKhwmUZkroRWvOBWXjTWzWuRYOhnYuN3KrY="; 32 + hash = "sha256-FW1RDmj4sDBS0q08C82ErUd16ofxJxgVaxfykn/wVBA="; 35 33 }; 36 34 37 35 patches = [ ··· 50 48 # To avoid this issue, debugpy should be installed using python.withPackages: 51 49 # python.withPackages (ps: with ps; [ debugpy ]) 52 50 ./fix-test-pythonpath.patch 53 - 54 - # Support disabling process timeouts when set to 0 55 - # See https://github.com/microsoft/debugpy/pull/1286 56 - (fetchpatch { 57 - url = "https://github.com/microsoft/debugpy/commit/1569cc8319350afcc5ba8630660f599d514ac3bb.patch"; 58 - hash = "sha256-v4GKLb2M20F1egAGtix9cTkSzBnvSgSSphSQST5p63w="; 59 - }) 60 51 ] ++ lib.optionals stdenv.isLinux [ 61 52 # Hard code GDB path (used to attach to process) 62 53 (substituteAll { ··· 121 112 disabledTests = [ 122 113 # https://github.com/microsoft/debugpy/issues/1241 123 114 "test_flask_breakpoint_multiproc" 115 + 116 + # DeprecationWarning: pkg_resources is deprecated as an API 117 + # Supposedly fixed in https://github.com/microsoft/debugpy/pull/1374, 118 + # but still fails for a nix build 119 + "test_gevent" 124 120 ]; 125 121 126 122 pythonImportsCheck = [
+2 -2
pkgs/development/python-modules/elkm1-lib/default.nix
··· 12 12 13 13 buildPythonPackage rec { 14 14 pname = "elkm1-lib"; 15 - version = "2.2.5"; 15 + version = "2.2.6"; 16 16 format = "pyproject"; 17 17 18 18 disabled = pythonOlder "3.9"; ··· 21 21 owner = "gwww"; 22 22 repo = "elkm1"; 23 23 rev = "refs/tags/${version}"; 24 - hash = "sha256-8Mzxaww6a+vi3i8H4W9jRgY+5mpTGaJbNBXPDPn8sl4="; 24 + hash = "sha256-5Jmn/ywyg6fmp0ZxPf79ET+JWPF4VjDJMwj/qU6ckS0="; 25 25 }; 26 26 27 27 nativeBuildInputs = [
+3 -3
pkgs/development/python-modules/flask-migrate/default.nix
··· 12 12 13 13 buildPythonPackage rec { 14 14 pname = "flask-migrate"; 15 - version = "4.0.4"; 15 + version = "4.0.5"; 16 16 format = "pyproject"; 17 17 18 - disabled = pythonOlder "3.7"; 18 + disabled = pythonOlder "3.8"; 19 19 20 20 src = fetchFromGitHub { 21 21 owner = "miguelgrinberg"; 22 22 repo = "Flask-Migrate"; 23 23 rev = "v${version}"; 24 - hash = "sha256-x52LGYvXuTUCP9dR3FP7a/xNRWyCAV1sReDAYJbYDvE="; 24 + hash = "sha256-fdnoX7ypTpH2mQ+7Xuhzdh706Of7PIVhHQGVbe0jv1s="; 25 25 }; 26 26 27 27 nativeBuildInputs = [
+1 -1
pkgs/development/python-modules/intake/default.nix
··· 35 35 owner = pname; 36 36 repo = pname; 37 37 rev = "81b1567a2030adfb22b856b4f63cefe35de68983"; 38 - hash = "sha256-S2PoUN0Bao5VULfHhgbXXowopPLm/njAHO3dIM8ILno="; 38 + hash = "sha256-PygLrZz8ssHUrzGt2A7HxidvA2IVY94edVLjSp4jLI4="; 39 39 }; 40 40 41 41 propagatedBuildInputs = [
+2 -2
pkgs/development/python-modules/murmurhash/default.nix
··· 7 7 8 8 buildPythonPackage rec { 9 9 pname = "murmurhash"; 10 - version = "1.0.9"; 10 + version = "1.0.10"; 11 11 format = "setuptools"; 12 12 13 13 disabled = pythonOlder "3.6"; 14 14 15 15 src = fetchPypi { 16 16 inherit pname version; 17 - hash = "sha256-/no4yw09h8FOyd3cSTL/4tvHfXVGmrgP1QFGibDge1g="; 17 + hash = "sha256-UoKqsTF4BMbr1t1/afFbqQda7mccRKNL4r3g8bEe+Io="; 18 18 }; 19 19 20 20 postPatch = ''
+7 -2
pkgs/development/python-modules/oss2/default.nix
··· 16 16 17 17 buildPythonPackage rec { 18 18 pname = "oss2"; 19 - version = "2.17.0"; 19 + version = "2.18.1"; 20 20 format = "setuptools"; 21 21 22 22 disabled = pythonOlder "3.7"; ··· 25 25 owner = "aliyun"; 26 26 repo = "aliyun-oss-python-sdk"; 27 27 rev = "refs/tags/${version}"; 28 - hash = "sha256-EL6qbtVyOJ2RGw3sZiRJouqVNLBMUKGycAZl31M1+oQ="; 28 + hash = "sha256-4P2o10FhnLwRkhRYS+LzY+ugWPQgz+Tddn9XYR17018="; 29 29 }; 30 30 31 31 nativeBuildInputs = [ ··· 58 58 "tests/test_api_base.py" 59 59 "tests/test_async_fetch_task.py" 60 60 "tests/test_bucket_access_monitor.py" 61 + "tests/test_bucket_callback_policy.py" 61 62 "tests/test_bucket_cname.py" 63 + "tests/test_bucket_describe_regions.py" 62 64 "tests/test_bucket_inventory.py" 63 65 "tests/test_bucket_meta_query.py" 64 66 "tests/test_bucket_replication.py" ··· 75 77 "tests/test_crypto_object.py" 76 78 "tests/test_crypto.py" 77 79 "tests/test_download.py" 80 + "tests/test_exception_ec.py" 78 81 "tests/test_headers.py" 79 82 "tests/test_image.py" 80 83 "tests/test_init.py" ··· 103 106 104 107 disabledTests = [ 105 108 "test_crypto_get_compact_deprecated_kms" 109 + # RuntimeError 110 + "test_crypto_put" 106 111 ]; 107 112 108 113 meta = with lib; {
+64
pkgs/development/python-modules/pmdarima/default.nix
··· 1 + { lib 2 + , buildPythonPackage 3 + , fetchFromGitHub 4 + , cython 5 + , joblib 6 + , numpy 7 + , pandas 8 + , scikit-learn 9 + , scipy 10 + , statsmodels 11 + , urllib3 12 + , pythonOlder 13 + , python 14 + , pytestCheckHook 15 + }: 16 + 17 + buildPythonPackage rec { 18 + pname = "pmdarima"; 19 + version = "2.0.3"; 20 + format = "setuptools"; 21 + 22 + disable = pythonOlder "3.7"; 23 + 24 + src = fetchFromGitHub { 25 + owner = "alkaline-ml"; 26 + repo = "pmdarima"; 27 + rev = "v${version}"; 28 + hash = "sha256-uX4iZZ2deYqVWnqVZT6J0Djf2pXo7ug4MsOsPkKjvSU="; 29 + }; 30 + 31 + nativeBuildInputs = [ cython ]; 32 + 33 + propagatedBuildInputs = [ 34 + joblib 35 + numpy 36 + pandas 37 + scikit-learn 38 + scipy 39 + statsmodels 40 + urllib3 41 + ]; 42 + 43 + # Make sure we're running the tests for the actually installed 44 + # package, so that cython's compiled files are available. 45 + preCheck = '' 46 + cd $out/lib/${python.libPrefix}/site-packages 47 + ''; 48 + 49 + nativeCheckInputs = [ pytestCheckHook ]; 50 + disabledTests= [ 51 + # touches internet 52 + "test_load_from_web" 53 + ]; 54 + 55 + pythonImportsCheck = [ "pmdarima" ]; 56 + 57 + meta = with lib; { 58 + description = "A statistical library designed to fill the void in Python's time series analysis capabilities, including the equivalent of R's auto.arima function"; 59 + homepage = "https://github.com/alkaline-ml/pmdarima"; 60 + changelog = "https://github.com/alkaline-ml/pmdarima/releases/tag/v${version}"; 61 + license = licenses.mit; 62 + maintainers = with maintainers; [ mbalatsko ]; 63 + }; 64 + }
+2 -2
pkgs/development/python-modules/pyunifiprotect/default.nix
··· 31 31 32 32 buildPythonPackage rec { 33 33 pname = "pyunifiprotect"; 34 - version = "4.20.0"; 34 + version = "4.21.0"; 35 35 format = "pyproject"; 36 36 37 37 disabled = pythonOlder "3.9"; ··· 40 40 owner = "briis"; 41 41 repo = pname; 42 42 rev = "refs/tags/v${version}"; 43 - hash = "sha256-d4pMswABy/KFO2adwufSRRsj879O894nphh3MEjZOl0="; 43 + hash = "sha256-BFcICpWq0aBjEww9EuO6UH8oGX8fufernFqh/gihIrM="; 44 44 }; 45 45 46 46 postPatch = ''
+3 -3
pkgs/development/python-modules/smbprotocol/default.nix
··· 11 11 12 12 buildPythonPackage rec { 13 13 pname = "smbprotocol"; 14 - version = "1.10.1"; 14 + version = "1.11.0"; 15 15 format = "setuptools"; 16 16 17 17 disabled = pythonOlder "3.7"; 18 18 19 19 src = fetchFromGitHub { 20 20 owner = "jborean93"; 21 - repo = pname; 21 + repo = "smbprotocol"; 22 22 rev = "refs/tags/v${version}"; 23 - hash = "sha256-8T091yF/Hu60aaUr6IDZt2cLxz1sXUbMewSqW1Ch0Vo="; 23 + hash = "sha256-MhkeizBorDAlTLrvbsuzvrwrbBZv/dYA7Khvg/FrKoI="; 24 24 }; 25 25 26 26 propagatedBuildInputs = [
+68 -35
pkgs/development/python-modules/torch/default.nix
··· 1 - { stdenv, lib, fetchFromGitHub, buildPythonPackage, python, 1 + { stdenv, lib, fetchFromGitHub, fetchpatch, buildPythonPackage, python, 2 2 config, cudaSupport ? config.cudaSupport, cudaPackages, magma, 3 3 useSystemNccl ? true, 4 4 MPISupport ? false, mpi, ··· 52 52 53 53 let 54 54 inherit (lib) lists strings trivial; 55 - inherit (cudaPackages) cudatoolkit cudaFlags cudnn nccl; 56 - in 57 - 58 - assert cudaSupport -> stdenv.isLinux; 59 - assert cudaSupport -> (cudaPackages.cudaMajorVersion == "11"); 55 + inherit (cudaPackages) cudaFlags cudnn nccl; 60 56 61 - # confirm that cudatoolkits are sync'd across dependencies 62 - assert !(MPISupport && cudaSupport) || mpi.cudatoolkit == cudatoolkit; 63 - assert !cudaSupport || magma.cudaPackages.cudatoolkit == cudatoolkit; 64 - 65 - let 66 57 setBool = v: if v then "1" else "0"; 67 58 68 59 # https://github.com/pytorch/pytorch/blob/v2.0.1/torch/utils/cpp_extension.py#L1744 ··· 103 94 throw "No GPU targets specified" 104 95 ); 105 96 106 - cudatoolkit_joined = symlinkJoin { 107 - name = "${cudatoolkit.name}-unsplit"; 108 - # nccl is here purely for semantic grouping it could be moved to nativeBuildInputs 109 - paths = [ cudatoolkit.out cudatoolkit.lib nccl.dev nccl.out ]; 110 - }; 111 - 112 - # Normally libcuda.so.1 is provided at runtime by nvidia-x11 via 113 - # LD_LIBRARY_PATH=/run/opengl-driver/lib. We only use the stub 114 - # libcuda.so from cudatoolkit for running tests, so that we don’t have 115 - # to recompile pytorch on every update to nvidia-x11 or the kernel. 116 - cudaStub = linkFarm "cuda-stub" [{ 117 - name = "libcuda.so.1"; 118 - path = "${cudatoolkit}/lib/stubs/libcuda.so"; 119 - }]; 120 - cudaStubEnv = lib.optionalString cudaSupport 121 - "LD_LIBRARY_PATH=${cudaStub}\${LD_LIBRARY_PATH:+:}$LD_LIBRARY_PATH "; 122 - 123 97 rocmtoolkit_joined = symlinkJoin { 124 98 name = "rocm-merged"; 125 99 ··· 160 134 # base is 10.12. Until we upgrade, we can fall back on the older 161 135 # pthread support. 162 136 ./pthreadpool-disable-gcd.diff 137 + ] ++ lib.optionals stdenv.isLinux [ 138 + # Propagate CUPTI to Kineto by overriding the search path with environment variables. 139 + (fetchpatch { 140 + url = "https://github.com/pytorch/pytorch/pull/108847/commits/7ae4d7c0e2dec358b4fe81538efe9da5eb580ec9.patch"; 141 + hash = "sha256-skFaDg98xcJqJfzxWk+qhUxPLHDStqvd0mec3PgksIg="; 142 + }) 163 143 ]; 164 144 165 145 postPatch = lib.optionalString rocmSupport '' ··· 184 164 --replace "set(ROCM_PATH \$ENV{ROCM_PATH})" \ 185 165 "set(ROCM_PATH \$ENV{ROCM_PATH})''\nset(ROCM_VERSION ${lib.concatStrings (lib.intersperse "0" (lib.splitString "." hip.version))})" 186 166 '' 167 + # Detection of NCCL version doesn't work particularly well when using the static binary. 168 + + lib.optionalString cudaSupport '' 169 + substituteInPlace cmake/Modules/FindNCCL.cmake \ 170 + --replace \ 171 + 'message(FATAL_ERROR "Found NCCL header version and library version' \ 172 + 'message(WARNING "Found NCCL header version and library version' 173 + '' 187 174 # error: no member named 'aligned_alloc' in the global namespace; did you mean simply 'aligned_alloc' 188 175 # This lib overrided aligned_alloc hence the error message. Tltr: his function is linkable but not in header. 189 176 + lib.optionalString (stdenv.isDarwin && lib.versionOlder stdenv.targetPlatform.darwinSdkVersion "11.0") '' ··· 192 179 inline void *aligned_alloc(size_t align, size_t size)' 193 180 ''; 194 181 182 + # NOTE(@connorbaker): Though we do not disable Gloo or MPI when building with CUDA support, caution should be taken 183 + # when using the different backends. Gloo's GPU support isn't great, and MPI and CUDA can't be used at the same time 184 + # without extreme care to ensure they don't lock each other out of shared resources. 185 + # For more, see https://github.com/open-mpi/ompi/issues/7733#issuecomment-629806195. 195 186 preConfigure = lib.optionalString cudaSupport '' 196 187 export TORCH_CUDA_ARCH_LIST="${gpuTargetString}" 197 - export CC=${cudatoolkit.cc}/bin/gcc CXX=${cudatoolkit.cc}/bin/g++ 198 - '' + lib.optionalString (cudaSupport && cudnn != null) '' 199 188 export CUDNN_INCLUDE_DIR=${cudnn.dev}/include 200 189 export CUDNN_LIB_DIR=${cudnn.lib}/lib 190 + export CUPTI_INCLUDE_DIR=${cudaPackages.cuda_cupti.dev}/include 191 + export CUPTI_LIBRARY_DIR=${cudaPackages.cuda_cupti.lib}/lib 201 192 '' + lib.optionalString rocmSupport '' 202 193 export ROCM_PATH=${rocmtoolkit_joined} 203 194 export ROCM_SOURCE_DIR=${rocmtoolkit_joined} ··· 256 247 PYTORCH_BUILD_NUMBER = 0; 257 248 258 249 USE_SYSTEM_NCCL = setBool useSystemNccl; # don't build pytorch's third_party NCCL 250 + USE_STATIC_NCCL = setBool useSystemNccl; 259 251 260 252 # Suppress a weird warning in mkl-dnn, part of ideep in pytorch 261 253 # (upstream seems to have fixed this in the wrong place?) ··· 286 278 pybind11 287 279 pythonRelaxDepsHook 288 280 removeReferencesTo 289 - ] ++ lib.optionals cudaSupport [ cudatoolkit_joined ] 290 - ++ lib.optionals rocmSupport [ rocmtoolkit_joined ]; 281 + ] ++ lib.optionals cudaSupport (with cudaPackages; [ 282 + autoAddOpenGLRunpathHook 283 + cuda_nvcc 284 + ]) 285 + ++ lib.optionals rocmSupport [ rocmtoolkit_joined ]; 291 286 292 287 buildInputs = [ blas blas.provider pybind11 ] 293 288 ++ lib.optionals stdenv.isLinux [ linuxHeaders_5_19 ] # TMP: avoid "flexible array member" errors for now 294 - ++ lib.optionals cudaSupport [ cudnn.dev cudnn.lib nccl ] 289 + ++ lib.optionals cudaSupport (with cudaPackages; [ 290 + cuda_cccl.dev # <thrust/*> 291 + cuda_cudart # cuda_runtime.h and libraries 292 + cuda_cupti.dev # For kineto 293 + cuda_cupti.lib # For kineto 294 + cuda_nvcc.dev # crt/host_config.h; even though we include this in nativeBuildinputs, it's needed here too 295 + cuda_nvml_dev.dev # <nvml.h> 296 + cuda_nvrtc.dev 297 + cuda_nvrtc.lib 298 + cuda_nvtx.dev 299 + cuda_nvtx.lib # -llibNVToolsExt 300 + cudnn.dev 301 + cudnn.lib 302 + libcublas.dev 303 + libcublas.lib 304 + libcufft.dev 305 + libcufft.lib 306 + libcurand.dev 307 + libcurand.lib 308 + libcusolver.dev 309 + libcusolver.lib 310 + libcusparse.dev 311 + libcusparse.lib 312 + nccl.dev # Provides nccl.h AND a static copy of NCCL! 313 + ] ++ lists.optionals (strings.versionOlder cudaVersion "11.8") [ 314 + cuda_nvprof.dev # <cuda_profiler_api.h> 315 + ] ++ lists.optionals (strings.versionAtLeast cudaVersion "11.8") [ 316 + cuda_profiler_api.dev # <cuda_profiler_api.h> 317 + ]) 295 318 ++ lib.optionals rocmSupport [ openmp ] 296 319 ++ lib.optionals (cudaSupport || rocmSupport) [ magma ] 297 320 ++ lib.optionals stdenv.isLinux [ numactl ] ··· 335 358 336 359 checkPhase = with lib.versions; with lib.strings; concatStringsSep " " [ 337 360 "runHook preCheck" 338 - cudaStubEnv 339 361 "${python.interpreter} test/run_test.py" 340 362 "--exclude" 341 363 (concatStringsSep " " [ ··· 419 441 license = licenses.bsd3; 420 442 maintainers = with maintainers; [ teh thoughtpolice tscholak ]; # tscholak esp. for darwin-related builds 421 443 platforms = with platforms; linux ++ lib.optionals (!cudaSupport && !rocmSupport) darwin; 422 - broken = rocmSupport && cudaSupport; # CUDA and ROCm are mutually exclusive 444 + broken = builtins.any trivial.id [ 445 + # CUDA and ROCm are mutually exclusive 446 + (cudaSupport && rocmSupport) 447 + # CUDA is only supported on Linux 448 + (cudaSupport && !stdenv.isLinux) 449 + # Only CUDA 11 is currently supported 450 + (cudaSupport && (cudaPackages.cudaMajorVersion != "11")) 451 + # MPI cudatoolkit does not match cudaPackages.cudatoolkit 452 + (MPISupport && cudaSupport && (mpi.cudatoolkit != cudaPackages.cudatoolkit)) 453 + # Magma cudaPackages does not match cudaPackages 454 + (cudaSupport && (magma.cudaPackages != cudaPackages)) 455 + ]; 423 456 }; 424 457 }
+2 -2
pkgs/development/tools/analysis/checkov/default.nix
··· 22 22 23 23 buildPythonApplication rec { 24 24 pname = "checkov"; 25 - version = "2.4.39"; 25 + version = "2.4.41"; 26 26 format = "setuptools"; 27 27 28 28 src = fetchFromGitHub { 29 29 owner = "bridgecrewio"; 30 30 repo = pname; 31 31 rev = "refs/tags/${version}"; 32 - hash = "sha256-QlHYeg9gOd+YiAZ+ei9/Pq+AjTgTakx0d/LjTlvsAIs="; 32 + hash = "sha256-yL0xGNLIT2zrk6c8herlDJFkaoLvpVS77llL0z5fDVk="; 33 33 }; 34 34 35 35 patches = [
+2 -2
pkgs/development/tools/build-managers/buck2/default.nix
··· 38 38 buildHashes = builtins.fromJSON (builtins.readFile ./hashes.json); 39 39 40 40 # our version of buck2; this should be a git tag 41 - version = "2023-09-01"; 41 + version = "2023-09-15"; 42 42 43 43 # the platform-specific, statically linked binary — which is also 44 44 # zstd-compressed ··· 63 63 # tooling 64 64 prelude-src = 65 65 let 66 - prelude-hash = "3526cf5512668040e011d67e1e272da588264f3b"; 66 + prelude-hash = "1cdbe261a4e669d9bb25bac5617b17919b2bb05c"; 67 67 name = "buck2-prelude-${version}.tar.gz"; 68 68 hash = buildHashes."_prelude"; 69 69 url = "https://github.com/facebook/buck2-prelude/archive/${prelude-hash}.tar.gz";
+5 -5
pkgs/development/tools/build-managers/buck2/hashes.json
··· 1 1 { "_comment": "@generated by pkgs/development/tools/build-managers/buck2/update.sh" 2 - , "_prelude": "sha256-0ib3TuGLNy23wRHySOySBIc5ZHtM/vfb6GWmrq63v2o=" 3 - , "x86_64-linux": "sha256-Xykduicmmugp7iLyTm4r4JGp6k0IX2czTJq9Y1CkvRw=" 4 - , "x86_64-darwin": "sha256-v9a0WAlSUEpXsZouILEI4Pk0x/4MaVDgKVUzu26CIC8=" 5 - , "aarch64-linux": "sha256-3S2eih5sFUMFQD4QlBVONm7n3CFNkJHiK4xBjHjXvPs=" 6 - , "aarch64-darwin": "sha256-xGNaZayKVa1PToPNUPROV/UYRdw51xai60emNEC1lZ4=" 2 + , "_prelude": "sha256-M+QlMVemxkdajUEnsLzvkFyZ6rW59n2uFafftDze0tc=" 3 + , "x86_64-linux": "sha256-cMHNeR6jdYiumJZgNQviCNtzv3DfvJISG6AbWdQYquo=" 4 + , "x86_64-darwin": "sha256-03QD4rXmBgEY95b63Yzimhj7sRoeEomT3N5n0xYzweU=" 5 + , "aarch64-linux": "sha256-nATdxVVNH7RVJ7ck3tDjcf4Ask0aZkH1sy/2eKtJpKM=" 6 + , "aarch64-darwin": "sha256-+l0W5918KRYwBi/5pqSr10RaVH79QT5qx/cZRDaZ0EY=" 7 7 }
+1 -1
pkgs/development/tools/extism-cli/default.nix
··· 31 31 description = "The extism CLI is used to manage Extism installations"; 32 32 homepage = "https://github.com/extism/cli"; 33 33 license = licenses.bsd3; 34 - maintainers = with maintainers; [ borlaag ]; 34 + maintainers = with maintainers; [ ]; 35 35 platforms = platforms.all; 36 36 }; 37 37 }
+2 -2
pkgs/development/tools/go-mockery/default.nix
··· 2 2 3 3 buildGoModule rec { 4 4 pname = "go-mockery"; 5 - version = "2.33.2"; 5 + version = "2.33.3"; 6 6 7 7 src = fetchFromGitHub { 8 8 owner = "vektra"; 9 9 repo = "mockery"; 10 10 rev = "v${version}"; 11 - sha256 = "sha256-VhzU/18xLmimhRyEqAEi0+B8uiXJFb+ri/0MuugogzI="; 11 + sha256 = "sha256-ctq4DPlLsV9HCa2Vc+soQJu3DdrTyaHoSN9pZZtk+Mw="; 12 12 }; 13 13 14 14 preCheck = ''
+3 -3
pkgs/development/tools/grpc-gateway/default.nix
··· 2 2 3 3 buildGoModule rec { 4 4 pname = "grpc-gateway"; 5 - version = "2.17.1"; 5 + version = "2.18.0"; 6 6 7 7 src = fetchFromGitHub { 8 8 owner = "grpc-ecosystem"; 9 9 repo = "grpc-gateway"; 10 10 rev = "v${version}"; 11 - sha256 = "sha256-zQAfy2dl0YtQGN9MARs9RhoqM/2GFn4iQb/X6vD8HHc="; 11 + sha256 = "sha256-FVb3x/wZ0jLI17lXAT/lcUpJiq3ZcvWjFnORynOvfmY="; 12 12 }; 13 13 14 - vendorHash = "sha256-2VkUQ6NhoRJY3qRS41igZ7U/908uWgkHaQ9V2veo1j8="; 14 + vendorHash = "sha256-SV2ZO8Y9yt6iyw9VvNY0xpqZIzLrTyHYYpIpzcEVsLY="; 15 15 16 16 meta = with lib; { 17 17 description =
+3 -3
pkgs/development/tools/language-servers/dockerfile-language-server-nodejs/default.nix
··· 5 5 6 6 buildNpmPackage rec { 7 7 pname = "dockerfile-language-server-nodejs"; 8 - version = "0.10.2"; 8 + version = "0.11.0"; 9 9 10 10 src = fetchFromGitHub { 11 11 owner = "rcjsuen"; 12 12 repo = "dockerfile-language-server-nodejs"; 13 13 rev = "v${version}"; 14 - hash = "sha256-uwwwF1eMoSA2C5h56BBllTZW8zRHueNeVwhwtycrNfA="; 14 + hash = "sha256-xhb540hXATfSo+O+BAYt4VWOa6QHLzKHoi0qKrdBVjw="; 15 15 }; 16 16 17 17 preBuild = '' 18 18 npm run prepublishOnly 19 19 ''; 20 20 21 - npmDepsHash = "sha256-lI+tkUBR0rmWcU57jU0y7XaMK3JADNU7fcbCxMmz/7s="; 21 + npmDepsHash = "sha256-+u4AM6wzVMhfQisw/kcwg4u0rzrbbQeIIk6qBXUM+5I="; 22 22 23 23 meta = { 24 24 changelog = "https://github.com/rcjsuen/dockerfile-language-server-nodejs/blob/${src.rev}/CHANGELOG.md";
+3 -3
pkgs/development/tools/language-servers/neocmakelsp/default.nix
··· 5 5 6 6 rustPlatform.buildRustPackage rec { 7 7 pname = "neocmakelsp"; 8 - version = "0.6.3"; 8 + version = "0.6.5"; 9 9 10 10 src = fetchFromGitHub { 11 11 owner = "Decodetalkers"; 12 12 repo = "neocmakelsp"; 13 13 rev = "v${version}"; 14 - hash = "sha256-8FQFg9EV50wGnhAoK6TNL2n7BSuvJnVw73LRNdmaegw="; 14 + hash = "sha256-VXxxtIJwtRfgQFteifR5zFn6DCSNgJxDYNdt0jM2kG4="; 15 15 }; 16 16 17 - cargoHash = "sha256-HWu+SYwjnZCv9K9Uru3YlZukpjK9+en2HBMTbRz5oW4="; 17 + cargoHash = "sha256-FJd0mWpimI/OgG65+OquyAUO2a47gUfE4R5XhhYNJhs="; 18 18 19 19 meta = with lib; { 20 20 description = "A cmake lsp based on tower-lsp and treesitter";
+4 -4
pkgs/development/tools/reindeer/default.nix
··· 11 11 12 12 rustPlatform.buildRustPackage rec { 13 13 pname = "reindeer"; 14 - version = "unstable-2023-08-14"; 14 + version = "unstable-2023-09-16"; 15 15 16 16 src = fetchFromGitHub { 17 17 owner = "facebookincubator"; 18 18 repo = pname; 19 - rev = "7ab6fc86006c3a9c7d46775d23474f86b1d29881"; 20 - sha256 = "sha256-wn5MwBDOKnHIOVYZK68GOjvX7dkFaWJuLJOxgUR6bok="; 19 + rev = "3e72020a556320180053d16425d19ffe089916a3"; 20 + sha256 = "sha256-M3yFIcB4Zdjl+xgp40hNj5cWQhxrv8mfMC2dggNxeqY="; 21 21 }; 22 22 23 - cargoSha256 = "sha256-MVQVYiJ6512wahVG8ONtZB+jgXXEGGFnE89VHGa/77U="; 23 + cargoSha256 = "sha256-608rF338ukoti8Xa+7p84dyG0XNXJFJkuZqNAqqGJj4="; 24 24 25 25 nativeBuildInputs = [ pkg-config ]; 26 26 buildInputs =
+2 -2
pkgs/development/tools/sem/default.nix
··· 2 2 3 3 buildGoModule rec { 4 4 pname = "sem"; 5 - version = "0.28.2"; 5 + version = "0.28.3"; 6 6 7 7 src = fetchFromGitHub { 8 8 owner = "semaphoreci"; 9 9 repo = "cli"; 10 10 rev = "v${version}"; 11 - sha256 = "sha256-L+OdUqhNbCI1UsFvihiKQnmPIzS0mxAKLPVv4u2VP6Y="; 11 + sha256 = "sha256-g/OMkR3G3g6lp1lQn9L8QxOuUoQDsvxLBC7TYZ1Onsg="; 12 12 }; 13 13 14 14 vendorHash = "sha256-GAYCdq4eHTyxQ5JaNYLd3mQ2LvgLHdmYdz4RN+Hpe70=";
-34
pkgs/games/empty-epsilon/0001-bundle-system-glm-in-seriousproton.patch
··· 1 - From 9718cdb4bdaf7203d07789b2dc5eec4060538889 Mon Sep 17 00:00:00 2001 2 - From: Maximilian Bosch <maximilian@mbosch.me> 3 - Date: Fri, 9 Jul 2021 11:37:22 +0200 4 - Subject: [PATCH] bundle system-glm in seriousproton 5 - 6 - --- 7 - CMakeLists.txt | 5 ++++- 8 - 1 file changed, 4 insertions(+), 1 deletion(-) 9 - 10 - diff --git a/CMakeLists.txt b/CMakeLists.txt 11 - index cbd68ca..730df82 100644 12 - --- a/CMakeLists.txt 13 - +++ b/CMakeLists.txt 14 - @@ -81,6 +81,9 @@ if(NOT ${SFML_FOUND}) 15 - ) 16 - endif() 17 - 18 - + 19 - +find_package(glm) 20 - + 21 - add_subdirectory(src/Box2D) 22 - add_subdirectory(src/lua) 23 - add_subdirectory(src/GL) 24 - @@ -205,7 +208,7 @@ target_compile_options(seriousproton_deps 25 - 26 - target_link_libraries(seriousproton_deps 27 - INTERFACE 28 - - box2d lua glew ${SFML_LIBRARIES} 29 - + box2d lua glew ${SFML_LIBRARIES} glm::glm 30 - "$<$<BOOL:${WIN32}>:wsock32>" 31 - # LTO flag must be on the linker's list as well. 32 - "$<$<AND:$<BOOL:${CMAKE_COMPILER_IS_GNUCC}>,$<OR:$<CONFIG:RelWithDebInfo>,$<CONFIG:Release>>>:-flto>" 33 - -- 34 - 2.31.1
+29 -41
pkgs/games/empty-epsilon/default.nix
··· 1 - { lib, stdenv, fetchFromGitHub, cmake, sfml, libX11, glew, python3, fetchpatch, applyPatches, glm}: 1 + { lib, stdenv, fetchFromGitHub, cmake, sfml, libX11, glew, python3, fetchpatch, applyPatches, glm, meshoptimizer, SDL2, ninja}: 2 2 3 3 let 4 4 5 - major = "2021"; 5 + major = "2023"; 6 6 minor = "06"; 7 - patch.seriousproton = "23"; 8 - patch.emptyepsilon = "23"; 7 + patch.seriousproton = "17"; 8 + patch.emptyepsilon = "17"; 9 9 10 10 version.seriousproton = "${major}.${minor}.${patch.seriousproton}"; 11 11 version.emptyepsilon = "${major}.${minor}.${patch.emptyepsilon}"; 12 + version.basis-universal = "v1_15_update2"; 13 + 14 + basis-universal = fetchFromGitHub { 15 + owner = "BinomialLLC"; 16 + repo = "basis_universal"; 17 + rev = version.basis-universal; 18 + sha256 = "sha256-2snzq/SnhWHIgSbUUgh24B6tka7EfkGO+nwKEObRkU4="; 19 + }; 12 20 13 21 serious-proton = stdenv.mkDerivation { 14 22 pname = "serious-proton"; 15 23 version = version.seriousproton; 16 24 17 - src = applyPatches { 18 - src = fetchFromGitHub { 19 - owner = "daid"; 20 - repo = "SeriousProton"; 21 - rev = "EE-${version.seriousproton}"; 22 - sha256 = "sha256-02cHHWKoe99257qLgxtMjeXnhi0UYajh4v87B57felM="; 23 - }; 24 - 25 - patches = [ 26 - # Various CMake fixes for `json11`. Can be removed on the next release. 27 - (fetchpatch { 28 - url = "https://github.com/daid/SeriousProton/commit/adbba45fd9ae5e020e43e5d7f9326f1355391209.patch"; 29 - sha256 = "sha256-gMTpIGPGCREmZ/ZxvEc7RVsVUxWXbu2BPUCE3A62sCI="; 30 - }) 31 - 32 - # Simplified variant of 33 - # * https://github.com/daid/SeriousProton/commit/0d1ac45b738195db5e2785531db713328f547e60 34 - # * https://github.com/daid/SeriousProton/commit/32509f2db91a58b9528aeb1bb505e9426b52b825 35 - # 36 - # To fix configure errors when building EmptyEpsilon, can be removed on the next release. 37 - ./0001-bundle-system-glm-in-seriousproton.patch 38 - ]; 25 + src = fetchFromGitHub { 26 + owner = "daid"; 27 + repo = "SeriousProton"; 28 + rev = "EE-${version.seriousproton}"; 29 + sha256 = "sha256-5ifYb5dX8ihQmJB1RHyzMsZJeXZ+m27JmA+W+XA/XwI="; 39 30 }; 40 31 41 32 nativeBuildInputs = [ cmake ]; 42 - buildInputs = [ sfml libX11 glm ]; 33 + buildInputs = [ sfml libX11 glm SDL2 ]; 34 + 35 + cmakeFlags = [ 36 + "-DFETCHCONTENT_SOURCE_DIR_BASIS=${basis-universal}" 37 + ]; 43 38 44 39 meta = with lib; { 45 40 description = "C++ game engine coded on top of SFML used for EmptyEpsilon"; ··· 61 56 owner = "daid"; 62 57 repo = "EmptyEpsilon"; 63 58 rev = "EE-${version.emptyepsilon}"; 64 - sha256 = "sha256-dc/Ic1/DULTQO6y9xSop2HxFvUh4kN57oSF/HBmbmF4="; 59 + sha256 = "sha256-zuXbCBlv6URndbB0aA+3bli0cSeUBf3LT/7/jcPITnc="; 65 60 }; 66 61 67 - patches = [ 68 - # Various CMake fixes that can be removed when upgrading to the next release. 69 - (fetchpatch { 70 - url = "https://github.com/daid/EmptyEpsilon/commit/ee0cd42bfe5fd20b8339e8e02eb7f69766168d57.patch"; 71 - sha256 = "sha256-8dXtl/izfzqbwHtjuugjH34vYP+d4AobqZhxL2GXTzw="; 72 - }) 73 - (fetchpatch { 74 - url = "https://github.com/daid/EmptyEpsilon/commit/69d93e6acdae3259755924f9d35e7e5ae949d377.patch"; 75 - sha256 = "sha256-30AGo4mi73GrW9GNS3vF3mTOS7J5/41LvjOzNjeFhOg="; 76 - }) 77 - ]; 78 - 79 62 nativeBuildInputs = [ cmake ]; 80 - buildInputs = [ serious-proton sfml glew libX11 python3 glm ]; 63 + buildInputs = [ serious-proton sfml glew libX11 python3 glm SDL2 ninja ]; 81 64 82 65 cmakeFlags = [ 83 66 "-DSERIOUS_PROTON_DIR=${serious-proton.src}" ··· 85 68 "-DCPACK_PACKAGE_VERSION_MAJOR=${major}" 86 69 "-DCPACK_PACKAGE_VERSION_MINOR=${minor}" 87 70 "-DCPACK_PACKAGE_VERSION_PATCH=${patch.emptyepsilon}" 71 + "-DFETCHCONTENT_SOURCE_DIR_BASIS=${basis-universal}" 72 + "-DFETCHCONTENT_SOURCE_DIR_MESHOPTIMIZER=${meshoptimizer.src}" 73 + "-DCMAKE_AR=${stdenv.cc.cc}/bin/gcc-ar" 74 + "-DCMAKE_RANLIB=${stdenv.cc.cc}/bin/gcc-ranlib" 75 + "-G Ninja" 88 76 ]; 89 77 90 78 meta = with lib; {
+3 -3
pkgs/os-specific/darwin/utm/default.nix
··· 7 7 8 8 stdenvNoCC.mkDerivation rec { 9 9 pname = "utm"; 10 - version = "4.2.5"; 10 + version = "4.3.5"; 11 11 12 12 src = fetchurl { 13 13 url = "https://github.com/utmapp/UTM/releases/download/v${version}/UTM.dmg"; 14 - hash = "sha256-T3TA+CwddNtUL80xASRCSczGA2LLTwPEA2+jnc9m6jY="; 14 + hash = "sha256-aDIjf4TqhSIgYaJulI5FgXxlNiZ1qcNY+Typ7+S5Hc8="; 15 15 }; 16 16 17 17 nativeBuildInputs = [ undmg makeWrapper ]; ··· 62 62 license = licenses.asl20; 63 63 platforms = platforms.darwin; # 11.3 is the minimum supported version as of UTM 4. 64 64 sourceProvenance = with sourceTypes; [ binaryNativeCode ]; 65 - maintainers = with maintainers; [ rrbutani ]; 65 + maintainers = with maintainers; [ rrbutani wegank ]; 66 66 }; 67 67 }
+9 -3
pkgs/os-specific/linux/nvidia-x11/default.nix
··· 106 106 url = "https://gist.github.com/joanbm/dfe8dc59af1c83e2530a1376b77be8ba/raw/37ff2b5ccf99f295ff958c9a44ca4ed4f42503b4/nvidia-470xx-fix-linux-6.5.patch"; 107 107 hash = "sha256-s5r7nwuMva0BLy2qJBVKqNtnUN9am5+PptnVwNdzdbk="; 108 108 }) 109 + # source: https://gist.github.com/joanbm/2ec3c512a1ac21f5f5c6b3c1a4dbef35 110 + (fetchpatch { 111 + url = "https://gist.github.com/joanbm/2ec3c512a1ac21f5f5c6b3c1a4dbef35/raw/615feaefed2de3a28bd12fe9783894b84a7c86e4/nvidia-470xx-fix-linux-6.6.patch"; 112 + hash = "sha256-pOYlL5wYfeJsq9EX8zhn/CkNm4ZocNSns5N5pAuIuow="; 113 + }) 109 114 ]; 110 115 }; 111 116 ··· 125 130 aurPatches = fetchFromGitHub { 126 131 owner = "archlinux-jerry"; 127 132 repo = "nvidia-340xx"; 128 - rev = "f472f9297fe2ae285b954cd3f88abd8e2e255e4f"; 129 - hash = "sha256-tMA69Wlhi14DMS3O3nfwMX3EiT8pKa6McLxFpAayoEI="; 133 + rev = "fa434fb5da47e9423db2b19577817eb8c65d2f4e"; 134 + hash = "sha256-KeMTYHGuZSAPGnYaERZSMu/4lWyB25ZCIv4nJhXxABY="; 130 135 }; 131 136 patchset = [ 132 137 "0001-kernel-5.7.patch" ··· 142 147 "0011-kernel-6.0.patch" 143 148 "0012-kernel-6.2.patch" 144 149 "0013-kernel-6.3.patch" 150 + "0014-kernel-6.5.patch" 145 151 ]; 146 152 in generic { 147 153 version = "340.108"; ··· 151 157 persistencedSha256 = "1ax4xn3nmxg1y6immq933cqzw6cj04x93saiasdc0kjlv0pvvnkn"; 152 158 useGLVND = false; 153 159 154 - broken = kernel.kernelAtLeast "6.4"; 160 + broken = kernel.kernelAtLeast "6.6"; 155 161 patches = map (patch: "${aurPatches}/${patch}") patchset; 156 162 }; 157 163 }
+3 -3
pkgs/servers/http/pomerium/default.nix
··· 14 14 in 15 15 buildGoModule rec { 16 16 pname = "pomerium"; 17 - version = "0.22.2"; 17 + version = "0.23.0"; 18 18 src = fetchFromGitHub { 19 19 owner = "pomerium"; 20 20 repo = "pomerium"; 21 21 rev = "v${version}"; 22 - sha256 = "sha256-EcAzj2VLbBPu5afKZcf2fGBbw2kTOYGgSemD70msrqw="; 22 + hash = "sha256-3q/dizGTuwg0GsyBklx9jPIfarDhAxIzXz7x8zFK0Ic="; 23 23 }; 24 24 25 - vendorHash = "sha256-xe8as7OY1+tTSqgpwk2Q1jcBnn89latJpMyx4KG7zg8="; 25 + vendorHash = "sha256-fJg1fcnLQII5sybuamZBE5CHSOEg+zlee4Pvzt8yyA0="; 26 26 27 27 ui = mkYarnPackage { 28 28 inherit version;
+6 -6
pkgs/servers/http/pomerium/package.json
··· 24 24 "dependencies": { 25 25 "@babel/core": "^7.0.0", 26 26 "@emotion/react": "^11.7.1", 27 - "@emotion/styled": "^11.6.0", 27 + "@emotion/styled": "^11.11.0", 28 28 "@fontsource/dm-mono": "^4.5.2", 29 - "@fontsource/dm-sans": "^4.5.1", 29 + "@fontsource/dm-sans": "^5.0.3", 30 30 "@mui/icons-material": "^5.3.1", 31 31 "@mui/material": "^5.4.0", 32 32 "luxon": "^2.5.2", 33 - "markdown-to-jsx": "^7.1.7", 33 + "markdown-to-jsx": "^7.2.1", 34 34 "react": "^17.0.2", 35 35 "react-dom": "^17.0.2", 36 - "react-feather": "^2.0.9" 36 + "react-feather": "^2.0.10" 37 37 }, 38 38 "devDependencies": { 39 39 "@trivago/prettier-plugin-sort-imports": "2.0.4", ··· 42 42 "@types/react": "^17.0.34", 43 43 "@types/react-dom": "^17.0.11", 44 44 "@typescript-eslint/eslint-plugin": "^5.10.2", 45 - "@typescript-eslint/parser": "^5.10.2", 45 + "@typescript-eslint/parser": "^5.59.11", 46 46 "esbuild": "^0.13.12", 47 47 "eslint": "7.32.0", 48 48 "eslint-config-prettier": "^8.3.0", 49 49 "eslint-plugin-react": "^7.28.0", 50 50 "prettier": "^2.4.1", 51 51 "ts-node": "^10.4.0", 52 - "typescript": "^4.4.4" 52 + "typescript": "^5.1.3" 53 53 }, 54 54 "prettier": { 55 55 "importOrder": [
+1 -1
pkgs/servers/http/pomerium/yarn-hash
··· 1 - 085nghha82q30b3vgzs76xsa85kbxqk7mjrknxxc5z7awrjhdmkb 1 + 0l9byvq09wjz66020nnzanfg2fhhg7bsvpi9rmip0zymgc1dc2z8
+1 -1
pkgs/servers/matrix-synapse/default.nix
··· 157 157 ''; 158 158 159 159 passthru = { 160 - tests = { inherit (nixosTests) matrix-synapse; }; 160 + tests = { inherit (nixosTests) matrix-synapse matrix-synapse-workers; }; 161 161 inherit plugins tools; 162 162 python = python3; 163 163 };
+3 -3
pkgs/servers/soft-serve/default.nix
··· 2 2 3 3 buildGoModule rec { 4 4 pname = "soft-serve"; 5 - version = "0.6.0"; 5 + version = "0.6.1"; 6 6 7 7 src = fetchFromGitHub { 8 8 owner = "charmbracelet"; 9 9 repo = "soft-serve"; 10 10 rev = "v${version}"; 11 - hash = "sha256-LrqkLZ7ouMUrE3vHYC0ZwmblaYL6b5fY2RYEYOOxNYQ="; 11 + hash = "sha256-Xst/eNam3HuHixEmPUl2J7B7cLYaeGVaUnzXIVugBbw="; 12 12 }; 13 13 14 - vendorHash = "sha256-RQQvR4d5dtzboPYJwdeUqfGwSun04gs7hm1YYAt8OPo="; 14 + vendorHash = "sha256-tzJu2DmbvPU1tPIWP88q66PBtC1XEduQac8cIxwb/sM="; 15 15 16 16 doCheck = false; 17 17
+3 -3
pkgs/tools/admin/granted/default.nix
··· 12 12 13 13 buildGoModule rec { 14 14 pname = "granted"; 15 - version = "0.14.4"; 15 + version = "0.16.0"; 16 16 17 17 src = fetchFromGitHub { 18 18 owner = "common-fate"; 19 19 repo = pname; 20 20 rev = "v${version}"; 21 - sha256 = "sha256-haeFDAm44b4JgNbl983MjG3HQMvqrkiGSboCcf3uYmI="; 21 + sha256 = "sha256-s9HnZ+yZ/dPIn8d2510k+lpsq5KHvtNsULTxtWVlGAk="; 22 22 }; 23 23 24 - vendorHash = "sha256-B+d15b8ei1wn3F8L1Hgce2wRPoisoFwG6YgrbPikeOo="; 24 + vendorHash = "sha256-8wPQjxmY3EW0Y8BfNjZW1NNz4L9Rwzsvap0BF+7AtDc="; 25 25 26 26 nativeBuildInputs = [ makeWrapper ]; 27 27
+1
pkgs/tools/misc/betterdiscordctl/default.nix
··· 36 36 homepage = "https://github.com/bb010g/betterdiscordctl"; 37 37 description = "A utility for managing BetterDiscord on Linux"; 38 38 license = licenses.mit; 39 + mainProgram = "betterdiscordctl"; 39 40 maintainers = with maintainers; [ ivar bb010g ]; 40 41 platforms = platforms.linux; 41 42 };
+1
pkgs/tools/misc/cpulimit/default.nix
··· 24 24 description = "CPU usage limiter"; 25 25 platforms = platforms.unix; 26 26 license = licenses.gpl2; 27 + mainProgram = "cpulimit"; 27 28 maintainers = [ maintainers.jsoo1 ]; 28 29 }; 29 30 }
+2 -2
pkgs/tools/networking/ddns-go/default.nix
··· 5 5 6 6 buildGoModule rec { 7 7 pname = "ddns-go"; 8 - version = "5.6.1"; 8 + version = "5.6.2"; 9 9 10 10 src = fetchFromGitHub { 11 11 owner = "jeessy2"; 12 12 repo = pname; 13 13 rev = "v${version}"; 14 - hash = "sha256-uVYTAJhTQDNknBZmE8uaX4h5lU7cb/cyzIoTV2iHGJ8="; 14 + hash = "sha256-5q2QAKi+pw70g2UjavGMECDUOtltwfbQ/EccEg5FVzA="; 15 15 }; 16 16 17 17 vendorHash = "sha256-azsXfWa4w3wZaiy9AKy7UPOybikubcJvLsXthYedmbY=";
+1 -1
pkgs/tools/virtualization/uefi-run/default.nix
··· 20 20 description = "Directly run UEFI applications in qemu"; 21 21 homepage = "https://github.com/Richard-W/uefi-run"; 22 22 license = licenses.mit; 23 - maintainers = [ maintainers.maddiethecafebabe ]; 23 + maintainers = with maintainers; [ ]; 24 24 }; 25 25 }
+1
pkgs/tools/wayland/kanshi/default.nix
··· 40 40 wlr-output-management protocol. 41 41 ''; 42 42 license = licenses.mit; 43 + mainProgram = "kanshi"; 43 44 maintainers = with maintainers; [ balsoft danielbarter ]; 44 45 platforms = platforms.linux; 45 46 };
+3 -1
pkgs/top-level/all-packages.nix
··· 36607 36607 36608 36608 waon = callPackage ../applications/audio/waon { }; 36609 36609 36610 - warp = callPackage ../applications/networking/warp { }; 36610 + warp = callPackage ../applications/networking/warp { 36611 + inherit (darwin.apple_sdk.frameworks) Security Foundation; 36612 + }; 36611 36613 36612 36614 warpd = callPackage ../applications/misc/warpd { }; 36613 36615
+2
pkgs/top-level/python-packages.nix
··· 8500 8500 8501 8501 pmw = callPackage ../development/python-modules/pmw { }; 8502 8502 8503 + pmdarima = callPackage ../development/python-modules/pmdarima { }; 8504 + 8503 8505 pmdsky-debug-py = callPackage ../development/python-modules/pmdsky-debug-py { }; 8504 8506 8505 8507 pnglatex = callPackage ../development/python-modules/pnglatex { };