lol

Merge master into haskell-updates

authored by

github-actions[bot] and committed by
GitHub
fe082e6d 0b2c2217

+4492 -2113
+1 -1
CONTRIBUTING.md
··· 538 538 When adding yourself as maintainer, in the same pull request, make a separate 539 539 commit with the message `maintainers: add <handle>`. 540 540 Add the commit before those making changes to the package or module. 541 - See [Nixpkgs Maintainers](../maintainers/README.md) for details. 541 + See [Nixpkgs Maintainers](./maintainers/README.md) for details. 542 542 543 543 ### Writing good commit messages 544 544
+1
doc/README.md
··· 3 3 This directory houses the sources files for the Nixpkgs manual. 4 4 5 5 You can find the [rendered documentation for Nixpkgs `unstable` on nixos.org](https://nixos.org/manual/nixpkgs/unstable/). 6 + The rendering tool is [nixos-render-docs](../pkgs/tools/nix/nixos-render-docs/src/nixos_render_docs), sometimes abbreviated `nrd`. 6 7 7 8 [Docs for Nixpkgs stable](https://nixos.org/manual/nixpkgs/stable/) are also available. 8 9
+2 -2
lib/fileset/internal.nix
··· 172 172 else if ! isPath value then 173 173 if isStringLike value then 174 174 throw '' 175 - ${context} ("${toString value}") is a string-like value, but it should be a path instead. 175 + ${context} ("${toString value}") is a string-like value, but it should be a file set or a path instead. 176 176 Paths represented as strings are not supported by `lib.fileset`, use `lib.sources` or derivations instead.'' 177 177 else 178 178 throw '' 179 - ${context} is of type ${typeOf value}, but it should be a path instead.'' 179 + ${context} is of type ${typeOf value}, but it should be a file set or a path instead.'' 180 180 else if ! pathExists value then 181 181 throw '' 182 182 ${context} (${toString value}) does not exist.''
+2 -2
lib/fileset/tests.sh
··· 355 355 rm -rf * 356 356 357 357 # Path coercion only works for paths 358 - expectFailure 'toSource { root = ./.; fileset = 10; }' 'lib.fileset.toSource: `fileset` is of type int, but it should be a path instead.' 359 - expectFailure 'toSource { root = ./.; fileset = "/some/path"; }' 'lib.fileset.toSource: `fileset` \("/some/path"\) is a string-like value, but it should be a path instead. 358 + expectFailure 'toSource { root = ./.; fileset = 10; }' 'lib.fileset.toSource: `fileset` is of type int, but it should be a file set or a path instead.' 359 + expectFailure 'toSource { root = ./.; fileset = "/some/path"; }' 'lib.fileset.toSource: `fileset` \("/some/path"\) is a string-like value, but it should be a file set or a path instead. 360 360 \s*Paths represented as strings are not supported by `lib.fileset`, use `lib.sources` or derivations instead.' 361 361 362 362 # Path coercion errors for non-existent paths
+64 -26
lib/options.nix
··· 109 109 110 110 The package is specified in the third argument under `default` as a list of strings 111 111 representing its attribute path in nixpkgs (or another package set). 112 - Because of this, you need to pass nixpkgs itself (or a subset) as the first argument. 112 + Because of this, you need to pass nixpkgs itself (usually `pkgs` in a module; 113 + alternatively to nixpkgs itself, another package set) as the first argument. 114 + 115 + If you pass another package set you should set the `pkgsText` option. 116 + This option is used to display the expression for the package set. It is `"pkgs"` by default. 117 + If your expression is complex you should parenthesize it, as the `pkgsText` argument 118 + is usually immediately followed by an attribute lookup (`.`). 113 119 114 120 The second argument may be either a string or a list of strings. 115 121 It provides the display name of the package in the description of the generated option ··· 118 124 119 125 To include extra information in the description, pass `extraDescription` to 120 126 append arbitrary text to the generated description. 127 + 121 128 You can also pass an `example` value, either a literal string or an attribute path. 122 129 123 - The default argument can be omitted if the provided name is 124 - an attribute of pkgs (if name is a string) or a 125 - valid attribute path in pkgs (if name is a list). 130 + The `default` argument can be omitted if the provided name is 131 + an attribute of pkgs (if `name` is a string) or a valid attribute path in pkgs (if `name` is a list). 132 + You can also set `default` to just a string in which case it is interpreted as an attribute name 133 + (a singleton attribute path, if you will). 126 134 127 135 If you wish to explicitly provide no default, pass `null` as `default`. 128 136 129 - Type: mkPackageOption :: pkgs -> (string|[string]) -> { default? :: [string], example? :: null|string|[string], extraDescription? :: string } -> option 137 + If you want users to be able to set no package, pass `nullable = true`. 138 + In this mode a `default = null` will not be interpreted as no default and is interpreted literally. 139 + 140 + Type: mkPackageOption :: pkgs -> (string|[string]) -> { nullable? :: bool, default? :: string|[string], example? :: null|string|[string], extraDescription? :: string, pkgsText? :: string } -> option 130 141 131 142 Example: 132 143 mkPackageOption pkgs "hello" { } 133 - => { _type = "option"; default = «derivation /nix/store/3r2vg51hlxj3cx5vscp0vkv60bqxkaq0-hello-2.10.drv»; defaultText = { ... }; description = "The hello package to use."; type = { ... }; } 144 + => { ...; default = pkgs.hello; defaultText = literalExpression "pkgs.hello"; description = "The hello package to use."; type = package; } 134 145 135 146 Example: 136 147 mkPackageOption pkgs "GHC" { 137 148 default = [ "ghc" ]; 138 149 example = "pkgs.haskell.packages.ghc92.ghc.withPackages (hkgs: [ hkgs.primes ])"; 139 150 } 140 - => { _type = "option"; default = «derivation /nix/store/jxx55cxsjrf8kyh3fp2ya17q99w7541r-ghc-8.10.7.drv»; defaultText = { ... }; description = "The GHC package to use."; example = { ... }; type = { ... }; } 151 + => { ...; default = pkgs.ghc; defaultText = literalExpression "pkgs.ghc"; description = "The GHC package to use."; example = literalExpression "pkgs.haskell.packages.ghc92.ghc.withPackages (hkgs: [ hkgs.primes ])"; type = package; } 141 152 142 153 Example: 143 - mkPackageOption pkgs [ "python39Packages" "pytorch" ] { 154 + mkPackageOption pkgs [ "python3Packages" "pytorch" ] { 144 155 extraDescription = "This is an example and doesn't actually do anything."; 145 156 } 146 - => { _type = "option"; default = «derivation /nix/store/gvqgsnc4fif9whvwd9ppa568yxbkmvk8-python3.9-pytorch-1.10.2.drv»; defaultText = { ... }; description = "The pytorch package to use. This is an example and doesn't actually do anything."; type = { ... }; } 157 + => { ...; default = pkgs.python3Packages.pytorch; defaultText = literalExpression "pkgs.python3Packages.pytorch"; description = "The pytorch package to use. This is an example and doesn't actually do anything."; type = package; } 147 158 159 + Example: 160 + mkPackageOption pkgs "nushell" { 161 + nullable = true; 162 + } 163 + => { ...; default = pkgs.nushell; defaultText = literalExpression "pkgs.nushell"; description = "The nushell package to use."; type = nullOr package; } 164 + 165 + Example: 166 + mkPackageOption pkgs "coreutils" { 167 + default = null; 168 + } 169 + => { ...; description = "The coreutils package to use."; type = package; } 170 + 171 + Example: 172 + mkPackageOption pkgs "dbus" { 173 + nullable = true; 174 + default = null; 175 + } 176 + => { ...; default = null; description = "The dbus package to use."; type = nullOr package; } 177 + 178 + Example: 179 + mkPackageOption pkgs.javaPackages "OpenJFX" { 180 + default = "openjfx20"; 181 + pkgsText = "pkgs.javaPackages"; 182 + } 183 + => { ...; default = pkgs.javaPackages.openjfx20; defaultText = literalExpression "pkgs.javaPackages.openjfx20"; description = "The OpenJFX package to use."; type = package; } 148 184 */ 149 185 mkPackageOption = 150 - # Package set (a specific version of nixpkgs or a subset) 186 + # Package set (an instantiation of nixpkgs such as pkgs in modules or another package set) 151 187 pkgs: 152 188 # Name for the package, shown in option description 153 189 name: 154 190 { 155 - # Whether the package can be null, for example to disable installing a package altogether. 191 + # Whether the package can be null, for example to disable installing a package altogether (defaults to false) 156 192 nullable ? false, 157 - # The attribute path where the default package is located (may be omitted) 193 + # The attribute path where the default package is located (may be omitted, in which case it is copied from `name`) 158 194 default ? name, 159 195 # A string or an attribute path to use as an example (may be omitted) 160 196 example ? null, 161 197 # Additional text to include in the option description (may be omitted) 162 198 extraDescription ? "", 199 + # Representation of the package set passed as pkgs (defaults to `"pkgs"`) 200 + pkgsText ? "pkgs" 163 201 }: 164 202 let 165 203 name' = if isList name then last name else name; 166 - in mkOption ({ 167 - type = with lib.types; (if nullable then nullOr else lib.id) package; 204 + default' = if isList default then default else [ default ]; 205 + defaultText = concatStringsSep "." default'; 206 + defaultValue = attrByPath default' 207 + (throw "${defaultText} cannot be found in ${pkgsText}") pkgs; 208 + defaults = if default != null then { 209 + default = defaultValue; 210 + defaultText = literalExpression ("${pkgsText}." + defaultText); 211 + } else optionalAttrs nullable { 212 + default = null; 213 + }; 214 + in mkOption (defaults // { 168 215 description = "The ${name'} package to use." 169 216 + (if extraDescription == "" then "" else " ") + extraDescription; 170 - } // (if default != null then let 171 - default' = if isList default then default else [ default ]; 172 - defaultPath = concatStringsSep "." default'; 173 - defaultValue = attrByPath default' 174 - (throw "${defaultPath} cannot be found in pkgs") pkgs; 175 - in { 176 - default = defaultValue; 177 - defaultText = literalExpression ("pkgs." + defaultPath); 178 - } else if nullable then { 179 - default = null; 180 - } else { }) // lib.optionalAttrs (example != null) { 217 + type = with lib.types; (if nullable then nullOr else lib.id) package; 218 + } // optionalAttrs (example != null) { 181 219 example = literalExpression 182 - (if isList example then "pkgs." + concatStringsSep "." example else example); 220 + (if isList example then "${pkgsText}." + concatStringsSep "." example else example); 183 221 }); 184 222 185 223 /* Alias of mkPackageOption. Previously used to create options with markdown
+8
lib/tests/modules.sh
··· 227 227 228 228 # Check mkPackageOption 229 229 checkConfigOutput '^"hello"$' config.package.pname ./declare-mkPackageOption.nix 230 + checkConfigOutput '^"hello"$' config.namedPackage.pname ./declare-mkPackageOption.nix 231 + checkConfigOutput '^".*Hello.*"$' options.namedPackage.description ./declare-mkPackageOption.nix 232 + checkConfigOutput '^"hello"$' config.pathPackage.pname ./declare-mkPackageOption.nix 233 + checkConfigOutput '^"pkgs\.hello\.override \{ stdenv = pkgs\.clangStdenv; \}"$' options.packageWithExample.example.text ./declare-mkPackageOption.nix 234 + checkConfigOutput '^".*Example extra description\..*"$' options.packageWithExtraDescription.description ./declare-mkPackageOption.nix 230 235 checkConfigError 'The option .undefinedPackage. is used but not defined' config.undefinedPackage ./declare-mkPackageOption.nix 231 236 checkConfigOutput '^null$' config.nullablePackage ./declare-mkPackageOption.nix 237 + checkConfigOutput '^"null or package"$' options.nullablePackageWithDefault.type.description ./declare-mkPackageOption.nix 238 + checkConfigOutput '^"myPkgs\.hello"$' options.packageWithPkgsText.defaultText.text ./declare-mkPackageOption.nix 239 + checkConfigOutput '^"hello-other"$' options.packageFromOtherSet.default.pname ./declare-mkPackageOption.nix 232 240 233 241 # submoduleWith 234 242
+34
lib/tests/modules/declare-mkPackageOption.nix
··· 7 7 options = { 8 8 package = lib.mkPackageOption pkgs "hello" { }; 9 9 10 + namedPackage = lib.mkPackageOption pkgs "Hello" { 11 + default = [ "hello" ]; 12 + }; 13 + 14 + namedPackageSingletonDefault = lib.mkPackageOption pkgs "Hello" { 15 + default = "hello"; 16 + }; 17 + 18 + pathPackage = lib.mkPackageOption pkgs [ "hello" ] { }; 19 + 20 + packageWithExample = lib.mkPackageOption pkgs "hello" { 21 + example = "pkgs.hello.override { stdenv = pkgs.clangStdenv; }"; 22 + }; 23 + 24 + packageWithPathExample = lib.mkPackageOption pkgs "hello" { 25 + example = [ "hello" ]; 26 + }; 27 + 28 + packageWithExtraDescription = lib.mkPackageOption pkgs "hello" { 29 + extraDescription = "Example extra description."; 30 + }; 31 + 10 32 undefinedPackage = lib.mkPackageOption pkgs "hello" { 11 33 default = null; 12 34 }; ··· 15 37 nullable = true; 16 38 default = null; 17 39 }; 40 + 41 + nullablePackageWithDefault = lib.mkPackageOption pkgs "hello" { 42 + nullable = true; 43 + }; 44 + 45 + packageWithPkgsText = lib.mkPackageOption pkgs "hello" { 46 + pkgsText = "myPkgs"; 47 + }; 48 + 49 + packageFromOtherSet = let myPkgs = { 50 + hello = pkgs.hello // { pname = "hello-other"; }; 51 + }; in lib.mkPackageOption myPkgs "hello" { }; 18 52 }; 19 53 }
+24
maintainers/maintainer-list.nix
··· 4424 4424 githubId = 14034137; 4425 4425 name = "Mostly Void"; 4426 4426 }; 4427 + ditsuke = { 4428 + name = "Tushar"; 4429 + email = "hello@ditsuke.com"; 4430 + github = "ditsuke"; 4431 + githubId = 72784348; 4432 + keys = [{ 4433 + fingerprint = "8FD2 153F 4889 541A 54F1 E09E 71B6 C31C 8A5A 9D21"; 4434 + }]; 4435 + }; 4427 4436 djacu = { 4428 4437 email = "daniel.n.baker@gmail.com"; 4429 4438 github = "djacu"; ··· 16420 16429 fingerprint = "75F0 AB7C FE01 D077 AEE6 CAFD 353E 4A18 EE0F AB72"; 16421 16430 }]; 16422 16431 }; 16432 + spacefault = { 16433 + github = "spacefault"; 16434 + githubId = 74156492; 16435 + name = "spacefault"; 16436 + }; 16423 16437 spacefrogg = { 16424 16438 email = "spacefrogg-nixos@meterriblecrew.net"; 16425 16439 github = "spacefrogg"; ··· 18047 18061 github = "ulrikstrid"; 18048 18062 githubId = 1607770; 18049 18063 name = "Ulrik Strid"; 18064 + }; 18065 + unclamped = { 18066 + name = "Maru"; 18067 + email = "clear6860@tutanota.com"; 18068 + matrix = "@unhidden0174:matrix.org"; 18069 + github = "unclamped"; 18070 + githubId = 104658278; 18071 + keys = [{ 18072 + fingerprint = "57A2 CC43 3068 CB62 89C1 F1DA 9137 BB2E 77AD DE7E"; 18073 + }]; 18050 18074 }; 18051 18075 unclechu = { 18052 18076 name = "Viacheslav Lotsmanov";
+8
nixos/doc/manual/release-notes/rl-2311.section.md
··· 66 66 67 67 - [Prometheus MySQL exporter](https://github.com/prometheus/mysqld_exporter), a MySQL server exporter for Prometheus. Available as [services.prometheus.exporters.mysqld](#opt-services.prometheus.exporters.mysqld.enable). 68 68 69 + - [LibreNMS](https://www.librenms.org), a auto-discovering PHP/MySQL/SNMP based network monitoring. Available as [services.librenms](#opt-services.librenms.enable). 70 + 69 71 - [sitespeed-io](https://sitespeed.io), a tool that can generate metrics (timings, diagnostics) for websites. Available as [services.sitespeed-io](#opt-services.sitespeed-io.enable). 70 72 71 73 - [stalwart-mail](https://stalw.art), an all-in-one email server (SMTP, IMAP, JMAP). Available as [services.stalwart-mail](#opt-services.stalwart-mail.enable). ··· 90 92 91 93 - [Honk](https://humungus.tedunangst.com/r/honk), a complete ActivityPub server with minimal setup and support costs. 92 94 Available as [services.honk](#opt-services.honk.enable). 95 + 96 + - [ferretdb](https://www.ferretdb.io/), an open-source proxy, converting the MongoDB 6.0+ wire protocol queries to PostgreSQL or SQLite. Available as [services.ferretdb](options.html#opt-services.ferretdb.enable). 93 97 94 98 - [NNCP](http://www.nncpgo.org/). Added nncp-daemon and nncp-caller services. Configuration is set with [programs.nncp.settings](#opt-programs.nncp.settings) and the daemons are enabled at [services.nncp](#opt-services.nncp.caller.enable). 95 99 ··· 271 275 - Package `noto-fonts-emoji` was renamed to `noto-fonts-color-emoji`; 272 276 see [#221181](https://github.com/NixOS/nixpkgs/issues/221181). 273 277 278 + - Package `cloud-sql-proxy` was renamed to `google-cloud-sql-proxy` as it cannot be used with other cloud providers.; 279 + 274 280 - Package `pash` was removed due to being archived upstream. Use `powershell` as an alternative. 275 281 276 282 - `security.sudo.extraRules` now includes `root`'s default rule, with ordering ··· 294 300 - Setting `nixpkgs.config` options while providing an external `pkgs` instance will now raise an error instead of silently ignoring the options. NixOS modules no longer set `nixpkgs.config` to accomodate this. This specifically affects `services.locate`, `services.xserver.displayManager.lightdm.greeters.tiny` and `programs.firefox` NixOS modules. No manual intervention should be required in most cases, however, configurations relying on those modules affecting packages outside the system environment should switch to explicit overlays. 295 301 296 302 - `service.borgmatic.settings.location` and `services.borgmatic.configurations.<name>.location` are deprecated, please move your options out of sections to the global scope. 303 + 304 + - `dagger` was removed because using a package called `dagger` and packaging it from source violates their trademark policy. 297 305 298 306 ## Other Notable Changes {#sec-release-23.11-notable-changes} 299 307
+4
nixos/modules/module-list.nix
··· 415 415 ./services/databases/couchdb.nix 416 416 ./services/databases/dgraph.nix 417 417 ./services/databases/dragonflydb.nix 418 + ./services/databases/ferretdb.nix 418 419 ./services/databases/firebird.nix 419 420 ./services/databases/foundationdb.nix 420 421 ./services/databases/hbase-standalone.nix ··· 774 775 ./services/monitoring/kapacitor.nix 775 776 ./services/monitoring/karma.nix 776 777 ./services/monitoring/kthxbye.nix 778 + ./services/monitoring/librenms.nix 777 779 ./services/monitoring/loki.nix 778 780 ./services/monitoring/longview.nix 779 781 ./services/monitoring/mackerel-agent.nix ··· 880 882 ./services/networking/croc.nix 881 883 ./services/networking/dae.nix 882 884 ./services/networking/dante.nix 885 + ./services/networking/deconz.nix 883 886 ./services/networking/dhcpcd.nix 884 887 ./services/networking/dnscache.nix 885 888 ./services/networking/dnscrypt-proxy2.nix ··· 1163 1166 ./services/security/sshguard.nix 1164 1167 ./services/security/sslmate-agent.nix 1165 1168 ./services/security/step-ca.nix 1169 + ./services/security/tang.nix 1166 1170 ./services/security/tor.nix 1167 1171 ./services/security/torify.nix 1168 1172 ./services/security/torsocks.nix
+390 -354
nixos/modules/security/pam.nix
··· 6 6 with lib; 7 7 8 8 let 9 + 10 + mkRulesTypeOption = type: mkOption { 11 + # These options are experimental and subject to breaking changes without notice. 12 + description = lib.mdDoc '' 13 + PAM `${type}` rules for this service. 14 + 15 + Attribute keys are the name of each rule. 16 + ''; 17 + type = types.attrsOf (types.submodule ({ name, config, ... }: { 18 + options = { 19 + name = mkOption { 20 + type = types.str; 21 + description = lib.mdDoc '' 22 + Name of this rule. 23 + ''; 24 + internal = true; 25 + readOnly = true; 26 + }; 27 + enable = mkOption { 28 + type = types.bool; 29 + default = true; 30 + description = lib.mdDoc '' 31 + Whether this rule is added to the PAM service config file. 32 + ''; 33 + }; 34 + order = mkOption { 35 + type = types.int; 36 + description = lib.mdDoc '' 37 + Order of this rule in the service file. Rules are arranged in ascending order of this value. 38 + 39 + ::: {.warning} 40 + The `order` values for the built-in rules are subject to change. If you assign a constant value to this option, a system update could silently reorder your rule. You could be locked out of your system, or your system could be left wide open. When using this option, set it to a relative offset from another rule's `order` value: 41 + 42 + ```nix 43 + { 44 + security.pam.services.login.rules.auth.foo.order = 45 + config.security.pam.services.login.rules.auth.unix.order + 10; 46 + } 47 + ``` 48 + ::: 49 + ''; 50 + }; 51 + control = mkOption { 52 + type = types.str; 53 + description = lib.mdDoc '' 54 + Indicates the behavior of the PAM-API should the module fail to succeed in its authentication task. See `control` in {manpage}`pam.conf(5)` for details. 55 + ''; 56 + }; 57 + modulePath = mkOption { 58 + type = types.str; 59 + description = lib.mdDoc '' 60 + Either the full filename of the PAM to be used by the application (it begins with a '/'), or a relative pathname from the default module location. See `module-path` in {manpage}`pam.conf(5)` for details. 61 + ''; 62 + }; 63 + args = mkOption { 64 + type = types.listOf types.str; 65 + description = lib.mdDoc '' 66 + Tokens that can be used to modify the specific behavior of the given PAM. Such arguments will be documented for each individual module. See `module-arguments` in {manpage}`pam.conf(5)` for details. 67 + 68 + Escaping rules for spaces and square brackets are automatically applied. 69 + 70 + {option}`settings` are automatically added as {option}`args`. It's recommended to use the {option}`settings` option whenever possible so that arguments can be overridden. 71 + ''; 72 + }; 73 + settings = mkOption { 74 + type = with types; attrsOf (nullOr (oneOf [ bool str int pathInStore ])); 75 + default = {}; 76 + description = lib.mdDoc '' 77 + Settings to add as `module-arguments`. 78 + 79 + Boolean values render just the key if true, and nothing if false. Null values are ignored. All other values are rendered as key-value pairs. 80 + ''; 81 + }; 82 + }; 83 + config = { 84 + inherit name; 85 + # Formats an attrset of settings as args for use as `module-arguments`. 86 + args = concatLists (flip mapAttrsToList config.settings (name: value: 87 + if isBool value 88 + then optional value name 89 + else optional (value != null) "${name}=${toString value}" 90 + )); 91 + }; 92 + })); 93 + }; 94 + 9 95 parentConfig = config; 10 96 11 97 pamOpts = { config, name, ... }: let cfg = config; in let config = parentConfig; in { ··· 16 102 example = "sshd"; 17 103 type = types.str; 18 104 description = lib.mdDoc "Name of the PAM service."; 105 + }; 106 + 107 + rules = mkOption { 108 + # This option is experimental and subject to breaking changes without notice. 109 + visible = false; 110 + 111 + description = lib.mdDoc '' 112 + PAM rules for this service. 113 + 114 + ::: {.warning} 115 + This option and its suboptions are experimental and subject to breaking changes without notice. 116 + 117 + If you use this option in your system configuration, you will need to manually monitor this module for any changes. Otherwise, failure to adjust your configuration properly could lead to you being locked out of your system, or worse, your system could be left wide open to attackers. 118 + 119 + If you share configuration examples that use this option, you MUST include this warning so that users are informed. 120 + 121 + You may freely use this option within `nixpkgs`, and future changes will account for those use sites. 122 + ::: 123 + ''; 124 + type = types.submodule { 125 + options = genAttrs [ "account" "auth" "password" "session" ] mkRulesTypeOption; 126 + }; 19 127 }; 20 128 21 129 unixAuth = mkOption { ··· 470 578 setLoginUid = mkDefault cfg.startSession; 471 579 limits = mkDefault config.security.pam.loginLimits; 472 580 581 + text = let 582 + ensureUniqueOrder = type: rules: 583 + let 584 + checkPair = a: b: assert assertMsg (a.order != b.order) "security.pam.services.${name}.rules.${type}: rules '${a.name}' and '${b.name}' cannot have the same order value (${toString a.order})"; b; 585 + checked = zipListsWith checkPair rules (drop 1 rules); 586 + in take 1 rules ++ checked; 587 + # Formats a string for use in `module-arguments`. See `man pam.conf`. 588 + formatModuleArgument = token: 589 + if hasInfix " " token 590 + then "[${replaceStrings ["]"] ["\\]"] token}]" 591 + else token; 592 + formatRules = type: pipe cfg.rules.${type} [ 593 + attrValues 594 + (filter (rule: rule.enable)) 595 + (sort (a: b: a.order < b.order)) 596 + (ensureUniqueOrder type) 597 + (map (rule: concatStringsSep " " ( 598 + [ type rule.control rule.modulePath ] 599 + ++ map formatModuleArgument rule.args 600 + ++ [ "# ${rule.name} (order ${toString rule.order})" ] 601 + ))) 602 + (concatStringsSep "\n") 603 + ]; 604 + in mkDefault '' 605 + # Account management. 606 + ${formatRules "account"} 607 + 608 + # Authentication management. 609 + ${formatRules "auth"} 610 + 611 + # Password management. 612 + ${formatRules "password"} 613 + 614 + # Session management. 615 + ${formatRules "session"} 616 + ''; 617 + 473 618 # !!! TODO: move the LDAP stuff to the LDAP module, and the 474 619 # Samba stuff to the Samba module. This requires that the PAM 475 620 # module provides the right hooks. 476 - text = mkDefault 477 - ( 478 - '' 479 - # Account management. 480 - '' + 481 - optionalString use_ldap '' 482 - account sufficient ${pam_ldap}/lib/security/pam_ldap.so 483 - '' + 484 - optionalString cfg.mysqlAuth '' 485 - account sufficient ${pkgs.pam_mysql}/lib/security/pam_mysql.so config_file=/etc/security/pam_mysql.conf 486 - '' + 487 - optionalString (config.services.kanidm.enablePam) '' 488 - account sufficient ${pkgs.kanidm}/lib/pam_kanidm.so ignore_unknown_user 489 - '' + 490 - optionalString (config.services.sssd.enable && cfg.sssdStrictAccess==false) '' 491 - account sufficient ${pkgs.sssd}/lib/security/pam_sss.so 492 - '' + 493 - optionalString (config.services.sssd.enable && cfg.sssdStrictAccess) '' 494 - account [default=bad success=ok user_unknown=ignore] ${pkgs.sssd}/lib/security/pam_sss.so 495 - '' + 496 - optionalString config.security.pam.krb5.enable '' 497 - account sufficient ${pam_krb5}/lib/security/pam_krb5.so 498 - '' + 499 - optionalString cfg.googleOsLoginAccountVerification '' 500 - account [success=ok ignore=ignore default=die] ${pkgs.google-guest-oslogin}/lib/security/pam_oslogin_login.so 501 - account [success=ok default=ignore] ${pkgs.google-guest-oslogin}/lib/security/pam_oslogin_admin.so 502 - '' + 503 - optionalString config.services.homed.enable '' 504 - account sufficient ${config.systemd.package}/lib/security/pam_systemd_home.so 505 - '' + 621 + rules = let 622 + autoOrderRules = flip pipe [ 623 + (imap1 (index: rule: rule // { order = mkDefault (10000 + index * 100); } )) 624 + (map (rule: nameValuePair rule.name (removeAttrs rule [ "name" ]))) 625 + listToAttrs 626 + ]; 627 + in { 628 + account = autoOrderRules [ 629 + { name = "ldap"; enable = use_ldap; control = "sufficient"; modulePath = "${pam_ldap}/lib/security/pam_ldap.so"; } 630 + { name = "mysql"; enable = cfg.mysqlAuth; control = "sufficient"; modulePath = "${pkgs.pam_mysql}/lib/security/pam_mysql.so"; settings = { 631 + config_file = "/etc/security/pam_mysql.conf"; 632 + }; } 633 + { name = "kanidm"; enable = config.services.kanidm.enablePam; control = "sufficient"; modulePath = "${pkgs.kanidm}/lib/pam_kanidm.so"; settings = { 634 + ignore_unknown_user = true; 635 + }; } 636 + { name = "sss"; enable = config.services.sssd.enable; control = if cfg.sssdStrictAccess then "[default=bad success=ok user_unknown=ignore]" else "sufficient"; modulePath = "${pkgs.sssd}/lib/security/pam_sss.so"; } 637 + { name = "krb5"; enable = config.security.pam.krb5.enable; control = "sufficient"; modulePath = "${pam_krb5}/lib/security/pam_krb5.so"; } 638 + { name = "oslogin_login"; enable = cfg.googleOsLoginAccountVerification; control = "[success=ok ignore=ignore default=die]"; modulePath = "${pkgs.google-guest-oslogin}/lib/security/pam_oslogin_login.so"; } 639 + { name = "oslogin_admin"; enable = cfg.googleOsLoginAccountVerification; control = "[success=ok default=ignore]"; modulePath = "${pkgs.google-guest-oslogin}/lib/security/pam_oslogin_admin.so"; } 640 + { name = "systemd_home"; enable = config.services.homed.enable; control = "sufficient"; modulePath = "${config.systemd.package}/lib/security/pam_systemd_home.so"; } 506 641 # The required pam_unix.so module has to come after all the sufficient modules 507 642 # because otherwise, the account lookup will fail if the user does not exist 508 643 # locally, for example with MySQL- or LDAP-auth. 509 - '' 510 - account required pam_unix.so 644 + { name = "unix"; control = "required"; modulePath = "pam_unix.so"; } 645 + ]; 511 646 512 - # Authentication management. 513 - '' + 514 - optionalString cfg.googleOsLoginAuthentication '' 515 - auth [success=done perm_denied=die default=ignore] ${pkgs.google-guest-oslogin}/lib/security/pam_oslogin_login.so 516 - '' + 517 - optionalString cfg.rootOK '' 518 - auth sufficient pam_rootok.so 519 - '' + 520 - optionalString cfg.requireWheel '' 521 - auth required pam_wheel.so use_uid 522 - '' + 523 - optionalString cfg.logFailures '' 524 - auth required pam_faillock.so 525 - '' + 526 - optionalString cfg.mysqlAuth '' 527 - auth sufficient ${pkgs.pam_mysql}/lib/security/pam_mysql.so config_file=/etc/security/pam_mysql.conf 528 - '' + 529 - optionalString (config.security.pam.enableSSHAgentAuth && cfg.sshAgentAuth) '' 530 - auth sufficient ${pkgs.pam_ssh_agent_auth}/libexec/pam_ssh_agent_auth.so file=${lib.concatStringsSep ":" config.services.openssh.authorizedKeysFiles} 531 - '' + 532 - (let p11 = config.security.pam.p11; in optionalString cfg.p11Auth '' 533 - auth ${p11.control} ${pkgs.pam_p11}/lib/security/pam_p11.so ${pkgs.opensc}/lib/opensc-pkcs11.so 534 - '') + 535 - (let u2f = config.security.pam.u2f; in optionalString cfg.u2fAuth ('' 536 - auth ${u2f.control} ${pkgs.pam_u2f}/lib/security/pam_u2f.so ${optionalString u2f.debug "debug"} ${optionalString (u2f.authFile != null) "authfile=${u2f.authFile}"} '' 537 - + ''${optionalString u2f.interactive "interactive"} ${optionalString u2f.cue "cue"} ${optionalString (u2f.appId != null) "appid=${u2f.appId}"} ${optionalString (u2f.origin != null) "origin=${u2f.origin}"} 538 - '')) + 539 - optionalString cfg.usbAuth '' 540 - auth sufficient ${pkgs.pam_usb}/lib/security/pam_usb.so 541 - '' + 542 - (let ussh = config.security.pam.ussh; in optionalString (config.security.pam.ussh.enable && cfg.usshAuth) '' 543 - auth ${ussh.control} ${pkgs.pam_ussh}/lib/security/pam_ussh.so ${optionalString (ussh.caFile != null) "ca_file=${ussh.caFile}"} ${optionalString (ussh.authorizedPrincipals != null) "authorized_principals=${ussh.authorizedPrincipals}"} ${optionalString (ussh.authorizedPrincipalsFile != null) "authorized_principals_file=${ussh.authorizedPrincipalsFile}"} ${optionalString (ussh.group != null) "group=${ussh.group}"} 544 - '') + 545 - (let oath = config.security.pam.oath; in optionalString cfg.oathAuth '' 546 - auth requisite ${pkgs.oath-toolkit}/lib/security/pam_oath.so window=${toString oath.window} usersfile=${toString oath.usersFile} digits=${toString oath.digits} 547 - '') + 548 - (let yubi = config.security.pam.yubico; in optionalString cfg.yubicoAuth '' 549 - auth ${yubi.control} ${pkgs.yubico-pam}/lib/security/pam_yubico.so mode=${toString yubi.mode} ${optionalString (yubi.challengeResponsePath != null) "chalresp_path=${yubi.challengeResponsePath}"} ${optionalString (yubi.mode == "client") "id=${toString yubi.id}"} ${optionalString yubi.debug "debug"} 550 - '') + 551 - (let dp9ik = config.security.pam.dp9ik; in optionalString dp9ik.enable '' 552 - auth ${dp9ik.control} ${pkgs.pam_dp9ik}/lib/security/pam_p9.so ${dp9ik.authserver} 553 - '') + 554 - optionalString cfg.fprintAuth '' 555 - auth sufficient ${pkgs.fprintd}/lib/security/pam_fprintd.so 556 - '' + 647 + auth = autoOrderRules ([ 648 + { name = "oslogin_login"; enable = cfg.googleOsLoginAuthentication; control = "[success=done perm_denied=die default=ignore]"; modulePath = "${pkgs.google-guest-oslogin}/lib/security/pam_oslogin_login.so"; } 649 + { name = "rootok"; enable = cfg.rootOK; control = "sufficient"; modulePath = "pam_rootok.so"; } 650 + { name = "wheel"; enable = cfg.requireWheel; control = "required"; modulePath = "pam_wheel.so"; settings = { 651 + use_uid = true; 652 + }; } 653 + { name = "faillock"; enable = cfg.logFailures; control = "required"; modulePath = "pam_faillock.so"; } 654 + { name = "mysql"; enable = cfg.mysqlAuth; control = "sufficient"; modulePath = "${pkgs.pam_mysql}/lib/security/pam_mysql.so"; settings = { 655 + config_file = "/etc/security/pam_mysql.conf"; 656 + }; } 657 + { name = "ssh_agent_auth"; enable = config.security.pam.enableSSHAgentAuth && cfg.sshAgentAuth; control = "sufficient"; modulePath = "${pkgs.pam_ssh_agent_auth}/libexec/pam_ssh_agent_auth.so"; settings = { 658 + file = lib.concatStringsSep ":" config.services.openssh.authorizedKeysFiles; 659 + }; } 660 + (let p11 = config.security.pam.p11; in { name = "p11"; enable = cfg.p11Auth; control = p11.control; modulePath = "${pkgs.pam_p11}/lib/security/pam_p11.so"; args = [ 661 + "${pkgs.opensc}/lib/opensc-pkcs11.so" 662 + ]; }) 663 + (let u2f = config.security.pam.u2f; in { name = "u2f"; enable = cfg.u2fAuth; control = u2f.control; modulePath = "${pkgs.pam_u2f}/lib/security/pam_u2f.so"; settings = { 664 + inherit (u2f) debug interactive cue origin; 665 + authfile = u2f.authFile; 666 + appid = u2f.appId; 667 + }; }) 668 + { name = "usb"; enable = cfg.usbAuth; control = "sufficient"; modulePath = "${pkgs.pam_usb}/lib/security/pam_usb.so"; } 669 + (let ussh = config.security.pam.ussh; in { name = "ussh"; enable = config.security.pam.ussh.enable && cfg.usshAuth; control = ussh.control; modulePath = "${pkgs.pam_ussh}/lib/security/pam_ussh.so"; settings = { 670 + ca_file = ussh.caFile; 671 + authorized_principals = ussh.authorizedPrincipals; 672 + authorized_principals_file = ussh.authorizedPrincipalsFile; 673 + inherit (ussh) group; 674 + }; }) 675 + (let oath = config.security.pam.oath; in { name = "oath"; enable = cfg.oathAuth; control = "requisite"; modulePath = "${pkgs.oath-toolkit}/lib/security/pam_oath.so"; settings = { 676 + inherit (oath) window digits; 677 + usersfile = oath.usersFile; 678 + }; }) 679 + (let yubi = config.security.pam.yubico; in { name = "yubico"; enable = cfg.yubicoAuth; control = yubi.control; modulePath = "${pkgs.yubico-pam}/lib/security/pam_yubico.so"; settings = { 680 + inherit (yubi) mode debug; 681 + chalresp_path = yubi.challengeResponsePath; 682 + id = mkIf (yubi.mode == "client") yubi.id; 683 + }; }) 684 + (let dp9ik = config.security.pam.dp9ik; in { name = "p9"; enable = dp9ik.enable; control = dp9ik.control; modulePath = "${pkgs.pam_dp9ik}/lib/security/pam_p9.so"; args = [ 685 + dp9ik.authserver 686 + ]; }) 687 + { name = "fprintd"; enable = cfg.fprintAuth; control = "sufficient"; modulePath = "${pkgs.fprintd}/lib/security/pam_fprintd.so"; } 688 + ] ++ 557 689 # Modules in this block require having the password set in PAM_AUTHTOK. 558 690 # pam_unix is marked as 'sufficient' on NixOS which means nothing will run 559 691 # after it succeeds. Certain modules need to run after pam_unix ··· 562 694 # We use try_first_pass the second time to avoid prompting password twice. 563 695 # 564 696 # The same principle applies to systemd-homed 565 - (optionalString ((cfg.unixAuth || config.services.homed.enable) && 697 + (optionals ((cfg.unixAuth || config.services.homed.enable) && 566 698 (config.security.pam.enableEcryptfs 567 699 || config.security.pam.enableFscrypt 568 700 || cfg.pamMount ··· 573 705 || cfg.failDelay.enable 574 706 || cfg.duoSecurity.enable 575 707 || cfg.zfs)) 576 - ( 577 - optionalString config.services.homed.enable '' 578 - auth optional ${config.systemd.package}/lib/security/pam_systemd_home.so 579 - '' + 580 - optionalString cfg.unixAuth '' 581 - auth optional pam_unix.so ${optionalString cfg.allowNullPassword "nullok"} ${optionalString cfg.nodelay "nodelay"} likeauth 582 - '' + 583 - optionalString config.security.pam.enableEcryptfs '' 584 - auth optional ${pkgs.ecryptfs}/lib/security/pam_ecryptfs.so unwrap 585 - '' + 586 - optionalString config.security.pam.enableFscrypt '' 587 - auth optional ${pkgs.fscrypt-experimental}/lib/security/pam_fscrypt.so 588 - '' + 589 - optionalString cfg.zfs '' 590 - auth optional ${config.boot.zfs.package}/lib/security/pam_zfs_key.so homes=${config.security.pam.zfs.homes} 591 - '' + 592 - optionalString cfg.pamMount '' 593 - auth optional ${pkgs.pam_mount}/lib/security/pam_mount.so disable_interactive 594 - '' + 595 - optionalString cfg.enableKwallet '' 596 - auth optional ${pkgs.plasma5Packages.kwallet-pam}/lib/security/pam_kwallet5.so kwalletd=${pkgs.plasma5Packages.kwallet.bin}/bin/kwalletd5 597 - '' + 598 - optionalString cfg.enableGnomeKeyring '' 599 - auth optional ${pkgs.gnome.gnome-keyring}/lib/security/pam_gnome_keyring.so 600 - '' + 601 - optionalString cfg.gnupg.enable '' 602 - auth optional ${pkgs.pam_gnupg}/lib/security/pam_gnupg.so ${optionalString cfg.gnupg.storeOnly " store-only"} 603 - '' + 604 - optionalString cfg.failDelay.enable '' 605 - auth optional ${pkgs.pam}/lib/security/pam_faildelay.so delay=${toString cfg.failDelay.delay} 606 - '' + 607 - optionalString cfg.googleAuthenticator.enable '' 608 - auth required ${pkgs.google-authenticator}/lib/security/pam_google_authenticator.so no_increment_hotp 609 - '' + 610 - optionalString cfg.duoSecurity.enable '' 611 - auth required ${pkgs.duo-unix}/lib/security/pam_duo.so 612 - '' 613 - )) + 614 - optionalString config.services.homed.enable '' 615 - auth sufficient ${config.systemd.package}/lib/security/pam_systemd_home.so 616 - '' + 617 - optionalString cfg.unixAuth '' 618 - auth sufficient pam_unix.so ${optionalString cfg.allowNullPassword "nullok"} ${optionalString cfg.nodelay "nodelay"} likeauth try_first_pass 619 - '' + 620 - optionalString cfg.otpwAuth '' 621 - auth sufficient ${pkgs.otpw}/lib/security/pam_otpw.so 622 - '' + 623 - optionalString use_ldap '' 624 - auth sufficient ${pam_ldap}/lib/security/pam_ldap.so use_first_pass 625 - '' + 626 - optionalString config.services.kanidm.enablePam '' 627 - auth sufficient ${pkgs.kanidm}/lib/pam_kanidm.so ignore_unknown_user use_first_pass 628 - '' + 629 - optionalString config.services.sssd.enable '' 630 - auth sufficient ${pkgs.sssd}/lib/security/pam_sss.so use_first_pass 631 - '' + 632 - optionalString config.security.pam.krb5.enable '' 633 - auth [default=ignore success=1 service_err=reset] ${pam_krb5}/lib/security/pam_krb5.so use_first_pass 634 - auth [default=die success=done] ${pam_ccreds}/lib/security/pam_ccreds.so action=validate use_first_pass 635 - auth sufficient ${pam_ccreds}/lib/security/pam_ccreds.so action=store use_first_pass 636 - '' + 637 - '' 638 - auth required pam_deny.so 708 + [ 709 + { name = "systemd_home-early"; enable = config.services.homed.enable; control = "optional"; modulePath = "${config.systemd.package}/lib/security/pam_systemd_home.so"; } 710 + { name = "unix-early"; enable = cfg.unixAuth; control = "optional"; modulePath = "pam_unix.so"; settings = { 711 + nullok = cfg.allowNullPassword; 712 + inherit (cfg) nodelay; 713 + likeauth = true; 714 + }; } 715 + { name = "ecryptfs"; enable = config.security.pam.enableEcryptfs; control = "optional"; modulePath = "${pkgs.ecryptfs}/lib/security/pam_ecryptfs.so"; settings = { 716 + unwrap = true; 717 + }; } 718 + { name = "fscrypt"; enable = config.security.pam.enableFscrypt; control = "optional"; modulePath = "${pkgs.fscrypt-experimental}/lib/security/pam_fscrypt.so"; } 719 + { name = "zfs_key"; enable = cfg.zfs; control = "optional"; modulePath = "${config.boot.zfs.package}/lib/security/pam_zfs_key.so"; settings = { 720 + inherit (config.security.pam.zfs) homes; 721 + }; } 722 + { name = "mount"; enable = cfg.pamMount; control = "optional"; modulePath = "${pkgs.pam_mount}/lib/security/pam_mount.so"; settings = { 723 + disable_interactive = true; 724 + }; } 725 + { name = "kwallet5"; enable = cfg.enableKwallet; control = "optional"; modulePath = "${pkgs.plasma5Packages.kwallet-pam}/lib/security/pam_kwallet5.so"; settings = { 726 + kwalletd = "${pkgs.plasma5Packages.kwallet.bin}/bin/kwalletd5"; 727 + }; } 728 + { name = "gnome_keyring"; enable = cfg.enableGnomeKeyring; control = "optional"; modulePath = "${pkgs.gnome.gnome-keyring}/lib/security/pam_gnome_keyring.so"; } 729 + { name = "gnupg"; enable = cfg.gnupg.enable; control = "optional"; modulePath = "${pkgs.pam_gnupg}/lib/security/pam_gnupg.so"; settings = { 730 + store-only = cfg.gnupg.storeOnly; 731 + }; } 732 + { name = "faildelay"; enable = cfg.failDelay.enable; control = "optional"; modulePath = "${pkgs.pam}/lib/security/pam_faildelay.so"; settings = { 733 + inherit (cfg.failDelay) delay; 734 + }; } 735 + { name = "google_authenticator"; enable = cfg.googleAuthenticator.enable; control = "required"; modulePath = "${pkgs.google-authenticator}/lib/security/pam_google_authenticator.so"; settings = { 736 + no_increment_hotp = true; 737 + }; } 738 + { name = "duo"; enable = cfg.duoSecurity.enable; control = "required"; modulePath = "${pkgs.duo-unix}/lib/security/pam_duo.so"; } 739 + ]) ++ [ 740 + { name = "systemd_home"; enable = config.services.homed.enable; control = "sufficient"; modulePath = "${config.systemd.package}/lib/security/pam_systemd_home.so"; } 741 + { name = "unix"; enable = cfg.unixAuth; control = "sufficient"; modulePath = "pam_unix.so"; settings = { 742 + nullok = cfg.allowNullPassword; 743 + inherit (cfg) nodelay; 744 + likeauth = true; 745 + try_first_pass = true; 746 + }; } 747 + { name = "otpw"; enable = cfg.otpwAuth; control = "sufficient"; modulePath = "${pkgs.otpw}/lib/security/pam_otpw.so"; } 748 + { name = "ldap"; enable = use_ldap; control = "sufficient"; modulePath = "${pam_ldap}/lib/security/pam_ldap.so"; settings = { 749 + use_first_pass = true; 750 + }; } 751 + { name = "kanidm"; enable = config.services.kanidm.enablePam; control = "sufficient"; modulePath = "${pkgs.kanidm}/lib/pam_kanidm.so"; settings = { 752 + ignore_unknown_user = true; 753 + use_first_pass = true; 754 + }; } 755 + { name = "sss"; enable = config.services.sssd.enable; control = "sufficient"; modulePath = "${pkgs.sssd}/lib/security/pam_sss.so"; settings = { 756 + use_first_pass = true; 757 + }; } 758 + { name = "krb5"; enable = config.security.pam.krb5.enable; control = "[default=ignore success=1 service_err=reset]"; modulePath = "${pam_krb5}/lib/security/pam_krb5.so"; settings = { 759 + use_first_pass = true; 760 + }; } 761 + { name = "ccreds-validate"; enable = config.security.pam.krb5.enable; control = "[default=die success=done]"; modulePath = "${pam_ccreds}/lib/security/pam_ccreds.so"; settings = { 762 + action = "validate"; 763 + use_first_pass = true; 764 + }; } 765 + { name = "ccreds-store"; enable = config.security.pam.krb5.enable; control = "sufficient"; modulePath = "${pam_ccreds}/lib/security/pam_ccreds.so"; settings = { 766 + action = "store"; 767 + use_first_pass = true; 768 + }; } 769 + { name = "deny"; control = "required"; modulePath = "pam_deny.so"; } 770 + ]); 639 771 640 - # Password management. 641 - '' + 642 - optionalString config.services.homed.enable '' 643 - password sufficient ${config.systemd.package}/lib/security/pam_systemd_home.so 644 - '' + '' 645 - password sufficient pam_unix.so nullok yescrypt 646 - '' + 647 - optionalString config.security.pam.enableEcryptfs '' 648 - password optional ${pkgs.ecryptfs}/lib/security/pam_ecryptfs.so 649 - '' + 650 - optionalString config.security.pam.enableFscrypt '' 651 - password optional ${pkgs.fscrypt-experimental}/lib/security/pam_fscrypt.so 652 - '' + 653 - optionalString cfg.zfs '' 654 - password optional ${config.boot.zfs.package}/lib/security/pam_zfs_key.so homes=${config.security.pam.zfs.homes} 655 - '' + 656 - optionalString cfg.pamMount '' 657 - password optional ${pkgs.pam_mount}/lib/security/pam_mount.so 658 - '' + 659 - optionalString use_ldap '' 660 - password sufficient ${pam_ldap}/lib/security/pam_ldap.so 661 - '' + 662 - optionalString cfg.mysqlAuth '' 663 - password sufficient ${pkgs.pam_mysql}/lib/security/pam_mysql.so config_file=/etc/security/pam_mysql.conf 664 - '' + 665 - optionalString config.services.kanidm.enablePam '' 666 - password sufficient ${pkgs.kanidm}/lib/pam_kanidm.so 667 - '' + 668 - optionalString config.services.sssd.enable '' 669 - password sufficient ${pkgs.sssd}/lib/security/pam_sss.so 670 - '' + 671 - optionalString config.security.pam.krb5.enable '' 672 - password sufficient ${pam_krb5}/lib/security/pam_krb5.so use_first_pass 673 - '' + 674 - optionalString cfg.enableGnomeKeyring '' 675 - password optional ${pkgs.gnome.gnome-keyring}/lib/security/pam_gnome_keyring.so use_authtok 676 - '' + 677 - '' 772 + password = autoOrderRules [ 773 + { name = "systemd_home"; enable = config.services.homed.enable; control = "sufficient"; modulePath = "${config.systemd.package}/lib/security/pam_systemd_home.so"; } 774 + { name = "unix"; control = "sufficient"; modulePath = "pam_unix.so"; settings = { 775 + nullok = true; 776 + yescrypt = true; 777 + }; } 778 + { name = "ecryptfs"; enable = config.security.pam.enableEcryptfs; control = "optional"; modulePath = "${pkgs.ecryptfs}/lib/security/pam_ecryptfs.so"; } 779 + { name = "fscrypt"; enable = config.security.pam.enableFscrypt; control = "optional"; modulePath = "${pkgs.fscrypt-experimental}/lib/security/pam_fscrypt.so"; } 780 + { name = "zfs_key"; enable = cfg.zfs; control = "optional"; modulePath = "${config.boot.zfs.package}/lib/security/pam_zfs_key.so"; settings = { 781 + inherit (config.security.pam.zfs) homes; 782 + }; } 783 + { name = "mount"; enable = cfg.pamMount; control = "optional"; modulePath = "${pkgs.pam_mount}/lib/security/pam_mount.so"; } 784 + { name = "ldap"; enable = use_ldap; control = "sufficient"; modulePath = "${pam_ldap}/lib/security/pam_ldap.so"; } 785 + { name = "mysql"; enable = cfg.mysqlAuth; control = "sufficient"; modulePath = "${pkgs.pam_mysql}/lib/security/pam_mysql.so"; settings = { 786 + config_file = "/etc/security/pam_mysql.conf"; 787 + }; } 788 + { name = "kanidm"; enable = config.services.kanidm.enablePam; control = "sufficient"; modulePath = "${pkgs.kanidm}/lib/pam_kanidm.so"; } 789 + { name = "sss"; enable = config.services.sssd.enable; control = "sufficient"; modulePath = "${pkgs.sssd}/lib/security/pam_sss.so"; } 790 + { name = "krb5"; enable = config.security.pam.krb5.enable; control = "sufficient"; modulePath = "${pam_krb5}/lib/security/pam_krb5.so"; settings = { 791 + use_first_pass = true; 792 + }; } 793 + { name = "gnome_keyring"; enable = cfg.enableGnomeKeyring; control = "optional"; modulePath = "${pkgs.gnome.gnome-keyring}/lib/security/pam_gnome_keyring.so"; settings = { 794 + use_authtok = true; 795 + }; } 796 + ]; 678 797 679 - # Session management. 680 - '' + 681 - optionalString cfg.setEnvironment '' 682 - session required pam_env.so conffile=/etc/pam/environment readenv=0 683 - '' + 684 - '' 685 - session required pam_unix.so 686 - '' + 687 - optionalString cfg.setLoginUid '' 688 - session ${if config.boot.isContainer then "optional" else "required"} pam_loginuid.so 689 - '' + 690 - optionalString cfg.ttyAudit.enable (concatStringsSep " \\\n " ([ 691 - "session required ${pkgs.pam}/lib/security/pam_tty_audit.so" 692 - ] ++ optional cfg.ttyAudit.openOnly "open_only" 693 - ++ optional (cfg.ttyAudit.enablePattern != null) "enable=${cfg.ttyAudit.enablePattern}" 694 - ++ optional (cfg.ttyAudit.disablePattern != null) "disable=${cfg.ttyAudit.disablePattern}" 695 - )) + 696 - optionalString config.services.homed.enable '' 697 - session required ${config.systemd.package}/lib/security/pam_systemd_home.so 698 - '' + 699 - optionalString cfg.makeHomeDir '' 700 - session required ${pkgs.pam}/lib/security/pam_mkhomedir.so silent skel=${config.security.pam.makeHomeDir.skelDirectory} umask=${config.security.pam.makeHomeDir.umask} 701 - '' + 702 - optionalString cfg.updateWtmp '' 703 - session required ${pkgs.pam}/lib/security/pam_lastlog.so silent 704 - '' + 705 - optionalString config.security.pam.enableEcryptfs '' 706 - session optional ${pkgs.ecryptfs}/lib/security/pam_ecryptfs.so 707 - '' + 708 - optionalString config.security.pam.enableFscrypt '' 709 - # Work around https://github.com/systemd/systemd/issues/8598 710 - # Skips the pam_fscrypt module for systemd-user sessions which do not have a password 711 - # anyways. 712 - # See also https://github.com/google/fscrypt/issues/95 713 - session [success=1 default=ignore] pam_succeed_if.so service = systemd-user 714 - session optional ${pkgs.fscrypt-experimental}/lib/security/pam_fscrypt.so 715 - '' + 716 - optionalString cfg.zfs '' 717 - session [success=1 default=ignore] pam_succeed_if.so service = systemd-user 718 - session optional ${config.boot.zfs.package}/lib/security/pam_zfs_key.so homes=${config.security.pam.zfs.homes} ${optionalString config.security.pam.zfs.noUnmount "nounmount"} 719 - '' + 720 - optionalString cfg.pamMount '' 721 - session optional ${pkgs.pam_mount}/lib/security/pam_mount.so disable_interactive 722 - '' + 723 - optionalString use_ldap '' 724 - session optional ${pam_ldap}/lib/security/pam_ldap.so 725 - '' + 726 - optionalString cfg.mysqlAuth '' 727 - session optional ${pkgs.pam_mysql}/lib/security/pam_mysql.so config_file=/etc/security/pam_mysql.conf 728 - '' + 729 - optionalString config.services.kanidm.enablePam '' 730 - session optional ${pkgs.kanidm}/lib/pam_kanidm.so 731 - '' + 732 - optionalString config.services.sssd.enable '' 733 - session optional ${pkgs.sssd}/lib/security/pam_sss.so 734 - '' + 735 - optionalString config.security.pam.krb5.enable '' 736 - session optional ${pam_krb5}/lib/security/pam_krb5.so 737 - '' + 738 - optionalString cfg.otpwAuth '' 739 - session optional ${pkgs.otpw}/lib/security/pam_otpw.so 740 - '' + 741 - optionalString cfg.startSession '' 742 - session optional ${config.systemd.package}/lib/security/pam_systemd.so 743 - '' + 744 - optionalString cfg.forwardXAuth '' 745 - session optional pam_xauth.so xauthpath=${pkgs.xorg.xauth}/bin/xauth systemuser=99 746 - '' + 747 - optionalString (cfg.limits != []) '' 748 - session required ${pkgs.pam}/lib/security/pam_limits.so conf=${makeLimitsConf cfg.limits} 749 - '' + 750 - optionalString (cfg.showMotd && (config.users.motd != null || config.users.motdFile != null)) '' 751 - session optional ${pkgs.pam}/lib/security/pam_motd.so motd=${motd} 752 - '' + 753 - optionalString (cfg.enableAppArmor && config.security.apparmor.enable) '' 754 - session optional ${pkgs.apparmor-pam}/lib/security/pam_apparmor.so order=user,group,default debug 755 - '' + 756 - optionalString (cfg.enableKwallet) '' 757 - session optional ${pkgs.plasma5Packages.kwallet-pam}/lib/security/pam_kwallet5.so kwalletd=${pkgs.plasma5Packages.kwallet.bin}/bin/kwalletd5 758 - '' + 759 - optionalString (cfg.enableGnomeKeyring) '' 760 - session optional ${pkgs.gnome.gnome-keyring}/lib/security/pam_gnome_keyring.so auto_start 761 - '' + 762 - optionalString cfg.gnupg.enable '' 763 - session optional ${pkgs.pam_gnupg}/lib/security/pam_gnupg.so ${optionalString cfg.gnupg.noAutostart " no-autostart"} 764 - '' + 765 - optionalString (config.virtualisation.lxc.lxcfs.enable) '' 766 - session optional ${pkgs.lxc}/lib/security/pam_cgfs.so -c all 767 - '' 768 - ); 798 + session = autoOrderRules [ 799 + { name = "env"; enable = cfg.setEnvironment; control = "required"; modulePath = "pam_env.so"; settings = { 800 + conffile = "/etc/pam/environment"; 801 + readenv = 0; 802 + }; } 803 + { name = "unix"; control = "required"; modulePath = "pam_unix.so"; } 804 + { name = "loginuid"; enable = cfg.setLoginUid; control = if config.boot.isContainer then "optional" else "required"; modulePath = "pam_loginuid.so"; } 805 + { name = "tty_audit"; enable = cfg.ttyAudit.enable; control = "required"; modulePath = "${pkgs.pam}/lib/security/pam_tty_audit.so"; settings = { 806 + open_only = cfg.ttyAudit.openOnly; 807 + enable = cfg.ttyAudit.enablePattern; 808 + disable = cfg.ttyAudit.disablePattern; 809 + }; } 810 + { name = "systemd_home"; enable = config.services.homed.enable; control = "required"; modulePath = "${config.systemd.package}/lib/security/pam_systemd_home.so"; } 811 + { name = "mkhomedir"; enable = cfg.makeHomeDir; control = "required"; modulePath = "${pkgs.pam}/lib/security/pam_mkhomedir.so"; settings = { 812 + silent = true; 813 + skel = config.security.pam.makeHomeDir.skelDirectory; 814 + inherit (config.security.pam.makeHomeDir) umask; 815 + }; } 816 + { name = "lastlog"; enable = cfg.updateWtmp; control = "required"; modulePath = "${pkgs.pam}/lib/security/pam_lastlog.so"; settings = { 817 + silent = true; 818 + }; } 819 + { name = "ecryptfs"; enable = config.security.pam.enableEcryptfs; control = "optional"; modulePath = "${pkgs.ecryptfs}/lib/security/pam_ecryptfs.so"; } 820 + # Work around https://github.com/systemd/systemd/issues/8598 821 + # Skips the pam_fscrypt module for systemd-user sessions which do not have a password 822 + # anyways. 823 + # See also https://github.com/google/fscrypt/issues/95 824 + { name = "fscrypt-skip-systemd"; enable = config.security.pam.enableFscrypt; control = "[success=1 default=ignore]"; modulePath = "pam_succeed_if.so"; args = [ 825 + "service" "=" "systemd-user" 826 + ]; } 827 + { name = "fscrypt"; enable = config.security.pam.enableFscrypt; control = "optional"; modulePath = "${pkgs.fscrypt-experimental}/lib/security/pam_fscrypt.so"; } 828 + { name = "zfs_key-skip-systemd"; enable = cfg.zfs; control = "[success=1 default=ignore]"; modulePath = "pam_succeed_if.so"; args = [ 829 + "service" "=" "systemd-user" 830 + ]; } 831 + { name = "zfs_key"; enable = cfg.zfs; control = "optional"; modulePath = "${config.boot.zfs.package}/lib/security/pam_zfs_key.so"; settings = { 832 + inherit (config.security.pam.zfs) homes; 833 + nounmount = config.security.pam.zfs.noUnmount; 834 + }; } 835 + { name = "mount"; enable = cfg.pamMount; control = "optional"; modulePath = "${pkgs.pam_mount}/lib/security/pam_mount.so"; settings = { 836 + disable_interactive = true; 837 + }; } 838 + { name = "ldap"; enable = use_ldap; control = "optional"; modulePath = "${pam_ldap}/lib/security/pam_ldap.so"; } 839 + { name = "mysql"; enable = cfg.mysqlAuth; control = "optional"; modulePath = "${pkgs.pam_mysql}/lib/security/pam_mysql.so"; settings = { 840 + config_file = "/etc/security/pam_mysql.conf"; 841 + }; } 842 + { name = "kanidm"; enable = config.services.kanidm.enablePam; control = "optional"; modulePath = "${pkgs.kanidm}/lib/pam_kanidm.so"; } 843 + { name = "sss"; enable = config.services.sssd.enable; control = "optional"; modulePath = "${pkgs.sssd}/lib/security/pam_sss.so"; } 844 + { name = "krb5"; enable = config.security.pam.krb5.enable; control = "optional"; modulePath = "${pam_krb5}/lib/security/pam_krb5.so"; } 845 + { name = "otpw"; enable = cfg.otpwAuth; control = "optional"; modulePath = "${pkgs.otpw}/lib/security/pam_otpw.so"; } 846 + { name = "systemd"; enable = cfg.startSession; control = "optional"; modulePath = "${config.systemd.package}/lib/security/pam_systemd.so"; } 847 + { name = "xauth"; enable = cfg.forwardXAuth; control = "optional"; modulePath = "pam_xauth.so"; settings = { 848 + xauthpath = "${pkgs.xorg.xauth}/bin/xauth"; 849 + systemuser = 99; 850 + }; } 851 + { name = "limits"; enable = cfg.limits != []; control = "required"; modulePath = "${pkgs.pam}/lib/security/pam_limits.so"; settings = { 852 + conf = "${makeLimitsConf cfg.limits}"; 853 + }; } 854 + { name = "motd"; enable = cfg.showMotd && (config.users.motd != null || config.users.motdFile != null); control = "optional"; modulePath = "${pkgs.pam}/lib/security/pam_motd.so"; settings = { 855 + inherit motd; 856 + }; } 857 + { name = "apparmor"; enable = cfg.enableAppArmor && config.security.apparmor.enable; control = "optional"; modulePath = "${pkgs.apparmor-pam}/lib/security/pam_apparmor.so"; settings = { 858 + order = "user,group,default"; 859 + debug = true; 860 + }; } 861 + { name = "kwallet5"; enable = cfg.enableKwallet; control = "optional"; modulePath = "${pkgs.plasma5Packages.kwallet-pam}/lib/security/pam_kwallet5.so"; settings = { 862 + kwalletd = "${pkgs.plasma5Packages.kwallet.bin}/bin/kwalletd5"; 863 + }; } 864 + { name = "gnome_keyring"; enable = cfg.enableGnomeKeyring; control = "optional"; modulePath = "${pkgs.gnome.gnome-keyring}/lib/security/pam_gnome_keyring.so"; settings = { 865 + auto_start = true; 866 + }; } 867 + { name = "gnupg"; enable = cfg.gnupg.enable; control = "optional"; modulePath = "${pkgs.pam_gnupg}/lib/security/pam_gnupg.so"; settings = { 868 + no-autostart = cfg.gnupg.noAutostart; 869 + }; } 870 + { name = "cgfs"; enable = config.virtualisation.lxc.lxcfs.enable; control = "optional"; modulePath = "${pkgs.lxc}/lib/security/pam_cgfs.so"; args = [ 871 + "-c" "all" 872 + ]; } 873 + ]; 874 + }; 769 875 }; 770 876 771 877 }; ··· 840 946 in 841 947 842 948 { 949 + 950 + meta.maintainers = [ maintainers.majiir ]; 843 951 844 952 imports = [ 845 953 (mkRenamedOptionModule [ "security" "pam" "enableU2F" ] [ "security" "pam" "u2f" "enable" ]) ··· 1402 1510 fscrypt = {}; 1403 1511 }; 1404 1512 1405 - security.apparmor.includes."abstractions/pam" = let 1406 - isEnabled = test: fold or false (map test (attrValues config.security.pam.services)); 1407 - in 1513 + security.apparmor.includes."abstractions/pam" = 1408 1514 lib.concatMapStrings 1409 1515 (name: "r ${config.environment.etc."pam.d/${name}".source},\n") 1410 1516 (attrNames config.security.pam.services) + ··· 1413 1519 mr ${getLib pkgs.pam}/lib/security/pam_*.so, 1414 1520 r ${getLib pkgs.pam}/lib/security/, 1415 1521 '' + 1416 - optionalString use_ldap '' 1417 - mr ${pam_ldap}/lib/security/pam_ldap.so, 1418 - '' + 1419 - optionalString config.services.kanidm.enablePam '' 1420 - mr ${pkgs.kanidm}/lib/pam_kanidm.so, 1421 - '' + 1422 - optionalString config.services.sssd.enable '' 1423 - mr ${pkgs.sssd}/lib/security/pam_sss.so, 1424 - '' + 1425 - optionalString config.security.pam.krb5.enable '' 1426 - mr ${pam_krb5}/lib/security/pam_krb5.so, 1427 - mr ${pam_ccreds}/lib/security/pam_ccreds.so, 1428 - '' + 1429 - optionalString (isEnabled (cfg: cfg.googleOsLoginAccountVerification)) '' 1430 - mr ${pkgs.google-guest-oslogin}/lib/security/pam_oslogin_login.so, 1431 - mr ${pkgs.google-guest-oslogin}/lib/security/pam_oslogin_admin.so, 1432 - '' + 1433 - optionalString (isEnabled (cfg: cfg.googleOsLoginAuthentication)) '' 1434 - mr ${pkgs.google-guest-oslogin}/lib/security/pam_oslogin_login.so, 1435 - '' + 1436 - optionalString (config.security.pam.enableSSHAgentAuth 1437 - && isEnabled (cfg: cfg.sshAgentAuth)) '' 1438 - mr ${pkgs.pam_ssh_agent_auth}/libexec/pam_ssh_agent_auth.so, 1439 - '' + 1440 - optionalString (isEnabled (cfg: cfg.fprintAuth)) '' 1441 - mr ${pkgs.fprintd}/lib/security/pam_fprintd.so, 1442 - '' + 1443 - optionalString (isEnabled (cfg: cfg.u2fAuth)) '' 1444 - mr ${pkgs.pam_u2f}/lib/security/pam_u2f.so, 1445 - '' + 1446 - optionalString (isEnabled (cfg: cfg.usbAuth)) '' 1447 - mr ${pkgs.pam_usb}/lib/security/pam_usb.so, 1448 - '' + 1449 - optionalString (isEnabled (cfg: cfg.usshAuth)) '' 1450 - mr ${pkgs.pam_ussh}/lib/security/pam_ussh.so, 1451 - '' + 1452 - optionalString (isEnabled (cfg: cfg.oathAuth)) '' 1453 - "mr ${pkgs.oath-toolkit}/lib/security/pam_oath.so, 1454 - '' + 1455 - optionalString (isEnabled (cfg: cfg.mysqlAuth)) '' 1456 - mr ${pkgs.pam_mysql}/lib/security/pam_mysql.so, 1457 - '' + 1458 - optionalString (isEnabled (cfg: cfg.yubicoAuth)) '' 1459 - mr ${pkgs.yubico-pam}/lib/security/pam_yubico.so, 1460 - '' + 1461 - optionalString (isEnabled (cfg: cfg.duoSecurity.enable)) '' 1462 - mr ${pkgs.duo-unix}/lib/security/pam_duo.so, 1463 - '' + 1464 - optionalString (isEnabled (cfg: cfg.otpwAuth)) '' 1465 - mr ${pkgs.otpw}/lib/security/pam_otpw.so, 1466 - '' + 1467 - optionalString config.security.pam.enableEcryptfs '' 1468 - mr ${pkgs.ecryptfs}/lib/security/pam_ecryptfs.so, 1469 - '' + 1470 - optionalString config.security.pam.enableFscrypt '' 1471 - mr ${pkgs.fscrypt-experimental}/lib/security/pam_fscrypt.so, 1472 - '' + 1473 - optionalString (isEnabled (cfg: cfg.pamMount)) '' 1474 - mr ${pkgs.pam_mount}/lib/security/pam_mount.so, 1475 - '' + 1476 - optionalString (isEnabled (cfg: cfg.enableGnomeKeyring)) '' 1477 - mr ${pkgs.gnome.gnome-keyring}/lib/security/pam_gnome_keyring.so, 1478 - '' + 1479 - optionalString (isEnabled (cfg: cfg.startSession)) '' 1480 - mr ${config.systemd.package}/lib/security/pam_systemd.so, 1481 - '' + 1482 - optionalString (isEnabled (cfg: cfg.enableAppArmor) 1483 - && config.security.apparmor.enable) '' 1484 - mr ${pkgs.apparmor-pam}/lib/security/pam_apparmor.so, 1485 - '' + 1486 - optionalString (isEnabled (cfg: cfg.enableKwallet)) '' 1487 - mr ${pkgs.plasma5Packages.kwallet-pam}/lib/security/pam_kwallet5.so, 1488 - '' + 1489 - optionalString config.virtualisation.lxc.lxcfs.enable '' 1490 - mr ${pkgs.lxc}/lib/security/pam_cgfs.so, 1491 - '' + 1492 - optionalString (isEnabled (cfg: cfg.zfs)) '' 1493 - mr ${config.boot.zfs.package}/lib/security/pam_zfs_key.so, 1494 - '' + 1495 - optionalString config.services.homed.enable '' 1496 - mr ${config.systemd.package}/lib/security/pam_systemd_home.so 1497 - ''; 1522 + (with lib; pipe config.security.pam.services [ 1523 + attrValues 1524 + (catAttrs "rules") 1525 + (concatMap attrValues) 1526 + (concatMap attrValues) 1527 + (filter (rule: rule.enable)) 1528 + (catAttrs "modulePath") 1529 + (filter (hasPrefix "/")) 1530 + unique 1531 + (map (module: "mr ${module},")) 1532 + concatLines 1533 + ]); 1498 1534 }; 1499 1535 1500 1536 }
+79
nixos/modules/services/databases/ferretdb.nix
··· 1 + { config, pkgs, lib, ... }: 2 + 3 + with lib; 4 + 5 + let 6 + cfg = config.services.ferretdb; 7 + in 8 + { 9 + 10 + meta.maintainers = with lib.maintainers; [ julienmalka camillemndn ]; 11 + 12 + options = { 13 + services.ferretdb = { 14 + enable = mkEnableOption "FerretDB, an Open Source MongoDB alternative."; 15 + 16 + package = mkOption { 17 + type = types.package; 18 + example = literalExpression "pkgs.ferretdb"; 19 + default = pkgs.ferretdb; 20 + defaultText = "pkgs.ferretdb"; 21 + description = "FerretDB package to use."; 22 + }; 23 + 24 + settings = lib.mkOption { 25 + type = 26 + lib.types.submodule { freeformType = with lib.types; attrsOf str; }; 27 + example = { 28 + FERRETDB_LOG_LEVEL = "warn"; 29 + FERRETDB_MODE = "normal"; 30 + }; 31 + description = '' 32 + Additional configuration for FerretDB, see 33 + <https://docs.ferretdb.io/flags/> 34 + for supported values. 35 + ''; 36 + }; 37 + }; 38 + }; 39 + 40 + config = mkIf cfg.enable 41 + { 42 + 43 + services.ferretdb.settings = { 44 + FERRETDB_HANDLER = lib.mkDefault "sqlite"; 45 + FERRETDB_SQLITE_URL = lib.mkDefault "file:/var/lib/ferretdb/"; 46 + }; 47 + 48 + systemd.services.ferretdb = { 49 + description = "FerretDB"; 50 + after = [ "network.target" ]; 51 + wantedBy = [ "multi-user.target" ]; 52 + environment = cfg.settings; 53 + serviceConfig = { 54 + Type = "simple"; 55 + StateDirectory = "ferretdb"; 56 + WorkingDirectory = "/var/lib/ferretdb"; 57 + ExecStart = "${cfg.package}/bin/ferretdb"; 58 + Restart = "on-failure"; 59 + ProtectHome = true; 60 + ProtectSystem = "strict"; 61 + PrivateTmp = true; 62 + PrivateDevices = true; 63 + ProtectHostname = true; 64 + ProtectClock = true; 65 + ProtectKernelTunables = true; 66 + ProtectKernelModules = true; 67 + ProtectKernelLogs = true; 68 + ProtectControlGroups = true; 69 + NoNewPrivileges = true; 70 + RestrictRealtime = true; 71 + RestrictSUIDSGID = true; 72 + RemoveIPC = true; 73 + PrivateMounts = true; 74 + DynamicUser = true; 75 + }; 76 + }; 77 + }; 78 + } 79 +
+60 -22
nixos/modules/services/matrix/synapse.nix
··· 72 72 inherit (cfg) plugins; 73 73 }; 74 74 75 - logConfig = logName: { 75 + defaultCommonLogConfig = { 76 76 version = 1; 77 77 formatters.journal_fmt.format = "%(name)s: [%(request)s] %(message)s"; 78 78 handlers.journal = { 79 79 class = "systemd.journal.JournalHandler"; 80 80 formatter = "journal_fmt"; 81 - SYSLOG_IDENTIFIER = logName; 82 81 }; 83 82 root = { 84 83 level = "INFO"; ··· 86 85 }; 87 86 disable_existing_loggers = false; 88 87 }; 88 + 89 + defaultCommonLogConfigText = generators.toPretty { } defaultCommonLogConfig; 90 + 89 91 logConfigText = logName: 90 - let 91 - expr = '' 92 - { 93 - version = 1; 94 - formatters.journal_fmt.format = "%(name)s: [%(request)s] %(message)s"; 95 - handlers.journal = { 96 - class = "systemd.journal.JournalHandler"; 97 - formatter = "journal_fmt"; 98 - SYSLOG_IDENTIFIER = "${logName}"; 99 - }; 100 - root = { 101 - level = "INFO"; 102 - handlers = [ "journal" ]; 103 - }; 104 - disable_existing_loggers = false; 105 - }; 106 - ''; 107 - in 108 92 lib.literalMD '' 109 93 Path to a yaml file generated from this Nix expression: 110 94 111 95 ``` 112 - ${expr} 96 + ${generators.toPretty { } ( 97 + recursiveUpdate defaultCommonLogConfig { handlers.journal.SYSLOG_IDENTIFIER = logName; } 98 + )} 113 99 ``` 114 100 ''; 115 - genLogConfigFile = logName: format.generate "synapse-log-${logName}.yaml" (logConfig logName); 101 + 102 + genLogConfigFile = logName: format.generate 103 + "synapse-log-${logName}.yaml" 104 + (cfg.log // optionalAttrs (cfg.log?handlers.journal) { 105 + handlers.journal = cfg.log.handlers.journal // { 106 + SYSLOG_IDENTIFIER = logName; 107 + }; 108 + }); 116 109 in { 117 110 118 111 imports = [ ··· 393 386 description = lib.mdDoc '' 394 387 The directory where matrix-synapse stores its stateful data such as 395 388 certificates, media and uploads. 389 + ''; 390 + }; 391 + 392 + log = mkOption { 393 + type = types.attrsOf format.type; 394 + defaultText = literalExpression defaultCommonLogConfigText; 395 + description = mdDoc '' 396 + Default configuration for the loggers used by `matrix-synapse` and its workers. 397 + The defaults are added with the default priority which means that 398 + these will be merged with additional declarations. These additional 399 + declarations also take precedence over the defaults when declared 400 + with at least normal priority. For instance 401 + the log-level for synapse and its workers can be changed like this: 402 + 403 + ```nix 404 + { lib, ... }: { 405 + services.matrix-synapse.log.root.level = "WARNING"; 406 + } 407 + ``` 408 + 409 + And another field can be added like this: 410 + 411 + ```nix 412 + { 413 + services.matrix-synapse.log = { 414 + loggers."synapse.http.matrixfederationclient".level = "DEBUG"; 415 + }; 416 + } 417 + ``` 418 + 419 + Additionally, the field `handlers.journal.SYSLOG_IDENTIFIER` will be added to 420 + each log config, i.e. 421 + * `synapse` for `matrix-synapse.service` 422 + * `synapse-<worker name>` for `matrix-synapse-worker-<worker name>.service` 423 + 424 + This is only done if this option has a `handlers.journal` field declared. 425 + 426 + To discard all settings declared by this option for each worker and synapse, 427 + `lib.mkForce` can be used. 428 + 429 + To discard all settings declared by this option for a single worker or synapse only, 430 + [](#opt-services.matrix-synapse.workers._name_.worker_log_config) or 431 + [](#opt-services.matrix-synapse.settings.log_config) can be used. 396 432 ''; 397 433 }; 398 434 ··· 992 1028 993 1029 # default them, so they are additive 994 1030 services.matrix-synapse.extras = defaultExtras; 1031 + 1032 + services.matrix-synapse.log = mapAttrsRecursive (const mkDefault) defaultCommonLogConfig; 995 1033 996 1034 users.users.matrix-synapse = { 997 1035 group = "matrix-synapse";
+624
nixos/modules/services/monitoring/librenms.nix
··· 1 + { config, lib, pkgs, ... }: 2 + 3 + let 4 + cfg = config.services.librenms; 5 + settingsFormat = pkgs.formats.json {}; 6 + configJson = settingsFormat.generate "librenms-config.json" cfg.settings; 7 + 8 + package = pkgs.librenms.override { 9 + logDir = cfg.logDir; 10 + dataDir = cfg.dataDir; 11 + }; 12 + 13 + phpOptions = '' 14 + log_errors = on 15 + post_max_size = 100M 16 + upload_max_filesize = 100M 17 + date.timezone = "${config.time.timeZone}" 18 + ''; 19 + phpIni = pkgs.runCommand "php.ini" { 20 + inherit (package) phpPackage; 21 + inherit phpOptions; 22 + preferLocalBuild = true; 23 + passAsFile = [ "phpOptions" ]; 24 + } '' 25 + cat $phpPackage/etc/php.ini $phpOptionsPath > $out 26 + ''; 27 + 28 + artisanWrapper = pkgs.writeShellScriptBin "librenms-artisan" '' 29 + cd ${package} 30 + sudo=exec 31 + if [[ "$USER" != ${cfg.user} ]]; then 32 + sudo='exec /run/wrappers/bin/sudo -u ${cfg.user}' 33 + fi 34 + $sudo ${package}/artisan $* 35 + ''; 36 + 37 + lnmsWrapper = pkgs.writeShellScriptBin "lnms" '' 38 + cd ${package} 39 + exec ${package}/lnms $* 40 + ''; 41 + 42 + configFile = pkgs.writeText "config.php" '' 43 + <?php 44 + $new_config = json_decode(file_get_contents("${cfg.dataDir}/config.json"), true); 45 + $config = ($config == null) ? $new_config : array_merge($config, $new_config); 46 + 47 + ${lib.optionalString (cfg.extraConfig != null) cfg.extraConfig} 48 + ''; 49 + 50 + in { 51 + options.services.librenms = with lib; { 52 + enable = mkEnableOption "LibreNMS network monitoring system"; 53 + 54 + user = mkOption { 55 + type = types.str; 56 + default = "librenms"; 57 + description = '' 58 + Name of the LibreNMS user. 59 + ''; 60 + }; 61 + 62 + group = mkOption { 63 + type = types.str; 64 + default = "librenms"; 65 + description = '' 66 + Name of the LibreNMS group. 67 + ''; 68 + }; 69 + 70 + hostname = mkOption { 71 + type = types.str; 72 + default = config.networking.fqdnOrHostName; 73 + defaultText = literalExpression "config.networking.fqdnOrHostName"; 74 + description = '' 75 + The hostname to serve LibreNMS on. 76 + ''; 77 + }; 78 + 79 + pollerThreads = mkOption { 80 + type = types.int; 81 + default = 16; 82 + description = '' 83 + Amount of threads of the cron-poller. 84 + ''; 85 + }; 86 + 87 + enableOneMinutePolling = mkOption { 88 + type = types.bool; 89 + default = false; 90 + description = '' 91 + Enables the [1-Minute Polling](https://docs.librenms.org/Support/1-Minute-Polling/). 92 + Changing this option will automatically convert your existing rrd files. 93 + ''; 94 + }; 95 + 96 + useDistributedPollers = mkOption { 97 + type = types.bool; 98 + default = false; 99 + description = '' 100 + Enables (distributed pollers)[https://docs.librenms.org/Extensions/Distributed-Poller/] 101 + for this LibreNMS instance. This will enable a local `rrdcached` and `memcached` server. 102 + 103 + To use this feature, make sure to configure your firewall that the distributed pollers 104 + can reach the local `mysql`, `rrdcached` and `memcached` ports. 105 + ''; 106 + }; 107 + 108 + distributedPoller = { 109 + enable = mkOption { 110 + type = types.bool; 111 + default = false; 112 + description = '' 113 + Configure this LibreNMS instance as a (distributed poller)[https://docs.librenms.org/Extensions/Distributed-Poller/]. 114 + This will disable all web features and just configure the poller features. 115 + Use the `mysql` database of your main LibreNMS instance in the database settings. 116 + ''; 117 + }; 118 + 119 + name = mkOption { 120 + type = types.nullOr types.str; 121 + default = null; 122 + description = '' 123 + Custom name of this poller. 124 + ''; 125 + }; 126 + 127 + group = mkOption { 128 + type = types.str; 129 + default = "0"; 130 + example = "1,2"; 131 + description = '' 132 + Group(s) of this poller. 133 + ''; 134 + }; 135 + 136 + distributedBilling = mkOption { 137 + type = types.bool; 138 + default = false; 139 + description = '' 140 + Enable distributed billing on this poller. 141 + ''; 142 + }; 143 + 144 + memcachedHost = mkOption { 145 + type = types.str; 146 + description = '' 147 + Hostname or IP of the `memcached` server. 148 + ''; 149 + }; 150 + 151 + memcachedPort = mkOption { 152 + type = types.port; 153 + default = 11211; 154 + description = '' 155 + Port of the `memcached` server. 156 + ''; 157 + }; 158 + 159 + rrdcachedHost = mkOption { 160 + type = types.str; 161 + description = '' 162 + Hostname or IP of the `rrdcached` server. 163 + ''; 164 + }; 165 + 166 + rrdcachedPort = mkOption { 167 + type = types.port; 168 + default = 42217; 169 + description = '' 170 + Port of the `memcached` server. 171 + ''; 172 + }; 173 + }; 174 + 175 + poolConfig = mkOption { 176 + type = with types; attrsOf (oneOf [ str int bool ]); 177 + default = { 178 + "pm" = "dynamic"; 179 + "pm.max_children" = 32; 180 + "pm.start_servers" = 2; 181 + "pm.min_spare_servers" = 2; 182 + "pm.max_spare_servers" = 4; 183 + "pm.max_requests" = 500; 184 + }; 185 + description = '' 186 + Options for the LibreNMS PHP pool. See the documentation on `php-fpm.conf` 187 + for details on configuration directives. 188 + ''; 189 + }; 190 + 191 + nginx = mkOption { 192 + type = types.submodule ( 193 + recursiveUpdate 194 + (import ../web-servers/nginx/vhost-options.nix { inherit config lib; }) {} 195 + ); 196 + default = { }; 197 + example = literalExpression '' 198 + { 199 + serverAliases = [ 200 + "librenms.''${config.networking.domain}" 201 + ]; 202 + # To enable encryption and let let's encrypt take care of certificate 203 + forceSSL = true; 204 + enableACME = true; 205 + # To set the LibreNMS virtualHost as the default virtualHost; 206 + default = true; 207 + } 208 + ''; 209 + description = '' 210 + With this option, you can customize the nginx virtualHost settings. 211 + ''; 212 + }; 213 + 214 + dataDir = mkOption { 215 + type = types.path; 216 + default = "/var/lib/librenms"; 217 + description = '' 218 + Path of the LibreNMS state directory. 219 + ''; 220 + }; 221 + 222 + logDir = mkOption { 223 + type = types.path; 224 + default = "/var/log/librenms"; 225 + description = '' 226 + Path of the LibreNMS logging directory. 227 + ''; 228 + }; 229 + 230 + database = { 231 + createLocally = mkOption { 232 + type = types.bool; 233 + default = false; 234 + description = '' 235 + Whether to create a local database automatically. 236 + ''; 237 + }; 238 + 239 + host = mkOption { 240 + default = "localhost"; 241 + description = '' 242 + Hostname or IP of the MySQL/MariaDB server. 243 + ''; 244 + }; 245 + 246 + port = mkOption { 247 + type = types.port; 248 + default = 3306; 249 + description = '' 250 + Port of the MySQL/MariaDB server. 251 + ''; 252 + }; 253 + 254 + database = mkOption { 255 + type = types.str; 256 + default = "librenms"; 257 + description = '' 258 + Name of the database on the MySQL/MariaDB server. 259 + ''; 260 + }; 261 + 262 + username = mkOption { 263 + type = types.str; 264 + default = "librenms"; 265 + description = '' 266 + Name of the user on the MySQL/MariaDB server. 267 + ''; 268 + }; 269 + 270 + passwordFile = mkOption { 271 + type = types.path; 272 + example = "/run/secrets/mysql.pass"; 273 + description = '' 274 + A file containing the password for the user of the MySQL/MariaDB server. 275 + Must be readable for the LibreNMS user. 276 + ''; 277 + }; 278 + }; 279 + 280 + environmentFile = mkOption { 281 + type = types.nullOr types.str; 282 + default = null; 283 + description = '' 284 + File containing env-vars to be substituted into the final config. Useful for secrets. 285 + Does not apply to settings defined in `extraConfig`. 286 + ''; 287 + }; 288 + 289 + settings = mkOption { 290 + type = types.submodule { 291 + freeformType = settingsFormat.type; 292 + options = {}; 293 + }; 294 + description = '' 295 + Attrset of the LibreNMS configuration. 296 + See https://docs.librenms.org/Support/Configuration/ for reference. 297 + All possible options are listed [here](https://github.com/librenms/librenms/blob/master/misc/config_definitions.json). 298 + See https://docs.librenms.org/Extensions/Authentication/ for setting other authentication methods. 299 + ''; 300 + default = { }; 301 + example = { 302 + base_url = "/librenms/"; 303 + top_devices = true; 304 + top_ports = false; 305 + }; 306 + }; 307 + 308 + extraConfig = mkOption { 309 + type = types.nullOr types.str; 310 + default = null; 311 + description = '' 312 + Additional config for LibreNMS that will be appended to the `config.php`. See 313 + https://github.com/librenms/librenms/blob/master/misc/config_definitions.json 314 + for possible options. Useful if you want to use PHP-Functions in your config. 315 + ''; 316 + }; 317 + }; 318 + 319 + config = lib.mkIf cfg.enable { 320 + assertions = [ 321 + { 322 + assertion = config.time.timeZone != null; 323 + message = "You must set `time.timeZone` to use the LibreNMS module."; 324 + } 325 + { 326 + assertion = cfg.database.createLocally -> cfg.database.host == "localhost"; 327 + message = "The database host must be \"localhost\" if services.librenms.database.createLocally is set to true."; 328 + } 329 + { 330 + assertion = !(cfg.useDistributedPollers && cfg.distributedPoller.enable); 331 + message = "The LibreNMS instance can't be a distributed poller and a full instance at the same time."; 332 + } 333 + ]; 334 + 335 + users.users.${cfg.user} = { 336 + group = "${cfg.group}"; 337 + isSystemUser = true; 338 + }; 339 + 340 + users.groups.${cfg.group} = { }; 341 + 342 + services.librenms.settings = { 343 + # basic configs 344 + "user" = cfg.user; 345 + "own_hostname" = cfg.hostname; 346 + "base_url" = lib.mkDefault "/"; 347 + "auth_mechanism" = lib.mkDefault "mysql"; 348 + 349 + # disable auto update function (won't work with NixOS) 350 + "update" = false; 351 + 352 + # enable fast ping by default 353 + "ping_rrd_step" = 60; 354 + 355 + # one minute polling 356 + "rrd.step" = if cfg.enableOneMinutePolling then 60 else 300; 357 + "rrd.heartbeat" = if cfg.enableOneMinutePolling then 120 else 600; 358 + } // (lib.optionalAttrs cfg.distributedPoller.enable { 359 + "distributed_poller" = true; 360 + "distributed_poller_name" = lib.mkIf (cfg.distributedPoller.name != null) cfg.distributedPoller.name; 361 + "distributed_poller_group" = cfg.distributedPoller.group; 362 + "distributed_billing" = cfg.distributedPoller.distributedBilling; 363 + "distributed_poller_memcached_host" = cfg.distributedPoller.memcachedHost; 364 + "distributed_poller_memcached_port" = cfg.distributedPoller.memcachedPort; 365 + "rrdcached" = "${cfg.distributedPoller.rrdcachedHost}:${toString cfg.distributedPoller.rrdcachedPort}"; 366 + }) // (lib.optionalAttrs cfg.useDistributedPollers { 367 + "distributed_poller" = true; 368 + # still enable a local poller with distributed polling 369 + "distributed_poller_group" = lib.mkDefault "0"; 370 + "distributed_billing" = lib.mkDefault true; 371 + "distributed_poller_memcached_host" = "localhost"; 372 + "distributed_poller_memcached_port" = 11211; 373 + "rrdcached" = "localhost:42217"; 374 + }); 375 + 376 + services.memcached = lib.mkIf cfg.useDistributedPollers { 377 + enable = true; 378 + listen = "0.0.0.0"; 379 + }; 380 + 381 + systemd.services.rrdcached = lib.mkIf cfg.useDistributedPollers { 382 + description = "rrdcached"; 383 + after = [ "librenms-setup.service" ]; 384 + wantedBy = [ "multi-user.target" ]; 385 + serviceConfig = { 386 + Type = "forking"; 387 + User = cfg.user; 388 + Group = cfg.group; 389 + LimitNOFILE = 16384; 390 + RuntimeDirectory = "rrdcached"; 391 + PidFile = "/run/rrdcached/rrdcached.pid"; 392 + # rrdcached params from https://docs.librenms.org/Extensions/Distributed-Poller/#config-sample 393 + ExecStart = "${pkgs.rrdtool}/bin/rrdcached -l 0:42217 -R -j ${cfg.dataDir}/rrdcached-journal/ -F -b ${cfg.dataDir}/rrd -B -w 1800 -z 900 -p /run/rrdcached/rrdcached.pid"; 394 + }; 395 + }; 396 + 397 + services.mysql = lib.mkIf cfg.database.createLocally { 398 + enable = true; 399 + package = lib.mkDefault pkgs.mariadb; 400 + settings.mysqld = { 401 + innodb_file_per_table = 1; 402 + lower_case_table_names = 0; 403 + } // (lib.optionalAttrs cfg.useDistributedPollers { 404 + bind-address = "0.0.0.0"; 405 + }); 406 + ensureDatabases = [ cfg.database.database ]; 407 + ensureUsers = [ 408 + { 409 + name = cfg.database.username; 410 + ensurePermissions = { 411 + "${cfg.database.database}.*" = "ALL PRIVILEGES"; 412 + }; 413 + } 414 + ]; 415 + initialScript = lib.mkIf cfg.useDistributedPollers (pkgs.writeText "mysql-librenms-init" '' 416 + CREATE USER IF NOT EXISTS '${cfg.database.username}'@'%'; 417 + GRANT ALL PRIVILEGES ON ${cfg.database.database}.* TO '${cfg.database.username}'@'%'; 418 + ''); 419 + }; 420 + 421 + services.nginx = lib.mkIf (!cfg.distributedPoller.enable) { 422 + enable = true; 423 + virtualHosts."${cfg.hostname}" = lib.mkMerge [ 424 + cfg.nginx 425 + { 426 + root = lib.mkForce "${package}/html"; 427 + locations."/" = { 428 + index = "index.php"; 429 + tryFiles = "$uri $uri/ /index.php?$query_string"; 430 + }; 431 + locations."~ .php$".extraConfig = '' 432 + fastcgi_pass unix:${config.services.phpfpm.pools."librenms".socket}; 433 + fastcgi_split_path_info ^(.+\.php)(/.+)$; 434 + ''; 435 + } 436 + ]; 437 + }; 438 + 439 + services.phpfpm.pools.librenms = lib.mkIf (!cfg.distributedPoller.enable) { 440 + user = cfg.user; 441 + group = cfg.group; 442 + inherit (package) phpPackage; 443 + inherit phpOptions; 444 + settings = { 445 + "listen.mode" = "0660"; 446 + "listen.owner" = config.services.nginx.user; 447 + "listen.group" = config.services.nginx.group; 448 + } // cfg.poolConfig; 449 + }; 450 + 451 + systemd.services.librenms-scheduler = { 452 + description = "LibreNMS Scheduler"; 453 + path = [ pkgs.unixtools.whereis ]; 454 + serviceConfig = { 455 + Type = "oneshot"; 456 + WorkingDirectory = package; 457 + User = cfg.user; 458 + Group = cfg.group; 459 + ExecStart = "${artisanWrapper}/bin/librenms-artisan schedule:run"; 460 + }; 461 + }; 462 + 463 + systemd.timers.librenms-scheduler = { 464 + description = "LibreNMS Scheduler"; 465 + wantedBy = [ "timers.target" ]; 466 + timerConfig = { 467 + OnCalendar = "minutely"; 468 + AccuracySec = "1second"; 469 + }; 470 + }; 471 + 472 + systemd.services.librenms-setup = { 473 + description = "Preparation tasks for LibreNMS"; 474 + before = [ "phpfpm-librenms.service" ]; 475 + after = [ "systemd-tmpfiles-setup.service" ] 476 + ++ (lib.optional (cfg.database.host == "localhost") "mysql.service"); 477 + wantedBy = [ "multi-user.target" ]; 478 + restartTriggers = [ package configFile ]; 479 + path = [ pkgs.mariadb pkgs.unixtools.whereis pkgs.gnused ]; 480 + serviceConfig = { 481 + Type = "oneshot"; 482 + RemainAfterExit = true; 483 + EnvironmentFile = lib.mkIf (cfg.environmentFile != null) [ cfg.environmentFile ]; 484 + User = cfg.user; 485 + Group = cfg.group; 486 + ExecStartPre = lib.mkIf cfg.database.createLocally [ "!${pkgs.writeShellScript "librenms-db-init" '' 487 + DB_PASSWORD=$(cat ${cfg.database.passwordFile} | tr -d '\n') 488 + echo "ALTER USER '${cfg.database.username}'@'localhost' IDENTIFIED BY '$DB_PASSWORD';" | ${pkgs.mariadb}/bin/mysql 489 + ${lib.optionalString cfg.useDistributedPollers '' 490 + echo "ALTER USER '${cfg.database.username}'@'%' IDENTIFIED BY '$DB_PASSWORD';" | ${pkgs.mariadb}/bin/mysql 491 + ''} 492 + ''}"]; 493 + }; 494 + script = '' 495 + set -euo pipefail 496 + 497 + # config setup 498 + ln -sf ${configFile} ${cfg.dataDir}/config.php 499 + ${pkgs.envsubst}/bin/envsubst -i ${configJson} -o ${cfg.dataDir}/config.json 500 + export PHPRC=${phpIni} 501 + 502 + if [[ ! -s ${cfg.dataDir}/.env ]]; then 503 + # init .env file 504 + echo "APP_KEY=" > ${cfg.dataDir}/.env 505 + ${artisanWrapper}/bin/librenms-artisan key:generate --ansi 506 + ${artisanWrapper}/bin/librenms-artisan webpush:vapid 507 + echo "" >> ${cfg.dataDir}/.env 508 + echo -n "NODE_ID=" >> ${cfg.dataDir}/.env 509 + ${package.phpPackage}/bin/php -r "echo uniqid();" >> ${cfg.dataDir}/.env 510 + echo "" >> ${cfg.dataDir}/.env 511 + else 512 + # .env file already exists --> only update database and cache config 513 + ${pkgs.gnused}/bin/sed -i /^DB_/d ${cfg.dataDir}/.env 514 + ${pkgs.gnused}/bin/sed -i /^CACHE_DRIVER/d ${cfg.dataDir}/.env 515 + fi 516 + ${lib.optionalString (cfg.useDistributedPollers || cfg.distributedPoller.enable) '' 517 + echo "CACHE_DRIVER=memcached" >> ${cfg.dataDir}/.env 518 + ''} 519 + echo "DB_HOST=${cfg.database.host}" >> ${cfg.dataDir}/.env 520 + echo "DB_PORT=${toString cfg.database.port}" >> ${cfg.dataDir}/.env 521 + echo "DB_DATABASE=${cfg.database.database}" >> ${cfg.dataDir}/.env 522 + echo "DB_USERNAME=${cfg.database.username}" >> ${cfg.dataDir}/.env 523 + echo -n "DB_PASSWORD=" >> ${cfg.dataDir}/.env 524 + cat ${cfg.database.passwordFile} >> ${cfg.dataDir}/.env 525 + 526 + # clear cache after update 527 + OLD_VERSION=$(cat ${cfg.dataDir}/version) 528 + if [[ $OLD_VERSION != "${package.version}" ]]; then 529 + rm -r ${cfg.dataDir}/cache/* 530 + echo "${package.version}" > ${cfg.dataDir}/version 531 + fi 532 + 533 + # convert rrd files when the oneMinutePolling option is changed 534 + OLD_ENABLED=$(cat ${cfg.dataDir}/one_minute_enabled) 535 + if [[ $OLD_ENABLED != "${lib.boolToString cfg.enableOneMinutePolling}" ]]; then 536 + ${package}/scripts/rrdstep.php -h all 537 + echo "${lib.boolToString cfg.enableOneMinutePolling}" > ${cfg.dataDir}/one_minute_enabled 538 + fi 539 + 540 + # migrate db 541 + ${artisanWrapper}/bin/librenms-artisan migrate --force --no-interaction 542 + ''; 543 + }; 544 + 545 + programs.mtr.enable = true; 546 + 547 + services.logrotate = { 548 + enable = true; 549 + settings."${cfg.logDir}/librenms.log" = { 550 + su = "${cfg.user} ${cfg.group}"; 551 + create = "0640 ${cfg.user} ${cfg.group}"; 552 + rotate = 6; 553 + frequency = "weekly"; 554 + compress = true; 555 + delaycompress = true; 556 + missingok = true; 557 + notifempty = true; 558 + }; 559 + }; 560 + 561 + services.cron = { 562 + enable = true; 563 + systemCronJobs = let 564 + env = "PHPRC=${phpIni}"; 565 + in [ 566 + # based on crontab provided by LibreNMS 567 + "33 */6 * * * ${cfg.user} ${env} ${package}/cronic ${package}/discovery-wrapper.py 1" 568 + "*/5 * * * * ${cfg.user} ${env} ${package}/discovery.php -h new >> /dev/null 2>&1" 569 + 570 + "${if cfg.enableOneMinutePolling then "*" else "*/5"} * * * * ${cfg.user} ${env} ${package}/cronic ${package}/poller-wrapper.py ${toString cfg.pollerThreads}" 571 + "* * * * * ${cfg.user} ${env} ${package}/alerts.php >> /dev/null 2>&1" 572 + 573 + "*/5 * * * * ${cfg.user} ${env} ${package}/poll-billing.php >> /dev/null 2>&1" 574 + "01 * * * * ${cfg.user} ${env} ${package}/billing-calculate.php >> /dev/null 2>&1" 575 + "*/5 * * * * ${cfg.user} ${env} ${package}/check-services.php >> /dev/null 2>&1" 576 + 577 + # extra: fast ping 578 + "* * * * * ${cfg.user} ${env} ${package}/ping.php >> /dev/null 2>&1" 579 + 580 + # daily.sh tasks are split to exclude update 581 + "19 0 * * * ${cfg.user} ${env} ${package}/daily.sh cleanup >> /dev/null 2>&1" 582 + "19 0 * * * ${cfg.user} ${env} ${package}/daily.sh notifications >> /dev/null 2>&1" 583 + "19 0 * * * ${cfg.user} ${env} ${package}/daily.sh peeringdb >> /dev/null 2>&1" 584 + "19 0 * * * ${cfg.user} ${env} ${package}/daily.sh mac_oui >> /dev/null 2>&1" 585 + ]; 586 + }; 587 + 588 + security.wrappers = { 589 + fping = { 590 + setuid = true; 591 + owner = "root"; 592 + group = "root"; 593 + source = "${pkgs.fping}/bin/fping"; 594 + }; 595 + }; 596 + 597 + environment.systemPackages = [ artisanWrapper lnmsWrapper ]; 598 + 599 + systemd.tmpfiles.rules = [ 600 + "d ${cfg.logDir} 0750 ${cfg.user} ${cfg.group} - -" 601 + "f ${cfg.logDir}/librenms.log 0640 ${cfg.user} ${cfg.group} - -" 602 + "d ${cfg.dataDir} 0750 ${cfg.user} ${cfg.group} - -" 603 + "f ${cfg.dataDir}/.env 0600 ${cfg.user} ${cfg.group} - -" 604 + "f ${cfg.dataDir}/version 0600 ${cfg.user} ${cfg.group} - -" 605 + "f ${cfg.dataDir}/one_minute_enabled 0600 ${cfg.user} ${cfg.group} - -" 606 + "f ${cfg.dataDir}/config.json 0600 ${cfg.user} ${cfg.group} - -" 607 + "d ${cfg.dataDir}/storage 0700 ${cfg.user} ${cfg.group} - -" 608 + "d ${cfg.dataDir}/storage/app 0700 ${cfg.user} ${cfg.group} - -" 609 + "d ${cfg.dataDir}/storage/debugbar 0700 ${cfg.user} ${cfg.group} - -" 610 + "d ${cfg.dataDir}/storage/framework 0700 ${cfg.user} ${cfg.group} - -" 611 + "d ${cfg.dataDir}/storage/framework/cache 0700 ${cfg.user} ${cfg.group} - -" 612 + "d ${cfg.dataDir}/storage/framework/sessions 0700 ${cfg.user} ${cfg.group} - -" 613 + "d ${cfg.dataDir}/storage/framework/views 0700 ${cfg.user} ${cfg.group} - -" 614 + "d ${cfg.dataDir}/storage/logs 0700 ${cfg.user} ${cfg.group} - -" 615 + "d ${cfg.dataDir}/rrd 0700 ${cfg.user} ${cfg.group} - -" 616 + "d ${cfg.dataDir}/cache 0700 ${cfg.user} ${cfg.group} - -" 617 + ] ++ lib.optionals cfg.useDistributedPollers [ 618 + "d ${cfg.dataDir}/rrdcached-journal 0700 ${cfg.user} ${cfg.group} - -" 619 + ]; 620 + 621 + }; 622 + 623 + meta.maintainers = lib.teams.wdz.members; 624 + }
+125
nixos/modules/services/networking/deconz.nix
··· 1 + { config, lib, pkgs, ... }: 2 + 3 + let 4 + cfg = config.services.deconz; 5 + name = "deconz"; 6 + stateDir = "/var/lib/${name}"; 7 + # ref. upstream deconz.service 8 + capabilities = 9 + lib.optionals (cfg.httpPort < 1024 || cfg.wsPort < 1024) [ "CAP_NET_BIND_SERVICE" ] 10 + ++ lib.optionals (cfg.allowRebootSystem) [ "CAP_SYS_BOOT" ] 11 + ++ lib.optionals (cfg.allowRestartService) [ "CAP_KILL" ] 12 + ++ lib.optionals (cfg.allowSetSystemTime) [ "CAP_SYS_TIME" ]; 13 + in 14 + { 15 + options.services.deconz = { 16 + 17 + enable = lib.mkEnableOption "deCONZ, a Zigbee gateway for use with ConBee hardware (https://phoscon.de/en/conbee2)"; 18 + 19 + package = lib.mkOption { 20 + type = lib.types.package; 21 + default = pkgs.deconz; 22 + defaultText = lib.literalExpression "pkgs.deconz"; 23 + description = "Which deCONZ package to use."; 24 + }; 25 + 26 + device = lib.mkOption { 27 + type = lib.types.nullOr lib.types.str; 28 + default = null; 29 + description = '' 30 + Force deCONZ to use a specific USB device (e.g. /dev/ttyACM0). By 31 + default it does a search. 32 + ''; 33 + }; 34 + 35 + listenAddress = lib.mkOption { 36 + type = lib.types.str; 37 + default = "127.0.0.1"; 38 + description = '' 39 + Pin deCONZ to the network interface specified through the provided IP 40 + address. This applies for the webserver as well as the websocket 41 + notifications. 42 + ''; 43 + }; 44 + 45 + httpPort = lib.mkOption { 46 + type = lib.types.port; 47 + default = 80; 48 + description = "TCP port for the web server."; 49 + }; 50 + 51 + wsPort = lib.mkOption { 52 + type = lib.types.port; 53 + default = 443; 54 + description = "TCP port for the WebSocket."; 55 + }; 56 + 57 + openFirewall = lib.mkEnableOption "open up the service ports in the firewall"; 58 + 59 + allowRebootSystem = lib.mkEnableOption "allow rebooting the system"; 60 + 61 + allowRestartService = lib.mkEnableOption "allow killing/restarting processes"; 62 + 63 + allowSetSystemTime = lib.mkEnableOption "allow setting the system time"; 64 + 65 + extraArgs = lib.mkOption { 66 + type = lib.types.listOf lib.types.str; 67 + default = [ ]; 68 + example = [ 69 + "--dbg-info=1" 70 + "--dbg-err=2" 71 + ]; 72 + description = '' 73 + Extra command line arguments for deCONZ, see 74 + https://github.com/dresden-elektronik/deconz-rest-plugin/wiki/deCONZ-command-line-parameters. 75 + ''; 76 + }; 77 + }; 78 + 79 + config = lib.mkIf cfg.enable { 80 + 81 + networking.firewall.allowedTCPPorts = lib.mkIf cfg.openFirewall [ 82 + cfg.httpPort 83 + cfg.wsPort 84 + ]; 85 + 86 + services.udev.packages = [ cfg.package ]; 87 + 88 + systemd.services.deconz = { 89 + description = "deCONZ Zigbee gateway"; 90 + wantedBy = [ "multi-user.target" ]; 91 + preStart = '' 92 + # The service puts a nix store path reference in here, and that path can 93 + # be garbage collected. Ensure the file gets "refreshed" on every start. 94 + rm -f ${stateDir}/.local/share/dresden-elektronik/deCONZ/zcldb.txt 95 + ''; 96 + environment = { 97 + HOME = stateDir; 98 + XDG_RUNTIME_DIR = "/run/${name}"; 99 + }; 100 + serviceConfig = { 101 + ExecStart = 102 + "${lib.getExe cfg.package}" 103 + + " -platform minimal" 104 + + " --http-listen=${cfg.listenAddress}" 105 + + " --http-port=${toString cfg.httpPort}" 106 + + " --ws-port=${toString cfg.wsPort}" 107 + + " --auto-connect=1" 108 + + (lib.optionalString (cfg.device != null) " --dev=${cfg.device}") 109 + + " " + (lib.escapeShellArgs cfg.extraArgs); 110 + Restart = "on-failure"; 111 + AmbientCapabilities = capabilities; 112 + CapabilityBoundingSet = capabilities; 113 + UMask = "0027"; 114 + DynamicUser = true; 115 + RuntimeDirectory = name; 116 + RuntimeDirectoryMode = "0700"; 117 + StateDirectory = name; 118 + WorkingDirectory = stateDir; 119 + # For access to /dev/ttyACM0 (ConBee). 120 + SupplementaryGroups = [ "dialout" ]; 121 + ProtectHome = true; 122 + }; 123 + }; 124 + }; 125 + }
+95
nixos/modules/services/security/tang.nix
··· 1 + { config, lib, pkgs, ... }: 2 + with lib; 3 + let 4 + cfg = config.services.tang; 5 + in 6 + { 7 + options.services.tang = { 8 + enable = mkEnableOption "tang"; 9 + 10 + package = mkOption { 11 + type = types.package; 12 + default = pkgs.tang; 13 + defaultText = literalExpression "pkgs.tang"; 14 + description = mdDoc "The tang package to use."; 15 + }; 16 + 17 + listenStream = mkOption { 18 + type = with types; listOf str; 19 + default = [ "7654" ]; 20 + example = [ "198.168.100.1:7654" "[2001:db8::1]:7654" "7654" ]; 21 + description = mdDoc '' 22 + Addresses and/or ports on which tang should listen. 23 + For detailed syntax see ListenStream in {manpage}`systemd.socket(5)`. 24 + ''; 25 + }; 26 + 27 + ipAddressAllow = mkOption { 28 + example = [ "192.168.1.0/24" ]; 29 + type = types.listOf types.str; 30 + description = '' 31 + Whitelist a list of address prefixes. 32 + Preferably, internal addresses should be used. 33 + ''; 34 + }; 35 + 36 + }; 37 + config = mkIf cfg.enable { 38 + environment.systemPackages = [ cfg.package ]; 39 + 40 + systemd.services."tangd@" = { 41 + description = "Tang server"; 42 + path = [ cfg.package ]; 43 + serviceConfig = { 44 + StandardInput = "socket"; 45 + StandardOutput = "socket"; 46 + StandardError = "journal"; 47 + DynamicUser = true; 48 + StateDirectory = "tang"; 49 + RuntimeDirectory = "tang"; 50 + StateDirectoryMode = "700"; 51 + UMask = "0077"; 52 + CapabilityBoundingSet = [ "" ]; 53 + ExecStart = "${cfg.package}/libexec/tangd %S/tang"; 54 + LockPersonality = true; 55 + MemoryDenyWriteExecute = true; 56 + NoNewPrivileges = true; 57 + DeviceAllow = [ "/dev/stdin" ]; 58 + RestrictAddressFamilies = [ "AF_UNIX" ]; 59 + DevicePolicy = "strict"; 60 + PrivateDevices = true; 61 + PrivateTmp = true; 62 + PrivateUsers = true; 63 + ProcSubset = "pid"; 64 + ProtectClock = true; 65 + ProtectControlGroups = true; 66 + ProtectHome = true; 67 + ProtectHostname = true; 68 + ProtectKernelLogs = true; 69 + ProtectKernelModules = true; 70 + ProtectKernelTunables = true; 71 + ProtectProc = "invisible"; 72 + ProtectSystem = "strict"; 73 + RestrictNamespaces = true; 74 + RestrictRealtime = true; 75 + RestrictSUIDSGID = true; 76 + SystemCallArchitectures = "native"; 77 + SystemCallFilter = [ "@system-service" "~@privileged" "~@resources" ]; 78 + IPAddressDeny = "any"; 79 + IPAddressAllow = cfg.ipAddressAllow; 80 + }; 81 + }; 82 + 83 + systemd.sockets.tangd = { 84 + description = "Tang server"; 85 + wantedBy = [ "sockets.target" ]; 86 + socketConfig = { 87 + ListenStream = cfg.listenStream; 88 + Accept = "yes"; 89 + IPAddressDeny = "any"; 90 + IPAddressAllow = cfg.ipAddressAllow; 91 + }; 92 + }; 93 + }; 94 + meta.maintainers = with lib.maintainers; [ jfroche julienmalka ]; 95 + }
+1 -1
nixos/modules/services/web-apps/writefreely.nix
··· 120 120 withConfigFile '' 121 121 query () { 122 122 local result=$(${sqlite}/bin/sqlite3 \ 123 - '${cfg.stateDir}/${settings.database.filename}' 123 + '${cfg.stateDir}/${settings.database.filename}' \ 124 124 "$1" \ 125 125 ) 126 126
+10 -1
nixos/modules/virtualisation/nixos-containers.nix
··· 649 649 ''; 650 650 }; 651 651 652 + restartIfChanged = mkOption { 653 + type = types.bool; 654 + default = true; 655 + description = lib.mdDoc '' 656 + Whether the container should be restarted during a NixOS 657 + configuration switch if its definition has changed. 658 + ''; 659 + }; 660 + 652 661 timeoutStartSec = mkOption { 653 662 type = types.str; 654 663 default = "1min"; ··· 826 835 containerConfig.path 827 836 config.environment.etc."${configurationDirectoryName}/${name}.conf".source 828 837 ]; 829 - restartIfChanged = true; 838 + restartIfChanged = containerConfig.restartIfChanged; 830 839 } 831 840 ) 832 841 )) config.containers)
+4
nixos/tests/all-tests.nix
··· 216 216 darling = handleTest ./darling.nix {}; 217 217 dae = handleTest ./dae.nix {}; 218 218 dconf = handleTest ./dconf.nix {}; 219 + deconz = handleTest ./deconz.nix {}; 219 220 deepin = handleTest ./deepin.nix {}; 220 221 deluge = handleTest ./deluge.nix {}; 221 222 dendrite = handleTest ./matrix/dendrite.nix {}; ··· 274 275 fcitx5 = handleTest ./fcitx5 {}; 275 276 fenics = handleTest ./fenics.nix {}; 276 277 ferm = handleTest ./ferm.nix {}; 278 + ferretdb = handleTest ./ferretdb.nix {}; 277 279 firefox = handleTest ./firefox.nix { firefoxPackage = pkgs.firefox; }; 278 280 firefox-beta = handleTest ./firefox.nix { firefoxPackage = pkgs.firefox-beta; }; 279 281 firefox-devedition = handleTest ./firefox.nix { firefoxPackage = pkgs.firefox-devedition; }; ··· 432 434 lemmy = handleTest ./lemmy.nix {}; 433 435 libinput = handleTest ./libinput.nix {}; 434 436 libreddit = handleTest ./libreddit.nix {}; 437 + librenms = handleTest ./librenms.nix {}; 435 438 libresprite = handleTest ./libresprite.nix {}; 436 439 libreswan = handleTest ./libreswan.nix {}; 437 440 librewolf = handleTest ./firefox.nix { firefoxPackage = pkgs.librewolf; }; ··· 806 809 systemd-userdbd = handleTest ./systemd-userdbd.nix {}; 807 810 systemd-homed = handleTest ./systemd-homed.nix {}; 808 811 tandoor-recipes = handleTest ./tandoor-recipes.nix {}; 812 + tang = handleTest ./tang.nix {}; 809 813 taskserver = handleTest ./taskserver.nix {}; 810 814 tayga = handleTest ./tayga.nix {}; 811 815 teeworlds = handleTest ./teeworlds.nix {};
+2 -7
nixos/tests/buildbot.nix
··· 1 1 # Test ensures buildbot master comes up correctly and workers can connect 2 2 3 - { system ? builtins.currentSystem, 4 - config ? {}, 5 - pkgs ? import ../.. { inherit system config; } 6 - }: 7 - 8 - import ./make-test-python.nix { 3 + import ./make-test-python.nix ({ pkgs, ... }: { 9 4 name = "buildbot"; 10 5 11 6 nodes = { ··· 110 105 ''; 111 106 112 107 meta.maintainers = with pkgs.lib.maintainers; [ ]; 113 - } {} 108 + })
+28
nixos/tests/deconz.nix
··· 1 + import ./make-test-python.nix ({ pkgs, lib, ... }: 2 + let 3 + httpPort = 800; 4 + in 5 + { 6 + name = "deconz"; 7 + 8 + meta.maintainers = with lib.maintainers; [ 9 + bjornfor 10 + ]; 11 + 12 + nodes.machine = { config, pkgs, lib, ... }: { 13 + nixpkgs.config.allowUnfree = true; 14 + services.deconz = { 15 + enable = true; 16 + inherit httpPort; 17 + extraArgs = [ 18 + "--dbg-err=2" 19 + "--dbg-info=2" 20 + ]; 21 + }; 22 + }; 23 + 24 + testScript = '' 25 + machine.wait_for_unit("deconz.service") 26 + machine.succeed("curl -sfL http://localhost:${toString httpPort}") 27 + ''; 28 + })
+64
nixos/tests/ferretdb.nix
··· 1 + { system ? builtins.currentSystem 2 + , pkgs ? import ../.. { inherit system; } 3 + , ... 4 + }: 5 + let 6 + lib = pkgs.lib; 7 + testScript = '' 8 + machine.start() 9 + machine.wait_for_unit("ferretdb.service") 10 + machine.wait_for_open_port(27017) 11 + machine.succeed("mongosh --eval 'use myNewDatabase;' --eval 'db.myCollection.insertOne( { x: 1 } );'") 12 + ''; 13 + in 14 + with import ../lib/testing-python.nix { inherit system; }; 15 + { 16 + 17 + postgresql = makeTest 18 + { 19 + inherit testScript; 20 + name = "ferretdb-postgresql"; 21 + meta.maintainers = with lib.maintainers; [ julienmalka ]; 22 + 23 + nodes.machine = 24 + { pkgs, ... }: 25 + { 26 + services.ferretdb = { 27 + enable = true; 28 + settings.FERRETDB_HANDLER = "pg"; 29 + settings.FERRETDB_POSTGRESQL_URL = "postgres://ferretdb@localhost/ferretdb?host=/run/postgresql"; 30 + }; 31 + 32 + systemd.services.ferretdb.serviceConfig = { 33 + Requires = "postgresql.service"; 34 + After = "postgresql.service"; 35 + }; 36 + 37 + services.postgresql = { 38 + enable = true; 39 + ensureDatabases = [ "ferretdb" ]; 40 + ensureUsers = [{ 41 + name = "ferretdb"; 42 + ensurePermissions."DATABASE ferretdb" = "ALL PRIVILEGES"; 43 + }]; 44 + }; 45 + 46 + environment.systemPackages = with pkgs; [ mongosh ]; 47 + }; 48 + }; 49 + 50 + sqlite = makeTest 51 + { 52 + inherit testScript; 53 + name = "ferretdb-sqlite"; 54 + meta.maintainers = with lib.maintainers; [ julienmalka ]; 55 + 56 + nodes.machine = 57 + { pkgs, ... }: 58 + { 59 + services.ferretdb.enable = true; 60 + 61 + environment.systemPackages = with pkgs; [ mongosh ]; 62 + }; 63 + }; 64 + }
+108
nixos/tests/librenms.nix
··· 1 + import ./make-test-python.nix ({ pkgs, lib, ... }: 2 + 3 + let 4 + api_token = "f87f42114e44b63ad1b9e3c3d33d6fbe"; # random md5 hash 5 + wrong_api_token = "e68ba041fcf1eab923a7a6de3af5f726"; # another random md5 hash 6 + in { 7 + name = "librenms"; 8 + meta.maintainers = lib.teams.wdz.members; 9 + 10 + nodes.librenms = { 11 + time.timeZone = "Europe/Berlin"; 12 + 13 + environment.systemPackages = with pkgs; [ 14 + curl 15 + jq 16 + ]; 17 + 18 + services.librenms = { 19 + enable = true; 20 + hostname = "librenms"; 21 + database = { 22 + createLocally = true; 23 + host = "localhost"; 24 + database = "librenms"; 25 + username = "librenms"; 26 + passwordFile = pkgs.writeText "librenms-db-pass" "librenmsdbpass"; 27 + }; 28 + nginx = { 29 + default = true; 30 + }; 31 + enableOneMinutePolling = true; 32 + settings = { 33 + enable_billing = true; 34 + }; 35 + }; 36 + 37 + # systemd oneshot to create a dummy admin user and a API token for testing 38 + systemd.services.lnms-api-init = { 39 + description = "LibreNMS API init"; 40 + after = [ "librenms-setup.service" ]; 41 + wantedBy = [ "multi-user.target" ]; 42 + serviceConfig = { 43 + Type = "oneshot"; 44 + RemainAfterExit = true; 45 + User = "root"; 46 + Group = "root"; 47 + }; 48 + script = '' 49 + API_USER_NAME=api 50 + API_TOKEN=${api_token} # random md5 hash 51 + 52 + # we don't need to know the password, it just has to exist 53 + API_USER_PASS=$(${pkgs.pwgen}/bin/pwgen -s 64 1) 54 + ${pkgs.librenms}/artisan user:add $API_USER_NAME -r admin -p $API_USER_PASS 55 + API_USER_ID=$(${pkgs.mariadb}/bin/mysql -D librenms -N -B -e "SELECT user_id FROM users WHERE username = '$API_USER_NAME';") 56 + 57 + ${pkgs.mariadb}/bin/mysql -D librenms -e "INSERT INTO api_tokens (user_id, token_hash, description) VALUES ($API_USER_ID, '$API_TOKEN', 'API User')" 58 + ''; 59 + }; 60 + }; 61 + 62 + nodes.snmphost = { 63 + networking.firewall.allowedUDPPorts = [ 161 ]; 64 + 65 + systemd.services.snmpd = { 66 + description = "snmpd"; 67 + after = [ "network-online.target" ]; 68 + wants = [ "network-online.target" ]; 69 + wantedBy = [ "multi-user.target" ]; 70 + serviceConfig = { 71 + Type = "forking"; 72 + User = "root"; 73 + Group = "root"; 74 + ExecStart = let 75 + snmpd-config = pkgs.writeText "snmpd-config" '' 76 + com2sec readonly default public 77 + 78 + group MyROGroup v2c readonly 79 + view all included .1 80 80 + access MyROGroup "" any noauth exact all none none 81 + 82 + syslocation Testcity, Testcountry 83 + syscontact Testi mc Test <test@example.com> 84 + ''; 85 + in "${pkgs.net-snmp}/bin/snmpd -c ${snmpd-config} -C"; 86 + }; 87 + }; 88 + }; 89 + 90 + testScript = '' 91 + start_all() 92 + 93 + snmphost.wait_until_succeeds("pgrep snmpd") 94 + 95 + librenms.wait_for_unit("lnms-api-init.service") 96 + librenms.wait_for_open_port(80) 97 + 98 + # Test that we can authenticate against the API 99 + librenms.succeed("curl --fail -H 'X-Auth-Token: ${api_token}' http://localhost/api/v0") 100 + librenms.fail("curl --fail -H 'X-Auth-Token: ${wrong_api_token}' http://localhost/api/v0") 101 + 102 + # add snmphost as a device 103 + librenms.succeed("curl --fail -X POST -d '{\"hostname\":\"snmphost\",\"version\":\"v2c\",\"community\":\"public\"}' -H 'X-Auth-Token: ${api_token}' http://localhost/api/v0/devices") 104 + 105 + # wait until snmphost gets polled 106 + librenms.wait_until_succeeds("test $(curl -H 'X-Auth-Token: ${api_token}' http://localhost/api/v0/devices/snmphost | jq -Mr .devices[0].last_polled) != 'null'") 107 + ''; 108 + })
+1 -1
nixos/tests/pam/pam-u2f.nix
··· 20 20 '' 21 21 machine.wait_for_unit("multi-user.target") 22 22 machine.succeed( 23 - 'egrep "auth required .*/lib/security/pam_u2f.so.*debug.*interactive.*cue.*origin=nixos-test" /etc/pam.d/ -R' 23 + 'egrep "auth required .*/lib/security/pam_u2f.so.*cue.*debug.*interactive.*origin=nixos-test" /etc/pam.d/ -R' 24 24 ) 25 25 ''; 26 26 })
+5 -4
nixos/tests/pam/test_chfn.py
··· 6 6 "auth required pam_deny.so", 7 7 "auth sufficient @@pam_ccreds@@/lib/security/pam_ccreds.so action=store use_first_pass", 8 8 "auth sufficient pam_rootok.so", 9 - "auth sufficient pam_unix.so likeauth try_first_pass", 9 + "auth sufficient pam_unix.so likeauth try_first_pass", 10 10 "password sufficient @@pam_krb5@@/lib/security/pam_krb5.so use_first_pass", 11 11 "password sufficient pam_unix.so nullok yescrypt", 12 12 "session optional @@pam_krb5@@/lib/security/pam_krb5.so", ··· 15 15 } 16 16 actual_lines = set(machine.succeed("cat /etc/pam.d/chfn").splitlines()) 17 17 18 - missing_lines = expected_lines - actual_lines 19 - extra_lines = actual_lines - expected_lines 20 - non_functional_lines = set([line for line in extra_lines if (line == "" or line.startswith("#"))]) 18 + stripped_lines = set([line.split("#")[0].rstrip() for line in actual_lines]) 19 + missing_lines = expected_lines - stripped_lines 20 + extra_lines = stripped_lines - expected_lines 21 + non_functional_lines = set([line for line in extra_lines if line == ""]) 21 22 unexpected_functional_lines = extra_lines - non_functional_lines 22 23 23 24 with subtest("All expected lines are in the file"):
-10
nixos/tests/systemd-repart.nix
··· 29 29 "+32M", 30 30 ]) 31 31 32 - # Fix the GPT table by moving the backup table to the end of the enlarged 33 - # disk image. This is necessary because we increased the size of the disk 34 - # before. The disk needs to be a raw disk because sgdisk can only run on 35 - # raw images. 36 - subprocess.run([ 37 - "${pkgs.gptfdisk}/bin/sgdisk", 38 - "--move-second-header", 39 - tmp_disk_image.name, 40 - ]) 41 - 42 32 # Set NIX_DISK_IMAGE so that the qemu script finds the right disk image. 43 33 os.environ['NIX_DISK_IMAGE'] = tmp_disk_image.name 44 34 '';
+81
nixos/tests/tang.nix
··· 1 + import ./make-test-python.nix ({ pkgs, ... }: { 2 + name = "tang"; 3 + meta = with pkgs.lib.maintainers; { 4 + maintainers = [ jfroche ]; 5 + }; 6 + 7 + nodes.server = 8 + { config 9 + , pkgs 10 + , modulesPath 11 + , ... 12 + }: { 13 + imports = [ 14 + "${modulesPath}/../tests/common/auto-format-root-device.nix" 15 + ]; 16 + virtualisation = { 17 + emptyDiskImages = [ 512 ]; 18 + useBootLoader = true; 19 + useEFIBoot = true; 20 + # This requires to have access 21 + # to a host Nix store as 22 + # the new root device is /dev/vdb 23 + # an empty 512MiB drive, containing no Nix store. 24 + mountHostNixStore = true; 25 + }; 26 + 27 + boot.loader.systemd-boot.enable = true; 28 + 29 + networking.interfaces.eth1.ipv4.addresses = [ 30 + { address = "192.168.0.1"; prefixLength = 24; } 31 + ]; 32 + 33 + environment.systemPackages = with pkgs; [ clevis tang cryptsetup ]; 34 + services.tang = { 35 + enable = true; 36 + ipAddressAllow = [ "127.0.0.1/32" ]; 37 + }; 38 + }; 39 + testScript = '' 40 + start_all() 41 + machine.wait_for_unit("sockets.target") 42 + 43 + with subtest("Check keys are generated"): 44 + machine.wait_until_succeeds("curl -v http://127.0.0.1:7654/adv") 45 + key = machine.wait_until_succeeds("tang-show-keys 7654") 46 + 47 + with subtest("Check systemd access list"): 48 + machine.succeed("ping -c 3 192.168.0.1") 49 + machine.fail("curl -v --connect-timeout 3 http://192.168.0.1:7654/adv") 50 + 51 + with subtest("Check basic encrypt and decrypt message"): 52 + machine.wait_until_succeeds(f"""echo 'Hello World' | clevis encrypt tang '{{ "url": "http://127.0.0.1:7654", "thp":"{key}"}}' > /tmp/encrypted""") 53 + decrypted = machine.wait_until_succeeds("clevis decrypt < /tmp/encrypted") 54 + assert decrypted.strip() == "Hello World" 55 + machine.wait_until_succeeds("tang-show-keys 7654") 56 + 57 + with subtest("Check encrypt and decrypt disk"): 58 + machine.succeed("cryptsetup luksFormat --force-password --batch-mode /dev/vdb <<<'password'") 59 + machine.succeed(f"""clevis luks bind -s1 -y -f -d /dev/vdb tang '{{ "url": "http://127.0.0.1:7654", "thp":"{key}" }}' <<< 'password' """) 60 + clevis_luks = machine.succeed("clevis luks list -d /dev/vdb") 61 + assert clevis_luks.strip() == """1: tang '{"url":"http://127.0.0.1:7654"}'""" 62 + machine.succeed("clevis luks unlock -d /dev/vdb") 63 + machine.succeed("find /dev/mapper -name 'luks*' -exec cryptsetup close {} +") 64 + machine.succeed("clevis luks unlock -d /dev/vdb") 65 + machine.succeed("find /dev/mapper -name 'luks*' -exec cryptsetup close {} +") 66 + # without tang available, unlock should fail 67 + machine.succeed("systemctl stop tangd.socket") 68 + machine.fail("clevis luks unlock -d /dev/vdb") 69 + machine.succeed("systemctl start tangd.socket") 70 + 71 + with subtest("Rotate server keys"): 72 + machine.succeed("${pkgs.tang}/libexec/tangd-rotate-keys -d /var/lib/tang") 73 + machine.succeed("clevis luks unlock -d /dev/vdb") 74 + machine.succeed("find /dev/mapper -name 'luks*' -exec cryptsetup close {} +") 75 + 76 + with subtest("Test systemd service security"): 77 + output = machine.succeed("systemd-analyze security tangd@.service") 78 + machine.log(output) 79 + assert output[-9:-1] == "SAFE :-}" 80 + ''; 81 + })
-95
pkgs/applications/audio/bitwig-studio/bitwig-studio1.nix
··· 1 - { stdenv, fetchurl, alsa-lib, bzip2, cairo, dpkg, freetype, gdk-pixbuf 2 - , wrapGAppsHook, gtk2, gtk3, harfbuzz, jdk, lib, xorg 3 - , libbsd, libjack2, libpng, ffmpeg 4 - , libxkbcommon 5 - , makeWrapper, pixman, autoPatchelfHook 6 - , xdg-utils, zenity, zlib }: 7 - 8 - stdenv.mkDerivation rec { 9 - pname = "bitwig-studio"; 10 - version = "1.3.16"; 11 - 12 - src = fetchurl { 13 - url = "https://downloads.bitwig.com/stable/${version}/bitwig-studio-${version}.deb"; 14 - sha256 = "0n0fxh9gnmilwskjcayvjsjfcs3fz9hn00wh7b3gg0cv3qqhich8"; 15 - }; 16 - 17 - nativeBuildInputs = [ dpkg makeWrapper autoPatchelfHook wrapGAppsHook ]; 18 - 19 - unpackCmd = "mkdir root ; dpkg-deb -x $curSrc root"; 20 - 21 - dontBuild = true; 22 - dontWrapGApps = true; # we only want $gappsWrapperArgs here 23 - 24 - buildInputs = with xorg; [ 25 - alsa-lib bzip2.out cairo freetype gdk-pixbuf gtk2 gtk3 harfbuzz libX11 libXau 26 - libXcursor libXdmcp libXext libXfixes libXrender libbsd libjack2 libpng libxcb 27 - libxkbfile pixman xcbutil xcbutilwm zlib 28 - ]; 29 - 30 - installPhase = '' 31 - mkdir -p $out 32 - cp -r opt/bitwig-studio $out/libexec 33 - 34 - # Use NixOS versions of these libs instead of the bundled ones. 35 - ( 36 - cd $out/libexec/lib/bitwig-studio 37 - rm libbz2.so* libxkbfile.so* libXcursor.so* libXau.so* \ 38 - libXdmcp.so* libpng16.so* libxcb*.so* libharfbuzz.so* \ 39 - libcairo.so* libfreetype.so* 40 - ln -s ${bzip2.out}/lib/libbz2.so.1.0.6 libbz2.so.1.0 41 - ) 42 - 43 - # Use our OpenJDK instead of Bitwig’s bundled—and commercial!—one. 44 - rm -rf $out/libexec/lib/jre 45 - ln -s ${jdk.home}/jre $out/libexec/lib/jre 46 - 47 - mkdir -p $out/bin 48 - ln -s $out/libexec/bitwig-studio $out/bin/bitwig-studio 49 - 50 - cp -r usr/share $out/share 51 - substitute usr/share/applications/bitwig-studio.desktop \ 52 - $out/share/applications/bitwig-studio.desktop \ 53 - --replace /usr/bin/bitwig-studio $out/bin/bitwig-studio 54 - ''; 55 - 56 - postFixup = '' 57 - # Bitwig’s `libx11-windowing-system.so` has several problems: 58 - # 59 - # • has some old version of libxkbcommon linked statically (ಠ_ಠ), 60 - # 61 - # • hardcodes path to `/usr/share/X11/xkb`, 62 - # 63 - # • even if we redirected it with libredirect (after adding 64 - # `eaccess()` to libredirect!), their version of libxkbcommon 65 - # is unable to parse our xkeyboardconfig. Been there, done that. 66 - # 67 - # However, it suffices to override theirs with our libxkbcommon 68 - # in LD_PRELOAD. :-) 69 - 70 - find $out -type f -executable \ 71 - -not -name '*.so.*' \ 72 - -not -name '*.so' \ 73 - -not -path '*/resources/*' | \ 74 - while IFS= read -r f ; do 75 - wrapProgram $f \ 76 - --suffix PATH : "${lib.makeBinPath [ ffmpeg zenity ]}" \ 77 - --prefix PATH : "${lib.makeBinPath [ xdg-utils ]}" \ 78 - "''${gappsWrapperArgs[@]}" \ 79 - --set LD_PRELOAD "${libxkbcommon.out}/lib/libxkbcommon.so" || true 80 - done 81 - ''; 82 - 83 - meta = with lib; { 84 - description = "A digital audio workstation"; 85 - longDescription = '' 86 - Bitwig Studio is a multi-platform music-creation system for 87 - production, performance and DJing, with a focus on flexible 88 - editing tools and a super-fast workflow. 89 - ''; 90 - homepage = "https://www.bitwig.com/"; 91 - license = licenses.unfree; 92 - platforms = [ "x86_64-linux" ]; 93 - maintainers = with maintainers; [ michalrus mrVanDalo ]; 94 - }; 95 - }
-16
pkgs/applications/audio/bitwig-studio/bitwig-studio2.nix
··· 1 - { fetchurl, bitwig-studio1, 2 - pulseaudio }: 3 - 4 - bitwig-studio1.overrideAttrs (oldAttrs: rec { 5 - pname = "bitwig-studio"; 6 - version = "2.5"; 7 - 8 - src = fetchurl { 9 - url = "https://downloads.bitwig.com/stable/${version}/bitwig-studio-${version}.deb"; 10 - sha256 = "1zkiz36lhck3qvl0cp0dq6pwbv4lx4sh9wh0ga92kx5zhvbjm098"; 11 - }; 12 - 13 - runtimeDependencies = [ 14 - pulseaudio 15 - ]; 16 - })
+16 -2
pkgs/applications/audio/espeak-ng/default.nix
··· 15 15 , pcaudiolib 16 16 , sonicSupport ? true 17 17 , sonic 18 + , CoreAudio 19 + , AudioToolbox 20 + , AudioUnit 18 21 , alsa-plugins 19 22 , makeWrapper 20 23 }: ··· 42 45 43 46 buildInputs = lib.optional mbrolaSupport mbrola 44 47 ++ lib.optional pcaudiolibSupport pcaudiolib 45 - ++ lib.optional sonicSupport sonic; 48 + ++ lib.optional sonicSupport sonic 49 + ++ lib.optionals stdenv.isDarwin [ 50 + CoreAudio 51 + AudioToolbox 52 + AudioUnit 53 + ]; 46 54 47 - preConfigure = "./autogen.sh"; 55 + # touch ChangeLog to avoid below error on darwin: 56 + # Makefile.am: error: required file './ChangeLog.md' not found 57 + preConfigure = lib.optionalString stdenv.isDarwin '' 58 + touch ChangeLog 59 + '' + '' 60 + ./autogen.sh 61 + ''; 48 62 49 63 configureFlags = [ 50 64 "--with-mbrola=${if mbrolaSupport then "yes" else "no"}"
+2 -2
pkgs/applications/audio/faustPhysicalModeling/default.nix
··· 1 1 { stdenv, lib, fetchFromGitHub, faust2jaqt, faust2lv2 }: 2 2 stdenv.mkDerivation rec { 3 3 pname = "faustPhysicalModeling"; 4 - version = "2.60.3"; 4 + version = "2.68.1"; 5 5 6 6 src = fetchFromGitHub { 7 7 owner = "grame-cncm"; 8 8 repo = "faust"; 9 9 rev = version; 10 - sha256 = "sha256-kaKDZKs/UsrqYlGmGgpSRcqN7FypxLCcIF72klovD4k="; 10 + sha256 = "sha256-jD6/ZeS0xdtajCg5e95E0Jo2lfXOn4OIVf4LJgAfPbo="; 11 11 }; 12 12 13 13 buildInputs = [ faust2jaqt faust2lv2 ];
+2 -2
pkgs/applications/audio/giada/default.nix
··· 24 24 25 25 stdenv.mkDerivation rec { 26 26 pname = "giada"; 27 - version = "0.25.1"; 27 + version = "0.26.0"; 28 28 29 29 src = fetchFromGitHub { 30 30 owner = "monocasual"; 31 31 repo = pname; 32 32 rev = version; 33 - sha256 = "sha256-SW2qT+pMKTMBnkaL+Dg87tqutcLTqaY4nCeFfJjHIw4="; 33 + sha256 = "sha256-q3Lu3UaEKfS7F59G6rPx+5cKcsaXk+xcdtJRIXPwVIs="; 34 34 fetchSubmodules = true; 35 35 }; 36 36
+1 -1
pkgs/applications/audio/mbrola/default.nix
··· 7 7 meta = with lib; { 8 8 license = licenses.agpl3Plus; 9 9 maintainers = with maintainers; [ davidak ]; 10 - platforms = platforms.linux; 10 + platforms = platforms.all; 11 11 description = "Speech synthesizer based on the concatenation of diphones"; 12 12 homepage = "https://github.com/numediart/MBROLA"; 13 13 };
+3 -3
pkgs/applications/audio/songrec/default.nix
··· 11 11 12 12 rustPlatform.buildRustPackage rec { 13 13 pname = "songrec"; 14 - version = "0.3.2"; 14 + version = "0.3.3"; 15 15 16 16 src = fetchFromGitHub { 17 17 owner = "marin-m"; 18 18 repo = pname; 19 19 rev = version; 20 - sha256 = "sha256-cUiy8ApeUv1K8SEH4APMTvbieGTt4kZYhyB9iGJd/IY="; 20 + hash = "sha256-K80uoMfwkyH/K8t6zdkq1ZYTpI0dAIvO2K2kzpzDoN0="; 21 21 }; 22 22 23 - cargoSha256 = "sha256-Tlq4qDp56PXP4N1UyHjtQoRgDrc/19vIv8uml/lAqqc="; 23 + cargoHash = "sha256-Xmey+goHGTWMgKIJRzKMi9Y1bv677Yo2sfDaMauvZsM="; 24 24 25 25 nativeBuildInputs = [ pkg-config ]; 26 26
+2 -2
pkgs/applications/blockchains/monero-gui/default.nix
··· 88 88 for n in 16 24 32 48 64 96 128 256; do 89 89 size=$n"x"$n 90 90 install -Dm644 \ 91 - -t $out/share/icons/hicolor/$size/apps/monero.png \ 92 - $src/images/appicons/$size.png 91 + $src/images/appicons/$size.png \ 92 + $out/share/icons/hicolor/$size/apps/monero.png 93 93 done; 94 94 ''; 95 95
+3 -2
pkgs/applications/editors/okteta/default.nix
··· 4 4 5 5 mkDerivation rec { 6 6 pname = "okteta"; 7 - version = "0.26.10"; 7 + version = "0.26.13"; 8 8 9 9 src = fetchurl { 10 10 url = "mirror://kde/stable/okteta/${version}/src/${pname}-${version}.tar.xz"; 11 - sha256 = "sha256-KKYU9+DDK0kXperKfgxuysqHsTGRq1NKtAT1Vps8M/o="; 11 + sha256 = "0wlpv0rk4ys4rbcpf8lqpkm0yr5dxkaz60qk2lvm27w1s489ir8l"; 12 12 }; 13 13 14 14 nativeBuildInputs = [ qtscript extra-cmake-modules kdoctools ]; ··· 31 31 meta = with lib; { 32 32 license = licenses.gpl2; 33 33 description = "A hex editor"; 34 + homepage = "https://apps.kde.org/okteta/"; 34 35 maintainers = with maintainers; [ peterhoeg bkchr ]; 35 36 platforms = platforms.linux; 36 37 };
+5 -4
pkgs/applications/editors/vim/plugins/nvim-treesitter/update.py
··· 63 63 64 64 generated_file = """# generated by pkgs/applications/editors/vim/plugins/nvim-treesitter/update.py 65 65 66 - { buildGrammar, """ 66 + { buildGrammar, """ 67 67 68 68 generated_file += subprocess.check_output(["nurl", "-Ls", ", "], text=True) 69 69 70 70 generated_file += """ }: 71 71 72 - { 73 - """ 72 + { 73 + """ 74 74 75 75 lockfile_path = os.path.join(nvim_treesitter_dir, "lockfile.json") 76 76 log.debug("Opening %s", lockfile_path) ··· 88 88 _generate_grammar, lockfile.items() 89 89 ): 90 90 generated_file += generated 91 - generated_file += "}\n" 91 + 92 + generated_file += "}\n" 92 93 return generated_file 93 94 94 95
+7 -3
pkgs/applications/editors/vim/plugins/update.py
··· 138 138 nvim_treesitter_dir = subprocess.check_output(cmd, text=True, timeout=90).strip() 139 139 140 140 generated = treesitter.update_grammars(nvim_treesitter_dir) 141 - open(os.path.join(args.nixpkgs, "generated.nix"), "w").write(generated) 141 + treesitter_generated_nix_path = os.path.join( 142 + NIXPKGS_NVIMTREESITTER_FOLDER, 143 + "generated.nix" 144 + ) 145 + open(os.path.join(args.nixpkgs, treesitter_generated_nix_path), "w").write(generated) 142 146 143 147 if self.nixpkgs_repo: 144 148 index = self.nixpkgs_repo.index 145 149 for diff in index.diff(None): 146 - if diff.a_path == f"{NIXPKGS_NVIMTREESITTER_FOLDER}/generated.nix": 150 + if diff.a_path == treesitter_generated_nix_path: 147 151 msg = "vimPlugins.nvim-treesitter: update grammars" 148 152 print(f"committing to nixpkgs: {msg}") 149 - index.add([str(nvim_treesitter_dir.joinpath("generated.nix"))]) 153 + index.add([treesitter_generated_nix_path]) 150 154 index.commit(msg) 151 155 return 152 156 print("no updates to nvim-treesitter grammars")
+2 -2
pkgs/applications/editors/vscode/extensions/default.nix
··· 1229 1229 mktplcRef = { 1230 1230 name = "elixir-ls"; 1231 1231 publisher = "JakeBecker"; 1232 - version = "0.17.0"; 1233 - sha256 = "sha256-jb9WHX5jCdi4vzIRvh7i6ncicuISsEBBmlIHvqquqcA="; 1232 + version = "0.17.1"; 1233 + sha256 = "sha256-WBtIdz+8zsyTl43ovU3Dz+8p154ZGvHp6BA3AQtXN/U="; 1234 1234 }; 1235 1235 meta = { 1236 1236 changelog = "https://marketplace.visualstudio.com/items/JakeBecker.elixir-ls/changelog";
+6 -6
pkgs/applications/editors/vscode/vscodium.nix
··· 15 15 archive_fmt = if stdenv.isDarwin then "zip" else "tar.gz"; 16 16 17 17 sha256 = { 18 - x86_64-linux = "1xzmfvkzqfxblahi2pc54fr7i6rynqm76p4wpbfzxrrh5a3xjwn3"; 19 - x86_64-darwin = "0lp6yqwqwfngl98nba8f77yypb44cfn7kcjhbc93s8kqd57m97zj"; 20 - aarch64-linux = "1hpwjdbfc8l4a7ln50s6h68abcb6djcc5y0h686s9k5v2axm7f3v"; 21 - aarch64-darwin = "0cbms9p8g2gjx9wmm78fzlscw62qasjv30al8v39bda3k694wnh5"; 22 - armv7l-linux = "0hvaray6b36j8s0fvffnkbsw7kf2rn2z4y8q4wlnqx3hfyalcvcn"; 18 + x86_64-linux = "0cqkxd4pywkrvg3b96f1dyain6vlrb3di8a0yskmq3h58qd6k8rc"; 19 + x86_64-darwin = "09y3whpp2z8fgb42pb9lw0b4wn0np3rdjkn5l1kldjljfrcwcn9g"; 20 + aarch64-linux = "1kh8qylj77km8jhmx9a2bck7y4bb0fjx46sll7swagxz27b8ahi0"; 21 + aarch64-darwin = "14g60sx3c5m02ly880sxwhmzvpxqw4pfij2ibgyprzdlpap0r2b0"; 22 + armv7l-linux = "1s4rpd5p4kwmi89cml1106l9dccdwnqq3lyr8ym781pj9p75i8wp"; 23 23 }.${system} or throwSystem; 24 24 25 25 sourceRoot = lib.optionalString (!stdenv.isDarwin) "."; ··· 29 29 30 30 # Please backport all compatible updates to the stable release. 31 31 # This is important for the extension ecosystem. 32 - version = "1.82.2.23257"; 32 + version = "1.83.1.23285"; 33 33 pname = "vscodium"; 34 34 35 35 executableName = "codium";
+9 -18
pkgs/applications/emulators/emulationstation/default.nix
··· 1 1 { lib, stdenv, fetchFromGitHub, pkg-config, cmake, curl, boost, eigen 2 - , freeimage, freetype, libGLU, libGL, SDL2, alsa-lib, libarchive 3 - , fetchpatch }: 2 + , freeimage, freetype, libGLU, libGL, rapidjson, SDL2, alsa-lib 3 + , vlc }: 4 4 5 5 stdenv.mkDerivation { 6 6 pname = "emulationstation"; 7 - version = "2.0.1a"; 7 + version = "2.11.2"; 8 8 9 9 src = fetchFromGitHub { 10 - owner = "Aloshi"; 10 + fetchSubmodules = true; 11 + owner = "RetroPie"; 11 12 repo = "EmulationStation"; 12 - rev = "646bede3d9ec0acf0ae378415edac136774a66c5"; 13 - sha256 = "0cm0sq2wri2l9cvab1l0g02za59q7klj0h3p028vr96n6njj4w9v"; 13 + rev = "cda7de687924c4c1ab83d6b0ceb88aa734fe6cfe"; 14 + hash = "sha256-J5h/578FVe4DXJx/AvpRnCIUpqBeFtmvFhUDYH5SErQ="; 14 15 }; 15 16 16 - patches = [ 17 - (fetchpatch { 18 - url = "https://github.com/Aloshi/EmulationStation/commit/49ccd8fc7a7b1dfd974fc57eb13317c42842f22c.patch"; 19 - sha256 = "1v5d81l7bav0k5z4vybrc3rjcysph6lkm5pcfr6m42wlz7jmjw0p"; 20 - }) 21 - ]; 22 - 23 - postPatch = '' 24 - sed -i "7i #include <stack>" es-app/src/views/gamelist/ISimpleGameListView.h 25 - ''; 26 - 27 17 nativeBuildInputs = [ pkg-config cmake ]; 28 - buildInputs = [ alsa-lib boost curl eigen freeimage freetype libarchive libGLU libGL SDL2 ]; 18 + buildInputs = [ alsa-lib boost curl eigen freeimage freetype libGLU libGL rapidjson SDL2 vlc ]; 29 19 30 20 installPhase = '' 31 21 install -D ../emulationstation $out/bin/emulationstation 22 + cp -r ../resources/ $out/bin/resources/ 32 23 ''; 33 24 34 25 meta = {
+2 -2
pkgs/applications/gis/gmt/dcw.nix
··· 2 2 3 3 stdenv.mkDerivation rec { 4 4 pname = "dcw-gmt"; 5 - version = "2.1.1"; 5 + version = "2.1.2"; 6 6 src = fetchurl { 7 7 url = "ftp://ftp.soest.hawaii.edu/gmt/dcw-gmt-${version}.tar.gz"; 8 - sha256 = "sha256-q3LIJTB2OAyEd6EiU3C8QfSv+BHCjS9k11BS/z2QA68="; 8 + sha256 = "sha256-S7hA0HXIuj4UrrQc8XwkI2v/eHVmMU+f91irmXd0XZk="; 9 9 }; 10 10 11 11 installPhase = ''
+41
pkgs/applications/graphics/scantailor/universal.nix
··· 1 + { lib 2 + , stdenv 3 + , mkDerivation 4 + , fetchFromGitHub 5 + , cmake 6 + , qtbase 7 + , qttools 8 + , wrapQtAppsHook 9 + , zlib 10 + , openjpeg 11 + , libjpeg_turbo 12 + , libpng 13 + , libtiff 14 + , boost 15 + , libcanberra 16 + }: 17 + 18 + stdenv.mkDerivation rec { 19 + pname = "scantailor-universal"; 20 + version = "0.2.14"; 21 + 22 + src = fetchFromGitHub { 23 + owner = "trufanov-nok"; 24 + repo = pname; 25 + rev = version; 26 + fetchSubmodules = true; 27 + hash = "sha256-n8NbokK+U0FAuYXtjRJcxlI1XAmI4hk5zV3sF86hB/s="; 28 + }; 29 + 30 + buildInputs = [ qtbase zlib libjpeg_turbo libpng libtiff boost libcanberra openjpeg ]; 31 + nativeBuildInputs = [ cmake wrapQtAppsHook qttools ]; 32 + 33 + meta = with lib; { 34 + description = "Interactive post-processing tool for scanned pages"; 35 + homepage = "https://github.com/trufanov-nok/scantailor"; 36 + license = licenses.gpl3Plus; 37 + maintainers = with maintainers; [ unclamped ]; 38 + platforms = platforms.unix; 39 + mainProgram = "scantailor-universal-cli"; 40 + }; 41 + }
+6
pkgs/applications/misc/keepassxc/default.nix
··· 97 97 wrapQtApp "$out/Applications/KeePassXC.app/Contents/MacOS/KeePassXC" 98 98 ''; 99 99 100 + # See https://github.com/keepassxreboot/keepassxc/blob/cd7a53abbbb81e468efb33eb56eefc12739969b8/src/browser/NativeMessageInstaller.cpp#L317 101 + postInstall = lib.optionalString withKeePassBrowser '' 102 + mkdir -p "$out/lib/mozilla/native-messaging-hosts" 103 + substituteAll "${./firefox-native-messaging-host.json}" "$out/lib/mozilla/native-messaging-hosts/org.keepassxc.keepassxc_browser.json" 104 + ''; 105 + 100 106 buildInputs = [ 101 107 curl 102 108 botan2
+9
pkgs/applications/misc/keepassxc/firefox-native-messaging-host.json
··· 1 + { 2 + "name": "org.keepassxc.keepassxc_browser", 3 + "description": "KeePassXC integration with native messaging support", 4 + "path": "@out@/bin/keepassxc-proxy", 5 + "type": "stdio", 6 + "allowed_extensions": [ 7 + "keepassxc-browser@keepassxc.org" 8 + ] 9 + }
-110
pkgs/applications/misc/simplenote/default.nix
··· 1 - { autoPatchelfHook 2 - , dpkg 3 - , fetchurl 4 - , makeDesktopItem 5 - , makeWrapper 6 - , lib 7 - , stdenv 8 - , udev 9 - , alsa-lib 10 - , mesa 11 - , nss 12 - , nspr 13 - , systemd 14 - , wrapGAppsHook 15 - , xorg 16 - }: 17 - 18 - let 19 - inherit (stdenv.hostPlatform) system; 20 - 21 - throwSystem = throw "Unsupported system: ${system}"; 22 - 23 - pname = "simplenote"; 24 - 25 - version = "2.9.0"; 26 - 27 - sha256 = { 28 - x86_64-linux = "sha256-uwd9fYqZepJ/BBttprqkJhswqMepGsHDTd5Md9gjI68="; 29 - }.${system} or throwSystem; 30 - 31 - meta = with lib; { 32 - description = "The simplest way to keep notes"; 33 - homepage = "https://github.com/Automattic/simplenote-electron"; 34 - license = licenses.gpl2; 35 - sourceProvenance = with sourceTypes; [ binaryNativeCode ]; 36 - maintainers = with maintainers; [ 37 - kiwi 38 - ]; 39 - platforms = [ 40 - "x86_64-linux" 41 - ]; 42 - }; 43 - 44 - linux = stdenv.mkDerivation rec { 45 - inherit pname version meta; 46 - 47 - src = fetchurl { 48 - url = "https://github.com/Automattic/simplenote-electron/releases/download/v${version}/Simplenote-linux-${version}-amd64.deb"; 49 - inherit sha256; 50 - }; 51 - 52 - desktopItem = makeDesktopItem { 53 - categories = [ "Development" ]; 54 - comment = "Simplenote for Linux"; 55 - desktopName = "Simplenote"; 56 - exec = "simplenote %U"; 57 - icon = "simplenote"; 58 - name = "simplenote"; 59 - startupNotify = true; 60 - }; 61 - 62 - dontBuild = true; 63 - dontConfigure = true; 64 - dontPatchELF = true; 65 - dontWrapGApps = true; 66 - 67 - # TODO: migrate off autoPatchelfHook and use nixpkgs' electron 68 - nativeBuildInputs = [ 69 - autoPatchelfHook 70 - dpkg 71 - makeWrapper 72 - wrapGAppsHook 73 - ]; 74 - 75 - buildInputs = [ 76 - alsa-lib 77 - mesa 78 - xorg.libXScrnSaver 79 - xorg.libXtst 80 - nss 81 - nspr 82 - stdenv.cc.cc 83 - systemd 84 - ]; 85 - 86 - unpackPhase = "dpkg-deb -x $src ."; 87 - 88 - installPhase = '' 89 - mkdir -p "$out/bin" 90 - cp -R "opt" "$out" 91 - cp -R "usr/share" "$out/share" 92 - chmod -R g-w "$out" 93 - 94 - mkdir -p "$out/share/applications" 95 - cp "${desktopItem}/share/applications/"* "$out/share/applications" 96 - ''; 97 - 98 - runtimeDependencies = [ 99 - (lib.getLib udev) 100 - ]; 101 - 102 - postFixup = '' 103 - makeWrapper $out/opt/Simplenote/simplenote $out/bin/simplenote \ 104 - --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ stdenv.cc.cc ] }" \ 105 - "''${gappsWrapperArgs[@]}" 106 - ''; 107 - }; 108 - 109 - in 110 - linux
+23 -1
pkgs/applications/networking/browsers/chromium/common.nix
··· 1 1 { stdenv, lib, fetchurl, fetchpatch 2 + , fetchzip, zstd 2 3 , buildPackages 3 4 , pkgsBuildBuild 4 5 , pkgsBuildTarget ··· 152 153 inherit (upstream-info) version; 153 154 inherit packageName buildType buildPath; 154 155 155 - src = fetchurl { 156 + src = fetchzip { 157 + name = "chromium-${version}.tar.zstd"; 156 158 url = "https://commondatastorage.googleapis.com/chromium-browser-official/chromium-${version}.tar.xz"; 157 159 inherit (upstream-info) sha256; 160 + 161 + nativeBuildInputs = [ zstd ]; 162 + 163 + postFetch = '' 164 + echo removing unused code from tarball to stay under hydra limit 165 + rm -r $out/third_party/{rust-src,llvm} 166 + 167 + echo moving remains out of \$out 168 + mv $out source 169 + 170 + echo recompressing final contents into new tarball 171 + # try to make a deterministic tarball 172 + tar \ 173 + --use-compress-program "zstd -T$NIX_BUILD_CORES" \ 174 + --sort name \ 175 + --mtime 1970-01-01 \ 176 + --owner=root --group=root \ 177 + --numeric-owner --mode=go=rX,u+rw,a-s \ 178 + -cf $out source 179 + ''; 158 180 }; 159 181 160 182 nativeBuildInputs = [
+4 -4
pkgs/applications/networking/browsers/chromium/upstream-info.nix
··· 8 8 version = "2023-08-01"; 9 9 }; 10 10 }; 11 - sha256 = "1wf0j189cxpayy6ffmj5j6h5yg3amivryilimjc2ap0jkyj4xrbi"; 11 + sha256 = "0c3adrrgpnhm8g1546ask9pf17qj1sjgb950mj0rv4snxvddi75j"; 12 12 sha256bin64 = "11w1di146mjb9ql30df9yk9x4b9amc6514jzyfbf09mqsrw88dvr"; 13 13 version = "117.0.5938.22"; 14 14 }; ··· 21 21 version = "2023-08-10"; 22 22 }; 23 23 }; 24 - sha256 = "1z01b6w4sgndrlcd26jgimk3rhv3wzpn67nv1fd5ln7dwfwkyq20"; 24 + sha256 = "16dq27lsywrn2xlgr5g46gdv15p30sihfamli4vkv3zxzfxdjisv"; 25 25 sha256bin64 = "11y09hsy7y1vg65xfilq44ffsmn15dqy80fa57psj1kin4a52v2x"; 26 26 version = "118.0.5966.0"; 27 27 }; ··· 41 41 version = "2023-08-10"; 42 42 }; 43 43 }; 44 - sha256 = "0gcrnvm3ar7x0fv38kjvdzgb8lflx1sckcqy89yawgfy6jkh1vj9"; 44 + sha256 = "1g8rllmnmhmmpjzrmi3cww0nszxicq0kim2wd0l0ip2mzk2p8qlp"; 45 45 sha256bin64 = "1bq170l0g9yq17x6xlg6fjar6gv3hdi0zijwmx4s02pmw6727484"; 46 46 version = "118.0.5993.70"; 47 47 }; ··· 58 58 sha256 = "0k6684cy1ks6yba2bdz17g244f05qy9769cvis4h2jzhgbf5rysh"; 59 59 }; 60 60 }; 61 - sha256 = "0gcrnvm3ar7x0fv38kjvdzgb8lflx1sckcqy89yawgfy6jkh1vj9"; 61 + sha256 = "1g8rllmnmhmmpjzrmi3cww0nszxicq0kim2wd0l0ip2mzk2p8qlp"; 62 62 sha256bin64 = "1bq170l0g9yq17x6xlg6fjar6gv3hdi0zijwmx4s02pmw6727484"; 63 63 version = "118.0.5993.70"; 64 64 };
+2
pkgs/applications/networking/browsers/firefox/wrapper.nix
··· 8 8 , browserpass, gnome-browser-connector, uget-integrator, plasma5Packages, bukubrow, pipewire 9 9 , tridactyl-native 10 10 , fx-cast-bridge 11 + , keepassxc 11 12 , udev 12 13 , libkrb5 13 14 , libva ··· 70 71 ++ lib.optional (cfg.enableUgetIntegrator or false) uget-integrator 71 72 ++ lib.optional (cfg.enablePlasmaBrowserIntegration or false) plasma5Packages.plasma-browser-integration 72 73 ++ lib.optional (cfg.enableFXCastBridge or false) fx-cast-bridge 74 + ++ lib.optional (cfg.enableKeePassXC or false) keepassxc 73 75 ++ extraNativeMessagingHosts 74 76 ; 75 77 libs = lib.optionals stdenv.isLinux [ udev libva mesa libnotify xorg.libXScrnSaver cups pciutils ]
+2 -10
pkgs/applications/networking/browsers/lynx/default.nix
··· 13 13 14 14 stdenv.mkDerivation rec { 15 15 pname = "lynx"; 16 - version = "2.8.9rel.1"; 16 + version = "2.9.0dev.12"; 17 17 18 18 src = fetchurl { 19 19 urls = [ 20 20 "ftp://ftp.invisible-island.net/lynx/tarballs/lynx${version}.tar.bz2" 21 21 "https://invisible-mirror.net/archives/lynx/tarballs/lynx${version}.tar.bz2" 22 22 ]; 23 - sha256 = "15cmyyma2kz1hfaa6mwjgli8zwdzq3jv0q2cl6nwzycjfwyijzrq"; 23 + hash = "sha256-pkVbFZ0Ad22OwQUShcly3B8MVS0FcaDP8Coj7BRu6OU="; 24 24 }; 25 25 26 26 enableParallelBuilding = true; 27 27 28 28 hardeningEnable = [ "pie" ]; 29 - 30 - patches = [ 31 - (fetchpatch { 32 - name = "CVE-2021-38165.patch"; 33 - url = "https://git.alpinelinux.org/aports/plain/main/lynx/CVE-2021-38165.patch?id=3400945dbbb8a87065360963e4caa0e17d3dcc61"; 34 - sha256 = "1aykb9y2g2vdpbbpvjlm4r40x7py2yv6jbywwcqcxrlciqcw4x57"; 35 - }) 36 - ]; 37 29 38 30 configureFlags = [ 39 31 "--enable-default-colors"
+5 -5
pkgs/applications/networking/instant-messengers/element/pin.nix
··· 1 1 { 2 - "version" = "1.11.45"; 2 + "version" = "1.11.46"; 3 3 "hashes" = { 4 - "desktopSrcHash" = "sha256-SxpnvIctV738mMRmMiuLgr1InMrlWH39/6lTO0wu+vQ="; 5 - "desktopYarnHash" = "09a2swngqjz4hahzvczhw0lh38y39glc1dkkhjkp4jqvmds9ni7n"; 6 - "webSrcHash" = "sha256-hImwZ7vzpupRulk9g5jhfv0sgZqmPXnggJjUUwZ+UCE="; 7 - "webYarnHash" = "0r2xzq9630vky32hqp3h1skdgv3jiiffi8553yzzk4zr45nlvf9d"; 4 + "desktopSrcHash" = "sha256-sgdvdTi3fi/vZohh/JPW3I24cQS0i84eM1dUgmEafWs="; 5 + "desktopYarnHash" = "1nssv92yk1a53v7mvijkrb3gzif5xrz2j6lxvg7p340z42rm7f9v"; 6 + "webSrcHash" = "sha256-3ucitVtYnOc5UUn4y3u+L0sKWJLt+NNrd5T6mn0wNBg="; 7 + "webYarnHash" = "19396p654zzzh6d18rpyckjd67lncch3r9a0zmjb7znsi7d78k63"; 8 8 }; 9 9 }
+2 -2
pkgs/applications/networking/instant-messengers/signalbackup-tools/default.nix
··· 2 2 3 3 (if stdenv.isDarwin then darwin.apple_sdk_11_0.llvmPackages_14.stdenv else stdenv).mkDerivation rec { 4 4 pname = "signalbackup-tools"; 5 - version = "20231011-1"; 5 + version = "20231015"; 6 6 7 7 src = fetchFromGitHub { 8 8 owner = "bepaald"; 9 9 repo = pname; 10 10 rev = version; 11 - hash = "sha256-AwlhKF7Tsx20v6t4P6j7E4XPlg9Nq+BSYOFVY+3byos="; 11 + hash = "sha256-P3IbCWzc7V2yX8qZIPUncJXFFq9iFl7csDj2tiTZ7AY="; 12 12 }; 13 13 14 14 postPatch = ''
+2 -2
pkgs/applications/networking/p2p/gnunet/default.nix
··· 7 7 8 8 stdenv.mkDerivation rec { 9 9 pname = "gnunet"; 10 - version = "0.19.4"; 10 + version = "0.20.0"; 11 11 12 12 src = fetchurl { 13 13 url = "mirror://gnu/gnunet/${pname}-${version}.tar.gz"; 14 - sha256 = "sha256-AKY99AjVmH9bqaUEQfKncYK9n7MvHjAq5WOslOesAJs="; 14 + sha256 = "sha256-VgKeeKmcBNUrE1gJSuUHTkzY6puYz2hV9XrZryeslRg="; 15 15 }; 16 16 17 17 enableParallelBuilding = true;
+3 -3
pkgs/applications/networking/rymdport/default.nix
··· 11 11 12 12 buildGoModule rec { 13 13 pname = "rymdport"; 14 - version = "3.5.0"; 14 + version = "3.5.1"; 15 15 16 16 src = fetchFromGitHub { 17 17 owner = "Jacalz"; 18 18 repo = "rymdport"; 19 19 rev = "v${version}"; 20 - hash = "sha256-aNLAj8rQSRp6fsEu052uc2gJE55A996YJY7tDApjHxA="; 20 + hash = "sha256-wsFZN2qDp0XScqBdwLYZdRsS30g+ex+sYjw2GkBwwI4="; 21 21 }; 22 22 23 - vendorHash = "sha256-8TxuExcxiBTHVA9DTLfElKOq45a2EVLxqmByDyKJQ4c="; 23 + vendorHash = "sha256-SDNCVROfwCTfoQpUyChxtX3rTf0OPFOTzH5PeH4ahUI="; 24 24 25 25 nativeBuildInputs = [ 26 26 pkg-config
+2 -2
pkgs/applications/radio/freedv/default.nix
··· 25 25 26 26 stdenv.mkDerivation rec { 27 27 pname = "freedv"; 28 - version = "1.9.2"; 28 + version = "1.9.3"; 29 29 30 30 src = fetchFromGitHub { 31 31 owner = "drowe67"; 32 32 repo = "freedv-gui"; 33 33 rev = "v${version}"; 34 - hash = "sha256-SBWwAmIsa9HfaZpH8TioMm9IaoZ+x4HNHaOBps0vA0A="; 34 + hash = "sha256-tlkD8Kem4HPwrk3E98UKcPoBNoFucqarEBo+oihnQSU="; 35 35 }; 36 36 37 37 postPatch = lib.optionalString stdenv.isDarwin ''
+11 -5
pkgs/build-support/fetchgit/nix-prefetch-git
··· 257 257 cd "$repo" 258 258 # Remove files that contain timestamps or otherwise have non-deterministic 259 259 # properties. 260 - rm -rf .git/logs/ .git/hooks/ .git/index .git/FETCH_HEAD .git/ORIG_HEAD \ 261 - .git/refs/remotes/origin/HEAD .git/config 262 - 260 + if [ -f .git ]; then 261 + local dotgit_content=$(<.git) 262 + local dotgit_dir="${dotgit_content#gitdir: }" 263 + else 264 + local dotgit_dir=".git" 265 + fi 266 + pushd "$dotgit_dir" 267 + rm -rf logs/ hooks/ index FETCH_HEAD ORIG_HEAD refs/remotes/origin/HEAD config 268 + popd 263 269 # Remove all remote branches. 264 270 git branch -r | while read -r branch; do 265 271 clean_git branch -rD "$branch" ··· 277 283 # Do a full repack. Must run single-threaded, or else we lose determinism. 278 284 clean_git config pack.threads 1 279 285 clean_git repack -A -d -f 280 - rm -f .git/config 286 + rm -f "$dotgit_dir/config" 281 287 282 288 # Garbage collect unreferenced objects. 283 289 # Note: --keep-largest-pack prevents non-deterministic ordering of packs ··· 323 329 find "$dir" -name .git -print0 | xargs -0 rm -rf 324 330 else 325 331 find "$dir" -name .git | while read -r gitdir; do 326 - make_deterministic_repo "$(readlink -f "$gitdir/..")" 332 + make_deterministic_repo "$(readlink -f "$(dirname "$gitdir")")" 327 333 done 328 334 fi 329 335 }
+19 -4
pkgs/by-name/al/algol68g/package.nix
··· 1 1 { lib 2 2 , stdenv 3 3 , fetchurl 4 + , curl 5 + , gmp 4 6 , gsl 7 + , mpfr 8 + , ncurses 5 9 , plotutils 6 10 , postgresql 11 + , pkg-config 7 12 , withPDFDoc ? true 8 13 }: 9 14 10 15 stdenv.mkDerivation (finalAttrs: { 11 16 pname = "algol68g"; 12 - version = "3.3.24"; 17 + version = "3.4.2"; 13 18 14 19 src = fetchurl { 15 20 url = "https://jmvdveer.home.xs4all.nl/algol68g-${finalAttrs.version}.tar.gz"; 16 - hash = "sha256-vSbj3YlyCs4bADpDqxAkcSC1VsoQZ2j+jIKe577WtDU="; 21 + hash = "sha256-hKiRMU98sZhGgHhjgtwUNSIv2iPgb4T+dgYw58IGK8Q="; 17 22 }; 18 23 19 - outputs = [ "out" "man" ] ++ lib.optional withPDFDoc "doc"; 24 + outputs = [ "out" "man" ] ++ lib.optionals withPDFDoc [ "doc" ]; 25 + 26 + nativeBuildInputs = [ 27 + pkg-config 28 + ]; 20 29 21 30 buildInputs = [ 31 + curl 32 + mpfr 33 + ncurses 34 + gmp 22 35 gsl 23 36 plotutils 24 37 postgresql 25 38 ]; 39 + 40 + strictDeps = true; 26 41 27 42 postInstall = let 28 43 pdfdoc = fetchurl { ··· 47 62 scientific library and PostgreSQL. 48 63 ''; 49 64 license = lib.licenses.gpl3Plus; 50 - maintainers = with lib.maintainers; [ AndersonTorres ]; 51 65 mainProgram = "a68g"; 66 + maintainers = with lib.maintainers; [ AndersonTorres ]; 52 67 platforms = lib.platforms.unix; 53 68 }; 54 69 })
+65
pkgs/by-name/cb/cbmbasic/package.nix
··· 1 + { lib 2 + , stdenv 3 + , fetchFromGitHub 4 + , runCommand 5 + }: 6 + 7 + stdenv.mkDerivation (finalAttrs: { 8 + pname = "cbmbasic"; 9 + version = "unstable-2022-12-18"; 10 + 11 + src = fetchFromGitHub { 12 + owner = "mist64"; 13 + repo = "cbmbasic"; 14 + rev = "352a313313dd0a15a47288c8f8031b54ac8c92a2"; 15 + hash = "sha256-aA/ivRap+aDd2wi6KWXam9eP/21lOn6OWTeZ4i/S9Bs="; 16 + }; 17 + 18 + installPhase = '' 19 + runHook preInstall 20 + 21 + mkdir -p $out/bin/ 22 + mv cbmbasic $out/bin/ 23 + 24 + runHook postInstall 25 + ''; 26 + 27 + # NOTE: cbmbasic uses microsoft style linebreaks `\r\n`, and testing has to 28 + # accommodate that, else you get very cryptic diffs 29 + passthru = { 30 + tests.run = runCommand "cbmbasic-test-run" { 31 + nativeBuildInputs = [finalAttrs.finalPackage]; 32 + } '' 33 + echo '#!${lib.getExe finalAttrs.finalPackage}' > helloI.bas; 34 + echo 'PRINT"Hello, World!"' >> helloI.bas; 35 + chmod +x helloI.bas 36 + 37 + diff -U3 --color=auto <(./helloI.bas) <(echo -e "Hello, World!\r"); 38 + 39 + echo '#!/usr/bin/env cbmbasic' > hello.bas; 40 + echo 'PRINT"Hello, World!"' >> hello.bas; 41 + chmod +x hello.bas 42 + 43 + diff -U3 --color=auto <(cbmbasic ./hello.bas) <(echo -e "Hello, World!\r"); 44 + 45 + touch $out; 46 + ''; 47 + }; 48 + 49 + meta = with lib; { 50 + description = "Portable version of Commodore's version of Microsoft BASIC 6502 as found on the Commodore 64"; 51 + longDescription = '' 52 + "Commodore BASIC" (cbmbasic) is a 100% compatible version of Commodore's 53 + version of Microsoft BASIC 6502 as found on the Commodore 64. You can use 54 + it in interactive mode or pass a BASIC file as a command line parameter. 55 + 56 + This source does not emulate 6502 code; all code is completely native. On 57 + a 1 GHz CPU you get about 1000x speed compared to a 1 MHz 6502. 58 + ''; 59 + homepage = "https://github.com/mist64/cbmbasic"; 60 + license = licenses.bsd2; 61 + maintainers = [ maintainers.cafkafk ]; 62 + mainProgram = "cbmbasic"; 63 + platforms = platforms.all; 64 + }; 65 + })
+4 -4
pkgs/by-name/co/cowsql/package.nix
··· 10 10 , gitUpdater 11 11 }: 12 12 13 - stdenv.mkDerivation rec { 13 + stdenv.mkDerivation (finalAttrs: { 14 14 pname = "cowsql"; 15 - version = "0.15.2"; 15 + version = "1.15.3"; 16 16 17 17 src = fetchFromGitHub { 18 18 owner = "cowsql"; 19 19 repo = "cowsql"; 20 - rev = "refs/tags/v${version}"; 20 + rev = "refs/tags/v${finalAttrs.version}"; 21 21 hash = "sha256-+za3pIcV4BhoImKvJlKatCK372wL4OyPbApQvGxGGGk="; 22 22 }; 23 23 ··· 55 55 maintainers = with maintainers; [ adamcstephens ]; 56 56 platforms = platforms.unix; 57 57 }; 58 - } 58 + })
+57
pkgs/by-name/mo/modern-cpp-kafka/package.nix
··· 1 + { lib 2 + , stdenv 3 + , fetchFromGitHub 4 + , fetchpatch 5 + , cmake 6 + , boost 7 + , rdkafka 8 + , gtest 9 + , rapidjson 10 + }: 11 + 12 + stdenv.mkDerivation rec { 13 + pname = "modern-cpp-kafka"; 14 + version = "2023.03.07"; 15 + 16 + src = fetchFromGitHub { 17 + repo = "modern-cpp-kafka"; 18 + owner = "morganstanley"; 19 + rev = "v${version}"; 20 + hash = "sha256-7hkwM1YbveQpDRqwMZ3MXM88LTwlAT7uB8NL0t409To="; 21 + }; 22 + 23 + patches = [ 24 + (fetchpatch { 25 + name = "fix-avoid-overwriting-library-paths.patch"; 26 + url = "https://github.com/morganstanley/modern-cpp-kafka/pull/221.patch"; 27 + hash = "sha256-UsQcMvJoRTn5kgXhmXOyqfW3n59kGKO596U2WjtdqAY="; 28 + }) 29 + (fetchpatch { 30 + name = "add-pkg-config-cmake-config.patch"; 31 + url = "https://github.com/morganstanley/modern-cpp-kafka/pull/222.patch"; 32 + hash = "sha256-OjoSttnpgEwSZjCVKc888xJb5f1Dulu/rQqoGmqXNM4="; 33 + }) 34 + ]; 35 + 36 + nativeBuildInputs = [ cmake ]; 37 + buildInputs = [ boost ]; 38 + propagatedBuildInputs = [ rdkafka ]; 39 + 40 + cmakeFlags = [ 41 + "-DLIBRDKAFKA_INCLUDE_DIR=${rdkafka.out}/include" 42 + "-DGTEST_LIBRARY_DIR=${gtest.out}/lib" 43 + "-DGTEST_INCLUDE_DIR=${gtest.dev}/include" 44 + "-DRAPIDJSON_INCLUDE_DIRS=${rapidjson.out}/include" 45 + "-DCMAKE_CXX_FLAGS=-Wno-uninitialized" 46 + ]; 47 + 48 + checkInputs = [ gtest rapidjson ]; 49 + 50 + meta = with lib; { 51 + description = "A C++ API for Kafka clients (i.e. KafkaProducer, KafkaConsumer, AdminClient)"; 52 + homepage = "https://github.com/morganstanley/modern-cpp-kafka"; 53 + license = licenses.asl20; 54 + maintainers = with maintainers; [ ditsuke ]; 55 + platforms = platforms.unix; 56 + }; 57 + }
+6 -6
pkgs/by-name/wa/waycheck/package.nix
··· 10 10 , wrapGAppsHook 11 11 }: 12 12 13 - stdenv.mkDerivation rec { 13 + stdenv.mkDerivation (finalAttrs: { 14 14 pname = "waycheck"; 15 - version = "0.1.3"; 15 + version = "1.0.0"; 16 16 17 17 src = fetchFromGitLab { 18 18 domain = "gitlab.freedesktop.org"; 19 19 owner = "serebit"; 20 20 repo = "waycheck"; 21 - rev = "v${version}"; 22 - hash = "sha256-DbXc1Q/ZIqlIMocFld3fOmUp44rU3fEzazHKSDdqMNs="; 21 + rev = "v${finalAttrs.version}"; 22 + hash = "sha256-oGpiFwbPBQHF0wRHliltU8B+QmClcoFfbjpAYzOFPqs="; 23 23 }; 24 24 25 25 nativeBuildInputs = [ ··· 51 51 description = "Simple GUI that displays the protocols implemented by a Wayland compositor"; 52 52 homepage = "https://gitlab.freedesktop.org/serebit/waycheck"; 53 53 license = licenses.asl20; 54 - maintainers = with maintainers; [ julienmalka ]; 54 + maintainers = with maintainers; [ julienmalka federicoschonborn ]; 55 55 mainProgram = "waycheck"; 56 56 platforms = platforms.linux; 57 57 }; 58 - } 58 + })
+6 -6
pkgs/data/misc/xorg-rgb/default.nix
··· 1 1 { lib, stdenv, fetchurl, pkg-config, xorgproto }: 2 2 3 - stdenv.mkDerivation rec { 3 + stdenv.mkDerivation (finalAttrs: { 4 4 pname = "rgb"; 5 - version = "1.0.6"; 5 + version = "1.1.0"; 6 6 7 7 src = fetchurl { 8 - url = "https://xorg.freedesktop.org/archive/individual/app/rgb-${version}.tar.bz2"; 9 - sha256 = "1c76zcjs39ljil6f6jpx1x17c8fnvwazz7zvl3vbjfcrlmm7rjmv"; 8 + url = "https://xorg.freedesktop.org/archive/individual/app/rgb-${finalAttrs.version}.tar.xz"; 9 + hash = "sha256-/APX9W5bKmF2aBZ/iSeUjM5U+TCX58zZ8FYHf0ee03s="; 10 10 }; 11 11 12 12 nativeBuildInputs = [ pkg-config ]; ··· 15 15 meta = with lib; { 16 16 description = "X11 colorname to RGB mapping database"; 17 17 license = licenses.mit; 18 - maintainers = [ maintainers.raskin ]; 18 + maintainers = with maintainers; [ raskin ]; 19 19 platforms = platforms.linux; 20 20 homepage = "https://xorg.freedesktop.org/"; 21 21 }; 22 - } 22 + })
+11 -1
pkgs/development/compilers/gambit/build.nix
··· 5 5 stampYmd ? 0, stampHms ? 0, 6 6 gambit-support, 7 7 optimizationSetting ? "-O1", 8 - gambit-params ? pkgs.gambit-support.stable-params }: 8 + gambit-params ? pkgs.gambit-support.stable-params, 9 + rev ? git-version }: 9 10 10 11 # Note that according to a benchmark run by Marc Feeley on May 2018, 11 12 # clang is 10x (with default settings) to 15% (with -O2) slower than GCC at compiling ··· 30 31 inherit src version git-version; 31 32 bootstrap = gambit-support.gambit-bootstrap; 32 33 34 + passthru = { 35 + inherit src version git-version rev stampYmd stampHms optimizationSetting openssl; 36 + }; 37 + 38 + 33 39 nativeBuildInputs = [ git autoconf ]; 34 40 35 41 # TODO: if/when we can get all the library packages we depend on to have static versions, ··· 47 53 "--enable-c-opt=${optimizationSetting}" 48 54 "--enable-c-opt-rts=-O2" 49 55 "--enable-gcc-opts" 56 + "--enable-trust-c-tco" 50 57 "--enable-shared" 51 58 "--enable-absolute-shared-libs" # Yes, NixOS will want an absolute path, and fix it. 52 59 "--enable-openssl" ··· 70 77 # "--enable-char-size=1" # default is 4 71 78 # "--enable-march=native" # Nope, makes it not work on machines older than the builder 72 79 ] ++ gambit-params.extraOptions 80 + # TODO: pick an appropriate architecture to optimize on on x86-64? 81 + # https://gcc.gnu.org/onlinedocs/gcc-4.8.4/gcc/i386-and-x86-64-Options.html#i386-and-x86-64-Options 82 + # ++ lib.optional pkgs.stdenv.isx86_64 "--enable-march=core-avx2" 73 83 # Do not enable poll on darwin due to https://github.com/gambit/gambit/issues/498 74 84 ++ lib.optional (!gccStdenv.isDarwin) "--enable-poll"; 75 85
+1 -1
pkgs/development/compilers/gambit/default.nix
··· 2 2 3 3 callPackage ./build.nix rec { 4 4 version = "4.9.5"; 5 - git-version = version; 5 + git-version = "v${version}"; 6 6 src = fetchurl { 7 7 url = "https://gambitscheme.org/4.9.5/gambit-v4_9_5.tgz"; 8 8 sha256 = "sha256-4o74218OexFZcgwVAFPcq498TK4fDlyDiUR5cHP4wdw=";
+5 -4
pkgs/development/compilers/gambit/gambit-support.nix
··· 13 13 --replace "$(grep '^PACKAGE_VERSION=.*$' configure)" 'PACKAGE_VERSION="v${git-version}"' \ 14 14 --replace "$(grep '^PACKAGE_STRING=.*$' configure)" 'PACKAGE_STRING="Gambit v${git-version}"' ; 15 15 substituteInPlace include/makefile.in \ 16 - --replace "echo > stamp.h;" "(echo '#define ___STAMP_VERSION \"${git-version}\"'; echo '#define ___STAMP_YMD ${toString stampYmd}'; echo '#define ___STAMP_HMS ${toString stampHms}';) > stamp.h;"; 16 + --replace "\$\$(\$(GIT) describe --tag --always | sed 's/-bootstrap\$\$//')" "v${git-version}" \ 17 + --replace "echo > stamp.h;" "(echo '#define ___STAMP_VERSION \"v${git-version}\"'; echo '#define ___STAMP_YMD ${toString stampYmd}'; echo '#define ___STAMP_HMS ${toString stampHms}';) > stamp.h;"; 18 + grep -i ' version=\|echo..#define ___STAMP_VERSION' include/makefile.in # XXX DEBUG -- REMOVE ME 17 19 ''; 18 20 modules = true; 19 - #extraOptions = []; 20 - extraOptions = ["--enable-trust-c-tco" "CFLAGS=-foptimize-sibling-calls"]; 21 + extraOptions = ["CFLAGS=-foptimize-sibling-calls"]; 21 22 }; 22 23 23 24 unstable-params = stable-params // { 24 25 stable = false; 25 - extraOptions = ["--enable-trust-c-tco"]; # "CFLAGS=-foptimize-sibling-calls" not necessary in latest unstable 26 + extraOptions = []; # "CFLAGS=-foptimize-sibling-calls" not necessary in latest unstable 26 27 }; 27 28 28 29 export-gambopt = params : "export GAMBOPT=${params.buildRuntimeOptions} ;";
+8 -7
pkgs/development/compilers/gambit/unstable.nix
··· 1 1 { callPackage, fetchFromGitHub, gambit-support }: 2 2 3 - callPackage ./build.nix { 4 - version = "unstable-2023-08-06"; 5 - git-version = "4.9.5-5-gf1fbe9aa"; 6 - stampYmd = 20230806; 7 - stampHms = 195822; 3 + callPackage ./build.nix rec { 4 + version = "unstable-2023-10-07"; 5 + git-version = "4.9.5-59-g342399c7"; 6 + stampYmd = 20231007; 7 + stampHms = 170745; 8 + rev = "342399c736ec560c0ff4faeaeb9599b45633f26c"; 8 9 src = fetchFromGitHub { 9 10 owner = "gambit"; 10 11 repo = "gambit"; 11 - rev = "f1fbe9aa0f461e89f2a91bc050c1373ee6d66482"; 12 - sha256 = "0b0gd6cwj8zxwcqglpsnmanysiq4mvma2mrgdfr6qy99avhbhzxm"; 12 + inherit rev; 13 + sha256 = "121pj6lxihjjnfq33lq4m5hi461xbs9f41qd4l46556dr15cyf8f"; 13 14 }; 14 15 gambit-params = gambit-support.unstable-params; 15 16 }
+58 -25
pkgs/development/compilers/gerbil/build.nix
··· 1 1 { pkgs, gccStdenv, lib, coreutils, 2 - openssl, zlib, sqlite, libxml2, libyaml, libmysqlclient, lmdb, leveldb, postgresql, 3 - version, git-version, 2 + openssl, zlib, sqlite, 3 + version, git-version, src, 4 4 gambit-support, 5 - gambit ? pkgs.gambit, gambit-params ? pkgs.gambit-support.stable-params, src }: 5 + gambit-git-version, 6 + gambit-stampYmd, 7 + gambit-stampHms, 8 + gambit-params }: 6 9 7 10 # We use Gambit, that works 10x better with GCC than Clang. See ../gambit/build.nix 8 11 let stdenv = gccStdenv; in ··· 12 15 inherit version; 13 16 inherit src; 14 17 15 - buildInputs_libraries = [ openssl zlib sqlite libxml2 libyaml libmysqlclient lmdb leveldb postgresql ]; 18 + buildInputs_libraries = [ openssl zlib sqlite ]; 16 19 17 20 # TODO: either fix all of Gerbil's dependencies to provide static libraries, 18 21 # or give up and delete all tentative support for static libraries. 19 22 #buildInputs_staticLibraries = map makeStaticLibraries buildInputs_libraries; 20 23 21 - buildInputs = [ gambit ] 22 - ++ buildInputs_libraries; # ++ buildInputs_staticLibraries; 23 - 24 - env.NIX_CFLAGS_COMPILE = "-I${libmysqlclient}/include/mysql -L${libmysqlclient}/lib/mysql"; 24 + buildInputs = buildInputs_libraries; 25 25 26 26 postPatch = '' 27 27 echo '(define (gerbil-version-string) "v${git-version}")' > src/gerbil/runtime/gx-version.scm ; ··· 29 29 grep -Fl '#!/usr/bin/env' `find . -type f -executable` | while read f ; do 30 30 substituteInPlace "$f" --replace '#!/usr/bin/env' '#!${coreutils}/bin/env' ; 31 31 done ; 32 + substituteInPlace ./configure --replace 'set -e' 'set -e ; git () { echo "v${git-version}" ;}' ; 33 + substituteInPlace ./src/build/build-version.scm --replace "with-exception-catcher" '(lambda _ "v${git-version}")' ; 34 + #rmdir src/gambit 35 + #cp -a ${pkgs.gambit-unstable.src} ./src/gambit 36 + chmod -R u+w ./src/gambit 37 + ( cd src/gambit ; ${gambit-params.fixStamp gambit-git-version gambit-stampYmd gambit-stampHms} ) 38 + for f in src/bootstrap/gerbil/compiler/driver__0.scm \ 39 + src/build/build-libgerbil.ss \ 40 + src/gerbil/compiler/driver.ss ; do 41 + substituteInPlace "$f" --replace '"gcc"' '"${gccStdenv.cc}/bin/${gccStdenv.cc.targetPrefix}gcc"' ; 42 + done 32 43 ''; 33 44 34 45 ## TODO: make static compilation work. ··· 40 51 # OPENSSL_LIBSSL=${makeStaticLibraries openssl}/lib/libssl.a # MISSING! 41 52 # ZLIB=${makeStaticLibraries zlib}/lib/libz.a 42 53 # SQLITE=${makeStaticLibraries sqlite}/lib/sqlite.a # MISSING! 43 - # LIBXML2=${makeStaticLibraries libxml2}/lib/libxml2.a # MISSING! 44 - # YAML=${makeStaticLibraries libyaml}/lib/libyaml.a # MISSING! 45 - # MYSQL=${makeStaticLibraries libmysqlclient}/lib/mariadb/libmariadb.a 46 - # LMDB=${makeStaticLibraries lmdb}/lib/mysql/libmysqlclient_r.a # MISSING! 47 - # LEVELDB=${makeStaticLibraries leveldb}/lib/libleveldb.a 48 54 # EOF 49 55 56 + configureFlags = [ 57 + "--prefix=$out/gerbil" 58 + "--enable-zlib" 59 + "--enable-sqlite" 60 + "--enable-shared" 61 + "--disable-deprecated" 62 + "--enable-march=" # Avoid non-portable invalid instructions 63 + ]; 64 + 50 65 configurePhase = '' 51 - (cd src && ./configure \ 52 - --prefix=$out/gerbil \ 53 - --with-gambit=${gambit}/gambit \ 54 - --enable-libxml \ 55 - --enable-libyaml \ 56 - --enable-zlib \ 57 - --enable-sqlite \ 58 - --enable-mysql \ 59 - --enable-lmdb \ 60 - --enable-leveldb) 66 + export CC=${gccStdenv.cc}/bin/${gccStdenv.cc.targetPrefix}gcc \ 67 + CXX=${gccStdenv.cc}/bin/${gccStdenv.cc.targetPrefix}g++ \ 68 + CPP=${gccStdenv.cc}/bin/${gccStdenv.cc.targetPrefix}cpp \ 69 + CXXCPP=${gccStdenv.cc}/bin/${gccStdenv.cc.targetPrefix}cpp \ 70 + LD=${gccStdenv.cc}/bin/${gccStdenv.cc.targetPrefix}ld \ 71 + XMKMF=${coreutils}/bin/false 72 + unset CFLAGS LDFLAGS LIBS CPPFLAGS CXXFLAGS 73 + (cd src/gambit ; ${gambit-params.fixStamp gambit-git-version gambit-stampYmd gambit-stampHms}) 74 + ./configure ${builtins.concatStringsSep " " configureFlags} 75 + (cd src/gambit ; 76 + substituteInPlace config.status \ 77 + ${lib.optionalString (gccStdenv.isDarwin && !gambit-params.stable) 78 + ''--replace "/usr/local/opt/openssl@1.1" "${lib.getLib openssl}"''} \ 79 + --replace "/usr/local/opt/openssl" "${lib.getLib openssl}" 80 + ./config.status 81 + ) 61 82 ''; 83 + 84 + extraLdOptions = [ 85 + "-L${zlib}/lib" 86 + "-L${openssl.out}/lib" 87 + "-L${sqlite.out}/lib" 88 + ]; 62 89 63 90 buildPhase = '' 64 91 runHook preBuild ··· 68 95 export GERBIL_BUILD_CORES=$NIX_BUILD_CORES 69 96 export GERBIL_GXC=$PWD/bin/gxc 70 97 export GERBIL_BASE=$PWD 71 - export GERBIL_HOME=$PWD 98 + export GERBIL_PREFIX=$PWD 72 99 export GERBIL_PATH=$PWD/lib 73 100 export PATH=$PWD/bin:$PATH 74 101 ${gambit-support.export-gambopt gambit-params} ··· 76 103 # Build, replacing make by build.sh 77 104 ( cd src && sh build.sh ) 78 105 106 + f=build/lib/libgerbil.so.ldd ; [ -f $f ] && : 107 + substituteInPlace "$f" --replace '(' \ 108 + '(${lib.strings.concatStrings (map (x: "\"${x}\" " ) extraLdOptions)}' 109 + 79 110 runHook postBuild 80 111 ''; 81 112 82 113 installPhase = '' 83 114 runHook preInstall 84 115 mkdir -p $out/gerbil $out/bin 85 - (cd src; ./install) 116 + ./install.sh 86 117 (cd $out/bin ; ln -s ../gerbil/bin/* .) 87 118 runHook postInstall 88 119 ''; ··· 98 129 platforms = lib.platforms.unix; 99 130 maintainers = with lib.maintainers; [ fare ]; 100 131 }; 132 + 133 + outputsToInstall = [ "out" ]; 101 134 }
+12 -6
pkgs/development/compilers/gerbil/default.nix
··· 1 - { callPackage, fetchFromGitHub }: 1 + { callPackage, fetchFromGitHub, gambit-unstable, gambit-support, pkgs, gccStdenv }: 2 2 3 3 callPackage ./build.nix rec { 4 - version = "0.17"; 5 - git-version = version; 4 + version = "0.18"; 5 + git-version = "0.18"; 6 6 src = fetchFromGitHub { 7 - owner = "vyzo"; 7 + owner = "mighty-gerbils"; 8 8 repo = "gerbil"; 9 - rev = "v${version}"; 10 - sha256 = "0xzi9mhrmzcajhlz5qcnz4yjlljvbkbm9426iifgjn47ac0965zw"; 9 + rev = "8ca36a928bc9345f9d28e5f2dfcb55ca558e85f9"; 10 + sha256 = "sha256-EMiYgQM/Gl+dh6AxLYRZ0BKZ+VKFd+Lkyy9Pw11ivE8="; 11 + fetchSubmodules = true; 11 12 }; 13 + inherit gambit-support; 14 + gambit-params = gambit-support.unstable-params; 15 + gambit-git-version = "4.9.5-40-g24201248"; # pkgs.gambit-unstable.passthru.git-version 16 + gambit-stampYmd = "20230917"; # pkgs.gambit-unstable.passthru.git-stampYmd 17 + gambit-stampHms = "182043"; # pkgs.gambit-unstable.passthru.git-stampHms 12 18 }
+5 -5
pkgs/development/compilers/gerbil/gerbil-crypto.nix
··· 2 2 3 3 { 4 4 pname = "gerbil-crypto"; 5 - version = "unstable-2023-03-27"; 6 - git-version = "0.0-18-ge57f887"; 5 + version = "unstable-2023-09-27"; 6 + git-version = "0.0-23-g341e09d"; 7 7 gerbil-package = "clan/crypto"; 8 8 gerbilInputs = with gerbilPackages; [ gerbil-utils gerbil-poo ]; 9 9 nativeBuildInputs = [ pkgs.pkg-config ]; ··· 13 13 14 14 pre-src = { 15 15 fun = fetchFromGitHub; 16 - owner = "fare"; 16 + owner = "mighty-gerbils"; 17 17 repo = "gerbil-crypto"; 18 - rev = "e57f88742d9b41640b4a7d9bd3e86c688d4a83f9"; 19 - sha256 = "08hrk3s82hbigvza75vgx9kc7qf64yhhn3xm5calc859sy6ai4ka"; 18 + rev = "341e09dcb15c09c836eae18093c0f63f71c0a72f"; 19 + sha256 = "1rq50q4p4vhr5drjvirmdkxaa4wszj1rxnhjaqz98bfpjm90yk4j"; 20 20 }; 21 21 22 22 meta = with lib; {
+10 -9
pkgs/development/compilers/gerbil/gerbil-ethereum.nix
··· 2 2 3 3 rec { 4 4 pname = "gerbil-ethereum"; 5 - version = "unstable-2023-05-30"; 6 - git-version = "0.0-375-g989a5ca"; 5 + version = "unstable-2023-10-06"; 6 + git-version = "0.1-1-g08b08fc"; 7 7 softwareName = "Gerbil-ethereum"; 8 - gerbil-package = "mukn/ethereum"; 8 + gerbil-package = "clan/ethereum"; 9 9 version-path = "version"; 10 10 11 - gerbilInputs = with gerbilPackages; [ gerbil-utils gerbil-crypto gerbil-poo gerbil-persist ]; 11 + gerbilInputs = with gerbilPackages; [ 12 + gerbil-utils gerbil-crypto gerbil-poo gerbil-persist gerbil-leveldb ]; 12 13 13 14 pre-src = { 14 15 fun = fetchFromGitHub; 15 - owner = "fare"; 16 + owner = "mighty-gerbils"; 16 17 repo = "gerbil-ethereum"; 17 - rev = "989a5ca78958e42c4a1ec242786ade89f1887e48"; 18 - sha256 = "0bs2knhx3hy3k72yidgaplwjd48y86arqscdik8hgxwmhm9z8kwp"; 18 + rev = "08b08fce8c83cb59bfb532eebb1c7a2dd4bd57ab"; 19 + sha256 = "1sy7l869d2xqhq2qflsmkvr343jfhzsq43ixx75rqfpr3cdljz0b"; 19 20 }; 20 21 21 22 postInstall = '' 22 - cp scripts/{croesus.prv,genesis.json,logback.xml,yolo-evm.conf,yolo-kevm.conf,run-ethereum-test-net.ss} $out/gerbil/lib/mukn/ethereum/scripts/ 23 + cp scripts/{croesus.prv,genesis.json,logback.xml,yolo-evm.conf,yolo-kevm.conf,run-ethereum-test-net.ss} $out/gerbil/lib/clan/ethereum/scripts/ 23 24 mkdir -p $out/bin 24 25 cat > $out/bin/run-ethereum-test-net <<EOF 25 26 #!/bin/sh ··· 33 34 export GERBIL_PATH GERBIL_LOADPATH GLOW_SOURCE ORIG_GERBIL_PATH ORIG_GERBIL_LOADPATH 34 35 exec ${gerbil}/bin/gxi "\$0" "\$@" 35 36 |# 36 - (import :mukn/ethereum/scripts/run-ethereum-test-net :clan/multicall) 37 + (import :clan/ethereum/scripts/run-ethereum-test-net :clan/multicall) 37 38 (apply call-entry-point (cdr (command-line))) 38 39 EOF 39 40 chmod a+x $out/bin/run-ethereum-test-net
+31
pkgs/development/compilers/gerbil/gerbil-leveldb.nix
··· 1 + { pkgs, lib, fetchFromGitHub, gerbilPackages, leveldb, ... }: 2 + 3 + { 4 + pname = "gerbil-leveldb"; 5 + version = "unstable-2023-09-23"; 6 + git-version = "c62e47f"; 7 + gerbil-package = "clan"; 8 + gerbilInputs = [ ]; 9 + nativeBuildInputs = [ pkgs.pkg-config ]; 10 + buildInputs = [ leveldb ]; 11 + version-path = ""; 12 + softwareName = "Gerbil-LevelDB"; 13 + 14 + pre-src = { 15 + fun = fetchFromGitHub; 16 + owner = "mighty-gerbils"; 17 + repo = "gerbil-leveldb"; 18 + rev = "c62e47f352377b6843fb3e4b27030762a510a0d8"; 19 + sha256 = "177zn1smv2zq97mlryf8fi7v5gbjk07v5i0dix3r2wsanphaawvl"; 20 + }; 21 + 22 + meta = with lib; { 23 + description = "LevelDB bindings for Gerbil"; 24 + homepage = "https://github.com/mighty-gerbils/gerbil-leveldb"; 25 + license = licenses.asl20; 26 + platforms = platforms.unix; 27 + maintainers = with maintainers; [ fare ]; 28 + }; 29 + 30 + # "-L${leveldb}/lib" 31 + }
+29
pkgs/development/compilers/gerbil/gerbil-libxml.nix
··· 1 + { pkgs, lib, fetchFromGitHub, gerbilPackages, libxml2, ... }: 2 + 3 + { 4 + pname = "gerbil-libxml"; 5 + version = "unstable-2023-09-23"; 6 + git-version = "b08e5d8"; 7 + gerbil-package = "clan"; 8 + gerbilInputs = [ ]; 9 + nativeBuildInputs = [ pkgs.pkg-config ]; 10 + buildInputs = [ libxml2 ]; 11 + version-path = ""; 12 + softwareName = "Gerbil-LibXML"; 13 + 14 + pre-src = { 15 + fun = fetchFromGitHub; 16 + owner = "mighty-gerbils"; 17 + repo = "gerbil-libxml"; 18 + rev = "b08e5d8fe4688a162824062579ce152a10adb4cf"; 19 + sha256 = "1zfccqaibwy2b3srwmwwgv91dwy1xl18cfimxhcsxl6mxvgm61pd"; 20 + }; 21 + 22 + meta = with lib; { 23 + description = "libxml bindings for Gerbil"; 24 + homepage = "https://github.com/mighty-gerbils/gerbil-libxml"; 25 + license = licenses.asl20; 26 + platforms = platforms.unix; 27 + maintainers = with maintainers; [ fare ]; 28 + }; 29 + }
+31
pkgs/development/compilers/gerbil/gerbil-libyaml.nix
··· 1 + { pkgs, lib, fetchFromGitHub, gerbilPackages, libyaml, ... }: 2 + 3 + { 4 + pname = "gerbil-libyaml"; 5 + version = "unstable-2023-09-23"; 6 + git-version = "398a197"; 7 + gerbil-package = "clan"; 8 + gerbilInputs = [ ]; 9 + nativeBuildInputs = [ pkgs.pkg-config ]; 10 + buildInputs = [ libyaml ]; 11 + version-path = ""; 12 + softwareName = "Gerbil-LibYAML"; 13 + 14 + pre-src = { 15 + fun = fetchFromGitHub; 16 + owner = "mighty-gerbils"; 17 + repo = "gerbil-libyaml"; 18 + rev = "398a19782b1526de94b70de165c027d4b6029dac"; 19 + sha256 = "0plmwx1i23c9nzzg6zxz2xi0y92la97mak9hg6h3c6d8kxvajb5c"; 20 + }; 21 + 22 + meta = with lib; { 23 + description = "libyaml bindings for Gerbil"; 24 + homepage = "https://github.com/mighty-gerbils/gerbil-libyaml"; 25 + license = licenses.asl20; 26 + platforms = platforms.unix; 27 + maintainers = with maintainers; [ fare ]; 28 + }; 29 + 30 + # "-L${libyaml}/lib" 31 + }
+31
pkgs/development/compilers/gerbil/gerbil-lmdb.nix
··· 1 + { pkgs, lib, fetchFromGitHub, gerbilPackages, lmdb, ... }: 2 + 3 + { 4 + pname = "gerbil-lmdb"; 5 + version = "unstable-2023-09-23"; 6 + git-version = "6d64813"; 7 + gerbil-package = "clan"; 8 + gerbilInputs = [ ]; 9 + nativeBuildInputs = [ pkgs.pkg-config ]; 10 + buildInputs = [ lmdb ]; 11 + version-path = ""; 12 + softwareName = "Gerbil-LMDB"; 13 + 14 + pre-src = { 15 + fun = fetchFromGitHub; 16 + owner = "mighty-gerbils"; 17 + repo = "gerbil-lmdb"; 18 + rev = "6d64813afe5766776a0d7ef45f80c784b820742c"; 19 + sha256 = "12kywxx4qjxchmhcd66700r2yfqjnh12ijgqnpqaccvigi07iq9b"; 20 + }; 21 + 22 + meta = with lib; { 23 + description = "LMDB bindings for Gerbil"; 24 + homepage = "https://github.com/mighty-gerbils/gerbil-lmdb"; 25 + license = licenses.asl20; 26 + platforms = platforms.unix; 27 + maintainers = with maintainers; [ fare ]; 28 + }; 29 + 30 + # "-L${lmdb.out}/lib" 31 + }
+31
pkgs/development/compilers/gerbil/gerbil-mysql.nix
··· 1 + { pkgs, lib, fetchFromGitHub, gerbilPackages, mariadb-connector-c, ... }: 2 + 3 + { 4 + pname = "gerbil-mysql"; 5 + version = "unstable-2023-09-23"; 6 + git-version = "ecec94c"; 7 + gerbil-package = "clan"; 8 + gerbilInputs = [ ]; 9 + nativeBuildInputs = [ pkgs.pkg-config ]; 10 + buildInputs = [ mariadb-connector-c ]; 11 + version-path = ""; 12 + softwareName = "Gerbil-MySQL"; 13 + 14 + pre-src = { 15 + fun = fetchFromGitHub; 16 + owner = "mighty-gerbils"; 17 + repo = "gerbil-mysql"; 18 + rev = "ecec94c76d7aa23331b7e02ac7732a7923f100a5"; 19 + sha256 = "01506r0ivgp6cxvwracmg7pwr735ngb7899ga3lxy181lzkp6b2c"; 20 + }; 21 + 22 + meta = with lib; { 23 + description = "MySQL bindings for Gerbil"; 24 + homepage = "https://github.com/mighty-gerbils/gerbil-mysql"; 25 + license = licenses.asl20; 26 + platforms = platforms.unix; 27 + maintainers = with maintainers; [ fare ]; 28 + }; 29 + 30 + # "-L${mariadb-connector-c}/lib/mariadb" 31 + }
+6 -6
pkgs/development/compilers/gerbil/gerbil-persist.nix
··· 1 1 { lib, fetchFromGitHub, gerbilPackages, ... }: 2 2 { 3 3 pname = "gerbil-persist"; 4 - version = "unstable-2023-03-02"; 5 - git-version = "0.1.0-24-ge2305f5"; 4 + version = "unstable-2023-10-07"; 5 + git-version = "0.1.1-1-g3ce1d4a"; 6 6 softwareName = "Gerbil-persist"; 7 7 gerbil-package = "clan/persist"; 8 8 version-path = "version"; 9 9 10 - gerbilInputs = with gerbilPackages; [ gerbil-utils gerbil-crypto gerbil-poo ]; 10 + gerbilInputs = with gerbilPackages; [ gerbil-utils gerbil-crypto gerbil-poo gerbil-leveldb ]; 11 11 12 12 pre-src = { 13 13 fun = fetchFromGitHub; 14 - owner = "fare"; 14 + owner = "mighty-gerbils"; 15 15 repo = "gerbil-persist"; 16 - rev = "e2305f53571e55292179286ca2d88e046ec6638b"; 17 - sha256 = "1vsi4rfzpqg4hhn53d2r26iw715vzwz0hiai9r34z4diwzqixfgn"; 16 + rev = "3ce1d4a4b1d7be290e54f884d780c02ceee8f10e"; 17 + sha256 = "1kzvgpqkpq4wlc0hlfxy314fbv6215aksrrlrrpq9w97wdibmv7x"; 18 18 }; 19 19 20 20 meta = with lib; {
+5 -5
pkgs/development/compilers/gerbil/gerbil-poo.nix
··· 2 2 3 3 { 4 4 pname = "gerbil-poo"; 5 - version = "unstable-2023-04-28"; 6 - git-version = "0.0-106-g418b582"; 5 + version = "unstable-2023-10-07"; 6 + git-version = "0.1-1-g367ab43"; 7 7 softwareName = "Gerbil-POO"; 8 8 gerbil-package = "clan/poo"; 9 9 version-path = "version"; ··· 12 12 13 13 pre-src = { 14 14 fun = fetchFromGitHub; 15 - owner = "fare"; 15 + owner = "mighty-gerbils"; 16 16 repo = "gerbil-poo"; 17 - rev = "418b582ae72e1494cf3a5f334d31d4f6503578f5"; 18 - sha256 = "0qdzs7l6hp45dji5bc3879k4c8k9x6cj4qxz68cskjhn8wrc5lr8"; 17 + rev = "367ab4376fdd6fc0b0892da2becef35a5039c583"; 18 + sha256 = "0ci88zqi7gb55ahl0n7dk1ihij2j6dn8jb6rzfiilck773x46kdh"; 19 19 }; 20 20 21 21 meta = with lib; {
+31 -22
pkgs/development/compilers/gerbil/gerbil-support.nix
··· 1 1 { pkgs, lib, callPackage, ... }: 2 2 3 - with pkgs.gerbil-support; { 3 + with pkgs.gerbil-support; { 4 + 5 + pppToName = ppp: lib.removeSuffix ".nix" (baseNameOf ppp); # from pre-package path to name 6 + callPpp = ppp: callPackage ppp prePackage-defaults; # from pre-package path to pre-package 7 + pppToKV = ppp: { name = pppToName ppp; value = callPpp ppp; }; # from pre-package path to name 8 + ppplToPpa = ppps: builtins.listToAttrs (map pppToKV ppps); # from pre-package path list to name/pre-package attr 4 9 5 10 prePackages-unstable = 6 - let pks = [ ./gerbil-libp2p.nix ./smug-gerbil.nix ./ftw.nix 7 - ./gerbil-utils.nix ./gerbil-crypto.nix ./gerbil-poo.nix 8 - ./gerbil-persist.nix ./gerbil-ethereum.nix ./glow-lang.nix ]; 9 - call = pkg: callPackage pkg prePackage-defaults; 10 - pkgName = pkg: lib.removeSuffix ".nix" (baseNameOf pkg); 11 - f = pkg: { name = pkgName pkg; value = call pkg; }; in 12 - builtins.listToAttrs (map f pks); 11 + ppplToPpa 12 + [ ./gerbil-leveldb.nix ./gerbil-lmdb.nix ./gerbil-mysql.nix 13 + ./gerbil-libxml.nix ./gerbil-libyaml.nix 14 + ./smug-gerbil.nix # ./ftw.nix 15 + ./gerbil-utils.nix ./gerbil-crypto.nix ./gerbil-poo.nix 16 + ./gerbil-persist.nix ./gerbil-ethereum.nix 17 + # ./gerbil-libp2p.nix 18 + ./glow-lang.nix 19 + ]; 13 20 14 21 prePackage-defaults = { 15 22 gerbil = pkgs.gerbil-unstable; ··· 25 32 softwareName = ""; 26 33 }; 27 34 28 - gerbilPackages-unstable = 29 - builtins.mapAttrs (_: gerbilPackage) prePackages-unstable; 35 + ppaToPl = builtins.mapAttrs (_: gerbilPackage); 36 + gerbilPackages-unstable = ppaToPl prePackages-unstable; 30 37 31 38 resolve-pre-src = pre-src: pre-src.fun (removeAttrs pre-src ["fun"]); 32 39 33 - gerbilVersionFromGit = pkg: 34 - let version-path = "${pkg.passthru.pre-pkg.version-path}.ss"; in 35 - if builtins.pathExists version-path then 40 + gerbilVersionFromGit = srcDir: version-path: 41 + let version-file = "${srcDir}/${version-path}.ss"; in 42 + if builtins.pathExists version-file then 36 43 let m = 37 44 builtins.match "\\(import :clan/versioning.*\\)\n\\(register-software \"([-_.A-Za-z0-9]+)\" \"([-_.A-Za-z0-9]+)\"\\) ;; ([-0-9]+)\n" 38 - (builtins.readFile version-path); in 39 - { version = builtins.elemAt m 2; git-version = builtins.elemAt m 1; } 40 - else { version = "0.0"; 41 - git-version = let gitpath = "${toString pkg.src}/.git"; in 45 + (builtins.readFile version-file); in 46 + { version = "${builtins.elemAt m 2}-git"; git-version = builtins.elemAt m 1; } 47 + else { version = "0.0-git"; 48 + git-version = let gitpath = "${srcDir}/.git"; in 42 49 if builtins.pathExists gitpath then lib.commitIdFromGitRepo gitpath else "0"; }; 43 50 44 - gerbilSkippableFiles = [".git" ".build" ".build_outputs" "run" "result" "dep" "BLAH" 45 - "version.ss" "tmp.nix"]; 51 + gerbilSkippableFiles = [".git" ".build" ".build_outputs" "run" "result" "dep" "BLAH" "tmp.nix"]; 46 52 47 53 gerbilSourceFilter = path: type: 48 54 let baseName = baseNameOf path; in ··· 66 72 if old-sha256 == new-sha256 then {} else 67 73 view "Overriding ${name} old-sha256: ${old-sha256} new-sha256: ${new-sha256}" 68 74 { ${name} = super.${name} // { 69 - pre-src = new-pre-src; 70 - version = "override"; 71 - git-version = if new-pre-src ? rev then lib.substring 0 7 new-pre-src.rev else "unknown";};}; 75 + pre-src = new-pre-src; 76 + version = "override"; 77 + git-version = if new-pre-src ? rev 78 + then lib.substring 0 7 new-pre-src.rev 79 + else "unknown";}; 80 + }; 72 81 73 82 pkgsOverrideGerbilPackageSrc = name: pre-src: pkgs: super: { 74 83 gerbil-support = (super-support:
+5 -5
pkgs/development/compilers/gerbil/gerbil-utils.nix
··· 2 2 3 3 { 4 4 pname = "gerbil-utils"; 5 - version = "unstable-2023-07-22"; 6 - git-version = "0.2-198-g2fb01ce"; 5 + version = "unstable-2023-10-08"; 6 + git-version = "0.3-3-g2914428"; 7 7 softwareName = "Gerbil-utils"; 8 8 gerbil-package = "clan"; 9 9 version-path = "version"; 10 10 11 11 pre-src = { 12 12 fun = fetchFromGitHub; 13 - owner = "fare"; 13 + owner = "mighty-gerbils"; 14 14 repo = "gerbil-utils"; 15 - rev = "2fb01ce0b302f232f5c4daf4987457b6357d609d"; 16 - sha256 = "127q98gk1x6y1nlkkpnbnkz989ybpszy7aiy43hzai2q6xn4nv72"; 15 + rev = "29144289b40ce624adf30eab23b796ddd6b6b55d"; 16 + sha256 = "0qysw2zs5acgri3wrjb3ngnnhd17xpr9hcdr4ya383k8k7jacr8a"; 17 17 }; 18 18 19 19 meta = with lib; {
+6 -5
pkgs/development/compilers/gerbil/glow-lang.nix
··· 2 2 3 3 rec { 4 4 pname = "glow-lang"; 5 - version = "unstable-2023-04-26"; 6 - git-version = "0.3.2-222-gb19cd980"; 5 + version = "unstable-2023-10-06"; 6 + git-version = "0.3.2-232-ga1a7a9e5"; 7 7 softwareName = "Glow"; 8 8 gerbil-package = "mukn/glow"; 9 9 version-path = "version"; 10 10 11 11 gerbilInputs = with gerbilPackages; 12 12 [ gerbil-utils gerbil-crypto gerbil-poo gerbil-persist gerbil-ethereum 13 - gerbil-libp2p smug-gerbil ftw ]; 13 + smug-gerbil gerbil-leveldb # gerbil-libp2p ftw 14 + ]; 14 15 15 16 pre-src = { 16 17 fun = fetchFromGitHub; 17 18 owner = "Glow-Lang"; 18 19 repo = "glow"; 19 - rev = "b19cd98082dfc5156d1b4fc83cde161572d6a211"; 20 - sha256 = "0k3qy5826pxqr9ylnnpq4iikxf4j50987vhpa5qiv99j0p643xr3"; 20 + rev = "a1a7a9e51ba9a466d91c397d9da55af90076110c"; 21 + sha256 = "0wgav4gbg6mlxgisjjbyhvhz94b29vv2rkjkjy1jl7v0hs3wbm52"; 21 22 }; 22 23 23 24 postPatch = ''
+10 -7
pkgs/development/compilers/gerbil/unstable.nix
··· 1 - { callPackage, fetchFromGitHub, gambit-unstable, gambit-support }: 1 + { callPackage, fetchFromGitHub, gambit-unstable, gambit-support, pkgs, gccStdenv }: 2 2 3 3 callPackage ./build.nix rec { 4 - version = "unstable-2023-08-07"; 5 - git-version = "0.17.0-187-gba545b77"; 4 + version = "unstable-2023-10-13"; 5 + git-version = "0.18-2-g8ed012ff"; 6 6 src = fetchFromGitHub { 7 - owner = "vyzo"; 7 + owner = "mighty-gerbils"; 8 8 repo = "gerbil"; 9 - rev = "ba545b77e8e85118089232e3cd263856e414b24b"; 10 - sha256 = "1f4v1qawx2i8333kshj4pbj5r21z0868pwrr3r710n6ng3pd9gqn"; 9 + rev = "8ed012ff9571fcfebcc07815813001a3f356150d"; 10 + sha256 = "056kmjn7sd0hjwikmg7v3a1kvgsgvfi7pi9xcx3ixym9g3bqa4mx"; 11 + fetchSubmodules = true; 11 12 }; 12 13 inherit gambit-support; 13 - gambit = gambit-unstable; 14 14 gambit-params = gambit-support.unstable-params; 15 + gambit-git-version = "4.9.5-40-g24201248"; # pkgs.gambit-unstable.passthru.git-version 16 + gambit-stampYmd = "20230917"; # pkgs.gambit-unstable.passthru.git-stampYmd 17 + gambit-stampHms = "182043"; # pkgs.gambit-unstable.passthru.git-stampHms 15 18 }
+66
pkgs/development/compilers/yosys/plugins/synlig-makefile-for-nix.patch
··· 1 + diff --git a/Makefile b/Makefile 2 + index 4c96ae7..9e1a2e3 100755 3 + --- a/Makefile 4 + +++ b/Makefile 5 + @@ -3,7 +3,7 @@ 6 + # Setup make itself. 7 + 8 + .ONESHELL: 9 + -override SHELL := /bin/bash 10 + +SHELL := bash 11 + override .SHELLFLAGS := -e -u -o pipefail -O nullglob -O extglob -O globstar -c 12 + 13 + # Unset all default build- and recipe-related variables. 14 + @@ -315,7 +315,6 @@ endif 15 + GetTargetStructName = target[${1}] 16 + 17 + makefiles_to_include := \ 18 + - third_party/Build.*.mk \ 19 + frontends/*/Build.mk \ 20 + tests/*/Build.mk \ 21 + lib/*/Build.mk 22 + diff --git a/frontends/systemverilog/Build.mk b/frontends/systemverilog/Build.mk 23 + index acd9cb6..c039994 100644 24 + --- a/frontends/systemverilog/Build.mk 25 + +++ b/frontends/systemverilog/Build.mk 26 + @@ -1,6 +1,7 @@ 27 + t := systemverilog-plugin 28 + ts := $(call GetTargetStructName,${t}) 29 + out_dir := $(call GetTargetBuildDir,${t}) 30 + +mod_dir := third_party/yosys_mod 31 + 32 + cxx_is_clang := $(findstring clang,$(notdir ${CXX})) 33 + 34 + @@ -13,9 +14,9 @@ ${ts}.sources := \ 35 + ${${ts}.src_dir}uhdm_ast_frontend.cc \ 36 + ${${ts}.src_dir}uhdm_common_frontend.cc \ 37 + ${${ts}.src_dir}uhdm_surelog_ast_frontend.cc \ 38 + - ${$(call GetTargetStructName,yosys).mod_dir}const2ast.cc \ 39 + - ${$(call GetTargetStructName,yosys).mod_dir}edif.cc \ 40 + - ${$(call GetTargetStructName,yosys).mod_dir}simplify.cc 41 + + $(mod_dir)/const2ast.cc \ 42 + + $(mod_dir)/edif.cc \ 43 + + $(mod_dir)/simplify.cc 44 + 45 + define ${ts}.env = 46 + export PKG_CONFIG_PATH=$(call ShQuote,${$(call GetTargetStructName,surelog).output_vars.PKG_CONFIG_PATH}$(if ${PKG_CONFIG_PATH},:${PKG_CONFIG_PATH})) 47 + @@ -35,8 +36,8 @@ endif 48 + endif 49 + 50 + ${ts}.cxxflags = \ 51 + - -I${$(call GetTargetStructName,yosys).src_dir} \ 52 + - -I${$(call GetTargetStructName,yosys).mod_dir} \ 53 + + -I$(shell yosys-config --cxxflags) \ 54 + + -I$(mod_dir) \ 55 + -D_YOSYS_ \ 56 + -DYOSYS_ENABLE_PLUGINS \ 57 + $(shell ${${ts}.env}; pkg-config --cflags Surelog) \ 58 + @@ -55,7 +56,7 @@ ${ts}.ldflags = \ 59 + $(shell ${${ts}.env}; pkg-config --libs-only-L Surelog) \ 60 + ${build_type_ldflags} \ 61 + ${LDFLAGS} \ 62 + - -Wl,--export-dynamic 63 + + $(shell yosys-config --ldflags --ldlibs) 64 + 65 + ${ts}.ldlibs = \ 66 + $(shell ${${ts}.env}; pkg-config --libs-only-l --libs-only-other Surelog) \
+73
pkgs/development/compilers/yosys/plugins/synlig.nix
··· 1 + { stdenv 2 + , lib 3 + , fetchFromGitHub 4 + , pkg-config 5 + , antlr4 6 + , capnproto 7 + , readline 8 + , surelog 9 + , uhdm 10 + , yosys 11 + }: 12 + 13 + stdenv.mkDerivation (finalAttrs: { 14 + pname = "yosys-synlig"; 15 + version = "2023.10.12"; # Currently no tagged versions upstream 16 + plugin = "synlig"; 17 + 18 + src = fetchFromGitHub { 19 + owner = "chipsalliance"; 20 + repo = "synlig"; 21 + rev = "c5bd73595151212c61709d69a382917e96877a14"; 22 + sha256 = "sha256-WJhf5gdZTCs3EeNocP9aZAh6EZquHgYOG/xiTo8l0ao="; 23 + fetchSubmodules = false; # we use all dependencies from nix 24 + }; 25 + 26 + patches = [ 27 + ./synlig-makefile-for-nix.patch # Remove assumption submodules available. 28 + ]; 29 + 30 + nativeBuildInputs = [ 31 + pkg-config 32 + ]; 33 + 34 + buildInputs = [ 35 + antlr4.runtime.cpp 36 + capnproto 37 + readline 38 + surelog 39 + uhdm 40 + yosys 41 + ]; 42 + 43 + buildPhase = '' 44 + runHook preBuild 45 + make -j $NIX_BUILD_CORES build@systemverilog-plugin 46 + runHook postBuild 47 + ''; 48 + 49 + # Very simple litmus test that the plugin can be loaded successfully. 50 + doCheck = true; 51 + checkPhase = '' 52 + runHook preCheck 53 + yosys -p "plugin -i build/release/systemverilog-plugin/systemverilog.so;\ 54 + help read_systemverilog" | grep "Read SystemVerilog files using" 55 + runHook postCheck 56 + ''; 57 + 58 + installPhase = '' 59 + runHook preInstall 60 + mkdir -p $out/share/yosys/plugins 61 + cp ./build/release/systemverilog-plugin/systemverilog.so \ 62 + $out/share/yosys/plugins/systemverilog.so 63 + runHook postInstall 64 + ''; 65 + 66 + meta = with lib; { 67 + description = "SystemVerilog support plugin for Yosys"; 68 + homepage = "https://github.com/chipsalliance/synlig"; 69 + license = licenses.asl20; 70 + maintainers = with maintainers; [ hzeller ]; 71 + platforms = platforms.all; 72 + }; 73 + })
+3 -3
pkgs/development/embedded/svdtools/default.nix
··· 5 5 6 6 rustPlatform.buildRustPackage rec { 7 7 pname = "svdtools"; 8 - version = "0.3.3"; 8 + version = "0.3.4"; 9 9 10 10 src = fetchCrate { 11 11 inherit version pname; 12 - hash = "sha256-pZufVz7m91MiD1TfzTzS6mL0eBxawcr43GAfvDJVqfU="; 12 + hash = "sha256-rdBUEOyE4bHqPXZs3MxT/oivagKmJIVE/hI9mp0RY0k="; 13 13 }; 14 14 15 - cargoHash = "sha256-FAJZ/3eNhxPvIKXnE9lpejQuMi+yeBaA5ra9Peb2yIM="; 15 + cargoHash = "sha256-mPz8m/9VGKSqXan/R1k1JTZ9a44CwCL6JefVyeeREeE="; 16 16 17 17 meta = with lib; { 18 18 description = "Tools to handle vendor-supplied, often buggy SVD files";
+4 -1
pkgs/development/interpreters/clisp/default.nix
··· 29 29 , x11Support ? (stdenv.hostPlatform.isx86 && ! stdenv.hostPlatform.isDarwin) 30 30 , dllSupport ? true 31 31 , withModules ? [ 32 + "asdf" 32 33 "pcre" 33 34 "rawsock" 34 35 ] ··· 41 42 42 43 let 43 44 ffcallAvailable = stdenv.isLinux && (libffcall != null); 45 + # Some modules need autoreconf called in their directory. 46 + shouldReconfModule = name: name != "asdf"; 44 47 in 45 48 46 49 stdenv.mkDerivation { ··· 92 95 cd modules/${x} 93 96 autoreconf -f -i -I "$root/src" -I "$root/src/m4" -I "$root/src/glm4" 94 97 ) 95 - '') withModules); 98 + '') (builtins.filter shouldReconfModule withModules)); 96 99 97 100 configureFlags = [ "builddir" ] 98 101 ++ lib.optional (!dllSupport) "--without-dynamic-modules"
+6 -2
pkgs/development/interpreters/python/cpython/default.nix
··· 58 58 , reproducibleBuild ? false 59 59 , pythonAttr ? "python${sourceVersion.major}${sourceVersion.minor}" 60 60 , noldconfigPatch ? ./. + "/${sourceVersion.major}.${sourceVersion.minor}/no-ldconfig.patch" 61 + , testers 61 62 } @ inputs: 62 63 63 64 # Note: this package is used for bootstrapping fetchurl, and thus ··· 232 233 ''; 233 234 234 235 execSuffix = stdenv.hostPlatform.extensions.executable; 235 - in with passthru; stdenv.mkDerivation { 236 + in with passthru; stdenv.mkDerivation (finalAttrs: { 236 237 pname = "python3"; 237 238 inherit src version; 238 239 ··· 579 580 580 581 nativeBuildInputs = with pkgsBuildBuild.python3.pkgs; [ sphinxHook python_docs_theme ]; 581 582 }; 583 + 584 + tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage; 582 585 }; 583 586 584 587 enableParallelBuilding = true; ··· 604 607 high level dynamic data types. 605 608 ''; 606 609 license = licenses.psfl; 610 + pkgConfigModules = [ "python3" ]; 607 611 platforms = platforms.linux ++ platforms.darwin ++ platforms.windows; 608 612 maintainers = with maintainers; [ fridh ]; 609 613 mainProgram = executable; 610 614 }; 611 - } 615 + })
+113
pkgs/development/libraries/catboost/default.nix
··· 1 + { lib 2 + , config 3 + , stdenv 4 + , fetchFromGitHub 5 + , cmake 6 + , libiconv 7 + , llvmPackages 8 + , ninja 9 + , openssl 10 + , python3Packages 11 + , ragel 12 + , yasm 13 + , zlib 14 + , cudaSupport ? config.cudaSupport 15 + , cudaPackages ? {} 16 + , pythonSupport ? false 17 + }: 18 + 19 + stdenv.mkDerivation (finalAttrs: { 20 + pname = "catboost"; 21 + version = "1.2.2"; 22 + 23 + src = fetchFromGitHub { 24 + owner = "catboost"; 25 + repo = "catboost"; 26 + rev = "refs/tags/v${finalAttrs.version}"; 27 + hash = "sha256-A1zCIqPOW21dHKBQHRtS+/sstZ2o6F8k71lmJFGn0+g="; 28 + }; 29 + 30 + patches = [ 31 + ./remove-conan.patch 32 + ]; 33 + 34 + postPatch = '' 35 + substituteInPlace cmake/common.cmake \ 36 + --replace "\''${RAGEL_BIN}" "${ragel}/bin/ragel" \ 37 + --replace "\''${YASM_BIN}" "${yasm}/bin/yasm" 38 + 39 + shopt -s globstar 40 + for cmakelists in **/CMakeLists.*; do 41 + sed -i "s/OpenSSL::OpenSSL/OpenSSL::SSL/g" $cmakelists 42 + ${lib.optionalString (lib.versionOlder cudaPackages.cudaVersion "11.8") '' 43 + sed -i 's/-gencode=arch=compute_89,code=sm_89//g' $cmakelists 44 + sed -i 's/-gencode=arch=compute_90,code=sm_90//g' $cmakelists 45 + ''} 46 + done 47 + ''; 48 + 49 + outputs = [ "out" "dev" ]; 50 + 51 + nativeBuildInputs = [ 52 + cmake 53 + llvmPackages.bintools 54 + ninja 55 + (python3Packages.python.withPackages (ps: with ps; [ six ])) 56 + ragel 57 + yasm 58 + ] ++ lib.optionals cudaSupport (with cudaPackages; [ 59 + cuda_nvcc 60 + ]); 61 + 62 + buildInputs = [ 63 + openssl 64 + zlib 65 + ] ++ lib.optionals stdenv.isDarwin [ 66 + libiconv 67 + ] ++ lib.optionals cudaSupport (with cudaPackages; [ 68 + cuda_cudart 69 + cuda_cccl 70 + libcublas 71 + ]); 72 + 73 + env = { 74 + CUDAHOSTCXX = lib.optionalString cudaSupport "${stdenv.cc}/bin/cc"; 75 + NIX_CFLAGS_LINK = lib.optionalString stdenv.isLinux "-fuse-ld=lld"; 76 + NIX_LDFLAGS = "-lc -lm"; 77 + }; 78 + 79 + cmakeFlags = [ 80 + "-DCMAKE_BINARY_DIR=$out" 81 + "-DCMAKE_POSITION_INDEPENDENT_CODE=on" 82 + "-DCATBOOST_COMPONENTS=app;libs${lib.optionalString pythonSupport ";python-package"}" 83 + ] ++ lib.optionals cudaSupport [ 84 + "-DHAVE_CUDA=on" 85 + ]; 86 + 87 + installPhase = '' 88 + runHook preInstall 89 + 90 + mkdir $dev 91 + cp -r catboost $dev 92 + install -Dm555 catboost/app/catboost -t $out/bin 93 + install -Dm444 catboost/libs/model_interface/static/lib/libmodel_interface-static-lib.a -t $out/lib 94 + install -Dm444 catboost/libs/model_interface/libcatboostmodel${stdenv.hostPlatform.extensions.sharedLibrary} -t $out/lib 95 + install -Dm444 catboost/libs/train_interface/libcatboost${stdenv.hostPlatform.extensions.sharedLibrary} -t $out/lib 96 + 97 + runHook postInstall 98 + ''; 99 + 100 + meta = with lib; { 101 + description = "High-performance library for gradient boosting on decision trees"; 102 + longDescription = '' 103 + A fast, scalable, high performance Gradient Boosting on Decision Trees 104 + library, used for ranking, classification, regression and other machine 105 + learning tasks for Python, R, Java, C++. Supports computation on CPU and GPU. 106 + ''; 107 + license = licenses.asl20; 108 + platforms = platforms.unix; 109 + homepage = "https://catboost.ai"; 110 + maintainers = with maintainers; [ PlushBeaver natsukium ]; 111 + mainProgram = "catboost"; 112 + }; 113 + })
+34
pkgs/development/libraries/catboost/remove-conan.patch
··· 1 + diff --git a/CMakeLists.txt b/CMakeLists.txt 2 + index becd2ad03c..7e3c8c99b1 100644 3 + --- a/CMakeLists.txt 4 + +++ b/CMakeLists.txt 5 + @@ -27,7 +27,6 @@ cmake_policy(SET CMP0104 OLD) 6 + 7 + include(cmake/archive.cmake) 8 + include(cmake/common.cmake) 9 + -include(cmake/conan.cmake) 10 + include(cmake/cuda.cmake) 11 + include(cmake/cython.cmake) 12 + include(cmake/fbs.cmake) 13 + @@ -37,21 +36,6 @@ include(cmake/recursive_library.cmake) 14 + include(cmake/swig.cmake) 15 + include(cmake/global_vars.cmake) 16 + 17 + -if (CMAKE_CROSSCOMPILING) 18 + - include(${CMAKE_BINARY_DIR}/conan_paths.cmake) 19 + -else() 20 + - conan_cmake_autodetect(settings) 21 + - conan_cmake_install( 22 + - PATH_OR_REFERENCE ${CMAKE_SOURCE_DIR} 23 + - INSTALL_FOLDER ${CMAKE_BINARY_DIR} 24 + - BUILD missing 25 + - REMOTE conancenter 26 + - SETTINGS ${settings} 27 + - ENV "CONAN_CMAKE_GENERATOR=${CMAKE_GENERATOR}" 28 + - CONF "tools.cmake.cmaketoolchain:generator=${CMAKE_GENERATOR}" 29 + - ) 30 + -endif() 31 + - 32 + if (CMAKE_SYSTEM_NAME STREQUAL "Linux" AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND NOT HAVE_CUDA) 33 + include(CMakeLists.linux-x86_64.txt) 34 + elseif (CMAKE_SYSTEM_NAME STREQUAL "Linux" AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND HAVE_CUDA)
+5 -3
pkgs/development/libraries/flatpak/fix-test-paths.patch
··· 180 180 @@ -1,10 +1,10 @@ 181 181 #!/bin/sh 182 182 183 - if command -v gtk-update-icon-cache >/dev/null && test -d "$1/exports/share/icons/hicolor"; then 183 + -if command -v gtk-update-icon-cache >/dev/null && test -d "$1/exports/share/icons/hicolor"; then 184 184 - cp /usr/share/icons/hicolor/index.theme "$1/exports/share/icons/hicolor/" 185 - + cp @hicolorIconTheme@/share/icons/hicolor/index.theme "$1/exports/share/icons/hicolor/" 185 + +if test -d "$1/exports/share/icons/hicolor"; then 186 + + @coreutils@/bin/cp -f @hicolorIconTheme@/share/icons/hicolor/index.theme "$1/exports/share/icons/hicolor/" 186 187 for dir in "$1"/exports/share/icons/*; do 187 188 if test -f "$dir/index.theme"; then 188 189 - if ! gtk-update-icon-cache --quiet "$dir"; then 190 + - echo "Failed to run gtk-update-icon-cache for $dir" 189 191 + if ! @gtk3@/bin/gtk-update-icon-cache --quiet "$dir"; then 190 - echo "Failed to run gtk-update-icon-cache for $dir" 192 + + @coreutils@/bin/echo "Failed to run gtk-update-icon-cache for $dir" 191 193 exit 1 192 194 fi 193 195 diff --git a/triggers/mime-database.trigger b/triggers/mime-database.trigger
+1 -1
pkgs/development/libraries/geos/default.nix
··· 32 32 doCheck = true; 33 33 34 34 passthru.tests = { 35 - pkg-config = testers.hasPkgConfigModules { package = finalAttrs.finalPackage; }; 35 + pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage; 36 36 geos = callPackage ./tests.nix { geos = finalAttrs.finalPackage; }; 37 37 }; 38 38
+9 -4
pkgs/development/libraries/gsasl/default.nix
··· 1 - { fetchurl, lib, stdenv, libidn, libkrb5 }: 1 + { fetchurl, lib, stdenv, libidn, libkrb5 2 + , testers 3 + }: 2 4 3 - stdenv.mkDerivation rec { 5 + stdenv.mkDerivation (finalAttrs: { 4 6 pname = "gsasl"; 5 7 version = "2.2.0"; 6 8 7 9 src = fetchurl { 8 - url = "mirror://gnu/gsasl/${pname}-${version}.tar.gz"; 10 + url = "mirror://gnu/gsasl/${finalAttrs.pname}-${finalAttrs.version}.tar.gz"; 9 11 sha256 = "sha256-ebho47mXbcSE1ZspygroiXvpbOTTbTKu1dk1p6Mwd1k="; 10 12 }; 11 13 ··· 23 25 export LOCALDOMAIN="dummydomain" 24 26 ''; 25 27 doCheck = !stdenv.hostPlatform.isDarwin; 28 + 29 + passthru.tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage; 26 30 27 31 meta = { 28 32 description = "GNU SASL, Simple Authentication and Security Layer library"; ··· 38 42 license = lib.licenses.gpl3Plus; 39 43 40 44 maintainers = with lib.maintainers; [ shlevy ]; 45 + pkgConfigModules = [ "libgsasl" ]; 41 46 platforms = lib.platforms.all; 42 47 }; 43 - } 48 + })
+1 -1
pkgs/development/libraries/libicns/default.nix
··· 2 2 3 3 stdenv.mkDerivation { 4 4 pname = "libicns"; 5 - version = "unstable-2022-04-10"; 5 + version = "0.8.1-unstable-2022-04-10"; 6 6 7 7 src = fetchgit { 8 8 name = "libicns";
+9 -4
pkgs/development/libraries/libidn/default.nix
··· 1 - { fetchurl, lib, stdenv, libiconv }: 1 + { fetchurl, lib, stdenv, libiconv 2 + , testers 3 + }: 2 4 3 - stdenv.mkDerivation rec { 5 + stdenv.mkDerivation (finalAttrs: { 4 6 pname = "libidn"; 5 7 version = "1.41"; 6 8 7 9 src = fetchurl { 8 - url = "mirror://gnu/libidn/${pname}-${version}.tar.gz"; 10 + url = "mirror://gnu/libidn/${finalAttrs.pname}-${finalAttrs.version}.tar.gz"; 9 11 sha256 = "sha256-iE1wY2S4Gr3Re+6Whtj/KudDHFoUZRBHxorfizH9iUU="; 10 12 }; 11 13 ··· 14 16 hardeningDisable = [ "format" ]; 15 17 16 18 buildInputs = lib.optional stdenv.isDarwin libiconv; 19 + 20 + passthru.tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage; 17 21 18 22 meta = { 19 23 homepage = "https://www.gnu.org/software/libidn/"; ··· 36 40 ''; 37 41 38 42 license = lib.licenses.lgpl2Plus; 43 + pkgConfigModules = [ "libidn" ]; 39 44 platforms = lib.platforms.all; 40 45 maintainers = with lib.maintainers; [ lsix ]; 41 46 }; 42 - } 47 + })
+13 -6
pkgs/development/libraries/libpng/12.nix
··· 1 - { lib, stdenv, fetchurl, zlib }: 1 + { lib, stdenv, fetchurl, zlib 2 + , testers 3 + }: 2 4 3 5 assert stdenv.hostPlatform == stdenv.buildPlatform -> zlib != null; 4 6 5 - stdenv.mkDerivation rec { 7 + stdenv.mkDerivation (finalAttrs: { 6 8 pname = "libpng"; 7 9 version = "1.2.59"; 8 10 9 11 src = fetchurl { 10 - url = "mirror://sourceforge/libpng/libpng-${version}.tar.xz"; 12 + url = "mirror://sourceforge/libpng/libpng-${finalAttrs.version}.tar.xz"; 11 13 sha256 = "1izw9ybm27llk8531w6h4jp4rk2rxy2s9vil16nwik5dp0amyqxl"; 12 14 }; 13 15 14 16 outputs = [ "out" "dev" "man" ]; 15 17 16 18 propagatedBuildInputs = [ zlib ]; 17 - 18 - passthru = { inherit zlib; }; 19 19 20 20 configureFlags = [ "--enable-static" ]; 21 21 22 22 postInstall = ''mv "$out/bin" "$dev/bin"''; 23 23 24 + passthru = { 25 + inherit zlib; 26 + 27 + tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage; 28 + }; 29 + 24 30 meta = with lib; { 25 31 description = "The official reference implementation for the PNG file format"; 26 32 homepage = "http://www.libpng.org/pub/png/libpng.html"; 27 33 license = licenses.libpng; 28 34 maintainers = [ ]; 29 35 branch = "1.2"; 36 + pkgConfigModules = [ "libpng" "libpng12" ]; 30 37 platforms = platforms.unix; 31 38 }; 32 - } 39 + })
+12 -5
pkgs/development/libraries/libpng/default.nix
··· 1 - { lib, stdenv, fetchurl, zlib, apngSupport ? true }: 1 + { lib, stdenv, fetchurl, zlib, apngSupport ? true 2 + , testers 3 + }: 2 4 3 5 assert zlib != null; 4 6 ··· 10 12 }; 11 13 whenPatched = lib.optionalString apngSupport; 12 14 13 - in stdenv.mkDerivation rec { 15 + in stdenv.mkDerivation (finalAttrs: { 14 16 pname = "libpng" + whenPatched "-apng"; 15 17 version = "1.6.40"; 16 18 17 19 src = fetchurl { 18 - url = "mirror://sourceforge/libpng/libpng-${version}.tar.xz"; 20 + url = "mirror://sourceforge/libpng/libpng-${finalAttrs.version}.tar.xz"; 19 21 hash = "sha256-U1tHmyRn/yMaPsbZKlJZBvuO8nl4vk9m2+BdPzoBs6E="; 20 22 }; 21 23 postPatch = whenPatched "gunzip < ${patch_src} | patch -Np1"; ··· 27 29 28 30 doCheck = true; 29 31 30 - passthru = { inherit zlib; }; 32 + passthru = { 33 + inherit zlib; 34 + 35 + tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage; 36 + }; 31 37 32 38 meta = with lib; { 33 39 description = "The official reference implementation for the PNG file format" + whenPatched " with animation patch"; 34 40 homepage = "http://www.libpng.org/pub/png/libpng.html"; 35 41 changelog = "https://github.com/glennrp/libpng/blob/v1.6.40/CHANGES"; 36 42 license = licenses.libpng2; 43 + pkgConfigModules = [ "libpng" "libpng16" ]; 37 44 platforms = platforms.all; 38 45 maintainers = with maintainers; [ vcunat ]; 39 46 }; 40 - } 47 + })
+11 -6
pkgs/development/libraries/libsass/default.nix
··· 1 - { lib, stdenv, fetchFromGitHub, autoreconfHook }: 1 + { lib, stdenv, fetchFromGitHub, autoreconfHook 2 + , testers 3 + }: 2 4 3 - stdenv.mkDerivation rec { 5 + stdenv.mkDerivation (finalAttrs: { 4 6 pname = "libsass"; 5 7 version = "3.6.5"; # also check sassc for updates 6 8 7 9 src = fetchFromGitHub { 8 10 owner = "sass"; 9 - repo = pname; 10 - rev = version; 11 + repo = finalAttrs.pname; 12 + rev = finalAttrs.version; 11 13 sha256 = "1cxj6r85d5f3qxdwzxrmkx8z875hig4cr8zsi30w6vj23cyds3l2"; 12 14 # Remove unicode file names which leads to different checksums on HFS+ 13 15 # vs. other filesystems because of unicode normalisation. ··· 17 19 }; 18 20 19 21 preConfigure = '' 20 - export LIBSASS_VERSION=${version} 22 + export LIBSASS_VERSION=${finalAttrs.version} 21 23 ''; 22 24 23 25 nativeBuildInputs = [ autoreconfHook ]; 24 26 27 + passthru.tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage; 28 + 25 29 meta = with lib; { 26 30 description = "A C/C++ implementation of a Sass compiler"; 27 31 homepage = "https://github.com/sass/libsass"; 28 32 license = licenses.mit; 29 33 maintainers = with maintainers; [ codyopel offline ]; 34 + pkgConfigModules = [ "libsass" ]; 30 35 platforms = platforms.unix; 31 36 }; 32 - } 37 + })
-39
pkgs/development/libraries/libxkbcommon/libxkbcommon_7.nix
··· 1 - { lib, stdenv, fetchurl, pkg-config, bison, flex, xkeyboard_config, libxcb, libX11 }: 2 - 3 - stdenv.mkDerivation rec { 4 - pname = "libxkbcommon"; 5 - version = "0.7.2"; 6 - 7 - src = fetchurl { 8 - url = "http://xkbcommon.org/download/libxkbcommon-${version}.tar.xz"; 9 - sha256 = "1n5rv5n210kjnkyrvbh04gfwaa7zrmzy1393p8nyqfw66lkxr918"; 10 - }; 11 - 12 - outputs = [ "out" "dev" ]; 13 - 14 - nativeBuildInputs = [ pkg-config ]; 15 - buildInputs = [ bison flex xkeyboard_config libxcb ]; 16 - 17 - configureFlags = [ 18 - "--with-xkb-config-root=${xkeyboard_config}/etc/X11/xkb" 19 - "--with-x-locale-root=${libX11.out}/share/X11/locale" 20 - ]; 21 - 22 - env.NIX_CFLAGS_COMPILE = toString [ 23 - # Needed with GCC 12 24 - "-Wno-error=array-bounds" 25 - ]; 26 - 27 - preBuild = lib.optionalString stdenv.isDarwin '' 28 - sed -i 's/,--version-script=.*$//' Makefile 29 - ''; 30 - 31 - meta = with lib; { 32 - description = "A library to handle keyboard descriptions"; 33 - homepage = "https://xkbcommon.org"; 34 - license = licenses.mit; 35 - maintainers = with maintainers; [ ttuegel ]; 36 - mainProgram = "xkbcli"; 37 - platforms = with platforms; unix; 38 - }; 39 - }
+2 -2
pkgs/development/libraries/nghttp3/default.nix
··· 6 6 7 7 stdenv.mkDerivation rec { 8 8 pname = "nghttp3"; 9 - version = "0.15.0"; 9 + version = "1.0.0"; 10 10 11 11 src = fetchFromGitHub { 12 12 owner = "ngtcp2"; 13 13 repo = pname; 14 14 rev = "v${version}"; 15 - hash = "sha256-ZnfwPgjBAI2elHrx7uzc3JX2MdeX/hsrFKj4TfMK2tI="; 15 + hash = "sha256-mw0zI7528lvEZlv+/KuST7PWjuu37p/+EGGsjIEto2Q="; 16 16 }; 17 17 18 18 outputs = [ "out" "dev" "doc" ];
+2 -2
pkgs/development/libraries/ngtcp2/default.nix
··· 8 8 9 9 stdenv.mkDerivation rec { 10 10 pname = "ngtcp2"; 11 - version = "0.19.1"; 11 + version = "1.0.0"; 12 12 13 13 src = fetchFromGitHub { 14 14 owner = "ngtcp2"; 15 15 repo = pname; 16 16 rev = "v${version}"; 17 - hash = "sha256-agiQRy/e5VS+ANxajXYi5huRjQQ2M8eddH/AzmwnHdQ=="; 17 + hash = "sha256-dnYIRcNGTIzETu2OjTJa0IWB1+xttdGFKRBmMkTwrXk="; 18 18 }; 19 19 20 20 outputs = [ "out" "dev" "doc" ];
+5 -2
pkgs/development/libraries/pcaudiolib/default.nix
··· 38 38 ++ lib.optional stdenv.isLinux alsa-lib 39 39 ++ lib.optional pulseaudioSupport libpulseaudio; 40 40 41 - preConfigure = '' 41 + # touch ChangeLog to avoid below error on darwin: 42 + # Makefile.am: error: required file './ChangeLog.md' not found 43 + preConfigure = lib.optionalString stdenv.isDarwin '' 44 + touch ChangeLog 45 + '' + '' 42 46 ./autogen.sh 43 47 ''; 44 48 ··· 48 52 license = licenses.gpl3Plus; 49 53 maintainers = with maintainers; [ aske ]; 50 54 platforms = platforms.unix; 51 - badPlatforms = platforms.darwin; 52 55 }; 53 56 })
+2 -2
pkgs/development/libraries/pdfhummus/default.nix
··· 12 12 13 13 stdenv.mkDerivation rec { 14 14 pname = "pdfhummus"; 15 - version = "4.5.12"; 15 + version = "4.6"; 16 16 17 17 src = fetchFromGitHub { 18 18 owner = "galkahana"; 19 19 repo = "PDF-Writer"; 20 20 rev = "v${version}"; 21 - hash = "sha256-n5mzzIDU7Lb2V9YImPvceCBUt9Q+ZeF45CHtW52cGpY="; 21 + hash = "sha256-TP/NDh5fPPHuiRaj6+YZfhtHZmlb+mqtnXfzyjVKAHY="; 22 22 }; 23 23 24 24 nativeBuildInputs = [
+30 -3
pkgs/development/libraries/speech-tools/default.nix
··· 1 - { lib, stdenv, fetchurl, alsa-lib, ncurses }: 1 + { lib 2 + , stdenv 3 + , fetchurl 4 + , fetchpatch 5 + , ncurses 6 + , alsa-lib 7 + , CoreServices 8 + , AudioUnit 9 + , Cocoa 10 + }: 2 11 3 12 stdenv.mkDerivation rec { 4 13 pname = "speech_tools"; ··· 9 18 sha256 = "1k2xh13miyv48gh06rgsq2vj25xwj7z6vwq9ilsn8i7ig3nrgzg4"; 10 19 }; 11 20 12 - buildInputs = [ alsa-lib ncurses ]; 21 + patches = [ 22 + # Fix build on Apple Silicon. Remove in the next release. 23 + (fetchpatch { 24 + url = "https://github.com/festvox/speech_tools/commit/06141f69d21bf507a9becb5405265dc362edb0df.patch"; 25 + hash = "sha256-tRestCBuRhak+2ccsB6mvDxGm/TIYX4eZ3oppCOEP9s="; 26 + }) 27 + ]; 28 + 29 + buildInputs = [ 30 + ncurses 31 + ] ++ lib.optionals stdenv.isLinux [ 32 + alsa-lib 33 + ] ++ lib.optionals stdenv.isDarwin [ 34 + CoreServices 35 + AudioUnit 36 + Cocoa 37 + ]; 38 + 39 + makeFlags = [ "CC=${stdenv.cc.targetPrefix}cc" "CXX=${stdenv.cc.targetPrefix}c++" ]; 13 40 14 41 # Workaround build failure on -fno-common toolchains: 15 42 # ld: libestools.a(editline.o):(.bss+0x28): multiple definition of ··· 42 69 meta = with lib; { 43 70 description = "Text-to-speech engine"; 44 71 maintainers = with maintainers; [ raskin ]; 45 - platforms = platforms.linux; 72 + platforms = platforms.unix; 46 73 license = licenses.free; 47 74 }; 48 75
+7 -3
pkgs/development/libraries/taglib/default.nix
··· 3 3 , fetchFromGitHub 4 4 , cmake 5 5 , zlib 6 + , testers 6 7 }: 7 8 8 - stdenv.mkDerivation rec { 9 + stdenv.mkDerivation (finalAttrs: { 9 10 pname = "taglib"; 10 11 version = "1.13.1"; 11 12 12 13 src = fetchFromGitHub { 13 14 owner = "taglib"; 14 15 repo = "taglib"; 15 - rev = "v${version}"; 16 + rev = "v${finalAttrs.version}"; 16 17 hash = "sha256-QX0EpHGT36UsgIfRf5iALnwxe0jjLpZvCTbk8vSMFF4="; 17 18 }; 18 19 ··· 28 29 "-DCMAKE_INSTALL_INCLUDEDIR=include" 29 30 ]; 30 31 32 + passthru.tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage; 33 + 31 34 meta = with lib; { 32 35 homepage = "https://taglib.org/"; 33 36 description = "A library for reading and editing audio file metadata"; ··· 39 42 ''; 40 43 license = with licenses; [ lgpl3 mpl11 ]; 41 44 maintainers = with maintainers; [ ttuegel ]; 45 + pkgConfigModules = [ "taglib" "taglib_c" ]; 42 46 }; 43 - } 47 + })
+3 -3
pkgs/development/libraries/updfparser/default.nix
··· 2 2 3 3 stdenv.mkDerivation rec { 4 4 name = "updfparser"; 5 - version = "unstable-2023-01-10"; 6 - rev = "a421098092ba600fb1686a7df8fc58cd67429f59"; 5 + version = "unstable-2023-08-08"; 6 + rev = "c5ce75b9eea8ebb2746b13eeb0f335813c615115"; 7 7 8 8 src = fetchzip { 9 9 url = "https://indefero.soutade.fr/p/updfparser/source/download/${rev}/"; 10 - sha256 = "sha256-Kt1QDj7E0GaT615kJW2MQKF9BeU5U7/95TQKODpxgNI="; 10 + hash = "sha256-RT7mvu43Izp0rHhKq4wR4kt0TDfzHvB2NGMR+fxO5UM="; 11 11 extension = "zip"; 12 12 }; 13 13
+2 -2
pkgs/development/python-modules/aiovlc/default.nix
··· 10 10 11 11 buildPythonPackage rec { 12 12 pname = "aiovlc"; 13 - version = "0.3.0"; 13 + version = "0.3.2"; 14 14 format = "setuptools"; 15 15 16 16 disabled = pythonOlder "3.9"; ··· 19 19 owner = "MartinHjelmare"; 20 20 repo = pname; 21 21 rev = "refs/tags/v${version}"; 22 - hash = "sha256-ZFLNgPxR5N+hI988POCYJD9QGivs1fYysyFtmxsJQaA="; 22 + hash = "sha256-+IpWX661Axl2Ke1NGN6W9CMMQMEu7EQ/2PeRkkByAxI="; 23 23 }; 24 24 25 25 postPatch = ''
+2 -2
pkgs/development/python-modules/apprise/default.nix
··· 19 19 20 20 buildPythonPackage rec { 21 21 pname = "apprise"; 22 - version = "1.5.0"; 22 + version = "1.6.0"; 23 23 format = "setuptools"; 24 24 25 25 disabled = pythonOlder "3.7"; 26 26 27 27 src = fetchPypi { 28 28 inherit pname version; 29 - hash = "sha256-PFgRQQd6EBeQ7eDKsW+ig60DKpsvl9xtNWX7LZGBP9c="; 29 + hash = "sha256-Pu+rHF15eLDmXFCR0c2+kgaGXcPLXRnKXPvdt26Kr/4="; 30 30 }; 31 31 32 32 nativeBuildInputs = [
+38 -52
pkgs/development/python-modules/catboost/default.nix
··· 1 - { buildPythonPackage, fetchFromGitHub, lib, pythonOlder 2 - , clang_12, python 3 - , graphviz, matplotlib, numpy, pandas, plotly, scipy, six 4 - , withCuda ? false, cudatoolkit }: 1 + { lib 2 + , buildPythonPackage 3 + , catboost 4 + , python 5 + , graphviz 6 + , matplotlib 7 + , numpy 8 + , pandas 9 + , plotly 10 + , scipy 11 + , setuptools 12 + , six 13 + , wheel 14 + }: 5 15 6 - buildPythonPackage rec { 7 - pname = "catboost"; 8 - # nixpkgs-update: no auto update 9 - version = "1.0.5"; 16 + buildPythonPackage { 17 + inherit (catboost) pname version src meta; 18 + format = "pyproject"; 10 19 11 - disabled = pythonOlder "3.4"; 20 + sourceRoot = "source/catboost/python-package"; 12 21 13 - src = fetchFromGitHub { 14 - owner = "catboost"; 15 - repo = "catboost"; 16 - rev = "refs/tags/v${version}"; 17 - hash = "sha256-ILemeZUBI9jPb9G6F7QX/T1HaVhQ+g6y7YmsT6DFCJk"; 18 - }; 22 + nativeBuildInputs = [ 23 + setuptools 24 + wheel 25 + ]; 19 26 20 - nativeBuildInputs = [ clang_12 ]; 27 + propagatedBuildInputs = [ 28 + graphviz 29 + matplotlib 30 + numpy 31 + pandas 32 + plotly 33 + scipy 34 + six 35 + ]; 21 36 22 - propagatedBuildInputs = [ graphviz matplotlib numpy pandas scipy plotly six ] 23 - ++ lib.optionals withCuda [ cudatoolkit ]; 37 + buildPhase = '' 38 + runHook preBuild 24 39 25 - patches = [ 26 - ./nix-support.patch 27 - ]; 40 + # these arguments must set after bdist_wheel 41 + ${python.pythonForBuild.interpreter} setup.py bdist_wheel --no-widget --prebuilt-extensions-build-root-dir=${lib.getDev catboost} 28 42 29 - postPatch = '' 30 - # substituteInPlace is too slow for these large files, and the target has lots of numbers in it that change often. 31 - sed -e 's|\$(YMAKE_PYTHON3-.*)/python3|${python.interpreter}|' -i make/*.makefile 43 + runHook postBuild 32 44 ''; 33 45 34 - preBuild = '' 35 - cd catboost/python-package 36 - ''; 37 - setupPyBuildFlags = [ "--with-ymake=no" ]; 38 - CUDA_ROOT = lib.optional withCuda cudatoolkit; 39 - enableParallelBuilding = true; 46 + # setup a test is difficult 47 + doCheck = false; 40 48 41 - # Tests use custom "ya" tool, not yet supported. 42 - dontUseSetuptoolsCheck = true; 43 49 pythonImportsCheck = [ "catboost" ]; 44 - 45 - passthru = { 46 - # Do not update to catboost 1.1.x because the patch doesn't apply cleanly 47 - skipBulkUpdate = true; 48 - }; 49 - 50 - meta = with lib; { 51 - description = "High-performance library for gradient boosting on decision trees."; 52 - longDescription = '' 53 - A fast, scalable, high performance Gradient Boosting on Decision Trees 54 - library, used for ranking, classification, regression and other machine 55 - learning tasks for Python, R, Java, C++. Supports computation on CPU and GPU. 56 - ''; 57 - license = licenses.asl20; 58 - platforms = [ "x86_64-linux" ]; 59 - homepage = "https://catboost.ai"; 60 - maintainers = with maintainers; [ PlushBeaver ]; 61 - # _catboost.pyx.cpp:226822:19: error: use of undeclared identifier '_PyGen_Send' 62 - broken = withCuda; 63 - }; 64 50 }
-173
pkgs/development/python-modules/catboost/nix-support.patch
··· 1 - diff --git a/catboost/python-package/setup.py b/catboost/python-package/setup.py 2 - index fe9251a21f..86b880c5d0 100644 3 - --- a/catboost/python-package/setup.py 4 - +++ b/catboost/python-package/setup.py 5 - @@ -80,7 +80,7 @@ class Helper(object): 6 - self.with_cuda = os.environ.get('CUDA_PATH') or os.environ.get('CUDA_ROOT') or None 7 - self.os_sdk = 'local' 8 - self.with_ymake = True 9 - - self.parallel = None 10 - + self.parallel = os.environ.get('NIX_BUILD_CORES') or None 11 - 12 - def finalize_options(self): 13 - if os.path.exists(str(self.with_cuda)): 14 - @@ -222,11 +222,12 @@ class build_ext(_build_ext): 15 - 16 - def build_with_make(self, topsrc_dir, build_dir, catboost_ext, put_dir, verbose, dry_run): 17 - logging.info('Buildling {} with gnu make'.format(catboost_ext)) 18 - - makefile = 'python{}.{}CLANG11-LINUX-X86_64.makefile'.format(python_version()[0], 'CUDA.' if self.with_cuda else '') 19 - + makefile = 'python{}.{}CLANG12-LINUX-X86_64.makefile'.format(python_version()[0], 'CUDA.' if self.with_cuda else '') 20 - make_cmd = [ 21 - 'make', '-f', '../../make/' + makefile, 22 - - 'CC=clang-11', 23 - - 'CXX=clang++-11', 24 - + 'CC=clang', 25 - + 'CXX=clang++', 26 - + 'PYTHON=python{}'.format(python_version()[0]), 27 - 'BUILD_ROOT=' + build_dir, 28 - 'SOURCE_ROOT=' + topsrc_dir, 29 - ] 30 - diff --git a/make/python2.CLANG12-LINUX-X86_64.makefile b/make/python2.CLANG12-LINUX-X86_64.makefile 31 - index b49a36fb3f..33996af995 100644 32 - --- a/make/python2.CLANG12-LINUX-X86_64.makefile 33 - +++ b/make/python2.CLANG12-LINUX-X86_64.makefile 34 - @@ -4,31 +4,6 @@ BUILD_ROOT = $(shell pwd) 35 - SOURCE_ROOT = $(shell pwd) 36 - PYTHON = $(shell which python) 37 - 38 - -ifneq ($(MAKECMDGOALS),help) 39 - -define _CC_TEST 40 - -__clang_major__ __clang_minor__ 41 - -endef 42 - - 43 - -_CC_VERSION = $(shell echo '$(_CC_TEST)' | $(CC) -E -P -) 44 - -$(info _CC_VERSION = '$(_CC_VERSION)') 45 - - 46 - -ifneq '$(_CC_VERSION)' '12 0' 47 - - $(error clang 12.0 is required) 48 - -endif 49 - -endif 50 - - 51 - -ifneq ($(MAKECMDGOALS),help) 52 - -define _CXX_TEST 53 - -__clang_major__ __clang_minor__ 54 - -endef 55 - - 56 - -_CXX_VERSION = $(shell echo '$(_CXX_TEST)' | $(CXX) -E -P -) 57 - -$(info _CXX_VERSION = '$(_CXX_VERSION)') 58 - - 59 - -ifneq '$(_CXX_VERSION)' '12 0' 60 - - $(error clang 12.0 is required) 61 - -endif 62 - -endif 63 - 64 - 65 - all\ 66 - diff --git a/make/python2.CUDA.CLANG12-LINUX-X86_64.makefile b/make/python2.CUDA.CLANG12-LINUX-X86_64.makefile 67 - index 82935b297e..093cc86532 100644 68 - --- a/make/python2.CUDA.CLANG12-LINUX-X86_64.makefile 69 - +++ b/make/python2.CUDA.CLANG12-LINUX-X86_64.makefile 70 - @@ -4,31 +4,6 @@ BUILD_ROOT = $(shell pwd) 71 - SOURCE_ROOT = $(shell pwd) 72 - PYTHON = $(shell which python) 73 - 74 - -ifneq ($(MAKECMDGOALS),help) 75 - -define _CC_TEST 76 - -__clang_major__ __clang_minor__ 77 - -endef 78 - - 79 - -_CC_VERSION = $(shell echo '$(_CC_TEST)' | $(CC) -E -P -) 80 - -$(info _CC_VERSION = '$(_CC_VERSION)') 81 - - 82 - -ifneq '$(_CC_VERSION)' '12 0' 83 - - $(error clang 12.0 is required) 84 - -endif 85 - -endif 86 - - 87 - -ifneq ($(MAKECMDGOALS),help) 88 - -define _CXX_TEST 89 - -__clang_major__ __clang_minor__ 90 - -endef 91 - - 92 - -_CXX_VERSION = $(shell echo '$(_CXX_TEST)' | $(CXX) -E -P -) 93 - -$(info _CXX_VERSION = '$(_CXX_VERSION)') 94 - - 95 - -ifneq '$(_CXX_VERSION)' '12 0' 96 - - $(error clang 12.0 is required) 97 - -endif 98 - -endif 99 - 100 - 101 - all\ 102 - diff --git a/make/python3.CLANG12-LINUX-X86_64.makefile b/make/python3.CLANG12-LINUX-X86_64.makefile 103 - index 1c5d646ae4..6c091fbe17 100644 104 - --- a/make/python3.CLANG12-LINUX-X86_64.makefile 105 - +++ b/make/python3.CLANG12-LINUX-X86_64.makefile 106 - @@ -4,31 +4,6 @@ BUILD_ROOT = $(shell pwd) 107 - SOURCE_ROOT = $(shell pwd) 108 - PYTHON = $(shell which python) 109 - 110 - -ifneq ($(MAKECMDGOALS),help) 111 - -define _CC_TEST 112 - -__clang_major__ __clang_minor__ 113 - -endef 114 - - 115 - -_CC_VERSION = $(shell echo '$(_CC_TEST)' | $(CC) -E -P -) 116 - -$(info _CC_VERSION = '$(_CC_VERSION)') 117 - - 118 - -ifneq '$(_CC_VERSION)' '12 0' 119 - - $(error clang 12.0 is required) 120 - -endif 121 - -endif 122 - - 123 - -ifneq ($(MAKECMDGOALS),help) 124 - -define _CXX_TEST 125 - -__clang_major__ __clang_minor__ 126 - -endef 127 - - 128 - -_CXX_VERSION = $(shell echo '$(_CXX_TEST)' | $(CXX) -E -P -) 129 - -$(info _CXX_VERSION = '$(_CXX_VERSION)') 130 - - 131 - -ifneq '$(_CXX_VERSION)' '12 0' 132 - - $(error clang 12.0 is required) 133 - -endif 134 - -endif 135 - 136 - 137 - all\ 138 - diff --git a/make/python3.CUDA.CLANG12-LINUX-X86_64.makefile b/make/python3.CUDA.CLANG12-LINUX-X86_64.makefile 139 - index fcdb75a719..4e1dbc3cd7 100644 140 - --- a/make/python3.CUDA.CLANG12-LINUX-X86_64.makefile 141 - +++ b/make/python3.CUDA.CLANG12-LINUX-X86_64.makefile 142 - @@ -4,31 +4,6 @@ BUILD_ROOT = $(shell pwd) 143 - SOURCE_ROOT = $(shell pwd) 144 - PYTHON = $(shell which python) 145 - 146 - -ifneq ($(MAKECMDGOALS),help) 147 - -define _CC_TEST 148 - -__clang_major__ __clang_minor__ 149 - -endef 150 - - 151 - -_CC_VERSION = $(shell echo '$(_CC_TEST)' | $(CC) -E -P -) 152 - -$(info _CC_VERSION = '$(_CC_VERSION)') 153 - - 154 - -ifneq '$(_CC_VERSION)' '12 0' 155 - - $(error clang 12.0 is required) 156 - -endif 157 - -endif 158 - - 159 - -ifneq ($(MAKECMDGOALS),help) 160 - -define _CXX_TEST 161 - -__clang_major__ __clang_minor__ 162 - -endef 163 - - 164 - -_CXX_VERSION = $(shell echo '$(_CXX_TEST)' | $(CXX) -E -P -) 165 - -$(info _CXX_VERSION = '$(_CXX_VERSION)') 166 - - 167 - -ifneq '$(_CXX_VERSION)' '12 0' 168 - - $(error clang 12.0 is required) 169 - -endif 170 - -endif 171 - 172 - 173 - all\
+2 -13
pkgs/development/python-modules/celery-types/default.nix
··· 1 1 { lib 2 2 , buildPythonPackage 3 - , fetchpatch 4 3 , fetchPypi 5 4 , poetry-core 6 5 , pythonOlder ··· 9 8 10 9 buildPythonPackage rec { 11 10 pname = "celery-types"; 12 - version = "0.19.0"; 11 + version = "0.20.0"; 13 12 format = "pyproject"; 14 13 15 14 disabled = pythonOlder "3.10"; 16 15 17 16 src = fetchPypi { 18 17 inherit pname version; 19 - hash = "sha256-1OLUJxsuxG/sCKDxKiU4i7o5HyaJdIW8rPo8UofMI28="; 18 + hash = "sha256-5cdiVVYF7QWSuu2dUZIwBGzo56EcZ6ghVVwIt87OGWA="; 20 19 }; 21 - 22 - patches = [ 23 - # remove extraneous build dependencies: 24 - # https://github.com/sbdchd/celery-types/pull/138 25 - (fetchpatch { 26 - name = "clean-up-build-dependencies.patch"; 27 - url = "https://github.com/sbdchd/celery-types/commit/ff83f06a0302084e1a690e2a5a8b25f2c0dfc6e7.patch"; 28 - hash = "sha256-c68SMugg6Qk88FC842/czoxLpk0uVAVSlWsvo4NI9uo="; 29 - }) 30 - ]; 31 20 32 21 propagatedBuildInputs = [ 33 22 typing-extensions
-39
pkgs/development/python-modules/click-aliases/0001-Fix-quotes-in-test.patch
··· 1 - From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 2 - From: Nicolas Benes <nbenes.gh@xandea.de> 3 - Date: Mon, 12 Jun 2023 11:29:32 +0200 4 - Subject: [PATCH] Fix quotes in test 5 - 6 - 7 - diff --git a/tests/test_basic.py b/tests/test_basic.py 8 - index 077e6c0..90bbdc3 100644 9 - --- a/tests/test_basic.py 10 - +++ b/tests/test_basic.py 11 - @@ -43,8 +43,8 @@ def test_foobar(runner): 12 - 13 - TEST_INVALID = """Usage: cli [OPTIONS] COMMAND [ARGS]... 14 - {} 15 - -Error: No such command "bar". 16 - -""".format('Try "cli --help" for help.\n' if _click7 else '') 17 - +Error: No such command 'bar'. 18 - +""".format("Try 'cli --help' for help.\n" if _click7 else '') 19 - 20 - 21 - def test_invalid(runner): 22 - diff --git a/tests/test_foobar.py b/tests/test_foobar.py 23 - index fd6c4e6..ab0ad5d 100644 24 - --- a/tests/test_foobar.py 25 - +++ b/tests/test_foobar.py 26 - @@ -44,8 +44,8 @@ def test_foobar(runner): 27 - 28 - TEST_INVALID = """Usage: cli [OPTIONS] COMMAND [ARGS]... 29 - {} 30 - -Error: No such command "baz". 31 - -""".format('Try "cli --help" for help.\n' if _click7 else '') 32 - +Error: No such command 'baz'. 33 - +""".format("Try 'cli --help' for help.\n" if _click7 else '') 34 - 35 - 36 - def test_invalid(runner): 37 - -- 38 - 2.40.1 39 -
+7 -4
pkgs/development/python-modules/click-aliases/default.nix
··· 1 1 { lib 2 2 , buildPythonPackage 3 3 , fetchFromGitHub 4 + , poetry-core 4 5 , click 5 6 , pytestCheckHook 6 7 }: 7 8 8 9 buildPythonPackage rec { 9 10 pname = "click-aliases"; 10 - version = "1.0.1"; 11 + version = "1.0.2"; 12 + 13 + pyproject = true; 11 14 12 15 src = fetchFromGitHub { 13 16 owner = "click-contrib"; 14 17 repo = "click-aliases"; 15 18 rev = "v${version}"; 16 - hash = "sha256-vzWlCb4m9TdRaVz4DrlRRZ60+9gj60NoiALgvaIG0gA="; 19 + hash = "sha256-ZrNdxUMLRre0U9xCyyU8HjByNGMSXiuMDVjW9e88eyk="; 17 20 }; 18 21 19 - patches = [ 20 - ./0001-Fix-quotes-in-test.patch 22 + nativeBuildInputs = [ 23 + poetry-core 21 24 ]; 22 25 23 26 propagatedBuildInputs = [
+23
pkgs/development/python-modules/command_runner/default.nix
··· 1 + { lib, buildPythonPackage, fetchPypi, psutil }: 2 + 3 + buildPythonPackage rec { 4 + pname = "command_runner"; 5 + version = "1.5.0"; 6 + 7 + src = fetchPypi { 8 + inherit pname version; 9 + sha256 = "sha256-UIDzLLIm69W53jvS9M2LVclM+OqRYmLtvuXVAv54ltg="; 10 + }; 11 + 12 + propagatedBuildInputs = [ psutil ]; 13 + 14 + meta = with lib; { 15 + homepage = "https://github.com/netinvent/command_runner"; 16 + description = '' 17 + Platform agnostic command execution, timed background jobs with live 18 + stdout/stderr output capture, and UAC/sudo elevation 19 + ''; 20 + license = licenses.bsd3; 21 + maintainers = teams.wdz.members; 22 + }; 23 + }
+2 -2
pkgs/development/python-modules/devito/default.nix
··· 26 26 27 27 buildPythonPackage rec { 28 28 pname = "devito"; 29 - version = "4.8.2"; 29 + version = "4.8.3"; 30 30 format = "setuptools"; 31 31 32 32 disabled = pythonOlder "3.7"; ··· 35 35 owner = "devitocodes"; 36 36 repo = "devito"; 37 37 rev = "refs/tags/v${version}"; 38 - hash = "sha256-zckFU9Q5Rpj0TPeT96lXfR/yp2SYrV4sjAjqN/y8GDw="; 38 + hash = "sha256-g9rRJF1JrZ6+s3tj4RZHuGOjt5LJjtK9I5CJmq4CJL4="; 39 39 }; 40 40 41 41 pythonRemoveDeps = [
pkgs/development/python-modules/et_xmlfile/default.nix pkgs/development/python-modules/et-xmlfile/default.nix
+37
pkgs/development/python-modules/guzzle-sphinx-theme/default.nix
··· 1 + { lib 2 + , buildPythonPackage 3 + , fetchPypi 4 + , setuptools 5 + , sphinx 6 + }: 7 + 8 + buildPythonPackage rec { 9 + pname = "guzzle-sphinx-theme"; 10 + version = "0.7.11"; 11 + pyproject = true; 12 + 13 + src = fetchPypi { 14 + pname = "guzzle_sphinx_theme"; 15 + inherit version; 16 + hash = "sha256-m4wWOcNDwCw/PbffZg3fb1M7VFTukqX3sC7apXP+0+Y="; 17 + }; 18 + 19 + nativeBuildInputs = [ 20 + setuptools 21 + ]; 22 + 23 + doCheck = false; # no tests 24 + 25 + propagatedBuildInputs = [ sphinx ]; 26 + 27 + pythonImportsCheck = [ 28 + "guzzle_sphinx_theme" 29 + ]; 30 + 31 + meta = with lib; { 32 + description = "Sphinx theme used by Guzzle: http://guzzlephp.org"; 33 + homepage = "https://github.com/guzzle/guzzle_sphinx_theme/"; 34 + license = licenses.mit; 35 + maintainers = with maintainers; [ flokli ]; 36 + }; 37 + }
-22
pkgs/development/python-modules/guzzle_sphinx_theme/default.nix
··· 1 - { lib, buildPythonPackage, sphinx, fetchPypi }: 2 - 3 - buildPythonPackage rec { 4 - pname = "guzzle_sphinx_theme"; 5 - version = "0.7.11"; 6 - src = fetchPypi { 7 - inherit pname version; 8 - sha256 = "1rnkzrrsbnifn3vsb4pfaia3nlvgvw6ndpxp7lzjrh23qcwid34v"; 9 - }; 10 - 11 - doCheck = false; # no tests 12 - 13 - propagatedBuildInputs = [ sphinx ]; 14 - 15 - meta = with lib; { 16 - description = "Sphinx theme used by Guzzle: http://guzzlephp.org"; 17 - homepage = "https://github.com/guzzle/guzzle_sphinx_theme/"; 18 - license = licenses.mit; 19 - maintainers = with maintainers; [ flokli ]; 20 - platforms = platforms.unix; 21 - }; 22 - }
+2 -2
pkgs/development/python-modules/hahomematic/default.nix
··· 18 18 19 19 buildPythonPackage rec { 20 20 pname = "hahomematic"; 21 - version = "2023.10.11"; 21 + version = "2023.10.12"; 22 22 format = "pyproject"; 23 23 24 24 disabled = pythonOlder "3.11"; ··· 27 27 owner = "danielperna84"; 28 28 repo = pname; 29 29 rev = "refs/tags/${version}"; 30 - hash = "sha256-9vKXIvCLmdKS+DIR6OY7/gnDdqWZfmi9FOGpbqCMCqA="; 30 + hash = "sha256-mlZlaUcpVflz1mTiI0rIAOnJD5+NqXjsb1xp+wvoQvs="; 31 31 }; 32 32 33 33 postPatch = ''
+3 -3
pkgs/development/python-modules/igraph/default.nix
··· 10 10 11 11 buildPythonPackage rec { 12 12 pname = "igraph"; 13 - version = "0.10.8"; 13 + version = "0.11.2"; 14 14 15 - disabled = pythonOlder "3.7"; 15 + disabled = pythonOlder "3.8"; 16 16 17 17 format = "setuptools"; 18 18 ··· 20 20 owner = "igraph"; 21 21 repo = "python-igraph"; 22 22 rev = "refs/tags/${version}"; 23 - hash = "sha256-EpWkFKN8fhKkzR2g9Uv0/LxSwi4TkraH5rjde7yR+C8="; 23 + hash = "sha256-evYnUv2PWO+LbVBBQPa708dQb8Wq8SQ92bJ6clQNV/g="; 24 24 }; 25 25 26 26 postPatch = ''
+1 -1
pkgs/development/python-modules/lazy_imports/default.nix pkgs/development/python-modules/lazy-imports/default.nix
··· 6 6 , packaging 7 7 }: 8 8 let 9 - pname = "lazy_imports"; 9 + pname = "lazy-imports"; 10 10 version = "0.3.1"; 11 11 in 12 12 buildPythonPackage {
+3 -3
pkgs/development/python-modules/mkdocs-jupyter/default.nix
··· 15 15 16 16 buildPythonPackage rec { 17 17 pname = "mkdocs-jupyter"; 18 - version = "0.24.2"; 18 + version = "0.24.5"; 19 19 format = "pyproject"; 20 20 21 21 disabled = pythonOlder "3.7"; ··· 23 23 src = fetchPypi { 24 24 pname = "mkdocs_jupyter"; 25 25 inherit version; 26 - hash = "sha256-XgwQnVNdSHlyMHGbaUH00I3pWno8lb8VhmLEEvwVyy4="; 26 + hash = "sha256-+ngEh5pidwJJfir66kCj2xy90qOroORBd4LdJMqJm7M="; 27 27 }; 28 28 29 29 postPatch = '' 30 30 sed -i "/--cov/d" pyproject.toml 31 - substituteInPlace mkdocs_jupyter/tests/test_base_usage.py \ 31 + substituteInPlace src/mkdocs_jupyter/tests/test_base_usage.py \ 32 32 --replace "[\"mkdocs\"," "[\"${mkdocs.out}/bin/mkdocs\"," 33 33 ''; 34 34
+2 -2
pkgs/development/python-modules/openpyxl/default.nix
··· 1 1 { lib 2 2 , buildPythonPackage 3 - , et_xmlfile 3 + , et-xmlfile 4 4 , fetchFromGitLab 5 5 , jdcal 6 6 , lxml ··· 26 26 27 27 propagatedBuildInputs = [ 28 28 jdcal 29 - et_xmlfile 29 + et-xmlfile 30 30 lxml 31 31 ]; 32 32
+2 -2
pkgs/development/python-modules/pyinfra/default.nix
··· 18 18 19 19 buildPythonPackage rec { 20 20 pname = "pyinfra"; 21 - version = "2.7"; 21 + version = "2.8"; 22 22 format = "setuptools"; 23 23 24 24 disabled = pythonOlder "3.7"; ··· 27 27 owner = "Fizzadar"; 28 28 repo = pname; 29 29 rev = "refs/tags/v${version}"; 30 - hash = "sha256-drfxNpdhqSxCeB0SbwyKOd3DDA7bFkmDmFQJS3JwOlA="; 30 + hash = "sha256-BYd2UYQJD/HsmpnlQjZvjfg17ShPuA3j4rtv6fTQK/A="; 31 31 }; 32 32 33 33 propagatedBuildInputs = [
+5 -4
pkgs/development/python-modules/pylutron-caseta/default.nix
··· 1 1 { lib 2 + , async-timeout 2 3 , buildPythonPackage 3 4 , cryptography 4 5 , fetchFromGitHub 5 6 , pytest-asyncio 6 - , pytest-sugar 7 7 , pytest-timeout 8 8 , pytestCheckHook 9 9 , pythonOlder ··· 12 12 13 13 buildPythonPackage rec { 14 14 pname = "pylutron-caseta"; 15 - version = "0.18.2"; 15 + version = "0.18.3"; 16 16 format = "pyproject"; 17 17 18 18 disabled = pythonOlder "3.8"; ··· 21 21 owner = "gurumitts"; 22 22 repo = pname; 23 23 rev = "refs/tags/v${version}"; 24 - hash = "sha256-GyYJZIjvy4JYNCUUJpQxt32U8lMS/iQoz4llbCmJQhU="; 24 + hash = "sha256-tjmMu7LUne+hLLTXGqHhci9/PZiuQ10mQaARvL2sdIM="; 25 25 }; 26 26 27 27 nativeBuildInputs = [ ··· 34 34 35 35 nativeCheckInputs = [ 36 36 pytest-asyncio 37 - pytest-sugar 38 37 pytest-timeout 39 38 pytestCheckHook 39 + ] ++ lib.optionals (pythonOlder "3.11") [ 40 + async-timeout 40 41 ]; 41 42 42 43 pytestFlagsArray = [
-45
pkgs/development/python-modules/pymazda/default.nix
··· 1 - { lib 2 - , aiohttp 3 - , buildPythonPackage 4 - , cryptography 5 - , fetchPypi 6 - , poetry-core 7 - , pythonOlder 8 - }: 9 - 10 - buildPythonPackage rec { 11 - pname = "pymazda"; 12 - version = "0.3.11"; 13 - format = "pyproject"; 14 - 15 - disabled = pythonOlder "3.8"; 16 - 17 - src = fetchPypi { 18 - inherit pname version; 19 - hash = "sha256-DiXLY4mfgRbE0Y1tOJnkMSQQj1vcySLVDBthOWe7/dM="; 20 - }; 21 - 22 - nativeBuildInputs = [ 23 - poetry-core 24 - ]; 25 - 26 - propagatedBuildInputs = [ 27 - aiohttp 28 - cryptography 29 - ]; 30 - 31 - # Project has no tests 32 - doCheck = false; 33 - 34 - pythonImportsCheck = [ 35 - "pymazda" 36 - ]; 37 - 38 - meta = with lib; { 39 - description = "Python client for interacting with the MyMazda API"; 40 - homepage = "https://github.com/bdr99/pymazda"; 41 - changelog = "https://github.com/bdr99/pymazda/releases/tag/${version}"; 42 - license = licenses.mit; 43 - maintainers = with maintainers; [ fab ]; 44 - }; 45 - }
+2 -2
pkgs/development/python-modules/pytensor/default.nix
··· 26 26 27 27 buildPythonPackage rec { 28 28 pname = "pytensor"; 29 - version = "2.17.1"; 29 + version = "2.17.2"; 30 30 pyproject = true; 31 31 32 32 disabled = pythonOlder "3.9"; ··· 35 35 owner = "pymc-devs"; 36 36 repo = "pytensor"; 37 37 rev = "refs/tags/rel-${version}"; 38 - hash = "sha256-xXS0uNR5rlmUjt9/TW/X/pQc5MS/MwHSQGCp7BkAVYg="; 38 + hash = "sha256-u1CbOjU3rQ6G3SSwYR3UlebymkupGMJWID4RH4v9PIk="; 39 39 }; 40 40 41 41 postPatch = ''
+2 -2
pkgs/development/python-modules/pytest-playwright/default.nix
··· 14 14 15 15 buildPythonPackage rec { 16 16 pname = "pytest-playwright"; 17 - version = "0.4.2"; 17 + version = "0.4.3"; 18 18 format = "setuptools"; 19 19 20 20 disabled = pythonOlder "3.8"; ··· 23 23 owner = "microsoft"; 24 24 repo = "playwright-pytest"; 25 25 rev = "refs/tags/v${version}"; 26 - hash = "sha256-yYFzaIPYOsuvS8bGcuwQQNS/CtvGUe1XQdORmfEJQmU="; 26 + hash = "sha256-5qjfZGDM1OqXXNyj81O49ClKKGiAPdgyZZu6TgpskGs="; 27 27 }; 28 28 29 29 SETUPTOOLS_SCM_PRETEND_VERSION = version;
+2 -2
pkgs/development/python-modules/python-lsp-ruff/default.nix
··· 10 10 11 11 buildPythonPackage rec { 12 12 pname = "python-lsp-ruff"; 13 - version = "1.5.1"; 13 + version = "1.5.2"; 14 14 format = "pyproject"; 15 15 disabled = pythonOlder "3.7"; 16 16 17 17 src = fetchPypi { 18 18 inherit version; 19 19 pname = "python-lsp-ruff"; 20 - sha256 = "sha256-yvG4Qn9aym0rTDALURxHrWtDhO7g2VYsI+zLgb8z+gE="; 20 + sha256 = "sha256-7vilIo1PHgHZ6yaRxTVt/bPwGt9g7rGvrq84eyIDIBw="; 21 21 }; 22 22 23 23 postPatch = ''
+2 -2
pkgs/development/python-modules/python-lsp-server/default.nix
··· 35 35 36 36 buildPythonPackage rec { 37 37 pname = "python-lsp-server"; 38 - version = "1.8.1"; 38 + version = "1.8.2"; 39 39 format = "pyproject"; 40 40 41 41 disabled = pythonOlder "3.8"; ··· 44 44 owner = "python-lsp"; 45 45 repo = pname; 46 46 rev = "refs/tags/v${version}"; 47 - hash = "sha256-8wFLZuGWt3qIRUkprxzFgxh+rtmIyMBjeCnzCNTbXzA="; 47 + hash = "sha256-jD/8Xy/o9U/qtjz5FABg5krMIvbnrT+MlK0OvXFTJkI="; 48 48 }; 49 49 50 50 postPatch = ''
+3 -3
pkgs/development/python-modules/python-youtube/default.nix
··· 11 11 }: 12 12 buildPythonPackage rec { 13 13 pname = "python-youtube"; 14 - version = "0.9.1"; 14 + version = "0.9.2"; 15 15 format = "pyproject"; 16 16 17 17 src = fetchFromGitHub { 18 18 owner = "sns-sdks"; 19 19 repo = "python-youtube"; 20 - rev = "v${version}"; 21 - hash = "sha256-PbPdvUv7I9NKW6w4OJbiUoRNVJ1SoXychSXBH/y5nzY="; 20 + rev = "refs/tags/v${version}"; 21 + hash = "sha256-jUs6n8j1coA37V0RTYqr7pqt+LRABieX7gbyWsXQpUM="; 22 22 }; 23 23 24 24 postPatch = ''
+3 -2
pkgs/development/python-modules/pythonnet/default.nix
··· 12 12 13 13 let 14 14 pname = "pythonnet"; 15 - version = "3.0.2"; 15 + version = "3.0.3"; 16 16 src = fetchPypi { 17 17 pname = "pythonnet"; 18 18 inherit version; 19 - sha256 = "sha256-LN0cztxkp8m9cRvj0P0MSniTJHQTncVKppe+3edBx0Y="; 19 + hash = "sha256-jUsulxWKAjh1+GR0WKWPOIF/T+Oa9gq91rDYrfHXfnU="; 20 20 }; 21 21 22 22 # This buildDotnetModule is used only to get nuget sources, the actual ··· 70 70 meta = with lib; { 71 71 description = ".NET integration for Python"; 72 72 homepage = "https://pythonnet.github.io"; 73 + changelog = "https://github.com/pythonnet/pythonnet/releases/tag/v${version}"; 73 74 license = licenses.mit; 74 75 # <https://github.com/pythonnet/pythonnet/issues/898> 75 76 badPlatforms = [ "aarch64-linux" ];
+2 -2
pkgs/development/python-modules/qdrant-client/default.nix
··· 18 18 19 19 buildPythonPackage rec { 20 20 pname = "qdrant-client"; 21 - version = "1.5.4"; 21 + version = "1.6.0"; 22 22 format = "pyproject"; 23 23 24 24 disabled = pythonOlder "3.7"; ··· 27 27 owner = "qdrant"; 28 28 repo = pname; 29 29 rev = "refs/tags/v${version}"; 30 - hash = "sha256-9aZBUrGCNRQjYRF1QmIwVqeT5Tdgv7CCkyOUsbZbmVM="; 30 + hash = "sha256-N1qvckOzmCKLoHumeFSs2293eZGhrbfOWhN9/vxeX8s="; 31 31 }; 32 32 33 33 nativeBuildInputs = [
+2 -2
pkgs/development/python-modules/radish-bdd/default.nix
··· 19 19 20 20 buildPythonPackage rec { 21 21 pname = "radish-bdd"; 22 - version = "0.16.2"; 22 + version = "0.17.0"; 23 23 format = "setuptools"; 24 24 25 25 disabled = pythonOlder "3.7"; ··· 28 28 owner = pname; 29 29 repo = "radish"; 30 30 rev = "refs/tags/v${version}"; 31 - hash = "sha256-ZWAHPZmyPq/BRVT6pHkTRjp2SA36+wD6x6GW9OyfG7k="; 31 + hash = "sha256-4cGUF4Qh5+mxHtKNnAjh37Q6hEFCQ9zmntya98UHx+0="; 32 32 }; 33 33 34 34 propagatedBuildInputs = [
+7 -7
pkgs/development/python-modules/rdkit/default.nix
··· 21 21 let 22 22 external = { 23 23 avalon = fetchFromGitHub { 24 - owner = "rohdebe1"; 24 + owner = "rdkit"; 25 25 repo = "ava-formake"; 26 - rev = "AvalonToolkit_2.0.4a"; 27 - hash = "sha256-ZyhrDBBv9XuXe1NY/Djiad86tGIJwCSTrxEMICHgSqk="; 26 + rev = "AvalonToolkit_2.0.5-pre.3"; 27 + hash = "sha256-2MuFZgRIHXnkV7Nc1da4fa7wDx57VHUtwLthrmjk+5o="; 28 28 }; 29 29 yaehmop = fetchFromGitHub { 30 30 owner = "greglandrum"; 31 31 repo = "yaehmop"; 32 - rev = "v2022.09.1"; 33 - hash = "sha256-QMnc5RyHlY3giw9QmrkGntiA+Srs7OhCIKs9GGo5DfQ="; 32 + rev = "v2023.03.1"; 33 + hash = "sha256-K9//cDN69U4sLETfIZq9NUaBE3RXOReH53qfiCzutqM="; 34 34 }; 35 35 freesasa = fetchFromGitHub { 36 36 owner = "mittinatten"; ··· 42 42 in 43 43 buildPythonPackage rec { 44 44 pname = "rdkit"; 45 - version = "2023.03.3"; 45 + version = "2023.09.1"; 46 46 format = "other"; 47 47 48 48 src = ··· 53 53 owner = pname; 54 54 repo = pname; 55 55 rev = "Release_${versionTag}"; 56 - hash = "sha256-5M7nDUWORbepDGaf2G6Cd79Hu0au3DNRc9KuONoCWK0="; 56 + hash = "sha256-qaYD/46oCTnso1FbD08zr2JuatKmSSqNBhOYlfeIiAA="; 57 57 }; 58 58 59 59 unpackPhase = ''
+2 -2
pkgs/development/python-modules/riscv-config/default.nix
··· 10 10 11 11 buildPythonPackage rec { 12 12 pname = "riscv-config"; 13 - version = "3.13.1"; 13 + version = "3.13.3"; 14 14 format = "setuptools"; 15 15 16 16 disabled = pythonOlder "3.7"; ··· 19 19 owner = "riscv-software-src"; 20 20 repo = pname; 21 21 rev = "refs/tags/${version}"; 22 - hash = "sha256-SnUt6bsTEC7abdQr0nWyNOAJbW64B1K3yy1McfkdxAc="; 22 + hash = "sha256-tMV5mRqOLURkr8HQN1yvq5Cf3yz2NRBY6uaaxNKCy2c="; 23 23 }; 24 24 25 25 propagatedBuildInputs = [
+2 -2
pkgs/development/python-modules/sagemaker/default.nix
··· 26 26 27 27 buildPythonPackage rec { 28 28 pname = "sagemaker"; 29 - version = "2.188.0"; 29 + version = "2.192.1"; 30 30 format = "setuptools"; 31 31 32 32 disabled = pythonOlder "3.8"; ··· 35 35 owner = "aws"; 36 36 repo = "sagemaker-python-sdk"; 37 37 rev = "refs/tags/v${version}"; 38 - hash = "sha256-iWNAsqDGTkELQn5K45AYpdzexE3DimI5xYWt3Udd4EI="; 38 + hash = "sha256-+1wb7O+fHhRE8aKlgAB/NRgx2J+LBkR7xuqfWnVYSKc="; 39 39 }; 40 40 41 41 nativeBuildInputs = [
+2 -2
pkgs/development/python-modules/scikit-build-core/default.nix
··· 21 21 22 22 buildPythonPackage rec { 23 23 pname = "scikit-build-core"; 24 - version = "0.5.0"; 24 + version = "0.5.1"; 25 25 format = "pyproject"; 26 26 27 27 src = fetchPypi { 28 28 pname = "scikit_build_core"; 29 29 inherit version; 30 - hash = "sha256-pCqVAps0tc+JKFU0LZuURcd0y3l/yyTI/EwvtCsY38o="; 30 + hash = "sha256-xtrVpRJ7Kr+qI8uR0jrCEFn9d83fcSKzP9B3kQJNz78="; 31 31 }; 32 32 33 33 postPatch = ''
+2 -2
pkgs/development/python-modules/scikit-hep-testdata/default.nix
··· 11 11 12 12 buildPythonPackage rec { 13 13 pname = "scikit-hep-testdata"; 14 - version = "0.4.31"; 14 + version = "0.4.33"; 15 15 format = "pyproject"; 16 16 17 17 disabled = pythonOlder "3.6"; ··· 20 20 owner = "scikit-hep"; 21 21 repo = pname; 22 22 rev = "refs/tags/v${version}"; 23 - hash = "sha256-/CUBRRezm84yAqnEVAC89vKIpALnvSkoSKBCmX84S0w="; 23 + hash = "sha256-IAi1LS6LqcvMR3dqNcppuyoMNM/hRT1eH+LZbczWW/M="; 24 24 }; 25 25 26 26 SETUPTOOLS_SCM_PRETEND_VERSION = version;
+7 -5
pkgs/development/python-modules/siuba/default.nix
··· 17 17 18 18 buildPythonPackage rec { 19 19 pname = "siuba"; 20 - version = "0.4.2"; 21 - disabled = pythonOlder "3.7"; 22 - 20 + version = "0.4.4"; 23 21 format = "setuptools"; 22 + 23 + disabled = pythonOlder "3.7"; 24 24 25 25 src = fetchFromGitHub { 26 26 owner = "machow"; 27 27 repo = "siuba"; 28 28 rev = "refs/tags/v${version}"; 29 - hash = "sha256-Q2nkK51bmIO2OcBuWu+u7yB8UmaqiZJXpuxXcytTlUY="; 29 + hash = "sha256-rd/yQH3sbZqQAQ1AN44vChe30GMJuIlZj3Ccfv1m3lU="; 30 30 }; 31 31 32 32 propagatedBuildInputs = [ ··· 45 45 hypothesis 46 46 pytestCheckHook 47 47 ]; 48 + 49 + # requires running mysql and postgres instances; see docker-compose.yml 48 50 doCheck = false; 49 - # requires running mysql and postgres instances; see docker-compose.yml 50 51 51 52 pythonImportsCheck = [ 52 53 "siuba" ··· 56 57 meta = with lib; { 57 58 description = "Use dplyr-like syntax with pandas and SQL"; 58 59 homepage = "https://siuba.org"; 60 + changelog = "https://github.com/machow/siuba/releases/tag/v${version}"; 59 61 license = licenses.mit; 60 62 maintainers = with maintainers; [ bcdarwin ]; 61 63 };
+2 -2
pkgs/development/python-modules/stanza/default.nix
··· 14 14 15 15 buildPythonPackage rec { 16 16 pname = "stanza"; 17 - version = "1.6.0"; 17 + version = "1.6.1"; 18 18 format = "setuptools"; 19 19 20 20 disabled = pythonOlder "3.6"; ··· 23 23 owner = "stanfordnlp"; 24 24 repo = pname; 25 25 rev = "refs/tags/v${version}"; 26 - hash = "sha256-AyO/BC5JpkxaXXjj8pAVa4WGnK/GTw4xrmUvGLbLt3U="; 26 + hash = "sha256-8WH83K/1SbzjlAmjKVh3gT9KVvQ6BMRmg3Z0SSeL1j8="; 27 27 }; 28 28 29 29 propagatedBuildInputs = [
+2 -2
pkgs/development/python-modules/streamlit/default.nix
··· 32 32 33 33 buildPythonPackage rec { 34 34 pname = "streamlit"; 35 - version = "1.26.0"; 35 + version = "1.27.2"; 36 36 format = "setuptools"; 37 37 38 38 disabled = pythonOlder "3.8"; 39 39 40 40 src = fetchPypi { 41 41 inherit pname version format; 42 - hash = "sha256-JUdfsVo8yfsYSUXz/JNvARmYvYOG4MiS/r4UyWJb9Ho="; 42 + hash = "sha256-M/muDeW31ZzX2rqHdUxU7IN6dsJKz8QdH45RSPIJA+4="; 43 43 }; 44 44 45 45 nativeBuildInputs = [ pythonRelaxDepsHook ];
+3 -3
pkgs/development/python-modules/structlog/default.nix
··· 16 16 17 17 buildPythonPackage rec { 18 18 pname = "structlog"; 19 - version = "23.1.0"; 19 + version = "23.2.0"; 20 20 format = "pyproject"; 21 21 22 - disabled = pythonOlder "3.7"; 22 + disabled = pythonOlder "3.8"; 23 23 24 24 src = fetchFromGitHub { 25 25 owner = "hynek"; 26 26 repo = "structlog"; 27 27 rev = "refs/tags/${version}"; 28 - hash = "sha256-0zHvBMiZB4cGntdYXA7C9V9+FfnDB6sHGuFRYAo/LJw="; 28 + hash = "sha256-KSHKgkv+kObKCdWZDg5o6QYe0AMND9VLdEuseY/GyDY="; 29 29 }; 30 30 31 31 SETUPTOOLS_SCM_PRETEND_VERSION = version;
+4 -3
pkgs/development/python-modules/sumo/default.nix
··· 18 18 19 19 buildPythonPackage rec { 20 20 pname = "sumo"; 21 - version = "2.3.6"; 21 + version = "2.3.7"; 22 22 format = "setuptools"; 23 23 24 - disabled = pythonOlder "3.6"; 24 + disabled = pythonOlder "3.8"; 25 25 26 26 src = fetchFromGitHub { 27 27 owner = "SMTG-UCL"; 28 28 repo = "sumo"; 29 29 rev = "refs/tags/v${version}"; 30 - hash = "sha256-HQIs2G2hdKQkQOBs2lijmx/0cI4o/FFJU866PjtrBAE="; 30 + hash = "sha256-9NHz8SPymD9zANWMeajjavpjw68X4abqhrLl0dn92l0="; 31 31 }; 32 32 33 33 nativeBuildInputs = [ ··· 58 58 meta = with lib; { 59 59 description = "Toolkit for plotting and analysis of ab initio solid-state calculation data"; 60 60 homepage = "https://github.com/SMTG-UCL/sumo"; 61 + changelog = "https://github.com/SMTG-Bham/sumo/releases/tag/v${version}"; 61 62 license = licenses.mit; 62 63 maintainers = with maintainers; [ psyanticy ]; 63 64 };
+13 -3
pkgs/development/python-modules/tag-expressions/default.nix
··· 2 2 , buildPythonPackage 3 3 , fetchPypi 4 4 , pytestCheckHook 5 + , pythonOlder 5 6 }: 6 7 7 8 buildPythonPackage rec { 8 9 pname = "tag-expressions"; 9 - version = "1.1.0"; 10 + version = "2.0.0"; 11 + format = "setuptools"; 12 + 13 + disabled = pythonOlder "3.7"; 10 14 11 15 src = fetchPypi { 12 16 inherit pname version; 13 - sha256 = "1c0a49c3c0357976822b03c43db8d4a1c5548e16fb07ac939c10bbd5183f529d"; 17 + hash = "sha256-/6Ym72jlgVdpel4V2W2aCKNtISDT9y5qz7+gTllUuPg="; 14 18 }; 15 19 16 - nativeCheckInputs = [ pytestCheckHook ]; 20 + nativeCheckInputs = [ 21 + pytestCheckHook 22 + ]; 23 + 24 + pythonImportsCheck = [ 25 + "tagexpressions" 26 + ]; 17 27 18 28 meta = with lib; { 19 29 description = "Package to parse logical tag expressions";
+2 -2
pkgs/development/python-modules/tesserocr/default.nix
··· 17 17 18 18 buildPythonPackage rec { 19 19 pname = "tesserocr"; 20 - version = "2.6.1"; 20 + version = "2.6.2"; 21 21 22 22 src = fetchPypi { 23 23 inherit pname version; 24 - sha256 = "sha256-pz82cutgQ9ifMS6+40mcBiOsXIqeEquYdBWT+npZNPY="; 24 + sha256 = "sha256-RVJfocGjVvnRVanekbN1nKRECEr9hTVE9aKaqFizA5A="; 25 25 }; 26 26 27 27 # https://github.com/sirfz/tesserocr/issues/314
+3 -3
pkgs/development/python-modules/textual-universal-directorytree/default.nix
··· 14 14 15 15 buildPythonPackage rec { 16 16 pname = "textual-universal-directorytree"; 17 - version = "1.0.1"; 17 + version = "1.0.2"; 18 18 format = "pyproject"; 19 19 20 20 src = fetchFromGitHub { 21 21 owner = "juftin"; 22 22 repo = "textual-universal-directorytree"; 23 - rev = "v${version}"; 24 - hash = "sha256-a7alxVmHTKJnJiU7X6UlUD2y7MY4O5TMR+02KcyPwEs="; 23 + rev = "refs/tags/v${version}"; 24 + hash = "sha256-FL2bwPGqBmDn33Rhj7+VEpuqB4znEAw+GGAODTs25oo="; 25 25 }; 26 26 27 27 nativeBuildInputs = [
+2 -2
pkgs/development/python-modules/tskit/default.nix
··· 10 10 11 11 buildPythonPackage rec { 12 12 pname = "tskit"; 13 - version = "0.5.5"; 13 + version = "0.5.6"; 14 14 format = "pyproject"; 15 15 disabled = pythonOlder "3.7"; 16 16 17 17 src = fetchPypi { 18 18 inherit pname version; 19 - hash = "sha256-phhBTAHAPlBnmzSiLmPYDMg1Mui85NZacni3WuYAc6c="; 19 + hash = "sha256-3f4hPxywY822mCF3IwooBezX38fM1zAm4Th4q//SzkY="; 20 20 }; 21 21 22 22 nativeBuildInputs = [
+2 -2
pkgs/development/python-modules/tubeup/default.nix
··· 10 10 11 11 buildPythonPackage rec { 12 12 pname = "tubeup"; 13 - version = "2023.8.19"; 13 + version = "2023.9.19"; 14 14 format = "setuptools"; 15 15 16 16 disabled = pythonOlder "3.7"; 17 17 18 18 src = fetchPypi { 19 19 inherit pname version; 20 - sha256 = "sha256-0atpOUJIfXgw/5fi5w2ciAFDMgWmVH4U8d84zwLCRXk="; 20 + sha256 = "sha256-Pp4h0MBoYhczmxPq21cLiYpLUeFP+2JoACcFpBl3b0E="; 21 21 }; 22 22 23 23 nativeBuildInputs = [
+2 -2
pkgs/development/python-modules/txtai/default.nix
··· 52 52 , unittestCheckHook 53 53 }: 54 54 let 55 - version = "6.0.0"; 55 + version = "6.1.0"; 56 56 api = [ aiohttp fastapi uvicorn ]; 57 57 # cloud = [ apache-libcloud ]; 58 58 console = [ rich ]; ··· 105 105 owner = "neuml"; 106 106 repo = "txtai"; 107 107 rev = "refs/tags/v${version}"; 108 - hash = "sha256-lGRdSUSQGdxe+I4WrUkE4hIyyJ1HcFn3cXO3zd27fsM="; 108 + hash = "sha256-ZUMfDyebroa9r01bOUFYDyVjuNUqlPU88HBocp3YQJ4="; 109 109 }; 110 110 111 111 nativeBuildInputs = [
+2 -2
pkgs/development/python-modules/typepy/default.nix
··· 12 12 13 13 buildPythonPackage rec { 14 14 pname = "typepy"; 15 - version = "1.3.1"; 15 + version = "1.3.2"; 16 16 format = "setuptools"; 17 17 18 18 disabled = pythonOlder "3.7"; ··· 21 21 owner = "thombashi"; 22 22 repo = pname; 23 23 rev = "refs/tags/v${version}"; 24 - hash = "sha256-cgy1+6RZ1DUyH45bAKpGPOOZCwhCUghummw2fnfJGww="; 24 + hash = "sha256-oIDVjJwapHun0Rk04zOZ4IjAh7qZ2k0BXK6zqFmtVds="; 25 25 }; 26 26 27 27 propagatedBuildInputs = [
+2 -2
pkgs/development/python-modules/unearth/default.nix
··· 15 15 16 16 buildPythonPackage rec { 17 17 pname = "unearth"; 18 - version = "0.11.0"; 18 + version = "0.11.1"; 19 19 format = "pyproject"; 20 20 21 21 disabled = pythonOlder "3.7"; 22 22 23 23 src = fetchPypi { 24 24 inherit pname version; 25 - hash = "sha256-ryBymzmNLzuDklHXReT0DyPLCb1reX4Kb/bu1GynBCI="; 25 + hash = "sha256-abnU2GFz9vvoz2hcgpwxpg0MguG81sW1mvj9Vkvw3Bo="; 26 26 }; 27 27 28 28 nativeBuildInputs = [
+2 -2
pkgs/development/python-modules/uptime-kuma-api/default.nix
··· 7 7 8 8 buildPythonPackage rec { 9 9 pname = "uptime-kuma-api"; 10 - version = "1.2.0"; 10 + version = "1.2.1"; 11 11 format = "setuptools"; 12 12 13 13 disabled = pythonOlder "3.7"; ··· 15 15 src = fetchPypi { 16 16 pname = "uptime_kuma_api"; 17 17 inherit version; 18 - hash = "sha256-owRLc6823jJbEEzdJ3ORCkQfaEvxxs0uwYLzzCa17zI="; 18 + hash = "sha256-tZ5ln3sy6W5RLcwjzLbhobCNLbHXIhXIzrcOVCG+Z+E="; 19 19 }; 20 20 21 21 propagatedBuildInputs = [
+2 -2
pkgs/development/python-modules/vispy/default.nix
··· 17 17 18 18 buildPythonPackage rec { 19 19 pname = "vispy"; 20 - version = "0.14.0"; 20 + version = "0.14.1"; 21 21 format = "setuptools"; 22 22 23 23 disabled = pythonOlder "3.7"; 24 24 25 25 src = fetchPypi { 26 26 inherit pname version; 27 - hash = "sha256-3vcn528rZd7YhmSoPaUN2peWOWHBbxOk2FCr3UWTD5Q="; 27 + hash = "sha256-JJpQl5/ACotlEJKDNU3PEs9BXBpdz5gh4RP25ZC5uTw="; 28 28 }; 29 29 30 30 patches = [
+14 -9
pkgs/development/python-modules/w1thermsensor/default.nix
··· 13 13 , pytestCheckHook 14 14 , pythonOlder 15 15 }: 16 + 16 17 buildPythonPackage rec { 17 18 pname = "w1thermsensor"; 18 - version = "2.0.0"; 19 - format = "pyproject"; 19 + version = "2.3.0"; 20 + pyproject = true; 21 + 22 + disabled = pythonOlder "3.7"; 20 23 21 24 src = fetchPypi { 22 25 inherit pname version; 23 - hash = "sha256-EcaEr4B8icbwZu2Ty3z8AAgglf74iZ5BLpLnSOZC2cE="; 26 + hash = "sha256-n7wK4N1mzZtUxtYu17qyuI4UjJh/59UGD0dvkOgcInA="; 24 27 }; 25 28 26 29 postPatch = '' ··· 32 35 ]; 33 36 34 37 propagatedBuildInputs = [ 35 - aiofiles 36 38 click 37 39 ]; 38 40 41 + passthru.optional-dependencies = { 42 + async = [ 43 + aiofiles 44 + ]; 45 + }; 46 + 39 47 # Don't try to load the kernel module in tests. 40 48 env.W1THERMSENSOR_NO_KERNEL_MODULE = 1; 41 49 ··· 45 53 pytestCheckHook 46 54 ] ++ lib.optionals (pythonOlder "3.11") [ 47 55 tomli 48 - ]; 49 - 50 - # Tests for 2.0.0 currently fail on python3.11 51 - # https://github.com/timofurrer/w1thermsensor/issues/116 52 - doCheck = pythonOlder "3.11"; 56 + ] ++ lib.flatten (builtins.attrValues passthru.optional-dependencies); 53 57 54 58 pythonImportsCheck = [ 55 59 "w1thermsensor" ··· 63 67 devices. 64 68 ''; 65 69 homepage = "https://github.com/timofurrer/w1thermsensor"; 70 + changelog = "https://github.com/timofurrer/w1thermsensor/blob/v${version}/CHANGELOG.rst"; 66 71 license = licenses.mit; 67 72 maintainers = with maintainers; [ quentin ]; 68 73 platforms = platforms.all;
+2 -2
pkgs/development/python-modules/west/default.nix
··· 11 11 12 12 buildPythonPackage rec { 13 13 pname = "west"; 14 - version = "1.1.0"; 14 + version = "1.2.0"; 15 15 format = "setuptools"; 16 16 17 17 disabled = pythonOlder "3.8"; 18 18 19 19 src = fetchPypi { 20 20 inherit pname version; 21 - hash = "sha256-40h/VLa9kEWASJtgPvGm4JnG8uZWAUwrg8SzwhdfpN8="; 21 + hash = "sha256-tB5RrJA5OUT5wB974nAA1LMpYVt+0HT7DvaTtGRoEpc="; 22 22 }; 23 23 24 24 propagatedBuildInputs = [
+2 -2
pkgs/development/python-modules/zigpy-xbee/default.nix
··· 11 11 12 12 buildPythonPackage rec { 13 13 pname = "zigpy-xbee"; 14 - version = "0.18.3"; 14 + version = "0.19.0"; 15 15 # https://github.com/Martiusweb/asynctest/issues/152 16 16 # broken by upstream python bug with asynctest and 17 17 # is used exclusively by home-assistant with python 3.8 ··· 21 21 owner = "zigpy"; 22 22 repo = "zigpy-xbee"; 23 23 rev = "refs/tags/${version}"; 24 - hash = "sha256-+qtbOC3rsse57kqd4RLl9EKXzru0vdgIIPSl1OQ652U="; 24 + hash = "sha256-KUXXOySuPFNKcW3O08FBYIfm4WwVjOuIF+GefmKnwl0="; 25 25 }; 26 26 27 27 buildInputs = [
+2 -2
pkgs/development/python-modules/zigpy-znp/default.nix
··· 16 16 17 17 buildPythonPackage rec { 18 18 pname = "zigpy-znp"; 19 - version = "0.11.5"; 19 + version = "0.11.6"; 20 20 format = "setuptools"; 21 21 22 22 disabled = pythonOlder "3.7"; ··· 25 25 owner = "zigpy"; 26 26 repo = pname; 27 27 rev = "refs/tags/v${version}"; 28 - hash = "sha256-Ti8H9FC8/xYS4je+d7EgRmDvBTmlOdiWUbuX+cbE2hY="; 28 + hash = "sha256-K85AmksP/dXKL4DQKadyvjK7y5x6yEgc6vDJAPfblTw="; 29 29 }; 30 30 31 31 postPatch = ''
+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-10-01"; 41 + version = "2023-10-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 = "75aa81a92edd2bf477538f9a3f0fe6a47e811842"; 66 + prelude-hash = "880be565178cf1e08ce9badef52b215f91e48479"; 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-SshYnziEP/2jdoeLZYkQOvH56VBOJZaf0TUt++tLO1U=" 3 - , "x86_64-linux": "sha256-eztjSDjgtXZWeDSPsKNSUGlIR+g8DsByIjDpcGNXB2s=" 4 - , "x86_64-darwin": "sha256-buC0mShgDPU1+oeuNdjP6hNq1MoJDIPaEHCGL+Rcsr8=" 5 - , "aarch64-linux": "sha256-52Ld12TzC51OutjZY+idpd7GhFr2tPksz1pda4F9Zag=" 6 - , "aarch64-darwin": "sha256-b9peYBF9FZbSdMiwC8E/+y15pWlFe37/Euj5v8q3v1E=" 2 + , "_prelude": "sha256-mm9jU74rsLpiMzuDmSih6tzY4+NOiR15j+W96BVe/OI=" 3 + , "x86_64-linux": "sha256-qxymUjsSwCf6ev5TwlkWVGtMc9tj6Vt4yMIPaLHFAMM=" 4 + , "x86_64-darwin": "sha256-DGfpByvL4gmP+CR7VLCZS8IGSJ3esHhuKxHUfXJb/6k=" 5 + , "aarch64-linux": "sha256-zc9LEYmpVJttCTI6Qxm25KZRX8CJVJzVtSbouw0LB6g=" 6 + , "aarch64-darwin": "sha256-HUzpKJQN/22IQYmHLhW0fVQs0f86rREMTlp+yOfK0+Y=" 7 7 }
-44
pkgs/development/tools/continuous-integration/dagger/default.nix
··· 1 - { lib, stdenv, buildGoModule, fetchFromGitHub, installShellFiles, testers, dagger }: 2 - 3 - buildGoModule rec { 4 - pname = "dagger"; 5 - version = "0.8.8"; 6 - 7 - src = fetchFromGitHub { 8 - owner = "dagger"; 9 - repo = "dagger"; 10 - rev = "v${version}"; 11 - hash = "sha256-EHAQRmBgQEM0ypfUwuaoPnoKsQb1S+tarO1nHdmY5RI="; 12 - }; 13 - 14 - vendorHash = "sha256-fUNet9P6twEJP4eYooiHZ6qaJ3jEkJUwQ2zPzk3+eIs="; 15 - proxyVendor = true; 16 - 17 - subPackages = [ 18 - "cmd/dagger" 19 - ]; 20 - 21 - ldflags = [ "-s" "-w" "-X github.com/dagger/dagger/engine.Version=${version}" ]; 22 - 23 - nativeBuildInputs = [ installShellFiles ]; 24 - 25 - postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) '' 26 - installShellCompletion --cmd dagger \ 27 - --bash <($out/bin/dagger completion bash) \ 28 - --fish <($out/bin/dagger completion fish) \ 29 - --zsh <($out/bin/dagger completion zsh) 30 - ''; 31 - 32 - passthru.tests.version = testers.testVersion { 33 - package = dagger; 34 - command = "dagger version"; 35 - version = "v${version}"; 36 - }; 37 - 38 - meta = with lib; { 39 - description = "A portable devkit for CICD pipelines"; 40 - homepage = "https://dagger.io"; 41 - license = licenses.asl20; 42 - maintainers = with maintainers; [ jfroche sagikazarmark ]; 43 - }; 44 - }
-30
pkgs/development/tools/guile/guile-lint/default.nix
··· 1 - { lib, stdenv, fetchurl, guile }: 2 - 3 - stdenv.mkDerivation rec { 4 - pname = "guile-lint"; 5 - version = "14"; 6 - 7 - src = fetchurl { 8 - url = "https://download.tuxfamily.org/user42/${pname}-${version}.tar.bz2"; 9 - sha256 = "1gnhnmki05pkmzpbfc07vmb2iwza6vhy75y03bw2x2rk4fkggz2v"; 10 - }; 11 - 12 - buildInputs = [ guile ]; 13 - 14 - unpackPhase = ''tar xjvf "$src" && sourceRoot="$PWD/${pname}-${version}"''; 15 - 16 - prePatch = '' 17 - substituteInPlace guile-lint.in --replace \ 18 - "exec guile" "exec ${guile}/bin/guile" 19 - ''; 20 - 21 - doCheck = !stdenv.isDarwin; 22 - 23 - meta = with lib; { 24 - description = "Checks syntax and semantics in a Guile program or module"; 25 - homepage = "https://user42.tuxfamily.org/guile-lint/index.html"; 26 - license = licenses.gpl3Plus; 27 - maintainers = with maintainers; [ vyp ]; 28 - platforms = platforms.all; 29 - }; 30 - }
+2 -2
pkgs/development/tools/ktlint/default.nix
··· 2 2 3 3 stdenv.mkDerivation rec { 4 4 pname = "ktlint"; 5 - version = "1.0.0"; 5 + version = "1.0.1"; 6 6 7 7 src = fetchurl { 8 8 url = "https://github.com/pinterest/ktlint/releases/download/${version}/ktlint"; 9 - sha256 = "1pc1ck87l849xfy1lcdr1v3p84qyxn9725pvh09czvlqs58yy6ax"; 9 + sha256 = "15bvk6sv6fjvfq2a5yyxh3kvpkyws0pxdqbygkkrxxsl8bnr3409"; 10 10 }; 11 11 12 12 nativeBuildInputs = [ makeWrapper ];
+2 -2
pkgs/development/tools/moq/default.nix
··· 2 2 3 3 buildGoModule rec { 4 4 pname = "moq"; 5 - version = "0.3.2"; 5 + version = "0.3.3"; 6 6 7 7 src = fetchFromGitHub { 8 8 owner = "matryer"; 9 9 repo = "moq"; 10 10 rev = "v${version}"; 11 - sha256 = "sha256-T+vBzhc9XafCeXsW4/24vOn4U7N1t0S8DXkPNav7I94="; 11 + sha256 = "sha256-TOFWaPJ+XfgiQCVRXze29TG7Zfur0SV4mQNdgVIGj5o="; 12 12 }; 13 13 14 14 vendorHash = "sha256-lfs61YK5HmUd3/qA4o9MiWeTFhu4MTAkNH+f0iGlRe0=";
+130
pkgs/development/tools/mysql-shell/innovation.nix
··· 1 + { lib 2 + , stdenv 3 + , pkg-config 4 + , cmake 5 + , fetchurl 6 + , git 7 + , cctools 8 + , developer_cmds 9 + , DarwinTools 10 + , makeWrapper 11 + , CoreServices 12 + , bison 13 + , openssl 14 + , protobuf 15 + , curl 16 + , zlib 17 + , libssh 18 + , zstd 19 + , lz4 20 + , boost 21 + , readline 22 + , libtirpc 23 + , rpcsvc-proto 24 + , libedit 25 + , libevent 26 + , icu 27 + , re2 28 + , ncurses 29 + , libfido2 30 + , python3 31 + , cyrus_sasl 32 + , openldap 33 + , antlr 34 + }: 35 + 36 + let 37 + pythonDeps = with python3.pkgs; [ certifi paramiko pyyaml ]; 38 + 39 + mysqlShellVersion = "8.1.1"; 40 + mysqlServerVersion = "8.1.0"; 41 + in 42 + stdenv.mkDerivation (finalAttrs: { 43 + pname = "mysql-shell-innovation"; 44 + version = mysqlShellVersion; 45 + 46 + srcs = [ 47 + (fetchurl { 48 + url = "https://cdn.mysql.com//Downloads/MySQL-${lib.versions.majorMinor mysqlServerVersion}/mysql-${mysqlServerVersion}.tar.gz"; 49 + hash = "sha256-PdAXqUBzSqkHlqTGXhJeZxL2S7u+M4jTZGneqoe1mes="; 50 + }) 51 + (fetchurl { 52 + url = "https://cdn.mysql.com//Downloads/MySQL-Shell/mysql-shell-${finalAttrs.version}-src.tar.gz"; 53 + hash = "sha256-X7A2h9PWgQgNg7h64oD+Th/KsqP3UGpJ2etaP2B0VuY="; 54 + }) 55 + ]; 56 + 57 + sourceRoot = "mysql-shell-${finalAttrs.version}-src"; 58 + 59 + postUnpack = '' 60 + mv mysql-${mysqlServerVersion} mysql 61 + ''; 62 + 63 + postPatch = '' 64 + substituteInPlace ../mysql/cmake/libutils.cmake --replace /usr/bin/libtool libtool 65 + substituteInPlace ../mysql/cmake/os/Darwin.cmake --replace /usr/bin/libtool libtool 66 + 67 + substituteInPlace cmake/libutils.cmake --replace /usr/bin/libtool libtool 68 + ''; 69 + 70 + nativeBuildInputs = [ pkg-config cmake git bison makeWrapper ] 71 + ++ lib.optionals (!stdenv.isDarwin) [ rpcsvc-proto ] 72 + ++ lib.optionals stdenv.isDarwin [ cctools developer_cmds DarwinTools ]; 73 + 74 + buildInputs = [ 75 + boost 76 + curl 77 + libedit 78 + libssh 79 + lz4 80 + openssl 81 + protobuf 82 + readline 83 + zlib 84 + zstd 85 + libevent 86 + icu 87 + re2 88 + ncurses 89 + libfido2 90 + cyrus_sasl 91 + openldap 92 + python3 93 + antlr.runtime.cpp 94 + ] ++ pythonDeps 95 + ++ lib.optionals stdenv.isLinux [ libtirpc ] 96 + ++ lib.optionals stdenv.isDarwin [ CoreServices ]; 97 + 98 + preConfigure = '' 99 + # Build MySQL 100 + echo "Building mysqlclient mysqlxclient" 101 + 102 + cmake -DWITH_BOOST=system -DWITH_SYSTEM_LIBS=ON -DWITH_ROUTER=OFF -DWITH_UNIT_TESTS=OFF \ 103 + -DFORCE_UNSUPPORTED_COMPILER=1 -S ../mysql -B ../mysql/build 104 + 105 + cmake --build ../mysql/build --parallel ''${NIX_BUILD_CORES:-1} --target mysqlclient mysqlxclient 106 + ''; 107 + 108 + cmakeFlags = [ 109 + "-DMYSQL_SOURCE_DIR=../mysql" 110 + "-DMYSQL_BUILD_DIR=../mysql/build" 111 + "-DMYSQL_CONFIG_EXECUTABLE=../../mysql/build/scripts/mysql_config" 112 + "-DWITH_ZSTD=system" 113 + "-DWITH_LZ4=system" 114 + "-DWITH_ZLIB=system" 115 + "-DWITH_PROTOBUF=${protobuf}" 116 + "-DHAVE_PYTHON=1" 117 + ]; 118 + 119 + postFixup = '' 120 + wrapProgram $out/bin/mysqlsh --set PYTHONPATH "${lib.makeSearchPath python3.sitePackages pythonDeps}" 121 + ''; 122 + 123 + meta = with lib; { 124 + homepage = "https://dev.mysql.com/doc/mysql-shell/${lib.versions.majorMinor finalAttrs.version}/en/"; 125 + description = "A new command line scriptable shell for MySQL"; 126 + license = licenses.gpl2; 127 + maintainers = with maintainers; [ aaronjheng ]; 128 + mainProgram = "mysqlsh"; 129 + }; 130 + })
+2 -2
pkgs/development/tools/vsce/default.nix
··· 12 12 13 13 buildNpmPackage rec { 14 14 pname = "vsce"; 15 - version = "2.21.0"; 15 + version = "2.21.1"; 16 16 17 17 src = fetchFromGitHub { 18 18 owner = "microsoft"; 19 19 repo = "vscode-vsce"; 20 20 rev = "v${version}"; 21 - hash = "sha256-iBbKVfkmt8n06JJ8TSO8BDCeiird9gTkOQhlREtZ5Cw="; 21 + hash = "sha256-cFqjoWQu/6cvbT1vxReERybuKpeL4LCVl5qhvSwr6fs="; 22 22 }; 23 23 24 24 npmDepsHash = "sha256-Difk9a9TYmfwzP9SawEuaxm7iHVjdfO+FxFCE7aEMzM=";
-45
pkgs/games/ball-and-paddle/default.nix
··· 1 - { fetchurl, lib, stdenv, SDL, SDL_image, SDL_mixer, SDL_ttf, guile, gettext }: 2 - 3 - stdenv.mkDerivation rec { 4 - pname = "ballandpaddle"; 5 - version = "0.8.1"; 6 - 7 - src = fetchurl { 8 - url = "mirror://gnu/ballandpaddle/ballandpaddle-${version}.tar.gz"; 9 - sha256 = "0zgpydad0mj7fbkippw3n9hlda6nac084dq5xfbsks9jn1xd30ny"; 10 - }; 11 - 12 - buildInputs = [ SDL SDL_image SDL_mixer SDL_ttf guile gettext ]; 13 - 14 - patches = [ ./getenv-decl.patch ]; 15 - 16 - preConfigure = '' 17 - sed -i "Makefile.in" \ 18 - -e "s|desktopdir *=.*$|desktopdir = $out/share/applications|g ; 19 - s|pixmapsdir *=.*$|pixmapsdir = $out/share/pixmaps|g" 20 - ''; 21 - 22 - meta = { 23 - description = "GNU Ball and Paddle, an old-fashioned ball and paddle game"; 24 - 25 - longDescription = '' 26 - GNU Ball and Paddle is an old-fashioned ball and paddle game 27 - with a set amount of blocks to destroy on each level, while 28 - moving a paddle left and right at the bottom of the 29 - screen. Various powerups may make different things occur. 30 - 31 - It now uses GNU Guile for extension and the levels are written 32 - with Guile. Follow the example level sets and the documentation. 33 - ''; 34 - 35 - license = lib.licenses.gpl3Plus; 36 - 37 - homepage = "https://www.gnu.org/software/ballandpaddle/"; 38 - 39 - maintainers = [ ]; 40 - 41 - platforms = lib.platforms.unix; 42 - 43 - hydraPlatforms = lib.platforms.linux; # sdl-config times out on darwin 44 - }; 45 - }
-13
pkgs/games/ball-and-paddle/getenv-decl.patch
··· 1 - Make the getenv(3) declaration visible. 2 - 3 - --- ballandpaddle-0.8.1/src/settingsmanager.cpp 2009-07-08 02:13:16.000000000 +0200 4 - +++ ballandpaddle-0.8.1/src/settingsmanager.cpp 2009-07-16 23:30:28.000000000 +0200 5 - @@ -17,6 +17,7 @@ 6 - * along with this program. If not, see <http://www.gnu.org/licenses/>. 7 - **/ 8 - 9 - +#include <stdlib.h> 10 - #include "settingsmanager.h" 11 - 12 - SettingsManager::SettingsManager () 13 -
+5 -5
pkgs/games/osu-lazer/bin.nix
··· 7 7 8 8 let 9 9 pname = "osu-lazer-bin"; 10 - version = "2023.1008.0"; 10 + version = "2023.1008.1"; 11 11 name = "${pname}-${version}"; 12 12 13 13 osu-lazer-bin-src = { 14 14 aarch64-darwin = { 15 15 url = "https://github.com/ppy/osu/releases/download/${version}/osu.app.Apple.Silicon.zip"; 16 - sha256 = "sha256-gtXbccVrQ2edEcDR7wG2Upv4b4a64tvu+/fiKghMquM="; 16 + sha256 = "sha256-eL5UVZqAH7Ta442xIDjaOPu3NXJmck+lS+BoD/qnOMs="; 17 17 }; 18 18 x86_64-darwin = { 19 19 url = "https://github.com/ppy/osu/releases/download/${version}/osu.app.Intel.zip"; 20 - sha256 = "sha256-qo4EovNt158XXfYOek4lmil2Qwv185fLjZIaBsXzw74="; 20 + sha256 = "sha256-x/HL73Fao11GVj7uMFpx4uOKv8Gmiy1PEgee2sP1fvg="; 21 21 }; 22 22 x86_64-linux = { 23 23 url = "https://github.com/ppy/osu/releases/download/${version}/osu.AppImage"; 24 - sha256 = "sha256-aZDRwZeCC4qBNktLeD7ezbp1Bydf6mP8crtpdayUiqI="; 24 + sha256 = "sha256-QqyymPkeRcedK75O9S0zO8DrUmPKuC7Mp4SbXT+QM9I="; 25 25 }; 26 26 }.${stdenv.system} or (throw "${pname}-${version}: ${stdenv.system} is unsupported."); 27 27 ··· 70 70 unfreeRedistributable # osu-framework contains libbass.so in repository 71 71 ]; 72 72 sourceProvenance = with sourceTypes; [ binaryNativeCode ]; 73 - maintainers = with maintainers; [ delan stepbrobd ]; 73 + maintainers = with maintainers; [ delan stepbrobd spacefault ]; 74 74 mainProgram = "osu!"; 75 75 platforms = [ "aarch64-darwin" "x86_64-darwin" "x86_64-linux" ]; 76 76 };
+3 -3
pkgs/misc/screensavers/pipes-rs/default.nix
··· 2 2 3 3 rustPlatform.buildRustPackage rec { 4 4 pname = "pipes-rs"; 5 - version = "1.6.1"; 5 + version = "1.6.2"; 6 6 7 7 src = fetchFromGitHub { 8 8 owner = "lhvy"; 9 9 repo = pname; 10 10 rev = "v${version}"; 11 - sha256 = "sha256-0i5jAqOGq+N5bUM103Gk1Wzgwe7wUQRjJ+T4XqUkuZw="; 11 + sha256 = "sha256-PUCbirnOPYIqt56IF6UQ7Jd0bJLsVY2pGIn/C95HTrQ="; 12 12 }; 13 13 14 - cargoHash = "sha256-LOU1BCFeX+F2dJdajgLDAtgyyrn6KkvLx3KtF9NkKcY="; 14 + cargoHash = "sha256-6OTiciRqZyuX4FaDg131DEaVssUT2OYXdw/cxxJmLso="; 15 15 16 16 doInstallCheck = true; 17 17
+3 -3
pkgs/os-specific/darwin/yabai/default.nix
··· 17 17 18 18 let 19 19 pname = "yabai"; 20 - version = "5.0.9"; 20 + version = "6.0.0"; 21 21 22 22 test-version = testers.testVersion { 23 23 package = yabai; ··· 53 53 54 54 src = fetchzip { 55 55 url = "https://github.com/koekeishiya/yabai/releases/download/v${version}/yabai-v${version}.tar.gz"; 56 - hash = "sha256-6dqQ+kau/aUAM4oPSkcgZJlJModcjKOXPlTB32MvoLQ="; 56 + hash = "sha256-KeZ5srx9dfQN9u6Fgg9BtIhLhFWp975iz72m78bWINo="; 57 57 }; 58 58 59 59 nativeBuildInputs = [ ··· 89 89 owner = "koekeishiya"; 90 90 repo = "yabai"; 91 91 rev = "v${version}"; 92 - hash = "sha256-uy1KOBJa9BNK5bd+5q5okMouAV0H3DUXrG3Mvr5U6oc="; 92 + hash = "sha256-BQhFTn9KDBv9oG8kT2TFFpPZGHARg7DfN+IeQNNDE84="; 93 93 }; 94 94 95 95 nativeBuildInputs = [
+8 -1
pkgs/servers/deconz/default.nix
··· 11 11 , makeWrapper 12 12 , gzip 13 13 , gnutar 14 + , nixosTests 14 15 }: 15 16 16 17 stdenv.mkDerivation rec { ··· 73 74 runHook postInstall 74 75 ''; 75 76 77 + passthru = { 78 + tests = { inherit (nixosTests) deconz; }; 79 + }; 80 + 76 81 meta = with lib; { 77 82 description = "Manage Zigbee network with ConBee, ConBee II or RaspBee hardware"; 78 83 homepage = "https://www.dresden-elektronik.com/wireless/software/deconz.html"; 79 84 license = licenses.unfree; 80 - platforms = with platforms; linux; 85 + platforms = with platforms; [ "x86_64-linux" ]; 86 + sourceProvenance = with sourceTypes; [ binaryNativeCode ]; 81 87 maintainers = with maintainers; [ bjornfor ]; 88 + mainProgram = "deCONZ"; 82 89 }; 83 90 }
+1 -2
pkgs/servers/home-assistant/component-packages.nix
··· 2 2 # Do not edit! 3 3 4 4 { 5 - version = "2023.10.1"; 5 + version = "2023.10.3"; 6 6 components = { 7 7 "3_day_blinds" = ps: with ps; [ 8 8 ]; ··· 2485 2485 maxcube-api 2486 2486 ]; 2487 2487 "mazda" = ps: with ps; [ 2488 - pymazda 2489 2488 ]; 2490 2489 "meater" = ps: with ps; [ 2491 2490 meater-python
+3 -3
pkgs/servers/home-assistant/default.nix
··· 296 296 extraBuildInputs = extraPackages python.pkgs; 297 297 298 298 # Don't forget to run parse-requirements.py after updating 299 - hassVersion = "2023.10.1"; 299 + hassVersion = "2023.10.3"; 300 300 301 301 in python.pkgs.buildPythonApplication rec { 302 302 pname = "homeassistant"; ··· 312 312 # Primary source is the pypi sdist, because it contains translations 313 313 src = fetchPypi { 314 314 inherit pname version; 315 - hash = "sha256-3VkV5DirOzLO9Qbo4s5of5Aie7JvSAN7hgHBTA8koAE="; 315 + hash = "sha256-7Eg6Ik8eiPPUTXyRedQLixaCnHDg9Dmikmhcq55+458="; 316 316 }; 317 317 318 318 # Secondary source is git for tests ··· 320 320 owner = "home-assistant"; 321 321 repo = "core"; 322 322 rev = "refs/tags/${version}"; 323 - hash = "sha256-mzj4JJ81Wr5FO1lVVwHlgnS3olxzXzMw0lFYPbTf634="; 323 + hash = "sha256-4J1BBC6PvfbN4fKD+zUpW19sMvoKALilitNJlwB0ZTk="; 324 324 }; 325 325 326 326 nativeBuildInputs = with python.pkgs; [
+2 -2
pkgs/servers/mail/exim/default.nix
··· 11 11 12 12 stdenv.mkDerivation rec { 13 13 pname = "exim"; 14 - version = "4.96.1"; 14 + version = "4.96.2"; 15 15 16 16 src = fetchurl { 17 17 url = "https://ftp.exim.org/pub/exim/exim4/${pname}-${version}.tar.xz"; 18 - hash = "sha256-k6wHVcMX4f276ozLcKhoh2vfMUhpKJHHKtD+gWdnAz0="; 18 + hash = "sha256-A44yfo0ek9AFusm7Bv0irsRNUCiTDW2+iBetRLv8HeY="; 19 19 }; 20 20 21 21 enableParallelBuilding = true;
+79 -9
pkgs/servers/monitoring/kapacitor/default.nix
··· 1 - { lib, fetchFromGitHub, buildGoPackage }: 1 + { stdenv 2 + , lib 3 + , rustPlatform 4 + , fetchFromGitHub 5 + , fetchpatch 6 + , libiconv 7 + , buildGoModule 8 + , pkg-config 9 + }: 2 10 3 - buildGoPackage rec { 11 + let 12 + libflux_version = "0.171.0"; 13 + flux = rustPlatform.buildRustPackage rec { 14 + pname = "libflux"; 15 + version = "v${libflux_version}"; 16 + src = fetchFromGitHub { 17 + owner = "influxdata"; 18 + repo = "flux"; 19 + rev = "v${libflux_version}"; 20 + hash = "sha256-v9MUR+PcxAus91FiHYrMN9MbNOTWewh7MT6/t/QWQcM="; 21 + }; 22 + patches = [ 23 + # https://github.com/influxdata/flux/pull/5273 24 + # fix compile error with Rust 1.64 25 + (fetchpatch { 26 + url = "https://github.com/influxdata/flux/commit/20ca62138a0669f2760dd469ca41fc333e04b8f2.patch"; 27 + stripLen = 2; 28 + extraPrefix = ""; 29 + hash = "sha256-Fb4CuH9ZvrPha249dmLLI8MqSNQRKqKPxPbw2pjqwfY="; 30 + }) 31 + ]; 32 + sourceRoot = "${src.name}/libflux"; 33 + cargoSha256 = "sha256-oAMoGGdR0QEjSzZ0/J5J9s/ekSlryCcRBSo5N2r70Ko="; 34 + nativeBuildInputs = [ rustPlatform.bindgenHook ]; 35 + buildInputs = lib.optional stdenv.isDarwin libiconv; 36 + pkgcfg = '' 37 + Name: flux 38 + Version: ${libflux_version} 39 + Description: Library for the InfluxData Flux engine 40 + Cflags: -I/out/include 41 + Libs: -L/out/lib -lflux -lpthread 42 + ''; 43 + passAsFile = [ "pkgcfg" ]; 44 + postInstall = '' 45 + mkdir -p $out/include $out/pkgconfig 46 + cp -r $NIX_BUILD_TOP/source/libflux/include/influxdata $out/include 47 + substitute $pkgcfgPath $out/pkgconfig/flux.pc \ 48 + --replace /out $out 49 + '' + lib.optionalString stdenv.isDarwin '' 50 + install_name_tool -id $out/lib/libflux.dylib $out/lib/libflux.dylib 51 + ''; 52 + }; 53 + in 54 + buildGoModule rec { 4 55 pname = "kapacitor"; 5 - version = "1.5.7"; 6 - 7 - goPackagePath = "github.com/influxdata/kapacitor"; 56 + version = "1.7.0"; 8 57 9 58 src = fetchFromGitHub { 10 59 owner = "influxdata"; 11 60 repo = "kapacitor"; 12 61 rev = "v${version}"; 13 - sha256 = "0lzx25d4y5d8rsddgnypfskcxa5qlwc294sdzmn8dlq995yphpac"; 62 + hash = "sha256-vDluZZrct1x+OMVU8MNO56YBZq7JNlpW68alOrAGYSM="; 14 63 }; 15 64 65 + vendorHash = "sha256-OX4QAthg15lwMyhOPyLTS++CMvGI5Um+FSd025PhW3E="; 66 + 67 + nativeBuildInputs = [ pkg-config ]; 68 + 69 + PKG_CONFIG_PATH = "${flux}/pkgconfig"; 70 + 71 + # Check that libflux is at the right version 72 + preBuild = '' 73 + flux_ver=$(grep github.com/influxdata/flux go.mod | awk '{print $2}') 74 + if [ "$flux_ver" != "v${libflux_version}" ]; then 75 + echo "go.mod wants libflux $flux_ver, but nix derivation provides ${libflux_version}" 76 + exit 1 77 + fi 78 + ''; 79 + 80 + # Remove failing server tests 81 + preCheck = '' 82 + rm server/server_test.go 83 + ''; 84 + 16 85 meta = with lib; { 17 86 description = "Open source framework for processing, monitoring, and alerting on time series data"; 87 + homepage = "https://influxdata.com/time-series-platform/kapacitor/"; 88 + downloadPage = "https://github.com/influxdata/kapacitor/releases"; 18 89 license = licenses.mit; 19 - homepage = "https://influxdata.com/time-series-platform/kapacitor/"; 20 - maintainers = with maintainers; [ offline ]; 21 - platforms = with platforms; linux; 90 + changelog = "https://github.com/influxdata/kapacitor/blob/master/CHANGELOG.md"; 91 + maintainers = with maintainers; [ offline totoroot ]; 22 92 }; 23 93 }
+18
pkgs/servers/monitoring/librenms/broken-binary-paths.diff
··· 1 + diff --git a/LibreNMS/Config.php b/LibreNMS/Config.php 2 + index 5ed6b71..de7718a 100644 3 + --- a/LibreNMS/Config.php 4 + +++ b/LibreNMS/Config.php 5 + @@ -460,13 +460,6 @@ class Config 6 + self::persist('device_display_default', $display_value); 7 + } 8 + 9 + - // make sure we have full path to binaries in case PATH isn't set 10 + - foreach (['fping', 'fping6', 'snmpgetnext', 'rrdtool', 'traceroute'] as $bin) { 11 + - if (! is_executable(self::get($bin))) { 12 + - self::persist($bin, self::locateBinary($bin)); 13 + - } 14 + - } 15 + - 16 + if (! self::has('rrdtool_version')) { 17 + self::persist('rrdtool_version', Rrd::version()); 18 + }
+116
pkgs/servers/monitoring/librenms/default.nix
··· 1 + { lib 2 + , fetchFromGitHub 3 + , unixtools 4 + , php82 5 + , python3 6 + , makeWrapper 7 + , nixosTests 8 + # run-time dependencies 9 + , graphviz 10 + , ipmitool 11 + , libvirt 12 + , monitoring-plugins 13 + , mtr 14 + , net-snmp 15 + , nfdump 16 + , nmap 17 + , rrdtool 18 + , system-sendmail 19 + , whois 20 + , dataDir ? "/var/lib/librenms", logDir ? "/var/log/librenms" }: 21 + 22 + 23 + let 24 + phpPackage = php82.withExtensions ({ enabled, all }: enabled ++ [ all.memcached ]); 25 + in phpPackage.buildComposerProject rec { 26 + name = pname + "-" + version; 27 + pname = "librenms"; 28 + version = "23.9.1"; 29 + 30 + src = fetchFromGitHub { 31 + owner = "librenms"; 32 + repo = pname; 33 + rev = "${version}"; 34 + sha256 = "sha256-glcD9AhxkvMmGo/7/RhQFeOtvHJ4pSiEFxaAjeVrTaI="; 35 + }; 36 + 37 + vendorHash = "sha256-s6vdGfM7Ehy1bbkB44EQaHBBvTkpVw9yxhVsc/O8dHc="; 38 + 39 + php = phpPackage; 40 + 41 + buildInputs = [ 42 + unixtools.whereis 43 + (python3.withPackages (ps: with ps; [ 44 + pymysql 45 + python-dotenv 46 + redis 47 + setuptools 48 + psutil 49 + command_runner 50 + ])) 51 + ]; 52 + 53 + nativeBuildInputs = [ makeWrapper ]; 54 + 55 + installPhase = '' 56 + runHook preInstall 57 + 58 + mv $out/share/php/librenms/* $out 59 + rm -r $out/share 60 + 61 + # This broken logic leads to bad settings being persisted in the database 62 + patch -p1 -d $out -i ${./broken-binary-paths.diff} 63 + 64 + substituteInPlace \ 65 + $out/misc/config_definitions.json \ 66 + --replace '"default": "/bin/ping",' '"default": "/run/wrappers/bin/ping",' \ 67 + --replace '"default": "fping",' '"default": "/run/wrappers/bin/fping",' \ 68 + --replace '"default": "fping6",' '"default": "/run/wrappers/bin/fping6",' \ 69 + --replace '"default": "rrdtool",' '"default": "${rrdtool}/bin/rrdtool",' \ 70 + --replace '"default": "snmpgetnext",' '"default": "${net-snmp}/bin/snmpgetnext",' \ 71 + --replace '"default": "traceroute",' '"default": "/run/wrappers/bin/traceroute",' \ 72 + --replace '"default": "/usr/bin/dot",' '"default": "${graphviz}/bin/dot",' \ 73 + --replace '"default": "/usr/bin/ipmitool",' '"default": "${ipmitool}/bin/ipmitool",' \ 74 + --replace '"default": "/usr/bin/mtr",' '"default": "${mtr}/bin/mtr",' \ 75 + --replace '"default": "/usr/bin/nfdump",' '"default": "${nfdump}/bin/nfdump",' \ 76 + --replace '"default": "/usr/bin/nmap",' '"default": "${nmap}/bin/nmap",' \ 77 + --replace '"default": "/usr/bin/sfdp",' '"default": "${graphviz}/bin/sfdp",' \ 78 + --replace '"default": "/usr/bin/snmpbulkwalk",' '"default": "${net-snmp}/bin/snmpbulkwalk",' \ 79 + --replace '"default": "/usr/bin/snmpget",' '"default": "${net-snmp}/bin/snmpget",' \ 80 + --replace '"default": "/usr/bin/snmptranslate",' '"default": "${net-snmp}/bin/snmptranslate",' \ 81 + --replace '"default": "/usr/bin/snmpwalk",' '"default": "${net-snmp}/bin/snmpwalk",' \ 82 + --replace '"default": "/usr/bin/virsh",' '"default": "${libvirt}/bin/virsh",' \ 83 + --replace '"default": "/usr/bin/whois",' '"default": "${whois}/bin/whois",' \ 84 + --replace '"default": "/usr/lib/nagios/plugins",' '"default": "${monitoring-plugins}/libexec",' \ 85 + --replace '"default": "/usr/sbin/sendmail",' '"default": "${system-sendmail}/bin/sendmail",' 86 + 87 + substituteInPlace $out/LibreNMS/wrapper.py --replace '/usr/bin/env php' '${phpPackage}/bin/php' 88 + substituteInPlace $out/LibreNMS/__init__.py --replace '"/usr/bin/env", "php"' '"${phpPackage}/bin/php"' 89 + substituteInPlace $out/snmp-scan.py --replace '"/usr/bin/env", "php"' '"${phpPackage}/bin/php"' 90 + 91 + wrapProgram $out/daily.sh --prefix PATH : ${phpPackage}/bin 92 + 93 + rm -rf $out/logs $out/rrd $out/bootstrap/cache $out/storage $out/.env 94 + ln -s ${logDir} $out/logs 95 + ln -s ${dataDir}/config.php $out/config.php 96 + ln -s ${dataDir}/.env $out/.env 97 + ln -s ${dataDir}/rrd $out/rrd 98 + ln -s ${dataDir}/storage $out/storage 99 + ln -s ${dataDir}/cache $out/bootstrap/cache 100 + 101 + runHook postInstall 102 + ''; 103 + 104 + passthru = { 105 + phpPackage = phpPackage; 106 + tests.librenms = nixosTests.librenms; 107 + }; 108 + 109 + meta = with lib; { 110 + description = "A auto-discovering PHP/MySQL/SNMP based network monitoring"; 111 + homepage = "https://www.librenms.org/"; 112 + license = licenses.gpl3Only; 113 + maintainers = teams.wdz.members; 114 + platforms = platforms.linux; 115 + }; 116 + }
+1 -1
pkgs/servers/monitoring/prometheus/junos-czerwonk-exporter.nix
··· 17 17 description = "Exporter for metrics from devices running JunOS"; 18 18 homepage = "https://github.com/czerwonk/junos_exporter"; 19 19 license = licenses.mit; 20 - maintainers = with maintainers; [ netali ]; 20 + maintainers = teams.wdz.members; 21 21 }; 22 22 }
+3 -3
pkgs/servers/monitoring/prometheus/nextcloud-exporter.nix
··· 2 2 3 3 buildGoModule rec { 4 4 pname = "prometheus-nextcloud-exporter"; 5 - version = "0.6.1"; 5 + version = "0.6.2"; 6 6 7 7 src = fetchFromGitHub { 8 8 owner = "xperimental"; 9 9 repo = "nextcloud-exporter"; 10 10 rev = "v${version}"; 11 - sha256 = "sha256-8Pz1Xa8P0T+5P4qCoyRyRqPtAaSiZw4BV+rSZf4exC0="; 11 + sha256 = "sha256-OiuhxawEpD29EhbzA9DYeJ1J1/uMQGgBTZR9m/5egHI="; 12 12 }; 13 13 14 - vendorHash = "sha256-NIJH5Ya+fZ+37y+Lim/WizNCOYk1lpPRf6u70IoiFZk="; 14 + vendorHash = "sha256-QlMj4ATpJATlQAsrxIHG/1vrD5E/4brsda3BoGGzDgk="; 15 15 16 16 passthru.tests = { inherit (nixosTests.prometheus-exporters) nextcloud; }; 17 17
+3
pkgs/servers/nosql/ferretdb/default.nix
··· 1 1 { lib 2 2 , buildGo121Module 3 3 , fetchFromGitHub 4 + , nixosTests 4 5 }: 5 6 6 7 buildGo121Module rec { ··· 33 34 installCheckPhase = '' 34 35 $out/bin/ferretdb --version | grep ${version} 35 36 ''; 37 + 38 + passthru.tests = nixosTests.ferretdb; 36 39 37 40 meta = with lib; { 38 41 description = "A truly Open Source MongoDB alternative";
+8 -5
pkgs/servers/sql/postgresql/default.nix
··· 17 17 , version, hash, psqlSchema 18 18 19 19 # for tests 20 - , nixosTests, thisAttr 20 + , testers, nixosTests, thisAttr 21 21 22 22 # JIT 23 23 , jitSupport ? false ··· 34 34 lz4Enabled = atLeast "14"; 35 35 zstdEnabled = atLeast "15"; 36 36 37 + pname = "postgresql"; 38 + 37 39 stdenv' = if jitSupport then llvmPackages.stdenv else stdenv; 38 - in stdenv'.mkDerivation rec { 39 - pname = "postgresql"; 40 - inherit version; 40 + in stdenv'.mkDerivation (finalAttrs: { 41 + inherit pname version; 41 42 42 43 src = fetchurl { 43 44 url = "mirror://postgresql/source/v${version}/${pname}-${version}.tar.bz2"; ··· 283 284 284 285 tests = { 285 286 postgresql = nixosTests.postgresql-wal-receiver.${thisAttr}; 287 + pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage; 286 288 } // lib.optionalAttrs jitSupport { 287 289 postgresql-jit = nixosTests.postgresql-jit.${thisAttr}; 288 290 }; ··· 295 297 description = "A powerful, open source object-relational database system"; 296 298 license = licenses.postgresql; 297 299 maintainers = with maintainers; [ thoughtpolice danbst globin marsam ivan ma27 ]; 300 + pkgConfigModules = [ "libecpg" "libecpg_compat" "libpgtypes" "libpq" ]; 298 301 platforms = platforms.unix; 299 302 300 303 # JIT support doesn't work with cross-compilation. It is attempted to build LLVM-bytecode ··· 309 312 # a query, postgres would coredump with `Illegal instruction`. 310 313 broken = jitSupport && (stdenv.hostPlatform != stdenv.buildPlatform); 311 314 }; 312 - }; 315 + }); 313 316 314 317 postgresqlWithPackages = { postgresql, makeWrapper, buildEnv }: pkgs: f: buildEnv { 315 318 name = "postgresql-and-plugins-${postgresql.version}";
+9 -4
pkgs/servers/tang/default.nix
··· 13 13 , testers 14 14 , tang 15 15 , gitUpdater 16 + , nixosTests 16 17 }: 17 18 18 19 stdenv.mkDerivation rec { ··· 53 54 ''; 54 55 55 56 passthru = { 56 - tests.version = testers.testVersion { 57 - package = tang; 58 - command = "${tang}/libexec/tangd --version"; 59 - version = "tangd ${version}"; 57 + tests = { 58 + inherit (nixosTests) tang; 59 + version = testers.testVersion { 60 + package = tang; 61 + command = "${tang}/libexec/tangd --version"; 62 + version = "tangd ${version}"; 63 + }; 60 64 }; 61 65 updateScript = gitUpdater { }; 62 66 }; ··· 67 71 changelog = "https://github.com/latchset/tang/releases/tag/v${version}"; 68 72 maintainers = with lib.maintainers; [ fpletz ]; 69 73 license = lib.licenses.gpl3Plus; 74 + mainProgram = "tangd"; 70 75 }; 71 76 }
+6 -1
pkgs/shells/zsh/default.nix
··· 11 11 , ncurses 12 12 , pcre 13 13 , pkg-config 14 - , buildPackages }: 14 + , buildPackages 15 + , nixosTests 16 + }: 15 17 16 18 let 17 19 version = "5.9"; ··· 143 145 144 146 passthru = { 145 147 shellPath = "/bin/zsh"; 148 + tests = { 149 + inherit (nixosTests) zsh-history oh-my-zsh; 150 + }; 146 151 }; 147 152 }
+1 -1
pkgs/tools/backup/borgbackup/default.nix
··· 37 37 38 38 # docs 39 39 sphinxHook 40 - guzzle_sphinx_theme 40 + guzzle-sphinx-theme 41 41 42 42 # shell completions 43 43 installShellFiles
-32
pkgs/tools/misc/cloud-sql-proxy/default.nix
··· 1 - { lib 2 - , buildGoModule 3 - , fetchFromGitHub 4 - }: 5 - 6 - buildGoModule rec { 7 - pname = "cloud-sql-proxy"; 8 - version = "2.7.0"; 9 - 10 - src = fetchFromGitHub { 11 - owner = "GoogleCloudPlatform"; 12 - repo = "cloud-sql-proxy"; 13 - rev = "v${version}"; 14 - hash = "sha256-4PB9Eaqb8teF+gmiHD2VAIFnxqiK2Nb0u+xSNAM8iMs="; 15 - }; 16 - 17 - subPackages = [ "." ]; 18 - 19 - vendorHash = "sha256-LaI7IdSyB7ETTjqIcIPDf3noEbvwlN3+KqrkSm8B6m8="; 20 - 21 - preCheck = '' 22 - buildFlagsArray+="-short" 23 - ''; 24 - 25 - meta = with lib; { 26 - description = "Utility for ensuring secure connections to Google Cloud SQL instances"; 27 - homepage = "https://github.com/GoogleCloudPlatform/cloud-sql-proxy"; 28 - license = licenses.asl20; 29 - maintainers = with maintainers; [ nicknovitski totoroot ]; 30 - mainProgram = "cloud-sql-proxy"; 31 - }; 32 - }
+3 -3
pkgs/tools/misc/czkawka/default.nix
··· 19 19 20 20 rustPlatform.buildRustPackage rec { 21 21 pname = "czkawka"; 22 - version = "6.0.0"; 22 + version = "6.1.0"; 23 23 24 24 src = fetchFromGitHub { 25 25 owner = "qarmin"; 26 26 repo = "czkawka"; 27 27 rev = version; 28 - hash = "sha256-aMQq44vflpsI66CyaXekMfYh/ssH7UkCX0zsO55st3Y="; 28 + hash = "sha256-uKmiBNwuu3Eduf0v3p2VYYNf6mgxJTBUsYs+tKZQZys="; 29 29 }; 30 30 31 - cargoHash = "sha256-1D87O4fje82Oxyj2Q9kAEey4uEzsNT7kTd8IbNT4WXE="; 31 + cargoHash = "sha256-iBO99kpITVl7ySlXPkEg2YecS1lonVx9CbKt9WI180s="; 32 32 33 33 nativeBuildInputs = [ 34 34 pkg-config
+10 -5
pkgs/tools/misc/file/default.nix
··· 1 - { lib, stdenv, fetchurl, file, zlib, libgnurx }: 1 + { lib, stdenv, fetchurl, file, zlib, libgnurx 2 + , testers 3 + }: 2 4 3 5 # Note: this package is used for bootstrapping fetchurl, and thus 4 6 # cannot use fetchpatch! All mutable patches (generated by GitHub or 5 7 # cgit) that are needed here should be included directly in Nixpkgs as 6 8 # files. 7 9 8 - stdenv.mkDerivation rec { 10 + stdenv.mkDerivation (finalAttrs: { 9 11 pname = "file"; 10 12 version = "5.45"; 11 13 12 14 src = fetchurl { 13 15 urls = [ 14 - "https://astron.com/pub/file/${pname}-${version}.tar.gz" 15 - "https://distfiles.macports.org/file/${pname}-${version}.tar.gz" 16 + "https://astron.com/pub/file/${finalAttrs.pname}-${finalAttrs.version}.tar.gz" 17 + "https://distfiles.macports.org/file/${finalAttrs.pname}-${finalAttrs.version}.tar.gz" 16 18 ]; 17 19 hash = "sha256-/Jf1ECm7DiyfTjv/79r2ePDgOe6HK53lwAKm0Jx4TYI="; 18 20 }; ··· 37 39 38 40 makeFlags = lib.optional stdenv.hostPlatform.isWindows "FILE_COMPILE=file"; 39 41 42 + passthru.tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage; 43 + 40 44 meta = with lib; { 41 45 homepage = "https://darwinsys.com/file"; 42 46 description = "A program that shows the type of files"; 43 47 maintainers = with maintainers; [ doronbehar ]; 44 48 license = licenses.bsd2; 49 + pkgConfigModules = [ "libmagic" ]; 45 50 platforms = platforms.all; 46 51 mainProgram = "file"; 47 52 }; 48 - } 53 + })
+37
pkgs/tools/misc/google-cloud-bigtable-tool/default.nix
··· 1 + { lib 2 + , buildGoModule 3 + , fetchFromGitHub 4 + }: 5 + 6 + buildGoModule rec { 7 + pname = "google-cloud-bigtable-tool"; 8 + version = "0.12.0"; 9 + 10 + src = fetchFromGitHub { 11 + owner = "googleapis"; 12 + repo = "cloud-bigtable-cbt-cli"; 13 + rev = "v.${version}"; 14 + hash = "sha256-N5nbWMj7kLIdRiwBUWFz4Rat88Wx01i3hceMxAvSjaA="; 15 + }; 16 + 17 + vendorHash = "sha256-kwvEfvHs6XF84bB3Ss1307OjId0nh/0Imih1fRFdY0M="; 18 + 19 + preCheck = '' 20 + buildFlagsArray+="-short" 21 + ''; 22 + 23 + meta = with lib; { 24 + description = "Google Cloud Bigtable Tool"; 25 + longDescription = '' 26 + `cbt` is the Google Cloud Bigtable Tool. A CLI utility to interact with Google Cloud Bigtable. 27 + The cbt CLI is a command-line interface for performing several different operations on Cloud Bigtable. 28 + It is written in Go using the Go client library for Cloud Bigtable. 29 + An overview of its usage can be found in the [Google Cloud docs](https://cloud.google.com/bigtable/docs/cbt-overview). 30 + For information about Bigtable in general, see the [overview of Bigtable](https://cloud.google.com/bigtable/docs/overview). 31 + ''; 32 + homepage = "https://github.com/googleapis/cloud-bigtable-cbt-cli"; 33 + license = licenses.asl20; 34 + maintainers = with maintainers; [ totoroot ]; 35 + mainProgram = "cbt"; 36 + }; 37 + }
+40
pkgs/tools/misc/google-cloud-sql-proxy/default.nix
··· 1 + { lib 2 + , buildGoModule 3 + , fetchFromGitHub 4 + }: 5 + 6 + buildGoModule rec { 7 + pname = "google-cloud-sql-proxy"; 8 + version = "2.7.0"; 9 + 10 + src = fetchFromGitHub { 11 + owner = "GoogleCloudPlatform"; 12 + repo = "cloud-sql-proxy"; 13 + rev = "v${version}"; 14 + hash = "sha256-4PB9Eaqb8teF+gmiHD2VAIFnxqiK2Nb0u+xSNAM8iMs="; 15 + }; 16 + 17 + subPackages = [ "." ]; 18 + 19 + vendorHash = "sha256-LaI7IdSyB7ETTjqIcIPDf3noEbvwlN3+KqrkSm8B6m8="; 20 + 21 + preCheck = '' 22 + buildFlagsArray+="-short" 23 + ''; 24 + 25 + meta = with lib; { 26 + description = "Utility for ensuring secure connections to Google Cloud SQL instances"; 27 + longDescription = '' 28 + The Cloud SQL Auth Proxy is a utility for ensuring secure connections to your Cloud SQL instances. 29 + It provides IAM authorization, allowing you to control who can connect to your instance through IAM permissions, 30 + and TLS 1.3 encryption, without having to manage certificates. 31 + See the [Connecting Overview](https://cloud.google.com/sql/docs/mysql/connect-overview) page for more information 32 + on connecting to a Cloud SQL instance, or the [About the Proxy](https://cloud.google.com/sql/docs/mysql/sql-proxy) 33 + page for details on how the Cloud SQL Proxy works. 34 + ''; 35 + homepage = "https://github.com/GoogleCloudPlatform/cloud-sql-proxy"; 36 + license = licenses.asl20; 37 + maintainers = with maintainers; [ nicknovitski totoroot ]; 38 + mainProgram = "cloud-sql-proxy"; 39 + }; 40 + }
+3 -3
pkgs/tools/misc/kak-lsp/default.nix
··· 2 2 3 3 rustPlatform.buildRustPackage rec { 4 4 pname = "kak-lsp"; 5 - version = "14.1.0"; 5 + version = "14.2.0"; 6 6 7 7 src = fetchFromGitHub { 8 8 owner = pname; 9 9 repo = pname; 10 10 rev = "v${version}"; 11 - sha256 = "sha256-5eGp11qPLT1fen39bZmICReK2Ly8Kg9Y3g30ZV0gk04="; 11 + sha256 = "sha256-U4eqIzvYzUfwprVpPHV/OFPKiBXK4/5z2p8kknX2iME="; 12 12 }; 13 13 14 - cargoSha256 = "sha256-+Sj+QSSXJAgGulMLRCWLgddVG8sIiHaB1xWPojVCgas="; 14 + cargoSha256 = "sha256-g63Kfi4xJZO/+fq6eK2iB1dUGoSGWIIRaJr8BWO/txM="; 15 15 16 16 buildInputs = lib.optionals stdenv.isDarwin [ Security SystemConfiguration ]; 17 17
+5 -5
pkgs/tools/misc/ytarchive/default.nix
··· 1 - { lib, buildGoModule, fetchFromGitHub, makeBinaryWrapper, ffmpeg }: 1 + { lib, buildGoModule, fetchFromGitHub, makeBinaryWrapper, ffmpeg-headless }: 2 2 3 3 buildGoModule rec { 4 4 pname = "ytarchive"; 5 - version = "unstable-2023-02-21"; 5 + version = "0.4.0"; 6 6 7 7 src = fetchFromGitHub { 8 8 owner = "Kethsar"; 9 9 repo = "ytarchive"; 10 - rev = "90aaf17b5e86eec52a95752e3c2dba4f54ee1068"; 11 - hash = "sha256-JRjQRbMqtd04/aO6NkInoDqfOrHnDrXj4C4/URiU6yo="; 10 + rev = "v${version}"; 11 + hash = "sha256-mQgpwuTIEHeDv/PzBHpK1sraxFj8Ef3y8vN5bLw5E94="; 12 12 }; 13 13 14 14 vendorHash = "sha256-sjwQ/zEYJRkeWUDB7TzV8z+kET8lVRnQkXYbZbcUeHY="; ··· 18 18 ldflags = [ "-s" "-w" "-X main.Commit=-${src.rev}" ]; 19 19 20 20 postInstall = '' 21 - wrapProgram $out/bin/ytarchive --prefix PATH : ${lib.makeBinPath [ ffmpeg ]} 21 + wrapProgram $out/bin/ytarchive --prefix PATH : ${lib.makeBinPath [ ffmpeg-headless ]} 22 22 ''; 23 23 24 24 meta = with lib; {
+317 -144
pkgs/tools/networking/bandwhich/Cargo.lock
··· 30 30 31 31 [[package]] 32 32 name = "aho-corasick" 33 - version = "1.1.0" 33 + version = "1.1.2" 34 34 source = "registry+https://github.com/rust-lang/crates.io-index" 35 - checksum = "0f2135563fb5c609d2b2b87c1e8ce7bc41b0b45430fa9661f457981503dd5bf0" 35 + checksum = "b2969dcb958b36655471fc61f7e416fa76033bdd4bfed0678d8fee1e2d07a1f0" 36 36 dependencies = [ 37 37 "memchr", 38 38 ] ··· 54 54 55 55 [[package]] 56 56 name = "anstream" 57 - version = "0.5.0" 57 + version = "0.6.4" 58 58 source = "registry+https://github.com/rust-lang/crates.io-index" 59 - checksum = "b1f58811cfac344940f1a400b6e6231ce35171f614f26439e80f8c1465c5cc0c" 59 + checksum = "2ab91ebe16eb252986481c5b62f6098f3b698a45e34b5b98200cf20dd2484a44" 60 60 dependencies = [ 61 61 "anstyle", 62 62 "anstyle-parse", ··· 68 68 69 69 [[package]] 70 70 name = "anstyle" 71 - version = "1.0.3" 71 + version = "1.0.4" 72 72 source = "registry+https://github.com/rust-lang/crates.io-index" 73 - checksum = "b84bf0a05bbb2a83e5eb6fa36bb6e87baa08193c35ff52bbf6b38d8af2890e46" 73 + checksum = "7079075b41f533b8c61d2a4d073c4676e1f8b249ff94a393b0595db304e0dd87" 74 74 75 75 [[package]] 76 76 name = "anstyle-parse" 77 - version = "0.2.1" 77 + version = "0.2.2" 78 78 source = "registry+https://github.com/rust-lang/crates.io-index" 79 - checksum = "938874ff5980b03a87c5524b3ae5b59cf99b1d6bc836848df7bc5ada9643c333" 79 + checksum = "317b9a89c1868f5ea6ff1d9539a69f45dffc21ce321ac1fd1160dfa48c8e2140" 80 80 dependencies = [ 81 81 "utf8parse", 82 82 ] ··· 92 92 93 93 [[package]] 94 94 name = "anstyle-wincon" 95 - version = "2.1.0" 95 + version = "3.0.1" 96 96 source = "registry+https://github.com/rust-lang/crates.io-index" 97 - checksum = "58f54d10c6dfa51283a066ceab3ec1ab78d13fae00aa49243a45e4571fb79dfd" 97 + checksum = "f0699d10d2f4d628a98ee7b57b289abbc98ff3bad977cb3152709d4bf2330628" 98 98 dependencies = [ 99 99 "anstyle", 100 100 "windows-sys 0.48.0", ··· 111 111 112 112 [[package]] 113 113 name = "async-trait" 114 - version = "0.1.73" 114 + version = "0.1.74" 115 115 source = "registry+https://github.com/rust-lang/crates.io-index" 116 - checksum = "bc00ceb34980c03614e35a3a4e218276a0a824e911d07651cd0d858a51e8c0f0" 116 + checksum = "a66537f1bb974b254c98ed142ff995236e81b9d0fe4db0575f46612cb15eb0f9" 117 117 dependencies = [ 118 118 "proc-macro2", 119 119 "quote", 120 - "syn 2.0.37", 120 + "syn 2.0.38", 121 121 ] 122 122 123 123 [[package]] ··· 143 143 144 144 [[package]] 145 145 name = "bandwhich" 146 - version = "0.21.0" 146 + version = "0.21.1" 147 147 dependencies = [ 148 148 "anyhow", 149 149 "async-trait", 150 150 "chrono", 151 151 "clap", 152 + "clap-verbosity-flag", 152 153 "crossterm", 154 + "derivative", 153 155 "http_req", 154 156 "insta", 155 157 "ipnetwork", 158 + "log", 156 159 "netstat2", 157 160 "packet-builder", 158 161 "pnet", ··· 162 165 "ratatui", 163 166 "regex", 164 167 "resolv-conf", 168 + "rstest", 169 + "simplelog", 165 170 "sysinfo", 166 171 "thiserror", 167 172 "tokio", ··· 184 189 185 190 [[package]] 186 191 name = "bitflags" 187 - version = "2.4.0" 192 + version = "2.4.1" 188 193 source = "registry+https://github.com/rust-lang/crates.io-index" 189 - checksum = "b4682ae6287fcf752ecaabbfcc7b6f9b72aa33933dc23a554d853aea8eea8635" 194 + checksum = "327762f6e5a765692301e5bb513e0d9fef63be86bbc14528052b1cd3e6f03e07" 190 195 191 196 [[package]] 192 197 name = "block-buffer" ··· 205 210 206 211 [[package]] 207 212 name = "byteorder" 208 - version = "1.4.3" 213 + version = "1.5.0" 209 214 source = "registry+https://github.com/rust-lang/crates.io-index" 210 - checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610" 215 + checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" 211 216 212 217 [[package]] 213 218 name = "bytes" ··· 284 289 285 290 [[package]] 286 291 name = "clap" 287 - version = "4.4.4" 292 + version = "4.4.6" 288 293 source = "registry+https://github.com/rust-lang/crates.io-index" 289 - checksum = "b1d7b8d5ec32af0fadc644bf1fd509a688c2103b185644bb1e29d164e0703136" 294 + checksum = "d04704f56c2cde07f43e8e2c154b43f216dc5c92fc98ada720177362f953b956" 290 295 dependencies = [ 291 296 "clap_builder", 292 297 "clap_derive", 293 298 ] 294 299 295 300 [[package]] 301 + name = "clap-verbosity-flag" 302 + version = "2.0.1" 303 + source = "registry+https://github.com/rust-lang/crates.io-index" 304 + checksum = "1eef05769009513df2eb1c3b4613e7fad873a14c600ff025b08f250f59fee7de" 305 + dependencies = [ 306 + "clap", 307 + "log", 308 + ] 309 + 310 + [[package]] 296 311 name = "clap_builder" 297 - version = "4.4.4" 312 + version = "4.4.6" 298 313 source = "registry+https://github.com/rust-lang/crates.io-index" 299 - checksum = "5179bb514e4d7c2051749d8fcefa2ed6d06a9f4e6d69faf3805f5d80b8cf8d56" 314 + checksum = "0e231faeaca65ebd1ea3c737966bf858971cd38c3849107aa3ea7de90a804e45" 300 315 dependencies = [ 301 316 "anstream", 302 317 "anstyle", ··· 313 328 "heck", 314 329 "proc-macro2", 315 330 "quote", 316 - "syn 2.0.37", 331 + "syn 2.0.38", 317 332 ] 318 333 319 334 [[package]] ··· 381 396 ] 382 397 383 398 [[package]] 384 - name = "crossbeam-channel" 385 - version = "0.5.8" 386 - source = "registry+https://github.com/rust-lang/crates.io-index" 387 - checksum = "a33c2bf77f2df06183c3aa30d1e96c0695a313d4f9c453cc3762a6db39f99200" 388 - dependencies = [ 389 - "cfg-if", 390 - "crossbeam-utils", 391 - ] 392 - 393 - [[package]] 394 399 name = "crossbeam-deque" 395 400 version = "0.8.3" 396 401 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 429 434 source = "registry+https://github.com/rust-lang/crates.io-index" 430 435 checksum = "f476fe445d41c9e991fd07515a6f463074b782242ccf4a5b7b1d1012e70824df" 431 436 dependencies = [ 432 - "bitflags 2.4.0", 437 + "bitflags 2.4.1", 433 438 "crossterm_winapi", 434 439 "libc", 435 440 "mio", ··· 466 471 467 472 [[package]] 468 473 name = "deranged" 469 - version = "0.3.8" 474 + version = "0.3.9" 470 475 source = "registry+https://github.com/rust-lang/crates.io-index" 471 - checksum = "f2696e8a945f658fd14dc3b87242e6b80cd0f36ff04ea560fa39082368847946" 476 + checksum = "0f32d04922c60427da6f9fef14d042d9edddef64cb9d4ce0d64d0685fbeb1fd3" 477 + dependencies = [ 478 + "powerfmt", 479 + ] 480 + 481 + [[package]] 482 + name = "derivative" 483 + version = "2.2.0" 484 + source = "registry+https://github.com/rust-lang/crates.io-index" 485 + checksum = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b" 486 + dependencies = [ 487 + "proc-macro2", 488 + "quote", 489 + "syn 1.0.109", 490 + ] 472 491 473 492 [[package]] 474 493 name = "derive-new" ··· 513 532 "heck", 514 533 "proc-macro2", 515 534 "quote", 516 - "syn 2.0.37", 535 + "syn 2.0.38", 517 536 ] 518 537 519 538 [[package]] 520 539 name = "errno" 521 - version = "0.3.3" 540 + version = "0.3.5" 522 541 source = "registry+https://github.com/rust-lang/crates.io-index" 523 - checksum = "136526188508e25c6fef639d7927dfb3e0e3084488bf202267829cf7fc23dbdd" 542 + checksum = "ac3e13f66a2f95e32a39eaa81f6b95d42878ca0e1db0c7543723dfe12557e860" 524 543 dependencies = [ 525 - "errno-dragonfly", 526 544 "libc", 527 545 "windows-sys 0.48.0", 528 546 ] 529 547 530 548 [[package]] 531 - name = "errno-dragonfly" 532 - version = "0.1.2" 533 - source = "registry+https://github.com/rust-lang/crates.io-index" 534 - checksum = "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf" 535 - dependencies = [ 536 - "cc", 537 - "libc", 538 - ] 539 - 540 - [[package]] 541 549 name = "fastrand" 542 - version = "2.0.0" 550 + version = "2.0.1" 543 551 source = "registry+https://github.com/rust-lang/crates.io-index" 544 - checksum = "6999dc1837253364c2ebb0704ba97994bd874e8f195d665c50b7548f6ea92764" 552 + checksum = "25cbce373ec4653f1a01a31e8a5e5ec0c622dc27ff9c4e6606eefef5cbbed4a5" 545 553 546 554 [[package]] 547 555 name = "flate2" 548 - version = "1.0.27" 556 + version = "1.0.28" 549 557 source = "registry+https://github.com/rust-lang/crates.io-index" 550 - checksum = "c6c98ee8095e9d1dcbf2fcc6d95acccb90d1c81db1e44725c6a984b1dbdfb010" 558 + checksum = "46303f565772937ffe1d394a4fac6f411c6013172fadde9dcdb1e147a086940e" 551 559 dependencies = [ 552 560 "crc32fast", 553 561 "miniz_oxide", ··· 578 586 ] 579 587 580 588 [[package]] 589 + name = "futures" 590 + version = "0.3.28" 591 + source = "registry+https://github.com/rust-lang/crates.io-index" 592 + checksum = "23342abe12aba583913b2e62f22225ff9c950774065e4bfb61a19cd9770fec40" 593 + dependencies = [ 594 + "futures-channel", 595 + "futures-core", 596 + "futures-executor", 597 + "futures-io", 598 + "futures-sink", 599 + "futures-task", 600 + "futures-util", 601 + ] 602 + 603 + [[package]] 581 604 name = "futures-channel" 582 605 version = "0.3.28" 583 606 source = "registry+https://github.com/rust-lang/crates.io-index" 584 607 checksum = "955518d47e09b25bbebc7a18df10b81f0c766eaf4c4f1cccef2fca5f2a4fb5f2" 585 608 dependencies = [ 586 609 "futures-core", 610 + "futures-sink", 587 611 ] 588 612 589 613 [[package]] ··· 593 617 checksum = "4bca583b7e26f571124fe5b7561d49cb2868d79116cfa0eefce955557c6fee8c" 594 618 595 619 [[package]] 620 + name = "futures-executor" 621 + version = "0.3.28" 622 + source = "registry+https://github.com/rust-lang/crates.io-index" 623 + checksum = "ccecee823288125bd88b4d7f565c9e58e41858e47ab72e8ea2d64e93624386e0" 624 + dependencies = [ 625 + "futures-core", 626 + "futures-task", 627 + "futures-util", 628 + ] 629 + 630 + [[package]] 596 631 name = "futures-io" 597 632 version = "0.3.28" 598 633 source = "registry+https://github.com/rust-lang/crates.io-index" 599 634 checksum = "4fff74096e71ed47f8e023204cfd0aa1289cd54ae5430a9523be060cdb849964" 600 635 601 636 [[package]] 637 + name = "futures-macro" 638 + version = "0.3.28" 639 + source = "registry+https://github.com/rust-lang/crates.io-index" 640 + checksum = "89ca545a94061b6365f2c7355b4b32bd20df3ff95f02da9329b34ccc3bd6ee72" 641 + dependencies = [ 642 + "proc-macro2", 643 + "quote", 644 + "syn 2.0.38", 645 + ] 646 + 647 + [[package]] 648 + name = "futures-sink" 649 + version = "0.3.28" 650 + source = "registry+https://github.com/rust-lang/crates.io-index" 651 + checksum = "f43be4fe21a13b9781a69afa4985b0f6ee0e1afab2c6f454a8cf30e2b2237b6e" 652 + 653 + [[package]] 602 654 name = "futures-task" 603 655 version = "0.3.28" 604 656 source = "registry+https://github.com/rust-lang/crates.io-index" 605 657 checksum = "76d3d132be6c0e6aa1534069c705a74a5997a356c0dc2f86a47765e5617c5b65" 606 658 607 659 [[package]] 660 + name = "futures-timer" 661 + version = "3.0.2" 662 + source = "registry+https://github.com/rust-lang/crates.io-index" 663 + checksum = "e64b03909df88034c26dc1547e8970b91f98bdb65165d6a4e9110d94263dbb2c" 664 + 665 + [[package]] 608 666 name = "futures-util" 609 667 version = "0.3.28" 610 668 source = "registry+https://github.com/rust-lang/crates.io-index" 611 669 checksum = "26b01e40b772d54cf6c6d721c1d1abd0647a0106a12ecaa1c186273392a69533" 612 670 dependencies = [ 671 + "futures-channel", 613 672 "futures-core", 673 + "futures-io", 674 + "futures-macro", 675 + "futures-sink", 614 676 "futures-task", 677 + "memchr", 615 678 "pin-project-lite", 616 679 "pin-utils", 617 680 "slab", ··· 658 721 659 722 [[package]] 660 723 name = "hermit-abi" 661 - version = "0.3.2" 724 + version = "0.3.3" 662 725 source = "registry+https://github.com/rust-lang/crates.io-index" 663 - checksum = "443144c8cdadd93ebf52ddb4056d257f5b52c04d3c804e657d19eb73fc33668b" 726 + checksum = "d77f7ec81a6d05a3abb01ab6eb7590f6083d08449fe5a1c8b1e620283546ccb7" 664 727 665 728 [[package]] 666 729 name = "hex" ··· 690 753 691 754 [[package]] 692 755 name = "http_req" 693 - version = "0.9.3" 756 + version = "0.10.0" 694 757 source = "registry+https://github.com/rust-lang/crates.io-index" 695 - checksum = "42ce34c74ec562d68f2c23a532c62c1332ff1d1b6147fd118bd1938e090137d0" 758 + checksum = "158d4edacc70c9bdb0464314063b8d9d60fa776442dc13b00a13581b88b0a0a0" 696 759 dependencies = [ 697 760 "native-tls", 698 761 "unicase", ··· 748 811 749 812 [[package]] 750 813 name = "insta" 751 - version = "1.31.0" 814 + version = "1.34.0" 752 815 source = "registry+https://github.com/rust-lang/crates.io-index" 753 - checksum = "a0770b0a3d4c70567f0d58331f3088b0e4c4f56c9b8d764efe654b4a5d46de3a" 816 + checksum = "5d64600be34b2fcfc267740a243fa7744441bb4947a619ac4e5bb6507f35fbfc" 754 817 dependencies = [ 755 818 "console", 756 819 "lazy_static", ··· 805 868 dependencies = [ 806 869 "either", 807 870 ] 871 + 872 + [[package]] 873 + name = "itoa" 874 + version = "1.0.9" 875 + source = "registry+https://github.com/rust-lang/crates.io-index" 876 + checksum = "af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38" 808 877 809 878 [[package]] 810 879 name = "jobserver" 811 - version = "0.1.26" 880 + version = "0.1.27" 812 881 source = "registry+https://github.com/rust-lang/crates.io-index" 813 - checksum = "936cfd212a0155903bcbc060e316fb6cc7cbf2e1907329391ebadc1fe0ce77c2" 882 + checksum = "8c37f63953c4c63420ed5fd3d6d398c719489b9f872b9fa683262f8edd363c7d" 814 883 dependencies = [ 815 884 "libc", 816 885 ] ··· 832 901 833 902 [[package]] 834 903 name = "libc" 835 - version = "0.2.148" 904 + version = "0.2.149" 836 905 source = "registry+https://github.com/rust-lang/crates.io-index" 837 - checksum = "9cdc71e17332e86d2e1d38c1f99edcb6288ee11b815fb1a4b049eaa2114d369b" 906 + checksum = "a08173bc88b7955d1b3145aa561539096c421ac8debde8cbc3612ec635fee29b" 838 907 839 908 [[package]] 840 909 name = "linked-hash-map" ··· 850 919 851 920 [[package]] 852 921 name = "linux-raw-sys" 853 - version = "0.4.7" 922 + version = "0.4.10" 854 923 source = "registry+https://github.com/rust-lang/crates.io-index" 855 - checksum = "1a9bad9f94746442c783ca431b22403b519cd7fbeed0533fdd6328b2f2212128" 924 + checksum = "da2479e8c062e40bf0066ffa0bc823de0a9368974af99c9f6df941d2c231e03f" 856 925 857 926 [[package]] 858 927 name = "lock_api" ··· 887 956 888 957 [[package]] 889 958 name = "memchr" 890 - version = "2.6.3" 959 + version = "2.6.4" 891 960 source = "registry+https://github.com/rust-lang/crates.io-index" 892 - checksum = "8f232d6ef707e1956a43342693d2a31e72989554d58299d7a88738cc95b0d35c" 961 + checksum = "f665ee40bc4a3c5590afb1e9677db74a508659dfd71e126420da8274909a0167" 893 962 894 963 [[package]] 895 964 name = "memoffset" ··· 981 1050 982 1051 [[package]] 983 1052 name = "num-traits" 984 - version = "0.2.16" 1053 + version = "0.2.17" 985 1054 source = "registry+https://github.com/rust-lang/crates.io-index" 986 - checksum = "f30b0abd723be7e2ffca1272140fac1a2f084c77ec3e123c192b66af1ee9e6c2" 1055 + checksum = "39e3200413f237f41ab11ad6d161bc7239c84dcb631773ccd7de3dfe4b5c267c" 987 1056 dependencies = [ 988 1057 "autocfg", 989 1058 ] ··· 999 1068 ] 1000 1069 1001 1070 [[package]] 1071 + name = "num_threads" 1072 + version = "0.1.6" 1073 + source = "registry+https://github.com/rust-lang/crates.io-index" 1074 + checksum = "2819ce041d2ee131036f4fc9d6ae7ae125a3a40e97ba64d04fe799ad9dabbb44" 1075 + dependencies = [ 1076 + "libc", 1077 + ] 1078 + 1079 + [[package]] 1002 1080 name = "object" 1003 1081 version = "0.32.1" 1004 1082 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 1019 1097 source = "registry+https://github.com/rust-lang/crates.io-index" 1020 1098 checksum = "bac25ee399abb46215765b1cb35bc0212377e58a061560d8b29b024fd0430e7c" 1021 1099 dependencies = [ 1022 - "bitflags 2.4.0", 1100 + "bitflags 2.4.1", 1023 1101 "cfg-if", 1024 1102 "foreign-types", 1025 1103 "libc", ··· 1036 1114 dependencies = [ 1037 1115 "proc-macro2", 1038 1116 "quote", 1039 - "syn 2.0.37", 1117 + "syn 2.0.38", 1040 1118 ] 1041 1119 1042 1120 [[package]] ··· 1189 1267 "proc-macro2", 1190 1268 "quote", 1191 1269 "regex", 1192 - "syn 2.0.37", 1270 + "syn 2.0.38", 1193 1271 ] 1194 1272 1195 1273 [[package]] ··· 1236 1314 ] 1237 1315 1238 1316 [[package]] 1317 + name = "powerfmt" 1318 + version = "0.2.0" 1319 + source = "registry+https://github.com/rust-lang/crates.io-index" 1320 + checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" 1321 + 1322 + [[package]] 1239 1323 name = "ppv-lite86" 1240 1324 version = "0.2.17" 1241 1325 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 1243 1327 1244 1328 [[package]] 1245 1329 name = "proc-macro2" 1246 - version = "1.0.67" 1330 + version = "1.0.69" 1247 1331 source = "registry+https://github.com/rust-lang/crates.io-index" 1248 - checksum = "3d433d9f1a3e8c1263d9456598b16fec66f4acc9a74dacffd35c7bb09b3a1328" 1332 + checksum = "134c189feb4956b20f6f547d2cf727d4c0fe06722b20a0eec87ed445a97f92da" 1249 1333 dependencies = [ 1250 1334 "unicode-ident", 1251 1335 ] ··· 1262 1346 "flate2", 1263 1347 "hex", 1264 1348 "lazy_static", 1265 - "rustix 0.36.15", 1349 + "rustix 0.36.16", 1266 1350 ] 1267 1351 1268 1352 [[package]] ··· 1316 1400 source = "registry+https://github.com/rust-lang/crates.io-index" 1317 1401 checksum = "2e2e4cd95294a85c3b4446e63ef054eea43e0205b1fd60120c16b74ff7ff96ad" 1318 1402 dependencies = [ 1319 - "bitflags 2.4.0", 1403 + "bitflags 2.4.1", 1320 1404 "cassowary", 1321 1405 "crossterm", 1322 1406 "indoc", ··· 1329 1413 1330 1414 [[package]] 1331 1415 name = "rayon" 1332 - version = "1.7.0" 1416 + version = "1.8.0" 1333 1417 source = "registry+https://github.com/rust-lang/crates.io-index" 1334 - checksum = "1d2df5196e37bcc87abebc0053e20787d73847bb33134a69841207dd0a47f03b" 1418 + checksum = "9c27db03db7734835b3f53954b534c91069375ce6ccaa2e065441e07d9b6cdb1" 1335 1419 dependencies = [ 1336 1420 "either", 1337 1421 "rayon-core", ··· 1339 1423 1340 1424 [[package]] 1341 1425 name = "rayon-core" 1342 - version = "1.11.0" 1426 + version = "1.12.0" 1343 1427 source = "registry+https://github.com/rust-lang/crates.io-index" 1344 - checksum = "4b8f95bd6966f5c87776639160a66bd8ab9895d9d4ab01ddba9fc60661aebe8d" 1428 + checksum = "5ce3fb6ad83f861aac485e76e1985cd109d9a3713802152be56c3b1f0e0658ed" 1345 1429 dependencies = [ 1346 - "crossbeam-channel", 1347 1430 "crossbeam-deque", 1348 1431 "crossbeam-utils", 1349 - "num_cpus", 1350 1432 ] 1351 1433 1352 1434 [[package]] ··· 1360 1442 1361 1443 [[package]] 1362 1444 name = "regex" 1363 - version = "1.9.5" 1445 + version = "1.10.1" 1364 1446 source = "registry+https://github.com/rust-lang/crates.io-index" 1365 - checksum = "697061221ea1b4a94a624f67d0ae2bfe4e22b8a17b6a192afb11046542cc8c47" 1447 + checksum = "aaac441002f822bc9705a681810a4dd2963094b9ca0ddc41cb963a4c189189ea" 1366 1448 dependencies = [ 1367 1449 "aho-corasick", 1368 1450 "memchr", ··· 1372 1454 1373 1455 [[package]] 1374 1456 name = "regex-automata" 1375 - version = "0.3.8" 1457 + version = "0.4.2" 1376 1458 source = "registry+https://github.com/rust-lang/crates.io-index" 1377 - checksum = "c2f401f4955220693b56f8ec66ee9c78abffd8d1c4f23dc41a23839eb88f0795" 1459 + checksum = "5011c7e263a695dc8ca064cddb722af1be54e517a280b12a5356f98366899e5d" 1378 1460 dependencies = [ 1379 1461 "aho-corasick", 1380 1462 "memchr", ··· 1383 1465 1384 1466 [[package]] 1385 1467 name = "regex-syntax" 1386 - version = "0.7.5" 1468 + version = "0.8.2" 1387 1469 source = "registry+https://github.com/rust-lang/crates.io-index" 1388 - checksum = "dbb5fb1acd8a1a18b3dd5be62d25485eb770e05afb408a9627d14d451bae12da" 1470 + checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f" 1471 + 1472 + [[package]] 1473 + name = "relative-path" 1474 + version = "1.9.0" 1475 + source = "registry+https://github.com/rust-lang/crates.io-index" 1476 + checksum = "c707298afce11da2efef2f600116fa93ffa7a032b5d7b628aa17711ec81383ca" 1389 1477 1390 1478 [[package]] 1391 1479 name = "resolv-conf" ··· 1398 1486 ] 1399 1487 1400 1488 [[package]] 1489 + name = "rstest" 1490 + version = "0.18.2" 1491 + source = "registry+https://github.com/rust-lang/crates.io-index" 1492 + checksum = "97eeab2f3c0a199bc4be135c36c924b6590b88c377d416494288c14f2db30199" 1493 + dependencies = [ 1494 + "futures", 1495 + "futures-timer", 1496 + "rstest_macros", 1497 + "rustc_version", 1498 + ] 1499 + 1500 + [[package]] 1501 + name = "rstest_macros" 1502 + version = "0.18.2" 1503 + source = "registry+https://github.com/rust-lang/crates.io-index" 1504 + checksum = "d428f8247852f894ee1be110b375111b586d4fa431f6c46e64ba5a0dcccbe605" 1505 + dependencies = [ 1506 + "cfg-if", 1507 + "glob", 1508 + "proc-macro2", 1509 + "quote", 1510 + "regex", 1511 + "relative-path", 1512 + "rustc_version", 1513 + "syn 2.0.38", 1514 + "unicode-ident", 1515 + ] 1516 + 1517 + [[package]] 1401 1518 name = "rustc-demangle" 1402 1519 version = "0.1.23" 1403 1520 source = "registry+https://github.com/rust-lang/crates.io-index" 1404 1521 checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76" 1405 1522 1406 1523 [[package]] 1524 + name = "rustc_version" 1525 + version = "0.4.0" 1526 + source = "registry+https://github.com/rust-lang/crates.io-index" 1527 + checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366" 1528 + dependencies = [ 1529 + "semver", 1530 + ] 1531 + 1532 + [[package]] 1407 1533 name = "rustix" 1408 - version = "0.36.15" 1534 + version = "0.36.16" 1409 1535 source = "registry+https://github.com/rust-lang/crates.io-index" 1410 - checksum = "c37f1bd5ef1b5422177b7646cba67430579cfe2ace80f284fee876bca52ad941" 1536 + checksum = "6da3636faa25820d8648e0e31c5d519bbb01f72fdf57131f0f5f7da5fed36eab" 1411 1537 dependencies = [ 1412 1538 "bitflags 1.3.2", 1413 1539 "errno", ··· 1419 1545 1420 1546 [[package]] 1421 1547 name = "rustix" 1422 - version = "0.38.13" 1548 + version = "0.38.19" 1423 1549 source = "registry+https://github.com/rust-lang/crates.io-index" 1424 - checksum = "d7db8590df6dfcd144d22afd1b83b36c21a18d7cbc1dc4bb5295a8712e9eb662" 1550 + checksum = "745ecfa778e66b2b63c88a61cb36e0eea109e803b0b86bf9879fbc77c70e86ed" 1425 1551 dependencies = [ 1426 - "bitflags 2.4.0", 1552 + "bitflags 2.4.1", 1427 1553 "errno", 1428 1554 "libc", 1429 - "linux-raw-sys 0.4.7", 1555 + "linux-raw-sys 0.4.10", 1430 1556 "windows-sys 0.48.0", 1431 1557 ] 1432 1558 ··· 1475 1601 ] 1476 1602 1477 1603 [[package]] 1604 + name = "semver" 1605 + version = "1.0.20" 1606 + source = "registry+https://github.com/rust-lang/crates.io-index" 1607 + checksum = "836fa6a3e1e547f9a2c4040802ec865b5d85f4014efe00555d7090a3dcaa1090" 1608 + 1609 + [[package]] 1478 1610 name = "serde" 1479 - version = "1.0.188" 1611 + version = "1.0.189" 1480 1612 source = "registry+https://github.com/rust-lang/crates.io-index" 1481 - checksum = "cf9e0fcba69a370eed61bcf2b728575f726b50b55cba78064753d708ddc7549e" 1613 + checksum = "8e422a44e74ad4001bdc8eede9a4570ab52f71190e9c076d14369f38b9200537" 1482 1614 dependencies = [ 1483 1615 "serde_derive", 1484 1616 ] 1485 1617 1486 1618 [[package]] 1487 1619 name = "serde_derive" 1488 - version = "1.0.188" 1620 + version = "1.0.189" 1489 1621 source = "registry+https://github.com/rust-lang/crates.io-index" 1490 - checksum = "4eca7ac642d82aa35b60049a6eccb4be6be75e599bd2e9adb5f875a737654af2" 1622 + checksum = "1e48d1f918009ce3145511378cf68d613e3b3d9137d67272562080d68a2b32d5" 1491 1623 dependencies = [ 1492 1624 "proc-macro2", 1493 1625 "quote", 1494 - "syn 2.0.37", 1626 + "syn 2.0.38", 1495 1627 ] 1496 1628 1497 1629 [[package]] 1498 1630 name = "sha1" 1499 - version = "0.10.5" 1631 + version = "0.10.6" 1500 1632 source = "registry+https://github.com/rust-lang/crates.io-index" 1501 - checksum = "f04293dc80c3993519f2d7f6f511707ee7094fe0c6d3406feb330cdb3540eba3" 1633 + checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba" 1502 1634 dependencies = [ 1503 1635 "cfg-if", 1504 1636 "cpufeatures", ··· 1507 1639 1508 1640 [[package]] 1509 1641 name = "sha2" 1510 - version = "0.10.7" 1642 + version = "0.10.8" 1511 1643 source = "registry+https://github.com/rust-lang/crates.io-index" 1512 - checksum = "479fb9d862239e610720565ca91403019f2f00410f1864c5aa7479b950a76ed8" 1644 + checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8" 1513 1645 dependencies = [ 1514 1646 "cfg-if", 1515 1647 "cpufeatures", ··· 1548 1680 1549 1681 [[package]] 1550 1682 name = "similar" 1551 - version = "2.2.1" 1683 + version = "2.3.0" 1552 1684 source = "registry+https://github.com/rust-lang/crates.io-index" 1553 - checksum = "420acb44afdae038210c99e69aae24109f32f15500aa708e81d46c9f29d55fcf" 1685 + checksum = "2aeaf503862c419d66959f5d7ca015337d864e9c49485d771b732e2a20453597" 1686 + 1687 + [[package]] 1688 + name = "simplelog" 1689 + version = "0.12.1" 1690 + source = "registry+https://github.com/rust-lang/crates.io-index" 1691 + checksum = "acee08041c5de3d5048c8b3f6f13fafb3026b24ba43c6a695a0c76179b844369" 1692 + dependencies = [ 1693 + "log", 1694 + "termcolor", 1695 + "time", 1696 + ] 1554 1697 1555 1698 [[package]] 1556 1699 name = "slab" ··· 1563 1706 1564 1707 [[package]] 1565 1708 name = "smallvec" 1566 - version = "1.11.0" 1709 + version = "1.11.1" 1567 1710 source = "registry+https://github.com/rust-lang/crates.io-index" 1568 - checksum = "62bb4feee49fdd9f707ef802e22365a35de4b7b299de4763d44bfea899442ff9" 1711 + checksum = "942b4a808e05215192e39f4ab80813e599068285906cc91aa64f923db842bd5a" 1569 1712 1570 1713 [[package]] 1571 1714 name = "socket2" ··· 1594 1737 1595 1738 [[package]] 1596 1739 name = "strum_macros" 1597 - version = "0.25.2" 1740 + version = "0.25.3" 1598 1741 source = "registry+https://github.com/rust-lang/crates.io-index" 1599 - checksum = "ad8d03b598d3d0fff69bf533ee3ef19b8eeb342729596df84bcc7e1f96ec4059" 1742 + checksum = "23dc1fa9ac9c169a78ba62f0b841814b7abae11bdd047b9c58f893439e309ea0" 1600 1743 dependencies = [ 1601 1744 "heck", 1602 1745 "proc-macro2", 1603 1746 "quote", 1604 1747 "rustversion", 1605 - "syn 2.0.37", 1748 + "syn 2.0.38", 1606 1749 ] 1607 1750 1608 1751 [[package]] ··· 1624 1767 1625 1768 [[package]] 1626 1769 name = "syn" 1627 - version = "2.0.37" 1770 + version = "2.0.38" 1628 1771 source = "registry+https://github.com/rust-lang/crates.io-index" 1629 - checksum = "7303ef2c05cd654186cb250d29049a24840ca25d2747c25c0381c8d9e2f582e8" 1772 + checksum = "e96b79aaa137db8f61e26363a0c9b47d8b4ec75da28b7d1d614c2303e232408b" 1630 1773 dependencies = [ 1631 1774 "proc-macro2", 1632 1775 "quote", ··· 1657 1800 "cfg-if", 1658 1801 "fastrand", 1659 1802 "redox_syscall", 1660 - "rustix 0.38.13", 1803 + "rustix 0.38.19", 1661 1804 "windows-sys 0.48.0", 1662 1805 ] 1663 1806 1664 1807 [[package]] 1808 + name = "termcolor" 1809 + version = "1.1.3" 1810 + source = "registry+https://github.com/rust-lang/crates.io-index" 1811 + checksum = "bab24d30b911b2376f3a13cc2cd443142f0c81dda04c118693e35b3835757755" 1812 + dependencies = [ 1813 + "winapi-util", 1814 + ] 1815 + 1816 + [[package]] 1665 1817 name = "thiserror" 1666 - version = "1.0.48" 1818 + version = "1.0.49" 1667 1819 source = "registry+https://github.com/rust-lang/crates.io-index" 1668 - checksum = "9d6d7a740b8a666a7e828dd00da9c0dc290dff53154ea77ac109281de90589b7" 1820 + checksum = "1177e8c6d7ede7afde3585fd2513e611227efd6481bd78d2e82ba1ce16557ed4" 1669 1821 dependencies = [ 1670 1822 "thiserror-impl", 1671 1823 ] 1672 1824 1673 1825 [[package]] 1674 1826 name = "thiserror-impl" 1675 - version = "1.0.48" 1827 + version = "1.0.49" 1676 1828 source = "registry+https://github.com/rust-lang/crates.io-index" 1677 - checksum = "49922ecae66cc8a249b77e68d1d0623c1b2c514f0060c27cdc68bd62a1219d35" 1829 + checksum = "10712f02019e9288794769fba95cd6847df9874d49d871d062172f9dd41bc4cc" 1678 1830 dependencies = [ 1679 1831 "proc-macro2", 1680 1832 "quote", 1681 - "syn 2.0.37", 1833 + "syn 2.0.38", 1682 1834 ] 1683 1835 1684 1836 [[package]] 1685 1837 name = "time" 1686 - version = "0.3.28" 1838 + version = "0.3.30" 1687 1839 source = "registry+https://github.com/rust-lang/crates.io-index" 1688 - checksum = "17f6bb557fd245c28e6411aa56b6403c689ad95061f50e4be16c274e70a17e48" 1840 + checksum = "c4a34ab300f2dee6e562c10a046fc05e358b29f9bf92277f30c3c8d82275f6f5" 1689 1841 dependencies = [ 1690 1842 "deranged", 1843 + "itoa", 1844 + "libc", 1845 + "num_threads", 1846 + "powerfmt", 1691 1847 "serde", 1692 1848 "time-core", 1849 + "time-macros", 1693 1850 ] 1694 1851 1695 1852 [[package]] 1696 1853 name = "time-core" 1697 - version = "0.1.1" 1854 + version = "0.1.2" 1855 + source = "registry+https://github.com/rust-lang/crates.io-index" 1856 + checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" 1857 + 1858 + [[package]] 1859 + name = "time-macros" 1860 + version = "0.2.15" 1698 1861 source = "registry+https://github.com/rust-lang/crates.io-index" 1699 - checksum = "7300fbefb4dadc1af235a9cef3737cea692a9d97e1b9cbcd4ebdae6f8868e6fb" 1862 + checksum = "4ad70d68dba9e1f8aceda7aa6711965dfec1cac869f311a51bd08b3a2ccbce20" 1863 + dependencies = [ 1864 + "time-core", 1865 + ] 1700 1866 1701 1867 [[package]] 1702 1868 name = "tinyvec" ··· 1715 1881 1716 1882 [[package]] 1717 1883 name = "tokio" 1718 - version = "1.32.0" 1884 + version = "1.33.0" 1719 1885 source = "registry+https://github.com/rust-lang/crates.io-index" 1720 - checksum = "17ed6077ed6cd6c74735e21f37eb16dc3935f96878b1fe961074089cc80893f9" 1886 + checksum = "4f38200e3ef7995e5ef13baec2f432a6da0aa9ac495b2c0e8f3b7eec2c92d653" 1721 1887 dependencies = [ 1722 1888 "backtrace", 1723 1889 "bytes", ··· 1731 1897 1732 1898 [[package]] 1733 1899 name = "tracing" 1734 - version = "0.1.37" 1900 + version = "0.1.39" 1735 1901 source = "registry+https://github.com/rust-lang/crates.io-index" 1736 - checksum = "8ce8c33a8d48bd45d624a6e523445fd21ec13d3653cd51f681abf67418f54eb8" 1902 + checksum = "ee2ef2af84856a50c1d430afce2fdded0a4ec7eda868db86409b4543df0797f9" 1737 1903 dependencies = [ 1738 - "cfg-if", 1739 1904 "pin-project-lite", 1740 1905 "tracing-attributes", 1741 1906 "tracing-core", ··· 1743 1908 1744 1909 [[package]] 1745 1910 name = "tracing-attributes" 1746 - version = "0.1.26" 1911 + version = "0.1.27" 1747 1912 source = "registry+https://github.com/rust-lang/crates.io-index" 1748 - checksum = "5f4f31f56159e98206da9efd823404b79b6ef3143b4a7ab76e67b1751b25a4ab" 1913 + checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" 1749 1914 dependencies = [ 1750 1915 "proc-macro2", 1751 1916 "quote", 1752 - "syn 2.0.37", 1917 + "syn 2.0.38", 1753 1918 ] 1754 1919 1755 1920 [[package]] 1756 1921 name = "tracing-core" 1757 - version = "0.1.31" 1922 + version = "0.1.32" 1758 1923 source = "registry+https://github.com/rust-lang/crates.io-index" 1759 - checksum = "0955b8137a1df6f1a2e9a37d8a6656291ff0297c1a97c24e0d8425fe2312f79a" 1924 + checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54" 1760 1925 dependencies = [ 1761 1926 "once_cell", 1762 1927 ] 1763 1928 1764 1929 [[package]] 1765 1930 name = "trust-dns-proto" 1766 - version = "0.23.0" 1931 + version = "0.23.1" 1767 1932 source = "registry+https://github.com/rust-lang/crates.io-index" 1768 - checksum = "0dc775440033cb114085f6f2437682b194fa7546466024b1037e82a48a052a69" 1933 + checksum = "559ac980345f7f5020883dd3bcacf176355225e01916f8c2efecad7534f682c6" 1769 1934 dependencies = [ 1770 1935 "async-trait", 1771 1936 "cfg-if", ··· 1788 1953 1789 1954 [[package]] 1790 1955 name = "trust-dns-resolver" 1791 - version = "0.23.0" 1956 + version = "0.23.1" 1792 1957 source = "registry+https://github.com/rust-lang/crates.io-index" 1793 - checksum = "2dff7aed33ef3e8bf2c9966fccdfed93f93d46f432282ea875cd66faabc6ef2f" 1958 + checksum = "c723b0e608b24ad04c73b2607e0241b2c98fd79795a95e98b068b6966138a29d" 1794 1959 dependencies = [ 1795 1960 "cfg-if", 1796 1961 "futures-util", ··· 1851 2016 1852 2017 [[package]] 1853 2018 name = "unicode-width" 1854 - version = "0.1.10" 2019 + version = "0.1.11" 1855 2020 source = "registry+https://github.com/rust-lang/crates.io-index" 1856 - checksum = "c0edd1e5b14653f783770bce4a4dabb4a5108a5370a5f5d8cfe8710c361f6c8b" 2021 + checksum = "e51733f11c9c4f72aa0c160008246859e340b00807569a0da0e7a1079b27ba85" 1857 2022 1858 2023 [[package]] 1859 2024 name = "url" ··· 1911 2076 "once_cell", 1912 2077 "proc-macro2", 1913 2078 "quote", 1914 - "syn 2.0.37", 2079 + "syn 2.0.38", 1915 2080 "wasm-bindgen-shared", 1916 2081 ] 1917 2082 ··· 1933 2098 dependencies = [ 1934 2099 "proc-macro2", 1935 2100 "quote", 1936 - "syn 2.0.37", 2101 + "syn 2.0.38", 1937 2102 "wasm-bindgen-backend", 1938 2103 "wasm-bindgen-shared", 1939 2104 ] ··· 1967 2132 checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" 1968 2133 1969 2134 [[package]] 2135 + name = "winapi-util" 2136 + version = "0.1.6" 2137 + source = "registry+https://github.com/rust-lang/crates.io-index" 2138 + checksum = "f29e6f9198ba0d26b4c9f07dbe6f9ed633e1f3d5b8b414090084349e46a52596" 2139 + dependencies = [ 2140 + "winapi", 2141 + ] 2142 + 2143 + [[package]] 1970 2144 name = "winapi-x86_64-pc-windows-gnu" 1971 2145 version = "0.4.0" 1972 2146 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 2173 2347 2174 2348 [[package]] 2175 2349 name = "zstd-sys" 2176 - version = "2.0.8+zstd.1.5.5" 2350 + version = "2.0.9+zstd.1.5.5" 2177 2351 source = "registry+https://github.com/rust-lang/crates.io-index" 2178 - checksum = "5556e6ee25d32df2586c098bbfa278803692a20d0ab9565e049480d52707ec8c" 2352 + checksum = "9e16efa8a874a0481a574084d34cc26fdb3b99627480f785888deb6386506656" 2179 2353 dependencies = [ 2180 2354 "cc", 2181 - "libc", 2182 2355 "pkg-config", 2183 2356 ]
+2 -2
pkgs/tools/networking/bandwhich/default.nix
··· 2 2 3 3 rustPlatform.buildRustPackage rec { 4 4 pname = "bandwhich"; 5 - version = "0.21.0"; 5 + version = "0.21.1"; 6 6 7 7 src = fetchFromGitHub { 8 8 owner = "imsnif"; 9 9 repo = pname; 10 10 rev = "v${version}"; 11 - hash = "sha256-FquV+V5BTIX0HB6lLqPMUTvnPn7Y8/jhl93qvrSkYLY="; 11 + hash = "sha256-9+7ol2QSIXLkkRt/YlAobZHb3Tm+SmnjW/JufwimMTE="; 12 12 }; 13 13 14 14 cargoLock = {
+2 -2
pkgs/tools/networking/easyrsa/default.nix
··· 2 2 3 3 stdenv.mkDerivation rec { 4 4 pname = "easyrsa"; 5 - version = "3.1.6"; 5 + version = "3.1.7"; 6 6 7 7 src = fetchFromGitHub { 8 8 owner = "OpenVPN"; 9 9 repo = "easy-rsa"; 10 10 rev = "v${version}"; 11 - sha256 = "sha256-VbL2QXc4IaTe6u17nhByIk+SEsKLhl6sk85E5moGfjs="; 11 + sha256 = "sha256-zdVcT04nj7eE1a6M7WHeWpwG/TVTwyK+WgD70XwPXfY="; 12 12 }; 13 13 14 14 nativeBuildInputs = [ makeWrapper ];
+1 -1
pkgs/tools/networking/oui/default.nix
··· 17 17 description = "MAC Address CLI Toolkit"; 18 18 homepage = "https://github.com/thatmattlove/oui"; 19 19 license = with licenses; [ bsd3 ]; 20 - maintainers = [ maintainers.netali ]; 20 + maintainers = teams.wdz.members; 21 21 }; 22 22 }
+3 -3
pkgs/tools/networking/sockdump/default.nix
··· 2 2 3 3 python3.pkgs.buildPythonApplication rec { 4 4 pname = "sockdump"; 5 - version = "unstable-2022-10-12"; 5 + version = "unstable-2023-09-16"; 6 6 7 7 src = fetchFromGitHub { 8 8 owner = "mechpen"; 9 9 repo = pname; 10 - rev = "005dcb056238c2e37ff378aef27c953208ffa08f"; 11 - hash = "sha256-X8PIUDxlcdPoD7+aLDWzlWV++P3mmu52BwY7irhypww="; 10 + rev = "713759e383366feae76863881e851a6411c73b68"; 11 + hash = "sha256-q6jdwFhl2G9o2C0BVU6Xz7xizO00yaSQ2KSR/z4fixY="; 12 12 }; 13 13 14 14 propagatedBuildInputs = [ bcc ];
+423 -271
pkgs/tools/networking/veilid/Cargo.lock
··· 64 64 65 65 [[package]] 66 66 name = "aho-corasick" 67 - version = "1.0.5" 67 + version = "1.1.2" 68 68 source = "registry+https://github.com/rust-lang/crates.io-index" 69 - checksum = "0c378d78423fdad8089616f827526ee33c19f2fddbd5de1629152c9593ba4783" 69 + checksum = "b2969dcb958b36655471fc61f7e416fa76033bdd4bfed0678d8fee1e2d07a1f0" 70 70 dependencies = [ 71 71 "memchr", 72 72 ] 73 73 74 74 [[package]] 75 75 name = "allo-isolate" 76 - version = "0.1.19" 76 + version = "0.1.20" 77 77 source = "registry+https://github.com/rust-lang/crates.io-index" 78 - checksum = "c258c1a017ecaccfb34c8fa46ecbb2f5402584e31082c12b5caf0be82ac5ac44" 78 + checksum = "f56b7997817c178b853573e8bdfb6c3afe02810b43f17d766d6703560074b0c3" 79 79 dependencies = [ 80 80 "atomic", 81 81 ] ··· 158 158 159 159 [[package]] 160 160 name = "anstream" 161 - version = "0.5.0" 161 + version = "0.6.4" 162 162 source = "registry+https://github.com/rust-lang/crates.io-index" 163 - checksum = "b1f58811cfac344940f1a400b6e6231ce35171f614f26439e80f8c1465c5cc0c" 163 + checksum = "2ab91ebe16eb252986481c5b62f6098f3b698a45e34b5b98200cf20dd2484a44" 164 164 dependencies = [ 165 165 "anstyle", 166 166 "anstyle-parse", ··· 172 172 173 173 [[package]] 174 174 name = "anstyle" 175 - version = "1.0.3" 175 + version = "1.0.4" 176 176 source = "registry+https://github.com/rust-lang/crates.io-index" 177 - checksum = "b84bf0a05bbb2a83e5eb6fa36bb6e87baa08193c35ff52bbf6b38d8af2890e46" 177 + checksum = "7079075b41f533b8c61d2a4d073c4676e1f8b249ff94a393b0595db304e0dd87" 178 178 179 179 [[package]] 180 180 name = "anstyle-parse" 181 - version = "0.2.1" 181 + version = "0.2.2" 182 182 source = "registry+https://github.com/rust-lang/crates.io-index" 183 - checksum = "938874ff5980b03a87c5524b3ae5b59cf99b1d6bc836848df7bc5ada9643c333" 183 + checksum = "317b9a89c1868f5ea6ff1d9539a69f45dffc21ce321ac1fd1160dfa48c8e2140" 184 184 dependencies = [ 185 185 "utf8parse", 186 186 ] ··· 196 196 197 197 [[package]] 198 198 name = "anstyle-wincon" 199 - version = "2.1.0" 199 + version = "3.0.1" 200 200 source = "registry+https://github.com/rust-lang/crates.io-index" 201 - checksum = "58f54d10c6dfa51283a066ceab3ec1ab78d13fae00aa49243a45e4571fb79dfd" 201 + checksum = "f0699d10d2f4d628a98ee7b57b289abbc98ff3bad977cb3152709d4bf2330628" 202 202 dependencies = [ 203 203 "anstyle", 204 204 "windows-sys 0.48.0", ··· 288 288 checksum = "81953c529336010edd6d8e358f886d9581267795c61b19475b71314bffa46d35" 289 289 dependencies = [ 290 290 "concurrent-queue", 291 - "event-listener", 291 + "event-listener 2.5.3", 292 292 "futures-core", 293 293 ] 294 294 295 295 [[package]] 296 296 name = "async-executor" 297 - version = "1.5.1" 297 + version = "1.5.4" 298 298 source = "registry+https://github.com/rust-lang/crates.io-index" 299 - checksum = "6fa3dc5f2a8564f07759c008b9109dc0d39de92a88d5588b8a5036d286383afb" 299 + checksum = "2c1da3ae8dabd9c00f453a329dfe1fb28da3c0a72e2478cdcd93171740c20499" 300 300 dependencies = [ 301 301 "async-lock", 302 302 "async-task", 303 303 "concurrent-queue", 304 - "fastrand", 304 + "fastrand 2.0.1", 305 305 "futures-lite", 306 306 "slab", 307 307 ] ··· 335 335 "log", 336 336 "parking", 337 337 "polling", 338 - "rustix 0.37.23", 338 + "rustix 0.37.25", 339 339 "slab", 340 340 "socket2 0.4.9", 341 341 "waker-fn", ··· 347 347 source = "registry+https://github.com/rust-lang/crates.io-index" 348 348 checksum = "287272293e9d8c41773cec55e365490fe034813a2f172f502d6ddcf75b2f582b" 349 349 dependencies = [ 350 - "event-listener", 350 + "event-listener 2.5.3", 351 351 ] 352 352 353 353 [[package]] 354 354 name = "async-process" 355 - version = "1.7.0" 355 + version = "1.8.1" 356 356 source = "registry+https://github.com/rust-lang/crates.io-index" 357 - checksum = "7a9d28b1d97e08915212e2e45310d47854eafa69600756fc735fb788f75199c9" 357 + checksum = "ea6438ba0a08d81529c69b36700fa2f95837bfe3e776ab39cde9c14d9149da88" 358 358 dependencies = [ 359 359 "async-io", 360 360 "async-lock", 361 - "autocfg", 361 + "async-signal", 362 362 "blocking", 363 363 "cfg-if 1.0.0", 364 - "event-listener", 364 + "event-listener 3.0.0", 365 365 "futures-lite", 366 - "rustix 0.37.23", 367 - "signal-hook", 366 + "rustix 0.38.19", 367 + "windows-sys 0.48.0", 368 + ] 369 + 370 + [[package]] 371 + name = "async-signal" 372 + version = "0.2.4" 373 + source = "registry+https://github.com/rust-lang/crates.io-index" 374 + checksum = "d2a5415b7abcdc9cd7d63d6badba5288b2ca017e3fbd4173b8f405449f1a2399" 375 + dependencies = [ 376 + "async-io", 377 + "async-lock", 378 + "atomic-waker", 379 + "cfg-if 1.0.0", 380 + "futures-core", 381 + "futures-io", 382 + "rustix 0.38.19", 383 + "signal-hook-registry", 384 + "slab", 368 385 "windows-sys 0.48.0", 369 386 ] 370 387 ··· 398 415 399 416 [[package]] 400 417 name = "async-std-resolver" 401 - version = "0.23.0" 418 + version = "0.23.1" 402 419 source = "registry+https://github.com/rust-lang/crates.io-index" 403 - checksum = "0354a68a52265a3bde76005ddd2726624ef8624614f7f58871301de205a58a59" 420 + checksum = "63547755965f54b682ed0fcb3fa467905fe071ef8feff2d59f24c7afc59661bc" 404 421 dependencies = [ 405 422 "async-std", 406 423 "async-trait", ··· 412 429 ] 413 430 414 431 [[package]] 432 + name = "async-stream" 433 + version = "0.3.5" 434 + source = "registry+https://github.com/rust-lang/crates.io-index" 435 + checksum = "cd56dd203fef61ac097dd65721a419ddccb106b2d2b70ba60a6b529f03961a51" 436 + dependencies = [ 437 + "async-stream-impl", 438 + "futures-core", 439 + "pin-project-lite", 440 + ] 441 + 442 + [[package]] 443 + name = "async-stream-impl" 444 + version = "0.3.5" 445 + source = "registry+https://github.com/rust-lang/crates.io-index" 446 + checksum = "16e62a023e7c117e27523144c5d2459f4397fcc3cab0085af8e2224f643a0193" 447 + dependencies = [ 448 + "proc-macro2", 449 + "quote", 450 + "syn 2.0.38", 451 + ] 452 + 453 + [[package]] 415 454 name = "async-task" 416 - version = "4.4.0" 455 + version = "4.4.1" 417 456 source = "registry+https://github.com/rust-lang/crates.io-index" 418 - checksum = "ecc7ab41815b3c653ccd2978ec3255c81349336702dfdf62ee6f7069b12a3aae" 457 + checksum = "b9441c6b2fe128a7c2bf680a44c34d0df31ce09e5b7e401fcca3faa483dbc921" 419 458 420 459 [[package]] 421 460 name = "async-tls" ··· 433 472 434 473 [[package]] 435 474 name = "async-trait" 436 - version = "0.1.73" 475 + version = "0.1.74" 437 476 source = "registry+https://github.com/rust-lang/crates.io-index" 438 - checksum = "bc00ceb34980c03614e35a3a4e218276a0a824e911d07651cd0d858a51e8c0f0" 477 + checksum = "a66537f1bb974b254c98ed142ff995236e81b9d0fe4db0575f46612cb15eb0f9" 439 478 dependencies = [ 440 479 "proc-macro2", 441 480 "quote", 442 - "syn 2.0.36", 481 + "syn 2.0.38", 443 482 ] 444 483 445 484 [[package]] ··· 493 532 494 533 [[package]] 495 534 name = "atomic-waker" 496 - version = "1.1.1" 535 + version = "1.1.2" 497 536 source = "registry+https://github.com/rust-lang/crates.io-index" 498 - checksum = "1181e1e0d1fce796a03db1ae795d67167da795f9cf4a39c37589e85ef57f26d3" 537 + checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" 499 538 500 539 [[package]] 501 540 name = "attohttpc" 502 - version = "0.16.3" 541 + version = "0.24.1" 503 542 source = "registry+https://github.com/rust-lang/crates.io-index" 504 - checksum = "fdb8867f378f33f78a811a8eb9bf108ad99430d7aad43315dd9319c827ef6247" 543 + checksum = "8d9a9bf8b79a749ee0b911b91b671cc2b6c670bdbc7e3dfd537576ddc94bb2a2" 505 544 dependencies = [ 506 545 "http", 507 546 "log", 508 547 "url", 509 - "wildmatch", 510 548 ] 511 549 512 550 [[package]] ··· 650 688 651 689 [[package]] 652 690 name = "blake3" 653 - version = "1.4.1" 691 + version = "1.5.0" 654 692 source = "registry+https://github.com/rust-lang/crates.io-index" 655 - checksum = "199c42ab6972d92c9f8995f086273d25c42fc0f7b2a1fcefba465c1352d25ba5" 693 + checksum = "0231f06152bf547e9c2b5194f247cd97aacf6dcd8b15d8e5ec0663f64580da87" 656 694 dependencies = [ 657 695 "arrayref", 658 696 "arrayvec", 659 697 "cc", 660 698 "cfg-if 1.0.0", 661 699 "constant_time_eq", 662 - "digest 0.10.7", 663 700 ] 664 701 665 702 [[package]] ··· 670 707 dependencies = [ 671 708 "proc-macro2", 672 709 "quote", 673 - "syn 2.0.36", 710 + "syn 2.0.38", 674 711 ] 675 712 676 713 [[package]] ··· 715 752 716 753 [[package]] 717 754 name = "blocking" 718 - version = "1.3.1" 755 + version = "1.4.1" 719 756 source = "registry+https://github.com/rust-lang/crates.io-index" 720 - checksum = "77231a1c8f801696fc0123ec6150ce92cffb8e164a02afb9c8ddee0e9b65ad65" 757 + checksum = "8c36a4d0d48574b3dd360b4b7d95cc651d2b6557b6402848a27d4b228a473e2a" 721 758 dependencies = [ 722 759 "async-channel", 723 760 "async-lock", 724 761 "async-task", 725 - "atomic-waker", 726 - "fastrand", 762 + "fastrand 2.0.1", 763 + "futures-io", 727 764 "futures-lite", 728 - "log", 765 + "piper", 766 + "tracing", 729 767 ] 730 768 731 769 [[package]] ··· 751 789 752 790 [[package]] 753 791 name = "byteorder" 754 - version = "1.4.3" 792 + version = "1.5.0" 755 793 source = "registry+https://github.com/rust-lang/crates.io-index" 756 - checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610" 794 + checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" 757 795 758 796 [[package]] 759 797 name = "bytes" ··· 901 939 902 940 [[package]] 903 941 name = "clap" 904 - version = "4.4.3" 942 + version = "4.4.6" 905 943 source = "registry+https://github.com/rust-lang/crates.io-index" 906 - checksum = "84ed82781cea27b43c9b106a979fe450a13a31aab0500595fb3fc06616de08e6" 944 + checksum = "d04704f56c2cde07f43e8e2c154b43f216dc5c92fc98ada720177362f953b956" 907 945 dependencies = [ 908 946 "clap_builder", 909 947 "clap_derive", ··· 911 949 912 950 [[package]] 913 951 name = "clap_builder" 914 - version = "4.4.2" 952 + version = "4.4.6" 915 953 source = "registry+https://github.com/rust-lang/crates.io-index" 916 - checksum = "2bb9faaa7c2ef94b2743a21f5a29e6f0010dff4caa69ac8e9d6cf8b6fa74da08" 954 + checksum = "0e231faeaca65ebd1ea3c737966bf858971cd38c3849107aa3ea7de90a804e45" 917 955 dependencies = [ 918 956 "anstream", 919 957 "anstyle", ··· 931 969 "heck", 932 970 "proc-macro2", 933 971 "quote", 934 - "syn 2.0.36", 972 + "syn 2.0.38", 935 973 ] 936 974 937 975 [[package]] ··· 997 1035 998 1036 [[package]] 999 1037 name = "concurrent-queue" 1000 - version = "2.2.0" 1038 + version = "2.3.0" 1001 1039 source = "registry+https://github.com/rust-lang/crates.io-index" 1002 - checksum = "62ec6771ecfa0762d24683ee5a32ad78487a3d3afdc0fb8cae19d2c5deb50b7c" 1040 + checksum = "f057a694a54f12365049b0958a1685bb52d567f5593b355fbf685838e873d400" 1003 1041 dependencies = [ 1004 1042 "crossbeam-utils", 1005 1043 ] ··· 1025 1063 1026 1064 [[package]] 1027 1065 name = "console-api" 1028 - version = "0.5.0" 1066 + version = "0.6.0" 1029 1067 source = "registry+https://github.com/rust-lang/crates.io-index" 1030 - checksum = "c2895653b4d9f1538a83970077cb01dfc77a4810524e51a110944688e916b18e" 1068 + checksum = "fd326812b3fd01da5bb1af7d340d0d555fd3d4b641e7f1dfcf5962a902952787" 1031 1069 dependencies = [ 1032 - "prost", 1070 + "futures-core", 1071 + "prost 0.12.1", 1033 1072 "prost-types", 1034 - "tonic", 1073 + "tonic 0.10.2", 1035 1074 "tracing-core", 1036 1075 ] 1037 1076 1038 1077 [[package]] 1039 1078 name = "console-subscriber" 1040 - version = "0.1.10" 1079 + version = "0.2.0" 1041 1080 source = "registry+https://github.com/rust-lang/crates.io-index" 1042 - checksum = "d4cf42660ac07fcebed809cfe561dd8730bcd35b075215e6479c516bcd0d11cb" 1081 + checksum = "7481d4c57092cd1c19dd541b92bdce883de840df30aa5d03fd48a3935c01842e" 1043 1082 dependencies = [ 1044 1083 "console-api", 1045 1084 "crossbeam-channel", 1046 1085 "crossbeam-utils", 1047 - "futures", 1086 + "futures-task", 1048 1087 "hdrhistogram", 1049 1088 "humantime", 1050 1089 "prost-types", ··· 1053 1092 "thread_local", 1054 1093 "tokio", 1055 1094 "tokio-stream", 1056 - "tonic", 1095 + "tonic 0.10.2", 1057 1096 "tracing", 1058 1097 "tracing-core", 1059 1098 "tracing-subscriber", ··· 1308 1347 1309 1348 [[package]] 1310 1349 name = "curve25519-dalek" 1311 - version = "4.1.0" 1350 + version = "4.1.1" 1312 1351 source = "registry+https://github.com/rust-lang/crates.io-index" 1313 - checksum = "622178105f911d937a42cdb140730ba4a3ed2becd8ae6ce39c7d28b5d75d4588" 1352 + checksum = "e89b8c6a2e4b1f45971ad09761aafb85514a84744b67a95e32c3cc1352d1f65c" 1314 1353 dependencies = [ 1315 1354 "cfg-if 1.0.0", 1316 1355 "cpufeatures", ··· 1331 1370 dependencies = [ 1332 1371 "proc-macro2", 1333 1372 "quote", 1334 - "syn 2.0.36", 1373 + "syn 2.0.38", 1335 1374 ] 1336 1375 1337 1376 [[package]] ··· 1387 1426 "ident_case", 1388 1427 "proc-macro2", 1389 1428 "quote", 1390 - "syn 2.0.36", 1429 + "syn 2.0.38", 1391 1430 ] 1392 1431 1393 1432 [[package]] ··· 1409 1448 dependencies = [ 1410 1449 "darling_core 0.20.3", 1411 1450 "quote", 1412 - "syn 2.0.36", 1451 + "syn 2.0.38", 1413 1452 ] 1414 1453 1415 1454 [[package]] ··· 1419 1458 checksum = "978747c1d849a7d2ee5e8adc0159961c48fb7e5db2f06af6723b80123bb53856" 1420 1459 dependencies = [ 1421 1460 "cfg-if 1.0.0", 1422 - "hashbrown 0.14.0", 1461 + "hashbrown 0.14.1", 1423 1462 "lock_api", 1424 1463 "once_cell", 1425 1464 "parking_lot_core 0.9.8", ··· 1443 1482 1444 1483 [[package]] 1445 1484 name = "deranged" 1446 - version = "0.3.8" 1485 + version = "0.3.9" 1447 1486 source = "registry+https://github.com/rust-lang/crates.io-index" 1448 - checksum = "f2696e8a945f658fd14dc3b87242e6b80cd0f36ff04ea560fa39082368847946" 1487 + checksum = "0f32d04922c60427da6f9fef14d042d9edddef64cb9d4ce0d64d0685fbeb1fd3" 1488 + dependencies = [ 1489 + "powerfmt", 1490 + ] 1449 1491 1450 1492 [[package]] 1451 1493 name = "derivative" ··· 1507 1549 1508 1550 [[package]] 1509 1551 name = "dyn-clone" 1510 - version = "1.0.13" 1552 + version = "1.0.14" 1511 1553 source = "registry+https://github.com/rust-lang/crates.io-index" 1512 - checksum = "bbfc4744c1b8f2a09adc0e55242f60b1af195d88596bd8700be74418c056c555" 1554 + checksum = "23d2f3407d9a573d666de4b5bdf10569d73ca9478087346697dcbae6244bfbcd" 1513 1555 1514 1556 [[package]] 1515 1557 name = "ed25519" ··· 1531 1573 "ed25519", 1532 1574 "rand_core", 1533 1575 "serde", 1534 - "sha2 0.10.7", 1576 + "sha2 0.10.8", 1535 1577 "signature", 1536 1578 "zeroize", 1537 1579 ] ··· 1557 1599 "heck", 1558 1600 "proc-macro2", 1559 1601 "quote", 1560 - "syn 2.0.36", 1602 + "syn 2.0.38", 1561 1603 ] 1562 1604 1563 1605 [[package]] ··· 1577 1619 dependencies = [ 1578 1620 "proc-macro2", 1579 1621 "quote", 1580 - "syn 2.0.36", 1622 + "syn 2.0.38", 1581 1623 ] 1582 1624 1583 1625 [[package]] ··· 1603 1645 1604 1646 [[package]] 1605 1647 name = "enumset" 1606 - version = "1.1.2" 1648 + version = "1.1.3" 1607 1649 source = "registry+https://github.com/rust-lang/crates.io-index" 1608 - checksum = "e875f1719c16de097dee81ed675e2d9bb63096823ed3f0ca827b7dea3028bbbb" 1650 + checksum = "226c0da7462c13fb57e5cc9e0dc8f0635e7d27f276a3a7fd30054647f669007d" 1609 1651 dependencies = [ 1610 1652 "enumset_derive", 1611 1653 "serde", ··· 1620 1662 "darling 0.20.3", 1621 1663 "proc-macro2", 1622 1664 "quote", 1623 - "syn 2.0.36", 1665 + "syn 2.0.38", 1624 1666 ] 1625 1667 1626 1668 [[package]] ··· 1654 1696 1655 1697 [[package]] 1656 1698 name = "errno" 1657 - version = "0.3.3" 1699 + version = "0.3.5" 1658 1700 source = "registry+https://github.com/rust-lang/crates.io-index" 1659 - checksum = "136526188508e25c6fef639d7927dfb3e0e3084488bf202267829cf7fc23dbdd" 1701 + checksum = "ac3e13f66a2f95e32a39eaa81f6b95d42878ca0e1db0c7543723dfe12557e860" 1660 1702 dependencies = [ 1661 - "errno-dragonfly", 1662 1703 "libc", 1663 1704 "windows-sys 0.48.0", 1664 1705 ] 1665 1706 1666 1707 [[package]] 1667 - name = "errno-dragonfly" 1668 - version = "0.1.2" 1669 - source = "registry+https://github.com/rust-lang/crates.io-index" 1670 - checksum = "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf" 1671 - dependencies = [ 1672 - "cc", 1673 - "libc", 1674 - ] 1675 - 1676 - [[package]] 1677 1708 name = "error-code" 1678 1709 version = "2.3.1" 1679 1710 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 1690 1721 checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0" 1691 1722 1692 1723 [[package]] 1724 + name = "event-listener" 1725 + version = "3.0.0" 1726 + source = "registry+https://github.com/rust-lang/crates.io-index" 1727 + checksum = "29e56284f00d94c1bc7fd3c77027b4623c88c1f53d8d2394c6199f2921dea325" 1728 + dependencies = [ 1729 + "concurrent-queue", 1730 + "parking", 1731 + "pin-project-lite", 1732 + ] 1733 + 1734 + [[package]] 1693 1735 name = "eyre" 1694 1736 version = "0.6.8" 1695 1737 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 1721 1763 ] 1722 1764 1723 1765 [[package]] 1766 + name = "fastrand" 1767 + version = "2.0.1" 1768 + source = "registry+https://github.com/rust-lang/crates.io-index" 1769 + checksum = "25cbce373ec4653f1a01a31e8a5e5ec0c622dc27ff9c4e6606eefef5cbbed4a5" 1770 + 1771 + [[package]] 1724 1772 name = "fdeflate" 1725 1773 version = "0.3.0" 1726 1774 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 1747 1795 1748 1796 [[package]] 1749 1797 name = "flate2" 1750 - version = "1.0.27" 1798 + version = "1.0.28" 1751 1799 source = "registry+https://github.com/rust-lang/crates.io-index" 1752 - checksum = "c6c98ee8095e9d1dcbf2fcc6d95acccb90d1c81db1e44725c6a984b1dbdfb010" 1800 + checksum = "46303f565772937ffe1d394a4fac6f411c6013172fadde9dcdb1e147a086940e" 1753 1801 dependencies = [ 1754 1802 "crc32fast", 1755 1803 "miniz_oxide", ··· 1827 1875 source = "registry+https://github.com/rust-lang/crates.io-index" 1828 1876 checksum = "2eeb4ed9e12f43b7fa0baae3f9cdda28352770132ef2e09a23760c29cae8bd47" 1829 1877 dependencies = [ 1830 - "rustix 0.38.13", 1878 + "rustix 0.38.19", 1831 1879 "windows-sys 0.48.0", 1832 1880 ] 1833 1881 ··· 1885 1933 source = "registry+https://github.com/rust-lang/crates.io-index" 1886 1934 checksum = "49a9d51ce47660b1e808d3c990b4709f2f415d928835a17dfd16991515c46bce" 1887 1935 dependencies = [ 1888 - "fastrand", 1936 + "fastrand 1.9.0", 1889 1937 "futures-core", 1890 1938 "futures-io", 1891 1939 "memchr", ··· 1902 1950 dependencies = [ 1903 1951 "proc-macro2", 1904 1952 "quote", 1905 - "syn 2.0.36", 1953 + "syn 2.0.38", 1906 1954 ] 1907 1955 1908 1956 [[package]] ··· 2128 2176 2129 2177 [[package]] 2130 2178 name = "hashbrown" 2131 - version = "0.14.0" 2179 + version = "0.14.1" 2132 2180 source = "registry+https://github.com/rust-lang/crates.io-index" 2133 - checksum = "2c6201b9ff9fd90a5a3bac2e56a830d0caa509576f0e503818ee82c181b3437a" 2181 + checksum = "7dfda62a12f55daeae5015f81b0baea145391cb4520f86c248fc615d72640d12" 2134 2182 dependencies = [ 2135 2183 "ahash 0.8.3", 2136 2184 "allocator-api2", ··· 2142 2190 source = "registry+https://github.com/rust-lang/crates.io-index" 2143 2191 checksum = "e8094feaf31ff591f651a2664fb9cfd92bba7a60ce3197265e9482ebe753c8f7" 2144 2192 dependencies = [ 2145 - "hashbrown 0.14.0", 2193 + "hashbrown 0.14.1", 2146 2194 ] 2147 2195 2148 2196 [[package]] ··· 2187 2235 2188 2236 [[package]] 2189 2237 name = "hermit-abi" 2190 - version = "0.3.2" 2238 + version = "0.3.3" 2191 2239 source = "registry+https://github.com/rust-lang/crates.io-index" 2192 - checksum = "443144c8cdadd93ebf52ddb4056d257f5b52c04d3c804e657d19eb73fc33668b" 2240 + checksum = "d77f7ec81a6d05a3abb01ab6eb7590f6083d08449fe5a1c8b1e620283546ccb7" 2193 2241 2194 2242 [[package]] 2195 2243 name = "hex" ··· 2401 2449 2402 2450 [[package]] 2403 2451 name = "indexmap" 2404 - version = "2.0.0" 2452 + version = "2.0.2" 2405 2453 source = "registry+https://github.com/rust-lang/crates.io-index" 2406 - checksum = "d5477fe2230a79769d8dc68e0eabf5437907c0457a5614a9e8dddb67f65eb65d" 2454 + checksum = "8adf3ddd720272c6ea8bf59463c04e0f93d0bbf7c5439b691bca2987e0270897" 2407 2455 dependencies = [ 2408 2456 "equivalent", 2409 - "hashbrown 0.14.0", 2457 + "hashbrown 0.14.1", 2410 2458 ] 2411 2459 2412 2460 [[package]] ··· 2433 2481 source = "registry+https://github.com/rust-lang/crates.io-index" 2434 2482 checksum = "eae7b9aee968036d54dce06cebaefd919e4472e753296daccd6d344e3e2df0c2" 2435 2483 dependencies = [ 2436 - "hermit-abi 0.3.2", 2484 + "hermit-abi 0.3.3", 2437 2485 "libc", 2438 2486 "windows-sys 0.48.0", 2439 2487 ] ··· 2466 2514 ] 2467 2515 2468 2516 [[package]] 2517 + name = "itertools" 2518 + version = "0.11.0" 2519 + source = "registry+https://github.com/rust-lang/crates.io-index" 2520 + checksum = "b1c173a5686ce8bfa551b3563d0c2170bf24ca44da99c7ca4bfdab5418c3fe57" 2521 + dependencies = [ 2522 + "either", 2523 + ] 2524 + 2525 + [[package]] 2469 2526 name = "itoa" 2470 2527 version = "1.0.9" 2471 2528 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 2553 2610 2554 2611 [[package]] 2555 2612 name = "keyvaluedb" 2556 - version = "0.1.0" 2613 + version = "0.1.1" 2557 2614 source = "registry+https://github.com/rust-lang/crates.io-index" 2558 - checksum = "8833bc9e937f44bac0e8d129b3ccda60dee6ca5fa2757d7e05a5e04503df02fb" 2615 + checksum = "9bdcaabe14fa83eaae1fb92480f619c5a8b413580723153da0334848eb2dff24" 2559 2616 dependencies = [ 2560 2617 "smallvec", 2561 2618 ] 2562 2619 2563 2620 [[package]] 2564 2621 name = "keyvaluedb-memorydb" 2565 - version = "0.1.0" 2622 + version = "0.1.1" 2566 2623 source = "registry+https://github.com/rust-lang/crates.io-index" 2567 - checksum = "14fdc324ae658318df46f62e64159c5662b94bcc99f9b6403d47d20ca7768b21" 2624 + checksum = "62802173041ed97845bc20f8cf6817e445fe537ed879ddf43fb96166829ec8ff" 2568 2625 dependencies = [ 2569 2626 "keyvaluedb", 2570 2627 "parking_lot 0.12.1", ··· 2572 2629 2573 2630 [[package]] 2574 2631 name = "keyvaluedb-sqlite" 2575 - version = "0.1.0" 2632 + version = "0.1.1" 2576 2633 source = "registry+https://github.com/rust-lang/crates.io-index" 2577 - checksum = "e6bad95a1ad34c10ad4823fae1cb655be7fec022de642c95fbfafad360ba2f54" 2634 + checksum = "144f474a27a7dadc5c179c08ef9a4662acaca8047f4e5c30d5b77582243c7538" 2578 2635 dependencies = [ 2579 2636 "hex", 2580 2637 "keyvaluedb", ··· 2585 2642 2586 2643 [[package]] 2587 2644 name = "keyvaluedb-web" 2588 - version = "0.1.0" 2645 + version = "0.1.1" 2589 2646 source = "registry+https://github.com/rust-lang/crates.io-index" 2590 - checksum = "26cc6bb420f98cdd63a72c95eaa06947cdbd04e60a8d296b87f466196bacf068" 2647 + checksum = "d93d243dfa1643389f8b981ddc07b2a7c533f0fae38b3f5831b004b2cc7f6353" 2591 2648 dependencies = [ 2592 2649 "async-lock", 2593 2650 "flume", ··· 2625 2682 2626 2683 [[package]] 2627 2684 name = "libc" 2628 - version = "0.2.148" 2685 + version = "0.2.149" 2629 2686 source = "registry+https://github.com/rust-lang/crates.io-index" 2630 - checksum = "9cdc71e17332e86d2e1d38c1f99edcb6288ee11b815fb1a4b049eaa2114d369b" 2687 + checksum = "a08173bc88b7955d1b3145aa561539096c421ac8debde8cbc3612ec635fee29b" 2631 2688 2632 2689 [[package]] 2633 2690 name = "libloading" ··· 2676 2733 2677 2734 [[package]] 2678 2735 name = "linux-raw-sys" 2679 - version = "0.4.7" 2736 + version = "0.4.10" 2680 2737 source = "registry+https://github.com/rust-lang/crates.io-index" 2681 - checksum = "1a9bad9f94746442c783ca431b22403b519cd7fbeed0533fdd6328b2f2212128" 2738 + checksum = "da2479e8c062e40bf0066ffa0bc823de0a9368974af99c9f6df941d2c231e03f" 2682 2739 2683 2740 [[package]] 2684 2741 name = "lock_api" ··· 2740 2797 2741 2798 [[package]] 2742 2799 name = "matchit" 2743 - version = "0.7.2" 2800 + version = "0.7.3" 2744 2801 source = "registry+https://github.com/rust-lang/crates.io-index" 2745 - checksum = "ed1202b2a6f884ae56f04cff409ab315c5ce26b5e58d7412e484f01fd52f52ef" 2802 + checksum = "0e7465ac9959cc2b1404e8e2367b43684a6d13790fe23056cc8c6c5a6b7bcb94" 2746 2803 2747 2804 [[package]] 2748 2805 name = "memchr" 2749 - version = "2.6.3" 2806 + version = "2.6.4" 2750 2807 source = "registry+https://github.com/rust-lang/crates.io-index" 2751 - checksum = "8f232d6ef707e1956a43342693d2a31e72989554d58299d7a88738cc95b0d35c" 2808 + checksum = "f665ee40bc4a3c5590afb1e9677db74a508659dfd71e126420da8274909a0167" 2752 2809 2753 2810 [[package]] 2754 2811 name = "memoffset" ··· 3107 3164 3108 3165 [[package]] 3109 3166 name = "num-traits" 3110 - version = "0.2.16" 3167 + version = "0.2.17" 3111 3168 source = "registry+https://github.com/rust-lang/crates.io-index" 3112 - checksum = "f30b0abd723be7e2ffca1272140fac1a2f084c77ec3e123c192b66af1ee9e6c2" 3169 + checksum = "39e3200413f237f41ab11ad6d161bc7239c84dcb631773ccd7de3dfe4b5c267c" 3113 3170 dependencies = [ 3114 3171 "autocfg", 3115 3172 ] ··· 3120 3177 source = "registry+https://github.com/rust-lang/crates.io-index" 3121 3178 checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43" 3122 3179 dependencies = [ 3123 - "hermit-abi 0.3.2", 3180 + "hermit-abi 0.3.3", 3124 3181 "libc", 3125 3182 ] 3126 3183 ··· 3228 3285 "opentelemetry-semantic-conventions", 3229 3286 "opentelemetry_api", 3230 3287 "opentelemetry_sdk", 3231 - "prost", 3288 + "prost 0.11.9", 3232 3289 "protobuf", 3233 3290 "thiserror", 3234 3291 "tokio", 3235 - "tonic", 3292 + "tonic 0.9.2", 3236 3293 ] 3237 3294 3238 3295 [[package]] ··· 3245 3302 "grpcio", 3246 3303 "opentelemetry_api", 3247 3304 "opentelemetry_sdk", 3248 - "prost", 3305 + "prost 0.11.9", 3249 3306 "protobuf", 3250 - "tonic", 3307 + "tonic 0.9.2", 3251 3308 ] 3252 3309 3253 3310 [[package]] ··· 3307 3364 3308 3365 [[package]] 3309 3366 name = "ordered-float" 3310 - version = "3.9.1" 3367 + version = "3.9.2" 3311 3368 source = "registry+https://github.com/rust-lang/crates.io-index" 3312 - checksum = "2a54938017eacd63036332b4ae5c8a49fc8c0c1d6d629893057e4f13609edd06" 3369 + checksum = "f1e1c390732d15f1d48471625cd92d154e66db2c56645e29a9cd26f4699f72dc" 3313 3370 dependencies = [ 3314 3371 "num-traits", 3315 3372 ] ··· 3372 3429 3373 3430 [[package]] 3374 3431 name = "parking" 3375 - version = "2.1.0" 3432 + version = "2.1.1" 3376 3433 source = "registry+https://github.com/rust-lang/crates.io-index" 3377 - checksum = "14f2252c834a40ed9bb5422029649578e63aa341ac401f74e719dd1afda8394e" 3434 + checksum = "e52c774a4c39359c1d1c52e43f73dd91a75a614652c825408eec30c95a9b2067" 3378 3435 3379 3436 [[package]] 3380 3437 name = "parking_lot" ··· 3461 3518 3462 3519 [[package]] 3463 3520 name = "pest" 3464 - version = "2.7.3" 3521 + version = "2.7.4" 3465 3522 source = "registry+https://github.com/rust-lang/crates.io-index" 3466 - checksum = "d7a4d085fd991ac8d5b05a147b437791b4260b76326baf0fc60cf7c9c27ecd33" 3523 + checksum = "c022f1e7b65d6a24c0dbbd5fb344c66881bc01f3e5ae74a1c8100f2f985d98a4" 3467 3524 dependencies = [ 3468 3525 "memchr", 3469 3526 "thiserror", ··· 3472 3529 3473 3530 [[package]] 3474 3531 name = "pest_derive" 3475 - version = "2.7.3" 3532 + version = "2.7.4" 3476 3533 source = "registry+https://github.com/rust-lang/crates.io-index" 3477 - checksum = "a2bee7be22ce7918f641a33f08e3f43388c7656772244e2bbb2477f44cc9021a" 3534 + checksum = "35513f630d46400a977c4cb58f78e1bfbe01434316e60c37d27b9ad6139c66d8" 3478 3535 dependencies = [ 3479 3536 "pest", 3480 3537 "pest_generator", ··· 3482 3539 3483 3540 [[package]] 3484 3541 name = "pest_generator" 3485 - version = "2.7.3" 3542 + version = "2.7.4" 3486 3543 source = "registry+https://github.com/rust-lang/crates.io-index" 3487 - checksum = "d1511785c5e98d79a05e8a6bc34b4ac2168a0e3e92161862030ad84daa223141" 3544 + checksum = "bc9fc1b9e7057baba189b5c626e2d6f40681ae5b6eb064dc7c7834101ec8123a" 3488 3545 dependencies = [ 3489 3546 "pest", 3490 3547 "pest_meta", 3491 3548 "proc-macro2", 3492 3549 "quote", 3493 - "syn 2.0.36", 3550 + "syn 2.0.38", 3494 3551 ] 3495 3552 3496 3553 [[package]] 3497 3554 name = "pest_meta" 3498 - version = "2.7.3" 3555 + version = "2.7.4" 3499 3556 source = "registry+https://github.com/rust-lang/crates.io-index" 3500 - checksum = "b42f0394d3123e33353ca5e1e89092e533d2cc490389f2bd6131c43c634ebc5f" 3557 + checksum = "1df74e9e7ec4053ceb980e7c0c8bd3594e977fde1af91daba9c928e8e8c6708d" 3501 3558 dependencies = [ 3502 3559 "once_cell", 3503 3560 "pest", 3504 - "sha2 0.10.7", 3561 + "sha2 0.10.8", 3505 3562 ] 3506 3563 3507 3564 [[package]] ··· 3531 3588 dependencies = [ 3532 3589 "proc-macro2", 3533 3590 "quote", 3534 - "syn 2.0.36", 3591 + "syn 2.0.38", 3535 3592 ] 3536 3593 3537 3594 [[package]] ··· 3547 3604 checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" 3548 3605 3549 3606 [[package]] 3607 + name = "piper" 3608 + version = "0.2.1" 3609 + source = "registry+https://github.com/rust-lang/crates.io-index" 3610 + checksum = "668d31b1c4eba19242f2088b2bf3316b82ca31082a8335764db4e083db7485d4" 3611 + dependencies = [ 3612 + "atomic-waker", 3613 + "fastrand 2.0.1", 3614 + "futures-io", 3615 + ] 3616 + 3617 + [[package]] 3550 3618 name = "pkcs8" 3551 3619 version = "0.10.2" 3552 3620 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 3609 3677 ] 3610 3678 3611 3679 [[package]] 3680 + name = "powerfmt" 3681 + version = "0.2.0" 3682 + source = "registry+https://github.com/rust-lang/crates.io-index" 3683 + checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" 3684 + 3685 + [[package]] 3612 3686 name = "ppv-lite86" 3613 3687 version = "0.2.17" 3614 3688 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 3635 3709 3636 3710 [[package]] 3637 3711 name = "proc-macro2" 3638 - version = "1.0.67" 3712 + version = "1.0.69" 3639 3713 source = "registry+https://github.com/rust-lang/crates.io-index" 3640 - checksum = "3d433d9f1a3e8c1263d9456598b16fec66f4acc9a74dacffd35c7bb09b3a1328" 3714 + checksum = "134c189feb4956b20f6f547d2cf727d4c0fe06722b20a0eec87ed445a97f92da" 3641 3715 dependencies = [ 3642 3716 "unicode-ident", 3643 3717 ] ··· 3649 3723 checksum = "0b82eaa1d779e9a4bc1c3217db8ffbeabaae1dca241bf70183242128d48681cd" 3650 3724 dependencies = [ 3651 3725 "bytes", 3652 - "prost-derive", 3726 + "prost-derive 0.11.9", 3727 + ] 3728 + 3729 + [[package]] 3730 + name = "prost" 3731 + version = "0.12.1" 3732 + source = "registry+https://github.com/rust-lang/crates.io-index" 3733 + checksum = "f4fdd22f3b9c31b53c060df4a0613a1c7f062d4115a2b984dd15b1858f7e340d" 3734 + dependencies = [ 3735 + "bytes", 3736 + "prost-derive 0.12.1", 3653 3737 ] 3654 3738 3655 3739 [[package]] ··· 3659 3743 checksum = "e5d2d8d10f3c6ded6da8b05b5fb3b8a5082514344d56c9f871412d29b4e075b4" 3660 3744 dependencies = [ 3661 3745 "anyhow", 3662 - "itertools", 3746 + "itertools 0.10.5", 3663 3747 "proc-macro2", 3664 3748 "quote", 3665 3749 "syn 1.0.109", 3750 + ] 3751 + 3752 + [[package]] 3753 + name = "prost-derive" 3754 + version = "0.12.1" 3755 + source = "registry+https://github.com/rust-lang/crates.io-index" 3756 + checksum = "265baba7fabd416cf5078179f7d2cbeca4ce7a9041111900675ea7c4cb8a4c32" 3757 + dependencies = [ 3758 + "anyhow", 3759 + "itertools 0.11.0", 3760 + "proc-macro2", 3761 + "quote", 3762 + "syn 2.0.38", 3666 3763 ] 3667 3764 3668 3765 [[package]] 3669 3766 name = "prost-types" 3670 - version = "0.11.9" 3767 + version = "0.12.1" 3671 3768 source = "registry+https://github.com/rust-lang/crates.io-index" 3672 - checksum = "213622a1460818959ac1181aaeb2dc9c7f63df720db7d788b3e24eacd1983e13" 3769 + checksum = "e081b29f63d83a4bc75cfc9f3fe424f9156cf92d8a4f0c9407cce9a1b67327cf" 3673 3770 dependencies = [ 3674 - "prost", 3771 + "prost 0.12.1", 3675 3772 ] 3676 3773 3677 3774 [[package]] ··· 3732 3829 checksum = "cf36131a8443d1cda3cd66eeac16d60ce46aa7c415f71e12c28d95c195e3ff23" 3733 3830 dependencies = [ 3734 3831 "gen_ops", 3735 - "itertools", 3832 + "itertools 0.10.5", 3736 3833 "num-integer", 3737 3834 "num-traits", 3738 3835 ] ··· 3774 3871 3775 3872 [[package]] 3776 3873 name = "regex" 3777 - version = "1.9.5" 3874 + version = "1.10.1" 3778 3875 source = "registry+https://github.com/rust-lang/crates.io-index" 3779 - checksum = "697061221ea1b4a94a624f67d0ae2bfe4e22b8a17b6a192afb11046542cc8c47" 3876 + checksum = "aaac441002f822bc9705a681810a4dd2963094b9ca0ddc41cb963a4c189189ea" 3780 3877 dependencies = [ 3781 3878 "aho-corasick", 3782 3879 "memchr", 3783 - "regex-automata 0.3.8", 3784 - "regex-syntax 0.7.5", 3880 + "regex-automata 0.4.2", 3881 + "regex-syntax 0.8.2", 3785 3882 ] 3786 3883 3787 3884 [[package]] ··· 3795 3892 3796 3893 [[package]] 3797 3894 name = "regex-automata" 3798 - version = "0.3.8" 3895 + version = "0.4.2" 3799 3896 source = "registry+https://github.com/rust-lang/crates.io-index" 3800 - checksum = "c2f401f4955220693b56f8ec66ee9c78abffd8d1c4f23dc41a23839eb88f0795" 3897 + checksum = "5011c7e263a695dc8ca064cddb722af1be54e517a280b12a5356f98366899e5d" 3801 3898 dependencies = [ 3802 3899 "aho-corasick", 3803 3900 "memchr", 3804 - "regex-syntax 0.7.5", 3901 + "regex-syntax 0.8.2", 3805 3902 ] 3806 3903 3807 3904 [[package]] ··· 3812 3909 3813 3910 [[package]] 3814 3911 name = "regex-syntax" 3815 - version = "0.7.5" 3912 + version = "0.8.2" 3816 3913 source = "registry+https://github.com/rust-lang/crates.io-index" 3817 - checksum = "dbb5fb1acd8a1a18b3dd5be62d25485eb770e05afb408a9627d14d451bae12da" 3914 + checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f" 3818 3915 3819 3916 [[package]] 3820 3917 name = "resolv-conf" ··· 3836 3933 "libc", 3837 3934 "once_cell", 3838 3935 "spin 0.5.2", 3839 - "untrusted", 3936 + "untrusted 0.7.1", 3840 3937 "web-sys", 3841 3938 "winapi", 3939 + ] 3940 + 3941 + [[package]] 3942 + name = "ring" 3943 + version = "0.17.3" 3944 + source = "registry+https://github.com/rust-lang/crates.io-index" 3945 + checksum = "9babe80d5c16becf6594aa32ad2be8fe08498e7ae60b77de8df700e67f191d7e" 3946 + dependencies = [ 3947 + "cc", 3948 + "getrandom", 3949 + "libc", 3950 + "spin 0.9.8", 3951 + "untrusted 0.9.0", 3952 + "windows-sys 0.48.0", 3842 3953 ] 3843 3954 3844 3955 [[package]] ··· 3939 4050 3940 4051 [[package]] 3941 4052 name = "rustix" 3942 - version = "0.37.23" 4053 + version = "0.37.25" 3943 4054 source = "registry+https://github.com/rust-lang/crates.io-index" 3944 - checksum = "4d69718bf81c6127a49dc64e44a742e8bb9213c0ff8869a22c308f84c1d4ab06" 4055 + checksum = "d4eb579851244c2c03e7c24f501c3432bed80b8f720af1d6e5b0e0f01555a035" 3945 4056 dependencies = [ 3946 4057 "bitflags 1.3.2", 3947 4058 "errno", ··· 3953 4064 3954 4065 [[package]] 3955 4066 name = "rustix" 3956 - version = "0.38.13" 4067 + version = "0.38.19" 3957 4068 source = "registry+https://github.com/rust-lang/crates.io-index" 3958 - checksum = "d7db8590df6dfcd144d22afd1b83b36c21a18d7cbc1dc4bb5295a8712e9eb662" 4069 + checksum = "745ecfa778e66b2b63c88a61cb36e0eea109e803b0b86bf9879fbc77c70e86ed" 3959 4070 dependencies = [ 3960 4071 "bitflags 2.4.0", 3961 4072 "errno", 3962 4073 "libc", 3963 - "linux-raw-sys 0.4.7", 4074 + "linux-raw-sys 0.4.10", 3964 4075 "windows-sys 0.48.0", 3965 4076 ] 3966 4077 ··· 3971 4082 checksum = "1b80e3dec595989ea8510028f30c408a4630db12c9cbb8de34203b89d6577e99" 3972 4083 dependencies = [ 3973 4084 "log", 3974 - "ring", 4085 + "ring 0.16.20", 3975 4086 "sct", 3976 4087 "webpki", 3977 4088 ] ··· 4008 4119 4009 4120 [[package]] 4010 4121 name = "schemars" 4011 - version = "0.8.13" 4122 + version = "0.8.15" 4012 4123 source = "registry+https://github.com/rust-lang/crates.io-index" 4013 - checksum = "763f8cd0d4c71ed8389c90cb8100cba87e763bd01a8e614d4f0af97bcd50a161" 4124 + checksum = "1f7b0ce13155372a76ee2e1c5ffba1fe61ede73fbea5630d61eee6fac4929c0c" 4014 4125 dependencies = [ 4015 4126 "dyn-clone", 4016 4127 "schemars_derive", ··· 4020 4131 4021 4132 [[package]] 4022 4133 name = "schemars_derive" 4023 - version = "0.8.13" 4134 + version = "0.8.15" 4024 4135 source = "registry+https://github.com/rust-lang/crates.io-index" 4025 - checksum = "ec0f696e21e10fa546b7ffb1c9672c6de8fbc7a81acf59524386d8639bf12737" 4136 + checksum = "e85e2a16b12bdb763244c69ab79363d71db2b4b918a2def53f80b02e0574b13c" 4026 4137 dependencies = [ 4027 4138 "proc-macro2", 4028 4139 "quote", ··· 4048 4159 source = "registry+https://github.com/rust-lang/crates.io-index" 4049 4160 checksum = "d53dcdb7c9f8158937a7981b48accfd39a43af418591a5d008c7b22b5e1b7ca4" 4050 4161 dependencies = [ 4051 - "ring", 4052 - "untrusted", 4162 + "ring 0.16.20", 4163 + "untrusted 0.7.1", 4053 4164 ] 4054 4165 4055 4166 [[package]] ··· 4097 4208 4098 4209 [[package]] 4099 4210 name = "semver" 4100 - version = "1.0.18" 4211 + version = "1.0.20" 4101 4212 source = "registry+https://github.com/rust-lang/crates.io-index" 4102 - checksum = "b0293b4b29daaf487284529cc2f5675b8e57c61f70167ba415a463651fd6a918" 4213 + checksum = "836fa6a3e1e547f9a2c4040802ec865b5d85f4014efe00555d7090a3dcaa1090" 4103 4214 4104 4215 [[package]] 4105 4216 name = "send_wrapper" ··· 4118 4229 4119 4230 [[package]] 4120 4231 name = "serde" 4121 - version = "1.0.188" 4232 + version = "1.0.189" 4122 4233 source = "registry+https://github.com/rust-lang/crates.io-index" 4123 - checksum = "cf9e0fcba69a370eed61bcf2b728575f726b50b55cba78064753d708ddc7549e" 4234 + checksum = "8e422a44e74ad4001bdc8eede9a4570ab52f71190e9c076d14369f38b9200537" 4124 4235 dependencies = [ 4125 4236 "serde_derive", 4126 4237 ] ··· 4157 4268 ] 4158 4269 4159 4270 [[package]] 4271 + name = "serde_bytes" 4272 + version = "0.11.12" 4273 + source = "registry+https://github.com/rust-lang/crates.io-index" 4274 + checksum = "ab33ec92f677585af6d88c65593ae2375adde54efdbf16d597f2cbc7a6d368ff" 4275 + dependencies = [ 4276 + "serde", 4277 + ] 4278 + 4279 + [[package]] 4160 4280 name = "serde_cbor" 4161 4281 version = "0.11.2" 4162 4282 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 4168 4288 4169 4289 [[package]] 4170 4290 name = "serde_derive" 4171 - version = "1.0.188" 4291 + version = "1.0.189" 4172 4292 source = "registry+https://github.com/rust-lang/crates.io-index" 4173 - checksum = "4eca7ac642d82aa35b60049a6eccb4be6be75e599bd2e9adb5f875a737654af2" 4293 + checksum = "1e48d1f918009ce3145511378cf68d613e3b3d9137d67272562080d68a2b32d5" 4174 4294 dependencies = [ 4175 4295 "proc-macro2", 4176 4296 "quote", 4177 - "syn 2.0.36", 4297 + "syn 2.0.38", 4178 4298 ] 4179 4299 4180 4300 [[package]] ··· 4196 4316 dependencies = [ 4197 4317 "proc-macro2", 4198 4318 "quote", 4199 - "syn 2.0.36", 4319 + "syn 2.0.38", 4200 4320 ] 4201 4321 4202 4322 [[package]] ··· 4218 4338 dependencies = [ 4219 4339 "proc-macro2", 4220 4340 "quote", 4221 - "syn 2.0.36", 4341 + "syn 2.0.38", 4222 4342 ] 4223 4343 4224 4344 [[package]] ··· 4236 4356 source = "registry+https://github.com/rust-lang/crates.io-index" 4237 4357 checksum = "1a49e178e4452f45cb61d0cd8cebc1b0fafd3e41929e996cef79aa3aca91f574" 4238 4358 dependencies = [ 4239 - "indexmap 2.0.0", 4359 + "indexmap 2.0.2", 4240 4360 "itoa", 4241 4361 "ryu", 4242 4362 "serde", ··· 4265 4385 dependencies = [ 4266 4386 "proc-macro2", 4267 4387 "quote", 4268 - "syn 2.0.36", 4388 + "syn 2.0.38", 4269 4389 ] 4270 4390 4271 4391 [[package]] 4272 4392 name = "sha1" 4273 - version = "0.10.5" 4393 + version = "0.10.6" 4274 4394 source = "registry+https://github.com/rust-lang/crates.io-index" 4275 - checksum = "f04293dc80c3993519f2d7f6f511707ee7094fe0c6d3406feb330cdb3540eba3" 4395 + checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba" 4276 4396 dependencies = [ 4277 4397 "cfg-if 1.0.0", 4278 4398 "cpufeatures", ··· 4294 4414 4295 4415 [[package]] 4296 4416 name = "sha2" 4297 - version = "0.10.7" 4417 + version = "0.10.8" 4298 4418 source = "registry+https://github.com/rust-lang/crates.io-index" 4299 - checksum = "479fb9d862239e610720565ca91403019f2f00410f1864c5aa7479b950a76ed8" 4419 + checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8" 4300 4420 dependencies = [ 4301 4421 "cfg-if 1.0.0", 4302 4422 "cpufeatures", ··· 4305 4425 4306 4426 [[package]] 4307 4427 name = "sharded-slab" 4308 - version = "0.1.4" 4428 + version = "0.1.7" 4309 4429 source = "registry+https://github.com/rust-lang/crates.io-index" 4310 - checksum = "900fba806f70c630b0a382d0d825e17a0f19fcd059a2ade1ff237bcddf446b31" 4430 + checksum = "f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6" 4311 4431 dependencies = [ 4312 4432 "lazy_static", 4313 4433 ] ··· 4403 4523 4404 4524 [[package]] 4405 4525 name = "smallvec" 4406 - version = "1.11.0" 4526 + version = "1.11.1" 4407 4527 source = "registry+https://github.com/rust-lang/crates.io-index" 4408 - checksum = "62bb4feee49fdd9f707ef802e22365a35de4b7b299de4763d44bfea899442ff9" 4528 + checksum = "942b4a808e05215192e39f4ab80813e599068285906cc91aa64f923db842bd5a" 4409 4529 4410 4530 [[package]] 4411 4531 name = "snailquote" ··· 4523 4643 4524 4644 [[package]] 4525 4645 name = "syn" 4526 - version = "2.0.36" 4646 + version = "2.0.38" 4527 4647 source = "registry+https://github.com/rust-lang/crates.io-index" 4528 - checksum = "91e02e55d62894af2a08aca894c6577281f76769ba47c94d5756bec8ac6e7373" 4648 + checksum = "e96b79aaa137db8f61e26363a0c9b47d8b4ec75da28b7d1d614c2303e232408b" 4529 4649 dependencies = [ 4530 4650 "proc-macro2", 4531 4651 "quote", ··· 4563 4683 4564 4684 [[package]] 4565 4685 name = "terminal_size" 4566 - version = "0.2.6" 4686 + version = "0.3.0" 4567 4687 source = "registry+https://github.com/rust-lang/crates.io-index" 4568 - checksum = "8e6bf6f19e9f8ed8d4048dc22981458ebcf406d67e94cd422e5ecd73d63b3237" 4688 + checksum = "21bebf2b7c9e0a515f6e0f8c51dc0f8e4696391e6f1ff30379559f8365fb0df7" 4569 4689 dependencies = [ 4570 - "rustix 0.37.23", 4690 + "rustix 0.38.19", 4571 4691 "windows-sys 0.48.0", 4572 4692 ] 4573 4693 ··· 4582 4702 4583 4703 [[package]] 4584 4704 name = "thiserror" 4585 - version = "1.0.48" 4705 + version = "1.0.49" 4586 4706 source = "registry+https://github.com/rust-lang/crates.io-index" 4587 - checksum = "9d6d7a740b8a666a7e828dd00da9c0dc290dff53154ea77ac109281de90589b7" 4707 + checksum = "1177e8c6d7ede7afde3585fd2513e611227efd6481bd78d2e82ba1ce16557ed4" 4588 4708 dependencies = [ 4589 4709 "thiserror-impl", 4590 4710 ] 4591 4711 4592 4712 [[package]] 4593 4713 name = "thiserror-impl" 4594 - version = "1.0.48" 4714 + version = "1.0.49" 4595 4715 source = "registry+https://github.com/rust-lang/crates.io-index" 4596 - checksum = "49922ecae66cc8a249b77e68d1d0623c1b2c514f0060c27cdc68bd62a1219d35" 4716 + checksum = "10712f02019e9288794769fba95cd6847df9874d49d871d062172f9dd41bc4cc" 4597 4717 dependencies = [ 4598 4718 "proc-macro2", 4599 4719 "quote", 4600 - "syn 2.0.36", 4720 + "syn 2.0.38", 4601 4721 ] 4602 4722 4603 4723 [[package]] ··· 4623 4743 4624 4744 [[package]] 4625 4745 name = "time" 4626 - version = "0.3.28" 4746 + version = "0.3.30" 4627 4747 source = "registry+https://github.com/rust-lang/crates.io-index" 4628 - checksum = "17f6bb557fd245c28e6411aa56b6403c689ad95061f50e4be16c274e70a17e48" 4748 + checksum = "c4a34ab300f2dee6e562c10a046fc05e358b29f9bf92277f30c3c8d82275f6f5" 4629 4749 dependencies = [ 4630 4750 "deranged", 4631 4751 "itoa", 4632 4752 "libc", 4633 4753 "num_threads", 4754 + "powerfmt", 4634 4755 "serde", 4635 4756 "time-core", 4636 4757 "time-macros", ··· 4638 4759 4639 4760 [[package]] 4640 4761 name = "time-core" 4641 - version = "0.1.1" 4762 + version = "0.1.2" 4642 4763 source = "registry+https://github.com/rust-lang/crates.io-index" 4643 - checksum = "7300fbefb4dadc1af235a9cef3737cea692a9d97e1b9cbcd4ebdae6f8868e6fb" 4764 + checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" 4644 4765 4645 4766 [[package]] 4646 4767 name = "time-macros" 4647 - version = "0.2.14" 4768 + version = "0.2.15" 4648 4769 source = "registry+https://github.com/rust-lang/crates.io-index" 4649 - checksum = "1a942f44339478ef67935ab2bbaec2fb0322496cf3cbe84b261e06ac3814c572" 4770 + checksum = "4ad70d68dba9e1f8aceda7aa6711965dfec1cac869f311a51bd08b3a2ccbce20" 4650 4771 dependencies = [ 4651 4772 "time-core", 4652 4773 ] ··· 4668 4789 4669 4790 [[package]] 4670 4791 name = "tokio" 4671 - version = "1.32.0" 4792 + version = "1.33.0" 4672 4793 source = "registry+https://github.com/rust-lang/crates.io-index" 4673 - checksum = "17ed6077ed6cd6c74735e21f37eb16dc3935f96878b1fe961074089cc80893f9" 4794 + checksum = "4f38200e3ef7995e5ef13baec2f432a6da0aa9ac495b2c0e8f3b7eec2c92d653" 4674 4795 dependencies = [ 4675 4796 "backtrace", 4676 4797 "bytes", ··· 4704 4825 dependencies = [ 4705 4826 "proc-macro2", 4706 4827 "quote", 4707 - "syn 2.0.36", 4828 + "syn 2.0.38", 4708 4829 ] 4709 4830 4710 4831 [[package]] ··· 4720 4841 4721 4842 [[package]] 4722 4843 name = "tokio-util" 4723 - version = "0.7.8" 4844 + version = "0.7.9" 4724 4845 source = "registry+https://github.com/rust-lang/crates.io-index" 4725 - checksum = "806fe8c2c87eccc8b3267cbae29ed3ab2d0bd37fca70ab622e46aaa9375ddb7d" 4846 + checksum = "1d68074620f57a0b21594d9735eb2e98ab38b17f80d3fcb189fca266771ca60d" 4726 4847 dependencies = [ 4727 4848 "bytes", 4728 4849 "futures-core", ··· 4769 4890 source = "registry+https://github.com/rust-lang/crates.io-index" 4770 4891 checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421" 4771 4892 dependencies = [ 4772 - "indexmap 2.0.0", 4893 + "indexmap 2.0.2", 4773 4894 "serde", 4774 4895 "serde_spanned", 4775 4896 "toml_datetime", ··· 4795 4916 "hyper-timeout", 4796 4917 "percent-encoding", 4797 4918 "pin-project", 4798 - "prost", 4919 + "prost 0.11.9", 4920 + "tokio", 4921 + "tokio-stream", 4922 + "tower", 4923 + "tower-layer", 4924 + "tower-service", 4925 + "tracing", 4926 + ] 4927 + 4928 + [[package]] 4929 + name = "tonic" 4930 + version = "0.10.2" 4931 + source = "registry+https://github.com/rust-lang/crates.io-index" 4932 + checksum = "d560933a0de61cf715926b9cac824d4c883c2c43142f787595e48280c40a1d0e" 4933 + dependencies = [ 4934 + "async-stream", 4935 + "async-trait", 4936 + "axum", 4937 + "base64 0.21.4", 4938 + "bytes", 4939 + "h2", 4940 + "http", 4941 + "http-body", 4942 + "hyper", 4943 + "hyper-timeout", 4944 + "percent-encoding", 4945 + "pin-project", 4946 + "prost 0.12.1", 4799 4947 "tokio", 4800 4948 "tokio-stream", 4801 4949 "tower", ··· 4838 4986 4839 4987 [[package]] 4840 4988 name = "tracing" 4841 - version = "0.1.37" 4989 + version = "0.1.39" 4842 4990 source = "registry+https://github.com/rust-lang/crates.io-index" 4843 - checksum = "8ce8c33a8d48bd45d624a6e523445fd21ec13d3653cd51f681abf67418f54eb8" 4991 + checksum = "ee2ef2af84856a50c1d430afce2fdded0a4ec7eda868db86409b4543df0797f9" 4844 4992 dependencies = [ 4845 - "cfg-if 1.0.0", 4846 4993 "log", 4847 4994 "pin-project-lite", 4848 4995 "tracing-attributes", ··· 4862 5009 4863 5010 [[package]] 4864 5011 name = "tracing-attributes" 4865 - version = "0.1.26" 5012 + version = "0.1.27" 4866 5013 source = "registry+https://github.com/rust-lang/crates.io-index" 4867 - checksum = "5f4f31f56159e98206da9efd823404b79b6ef3143b4a7ab76e67b1751b25a4ab" 5014 + checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" 4868 5015 dependencies = [ 4869 5016 "proc-macro2", 4870 5017 "quote", 4871 - "syn 2.0.36", 5018 + "syn 2.0.38", 4872 5019 ] 4873 5020 4874 5021 [[package]] 4875 5022 name = "tracing-core" 4876 - version = "0.1.31" 5023 + version = "0.1.32" 4877 5024 source = "registry+https://github.com/rust-lang/crates.io-index" 4878 - checksum = "0955b8137a1df6f1a2e9a37d8a6656291ff0297c1a97c24e0d8425fe2312f79a" 5025 + checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54" 4879 5026 dependencies = [ 4880 5027 "once_cell", 4881 5028 "valuable", ··· 4986 5133 4987 5134 [[package]] 4988 5135 name = "trust-dns-proto" 4989 - version = "0.23.0" 5136 + version = "0.23.1" 4990 5137 source = "registry+https://github.com/rust-lang/crates.io-index" 4991 - checksum = "0dc775440033cb114085f6f2437682b194fa7546466024b1037e82a48a052a69" 5138 + checksum = "559ac980345f7f5020883dd3bcacf176355225e01916f8c2efecad7534f682c6" 4992 5139 dependencies = [ 4993 5140 "async-trait", 4994 5141 "cfg-if 1.0.0", ··· 5011 5158 5012 5159 [[package]] 5013 5160 name = "trust-dns-resolver" 5014 - version = "0.23.0" 5161 + version = "0.23.1" 5015 5162 source = "registry+https://github.com/rust-lang/crates.io-index" 5016 - checksum = "2dff7aed33ef3e8bf2c9966fccdfed93f93d46f432282ea875cd66faabc6ef2f" 5163 + checksum = "c723b0e608b24ad04c73b2607e0241b2c98fd79795a95e98b068b6966138a29d" 5017 5164 dependencies = [ 5018 5165 "cfg-if 1.0.0", 5019 5166 "futures-util", ··· 5059 5206 "proc-macro2", 5060 5207 "quote", 5061 5208 "serde_derive_internals 0.28.0", 5062 - "syn 2.0.36", 5209 + "syn 2.0.38", 5063 5210 ] 5064 5211 5065 5212 [[package]] 5066 5213 name = "tungstenite" 5067 - version = "0.20.0" 5214 + version = "0.20.1" 5068 5215 source = "registry+https://github.com/rust-lang/crates.io-index" 5069 - checksum = "e862a1c4128df0112ab625f55cd5c934bcb4312ba80b39ae4b4835a3fd58e649" 5216 + checksum = "9e3dac10fd62eaf6617d3a904ae222845979aec67c615d1c842b4002c7666fb9" 5070 5217 dependencies = [ 5071 5218 "byteorder", 5072 5219 "bytes", ··· 5122 5269 5123 5270 [[package]] 5124 5271 name = "unicode-width" 5125 - version = "0.1.10" 5272 + version = "0.1.11" 5126 5273 source = "registry+https://github.com/rust-lang/crates.io-index" 5127 - checksum = "c0edd1e5b14653f783770bce4a4dabb4a5108a5370a5f5d8cfe8710c361f6c8b" 5274 + checksum = "e51733f11c9c4f72aa0c160008246859e340b00807569a0da0e7a1079b27ba85" 5128 5275 5129 5276 [[package]] 5130 5277 name = "unicode_categories" ··· 5153 5300 version = "0.7.1" 5154 5301 source = "registry+https://github.com/rust-lang/crates.io-index" 5155 5302 checksum = "a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a" 5303 + 5304 + [[package]] 5305 + name = "untrusted" 5306 + version = "0.9.0" 5307 + source = "registry+https://github.com/rust-lang/crates.io-index" 5308 + checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" 5156 5309 5157 5310 [[package]] 5158 5311 name = "url" ··· 5215 5368 5216 5369 [[package]] 5217 5370 name = "veilid-cli" 5218 - version = "0.2.3" 5371 + version = "0.2.4" 5219 5372 dependencies = [ 5220 5373 "arboard", 5221 5374 "async-std", 5222 5375 "async-tungstenite", 5223 5376 "cfg-if 1.0.0", 5224 - "clap 4.4.3", 5377 + "chrono", 5378 + "clap 4.4.6", 5225 5379 "config", 5226 5380 "crossbeam-channel", 5227 5381 "cursive", ··· 5251 5405 5252 5406 [[package]] 5253 5407 name = "veilid-core" 5254 - version = "0.2.3" 5408 + version = "0.2.4" 5255 5409 dependencies = [ 5256 5410 "argon2", 5257 5411 "async-io", ··· 5281 5435 "flume", 5282 5436 "futures-util", 5283 5437 "getrandom", 5438 + "glob", 5284 5439 "hex", 5285 - "ifstructs", 5286 5440 "jni", 5287 5441 "jni-sys", 5288 5442 "js-sys", ··· 5297 5451 "lz4_flex", 5298 5452 "ndk", 5299 5453 "ndk-glue", 5300 - "netlink-packet-route", 5301 - "netlink-sys", 5302 5454 "nix 0.27.1", 5303 5455 "num-traits", 5304 5456 "once_cell", ··· 5307 5459 "parking_lot 0.12.1", 5308 5460 "paste", 5309 5461 "range-set-blaze", 5310 - "rtnetlink", 5311 - "rusqlite", 5312 5462 "rustls", 5313 5463 "rustls-pemfile", 5314 5464 "schemars", ··· 5316 5466 "serde", 5317 5467 "serde-big-array", 5318 5468 "serde-wasm-bindgen 0.6.0", 5469 + "serde_bytes", 5319 5470 "serde_json", 5320 5471 "serial_test", 5321 5472 "shell-words", ··· 5356 5507 5357 5508 [[package]] 5358 5509 name = "veilid-flutter" 5359 - version = "0.2.3" 5510 + version = "0.2.4" 5360 5511 dependencies = [ 5361 5512 "allo-isolate", 5362 5513 "async-std", ··· 5371 5522 "opentelemetry", 5372 5523 "opentelemetry-otlp", 5373 5524 "opentelemetry-semantic-conventions", 5525 + "paranoid-android", 5374 5526 "parking_lot 0.12.1", 5375 5527 "serde", 5376 5528 "serde_json", ··· 5389 5541 source = "registry+https://github.com/rust-lang/crates.io-index" 5390 5542 checksum = "6a3dabbda02cfe176635dcaa18a021416ff2eb4d0b47a913e3fdc7f62049d7b1" 5391 5543 dependencies = [ 5392 - "hashbrown 0.14.0", 5544 + "hashbrown 0.14.1", 5393 5545 "serde", 5394 5546 ] 5395 5547 5396 5548 [[package]] 5397 5549 name = "veilid-igd" 5398 - version = "0.1.0" 5550 + version = "0.1.1" 5399 5551 source = "registry+https://github.com/rust-lang/crates.io-index" 5400 - checksum = "28428a3f826ed334f995522e554d7c8c1a5a0e0a0248fc795a31022ddf436c9d" 5552 + checksum = "ce2b3c073da0025538ff4cf5bea61a7a7a046c1bf060e2d0981c71800747551d" 5401 5553 dependencies = [ 5402 5554 "attohttpc", 5403 5555 "log", ··· 5408 5560 5409 5561 [[package]] 5410 5562 name = "veilid-server" 5411 - version = "0.2.3" 5563 + version = "0.2.4" 5412 5564 dependencies = [ 5413 5565 "ansi_term", 5414 5566 "async-std", 5415 5567 "async-tungstenite", 5416 5568 "backtrace", 5417 5569 "cfg-if 1.0.0", 5418 - "clap 4.4.3", 5570 + "clap 4.4.6", 5419 5571 "color-eyre", 5420 5572 "config", 5421 5573 "console-subscriber", ··· 5458 5610 5459 5611 [[package]] 5460 5612 name = "veilid-tools" 5461 - version = "0.2.3" 5613 + version = "0.2.4" 5462 5614 dependencies = [ 5463 5615 "android_logger 0.13.3", 5464 5616 "async-lock", ··· 5473 5625 "fn_name", 5474 5626 "futures-util", 5475 5627 "getrandom", 5628 + "ifstructs", 5476 5629 "jni", 5477 5630 "jni-sys", 5478 5631 "js-sys", ··· 5481 5634 "log", 5482 5635 "ndk", 5483 5636 "ndk-glue", 5637 + "netlink-packet-route", 5638 + "netlink-sys", 5484 5639 "nix 0.27.1", 5485 5640 "once_cell", 5486 5641 "oslog", ··· 5489 5644 "rand", 5490 5645 "rand_core", 5491 5646 "range-set-blaze", 5647 + "rtnetlink", 5492 5648 "send_wrapper 0.6.0", 5493 5649 "serial_test", 5494 5650 "simplelog", ··· 5506 5662 "wasm-bindgen-test", 5507 5663 "wasm-logger", 5508 5664 "wee_alloc", 5665 + "winapi", 5509 5666 ] 5510 5667 5511 5668 [[package]] 5512 5669 name = "veilid-wasm" 5513 - version = "0.2.3" 5670 + version = "0.2.4" 5514 5671 dependencies = [ 5515 5672 "cfg-if 1.0.0", 5516 5673 "console_error_panic_hook", ··· 5523 5680 "send_wrapper 0.6.0", 5524 5681 "serde", 5525 5682 "serde-wasm-bindgen 0.6.0", 5683 + "serde_bytes", 5526 5684 "serde_json", 5527 5685 "tracing", 5528 5686 "tracing-subscriber", ··· 5549 5707 5550 5708 [[package]] 5551 5709 name = "waker-fn" 5552 - version = "1.1.0" 5710 + version = "1.1.1" 5553 5711 source = "registry+https://github.com/rust-lang/crates.io-index" 5554 - checksum = "9d5b2c62b4012a3e1eca5a7e077d13b3bf498c4073e33ccd58626607748ceeca" 5712 + checksum = "f3c4517f54858c779bbcbf228f4fca63d121bf85fbecb2dc578cdf4a39395690" 5555 5713 5556 5714 [[package]] 5557 5715 name = "walkdir" ··· 5601 5759 "once_cell", 5602 5760 "proc-macro2", 5603 5761 "quote", 5604 - "syn 2.0.36", 5762 + "syn 2.0.38", 5605 5763 "wasm-bindgen-shared", 5606 5764 ] 5607 5765 ··· 5635 5793 dependencies = [ 5636 5794 "proc-macro2", 5637 5795 "quote", 5638 - "syn 2.0.36", 5796 + "syn 2.0.38", 5639 5797 "wasm-bindgen-backend", 5640 5798 "wasm-bindgen-shared", 5641 5799 ] ··· 5699 5857 5700 5858 [[package]] 5701 5859 name = "webpki" 5702 - version = "0.22.1" 5860 + version = "0.22.4" 5703 5861 source = "registry+https://github.com/rust-lang/crates.io-index" 5704 - checksum = "f0e74f82d49d545ad128049b7e88f6576df2da6b02e9ce565c6f533be576957e" 5862 + checksum = "ed63aea5ce73d0ff405984102c42de94fc55a6b75765d621c65262469b3c9b53" 5705 5863 dependencies = [ 5706 - "ring", 5707 - "untrusted", 5864 + "ring 0.17.3", 5865 + "untrusted 0.9.0", 5708 5866 ] 5709 5867 5710 5868 [[package]] ··· 5760 5918 "either", 5761 5919 "home", 5762 5920 "once_cell", 5763 - "rustix 0.38.13", 5921 + "rustix 0.38.19", 5764 5922 ] 5765 5923 5766 5924 [[package]] ··· 5770 5928 checksum = "653f141f39ec16bba3c5abe400a0c60da7468261cc2cbf36805022876bc721a8" 5771 5929 5772 5930 [[package]] 5773 - name = "wildmatch" 5774 - version = "1.1.0" 5775 - source = "registry+https://github.com/rust-lang/crates.io-index" 5776 - checksum = "7f44b95f62d34113cf558c93511ac93027e03e9c29a60dd0fd70e6e025c7270a" 5777 - 5778 - [[package]] 5779 5931 name = "winapi" 5780 5932 version = "0.3.9" 5781 5933 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 5793 5945 5794 5946 [[package]] 5795 5947 name = "winapi-util" 5796 - version = "0.1.5" 5948 + version = "0.1.6" 5797 5949 source = "registry+https://github.com/rust-lang/crates.io-index" 5798 - checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178" 5950 + checksum = "f29e6f9198ba0d26b4c9f07dbe6f9ed633e1f3d5b8b414090084349e46a52596" 5799 5951 dependencies = [ 5800 5952 "winapi", 5801 5953 ] ··· 5998 6150 5999 6151 [[package]] 6000 6152 name = "winnow" 6001 - version = "0.5.15" 6153 + version = "0.5.17" 6002 6154 source = "registry+https://github.com/rust-lang/crates.io-index" 6003 - checksum = "7c2e3184b9c4e92ad5167ca73039d0c42476302ab603e2fec4487511f38ccefc" 6155 + checksum = "a3b801d0e0a6726477cc207f60162da452f3a95adb368399bef20a946e06f65c" 6004 6156 dependencies = [ 6005 6157 "memchr", 6006 6158 ] ··· 6076 6228 6077 6229 [[package]] 6078 6230 name = "xml-rs" 6079 - version = "0.8.18" 6231 + version = "0.8.19" 6080 6232 source = "registry+https://github.com/rust-lang/crates.io-index" 6081 - checksum = "bab77e97b50aee93da431f2cee7cd0f43b4d1da3c408042f2d7d164187774f0a" 6233 + checksum = "0fcb9cbac069e033553e8bb871be2fbdffcab578eb25bd0f7c508cedc6dcd75a" 6082 6234 6083 6235 [[package]] 6084 6236 name = "xmltree" ··· 6108 6260 "byteorder", 6109 6261 "derivative", 6110 6262 "enumflags2", 6111 - "fastrand", 6263 + "fastrand 1.9.0", 6112 6264 "futures", 6113 6265 "nb-connect", 6114 6266 "nix 0.22.3", ··· 6150 6302 dependencies = [ 6151 6303 "proc-macro2", 6152 6304 "quote", 6153 - "syn 2.0.36", 6305 + "syn 2.0.38", 6154 6306 ] 6155 6307 6156 6308 [[package]]
+2 -2
pkgs/tools/networking/veilid/default.nix
··· 10 10 11 11 rustPlatform.buildRustPackage rec { 12 12 pname = "veilid"; 13 - version = "0.2.3"; 13 + version = "0.2.4"; 14 14 15 15 src = fetchFromGitLab { 16 16 owner = "veilid"; 17 17 repo = pname; 18 18 rev = "v${version}"; 19 - sha256 = "sha256-fpA0JsBp2mlyDWlwE6xgyX5KNI2FSypO6m1J9BI+Kjs="; 19 + sha256 = "sha256-DQ/rFxUByPlZOHOLBO9OenT2WPiaBKl45ANiH+YkQ08="; 20 20 }; 21 21 22 22 cargoLock = {
+17 -1
pkgs/tools/security/mktemp/default.nix
··· 1 - { lib, stdenv, fetchurl, groff }: 1 + { lib 2 + , stdenv 3 + , fetchurl 4 + , fetchpatch 5 + , groff 6 + }: 2 7 3 8 stdenv.mkDerivation rec { 4 9 pname = "mktemp"; ··· 7 12 # Have `configure' avoid `/usr/bin/nroff' in non-chroot builds. 8 13 NROFF = "${groff}/bin/nroff"; 9 14 15 + patches = [ 16 + # Pull upstream fix for parallel install failures. 17 + (fetchpatch { 18 + name = "parallel-install.patch"; 19 + url = "https://www.mktemp.org/repos/mktemp/raw-rev/eb87d96ce8b7"; 20 + hash = "sha256-cJ/0pFj8tOkByUwhlMwLNSQgTHyAU8svEkjKWWwsNmY="; 21 + }) 22 + ]; 23 + 10 24 # Don't use "install -s" 11 25 postPatch = '' 12 26 substituteInPlace Makefile.in --replace " 0555 -s " " 0555 " ··· 16 30 url = "ftp://ftp.mktemp.org/pub/mktemp/mktemp-${version}.tar.gz"; 17 31 sha256 = "0x969152znxxjbj7387xb38waslr4yv6bnj5jmhb4rpqxphvk54f"; 18 32 }; 33 + 34 + enableParallelBuilding = true; 19 35 20 36 meta = with lib; { 21 37 description = "Simple tool to make temporary file handling in shells scripts safe and simple";
+38 -11
pkgs/tools/system/fdisk/default.nix
··· 1 - { fetchurl, lib, stdenv, parted, libuuid, gettext, guile }: 1 + { lib 2 + , stdenv 3 + , fetchurl 4 + , gettext 5 + , guile 6 + , libuuid 7 + , parted 8 + }: 2 9 3 10 stdenv.mkDerivation rec { 4 11 pname = "gnufdisk"; 5 - version = "2.0.0a"; # .0a1 seems broken, see https://lists.gnu.org/archive/html/bug-fdisk/2012-09/msg00000.html 12 + version = "2.0.0a1"; 6 13 7 14 src = fetchurl { 8 15 url = "mirror://gnu/fdisk/gnufdisk-${version}.tar.gz"; 9 - sha256 = "04nd7civ561x2lwcmxhsqbprml3178jfc58fy1v7hzqg5k4nbhy3"; 16 + hash = "sha256-yWPYTf8RxBIQ//mUdC6fkKct/csEgbzEtTAiPtNRH7U="; 10 17 }; 11 18 12 - buildInputs = [ parted libuuid gettext guile ]; 19 + postPatch = '' 20 + sed -i "s/gnufdisk-common.h .*/\n/g" backend/configure 21 + ''; 22 + 23 + strictDeps = true; 24 + 25 + nativeBuildInputs = [ 26 + gettext 27 + guile 28 + ]; 29 + 30 + buildInputs = [ 31 + guile 32 + libuuid 33 + parted 34 + ]; 35 + 36 + env.NIX_CFLAGS_COMPILE = lib.concatStringsSep " " [ 37 + "-I../common/include" 38 + "-I../debug/include" 39 + "-I../exception/include" 40 + ]; 13 41 14 42 doCheck = true; 15 43 16 44 meta = { 17 45 description = "A command-line disk partitioning tool"; 18 - 19 46 longDescription = '' 20 - GNU fdisk provides alternatives to util-linux fdisk and util-linux 21 - cfdisk. It uses GNU Parted. 47 + GNU fdisk provides a GNU version of the common disk partitioning tool 48 + fdisk. fdisk is used for the creation and manipulation of disk partition 49 + tables, and it understands a variety of different formats. 22 50 ''; 23 - 24 - license = lib.licenses.gpl3Plus; 25 - 26 51 homepage = "https://www.gnu.org/software/fdisk/"; 27 - 52 + license = lib.licenses.gpl3Plus; 53 + mainProgram = "gnufdisk"; 54 + maintainers = [ lib.maintainers.wegank ]; 28 55 platforms = lib.platforms.linux; 29 56 }; 30 57 }
+7
pkgs/top-level/aliases.nix
··· 83 83 84 84 badtouch = authoscope; # Project was renamed, added 20210626 85 85 baget = throw "'baget' has been removed due to being unmaintained"; 86 + ballAndPaddle = throw "'ballAndPaddle' has been removed because it was broken and abandoned upstream"; # Added 2023-10-16 86 87 bashInteractive_5 = bashInteractive; # Added 2021-08-20 87 88 bash_5 = bash; # Added 2021-08-20 88 89 bazel_3 = throw "bazel 3 is past end of life as it is not an lts version"; # Added 2023-02-02 89 90 bedup = throw "bedup was removed because it was broken and abandoned upstream"; # added 2023-02-04 90 91 bird2 = bird; # Added 2022-02-21 92 + bitwig-studio1 = throw "bitwig-studio1 has been removed, you can upgrade to 'bitwig-studio'"; # Added 2023-01-03 93 + bitwig-studio2 = throw "bitwig-studio2 has been removed, you can upgrade to 'bitwig-studio'"; # Added 2023-01-03 91 94 ddclient = throw "ddclient has been removed on the request of the upstream maintainer because it is unmaintained and has bugs. Please switch to a different software like `inadyn` or `knsupdate`."; # Added 2023-07-04 92 95 bluezFull = throw "'bluezFull' has been renamed to/replaced by 'bluez'"; # Converted to throw 2023-09-10 93 96 boost168 = throw "boost168 has been deprecated in favor of the latest version"; # Added 2023-06-08 ··· 163 166 164 167 ### D ### 165 168 169 + dagger = throw "'dagger' has been removed from nixpkgs, as the trademark policy of the upstream project is incompatible"; # Added 2023-10-16 166 170 dart_stable = dart; # Added 2020-01-15 167 171 dat = nodePackages.dat; 168 172 deadpixi-sam = deadpixi-sam-unstable; ··· 329 333 gr-rds = throw "'gr-rds' has been renamed to/replaced by 'gnuradio3_7.pkgs.rds'"; # Converted to throw 2023-09-10 330 334 grub2_full = grub2; # Added 2022-11-18 331 335 grub = throw "grub1 was removed after not being maintained upstream for a decade. Please switch to another bootloader"; # Added 2023-04-11 336 + guile-lint = throw "'guile-lint' has been removed, please use 'guild lint' instead"; # Added 2023-10-16 332 337 333 338 ### H ### 334 339 ··· 452 457 libwnck3 = libwnck; 453 458 libyamlcpp = yaml-cpp; # Added 2023-01-29 454 459 libyamlcpp_0_3 = yaml-cpp_0_3; # Added 2023-01-29 460 + libxkbcommon_7 = throw "libxkbcommon_7 has been removed because it is impacted by security issues and not used in nixpkgs, move to 'libxkbcommon'"; # Added 2023-01-03 455 461 lightdm_gtk_greeter = lightdm-gtk-greeter; # Added 2022-08-01 456 462 llama = walk; # Added 2023-01-23 457 463 ··· 793 799 shhgit = throw "shhgit is broken and is no longer maintained. See https://github.com/eth0izzle/shhgit#-shhgit-is-no-longer-maintained-" ; # Added 2023-08-08 794 800 shipyard = jumppad; # Added 2023-06-06 795 801 signumone-ks = throw "signumone-ks has been removed from nixpkgs because the developers stopped offering the binaries"; # Added 2023-08-17 802 + simplenote = throw "'simplenote' has been removed because it is no longer maintained and insecure"; # Added 2023-10-09 796 803 slack-dark = slack; # Added 2020-03-27 797 804 slmenu = throw "slmenu has been removed (upstream is gone)"; # Added 2023-04-06 798 805 slurm-llnl = slurm; # renamed July 2017
+30 -24
pkgs/top-level/all-packages.nix
··· 1092 1092 protobuf = protobuf3_21; 1093 1093 }; 1094 1094 1095 + mysql-shell-innovation = callPackage ../development/tools/mysql-shell/innovation.nix { 1096 + inherit (darwin) cctools developer_cmds DarwinTools; 1097 + inherit (darwin.apple_sdk.frameworks) CoreServices; 1098 + antlr = antlr4_10; 1099 + boost = boost177; # Configure checks for specific version. 1100 + icu = icu69; 1101 + protobuf = protobuf3_21; 1102 + }; 1103 + 1095 1104 broadlink-cli = callPackage ../tools/misc/broadlink-cli { }; 1096 1105 1097 1106 fetchpatch = callPackage ../build-support/fetchpatch { ··· 3618 3627 3619 3628 clairvoyance = callPackage ../tools/security/clairvoyance { }; 3620 3629 3621 - cloud-sql-proxy = callPackage ../tools/misc/cloud-sql-proxy { }; 3622 - 3623 3630 cloudfox = callPackage ../tools/security/cloudfox { }; 3624 3631 3625 3632 cloudhunter = callPackage ../tools/security/cloudhunter { }; ··· 4954 4961 4955 4962 daemontools = callPackage ../tools/admin/daemontools { }; 4956 4963 4957 - dagger = callPackage ../development/tools/continuous-integration/dagger { }; 4958 - 4959 4964 dale = callPackage ../development/compilers/dale { }; 4960 4965 4961 4966 damon = callPackage ../tools/admin/damon { }; ··· 5855 5860 5856 5861 libnvme = callPackage ../os-specific/linux/libnvme { }; 5857 5862 5863 + librenms = callPackage ../servers/monitoring/librenms { }; 5864 + 5858 5865 libxnd = callPackage ../development/libraries/libxnd { }; 5859 5866 5860 5867 libz = callPackage ../development/libraries/libz { }; ··· 8754 8761 python = python3; 8755 8762 with-gce = true; 8756 8763 }; 8764 + 8765 + google-cloud-bigtable-tool = callPackage ../tools/misc/google-cloud-bigtable-tool { }; 8766 + 8767 + google-cloud-sql-proxy = callPackage ../tools/misc/google-cloud-sql-proxy { }; 8757 8768 8758 8769 google-fonts = callPackage ../data/fonts/google-fonts { }; 8759 8770 ··· 17473 17484 yosys = callPackage ../development/compilers/yosys { }; 17474 17485 yosys-bluespec = callPackage ../development/compilers/yosys/plugins/bluespec.nix { }; 17475 17486 yosys-ghdl = callPackage ../development/compilers/yosys/plugins/ghdl.nix { }; 17487 + yosys-synlig = callPackage ../development/compilers/yosys/plugins/synlig.nix { }; 17476 17488 yosys-symbiflow = callPackage ../development/compilers/yosys/plugins/symbiflow.nix { }; 17477 17489 17478 17490 z88dk = callPackage ../development/compilers/z88dk { }; ··· 19363 19375 19364 19376 guile-hall = callPackage ../development/tools/guile/guile-hall { }; 19365 19377 19366 - guile-lint = callPackage ../development/tools/guile/guile-lint { 19367 - guile = guile_1_8; 19368 - }; 19369 - 19370 19378 gwrap = callPackage ../development/tools/guile/g-wrap { 19371 19379 guile = guile_2_2; 19372 19380 }; ··· 20755 20763 20756 20764 captive-browser = callPackage ../applications/networking/browsers/captive-browser { }; 20757 20765 20766 + catboost = callPackage ../development/libraries/catboost { 20767 + # catboost requires clang 12+ for build 20768 + # after bumping the default version of llvm, check for compatibility with the cuda backend and pin it. 20769 + inherit (llvmPackages_12) stdenv; 20770 + }; 20771 + 20758 20772 ndn-cxx = callPackage ../development/libraries/ndn-cxx { }; 20759 20773 20760 20774 ndn-tools = callPackage ../tools/networking/ndn-tools { }; ··· 23708 23722 23709 23723 libxkbcommon = libxkbcommon_8; 23710 23724 libxkbcommon_8 = callPackage ../development/libraries/libxkbcommon { }; 23711 - libxkbcommon_7 = callPackage ../development/libraries/libxkbcommon/libxkbcommon_7.nix { }; 23712 23725 23713 23726 libxklavier = callPackage ../development/libraries/libxklavier { }; 23714 23727 ··· 25106 25119 25107 25120 speechd = callPackage ../development/libraries/speechd { }; 25108 25121 25109 - speech-tools = callPackage ../development/libraries/speech-tools { }; 25122 + speech-tools = callPackage ../development/libraries/speech-tools { 25123 + inherit (darwin.apple_sdk.frameworks) CoreServices AudioUnit Cocoa; 25124 + }; 25110 25125 25111 25126 speex = callPackage ../development/libraries/speex { 25112 25127 fftw = fftwFloat; ··· 30631 30646 bitscope = recurseIntoAttrs 30632 30647 (callPackage ../applications/science/electronics/bitscope/packages.nix { }); 30633 30648 30634 - bitwig-studio1 = callPackage ../applications/audio/bitwig-studio/bitwig-studio1.nix { 30635 - inherit (gnome) zenity; 30636 - libxkbcommon = libxkbcommon_7; 30637 - }; 30638 - bitwig-studio2 = callPackage ../applications/audio/bitwig-studio/bitwig-studio2.nix { 30639 - inherit bitwig-studio1; 30640 - }; 30641 30649 bitwig-studio3 = callPackage ../applications/audio/bitwig-studio/bitwig-studio3.nix { }; 30642 30650 bitwig-studio4 = callPackage ../applications/audio/bitwig-studio/bitwig-studio4.nix { 30643 30651 libjpeg = libjpeg8; ··· 31369 31377 31370 31378 espeak-classic = callPackage ../applications/audio/espeak { }; 31371 31379 31372 - espeak-ng = callPackage ../applications/audio/espeak-ng { }; 31380 + espeak-ng = callPackage ../applications/audio/espeak-ng { 31381 + inherit (darwin.apple_sdk.frameworks) AudioToolbox AudioUnit CoreAudio; 31382 + }; 31373 31383 espeak = res.espeak-ng; 31374 31384 31375 31385 espeakedit = callPackage ../applications/audio/espeak/edit.nix { }; ··· 35195 35205 sbagen = callPackage ../applications/misc/sbagen { }; 35196 35206 35197 35207 scantailor-advanced = libsForQt5.callPackage ../applications/graphics/scantailor/advanced.nix { }; 35208 + 35209 + scantailor-universal = libsForQt5.callPackage ../applications/graphics/scantailor/universal.nix { }; 35198 35210 35199 35211 sc-im = callPackage ../applications/misc/sc-im { }; 35200 35212 ··· 37517 37529 37518 37530 azimuth = callPackage ../games/azimuth { }; 37519 37531 37520 - ballAndPaddle = callPackage ../games/ball-and-paddle { 37521 - guile = guile_1_8; 37522 - }; 37523 - 37524 37532 banner = callPackage ../games/banner { }; 37525 37533 37526 37534 bastet = callPackage ../games/bastet { }; ··· 41668 41676 nitrokey-app2 = libsForQt5.callPackage ../tools/security/nitrokey-app2 { }; 41669 41677 41670 41678 fpm2 = callPackage ../tools/security/fpm2 { }; 41671 - 41672 - simplenote = callPackage ../applications/misc/simplenote { }; 41673 41679 41674 41680 hy = with python3Packages; toPythonApplication hy; 41675 41681
+4
pkgs/top-level/python-aliases.nix
··· 128 128 eebrightbox = throw "eebrightbox is unmaintained upstream and has therefore been removed"; # added 2022-02-03 129 129 EasyProcess = easyprocess; # added 2023-02-19 130 130 email_validator = email-validator; # added 2022-06-22 131 + et_xmlfile = et-xmlfile; # added 2023-10-16 131 132 ev3dev2 = python-ev3dev2; # added 2023-06-19 132 133 Fabric = fabric; # addedd 2023-02-19 133 134 face_recognition = face-recognition; # added 2022-10-15 ··· 173 174 graphite_beacon = throw "graphite_beacon was removed, because it is no longer maintained"; # added 2022-07-09 174 175 grappelli_safe = grappelli-safe; # added 2023-10-08 175 176 grpc_google_iam_v1 = grpc-google-iam-v1; # added 2021-08-21 177 + guzzle_sphinx_theme = guzzle-sphinx-theme; # added 2023-10-16 176 178 ha-av = throw "ha-av was removed, because it is no longer maintained"; # added 2022-04-06 177 179 HAP-python = hap-python; # added 2021-06-01 178 180 hangups = throw "hangups was removed because Google Hangouts has been shut down"; # added 2023-02-13 ··· 211 213 Keras = keras; # added 2021-11-25 212 214 ldap = python-ldap; # added 2022-09-16 213 215 lammps-cython = throw "lammps-cython no longer builds and is unmaintained"; # added 2021-07-04 216 + lazy_imports = lazy-imports; # added 2023-10-13 214 217 lektor = throw "lektor has been promoted to a top-level attribute"; # added 2023-08-01 215 218 logilab_astng = throw "logilab-astng has not been released since 2013 and is unmaintained"; # added 2022-11-29 216 219 logilab_common = logilab-common; # added 2022-11-21 ··· 282 285 pylibgen = throw "pylibgen is unmaintained upstreamed, and removed from nixpkgs"; # added 2020-06-20 283 286 PyLD = pyld; # added 2022-06-22 284 287 pymatgen-lammps = throw "pymatgen-lammps has been removed because it is unmaintained and broken"; # added 2023-06-20 288 + pymazda = throw "pymazda has been removed, because the upstream repo has been affected by a DCMA claim."; # added 2023-10-16 285 289 pymc3 = pymc; # added 2022-06-05, module was rename starting with 4.0.0 286 290 pymssql = throw "pymssql has been abandoned upstream."; # added 2020-05-04 287 291 PyMVGLive = pymvglive; # added 2023-02-19
+11 -6
pkgs/top-level/python-packages.nix
··· 1803 1803 1804 1804 catalogue = callPackage ../development/python-modules/catalogue { }; 1805 1805 1806 - catboost = callPackage ../development/python-modules/catboost { }; 1806 + catboost = callPackage ../development/python-modules/catboost { 1807 + catboost = pkgs.catboost.override { 1808 + pythonSupport = true; 1809 + python3Packages = self; 1810 + }; 1811 + }; 1807 1812 1808 1813 catppuccin = callPackage ../development/python-modules/catppuccin { }; 1809 1814 ··· 1845 1850 1846 1851 comicon = callPackage ../development/python-modules/comicon { }; 1847 1852 1853 + command_runner = callPackage ../development/python-modules/command_runner { }; 1854 + 1848 1855 connect-box = callPackage ../development/python-modules/connect_box { }; 1849 1856 1850 1857 connection-pool = callPackage ../development/python-modules/connection-pool { }; ··· 3611 3618 3612 3619 etuples = callPackage ../development/python-modules/etuples { }; 3613 3620 3614 - et_xmlfile = callPackage ../development/python-modules/et_xmlfile { }; 3621 + et-xmlfile = callPackage ../development/python-modules/et-xmlfile { }; 3615 3622 3616 3623 eufylife-ble-client = callPackage ../development/python-modules/eufylife-ble-client { }; 3617 3624 ··· 4805 4812 else 4806 4813 throw "gurobipy not yet supported on ${stdenv.hostPlatform.system}"; 4807 4814 4808 - guzzle_sphinx_theme = callPackage ../development/python-modules/guzzle_sphinx_theme { }; 4815 + guzzle-sphinx-theme = callPackage ../development/python-modules/guzzle-sphinx-theme { }; 4809 4816 4810 4817 gvm-tools = callPackage ../development/python-modules/gvm-tools { }; 4811 4818 ··· 6002 6009 6003 6010 lazy_import = callPackage ../development/python-modules/lazy_import { }; 6004 6011 6005 - lazy_imports = callPackage ../development/python-modules/lazy_imports { }; 6012 + lazy-imports = callPackage ../development/python-modules/lazy-imports { }; 6006 6013 6007 6014 lazy-loader = callPackage ../development/python-modules/lazy-loader { }; 6008 6015 ··· 10344 10351 pymaven-patch = callPackage ../development/python-modules/pymaven-patch { }; 10345 10352 10346 10353 pymavlink = callPackage ../development/python-modules/pymavlink { }; 10347 - 10348 - pymazda = callPackage ../development/python-modules/pymazda { }; 10349 10354 10350 10355 pymbolic = callPackage ../development/python-modules/pymbolic { }; 10351 10356