diff --git a/nixos/modules/services/mail/postfix.nix b/nixos/modules/services/mail/postfix.nix index 6bb501959f95..244ce49ee63b 100644 --- a/nixos/modules/services/mail/postfix.nix +++ b/nixos/modules/services/mail/postfix.nix @@ -1,7 +1,4 @@ { config, lib, pkgs, ... }: - -with lib; - let cfg = config.services.postfix; @@ -17,32 +14,32 @@ let haveLocalRecipients = cfg.localRecipients != null; clientAccess = - optional (cfg.dnsBlacklistOverrides != "") + lib.optional (cfg.dnsBlacklistOverrides != "") "check_client_access hash:/etc/postfix/client_access"; dnsBl = - optionals (cfg.dnsBlacklists != []) + lib.optionals (cfg.dnsBlacklists != []) (map (s: "reject_rbl_client " + s) cfg.dnsBlacklists); - clientRestrictions = concatStringsSep ", " (clientAccess ++ dnsBl); + clientRestrictions = lib.concatStringsSep ", " (clientAccess ++ dnsBl); mainCf = let - escape = replaceStrings ["$"] ["$$"]; - mkList = items: "\n " + concatStringsSep ",\n " items; + escape = lib.replaceStrings ["$"] ["$$"]; + mkList = items: "\n " + lib.concatStringsSep ",\n " items; mkVal = value: - if isList value then mkList value + if lib.isList value then mkList value else " " + (if value == true then "yes" else if value == false then "no" else toString value); mkEntry = name: value: "${escape name} =${mkVal value}"; in - concatStringsSep "\n" (mapAttrsToList mkEntry cfg.config) + lib.concatStringsSep "\n" (lib.mapAttrsToList mkEntry cfg.config) + "\n" + cfg.extraConfig; masterCfOptions = { options, config, name, ... }: { options = { - name = mkOption { - type = types.str; + name = lib.mkOption { + type = lib.types.str; default = name; example = "smtp"; description = '' @@ -50,15 +47,15 @@ let ''; }; - type = mkOption { - type = types.enum [ "inet" "unix" "unix-dgram" "fifo" "pass" ]; + type = lib.mkOption { + type = lib.types.enum [ "inet" "unix" "unix-dgram" "fifo" "pass" ]; default = "unix"; example = "inet"; description = "The type of the service"; }; - private = mkOption { - type = types.bool; + private = lib.mkOption { + type = lib.types.bool; example = false; description = '' Whether the service's sockets and storage directory is restricted to @@ -67,14 +64,14 @@ let ''; }; - privileged = mkOption { - type = types.bool; + privileged = lib.mkOption { + type = lib.types.bool; example = true; description = ""; }; - chroot = mkOption { - type = types.bool; + chroot = lib.mkOption { + type = lib.types.bool; example = true; description = '' Whether the service is chrooted to have only access to the @@ -83,8 +80,8 @@ let ''; }; - wakeup = mkOption { - type = types.int; + wakeup = lib.mkOption { + type = lib.types.int; example = 60; description = '' Automatically wake up the service after the specified number of @@ -93,8 +90,8 @@ let ''; }; - wakeupUnusedComponent = mkOption { - type = types.bool; + wakeupUnusedComponent = lib.mkOption { + type = lib.types.bool; example = false; description = '' If set to `false` the component will only be woken @@ -104,8 +101,8 @@ let ''; }; - maxproc = mkOption { - type = types.int; + maxproc = lib.mkOption { + type = lib.types.int; example = 1; description = '' The maximum number of processes to spawn for this service. If the @@ -115,8 +112,8 @@ let ''; }; - command = mkOption { - type = types.str; + command = lib.mkOption { + type = lib.types.str; default = name; example = "smtpd"; description = '' @@ -125,8 +122,8 @@ let ''; }; - args = mkOption { - type = types.listOf types.str; + args = lib.mkOption { + type = lib.types.listOf lib.types.str; default = []; example = [ "-o" "smtp_helo_timeout=5" ]; description = '' @@ -136,8 +133,8 @@ let ''; }; - rawEntry = mkOption { - type = types.listOf types.str; + rawEntry = lib.mkOption { + type = lib.types.listOf lib.types.str; default = []; internal = true; description = '' @@ -148,7 +145,7 @@ let config.rawEntry = let mkBool = bool: if bool then "y" else "n"; - mkArg = arg: "${optionalString (hasPrefix "-" arg) "\n "}${arg}"; + mkArg = arg: "${lib.optionalString (lib.hasPrefix "-" arg) "\n "}${arg}"; maybeOption = fun: option: if options.${option}.isDefined then fun config.${option} else "-"; @@ -158,7 +155,7 @@ let wakeupDefined = options.wakeup.isDefined; wakeupUCDefined = options.wakeupUnusedComponent.isDefined; finalValue = toString config.wakeup - + optionalString (wakeupUCDefined && !config.wakeupUnusedComponent) "?"; + + lib.optionalString (wakeupUCDefined && !config.wakeupUnusedComponent) "?"; in if wakeupDefined then finalValue else "-"; in [ @@ -169,7 +166,7 @@ let (maybeOption mkBool "chroot") wakeup (maybeOption toString "maxproc") - (config.command + " " + concatMapStringsSep " " mkArg config.args) + (config.command + " " + lib.concatMapStringsSep " " mkArg config.args) ]; }; @@ -184,47 +181,47 @@ let "# " "" "(yes)" "(yes)" "(no)" "(never)" "(100)" "" "" ]; - masterCf = mapAttrsToList (const (getAttr "rawEntry")) cfg.masterConfig; + masterCf = lib.mapAttrsToList (lib.const (lib.getAttr "rawEntry")) cfg.masterConfig; # A list of the maximum width of the columns across all lines and labels maxWidths = let foldLine = line: acc: let - columnLengths = map stringLength line; - in zipListsWith max acc columnLengths; + columnLengths = map lib.stringLength line; + in lib.zipListsWith lib.max acc columnLengths; # We need to handle the last column specially here, because it's # open-ended (command + args). - lines = [ labels labelDefaults ] ++ (map (l: init l ++ [""]) masterCf); - in foldr foldLine (genList (const 0) (length labels)) lines; + lines = [ labels labelDefaults ] ++ (map (l: lib.init l ++ [""]) masterCf); + in lib.foldr foldLine (lib.genList (lib.const 0) (lib.length labels)) lines; # Pad a string with spaces from the right (opposite of fixedWidthString). pad = width: str: let - padWidth = width - stringLength str; - padding = concatStrings (genList (const " ") padWidth); - in str + optionalString (padWidth > 0) padding; + padWidth = width - lib.stringLength str; + padding = lib.concatStrings (lib.genList (lib.const " ") padWidth); + in str + lib.optionalString (padWidth > 0) padding; # It's + 2 here, because that's the amount of spacing between columns. - fullWidth = foldr (width: acc: acc + width + 2) 0 maxWidths; + fullWidth = lib.foldr (width: acc: acc + width + 2) 0 maxWidths; - formatLine = line: concatStringsSep " " (zipListsWith pad maxWidths line); + formatLine = line: lib.concatStringsSep " " (lib.zipListsWith pad maxWidths line); formattedLabels = let - sep = "# " + concatStrings (genList (const "=") (fullWidth + 5)); + sep = "# " + lib.concatStrings (lib.genList (lib.const "=") (fullWidth + 5)); lines = [ sep (formatLine labels) (formatLine labelDefaults) sep ]; - in concatStringsSep "\n" lines; + in lib.concatStringsSep "\n" lines; - in formattedLabels + "\n" + concatMapStringsSep "\n" formatLine masterCf + "\n" + cfg.extraMasterConf; + in formattedLabels + "\n" + lib.concatMapStringsSep "\n" formatLine masterCf + "\n" + cfg.extraMasterConf; headerCheckOptions = { ... }: { options = { - pattern = mkOption { - type = types.str; + pattern = lib.mkOption { + type = lib.types.str; default = "/^.*/"; example = "/^X-Mailer:/"; description = "A regexp pattern matching the header"; }; - action = mkOption { - type = types.str; + action = lib.mkOption { + type = lib.types.str; default = "DUNNO"; example = "BCC mail@example.com"; description = "The action to be executed when the pattern is matched"; @@ -232,13 +229,13 @@ let }; }; - headerChecks = concatStringsSep "\n" (map (x: "${x.pattern} ${x.action}") cfg.headerChecks) + cfg.extraHeaderChecks; + headerChecks = lib.concatStringsSep "\n" (map (x: "${x.pattern} ${x.action}") cfg.headerChecks) + cfg.extraHeaderChecks; - aliases = let separator = optionalString (cfg.aliasMapType == "hash") ":"; in - optionalString (cfg.postmasterAlias != "") '' + aliases = let separator = lib.optionalString (cfg.aliasMapType == "hash") ":"; in + lib.optionalString (cfg.postmasterAlias != "") '' postmaster${separator} ${cfg.postmasterAlias} '' - + optionalString (cfg.rootAlias != "") '' + + lib.optionalString (cfg.rootAlias != "") '' root${separator} ${cfg.rootAlias} '' + cfg.extraAliases @@ -247,7 +244,7 @@ let aliasesFile = pkgs.writeText "postfix-aliases" aliases; canonicalFile = pkgs.writeText "postfix-canonical" cfg.canonical; virtualFile = pkgs.writeText "postfix-virtual" cfg.virtual; - localRecipientMapFile = pkgs.writeText "postfix-local-recipient-map" (concatMapStrings (x: x + " ACCEPT\n") cfg.localRecipients); + localRecipientMapFile = pkgs.writeText "postfix-local-recipient-map" (lib.concatMapStrings (x: x + " ACCEPT\n") cfg.localRecipients); checkClientAccessFile = pkgs.writeText "postfix-check-client-access" cfg.dnsBlacklistOverrides; mainCfFile = pkgs.writeText "postfix-main.cf" mainCf; masterCfFile = pkgs.writeText "postfix-master.cf" masterCfContent; @@ -264,26 +261,26 @@ in services.postfix = { - enable = mkOption { - type = types.bool; + enable = lib.mkOption { + type = lib.types.bool; default = false; description = "Whether to run the Postfix mail server."; }; - enableSmtp = mkOption { - type = types.bool; + enableSmtp = lib.mkOption { + type = lib.types.bool; default = true; description = "Whether to enable smtp in master.cf."; }; - enableSubmission = mkOption { - type = types.bool; + enableSubmission = lib.mkOption { + type = lib.types.bool; default = false; description = "Whether to enable smtp submission."; }; - enableSubmissions = mkOption { - type = types.bool; + enableSubmissions = lib.mkOption { + type = lib.types.bool; default = false; description = '' Whether to enable smtp submission via smtps. @@ -293,8 +290,8 @@ in ''; }; - submissionOptions = mkOption { - type = with types; attrsOf str; + submissionOptions = lib.mkOption { + type = with lib.types; attrsOf str; default = { smtpd_tls_security_level = "encrypt"; smtpd_sasl_auth_enable = "yes"; @@ -311,8 +308,8 @@ in description = "Options for the submission config in master.cf"; }; - submissionsOptions = mkOption { - type = with types; attrsOf str; + submissionsOptions = lib.mkOption { + type = with lib.types; attrsOf str; default = { smtpd_sasl_auth_enable = "yes"; smtpd_client_restrictions = "permit_sasl_authenticated,reject"; @@ -334,26 +331,26 @@ in ''; }; - setSendmail = mkOption { - type = types.bool; + setSendmail = lib.mkOption { + type = lib.types.bool; default = true; description = "Whether to set the system sendmail to postfix's."; }; - user = mkOption { - type = types.str; + user = lib.mkOption { + type = lib.types.str; default = "postfix"; description = "What to call the Postfix user (must be used only for postfix)."; }; - group = mkOption { - type = types.str; + group = lib.mkOption { + type = lib.types.str; default = "postfix"; description = "What to call the Postfix group (must be used only for postfix)."; }; - setgidGroup = mkOption { - type = types.str; + setgidGroup = lib.mkOption { + type = lib.types.str; default = "postdrop"; description = '' How to call postfix setgid group (for postdrop). Should @@ -361,8 +358,8 @@ in ''; }; - networks = mkOption { - type = types.nullOr (types.listOf types.str); + networks = lib.mkOption { + type = lib.types.nullOr (lib.types.listOf lib.types.str); default = null; example = ["192.168.0.1/24"]; description = '' @@ -372,8 +369,8 @@ in ''; }; - networksStyle = mkOption { - type = types.str; + networksStyle = lib.mkOption { + type = lib.types.str; default = ""; description = '' Name of standard way of trusted network specification to use, @@ -382,8 +379,8 @@ in ''; }; - hostname = mkOption { - type = types.str; + hostname = lib.mkOption { + type = lib.types.str; default = ""; description = '' Hostname to use. Leave blank to use just the hostname of machine. @@ -391,24 +388,24 @@ in ''; }; - domain = mkOption { - type = types.str; + domain = lib.mkOption { + type = lib.types.str; default = ""; description = '' Domain to use. Leave blank to use hostname minus first component. ''; }; - origin = mkOption { - type = types.str; + origin = lib.mkOption { + type = lib.types.str; default = ""; description = '' Origin to use in outgoing e-mail. Leave blank to use hostname. ''; }; - destination = mkOption { - type = types.nullOr (types.listOf types.str); + destination = lib.mkOption { + type = lib.types.nullOr (lib.types.listOf lib.types.str); default = null; example = ["localhost"]; description = '' @@ -417,8 +414,8 @@ in ''; }; - relayDomains = mkOption { - type = types.nullOr (types.listOf types.str); + relayDomains = lib.mkOption { + type = lib.types.nullOr (lib.types.listOf lib.types.str); default = null; example = ["localdomain"]; description = '' @@ -426,32 +423,32 @@ in ''; }; - relayHost = mkOption { - type = types.str; + relayHost = lib.mkOption { + type = lib.types.str; default = ""; description = '' Mail relay for outbound mail. ''; }; - relayPort = mkOption { - type = types.int; + relayPort = lib.mkOption { + type = lib.types.int; default = 25; description = '' SMTP port for relay mail relay. ''; }; - lookupMX = mkOption { - type = types.bool; + lookupMX = lib.mkOption { + type = lib.types.bool; default = false; description = '' Whether relay specified is just domain whose MX must be used. ''; }; - postmasterAlias = mkOption { - type = types.str; + postmasterAlias = lib.mkOption { + type = lib.types.str; default = "root"; description = '' Who should receive postmaster e-mail. Multiple values can be added by @@ -459,8 +456,8 @@ in ''; }; - rootAlias = mkOption { - type = types.str; + rootAlias = lib.mkOption { + type = lib.types.str; default = ""; description = '' Who should receive root e-mail. Blank for no redirection. @@ -468,23 +465,23 @@ in ''; }; - extraAliases = mkOption { - type = types.lines; + extraAliases = lib.mkOption { + type = lib.types.lines; default = ""; description = '' Additional entries to put verbatim into aliases file, cf. man-page aliases(8). ''; }; - aliasMapType = mkOption { - type = with types; enum [ "hash" "regexp" "pcre" ]; + aliasMapType = lib.mkOption { + type = with lib.types; enum [ "hash" "regexp" "pcre" ]; default = "hash"; example = "regexp"; description = "The format the alias map should have. Use regexp if you want to use regular expressions."; }; - config = mkOption { - type = with types; attrsOf (oneOf [ bool int str (listOf str) ]); + config = lib.mkOption { + type = with lib.types; attrsOf (oneOf [ bool int str (listOf str) ]); description = '' The main.cf configuration file as key value set. ''; @@ -494,37 +491,37 @@ in }; }; - extraConfig = mkOption { - type = types.lines; + extraConfig = lib.mkOption { + type = lib.types.lines; default = ""; description = '' Extra lines to be added verbatim to the main.cf configuration file. ''; }; - tlsTrustedAuthorities = mkOption { - type = types.str; + tlsTrustedAuthorities = lib.mkOption { + type = lib.types.str; default = "${pkgs.cacert}/etc/ssl/certs/ca-bundle.crt"; - defaultText = literalExpression ''"''${pkgs.cacert}/etc/ssl/certs/ca-bundle.crt"''; + defaultText = lib.literalExpression ''"''${pkgs.cacert}/etc/ssl/certs/ca-bundle.crt"''; description = '' File containing trusted certification authorities (CA) to verify certificates of mailservers contacted for mail delivery. This basically sets smtp_tls_CAfile and enables opportunistic tls. Defaults to NixOS trusted certification authorities. ''; }; - sslCert = mkOption { - type = types.str; + sslCert = lib.mkOption { + type = lib.types.str; default = ""; description = "SSL certificate to use."; }; - sslKey = mkOption { - type = types.str; + sslKey = lib.mkOption { + type = lib.types.str; default = ""; description = "SSL key to use."; }; - recipientDelimiter = mkOption { - type = types.str; + recipientDelimiter = lib.mkOption { + type = lib.types.str; default = ""; example = "+"; description = '' @@ -532,32 +529,32 @@ in ''; }; - canonical = mkOption { - type = types.lines; + canonical = lib.mkOption { + type = lib.types.lines; default = ""; description = '' Entries for the {manpage}`canonical(5)` table. ''; }; - virtual = mkOption { - type = types.lines; + virtual = lib.mkOption { + type = lib.types.lines; default = ""; description = '' Entries for the virtual alias map, cf. man-page virtual(5). ''; }; - virtualMapType = mkOption { - type = types.enum ["hash" "regexp" "pcre"]; + virtualMapType = lib.mkOption { + type = lib.types.enum ["hash" "regexp" "pcre"]; default = "hash"; description = '' What type of virtual alias map file to use. Use `"regexp"` for regular expressions. ''; }; - localRecipients = mkOption { - type = with types; nullOr (listOf str); + localRecipients = lib.mkOption { + type = with lib.types; nullOr (listOf str); default = null; description = '' List of accepted local users. Specify a bare username, an @@ -569,28 +566,28 @@ in ''; }; - transport = mkOption { + transport = lib.mkOption { default = ""; - type = types.lines; + type = lib.types.lines; description = '' Entries for the transport map, cf. man-page transport(8). ''; }; - dnsBlacklists = mkOption { + dnsBlacklists = lib.mkOption { default = []; - type = with types; listOf str; + type = with lib.types; listOf str; description = "dns blacklist servers to use with smtpd_client_restrictions"; }; - dnsBlacklistOverrides = mkOption { + dnsBlacklistOverrides = lib.mkOption { default = ""; - type = types.lines; + type = lib.types.lines; description = "contents of check_client_access for overriding dnsBlacklists"; }; - masterConfig = mkOption { - type = types.attrsOf (types.submodule masterCfOptions); + masterConfig = lib.mkOption { + type = lib.types.attrsOf (lib.types.submodule masterCfOptions); default = {}; example = { submission = { @@ -605,48 +602,48 @@ in ''; }; - extraMasterConf = mkOption { - type = types.lines; + extraMasterConf = lib.mkOption { + type = lib.types.lines; default = ""; example = "submission inet n - n - - smtpd"; description = "Extra lines to append to the generated master.cf file."; }; - enableHeaderChecks = mkOption { - type = types.bool; + enableHeaderChecks = lib.mkOption { + type = lib.types.bool; default = false; example = true; description = "Whether to enable postfix header checks"; }; - headerChecks = mkOption { - type = types.listOf (types.submodule headerCheckOptions); + headerChecks = lib.mkOption { + type = lib.types.listOf (lib.types.submodule headerCheckOptions); default = []; example = [ { pattern = "/^X-Spam-Flag:/"; action = "REDIRECT spam@example.com"; } ]; description = "Postfix header checks."; }; - extraHeaderChecks = mkOption { - type = types.lines; + extraHeaderChecks = lib.mkOption { + type = lib.types.lines; default = ""; example = "/^X-Spam-Flag:/ REDIRECT spam@example.com"; description = "Extra lines to /etc/postfix/header_checks file."; }; - aliasFiles = mkOption { - type = types.attrsOf types.path; + aliasFiles = lib.mkOption { + type = lib.types.attrsOf lib.types.path; default = {}; description = "Aliases' tables to be compiled and placed into /var/lib/postfix/conf."; }; - mapFiles = mkOption { - type = types.attrsOf types.path; + mapFiles = lib.mkOption { + type = lib.types.attrsOf lib.types.path; default = {}; description = "Maps to be compiled and placed into /var/lib/postfix/conf."; }; - useSrs = mkOption { - type = types.bool; + useSrs = lib.mkOption { + type = lib.types.bool; default = false; description = "Whether to enable sender rewriting scheme"; }; @@ -658,7 +655,7 @@ in ###### implementation - config = mkIf config.services.postfix.enable (mkMerge [ + config = lib.mkIf config.services.postfix.enable (lib.mkMerge [ { environment = { @@ -670,7 +667,7 @@ in services.pfix-srsd.enable = config.services.postfix.useSrs; - services.mail.sendmailSetuidWrapper = mkIf config.services.postfix.setSendmail { + services.mail.sendmailSetuidWrapper = lib.mkIf config.services.postfix.setSendmail { program = "sendmail"; source = "${pkgs.postfix}/bin/sendmail"; owner = "root"; @@ -706,7 +703,7 @@ in setgid = true; }; - users.users = optionalAttrs (user == "postfix") + users.users = lib.optionalAttrs (user == "postfix") { postfix = { description = "Postfix mail server user"; uid = config.ids.uids.postfix; @@ -715,10 +712,10 @@ in }; users.groups = - optionalAttrs (group == "postfix") + lib.optionalAttrs (group == "postfix") { ${group}.gid = config.ids.gids.postfix; } - // optionalAttrs (setgidGroup == "postdrop") + // lib.optionalAttrs (setgidGroup == "postdrop") { ${setgidGroup}.gid = config.ids.gids.postdrop; }; @@ -745,11 +742,11 @@ in ln -sf ${mainCfFile} /var/lib/postfix/conf/main.cf ln -sf ${masterCfFile} /var/lib/postfix/conf/master.cf - ${concatStringsSep "\n" (mapAttrsToList (to: from: '' + ${lib.concatStringsSep "\n" (lib.mapAttrsToList (to: from: '' ln -sf ${from} /var/lib/postfix/conf/${to} ${pkgs.postfix}/bin/postalias -o -p /var/lib/postfix/conf/${to} '') cfg.aliasFiles)} - ${concatStringsSep "\n" (mapAttrsToList (to: from: '' + ${lib.concatStringsSep "\n" (lib.mapAttrsToList (to: from: '' ln -sf ${from} /var/lib/postfix/conf/${to} ${pkgs.postfix}/bin/postmap /var/lib/postfix/conf/${to} '') cfg.mapFiles)} @@ -795,7 +792,7 @@ in }; }; - services.postfix.config = (mapAttrs (_: v: mkDefault v) { + services.postfix.config = (lib.mapAttrs (_: v: lib.mkDefault v) { compatibility_level = pkgs.postfix.version; mail_owner = cfg.user; default_privs = "nobody"; @@ -819,39 +816,39 @@ in mail_spool_directory = "/var/spool/mail/"; setgid_group = cfg.setgidGroup; }) - // optionalAttrs (cfg.relayHost != "") { relayhost = if cfg.lookupMX + // lib.optionalAttrs (cfg.relayHost != "") { relayhost = if cfg.lookupMX then "${cfg.relayHost}:${toString cfg.relayPort}" else "[${cfg.relayHost}]:${toString cfg.relayPort}"; } - // optionalAttrs (!config.networking.enableIPv6) { inet_protocols = mkDefault "ipv4"; } - // optionalAttrs (cfg.networks != null) { mynetworks = cfg.networks; } - // optionalAttrs (cfg.networksStyle != "") { mynetworks_style = cfg.networksStyle; } - // optionalAttrs (cfg.hostname != "") { myhostname = cfg.hostname; } - // optionalAttrs (cfg.domain != "") { mydomain = cfg.domain; } - // optionalAttrs (cfg.origin != "") { myorigin = cfg.origin; } - // optionalAttrs (cfg.destination != null) { mydestination = cfg.destination; } - // optionalAttrs (cfg.relayDomains != null) { relay_domains = cfg.relayDomains; } - // optionalAttrs (cfg.recipientDelimiter != "") { recipient_delimiter = cfg.recipientDelimiter; } - // optionalAttrs haveAliases { alias_maps = [ "${cfg.aliasMapType}:/etc/postfix/aliases" ]; } - // optionalAttrs haveTransport { transport_maps = [ "hash:/etc/postfix/transport" ]; } - // optionalAttrs haveVirtual { virtual_alias_maps = [ "${cfg.virtualMapType}:/etc/postfix/virtual" ]; } - // optionalAttrs haveLocalRecipients { local_recipient_maps = [ "hash:/etc/postfix/local_recipients" ] ++ optional haveAliases "$alias_maps"; } - // optionalAttrs (cfg.dnsBlacklists != []) { smtpd_client_restrictions = clientRestrictions; } - // optionalAttrs cfg.useSrs { + // lib.optionalAttrs (!config.networking.enableIPv6) { inet_protocols = lib.mkDefault "ipv4"; } + // lib.optionalAttrs (cfg.networks != null) { mynetworks = cfg.networks; } + // lib.optionalAttrs (cfg.networksStyle != "") { mynetworks_style = cfg.networksStyle; } + // lib.optionalAttrs (cfg.hostname != "") { myhostname = cfg.hostname; } + // lib.optionalAttrs (cfg.domain != "") { mydomain = cfg.domain; } + // lib.optionalAttrs (cfg.origin != "") { myorigin = cfg.origin; } + // lib.optionalAttrs (cfg.destination != null) { mydestination = cfg.destination; } + // lib.optionalAttrs (cfg.relayDomains != null) { relay_domains = cfg.relayDomains; } + // lib.optionalAttrs (cfg.recipientDelimiter != "") { recipient_delimiter = cfg.recipientDelimiter; } + // lib.optionalAttrs haveAliases { alias_maps = [ "${cfg.aliasMapType}:/etc/postfix/aliases" ]; } + // lib.optionalAttrs haveTransport { transport_maps = [ "hash:/etc/postfix/transport" ]; } + // lib.optionalAttrs haveVirtual { virtual_alias_maps = [ "${cfg.virtualMapType}:/etc/postfix/virtual" ]; } + // lib.optionalAttrs haveLocalRecipients { local_recipient_maps = [ "hash:/etc/postfix/local_recipients" ] ++ lib.optional haveAliases "$alias_maps"; } + // lib.optionalAttrs (cfg.dnsBlacklists != []) { smtpd_client_restrictions = clientRestrictions; } + // lib.optionalAttrs cfg.useSrs { sender_canonical_maps = [ "tcp:127.0.0.1:10001" ]; sender_canonical_classes = [ "envelope_sender" ]; recipient_canonical_maps = [ "tcp:127.0.0.1:10002" ]; recipient_canonical_classes = [ "envelope_recipient" ]; } - // optionalAttrs cfg.enableHeaderChecks { header_checks = [ "regexp:/etc/postfix/header_checks" ]; } - // optionalAttrs (cfg.tlsTrustedAuthorities != "") { + // lib.optionalAttrs cfg.enableHeaderChecks { header_checks = [ "regexp:/etc/postfix/header_checks" ]; } + // lib.optionalAttrs (cfg.tlsTrustedAuthorities != "") { smtp_tls_CAfile = cfg.tlsTrustedAuthorities; - smtp_tls_security_level = mkDefault "may"; + smtp_tls_security_level = lib.mkDefault "may"; } - // optionalAttrs (cfg.sslCert != "") { + // lib.optionalAttrs (cfg.sslCert != "") { smtp_tls_cert_file = cfg.sslCert; smtp_tls_key_file = cfg.sslKey; - smtp_tls_security_level = mkDefault "may"; + smtp_tls_security_level = lib.mkDefault "may"; smtpd_tls_cert_file = cfg.sslCert; smtpd_tls_key_file = cfg.sslKey; @@ -931,16 +928,16 @@ in scache = { maxproc = 1; }; - } // optionalAttrs cfg.enableSubmission { + } // lib.optionalAttrs cfg.enableSubmission { submission = { type = "inet"; private = false; command = "smtpd"; args = let mkKeyVal = opt: val: [ "-o" (opt + "=" + val) ]; - in concatLists (mapAttrsToList mkKeyVal cfg.submissionOptions); + in lib.concatLists (lib.mapAttrsToList mkKeyVal cfg.submissionOptions); }; - } // optionalAttrs cfg.enableSmtp { + } // lib.optionalAttrs cfg.enableSmtp { smtp_inet = { name = "smtp"; type = "inet"; @@ -952,7 +949,7 @@ in command = "smtp"; args = [ "-o" "smtp_fallback_relay=" ]; }; - } // optionalAttrs cfg.enableSubmissions { + } // lib.optionalAttrs cfg.enableSubmissions { submissions = { type = "inet"; private = false; @@ -964,43 +961,43 @@ in cfg.submissionsOptions.smtpd_tls_security_level == "may"; submissionsOptions = cfg.submissionsOptions // { smtpd_tls_wrappermode = "yes"; - } // optionalAttrs adjustSmtpTlsSecurityLevel { + } // lib.optionalAttrs adjustSmtpTlsSecurityLevel { smtpd_tls_security_level = "encrypt"; }; - in concatLists (mapAttrsToList mkKeyVal submissionsOptions); + in lib.concatLists (lib.mapAttrsToList mkKeyVal submissionsOptions); }; }; } - (mkIf haveAliases { + (lib.mkIf haveAliases { services.postfix.aliasFiles.aliases = aliasesFile; }) - (mkIf haveCanonical { + (lib.mkIf haveCanonical { services.postfix.mapFiles.canonical = canonicalFile; }) - (mkIf haveTransport { + (lib.mkIf haveTransport { services.postfix.mapFiles.transport = transportFile; }) - (mkIf haveVirtual { + (lib.mkIf haveVirtual { services.postfix.mapFiles.virtual = virtualFile; }) - (mkIf haveLocalRecipients { + (lib.mkIf haveLocalRecipients { services.postfix.mapFiles.local_recipients = localRecipientMapFile; }) - (mkIf cfg.enableHeaderChecks { + (lib.mkIf cfg.enableHeaderChecks { services.postfix.mapFiles.header_checks = headerChecksFile; }) - (mkIf (cfg.dnsBlacklists != []) { + (lib.mkIf (cfg.dnsBlacklists != []) { services.postfix.mapFiles.client_access = checkClientAccessFile; }) ]); imports = [ - (mkRemovedOptionModule [ "services" "postfix" "sslCACert" ] + (lib.mkRemovedOptionModule [ "services" "postfix" "sslCACert" ] "services.postfix.sslCACert was replaced by services.postfix.tlsTrustedAuthorities. In case you intend that your server should validate requested client certificates use services.postfix.extraConfig.") - (mkChangedOptionModule [ "services" "postfix" "useDane" ] + (lib.mkChangedOptionModule [ "services" "postfix" "useDane" ] [ "services" "postfix" "config" "smtp_tls_security_level" ] - (config: mkIf config.services.postfix.useDane "dane")) + (config: lib.mkIf config.services.postfix.useDane "dane")) ]; } diff --git a/nixos/modules/services/mail/sympa.nix b/nixos/modules/services/mail/sympa.nix index fa8d3b82aaa0..c83844516557 100644 --- a/nixos/modules/services/mail/sympa.nix +++ b/nixos/modules/services/mail/sympa.nix @@ -1,14 +1,11 @@ { config, lib, pkgs, ... }: - -with lib; - let cfg = config.services.sympa; dataDir = "/var/lib/sympa"; user = "sympa"; group = "sympa"; pkg = pkgs.sympa; - fqdns = attrNames cfg.domains; + fqdns = lib.attrNames cfg.domains; usingNginx = cfg.web.enable && cfg.web.server == "nginx"; mysqlLocal = cfg.database.createLocally && cfg.database.type == "MySQL"; pgsqlLocal = cfg.database.createLocally && cfg.database.type == "PostgreSQL"; @@ -42,15 +39,15 @@ let } // commonServiceConfig; configVal = value: - if isBool value then + if lib.isBool value then if value then "on" else "off" else toString value; - configGenerator = c: concatStrings (flip mapAttrsToList c (key: val: "${key}\t${configVal val}\n")); + configGenerator = c: lib.concatStrings (lib.flip lib.mapAttrsToList c (key: val: "${key}\t${configVal val}\n")); mainConfig = pkgs.writeText "sympa.conf" (configGenerator cfg.settings); robotConfig = fqdn: domain: pkgs.writeText "${fqdn}-robot.conf" (configGenerator domain.settings); - transport = pkgs.writeText "transport.sympa" (concatStringsSep "\n" (flip map fqdns (domain: '' + transport = pkgs.writeText "transport.sympa" (lib.concatStringsSep "\n" (lib.flip map fqdns (domain: '' ${domain} error:User unknown in recipient table sympa@${domain} sympa:sympa@${domain} listmaster@${domain} sympa:listmaster@${domain} @@ -58,7 +55,7 @@ let abuse-feedback-report@${domain} sympabounce:sympa@${domain} ''))); - virtual = pkgs.writeText "virtual.sympa" (concatStringsSep "\n" (flip map fqdns (domain: '' + virtual = pkgs.writeText "virtual.sympa" (lib.concatStringsSep "\n" (lib.flip map fqdns (domain: '' sympa-request@${domain} postmaster@localhost sympa-owner@${domain} postmaster@localhost ''))); @@ -73,16 +70,16 @@ let [% list.name %][% return_path_suffix %]@[% list.domain %] sympabounce:[% list.name %]@[% list.domain %] ''; - enabledFiles = filterAttrs (n: v: v.enable) cfg.settingsFile; + enabledFiles = lib.filterAttrs (n: v: v.enable) cfg.settingsFile; in { ###### interface - options.services.sympa = with types; { + options.services.sympa = with lib.types; { - enable = mkEnableOption "Sympa mailing list manager"; + enable = lib.mkEnableOption "Sympa mailing list manager"; - lang = mkOption { + lang = lib.mkOption { type = str; default = "en_US"; example = "cs"; @@ -93,7 +90,7 @@ in ''; }; - listMasters = mkOption { + listMasters = lib.mkOption { type = listOf str; example = [ "postmaster@sympa.example.org" ]; description = '' @@ -102,7 +99,7 @@ in ''; }; - mainDomain = mkOption { + mainDomain = lib.mkOption { type = nullOr str; default = null; example = "lists.example.org"; @@ -112,10 +109,10 @@ in ''; }; - domains = mkOption { + domains = lib.mkOption { type = attrsOf (submodule ({ name, config, ... }: { options = { - webHost = mkOption { + webHost = lib.mkOption { type = nullOr str; default = null; example = "archive.example.org"; @@ -124,13 +121,13 @@ in DNS record of type A (or AAAA or CNAME) has to exist with this value. ''; }; - webLocation = mkOption { + webLocation = lib.mkOption { type = str; default = "/"; example = "/sympa"; description = "URL path part of the web interface."; }; - settings = mkOption { + settings = lib.mkOption { type = attrsOf (oneOf [ str int bool ]); default = {}; example = { @@ -144,8 +141,8 @@ in }; }; - config.settings = mkIf (cfg.web.enable && config.webHost != null) { - wwsympa_url = mkDefault "https://${config.webHost}${strings.removeSuffix "/" config.webLocation}"; + config.settings = lib.mkIf (cfg.web.enable && config.webHost != null) { + wwsympa_url = lib.mkDefault "https://${config.webHost}${lib.removeSuffix "/" config.webLocation}"; }; })); @@ -153,7 +150,7 @@ in Email domains handled by this instance. There have to be MX records for keys of this attribute set. ''; - example = literalExpression '' + example = lib.literalExpression '' { "lists.example.org" = { webHost = "lists.example.org"; @@ -168,14 +165,14 @@ in }; database = { - type = mkOption { + type = lib.mkOption { type = enum [ "SQLite" "PostgreSQL" "MySQL" ]; default = "SQLite"; example = "MySQL"; description = "Database engine to use."; }; - host = mkOption { + host = lib.mkOption { type = nullOr str; default = null; description = '' @@ -191,29 +188,29 @@ in ''; }; - port = mkOption { + port = lib.mkOption { type = nullOr port; default = null; description = "Database port. Use `null` for default port."; }; - name = mkOption { + name = lib.mkOption { type = str; default = if cfg.database.type == "SQLite" then "${dataDir}/sympa.sqlite" else "sympa"; - defaultText = literalExpression ''if database.type == "SQLite" then "${dataDir}/sympa.sqlite" else "sympa"''; + defaultText = lib.literalExpression ''if database.type == "SQLite" then "${dataDir}/sympa.sqlite" else "sympa"''; description = '' Database name. When using SQLite this must be an absolute path to the database file. ''; }; - user = mkOption { + user = lib.mkOption { type = nullOr str; default = user; description = "Database user. The system user name is used as a default."; }; - passwordFile = mkOption { + passwordFile = lib.mkOption { type = nullOr path; default = null; example = "/run/keys/sympa-dbpassword"; @@ -222,7 +219,7 @@ in ''; }; - createLocally = mkOption { + createLocally = lib.mkOption { type = bool; default = true; description = "Whether to create a local database automatically."; @@ -230,13 +227,13 @@ in }; web = { - enable = mkOption { + enable = lib.mkOption { type = bool; default = true; description = "Whether to enable Sympa web interface."; }; - server = mkOption { + server = lib.mkOption { type = enum [ "nginx" "none" ]; default = "nginx"; description = '' @@ -246,7 +243,7 @@ in ''; }; - https = mkOption { + https = lib.mkOption { type = bool; default = true; description = '' @@ -255,7 +252,7 @@ in ''; }; - fcgiProcs = mkOption { + fcgiProcs = lib.mkOption { type = ints.positive; default = 2; description = "Number of FastCGI processes to fork."; @@ -263,7 +260,7 @@ in }; mta = { - type = mkOption { + type = lib.mkOption { type = enum [ "postfix" "none" ]; default = "postfix"; description = '' @@ -276,10 +273,10 @@ in }; }; - settings = mkOption { + settings = lib.mkOption { type = attrsOf (oneOf [ str int bool ]); default = {}; - example = literalExpression '' + example = lib.literalExpression '' { default_home = "lists"; viewlogs_page_size = 50; @@ -292,29 +289,29 @@ in ''; }; - settingsFile = mkOption { + settingsFile = lib.mkOption { type = attrsOf (submodule ({ name, config, ... }: { options = { - enable = mkOption { + enable = lib.mkOption { type = bool; default = true; description = "Whether this file should be generated. This option allows specific files to be disabled."; }; - text = mkOption { + text = lib.mkOption { default = null; type = nullOr lines; description = "Text of the file."; }; - source = mkOption { + source = lib.mkOption { type = path; description = "Path of the source file."; }; }; - config.source = mkIf (config.text != null) (mkDefault (pkgs.writeText "sympa-${baseNameOf name}" config.text)); + config.source = lib.mkIf (config.text != null) (lib.mkDefault (pkgs.writeText "sympa-${baseNameOf name}" config.text)); })); default = {}; - example = literalExpression '' + example = lib.literalExpression '' { "list_data/lists.example.org/help" = { text = "subject This list provides help to users"; @@ -327,11 +324,11 @@ in ###### implementation - config = mkIf cfg.enable { + config = lib.mkIf cfg.enable { - services.sympa.settings = (mapAttrs (_: v: mkDefault v) { - domain = if cfg.mainDomain != null then cfg.mainDomain else head fqdns; - listmaster = concatStringsSep "," cfg.listMasters; + services.sympa.settings = (lib.mapAttrs (_: v: lib.mkDefault v) { + domain = if cfg.mainDomain != null then cfg.mainDomain else lib.head fqdns; + listmaster = lib.concatStringsSep "," cfg.listMasters; lang = cfg.lang; home = "${dataDir}/list_data"; @@ -344,24 +341,24 @@ in db_name = cfg.database.name; db_user = cfg.database.name; } - // (optionalAttrs (cfg.database.host != null) { + // (lib.optionalAttrs (cfg.database.host != null) { db_host = cfg.database.host; }) - // (optionalAttrs mysqlLocal { + // (lib.optionalAttrs mysqlLocal { db_host = "localhost"; # use unix domain socket }) - // (optionalAttrs pgsqlLocal { + // (lib.optionalAttrs pgsqlLocal { db_host = "/run/postgresql"; # use unix domain socket }) - // (optionalAttrs (cfg.database.port != null) { + // (lib.optionalAttrs (cfg.database.port != null) { db_port = cfg.database.port; }) - // (optionalAttrs (cfg.mta.type == "postfix") { + // (lib.optionalAttrs (cfg.mta.type == "postfix") { sendmail_aliases = "${dataDir}/sympa_transport"; aliases_program = "${pkgs.postfix}/bin/postmap"; aliases_db_type = "hash"; }) - // (optionalAttrs cfg.web.enable { + // (lib.optionalAttrs cfg.web.enable { static_content_path = "${dataDir}/static_content"; css_path = "${dataDir}/static_content/css"; pictures_path = "${dataDir}/static_content/pictures"; @@ -369,12 +366,12 @@ in })); services.sympa.settingsFile = { - "virtual.sympa" = mkDefault { source = virtual; }; - "transport.sympa" = mkDefault { source = transport; }; - "etc/list_aliases.tt2" = mkDefault { source = listAliases; }; + "virtual.sympa" = lib.mkDefault { source = virtual; }; + "transport.sympa" = lib.mkDefault { source = transport; }; + "etc/list_aliases.tt2" = lib.mkDefault { source = listAliases; }; } - // (flip mapAttrs' cfg.domains (fqdn: domain: - nameValuePair "etc/${fqdn}/robot.conf" (mkDefault { source = robotConfig fqdn domain; }))); + // (lib.flip lib.mapAttrs' cfg.domains (fqdn: domain: + lib.nameValuePair "etc/${fqdn}/robot.conf" (lib.mkDefault { source = robotConfig fqdn domain; }))); environment = { systemPackages = [ pkg ]; @@ -416,14 +413,14 @@ in "d /run/sympa 0755 ${user} ${group} - -" ] - ++ (flip concatMap fqdns (fqdn: [ + ++ (lib.flip lib.concatMap fqdns (fqdn: [ "d ${dataDir}/etc/${fqdn} 0700 ${user} ${group} - -" "d ${dataDir}/list_data/${fqdn} 0700 ${user} ${group} - -" ])) - #++ (flip mapAttrsToList enabledFiles (k: v: + #++ (lib.flip lib.mapAttrsToList enabledFiles (k: v: # "L+ ${dataDir}/${k} - - - - ${v.source}" #)) - ++ (concatLists (flip mapAttrsToList enabledFiles (k: v: [ + ++ (lib.concatLists (lib.flip lib.mapAttrsToList enabledFiles (k: v: [ # sympa doesn't handle symlinks well (e.g. fails to create locks) # force-copy instead "R ${dataDir}/${k} - - - - -" @@ -443,13 +440,13 @@ in umask 0077 cp -f ${mainConfig} ${dataDir}/etc/sympa.conf - ${optionalString (cfg.database.passwordFile != null) '' + ${lib.optionalString (cfg.database.passwordFile != null) '' chmod u+w ${dataDir}/etc/sympa.conf echo -n "db_passwd " >> ${dataDir}/etc/sympa.conf cat ${cfg.database.passwordFile} >> ${dataDir}/etc/sympa.conf ''} - ${optionalString (cfg.mta.type == "postfix") '' + ${lib.optionalString (cfg.mta.type == "postfix") '' ${pkgs.postfix}/bin/postmap hash:${dataDir}/virtual.sympa ${pkgs.postfix}/bin/postmap hash:${dataDir}/transport.sympa ''} @@ -478,7 +475,7 @@ in serviceConfig = sympaServiceConfig "task_manager"; }; - systemd.services.wwsympa = mkIf usingNginx { + systemd.services.wwsympa = lib.mkIf usingNginx { wantedBy = [ "multi-user.target" ]; after = [ "sympa.service" ]; serviceConfig = { @@ -499,14 +496,14 @@ in } // commonServiceConfig; }; - services.nginx.enable = mkIf usingNginx true; - services.nginx.virtualHosts = mkIf usingNginx (let - vHosts = unique (remove null (mapAttrsToList (_k: v: v.webHost) cfg.domains)); - hostLocations = host: map (v: v.webLocation) (filter (v: v.webHost == host) (attrValues cfg.domains)); - httpsOpts = optionalAttrs cfg.web.https { forceSSL = mkDefault true; enableACME = mkDefault true; }; + services.nginx.enable = lib.mkIf usingNginx true; + services.nginx.virtualHosts = lib.mkIf usingNginx (let + vHosts = lib.unique (lib.remove null (lib.mapAttrsToList (_k: v: v.webHost) cfg.domains)); + hostLocations = host: map (v: v.webLocation) (lib.filter (v: v.webHost == host) (lib.attrValues cfg.domains)); + httpsOpts = lib.optionalAttrs cfg.web.https { forceSSL = lib.mkDefault true; enableACME = lib.mkDefault true; }; in - genAttrs vHosts (host: { - locations = genAttrs (hostLocations host) (loc: { + lib.genAttrs vHosts (host: { + locations = lib.genAttrs (hostLocations host) (loc: { extraConfig = '' include ${config.services.nginx.package}/conf/fastcgi_params; @@ -517,7 +514,7 @@ in }; } // httpsOpts)); - services.postfix = mkIf (cfg.mta.type == "postfix") { + services.postfix = lib.mkIf (cfg.mta.type == "postfix") { enable = true; recipientDelimiter = "+"; config = { @@ -561,9 +558,9 @@ in }; }; - services.mysql = optionalAttrs mysqlLocal { + services.mysql = lib.optionalAttrs mysqlLocal { enable = true; - package = mkDefault pkgs.mariadb; + package = lib.mkDefault pkgs.mariadb; ensureDatabases = [ cfg.database.name ]; ensureUsers = [ { name = cfg.database.user; @@ -572,7 +569,7 @@ in ]; }; - services.postgresql = optionalAttrs pgsqlLocal { + services.postgresql = lib.optionalAttrs pgsqlLocal { enable = true; ensureDatabases = [ cfg.database.name ]; ensureUsers = [ @@ -584,5 +581,5 @@ in }; - meta.maintainers = with maintainers; [ mmilata sorki ]; + meta.maintainers = with lib.maintainers; [ mmilata sorki ]; } diff --git a/nixos/modules/services/misc/autorandr.nix b/nixos/modules/services/misc/autorandr.nix index 1dbfc4caa31d..f0490d63ad7f 100644 --- a/nixos/modules/services/misc/autorandr.nix +++ b/nixos/modules/services/misc/autorandr.nix @@ -1,32 +1,29 @@ { config, lib, pkgs, ... }: - -with lib; - let cfg = config.services.autorandr; - hookType = types.lines; + hookType = lib.types.lines; matrixOf = n: m: elemType: - mkOptionType rec { + lib.mkOptionType rec { name = "matrixOf"; description = "${toString n}×${toString m} matrix of ${elemType.description}s"; check = xss: - let listOfSize = l: xs: isList xs && length xs == l; + let listOfSize = l: xs: lib.isList xs && lib.length xs == l; in listOfSize n xss - && all (xs: listOfSize m xs && all elemType.check xs) xss; - merge = mergeOneOption; + && lib.all (xs: listOfSize m xs && lib.all elemType.check xs) xss; + merge = lib.mergeOneOption; getSubOptions = prefix: elemType.getSubOptions (prefix ++ [ "*" "*" ]); getSubModules = elemType.getSubModules; substSubModules = mod: matrixOf n m (elemType.substSubModules mod); - functor = (defaultFunctor name) // { wrapped = elemType; }; + functor = (lib.defaultFunctor name) // { wrapped = elemType; }; }; - profileModule = types.submodule { + profileModule = lib.types.submodule { options = { - fingerprint = mkOption { - type = types.attrsOf types.str; + fingerprint = lib.mkOption { + type = lib.types.attrsOf lib.types.str; description = '' Output name to EDID mapping. Use `autorandr --fingerprint` to get current setup values. @@ -34,13 +31,13 @@ let default = { }; }; - config = mkOption { - type = types.attrsOf configModule; + config = lib.mkOption { + type = lib.types.attrsOf configModule; description = "Per output profile configuration."; default = { }; }; - hooks = mkOption { + hooks = lib.mkOption { type = hooksModule; description = "Profile hook scripts."; default = { }; @@ -48,66 +45,66 @@ let }; }; - configModule = types.submodule { + configModule = lib.types.submodule { options = { - enable = mkOption { - type = types.bool; + enable = lib.mkOption { + type = lib.types.bool; description = "Whether to enable the output."; default = true; }; - crtc = mkOption { - type = types.nullOr types.ints.unsigned; + crtc = lib.mkOption { + type = lib.types.nullOr lib.types.ints.unsigned; description = "Output video display controller."; default = null; example = 0; }; - primary = mkOption { - type = types.bool; + primary = lib.mkOption { + type = lib.types.bool; description = "Whether output should be marked as primary"; default = false; }; - position = mkOption { - type = types.str; + position = lib.mkOption { + type = lib.types.str; description = "Output position"; default = ""; example = "5760x0"; }; - mode = mkOption { - type = types.str; + mode = lib.mkOption { + type = lib.types.str; description = "Output resolution."; default = ""; example = "3840x2160"; }; - rate = mkOption { - type = types.str; + rate = lib.mkOption { + type = lib.types.str; description = "Output framerate."; default = ""; example = "60.00"; }; - gamma = mkOption { - type = types.str; + gamma = lib.mkOption { + type = lib.types.str; description = "Output gamma configuration."; default = ""; example = "1.0:0.909:0.833"; }; - rotate = mkOption { - type = types.nullOr (types.enum [ "normal" "left" "right" "inverted" ]); + rotate = lib.mkOption { + type = lib.types.nullOr (lib.types.enum [ "normal" "left" "right" "inverted" ]); description = "Output rotate configuration."; default = null; example = "left"; }; - transform = mkOption { - type = types.nullOr (matrixOf 3 3 types.float); + transform = lib.mkOption { + type = lib.types.nullOr (matrixOf 3 3 lib.types.float); default = null; - example = literalExpression '' + example = lib.literalExpression '' [ [ 0.6 0.0 0.0 ] [ 0.0 0.6 0.0 ] @@ -121,30 +118,30 @@ let ''; }; - dpi = mkOption { - type = types.nullOr types.ints.positive; + dpi = lib.mkOption { + type = lib.types.nullOr lib.types.ints.positive; description = "Output DPI configuration."; default = null; example = 96; }; - scale = mkOption { - type = types.nullOr (types.submodule { + scale = lib.mkOption { + type = lib.types.nullOr (lib.types.submodule { options = { - method = mkOption { - type = types.enum [ "factor" "pixel" ]; + method = lib.mkOption { + type = lib.types.enum [ "factor" "pixel" ]; description = "Output scaling method."; default = "factor"; example = "pixel"; }; - x = mkOption { - type = types.either types.float types.ints.positive; + x = lib.mkOption { + type = lib.types.either lib.types.float lib.types.ints.positive; description = "Horizontal scaling factor/pixels."; }; - y = mkOption { - type = types.either types.float types.ints.positive; + y = lib.mkOption { + type = lib.types.either lib.types.float lib.types.ints.positive; description = "Vertical scaling factor/pixels."; }; }; @@ -164,7 +161,7 @@ let exclusive. ''; default = null; - example = literalExpression '' + example = lib.literalExpression '' { x = 1.25; y = 1.25; @@ -174,22 +171,22 @@ let }; }; - hooksModule = types.submodule { + hooksModule = lib.types.submodule { options = { - postswitch = mkOption { - type = types.attrsOf hookType; + postswitch = lib.mkOption { + type = lib.types.attrsOf hookType; description = "Postswitch hook executed after mode switch."; default = { }; }; - preswitch = mkOption { - type = types.attrsOf hookType; + preswitch = lib.mkOption { + type = lib.types.attrsOf hookType; description = "Preswitch hook executed before mode switch."; default = { }; }; - predetect = mkOption { - type = types.attrsOf hookType; + predetect = lib.mkOption { + type = lib.types.attrsOf hookType; description = '' Predetect hook executed before autorandr attempts to run xrandr. ''; @@ -199,37 +196,37 @@ let }; hookToFile = folder: name: hook: - nameValuePair "xdg/autorandr/${folder}/${name}" { + lib.nameValuePair "xdg/autorandr/${folder}/${name}" { source = "${pkgs.writeShellScriptBin "hook" hook}/bin/hook"; }; profileToFiles = name: profile: with profile; - mkMerge ([ + lib.mkMerge ([ { - "xdg/autorandr/${name}/setup".text = concatStringsSep "\n" - (mapAttrsToList fingerprintToString fingerprint); + "xdg/autorandr/${name}/setup".text = lib.concatStringsSep "\n" + (lib.mapAttrsToList fingerprintToString fingerprint); "xdg/autorandr/${name}/config".text = - concatStringsSep "\n" (mapAttrsToList configToString profile.config); + lib.concatStringsSep "\n" (lib.mapAttrsToList configToString profile.config); } - (mapAttrs' (hookToFile "${name}/postswitch.d") hooks.postswitch) - (mapAttrs' (hookToFile "${name}/preswitch.d") hooks.preswitch) - (mapAttrs' (hookToFile "${name}/predetect.d") hooks.predetect) + (lib.mapAttrs' (hookToFile "${name}/postswitch.d") hooks.postswitch) + (lib.mapAttrs' (hookToFile "${name}/preswitch.d") hooks.preswitch) + (lib.mapAttrs' (hookToFile "${name}/predetect.d") hooks.predetect) ]); fingerprintToString = name: edid: "${name} ${edid}"; configToString = name: config: if config.enable then - concatStringsSep "\n" ([ "output ${name}" ] - ++ optional (config.position != "") "pos ${config.position}" - ++ optional (config.crtc != null) "crtc ${toString config.crtc}" - ++ optional config.primary "primary" - ++ optional (config.dpi != null) "dpi ${toString config.dpi}" - ++ optional (config.gamma != "") "gamma ${config.gamma}" - ++ optional (config.mode != "") "mode ${config.mode}" - ++ optional (config.rate != "") "rate ${config.rate}" - ++ optional (config.rotate != null) "rotate ${config.rotate}" - ++ optional (config.transform != null) ("transform " - + concatMapStringsSep "," toString (flatten config.transform)) - ++ optional (config.scale != null) + lib.concatStringsSep "\n" ([ "output ${name}" ] + ++ lib.optional (config.position != "") "pos ${config.position}" + ++ lib.optional (config.crtc != null) "crtc ${toString config.crtc}" + ++ lib.optional config.primary "primary" + ++ lib.optional (config.dpi != null) "dpi ${toString config.dpi}" + ++ lib.optional (config.gamma != "") "gamma ${config.gamma}" + ++ lib.optional (config.mode != "") "mode ${config.mode}" + ++ lib.optional (config.rate != "") "rate ${config.rate}" + ++ lib.optional (config.rotate != null) "rotate ${config.rotate}" + ++ lib.optional (config.transform != null) ("transform " + + lib.concatMapStringsSep "," toString (lib.flatten config.transform)) + ++ lib.optional (config.scale != null) ((if config.scale.method == "factor" then "scale" else "scale-from") + " ${toString config.scale.x}x${toString config.scale.y}")) else '' @@ -242,11 +239,11 @@ in { options = { services.autorandr = { - enable = mkEnableOption "handling of hotplug and sleep events by autorandr"; + enable = lib.mkEnableOption "handling of hotplug and sleep events by autorandr"; - defaultTarget = mkOption { + defaultTarget = lib.mkOption { default = "default"; - type = types.str; + type = lib.types.str; description = '' Fallback if no monitor layout can be detected. See the docs (https://github.com/phillipberndt/autorandr/blob/v1.0/README.md#how-to-use) @@ -254,23 +251,23 @@ in { ''; }; - ignoreLid = mkOption { + ignoreLid = lib.mkOption { default = false; - type = types.bool; + type = lib.types.bool; description = "Treat outputs as connected even if their lids are closed"; }; - matchEdid = mkOption { + matchEdid = lib.mkOption { default = false; - type = types.bool; + type = lib.types.bool; description = "Match displays based on edid instead of name"; }; - hooks = mkOption { + hooks = lib.mkOption { type = hooksModule; description = "Global hook scripts"; default = { }; - example = literalExpression '' + example = lib.literalExpression '' { postswitch = { "notify-i3" = "''${pkgs.i3}/bin/i3-msg restart"; @@ -296,11 +293,11 @@ in { } ''; }; - profiles = mkOption { - type = types.attrsOf profileModule; + profiles = lib.mkOption { + type = lib.types.attrsOf profileModule; description = "Autorandr profiles specification."; default = { }; - example = literalExpression '' + example = lib.literalExpression '' { "work" = { fingerprint = { @@ -330,17 +327,17 @@ in { }; - config = mkIf cfg.enable { + config = lib.mkIf cfg.enable { services.udev.packages = [ pkgs.autorandr ]; environment = { systemPackages = [ pkgs.autorandr ]; - etc = mkMerge ([ - (mapAttrs' (hookToFile "postswitch.d") cfg.hooks.postswitch) - (mapAttrs' (hookToFile "preswitch.d") cfg.hooks.preswitch) - (mapAttrs' (hookToFile "predetect.d") cfg.hooks.predetect) - (mkMerge (mapAttrsToList profileToFiles cfg.profiles)) + etc = lib.mkMerge ([ + (lib.mapAttrs' (hookToFile "postswitch.d") cfg.hooks.postswitch) + (lib.mapAttrs' (hookToFile "preswitch.d") cfg.hooks.preswitch) + (lib.mapAttrs' (hookToFile "predetect.d") cfg.hooks.predetect) + (lib.mkMerge (lib.mapAttrsToList profileToFiles cfg.profiles)) ]); }; @@ -357,8 +354,8 @@ in { --batch \ --change \ --default ${cfg.defaultTarget} \ - ${optionalString cfg.ignoreLid "--ignore-lid"} \ - ${optionalString cfg.matchEdid "--match-edid"} + ${lib.optionalString cfg.ignoreLid "--ignore-lid"} \ + ${lib.optionalString cfg.matchEdid "--match-edid"} ''; Type = "oneshot"; RemainAfterExit = false; @@ -368,5 +365,5 @@ in { }; - meta.maintainers = with maintainers; [ alexnortung ]; + meta.maintainers = with lib.maintainers; [ alexnortung ]; } diff --git a/nixos/modules/services/misc/gammu-smsd.nix b/nixos/modules/services/misc/gammu-smsd.nix index b30258333af2..78f4e53815f2 100644 --- a/nixos/modules/services/misc/gammu-smsd.nix +++ b/nixos/modules/services/misc/gammu-smsd.nix @@ -1,6 +1,4 @@ { pkgs, lib, config, ... }: - -with lib; let cfg = config.services.gammu-smsd; @@ -10,7 +8,7 @@ let Connection = ${cfg.device.connection} SynchronizeTime = ${if cfg.device.synchronizeTime then "yes" else "no"} LogFormat = ${cfg.log.format} - ${optionalString (cfg.device.pin != null) "PIN = ${cfg.device.pin}"} + ${lib.optionalString (cfg.device.pin != null) "PIN = ${cfg.device.pin}"} ${cfg.extraConfig.gammu} @@ -18,25 +16,25 @@ let LogFile = ${cfg.log.file} Service = ${cfg.backend.service} - ${optionalString (cfg.backend.service == "files") '' + ${lib.optionalString (cfg.backend.service == "files") '' InboxPath = ${cfg.backend.files.inboxPath} OutboxPath = ${cfg.backend.files.outboxPath} SentSMSPath = ${cfg.backend.files.sentSMSPath} ErrorSMSPath = ${cfg.backend.files.errorSMSPath} ''} - ${optionalString (cfg.backend.service == "sql" && cfg.backend.sql.driver == "sqlite") '' + ${lib.optionalString (cfg.backend.service == "sql" && cfg.backend.sql.driver == "sqlite") '' Driver = ${cfg.backend.sql.driver} DBDir = ${cfg.backend.sql.database} ''} - ${optionalString (cfg.backend.service == "sql" && cfg.backend.sql.driver == "native_pgsql") ( + ${lib.optionalString (cfg.backend.service == "sql" && cfg.backend.sql.driver == "native_pgsql") ( with cfg.backend; '' Driver = ${sql.driver} - ${optionalString (sql.database!= null) "Database = ${sql.database}"} - ${optionalString (sql.host != null) "Host = ${sql.host}"} - ${optionalString (sql.user != null) "User = ${sql.user}"} - ${optionalString (sql.password != null) "Password = ${sql.password}"} + ${lib.optionalString (sql.database!= null) "Database = ${sql.database}"} + ${lib.optionalString (sql.host != null) "Host = ${sql.host}"} + ${lib.optionalString (sql.user != null) "User = ${sql.user}"} + ${lib.optionalString (sql.password != null) "Password = ${sql.password}"} '')} ${cfg.extraConfig.smsd} @@ -53,42 +51,42 @@ in { options = { services.gammu-smsd = { - enable = mkEnableOption "gammu-smsd daemon"; + enable = lib.mkEnableOption "gammu-smsd daemon"; - user = mkOption { - type = types.str; + user = lib.mkOption { + type = lib.types.str; default = "smsd"; description = "User that has access to the device"; }; device = { - path = mkOption { - type = types.path; + path = lib.mkOption { + type = lib.types.path; description = "Device node or address of the phone"; example = "/dev/ttyUSB2"; }; - group = mkOption { - type = types.str; + group = lib.mkOption { + type = lib.types.str; default = "root"; description = "Owner group of the device"; example = "dialout"; }; - connection = mkOption { - type = types.str; + connection = lib.mkOption { + type = lib.types.str; default = "at"; description = "Protocol which will be used to talk to the phone"; }; - synchronizeTime = mkOption { - type = types.bool; + synchronizeTime = lib.mkOption { + type = lib.types.bool; default = true; description = "Whether to set time from computer to the phone during starting connection"; }; - pin = mkOption { - type = types.nullOr types.str; + pin = lib.mkOption { + type = lib.types.nullOr lib.types.str; default = null; description = "PIN code for the simcard"; }; @@ -96,14 +94,14 @@ in { log = { - file = mkOption { - type = types.str; + file = lib.mkOption { + type = lib.types.str; default = "syslog"; description = "Path to file where information about communication will be stored"; }; - format = mkOption { - type = types.enum [ "nothing" "text" "textall" "textalldate" "errors" "errorsdate" "binary" ]; + format = lib.mkOption { + type = lib.types.enum [ "nothing" "text" "textall" "textalldate" "errors" "errorsdate" "binary" ]; default = "errors"; description = "Determines what will be logged to the LogFile"; }; @@ -111,15 +109,15 @@ in { extraConfig = { - gammu = mkOption { - type = types.lines; + gammu = lib.mkOption { + type = lib.types.lines; default = ""; description = "Extra config lines to be added into [gammu] section"; }; - smsd = mkOption { - type = types.lines; + smsd = lib.mkOption { + type = lib.types.lines; default = ""; description = "Extra config lines to be added into [smsd] section"; }; @@ -127,70 +125,70 @@ in { backend = { - service = mkOption { - type = types.enum [ "null" "files" "sql" ]; + service = lib.mkOption { + type = lib.types.enum [ "null" "files" "sql" ]; default = "null"; description = "Service to use to store sms data."; }; files = { - inboxPath = mkOption { - type = types.path; + inboxPath = lib.mkOption { + type = lib.types.path; default = "/var/spool/sms/inbox/"; description = "Where the received SMSes are stored"; }; - outboxPath = mkOption { - type = types.path; + outboxPath = lib.mkOption { + type = lib.types.path; default = "/var/spool/sms/outbox/"; description = "Where SMSes to be sent should be placed"; }; - sentSMSPath = mkOption { - type = types.path; + sentSMSPath = lib.mkOption { + type = lib.types.path; default = "/var/spool/sms/sent/"; description = "Where the transmitted SMSes are placed"; }; - errorSMSPath = mkOption { - type = types.path; + errorSMSPath = lib.mkOption { + type = lib.types.path; default = "/var/spool/sms/error/"; description = "Where SMSes with error in transmission is placed"; }; }; sql = { - driver = mkOption { - type = types.enum [ "native_mysql" "native_pgsql" "odbc" "dbi" ]; + driver = lib.mkOption { + type = lib.types.enum [ "native_mysql" "native_pgsql" "odbc" "dbi" ]; description = "DB driver to use"; }; - sqlDialect = mkOption { - type = types.nullOr types.str; + sqlDialect = lib.mkOption { + type = lib.types.nullOr lib.types.str; default = null; description = "SQL dialect to use (odbc driver only)"; }; - database = mkOption { - type = types.nullOr types.str; + database = lib.mkOption { + type = lib.types.nullOr lib.types.str; default = null; description = "Database name to store sms data"; }; - host = mkOption { - type = types.str; + host = lib.mkOption { + type = lib.types.str; default = "localhost"; description = "Database server address"; }; - user = mkOption { - type = types.nullOr types.str; + user = lib.mkOption { + type = lib.types.nullOr lib.types.str; default = null; description = "User name used for connection to the database"; }; - password = mkOption { - type = types.nullOr types.str; + password = lib.mkOption { + type = lib.types.nullOr lib.types.str; default = null; description = "User password used for connection to the database"; }; @@ -199,7 +197,7 @@ in { }; }; - config = mkIf cfg.enable { + config = lib.mkIf cfg.enable { users.users.${cfg.user} = { description = "gammu-smsd user"; isSystemUser = true; @@ -207,7 +205,7 @@ in { }; environment.systemPackages = with cfg.backend; [ gammuPackage ] - ++ optionals (service == "sql" && sql.driver == "sqlite") [ pkgs.sqlite ]; + ++ lib.optionals (service == "sql" && sql.driver == "sqlite") [ pkgs.sqlite ]; systemd.services.gammu-smsd = { description = "gammu-smsd daemon"; @@ -215,29 +213,29 @@ in { wantedBy = [ "multi-user.target" ]; wants = with cfg.backend; [ ] - ++ optionals (service == "sql" && sql.driver == "native_pgsql") [ "postgresql.service" ]; + ++ lib.optionals (service == "sql" && sql.driver == "native_pgsql") [ "postgresql.service" ]; preStart = with cfg.backend; - optionalString (service == "files") (with files; '' + lib.optionalString (service == "files") (with files; '' mkdir -m 755 -p ${inboxPath} ${outboxPath} ${sentSMSPath} ${errorSMSPath} chown ${cfg.user} -R ${inboxPath} chown ${cfg.user} -R ${outboxPath} chown ${cfg.user} -R ${sentSMSPath} chown ${cfg.user} -R ${errorSMSPath} '') - + optionalString (service == "sql" && sql.driver == "sqlite") '' + + lib.optionalString (service == "sql" && sql.driver == "sqlite") '' cat "${gammuPackage}/${initDBDir}/sqlite.sql" \ | ${pkgs.sqlite.bin}/bin/sqlite3 ${sql.database} '' - + (let execPsql = extraArgs: concatStringsSep " " [ - (optionalString (sql.password != null) "PGPASSWORD=${sql.password}") + + (let execPsql = extraArgs: lib.concatStringsSep " " [ + (lib.optionalString (sql.password != null) "PGPASSWORD=${sql.password}") "${config.services.postgresql.package}/bin/psql" - (optionalString (sql.host != null) "-h ${sql.host}") - (optionalString (sql.user != null) "-U ${sql.user}") + (lib.optionalString (sql.host != null) "-h ${sql.host}") + (lib.optionalString (sql.user != null) "-U ${sql.user}") "$extraArgs" "${sql.database}" - ]; in optionalString (service == "sql" && sql.driver == "native_pgsql") '' + ]; in lib.optionalString (service == "sql" && sql.driver == "native_pgsql") '' echo '\i '"${gammuPackage}/${initDBDir}/pgsql.sql" | ${execPsql ""} ''); diff --git a/nixos/modules/services/misc/mediatomb.nix b/nixos/modules/services/misc/mediatomb.nix index 932558e25802..ce4ecbeb7279 100644 --- a/nixos/modules/services/misc/mediatomb.nix +++ b/nixos/modules/services/misc/mediatomb.nix @@ -1,7 +1,4 @@ { config, lib, options, pkgs, ... }: - -with lib; - let gid = config.ids.gids.mediatomb; @@ -13,19 +10,19 @@ let # configuration on media directory mediaDirectory = { options = { - path = mkOption { - type = types.str; + path = lib.mkOption { + type = lib.types.str; description = '' Absolute directory path to the media directory to index. ''; }; - recursive = mkOption { - type = types.bool; + recursive = lib.mkOption { + type = lib.types.bool; default = false; description = "Whether the indexation must take place recursively or not."; }; - hidden-files = mkOption { - type = types.bool; + hidden-files = lib.mkOption { + type = lib.types.bool; default = true; description = "Whether to index the hidden files or not."; }; @@ -66,7 +63,7 @@ let ''; - configText = optionalString (! cfg.customCfg) '' + configText = lib.optionalString (! cfg.customCfg) '' @@ -87,7 +84,7 @@ let - ${optionalString cfg.dsmSupport '' + ${lib.optionalString cfg.dsmSupport '' @@ -95,7 +92,7 @@ let redsonic.com 105 ''} - ${optionalString cfg.tg100Support '' + ${lib.optionalString cfg.tg100Support '' 101 ''} @@ -109,7 +106,7 @@ let - ${concatMapStrings toMediaDirectory cfg.mediaDirectories} + ${lib.concatMapStrings toMediaDirectory cfg.mediaDirectories} ${pkg}/share/${name}/js/common.js @@ -139,10 +136,10 @@ let - ${optionalString cfg.ps3Support '' + ${lib.optionalString cfg.ps3Support '' ''} - ${optionalString cfg.dsmSupport '' + ${lib.optionalString cfg.dsmSupport '' ''} @@ -199,26 +196,26 @@ in { services.mediatomb = { - enable = mkOption { - type = types.bool; + enable = lib.mkOption { + type = lib.types.bool; default = false; description = '' Whether to enable the Gerbera/Mediatomb DLNA server. ''; }; - serverName = mkOption { - type = types.str; + serverName = lib.mkOption { + type = lib.types.str; default = "Gerbera (Mediatomb)"; description = '' How to identify the server on the network. ''; }; - package = mkPackageOption pkgs "gerbera" { }; + package = lib.mkPackageOption pkgs "gerbera" { }; - ps3Support = mkOption { - type = types.bool; + ps3Support = lib.mkOption { + type = lib.types.bool; default = false; description = '' Whether to enable ps3 specific tweaks. @@ -226,8 +223,8 @@ in { ''; }; - dsmSupport = mkOption { - type = types.bool; + dsmSupport = lib.mkOption { + type = lib.types.bool; default = false; description = '' Whether to enable D-Link DSM 320 specific tweaks. @@ -235,69 +232,69 @@ in { ''; }; - tg100Support = mkOption { - type = types.bool; + tg100Support = lib.mkOption { + type = lib.types.bool; default = false; description = '' Whether to enable Telegent TG100 specific tweaks. ''; }; - transcoding = mkOption { - type = types.bool; + transcoding = lib.mkOption { + type = lib.types.bool; default = false; description = '' Whether to enable transcoding. ''; }; - dataDir = mkOption { - type = types.path; + dataDir = lib.mkOption { + type = lib.types.path; default = "/var/lib/${name}"; - defaultText = literalExpression ''"/var/lib/''${config.${opt.package}.pname}"''; + defaultText = lib.literalExpression ''"/var/lib/''${config.${opt.package}.pname}"''; description = '' The directory where Gerbera/Mediatomb stores its state, data, etc. ''; }; - pcDirectoryHide = mkOption { - type = types.bool; + pcDirectoryHide = lib.mkOption { + type = lib.types.bool; default = true; description = '' Whether to list the top-level directory or not (from upnp client standpoint). ''; }; - user = mkOption { - type = types.str; + user = lib.mkOption { + type = lib.types.str; default = "mediatomb"; description = "User account under which the service runs."; }; - group = mkOption { - type = types.str; + group = lib.mkOption { + type = lib.types.str; default = "mediatomb"; description = "Group account under which the service runs."; }; - port = mkOption { - type = types.port; + port = lib.mkOption { + type = lib.types.port; default = 49152; description = '' The network port to listen on. ''; }; - interface = mkOption { - type = types.str; + interface = lib.mkOption { + type = lib.types.str; default = ""; description = '' A specific interface to bind to. ''; }; - openFirewall = mkOption { - type = types.bool; + openFirewall = lib.mkOption { + type = lib.types.bool; default = false; description = '' If false (the default), this is up to the user to declare the firewall rules. @@ -310,16 +307,16 @@ in { ''; }; - uuid = mkOption { - type = types.str; + uuid = lib.mkOption { + type = lib.types.str; default = "fdfc8a4e-a3ad-4c1d-b43d-a2eedb03a687"; description = '' A unique (on your network) to identify the server by. ''; }; - mediaDirectories = mkOption { - type = with types; listOf (submodule mediaDirectory); + mediaDirectories = lib.mkOption { + type = with lib.types; listOf (submodule mediaDirectory); default = []; description = '' Declare media directories to index. @@ -330,8 +327,8 @@ in { ]; }; - customCfg = mkOption { - type = types.bool; + customCfg = lib.mkOption { + type = lib.types.bool; default = false; description = '' Allow the service to create and use its own config file inside the `dataDir` as @@ -350,9 +347,9 @@ in { ###### implementation config = let binaryCommand = "${pkg}/bin/${name}"; - interfaceFlag = optionalString ( cfg.interface != "") "--interface ${cfg.interface}"; - configFlag = optionalString (! cfg.customCfg) "--config ${pkgs.writeText "config.xml" configText}"; - in mkIf cfg.enable { + interfaceFlag = lib.optionalString ( cfg.interface != "") "--interface ${cfg.interface}"; + configFlag = lib.optionalString (! cfg.customCfg) "--config ${pkgs.writeText "config.xml" configText}"; + in lib.mkIf cfg.enable { systemd.services.mediatomb = { description = "${cfg.serverName} media Server"; # Gerbera might fail if the network interface is not available on startup @@ -365,11 +362,11 @@ in { serviceConfig.Group = cfg.group; }; - users.groups = optionalAttrs (cfg.group == "mediatomb") { + users.groups = lib.optionalAttrs (cfg.group == "mediatomb") { mediatomb.gid = gid; }; - users.users = optionalAttrs (cfg.user == "mediatomb") { + users.users = lib.optionalAttrs (cfg.user == "mediatomb") { mediatomb = { isSystemUser = true; group = cfg.group; @@ -380,11 +377,11 @@ in { }; # Open firewall only if users enable it - networking.firewall = mkMerge [ - (mkIf (cfg.openFirewall && cfg.interface != "") { + networking.firewall = lib.mkMerge [ + (lib.mkIf (cfg.openFirewall && cfg.interface != "") { interfaces."${cfg.interface}" = defaultFirewallRules; }) - (mkIf (cfg.openFirewall && cfg.interface == "") defaultFirewallRules) + (lib.mkIf (cfg.openFirewall && cfg.interface == "") defaultFirewallRules) ]; }; } diff --git a/nixos/modules/services/misc/mqtt2influxdb.nix b/nixos/modules/services/misc/mqtt2influxdb.nix index d07ce1e66ba3..cefe7acbba2f 100644 --- a/nixos/modules/services/misc/mqtt2influxdb.nix +++ b/nixos/modules/services/misc/mqtt2influxdb.nix @@ -4,12 +4,9 @@ pkgs, ... }: - -with lib; - let cfg = config.services.mqtt2influxdb; - filterNull = filterAttrsRecursive (n: v: v != null); + filterNull = lib.filterAttrsRecursive (n: v: v != null); configFile = (pkgs.formats.yaml {}).generate "mqtt2influxdb.config.yaml" ( filterNull { inherit (cfg) mqtt influxdb; @@ -17,26 +14,26 @@ let } ); - pointType = types.submodule { + pointType = lib.types.submodule { options = { - measurement = mkOption { - type = types.str; + measurement = lib.mkOption { + type = lib.types.str; description = "Name of the measurement"; }; - topic = mkOption { - type = types.str; + topic = lib.mkOption { + type = lib.types.str; description = "MQTT topic to subscribe to."; }; - fields = mkOption { - type = types.submodule { + fields = lib.mkOption { + type = lib.types.submodule { options = { - value = mkOption { - type = types.str; + value = lib.mkOption { + type = lib.types.str; default = "$.payload"; description = "Value to be picked up"; }; - type = mkOption { - type = with types; nullOr str; + type = lib.mkOption { + type = with lib.types; nullOr str; default = null; description = "Type to be picked up"; }; @@ -44,8 +41,8 @@ let }; description = "Field selector."; }; - tags = mkOption { - type = with types; attrsOf str; + tags = lib.mkOption { + type = with lib.types; attrsOf str; default = {}; description = "Tags applied"; }; @@ -124,10 +121,10 @@ let in { options = { services.mqtt2influxdb = { - enable = mkEnableOption "BigClown MQTT to InfluxDB bridge"; - package = mkPackageOption pkgs ["python3Packages" "mqtt2influxdb"] {}; - environmentFiles = mkOption { - type = types.listOf types.path; + enable = lib.mkEnableOption "BigClown MQTT to InfluxDB bridge"; + package = lib.mkPackageOption pkgs ["python3Packages" "mqtt2influxdb"] {}; + environmentFiles = lib.mkOption { + type = lib.types.listOf lib.types.path; default = []; example = [ "/run/keys/mqtt2influxdb.env" ]; description = '' @@ -138,23 +135,23 @@ in { ''; }; mqtt = { - host = mkOption { - type = types.str; + host = lib.mkOption { + type = lib.types.str; default = "127.0.0.1"; description = "Host where MQTT server is running."; }; - port = mkOption { - type = types.port; + port = lib.mkOption { + type = lib.types.port; default = 1883; description = "MQTT server port."; }; - username = mkOption { - type = with types; nullOr str; + username = lib.mkOption { + type = with lib.types; nullOr str; default = null; description = "Username used to connect to the MQTT server."; }; - password = mkOption { - type = with types; nullOr str; + password = lib.mkOption { + type = with lib.types; nullOr str; default = null; description = '' MQTT password. @@ -164,44 +161,44 @@ in { the store. ''; }; - cafile = mkOption { - type = with types; nullOr path; + cafile = lib.mkOption { + type = with lib.types; nullOr path; default = null; description = "Certification Authority file for MQTT"; }; - certfile = mkOption { - type = with types; nullOr path; + certfile = lib.mkOption { + type = with lib.types; nullOr path; default = null; description = "Certificate file for MQTT"; }; - keyfile = mkOption { - type = with types; nullOr path; + keyfile = lib.mkOption { + type = with lib.types; nullOr path; default = null; description = "Key file for MQTT"; }; }; influxdb = { - host = mkOption { - type = types.str; + host = lib.mkOption { + type = lib.types.str; default = "127.0.0.1"; description = "Host where InfluxDB server is running."; }; - port = mkOption { - type = types.port; + port = lib.mkOption { + type = lib.types.port; default = 8086; description = "InfluxDB server port"; }; - database = mkOption { - type = types.str; + database = lib.mkOption { + type = lib.types.str; description = "Name of the InfluxDB database."; }; - username = mkOption { - type = with types; nullOr str; + username = lib.mkOption { + type = with lib.types; nullOr str; default = null; description = "Username for InfluxDB login."; }; - password = mkOption { - type = with types; nullOr str; + password = lib.mkOption { + type = with lib.types; nullOr str; default = null; description = '' Password for InfluxDB login. @@ -211,26 +208,26 @@ in { the store. ''; }; - ssl = mkOption { - type = types.bool; + ssl = lib.mkOption { + type = lib.types.bool; default = false; description = "Use SSL to connect to the InfluxDB server."; }; - verify_ssl = mkOption { - type = types.bool; + verify_ssl = lib.mkOption { + type = lib.types.bool; default = true; description = "Verify SSL certificate when connecting to the InfluxDB server."; }; }; - points = mkOption { - type = types.listOf pointType; + points = lib.mkOption { + type = lib.types.listOf pointType; default = defaultPoints; description = "Points to bridge from MQTT to InfluxDB."; }; }; }; - config = mkIf cfg.enable { + config = lib.mkIf cfg.enable { systemd.services.bigclown-mqtt2influxdb = let envConfig = cfg.environmentFiles != []; finalConfig = if envConfig @@ -239,7 +236,7 @@ in { in { description = "BigClown MQTT to InfluxDB bridge"; wantedBy = ["multi-user.target"]; - wants = mkIf config.services.mosquitto.enable ["mosquitto.service"]; + wants = lib.mkIf config.services.mosquitto.enable ["mosquitto.service"]; preStart = '' umask 077 ${pkgs.envsubst}/bin/envsubst -i "${configFile}" -o "${finalConfig}" diff --git a/nixos/modules/services/misc/nitter.nix b/nixos/modules/services/misc/nitter.nix index f8be2aed70c9..40a4b157aee1 100644 --- a/nixos/modules/services/misc/nitter.nix +++ b/nixos/modules/services/misc/nitter.nix @@ -1,16 +1,13 @@ { config, lib, pkgs, ... }: - -with lib; - let cfg = config.services.nitter; configFile = pkgs.writeText "nitter.conf" '' - ${generators.toINI { + ${lib.generators.toINI { # String values need to be quoted - mkKeyValue = generators.mkKeyValueDefault { + mkKeyValue = lib.generators.mkKeyValueDefault { mkValueString = v: - if isString v then "\"" + (strings.escape ["\""] (toString v)) + "\"" - else generators.mkValueStringDefault {} v; + if lib.isString v then "\"" + (lib.escape ["\""] (toString v)) + "\"" + else lib.generators.mkValueStringDefault {} v; } " = "; } (lib.recursiveUpdate { Server = cfg.server; @@ -47,57 +44,57 @@ in { imports = [ # https://github.com/zedeus/nitter/pull/772 - (mkRemovedOptionModule [ "services" "nitter" "replaceInstagram" ] "Nitter no longer supports this option as Bibliogram has been discontinued.") + (lib.mkRemovedOptionModule [ "services" "nitter" "replaceInstagram" ] "Nitter no longer supports this option as Bibliogram has been discontinued.") ]; options = { services.nitter = { - enable = mkEnableOption "Nitter, an alternative Twitter front-end"; + enable = lib.mkEnableOption "Nitter, an alternative Twitter front-end"; - package = mkPackageOption pkgs "nitter" { }; + package = lib.mkPackageOption pkgs "nitter" { }; server = { - address = mkOption { - type = types.str; + address = lib.mkOption { + type = lib.types.str; default = "0.0.0.0"; example = "127.0.0.1"; description = "The address to listen on."; }; - port = mkOption { - type = types.port; + port = lib.mkOption { + type = lib.types.port; default = 8080; example = 8000; description = "The port to listen on."; }; - https = mkOption { - type = types.bool; + https = lib.mkOption { + type = lib.types.bool; default = false; description = "Set secure attribute on cookies. Keep it disabled to enable cookies when not using HTTPS."; }; - httpMaxConnections = mkOption { - type = types.int; + httpMaxConnections = lib.mkOption { + type = lib.types.int; default = 100; description = "Maximum number of HTTP connections."; }; - staticDir = mkOption { - type = types.path; + staticDir = lib.mkOption { + type = lib.types.path; default = "${cfg.package}/share/nitter/public"; - defaultText = literalExpression ''"''${config.services.nitter.package}/share/nitter/public"''; + defaultText = lib.literalExpression ''"''${config.services.nitter.package}/share/nitter/public"''; description = "Path to the static files directory."; }; - title = mkOption { - type = types.str; + title = lib.mkOption { + type = lib.types.str; default = "nitter"; description = "Title of the instance."; }; - hostname = mkOption { - type = types.str; + hostname = lib.mkOption { + type = lib.types.str; default = "localhost"; example = "nitter.net"; description = "Hostname of the instance."; @@ -105,38 +102,38 @@ in }; cache = { - listMinutes = mkOption { - type = types.int; + listMinutes = lib.mkOption { + type = lib.types.int; default = 240; description = "How long to cache list info (not the tweets, so keep it high)."; }; - rssMinutes = mkOption { - type = types.int; + rssMinutes = lib.mkOption { + type = lib.types.int; default = 10; description = "How long to cache RSS queries."; }; - redisHost = mkOption { - type = types.str; + redisHost = lib.mkOption { + type = lib.types.str; default = "localhost"; description = "Redis host."; }; - redisPort = mkOption { - type = types.port; + redisPort = lib.mkOption { + type = lib.types.port; default = 6379; description = "Redis port."; }; - redisConnections = mkOption { - type = types.int; + redisConnections = lib.mkOption { + type = lib.types.int; default = 20; description = "Redis connection pool size."; }; - redisMaxConnections = mkOption { - type = types.int; + redisMaxConnections = lib.mkOption { + type = lib.types.int; default = 30; description = '' Maximum number of connections to Redis. @@ -149,30 +146,30 @@ in }; config = { - base64Media = mkOption { - type = types.bool; + base64Media = lib.mkOption { + type = lib.types.bool; default = false; description = "Use base64 encoding for proxied media URLs."; }; - enableRSS = mkEnableOption "RSS feeds" // { default = true; }; + enableRSS = lib.mkEnableOption "RSS feeds" // { default = true; }; - enableDebug = mkEnableOption "request logs and debug endpoints"; + enableDebug = lib.mkEnableOption "request logs and debug endpoints"; - proxy = mkOption { - type = types.str; + proxy = lib.mkOption { + type = lib.types.str; default = ""; description = "URL to a HTTP/HTTPS proxy."; }; - proxyAuth = mkOption { - type = types.str; + proxyAuth = lib.mkOption { + type = lib.types.str; default = ""; description = "Credentials for proxy."; }; - tokenCount = mkOption { - type = types.int; + tokenCount = lib.mkOption { + type = lib.types.int; default = 10; description = '' Minimum amount of usable tokens. @@ -187,114 +184,114 @@ in }; preferences = { - replaceTwitter = mkOption { - type = types.str; + replaceTwitter = lib.mkOption { + type = lib.types.str; default = ""; example = "nitter.net"; description = "Replace Twitter links with links to this instance (blank to disable)."; }; - replaceYouTube = mkOption { - type = types.str; + replaceYouTube = lib.mkOption { + type = lib.types.str; default = ""; example = "piped.kavin.rocks"; description = "Replace YouTube links with links to this instance (blank to disable)."; }; - replaceReddit = mkOption { - type = types.str; + replaceReddit = lib.mkOption { + type = lib.types.str; default = ""; example = "teddit.net"; description = "Replace Reddit links with links to this instance (blank to disable)."; }; - mp4Playback = mkOption { - type = types.bool; + mp4Playback = lib.mkOption { + type = lib.types.bool; default = true; description = "Enable MP4 video playback."; }; - hlsPlayback = mkOption { - type = types.bool; + hlsPlayback = lib.mkOption { + type = lib.types.bool; default = false; description = "Enable HLS video streaming (requires JavaScript)."; }; - proxyVideos = mkOption { - type = types.bool; + proxyVideos = lib.mkOption { + type = lib.types.bool; default = true; description = "Proxy video streaming through the server (might be slow)."; }; - muteVideos = mkOption { - type = types.bool; + muteVideos = lib.mkOption { + type = lib.types.bool; default = false; description = "Mute videos by default."; }; - autoplayGifs = mkOption { - type = types.bool; + autoplayGifs = lib.mkOption { + type = lib.types.bool; default = true; description = "Autoplay GIFs."; }; - theme = mkOption { - type = types.str; + theme = lib.mkOption { + type = lib.types.str; default = "Nitter"; description = "Instance theme."; }; - infiniteScroll = mkOption { - type = types.bool; + infiniteScroll = lib.mkOption { + type = lib.types.bool; default = false; description = "Infinite scrolling (requires JavaScript, experimental!)."; }; - stickyProfile = mkOption { - type = types.bool; + stickyProfile = lib.mkOption { + type = lib.types.bool; default = true; description = "Make profile sidebar stick to top."; }; - bidiSupport = mkOption { - type = types.bool; + bidiSupport = lib.mkOption { + type = lib.types.bool; default = false; description = "Support bidirectional text (makes clicking on tweets harder)."; }; - hideTweetStats = mkOption { - type = types.bool; + hideTweetStats = lib.mkOption { + type = lib.types.bool; default = false; description = "Hide tweet stats (replies, retweets, likes)."; }; - hideBanner = mkOption { - type = types.bool; + hideBanner = lib.mkOption { + type = lib.types.bool; default = false; description = "Hide profile banner."; }; - hidePins = mkOption { - type = types.bool; + hidePins = lib.mkOption { + type = lib.types.bool; default = false; description = "Hide pinned tweets."; }; - hideReplies = mkOption { - type = types.bool; + hideReplies = lib.mkOption { + type = lib.types.bool; default = false; description = "Hide tweet replies."; }; - squareAvatars = mkOption { - type = types.bool; + squareAvatars = lib.mkOption { + type = lib.types.bool; default = false; description = "Square profile pictures."; }; }; - settings = mkOption { - type = types.attrs; + settings = lib.mkOption { + type = lib.types.attrs; default = {}; description = '' Add settings here to override NixOS module generated settings. @@ -304,8 +301,8 @@ in ''; }; - guestAccounts = mkOption { - type = types.path; + guestAccounts = lib.mkOption { + type = lib.types.path; default = "/var/lib/nitter/guest_accounts.jsonl"; description = '' Path to the guest accounts file. @@ -321,21 +318,21 @@ in ''; }; - redisCreateLocally = mkOption { - type = types.bool; + redisCreateLocally = lib.mkOption { + type = lib.types.bool; default = true; description = "Configure local Redis server for Nitter."; }; - openFirewall = mkOption { - type = types.bool; + openFirewall = lib.mkOption { + type = lib.types.bool; default = false; description = "Open ports in the firewall for Nitter web interface."; }; }; }; - config = mkIf cfg.enable { + config = lib.mkIf cfg.enable { assertions = [ { assertion = !cfg.redisCreateLocally || (cfg.cache.redisHost == "localhost" && cfg.cache.redisPort == 6379); @@ -397,7 +394,7 @@ in port = cfg.cache.redisPort; }; - networking.firewall = mkIf cfg.openFirewall { + networking.firewall = lib.mkIf cfg.openFirewall { allowedTCPPorts = [ cfg.server.port ]; }; }; diff --git a/nixos/modules/services/networking/mosquitto.nix b/nixos/modules/services/networking/mosquitto.nix index 468f58b56bb1..e628be0d5b1b 100644 --- a/nixos/modules/services/networking/mosquitto.nix +++ b/nixos/modules/services/networking/mosquitto.nix @@ -1,39 +1,36 @@ { config, lib, pkgs, ...}: - -with lib; - let cfg = config.services.mosquitto; # note that mosquitto config parsing is very simplistic as of may 2021. # often times they'll e.g. strtok() a line, check the first two tokens, and ignore the rest. # there's no escaping available either, so we have to prevent any being necessary. - str = types.strMatching "[^\r\n]*" // { + str = lib.types.strMatching "[^\r\n]*" // { description = "single-line string"; }; - path = types.addCheck types.path (p: str.check "${p}"); - configKey = types.strMatching "[^\r\n\t ]+"; - optionType = with types; oneOf [ str path bool int ] // { + path = lib.types.addCheck lib.types.path (p: str.check "${p}"); + configKey = lib.types.strMatching "[^\r\n\t ]+"; + optionType = with lib.types; oneOf [ str path bool int ] // { description = "string, path, bool, or integer"; }; optionToString = v: - if isBool v then boolToString v + if lib.isBool v then lib.boolToString v else if path.check v then "${v}" else toString v; assertKeysValid = prefix: valid: config: - mapAttrsToList + lib.mapAttrsToList (n: _: { assertion = valid ? ${n}; message = "Invalid config key ${prefix}.${n}."; }) config; - formatFreeform = { prefix ? "" }: mapAttrsToList (n: v: "${prefix}${n} ${optionToString v}"); + formatFreeform = { prefix ? "" }: lib.mapAttrsToList (n: v: "${prefix}${n} ${optionToString v}"); - userOptions = with types; submodule { + userOptions = with lib.types; submodule { options = { - password = mkOption { + password = lib.mkOption { type = uniq (nullOr str); default = null; description = '' @@ -41,7 +38,7 @@ let ''; }; - passwordFile = mkOption { + passwordFile = lib.mkOption { type = uniq (nullOr path); example = "/path/to/file"; default = null; @@ -54,7 +51,7 @@ let ''; }; - hashedPassword = mkOption { + hashedPassword = lib.mkOption { type = uniq (nullOr str); default = null; description = '' @@ -66,7 +63,7 @@ let ''; }; - hashedPasswordFile = mkOption { + hashedPasswordFile = lib.mkOption { type = uniq (nullOr path); example = "/path/to/file"; default = null; @@ -82,7 +79,7 @@ let ''; }; - acl = mkOption { + acl = lib.mkOption { type = listOf str; example = [ "read A/B" "readwrite A/#" ]; default = []; @@ -94,15 +91,15 @@ let }; userAsserts = prefix: users: - mapAttrsToList + lib.mapAttrsToList (n: _: { assertion = builtins.match "[^:\r\n]+" n != null; message = "Invalid user name ${n} in ${prefix}"; }) users - ++ mapAttrsToList + ++ lib.mapAttrsToList (n: u: { - assertion = count (s: s != null) [ + assertion = lib.count (s: s != null) [ u.password u.passwordFile u.hashedPassword u.hashedPasswordFile ] <= 1; message = "Cannot set more than one password option for user ${n} in ${prefix}"; @@ -112,26 +109,26 @@ let userScope = prefix: index: "${prefix}-user-${toString index}"; credentialID = prefix: credential: "${prefix}-${credential}"; - toScopedUsers = listenerScope: users: pipe users [ - attrNames - (imap0 (index: user: nameValuePair user + toScopedUsers = listenerScope: users: lib.pipe users [ + lib.attrNames + (lib.imap0 (index: user: lib.nameValuePair user (users.${user} // { scope = userScope listenerScope index; }) )) - listToAttrs + lib.listToAttrs ]; - userCredentials = user: credentials: pipe credentials [ - (filter (credential: user.${credential} != null)) + userCredentials = user: credentials: lib.pipe credentials [ + (lib.filter (credential: user.${credential} != null)) (map (credential: "${credentialID user.scope credential}:${user.${credential}}")) ]; - usersCredentials = listenerScope: users: credentials: pipe users [ + usersCredentials = listenerScope: users: credentials: lib.pipe users [ (toScopedUsers listenerScope) - (mapAttrsToList (_: user: userCredentials user credentials)) - concatLists + (lib.mapAttrsToList (_: user: userCredentials user credentials)) + lib.concatLists ]; - systemdCredentials = listeners: listenerCredentials: pipe listeners [ - (imap0 (index: listener: listenerCredentials (listenerScope index) listener)) - concatLists + systemdCredentials = listeners: listenerCredentials: lib.pipe listeners [ + (lib.imap0 (index: listener: listenerCredentials (listenerScope index) listener)) + lib.concatLists ]; makePasswordFile = listenerScope: users: path: @@ -139,12 +136,12 @@ let makeLines = store: file: let scopedUsers = toScopedUsers listenerScope users; in - mapAttrsToList - (name: user: ''addLine ${escapeShellArg name} "''$(systemd-creds cat ${credentialID user.scope store})"'') - (filterAttrs (_: user: user.${store} != null) scopedUsers) - ++ mapAttrsToList - (name: user: ''addFile ${escapeShellArg name} "''${CREDENTIALS_DIRECTORY}/${credentialID user.scope file}"'') - (filterAttrs (_: user: user.${file} != null) scopedUsers); + lib.mapAttrsToList + (name: user: ''addLine ${lib.escapeShellArg name} "''$(systemd-creds cat ${credentialID user.scope store})"'') + (lib.filterAttrs (_: user: user.${store} != null) scopedUsers) + ++ lib.mapAttrsToList + (name: user: ''addFile ${lib.escapeShellArg name} "''${CREDENTIALS_DIRECTORY}/${credentialID user.scope file}"'') + (lib.filterAttrs (_: user: user.${file} != null) scopedUsers); plainLines = makeLines "password" "passwordFile"; hashedLines = makeLines "hashedPassword" "hashedPasswordFile"; in @@ -154,7 +151,7 @@ let set -eu - file=${escapeShellArg path} + file=${lib.escapeShellArg path} rm -f "$file" touch "$file" @@ -170,23 +167,23 @@ let echo "$1:$(cat "$2")" >> "$file" } '' - + concatStringsSep "\n" + + lib.concatStringsSep "\n" (plainLines - ++ optional (plainLines != []) '' + ++ lib.optional (plainLines != []) '' ${cfg.package}/bin/mosquitto_passwd -U "$file" '' ++ hashedLines)); - authPluginOptions = with types; submodule { + authPluginOptions = with lib.types; submodule { options = { - plugin = mkOption { + plugin = lib.mkOption { type = path; description = '' Plugin path to load, should be a `.so` file. ''; }; - denySpecialChars = mkOption { + denySpecialChars = lib.mkOption { type = bool; description = '' Automatically disallow all clients using `#` @@ -195,7 +192,7 @@ let default = true; }; - options = mkOption { + options = lib.mkOption { type = attrsOf optionType; description = '' Options for the auth plugin. Each key turns into a `auth_opt_*` @@ -207,7 +204,7 @@ let }; authAsserts = prefix: auth: - mapAttrsToList + lib.mapAttrsToList (n: _: { assertion = configKey.check n; message = "Invalid auth plugin key ${prefix}.${n}"; @@ -253,9 +250,9 @@ let use_username_as_clientid = 1; }; - listenerOptions = with types; submodule { + listenerOptions = with lib.types; submodule { options = { - port = mkOption { + port = lib.mkOption { type = port; description = '' Port to listen on. Must be set to 0 to listen on a unix domain socket. @@ -263,7 +260,7 @@ let default = 1883; }; - address = mkOption { + address = lib.mkOption { type = nullOr str; description = '' Address to listen on. Listen on `0.0.0.0`/`::` @@ -272,7 +269,7 @@ let default = null; }; - authPlugins = mkOption { + authPlugins = lib.mkOption { type = listOf authPluginOptions; description = '' Authentication plugin to attach to this listener. @@ -282,7 +279,7 @@ let default = []; }; - users = mkOption { + users = lib.mkOption { type = attrsOf userOptions; example = { john = { password = "123456"; acl = [ "readwrite john/#" ]; }; }; description = '' @@ -291,7 +288,7 @@ let default = {}; }; - omitPasswordAuth = mkOption { + omitPasswordAuth = lib.mkOption { type = bool; description = '' Omits password checking, allowing anyone to log in with any user name unless @@ -300,7 +297,7 @@ let default = false; }; - acl = mkOption { + acl = lib.mkOption { type = listOf str; description = '' Additional ACL items to prepend to the generated ACL file. @@ -309,7 +306,7 @@ let default = []; }; - settings = mkOption { + settings = lib.mkOption { type = submodule { freeformType = attrsOf optionType; }; @@ -324,7 +321,7 @@ let listenerAsserts = prefix: listener: assertKeysValid "${prefix}.settings" freeformListenerKeys listener.settings ++ userAsserts prefix listener.users - ++ imap0 + ++ lib.imap0 (i: v: authAsserts "${prefix}.authPlugins.${toString i}" v) listener.authPlugins; @@ -333,9 +330,9 @@ let "listener ${toString listener.port} ${toString listener.address}" "acl_file /etc/mosquitto/acl-${toString idx}.conf" ] - ++ optional (! listener.omitPasswordAuth) "password_file ${cfg.dataDir}/passwd-${toString idx}" + ++ lib.optional (! listener.omitPasswordAuth) "password_file ${cfg.dataDir}/passwd-${toString idx}" ++ formatFreeform {} listener.settings - ++ concatMap formatAuthPlugin listener.authPlugins; + ++ lib.concatMap formatAuthPlugin listener.authPlugins; freeformBridgeKeys = { bridge_alpn = 1; @@ -373,19 +370,19 @@ let try_private = 1; }; - bridgeOptions = with types; submodule { + bridgeOptions = with lib.types; submodule { options = { - addresses = mkOption { + addresses = lib.mkOption { type = listOf (submodule { options = { - address = mkOption { + address = lib.mkOption { type = str; description = '' Address of the remote MQTT broker. ''; }; - port = mkOption { + port = lib.mkOption { type = port; description = '' Port of the remote MQTT broker. @@ -400,7 +397,7 @@ let ''; }; - topics = mkOption { + topics = lib.mkOption { type = listOf str; description = '' Topic patterns to be shared between the two brokers. @@ -411,7 +408,7 @@ let example = [ "# both 2 local/topic/ remote/topic/" ]; }; - settings = mkOption { + settings = lib.mkOption { type = submodule { freeformType = attrsOf optionType; }; @@ -426,14 +423,14 @@ let bridgeAsserts = prefix: bridge: assertKeysValid "${prefix}.settings" freeformBridgeKeys bridge.settings ++ [ { - assertion = length bridge.addresses > 0; + assertion = lib.length bridge.addresses > 0; message = "Bridge ${prefix} needs remote broker addresses"; } ]; formatBridge = name: bridge: [ "connection ${name}" - "addresses ${concatMapStringsSep " " (a: "${a.address}:${toString a.port}") bridge.addresses}" + "addresses ${lib.concatMapStringsSep " " (a: "${a.address}:${toString a.port}") bridge.addresses}" ] ++ map (t: "topic ${t}") bridge.topics ++ formatFreeform {} bridge.settings; @@ -468,12 +465,12 @@ let websockets_log_level = 1; }; - globalOptions = with types; { - enable = mkEnableOption "the MQTT Mosquitto broker"; + globalOptions = with lib.types; { + enable = lib.mkEnableOption "the MQTT Mosquitto broker"; - package = mkPackageOption pkgs "mosquitto" { }; + package = lib.mkPackageOption pkgs "mosquitto" { }; - bridges = mkOption { + bridges = lib.mkOption { type = attrsOf bridgeOptions; default = {}; description = '' @@ -481,7 +478,7 @@ let ''; }; - listeners = mkOption { + listeners = lib.mkOption { type = listOf listenerOptions; default = []; description = '' @@ -489,7 +486,7 @@ let ''; }; - includeDirs = mkOption { + includeDirs = lib.mkOption { type = listOf path; description = '' Directories to be scanned for further config files to include. @@ -500,7 +497,7 @@ let default = []; }; - logDest = mkOption { + logDest = lib.mkOption { type = listOf (either path (enum [ "stdout" "stderr" "syslog" "topic" "dlt" ])); description = '' Destinations to send log messages to. @@ -508,7 +505,7 @@ let default = [ "stderr" ]; }; - logType = mkOption { + logType = lib.mkOption { type = listOf (enum [ "debug" "error" "warning" "notice" "information" "subscribe" "unsubscribe" "websockets" "none" "all" ]); description = '' @@ -517,7 +514,7 @@ let default = []; }; - persistence = mkOption { + persistence = lib.mkOption { type = bool; description = '' Enable persistent storage of subscriptions and messages. @@ -525,15 +522,15 @@ let default = true; }; - dataDir = mkOption { + dataDir = lib.mkOption { default = "/var/lib/mosquitto"; - type = types.path; + type = lib.types.path; description = '' The data directory. ''; }; - settings = mkOption { + settings = lib.mkOption { type = submodule { freeformType = attrsOf optionType; }; @@ -545,10 +542,10 @@ let }; globalAsserts = prefix: cfg: - flatten [ + lib.flatten [ (assertKeysValid "${prefix}.settings" freeformGlobalKeys cfg.settings) - (imap0 (n: l: listenerAsserts "${prefix}.listener.${toString n}" l) cfg.listeners) - (mapAttrsToList (n: b: bridgeAsserts "${prefix}.bridge.${n}" b) cfg.bridges) + (lib.imap0 (n: l: listenerAsserts "${prefix}.listener.${toString n}" l) cfg.listeners) + (lib.mapAttrsToList (n: b: bridgeAsserts "${prefix}.bridge.${n}" b) cfg.bridges) ]; formatGlobal = cfg: @@ -561,12 +558,12 @@ let cfg.logDest ++ map (t: "log_type ${t}") cfg.logType ++ formatFreeform {} cfg.settings - ++ concatLists (imap0 formatListener cfg.listeners) - ++ concatLists (mapAttrsToList formatBridge cfg.bridges) + ++ lib.concatLists (lib.imap0 formatListener cfg.listeners) + ++ lib.concatLists (lib.mapAttrsToList formatBridge cfg.bridges) ++ map (d: "include_dir ${d}") cfg.includeDirs; configFile = pkgs.writeText "mosquitto.conf" - (concatStringsSep "\n" (formatGlobal cfg)); + (lib.concatStringsSep "\n" (formatGlobal cfg)); in @@ -578,7 +575,7 @@ in ###### Implementation - config = mkIf cfg.enable { + config = lib.mkIf cfg.enable { assertions = globalAsserts "services.mosquitto" cfg; @@ -633,13 +630,13 @@ in ReadWritePaths = [ cfg.dataDir "/tmp" # mosquitto_passwd creates files in /tmp before moving them - ] ++ filter path.check cfg.logDest; + ] ++ lib.filter path.check cfg.logDest; ReadOnlyPaths = map (p: "${p}") (cfg.includeDirs - ++ filter + ++ lib.filter (v: v != null) - (flatten [ + (lib.flatten [ (map (l: [ (l.settings.psk_file or null) @@ -652,7 +649,7 @@ in (l.settings.keyfile or null) ]) cfg.listeners) - (mapAttrsToList + (lib.mapAttrsToList (_: b: [ (b.settings.bridge_cafile or null) (b.settings.bridge_capath or null) @@ -680,26 +677,26 @@ in UMask = "0077"; }; preStart = - concatStringsSep + lib.concatStringsSep "\n" - (imap0 + (lib.imap0 (idx: listener: makePasswordFile (listenerScope idx) listener.users "${cfg.dataDir}/passwd-${toString idx}") cfg.listeners); }; - environment.etc = listToAttrs ( - imap0 + environment.etc = lib.listToAttrs ( + lib.imap0 (idx: listener: { name = "mosquitto/acl-${toString idx}.conf"; value = { user = config.users.users.mosquitto.name; group = config.users.users.mosquitto.group; mode = "0400"; - text = (concatStringsSep + text = (lib.concatStringsSep "\n" - (flatten [ + (lib.flatten [ listener.acl - (mapAttrsToList + (lib.mapAttrsToList (n: u: [ "user ${n}" ] ++ map (t: "topic ${t}") u.acl) listener.users) ])); diff --git a/nixos/modules/virtualisation/lxc.nix b/nixos/modules/virtualisation/lxc.nix index 1ef322588a68..d1f4852cec64 100644 --- a/nixos/modules/virtualisation/lxc.nix +++ b/nixos/modules/virtualisation/lxc.nix @@ -23,6 +23,8 @@ in ''; }; + unprivilegedContainers = lib.mkEnableOption "support for unprivileged users to launch containers"; + systemConfig = lib.mkOption { type = lib.types.lines; @@ -53,6 +55,15 @@ in administration access in LXC. See {manpage}`lxc-usernet(5)`. ''; }; + + bridgeConfig = + lib.mkOption { + type = lib.types.lines; + default = ""; + description = '' + This is the config file for override lxc-net bridge default settings. + ''; + }; }; ###### implementation @@ -62,6 +73,8 @@ in environment.etc."lxc/lxc.conf".text = cfg.systemConfig; environment.etc."lxc/lxc-usernet".text = cfg.usernetConfig; environment.etc."lxc/default.conf".text = cfg.defaultConfig; + environment.etc."lxc/lxc-net".text = cfg.bridgeConfig; + environment.pathsToLink = [ "/share/lxc" ]; systemd.tmpfiles.rules = [ "d /var/lib/lxc/rootfs 0755 root root -" ]; security.apparmor.packages = [ cfg.package ]; @@ -73,5 +86,30 @@ in include ${cfg.package}/etc/apparmor.d/lxc-containers ''; }; + + # We don't need the `lxc-user` group, unless the unprivileged containers are enabled. + users.groups = lib.mkIf cfg.unprivilegedContainers { lxc-user = {}; }; + + # `lxc-user-nic` needs suid to attach to bridge for unpriv containers. + security.wrappers = lib.mkIf cfg.unprivilegedContainers { + lxcUserNet = { + source = "${pkgs.lxc}/libexec/lxc/lxc-user-nic"; + setuid = true; + owner = "root"; + group = "lxc-user"; + program = "lxc-user-nic"; + permissions = "u+rx,g+x,o-rx"; + }; + }; + + # Add lxc-net service if unpriv mode is enabled. + systemd.packages = lib.mkIf cfg.unprivilegedContainers [ pkgs.lxc ]; + systemd.services = lib.mkIf cfg.unprivilegedContainers { + lxc-net = { + enable = true; + wantedBy = [ "multi-user.target" ]; + path = [ pkgs.iproute2 pkgs.iptables pkgs.getent pkgs.dnsmasq ]; + }; + }; }; } diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix index a9217b08648a..155232b378b4 100644 --- a/nixos/tests/all-tests.nix +++ b/nixos/tests/all-tests.nix @@ -539,6 +539,7 @@ in { loki = handleTest ./loki.nix {}; luks = handleTest ./luks.nix {}; lvm2 = handleTest ./lvm2 {}; + lxc = handleTest ./lxc {}; lxd = pkgs.recurseIntoAttrs (handleTest ./lxd { inherit handleTestOn; }); lxd-image-server = handleTest ./lxd-image-server.nix {}; #logstash = handleTest ./logstash.nix {}; diff --git a/nixos/tests/incus/container.nix b/nixos/tests/incus/container.nix index d2b8037cae70..2329721d9504 100644 --- a/nixos/tests/incus/container.nix +++ b/nixos/tests/incus/container.nix @@ -11,8 +11,8 @@ let extra; }; - container-image-metadata = releases.incusContainerMeta.${pkgs.stdenv.hostPlatform.system}; - container-image-rootfs = releases.incusContainerImage.${pkgs.stdenv.hostPlatform.system}; + container-image-metadata = "${releases.incusContainerMeta.${pkgs.stdenv.hostPlatform.system}}/tarball/nixos-system-${pkgs.stdenv.hostPlatform.system}.tar.xz"; + container-image-rootfs = "${releases.incusContainerImage.${pkgs.stdenv.hostPlatform.system}}/nixos-lxc-image-${pkgs.stdenv.hostPlatform.system}.squashfs"; in { inherit name; @@ -61,7 +61,7 @@ in machine.succeed("incus admin init --minimal") with subtest("Container image can be imported"): - machine.succeed("incus image import ${container-image-metadata}/*/*.tar.xz ${container-image-rootfs} --alias nixos") + machine.succeed("incus image import ${container-image-metadata} ${container-image-rootfs} --alias nixos") with subtest("Container can be launched and managed"): machine.succeed("incus launch nixos container") diff --git a/nixos/tests/incus/incusd-options.nix b/nixos/tests/incus/incusd-options.nix index afa1805b9d19..a223f1c8cb55 100644 --- a/nixos/tests/incus/incusd-options.nix +++ b/nixos/tests/incus/incusd-options.nix @@ -16,8 +16,12 @@ import ../make-test-python.nix ( }; }; - container-image-metadata = releases.incusContainerMeta.${pkgs.stdenv.hostPlatform.system}; - container-image-rootfs = releases.incusContainerImage.${pkgs.stdenv.hostPlatform.system}; + container-image-metadata = "${ + releases.incusContainerMeta.${pkgs.stdenv.hostPlatform.system} + }/tarball/nixos-system-${pkgs.stdenv.hostPlatform.system}.tar.xz"; + container-image-rootfs = "${ + releases.incusContainerImage.${pkgs.stdenv.hostPlatform.system} + }/nixos-lxc-image-${pkgs.stdenv.hostPlatform.system}.squashfs"; in { name = "incusd-options"; @@ -87,7 +91,7 @@ import ../make-test-python.nix ( machine.wait_for_unit("incus-preseed.service") with subtest("Container image can be imported"): - machine.succeed("incus image import ${container-image-metadata}/*/*.tar.xz ${container-image-rootfs} --alias nixos") + machine.succeed("incus image import ${container-image-metadata} ${container-image-rootfs} --alias nixos") with subtest("Container can be launched and managed"): machine.succeed("incus launch nixos container") diff --git a/nixos/tests/lxc/default.nix b/nixos/tests/lxc/default.nix new file mode 100644 index 000000000000..0f67010863ef --- /dev/null +++ b/nixos/tests/lxc/default.nix @@ -0,0 +1,124 @@ +import ../make-test-python.nix ( + { pkgs, lib, ... }: + + let + releases = import ../../release.nix { + configuration = { + # Building documentation makes the test unnecessarily take a longer time: + documentation.enable = lib.mkForce false; + }; + }; + + lxc-image-metadata = releases.lxdContainerMeta.${pkgs.stdenv.hostPlatform.system}; + lxc-image-rootfs = releases.lxdContainerImage.${pkgs.stdenv.hostPlatform.system}; + + in + { + name = "lxc-container-unprivileged"; + + meta = { + maintainers = lib.teams.lxc.members; + }; + + nodes.machine = + { lib, pkgs, ... }: + { + virtualisation = { + diskSize = 6144; + cores = 2; + memorySize = 512; + writableStore = true; + + lxc = { + enable = true; + unprivilegedContainers = true; + systemConfig = '' + lxc.lxcpath = /tmp/lxc + ''; + defaultConfig = '' + lxc.net.0.type = veth + lxc.net.0.link = lxcbr0 + lxc.net.0.flags = up + lxc.net.0.hwaddr = 00:16:3e:xx:xx:xx + lxc.idmap = u 0 100000 65536 + lxc.idmap = g 0 100000 65536 + ''; + # Permit user alice to connect to bridge + usernetConfig = '' + @lxc-user veth lxcbr0 10 + ''; + bridgeConfig = '' + LXC_IPV6_ADDR="" + LXC_IPV6_MASK="" + LXC_IPV6_NETWORK="" + LXC_IPV6_NAT="false" + ''; + }; + }; + + # Needed for lxc + environment.systemPackages = with pkgs; [ + pkgs.wget + pkgs.dnsmasq + ]; + + # Create user for test + users.users.alice = { + isNormalUser = true; + password = "test"; + description = "Lxc unprivileged user with access to lxcbr0"; + extraGroups = [ "lxc-user" ]; + subGidRanges = [ + { + startGid = 100000; + count = 65536; + } + ]; + subUidRanges = [ + { + startUid = 100000; + count = 65536; + } + ]; + }; + + users.users.bob = { + isNormalUser = true; + password = "test"; + description = "Lxc unprivileged user without access to lxcbr0"; + subGidRanges = [ + { + startGid = 100000; + count = 65536; + } + ]; + subUidRanges = [ + { + startUid = 100000; + count = 65536; + } + ]; + }; + }; + + testScript = '' + machine.wait_for_unit("lxc-net.service") + + # Copy config files for alice + machine.execute("su -- alice -c 'mkdir -p ~/.config/lxc'") + machine.execute("su -- alice -c 'cp /etc/lxc/default.conf ~/.config/lxc/'") + machine.execute("su -- alice -c 'cp /etc/lxc/lxc.conf ~/.config/lxc/'") + + machine.succeed("su -- alice -c 'lxc-create -t local -n test -- --metadata ${lxc-image-metadata}/*/*.tar.xz --fstree ${lxc-image-rootfs}/*/*.tar.xz'") + machine.succeed("su -- alice -c 'lxc-start test'") + machine.succeed("su -- alice -c 'lxc-stop test'") + + # Copy config files for bob + machine.execute("su -- bob -c 'mkdir -p ~/.config/lxc'") + machine.execute("su -- bob -c 'cp /etc/lxc/default.conf ~/.config/lxc/'") + machine.execute("su -- bob -c 'cp /etc/lxc/lxc.conf ~/.config/lxc/'") + + machine.fail("su -- bob -c 'lxc-start test'") + ''; + } +) diff --git a/nixos/tests/lxd/container.nix b/nixos/tests/lxd/container.nix index 26dcad2f97a7..c04ae42afb8c 100644 --- a/nixos/tests/lxd/container.nix +++ b/nixos/tests/lxd/container.nix @@ -64,7 +64,7 @@ in { with subtest("Squashfs image is functional"): machine.succeed( - "lxc image import ${lxd-image-metadata}/*/*.tar.xz ${lxd-image-rootfs-squashfs} --alias nixos-squashfs" + "lxc image import ${lxd-image-metadata}/*/*.tar.xz ${lxd-image-rootfs-squashfs}/nixos-lxc-image-${pkgs.stdenv.hostPlatform.system}.squashfs --alias nixos-squashfs" ) machine.succeed("lxc launch nixos-squashfs container") with machine.nested("Waiting for instance to start and be usable"): diff --git a/pkgs/applications/editors/setzer/default.nix b/pkgs/applications/editors/setzer/default.nix deleted file mode 100644 index e331619d6266..000000000000 --- a/pkgs/applications/editors/setzer/default.nix +++ /dev/null @@ -1,77 +0,0 @@ -{ lib -, python3 -, fetchFromGitHub -, meson -, ninja -, gettext -, appstream -, appstream-glib -, wrapGAppsHook4 -, desktop-file-utils -, gobject-introspection -, gtk4 -, gtksourceview5 -, libadwaita -, libportal -, librsvg -, poppler_gi -, webkitgtk_6_0 -}: - -python3.pkgs.buildPythonApplication rec { - pname = "setzer"; - version = "65"; - - src = fetchFromGitHub { - owner = "cvfosammmm"; - repo = "Setzer"; - rev = "v${version}"; - hash = "sha256-5Hpj/RkD11bNcr9/gQG0Y7BNMsh1BGZQiN4IMbI4osc="; - }; - - format = "other"; - - nativeBuildInputs = [ - meson - ninja - gettext - appstream # for appstreamcli - appstream-glib - wrapGAppsHook4 - desktop-file-utils - gobject-introspection - ]; - - buildInputs = [ - gtk4 - gtksourceview5 - libadwaita - libportal - librsvg - poppler_gi - webkitgtk_6_0 - ]; - - propagatedBuildInputs = with python3.pkgs; [ - bibtexparser - numpy - pdfminer-six - pexpect - pillow - pycairo - pygobject3 - pyxdg - ]; - - checkPhase = '' - meson test --print-errorlogs - ''; - - meta = with lib; { - description = "LaTeX editor written in Python with Gtk"; - mainProgram = "setzer"; - homepage = src.meta.homepage; - license = licenses.gpl3Plus; - maintainers = with maintainers; [ dotlambda ]; - }; -} diff --git a/pkgs/applications/virtualization/OVMF/default.nix b/pkgs/applications/virtualization/OVMF/default.nix index 60eaa6428d62..76d4db7d807c 100644 --- a/pkgs/applications/virtualization/OVMF/default.nix +++ b/pkgs/applications/virtualization/OVMF/default.nix @@ -1,5 +1,5 @@ { stdenv, nixosTests, lib, edk2, util-linux, nasm, acpica-tools, llvmPackages -, fetchurl, python3, pexpect, xorriso, qemu, dosfstools, mtools +, fetchFromGitLab, python3, pexpect, xorriso, qemu, dosfstools, mtools , fdSize2MB ? false , fdSize4MB ? secureBoot , secureBoot ? false @@ -12,7 +12,7 @@ # to use as the PK and first KEK for the keystore. # # By default, we use Debian's cert. This default -# should chnage to a NixOS cert once we have our +# should change to a NixOS cert once we have our # own secure boot signing infrastructure. # # Ignored if msVarsTemplate is false. @@ -66,9 +66,18 @@ let OvmfPkKek1AppPrefix = "4e32566d-8e9e-4f52-81d3-5bb9715f9727"; - debian-edk-src = fetchurl { - url = "http://deb.debian.org/debian/pool/main/e/edk2/edk2_2023.11-5.debian.tar.xz"; - sha256 = "1yxlab4md30pxvjadr6b4xn6cyfw0c292q63pyfv4vylvhsb24g4"; + debian-edk-src = fetchFromGitLab { + domain = "salsa.debian.org"; + owner = "qemu-team"; + repo = "edk2"; + nonConeMode = true; + sparseCheckout = [ + "debian/edk2-vars-generator.py" + "debian/python" + "debian/PkKek-1-*.pem" + ]; + rev = "refs/tags/debian/2024.05-1"; + hash = "sha256-uAjXJaHOVh944ZxcA2IgCsrsncxuhc0JKlsXs0E03s0="; }; buildPrefix = "Build/*/*"; @@ -111,7 +120,7 @@ edk2.mkDerivation projectDscPath (finalAttrs: { env.PYTHON_COMMAND = "python3"; postUnpack = lib.optionalDrvAttr msVarsTemplate '' - unpackFile ${debian-edk-src} + ln -s ${debian-edk-src}/debian ''; postConfigure = lib.optionalDrvAttr msVarsTemplate '' @@ -138,7 +147,8 @@ edk2.mkDerivation projectDscPath (finalAttrs: { '' + lib.optionalString msVarsTemplate '' ( cd ${buildPrefix} - python3 $NIX_BUILD_TOP/debian/edk2-vars-generator.py \ + # locale must be set on Darwin for invocations of mtools to work correctly + LC_ALL=C python3 $NIX_BUILD_TOP/debian/edk2-vars-generator.py \ --flavor ${msVarsArgs.flavor} \ --enrolldefaultkeys ${msVarsArgs.archDir}/EnrollDefaultKeys.efi \ --shell ${msVarsArgs.archDir}/Shell.efi \ @@ -165,7 +175,7 @@ edk2.mkDerivation projectDscPath (finalAttrs: { ln -sv $fd/FV/${fwPrefix}_CODE{,.ms}.fd '' + lib.optionalString stdenv.hostPlatform.isAarch '' mv -v $out/FV/QEMU_{EFI,VARS}.fd $fd/FV - # Add symlinks for Fedora dir layout: https://src.fedoraproject.org/cgit/rpms/edk2.git/tree/edk2.spec + # Add symlinks for Fedora dir layout: https://src.fedoraproject.org/rpms/edk2/blob/main/f/edk2.spec mkdir -vp $fd/AAVMF ln -s $fd/FV/AAVMF_CODE.fd $fd/AAVMF/QEMU_EFI-pflash.raw ln -s $fd/FV/AAVMF_VARS.fd $fd/AAVMF/vars-template-pflash.raw @@ -179,6 +189,9 @@ edk2.mkDerivation projectDscPath (finalAttrs: { in { firmware = "${prefix}_CODE.fd"; variables = "${prefix}_VARS.fd"; + variablesMs = + assert msVarsTemplate; + "${prefix}_VARS.ms.fd"; # This will test the EFI firmware for the host platform as part of the NixOS Tests setup. tests.basic-systemd-boot = nixosTests.systemd-boot.basic; tests.secureBoot-systemd-boot = nixosTests.systemd-boot.secureBoot; @@ -190,7 +203,7 @@ edk2.mkDerivation projectDscPath (finalAttrs: { homepage = "https://github.com/tianocore/tianocore.github.io/wiki/OVMF"; license = lib.licenses.bsd2; platforms = metaPlatforms; - maintainers = with lib.maintainers; [ adamcstephens raitobezarius ]; - broken = stdenv.isDarwin; + maintainers = with lib.maintainers; [ adamcstephens raitobezarius mjoerg ]; + broken = stdenv.isDarwin && stdenv.isAarch64; }; }) diff --git a/pkgs/by-name/ai/aider-chat/package.nix b/pkgs/by-name/ai/aider-chat/package.nix index c36578975241..4cf03feea296 100644 --- a/pkgs/by-name/ai/aider-chat/package.nix +++ b/pkgs/by-name/ai/aider-chat/package.nix @@ -12,7 +12,7 @@ let self = python3; packageOverrides = _: super: { tree-sitter = super.tree-sitter_0_21; }; }; - version = "0.51.0"; + version = "0.53.0"; in python3.pkgs.buildPythonApplication { pname = "aider-chat"; @@ -23,7 +23,7 @@ python3.pkgs.buildPythonApplication { owner = "paul-gauthier"; repo = "aider"; rev = "refs/tags/v${version}"; - hash = "sha256-vomRXWL3++1R8jpjMKbsGrB+B1FWQxVbLKxuPttnspw="; + hash = "sha256-KQp4qqQKm++oB9RVQZhAWQJs7Nbyssc9eKKRH1VZbRU="; }; build-system = with python3.pkgs; [ setuptools ]; diff --git a/pkgs/by-name/bi/bitwarden-cli/package.nix b/pkgs/by-name/bi/bitwarden-cli/package.nix index 7ec901fbc648..6f3187cddb27 100644 --- a/pkgs/by-name/bi/bitwarden-cli/package.nix +++ b/pkgs/by-name/bi/bitwarden-cli/package.nix @@ -11,13 +11,13 @@ buildNpmPackage rec { pname = "bitwarden-cli"; - version = "2024.8.0"; + version = "2024.8.1"; src = fetchFromGitHub { owner = "bitwarden"; repo = "clients"; rev = "cli-v${version}"; - hash = "sha256-vosEc8HCMHEaaQadzA+jDjQA1liEtD8sS1Zndz/Iv00="; + hash = "sha256-l9fLh1YFivVcMs688vM0pHoN0Um2r/EDpo7dvwvZFwY="; }; postPatch = '' @@ -27,10 +27,10 @@ buildNpmPackage rec { nodejs = nodejs_20; - npmDepsHash = "sha256-5neEpU7ZhVO5OR181owsvAnFfl7lr0MymvqbRFCPs3M="; + npmDepsHash = "sha256-/6yWdTy6/GvYy8u5eZB+x5KRG6vhPVE0DIn+RUAO5MI="; nativeBuildInputs = [ - python3 + (python3.withPackages (ps: with ps; [ setuptools ])) ] ++ lib.optionals stdenv.isDarwin [ cctools xcbuild.xcrun @@ -38,7 +38,19 @@ buildNpmPackage rec { makeCacheWritable = true; - env.ELECTRON_SKIP_BINARY_DOWNLOAD = "1"; + env = { + ELECTRON_SKIP_BINARY_DOWNLOAD = "1"; + npm_config_build_from_source = "true"; + }; + + # node-argon2 builds with LTO, but that causes missing symbols. So disable it + # and rebuild. See https://github.com/ranisalt/node-argon2/pull/415 + preConfigure = '' + pushd node_modules/argon2 + substituteInPlace binding.gyp --replace-fail '"-flto", ' "" + "$npm_config_node_gyp" rebuild + popd + ''; npmBuildScript = "build:oss:prod"; diff --git a/pkgs/by-name/co/cosmic-notifications/Cargo.lock b/pkgs/by-name/co/cosmic-notifications/Cargo.lock index 37cf6954f5cf..dc0829c9365f 100644 --- a/pkgs/by-name/co/cosmic-notifications/Cargo.lock +++ b/pkgs/by-name/co/cosmic-notifications/Cargo.lock @@ -4,37 +4,38 @@ version = 3 [[package]] name = "accesskit" -version = "0.11.0" -source = "git+https://github.com/wash2/accesskit.git?tag=winit-0.28#db6f2587f663eafd8f7888e8507baa3a092599b0" +version = "0.12.2" +source = "git+https://github.com/wash2/accesskit.git?branch=winit-0.29#26f729169cd849970af02be62289606c63572d2d" [[package]] name = "accesskit_consumer" -version = "0.15.0" -source = "git+https://github.com/wash2/accesskit.git?tag=winit-0.28#db6f2587f663eafd8f7888e8507baa3a092599b0" +version = "0.17.0" +source = "git+https://github.com/wash2/accesskit.git?branch=winit-0.29#26f729169cd849970af02be62289606c63572d2d" dependencies = [ "accesskit", ] [[package]] name = "accesskit_unix" -version = "0.4.0" -source = "git+https://github.com/wash2/accesskit.git?tag=winit-0.28#db6f2587f663eafd8f7888e8507baa3a092599b0" +version = "0.7.1" +source = "git+https://github.com/wash2/accesskit.git?branch=winit-0.29#26f729169cd849970af02be62289606c63572d2d" dependencies = [ "accesskit", "accesskit_consumer", - "async-channel 1.9.0", "atspi", "futures-lite 1.13.0", - "log", + "once_cell", "serde", - "zbus", + "tokio", + "tokio-stream", + "zbus 3.15.2", ] [[package]] name = "addr2line" -version = "0.21.0" +version = "0.22.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a30b2e23b9e17a9f90641c7ab1549cd9b44f296d3ccbf309d2863cfe398a0cb" +checksum = "6e4503c46a5c0c7844e948c9a4d6acd9f50cccb4de1c48eb9e291ea17470c678" dependencies = [ "gimli", ] @@ -47,32 +48,21 @@ checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" [[package]] name = "ahash" -version = "0.7.7" +version = "0.8.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a824f2aa7e75a0c98c5a504fceb80649e9c35265d44525b5f94de4771a395cd" -dependencies = [ - "getrandom", - "once_cell", - "version_check", -] - -[[package]] -name = "ahash" -version = "0.8.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91429305e9f0a25f6205c5b8e0d2db09e0708a7a6df0f42212bb56c32c8ac97a" +checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011" dependencies = [ "cfg-if", "once_cell", "version_check", - "zerocopy", + "zerocopy 0.7.35", ] [[package]] name = "aho-corasick" -version = "1.1.2" +version = "1.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2969dcb958b36655471fc61f7e416fa76033bdd4bfed0678d8fee1e2d07a1f0" +checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916" dependencies = [ "memchr", ] @@ -85,9 +75,9 @@ checksum = "250f629c0161ad8107cf89319e990051fae62832fd343083bea452d93e2205fd" [[package]] name = "allocator-api2" -version = "0.2.16" +version = "0.2.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0942ffc6dcaadf03badf6e6a2d0228460359d5e34b57ccdc720b7382dfbd5ec5" +checksum = "5c6cb57a04249c6480766f7f7cef5467412af1490f8d1e243141daddada3264f" [[package]] name = "almost" @@ -95,6 +85,12 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3aa2999eb46af81abb65c2d30d446778d7e613b60bbf4e174a027e80f90a3c14" +[[package]] +name = "android-tzdata" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0" + [[package]] name = "android_system_properties" version = "0.1.5" @@ -106,9 +102,9 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.75" +version = "1.0.86" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4668cab20f66d8d020e1fbc0ebe47217433c1b6c8f2040faf858554e394ace6" +checksum = "b3d1d046238990b9cf5bcde22a3fb3584ee5cf65fb2765f454ed428c7a0063da" [[package]] name = "apply" @@ -127,15 +123,15 @@ dependencies = [ [[package]] name = "arc-swap" -version = "1.6.0" +version = "1.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bddcadddf5e9015d310179a59bb28c4d4b9920ad0f11e8e14dbadf654890c9a6" +checksum = "69f7f8c3906b62b754cd5326047894316021dcfe5a194c8ea52bdd94934a3457" [[package]] name = "arrayref" -version = "0.3.7" +version = "0.3.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b4930d2cb77ce62f89ee5d5289b4ac049559b1c45539271f5ed4fdc7db34545" +checksum = "9d151e35f61089500b617991b791fc8bfd237ae50cd5950803758a179b41e67a" [[package]] name = "arrayvec" @@ -145,9 +141,9 @@ checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711" [[package]] name = "as-raw-xcb-connection" -version = "1.0.0" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d5f312b0a56c5cdf967c0aeb67f6289603354951683bc97ddc595ab974ba9aa" +checksum = "175571dd1d178ced59193a6fc02dde1b972eb0bc56c892cde9beeceac5bf0f6b" [[package]] name = "ash" @@ -160,23 +156,41 @@ dependencies = [ [[package]] name = "ashpd" -version = "0.6.7" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c018490e423efb6f032ef575f873ea57b61d44bec763cfe027b8e8852a027cf" +checksum = "dd884d7c72877a94102c3715f3b1cd09ff4fac28221add3e57cfbe25c236d093" dependencies = [ + "async-fs", + "async-net", "enumflags2", "futures-channel", "futures-util", - "once_cell", "rand", "serde", "serde_repr", "tokio", "url", - "wayland-backend 0.1.2", - "wayland-client 0.30.2", - "wayland-protocols 0.30.1", - "zbus", + "zbus 4.4.0", +] + +[[package]] +name = "ashpd" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bfe7e0dd0ac5a401dc116ed9f9119cf9decc625600474cb41f0fc0a0050abc9a" +dependencies = [ + "enumflags2", + "futures-channel", + "futures-util", + "rand", + "serde", + "serde_repr", + "tokio", + "url", + "wayland-backend", + "wayland-client", + "wayland-protocols", + "zbus 4.4.0", ] [[package]] @@ -190,24 +204,24 @@ dependencies = [ ] [[package]] -name = "async-channel" -version = "1.9.0" +name = "async-broadcast" +version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81953c529336010edd6d8e358f886d9581267795c61b19475b71314bffa46d35" +checksum = "20cd0e2e25ea8e5f7e9df04578dc6cf5c83577fd09b1a46aaf5c85e1c33f2a7e" dependencies = [ - "concurrent-queue", - "event-listener 2.5.3", + "event-listener 5.3.1", + "event-listener-strategy", "futures-core", + "pin-project-lite", ] [[package]] name = "async-channel" -version = "2.1.1" +version = "2.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ca33f4bc4ed1babef42cad36cc1f51fa88be00420404e5b1e80ab1b18f7678c" +checksum = "89b47800b0be77592da0afd425cc03468052844aff33b84e33cc696f64e77b6a" dependencies = [ "concurrent-queue", - "event-listener 4.0.0", "event-listener-strategy", "futures-core", "pin-project-lite", @@ -215,28 +229,26 @@ dependencies = [ [[package]] name = "async-executor" -version = "1.8.0" +version = "1.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17ae5ebefcc48e7452b4987947920dac9450be1110cadf34d1b8c116bdbaf97c" +checksum = "d7ebdfa2ebdab6b1760375fa7d6f382b9f486eac35fc994625a00e89280bdbb7" dependencies = [ - "async-lock 3.2.0", "async-task", "concurrent-queue", - "fastrand 2.0.1", - "futures-lite 2.1.0", + "fastrand 2.1.0", + "futures-lite 2.3.0", "slab", ] [[package]] name = "async-fs" -version = "1.6.0" +version = "2.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "279cf904654eeebfa37ac9bb1598880884924aab82e290aa65c9e77a0e142e06" +checksum = "ebcd09b382f40fcd159c2d695175b2ae620ffa5f3bd6f664131efff4e8b9e04a" dependencies = [ - "async-lock 2.8.0", - "autocfg", + "async-lock 3.4.0", "blocking", - "futures-lite 1.13.0", + "futures-lite 2.3.0", ] [[package]] @@ -261,18 +273,18 @@ dependencies = [ [[package]] name = "async-io" -version = "2.2.2" +version = "2.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6afaa937395a620e33dc6a742c593c01aced20aa376ffb0f628121198578ccc7" +checksum = "0d6baa8f0178795da0e71bc42c9e5d13261aac7ee549853162e66a241ba17964" dependencies = [ - "async-lock 3.2.0", + "async-lock 3.4.0", "cfg-if", "concurrent-queue", "futures-io", - "futures-lite 2.1.0", + "futures-lite 2.3.0", "parking", - "polling 3.3.1", - "rustix 0.38.28", + "polling 3.7.2", + "rustix 0.38.34", "slab", "tracing", "windows-sys 0.52.0", @@ -289,15 +301,26 @@ dependencies = [ [[package]] name = "async-lock" -version = "3.2.0" +version = "3.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7125e42787d53db9dd54261812ef17e937c95a51e4d291373b670342fa44310c" +checksum = "ff6e472cdea888a4bd64f342f09b3f50e1886d32afe8df3d663c01140b811b18" dependencies = [ - "event-listener 4.0.0", + "event-listener 5.3.1", "event-listener-strategy", "pin-project-lite", ] +[[package]] +name = "async-net" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b948000fad4873c1c9339d60f2623323a0cfd3816e5181033c6a5cb68b2accf7" +dependencies = [ + "async-io 2.3.3", + "blocking", + "futures-lite 2.3.0", +] + [[package]] name = "async-process" version = "1.8.1" @@ -311,37 +334,57 @@ dependencies = [ "cfg-if", "event-listener 3.1.0", "futures-lite 1.13.0", - "rustix 0.38.28", + "rustix 0.38.34", "windows-sys 0.48.0", ] +[[package]] +name = "async-process" +version = "2.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f7eda79bbd84e29c2b308d1dc099d7de8dcc7035e48f4bf5dc4a531a44ff5e2a" +dependencies = [ + "async-channel", + "async-io 2.3.3", + "async-lock 3.4.0", + "async-signal", + "async-task", + "blocking", + "cfg-if", + "event-listener 5.3.1", + "futures-lite 2.3.0", + "rustix 0.38.34", + "tracing", + "windows-sys 0.52.0", +] + [[package]] name = "async-recursion" -version = "1.0.5" +version = "1.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5fd55a5ba1179988837d24ab4c7cc8ed6efdeff578ede0416b4225a5fca35bd0" +checksum = "3b43422f69d8ff38f95f1b2bb76517c91589a924d1559a0e935d7c8ce0274c11" dependencies = [ "proc-macro2", "quote", - "syn 2.0.41", + "syn 2.0.72", ] [[package]] name = "async-signal" -version = "0.2.5" +version = "0.2.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e47d90f65a225c4527103a8d747001fc56e375203592b25ad103e1ca13124c5" +checksum = "dfb3634b73397aa844481f814fad23bbf07fdb0eabec10f2eb95e58944b1ec32" dependencies = [ - "async-io 2.2.2", - "async-lock 2.8.0", + "async-io 2.3.3", + "async-lock 3.4.0", "atomic-waker", "cfg-if", "futures-core", "futures-io", - "rustix 0.38.28", + "rustix 0.38.34", "signal-hook-registry", "slab", - "windows-sys 0.48.0", + "windows-sys 0.52.0", ] [[package]] @@ -363,24 +406,24 @@ checksum = "16e62a023e7c117e27523144c5d2459f4397fcc3cab0085af8e2224f643a0193" dependencies = [ "proc-macro2", "quote", - "syn 2.0.41", + "syn 2.0.72", ] [[package]] name = "async-task" -version = "4.5.0" +version = "4.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4eb2cdb97421e01129ccb49169d8279ed21e829929144f4a22a6e54ac549ca1" +checksum = "8b75356056920673b02621b35afd0f7dda9306d03c79a30f5c56c44cf256e3de" [[package]] name = "async-trait" -version = "0.1.74" +version = "0.1.81" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a66537f1bb974b254c98ed142ff995236e81b9d0fe4db0575f46612cb15eb0f9" +checksum = "6e0c28dcc82d7c8ead5cb13beb15405b57b8546e93215673ff8ca0349a028107" dependencies = [ "proc-macro2", "quote", - "syn 2.0.41", + "syn 2.0.72", ] [[package]] @@ -394,43 +437,64 @@ name = "atomicwrites" version = "0.4.2" source = "git+https://github.com/jackpot51/rust-atomicwrites#043ab4859d53ffd3d55334685303d8df39c9f768" dependencies = [ - "rustix 0.38.28", + "rustix 0.38.34", "tempfile", "windows-sys 0.48.0", ] [[package]] name = "atspi" -version = "0.10.1" +version = "0.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "674e7a3376837b2e7d12d34d58ac47073c491dc3bf6f71a7adaf687d4d817faa" +checksum = "6059f350ab6f593ea00727b334265c4dfc7fd442ee32d264794bd9bdc68e87ca" dependencies = [ - "async-recursion", - "async-trait", - "atspi-macros", - "enumflags2", - "futures-lite 1.13.0", - "serde", - "tracing", - "zbus", - "zbus_names", + "atspi-common", + "atspi-connection", + "atspi-proxies", ] [[package]] -name = "atspi-macros" -version = "0.2.0" +name = "atspi-common" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97fb4870a32c0eaa17e35bca0e6b16020635157121fb7d45593d242c295bc768" +checksum = "92af95f966d2431f962bc632c2e68eda7777330158bf640c4af4249349b2cdf5" dependencies = [ - "quote", - "syn 1.0.109", + "enumflags2", + "serde", + "static_assertions", + "zbus 3.15.2", + "zbus_names 2.6.1", + "zvariant 3.15.2", +] + +[[package]] +name = "atspi-connection" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a0c65e7d70f86d4c0e3b2d585d9bf3f979f0b19d635a336725a88d279f76b939" +dependencies = [ + "atspi-common", + "atspi-proxies", + "futures-lite 1.13.0", + "zbus 3.15.2", +] + +[[package]] +name = "atspi-proxies" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6495661273703e7a229356dcbe8c8f38223d697aacfaf0e13590a9ac9977bb52" +dependencies = [ + "atspi-common", + "serde", + "zbus 3.15.2", ] [[package]] name = "autocfg" -version = "1.1.0" +version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" +checksum = "0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0" [[package]] name = "axum" @@ -449,7 +513,7 @@ dependencies = [ "itoa", "matchit", "memchr", - "mime", + "mime 0.3.17", "percent-encoding", "pin-project-lite", "rustversion", @@ -471,7 +535,7 @@ dependencies = [ "futures-util", "http", "http-body", - "mime", + "mime 0.3.17", "rustversion", "tower-layer", "tower-service", @@ -479,9 +543,9 @@ dependencies = [ [[package]] name = "backtrace" -version = "0.3.69" +version = "0.3.73" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2089b7e3f35b9dd2d0ed921ead4f6d318c27680d4a5bd167b3ee120edb105837" +checksum = "5cc23269a4f8976d0a4d2e7109211a419fe30e8d88d677cd60b6bc79c5732e0a" dependencies = [ "addr2line", "cc", @@ -494,9 +558,9 @@ dependencies = [ [[package]] name = "base64" -version = "0.21.5" +version = "0.21.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "35636a1494ede3b646cc98f74f8e62c773a38a659ebc777a2cf26b9b74171df9" +checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567" [[package]] name = "bit-set" @@ -527,9 +591,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "bitflags" -version = "2.4.1" +version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "327762f6e5a765692301e5bb513e0d9fef63be86bbc14528052b1cd3e6f03e07" +checksum = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de" dependencies = [ "serde", ] @@ -551,44 +615,47 @@ dependencies = [ [[package]] name = "blocking" -version = "1.5.1" +version = "1.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a37913e8dc4ddcc604f0c6d3bf2887c995153af3611de9e23c352b44c1b9118" +checksum = "703f41c54fc768e63e091340b424302bb1c29ef4aa0c7f10fe849dfb114d29ea" dependencies = [ - "async-channel 2.1.1", - "async-lock 3.2.0", + "async-channel", "async-task", - "fastrand 2.0.1", "futures-io", - "futures-lite 2.1.0", + "futures-lite 2.3.0", "piper", - "tracing", ] [[package]] name = "bumpalo" -version = "3.14.0" +version = "3.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f30e7476521f6f8af1a1c4c0b8cc94f0bee37d91763d0ca2665f299b6cd8aec" +checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c" + +[[package]] +name = "by_address" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "64fa3c856b712db6612c019f14756e64e4bcea13337a6b33b696333a9eaa2d06" [[package]] name = "bytemuck" -version = "1.14.0" +version = "1.16.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "374d28ec25809ee0e23827c2ab573d729e293f281dfe393500e7ad618baa61c6" +checksum = "102087e286b4677862ea56cf8fc58bb2cdfa8725c40ffb80fe3a008eb7f2fc83" dependencies = [ "bytemuck_derive", ] [[package]] name = "bytemuck_derive" -version = "1.5.0" +version = "1.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "965ab7eb5f8f97d2a083c799f3a1b994fc397b2fe2da5d1da1626ce15a39f2b1" +checksum = "1ee891b04274a59bd38b412188e24b849617b2e45a0fd8d057deb63e7403761b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.41", + "syn 2.0.72", ] [[package]] @@ -599,44 +666,41 @@ checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" [[package]] name = "bytes" -version = "1.5.0" +version = "1.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2bd12c1caf447e69cd4528f47f94d203fd2582878ecb9e9465484c4148a8223" +checksum = "fca2be1d5c43812bae364ee3f30b3afcb7877cf59f4aeb94c66f313a41d2fac9" [[package]] name = "calloop" -version = "0.12.3" +version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b50b5a44d59a98c55a9eeb518f39bf7499ba19fd98ee7d22618687f3f10adbf" +checksum = "b99da2f8558ca23c71f4fd15dc57c906239752dd27ff3c00a1d56b685b7cbfec" dependencies = [ - "bitflags 2.4.1", + "bitflags 2.6.0", "log", - "polling 3.3.1", - "rustix 0.38.28", + "polling 3.7.2", + "rustix 0.38.34", "slab", "thiserror", ] [[package]] name = "calloop-wayland-source" -version = "0.2.0" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f0ea9b9476c7fad82841a8dbb380e2eae480c21910feba80725b46931ed8f02" +checksum = "95a66a987056935f7efce4ab5668920b5d0dac4a7c99991a67395f13702ddd20" dependencies = [ "calloop", - "rustix 0.38.28", - "wayland-backend 0.3.2", - "wayland-client 0.31.1", + "rustix 0.38.34", + "wayland-backend", + "wayland-client", ] [[package]] name = "cc" -version = "1.0.83" +version = "1.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0" -dependencies = [ - "libc", -] +checksum = "26a5c3fd7bfa1ce3897a3a3501d362b2d87b7f2583ebcb4a949ec25911025cbc" [[package]] name = "cfg-if" @@ -650,6 +714,64 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fd16c4719339c4530435d38e511904438d07cce7950afa3718a84ac36c10e89e" +[[package]] +name = "cfg_aliases" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724" + +[[package]] +name = "chrono" +version = "0.4.38" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a21f936df1771bf62b77f047b726c4625ff2e8aa607c01ec06e5a05bd8463401" +dependencies = [ + "android-tzdata", + "iana-time-zone", + "js-sys", + "num-traits", + "wasm-bindgen", + "windows-targets 0.52.6", +] + +[[package]] +name = "clipboard-win" +version = "5.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "15efe7a882b08f34e38556b14f2fb3daa98769d06c7f0c1b076dfd0d983bc892" +dependencies = [ + "error-code", +] + +[[package]] +name = "clipboard_macos" +version = "0.1.0" +source = "git+https://github.com/pop-os/window_clipboard.git?tag=pop-dnd-8#7c59b07b9172d8e0401f7e06609e1050575309c9" +dependencies = [ + "objc", + "objc-foundation", + "objc_id", +] + +[[package]] +name = "clipboard_wayland" +version = "0.2.2" +source = "git+https://github.com/pop-os/window_clipboard.git?tag=pop-dnd-8#7c59b07b9172d8e0401f7e06609e1050575309c9" +dependencies = [ + "dnd", + "mime 0.1.0", + "smithay-clipboard", +] + +[[package]] +name = "clipboard_x11" +version = "0.4.2" +source = "git+https://github.com/pop-os/window_clipboard.git?tag=pop-dnd-8#7c59b07b9172d8e0401f7e06609e1050575309c9" +dependencies = [ + "thiserror", + "x11rb", +] + [[package]] name = "cocoa" version = "0.25.0" @@ -697,26 +819,52 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3d7b894f5411737b7867f4827955924d7c254fc9f4d91a6aad6b097804b1018b" [[package]] -name = "com-rs" -version = "0.2.1" +name = "com" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf43edc576402991846b093a7ca18a3477e0ef9c588cde84964b5d3e43016642" +checksum = "7e17887fd17353b65b1b2ef1c526c83e26cd72e74f598a8dc1bee13a48f3d9f6" +dependencies = [ + "com_macros", +] + +[[package]] +name = "com_macros" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d375883580a668c7481ea6631fc1a8863e33cc335bf56bfad8d7e6d4b04b13a5" +dependencies = [ + "com_macros_support", + "proc-macro2", + "syn 1.0.109", +] + +[[package]] +name = "com_macros_support" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad899a1087a9296d5644792d7cb72b8e34c1bec8e7d4fbc002230169a6e8710c" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] [[package]] name = "concurrent-queue" -version = "2.4.0" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d16048cd947b08fa32c24458a22f5dc5e835264f689f4f5653210c69fd107363" +checksum = "4ca0197aee26d1ae37445ee532fefce43251d24cc7c166799f4d46817f1d3973" dependencies = [ "crossbeam-utils", ] [[package]] name = "console-api" -version = "0.5.0" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c2895653b4d9f1538a83970077cb01dfc77a4810524e51a110944688e916b18e" +checksum = "fd326812b3fd01da5bb1af7d340d0d555fd3d4b641e7f1dfcf5962a902952787" dependencies = [ + "futures-core", "prost", "prost-types", "tonic", @@ -725,14 +873,14 @@ dependencies = [ [[package]] name = "console-subscriber" -version = "0.1.10" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4cf42660ac07fcebed809cfe561dd8730bcd35b075215e6479c516bcd0d11cb" +checksum = "7481d4c57092cd1c19dd541b92bdce883de840df30aa5d03fd48a3935c01842e" dependencies = [ "console-api", "crossbeam-channel", "crossbeam-utils", - "futures", + "futures-task", "hdrhistogram", "humantime", "prost-types", @@ -747,6 +895,26 @@ dependencies = [ "tracing-subscriber", ] +[[package]] +name = "const-random" +version = "0.1.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87e00182fe74b066627d63b85fd550ac2998d4b0bd86bfed477a0ae4c7c71359" +dependencies = [ + "const-random-macro", +] + +[[package]] +name = "const-random-macro" +version = "0.1.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f9d839f2a20b0aee515dc581a6172f2321f96cab76c1a38a4c584a194955390e" +dependencies = [ + "getrandom", + "once_cell", + "tiny-keccak", +] + [[package]] name = "core-foundation" version = "0.9.4" @@ -765,9 +933,9 @@ checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f" [[package]] name = "core-graphics" -version = "0.23.1" +version = "0.23.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "970a29baf4110c26fedbc7f82107d42c23f7e88e404c4577ed73fe99ff85a212" +checksum = "c07782be35f9e1140080c6b96f0d44b739e2278479f64e02fdab4e32dfd8b081" dependencies = [ "bitflags 1.3.2", "core-foundation", @@ -790,35 +958,40 @@ dependencies = [ [[package]] name = "cosmic-client-toolkit" version = "0.1.0" -source = "git+https://github.com/pop-os/cosmic-protocols?rev=c1b6516#c1b651630c2b71cd8dfd2eb4ab47ede9dbd63840" +source = "git+https://github.com/pop-os/cosmic-protocols?rev=c8d3a1c#c8d3a1c3d40d16235f4720969a54ed570ec7a976" dependencies = [ "cosmic-protocols", - "smithay-client-toolkit 0.18.0", - "wayland-client 0.31.1", + "libc", + "smithay-client-toolkit", + "wayland-client", ] [[package]] name = "cosmic-config" version = "0.1.0" -source = "git+https://github.com/pop-os/libcosmic/#6d8bb88087b9011b089888ff62f4868808719064" +source = "git+https://github.com/pop-os/libcosmic/#9e344b15c31ede67e0f79508108aa117d366eefa" dependencies = [ "atomicwrites", "cosmic-config-derive", "cosmic-settings-daemon", - "dirs 5.0.1", + "dirs", "futures-util", "iced_futures", + "known-folders", "notify", "once_cell", "ron", "serde", - "zbus", + "tokio", + "tracing", + "xdg", + "zbus 4.4.0", ] [[package]] name = "cosmic-config-derive" version = "0.1.0" -source = "git+https://github.com/pop-os/libcosmic/#6d8bb88087b9011b089888ff62f4868808719064" +source = "git+https://github.com/pop-os/libcosmic/#9e344b15c31ede67e0f79508108aa117d366eefa" dependencies = [ "quote", "syn 1.0.109", @@ -834,6 +1007,8 @@ dependencies = [ "console-subscriber", "cosmic-notifications-config", "cosmic-notifications-util", + "cosmic-panel-config", + "cosmic-time", "i18n-embed", "i18n-embed-fl", "libcosmic", @@ -844,13 +1019,12 @@ dependencies = [ "rust-embed", "sendfd", "serde", - "shlex", "tokio", "tracing", "tracing-journald", "tracing-subscriber", "xdg", - "zbus", + "zbus 4.4.0", ] [[package]] @@ -870,45 +1044,62 @@ dependencies = [ "serde", "tracing", "url", - "zbus", + "zbus 4.4.0", +] + +[[package]] +name = "cosmic-panel-config" +version = "0.1.0" +source = "git+https://github.com/pop-os/cosmic-panel#cfee4b5545379bddf34c01a9d5ff4c82b5609e8e" +dependencies = [ + "anyhow", + "cosmic-config", + "ron", + "serde", + "smithay-client-toolkit", + "tracing", + "wayland-protocols-wlr", + "xdg-shell-wrapper-config", ] [[package]] name = "cosmic-protocols" version = "0.1.0" -source = "git+https://github.com/pop-os/cosmic-protocols?rev=c1b6516#c1b651630c2b71cd8dfd2eb4ab47ede9dbd63840" +source = "git+https://github.com/pop-os/cosmic-protocols?rev=c8d3a1c#c8d3a1c3d40d16235f4720969a54ed570ec7a976" dependencies = [ - "bitflags 2.4.1", - "wayland-backend 0.3.2", - "wayland-client 0.31.1", - "wayland-protocols 0.31.0", - "wayland-scanner 0.31.0", + "bitflags 2.6.0", + "wayland-backend", + "wayland-client", + "wayland-protocols", + "wayland-protocols-wlr", + "wayland-scanner", "wayland-server", ] [[package]] name = "cosmic-settings-daemon" version = "0.1.0" -source = "git+https://github.com/pop-os/dbus-settings-bindings?branch=cosmic-settings-daemon#a3c3bc278cee08632d41fbc321b9feeddae197a2" +source = "git+https://github.com/pop-os/dbus-settings-bindings#cd21ddcb1b5cbfc80ab84b34d3c8b1ff3d81179a" dependencies = [ - "zbus", + "zbus 4.4.0", ] [[package]] name = "cosmic-text" -version = "0.10.0" -source = "git+https://github.com/pop-os/cosmic-text.git?branch=refactor#8fc93d90933ded737ea4f7ca63ab064a5331710d" +version = "0.12.1" +source = "git+https://github.com/pop-os/cosmic-text.git#58c2ccd1fb3daf0abc792f9dd52b5766b7125ccd" dependencies = [ - "bitflags 2.4.1", + "bitflags 2.6.0", "fontdb", - "libm", "log", "rangemap", + "rayon", "rustc-hash", - "rustybuzz", - "self_cell 1.0.2", + "rustybuzz 0.14.1", + "self_cell 1.0.4", "swash", "sys-locale", + "ttf-parser 0.21.1", "unicode-bidi", "unicode-linebreak", "unicode-script", @@ -918,76 +1109,81 @@ dependencies = [ [[package]] name = "cosmic-theme" version = "0.1.0" -source = "git+https://github.com/pop-os/libcosmic/#6d8bb88087b9011b089888ff62f4868808719064" +source = "git+https://github.com/pop-os/libcosmic/#9e344b15c31ede67e0f79508108aa117d366eefa" dependencies = [ "almost", "cosmic-config", "csscolorparser", + "dirs", "lazy_static", "palette", "ron", "serde", + "serde_json", + "thiserror", +] + +[[package]] +name = "cosmic-time" +version = "0.4.0" +source = "git+https://github.com/pop-os/cosmic-time#dd973b3ced4b6cf784c78a1c36f1526dfbfbfa19" +dependencies = [ + "float-cmp", + "libcosmic", + "once_cell", ] [[package]] name = "cpufeatures" -version = "0.2.11" +version = "0.2.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce420fe07aecd3e67c5f910618fe65e94158f6dcc0adf44e00d69ce2bdfe0fd0" +checksum = "53fe5e26ff1b7aef8bca9c6080520cfb8d9333c7568e1829cef191a9723e5504" dependencies = [ "libc", ] [[package]] name = "crc32fast" -version = "1.3.2" +version = "1.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d" +checksum = "a97769d94ddab943e4510d138150169a2758b5ef3eb191a9ee688de3e23ef7b3" dependencies = [ "cfg-if", ] [[package]] name = "crossbeam-channel" -version = "0.5.9" +version = "0.5.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14c3242926edf34aec4ac3a77108ad4854bffaa2e4ddc1824124ce59231302d5" +checksum = "33480d6946193aa8033910124896ca395333cae7e2d1113d1fef6c3272217df2" dependencies = [ - "cfg-if", "crossbeam-utils", ] [[package]] name = "crossbeam-deque" -version = "0.8.4" +version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fca89a0e215bab21874660c67903c5f143333cab1da83d041c7ded6053774751" +checksum = "613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d" dependencies = [ - "cfg-if", "crossbeam-epoch", "crossbeam-utils", ] [[package]] name = "crossbeam-epoch" -version = "0.9.16" +version = "0.9.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d2fe95351b870527a5d09bf563ed3c97c0cffb87cf1c78a591bf48bb218d9aa" +checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e" dependencies = [ - "autocfg", - "cfg-if", "crossbeam-utils", - "memoffset 0.9.0", ] [[package]] name = "crossbeam-utils" -version = "0.8.17" +version = "0.8.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c06d96137f14f244c37f989d9fff8f95e6c18b918e71f36638f8c49112e4c78f" -dependencies = [ - "cfg-if", -] +checksum = "22ec99545bb0ed0ea7bb9b8e1e9122ea386ff8a48c0922e43f36d45ab09e0e80" [[package]] name = "crunchy" @@ -1007,9 +1203,9 @@ dependencies = [ [[package]] name = "css-color" -version = "0.2.5" +version = "0.2.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d101c65424c856131a3cb818da2ddde03500dc3656972269cdf79f018ef77eb4" +checksum = "42aaeae719fd78ce501d77c6cdf01f7e96f26bcd5617a4903a1c2b97e388543a" [[package]] name = "csscolorparser" @@ -1022,14 +1218,10 @@ dependencies = [ ] [[package]] -name = "ctor" -version = "0.2.6" +name = "ctor-lite" +version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30d2b3721e861707777e3195b0158f950ae6dc4a27e4d02ff9f67e3eb3de199e" -dependencies = [ - "quote", - "syn 2.0.41", -] +checksum = "1f791803201ab277ace03903de1594460708d2d54df6053f2d9e82f592b19e3b" [[package]] name = "cursor-icon" @@ -1039,20 +1231,19 @@ checksum = "96a6ac251f4a2aca6b3f91340350eab87ae57c3f127ffeb585e92bd336717991" [[package]] name = "d3d12" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e16e44ab292b1dddfdaf7be62cfd8877df52f2f3fde5858d95bab606be259f20" +version = "0.19.0" +source = "git+https://github.com/gfx-rs/wgpu?rev=20fda69#20fda698341efbdc870b8027d6d49f5bf3f36109" dependencies = [ - "bitflags 2.4.1", - "libloading 0.8.1", + "bitflags 2.6.0", + "libloading 0.8.5", "winapi", ] [[package]] name = "darling" -version = "0.20.3" +version = "0.20.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0209d94da627ab5605dcccf08bb18afa5009cfbef48d8a8b7d7bdbc79be25c5e" +checksum = "6f63b86c8a8826a49b8c21f08a2d07338eec8d900540f8630dc76284be802989" dependencies = [ "darling_core", "darling_macro", @@ -1060,27 +1251,27 @@ dependencies = [ [[package]] name = "darling_core" -version = "0.20.3" +version = "0.20.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "177e3443818124b357d8e76f53be906d60937f0d3a90773a664fa63fa253e621" +checksum = "95133861a8032aaea082871032f5815eb9e98cef03fa916ab4500513994df9e5" dependencies = [ "fnv", "ident_case", "proc-macro2", "quote", - "strsim", - "syn 2.0.41", + "strsim 0.11.1", + "syn 2.0.72", ] [[package]] name = "darling_macro" -version = "0.20.3" +version = "0.20.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "836a9bbc7ad63342d6d6e7b815ccab164bc77a2d95d84bc3117a8c0d5c98e2d5" +checksum = "d336a2a514f6ccccaa3e09b02d41d35330c07ddf03a62165fcec10bb561c7806" dependencies = [ "darling_core", "quote", - "syn 2.0.41", + "syn 2.0.72", ] [[package]] @@ -1090,10 +1281,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "978747c1d849a7d2ee5e8adc0159961c48fb7e5db2f06af6723b80123bb53856" dependencies = [ "cfg-if", - "hashbrown 0.14.3", + "hashbrown 0.14.5", "lock_api", "once_cell", - "parking_lot_core 0.9.9", + "parking_lot_core 0.9.10", ] [[package]] @@ -1122,7 +1313,7 @@ dependencies = [ "darling", "proc-macro2", "quote", - "syn 2.0.41", + "syn 2.0.72", ] [[package]] @@ -1135,33 +1326,13 @@ dependencies = [ "crypto-common", ] -[[package]] -name = "dirs" -version = "4.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca3aa72a6f96ea37bbc5aa912f6788242832f75369bdfdadcb0e38423f100059" -dependencies = [ - "dirs-sys 0.3.7", -] - [[package]] name = "dirs" version = "5.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "44c45a9d03d6676652bcb5e724c7e988de1acad23a711b5217ab9cbecbec2225" dependencies = [ - "dirs-sys 0.4.1", -] - -[[package]] -name = "dirs-sys" -version = "0.3.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b1d1d91c932ef41c0f2663aa8b0ca0342d444d842c06914aa0a7e352d0bada6" -dependencies = [ - "libc", - "redox_users", - "winapi", + "dirs-sys", ] [[package]] @@ -1177,14 +1348,20 @@ dependencies = [ ] [[package]] -name = "displaydoc" -version = "0.2.4" +name = "dispatch" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "487585f4d0c6655fe74905e2504d8ad6908e4db67f744eb140876906c2f3175d" +checksum = "bd0c93bb4b0c6d9b77f4435b0ae98c24d17f1c45b2ff844c6151a07256ca923b" + +[[package]] +name = "displaydoc" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.41", + "syn 2.0.72", ] [[package]] @@ -1193,42 +1370,57 @@ version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "330c60081dcc4c72131f8eb70510f1ac07223e5d4163db481a04a0befcffa412" dependencies = [ - "libloading 0.8.1", + "libloading 0.8.5", ] [[package]] name = "dlv-list" -version = "0.3.0" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0688c2a7f92e427f44895cd63841bff7b29f8d7a1648b9e7e07a4a365b2e1257" +checksum = "442039f5147480ba31067cb00ada1adae6892028e40e45fc5de7b7df6dcc1b5f" +dependencies = [ + "const-random", +] + +[[package]] +name = "dnd" +version = "0.1.0" +source = "git+https://github.com/pop-os/window_clipboard.git?tag=pop-dnd-8#7c59b07b9172d8e0401f7e06609e1050575309c9" +dependencies = [ + "bitflags 2.6.0", + "mime 0.1.0", + "raw-window-handle", + "smithay-client-toolkit", + "smithay-clipboard", +] [[package]] name = "downcast-rs" -version = "1.2.0" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ea835d29036a4087793836fa931b08837ad5e957da9e23886b29586fb9b6650" +checksum = "75b325c5dbd37f80359721ad39aca5a29fb04c89279657cffdda8736d0c0b9d2" [[package]] name = "drm" -version = "0.10.0" +version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97fb1b703ffbc7ebd216eba7900008049a56ace55580ecb2ee7fa801e8d8be87" +checksum = "a0f8a69e60d75ae7dab4ef26a59ca99f2a89d4c142089b537775ae0c198bdcde" dependencies = [ - "bitflags 2.4.1", + "bitflags 2.6.0", "bytemuck", "drm-ffi", "drm-fourcc", - "nix 0.27.1", + "rustix 0.38.34", ] [[package]] name = "drm-ffi" -version = "0.6.0" +version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba7d1c19c4b6270e89d59fb27dc6d02a317c658a8a54e54781e1db9b5947595d" +checksum = "41334f8405792483e32ad05fbb9c5680ff4e84491883d2947a4757dc54cb2ac6" dependencies = [ "drm-sys", - "nix 0.27.1", + "rustix 0.38.34", ] [[package]] @@ -1239,15 +1431,25 @@ checksum = "0aafbcdb8afc29c1a7ee5fbe53b5d62f4565b35a042a662ca9fecd0b54dae6f4" [[package]] name = "drm-sys" -version = "0.5.0" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3a4f1c0468062a56cd5705f1e3b5409eb286d5596a2028ec8e947595d7e715ae" +checksum = "2d09ff881f92f118b11105ba5e34ff8f4adf27b30dae8f12e28c193af1c83176" +dependencies = [ + "libc", + "linux-raw-sys 0.6.4", +] [[package]] name = "either" -version = "1.9.0" +version = "1.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07" +checksum = "60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0" + +[[package]] +name = "endi" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a3d8a32ae18130a3c84dd492d4215c3d913c3b07c6b63c2eb3eb7ff1101ab7bf" [[package]] name = "enum-repr" @@ -1262,9 +1464,9 @@ dependencies = [ [[package]] name = "enumflags2" -version = "0.7.8" +version = "0.7.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5998b4f30320c9d93aed72f63af821bfdac50465b75428fce77b48ec482c3939" +checksum = "d232db7f5956f3f14313dc2f87985c58bd2c695ce124c8cdd984e08e15ac133d" dependencies = [ "enumflags2_derive", "serde", @@ -1272,13 +1474,13 @@ dependencies = [ [[package]] name = "enumflags2_derive" -version = "0.7.8" +version = "0.7.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f95e2801cd355d4a1a3e3953ce6ee5ae9603a5c833455343a8bfe3f44d418246" +checksum = "de0d48a183585823424a4ce1aa132d174a6a81bd540895822eb4c8373a8e49e8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.41", + "syn 2.0.72", ] [[package]] @@ -1289,19 +1491,25 @@ checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" [[package]] name = "errno" -version = "0.3.8" +version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a258e46cdc063eb8519c00b9fc845fc47bcfca4130e2f08e88665ceda8474245" +checksum = "534c5cf6194dfab3db3242765c03bbe257cf92f22b38f6bc0c58d59108a820ba" dependencies = [ "libc", "windows-sys 0.52.0", ] [[package]] -name = "etagere" -version = "0.2.10" +name = "error-code" +version = "3.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "306960881d6c46bd0dd6b7f07442a441418c08d0d3e63d8d080b0f64c6343e4e" +checksum = "a0474425d51df81997e2f90a21591180b38eccf27292d755f3e30750225c175b" + +[[package]] +name = "etagere" +version = "0.2.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0e2f1e3be19fb10f549be8c1bf013e8675b4066c445e36eb76d2ebb2f54ee495" dependencies = [ "euclid", "svg_fmt", @@ -1309,9 +1517,9 @@ dependencies = [ [[package]] name = "euclid" -version = "0.22.9" +version = "0.22.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87f253bc5c813ca05792837a0ff4b3a580336b224512d48f7eda1d7dd9210787" +checksum = "e0f0eb73b934648cd7a4a61f1b15391cd95dab0b4da6e2e66c2a072c144b4a20" dependencies = [ "num-traits", ] @@ -1335,9 +1543,9 @@ dependencies = [ [[package]] name = "event-listener" -version = "4.0.0" +version = "5.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "770d968249b5d99410d61f5bf89057f3199a077a04d087092f58e7d10692baae" +checksum = "6032be9bd27023a771701cc49f9f053c751055f71efb2e0ae5c15809093675ba" dependencies = [ "concurrent-queue", "parking", @@ -1346,22 +1554,22 @@ dependencies = [ [[package]] name = "event-listener-strategy" -version = "0.4.0" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "958e4d70b6d5e81971bebec42271ec641e7ff4e170a6fa605f2b8a8b65cb97d3" +checksum = "0f214dc438f977e6d4e3500aaa277f5ad94ca83fbbd9b1a15713ce2344ccc5a1" dependencies = [ - "event-listener 4.0.0", + "event-listener 5.3.1", "pin-project-lite", ] [[package]] name = "exr" -version = "1.6.4" +version = "1.72.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "279d3efcc55e19917fff7ab3ddd6c14afb6a90881a0078465196fe2f99d08c56" +checksum = "887d93f60543e9a9362ef8a21beedd0a833c5d9610e18c67abe15a5963dcb1a4" dependencies = [ "bit_field", - "flume 0.10.14", + "flume", "half", "lebe", "miniz_oxide", @@ -1397,15 +1605,15 @@ dependencies = [ [[package]] name = "fastrand" -version = "2.0.1" +version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25cbce373ec4653f1a01a31e8a5e5ec0c622dc27ff9c4e6606eefef5cbbed4a5" +checksum = "9fc0510504f03c51ada170672ac806f1f105a88aa97a5281117e1ddc3368e51a" [[package]] name = "fdeflate" -version = "0.3.1" +version = "0.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64d6dafc854908ff5da46ff3f8f473c6984119a2876a383a860246dd7841a868" +checksum = "4f9bfee30e4dedf0ab8b422f03af778d9612b63f502710fc500a334ebe2de645" dependencies = [ "simd-adler32", ] @@ -1433,9 +1641,9 @@ dependencies = [ [[package]] name = "flate2" -version = "1.0.28" +version = "1.0.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46303f565772937ffe1d394a4fac6f411c6013172fadde9dcdb1e147a086940e" +checksum = "5f54427cfd1c7829e2a139fcefea601bf088ebca651d2bf53ebc600eac295dae" dependencies = [ "crc32fast", "miniz_oxide", @@ -1458,9 +1666,9 @@ checksum = "8bf7cc16383c4b8d58b9905a8509f02926ce3058053c056376248d958c9df1e8" [[package]] name = "fluent" -version = "0.16.0" +version = "0.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61f69378194459db76abd2ce3952b790db103ceb003008d3d50d97c41ff847a7" +checksum = "bb74634707bebd0ce645a981148e8fb8c7bccd4c33c652aeffd28bf2f96d555a" dependencies = [ "fluent-bundle", "unic-langid", @@ -1468,9 +1676,9 @@ dependencies = [ [[package]] name = "fluent-bundle" -version = "0.15.2" +version = "0.15.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e242c601dec9711505f6d5bbff5bedd4b61b2469f2e8bb8e57ee7c9747a87ffd" +checksum = "7fe0a21ee80050c678013f82edf4b705fe2f26f1f9877593d13198612503f493" dependencies = [ "fluent-langneg", "fluent-syntax", @@ -1493,35 +1701,19 @@ dependencies = [ [[package]] name = "fluent-syntax" -version = "0.11.0" +version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0abed97648395c902868fee9026de96483933faa54ea3b40d652f7dfe61ca78" +checksum = "2a530c4694a6a8d528794ee9bbd8ba0122e779629ac908d15ad5a7ae7763a33d" dependencies = [ "thiserror", ] -[[package]] -name = "flume" -version = "0.10.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1657b4441c3403d9f7b3409e47575237dac27b1b5726df654a6ecbf92f0f7577" -dependencies = [ - "futures-core", - "futures-sink", - "nanorand", - "pin-project", - "spin", -] - [[package]] name = "flume" version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "55ac459de2512911e4b674ce33cf20befaba382d05b62b008afc1c8b57cbf181" dependencies = [ - "futures-core", - "futures-sink", - "nanorand", "spin", ] @@ -1532,26 +1724,35 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" [[package]] -name = "fontconfig-parser" -version = "0.5.3" +name = "font-types" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "674e258f4b5d2dcd63888c01c68413c51f565e8af99d2f7701c7b81d79ef41c4" +checksum = "8f0189ccb084f77c5523e08288d418cbaa09c451a08515678a0aa265df9a8b60" dependencies = [ - "roxmltree 0.18.1", + "bytemuck", +] + +[[package]] +name = "fontconfig-parser" +version = "0.5.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c1fcfcd44ca6e90c921fee9fa665d530b21ef1327a4c1a6c5250ea44b776ada7" +dependencies = [ + "roxmltree 0.20.0", ] [[package]] name = "fontdb" -version = "0.16.0" +version = "0.16.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "98b88c54a38407f7352dd2c4238830115a6377741098ffd1f997c813d0e088a6" +checksum = "b0299020c3ef3f60f526a4f64ab4a3d4ce116b1acbf24cdd22da0068e5d81dc3" dependencies = [ "fontconfig-parser", "log", - "memmap2 0.9.0", + "memmap2 0.9.4", "slotmap", "tinyvec", - "ttf-parser", + "ttf-parser 0.20.0", ] [[package]] @@ -1572,7 +1773,7 @@ checksum = "1a5c6c585bc94aaf2c7b51dd4c2ba22680844aba4c687be581871a6f518c5742" dependencies = [ "proc-macro2", "quote", - "syn 2.0.41", + "syn 2.0.72", ] [[package]] @@ -1592,9 +1793,9 @@ dependencies = [ [[package]] name = "fraction" -version = "0.14.0" +version = "0.15.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59a78dd758a47a7305478e0e054f9fde4e983b9f9eccda162bf7ca03b79e9d40" +checksum = "0f158e3ff0a1b334408dc9fb811cd99b446986f4d8b741bb08f9df1604085ae7" dependencies = [ "lazy_static", "num", @@ -1602,11 +1803,11 @@ dependencies = [ [[package]] name = "freedesktop-icons" -version = "0.2.4" +version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f9d46a9ae065c46efb83854bb10315de6d333bb6f4526ebe320c004dab7857e" +checksum = "a8ef34245e0540c9a3ce7a28340b98d2c12b75da0d446da4e8224923fcaa0c16" dependencies = [ - "dirs 4.0.0", + "dirs", "once_cell", "rust-ini", "thiserror", @@ -1624,9 +1825,9 @@ dependencies = [ [[package]] name = "futures" -version = "0.3.29" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da0290714b38af9b4a7b094b8a37086d1b4e61f2df9122c3cad2577669145335" +checksum = "645c6916888f6cb6350d2550b80fb63e734897a8498abe35cfb732b6487804b0" dependencies = [ "futures-channel", "futures-core", @@ -1639,9 +1840,9 @@ dependencies = [ [[package]] name = "futures-channel" -version = "0.3.29" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff4dd66668b557604244583e3e1e1eada8c5c2e96a6d0d6653ede395b78bbacb" +checksum = "eac8f7d7865dcb88bd4373ab671c8cf4508703796caa2b1985a9ca867b3fcb78" dependencies = [ "futures-core", "futures-sink", @@ -1649,15 +1850,15 @@ dependencies = [ [[package]] name = "futures-core" -version = "0.3.29" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb1d22c66e66d9d72e1758f0bd7d4fd0bee04cad842ee34587d68c07e45d088c" +checksum = "dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d" [[package]] name = "futures-executor" -version = "0.3.29" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f4fb8693db0cf099eadcca0efe2a5a22e4550f98ed16aba6c48700da29597bc" +checksum = "a576fc72ae164fca6b9db127eaa9a9dda0d61316034f33a0a0d4eda41f02b01d" dependencies = [ "futures-core", "futures-task", @@ -1667,9 +1868,9 @@ dependencies = [ [[package]] name = "futures-io" -version = "0.3.29" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8bf34a163b5c4c52d0478a4d757da8fb65cabef42ba90515efee0f6f9fa45aaa" +checksum = "a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1" [[package]] name = "futures-lite" @@ -1688,11 +1889,11 @@ dependencies = [ [[package]] name = "futures-lite" -version = "2.1.0" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aeee267a1883f7ebef3700f262d2d54de95dfaf38189015a74fdc4e0c7ad8143" +checksum = "52527eb5074e35e9339c6b4e8d12600c7128b68fb25dcb9fa9dec18f7c25f3a5" dependencies = [ - "fastrand 2.0.1", + "fastrand 2.1.0", "futures-core", "futures-io", "parking", @@ -1701,32 +1902,32 @@ dependencies = [ [[package]] name = "futures-macro" -version = "0.3.29" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53b153fd91e4b0147f4aced87be237c98248656bb01050b96bf3ee89220a8ddb" +checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" dependencies = [ "proc-macro2", "quote", - "syn 2.0.41", + "syn 2.0.72", ] [[package]] name = "futures-sink" -version = "0.3.29" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e36d3378ee38c2a36ad710c5d30c2911d752cb941c00c72dbabfb786a7970817" +checksum = "9fb8e00e87438d937621c1c6269e53f536c14d3fbd6a042bb24879e57d474fb5" [[package]] name = "futures-task" -version = "0.3.29" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "efd193069b0ddadc69c46389b740bbccdd97203899b48d09c5f7969591d6bae2" +checksum = "38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004" [[package]] name = "futures-util" -version = "0.3.29" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a19526d624e703a3179b3d322efec918b6246ea0fa51d41124525f00f1cc8104" +checksum = "3d6401deb83407ab3da39eba7e33987a73c3df0c82b4bb5813ee871c19c41d48" dependencies = [ "futures-channel", "futures-core", @@ -1752,25 +1953,23 @@ dependencies = [ [[package]] name = "gethostname" -version = "0.3.0" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb65d4ba3173c56a500b555b532f72c42e8d1fe64962b518897f8959fae2c177" +checksum = "0176e0459c2e4a1fe232f984bca6890e681076abb9934f6cea7c326f3fc47818" dependencies = [ "libc", - "winapi", + "windows-targets 0.48.5", ] [[package]] name = "getrandom" -version = "0.2.11" +version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe9006bed769170c11f845cf00c7c1e9092aeb3f268e007c3e760ac68008070f" +checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7" dependencies = [ "cfg-if", - "js-sys", "libc", "wasi", - "wasm-bindgen", ] [[package]] @@ -1784,10 +1983,20 @@ dependencies = [ ] [[package]] -name = "gimli" -version = "0.28.1" +name = "gif" +version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253" +checksum = "3fb2d69b19215e18bb912fa30f7ce15846e301408695e44e0ef719f1da9e19f2" +dependencies = [ + "color_quant", + "weezl", +] + +[[package]] +name = "gimli" +version = "0.29.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "40ecd4077b5ae9fd2e9e169b102c6c330d0605168eb0e8bf79952b256dbefffd" [[package]] name = "gl_generator" @@ -1808,9 +2017,9 @@ checksum = "b5418c17512bdf42730f9032c74e1ae39afc408745ebb2acf72fbc4691c17945" [[package]] name = "glow" -version = "0.13.0" +version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "886c2a30b160c4c6fec8f987430c26b526b7988ca71f664e6a699ddf6f9601e4" +checksum = "bd348e04c43b32574f2de31c8bb397d96c9fcfa1371bd4ca6d8bdc464ab121b1" dependencies = [ "js-sys", "slotmap", @@ -1829,8 +2038,8 @@ dependencies = [ [[package]] name = "glyphon" -version = "0.3.0" -source = "git+https://github.com/jackpot51/glyphon.git?branch=refactor#c28dc99c86b6b598633e6623096b21632f266976" +version = "0.5.0" +source = "git+https://github.com/pop-os/glyphon.git?tag=v0.5.0#1b0646ff8f74da92d3be704dfc2257d7f4d7eed8" dependencies = [ "cosmic-text", "etagere", @@ -1844,7 +2053,7 @@ version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fbcd2dba93594b227a1f57ee09b8b9da8892c34d55aa332e034a228d0fe6a171" dependencies = [ - "bitflags 2.4.1", + "bitflags 2.6.0", "gpu-alloc-types", ] @@ -1854,16 +2063,15 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "98ff03b468aa837d70984d55f5d3f846f6ec31fe34bbb97c4f85219caeee1ca4" dependencies = [ - "bitflags 2.4.1", + "bitflags 2.6.0", ] [[package]] name = "gpu-allocator" -version = "0.23.0" +version = "0.25.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "40fe17c8a05d60c38c0a4e5a3c802f2f1ceb66b76c67d96ffb34bef0475a7fad" +checksum = "6f56f6318968d03c18e1bcf4857ff88c61157e9da8e47c5f29055d60e1228884" dependencies = [ - "backtrace", "log", "presser", "thiserror", @@ -1877,9 +2085,9 @@ version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cc11df1ace8e7e564511f53af41f3e42ddc95b56fd07b3f4445d2a6048bc682c" dependencies = [ - "bitflags 2.4.1", + "bitflags 2.6.0", "gpu-descriptor-types", - "hashbrown 0.14.3", + "hashbrown 0.14.5", ] [[package]] @@ -1888,7 +2096,7 @@ version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6bf0b36e6f090b7e1d8a4b49c0cb81c1f8376f72198c65dd3ad9ff3556b8b78c" dependencies = [ - "bitflags 2.4.1", + "bitflags 2.6.0", ] [[package]] @@ -1909,9 +2117,9 @@ dependencies = [ [[package]] name = "h2" -version = "0.3.22" +version = "0.3.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d6250322ef6e60f93f9a2162799302cd6f68f79f6e5d85c8c16f14d1d958178" +checksum = "81fe527a889e1532da5c525686d96d4c2e74cdd345badf8dfef9f6b39dd5f5e8" dependencies = [ "bytes", "fnv", @@ -1919,7 +2127,7 @@ dependencies = [ "futures-sink", "futures-util", "http", - "indexmap 2.1.0", + "indexmap 2.3.0", "slab", "tokio", "tokio-util", @@ -1928,9 +2136,9 @@ dependencies = [ [[package]] name = "half" -version = "2.3.1" +version = "2.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc52e53916c08643f1b56ec082790d1e86a32e58dc5268f897f313fbae7b4872" +checksum = "6dd08c532ae367adf81c312a4580bc67f1d0fe8bc9c460520283f4c0ff277888" dependencies = [ "cfg-if", "crunchy", @@ -1941,30 +2149,27 @@ name = "hashbrown" version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" -dependencies = [ - "ahash 0.7.7", -] [[package]] name = "hashbrown" -version = "0.14.3" +version = "0.14.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604" +checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" dependencies = [ - "ahash 0.8.6", + "ahash", "allocator-api2", ] [[package]] name = "hassle-rs" -version = "0.10.0" +version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1397650ee315e8891a0df210707f0fc61771b0cc518c3023896064c5407cb3b0" +checksum = "af2a7e73e1f34c48da31fb668a907f250794837e08faa144fd24f0b8b741e890" dependencies = [ - "bitflags 1.3.2", - "com-rs", + "bitflags 2.6.0", + "com", "libc", - "libloading 0.7.4", + "libloading 0.8.5", "thiserror", "widestring", "winapi", @@ -1991,9 +2196,15 @@ checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" [[package]] name = "hermit-abi" -version = "0.3.3" +version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d77f7ec81a6d05a3abb01ab6eb7590f6083d08449fe5a1c8b1e620283546ccb7" +checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024" + +[[package]] +name = "hermit-abi" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fbf6a919d6cf397374f7dfeeea91d974c7c0a7221d0d0f4f20d859d329e53fcc" [[package]] name = "hex" @@ -2009,9 +2220,9 @@ checksum = "dfa686283ad6dd069f105e5ab091b04c62850d3e4cf5d67debad1933f55023df" [[package]] name = "http" -version = "0.2.11" +version = "0.2.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8947b1a6fad4393052c7ba1f4cd97bed3e953a95c79c92ad9b051a04611d9fbb" +checksum = "601cbb57e577e2f5ef5be8e7b83f0f63994f25aa94d673e54a92d5c516d101f1" dependencies = [ "bytes", "fnv", @@ -2031,9 +2242,9 @@ dependencies = [ [[package]] name = "httparse" -version = "1.8.0" +version = "1.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904" +checksum = "0fcc0b4a115bf80b728eb8ea024ad5bd707b615bfed49e0665b6e0f86fd082d9" [[package]] name = "httpdate" @@ -2049,9 +2260,9 @@ checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" [[package]] name = "hyper" -version = "0.14.27" +version = "0.14.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ffb1cfd654a8219eaef89881fdb3bb3b1cdc5fa75ded05d6933b2b382e395468" +checksum = "a152ddd61dfaec7273fe8419ab357f33aee0d914c5f4efbf0d96fa749eea5ec9" dependencies = [ "bytes", "futures-channel", @@ -2064,7 +2275,7 @@ dependencies = [ "httpdate", "itoa", "pin-project-lite", - "socket2 0.4.10", + "socket2 0.5.7", "tokio", "tower-service", "tracing", @@ -2093,15 +2304,15 @@ dependencies = [ "serde", "serde_derive", "thiserror", - "toml 0.8.8", + "toml 0.8.19", "unic-langid", ] [[package]] name = "i18n-embed" -version = "0.13.9" +version = "0.14.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92a86226a7a16632de6723449ee5fe70bac5af718bc642ee9ca2f0f6e14fa1fa" +checksum = "94205d95764f5bb9db9ea98fa77f89653365ca748e27161f5bbea2ffd50e459c" dependencies = [ "arc-swap", "fluent", @@ -2112,7 +2323,7 @@ dependencies = [ "lazy_static", "locale_config", "log", - "parking_lot 0.12.1", + "parking_lot 0.12.3", "rust-embed", "thiserror", "unic-langid", @@ -2121,9 +2332,9 @@ dependencies = [ [[package]] name = "i18n-embed-fl" -version = "0.6.7" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d26a3d3569737dfaac7fc1c4078e6af07471c3060b8e570bcd83cdd5f4685395" +checksum = "8241a781f49e923415e106fcd1f89c3fab92cc9f699a521c56e95dee273903d3" dependencies = [ "dashmap", "find-crate", @@ -2135,8 +2346,8 @@ dependencies = [ "proc-macro-error", "proc-macro2", "quote", - "strsim", - "syn 2.0.41", + "strsim 0.10.0", + "syn 2.0.72", "unic-langid", ] @@ -2150,14 +2361,38 @@ dependencies = [ "i18n-config", "proc-macro2", "quote", - "syn 2.0.41", + "syn 2.0.72", +] + +[[package]] +name = "iana-time-zone" +version = "0.1.60" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7ffbb5a1b541ea2561f8c41c087286cc091e21e556a4f09a8f6cbf17b69b141" +dependencies = [ + "android_system_properties", + "core-foundation-sys", + "iana-time-zone-haiku", + "js-sys", + "wasm-bindgen", + "windows-core", +] + +[[package]] +name = "iana-time-zone-haiku" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f" +dependencies = [ + "cc", ] [[package]] name = "iced" version = "0.12.0" -source = "git+https://github.com/pop-os/libcosmic/#6d8bb88087b9011b089888ff62f4868808719064" +source = "git+https://github.com/pop-os/libcosmic/#9e344b15c31ede67e0f79508108aa117d366eefa" dependencies = [ + "dnd", "iced_accessibility", "iced_core", "iced_futures", @@ -2165,13 +2400,15 @@ dependencies = [ "iced_sctk", "iced_widget", "image", + "mime 0.1.0", "thiserror", + "window_clipboard", ] [[package]] name = "iced_accessibility" version = "0.1.0" -source = "git+https://github.com/pop-os/libcosmic/#6d8bb88087b9011b089888ff62f4868808719064" +source = "git+https://github.com/pop-os/libcosmic/#9e344b15c31ede67e0f79508108aa117d366eefa" dependencies = [ "accesskit", "accesskit_unix", @@ -2180,25 +2417,29 @@ dependencies = [ [[package]] name = "iced_core" version = "0.12.0" -source = "git+https://github.com/pop-os/libcosmic/#6d8bb88087b9011b089888ff62f4868808719064" +source = "git+https://github.com/pop-os/libcosmic/#9e344b15c31ede67e0f79508108aa117d366eefa" dependencies = [ - "bitflags 1.3.2", + "bitflags 2.6.0", + "dnd", "iced_accessibility", - "instant", "log", + "mime 0.1.0", "num-traits", "palette", "raw-window-handle", "serde", - "smithay-client-toolkit 0.18.0", + "smithay-client-toolkit", + "smol_str", "thiserror", + "web-time", + "window_clipboard", "xxhash-rust", ] [[package]] name = "iced_futures" version = "0.12.0" -source = "git+https://github.com/pop-os/libcosmic/#6d8bb88087b9011b089888ff62f4868808719064" +source = "git+https://github.com/pop-os/libcosmic/#9e344b15c31ede67e0f79508108aa117d366eefa" dependencies = [ "futures", "iced_core", @@ -2211,14 +2452,15 @@ dependencies = [ [[package]] name = "iced_graphics" version = "0.12.0" -source = "git+https://github.com/pop-os/libcosmic/#6d8bb88087b9011b089888ff62f4868808719064" +source = "git+https://github.com/pop-os/libcosmic/#9e344b15c31ede67e0f79508108aa117d366eefa" dependencies = [ - "bitflags 1.3.2", + "bitflags 2.6.0", "bytemuck", "cosmic-text", "glam", "half", "iced_core", + "iced_futures", "image", "kamadak-exif", "log", @@ -2234,32 +2476,33 @@ dependencies = [ [[package]] name = "iced_renderer" version = "0.12.0" -source = "git+https://github.com/pop-os/libcosmic/#6d8bb88087b9011b089888ff62f4868808719064" +source = "git+https://github.com/pop-os/libcosmic/#9e344b15c31ede67e0f79508108aa117d366eefa" dependencies = [ "iced_graphics", "iced_tiny_skia", "iced_wgpu", "log", - "raw-window-handle", "thiserror", ] [[package]] name = "iced_runtime" version = "0.12.0" -source = "git+https://github.com/pop-os/libcosmic/#6d8bb88087b9011b089888ff62f4868808719064" +source = "git+https://github.com/pop-os/libcosmic/#9e344b15c31ede67e0f79508108aa117d366eefa" dependencies = [ + "dnd", "iced_accessibility", "iced_core", "iced_futures", - "smithay-client-toolkit 0.18.0", + "smithay-client-toolkit", "thiserror", + "window_clipboard", ] [[package]] name = "iced_sctk" version = "0.1.0" -source = "git+https://github.com/pop-os/libcosmic/#6d8bb88087b9011b089888ff62f4868808719064" +source = "git+https://github.com/pop-os/libcosmic/#9e344b15c31ede67e0f79508108aa117d366eefa" dependencies = [ "enum-repr", "float-cmp", @@ -2271,19 +2514,21 @@ dependencies = [ "itertools", "lazy_static", "raw-window-handle", - "smithay-client-toolkit 0.18.0", - "smithay-clipboard", + "smithay-client-toolkit", "thiserror", "tracing", - "wayland-backend 0.3.2", - "wayland-protocols 0.31.0", + "wayland-backend", + "wayland-protocols", + "window_clipboard", + "xkbcommon", + "xkbcommon-dl", "xkeysym", ] [[package]] name = "iced_style" version = "0.12.0" -source = "git+https://github.com/pop-os/libcosmic/#6d8bb88087b9011b089888ff62f4868808719064" +source = "git+https://github.com/pop-os/libcosmic/#9e344b15c31ede67e0f79508108aa117d366eefa" dependencies = [ "iced_core", "once_cell", @@ -2293,14 +2538,13 @@ dependencies = [ [[package]] name = "iced_tiny_skia" version = "0.12.0" -source = "git+https://github.com/pop-os/libcosmic/#6d8bb88087b9011b089888ff62f4868808719064" +source = "git+https://github.com/pop-os/libcosmic/#9e344b15c31ede67e0f79508108aa117d366eefa" dependencies = [ "bytemuck", "cosmic-text", "iced_graphics", "kurbo", "log", - "raw-window-handle", "resvg", "rustc-hash", "softbuffer", @@ -2311,9 +2555,10 @@ dependencies = [ [[package]] name = "iced_wgpu" version = "0.12.0" -source = "git+https://github.com/pop-os/libcosmic/#6d8bb88087b9011b089888ff62f4868808719064" +source = "git+https://github.com/pop-os/libcosmic/#9e344b15c31ede67e0f79508108aa117d366eefa" dependencies = [ - "bitflags 1.3.2", + "as-raw-xcb-connection", + "bitflags 2.6.0", "bytemuck", "futures", "glam", @@ -2325,22 +2570,32 @@ dependencies = [ "once_cell", "raw-window-handle", "resvg", + "rustix 0.38.34", + "smithay-client-toolkit", + "tiny-xlib", + "wayland-backend", + "wayland-client", + "wayland-protocols", + "wayland-sys", "wgpu", + "x11rb", ] [[package]] name = "iced_widget" version = "0.12.0" -source = "git+https://github.com/pop-os/libcosmic/#6d8bb88087b9011b089888ff62f4868808719064" +source = "git+https://github.com/pop-os/libcosmic/#9e344b15c31ede67e0f79508108aa117d366eefa" dependencies = [ + "dnd", "iced_renderer", "iced_runtime", "iced_style", "num-traits", "ouroboros", - "smithay-client-toolkit 0.18.0", + "smithay-client-toolkit", "thiserror", "unicode-segmentation", + "window_clipboard", ] [[package]] @@ -2361,17 +2616,16 @@ dependencies = [ [[package]] name = "image" -version = "0.24.7" +version = "0.24.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f3dfdbdd72063086ff443e297b61695500514b1e41095b6fb9a5ab48a70a711" +checksum = "5690139d2f55868e080017335e4b94cb7414274c74f1669c84fb5feba2c9f69d" dependencies = [ "bytemuck", "byteorder", "color_quant", "exr", - "gif", + "gif 0.13.1", "jpeg-decoder", - "num-rational", "num-traits", "png", "qoi", @@ -2396,12 +2650,12 @@ dependencies = [ [[package]] name = "indexmap" -version = "2.1.0" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d530e1a18b1cb4c484e6e34556a0d948706958449fca0cab753d649f2bce3d1f" +checksum = "de3fc2e30ba82dd1b3911c8de1ffc143c74a914a14e99514d7637e3099df5ea0" dependencies = [ "equivalent", - "hashbrown 0.14.3", + "hashbrown 0.14.5", ] [[package]] @@ -2426,18 +2680,18 @@ dependencies = [ [[package]] name = "instant" -version = "0.1.12" +version = "0.1.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c" +checksum = "e0242819d153cba4b4b05a5a8f2a7e9bbf97b6055b2a002b395c96b5ff3c0222" dependencies = [ "cfg-if", ] [[package]] name = "intl-memoizer" -version = "0.5.1" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c310433e4a310918d6ed9243542a6b83ec1183df95dff8f23f87bb88a264a66f" +checksum = "fe22e020fce238ae18a6d5d8c502ee76a52a6e880d99477657e6acc30ec57bda" dependencies = [ "type-map", "unic-langid", @@ -2458,7 +2712,7 @@ version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "eae7b9aee968036d54dce06cebaefd919e4472e753296daccd6d344e3e2df0c2" dependencies = [ - "hermit-abi", + "hermit-abi 0.3.9", "libc", "windows-sys 0.48.0", ] @@ -2471,33 +2725,33 @@ checksum = "5a611371471e98973dbcab4e0ec66c31a10bc356eeb4d54a0e05eac8158fe38c" [[package]] name = "itertools" -version = "0.10.5" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473" +checksum = "ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569" dependencies = [ "either", ] [[package]] name = "itoa" -version = "1.0.10" +version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1a46d1a171d865aa5f83f92695765caa047a9b4cbae2cbf37dbd613a793fd4c" +checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b" [[package]] name = "jpeg-decoder" -version = "0.3.0" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc0000e42512c92e31c2252315bda326620a4e034105e900c98ec492fa077b3e" +checksum = "f5d4a7da358eff58addd2877a45865158f0d78c911d43a5784ceb7bbf52833b0" dependencies = [ "rayon", ] [[package]] name = "js-sys" -version = "0.3.66" +version = "0.3.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cee9c64da59eae3b50095c18d3e74f8b73c0b86d2792824ff01bbce68ba229ca" +checksum = "29c15563dc2726973df627357ce0c9ddddbea194836909d655df6a75d2cf296d" dependencies = [ "wasm-bindgen", ] @@ -2518,7 +2772,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6aae1df220ece3c0ada96b8153459b67eebe9ae9212258bb0134ae60416fdf76" dependencies = [ "libc", - "libloading 0.8.1", + "libloading 0.8.5", "pkg-config", ] @@ -2528,6 +2782,15 @@ version = "3.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e2db585e1d738fc771bf08a151420d3ed193d9d895a36df7f6f8a9456b911ddc" +[[package]] +name = "known-folders" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4397c789f2709d23cfcb703b316e0766a8d4b17db2d47b0ab096ef6047cae1d8" +dependencies = [ + "windows-sys 0.52.0", +] + [[package]] name = "kqueue" version = "1.0.8" @@ -2559,9 +2822,9 @@ dependencies = [ [[package]] name = "lazy_static" -version = "1.4.0" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" +checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" [[package]] name = "lebe" @@ -2571,17 +2834,18 @@ checksum = "03087c2bad5e1034e8cace5926dec053fb3790248370865f5117a7d0213354c8" [[package]] name = "libc" -version = "0.2.151" +version = "0.2.155" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "302d7ab3130588088d277783b1e2d2e10c9e9e4a16dd9050e6ec93fb3e7048f4" +checksum = "97b3888a4aecf77e811145cadf6eef5901f4782c53886191b2f693f24761847c" [[package]] name = "libcosmic" version = "0.1.0" -source = "git+https://github.com/pop-os/libcosmic/#6d8bb88087b9011b089888ff62f4868808719064" +source = "git+https://github.com/pop-os/libcosmic/#9e344b15c31ede67e0f79508108aa117d366eefa" dependencies = [ "apply", - "ashpd", + "ashpd 0.9.1", + "chrono", "cosmic-client-toolkit", "cosmic-config", "cosmic-settings-daemon", @@ -2601,6 +2865,8 @@ dependencies = [ "iced_widget", "lazy_static", "palette", + "rfd", + "serde", "slotmap", "taffy", "thiserror", @@ -2608,7 +2874,7 @@ dependencies = [ "tracing", "unicode-segmentation", "url", - "zbus", + "zbus 4.4.0", ] [[package]] @@ -2623,12 +2889,12 @@ dependencies = [ [[package]] name = "libloading" -version = "0.8.1" +version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c571b676ddfc9a8c12f1f3d3085a7b163966a8fd8098a90640953ce5f6170161" +checksum = "4979f22fdb869068da03c9f7528f8297c6fd2606bc3a4affe42e6a823fdb8da4" dependencies = [ "cfg-if", - "windows-sys 0.48.0", + "windows-targets 0.52.6", ] [[package]] @@ -2639,13 +2905,12 @@ checksum = "4ec2a862134d2a7d32d7983ddcdd1c4923530833c9f2ea1a44fc5fa473989058" [[package]] name = "libredox" -version = "0.0.1" +version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85c833ca1e66078851dba29046874e38f08b2c883700aa29a03ddd3b23814ee8" +checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d" dependencies = [ - "bitflags 2.4.1", + "bitflags 2.6.0", "libc", - "redox_syscall 0.4.1", ] [[package]] @@ -2656,9 +2921,15 @@ checksum = "ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519" [[package]] name = "linux-raw-sys" -version = "0.4.12" +version = "0.4.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4cd1a83af159aa67994778be9070f0ae1bd732942279cabb14f86f986a21456" +checksum = "78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89" + +[[package]] +name = "linux-raw-sys" +version = "0.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0b5399f6804fbab912acbd8878ed3532d506b7c951b8f9f164ef90fef39e3f4" [[package]] name = "locale_config" @@ -2675,9 +2946,9 @@ dependencies = [ [[package]] name = "lock_api" -version = "0.4.11" +version = "0.4.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c168f8615b12bc01f9c17e2eb0cc07dcae1940121185446edc3744920e8ef45" +checksum = "07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17" dependencies = [ "autocfg", "scopeguard", @@ -2685,9 +2956,9 @@ dependencies = [ [[package]] name = "log" -version = "0.4.20" +version = "0.4.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f" +checksum = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24" [[package]] name = "log-panics" @@ -2701,11 +2972,11 @@ dependencies = [ [[package]] name = "lru" -version = "0.11.1" +version = "0.12.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4a83fb7698b3643a0e34f9ae6f2e8f0178c0fd42f8b59d493aa271ff3a5bf21" +checksum = "37ee39891760e7d94734f6f63fedc29a2e4a152f836120753a72503f09fcf904" dependencies = [ - "hashbrown 0.14.3", + "hashbrown 0.14.5", ] [[package]] @@ -2730,9 +3001,9 @@ dependencies = [ [[package]] name = "lyon_geom" -version = "1.0.4" +version = "1.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74df1ff0a0147282eb10699537a03baa7d31972b58984a1d44ce0624043fe8ad" +checksum = "edecfb8d234a2b0be031ab02ebcdd9f3b9ee418fb35e265f7a540a48d197bff9" dependencies = [ "arrayvec", "euclid", @@ -2741,9 +3012,9 @@ dependencies = [ [[package]] name = "lyon_path" -version = "1.0.4" +version = "1.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca507745ba7ccbc76e5c44e7b63b1a29d2b0d6126f375806a5bbaf657c7d6c45" +checksum = "9c08a606c7a59638d6c6aa18ac91a06aa9fb5f765a7efb27e6a4da58700740d7" dependencies = [ "lyon_geom", "num-traits", @@ -2751,13 +3022,13 @@ dependencies = [ [[package]] name = "lyon_tessellation" -version = "1.0.12" +version = "1.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f5bcf02928361d18e6edb8ad3bc5b93cba8aa57e2508deb072c2d2ade8bbd0d" +checksum = "579d42360a4b09846eff2feef28f538696c7d6c7439bfa65874ff3cbe0951b2c" dependencies = [ "float_next_after", "lyon_path", - "thiserror", + "num-traits", ] [[package]] @@ -2786,18 +3057,9 @@ checksum = "0e7465ac9959cc2b1404e8e2367b43684a6d13790fe23056cc8c6c5a6b7bcb94" [[package]] name = "memchr" -version = "2.6.4" +version = "2.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f665ee40bc4a3c5590afb1e9677db74a508659dfd71e126420da8274909a0167" - -[[package]] -name = "memmap2" -version = "0.5.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83faa42c0a078c393f6b29d5db232d8be22776a891f8f56e5284faee4a20b327" -dependencies = [ - "libc", -] +checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" [[package]] name = "memmap2" @@ -2810,22 +3072,13 @@ dependencies = [ [[package]] name = "memmap2" -version = "0.9.0" +version = "0.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "deaba38d7abf1d4cca21cc89e932e542ba2b9258664d2a9ef0e61512039c9375" +checksum = "fe751422e4a8caa417e13c3ea66452215d7d63e19e604f4980461212f3ae1322" dependencies = [ "libc", ] -[[package]] -name = "memoffset" -version = "0.6.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5aa361d4faea93603064a027415f07bd8e1d5c88c9fbf68bf56a285428fd79ce" -dependencies = [ - "autocfg", -] - [[package]] name = "memoffset" version = "0.7.1" @@ -2837,9 +3090,9 @@ dependencies = [ [[package]] name = "memoffset" -version = "0.9.0" +version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a634b1c61a95585bd15607c6ab0c4e5b226e695ff2800ba0cdccddf208c406c" +checksum = "488016bfae457b036d996092f6cb448677611ce4449e970ceaf42695203f218a" dependencies = [ "autocfg", ] @@ -2850,7 +3103,7 @@ version = "0.27.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c43f73953f8cbe511f021b58f18c3ce1c3d1ae13fe953293e13345bf83217f25" dependencies = [ - "bitflags 2.4.1", + "bitflags 2.6.0", "block", "core-graphics-types", "foreign-types", @@ -2859,6 +3112,14 @@ dependencies = [ "paste", ] +[[package]] +name = "mime" +version = "0.1.0" +source = "git+https://github.com/pop-os/window_clipboard.git?tag=pop-dnd-8#7c59b07b9172d8e0401f7e06609e1050575309c9" +dependencies = [ + "smithay-clipboard", +] + [[package]] name = "mime" version = "0.3.17" @@ -2873,9 +3134,9 @@ checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" [[package]] name = "miniz_oxide" -version = "0.7.1" +version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7" +checksum = "b8a240ddb74feaf34a79a7add65a741f3167852fba007066dcac1ca548d89c08" dependencies = [ "adler", "simd-adler32", @@ -2883,9 +3144,9 @@ dependencies = [ [[package]] name = "mio" -version = "0.8.10" +version = "0.8.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f3d0b296e374a4e6f3c7b0a1f5a51d748a0d34c85e7dc48fc3fa9a87657fe09" +checksum = "a4a650543ca06a924e8b371db273b2756685faae30f8487da1b56505a8f78b0c" dependencies = [ "libc", "log", @@ -2893,6 +3154,18 @@ dependencies = [ "windows-sys 0.48.0", ] +[[package]] +name = "mio" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4569e456d394deccd22ce1c1913e6ea0e54519f577285001215d33557431afe4" +dependencies = [ + "hermit-abi 0.3.9", + "libc", + "wasi", + "windows-sys 0.52.0", +] + [[package]] name = "mutate_once" version = "0.1.1" @@ -2901,15 +3174,15 @@ checksum = "16cf681a23b4d0a43fc35024c176437f9dcd818db34e0f42ab456a0ee5ad497b" [[package]] name = "naga" -version = "0.14.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae585df4b6514cf8842ac0f1ab4992edc975892704835b549cf818dc0191249e" +version = "0.19.0" +source = "git+https://github.com/gfx-rs/wgpu?rev=20fda69#20fda698341efbdc870b8027d6d49f5bf3f36109" dependencies = [ + "arrayvec", "bit-set", - "bitflags 2.4.1", + "bitflags 2.6.0", "codespan-reporting", "hexf-parse", - "indexmap 2.1.0", + "indexmap 2.3.0", "log", "num-traits", "rustc-hash", @@ -2919,27 +3192,6 @@ dependencies = [ "unicode-xid", ] -[[package]] -name = "nanorand" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a51313c5820b0b02bd422f4b44776fbf47961755c74ce64afc73bfad10226c3" -dependencies = [ - "getrandom", -] - -[[package]] -name = "nix" -version = "0.24.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa52e972a9a719cecb6864fb88568781eb706bac2cd1d4f04a648542dbf78069" -dependencies = [ - "bitflags 1.3.2", - "cfg-if", - "libc", - "memoffset 0.6.5", -] - [[package]] name = "nix" version = "0.26.4" @@ -2955,13 +3207,15 @@ dependencies = [ [[package]] name = "nix" -version = "0.27.1" +version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2eb04e9c688eff1c89d72b407f168cf79bb9e867a9d3323ed6c01519eb9cc053" +checksum = "71e2746dc3a24dd78b3cfcb7be93368c6de9963d30f43a6a73998a9cf4b17b46" dependencies = [ - "bitflags 2.4.1", + "bitflags 2.6.0", "cfg-if", + "cfg_aliases 0.2.1", "libc", + "memoffset 0.9.1", ] [[package]] @@ -2980,7 +3234,7 @@ version = "6.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6205bd8bb1e454ad2e27422015fb5e4f2bcc7e08fa8f27058670d208324a4d2d" dependencies = [ - "bitflags 2.4.1", + "bitflags 2.6.0", "crossbeam-channel", "filetime", "fsevent-sys", @@ -2988,7 +3242,7 @@ dependencies = [ "kqueue", "libc", "log", - "mio", + "mio 0.8.11", "walkdir", "windows-sys 0.48.0", ] @@ -3005,9 +3259,9 @@ dependencies = [ [[package]] name = "num" -version = "0.4.1" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b05180d69e3da0e530ba2a1dae5110317e49e3b7f3d41be227dc5f92e49ee7af" +checksum = "35bd024e8b2ff75562e5f34e7f4905839deb4b22955ef5e73d2fea1b9813cb23" dependencies = [ "num-bigint", "num-complex", @@ -3019,39 +3273,37 @@ dependencies = [ [[package]] name = "num-bigint" -version = "0.4.4" +version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "608e7659b5c3d7cba262d894801b9ec9d00de989e8a82bd4bef91d08da45cdc0" +checksum = "a5e44f723f1133c9deac646763579fdb3ac745e418f2a7af9cd0c431da1f20b9" dependencies = [ - "autocfg", "num-integer", "num-traits", ] [[package]] name = "num-complex" -version = "0.4.4" +version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ba157ca0885411de85d6ca030ba7e2a83a28636056c7c699b07c8b6f7383214" +checksum = "73f88a1307638156682bada9d7604135552957b7818057dcef22705b4d509495" dependencies = [ "num-traits", ] [[package]] name = "num-integer" -version = "0.1.45" +version = "0.1.46" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9" +checksum = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f" dependencies = [ - "autocfg", "num-traits", ] [[package]] name = "num-iter" -version = "0.1.43" +version = "0.1.45" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d03e6c028c5dc5cac6e2dec0efda81fc887605bb3d884578bb6d6bf7514e252" +checksum = "1429034a0490724d0075ebb2bc9e875d6503c3cf69e235a8941aa757d83ef5bf" dependencies = [ "autocfg", "num-integer", @@ -3060,11 +3312,10 @@ dependencies = [ [[package]] name = "num-rational" -version = "0.4.1" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0638a1c9d0a3c0914158145bc76cff373a75a627e6ecbfb71cbe6f453a5a19b0" +checksum = "f83d14da390562dca69fc84082e73e548e1ad308d24accdedd2720017cb37824" dependencies = [ - "autocfg", "num-bigint", "num-integer", "num-traits", @@ -3072,9 +3323,9 @@ dependencies = [ [[package]] name = "num-traits" -version = "0.2.17" +version = "0.2.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "39e3200413f237f41ab11ad6d161bc7239c84dcb631773ccd7de3dfe4b5c267c" +checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" dependencies = [ "autocfg", "libm", @@ -3086,7 +3337,7 @@ version = "1.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43" dependencies = [ - "hermit-abi", + "hermit-abi 0.3.9", "libc", ] @@ -3131,9 +3382,9 @@ dependencies = [ [[package]] name = "object" -version = "0.32.1" +version = "0.36.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9cf5f9dd3933bd50a9e1f149ec995f39ae2c496d31fd772c1fd45ebc27e902b0" +checksum = "3f203fa8daa7bb185f760ae12bd8e097f63d17041dcdcaf675ac54cdf863170e" dependencies = [ "memchr", ] @@ -3152,12 +3403,12 @@ checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d" [[package]] name = "ordered-multimap" -version = "0.4.3" +version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ccd746e37177e1711c20dd619a1620f34f5c8b569c53590a72dedd5344d8924a" +checksum = "49203cdcae0030493bad186b28da2fa25645fa276a51b6fec8010d281e02ef79" dependencies = [ "dlv-list", - "hashbrown 0.12.3", + "hashbrown 0.14.5", ] [[package]] @@ -3191,7 +3442,7 @@ dependencies = [ "proc-macro-error", "proc-macro2", "quote", - "syn 2.0.41", + "syn 2.0.72", ] [[package]] @@ -3202,9 +3453,9 @@ checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" [[package]] name = "palette" -version = "0.7.3" +version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2e2f34147767aa758aa649415b50a69eeb46a67f9dc7db8011eeb3d84b351dc" +checksum = "4cbf71184cc5ecc2e4e1baccdb21026c20e5fc3dcf63028a086131b3ab00b6e6" dependencies = [ "approx", "fast-srgb8", @@ -3215,13 +3466,14 @@ dependencies = [ [[package]] name = "palette_derive" -version = "0.7.3" +version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b7db010ec5ff3d4385e4f133916faacd9dad0f6a09394c92d825b3aed310fa0a" +checksum = "f5030daf005bface118c096f510ffb781fc28f9ab6a32ab224d8631be6851d30" dependencies = [ + "by_address", "proc-macro2", "quote", - "syn 2.0.41", + "syn 2.0.72", ] [[package]] @@ -3243,12 +3495,12 @@ dependencies = [ [[package]] name = "parking_lot" -version = "0.12.1" +version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f" +checksum = "f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27" dependencies = [ "lock_api", - "parking_lot_core 0.9.9", + "parking_lot_core 0.9.10", ] [[package]] @@ -3267,22 +3519,22 @@ dependencies = [ [[package]] name = "parking_lot_core" -version = "0.9.9" +version = "0.9.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c42a9226546d68acdd9c0a280d17ce19bfe27a46bf68784e4066115788d008e" +checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8" dependencies = [ "cfg-if", "libc", - "redox_syscall 0.4.1", + "redox_syscall 0.5.3", "smallvec", - "windows-targets 0.48.5", + "windows-targets 0.52.6", ] [[package]] name = "paste" -version = "1.0.14" +version = "1.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c" +checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a" [[package]] name = "percent-encoding" @@ -3320,7 +3572,7 @@ dependencies = [ "phf_shared", "proc-macro2", "quote", - "syn 2.0.41", + "syn 2.0.72", ] [[package]] @@ -3340,29 +3592,29 @@ checksum = "5be167a7af36ee22fe3115051bc51f6e6c7054c9348e28deb4f49bd6f705a315" [[package]] name = "pin-project" -version = "1.1.3" +version = "1.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fda4ed1c6c173e3fc7a83629421152e01d7b1f9b7f65fb301e490e8cfc656422" +checksum = "b6bf43b791c5b9e34c3d182969b4abb522f9343702850a2e57f460d00d09b4b3" dependencies = [ "pin-project-internal", ] [[package]] name = "pin-project-internal" -version = "1.1.3" +version = "1.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4359fd9c9171ec6e8c62926d6faaf553a8dc3f64e1507e76da7911b4f6a04405" +checksum = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965" dependencies = [ "proc-macro2", "quote", - "syn 2.0.41", + "syn 2.0.72", ] [[package]] name = "pin-project-lite" -version = "0.2.13" +version = "0.2.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58" +checksum = "bda66fc9667c18cb2758a2ac84d1167245054bcf85d5d1aaa6923f45801bdd02" [[package]] name = "pin-utils" @@ -3372,26 +3624,26 @@ checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" [[package]] name = "piper" -version = "0.2.1" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "668d31b1c4eba19242f2088b2bf3316b82ca31082a8335764db4e083db7485d4" +checksum = "ae1d5c74c9876f070d3e8fd503d748c7d974c3e48da8f41350fa5222ef9b4391" dependencies = [ "atomic-waker", - "fastrand 2.0.1", + "fastrand 2.1.0", "futures-io", ] [[package]] name = "pkg-config" -version = "0.3.27" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964" +checksum = "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec" [[package]] name = "png" -version = "0.17.10" +version = "0.17.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd75bf2d8dd3702b9707cdbc56a5b9ef42cec752eb8b3bafc01234558442aa64" +checksum = "06e4b0d3d1312775e782c86c91a111aa1f910cbb65e1337f9975b5f9a554b5e1" dependencies = [ "bitflags 1.3.2", "crc32fast", @@ -3418,23 +3670,33 @@ dependencies = [ [[package]] name = "polling" -version = "3.3.1" +version = "3.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf63fa624ab313c11656b4cda960bfc46c410187ad493c41f6ba2d8c1e991c9e" +checksum = "a3ed00ed3fbf728b5816498ecd316d1716eecaced9c0c8d2c5a6740ca214985b" dependencies = [ "cfg-if", "concurrent-queue", + "hermit-abi 0.4.0", "pin-project-lite", - "rustix 0.38.28", + "rustix 0.38.34", "tracing", "windows-sys 0.52.0", ] [[package]] -name = "ppv-lite86" -version = "0.2.17" +name = "pollster" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" +checksum = "22686f4785f02a4fcc856d3b3bb19bf6c8160d103f7a99cc258bddd0251dc7f2" + +[[package]] +name = "ppv-lite86" +version = "0.2.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dee4364d9f3b902ef14fab8a1ddffb783a1cb6b4bba3bfc1fa3922732c7de97f" +dependencies = [ + "zerocopy 0.6.6", +] [[package]] name = "presser" @@ -3452,6 +3714,15 @@ dependencies = [ "toml_edit 0.19.15", ] +[[package]] +name = "proc-macro-crate" +version = "3.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d37c51ca738a55da99dc0c4a34860fd675453b8b36209178c2249bb13651284" +dependencies = [ + "toml_edit 0.21.1", +] + [[package]] name = "proc-macro-error" version = "1.0.4" @@ -3478,24 +3749,24 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.70" +version = "1.0.86" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "39278fbbf5fb4f646ce651690877f89d1c5811a3d4acb27700c1cb3cdb78fd3b" +checksum = "5e719e8df665df0d1c8fbfd238015744736151d4445ec0836b8e628aae103b77" dependencies = [ "unicode-ident", ] [[package]] name = "profiling" -version = "1.0.12" +version = "1.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1de09527cd2ea2c2d59fb6c2f8c1ab8c71709ed9d1b6d60b0e1c9fbb6fdcb33c" +checksum = "43d84d1d7a6ac92673717f9f6d1518374ef257669c24ebc5ac25d5033828be58" [[package]] name = "prost" -version = "0.11.9" +version = "0.12.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b82eaa1d779e9a4bc1c3217db8ffbeabaae1dca241bf70183242128d48681cd" +checksum = "deb1435c188b76130da55f17a466d252ff7b1418b2ad3e037d127b94e3411f29" dependencies = [ "bytes", "prost-derive", @@ -3503,22 +3774,22 @@ dependencies = [ [[package]] name = "prost-derive" -version = "0.11.9" +version = "0.12.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5d2d8d10f3c6ded6da8b05b5fb3b8a5082514344d56c9f871412d29b4e075b4" +checksum = "81bddcdb20abf9501610992b6759a4c888aef7d1a7247ef75e2404275ac24af1" dependencies = [ "anyhow", "itertools", "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.72", ] [[package]] name = "prost-types" -version = "0.11.9" +version = "0.12.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "213622a1460818959ac1181aaeb2dc9c7f63df720db7d788b3e24eacd1983e13" +checksum = "9091c90b0a32608e984ff2fa4091273cbdd755d54935c51d520887f4a1dbd5b0" dependencies = [ "prost", ] @@ -3534,27 +3805,18 @@ dependencies = [ [[package]] name = "quick-xml" -version = "0.28.2" +version = "0.34.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ce5e73202a820a31f8a0ee32ada5e21029c81fd9e3ebf668a40832e4219d9d1" -dependencies = [ - "memchr", -] - -[[package]] -name = "quick-xml" -version = "0.30.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eff6510e86862b57b210fd8cbe8ed3f0d7d600b9c2863cd4549a2e033c66e956" +checksum = "6f24d770aeca0eacb81ac29dfbc55ebcc09312fdd1f8bbecdc7e4a84e000e3b4" dependencies = [ "memchr", ] [[package]] name = "quote" -version = "1.0.33" +version = "1.0.36" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae" +checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7" dependencies = [ "proc-macro2", ] @@ -3597,21 +3859,21 @@ checksum = "9c8a99fddc9f0ba0a85884b8d14e3592853e787d581ca1816c91349b10e4eeab" [[package]] name = "rangemap" -version = "1.4.0" +version = "1.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "977b1e897f9d764566891689e642653e5ed90c6895106acd005eb4c1d0203991" +checksum = "f60fcc7d6849342eff22c4350c8b9a989ee8ceabc4b481253e8946b9fe83d684" [[package]] name = "raw-window-handle" -version = "0.5.2" +version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2ff9a1f06a88b01621b7ae906ef0211290d1c8a168a15542486a8f61c0833b9" +checksum = "20675572f6f24e9e76ef639bc5552774ed45f1c30e2951e1e99c59888861c539" [[package]] name = "rayon" -version = "1.8.0" +version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c27db03db7734835b3f53954b534c91069375ce6ccaa2e065441e07d9b6cdb1" +checksum = "b418a60154510ca1a002a752ca9714984e21e4241e804d32555251faf8b78ffa" dependencies = [ "either", "rayon-core", @@ -3619,9 +3881,9 @@ dependencies = [ [[package]] name = "rayon-core" -version = "1.12.0" +version = "1.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ce3fb6ad83f861aac485e76e1985cd109d9a3713802152be56c3b1f0e0658ed" +checksum = "1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2" dependencies = [ "crossbeam-deque", "crossbeam-utils", @@ -3633,6 +3895,16 @@ version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3b42e27ef78c35d3998403c1d26f3efd9e135d3e5121b0a4845cc5cc27547f4f" +[[package]] +name = "read-fonts" +version = "0.20.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8c141b9980e1150201b2a3a32879001c8f975fe313ec3df5471a9b5c79a880cd" +dependencies = [ + "bytemuck", + "font-types", +] + [[package]] name = "redox_syscall" version = "0.2.16" @@ -3652,10 +3924,19 @@ dependencies = [ ] [[package]] -name = "redox_users" -version = "0.4.4" +name = "redox_syscall" +version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a18479200779601e498ada4e8c1e1f50e3ee19deb0259c25825a98b5603b2cb4" +checksum = "2a908a6e00f1fdd0dfd9c0eb08ce85126f6d8bbda50017e74bc4a4b7d4a926a4" +dependencies = [ + "bitflags 2.6.0", +] + +[[package]] +name = "redox_users" +version = "0.4.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bd283d9651eeda4b2a83a43c1c91b266c40fd76ecd39a50a8c630ae69dc72891" dependencies = [ "getrandom", "libredox", @@ -3664,14 +3945,14 @@ dependencies = [ [[package]] name = "regex" -version = "1.10.2" +version = "1.10.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "380b951a9c5e80ddfd6136919eef32310721aa4aacd4889a8d39124b026ab343" +checksum = "b91213439dad192326a0d7c6ee3955910425f441d7038e0d6933b0aec5c4517f" dependencies = [ "aho-corasick", "memchr", - "regex-automata 0.4.3", - "regex-syntax 0.8.2", + "regex-automata 0.4.7", + "regex-syntax 0.8.4", ] [[package]] @@ -3685,13 +3966,13 @@ dependencies = [ [[package]] name = "regex-automata" -version = "0.4.3" +version = "0.4.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f804c7828047e88b2d32e2d7fe5a105da8ee3264f01902f796c8e067dc2483f" +checksum = "38caf58cc5ef2fed281f89292ef23f6365465ed9a41b7a7754eb4e26496c92df" dependencies = [ "aho-corasick", "memchr", - "regex-syntax 0.8.2", + "regex-syntax 0.8.4", ] [[package]] @@ -3702,15 +3983,15 @@ checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1" [[package]] name = "regex-syntax" -version = "0.8.2" +version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f" +checksum = "7a66a03ae7c801facd77a29370b4faec201768915ac14a721ba36f20bc9c209b" [[package]] name = "renderdoc-sys" -version = "1.0.0" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "216080ab382b992234dda86873c18d4c48358f5cfcb70fd693d7f6f2131b628b" +checksum = "19b30a45b0cd0bcca8037f3d0dc3421eaf95327a17cad11964fb8179b4fc4832" [[package]] name = "resvg" @@ -3718,7 +3999,7 @@ version = "0.37.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cadccb3d99a9efb8e5e00c16fbb732cbe400db2ec7fc004697ee7d97d86cf1f4" dependencies = [ - "gif", + "gif 0.12.0", "jpeg-decoder", "log", "pico-args", @@ -3730,10 +4011,33 @@ dependencies = [ ] [[package]] -name = "rgb" -version = "0.8.37" +name = "rfd" +version = "0.14.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05aaa8004b64fd573fc9d002f4e632d51ad4f026c2b5ba95fcb6c2f32c2c47d8" +checksum = "25a73a7337fc24366edfca76ec521f51877b114e42dab584008209cca6719251" +dependencies = [ + "ashpd 0.8.1", + "block", + "dispatch", + "js-sys", + "log", + "objc", + "objc-foundation", + "objc_id", + "pollster", + "raw-window-handle", + "urlencoding", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", + "windows-sys 0.48.0", +] + +[[package]] +name = "rgb" +version = "0.8.45" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ade4539f42266ded9e755c605bdddf546242b2c961b03b06a7375260788a0523" dependencies = [ "bytemuck", ] @@ -3745,20 +4049,11 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b91f7eff05f748767f183df4320a63d6936e9c6107d97c9e6bdd9784f4289c94" dependencies = [ "base64", - "bitflags 2.4.1", + "bitflags 2.6.0", "serde", "serde_derive", ] -[[package]] -name = "roxmltree" -version = "0.18.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "862340e351ce1b271a378ec53f304a5558f7db87f3769dc655a8f6ecbb68b302" -dependencies = [ - "xmlparser", -] - [[package]] name = "roxmltree" version = "0.19.0" @@ -3766,10 +4061,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3cd14fd5e3b777a7422cca79358c57a8f6e3a703d9ac187448d0daf220c2407f" [[package]] -name = "rust-embed" -version = "6.8.1" +name = "roxmltree" +version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a36224c3276f8c4ebc8c20f158eca7ca4359c8db89991c4925132aaaf6702661" +checksum = "6c20b6793b5c2fa6553b250154b78d6d0db37e72700ae35fad9387a46f487c97" + +[[package]] +name = "rust-embed" +version = "8.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fa66af4a4fdd5e7ebc276f115e895611a34739a9c1c01028383d612d550953c0" dependencies = [ "rust-embed-impl", "rust-embed-utils", @@ -3778,22 +4079,22 @@ dependencies = [ [[package]] name = "rust-embed-impl" -version = "6.8.1" +version = "8.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49b94b81e5b2c284684141a2fb9e2a31be90638caf040bf9afbc5a0416afe1ac" +checksum = "6125dbc8867951125eec87294137f4e9c2c96566e61bf72c45095a7c77761478" dependencies = [ "proc-macro2", "quote", "rust-embed-utils", - "syn 2.0.41", + "syn 2.0.72", "walkdir", ] [[package]] name = "rust-embed-utils" -version = "7.8.1" +version = "8.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d38ff6bf570dc3bb7100fce9f7b60c33fa71d80e88da3f2580df4ff2bdded74" +checksum = "2e5347777e9aacb56039b0e1f28785929a8a3b709e87482e7442c72e7c12529d" dependencies = [ "sha2", "walkdir", @@ -3801,9 +4102,9 @@ dependencies = [ [[package]] name = "rust-ini" -version = "0.18.0" +version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6d5f2436026b4f6e79dc829837d467cc7e9a55ee40e750d716713540715a2df" +checksum = "3e0698206bcb8882bf2a9ecb4c1e7785db57ff052297085a6efd4fe42302068a" dependencies = [ "cfg-if", "ordered-multimap", @@ -3811,9 +4112,9 @@ dependencies = [ [[package]] name = "rustc-demangle" -version = "0.1.23" +version = "0.1.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76" +checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f" [[package]] name = "rustc-hash" @@ -3837,22 +4138,22 @@ dependencies = [ [[package]] name = "rustix" -version = "0.38.28" +version = "0.38.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72e572a5e8ca657d7366229cdde4bd14c4eb5499a9573d4d366fe1b599daa316" +checksum = "70dc5ec042f7a43c4a73241207cecc9873a06d45debb38b329f8541d85c2730f" dependencies = [ - "bitflags 2.4.1", + "bitflags 2.6.0", "errno", "libc", - "linux-raw-sys 0.4.12", + "linux-raw-sys 0.4.14", "windows-sys 0.52.0", ] [[package]] name = "rustversion" -version = "1.0.14" +version = "1.0.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ffc183a10b4478d04cbbbfc96d0873219d962dd5accaff2ffbd4ceb7df837f4" +checksum = "955d28af4278de8121b7ebeb796b6a45735dc01436d898801014aced2773a3d6" [[package]] name = "rustybuzz" @@ -3860,22 +4161,38 @@ version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f0ae5692c5beaad6a9e22830deeed7874eae8a4e3ba4076fb48e12c56856222c" dependencies = [ - "bitflags 2.4.1", + "bitflags 2.6.0", + "bytemuck", + "smallvec", + "ttf-parser 0.20.0", + "unicode-bidi-mirroring 0.1.0", + "unicode-ccc 0.1.2", + "unicode-properties", + "unicode-script", +] + +[[package]] +name = "rustybuzz" +version = "0.14.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cfb9cf8877777222e4a3bc7eb247e398b56baba500c38c1c46842431adc8b55c" +dependencies = [ + "bitflags 2.6.0", "bytemuck", "libm", "smallvec", - "ttf-parser", - "unicode-bidi-mirroring", - "unicode-ccc", + "ttf-parser 0.21.1", + "unicode-bidi-mirroring 0.2.0", + "unicode-ccc 0.2.0", "unicode-properties", "unicode-script", ] [[package]] name = "ryu" -version = "1.0.16" +version = "1.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f98d2aa92eebf49b69786be48e4477826b256916e84a57ff2a4f21923b48eb4c" +checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f" [[package]] name = "same-file" @@ -3904,14 +4221,14 @@ version = "0.10.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e14e4d63b804dc0c7ec4a1e52bcb63f02c7ac94476755aa579edac21e01f915d" dependencies = [ - "self_cell 1.0.2", + "self_cell 1.0.4", ] [[package]] name = "self_cell" -version = "1.0.2" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e388332cd64eb80cd595a00941baf513caffae8dce9cfd0467fc9c66397dade6" +checksum = "d369a96f978623eb3dc28807c4852d6cc617fed53da5d3c400feff1ef34a714a" [[package]] name = "sendfd" @@ -3925,51 +4242,53 @@ dependencies = [ [[package]] name = "serde" -version = "1.0.193" +version = "1.0.204" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25dd9975e68d0cb5aa1120c288333fc98731bd1dd12f561e468ea4728c042b89" +checksum = "bc76f558e0cbb2a839d37354c575f1dc3fdc6546b5be373ba43d95f231bf7c12" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.193" +version = "1.0.204" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43576ca501357b9b071ac53cdc7da8ef0cbd9493d8df094cd821777ea6e894d3" +checksum = "e0cd7e117be63d3c3678776753929474f3b04a43a080c744d6b0ae2a8c28e222" dependencies = [ "proc-macro2", "quote", - "syn 2.0.41", + "syn 2.0.72", ] [[package]] name = "serde_json" -version = "1.0.108" +version = "1.0.121" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d1c7e3eac408d115102c4c24ad393e0821bb3a5df4d506a80f85f7a742a526b" +checksum = "4ab380d7d9f22ef3f21ad3e6c1ebe8e4fc7a2000ccba2e4d71fc96f15b2cb609" dependencies = [ + "indexmap 2.3.0", "itoa", + "memchr", "ryu", "serde", ] [[package]] name = "serde_repr" -version = "0.1.17" +version = "0.1.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3081f5ffbb02284dda55132aa26daecedd7372a42417bbbab6f14ab7d6bb9145" +checksum = "6c64451ba24fc7a6a2d60fc75dd9c83c90903b19028d4eff35e88fc1e86564e9" dependencies = [ "proc-macro2", "quote", - "syn 2.0.41", + "syn 2.0.72", ] [[package]] name = "serde_spanned" -version = "0.6.4" +version = "0.6.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12022b835073e5b11e90a14f86838ceb1c8fb0325b72416845c487ac0fa95e80" +checksum = "eb5b1b31579f3811bf615c144393417496f152e12ac8b7663bf664f4a815306d" dependencies = [ "serde", ] @@ -4005,17 +4324,11 @@ dependencies = [ "lazy_static", ] -[[package]] -name = "shlex" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7cee0529a6d40f580e7a5e6c495c8fbfe21b7b52795ed4bb5e62cdf92bc6380" - [[package]] name = "signal-hook-registry" -version = "1.4.1" +version = "1.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d8229b473baa5980ac72ef434c4415e70c4b5e71b423043adb4ba059f89c99a1" +checksum = "a9e9e0b4211b72e7b8b6e85c807d36c212bdb33ea8587f7569562a84df5465b1" dependencies = [ "libc", ] @@ -4041,6 +4354,16 @@ version = "0.3.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "38b58827f4464d87d377d175e90bf58eb00fd8716ff0a62f80356b5e61555d0d" +[[package]] +name = "skrifa" +version = "0.20.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "abea4738067b1e628c6ce28b2c216c19e9ea95715cdb332680e821c3bec2ef23" +dependencies = [ + "bytemuck", + "read-fonts", +] + [[package]] name = "slab" version = "0.4.9" @@ -4061,63 +4384,56 @@ dependencies = [ [[package]] name = "smallvec" -version = "1.11.2" +version = "1.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4dccd0940a2dcdf68d092b8cbab7dc0ad8fa938bf95787e1b916b0e3d0e8e970" +checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" [[package]] name = "smithay-client-toolkit" -version = "0.16.1" +version = "0.19.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "870427e30b8f2cbe64bf43ec4b86e88fe39b0a84b3f15efd9c9c2d020bc86eb9" +checksum = "3457dea1f0eb631b4034d61d4d8c32074caa6cd1ab2d59f2327bd8461e2c0016" dependencies = [ - "bitflags 1.3.2", - "dlib", - "lazy_static", - "log", - "memmap2 0.5.10", - "nix 0.24.3", - "pkg-config", - "wayland-client 0.29.5", - "wayland-cursor 0.29.5", - "wayland-protocols 0.29.5", -] - -[[package]] -name = "smithay-client-toolkit" -version = "0.18.0" -source = "git+https://github.com/smithay/client-toolkit?rev=2e9bf9f#2e9bf9f31698851ca373e5f1e7ba3e6e804e4db1" -dependencies = [ - "bitflags 2.4.1", + "bitflags 2.6.0", "bytemuck", "calloop", "calloop-wayland-source", "cursor-icon", "libc", "log", - "memmap2 0.9.0", + "memmap2 0.9.4", "pkg-config", - "rustix 0.38.28", + "rustix 0.38.34", "thiserror", - "wayland-backend 0.3.2", - "wayland-client 0.31.1", + "wayland-backend", + "wayland-client", "wayland-csd-frame", - "wayland-cursor 0.31.0", - "wayland-protocols 0.31.0", + "wayland-cursor", + "wayland-protocols", "wayland-protocols-wlr", - "wayland-scanner 0.31.0", + "wayland-scanner", "xkbcommon", "xkeysym", ] [[package]] name = "smithay-clipboard" -version = "0.6.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0a345c870a1fae0b1b779085e81b51e614767c239e93503588e54c5b17f4b0e8" +version = "0.8.0" +source = "git+https://github.com/pop-os/smithay-clipboard?tag=pop-dnd-5#5a3007def49eb678d1144850c9ee04b80707c56a" dependencies = [ - "smithay-client-toolkit 0.16.1", - "wayland-client 0.29.5", + "libc", + "raw-window-handle", + "smithay-client-toolkit", + "wayland-backend", +] + +[[package]] +name = "smol_str" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd538fb6910ac1099850255cf94a94df6551fbdd602454387d0adb2d1ca6dead" +dependencies = [ + "serde", ] [[package]] @@ -4132,41 +4448,41 @@ dependencies = [ [[package]] name = "socket2" -version = "0.5.5" +version = "0.5.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b5fac59a5cb5dd637972e5fca70daf0523c9067fcdc4842f053dae04a18f8e9" +checksum = "ce305eb0b4296696835b71df73eb912e0f1ffd2556a501fcede6e0c50349191c" dependencies = [ "libc", - "windows-sys 0.48.0", + "windows-sys 0.52.0", ] [[package]] name = "softbuffer" -version = "0.3.3" -source = "git+https://github.com/pop-os/softbuffer?tag=v0.3-cosmic#6f0371ccece51d124c6c5d37082189df0dc5f9ba" +version = "0.4.1" +source = "git+https://github.com/pop-os/softbuffer?tag=cosmic-4.0#6e75b1ad7e98397d37cb187886d05969bc480995" dependencies = [ "as-raw-xcb-connection", "bytemuck", - "cfg_aliases", + "cfg_aliases 0.2.1", "cocoa", "core-graphics", "drm", - "fastrand 2.0.1", + "fastrand 2.1.0", "foreign-types", "js-sys", "log", - "memmap2 0.9.0", + "memmap2 0.9.4", "objc", "raw-window-handle", "redox_syscall 0.4.1", - "rustix 0.38.28", + "rustix 0.38.34", "tiny-xlib", "wasm-bindgen", - "wayland-backend 0.3.2", - "wayland-client 0.31.1", - "wayland-sys 0.31.1", + "wayland-backend", + "wayland-client", + "wayland-sys", "web-sys", - "windows-sys 0.48.0", + "windows-sys 0.52.0", "x11rb", ] @@ -4181,12 +4497,11 @@ dependencies = [ [[package]] name = "spirv" -version = "0.2.0+1.5.4" +version = "0.3.0+sdk-1.3.268.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "246bfa38fe3db3f1dfc8ca5a2cdeb7348c78be2112740cc0ec8ef18b6d94f830" +checksum = "eda41003dc44290527a59b13432d4a0379379fa074b70174882adfbdfd917844" dependencies = [ - "bitflags 1.3.2", - "num-traits", + "bitflags 2.6.0", ] [[package]] @@ -4211,10 +4526,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" [[package]] -name = "svg_fmt" -version = "0.4.1" +name = "strsim" +version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8fb1df15f412ee2e9dfc1c504260fa695c1c3f10fe9f4a6ee2d2184d7d6450e2" +checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" + +[[package]] +name = "svg_fmt" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "20e16a0f46cf5fd675563ef54f26e83e20f2366bcf027bcb3cc3ed2b98aaf2ca" [[package]] name = "svgtypes" @@ -4228,10 +4549,11 @@ dependencies = [ [[package]] name = "swash" -version = "0.1.8" +version = "0.1.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b7c73c813353c347272919aa1af2885068b05e625e5532b43049e4f641ae77f" +checksum = "93cdc334a50fcc2aa3f04761af3b28196280a6aaadb1ef11215c478ae32615ac" dependencies = [ + "skrifa", "yazi", "zeno", ] @@ -4249,9 +4571,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.41" +version = "2.0.72" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44c8b28c477cc3bf0e7966561e3460130e1255f7a1cf71931075f1c5e7a7e269" +checksum = "dc4b9b9bf2add8093d3f2c0204471e951b2285580335de42f9d2534f3ae7a8af" dependencies = [ "proc-macro2", "quote", @@ -4286,51 +4608,50 @@ dependencies = [ [[package]] name = "tempfile" -version = "3.8.1" +version = "3.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ef1adac450ad7f4b3c28589471ade84f25f731a7a0fe30d71dfa9f60fd808e5" +checksum = "85b77fafb263dd9d05cbeac119526425676db3784113aa9295c88498cbf8bff1" dependencies = [ "cfg-if", - "fastrand 2.0.1", - "redox_syscall 0.4.1", - "rustix 0.38.28", - "windows-sys 0.48.0", + "fastrand 2.1.0", + "rustix 0.38.34", + "windows-sys 0.52.0", ] [[package]] name = "termcolor" -version = "1.4.0" +version = "1.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff1bc3d3f05aff0403e8ac0d92ced918ec05b666a43f83297ccef5bea8a3d449" +checksum = "06794f8f6c5c898b3275aebefa6b8a1cb24cd2c6c79397ab15774837a0bc5755" dependencies = [ "winapi-util", ] [[package]] name = "thiserror" -version = "1.0.50" +version = "1.0.63" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9a7210f5c9a7156bb50aa36aed4c95afb51df0df00713949448cf9e97d382d2" +checksum = "c0342370b38b6a11b6cc11d6a805569958d54cfa061a29969c3b5ce2ea405724" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.50" +version = "1.0.63" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "266b2e40bc00e5a6c09c3584011e08b06f123c00362c92b975ba9843aaaa14b8" +checksum = "a4558b58466b9ad7ca0f102865eccc95938dca1a74a856f2b57b6629050da261" dependencies = [ "proc-macro2", "quote", - "syn 2.0.41", + "syn 2.0.72", ] [[package]] name = "thread_local" -version = "1.1.7" +version = "1.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3fdd6f064ccff2d6567adcb3873ca630700f00b5ad3f060c25b5dcfd9a4ce152" +checksum = "8b9ef9bad013ada3808854ceac7b46812a6465ba368859a37e2100283d2d719c" dependencies = [ "cfg-if", "once_cell", @@ -4338,9 +4659,9 @@ dependencies = [ [[package]] name = "tiff" -version = "0.9.0" +version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d172b0f4d3fba17ba89811858b9d3d97f928aece846475bbda076ca46736211" +checksum = "ba1310fcea54c6a9a4fd1aad794ecc02c31682f6bfbecdf460bf19533eed1e3e" dependencies = [ "flate2", "jpeg-decoder", @@ -4348,10 +4669,19 @@ dependencies = [ ] [[package]] -name = "tiny-skia" -version = "0.11.3" +name = "tiny-keccak" +version = "2.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6a067b809476893fce6a254cf285850ff69c847e6cfbade6a20b655b6c7e80d" +checksum = "2c9d3793400a45f954c52e73d068316d76b6f4e36977e3fcebb13a2721e80237" +dependencies = [ + "crunchy", +] + +[[package]] +name = "tiny-skia" +version = "0.11.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "83d13394d44dae3207b52a326c0c85a8bf87f1541f23b0d143811088497b09ab" dependencies = [ "arrayref", "arrayvec", @@ -4364,9 +4694,9 @@ dependencies = [ [[package]] name = "tiny-skia-path" -version = "0.11.3" +version = "0.11.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5de35e8a90052baaaf61f171680ac2f8e925a1e43ea9d2e3a00514772250e541" +checksum = "9c9e7fc0c2e86a30b117d0462aa261b72b7a99b7ebd7deb3a14ceda95c5bdc93" dependencies = [ "arrayref", "bytemuck", @@ -4375,30 +4705,31 @@ dependencies = [ [[package]] name = "tiny-xlib" -version = "0.2.2" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4098d49269baa034a8d1eae9bd63e9fa532148d772121dace3bcd6a6c98eb6d" +checksum = "1d52f22673960ad13af14ff4025997312def1223bfa7c8e4949d099e6b3d5d1c" dependencies = [ "as-raw-xcb-connection", - "ctor", - "libloading 0.8.1", + "ctor-lite", + "libloading 0.8.5", + "pkg-config", "tracing", ] [[package]] name = "tinystr" -version = "0.7.5" +version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83c02bf3c538ab32ba913408224323915f4ef9a6d61c0e85d493f355921c0ece" +checksum = "9117f5d4db391c1cf6927e7bea3db74b9a1c1add8f7eda9ffd5364f40f57b82f" dependencies = [ "displaydoc", ] [[package]] name = "tinyvec" -version = "1.6.0" +version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50" +checksum = "445e881f4f6d382d5f27c034e25eb92edd7c784ceab92a0937db7f2e9471b938" dependencies = [ "tinyvec_macros", ] @@ -4411,21 +4742,20 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.35.0" +version = "1.39.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "841d45b238a16291a4e1584e61820b8ae57d696cc5015c459c229ccc6990cc1c" +checksum = "daa4fb1bc778bd6f04cbfc4bb2d06a7396a8f299dc33ea1900cedaa316f467b1" dependencies = [ "backtrace", "bytes", "libc", - "mio", - "num_cpus", + "mio 1.0.1", "pin-project-lite", "signal-hook-registry", - "socket2 0.5.5", + "socket2 0.5.7", "tokio-macros", "tracing", - "windows-sys 0.48.0", + "windows-sys 0.52.0", ] [[package]] @@ -4440,20 +4770,20 @@ dependencies = [ [[package]] name = "tokio-macros" -version = "2.2.0" +version = "2.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b" +checksum = "693d596312e88961bc67d7f1f97af8a70227d9f90c31bba5806eec004978d752" dependencies = [ "proc-macro2", "quote", - "syn 2.0.41", + "syn 2.0.72", ] [[package]] name = "tokio-stream" -version = "0.1.14" +version = "0.1.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "397c988d37662c7dda6d2208364a706264bf3d6138b11d436cbac0ad38832842" +checksum = "267ac89e0bec6e691e5813911606935d77c476ff49024f98abcea3e7b15e37af" dependencies = [ "futures-core", "pin-project-lite", @@ -4462,16 +4792,15 @@ dependencies = [ [[package]] name = "tokio-util" -version = "0.7.10" +version = "0.7.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5419f34732d9eb6ee4c3578b7989078579b7f039cbbb9ca2c4da015749371e15" +checksum = "9cf6b47b3771c49ac75ad09a6162f53ad4b8088b76ac60e8ec1455b31a189fe1" dependencies = [ "bytes", "futures-core", "futures-sink", "pin-project-lite", "tokio", - "tracing", ] [[package]] @@ -4485,21 +4814,21 @@ dependencies = [ [[package]] name = "toml" -version = "0.8.8" +version = "0.8.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1a195ec8c9da26928f773888e0742ca3ca1040c6cd859c919c9f59c1954ab35" +checksum = "a1ed1f98e3fdc28d6d910e6737ae6ab1a93bf1985935a1193e68f93eeb68d24e" dependencies = [ "serde", "serde_spanned", "toml_datetime", - "toml_edit 0.21.0", + "toml_edit 0.22.20", ] [[package]] name = "toml_datetime" -version = "0.6.5" +version = "0.6.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3550f4e9685620ac18a50ed434eb3aec30db8ba93b0287467bca5826ea25baf1" +checksum = "0dd7358ecb8fc2f8d014bf86f6f638ce72ba252a2c3a2572f2a795f1d23efb41" dependencies = [ "serde", ] @@ -4510,36 +4839,46 @@ version = "0.19.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421" dependencies = [ - "indexmap 2.1.0", + "indexmap 2.3.0", "toml_datetime", - "winnow", + "winnow 0.5.40", ] [[package]] name = "toml_edit" -version = "0.21.0" +version = "0.21.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d34d383cd00a163b4a5b85053df514d45bc330f6de7737edfe0a93311d1eaa03" +checksum = "6a8534fd7f78b5405e860340ad6575217ce99f38d4d5c8f2442cb5ecb50090e1" dependencies = [ - "indexmap 2.1.0", + "indexmap 2.3.0", + "toml_datetime", + "winnow 0.5.40", +] + +[[package]] +name = "toml_edit" +version = "0.22.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "583c44c02ad26b0c3f3066fe629275e50627026c51ac2e595cca4c230ce1ce1d" +dependencies = [ + "indexmap 2.3.0", "serde", "serde_spanned", "toml_datetime", - "winnow", + "winnow 0.6.18", ] [[package]] name = "tonic" -version = "0.9.2" +version = "0.10.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3082666a3a6433f7f511c7192923fa1fe07c69332d3c6a2e6bb040b569199d5a" +checksum = "d560933a0de61cf715926b9cac824d4c883c2c43142f787595e48280c40a1d0e" dependencies = [ + "async-stream", "async-trait", "axum", "base64", "bytes", - "futures-core", - "futures-util", "h2", "http", "http-body", @@ -4607,7 +4946,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.41", + "syn 2.0.72", ] [[package]] @@ -4673,10 +5012,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "17f77d76d837a7830fe1d4f12b7b4ba4192c1888001c7164257e4bc6d21d96b4" [[package]] -name = "type-map" -version = "0.4.0" +name = "ttf-parser" +version = "0.21.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6d3364c5e96cb2ad1603037ab253ddd34d7fb72a58bdddf4b7350760fc69a46" +checksum = "2c591d83f69777866b9126b24c6dd9a18351f177e49d625920d19f989fd31cf8" + +[[package]] +name = "type-map" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "deb68604048ff8fa93347f02441e4487594adc20bb8a084f9e564d2b827a0a9f" dependencies = [ "rustc-hash", ] @@ -4689,28 +5034,29 @@ checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" [[package]] name = "uds_windows" -version = "1.0.2" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce65604324d3cce9b966701489fbd0cf318cb1f7bd9dd07ac9a4ee6fb791930d" +checksum = "89daebc3e6fd160ac4aa9fc8b3bf71e1f74fbf92367ae71fb83a037e8bf164b9" dependencies = [ + "memoffset 0.9.1", "tempfile", "winapi", ] [[package]] name = "unic-langid" -version = "0.9.4" +version = "0.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "238722e6d794ed130f91f4ea33e01fcff4f188d92337a21297892521c72df516" +checksum = "23dd9d1e72a73b25e07123a80776aae3e7b0ec461ef94f9151eed6ec88005a44" dependencies = [ "unic-langid-impl", ] [[package]] name = "unic-langid-impl" -version = "0.9.4" +version = "0.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4bd55a2063fdea4ef1f8633243a7b0524cbeef1905ae04c31a1c9b9775c55bc6" +checksum = "0a5422c1f65949306c99240b81de9f3f15929f5a8bfe05bb44b034cc8bf593e5" dependencies = [ "serde", "tinystr", @@ -4718,9 +5064,9 @@ dependencies = [ [[package]] name = "unicode-bidi" -version = "0.3.14" +version = "0.3.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f2528f27a9eb2b21e69c95319b30bd0efd85d09c379741b0f78ea1d86be2416" +checksum = "08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75" [[package]] name = "unicode-bidi-mirroring" @@ -4728,12 +5074,24 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "56d12260fb92d52f9008be7e4bca09f584780eb2266dc8fecc6a192bec561694" +[[package]] +name = "unicode-bidi-mirroring" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23cb788ffebc92c5948d0e997106233eeb1d8b9512f93f41651f52b6c5f5af86" + [[package]] name = "unicode-ccc" version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cc2520efa644f8268dce4dcd3050eaa7fc044fca03961e9998ac7e2e92b77cf1" +[[package]] +name = "unicode-ccc" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1df77b101bcc4ea3d78dafc5ad7e4f58ceffe0b2b16bf446aeb50b6cb4157656" + [[package]] name = "unicode-ident" version = "1.0.12" @@ -4748,30 +5106,30 @@ checksum = "3b09c83c3c29d37506a3e260c08c03743a6bb66a9cd432c6934ab501a190571f" [[package]] name = "unicode-normalization" -version = "0.1.22" +version = "0.1.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921" +checksum = "a56d1686db2308d901306f92a263857ef59ea39678a5458e7cb17f01415101f5" dependencies = [ "tinyvec", ] [[package]] name = "unicode-properties" -version = "0.1.0" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7f91c8b21fbbaa18853c3d0801c78f4fc94cdb976699bb03e832e75f7fd22f0" +checksum = "e4259d9d4425d9f0661581b804cb85fe66a4c631cadd8f490d1c13a35d5d9291" [[package]] name = "unicode-script" -version = "0.5.5" +version = "0.5.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d817255e1bed6dfd4ca47258685d14d2bdcfbc64fdc9e3819bd5848057b8ecc" +checksum = "ad8d71f5726e5f285a935e9fe8edfd53f0491eb6e9a5774097fdabee7cd8c9cd" [[package]] name = "unicode-segmentation" -version = "1.10.1" +version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1dd624098567895118886609431a7c3b8f516e41d30e0643f03d94592a147e36" +checksum = "d4c87d22b6e3f4a18d4d40ef354e97c90fcb14dd91d7dc0aa9d8a1172ebf7202" [[package]] name = "unicode-vo" @@ -4781,9 +5139,9 @@ checksum = "b1d386ff53b415b7fe27b50bb44679e2cc4660272694b7b6f3326d8480823a94" [[package]] name = "unicode-width" -version = "0.1.11" +version = "0.1.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e51733f11c9c4f72aa0c160008246859e340b00807569a0da0e7a1079b27ba85" +checksum = "0336d538f7abc86d282a4189614dfaa90810dfc2c6f6427eaf88e16311dd225d" [[package]] name = "unicode-xid" @@ -4793,9 +5151,9 @@ checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c" [[package]] name = "url" -version = "2.5.0" +version = "2.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31e6302e3bb753d46e83516cae55ae196fc0c309407cf11ab35cc51a4c2a4633" +checksum = "22784dbdf76fdde8af1aeda5622b546b422b6fc585325248a2bf9f5e41e94d6c" dependencies = [ "form_urlencoded", "idna", @@ -4803,6 +5161,12 @@ dependencies = [ "serde", ] +[[package]] +name = "urlencoding" +version = "2.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "daf8dba3b7eb870caf1ddeed7bc9d2a049f3cfdfae7cb521b087cc33ae4c49da" + [[package]] name = "usvg" version = "0.37.0" @@ -4845,7 +5209,7 @@ dependencies = [ "fontdb", "kurbo", "log", - "rustybuzz", + "rustybuzz 0.12.1", "unicode-bidi", "unicode-script", "unicode-vo", @@ -4872,21 +5236,21 @@ checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d" [[package]] name = "version_check" -version = "0.9.4" +version = "0.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" +checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" [[package]] name = "waker-fn" -version = "1.1.1" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3c4517f54858c779bbcbf228f4fca63d121bf85fbecb2dc578cdf4a39395690" +checksum = "317211a0dc0ceedd78fb2ca9a44aed3d7b9b26f81870d485c07122b4350673b7" [[package]] name = "walkdir" -version = "2.4.0" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d71d857dc86794ca4c280d616f7da00d2dbfd8cd788846559a6813e6aa4b54ee" +checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" dependencies = [ "same-file", "winapi-util", @@ -4909,9 +5273,9 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" [[package]] name = "wasm-bindgen" -version = "0.2.89" +version = "0.2.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ed0d4f68a3015cc185aff4db9506a015f4b96f95303897bfa23f846db54064e" +checksum = "4be2531df63900aeb2bca0daaaddec08491ee64ceecbee5076636a3b026795a8" dependencies = [ "cfg-if", "wasm-bindgen-macro", @@ -4919,24 +5283,24 @@ dependencies = [ [[package]] name = "wasm-bindgen-backend" -version = "0.2.89" +version = "0.2.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b56f625e64f3a1084ded111c4d5f477df9f8c92df113852fa5a374dbda78826" +checksum = "614d787b966d3989fa7bb98a654e369c762374fd3213d212cfc0251257e747da" dependencies = [ "bumpalo", "log", "once_cell", "proc-macro2", "quote", - "syn 2.0.41", + "syn 2.0.72", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-futures" -version = "0.4.39" +version = "0.4.42" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac36a15a220124ac510204aec1c3e5db8a22ab06fd6706d881dc6149f8ed9a12" +checksum = "76bc14366121efc8dbb487ab05bcc9d346b3b5ec0eaa76e46594cabbe51762c0" dependencies = [ "cfg-if", "js-sys", @@ -4946,9 +5310,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.89" +version = "0.2.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0162dbf37223cd2afce98f3d0785506dcb8d266223983e4b5b525859e6e182b2" +checksum = "a1f8823de937b71b9460c0c34e25f3da88250760bec0ebac694b49997550d726" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -4956,22 +5320,22 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.89" +version = "0.2.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0eb82fcb7930ae6219a7ecfd55b217f5f0893484b7a13022ebb2b2bf20b5283" +checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.41", + "syn 2.0.72", "wasm-bindgen-backend", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-shared" -version = "0.2.89" +version = "0.2.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ab9b36309365056cd639da3134bf87fa8f3d86008abf99e612384a6eecd459f" +checksum = "af190c94f2773fdb3729c55b007a722abb5384da03bc0986df4c289bf5567e96" [[package]] name = "wasm-timer" @@ -4990,83 +5354,28 @@ dependencies = [ [[package]] name = "wayland-backend" -version = "0.1.2" +version = "0.3.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41b48e27457e8da3b2260ac60d0a94512f5cba36448679f3747c0865b7893ed8" +checksum = "f90e11ce2ca99c97b940ee83edbae9da2d56a08f9ea8158550fd77fa31722993" dependencies = [ "cc", "downcast-rs", - "io-lifetimes 1.0.11", - "nix 0.26.4", + "rustix 0.38.34", "scoped-tls", "smallvec", - "wayland-sys 0.30.1", -] - -[[package]] -name = "wayland-backend" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19152ddd73f45f024ed4534d9ca2594e0ef252c1847695255dae47f34df9fbe4" -dependencies = [ - "cc", - "downcast-rs", - "nix 0.26.4", - "scoped-tls", - "smallvec", - "wayland-sys 0.31.1", + "wayland-sys", ] [[package]] name = "wayland-client" -version = "0.29.5" +version = "0.31.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f3b068c05a039c9f755f881dc50f01732214f5685e379829759088967c46715" +checksum = "7e321577a0a165911bdcfb39cf029302479d7527b517ee58ab0f6ad09edf0943" dependencies = [ - "bitflags 1.3.2", - "downcast-rs", - "libc", - "nix 0.24.3", - "scoped-tls", - "wayland-commons", - "wayland-scanner 0.29.5", - "wayland-sys 0.29.5", -] - -[[package]] -name = "wayland-client" -version = "0.30.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "489c9654770f674fc7e266b3c579f4053d7551df0ceb392f153adb1f9ed06ac8" -dependencies = [ - "bitflags 1.3.2", - "nix 0.26.4", - "wayland-backend 0.1.2", - "wayland-scanner 0.30.1", -] - -[[package]] -name = "wayland-client" -version = "0.31.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ca7d52347346f5473bf2f56705f360e8440873052e575e55890c4fa57843ed3" -dependencies = [ - "bitflags 2.4.1", - "nix 0.26.4", - "wayland-backend 0.3.2", - "wayland-scanner 0.31.0", -] - -[[package]] -name = "wayland-commons" -version = "0.29.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8691f134d584a33a6606d9d717b95c4fa20065605f798a3f350d78dced02a902" -dependencies = [ - "nix 0.24.3", - "once_cell", - "smallvec", - "wayland-sys 0.29.5", + "bitflags 2.6.0", + "rustix 0.38.34", + "wayland-backend", + "wayland-scanner", ] [[package]] @@ -5075,157 +5384,79 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "625c5029dbd43d25e6aa9615e88b829a5cad13b2819c4ae129fdbb7c31ab4c7e" dependencies = [ - "bitflags 2.4.1", + "bitflags 2.6.0", "cursor-icon", - "wayland-backend 0.3.2", + "wayland-backend", ] [[package]] name = "wayland-cursor" -version = "0.29.5" +version = "0.31.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6865c6b66f13d6257bef1cd40cbfe8ef2f150fb8ebbdb1e8e873455931377661" +checksum = "6ef9489a8df197ebf3a8ce8a7a7f0a2320035c3743f3c1bd0bdbccf07ce64f95" dependencies = [ - "nix 0.24.3", - "wayland-client 0.29.5", - "xcursor", -] - -[[package]] -name = "wayland-cursor" -version = "0.31.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a44aa20ae986659d6c77d64d808a046996a932aa763913864dc40c359ef7ad5b" -dependencies = [ - "nix 0.26.4", - "wayland-client 0.31.1", + "rustix 0.38.34", + "wayland-client", "xcursor", ] [[package]] name = "wayland-protocols" -version = "0.29.5" +version = "0.32.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b950621f9354b322ee817a23474e479b34be96c2e909c14f7bc0100e9a970bc6" +checksum = "62989625a776e827cc0f15d41444a3cea5205b963c3a25be48ae1b52d6b4daaa" dependencies = [ - "bitflags 1.3.2", - "wayland-client 0.29.5", - "wayland-commons", - "wayland-scanner 0.29.5", -] - -[[package]] -name = "wayland-protocols" -version = "0.30.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b28101e5ca94f70461a6c2d610f76d85ad223d042dd76585ab23d3422dd9b4d" -dependencies = [ - "bitflags 1.3.2", - "wayland-backend 0.1.2", - "wayland-client 0.30.2", - "wayland-scanner 0.30.1", -] - -[[package]] -name = "wayland-protocols" -version = "0.31.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e253d7107ba913923dc253967f35e8561a3c65f914543e46843c88ddd729e21c" -dependencies = [ - "bitflags 2.4.1", - "wayland-backend 0.3.2", - "wayland-client 0.31.1", - "wayland-scanner 0.31.0", + "bitflags 2.6.0", + "wayland-backend", + "wayland-client", + "wayland-scanner", "wayland-server", ] [[package]] name = "wayland-protocols-wlr" -version = "0.2.0" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad1f61b76b6c2d8742e10f9ba5c3737f6530b4c243132c2a2ccc8aa96fe25cd6" +checksum = "fd993de54a40a40fbe5601d9f1fbcaef0aebcc5fda447d7dc8f6dcbaae4f8953" dependencies = [ - "bitflags 2.4.1", - "wayland-backend 0.3.2", - "wayland-client 0.31.1", - "wayland-protocols 0.31.0", - "wayland-scanner 0.31.0", + "bitflags 2.6.0", + "wayland-backend", + "wayland-client", + "wayland-protocols", + "wayland-scanner", + "wayland-server", ] [[package]] name = "wayland-scanner" -version = "0.29.5" +version = "0.31.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f4303d8fa22ab852f789e75a967f0a2cdc430a607751c0499bada3e451cbd53" +checksum = "d7b56f89937f1cf2ee1f1259cf2936a17a1f45d8f0aa1019fae6d470d304cfa6" dependencies = [ "proc-macro2", - "quote", - "xml-rs", -] - -[[package]] -name = "wayland-scanner" -version = "0.30.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9b873b257fbc32ec909c0eb80dea312076a67014e65e245f5eb69a6b8ab330e" -dependencies = [ - "proc-macro2", - "quick-xml 0.28.2", - "quote", -] - -[[package]] -name = "wayland-scanner" -version = "0.31.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb8e28403665c9f9513202b7e1ed71ec56fde5c107816843fb14057910b2c09c" -dependencies = [ - "proc-macro2", - "quick-xml 0.30.0", + "quick-xml", "quote", ] [[package]] name = "wayland-server" -version = "0.31.0" +version = "0.31.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f3f0c52a445936ca1184c98f1a69cf4ad9c9130788884531ef04428468cb1ce" +checksum = "2f0a4bab6d420ee4a609b63ef4d5f9b5d309c6b93a029fccab70f2594c0cb3ae" dependencies = [ - "bitflags 2.4.1", + "bitflags 2.6.0", "downcast-rs", "io-lifetimes 2.0.3", - "nix 0.26.4", - "wayland-backend 0.3.2", - "wayland-scanner 0.31.0", + "rustix 0.38.34", + "wayland-backend", + "wayland-scanner", ] [[package]] name = "wayland-sys" -version = "0.29.5" +version = "0.31.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be12ce1a3c39ec7dba25594b97b42cb3195d54953ddb9d3d95a7c3902bc6e9d4" -dependencies = [ - "dlib", - "lazy_static", - "pkg-config", -] - -[[package]] -name = "wayland-sys" -version = "0.30.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96b2a02ac608e07132978689a6f9bf4214949c85998c247abadd4f4129b1aa06" -dependencies = [ - "dlib", - "log", - "pkg-config", -] - -[[package]] -name = "wayland-sys" -version = "0.31.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "15a0c8eaff5216d07f226cb7a549159267f3467b289d9a2e52fd3ef5aae2b7af" +checksum = "43676fe2daf68754ecf1d72026e4e6c15483198b5d24e888b74d3f22f887a148" dependencies = [ "dlib", "log", @@ -5235,9 +5466,19 @@ dependencies = [ [[package]] name = "web-sys" -version = "0.3.64" +version = "0.3.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b85cbef8c220a6abc02aefd892dfc0fc23afb1c6a426316ec33253a3877249b" +checksum = "77afa9a11836342370f4817622a2f0f418b134426d91a82dfb48f532d2ec13ef" +dependencies = [ + "js-sys", + "wasm-bindgen", +] + +[[package]] +name = "web-time" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa30049b1c872b72c89866d458eae9f20380ab280ffd1b1e18df2d3e2d98cfe0" dependencies = [ "js-sys", "wasm-bindgen", @@ -5245,23 +5486,22 @@ dependencies = [ [[package]] name = "weezl" -version = "0.1.7" +version = "0.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9193164d4de03a926d909d3bc7c30543cecb35400c02114792c2cae20d5e2dbb" +checksum = "53a85b86a771b1c87058196170769dd264f66c0782acf1ae6cc51bfd64b39082" [[package]] name = "wgpu" -version = "0.18.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30e7d227c9f961f2061c26f4cb0fbd4df0ef37e056edd0931783599d6c94ef24" +version = "0.19.0" +source = "git+https://github.com/gfx-rs/wgpu?rev=20fda69#20fda698341efbdc870b8027d6d49f5bf3f36109" dependencies = [ "arrayvec", "cfg-if", - "flume 0.11.0", + "cfg_aliases 0.1.1", "js-sys", "log", "naga", - "parking_lot 0.12.1", + "parking_lot 0.12.3", "profiling", "raw-window-handle", "smallvec", @@ -5276,17 +5516,19 @@ dependencies = [ [[package]] name = "wgpu-core" -version = "0.18.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef91c1d62d1e9e81c79e600131a258edf75c9531cbdbde09c44a011a47312726" +version = "0.19.0" +source = "git+https://github.com/gfx-rs/wgpu?rev=20fda69#20fda698341efbdc870b8027d6d49f5bf3f36109" dependencies = [ "arrayvec", "bit-vec", - "bitflags 2.4.1", + "bitflags 2.6.0", + "cfg_aliases 0.1.1", "codespan-reporting", + "indexmap 2.3.0", "log", "naga", - "parking_lot 0.12.1", + "once_cell", + "parking_lot 0.12.3", "profiling", "raw-window-handle", "rustc-hash", @@ -5299,16 +5541,16 @@ dependencies = [ [[package]] name = "wgpu-hal" -version = "0.18.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b84ecc802da3eb67b4cf3dd9ea6fe45bbb47ef13e6c49c5c3240868a9cc6cdd9" +version = "0.19.0" +source = "git+https://github.com/gfx-rs/wgpu?rev=20fda69#20fda698341efbdc870b8027d6d49f5bf3f36109" dependencies = [ "android_system_properties", "arrayvec", "ash", "bit-set", - "bitflags 2.4.1", + "bitflags 2.6.0", "block", + "cfg_aliases 0.1.1", "core-graphics-types", "d3d12", "glow", @@ -5320,13 +5562,13 @@ dependencies = [ "js-sys", "khronos-egl", "libc", - "libloading 0.8.1", + "libloading 0.8.5", "log", "metal", "naga", "objc", "once_cell", - "parking_lot 0.12.1", + "parking_lot 0.12.3", "profiling", "range-alloc", "raw-window-handle", @@ -5342,20 +5584,19 @@ dependencies = [ [[package]] name = "wgpu-types" -version = "0.18.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d5ed5f0edf0de351fe311c53304986315ce866f394a2e6df0c4b3c70774bcdd" +version = "0.19.0" +source = "git+https://github.com/gfx-rs/wgpu?rev=20fda69#20fda698341efbdc870b8027d6d49f5bf3f36109" dependencies = [ - "bitflags 2.4.1", + "bitflags 2.6.0", "js-sys", "web-sys", ] [[package]] name = "widestring" -version = "1.0.2" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "653f141f39ec16bba3c5abe400a0c60da7468261cc2cbf36805022876bc721a8" +checksum = "7219d36b6eac893fa81e84ebe06485e7dcbb616177469b142df14f1f4deb1311" [[package]] name = "winapi" @@ -5375,20 +5616,11 @@ checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" [[package]] name = "winapi-util" -version = "0.1.6" +version = "0.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f29e6f9198ba0d26b4c9f07dbe6f9ed633e1f3d5b8b414090084349e46a52596" +checksum = "4d4cc384e1e73b93bafa6fb4f1df8c41695c8a91cf9c4c64358067d15a7b6c6b" dependencies = [ - "winapi", -] - -[[package]] -name = "winapi-wsapoll" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44c17110f57155602a80dca10be03852116403c9ff3cd25b079d666f2aa3df6e" -dependencies = [ - "winapi", + "windows-sys 0.52.0", ] [[package]] @@ -5397,23 +5629,38 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" +[[package]] +name = "window_clipboard" +version = "0.4.1" +source = "git+https://github.com/pop-os/window_clipboard.git?tag=pop-dnd-8#7c59b07b9172d8e0401f7e06609e1050575309c9" +dependencies = [ + "clipboard-win", + "clipboard_macos", + "clipboard_wayland", + "clipboard_x11", + "dnd", + "mime 0.1.0", + "raw-window-handle", + "thiserror", +] + [[package]] name = "windows" -version = "0.51.1" +version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca229916c5ee38c2f2bc1e9d8f04df975b4bd93f9955dc69fabb5d91270045c9" +checksum = "e48a53791691ab099e5e2ad123536d0fff50652600abaf43bbf952894110d0be" dependencies = [ "windows-core", - "windows-targets 0.48.5", + "windows-targets 0.52.6", ] [[package]] name = "windows-core" -version = "0.51.1" +version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1f8cf84f35d2db49a46868f947758c7a1138116f7fac3bc844f43ade1292e64" +checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9" dependencies = [ - "windows-targets 0.48.5", + "windows-targets 0.52.6", ] [[package]] @@ -5431,7 +5678,7 @@ version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" dependencies = [ - "windows-targets 0.52.0", + "windows-targets 0.52.6", ] [[package]] @@ -5451,17 +5698,18 @@ dependencies = [ [[package]] name = "windows-targets" -version = "0.52.0" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a18201040b24831fbb9e4eb208f8892e1f50a37feb53cc7ff887feb8f50e7cd" +checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" dependencies = [ - "windows_aarch64_gnullvm 0.52.0", - "windows_aarch64_msvc 0.52.0", - "windows_i686_gnu 0.52.0", - "windows_i686_msvc 0.52.0", - "windows_x86_64_gnu 0.52.0", - "windows_x86_64_gnullvm 0.52.0", - "windows_x86_64_msvc 0.52.0", + "windows_aarch64_gnullvm 0.52.6", + "windows_aarch64_msvc 0.52.6", + "windows_i686_gnu 0.52.6", + "windows_i686_gnullvm", + "windows_i686_msvc 0.52.6", + "windows_x86_64_gnu 0.52.6", + "windows_x86_64_gnullvm 0.52.6", + "windows_x86_64_msvc 0.52.6", ] [[package]] @@ -5472,9 +5720,9 @@ checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" [[package]] name = "windows_aarch64_gnullvm" -version = "0.52.0" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb7764e35d4db8a7921e09562a0304bf2f93e0a51bfccee0bd0bb0b666b015ea" +checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" [[package]] name = "windows_aarch64_msvc" @@ -5484,9 +5732,9 @@ checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" [[package]] name = "windows_aarch64_msvc" -version = "0.52.0" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbaa0368d4f1d2aaefc55b6fcfee13f41544ddf36801e793edbbfd7d7df075ef" +checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" [[package]] name = "windows_i686_gnu" @@ -5496,9 +5744,15 @@ checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" [[package]] name = "windows_i686_gnu" -version = "0.52.0" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a28637cb1fa3560a16915793afb20081aba2c92ee8af57b4d5f28e4b3e7df313" +checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" + +[[package]] +name = "windows_i686_gnullvm" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" [[package]] name = "windows_i686_msvc" @@ -5508,9 +5762,9 @@ checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" [[package]] name = "windows_i686_msvc" -version = "0.52.0" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ffe5e8e31046ce6230cc7215707b816e339ff4d4d67c65dffa206fd0f7aa7b9a" +checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" [[package]] name = "windows_x86_64_gnu" @@ -5520,9 +5774,9 @@ checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" [[package]] name = "windows_x86_64_gnu" -version = "0.52.0" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d6fa32db2bc4a2f5abeacf2b69f7992cd09dca97498da74a151a3132c26befd" +checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" [[package]] name = "windows_x86_64_gnullvm" @@ -5532,9 +5786,9 @@ checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" [[package]] name = "windows_x86_64_gnullvm" -version = "0.52.0" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a657e1e9d3f514745a572a6846d3c7aa7dbe1658c056ed9c3344c4109a6949e" +checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" [[package]] name = "windows_x86_64_msvc" @@ -5544,50 +5798,54 @@ checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" [[package]] name = "windows_x86_64_msvc" -version = "0.52.0" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dff9641d1cd4be8d1a070daf9e3773c5f67e78b4d9d42263020c057706765c04" +checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" [[package]] name = "winnow" -version = "0.5.28" +version = "0.5.40" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c830786f7720c2fd27a1a0e27a709dbd3c4d009b56d098fc742d4f4eab91fe2" +checksum = "f593a95398737aeed53e489c785df13f3618e41dbcd6718c6addbf1395aa6876" +dependencies = [ + "memchr", +] + +[[package]] +name = "winnow" +version = "0.6.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "68a9bda4691f099d435ad181000724da8e5899daa10713c2d432552b9ccd3a6f" dependencies = [ "memchr", ] [[package]] name = "x11rb" -version = "0.12.0" +version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1641b26d4dec61337c35a1b1aaf9e3cba8f46f0b43636c609ab0291a648040a" +checksum = "5d91ffca73ee7f68ce055750bf9f6eca0780b8c85eff9bc046a3b0da41755e12" dependencies = [ "as-raw-xcb-connection", "gethostname", "libc", - "libloading 0.7.4", - "nix 0.26.4", + "libloading 0.8.5", "once_cell", - "winapi", - "winapi-wsapoll", + "rustix 0.38.34", "x11rb-protocol", ] [[package]] name = "x11rb-protocol" -version = "0.12.0" +version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "82d6c3f9a0fb6701fab8f6cea9b0c0bd5d6876f1f89f7fada07e558077c344bc" -dependencies = [ - "nix 0.26.4", -] +checksum = "ec107c4503ea0b4a98ef47356329af139c0a4f7750e621cf2973cd3385ebcb3d" [[package]] name = "xcursor" -version = "0.3.5" +version = "0.3.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a0ccd7b4a5345edfcd0c3535718a4e9ff7798ffc536bb5b5a0e26ff84732911" +checksum = "d491ee231a51ae64a5b762114c3ac2104b967aadba1de45c86ca42cf051513b7" [[package]] name = "xdg" @@ -5597,12 +5855,21 @@ checksum = "213b7324336b53d2414b2db8537e56544d981803139155afa84f76eeebb7a546" [[package]] name = "xdg-home" -version = "1.0.0" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2769203cd13a0c6015d515be729c526d041e9cf2c0cc478d57faee85f40c6dcd" +checksum = "ca91dcf8f93db085f3a0a29358cd0b9d670915468f4290e8b85d118a34211ab8" dependencies = [ - "nix 0.26.4", - "winapi", + "libc", + "windows-sys 0.52.0", +] + +[[package]] +name = "xdg-shell-wrapper-config" +version = "0.1.0" +source = "git+https://github.com/pop-os/cosmic-panel#cfee4b5545379bddf34c01a9d5ff4c82b5609e8e" +dependencies = [ + "serde", + "wayland-protocols-wlr", ] [[package]] @@ -5617,25 +5884,32 @@ dependencies = [ ] [[package]] -name = "xkeysym" -version = "0.2.0" +name = "xkbcommon-dl" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "054a8e68b76250b253f671d1268cb7f1ae089ec35e195b2efb2a4e9a836d0621" +checksum = "d039de8032a9a8856a6be89cea3e5d12fdd82306ab7c94d74e6deab2460651c5" +dependencies = [ + "bitflags 2.6.0", + "dlib", + "log", + "once_cell", + "xkeysym", +] + +[[package]] +name = "xkeysym" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9cc00251562a284751c9973bace760d86c0276c471b4be569fe6b068ee97a56" dependencies = [ "bytemuck", ] [[package]] name = "xml-rs" -version = "0.8.19" +version = "0.8.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fcb9cbac069e033553e8bb871be2fbdffcab578eb25bd0f7c508cedc6dcd75a" - -[[package]] -name = "xmlparser" -version = "0.13.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "66fee0b777b0f5ac1c69bb06d361268faafa61cd4682ae064a171c16c433e9e4" +checksum = "791978798f0597cfc70478424c2b4fdc2b7a8024aaff78497ef00f24ef674193" [[package]] name = "xmlwriter" @@ -5645,9 +5919,9 @@ checksum = "ec7a2a501ed189703dba8b08142f057e887dfc4b2cc4db2d343ac6376ba3e0b9" [[package]] name = "xxhash-rust" -version = "0.8.7" +version = "0.8.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9828b178da53440fa9c766a3d2f73f7cf5d0ac1fe3980c1e5018d899fd19e07b" +checksum = "6a5cbf750400958819fb6178eaa83bee5cd9c29a26a40cc241df8c70fdd46984" [[package]] name = "yazi" @@ -5657,20 +5931,14 @@ checksum = "c94451ac9513335b5e23d7a8a2b61a7102398b8cca5160829d313e84c9d98be1" [[package]] name = "zbus" -version = "3.14.1" +version = "3.15.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31de390a2d872e4cd04edd71b425e29853f786dc99317ed72d73d6fcf5ebb948" +checksum = "675d170b632a6ad49804c8cf2105d7c31eddd3312555cffd4b740e08e97c25e6" dependencies = [ - "async-broadcast", - "async-executor", - "async-fs", - "async-io 1.13.0", - "async-lock 2.8.0", - "async-process", + "async-broadcast 0.5.1", + "async-process 1.8.1", "async-recursion", - "async-task", "async-trait", - "blocking", "byteorder", "derivative", "enumflags2", @@ -5692,34 +5960,97 @@ dependencies = [ "uds_windows", "winapi", "xdg-home", - "zbus_macros", - "zbus_names", - "zvariant", + "zbus_macros 3.15.2", + "zbus_names 2.6.1", + "zvariant 3.15.2", +] + +[[package]] +name = "zbus" +version = "4.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bb97012beadd29e654708a0fdb4c84bc046f537aecfde2c3ee0a9e4b4d48c725" +dependencies = [ + "async-broadcast 0.7.1", + "async-executor", + "async-fs", + "async-io 2.3.3", + "async-lock 3.4.0", + "async-process 2.2.3", + "async-recursion", + "async-task", + "async-trait", + "blocking", + "enumflags2", + "event-listener 5.3.1", + "futures-core", + "futures-sink", + "futures-util", + "hex", + "nix 0.29.0", + "ordered-stream", + "rand", + "serde", + "serde_repr", + "sha1", + "static_assertions", + "tokio", + "tracing", + "uds_windows", + "windows-sys 0.52.0", + "xdg-home", + "zbus_macros 4.4.0", + "zbus_names 3.0.0", + "zvariant 4.2.0", ] [[package]] name = "zbus_macros" -version = "3.14.1" +version = "3.15.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41d1794a946878c0e807f55a397187c11fc7a038ba5d868e7db4f3bd7760bc9d" +checksum = "7131497b0f887e8061b430c530240063d33bf9455fa34438f388a245da69e0a5" dependencies = [ - "proc-macro-crate", + "proc-macro-crate 1.3.1", "proc-macro2", "quote", "regex", "syn 1.0.109", - "zvariant_utils", + "zvariant_utils 1.0.1", +] + +[[package]] +name = "zbus_macros" +version = "4.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "267db9407081e90bbfa46d841d3cbc60f59c0351838c4bc65199ecd79ab1983e" +dependencies = [ + "proc-macro-crate 3.1.0", + "proc-macro2", + "quote", + "syn 2.0.72", + "zvariant_utils 2.1.0", ] [[package]] name = "zbus_names" -version = "2.6.0" +version = "2.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb80bb776dbda6e23d705cf0123c3b95df99c4ebeaec6c2599d4a5419902b4a9" +checksum = "437d738d3750bed6ca9b8d423ccc7a8eb284f6b1d6d4e225a0e4e6258d864c8d" dependencies = [ "serde", "static_assertions", - "zvariant", + "zvariant 3.15.2", +] + +[[package]] +name = "zbus_names" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4b9b1fef7d021261cc16cba64c351d291b715febe0fa10dc3a443ac5a5022e6c" +dependencies = [ + "serde", + "static_assertions", + "zvariant 4.2.0", ] [[package]] @@ -5730,22 +6061,43 @@ checksum = "dd15f8e0dbb966fd9245e7498c7e9e5055d9e5c8b676b95bd67091cd11a1e697" [[package]] name = "zerocopy" -version = "0.7.30" +version = "0.6.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "306dca4455518f1f31635ec308b6b3e4eb1b11758cefafc782827d0aa7acb5c7" +checksum = "854e949ac82d619ee9a14c66a1b674ac730422372ccb759ce0c39cabcf2bf8e6" dependencies = [ - "zerocopy-derive", + "byteorder", + "zerocopy-derive 0.6.6", +] + +[[package]] +name = "zerocopy" +version = "0.7.35" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0" +dependencies = [ + "zerocopy-derive 0.7.35", ] [[package]] name = "zerocopy-derive" -version = "0.7.30" +version = "0.6.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be912bf68235a88fbefd1b73415cb218405958d1655b2ece9035a19920bdf6ba" +checksum = "125139de3f6b9d625c39e2efdd73d41bdac468ccd556556440e322be0e1bbd91" dependencies = [ "proc-macro2", "quote", - "syn 2.0.41", + "syn 2.0.72", +] + +[[package]] +name = "zerocopy-derive" +version = "0.7.35" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.72", ] [[package]] @@ -5759,30 +6111,56 @@ dependencies = [ [[package]] name = "zvariant" -version = "3.15.0" +version = "3.15.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44b291bee0d960c53170780af148dca5fa260a63cdd24f1962fa82e03e53338c" +checksum = "4eef2be88ba09b358d3b58aca6e41cd853631d44787f319a1383ca83424fb2db" dependencies = [ "byteorder", "enumflags2", "libc", "serde", "static_assertions", + "zvariant_derive 3.15.2", +] + +[[package]] +name = "zvariant" +version = "4.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2084290ab9a1c471c38fc524945837734fbf124487e105daec2bb57fd48c81fe" +dependencies = [ + "endi", + "enumflags2", + "serde", + "static_assertions", "url", - "zvariant_derive", + "zvariant_derive 4.2.0", ] [[package]] name = "zvariant_derive" -version = "3.15.0" +version = "3.15.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "934d7a7dfc310d6ee06c87ffe88ef4eca7d3e37bb251dece2ef93da8f17d8ecd" +checksum = "37c24dc0bed72f5f90d1f8bb5b07228cbf63b3c6e9f82d82559d4bae666e7ed9" dependencies = [ - "proc-macro-crate", + "proc-macro-crate 1.3.1", "proc-macro2", "quote", "syn 1.0.109", - "zvariant_utils", + "zvariant_utils 1.0.1", +] + +[[package]] +name = "zvariant_derive" +version = "4.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "73e2ba546bda683a90652bac4a279bc146adad1386f25379cf73200d2002c449" +dependencies = [ + "proc-macro-crate 3.1.0", + "proc-macro2", + "quote", + "syn 2.0.72", + "zvariant_utils 2.1.0", ] [[package]] @@ -5795,3 +6173,14 @@ dependencies = [ "quote", "syn 1.0.109", ] + +[[package]] +name = "zvariant_utils" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c51bcff7cc3dbb5055396bcf774748c3dab426b4b8659046963523cee4808340" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.72", +] diff --git a/pkgs/by-name/co/cosmic-notifications/package.nix b/pkgs/by-name/co/cosmic-notifications/package.nix index 2bf02f2245d3..bae1f66e20ac 100644 --- a/pkgs/by-name/co/cosmic-notifications/package.nix +++ b/pkgs/by-name/co/cosmic-notifications/package.nix @@ -15,27 +15,31 @@ rustPlatform.buildRustPackage rec { pname = "cosmic-notifications"; - version = "unstable-2024-01-05"; + version = "1.0.0-alpha.1"; src = fetchFromGitHub { owner = "pop-os"; - repo = pname; - rev = "3b07cf550a54b757a5f136e4d8fde74d09afe3fd"; - hash = "sha256-+S8bPorarSJQwIQfTmo4qK+B1kKAlQvllUuZ2UBL0eY="; + repo = "cosmic-notifications"; + rev = "epoch-${version}"; + hash = "sha256-tCizZePze94tbJbR91N9rfUhrLFTAMW2oL9ByKOeDAU="; }; cargoLock = { lockFile = ./Cargo.lock; outputHashes = { - "accesskit-0.11.0" = "sha256-xVhe6adUb8VmwIKKjHxwCwOo5Y1p3Or3ylcJJdLDrrE="; + "accesskit-0.12.2" = "sha256-1UwgRyUe0PQrZrpS7574oNLi13fg5HpgILtZGW6JNtQ="; "atomicwrites-0.4.2" = "sha256-QZSuGPrJXh+svMeFWqAXoqZQxLq/WfIiamqvjJNVhxA="; - "cosmic-client-toolkit-0.1.0" = "sha256-AEgvF7i/OWPdEMi8WUaAg99igBwE/AexhAXHxyeJMdc="; - "cosmic-config-0.1.0" = "sha256-DmuUvFjhoqI5lneiWFFYF3WM3mACx5ZfZqeKpsyL7Ss="; - "cosmic-text-0.10.0" = "sha256-kIBhh6CakQaWGfBWu5qaV8LAbJENX7GW+BStJK/P4iA="; - "cosmic-settings-daemon-0.1.0" = "sha256-z/dvRyc3Zc1fAQh2HKk6NI6QSDpNqarqslwszjU+0nc="; - "glyphon-0.3.0" = "sha256-JGkNIfj1HjOF8kGxqJPNq/JO+NhZD6XrZ4KmkXEP6Xc="; - "smithay-client-toolkit-0.18.0" = "sha256-2WbDKlSGiyVmi7blNBr2Aih9FfF2dq/bny57hoA4BrE="; - "softbuffer-0.3.3" = "sha256-eKYFVr6C1+X6ulidHIu9SP591rJxStxwL9uMiqnXx4k="; + "clipboard_macos-0.1.0" = "sha256-cG5vnkiyDlQnbEfV2sPbmBYKv1hd3pjJrymfZb8ziKk="; + "cosmic-client-toolkit-0.1.0" = "sha256-1XtyEvednEMN4MApxTQid4eed19dEN5ZBDt/XRjuda0="; + "cosmic-config-0.1.0" = "sha256-DgMh0gqWUmXjBhBySR0CMnv/8O3XbS2BwomU9eNt+4o="; + "cosmic-panel-config-0.1.0" = "sha256-bBUSZ3CTLq/DCQ2dMvaIcGcIcjqM/5vny5kTE3Jclj8="; + "cosmic-settings-daemon-0.1.0" = "sha256-+1XB7r45Uc71fLnNR4U0DUF2EB8uzKeE4HIrdvKhFXo="; + "cosmic-text-0.12.1" = "sha256-x0XTxzbmtE2d4XCG/Nuq3DzBpz15BbnjRRlirfNJEiU="; + "cosmic-time-0.4.0" = "sha256-w4yY1fc4r1+pSv93dy/Hu3AD+I1+sozIPbbCoaVQj7w="; + "d3d12-0.19.0" = "sha256-usrxQXWLGJDjmIdw1LBXtBvX+CchZDvE8fHC0LjvhD4="; + "glyphon-0.5.0" = "sha256-j1HrbEpUBqazWqNfJhpyjWuxYAxkvbXzRKeSouUoPWg="; + "smithay-clipboard-0.8.0" = "sha256-4InFXm0ahrqFrtNLeqIuE3yeOpxKZJZx+Bc0yQDtv34="; + "softbuffer-0.4.1" = "sha256-a0bUFz6O8CWRweNt/OxTvflnPYwO5nm6vsyc/WcXyNg="; "taffy-0.3.11" = "sha256-SCx9GEIJjWdoNVyq+RZAGn0N71qraKZxf9ZWhvyzLaI="; }; }; diff --git a/pkgs/by-name/co/cosmic-protocols/package.nix b/pkgs/by-name/co/cosmic-protocols/package.nix index 81c517b36998..1805d4b48fed 100644 --- a/pkgs/by-name/co/cosmic-protocols/package.nix +++ b/pkgs/by-name/co/cosmic-protocols/package.nix @@ -6,13 +6,13 @@ stdenv.mkDerivation rec { pname = "cosmic-protocols"; - version = "0-unstable-2024-01-11"; + version = "0-unstable-2024-07-31"; src = fetchFromGitHub { owner = "pop-os"; repo = pname; - rev = "e65fa5e2bb47e51656221657049bd3f88ae9dae5"; - hash = "sha256-vj7Wm1uJ5ULvGNEwKznNhujCZQiuntsWMyKQbIVaO/Q="; + rev = "de2fead49d6af3a221db153642e4d7c2235aafc4"; + hash = "sha256-qgo8FMKo/uCbhUjfykRRN8KSavbyhZpu82M8npLcIPI="; }; makeFlags = [ "PREFIX=${placeholder "out"}" ]; @@ -20,7 +20,7 @@ stdenv.mkDerivation rec { meta = with lib; { homepage = "https://github.com/pop-os/cosmic-protocols"; - description = "Addtional wayland-protocols used by the COSMIC desktop environment"; + description = "Additional wayland-protocols used by the COSMIC desktop environment"; license = [ licenses.mit licenses.gpl3Only ]; maintainers = with maintainers; [ nyanbinary ]; platforms = platforms.linux; diff --git a/pkgs/by-name/co/cosmic-screenshot/package.nix b/pkgs/by-name/co/cosmic-screenshot/package.nix index 2703698042ad..1881ef8fb9db 100644 --- a/pkgs/by-name/co/cosmic-screenshot/package.nix +++ b/pkgs/by-name/co/cosmic-screenshot/package.nix @@ -8,16 +8,16 @@ rustPlatform.buildRustPackage rec { pname = "cosmic-screenshot"; - version = "unstable-2023-11-08"; + version = "1.0.0-alpha.1"; src = fetchFromGitHub { owner = "pop-os"; repo = pname; - rev = "b413a7128ddcdfb3c63e84bdade5c5b90b163a9a"; - hash = "sha256-SDxBBhmnqNDX95Rb7QiI46sAxrfodB5tSq8AbXAU480="; + rev = "epoch-${version}"; + hash = "sha256-+yHpRbK+AWnpcGrC5U0wKbt0u8tm3CFGjKTCDQpb3G0="; }; - cargoHash = "sha256-ZRsAhIWPm38Ys9jM/3yVJLW818lUGLCcSfFZb+UTbnU="; + cargoHash = "sha256-d56y35npMPrQM0yF0ytNcOdMKBz9IQvEz37DNvKBBSk="; nativeBuildInputs = [ just pkg-config ]; diff --git a/pkgs/by-name/ed/edk2/package.nix b/pkgs/by-name/ed/edk2/package.nix index 56b6aac253f5..b6946ea11949 100644 --- a/pkgs/by-name/ed/edk2/package.nix +++ b/pkgs/by-name/ed/edk2/package.nix @@ -1,12 +1,12 @@ { stdenv , fetchFromGitHub , fetchpatch +, applyPatches , libuuid , bc , lib , buildPackages , nixosTests -, runCommand , writeScript }: @@ -31,45 +31,68 @@ buildType = if stdenv.isDarwin then else "GCC5"; -edk2 = stdenv.mkDerivation rec { +edk2 = stdenv.mkDerivation { pname = "edk2"; - version = "202402"; - - patches = [ - # pass targetPrefix as an env var - (fetchpatch { - url = "https://src.fedoraproject.org/rpms/edk2/raw/08f2354cd280b4ce5a7888aa85cf520e042955c3/f/0021-Tweak-the-tools_def-to-support-cross-compiling.patch"; - hash = "sha256-E1/fiFNVx0aB1kOej2DJ2DlBIs9tAAcxoedym2Zhjxw="; - }) - # https://github.com/tianocore/edk2/pull/5658 - (fetchpatch { - url = "https://github.com/tianocore/edk2/commit/a34ff4a8f69a7b8a52b9b299153a8fac702c7df1.patch"; - hash = "sha256-u+niqwjuLV5tNPykW4xhb7PW2XvUmXhx5uvftG1UIbU="; - }) - ]; + version = "202408"; srcWithVendoring = fetchFromGitHub { owner = "tianocore"; repo = "edk2"; rev = "edk2-stable${edk2.version}"; fetchSubmodules = true; - hash = "sha256-Nurm6QNKCyV6wvbj0ELdYAL7mbZ0yg/tTwnEJ+N18ng="; + hash = "sha256-2odaTqiAZD5xduT0dwIYWj3gY/aFPVsTFbblIsEhBiA="; }; - # We don't want EDK2 to keep track of OpenSSL, - # they're frankly bad at it. - src = runCommand "edk2-unvendored-src" { } '' - cp --no-preserve=mode -r ${srcWithVendoring} $out - rm -rf $out/CryptoPkg/Library/OpensslLib/openssl - mkdir -p $out/CryptoPkg/Library/OpensslLib/openssl - tar --strip-components=1 -xf ${buildPackages.openssl.src} -C $out/CryptoPkg/Library/OpensslLib/openssl - chmod -R +w $out/ + src = applyPatches { + name = "edk2-${edk2.version}-unvendored-src"; + src = edk2.srcWithVendoring; - # Fix missing INT64_MAX include that edk2 explicitly does not provide - # via it's own . Let's pull in openssl's definition instead: - sed -i $out/CryptoPkg/Library/OpensslLib/openssl/crypto/property/property_parse.c \ - -e '1i #include "internal/numbers.h"' - ''; + patches = [ + # pass targetPrefix as an env var + (fetchpatch { + url = "https://src.fedoraproject.org/rpms/edk2/raw/08f2354cd280b4ce5a7888aa85cf520e042955c3/f/0021-Tweak-the-tools_def-to-support-cross-compiling.patch"; + hash = "sha256-E1/fiFNVx0aB1kOej2DJ2DlBIs9tAAcxoedym2Zhjxw="; + }) + # https://github.com/tianocore/edk2/pull/5658 + (fetchpatch { + name = "fix-cross-compilation-antlr-dlg.patch"; + url = "https://github.com/tianocore/edk2/commit/a34ff4a8f69a7b8a52b9b299153a8fac702c7df1.patch"; + hash = "sha256-u+niqwjuLV5tNPykW4xhb7PW2XvUmXhx5uvftG1UIbU="; + }) + ]; + + postPatch = '' + # We don't want EDK2 to keep track of OpenSSL, they're frankly bad at it. + rm -r CryptoPkg/Library/OpensslLib/openssl + mkdir -p CryptoPkg/Library/OpensslLib/openssl + ( + cd CryptoPkg/Library/OpensslLib/openssl + tar --strip-components=1 -xf ${buildPackages.openssl.src} + + # Apply OpenSSL patches. + ${lib.pipe buildPackages.openssl.patches [ + (builtins.filter ( + patch: + !builtins.elem (baseNameOf patch) [ + # Exclude patches not required in this context. + "nix-ssl-cert-file.patch" + "openssl-disable-kernel-detection.patch" + "use-etc-ssl-certs-darwin.patch" + "use-etc-ssl-certs.patch" + ] + )) + (map (patch: "patch -p1 < ${patch}\n")) + lib.concatStrings + ]} + ) + + # enable compilation using Clang + # https://bugzilla.tianocore.org/show_bug.cgi?id=4620 + substituteInPlace BaseTools/Conf/tools_def.template --replace-fail \ + 'DEFINE CLANGPDB_WARNING_OVERRIDES = ' \ + 'DEFINE CLANGPDB_WARNING_OVERRIDES = -Wno-unneeded-internal-declaration ' + ''; + }; nativeBuildInputs = [ pythonEnv ]; depsBuildBuild = [ buildPackages.stdenv.cc buildPackages.bash ]; @@ -100,12 +123,13 @@ edk2 = stdenv.mkDerivation rec { enableParallelBuilding = true; - meta = with lib; { + meta = { description = "Intel EFI development kit"; homepage = "https://github.com/tianocore/tianocore.github.io/wiki/EDK-II/"; changelog = "https://github.com/tianocore/edk2/releases/tag/edk2-stable${edk2.version}"; - license = licenses.bsd2; - platforms = with platforms; aarch64 ++ arm ++ i686 ++ x86_64 ++ riscv64; + license = lib.licenses.bsd2; + platforms = with lib.platforms; aarch64 ++ arm ++ i686 ++ x86_64 ++ riscv64; + maintainers = [ lib.maintainers.mjoerg ]; }; passthru = { diff --git a/pkgs/by-name/ka/kanidm/package.nix b/pkgs/by-name/ka/kanidm/package.nix index 840b21b04d35..4a6272992787 100644 --- a/pkgs/by-name/ka/kanidm/package.nix +++ b/pkgs/by-name/ka/kanidm/package.nix @@ -122,6 +122,9 @@ rustPlatform.buildRustPackage rec { withSecretProvisioning = kanidm.override { enableSecretProvisioning = true; }; }; + # can take over 4 hours on 2 cores and needs 16GB+ RAM + requiredSystemFeatures = [ "big-parallel" ]; + meta = with lib; { changelog = "https://github.com/kanidm/kanidm/releases/tag/v${version}"; description = "Simple, secure and fast identity management platform"; diff --git a/pkgs/by-name/lx/lxc/package.nix b/pkgs/by-name/lx/lxc/package.nix index 7b24d70b5d0a..409e550109f2 100644 --- a/pkgs/by-name/lx/lxc/package.nix +++ b/pkgs/by-name/lx/lxc/package.nix @@ -48,16 +48,37 @@ stdenv.mkDerivation (finalAttrs: { patches = [ # fix docbook2man version detection ./docbook-hack.patch + + # Fix hardcoded path of lxc-user-nic + # This is needed to use unprivileged containers + ./user-nic.diff ]; mesonFlags = [ - "-Dinstall-init-files=false" + "-Dinstall-init-files=true" "-Dinstall-state-dirs=false" "-Dspecfile=false" "-Dtools-multicall=true" "-Dtools=false" + "-Dusernet-config-path=/etc/lxc/lxc-usernet" + "-Ddistrosysconfdir=${placeholder "out"}/etc/lxc" + "-Dsystemd-unitdir=${placeholder "out"}/lib/systemd/system" ]; + # /run/current-system/sw/share + postInstall = '' + substituteInPlace $out/etc/lxc/lxc --replace-fail "$out/etc/lxc" "/etc/lxc" + substituteInPlace $out/libexec/lxc/lxc-net --replace-fail "$out/etc/lxc" "/etc/lxc" + + substituteInPlace $out/share/lxc/templates/lxc-download --replace-fail "$out/share" "/run/current-system/sw/share" + substituteInPlace $out/share/lxc/templates/lxc-local --replace-fail "$out/share" "/run/current-system/sw/share" + substituteInPlace $out/share/lxc/templates/lxc-oci --replace-fail "$out/share" "/run/current-system/sw/share" + + substituteInPlace $out/share/lxc/config/common.conf --replace-fail "$out/share" "/run/current-system/sw/share" + substituteInPlace $out/share/lxc/config/userns.conf --replace-fail "$out/share" "/run/current-system/sw/share" + substituteInPlace $out/share/lxc/config/oci.common.conf --replace-fail "$out/share" "/run/current-system/sw/share" + ''; + enableParallelBuilding = true; doCheck = true; @@ -66,6 +87,7 @@ stdenv.mkDerivation (finalAttrs: { tests = { incus-legacy-init = nixosTests.incus.container-legacy-init; incus-systemd-init = nixosTests.incus.container-systemd-init; + lxc = nixosTests.lxc; lxd = nixosTests.lxd.container; }; diff --git a/pkgs/by-name/lx/lxc/user-nic.diff b/pkgs/by-name/lx/lxc/user-nic.diff new file mode 100644 index 000000000000..8edcb5d9b46d --- /dev/null +++ b/pkgs/by-name/lx/lxc/user-nic.diff @@ -0,0 +1,13 @@ +diff --git a/src/lxc/network.c b/src/lxc/network.c +index 0a99d32..850e975 100644 +--- a/src/lxc/network.c ++++ b/src/lxc/network.c +@@ -2940,7 +2940,7 @@ int lxc_find_gateway_addresses(struct lxc_handler *handler) + + #ifdef IN_LIBLXC + +-#define LXC_USERNIC_PATH LIBEXECDIR "/lxc/lxc-user-nic" ++#define LXC_USERNIC_PATH "/run/wrappers/bin/lxc-user-nic" + static int lxc_create_network_unpriv_exec(const char *lxcpath, + const char *lxcname, + struct lxc_netdev *netdev, pid_t pid, diff --git a/pkgs/by-name/nw/nwg-panel/package.nix b/pkgs/by-name/nw/nwg-panel/package.nix index 288440445786..359d57cda5b0 100644 --- a/pkgs/by-name/nw/nwg-panel/package.nix +++ b/pkgs/by-name/nw/nwg-panel/package.nix @@ -16,13 +16,13 @@ python3Packages.buildPythonApplication rec { pname = "nwg-panel"; - version = "0.9.37"; + version = "0.9.38"; src = fetchFromGitHub { owner = "nwg-piotr"; repo = "nwg-panel"; rev = "refs/tags/v${version}"; - hash = "sha256-CKufaOAh7wH2ECN+zsPk4PQNYuewT2BzTci8nt8EhlU="; + hash = "sha256-5vq/5QovvoDUDu9IiAeI9c06g0iy9YLi7CdpEhXbLqI="; }; # No tests diff --git a/pkgs/applications/misc/pop-launcher/default.nix b/pkgs/by-name/po/pop-launcher/package.nix similarity index 80% rename from pkgs/applications/misc/pop-launcher/default.nix rename to pkgs/by-name/po/pop-launcher/package.nix index b8e614485a29..4f2a6e382fd3 100644 --- a/pkgs/applications/misc/pop-launcher/default.nix +++ b/pkgs/by-name/po/pop-launcher/package.nix @@ -18,15 +18,15 @@ rustPlatform.buildRustPackage rec { postPatch = '' substituteInPlace src/lib.rs \ - --replace '/usr/lib/pop-launcher' "$out/share/pop-launcher" + --replace-fail '/usr/lib/pop-launcher' "$out/share/pop-launcher" substituteInPlace plugins/src/scripts/mod.rs \ - --replace '/usr/lib/pop-launcher' "$out/share/pop-launcher" + --replace-fail '/usr/lib/pop-launcher' "$out/share/pop-launcher" substituteInPlace plugins/src/calc/mod.rs \ - --replace 'Command::new("qalc")' 'Command::new("${libqalculate}/bin/qalc")' + --replace-fail 'Command::new("qalc")' 'Command::new("${libqalculate}/bin/qalc")' substituteInPlace plugins/src/find/mod.rs \ - --replace 'spawn("fd")' 'spawn("${fd}/bin/fd")' + --replace-fail 'spawn("fd")' 'spawn("${fd}/bin/fd")' substituteInPlace plugins/src/terminal/mod.rs \ - --replace '/usr/bin/gnome-terminal' 'gnome-terminal' + --replace-fail '/usr/bin/gnome-terminal' 'gnome-terminal' ''; cargoHash = "sha256-cTvrq0fH057UIx/O9u8zHMsg+psMGg1q9klV5OMxtok="; diff --git a/pkgs/by-name/se/setzer/package.nix b/pkgs/by-name/se/setzer/package.nix new file mode 100644 index 000000000000..ee05b4cd00d1 --- /dev/null +++ b/pkgs/by-name/se/setzer/package.nix @@ -0,0 +1,81 @@ +{ + appstream, + appstream-glib, + desktop-file-utils, + fetchFromGitHub, + gettext, + gobject-introspection, + gtk4, + gtksourceview5, + lib, + libadwaita, + libportal, + librsvg, + meson, + ninja, + poppler_gi, + python3Packages, + webkitgtk_6_0, + wrapGAppsHook4, +}: + +python3Packages.buildPythonApplication rec { + pname = "setzer"; + version = "66"; + pyproject = false; + + src = fetchFromGitHub { + owner = "cvfosammmm"; + repo = "Setzer"; + rev = "refs/tags/v${version}"; + hash = "sha256-hqwwDR9jCk2XptcqpaReZ73jqpq4JpYD3Rc2OmrEPxg="; + }; + + nativeBuildInputs = [ + meson + ninja + gettext + appstream # for appstreamcli + appstream-glib + wrapGAppsHook4 + desktop-file-utils + gobject-introspection + ]; + + buildInputs = [ + gtk4 + gtksourceview5 + libadwaita + libportal + librsvg + poppler_gi + webkitgtk_6_0 + ]; + + dependencies = with python3Packages; [ + bibtexparser + numpy + pdfminer-six + pexpect + pillow + pycairo + pygobject3 + pyxdg + ]; + + checkPhase = '' + runHook preCheck + + meson test --print-errorlogs + + runHook postCheck + ''; + + meta = { + description = "LaTeX editor written in Python with Gtk"; + mainProgram = "setzer"; + homepage = "https://www.cvfosammmm.org/setzer/"; + license = lib.licenses.gpl3Plus; + maintainers = with lib.maintainers; [ dotlambda ]; + }; +} diff --git a/pkgs/by-name/ux/uxn/package.nix b/pkgs/by-name/ux/uxn/package.nix index 12d0ce05bca7..a8fa5eb51aed 100644 --- a/pkgs/by-name/ux/uxn/package.nix +++ b/pkgs/by-name/ux/uxn/package.nix @@ -7,13 +7,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "uxn"; - version = "1.0-unstable-2024-08-12"; + version = "1.0-unstable-2024-08-25"; src = fetchFromSourcehut { owner = "~rabbits"; repo = "uxn"; - rev = "3a901ed0beeaf5e3268a40779f2944ef99f93774"; - hash = "sha256-JlDNiKcaZG2OYeiVlIovEIDN/h7ET5d0M83vlHMQQK4="; + rev = "6d5e3848bdbd76420b93ca47de148cbf46baf9f6"; + hash = "sha256-YTDL3NZSjbVqu6aPJBmUmsT3bDX2VUeufXq/Q+jn4Og="; }; outputs = [ "out" "projects" ]; diff --git a/pkgs/by-name/xa/xarcan/package.nix b/pkgs/by-name/xa/xarcan/package.nix index bcb42f0414fa..325d05327367 100644 --- a/pkgs/by-name/xa/xarcan/package.nix +++ b/pkgs/by-name/xa/xarcan/package.nix @@ -39,13 +39,13 @@ stdenv.mkDerivation (finalPackages: { pname = "xarcan"; - version = "0-unstable-2024-08-04"; + version = "0-unstable-2024-08-26"; src = fetchFromGitHub { owner = "letoram"; repo = "xarcan"; - rev = "7644616b3bd0ff2b5708e93acc990cd757b20ae9"; - hash = "sha256-iKYTuJ/1iwm449ZOBOzi+LkrTTio7aaIHUn+M+Sbzc8="; + rev = "5672116f627de492fb4df0b33d36b78041cd3931"; + hash = "sha256-xZX6uLs/H/wONKrUnYxSynHK7CL7FDfzWvSjtXxT8es="; }; nativeBuildInputs = [ diff --git a/pkgs/development/cuda-modules/cuda/extension.nix b/pkgs/development/cuda-modules/cuda/extension.nix index f39171e88874..f2892779da8a 100644 --- a/pkgs/development/cuda-modules/cuda/extension.nix +++ b/pkgs/development/cuda-modules/cuda/extension.nix @@ -16,6 +16,7 @@ let "12.1" = "12.1.1"; "12.2" = "12.2.2"; "12.3" = "12.3.0"; + "12.4" = "12.4.0"; }; # Check if the current CUDA version is supported. diff --git a/pkgs/development/cuda-modules/cuda/manifests/feature_12.4.0.json b/pkgs/development/cuda-modules/cuda/manifests/feature_12.4.0.json new file mode 100644 index 000000000000..7756c13c4b55 --- /dev/null +++ b/pkgs/development/cuda-modules/cuda/manifests/feature_12.4.0.json @@ -0,0 +1,1674 @@ +{ + "cuda_cccl": { + "linux-aarch64": { + "outputs": { + "bin": false, + "dev": true, + "doc": false, + "lib": false, + "sample": false, + "static": false + } + }, + "linux-ppc64le": { + "outputs": { + "bin": false, + "dev": true, + "doc": false, + "lib": false, + "sample": false, + "static": false + } + }, + "linux-sbsa": { + "outputs": { + "bin": false, + "dev": true, + "doc": false, + "lib": false, + "sample": false, + "static": false + } + }, + "linux-x86_64": { + "outputs": { + "bin": false, + "dev": true, + "doc": false, + "lib": false, + "sample": false, + "static": false + } + }, + "windows-x86_64": { + "outputs": { + "bin": false, + "dev": true, + "doc": false, + "lib": false, + "sample": false, + "static": false + } + } + }, + "cuda_compat": { + "linux-aarch64": { + "outputs": { + "bin": false, + "dev": false, + "doc": false, + "lib": false, + "sample": false, + "static": false + } + } + }, + "cuda_cudart": { + "linux-aarch64": { + "outputs": { + "bin": false, + "dev": true, + "doc": false, + "lib": true, + "sample": false, + "static": true + } + }, + "linux-ppc64le": { + "outputs": { + "bin": false, + "dev": true, + "doc": false, + "lib": true, + "sample": false, + "static": true + } + }, + "linux-sbsa": { + "outputs": { + "bin": false, + "dev": true, + "doc": false, + "lib": true, + "sample": false, + "static": true + } + }, + "linux-x86_64": { + "outputs": { + "bin": false, + "dev": true, + "doc": false, + "lib": true, + "sample": false, + "static": true + } + }, + "windows-x86_64": { + "outputs": { + "bin": true, + "dev": true, + "doc": false, + "lib": false, + "sample": false, + "static": false + } + } + }, + "cuda_cuobjdump": { + "linux-aarch64": { + "outputs": { + "bin": true, + "dev": false, + "doc": false, + "lib": false, + "sample": false, + "static": false + } + }, + "linux-ppc64le": { + "outputs": { + "bin": true, + "dev": false, + "doc": false, + "lib": false, + "sample": false, + "static": false + } + }, + "linux-sbsa": { + "outputs": { + "bin": true, + "dev": false, + "doc": false, + "lib": false, + "sample": false, + "static": false + } + }, + "linux-x86_64": { + "outputs": { + "bin": true, + "dev": false, + "doc": false, + "lib": false, + "sample": false, + "static": false + } + }, + "windows-x86_64": { + "outputs": { + "bin": true, + "dev": false, + "doc": false, + "lib": false, + "sample": false, + "static": false + } + } + }, + "cuda_cupti": { + "linux-aarch64": { + "outputs": { + "bin": false, + "dev": true, + "doc": false, + "lib": true, + "sample": true, + "static": false + } + }, + "linux-ppc64le": { + "outputs": { + "bin": false, + "dev": true, + "doc": false, + "lib": true, + "sample": true, + "static": false + } + }, + "linux-sbsa": { + "outputs": { + "bin": false, + "dev": true, + "doc": false, + "lib": true, + "sample": true, + "static": false + } + }, + "linux-x86_64": { + "outputs": { + "bin": false, + "dev": true, + "doc": false, + "lib": true, + "sample": true, + "static": true + } + }, + "windows-x86_64": { + "outputs": { + "bin": false, + "dev": true, + "doc": false, + "lib": false, + "sample": true, + "static": false + } + } + }, + "cuda_cuxxfilt": { + "linux-aarch64": { + "outputs": { + "bin": true, + "dev": true, + "doc": false, + "lib": false, + "sample": false, + "static": true + } + }, + "linux-ppc64le": { + "outputs": { + "bin": true, + "dev": true, + "doc": false, + "lib": false, + "sample": false, + "static": true + } + }, + "linux-sbsa": { + "outputs": { + "bin": true, + "dev": true, + "doc": false, + "lib": false, + "sample": false, + "static": true + } + }, + "linux-x86_64": { + "outputs": { + "bin": true, + "dev": true, + "doc": false, + "lib": false, + "sample": false, + "static": true + } + }, + "windows-x86_64": { + "outputs": { + "bin": true, + "dev": true, + "doc": false, + "lib": false, + "sample": false, + "static": false + } + } + }, + "cuda_demo_suite": { + "linux-x86_64": { + "outputs": { + "bin": false, + "dev": false, + "doc": false, + "lib": false, + "sample": false, + "static": false + } + }, + "windows-x86_64": { + "outputs": { + "bin": false, + "dev": false, + "doc": false, + "lib": false, + "sample": false, + "static": false + } + } + }, + "cuda_documentation": { + "linux-aarch64": { + "outputs": { + "bin": false, + "dev": false, + "doc": false, + "lib": false, + "sample": false, + "static": false + } + }, + "linux-ppc64le": { + "outputs": { + "bin": false, + "dev": false, + "doc": false, + "lib": false, + "sample": false, + "static": false + } + }, + "linux-sbsa": { + "outputs": { + "bin": false, + "dev": false, + "doc": false, + "lib": false, + "sample": false, + "static": false + } + }, + "linux-x86_64": { + "outputs": { + "bin": false, + "dev": false, + "doc": false, + "lib": false, + "sample": false, + "static": false + } + }, + "windows-x86_64": { + "outputs": { + "bin": false, + "dev": false, + "doc": false, + "lib": false, + "sample": false, + "static": false + } + } + }, + "cuda_gdb": { + "linux-aarch64": { + "outputs": { + "bin": true, + "dev": false, + "doc": false, + "lib": false, + "sample": false, + "static": false + } + }, + "linux-ppc64le": { + "outputs": { + "bin": true, + "dev": false, + "doc": false, + "lib": false, + "sample": false, + "static": false + } + }, + "linux-sbsa": { + "outputs": { + "bin": true, + "dev": false, + "doc": false, + "lib": false, + "sample": false, + "static": false + } + }, + "linux-x86_64": { + "outputs": { + "bin": true, + "dev": false, + "doc": false, + "lib": false, + "sample": false, + "static": false + } + } + }, + "cuda_nsight": { + "linux-ppc64le": { + "outputs": { + "bin": true, + "dev": false, + "doc": false, + "lib": false, + "sample": false, + "static": false + } + }, + "linux-x86_64": { + "outputs": { + "bin": true, + "dev": false, + "doc": false, + "lib": false, + "sample": false, + "static": false + } + } + }, + "cuda_nvcc": { + "linux-aarch64": { + "outputs": { + "bin": true, + "dev": true, + "doc": false, + "lib": false, + "sample": false, + "static": true + } + }, + "linux-ppc64le": { + "outputs": { + "bin": true, + "dev": true, + "doc": false, + "lib": false, + "sample": false, + "static": true + } + }, + "linux-sbsa": { + "outputs": { + "bin": true, + "dev": true, + "doc": false, + "lib": false, + "sample": false, + "static": true + } + }, + "linux-x86_64": { + "outputs": { + "bin": true, + "dev": true, + "doc": false, + "lib": false, + "sample": false, + "static": true + } + }, + "windows-x86_64": { + "outputs": { + "bin": true, + "dev": true, + "doc": false, + "lib": false, + "sample": false, + "static": false + } + } + }, + "cuda_nvdisasm": { + "linux-aarch64": { + "outputs": { + "bin": true, + "dev": false, + "doc": false, + "lib": false, + "sample": false, + "static": false + } + }, + "linux-ppc64le": { + "outputs": { + "bin": true, + "dev": false, + "doc": false, + "lib": false, + "sample": false, + "static": false + } + }, + "linux-sbsa": { + "outputs": { + "bin": true, + "dev": false, + "doc": false, + "lib": false, + "sample": false, + "static": false + } + }, + "linux-x86_64": { + "outputs": { + "bin": true, + "dev": false, + "doc": false, + "lib": false, + "sample": false, + "static": false + } + }, + "windows-x86_64": { + "outputs": { + "bin": true, + "dev": false, + "doc": false, + "lib": false, + "sample": false, + "static": false + } + } + }, + "cuda_nvml_dev": { + "linux-aarch64": { + "outputs": { + "bin": false, + "dev": true, + "doc": false, + "lib": true, + "sample": false, + "static": true + } + }, + "linux-ppc64le": { + "outputs": { + "bin": false, + "dev": true, + "doc": false, + "lib": true, + "sample": false, + "static": true + } + }, + "linux-sbsa": { + "outputs": { + "bin": false, + "dev": true, + "doc": false, + "lib": true, + "sample": false, + "static": true + } + }, + "linux-x86_64": { + "outputs": { + "bin": false, + "dev": true, + "doc": false, + "lib": true, + "sample": false, + "static": true + } + }, + "windows-x86_64": { + "outputs": { + "bin": false, + "dev": true, + "doc": false, + "lib": false, + "sample": false, + "static": false + } + } + }, + "cuda_nvprof": { + "linux-ppc64le": { + "outputs": { + "bin": true, + "dev": false, + "doc": false, + "lib": true, + "sample": false, + "static": false + } + }, + "linux-x86_64": { + "outputs": { + "bin": true, + "dev": false, + "doc": false, + "lib": true, + "sample": false, + "static": false + } + }, + "windows-x86_64": { + "outputs": { + "bin": true, + "dev": false, + "doc": false, + "lib": false, + "sample": false, + "static": false + } + } + }, + "cuda_nvprune": { + "linux-aarch64": { + "outputs": { + "bin": true, + "dev": false, + "doc": false, + "lib": false, + "sample": false, + "static": false + } + }, + "linux-ppc64le": { + "outputs": { + "bin": true, + "dev": false, + "doc": false, + "lib": false, + "sample": false, + "static": false + } + }, + "linux-sbsa": { + "outputs": { + "bin": true, + "dev": false, + "doc": false, + "lib": false, + "sample": false, + "static": false + } + }, + "linux-x86_64": { + "outputs": { + "bin": true, + "dev": false, + "doc": false, + "lib": false, + "sample": false, + "static": false + } + }, + "windows-x86_64": { + "outputs": { + "bin": true, + "dev": false, + "doc": false, + "lib": false, + "sample": false, + "static": false + } + } + }, + "cuda_nvrtc": { + "linux-aarch64": { + "outputs": { + "bin": false, + "dev": true, + "doc": false, + "lib": true, + "sample": false, + "static": true + } + }, + "linux-ppc64le": { + "outputs": { + "bin": false, + "dev": true, + "doc": false, + "lib": true, + "sample": false, + "static": true + } + }, + "linux-sbsa": { + "outputs": { + "bin": false, + "dev": true, + "doc": false, + "lib": true, + "sample": false, + "static": true + } + }, + "linux-x86_64": { + "outputs": { + "bin": false, + "dev": true, + "doc": false, + "lib": true, + "sample": false, + "static": true + } + }, + "windows-x86_64": { + "outputs": { + "bin": true, + "dev": true, + "doc": false, + "lib": false, + "sample": false, + "static": false + } + } + }, + "cuda_nvtx": { + "linux-aarch64": { + "outputs": { + "bin": false, + "dev": true, + "doc": false, + "lib": true, + "sample": false, + "static": false + } + }, + "linux-ppc64le": { + "outputs": { + "bin": false, + "dev": true, + "doc": false, + "lib": true, + "sample": false, + "static": false + } + }, + "linux-sbsa": { + "outputs": { + "bin": false, + "dev": true, + "doc": false, + "lib": true, + "sample": false, + "static": false + } + }, + "linux-x86_64": { + "outputs": { + "bin": false, + "dev": true, + "doc": false, + "lib": true, + "sample": false, + "static": false + } + }, + "windows-x86_64": { + "outputs": { + "bin": false, + "dev": true, + "doc": false, + "lib": false, + "sample": false, + "static": false + } + } + }, + "cuda_nvvp": { + "linux-ppc64le": { + "outputs": { + "bin": true, + "dev": false, + "doc": false, + "lib": false, + "sample": false, + "static": false + } + }, + "linux-x86_64": { + "outputs": { + "bin": true, + "dev": false, + "doc": false, + "lib": false, + "sample": false, + "static": false + } + }, + "windows-x86_64": { + "outputs": { + "bin": true, + "dev": false, + "doc": false, + "lib": false, + "sample": false, + "static": false + } + } + }, + "cuda_opencl": { + "linux-x86_64": { + "outputs": { + "bin": false, + "dev": true, + "doc": false, + "lib": true, + "sample": false, + "static": false + } + }, + "windows-x86_64": { + "outputs": { + "bin": false, + "dev": true, + "doc": false, + "lib": false, + "sample": false, + "static": false + } + } + }, + "cuda_profiler_api": { + "linux-aarch64": { + "outputs": { + "bin": false, + "dev": true, + "doc": false, + "lib": false, + "sample": false, + "static": false + } + }, + "linux-ppc64le": { + "outputs": { + "bin": false, + "dev": true, + "doc": false, + "lib": false, + "sample": false, + "static": false + } + }, + "linux-sbsa": { + "outputs": { + "bin": false, + "dev": true, + "doc": false, + "lib": false, + "sample": false, + "static": false + } + }, + "linux-x86_64": { + "outputs": { + "bin": false, + "dev": true, + "doc": false, + "lib": false, + "sample": false, + "static": false + } + }, + "windows-x86_64": { + "outputs": { + "bin": false, + "dev": true, + "doc": false, + "lib": false, + "sample": false, + "static": false + } + } + }, + "cuda_sanitizer_api": { + "linux-aarch64": { + "outputs": { + "bin": true, + "dev": false, + "doc": false, + "lib": false, + "sample": false, + "static": false + } + }, + "linux-ppc64le": { + "outputs": { + "bin": true, + "dev": false, + "doc": false, + "lib": false, + "sample": false, + "static": false + } + }, + "linux-sbsa": { + "outputs": { + "bin": true, + "dev": false, + "doc": false, + "lib": false, + "sample": false, + "static": false + } + }, + "linux-x86_64": { + "outputs": { + "bin": true, + "dev": false, + "doc": false, + "lib": false, + "sample": false, + "static": false + } + }, + "windows-x86_64": { + "outputs": { + "bin": false, + "dev": false, + "doc": false, + "lib": false, + "sample": false, + "static": false + } + } + }, + "fabricmanager": { + "linux-sbsa": { + "outputs": { + "bin": true, + "dev": true, + "doc": false, + "lib": true, + "sample": false, + "static": false + } + }, + "linux-x86_64": { + "outputs": { + "bin": true, + "dev": true, + "doc": false, + "lib": true, + "sample": false, + "static": false + } + } + }, + "imex": { + "linux-sbsa": { + "outputs": { + "bin": false, + "dev": false, + "doc": false, + "lib": false, + "sample": false, + "static": false + } + }, + "linux-x86_64": { + "outputs": { + "bin": false, + "dev": false, + "doc": false, + "lib": false, + "sample": false, + "static": false + } + } + }, + "libcublas": { + "linux-aarch64": { + "outputs": { + "bin": false, + "dev": true, + "doc": false, + "lib": true, + "sample": false, + "static": true + } + }, + "linux-ppc64le": { + "outputs": { + "bin": false, + "dev": true, + "doc": false, + "lib": true, + "sample": false, + "static": true + } + }, + "linux-sbsa": { + "outputs": { + "bin": false, + "dev": true, + "doc": false, + "lib": true, + "sample": false, + "static": true + } + }, + "linux-x86_64": { + "outputs": { + "bin": false, + "dev": true, + "doc": false, + "lib": true, + "sample": false, + "static": true + } + }, + "windows-x86_64": { + "outputs": { + "bin": true, + "dev": true, + "doc": false, + "lib": false, + "sample": false, + "static": false + } + } + }, + "libcudla": { + "linux-aarch64": { + "outputs": { + "bin": false, + "dev": true, + "doc": false, + "lib": true, + "sample": false, + "static": false + } + } + }, + "libcufft": { + "linux-aarch64": { + "outputs": { + "bin": false, + "dev": true, + "doc": false, + "lib": true, + "sample": false, + "static": true + } + }, + "linux-ppc64le": { + "outputs": { + "bin": false, + "dev": true, + "doc": false, + "lib": true, + "sample": false, + "static": true + } + }, + "linux-sbsa": { + "outputs": { + "bin": false, + "dev": true, + "doc": false, + "lib": true, + "sample": false, + "static": true + } + }, + "linux-x86_64": { + "outputs": { + "bin": false, + "dev": true, + "doc": false, + "lib": true, + "sample": false, + "static": true + } + }, + "windows-x86_64": { + "outputs": { + "bin": true, + "dev": true, + "doc": false, + "lib": false, + "sample": false, + "static": false + } + } + }, + "libcufile": { + "linux-aarch64": { + "outputs": { + "bin": false, + "dev": true, + "doc": false, + "lib": true, + "sample": false, + "static": true + } + }, + "linux-sbsa": { + "outputs": { + "bin": false, + "dev": true, + "doc": false, + "lib": true, + "sample": false, + "static": true + } + }, + "linux-x86_64": { + "outputs": { + "bin": false, + "dev": true, + "doc": false, + "lib": true, + "sample": false, + "static": true + } + } + }, + "libcurand": { + "linux-aarch64": { + "outputs": { + "bin": false, + "dev": true, + "doc": false, + "lib": true, + "sample": false, + "static": true + } + }, + "linux-ppc64le": { + "outputs": { + "bin": false, + "dev": true, + "doc": false, + "lib": true, + "sample": false, + "static": true + } + }, + "linux-sbsa": { + "outputs": { + "bin": false, + "dev": true, + "doc": false, + "lib": true, + "sample": false, + "static": true + } + }, + "linux-x86_64": { + "outputs": { + "bin": false, + "dev": true, + "doc": false, + "lib": true, + "sample": false, + "static": true + } + }, + "windows-x86_64": { + "outputs": { + "bin": true, + "dev": true, + "doc": false, + "lib": false, + "sample": false, + "static": false + } + } + }, + "libcusolver": { + "linux-aarch64": { + "outputs": { + "bin": false, + "dev": true, + "doc": false, + "lib": true, + "sample": false, + "static": true + } + }, + "linux-ppc64le": { + "outputs": { + "bin": false, + "dev": true, + "doc": false, + "lib": true, + "sample": false, + "static": true + } + }, + "linux-sbsa": { + "outputs": { + "bin": false, + "dev": true, + "doc": false, + "lib": true, + "sample": false, + "static": true + } + }, + "linux-x86_64": { + "outputs": { + "bin": false, + "dev": true, + "doc": false, + "lib": true, + "sample": false, + "static": true + } + }, + "windows-x86_64": { + "outputs": { + "bin": true, + "dev": true, + "doc": false, + "lib": false, + "sample": false, + "static": false + } + } + }, + "libcusparse": { + "linux-aarch64": { + "outputs": { + "bin": false, + "dev": true, + "doc": false, + "lib": true, + "sample": false, + "static": true + } + }, + "linux-ppc64le": { + "outputs": { + "bin": false, + "dev": true, + "doc": false, + "lib": true, + "sample": false, + "static": true + } + }, + "linux-sbsa": { + "outputs": { + "bin": false, + "dev": true, + "doc": false, + "lib": true, + "sample": false, + "static": true + } + }, + "linux-x86_64": { + "outputs": { + "bin": false, + "dev": true, + "doc": false, + "lib": true, + "sample": false, + "static": true + } + }, + "windows-x86_64": { + "outputs": { + "bin": true, + "dev": true, + "doc": false, + "lib": false, + "sample": false, + "static": false + } + } + }, + "libnpp": { + "linux-aarch64": { + "outputs": { + "bin": false, + "dev": true, + "doc": false, + "lib": true, + "sample": false, + "static": true + } + }, + "linux-ppc64le": { + "outputs": { + "bin": false, + "dev": true, + "doc": false, + "lib": true, + "sample": false, + "static": true + } + }, + "linux-sbsa": { + "outputs": { + "bin": false, + "dev": true, + "doc": false, + "lib": true, + "sample": false, + "static": true + } + }, + "linux-x86_64": { + "outputs": { + "bin": false, + "dev": true, + "doc": false, + "lib": true, + "sample": false, + "static": true + } + }, + "windows-x86_64": { + "outputs": { + "bin": true, + "dev": true, + "doc": false, + "lib": false, + "sample": false, + "static": false + } + } + }, + "libnvfatbin": { + "linux-aarch64": { + "outputs": { + "bin": false, + "dev": true, + "doc": false, + "lib": true, + "sample": false, + "static": true + } + }, + "linux-ppc64le": { + "outputs": { + "bin": false, + "dev": true, + "doc": false, + "lib": true, + "sample": false, + "static": true + } + }, + "linux-sbsa": { + "outputs": { + "bin": false, + "dev": true, + "doc": false, + "lib": true, + "sample": false, + "static": true + } + }, + "linux-x86_64": { + "outputs": { + "bin": false, + "dev": true, + "doc": false, + "lib": true, + "sample": false, + "static": true + } + }, + "windows-x86_64": { + "outputs": { + "bin": true, + "dev": true, + "doc": false, + "lib": false, + "sample": false, + "static": false + } + } + }, + "libnvidia_nscq": { + "linux-sbsa": { + "outputs": { + "bin": false, + "dev": false, + "doc": false, + "lib": true, + "sample": false, + "static": false + } + }, + "linux-x86_64": { + "outputs": { + "bin": false, + "dev": false, + "doc": false, + "lib": true, + "sample": false, + "static": false + } + } + }, + "libnvjitlink": { + "linux-aarch64": { + "outputs": { + "bin": false, + "dev": true, + "doc": false, + "lib": true, + "sample": false, + "static": true + } + }, + "linux-ppc64le": { + "outputs": { + "bin": false, + "dev": true, + "doc": false, + "lib": true, + "sample": false, + "static": true + } + }, + "linux-sbsa": { + "outputs": { + "bin": false, + "dev": true, + "doc": false, + "lib": true, + "sample": false, + "static": true + } + }, + "linux-x86_64": { + "outputs": { + "bin": false, + "dev": true, + "doc": false, + "lib": true, + "sample": false, + "static": true + } + }, + "windows-x86_64": { + "outputs": { + "bin": true, + "dev": true, + "doc": false, + "lib": false, + "sample": false, + "static": false + } + } + }, + "libnvjpeg": { + "linux-aarch64": { + "outputs": { + "bin": false, + "dev": true, + "doc": false, + "lib": true, + "sample": false, + "static": true + } + }, + "linux-ppc64le": { + "outputs": { + "bin": false, + "dev": true, + "doc": false, + "lib": true, + "sample": false, + "static": true + } + }, + "linux-sbsa": { + "outputs": { + "bin": false, + "dev": true, + "doc": false, + "lib": true, + "sample": false, + "static": true + } + }, + "linux-x86_64": { + "outputs": { + "bin": false, + "dev": true, + "doc": false, + "lib": true, + "sample": false, + "static": true + } + }, + "windows-x86_64": { + "outputs": { + "bin": true, + "dev": true, + "doc": false, + "lib": false, + "sample": false, + "static": false + } + } + }, + "nsight_compute": { + "linux-aarch64": { + "outputs": { + "bin": true, + "dev": false, + "doc": false, + "lib": false, + "sample": false, + "static": false + } + }, + "linux-ppc64le": { + "outputs": { + "bin": true, + "dev": false, + "doc": false, + "lib": false, + "sample": false, + "static": false + } + }, + "linux-sbsa": { + "outputs": { + "bin": true, + "dev": false, + "doc": false, + "lib": false, + "sample": false, + "static": false + } + }, + "linux-x86_64": { + "outputs": { + "bin": true, + "dev": false, + "doc": false, + "lib": false, + "sample": false, + "static": false + } + }, + "windows-x86_64": { + "outputs": { + "bin": false, + "dev": false, + "doc": false, + "lib": false, + "sample": false, + "static": false + } + } + }, + "nsight_systems": { + "linux-ppc64le": { + "outputs": { + "bin": true, + "dev": false, + "doc": false, + "lib": false, + "sample": false, + "static": false + } + }, + "linux-sbsa": { + "outputs": { + "bin": true, + "dev": false, + "doc": false, + "lib": false, + "sample": false, + "static": false + } + }, + "linux-x86_64": { + "outputs": { + "bin": true, + "dev": false, + "doc": false, + "lib": false, + "sample": false, + "static": false + } + }, + "windows-x86_64": { + "outputs": { + "bin": false, + "dev": false, + "doc": false, + "lib": false, + "sample": false, + "static": false + } + } + }, + "nsight_vse": { + "windows-x86_64": { + "outputs": { + "bin": false, + "dev": false, + "doc": false, + "lib": false, + "sample": false, + "static": false + } + } + }, + "nvidia_driver": { + "linux-ppc64le": { + "outputs": { + "bin": true, + "dev": false, + "doc": false, + "lib": true, + "sample": false, + "static": false + } + }, + "linux-sbsa": { + "outputs": { + "bin": true, + "dev": false, + "doc": false, + "lib": true, + "sample": false, + "static": false + } + }, + "linux-x86_64": { + "outputs": { + "bin": true, + "dev": false, + "doc": false, + "lib": true, + "sample": false, + "static": false + } + } + }, + "nvidia_fs": { + "linux-aarch64": { + "outputs": { + "bin": false, + "dev": false, + "doc": false, + "lib": false, + "sample": false, + "static": false + } + }, + "linux-sbsa": { + "outputs": { + "bin": false, + "dev": false, + "doc": false, + "lib": false, + "sample": false, + "static": false + } + }, + "linux-x86_64": { + "outputs": { + "bin": false, + "dev": false, + "doc": false, + "lib": false, + "sample": false, + "static": false + } + } + }, + "visual_studio_integration": { + "windows-x86_64": { + "outputs": { + "bin": false, + "dev": false, + "doc": false, + "lib": false, + "sample": false, + "static": false + } + } + } +} diff --git a/pkgs/development/cuda-modules/cuda/manifests/redistrib_12.4.0.json b/pkgs/development/cuda-modules/cuda/manifests/redistrib_12.4.0.json new file mode 100644 index 000000000000..6eca2bee6106 --- /dev/null +++ b/pkgs/development/cuda-modules/cuda/manifests/redistrib_12.4.0.json @@ -0,0 +1,1205 @@ +{ + "release_date": "2024-03-05", + "release_label": "12.4.0", + "release_product": "cuda", + "cuda_cccl": { + "name": "CXX Core Compute Libraries", + "license": "CUDA Toolkit", + "license_path": "cuda_cccl/LICENSE.txt", + "version": "12.4.99", + "linux-x86_64": { + "relative_path": "cuda_cccl/linux-x86_64/cuda_cccl-linux-x86_64-12.4.99-archive.tar.xz", + "sha256": "d264448e35b319d56442dc2d10300bc4e3e57eae261f41d56787649f40800ede", + "md5": "fa15cfe529efe10e72c8f4948ff2a524", + "size": "1158600" + }, + "linux-ppc64le": { + "relative_path": "cuda_cccl/linux-ppc64le/cuda_cccl-linux-ppc64le-12.4.99-archive.tar.xz", + "sha256": "5fc8967116f474889e475925d85ac498698f51dcf627abd91ae395282daf0b97", + "md5": "7cc6185fa26de620e20c5ff2a01324bc", + "size": "1158888" + }, + "linux-sbsa": { + "relative_path": "cuda_cccl/linux-sbsa/cuda_cccl-linux-sbsa-12.4.99-archive.tar.xz", + "sha256": "768604a77ea563a2aad0c4986b907a58711baa094fd29d1c9d106df67afd0a30", + "md5": "90eed77ee97ad5f4454a0563e317842c", + "size": "1157980" + }, + "windows-x86_64": { + "relative_path": "cuda_cccl/windows-x86_64/cuda_cccl-windows-x86_64-12.4.99-archive.zip", + "sha256": "6c08a5fb2bace6bc0db853dd3ea59d040cc2498b47ed98e63e0ffffa4da00caa", + "md5": "6a5656ccb83b151266909a104d2d864a", + "size": "3167046" + }, + "linux-aarch64": { + "relative_path": "cuda_cccl/linux-aarch64/cuda_cccl-linux-aarch64-12.4.99-archive.tar.xz", + "sha256": "4bdd3dcb1ec37cebc4c075be8797b1fce9aca09196330065826e23188f7eaa84", + "md5": "42924698fd8e9c4160fc34c82d30a0eb", + "size": "1158824" + } + }, + "cuda_compat": { + "name": "CUDA compat L4T", + "license": "CUDA Toolkit", + "license_path": "cuda_compat/LICENSE.txt", + "version": "12.4.35475792", + "linux-aarch64": { + "relative_path": "cuda_compat/linux-aarch64/cuda_compat-linux-aarch64-12.4.35475792-archive.tar.xz", + "sha256": "be036fd6b3d99c850f56fa5c6d555eba578b6a0cd15d4e218f6510d023ff53e2", + "md5": "5fb31613f76c0f19ff961e6653bb6b78", + "size": "19184668" + } + }, + "cuda_cudart": { + "name": "CUDA Runtime (cudart)", + "license": "CUDA Toolkit", + "license_path": "cuda_cudart/LICENSE.txt", + "version": "12.4.99", + "linux-x86_64": { + "relative_path": "cuda_cudart/linux-x86_64/cuda_cudart-linux-x86_64-12.4.99-archive.tar.xz", + "sha256": "dc126fb171d996c495756d44d565f7dd927245cbdc7191b9f8d5075d09ada699", + "md5": "e7e92cb8df507755853c9caffcaebdc6", + "size": "1100116" + }, + "linux-ppc64le": { + "relative_path": "cuda_cudart/linux-ppc64le/cuda_cudart-linux-ppc64le-12.4.99-archive.tar.xz", + "sha256": "129451060d510965a382707447cb93c9cb6d886a36c5e3b55a824711e9166b2c", + "md5": "401757c41d595b1d26d40f11dc25e59d", + "size": "1077252" + }, + "linux-sbsa": { + "relative_path": "cuda_cudart/linux-sbsa/cuda_cudart-linux-sbsa-12.4.99-archive.tar.xz", + "sha256": "5bb3b037be5c175679f9de8469f8701ccff48014c9fb3d7310d6cc5fbc57cc0b", + "md5": "a3f402e8214aa86e51c3c0c2aff776a0", + "size": "1088524" + }, + "windows-x86_64": { + "relative_path": "cuda_cudart/windows-x86_64/cuda_cudart-windows-x86_64-12.4.99-archive.zip", + "sha256": "1034ca43da4afbc79f69269cc60dc081de631e1c0d229d60f045d9516409317a", + "md5": "8822bb0dc8066daa9a88c4a3a934f804", + "size": "2474121" + }, + "linux-aarch64": { + "relative_path": "cuda_cudart/linux-aarch64/cuda_cudart-linux-aarch64-12.4.99-archive.tar.xz", + "sha256": "d10cbf2a7b545867eaeca0e04b2f124ff8f5a45c6689d75c8d86971b7813f941", + "md5": "6d1f8f3b02a910ac19cddb1bb5654c3e", + "size": "1149764" + } + }, + "cuda_cuobjdump": { + "name": "cuobjdump", + "license": "CUDA Toolkit", + "license_path": "cuda_cuobjdump/LICENSE.txt", + "version": "12.4.99", + "linux-x86_64": { + "relative_path": "cuda_cuobjdump/linux-x86_64/cuda_cuobjdump-linux-x86_64-12.4.99-archive.tar.xz", + "sha256": "2f0ece49051460b493384f80239ab1345b0dc4bce169a3261fd070d1465a7089", + "md5": "65c6a7392f308b70d1b936d370e36f8a", + "size": "221768" + }, + "linux-ppc64le": { + "relative_path": "cuda_cuobjdump/linux-ppc64le/cuda_cuobjdump-linux-ppc64le-12.4.99-archive.tar.xz", + "sha256": "eda005b8d78e4e260ee5fb03c1776b9c7c1c6736b28de6553897a501d14715b7", + "md5": "4fddebfaf99364440bf4286e78130703", + "size": "262848" + }, + "linux-sbsa": { + "relative_path": "cuda_cuobjdump/linux-sbsa/cuda_cuobjdump-linux-sbsa-12.4.99-archive.tar.xz", + "sha256": "52a344b372598a305199047f280e360fc45f95192b6d544340587c05acaa74a5", + "md5": "88f325ca2bbf6e86d0aeb6d4dae60d93", + "size": "214060" + }, + "windows-x86_64": { + "relative_path": "cuda_cuobjdump/windows-x86_64/cuda_cuobjdump-windows-x86_64-12.4.99-archive.zip", + "sha256": "4280af9aca3351b4b3ce8962c76bd446b9aff1617698c0cf178e13df78bda8ab", + "md5": "589216d97f1a4b1d1ceed86bec2c9092", + "size": "4172193" + }, + "linux-aarch64": { + "relative_path": "cuda_cuobjdump/linux-aarch64/cuda_cuobjdump-linux-aarch64-12.4.99-archive.tar.xz", + "sha256": "3d93a21f927c54ba1a710aab43e9d1979dcc39a42bdf0dbf80c8256d8073bc6f", + "md5": "810011595133fd97735b377637b2056d", + "size": "197312" + } + }, + "cuda_cupti": { + "name": "CUPTI", + "license": "CUDA Toolkit", + "license_path": "cuda_cupti/LICENSE.txt", + "version": "12.4.99", + "linux-x86_64": { + "relative_path": "cuda_cupti/linux-x86_64/cuda_cupti-linux-x86_64-12.4.99-archive.tar.xz", + "sha256": "71c8ff1deb26970bcb0256e32a1ff86fd8d4b2687ff0f8db377cb431d6f3efd8", + "md5": "81621314ef10370979a5fb85000ad69d", + "size": "20669764" + }, + "linux-ppc64le": { + "relative_path": "cuda_cupti/linux-ppc64le/cuda_cupti-linux-ppc64le-12.4.99-archive.tar.xz", + "sha256": "6180125bef2b6274126bddc4d9f6448397112a37152b7a352ff8e3dda35bb435", + "md5": "233b447ec5e9c6e6d725e4a70c499bef", + "size": "12096876" + }, + "linux-sbsa": { + "relative_path": "cuda_cupti/linux-sbsa/cuda_cupti-linux-sbsa-12.4.99-archive.tar.xz", + "sha256": "3e705b3df0c8dbe697955a85557fa921de5ab49db6e0f72d1ff54629d306d566", + "md5": "74953f9ab176527728e442a240ab53f2", + "size": "11191580" + }, + "windows-x86_64": { + "relative_path": "cuda_cupti/windows-x86_64/cuda_cupti-windows-x86_64-12.4.99-archive.zip", + "sha256": "532118bdcf168d80e634daf1407a9819a46e9d6ded180eaae02758565d1a429a", + "md5": "3d9fc07bc998b8699e0917a2bd20f57e", + "size": "14918285" + }, + "linux-aarch64": { + "relative_path": "cuda_cupti/linux-aarch64/cuda_cupti-linux-aarch64-12.4.99-archive.tar.xz", + "sha256": "cbd1611b73d2b033b7175135395a78de2a1299724a13b4cae7d6df97d304aadc", + "md5": "a87a352349d2e50e465c7fae0ed32292", + "size": "7940736" + } + }, + "cuda_cuxxfilt": { + "name": "CUDA cuxxfilt (demangler)", + "license": "CUDA Toolkit", + "license_path": "cuda_cuxxfilt/LICENSE.txt", + "version": "12.4.99", + "linux-x86_64": { + "relative_path": "cuda_cuxxfilt/linux-x86_64/cuda_cuxxfilt-linux-x86_64-12.4.99-archive.tar.xz", + "sha256": "d3f48edada5b42d100c899e034c524ffb2d2399b9cf97ea2b17b574e30dfc5ed", + "md5": "65fa11aa34008b888a929066f1d7982b", + "size": "187648" + }, + "linux-ppc64le": { + "relative_path": "cuda_cuxxfilt/linux-ppc64le/cuda_cuxxfilt-linux-ppc64le-12.4.99-archive.tar.xz", + "sha256": "8b88a7183c4d72d77dea9bacb75867a0f553bbe491ea874cf9aee0e0cc45203f", + "md5": "be345279946d3372af723f73059b4fca", + "size": "182924" + }, + "linux-sbsa": { + "relative_path": "cuda_cuxxfilt/linux-sbsa/cuda_cuxxfilt-linux-sbsa-12.4.99-archive.tar.xz", + "sha256": "e6bea033cbd6e184e5c43f63d4d574e858e637fabc38e2aeb0a715ff2e6b56c1", + "md5": "f9a34de4718b40ff5d51562d5d790123", + "size": "175968" + }, + "windows-x86_64": { + "relative_path": "cuda_cuxxfilt/windows-x86_64/cuda_cuxxfilt-windows-x86_64-12.4.99-archive.zip", + "sha256": "2b4cab8280935784222d67015bac5227e23e85cdad59a7cd1f3bd2eb93dc9951", + "md5": "2177e030aed160fb3ebc5815f76e99a7", + "size": "170575" + }, + "linux-aarch64": { + "relative_path": "cuda_cuxxfilt/linux-aarch64/cuda_cuxxfilt-linux-aarch64-12.4.99-archive.tar.xz", + "sha256": "9620d325c39bcd2d9682aa2309a770510cec193d2ab4fe6941f9ef62eb46d851", + "md5": "774c15c82b12421a6c6b8dd7aa744a7c", + "size": "170336" + } + }, + "cuda_demo_suite": { + "name": "CUDA Demo Suite", + "license": "CUDA Toolkit", + "license_path": "cuda_demo_suite/LICENSE.txt", + "version": "12.4.99", + "linux-x86_64": { + "relative_path": "cuda_demo_suite/linux-x86_64/cuda_demo_suite-linux-x86_64-12.4.99-archive.tar.xz", + "sha256": "3f0403d68fba3d3c4a351628b8fb1224d8ff9e639db11c7cc8f857e358164125", + "md5": "aae29a2d3f2cea2cbdf66eab17abb24c", + "size": "4006740" + }, + "windows-x86_64": { + "relative_path": "cuda_demo_suite/windows-x86_64/cuda_demo_suite-windows-x86_64-12.4.99-archive.zip", + "sha256": "a52219a626c2de19ebe64481e54c2cef25b368ea0e1acb28f6e27c40b3c48269", + "md5": "1c154090dfc3f0574b5494f014ca6ef2", + "size": "5063868" + } + }, + "cuda_documentation": { + "name": "CUDA Documentation", + "license": "CUDA Toolkit", + "license_path": "cuda_documentation/LICENSE.txt", + "version": "12.4.99", + "linux-x86_64": { + "relative_path": "cuda_documentation/linux-x86_64/cuda_documentation-linux-x86_64-12.4.99-archive.tar.xz", + "sha256": "a0aef754ea9c33e68358fec97837576692f3902f0278a2460e0c192279b5d1ed", + "md5": "b807d4f8728511cf31140f6bfd77af39", + "size": "67120" + }, + "linux-ppc64le": { + "relative_path": "cuda_documentation/linux-ppc64le/cuda_documentation-linux-ppc64le-12.4.99-archive.tar.xz", + "sha256": "21b75b76f8201f76d5dcda7c56eb4a636a359b7544119ddfab26a36d48838ead", + "md5": "e3a398ca7539b05ef0a96ff991246596", + "size": "67212" + }, + "linux-sbsa": { + "relative_path": "cuda_documentation/linux-sbsa/cuda_documentation-linux-sbsa-12.4.99-archive.tar.xz", + "sha256": "03c66c3905c5cbdb5ae86666ab2a5e1f971f5e199514a53e81662752a4b0c880", + "md5": "8506975f62b544631e824d3b9cd7e5d9", + "size": "67344" + }, + "windows-x86_64": { + "relative_path": "cuda_documentation/windows-x86_64/cuda_documentation-windows-x86_64-12.4.99-archive.zip", + "sha256": "64642451a35e00997b817bc5e83b2dee42d07afe3e778a5dd9d3747ec0cbba76", + "md5": "457506380c256ef935497135253d8779", + "size": "105658" + }, + "linux-aarch64": { + "relative_path": "cuda_documentation/linux-aarch64/cuda_documentation-linux-aarch64-12.4.99-archive.tar.xz", + "sha256": "5fd182c8a45e9e8592def056809680c377f4941a484e5b55db831f45630f502b", + "md5": "21c04c1d16d842c629d0dfbedeb73475", + "size": "67068" + } + }, + "cuda_gdb": { + "name": "CUDA GDB", + "license": "CUDA Toolkit", + "license_path": "cuda_gdb/LICENSE.txt", + "version": "12.4.99", + "linux-x86_64": { + "relative_path": "cuda_gdb/linux-x86_64/cuda_gdb-linux-x86_64-12.4.99-archive.tar.xz", + "sha256": "998b02f7d8b887036f6e5a25fe0a13e274bed882bcb716692f52650a17b31bf5", + "md5": "b45b0b34fef5bef63ea125c08aa5fb9c", + "size": "44060004" + }, + "linux-ppc64le": { + "relative_path": "cuda_gdb/linux-ppc64le/cuda_gdb-linux-ppc64le-12.4.99-archive.tar.xz", + "sha256": "d132904eba595916a347cbb6d7c61ec11c3003a4e5d795aaf8f04731432a3472", + "md5": "8261a5e017e039b025aacd9dc5140e14", + "size": "43766332" + }, + "linux-sbsa": { + "relative_path": "cuda_gdb/linux-sbsa/cuda_gdb-linux-sbsa-12.4.99-archive.tar.xz", + "sha256": "4f3f12892acdc8b9d80cb48b538012ea92a247921b38492964219ad4e5332457", + "md5": "8468767b6317780970ef10cd43bd473e", + "size": "43745620" + }, + "linux-aarch64": { + "relative_path": "cuda_gdb/linux-aarch64/cuda_gdb-linux-aarch64-12.4.99-archive.tar.xz", + "sha256": "8d8443114e9c92d636a4204b9d2cd575a7c7dd9c2f48d08d8ffdd1341a9e891c", + "md5": "077817ae85d70f8926f62e972f8b5d71", + "size": "43677832" + } + }, + "cuda_nsight": { + "name": "Nsight Eclipse Edition Plugin", + "license": "CUDA Toolkit", + "license_path": "cuda_nsight/LICENSE.txt", + "version": "12.4.99", + "linux-x86_64": { + "relative_path": "cuda_nsight/linux-x86_64/cuda_nsight-linux-x86_64-12.4.99-archive.tar.xz", + "sha256": "4139a121e4f37e1415dfbc15686753089be29ffcb58c0bc8ab73d73baed7c838", + "md5": "36643078c6d36440a960a38be97c2357", + "size": "118685676" + }, + "linux-ppc64le": { + "relative_path": "cuda_nsight/linux-ppc64le/cuda_nsight-linux-ppc64le-12.4.99-archive.tar.xz", + "sha256": "10801eea3c3c9e7d908d0c5c8a69df72b6d40a350d0df7501832dbe20673bdef", + "md5": "338ff305a3b6cc3f48e356fdbb565e0d", + "size": "118685704" + } + }, + "cuda_nvcc": { + "name": "CUDA NVCC", + "license": "CUDA Toolkit", + "license_path": "cuda_nvcc/LICENSE.txt", + "version": "12.4.99", + "linux-x86_64": { + "relative_path": "cuda_nvcc/linux-x86_64/cuda_nvcc-linux-x86_64-12.4.99-archive.tar.xz", + "sha256": "9ec3199cb6e8ec2a3b3336bf120690e534aee8ab5ddc3ca51e0a01aad9494f48", + "md5": "b3cc5fabe05528c75109b05ce4190ee1", + "size": "51151468" + }, + "linux-ppc64le": { + "relative_path": "cuda_nvcc/linux-ppc64le/cuda_nvcc-linux-ppc64le-12.4.99-archive.tar.xz", + "sha256": "3da7995480715fc30a3dd7bab698cd24e9a91418d9b9c1d4f2051f4302be0e46", + "md5": "42e658fe190d3947d7cdf7681224481b", + "size": "45857516" + }, + "linux-sbsa": { + "relative_path": "cuda_nvcc/linux-sbsa/cuda_nvcc-linux-sbsa-12.4.99-archive.tar.xz", + "sha256": "cc31691a8af2a5ae27576a4f20366f38f388c6182389fa162c8bc91a7d47aa0d", + "md5": "eef2e59cb98ae514329faceba89c40bd", + "size": "44904576" + }, + "windows-x86_64": { + "relative_path": "cuda_nvcc/windows-x86_64/cuda_nvcc-windows-x86_64-12.4.99-archive.zip", + "sha256": "34f7d7e7843e3a95b35b1d697ea054765edccc73c6b31787a5b68d2261154d2c", + "md5": "49e5e0dddea537e7474c3e6836fe00d3", + "size": "63639152" + }, + "linux-aarch64": { + "relative_path": "cuda_nvcc/linux-aarch64/cuda_nvcc-linux-aarch64-12.4.99-archive.tar.xz", + "sha256": "1c1bf21d8f63651a115619617d9a27e4331f19abac763e3076f062dc52810816", + "md5": "107daf4cc60b9de97ab1665e4d36e978", + "size": "46389888" + } + }, + "cuda_nvdisasm": { + "name": "CUDA nvdisasm", + "license": "CUDA Toolkit", + "license_path": "cuda_nvdisasm/LICENSE.txt", + "version": "12.4.99", + "linux-x86_64": { + "relative_path": "cuda_nvdisasm/linux-x86_64/cuda_nvdisasm-linux-x86_64-12.4.99-archive.tar.xz", + "sha256": "059d82e2e804269b5f0161c91f6d875262f728c2b3a29c2600eee97a8d85aa13", + "md5": "180d2f92db6d53d823d2654fa2333415", + "size": "49893884" + }, + "linux-ppc64le": { + "relative_path": "cuda_nvdisasm/linux-ppc64le/cuda_nvdisasm-linux-ppc64le-12.4.99-archive.tar.xz", + "sha256": "b2498702b99ed3ec31e65cf5df2a837a88de43a44d39f51091b409aeb76a9b38", + "md5": "c09e80a99cb07067965d11287e4feb55", + "size": "49880828" + }, + "linux-sbsa": { + "relative_path": "cuda_nvdisasm/linux-sbsa/cuda_nvdisasm-linux-sbsa-12.4.99-archive.tar.xz", + "sha256": "83c1ff0fa2c861778ff799726da403d4c65a9c490b5c3761aaf6d47ececa9618", + "md5": "090fc5302e69cbba7d0e9b95be6bd55f", + "size": "49808172" + }, + "windows-x86_64": { + "relative_path": "cuda_nvdisasm/windows-x86_64/cuda_nvdisasm-windows-x86_64-12.4.99-archive.zip", + "sha256": "6c25db1da8b807f105bde8fe83702370a9141ba3c030ed6e20c25564cad8725c", + "md5": "1587dc97548c06c0e69dd407b7666363", + "size": "50146538" + }, + "linux-aarch64": { + "relative_path": "cuda_nvdisasm/linux-aarch64/cuda_nvdisasm-linux-aarch64-12.4.99-archive.tar.xz", + "sha256": "5bcb9081b414d7ea0a5e0d539a6550a5af7e76d366da363a5953f039db63078f", + "md5": "5c1c4eec1e613147dcdbe1c8b33b4e96", + "size": "49819116" + } + }, + "cuda_nvml_dev": { + "name": "CUDA NVML Headers", + "license": "CUDA Toolkit", + "license_path": "cuda_nvml_dev/LICENSE.txt", + "version": "12.4.99", + "linux-x86_64": { + "relative_path": "cuda_nvml_dev/linux-x86_64/cuda_nvml_dev-linux-x86_64-12.4.99-archive.tar.xz", + "sha256": "fe4b7ffe5660dacca6d1d84cfa3200c0546df307450225c6bc3cd64d1b67402a", + "md5": "70b84c24fdb9a632f27652157342f057", + "size": "142712" + }, + "linux-ppc64le": { + "relative_path": "cuda_nvml_dev/linux-ppc64le/cuda_nvml_dev-linux-ppc64le-12.4.99-archive.tar.xz", + "sha256": "95ff7fe43fe1c9d1951e005555c65a693ba729ec5e9f677f6110eb14b72df72c", + "md5": "c957e28a428742a8f87a695c49f5da9f", + "size": "139160" + }, + "linux-sbsa": { + "relative_path": "cuda_nvml_dev/linux-sbsa/cuda_nvml_dev-linux-sbsa-12.4.99-archive.tar.xz", + "sha256": "167bad08c50312900c099168764b3cf582018eed7db7b180dca85e1b240053d3", + "md5": "a0aed7b8a1469f52d050178e72e72e4e", + "size": "144080" + }, + "windows-x86_64": { + "relative_path": "cuda_nvml_dev/windows-x86_64/cuda_nvml_dev-windows-x86_64-12.4.99-archive.zip", + "sha256": "37aa58532924573e5d9227be92fead96db73cd470af6ce809e3a2b6cd3ee7a82", + "md5": "f1b8621e50378e391c0ca19896eb752e", + "size": "127237" + }, + "linux-aarch64": { + "relative_path": "cuda_nvml_dev/linux-aarch64/cuda_nvml_dev-linux-aarch64-12.4.99-archive.tar.xz", + "sha256": "c0a819e0cb5fb6a12aea1409a0fd9bca9fbc3d14d035091fd0bb9fb0a6a144b7", + "md5": "32a58420fe3df6ce4544c1456c731995", + "size": "142788" + } + }, + "cuda_nvprof": { + "name": "CUDA nvprof", + "license": "CUDA Toolkit", + "license_path": "cuda_nvprof/LICENSE.txt", + "version": "12.4.99", + "linux-x86_64": { + "relative_path": "cuda_nvprof/linux-x86_64/cuda_nvprof-linux-x86_64-12.4.99-archive.tar.xz", + "sha256": "04ec32d23c66921672abe142b3f9c2af9be946e9f35cd31eee65e6bd3a5497bc", + "md5": "aa9eab3caef091cfaff8f0ecf9378b51", + "size": "2434912" + }, + "linux-ppc64le": { + "relative_path": "cuda_nvprof/linux-ppc64le/cuda_nvprof-linux-ppc64le-12.4.99-archive.tar.xz", + "sha256": "fe61f1e417fe1cb9a1ac6401928b80ee172950f8a67029420209c47a04647f2b", + "md5": "f669f919341a00a32ea77a58a7ee1946", + "size": "2116024" + }, + "windows-x86_64": { + "relative_path": "cuda_nvprof/windows-x86_64/cuda_nvprof-windows-x86_64-12.4.99-archive.zip", + "sha256": "8f5b6d53ba0dc397f1beedf35801d31b23d054ad42e7891cec47066dd1c542c9", + "md5": "ba5857ac6185d98a5b3d42c5b0a324a5", + "size": "1701797" + } + }, + "cuda_nvprune": { + "name": "CUDA nvprune", + "license": "CUDA Toolkit", + "license_path": "cuda_nvprune/LICENSE.txt", + "version": "12.4.99", + "linux-x86_64": { + "relative_path": "cuda_nvprune/linux-x86_64/cuda_nvprune-linux-x86_64-12.4.99-archive.tar.xz", + "sha256": "0ac97fb4acfb957d41199ee1f9e4d1dd07a1af253d2d76b63c83665d6dcf3d7d", + "md5": "bbb3b59b89626e25a0ceb29c0592d8c6", + "size": "56448" + }, + "linux-ppc64le": { + "relative_path": "cuda_nvprune/linux-ppc64le/cuda_nvprune-linux-ppc64le-12.4.99-archive.tar.xz", + "sha256": "e262654aa69668fb86cae73936ea269efc2a360bf2cfab86d57e5e13f61e985b", + "md5": "d177dc1b03beb77a0066492791f6509d", + "size": "57076" + }, + "linux-sbsa": { + "relative_path": "cuda_nvprune/linux-sbsa/cuda_nvprune-linux-sbsa-12.4.99-archive.tar.xz", + "sha256": "008932c8ba93ced7bde5f76581ada8c76a90229fbe6f53a738f4c49ff104954b", + "md5": "1b02efffff781dd786a4a13f7044092e", + "size": "48408" + }, + "windows-x86_64": { + "relative_path": "cuda_nvprune/windows-x86_64/cuda_nvprune-windows-x86_64-12.4.99-archive.zip", + "sha256": "f0bf168e1f52ca727330d60c32828f2cc134d46e44334942f614d34157cf21c7", + "md5": "0d32d4b039e377b80704caeb0283da21", + "size": "146229" + }, + "linux-aarch64": { + "relative_path": "cuda_nvprune/linux-aarch64/cuda_nvprune-linux-aarch64-12.4.99-archive.tar.xz", + "sha256": "145f54928bddaf4cbf9bf3032d914e22f436d1a97f03eb1add61393c5bd14079", + "md5": "35a1161a88d224b2f4a8f3af55f79875", + "size": "50176" + } + }, + "cuda_nvrtc": { + "name": "CUDA NVRTC", + "license": "CUDA Toolkit", + "license_path": "cuda_nvrtc/LICENSE.txt", + "version": "12.4.99", + "linux-x86_64": { + "relative_path": "cuda_nvrtc/linux-x86_64/cuda_nvrtc-linux-x86_64-12.4.99-archive.tar.xz", + "sha256": "19746bd29e151e1e6d1ce7371a30b5218fe150d2a911466c9ae0c382b37886ea", + "md5": "5d7e774a1693e83d87ab01eb651601ad", + "size": "33886512" + }, + "linux-ppc64le": { + "relative_path": "cuda_nvrtc/linux-ppc64le/cuda_nvrtc-linux-ppc64le-12.4.99-archive.tar.xz", + "sha256": "906f245862d977c16698c9e29ced152d997626b2c437fac3017b5e7f54af1347", + "md5": "76436c8c192d8c06c2f9866f6e8b6d0f", + "size": "31418692" + }, + "linux-sbsa": { + "relative_path": "cuda_nvrtc/linux-sbsa/cuda_nvrtc-linux-sbsa-12.4.99-archive.tar.xz", + "sha256": "996355a7d575de0665cdf4d0800c21b61d864f9e030fb75bc6390d450631d904", + "md5": "c2f83d7ab6d02fc72942db9a4d335e72", + "size": "31405040" + }, + "windows-x86_64": { + "relative_path": "cuda_nvrtc/windows-x86_64/cuda_nvrtc-windows-x86_64-12.4.99-archive.zip", + "sha256": "807c060bbe5175d325d3334fd64fd73d01741a99c65a7460dda74588defdde2a", + "md5": "8c6362dd4211a63d79f43f6d51e9c329", + "size": "101920164" + }, + "linux-aarch64": { + "relative_path": "cuda_nvrtc/linux-aarch64/cuda_nvrtc-linux-aarch64-12.4.99-archive.tar.xz", + "sha256": "98efc14854a9a4febb15ce8f49cce8fca31b4d1ba0ff88b9e0fac93bbdd351b4", + "md5": "13144b1cece0ae38c063b492df6e2f48", + "size": "32682952" + } + }, + "cuda_nvtx": { + "name": "CUDA NVTX", + "license": "CUDA Toolkit", + "license_path": "cuda_nvtx/LICENSE.txt", + "version": "12.4.99", + "linux-x86_64": { + "relative_path": "cuda_nvtx/linux-x86_64/cuda_nvtx-linux-x86_64-12.4.99-archive.tar.xz", + "sha256": "2467aef6a8694b863bce8a34534048139e97501a572266f9e146aef92252fc84", + "md5": "176f6c101cd3d09c5957fd3dd1b0c5bb", + "size": "48480" + }, + "linux-ppc64le": { + "relative_path": "cuda_nvtx/linux-ppc64le/cuda_nvtx-linux-ppc64le-12.4.99-archive.tar.xz", + "sha256": "55b4b4bae82745274267614fa6369c417c3d1f6e6b0ec4c93e382172eeed617c", + "md5": "93adfac756537f4921d7df5b27338d5e", + "size": "48544" + }, + "linux-sbsa": { + "relative_path": "cuda_nvtx/linux-sbsa/cuda_nvtx-linux-sbsa-12.4.99-archive.tar.xz", + "sha256": "b3d218f48a1dd1a9ea5d6bb689455f796a3a5b0157d82fbec140540ceaf51bfc", + "md5": "a0ea11a872cb3cf1a41cba3573dd81e6", + "size": "49076" + }, + "windows-x86_64": { + "relative_path": "cuda_nvtx/windows-x86_64/cuda_nvtx-windows-x86_64-12.4.99-archive.zip", + "sha256": "3c594eabcfe76082f8b315c33e4af9e175af3cd4306a130f71bba5eac576eab2", + "md5": "95fda438f79060101674694983879cdb", + "size": "65854" + }, + "linux-aarch64": { + "relative_path": "cuda_nvtx/linux-aarch64/cuda_nvtx-linux-aarch64-12.4.99-archive.tar.xz", + "sha256": "b260a1f0b5a76dbfc1220569ecad09476d13b77607bdbbdac0ae93efd6393f98", + "md5": "adcca1df9e83ec7493fb37c32cc04ea0", + "size": "51704" + } + }, + "cuda_nvvp": { + "name": "CUDA NVVP", + "license": "CUDA Toolkit", + "license_path": "cuda_nvvp/LICENSE.txt", + "version": "12.4.99", + "linux-x86_64": { + "relative_path": "cuda_nvvp/linux-x86_64/cuda_nvvp-linux-x86_64-12.4.99-archive.tar.xz", + "sha256": "607ab00d63d8b431fa5a916b64330bb5a37f211c5f950a5ff00dce17cffea403", + "md5": "9957be40ff7ea125f81a2a3974386b14", + "size": "117721740" + }, + "linux-ppc64le": { + "relative_path": "cuda_nvvp/linux-ppc64le/cuda_nvvp-linux-ppc64le-12.4.99-archive.tar.xz", + "sha256": "0561527b9a4a62078d4a0c8ee5f114d401ef6d37d72705ed248248a2c3eb48b0", + "md5": "2f2446f1b88d1c5e9d186d3407d87742", + "size": "117132020" + }, + "windows-x86_64": { + "relative_path": "cuda_nvvp/windows-x86_64/cuda_nvvp-windows-x86_64-12.4.99-archive.zip", + "sha256": "85850af1bbc558ea58d79a34fca982c30e7c57bed07e4a2b9323e1e9c02539d3", + "md5": "326903fb2144c396a81643cd4901d710", + "size": "120341847" + } + }, + "cuda_opencl": { + "name": "CUDA OpenCL", + "license": "CUDA Toolkit", + "license_path": "cuda_opencl/LICENSE.txt", + "version": "12.4.99", + "linux-x86_64": { + "relative_path": "cuda_opencl/linux-x86_64/cuda_opencl-linux-x86_64-12.4.99-archive.tar.xz", + "sha256": "18162e65bee18072c3f561a8a00396b5d621ca7b88baa528237e3ab3607c577b", + "md5": "01e207250ac0a5e2f19f3b86bb8d15ca", + "size": "91580" + }, + "windows-x86_64": { + "relative_path": "cuda_opencl/windows-x86_64/cuda_opencl-windows-x86_64-12.4.99-archive.zip", + "sha256": "4fe3c68b83a2e8667e48557c5e74c54ea87cd309484c0a0e39513abe02255edd", + "md5": "223143285232be077c87ab7e6493bcbe", + "size": "137003" + } + }, + "cuda_profiler_api": { + "name": "CUDA Profiler API", + "license": "CUDA Toolkit", + "license_path": "cuda_profiler_api/LICENSE.txt", + "version": "12.4.99", + "linux-x86_64": { + "relative_path": "cuda_profiler_api/linux-x86_64/cuda_profiler_api-linux-x86_64-12.4.99-archive.tar.xz", + "sha256": "62e2d50c2a688779e01be1743754b65fefee1197b07a21798ec3e936af971d91", + "md5": "8eb41befb1caf5c130064a00b19d296f", + "size": "16176" + }, + "linux-ppc64le": { + "relative_path": "cuda_profiler_api/linux-ppc64le/cuda_profiler_api-linux-ppc64le-12.4.99-archive.tar.xz", + "sha256": "544acb804b1191efaeb821be649390e33c55ac8639639ecbea4483e75ddfbcfd", + "md5": "73e01bf592ac8bc71fa8bfb7e85276f2", + "size": "16180" + }, + "linux-sbsa": { + "relative_path": "cuda_profiler_api/linux-sbsa/cuda_profiler_api-linux-sbsa-12.4.99-archive.tar.xz", + "sha256": "733544bc46044825073db3eb84e204aa538503d13b6783218735b9e059447dc6", + "md5": "01adf13cf177a6f31933c9ccbe0968a5", + "size": "16188" + }, + "windows-x86_64": { + "relative_path": "cuda_profiler_api/windows-x86_64/cuda_profiler_api-windows-x86_64-12.4.99-archive.zip", + "sha256": "9039b3113ff79589e9c9e8ee0dfd7069aec1965b426e2c5f77f1f78d7b6c5358", + "md5": "e50385286f5f97fb6c1f0813c123d483", + "size": "20222" + }, + "linux-aarch64": { + "relative_path": "cuda_profiler_api/linux-aarch64/cuda_profiler_api-linux-aarch64-12.4.99-archive.tar.xz", + "sha256": "1adec6ed4d3fe00b05cd38816aa1732e1ea2fc649b0481f5f1b66bbda620be98", + "md5": "5f55946141f026980e34fee1aa064cf9", + "size": "16176" + } + }, + "cuda_sanitizer_api": { + "name": "CUDA Compute Sanitizer API", + "license": "CUDA Toolkit", + "license_path": "cuda_sanitizer_api/LICENSE.txt", + "version": "12.4.99", + "linux-x86_64": { + "relative_path": "cuda_sanitizer_api/linux-x86_64/cuda_sanitizer_api-linux-x86_64-12.4.99-archive.tar.xz", + "sha256": "ef718e22a97ba76e58d02e7330b3a3437025b8a135eda57de942038c5148dee8", + "md5": "80d0ca0aa267fd2e2b89f84c862b3654", + "size": "8234544" + }, + "linux-ppc64le": { + "relative_path": "cuda_sanitizer_api/linux-ppc64le/cuda_sanitizer_api-linux-ppc64le-12.4.99-archive.tar.xz", + "sha256": "5606844e8ce731dbd00d86a8923c4ea5840133a2e17cd32a2ea1387cbe614cf7", + "md5": "9fc898605a7191600f88d35d5b199616", + "size": "7741460" + }, + "linux-sbsa": { + "relative_path": "cuda_sanitizer_api/linux-sbsa/cuda_sanitizer_api-linux-sbsa-12.4.99-archive.tar.xz", + "sha256": "b2883c50cf59367639ec032622ca02c6f0dc69a0003fcb2535c59b4a501ad732", + "md5": "8c40a592e32a1af1e71a18c201823e08", + "size": "6368004" + }, + "windows-x86_64": { + "relative_path": "cuda_sanitizer_api/windows-x86_64/cuda_sanitizer_api-windows-x86_64-12.4.99-archive.zip", + "sha256": "2a1d9543fd95e5a7d4b3cd11e56c2d02705e0bab22acfdad72696803580e74b1", + "md5": "db698242bf3844af224403cb63d69f0f", + "size": "14136237" + }, + "linux-aarch64": { + "relative_path": "cuda_sanitizer_api/linux-aarch64/cuda_sanitizer_api-linux-aarch64-12.4.99-archive.tar.xz", + "sha256": "b48f6579cead06b147c28db0a9448a85c679188b339efe431e5cc2c673d66e26", + "md5": "99b447f1ca4fe11e6ef3913215d3a914", + "size": "3729852" + } + }, + "fabricmanager": { + "name": "NVIDIA Fabric Manager", + "license": "NVIDIA Driver", + "license_path": "fabricmanager/LICENSE.txt", + "version": "550.54.14", + "linux-x86_64": { + "relative_path": "fabricmanager/linux-x86_64/fabricmanager-linux-x86_64-550.54.14-archive.tar.xz", + "sha256": "e8637797d0aabf705583c8156131030b37d814eacf0a525d0bc8fdac4ae9db5d", + "md5": "f0c2c0091d494c39472279473dafae4c", + "size": "5785548" + }, + "linux-sbsa": { + "relative_path": "fabricmanager/linux-sbsa/fabricmanager-linux-sbsa-550.54.14-archive.tar.xz", + "sha256": "0014ae3ea1d8ba4d8a0feb60b53099dce68d12acdaba5e595fce48a689ac581f", + "md5": "1f8c99c257eecd3311794251db24bef0", + "size": "5216692" + } + }, + "imex": { + "name": "Imex", + "license": "NVIDIA Proprietary", + "license_path": "imex/LICENSE.txt", + "version": "550.54.14", + "linux-x86_64": { + "relative_path": "imex/linux-x86_64/imex-linux-x86_64-550.54.14-archive.tar.xz", + "sha256": "145239d60893b94ba88a20aa7e52bcff6d76ac8702addbe66e63d30dcfec5a87", + "md5": "fc6843c64cd5e74b745eb1a3d25876fd", + "size": "7299392" + }, + "linux-sbsa": { + "relative_path": "imex/linux-sbsa/imex-linux-sbsa-550.54.14-archive.tar.xz", + "sha256": "c237e1e8deecc5e797bcdd9f7d3eb3cba4894161ebe1e3b9330eaef013721def", + "md5": "3ffffe89d46171a5fc02a8321402deb0", + "size": "6502300" + } + }, + "libcublas": { + "name": "CUDA cuBLAS", + "license": "CUDA Toolkit", + "license_path": "libcublas/LICENSE.txt", + "version": "12.4.2.65", + "linux-x86_64": { + "relative_path": "libcublas/linux-x86_64/libcublas-linux-x86_64-12.4.2.65-archive.tar.xz", + "sha256": "8f9ccae530410fe6d17eab5f5b594cfbef42c9781bf715520cc8221942fefe35", + "md5": "774a32472fd1280303fe3aae80841d73", + "size": "466144480" + }, + "linux-ppc64le": { + "relative_path": "libcublas/linux-ppc64le/libcublas-linux-ppc64le-12.4.2.65-archive.tar.xz", + "sha256": "7300ad784024f358138900e298c209c3da45cd0c365a58ec646aec91713d3e92", + "md5": "9ae6339414d31fe4e7322c3a690a5ecc", + "size": "357930096" + }, + "linux-sbsa": { + "relative_path": "libcublas/linux-sbsa/libcublas-linux-sbsa-12.4.2.65-archive.tar.xz", + "sha256": "189921983a0d994604bc15b23feadbec04afe0b07ddaba13917f22b4e5611f43", + "md5": "190edb27c6cf16edf49d3a89d719e5f0", + "size": "464682488" + }, + "windows-x86_64": { + "relative_path": "libcublas/windows-x86_64/libcublas-windows-x86_64-12.4.2.65-archive.zip", + "sha256": "4229d2b590e4382e1b36651dde644e04c5a8664f99f53bb43dca967982a84f58", + "md5": "776a960a11d212d4241bcc140127c4df", + "size": "391101865" + }, + "linux-aarch64": { + "relative_path": "libcublas/linux-aarch64/libcublas-linux-aarch64-12.4.2.65-archive.tar.xz", + "sha256": "855f8473b35be5817815dbd63e569c596733aac276f496a471000a4f2664612c", + "md5": "25e89e146cf3da92238fa4c247945285", + "size": "430119620" + } + }, + "libcudla": { + "name": "cuDLA", + "license": "CUDA Toolkit", + "license_path": "libcudla/LICENSE.txt", + "version": "12.4.99", + "linux-aarch64": { + "relative_path": "libcudla/linux-aarch64/libcudla-linux-aarch64-12.4.99-archive.tar.xz", + "sha256": "072d55e9b91d2b6c22af539a78af3107a8b0cd0b1280f83782e89be26af9887a", + "md5": "8e051a1eab2821ba95c98ad2650ca21c", + "size": "38552" + } + }, + "libcufft": { + "name": "CUDA cuFFT", + "license": "CUDA Toolkit", + "license_path": "libcufft/LICENSE.txt", + "version": "11.2.0.44", + "linux-x86_64": { + "relative_path": "libcufft/linux-x86_64/libcufft-linux-x86_64-11.2.0.44-archive.tar.xz", + "sha256": "092c1829bc5ca22762a0303f420c2632e52c1bf64dd119e94dac316b9cc9a9fe", + "md5": "78cd8f28a2d1c78ee0ba9444214a0f65", + "size": "509571100" + }, + "linux-ppc64le": { + "relative_path": "libcufft/linux-ppc64le/libcufft-linux-ppc64le-11.2.0.44-archive.tar.xz", + "sha256": "2b68795ce9027c56a63a02c5fc577d883af7f836edfb16bcd7095719b79ef3b8", + "md5": "734cd2241e0f3bc0c6ccdb31ac561790", + "size": "511058968" + }, + "linux-sbsa": { + "relative_path": "libcufft/linux-sbsa/libcufft-linux-sbsa-11.2.0.44-archive.tar.xz", + "sha256": "1669a510dcf342b3f8388f1ce8847fd56c781bc779d68cbce62368f31b412b74", + "md5": "7219515b024346ce635c7d58695da4d3", + "size": "509854528" + }, + "windows-x86_64": { + "relative_path": "libcufft/windows-x86_64/libcufft-windows-x86_64-11.2.0.44-archive.zip", + "sha256": "265761bc01bd1453a0c4f7427dbc301ee1a68cde57fd8b48ee1fc238ebe827d8", + "md5": "cb6824a34b693db704a86391131b031a", + "size": "209047123" + }, + "linux-aarch64": { + "relative_path": "libcufft/linux-aarch64/libcufft-linux-aarch64-11.2.0.44-archive.tar.xz", + "sha256": "14a22b65c67195161597757fff41f666fce76dd96868211d72330a087580f64e", + "md5": "eb090bd7c94be0b7ed2441149b2b04f2", + "size": "509586044" + } + }, + "libcufile": { + "name": "CUDA cuFile", + "license": "CUDA Toolkit", + "license_path": "libcufile/LICENSE.txt", + "version": "1.9.0.20", + "linux-x86_64": { + "relative_path": "libcufile/linux-x86_64/libcufile-linux-x86_64-1.9.0.20-archive.tar.xz", + "sha256": "6d087a5670d3a6e54429d670482db711824cffbd4b472ddea02fe19742d194ce", + "md5": "4ed19a8939d4f7089b9f0e988390b5c1", + "size": "41837504" + }, + "linux-sbsa": { + "relative_path": "libcufile/linux-sbsa/libcufile-linux-sbsa-1.9.0.20-archive.tar.xz", + "sha256": "3bdfcfff9c8190e0a7e7f399f17b0b291d5cc3755117e8e53671fedd7dd25de0", + "md5": "852dfa437ea6b9353b3ae8ab674e019f", + "size": "41286420" + }, + "linux-aarch64": { + "relative_path": "libcufile/linux-aarch64/libcufile-linux-aarch64-1.9.0.20-archive.tar.xz", + "sha256": "58712947fc5b068658842f0f2e1aba52700af7b30b27aaf97adbbc75909ecd33", + "md5": "d32415563155799a5f9ae38976a416e7", + "size": "41258792" + } + }, + "libcurand": { + "name": "CUDA cuRAND", + "license": "CUDA Toolkit", + "license_path": "libcurand/LICENSE.txt", + "version": "10.3.5.119", + "linux-x86_64": { + "relative_path": "libcurand/linux-x86_64/libcurand-linux-x86_64-10.3.5.119-archive.tar.xz", + "sha256": "371d1c4b648ee5a255872a974f50d98041b1eda135e2e629121b6b334e77b8b7", + "md5": "c6080dd06cf9a42e3b6be6eedca7c209", + "size": "81722636" + }, + "linux-ppc64le": { + "relative_path": "libcurand/linux-ppc64le/libcurand-linux-ppc64le-10.3.5.119-archive.tar.xz", + "sha256": "f912635b13f43c07976701220fc74af35f71b27e69071f0dae9a626fbba6eade", + "md5": "40587e25cfb6e7ac6740d3c47e0d6118", + "size": "81768728" + }, + "linux-sbsa": { + "relative_path": "libcurand/linux-sbsa/libcurand-linux-sbsa-10.3.5.119-archive.tar.xz", + "sha256": "18ffdc9e55b6cf58ab371b7847f0113a7bdf2673765f600cc957104c903f6897", + "md5": "ccd8a8628fe6cf4363bb884ec1dd89fa", + "size": "81711064" + }, + "windows-x86_64": { + "relative_path": "libcurand/windows-x86_64/libcurand-windows-x86_64-10.3.5.119-archive.zip", + "sha256": "f7c76fcc64112309a26d7725d3357e89be2cf2ac69ed90e5653f290ed8e39078", + "md5": "f8c97e5f197f538808d81957f97e8fcc", + "size": "55087995" + }, + "linux-aarch64": { + "relative_path": "libcurand/linux-aarch64/libcurand-linux-aarch64-10.3.5.119-archive.tar.xz", + "sha256": "6971636f49a4c0ea938492de76d12fd5c4691da20678943de834e6a6ca08c5a8", + "md5": "4cfdbb6bbf20fa2c5ab39ce0fd53c63f", + "size": "83933144" + } + }, + "libcusolver": { + "name": "CUDA cuSOLVER", + "license": "CUDA Toolkit", + "license_path": "libcusolver/LICENSE.txt", + "version": "11.6.0.99", + "linux-x86_64": { + "relative_path": "libcusolver/linux-x86_64/libcusolver-linux-x86_64-11.6.0.99-archive.tar.xz", + "sha256": "4331b4581cbe9e0bbb30e244337a410673f1d2f1284210868372968cdf183ff4", + "md5": "b10332d94b26faca3ca6677e30679df7", + "size": "127266044" + }, + "linux-ppc64le": { + "relative_path": "libcusolver/linux-ppc64le/libcusolver-linux-ppc64le-11.6.0.99-archive.tar.xz", + "sha256": "f55a832585e654f785484ce50b5860858dec804c874bea52856aac8e6aeaa186", + "md5": "a6861887ebc11bd8a125ae99e2fca402", + "size": "127712420" + }, + "linux-sbsa": { + "relative_path": "libcusolver/linux-sbsa/libcusolver-linux-sbsa-11.6.0.99-archive.tar.xz", + "sha256": "7fe5656d60997f6d090f8b54af72050dbece98cac88c541ae211b157aedc7502", + "md5": "23f1453e9619c4aa74b97298ee902a6d", + "size": "126508780" + }, + "windows-x86_64": { + "relative_path": "libcusolver/windows-x86_64/libcusolver-windows-x86_64-11.6.0.99-archive.zip", + "sha256": "bc800184054b7efecf8dd3c508f5333bdac7c39f271eaf3eaf3be0127fddad51", + "md5": "d0136a35b246abaee6a2224430691660", + "size": "124064129" + }, + "linux-aarch64": { + "relative_path": "libcusolver/linux-aarch64/libcusolver-linux-aarch64-11.6.0.99-archive.tar.xz", + "sha256": "294aa5f94bc64c908f13729b1983580da41233adbe1f4dd824aa1d027465c3cb", + "md5": "75a0b90538fdf2ef5ab9394429a98317", + "size": "138684288" + } + }, + "libcusparse": { + "name": "CUDA cuSPARSE", + "license": "CUDA Toolkit", + "license_path": "libcusparse/LICENSE.txt", + "version": "12.3.0.142", + "linux-x86_64": { + "relative_path": "libcusparse/linux-x86_64/libcusparse-linux-x86_64-12.3.0.142-archive.tar.xz", + "sha256": "9e9fe9d72522cf3de1e9b0b77dbeba0b8920d721b8c85dba6b18e7ddb77f0476", + "md5": "2095680930f034f027eaa9f5d5029c43", + "size": "223382560" + }, + "linux-ppc64le": { + "relative_path": "libcusparse/linux-ppc64le/libcusparse-linux-ppc64le-12.3.0.142-archive.tar.xz", + "sha256": "70c29322a46365359af876afb28510780c8d91a417c978d44d17a3c9777b73a9", + "md5": "12e8f03d4b51bdcb36a946c5aed2a675", + "size": "223486944" + }, + "linux-sbsa": { + "relative_path": "libcusparse/linux-sbsa/libcusparse-linux-sbsa-12.3.0.142-archive.tar.xz", + "sha256": "191e13f5e53cf29034add21a86e45be6f847101b5f6d34206de3367f56136a47", + "md5": "7e7e169f5b8009e88ac9ccd8e7e68468", + "size": "222979064" + }, + "windows-x86_64": { + "relative_path": "libcusparse/windows-x86_64/libcusparse-windows-x86_64-12.3.0.142-archive.zip", + "sha256": "66c7f041f8f59162cb70da1ef3e469b33ed9fbeed18e26a7325887c32039e694", + "md5": "060b4c2bd77751fab160dd8c699f48a5", + "size": "202433994" + }, + "linux-aarch64": { + "relative_path": "libcusparse/linux-aarch64/libcusparse-linux-aarch64-12.3.0.142-archive.tar.xz", + "sha256": "77df4a1f2b4cf3b3e10222ccc4d6ada89f47fd92549a79d3615cf34ad5102907", + "md5": "9b2eef78bfa5fe208704a0e0228b64ae", + "size": "238282452" + } + }, + "libnpp": { + "name": "CUDA NPP", + "license": "CUDA Toolkit", + "license_path": "libnpp/LICENSE.txt", + "version": "12.2.5.2", + "linux-x86_64": { + "relative_path": "libnpp/linux-x86_64/libnpp-linux-x86_64-12.2.5.2-archive.tar.xz", + "sha256": "42adaf1fec38090cfa42c14c75b16f4c0c3388d529e25ca2f1c81929578049cd", + "md5": "58004dd4ace1b23f165b0e5e22d74a46", + "size": "185068344" + }, + "linux-ppc64le": { + "relative_path": "libnpp/linux-ppc64le/libnpp-linux-ppc64le-12.2.5.2-archive.tar.xz", + "sha256": "8ee966c56a4f3694b0929366e12bf1e80b2affbf525f134bc6892ad78d67f85f", + "md5": "749b9971491c85deca4f81780c5a0e0a", + "size": "185432964" + }, + "linux-sbsa": { + "relative_path": "libnpp/linux-sbsa/libnpp-linux-sbsa-12.2.5.2-archive.tar.xz", + "sha256": "92b02b0a50e595f2224d4a71ad3502ccfb8908e7b76c23c3a3a72adf8624da39", + "md5": "fbbbb22b7f4e7d564d4c2a143efd8509", + "size": "184420448" + }, + "windows-x86_64": { + "relative_path": "libnpp/windows-x86_64/libnpp-windows-x86_64-12.2.5.2-archive.zip", + "sha256": "a9f1bd4d4a57a3120fd4630c7ba0fe35d5f737471ed42bc6fe20c42cb2ac46e2", + "md5": "82eec8e18ed00a7597ec193522bcf7e4", + "size": "156824522" + }, + "linux-aarch64": { + "relative_path": "libnpp/linux-aarch64/libnpp-linux-aarch64-12.2.5.2-archive.tar.xz", + "sha256": "35d15b7a295da0759c6d19fac42c214304fd05650f19482ed3e2a2595c6b6492", + "md5": "f6c31f9c2fc6f3fa14d845b84c496f6c", + "size": "202141296" + } + }, + "libnvfatbin": { + "name": "NVIDIA compiler library for fatbin interaction", + "license": "CUDA Toolkit", + "license_path": "libnvfatbin/LICENSE.txt", + "version": "12.4.99", + "linux-x86_64": { + "relative_path": "libnvfatbin/linux-x86_64/libnvfatbin-linux-x86_64-12.4.99-archive.tar.xz", + "sha256": "8e47ec31312dd08c139468040ff136832bc1d3206364dc68b3df0989c403d2ec", + "md5": "6b98927fb0e7951f4fd24b2124d4f780", + "size": "888052" + }, + "linux-ppc64le": { + "relative_path": "libnvfatbin/linux-ppc64le/libnvfatbin-linux-ppc64le-12.4.99-archive.tar.xz", + "sha256": "b18404c664412eae2ff95fd40deea890078e33495ecbf95c1fbc6d1c7a7b1c76", + "md5": "169165eb13348f67af7087f9f17c144d", + "size": "856840" + }, + "linux-sbsa": { + "relative_path": "libnvfatbin/linux-sbsa/libnvfatbin-linux-sbsa-12.4.99-archive.tar.xz", + "sha256": "f1285a717183635da1d9ce140b96080b7feb13a1a9b0c6e1d05a7bd8c7260ed1", + "md5": "8449392d981ca87e6572acdc09b61d74", + "size": "788444" + }, + "windows-x86_64": { + "relative_path": "libnvfatbin/windows-x86_64/libnvfatbin-windows-x86_64-12.4.99-archive.zip", + "sha256": "6460741837aec3ff1a10597475fe0420e80cf6c0f1b041686acc94ec84d723d4", + "md5": "7c99dffeb1f1ff2ffbae337090e9092b", + "size": "1500921" + }, + "linux-aarch64": { + "relative_path": "libnvfatbin/linux-aarch64/libnvfatbin-linux-aarch64-12.4.99-archive.tar.xz", + "sha256": "113568e442c3d20fd090439064a8854200002f4a1d8ae323621b9967d4008e54", + "md5": "fcd0032fc2248c09690e962057aacda9", + "size": "762720" + } + }, + "libnvidia_nscq": { + "name": "NVIDIA NSCQ API", + "license": "NVIDIA Driver", + "license_path": "libnvidia_nscq/LICENSE.txt", + "version": "550.54.14", + "linux-x86_64": { + "relative_path": "libnvidia_nscq/linux-x86_64/libnvidia_nscq-linux-x86_64-550.54.14-archive.tar.xz", + "sha256": "e91f006079ea8a0432ff48c7456b0996bc214adb9f95f2eea237cb0bde94acd2", + "md5": "dee23a7b6b91849548573a9208d761c0", + "size": "352868" + }, + "linux-sbsa": { + "relative_path": "libnvidia_nscq/linux-sbsa/libnvidia_nscq-linux-sbsa-550.54.14-archive.tar.xz", + "sha256": "acc7b2d66725a89d659ac620e5003da8e4fa068c81f4392e2bc085aa96af5186", + "md5": "ca3fa878d20407162821eec6210dab8d", + "size": "319104" + } + }, + "libnvjitlink": { + "name": "NVIDIA compiler library for JIT LTO functionality", + "license": "CUDA Toolkit", + "license_path": "libnvjitlink/LICENSE.txt", + "version": "12.4.99", + "linux-x86_64": { + "relative_path": "libnvjitlink/linux-x86_64/libnvjitlink-linux-x86_64-12.4.99-archive.tar.xz", + "sha256": "064777547cee873d0cee38ba918c66d8ee397e313fc832ae4745e37061cd37f9", + "md5": "9abe0dc324b61a13e3864bb7efcf82d4", + "size": "29152700" + }, + "linux-ppc64le": { + "relative_path": "libnvjitlink/linux-ppc64le/libnvjitlink-linux-ppc64le-12.4.99-archive.tar.xz", + "sha256": "1c4af32a0d90e19424411be89b6a1e2380714a727b9d5c6a42528f31567da05e", + "md5": "03f883245712497b8aa10a68c1a9da9e", + "size": "26723488" + }, + "linux-sbsa": { + "relative_path": "libnvjitlink/linux-sbsa/libnvjitlink-linux-sbsa-12.4.99-archive.tar.xz", + "sha256": "2d03f30c04f55a0d1814e00355f4279607d9bf77db613f7b7ee0f3e303902206", + "md5": "3b91ef5939460d0b2e0b0c6f162451b1", + "size": "26677288" + }, + "windows-x86_64": { + "relative_path": "libnvjitlink/windows-x86_64/libnvjitlink-windows-x86_64-12.4.99-archive.zip", + "sha256": "f558101a44a35311ddc7bf0cddff601b341bb70278d443148599a5742ffe5623", + "md5": "d838fe2fcbe28c5db7e17faecf1b6f16", + "size": "91520359" + }, + "linux-aarch64": { + "relative_path": "libnvjitlink/linux-aarch64/libnvjitlink-linux-aarch64-12.4.99-archive.tar.xz", + "sha256": "c12ec55b7bc351348aec80338d1e96b68f921d8b0e4902d583b62f5a05bb85af", + "md5": "2e4d84551a0a3495d3bcf18534f3958f", + "size": "27921008" + } + }, + "libnvjpeg": { + "name": "CUDA nvJPEG", + "license": "CUDA Toolkit", + "license_path": "libnvjpeg/LICENSE.txt", + "version": "12.3.1.89", + "linux-x86_64": { + "relative_path": "libnvjpeg/linux-x86_64/libnvjpeg-linux-x86_64-12.3.1.89-archive.tar.xz", + "sha256": "e00e09de998d84d77c5c5273621b0ff92da8fa4634a81062148238619277c157", + "md5": "f76e06188e74eb8700847f9f809414e2", + "size": "2580936" + }, + "linux-ppc64le": { + "relative_path": "libnvjpeg/linux-ppc64le/libnvjpeg-linux-ppc64le-12.3.1.89-archive.tar.xz", + "sha256": "8a61cc43907aa663d1f81736453afdb693d3c422df5e16db64617efe060a2b27", + "md5": "c41f118fd8af095a6c4cced36c66ccd4", + "size": "2624692" + }, + "linux-sbsa": { + "relative_path": "libnvjpeg/linux-sbsa/libnvjpeg-linux-sbsa-12.3.1.89-archive.tar.xz", + "sha256": "f0675ec004373d55b014d72aec35dcc7ce738f9b65c154da5fafa981b1a760b1", + "md5": "ecf63f6be6f174b39df058b9e3133b3a", + "size": "2416168" + }, + "windows-x86_64": { + "relative_path": "libnvjpeg/windows-x86_64/libnvjpeg-windows-x86_64-12.3.1.89-archive.zip", + "sha256": "da2c9538aad6a881dfc07255382122e8be31a62e51c0a99c7943918721253f7c", + "md5": "34fde0665826e9d8a49df3c0a7b60d78", + "size": "2833448" + }, + "linux-aarch64": { + "relative_path": "libnvjpeg/linux-aarch64/libnvjpeg-linux-aarch64-12.3.1.89-archive.tar.xz", + "sha256": "cc78676e6b71678b2fa820dd4a93912a1e7eccb024bd60bd4228a4eba95a7f1f", + "md5": "e4452df9668fc337d66d0fe1994ad2fc", + "size": "2561680" + } + }, + "nsight_compute": { + "name": "Nsight Compute", + "license": "NVIDIA SLA", + "license_path": "nsight_compute/LICENSE.txt", + "version": "2024.1.0.13", + "linux-x86_64": { + "relative_path": "nsight_compute/linux-x86_64/nsight_compute-linux-x86_64-2024.1.0.13-archive.tar.xz", + "sha256": "0e45fb375c03639abb31330c2b91910eb1dbb77dfe2720382675adea0660cad0", + "md5": "c556ca3826f994673edc91ee34ee45ef", + "size": "599148708" + }, + "linux-ppc64le": { + "relative_path": "nsight_compute/linux-ppc64le/nsight_compute-linux-ppc64le-2024.1.0.13-archive.tar.xz", + "sha256": "bee2f9e954a7028846ac7e3d940b86d135c362ce03522536523d29576e939feb", + "md5": "931156a21d78ff918165c72c993bce61", + "size": "114727856" + }, + "linux-sbsa": { + "relative_path": "nsight_compute/linux-sbsa/nsight_compute-linux-sbsa-2024.1.0.13-archive.tar.xz", + "sha256": "a3b07a59ac9bf1a17990cbfc3a7ab690be19d17be649fa7f07d80ce37b47969c", + "md5": "8a22f34e75dac3605e488bc6a25e7ba5", + "size": "260219328" + }, + "windows-x86_64": { + "relative_path": "nsight_compute/windows-x86_64/nsight_compute-windows-x86_64-2024.1.0.13-archive.zip", + "sha256": "3e9688f35c9d7c77a3e075a045c31109a81d64fb91b819e9cb7e91e77491c210", + "md5": "69fcd357340c15341f794bae3c45f7e9", + "size": "545116245" + }, + "linux-aarch64": { + "relative_path": "nsight_compute/linux-aarch64/nsight_compute-linux-aarch64-2024.1.0.13-archive.tar.xz", + "sha256": "57965374567373ef7f03c60ea99ce04153328111314b94153f66a86e72859ae4", + "md5": "2c9847dde68b738cef353c1ef2ff8b1a", + "size": "550858544" + } + }, + "nsight_systems": { + "name": "Nsight Systems", + "license": "NVIDIA SLA", + "license_path": "nsight_systems/LICENSE.txt", + "version": "2023.4.4.54", + "linux-x86_64": { + "relative_path": "nsight_systems/linux-x86_64/nsight_systems-linux-x86_64-2023.4.4.54-archive.tar.xz", + "sha256": "25ecbd3e670eb976abafdbdec688008b7eec90ddc230b74d7c276d9f8fdcf076", + "md5": "397a7063c1a06aa49265bb4838af9076", + "size": "220434032" + }, + "linux-ppc64le": { + "relative_path": "nsight_systems/linux-ppc64le/nsight_systems-linux-ppc64le-2023.4.4.54-archive.tar.xz", + "sha256": "d59ade067dcd4747faf9499f4399749d67ca570b03ecc50b22a8fc97d621b756", + "md5": "2ebe95985f4b57380e34e8c7ca733355", + "size": "58502288" + }, + "linux-sbsa": { + "relative_path": "nsight_systems/linux-sbsa/nsight_systems-linux-sbsa-2023.4.4.54-archive.tar.xz", + "sha256": "d681d18a5bde7815f7bf0cd28581905b156aac52413fc8caaef472af63e80096", + "md5": "45c98835ee2edf014795e8e54fa56989", + "size": "189600532" + }, + "windows-x86_64": { + "relative_path": "nsight_systems/windows-x86_64/nsight_systems-windows-x86_64-2023.4.4.54-archive.zip", + "sha256": "319ac041502f4f62e3c55ad01146f2b8f51e96811bb944fcf3549b8649b67baf", + "md5": "81278ddcc510f2e133c2854d617c818f", + "size": "336162677" + } + }, + "nsight_vse": { + "name": "Nsight Visual Studio Edition (VSE)", + "license": "NVIDIA SLA", + "license_path": "nsight_vse/LICENSE.txt", + "version": "2024.1.0.23349", + "windows-x86_64": { + "relative_path": "nsight_vse/windows-x86_64/nsight_vse-windows-x86_64-2024.1.0.23349-archive.zip", + "sha256": "e445d2576e16d93003fabf1036c2e847d2f95fb1043b247fa1abffb55c8173f9", + "md5": "ace74e54a6212e49774c3b6b226fa0dc", + "size": "507636389" + } + }, + "nvidia_driver": { + "name": "NVIDIA Linux Driver", + "license": "NVIDIA Driver", + "license_path": "nvidia_driver/LICENSE.txt", + "version": "550.54.14", + "linux-x86_64": { + "relative_path": "nvidia_driver/linux-x86_64/nvidia_driver-linux-x86_64-550.54.14-archive.tar.xz", + "sha256": "de89627ec616b58623be16448142a2d5fe771ee32536cd19be8ea97d7609b49a", + "md5": "9831808d805b45d0fcda3368f6017100", + "size": "352641256" + }, + "linux-ppc64le": { + "relative_path": "nvidia_driver/linux-ppc64le/nvidia_driver-linux-ppc64le-550.54.14-archive.tar.xz", + "sha256": "65ccbb95d21a14197b4a97cda79ab059499edd1e69900af1db1d0e796f22d0f5", + "md5": "f9873b7c0f78f3740d65e12059520c31", + "size": "99100348" + }, + "linux-sbsa": { + "relative_path": "nvidia_driver/linux-sbsa/nvidia_driver-linux-sbsa-550.54.14-archive.tar.xz", + "sha256": "d74189ff668b279a1e02b7a9a5389cfa7ae3b080f78d4b2f33e106e99f2fc1e3", + "md5": "ff5b6a8adb585d5f43393c4a05044829", + "size": "268554696" + } + }, + "nvidia_fs": { + "name": "NVIDIA filesystem", + "license": "CUDA Toolkit", + "license_path": "nvidia_fs/LICENSE.txt", + "version": "2.19.6", + "linux-x86_64": { + "relative_path": "nvidia_fs/linux-x86_64/nvidia_fs-linux-x86_64-2.19.6-archive.tar.xz", + "sha256": "d62c9fd07f928b0a3e5b82cf1ba7fd8c646e4e53e56eab4f080a81ff44b949c1", + "md5": "377fe17b3b3f8d289871190045da5ffa", + "size": "58868" + }, + "linux-sbsa": { + "relative_path": "nvidia_fs/linux-sbsa/nvidia_fs-linux-sbsa-2.19.6-archive.tar.xz", + "sha256": "aaa7b25d1e04e46de2c844628bb41b56d36880ce97952f89c005b01d8cc0c5b4", + "md5": "b6afee8a3b2db7f2892ef5ea6a854671", + "size": "58868" + }, + "linux-aarch64": { + "relative_path": "nvidia_fs/linux-aarch64/nvidia_fs-linux-aarch64-2.19.6-archive.tar.xz", + "sha256": "f9ff892c7ce5d809eadbfa5dd344e5fe136540553a4bc50e2a02287c92a6df81", + "md5": "bd8c4598e0652144e5dfb9bafdcb0731", + "size": "58864" + } + }, + "visual_studio_integration": { + "name": "CUDA Visual Studio Integration", + "license": "CUDA Toolkit", + "license_path": "visual_studio_integration/LICENSE.txt", + "version": "12.4.99", + "windows-x86_64": { + "relative_path": "visual_studio_integration/windows-x86_64/visual_studio_integration-windows-x86_64-12.4.99-archive.zip", + "sha256": "1a8742b19e6a63a79b3eacb38a1353502d73e788b7f70e3daad8eaf4ebe111ef", + "md5": "359db0f296ca15085bba74868f3a2d37", + "size": "518841" + } + } +} \ No newline at end of file diff --git a/pkgs/development/cuda-modules/cudatoolkit/releases.nix b/pkgs/development/cuda-modules/cudatoolkit/releases.nix index b6828cc1f68c..05f7b144ec4b 100644 --- a/pkgs/development/cuda-modules/cudatoolkit/releases.nix +++ b/pkgs/development/cuda-modules/cudatoolkit/releases.nix @@ -105,4 +105,10 @@ url = "https://developer.download.nvidia.com/compute/cuda/12.3.0/local_installers/cuda_12.3.0_545.23.06_linux.run"; sha256 = "sha256-fBP6zjr2TW4WSNbjEB0xyBEedHFDrLAHfZc8FpCCBCI="; }; + + "12.4" = { + version = "12.4.0"; + url = "https://developer.download.nvidia.com/compute/cuda/12.4.0/local_installers/cuda_12.4.0_550.54.14_linux.run"; + sha256 = "sha256-5qhC9OypSQV1zbaLaxu3jUe5Wol95I3uKSxDGJLlfRc="; + }; } diff --git a/pkgs/development/cuda-modules/cudnn/releases.nix b/pkgs/development/cuda-modules/cudnn/releases.nix index 26acaf4a3640..2b4afc160abe 100644 --- a/pkgs/development/cuda-modules/cudnn/releases.nix +++ b/pkgs/development/cuda-modules/cudnn/releases.nix @@ -11,6 +11,13 @@ url = "https://developer.download.nvidia.com/compute/cudnn/redist/cudnn/linux-aarch64/cudnn-linux-aarch64-8.9.5.30_cuda12-archive.tar.xz"; hash = "sha256-BJH3sC9VwiB362eL8xTB+RdSS9UHz1tlgjm/mKRyM6E="; } + { + version = "9.3.0.75"; + minCudaVersion = "12.0"; + maxCudaVersion = "12.6"; + url = "https://developer.download.nvidia.com/compute/cudnn/redist/cudnn/linux-aarch64/cudnn-linux-aarch64-9.3.0.75_cuda12-archive.tar.xz"; + hash = "sha256-Gq5L/O1j+TC0Z3+eko4ZeHjezi7dUcqPp6uDY9Dm7WA="; + } ]; # powerpc linux-ppc64le = [ ]; @@ -72,6 +79,20 @@ url = "https://developer.download.nvidia.com/compute/cudnn/redist/cudnn/linux-sbsa/cudnn-linux-sbsa-8.9.7.29_cuda12-archive.tar.xz"; hash = "sha256-6Yt8gAEHheXVygHuTOm1sMjHNYfqb4ZIvjTT+NHUe9E="; } + { + version = "9.3.0.75"; + minCudaVersion = "12.0"; + maxCudaVersion = "12.6"; + url = "https://developer.download.nvidia.com/compute/cudnn/redist/cudnn/linux-sbsa/cudnn-linux-sbsa-9.3.0.75_cuda12-archive.tar.xz"; + hash = "sha256-Eibdm5iciYY4VSlj0ACjz7uKCgy5uvjLCear137X1jk="; + } + { + version = "9.3.0.75"; + minCudaVersion = "11.8"; + maxCudaVersion = "11.8"; + url = "https://developer.download.nvidia.com/compute/cudnn/redist/cudnn/linux-sbsa/cudnn-linux-sbsa-9.3.0.75_cuda11-archive.tar.xz"; + hash = "sha256-BLVvv3vuFcJOM5wrqU0Xqoi54zTQzRnnWFPcVFJ5S/c="; + } ]; # x86_64 linux-x86_64 = [ diff --git a/pkgs/development/cuda-modules/nvcc-compatibilities.nix b/pkgs/development/cuda-modules/nvcc-compatibilities.nix index 4af1b511a1d9..d4189400e2fc 100644 --- a/pkgs/development/cuda-modules/nvcc-compatibilities.nix +++ b/pkgs/development/cuda-modules/nvcc-compatibilities.nix @@ -119,6 +119,12 @@ let # No changes from 12.2 to 12.3 "12.3" = attrs."12.2"; + + # No changes from 12.2 to 12.3 + "12.4" = attrs."12.3" // { + clangMaxMajorVersion = "17"; + gccMaxMajorVersion = "13"; + }; }; in attrs diff --git a/pkgs/development/python-modules/curio-compat/default.nix b/pkgs/development/python-modules/curio-compat/default.nix new file mode 100644 index 000000000000..6ea4da8feb3f --- /dev/null +++ b/pkgs/development/python-modules/curio-compat/default.nix @@ -0,0 +1,38 @@ +{ + buildPythonPackage, + fetchFromGitHub, + lib, + pytestCheckHook, + setuptools, +}: + +buildPythonPackage rec { + pname = "curio-compat"; + version = "1.6.7"; + pyproject = true; + + src = fetchFromGitHub { + owner = "klen"; + repo = "curio"; + rev = "refs/tags/${version}"; + hash = "sha256-Crd9r4Icwga85wvtXaePbE56R192o+FXU9Zn+Lc7trI="; + }; + + build-system = [ setuptools ]; + + pythonImportsCheck = [ "curio" ]; + + nativeCheckInputs = [ pytestCheckHook ]; + + disabledTests = [ + # contacts google.com + "test_ssl_outgoing" + ]; + + meta = { + description = "Coroutine-based library for concurrent systems programming"; + homepage = "https://github.com/klen/curio"; + license = lib.licenses.bsd3; + maintainers = with lib.maintainers; [ dotlambda ]; + }; +} diff --git a/pkgs/development/python-modules/idasen-ha/default.nix b/pkgs/development/python-modules/idasen-ha/default.nix new file mode 100644 index 000000000000..2c93133cf6ad --- /dev/null +++ b/pkgs/development/python-modules/idasen-ha/default.nix @@ -0,0 +1,41 @@ +{ + buildPythonPackage, + fetchFromGitHub, + idasen, + lib, + pytest-asyncio, + pytestCheckHook, + setuptools, +}: + +buildPythonPackage rec { + pname = "idasen-ha"; + version = "2.6.2"; + pyproject = true; + + src = fetchFromGitHub { + owner = "abmantis"; + repo = "idasen-ha"; + rev = "refs/tags/${version}"; + hash = "sha256-lqqSx4jxQVq2pjVv9lvaX6nNK6OqtMjPqOtLMLpVMUU="; + }; + + build-system = [ setuptools ]; + + dependencies = [ idasen ]; + + pythonImportsCheck = [ "idasen_ha" ]; + + nativeCheckInputs = [ + pytest-asyncio + pytestCheckHook + ]; + + meta = { + changelog = "https://github.com/abmantis/idasen-ha/releases/tag/${version}"; + description = "Home Assistant helper lib for the IKEA Idasen Desk integration"; + homepage = "https://github.com/abmantis/idasen-ha"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ dotlambda ]; + }; +} diff --git a/pkgs/development/python-modules/idasen/default.nix b/pkgs/development/python-modules/idasen/default.nix index 61bbdefce2f5..8f1c36006f93 100644 --- a/pkgs/development/python-modules/idasen/default.nix +++ b/pkgs/development/python-modules/idasen/default.nix @@ -14,7 +14,7 @@ buildPythonPackage rec { pname = "idasen"; version = "0.12.0"; - format = "pyproject"; + pyproject = true; disabled = pythonOlder "3.8"; @@ -25,9 +25,9 @@ buildPythonPackage rec { hash = "sha256-TQ+DBFpG+IeZ4/dN+YKMw3AM4Dl1rpqA1kRcb3Tb3jA="; }; - nativeBuildInputs = [ poetry-core ]; + build-system = [ poetry-core ]; - propagatedBuildInputs = [ + dependencies = [ bleak pyyaml voluptuous diff --git a/pkgs/development/python-modules/marimo/default.nix b/pkgs/development/python-modules/marimo/default.nix index bee84a2b7ea3..c5adc0e91f3c 100644 --- a/pkgs/development/python-modules/marimo/default.nix +++ b/pkgs/development/python-modules/marimo/default.nix @@ -24,14 +24,14 @@ buildPythonPackage rec { pname = "marimo"; - version = "0.7.20"; + version = "0.8.3"; pyproject = true; disabled = pythonOlder "3.8"; src = fetchPypi { inherit pname version; - hash = "sha256-vkEBHJN7VqJU+diijiTV7JABT5g/5NY2XEXM0turDWU="; + hash = "sha256-t7VYKInsZ0hYW+svD0vnsMyGcMtIeuWaor8nijyDhn8="; }; build-system = [ setuptools ]; diff --git a/pkgs/development/python-modules/pyopencl/default.nix b/pkgs/development/python-modules/pyopencl/default.nix index 5c16b8a5960e..ab6440d0252f 100644 --- a/pkgs/development/python-modules/pyopencl/default.nix +++ b/pkgs/development/python-modules/pyopencl/default.nix @@ -1,34 +1,31 @@ { lib, stdenv, - darwin, - ocl-icd, - buildPythonPackage, fetchFromGitHub, + buildPythonPackage, # build-system cmake, - nanobind, - ninja, - numpy, - pathspec, scikit-build-core, - - # buildInputs - opencl-headers, - pybind11, + pathspec, + ninja, + nanobind, # dependencies + darwin, + numpy, + ocl-icd, + opencl-headers, platformdirs, + pybind11, pytools, - # checks + # tests pytestCheckHook, }: let - os-specific-buildInputs = - if stdenv.isDarwin then [ darwin.apple_sdk.frameworks.OpenCL ] else [ ocl-icd ]; + os-specific-buildInputs = if stdenv.isDarwin then [ darwin.apple_sdk.frameworks.OpenCL ] else [ ocl-icd ]; in buildPythonPackage rec { pname = "pyopencl"; @@ -39,7 +36,8 @@ buildPythonPackage rec { owner = "inducer"; repo = "pyopencl"; rev = "refs/tags/v${version}"; - hash = "sha256-DfZCtTeN1a1KS2qUU6iztba4opAVC/RUCe/hnkqTbII="; + fetchSubmodules = true; + hash = "sha256-VeaEDYnGfMYf9/WqMIZ9g4KounD48eWF3Romt79RMEQ="; }; build-system = [ @@ -66,23 +64,28 @@ buildPythonPackage rec { nativeCheckInputs = [ pytestCheckHook ]; - preBuild = '' + preCheck = '' export HOME=$(mktemp -d) - rm -rf pyopencl + + # import from $out + rm -r pyopencl ''; - # gcc: error: pygpu_language_opencl.cpp: No such file or directory + # pyopencl._cl.LogicError: clGetPlatformIDs failed: PLATFORM_NOT_FOUND_KHR doCheck = false; - pythonImportsCheck = [ "pyopencl" ]; + pythonImportsCheck = [ + "pyopencl" + "pyopencl.array" + "pyopencl.cltypes" + "pyopencl.elementwise" + "pyopencl.tools" + ]; - meta = { - description = "Python wrapper for OpenCL"; - homepage = "https://github.com/pyopencl/pyopencl"; + meta = with lib; { changelog = "https://github.com/inducer/pyopencl/releases/tag/v${version}"; - license = lib.licenses.mit; - maintainers = with lib.maintainers; [ GaetanLepage ]; - # ld: symbol(s) not found for architecture arm64 - broken = stdenv.isDarwin && stdenv.isAarch64; + description = "Python wrapper for OpenCL"; + homepage = "https://github.com/inducer/pyopencl"; + license = licenses.mit; }; } diff --git a/pkgs/development/python-modules/pytest-aio/default.nix b/pkgs/development/python-modules/pytest-aio/default.nix index 5706ffce5ce9..b76cd96230d2 100644 --- a/pkgs/development/python-modules/pytest-aio/default.nix +++ b/pkgs/development/python-modules/pytest-aio/default.nix @@ -2,16 +2,16 @@ lib, anyio, buildPythonPackage, - curio, + curio-compat, fetchFromGitHub, hypothesis, pytest, pytestCheckHook, pythonOlder, poetry-core, - sniffio, trio, trio-asyncio, + uvloop, }: buildPythonPackage rec { @@ -19,7 +19,7 @@ buildPythonPackage rec { version = "1.9.0"; pyproject = true; - disabled = pythonOlder "3.7"; + disabled = pythonOlder "3.9"; src = fetchFromGitHub { owner = "klen"; @@ -32,16 +32,18 @@ buildPythonPackage rec { buildInputs = [ pytest ]; - dependencies = [ - anyio - curio - hypothesis - sniffio - trio - trio-asyncio - ]; + optional-dependencies = { + curio = [ curio-compat ]; + trio = [ trio ]; + uvloop = [ uvloop ]; + }; - nativeCheckInputs = [ pytestCheckHook ]; + nativeCheckInputs = [ + anyio + hypothesis + pytestCheckHook + trio-asyncio + ] ++ lib.flatten (lib.attrValues optional-dependencies); pythonImportsCheck = [ "pytest_aio" ]; diff --git a/pkgs/development/python-modules/solarlog-cli/default.nix b/pkgs/development/python-modules/solarlog-cli/default.nix index 346d68fc914c..25a4fc4deecb 100644 --- a/pkgs/development/python-modules/solarlog-cli/default.nix +++ b/pkgs/development/python-modules/solarlog-cli/default.nix @@ -5,11 +5,16 @@ fetchFromGitHub, hatchling, aiohttp, + mashumaro, + aioresponses, + pytest-aio, + pytestCheckHook, + syrupy, }: buildPythonPackage rec { pname = "solarlog-cli"; - version = "0.1.6"; + version = "0.2.0"; pyproject = true; disabled = pythonOlder "3.12"; @@ -18,17 +23,24 @@ buildPythonPackage rec { owner = "dontinelli"; repo = "solarlog_cli"; rev = "refs/tags/v${version}"; - hash = "sha256-Bliq1n6xH0cZQHueiGDyalIo0zms8zCSpUGq2KH5xZY="; + hash = "sha256-x9MovIKFImu60Ns2sJTy71S22cR9Az/yNMWzGM50y7Y="; }; build-system = [ hatchling ]; - dependencies = [ aiohttp ]; + dependencies = [ + aiohttp + mashumaro + ]; pythonImportsCheck = [ "solarlog_cli" ]; - # upstream has no tests - doCheck = false; + nativeCheckInputs = [ + aioresponses + pytest-aio + pytestCheckHook + syrupy + ]; meta = { changelog = "https://github.com/dontinelli/solarlog_cli/releases/tag/v${version}"; diff --git a/pkgs/development/python-modules/syrupy/default.nix b/pkgs/development/python-modules/syrupy/default.nix index 379091993e0a..60cf1380d560 100644 --- a/pkgs/development/python-modules/syrupy/default.nix +++ b/pkgs/development/python-modules/syrupy/default.nix @@ -5,30 +5,27 @@ python, poetry-core, pytest, - colored, invoke, }: buildPythonPackage rec { pname = "syrupy"; - version = "4.6.1"; - format = "pyproject"; + version = "4.7.1"; + pyproject = true; disabled = lib.versionOlder python.version "3.8.1"; src = fetchFromGitHub { - owner = "tophat"; + owner = "syrupy-project"; repo = "syrupy"; rev = "refs/tags/v${version}"; - hash = "sha256-NBJJqQsZqqKHOdqGa/j/2KQvlenLCEJBqlfdjtFK00U="; + hash = "sha256-dTUugNqzaMuKV6ZwxRSf9df7tsnmZUBhgqwgGxBhirw="; }; - nativeBuildInputs = [ poetry-core ]; + build-system = [ poetry-core ]; buildInputs = [ pytest ]; - propagatedBuildInputs = [ colored ]; - nativeCheckInputs = [ invoke pytest @@ -43,11 +40,11 @@ buildPythonPackage rec { pythonImportsCheck = [ "syrupy" ]; - meta = with lib; { - changelog = "https://github.com/tophat/syrupy/releases/tag/v${version}"; + meta = { + changelog = "https://github.com/syrupy-project/syrupy/blob/${src.rev}/CHANGELOG.md"; description = "Pytest Snapshot Test Utility"; - homepage = "https://github.com/tophat/syrupy"; - license = licenses.asl20; - maintainers = [ ]; + homepage = "https://github.com/syrupy-project/syrupy"; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ dotlambda ]; }; } diff --git a/pkgs/development/tools/bpf-linker/Cargo.lock b/pkgs/development/tools/bpf-linker/Cargo.lock index be62337108ba..d1edbeb55dcb 100644 --- a/pkgs/development/tools/bpf-linker/Cargo.lock +++ b/pkgs/development/tools/bpf-linker/Cargo.lock @@ -27,9 +27,9 @@ dependencies = [ [[package]] name = "anstyle" -version = "1.0.6" +version = "1.0.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8901269c6307e8d93993578286ac0edf7f195079ffff5ebdeea6a59ffb7e36bc" +checksum = "1bec1de6f59aedf83baf9ff929c98f2ad654b97c9510f4e70cf6f661d49fd5b1" [[package]] name = "anstyle-parse" @@ -73,9 +73,9 @@ checksum = "d67af77d68a931ecd5cbd8a3b5987d63a1d1d1278f7f6a60ae33db485cdebb69" [[package]] name = "aya-rustc-llvm-proxy" -version = "0.9.2" +version = "0.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09de71afbd6668d1e10f1895f967d5a2c02b2e6db01ea4ac9677c29e22dac548" +checksum = "3c81d599ae18f5a5fdf5e3e13e376c142a6e2c3d4d5ee960e50e61b034ada46b" dependencies = [ "anyhow", "cargo_metadata", @@ -103,7 +103,7 @@ checksum = "cf4b9d6a944f767f8e5e0db018570623c85f3d925ac718db4e06d0187adb21c1" [[package]] name = "bpf-linker" -version = "0.9.12" +version = "0.9.13" dependencies = [ "anyhow", "ar", @@ -170,9 +170,9 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" [[package]] name = "clap" -version = "4.5.11" +version = "4.5.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "35723e6a11662c2afb578bcf0b88bf6ea8e21282a953428f240574fcc3a2b5b3" +checksum = "11d8838454fda655dafd3accb2b6e2bea645b9e4078abe84a22ceb947235c5cc" dependencies = [ "clap_builder", "clap_derive", @@ -180,9 +180,9 @@ dependencies = [ [[package]] name = "clap_builder" -version = "4.5.11" +version = "4.5.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49eb96cbfa7cfa35017b7cd548c75b14c3118c98b423041d70562665e07fb0fa" +checksum = "216aec2b177652e3846684cbfe25c9964d18ec45234f0f5da5157b207ed1aab6" dependencies = [ "anstream", "anstyle", @@ -192,9 +192,9 @@ dependencies = [ [[package]] name = "clap_derive" -version = "4.5.11" +version = "4.5.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d029b67f89d30bbb547c89fd5161293c0aec155fc691d7924b64550662db93e" +checksum = "501d359d5f3dcaf6ecdeee48833ae73ec6e42723a1e52419c79abf9507eec0a0" dependencies = [ "heck", "proc-macro2", @@ -447,9 +447,9 @@ checksum = "01cda141df6706de531b6c46c3a33ecca755538219bd484262fa09410c13539c" [[package]] name = "llvm-sys" -version = "180.0.0" +version = "191.0.0-rc1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "778fa5fa02e32728e718f11eec147e6f134137399ab02fd2c13d32476337affa" +checksum = "fc981f56df5430a462d0f7676913fe9e8e4c8cc4df02e3157a6e3d808f7ae443" dependencies = [ "anyhow", "cc", @@ -598,9 +598,9 @@ dependencies = [ [[package]] name = "regex" -version = "1.10.5" +version = "1.10.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b91213439dad192326a0d7c6ee3955910425f441d7038e0d6933b0aec5c4517f" +checksum = "4219d74c6b67a3654a9fbebc4b419e22126d13d2f3c4a07ee0cb61ff79a79619" dependencies = [ "aho-corasick", "memchr", @@ -648,9 +648,9 @@ checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f" [[package]] name = "rustc-build-sysroot" -version = "0.5.2" +version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa3ca63cc537c1cb69e4c2c0afc5fda2ccd36ac84c97d5a4ae05e69b1c834afb" +checksum = "2471f8f296262437d7e848e527b4210b44a96e53a3b4435b890227ce3e6da106" dependencies = [ "anyhow", "rustc_version", @@ -1015,9 +1015,9 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" [[package]] name = "which" -version = "6.0.1" +version = "6.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8211e4f58a2b2805adfbefbc07bab82958fc91e3836339b1ab7ae32465dce0d7" +checksum = "3d9c5ed668ee1f17edb3b627225343d210006a90bb1e3745ce1f30b1fb115075" dependencies = [ "either", "home", diff --git a/pkgs/development/tools/bpf-linker/default.nix b/pkgs/development/tools/bpf-linker/default.nix index 1212c5a13908..8c044c58622c 100644 --- a/pkgs/development/tools/bpf-linker/default.nix +++ b/pkgs/development/tools/bpf-linker/default.nix @@ -2,7 +2,7 @@ , stdenv , rustPlatform , fetchFromGitHub -, llvmPackages_18 +, llvmPackages_19 , zlib , ncurses , libxml2 @@ -10,13 +10,13 @@ rustPlatform.buildRustPackage rec { pname = "bpf-linker"; - version = "0.9.12-unstable-2024-07-31"; + version = "0.9.13"; src = fetchFromGitHub { owner = "aya-rs"; repo = pname; - rev = "7585ff7c0709bae13f2ad25f421450d493b02c1a"; - hash = "sha256-HvjS+74ZjyhF3h2IaKq4T+aGB5/XJRR3TxLSxp0rEYk="; + rev = "refs/tags/v${version}"; + hash = "sha256-CRYp1ktmmY4OS23+LNKOBQJUMkd+GXptBp5LPfbyZAc="; }; cargoLock = { @@ -28,7 +28,7 @@ rustPlatform.buildRustPackage rec { buildNoDefaultFeatures = true; - nativeBuildInputs = [ llvmPackages_18.llvm ]; + nativeBuildInputs = [ llvmPackages_19.llvm ]; buildInputs = [ zlib ncurses libxml2 ]; # fails with: couldn't find crate `core` with expected target triple bpfel-unknown-none diff --git a/pkgs/development/tools/typos/default.nix b/pkgs/development/tools/typos/default.nix index d404f071f1ed..5494fd18829e 100644 --- a/pkgs/development/tools/typos/default.nix +++ b/pkgs/development/tools/typos/default.nix @@ -2,16 +2,16 @@ rustPlatform.buildRustPackage rec { pname = "typos"; - version = "1.23.7"; + version = "1.24.1"; src = fetchFromGitHub { owner = "crate-ci"; repo = pname; rev = "v${version}"; - hash = "sha256-VxmSYqpKtzPaiKuB3lhjYGi2T1W4VFt2414OUDGUaZI="; + hash = "sha256-oQy3R9PSM8jU4qs3clxK0HmmM0Ua4pwZYxnu0d6SW+I="; }; - cargoHash = "sha256-SdHlejMxoh8B/HkOdOAtEIRGKfWYDIKXw7SL80sxvJw="; + cargoHash = "sha256-z2JN5JyUIEeZInw5qpRf/Zja+7Np9YnBj3hcohFkAsc="; meta = with lib; { description = "Source code spell checker"; diff --git a/pkgs/os-specific/linux/broadcom-sta/default.nix b/pkgs/os-specific/linux/broadcom-sta/default.nix index e4bff6169834..7bf505f7fa94 100644 --- a/pkgs/os-specific/linux/broadcom-sta/default.nix +++ b/pkgs/os-specific/linux/broadcom-sta/default.nix @@ -1,70 +1,91 @@ -{ lib, stdenv, fetchurl, kernel }: +{ + lib, + stdenv, + fetchurl, + fetchFromGitHub, + kernel, +}: let version = "6.30.223.271"; hashes = { - i686-linux = "1kaqa2dw3nb8k23ffvx46g8jj3wdhz8xa6jp1v3wb35cjfr712sg"; - x86_64-linux = "1gj485qqr190idilacpxwgqyw21il03zph2rddizgj7fbd6pfyaz"; + i686-linux = "sha256-T4twspOsjMXHDlca1dGHjQ8p0TOkb+eGmGjZwZtQWM0="; + x86_64-linux = "sha256-X3l3TVvuyPdja1nA+wegMQju8eP9MkVjiyCFjHFBRL4="; }; arch = lib.optionalString (stdenv.hostPlatform.system == "x86_64-linux") "_64"; - tarballVersion = lib.replaceStrings ["."] ["_"] version; + tarballVersion = lib.replaceStrings [ "." ] [ "_" ] version; tarball = "hybrid-v35${arch}-nodebug-pcoem-${tarballVersion}.tar.gz"; + + rpmFusionPatches = fetchFromGitHub { + owner = "rpmfusion"; + repo = "wl-kmod"; + rev = "a04330284bfc38fd91eade6f8b28fa63cfcdc95e"; + hash = "sha256-c72Pr/v+nxZPLEeNKbWnSpbH3gqYZaTgzMO9PlYQkf0="; + }; + patchset = [ + "wl-kmod-001_wext_workaround.patch" + "wl-kmod-002_kernel_3.18_null_pointer.patch" + "wl-kmod-003_gcc_4.9_remove_TIME_DATE_macros.patch" + "wl-kmod-004_kernel_4.3_rdtscl_to_rdtsc.patch" + "wl-kmod-005_kernel_4.7_IEEE80211_BAND_to_NL80211_BAND.patch" + "wl-kmod-006_gcc_6_fix_indentation_warnings.patch" + "wl-kmod-007_kernel_4.8_add_cfg80211_scan_info_struct.patch" + "wl-kmod-008_fix_kernel_warnings.patch" + "wl-kmod-009_kernel_4.11_remove_last_rx_in_net_device_struct.patch" + "wl-kmod-010_kernel_4.12_add_cfg80211_roam_info_struct.patch" + "wl-kmod-011_kernel_4.14_new_kernel_read_function_prototype.patch" + "wl-kmod-012_kernel_4.15_new_timer.patch" + "wl-kmod-013_gcc8_fix_bounds_check_warnings.patch" + "wl-kmod-014_kernel_read_pos_increment_fix.patch" + "wl-kmod-015_kernel_5.1_get_ds_removed.patch" + "wl-kmod-016_fix_unsupported_mesh_point.patch" + "wl-kmod-017_fix_gcc_fallthrough_warning.patch" + "wl-kmod-018_kernel_5.6_adaptations.patch" + "wl-kmod-019_kernel_5.9_segment_eq_removed.patch" + "wl-kmod-020_kernel_5.10_get_set_fs_removed.patch" + "wl-kmod-021_kernel_5.17_adaptation.patch" + "wl-kmod-022_kernel_5.18_adaptation.patch" + "wl-kmod-023_kernel_6.0_adaptation.patch" + "wl-kmod-024_kernel_6.1_adaptation.patch" + "wl-kmod-025_kernel_6.5_adaptation.patch" + "wl-kmod-026_kernel_6.10_fix_empty_body_in_if_warning.patch" + "wl-kmod-027_wpa_supplicant-2.11_add_max_scan_ie_len.patch" + ]; in stdenv.mkDerivation { name = "broadcom-sta-${version}-${kernel.version}"; src = fetchurl { url = "https://docs.broadcom.com/docs-and-downloads/docs/linux_sta/${tarball}"; - sha256 = hashes.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); + hash = + hashes.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); }; hardeningDisable = [ "pic" ]; nativeBuildInputs = kernel.moduleBuildDependencies; - patches = [ - ./license.patch - ./linux-4.7.patch - # source: https://git.archlinux.org/svntogit/community.git/tree/trunk/004-linux48.patch?h=packages/broadcom-wl-dkms - ./linux-4.8.patch - # source: https://aur.archlinux.org/cgit/aur.git/tree/linux411.patch?h=broadcom-wl - ./linux-4.11.patch - # source: https://aur.archlinux.org/cgit/aur.git/tree/linux412.patch?h=broadcom-wl - ./linux-4.12.patch - ./linux-4.15.patch - ./linux-5.1.patch - # source: https://salsa.debian.org/Herrie82-guest/broadcom-sta/-/commit/247307926e5540ad574a17c062c8da76990d056f - ./linux-5.6.patch - # source: https://gist.github.com/joanbm/5c640ac074d27fd1d82c74a5b67a1290 - ./linux-5.9.patch - # source: https://github.com/archlinux/svntogit-community/blob/33b4bd2b9e30679b03f5d7aa2741911d914dcf94/trunk/012-linux517.patch - ./linux-5.17.patch - # source: https://github.com/archlinux/svntogit-community/blob/2e1fd240f9ce06f500feeaa3e4a9675e65e6b967/trunk/013-linux518.patch - ./linux-5.18.patch - # source: https://gist.github.com/joanbm/207210d74637870c01ef5a3c262a597d - ./linux-6.0.patch - # source: https://gist.github.com/joanbm/94323ea99eff1e1d1c51241b5b651549 - ./linux-6.1.patch - ./pedantic-fix.patch - ./null-pointer-fix.patch - ./gcc.patch - ]; + patches = map (patch: "${rpmFusionPatches}/${patch}") patchset; makeFlags = [ "KBASE=${kernel.dev}/lib/modules/${kernel.modDirVersion}" ]; unpackPhase = '' + runHook preUnpack sourceRoot=broadcom-sta mkdir "$sourceRoot" tar xvf "$src" -C "$sourceRoot" + runHook postUnpack ''; installPhase = '' + runHook preInstall binDir="$out/lib/modules/${kernel.modDirVersion}/kernel/net/wireless/" docDir="$out/share/doc/broadcom-sta/" mkdir -p "$binDir" "$docDir" cp wl.ko "$binDir" cp lib/LICENSE.txt "$docDir" + runHook postInstall ''; meta = { diff --git a/pkgs/os-specific/linux/broadcom-sta/gcc.patch b/pkgs/os-specific/linux/broadcom-sta/gcc.patch deleted file mode 100644 index ec8a2fa3a09c..000000000000 --- a/pkgs/os-specific/linux/broadcom-sta/gcc.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 3e28c2a24c3b3b011506bcaa4fee7e8da347c5ff Mon Sep 17 00:00:00 2001 -From: Charles Strahan -Date: Tue, 5 May 2015 15:09:51 -0400 -Subject: [PATCH 01/16] linuxPackages.broadcom_sta: since GCC respects - SOURCE_DATE_EPOCH, set in the stdenv, set -Wno-date-time - ---- - Makefile | 3 --- - 1 file changed, 3 deletions(-) - -diff --git a/Makefile b/Makefile -index a323a0d..15e85c8 100644 ---- a/Makefile -+++ b/Makefile -@@ -140,10 +140,7 @@ wl-objs += src/wl/sys/wl_cfg80211_hybrid.o - EXTRA_CFLAGS += -I$(src)/src/include -I$(src)/src/common/include - EXTRA_CFLAGS += -I$(src)/src/wl/sys -I$(src)/src/wl/phy -I$(src)/src/wl/ppr/include - EXTRA_CFLAGS += -I$(src)/src/shared/bcmwifi/include --#EXTRA_CFLAGS += -DBCMDBG_ASSERT -DBCMDBG_ERR --ifeq "$(GE_49)" "1" - EXTRA_CFLAGS += -Wno-date-time --endif - - EXTRA_LDFLAGS := $(src)/lib/wlc_hybrid.o_shipped - --- -2.45.1 - diff --git a/pkgs/os-specific/linux/broadcom-sta/license.patch b/pkgs/os-specific/linux/broadcom-sta/license.patch deleted file mode 100644 index 58ff5dba644b..000000000000 --- a/pkgs/os-specific/linux/broadcom-sta/license.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 5a964e14474e4482a4d24c015371856560dacabc Mon Sep 17 00:00:00 2001 -From: Shea Levy -Date: Sat, 4 Jan 2014 20:57:21 -0500 -Subject: [PATCH 02/16] linuxPackages.broadcom_sta: apply MIXED/Proprietary - license - ---- - src/wl/sys/wl_linux.c | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/src/wl/sys/wl_linux.c b/src/wl/sys/wl_linux.c -index 0d05100..14922c0 100644 ---- a/src/wl/sys/wl_linux.c -+++ b/src/wl/sys/wl_linux.c -@@ -148,6 +148,8 @@ static struct wl_if *wl_alloc_if(wl_info_t *wl, int iftype, uint unit, struct wl - static void wl_free_if(wl_info_t *wl, wl_if_t *wlif); - static void wl_get_driver_info(struct net_device *dev, struct ethtool_drvinfo *info); - -+MODULE_LICENSE("MIXED/Proprietary"); -+ - #if defined(WL_CONFIG_RFKILL) - #include - static int wl_init_rfkill(wl_info_t *wl); --- -2.45.1 - diff --git a/pkgs/os-specific/linux/broadcom-sta/linux-4.11.patch b/pkgs/os-specific/linux/broadcom-sta/linux-4.11.patch deleted file mode 100644 index 5e95edecf1ea..000000000000 --- a/pkgs/os-specific/linux/broadcom-sta/linux-4.11.patch +++ /dev/null @@ -1,65 +0,0 @@ -From 5a0301c2d9c65dbb3c5b8990e635d37f071d26c4 Mon Sep 17 00:00:00 2001 -From: georgewhewell -Date: Fri, 2 Jun 2017 14:19:04 +0100 -Subject: [PATCH 06/16] linuxPackages.broadcom_sta: fix build for kernel 4.11+ - ---- - src/wl/sys/wl_cfg80211_hybrid.c | 3 +++ - src/wl/sys/wl_linux.c | 12 ++++++++++++ - 2 files changed, 15 insertions(+) - -diff --git a/src/wl/sys/wl_cfg80211_hybrid.c b/src/wl/sys/wl_cfg80211_hybrid.c -index 84f0068..9fd8ed1 100644 ---- a/src/wl/sys/wl_cfg80211_hybrid.c -+++ b/src/wl/sys/wl_cfg80211_hybrid.c -@@ -30,6 +30,9 @@ - #include - #include - #include -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 11, 0) -+#include -+#endif - #include - #include - #include -diff --git a/src/wl/sys/wl_linux.c b/src/wl/sys/wl_linux.c -index 65d7a22..18841d9 100644 ---- a/src/wl/sys/wl_linux.c -+++ b/src/wl/sys/wl_linux.c -@@ -117,6 +117,9 @@ int wl_found = 0; - - typedef struct priv_link { - wl_if_t *wlif; -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 11, 0) -+ unsigned long last_rx; -+#endif - } priv_link_t; - - #define WL_DEV_IF(dev) ((wl_if_t*)((priv_link_t*)DEV_PRIV(dev))->wlif) -@@ -2451,6 +2454,9 @@ wl_monitor(wl_info_t *wl, wl_rxsts_t *rxsts, void *p) - { - struct sk_buff *oskb = (struct sk_buff *)p; - struct sk_buff *skb; -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 11, 0) -+ priv_link_t *priv_link; -+#endif - uchar *pdata; - uint len; - -@@ -2917,7 +2923,13 @@ wl_monitor(wl_info_t *wl, wl_rxsts_t *rxsts, void *p) - if (skb == NULL) return; - - skb->dev = wl->monitor_dev; -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 11, 0) -+ priv_link = MALLOC(wl->osh, sizeof(priv_link_t)); -+ priv_link = netdev_priv(skb->dev); -+ priv_link->last_rx = jiffies; -+#else - skb->dev->last_rx = jiffies; -+#endif - #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 22) - skb_reset_mac_header(skb); - #else --- -2.45.1 - diff --git a/pkgs/os-specific/linux/broadcom-sta/linux-4.12.patch b/pkgs/os-specific/linux/broadcom-sta/linux-4.12.patch deleted file mode 100644 index aa67a281f45e..000000000000 --- a/pkgs/os-specific/linux/broadcom-sta/linux-4.12.patch +++ /dev/null @@ -1,92 +0,0 @@ -From 2e9c7bd146fbc3b4a62940140eafb47df16b6cb4 Mon Sep 17 00:00:00 2001 -From: aszlig -Date: Tue, 18 Jul 2017 21:32:13 +0200 -Subject: [PATCH 07/16] linuxPackages.broadcom_sta: fix build for kernel 4.12+ - -The patch is from Arch Linux at: - -https://aur.archlinux.org/cgit/aur.git/tree/linux412.patch?h=broadcom-wl - -Tested this by building against the following attributes: - - * linuxPackages.broadcom_sta - * linuxPackages_latest.broadcom_sta - * pkgsI686Linux.linuxPackages.broadcom_sta - * pkgsI686Linux.linuxPackages_latest.broadcom_sta - -I have not tested whether this works at runtime, because I do not possess the hardware. ---- - src/wl/sys/wl_cfg80211_hybrid.c | 29 ++++++++++++++++++++++++++++- - 1 file changed, 28 insertions(+), 1 deletion(-) - -diff --git a/src/wl/sys/wl_cfg80211_hybrid.c b/src/wl/sys/wl_cfg80211_hybrid.c -index 9fd8ed1..1893a53 100644 ---- a/src/wl/sys/wl_cfg80211_hybrid.c -+++ b/src/wl/sys/wl_cfg80211_hybrid.c -@@ -53,7 +53,11 @@ u32 wl_dbg_level = WL_DBG_ERR; - #endif - - static s32 wl_cfg80211_change_iface(struct wiphy *wiphy, struct net_device *ndev, -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 12, 0) -+ enum nl80211_iftype type, struct vif_params *params); -+#else - enum nl80211_iftype type, u32 *flags, struct vif_params *params); -+#endif - #if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 6, 0) - static s32 - wl_cfg80211_scan(struct wiphy *wiphy, -@@ -466,7 +470,11 @@ wl_dev_ioctl(struct net_device *dev, u32 cmd, void *arg, u32 len) - - static s32 - wl_cfg80211_change_iface(struct wiphy *wiphy, struct net_device *ndev, -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 12, 0) -+ enum nl80211_iftype type, -+#else - enum nl80211_iftype type, u32 *flags, -+#endif - struct vif_params *params) - { - struct wl_cfg80211_priv *wl = wiphy_to_wl(wiphy); -@@ -2361,6 +2369,20 @@ wl_bss_roaming_done(struct wl_cfg80211_priv *wl, struct net_device *ndev, - const wl_event_msg_t *e, void *data) - { - struct wl_cfg80211_connect_info *conn_info = wl_to_conn(wl); -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 12, 0) -+ struct cfg80211_bss *bss; -+ struct wlc_ssid *ssid; -+ ssid = &wl->profile->ssid; -+ bss = cfg80211_get_bss(wl_to_wiphy(wl), NULL, (s8 *)&wl->bssid, -+ ssid->SSID, ssid->SSID_len, WLAN_CAPABILITY_ESS, WLAN_CAPABILITY_ESS); -+ struct cfg80211_roam_info roam_info = { -+ .bss = bss, -+ .req_ie = conn_info->req_ie, -+ .req_ie_len = conn_info->req_ie_len, -+ .resp_ie = conn_info->resp_ie, -+ .resp_ie_len = conn_info->resp_ie_len, -+ }; -+#endif - s32 err = 0; - - wl_get_assoc_ies(wl); -@@ -2368,12 +2390,17 @@ wl_bss_roaming_done(struct wl_cfg80211_priv *wl, struct net_device *ndev, - memcpy(&wl->bssid, &e->addr, ETHER_ADDR_LEN); - wl_update_bss_info(wl); - cfg80211_roamed(ndev, -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 12, 0) -+ &roam_info, -+#else - #if LINUX_VERSION_CODE > KERNEL_VERSION(2, 6, 39) - &wl->conf->channel, - #endif - (u8 *)&wl->bssid, - conn_info->req_ie, conn_info->req_ie_len, -- conn_info->resp_ie, conn_info->resp_ie_len, GFP_KERNEL); -+ conn_info->resp_ie, conn_info->resp_ie_len, -+#endif -+ GFP_KERNEL); - WL_DBG(("Report roaming result\n")); - - set_bit(WL_STATUS_CONNECTED, &wl->status); --- -2.45.1 - diff --git a/pkgs/os-specific/linux/broadcom-sta/linux-4.15.patch b/pkgs/os-specific/linux/broadcom-sta/linux-4.15.patch deleted file mode 100644 index 24de530cec5e..000000000000 --- a/pkgs/os-specific/linux/broadcom-sta/linux-4.15.patch +++ /dev/null @@ -1,59 +0,0 @@ -From ae88c3c0c91d26ca5e4dc1e498a370747d2c3b03 Mon Sep 17 00:00:00 2001 -From: Yegor Timoshenko -Date: Wed, 31 Jan 2018 22:59:09 +0000 -Subject: [PATCH 08/16] linuxPackages.broadcom_sta: fix build for kernel 4.15+ - -See: https://lkml.org/lkml/2017/11/25/90 ---- - src/wl/sys/wl_linux.c | 14 ++++++++++++++ - 1 file changed, 14 insertions(+) - -diff --git a/src/wl/sys/wl_linux.c b/src/wl/sys/wl_linux.c -index 18841d9..83b8859 100644 ---- a/src/wl/sys/wl_linux.c -+++ b/src/wl/sys/wl_linux.c -@@ -93,7 +93,11 @@ struct iw_statistics *wl_get_wireless_stats(struct net_device *dev); - - #include - -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 15, 0) -+static void wl_timer(struct timer_list *tl); -+#else - static void wl_timer(ulong data); -+#endif - static void _wl_timer(wl_timer_t *t); - static struct net_device *wl_alloc_linux_if(wl_if_t *wlif); - -@@ -2303,9 +2307,15 @@ wl_timer_task(wl_task_t *task) - } - - static void -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 15, 0) -+wl_timer(struct timer_list *tl) -+{ -+ wl_timer_t *t = from_timer(t, tl, timer); -+#else - wl_timer(ulong data) - { - wl_timer_t *t = (wl_timer_t *)data; -+#endif - - if (!WL_ALL_PASSIVE_ENAB(t->wl)) - _wl_timer(t); -@@ -2357,9 +2367,13 @@ wl_init_timer(wl_info_t *wl, void (*fn)(void *arg), void *arg, const char *tname - - bzero(t, sizeof(wl_timer_t)); - -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 15, 0) -+ timer_setup(&t->timer, wl_timer, 0); -+#else - init_timer(&t->timer); - t->timer.data = (ulong) t; - t->timer.function = wl_timer; -+#endif - t->wl = wl; - t->fn = fn; - t->arg = arg; --- -2.45.1 - diff --git a/pkgs/os-specific/linux/broadcom-sta/linux-4.7.patch b/pkgs/os-specific/linux/broadcom-sta/linux-4.7.patch deleted file mode 100644 index 77e8ad1f024f..000000000000 --- a/pkgs/os-specific/linux/broadcom-sta/linux-4.7.patch +++ /dev/null @@ -1,131 +0,0 @@ -From bc408ef546b08443dabbe8fcdfec5e1e48494ed8 Mon Sep 17 00:00:00 2001 -From: aszlig -Date: Mon, 1 Aug 2016 20:45:47 +0200 -Subject: [PATCH 04/16] linuxPackages.broadcom_sta: fix build for kernel 4.7+ - -Patch is from Arch Linux at: - -https://aur.archlinux.org/cgit/aur.git/tree/?h=broadcom-wl - -I've tested building against 3.18.36, 4.4.16 and 4.7.0. - -Signed-off-by: aszlig -Cc: @phreedom, @vcunat - -Since Linux 4.7, the enum ieee80211_band is no longer used - -This shall cause no problem's since both enums ieee80211_band -and nl80211_band were added in the same commit: -https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit?id=13ae75b103e07304a34ab40c9136e9f53e06475c - -This patch refactors the references of IEEE80211_BAND_* to NL80211_BAND_* - -Reference: -https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit?id=57fbcce37be7c1d2622b56587c10ade00e96afa3 ---- - src/wl/sys/wl_cfg80211_hybrid.c | 24 ++++++++++++------------ - 1 file changed, 12 insertions(+), 12 deletions(-) - -diff --git a/src/wl/sys/wl_cfg80211_hybrid.c b/src/wl/sys/wl_cfg80211_hybrid.c -index 7b606e0..3b438ba 100644 ---- a/src/wl/sys/wl_cfg80211_hybrid.c -+++ b/src/wl/sys/wl_cfg80211_hybrid.c -@@ -236,7 +236,7 @@ static s8 wl_dbg_estr[][WL_DBG_ESTR_MAX] = { - #endif - - #define CHAN2G(_channel, _freq, _flags) { \ -- .band = IEEE80211_BAND_2GHZ, \ -+ .band = NL80211_BAND_2GHZ, \ - .center_freq = (_freq), \ - .hw_value = (_channel), \ - .flags = (_flags), \ -@@ -245,7 +245,7 @@ static s8 wl_dbg_estr[][WL_DBG_ESTR_MAX] = { - } - - #define CHAN5G(_channel, _flags) { \ -- .band = IEEE80211_BAND_5GHZ, \ -+ .band = NL80211_BAND_5GHZ, \ - .center_freq = 5000 + (5 * (_channel)), \ - .hw_value = (_channel), \ - .flags = (_flags), \ -@@ -379,7 +379,7 @@ static struct ieee80211_channel __wl_5ghz_n_channels[] = { - }; - - static struct ieee80211_supported_band __wl_band_2ghz = { -- .band = IEEE80211_BAND_2GHZ, -+ .band = NL80211_BAND_2GHZ, - .channels = __wl_2ghz_channels, - .n_channels = ARRAY_SIZE(__wl_2ghz_channels), - .bitrates = wl_g_rates, -@@ -387,7 +387,7 @@ static struct ieee80211_supported_band __wl_band_2ghz = { - }; - - static struct ieee80211_supported_band __wl_band_5ghz_a = { -- .band = IEEE80211_BAND_5GHZ, -+ .band = NL80211_BAND_5GHZ, - .channels = __wl_5ghz_a_channels, - .n_channels = ARRAY_SIZE(__wl_5ghz_a_channels), - .bitrates = wl_a_rates, -@@ -395,7 +395,7 @@ static struct ieee80211_supported_band __wl_band_5ghz_a = { - }; - - static struct ieee80211_supported_band __wl_band_5ghz_n = { -- .band = IEEE80211_BAND_5GHZ, -+ .band = NL80211_BAND_5GHZ, - .channels = __wl_5ghz_n_channels, - .n_channels = ARRAY_SIZE(__wl_5ghz_n_channels), - .bitrates = wl_a_rates, -@@ -1876,8 +1876,8 @@ static s32 wl_alloc_wdev(struct device *dev, struct wireless_dev **rwdev) - wdev->wiphy->max_num_pmkids = WL_NUM_PMKIDS_MAX; - #endif - wdev->wiphy->interface_modes = BIT(NL80211_IFTYPE_STATION) | BIT(NL80211_IFTYPE_ADHOC); -- wdev->wiphy->bands[IEEE80211_BAND_2GHZ] = &__wl_band_2ghz; -- wdev->wiphy->bands[IEEE80211_BAND_5GHZ] = &__wl_band_5ghz_a; -+ wdev->wiphy->bands[NL80211_BAND_2GHZ] = &__wl_band_2ghz; -+ wdev->wiphy->bands[NL80211_BAND_5GHZ] = &__wl_band_5ghz_a; - wdev->wiphy->signal_type = CFG80211_SIGNAL_TYPE_MBM; - wdev->wiphy->cipher_suites = __wl_cipher_suites; - wdev->wiphy->n_cipher_suites = ARRAY_SIZE(__wl_cipher_suites); -@@ -2000,7 +2000,7 @@ static s32 wl_inform_single_bss(struct wl_cfg80211_priv *wl, struct wl_bss_info - #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 39) - freq = ieee80211_channel_to_frequency(notif_bss_info->channel, - (notif_bss_info->channel <= CH_MAX_2G_CHANNEL) ? -- IEEE80211_BAND_2GHZ : IEEE80211_BAND_5GHZ); -+ NL80211_BAND_2GHZ : NL80211_BAND_5GHZ); - #else - freq = ieee80211_channel_to_frequency(notif_bss_info->channel); - #endif -@@ -2116,7 +2116,7 @@ wl_notify_connect_status(struct wl_cfg80211_priv *wl, struct net_device *ndev, - return err; - } - chan = wf_chspec_ctlchan(chanspec); -- band = (chan <= CH_MAX_2G_CHANNEL) ? IEEE80211_BAND_2GHZ : IEEE80211_BAND_5GHZ; -+ band = (chan <= CH_MAX_2G_CHANNEL) ? NL80211_BAND_2GHZ : NL80211_BAND_5GHZ; - freq = ieee80211_channel_to_frequency(chan, band); - channel = ieee80211_get_channel(wiphy, freq); - cfg80211_ibss_joined(ndev, (u8 *)&wl->bssid, channel, GFP_KERNEL); -@@ -2250,10 +2250,10 @@ static void wl_ch_to_chanspec(struct ieee80211_channel *chan, struct wl_join_par - join_params->params.chanspec_list[0] = - ieee80211_frequency_to_channel(chan->center_freq); - -- if (chan->band == IEEE80211_BAND_2GHZ) { -+ if (chan->band == NL80211_BAND_2GHZ) { - chanspec |= WL_CHANSPEC_BAND_2G; - } -- else if (chan->band == IEEE80211_BAND_5GHZ) { -+ else if (chan->band == NL80211_BAND_5GHZ) { - chanspec |= WL_CHANSPEC_BAND_5G; - } - else { -@@ -2885,7 +2885,7 @@ static s32 wl_update_wiphybands(struct wl_cfg80211_priv *wl) - - if (phy == 'n' || phy == 'a' || phy == 'v') { - wiphy = wl_to_wiphy(wl); -- wiphy->bands[IEEE80211_BAND_5GHZ] = &__wl_band_5ghz_n; -+ wiphy->bands[NL80211_BAND_5GHZ] = &__wl_band_5ghz_n; - } - - return err; --- -2.45.1 - diff --git a/pkgs/os-specific/linux/broadcom-sta/linux-4.8.patch b/pkgs/os-specific/linux/broadcom-sta/linux-4.8.patch deleted file mode 100644 index b5a1f8961107..000000000000 --- a/pkgs/os-specific/linux/broadcom-sta/linux-4.8.patch +++ /dev/null @@ -1,66 +0,0 @@ -From 8c536235639010135f8dc11a8ec0968f9b200a6e Mon Sep 17 00:00:00 2001 -From: Alberto Milone -Date: Fri, 2 Sep 2016 17:35:34 +0200 -Subject: [PATCH 05/16] linuxPackages.broadcom_sta: fix build for kernel 4.8+ - -Original author: Krzysztof Kolasa - -Source: https://git.archlinux.org/svntogit/community.git/tree/trunk/004-linux48.patch?h=packages/broadcom-wl-dkms ---- - src/wl/sys/wl_cfg80211_hybrid.c | 22 ++++++++++++++++++++++ - 1 file changed, 22 insertions(+) - -diff --git a/src/wl/sys/wl_cfg80211_hybrid.c b/src/wl/sys/wl_cfg80211_hybrid.c -index 3b438ba..84f0068 100644 ---- a/src/wl/sys/wl_cfg80211_hybrid.c -+++ b/src/wl/sys/wl_cfg80211_hybrid.c -@@ -2386,8 +2386,16 @@ wl_bss_connect_done(struct wl_cfg80211_priv *wl, struct net_device *ndev, - s32 err = 0; - - if (wl->scan_request) { -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 8, 0) -+ struct cfg80211_scan_info info = { -+ .aborted = true, -+ }; -+ WL_DBG(("%s: Aborting scan\n", __FUNCTION__)); -+ cfg80211_scan_done(wl->scan_request, &info); -+#else - WL_DBG(("%s: Aborting scan\n", __FUNCTION__)); - cfg80211_scan_done(wl->scan_request, true); -+#endif - wl->scan_request = NULL; - } - -@@ -2488,7 +2496,14 @@ wl_notify_scan_status(struct wl_cfg80211_priv *wl, struct net_device *ndev, - - scan_done_out: - if (wl->scan_request) { -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 8, 0) -+ struct cfg80211_scan_info info = { -+ .aborted = false, -+ }; -+ cfg80211_scan_done(wl->scan_request, &info); -+#else - cfg80211_scan_done(wl->scan_request, false); -+#endif - wl->scan_request = NULL; - } - rtnl_unlock(); -@@ -2913,7 +2928,14 @@ s32 wl_cfg80211_down(struct net_device *ndev) - s32 err = 0; - - if (wl->scan_request) { -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 8, 0) -+ struct cfg80211_scan_info info = { -+ .aborted = true, -+ }; -+ cfg80211_scan_done(wl->scan_request, &info); -+#else - cfg80211_scan_done(wl->scan_request, true); -+#endif - wl->scan_request = NULL; - } - --- -2.45.1 - diff --git a/pkgs/os-specific/linux/broadcom-sta/linux-5.1.patch b/pkgs/os-specific/linux/broadcom-sta/linux-5.1.patch deleted file mode 100644 index 8932903a9735..000000000000 --- a/pkgs/os-specific/linux/broadcom-sta/linux-5.1.patch +++ /dev/null @@ -1,39 +0,0 @@ -From 35c712b7ad2b20088a1a4e233f1d22d7f6dc2525 Mon Sep 17 00:00:00 2001 -From: georgewhewell -Date: Sat, 18 May 2019 21:36:26 +0100 -Subject: [PATCH 09/16] linuxPackages.broadcom_sta: fix build for kernel 5.1+ - ---- - src/wl/sys/wl_cfg80211_hybrid.c | 2 +- - src/wl/sys/wl_iw.c | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/src/wl/sys/wl_cfg80211_hybrid.c b/src/wl/sys/wl_cfg80211_hybrid.c -index 1893a53..4b3298f 100644 ---- a/src/wl/sys/wl_cfg80211_hybrid.c -+++ b/src/wl/sys/wl_cfg80211_hybrid.c -@@ -457,7 +457,7 @@ wl_dev_ioctl(struct net_device *dev, u32 cmd, void *arg, u32 len) - ifr.ifr_data = (caddr_t)&ioc; - - fs = get_fs(); -- set_fs(get_ds()); -+ set_fs(KERNEL_DS); - #if defined(WL_USE_NETDEV_OPS) - err = dev->netdev_ops->ndo_do_ioctl(dev, &ifr, SIOCDEVPRIVATE); - #else -diff --git a/src/wl/sys/wl_iw.c b/src/wl/sys/wl_iw.c -index c4c610b..9c3c74e 100644 ---- a/src/wl/sys/wl_iw.c -+++ b/src/wl/sys/wl_iw.c -@@ -117,7 +117,7 @@ dev_wlc_ioctl( - ifr.ifr_data = (caddr_t) &ioc; - - fs = get_fs(); -- set_fs(get_ds()); -+ set_fs(KERNEL_DS); - #if defined(WL_USE_NETDEV_OPS) - ret = dev->netdev_ops->ndo_do_ioctl(dev, &ifr, SIOCDEVPRIVATE); - #else --- -2.45.1 - diff --git a/pkgs/os-specific/linux/broadcom-sta/linux-5.17.patch b/pkgs/os-specific/linux/broadcom-sta/linux-5.17.patch deleted file mode 100644 index 6299ec752e67..000000000000 --- a/pkgs/os-specific/linux/broadcom-sta/linux-5.17.patch +++ /dev/null @@ -1,69 +0,0 @@ -From a5e450dcdc7bc4ce06379189c3577f8c7a36fbde Mon Sep 17 00:00:00 2001 -From: Joan Bruguera -Date: Wed, 12 Jan 2022 20:49:20 +0100 -Subject: [PATCH 12/16] linuxPackages.broadcom_sta: fix build for kernel 5.17+ - -Tentative fix for broadcom-wl 6.30.223.271 driver for Linux 5.17-rc1 - -Set netdev->dev_addr through dev_addr_mod + PDE_DATA fix - -Since Linux 5.17 netdev->dev_addr is const and must be changed through -dev_addr_mod, otherwise a warning is logged in dmesg and bad things may happen. - -NB: The #if is not wrong, dev_addr_mod is defined since Linux 5.15-rc1 - -Plus a trivial fix for PDE_DATA. - -Applies on top of all the patches applied to broadcom-wl-dkms 6.30.223.271-28 on Arch Linux. - -See also: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=adeef3e32146a8d2a73c399dc6f5d76a449131b1 - https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=359745d78351c6f5442435f81549f0207ece28aa ---- - src/wl/sys/wl_linux.c | 10 +++++++--- - 1 file changed, 7 insertions(+), 3 deletions(-) - -diff --git a/src/wl/sys/wl_linux.c b/src/wl/sys/wl_linux.c -index 26ba9fa..25c4706 100644 ---- a/src/wl/sys/wl_linux.c -+++ b/src/wl/sys/wl_linux.c -@@ -93,6 +93,10 @@ struct iw_statistics *wl_get_wireless_stats(struct net_device *dev); - - #include - -+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5, 17, 0)) -+#define PDE_DATA pde_data -+#endif -+ - #if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 15, 0) - static void wl_timer(struct timer_list *tl); - #else -@@ -646,7 +650,7 @@ wl_attach(uint16 vendor, uint16 device, ulong regs, - WL_ERROR(("wl%d: Error setting MAC ADDRESS\n", unit)); - } - #endif -- bcopy(&wl->pub->cur_etheraddr, dev->dev_addr, ETHER_ADDR_LEN); -+ eth_hw_addr_set(dev, wl->pub->cur_etheraddr.octet); - - online_cpus = 1; - -@@ -1852,7 +1856,7 @@ wl_set_mac_address(struct net_device *dev, void *addr) - - WL_LOCK(wl); - -- bcopy(sa->sa_data, dev->dev_addr, ETHER_ADDR_LEN); -+ eth_hw_addr_set(dev, sa->sa_data); - err = wlc_iovar_op(wl->wlc, "cur_etheraddr", NULL, 0, sa->sa_data, ETHER_ADDR_LEN, - IOV_SET, (WL_DEV_IF(dev))->wlcif); - WL_UNLOCK(wl); -@@ -3033,7 +3037,7 @@ _wl_add_monitor_if(wl_task_t *task) - else - dev->type = ARPHRD_IEEE80211_RADIOTAP; - -- bcopy(wl->dev->dev_addr, dev->dev_addr, ETHER_ADDR_LEN); -+ eth_hw_addr_set(dev, wl->dev->dev_addr); - - #if defined(WL_USE_NETDEV_OPS) - dev->netdev_ops = &wl_netdev_monitor_ops; --- -2.45.1 - diff --git a/pkgs/os-specific/linux/broadcom-sta/linux-5.18.patch b/pkgs/os-specific/linux/broadcom-sta/linux-5.18.patch deleted file mode 100644 index 6e72d47a842a..000000000000 --- a/pkgs/os-specific/linux/broadcom-sta/linux-5.18.patch +++ /dev/null @@ -1,84 +0,0 @@ -From 6c66b0eaaa3e6ebaa84891298715b71f7b2f0b1c Mon Sep 17 00:00:00 2001 -From: X9VoiD -Date: Mon, 13 Jun 2022 17:38:18 +0800 -Subject: [PATCH 13/16] linuxPackages.broadcom_sta: fix build for kernel 5.18+ - ---- - src/shared/linux_osl.c | 21 +++++++++++++++++++++ - 1 file changed, 21 insertions(+) - -diff --git a/src/shared/linux_osl.c b/src/shared/linux_osl.c -index dcfc075..5a25b82 100644 ---- a/src/shared/linux_osl.c -+++ b/src/shared/linux_osl.c -@@ -599,6 +599,8 @@ osl_dma_alloc_consistent(osl_t *osh, uint size, uint16 align_bits, uint *alloced - va = kmalloc(size, GFP_ATOMIC | __GFP_ZERO); - if (va) - *pap = (ulong)__virt_to_phys(va); -+#elif LINUX_VERSION_CODE >= KERNEL_VERSION(5, 18, 0) -+ va = dma_alloc_coherent(&((struct pci_dev *)osh->pdev)->dev, size, (dma_addr_t*)pap, GFP_ATOMIC); - #else - va = pci_alloc_consistent(osh->pdev, size, (dma_addr_t*)pap); - #endif -@@ -612,6 +614,8 @@ osl_dma_free_consistent(osl_t *osh, void *va, uint size, ulong pa) - - #ifdef __ARM_ARCH_7A__ - kfree(va); -+#elif LINUX_VERSION_CODE >= KERNEL_VERSION(5, 18, 0) -+ dma_free_coherent(&((struct pci_dev *)osh->pdev)->dev, size, va, (dma_addr_t)pa); - #else - pci_free_consistent(osh->pdev, size, va, (dma_addr_t)pa); - #endif -@@ -623,7 +627,11 @@ osl_dma_map(osl_t *osh, void *va, uint size, int direction, void *p, hnddma_seg_ - int dir; - - ASSERT((osh && (osh->magic == OS_HANDLE_MAGIC))); -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 18, 0) -+ dir = (direction == DMA_TX)? DMA_TO_DEVICE: DMA_FROM_DEVICE; -+#else - dir = (direction == DMA_TX)? PCI_DMA_TODEVICE: PCI_DMA_FROMDEVICE; -+#endif - - #if defined(__ARM_ARCH_7A__) && defined(BCMDMASGLISTOSL) - if (dmah != NULL) { -@@ -641,7 +649,11 @@ osl_dma_map(osl_t *osh, void *va, uint size, int direction, void *p, hnddma_seg_ - ASSERT(totsegs + nsegs <= MAX_DMA_SEGS); - sg->page_link = 0; - sg_set_buf(sg, PKTDATA(osh, skb), PKTLEN(osh, skb)); -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 18, 0) -+ dma_map_single(&((struct pci_dev *)osh->pdev)->dev, PKTDATA(osh, skb), PKTLEN(osh, skb), dir); -+#else - pci_map_single(osh->pdev, PKTDATA(osh, skb), PKTLEN(osh, skb), dir); -+#endif - } - totsegs += nsegs; - totlen += PKTLEN(osh, skb); -@@ -656,7 +668,11 @@ osl_dma_map(osl_t *osh, void *va, uint size, int direction, void *p, hnddma_seg_ - } - #endif - -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 18, 0) -+ return (dma_map_single(&((struct pci_dev *)osh->pdev)->dev, va, size, dir)); -+#else - return (pci_map_single(osh->pdev, va, size, dir)); -+#endif - } - - void BCMFASTPATH -@@ -665,8 +681,13 @@ osl_dma_unmap(osl_t *osh, uint pa, uint size, int direction) - int dir; - - ASSERT((osh && (osh->magic == OS_HANDLE_MAGIC))); -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 18, 0) -+ dir = (direction == DMA_TX)? DMA_TO_DEVICE: DMA_FROM_DEVICE; -+ dma_unmap_single(&((struct pci_dev *)osh->pdev)->dev, (uint32)pa, size, dir); -+#else - dir = (direction == DMA_TX)? PCI_DMA_TODEVICE: PCI_DMA_FROMDEVICE; - pci_unmap_single(osh->pdev, (uint32)pa, size, dir); -+#endif - } - - #if defined(BCMDBG_ASSERT) --- -2.45.1 - diff --git a/pkgs/os-specific/linux/broadcom-sta/linux-5.6.patch b/pkgs/os-specific/linux/broadcom-sta/linux-5.6.patch deleted file mode 100644 index f922cdd97ecd..000000000000 --- a/pkgs/os-specific/linux/broadcom-sta/linux-5.6.patch +++ /dev/null @@ -1,92 +0,0 @@ -From 24decccfadc0d95b973e6dd8d476ddde2f0a4b21 Mon Sep 17 00:00:00 2001 -From: Herman van Hazendonk -Date: Tue, 31 Mar 2020 17:09:55 +0200 -Subject: [PATCH 10/16] linuxPackages.broadcom_sta: fix build for kernel 5.6+ - -Use ioremap instead of ioremap_nocache and proc_ops instead of file_operations on Linux kernel 5.6 and above. - -Signed-off-by: Herman van Hazendonk - -Source: https://salsa.debian.org/Herrie82-guest/broadcom-sta/-/commit/247307926e5540ad574a17c062c8da76990d056f ---- - src/shared/linux_osl.c | 6 +++++- - src/wl/sys/wl_linux.c | 21 ++++++++++++++++++++- - 2 files changed, 25 insertions(+), 2 deletions(-) - -diff --git a/src/shared/linux_osl.c b/src/shared/linux_osl.c -index 6157d18..dcfc075 100644 ---- a/src/shared/linux_osl.c -+++ b/src/shared/linux_osl.c -@@ -942,7 +942,11 @@ osl_getcycles(void) - void * - osl_reg_map(uint32 pa, uint size) - { -- return (ioremap_nocache((unsigned long)pa, (unsigned long)size)); -+ #if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 6, 0) -+ return (ioremap((unsigned long)pa, (unsigned long)size)); -+ #else -+ return (ioremap_nocache((unsigned long)pa, (unsigned long)size)); -+ #endif /* LINUX_VERSION_CODE >= KERNEL_VERSION(5, 6, 0) */ - } - - void -diff --git a/src/wl/sys/wl_linux.c b/src/wl/sys/wl_linux.c -index 83b8859..646f1d9 100644 ---- a/src/wl/sys/wl_linux.c -+++ b/src/wl/sys/wl_linux.c -@@ -591,10 +591,17 @@ wl_attach(uint16 vendor, uint16 device, ulong regs, - } - wl->bcm_bustype = bustype; - -+ #if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 6, 0) -+ if ((wl->regsva = ioremap(dev->base_addr, PCI_BAR0_WINSZ)) == NULL) { -+ WL_ERROR(("wl%d: ioremap() failed\n", unit)); -+ goto fail; -+ } -+ #else - if ((wl->regsva = ioremap_nocache(dev->base_addr, PCI_BAR0_WINSZ)) == NULL) { - WL_ERROR(("wl%d: ioremap() failed\n", unit)); - goto fail; - } -+ #endif /* LINUX_VERSION_CODE >= KERNEL_VERSION(5, 6, 0) */ - - wl->bar1_addr = bar1_addr; - wl->bar1_size = bar1_size; -@@ -781,8 +788,13 @@ wl_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent) - if ((val & 0x0000ff00) != 0) - pci_write_config_dword(pdev, 0x40, val & 0xffff00ff); - bar1_size = pci_resource_len(pdev, 2); -+ #if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 6, 0) -+ bar1_addr = (uchar *)ioremap(pci_resource_start(pdev, 2), -+ bar1_size); -+ #else - bar1_addr = (uchar *)ioremap_nocache(pci_resource_start(pdev, 2), - bar1_size); -+ #endif /* LINUX_VERSION_CODE >= KERNEL_VERSION(5, 6, 0) */ - wl = wl_attach(pdev->vendor, pdev->device, pci_resource_start(pdev, 0), PCI_BUS, pdev, - pdev->irq, bar1_addr, bar1_size); - -@@ -3363,12 +3375,19 @@ wl_proc_write(struct file *filp, const char __user *buff, size_t length, loff_t - } - - #if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 10, 0) -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 6, 0) -+static const struct proc_ops wl_fops = { -+ .proc_read = wl_proc_read, -+ .proc_write = wl_proc_write, -+}; -+#else - static const struct file_operations wl_fops = { - .owner = THIS_MODULE, - .read = wl_proc_read, - .write = wl_proc_write, - }; --#endif -+#endif /* LINUX_VERSION_CODE >= KERNEL_VERSION(5, 6, 0) */ -+#endif /* LINUX_VERSION_CODE >= KERNEL_VERSION(3, 10, 0) */ - - static int - wl_reg_proc_entry(wl_info_t *wl) --- -2.45.1 - diff --git a/pkgs/os-specific/linux/broadcom-sta/linux-5.9.patch b/pkgs/os-specific/linux/broadcom-sta/linux-5.9.patch deleted file mode 100644 index d3e32c6b3e24..000000000000 --- a/pkgs/os-specific/linux/broadcom-sta/linux-5.9.patch +++ /dev/null @@ -1,214 +0,0 @@ -From 34d611f2dcf7d34db2cb413cc7b4f86f3706fec6 Mon Sep 17 00:00:00 2001 -From: Joan Bruguera -Date: Tue, 13 Oct 2020 19:35:55 +0200 -Subject: [PATCH 11/16] linuxPackages.broadcom_sta: fix build for kernel 5.9+ - -Get rid of get_fs/set_fs calls in Broadcom WL driver. - -Tentative patch for broadcom-wl 6.30.223.271 driver for Linux 5.10 (tested -rc1 up to 5.10.1) - -Applies on top of all the patches applied to broadcom-wl-dkms 6.30.223.271-23 on Arch Linux. - -NB: Some checks in wlc_ioctl_internal are likely superfluous, - but I'm not familiar enough with the driver to remove them with confidence. - -See also: https://lwn.net/Articles/722267/ - https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=47058bb54b57962b3958a936ddbc59355e4c5504 - https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=5e6e9852d6f76e01b2e6803c74258afa5b432bc5 - -Signed-off-by: Joan Bruguera ---- - src/wl/sys/wl_cfg80211_hybrid.c | 26 ++------------------- - src/wl/sys/wl_iw.c | 25 ++------------------- - src/wl/sys/wl_linux.c | 40 ++++++++++++++++++++++++++++----- - src/wl/sys/wl_linux.h | 2 ++ - src/wl/sys/wlc_pub.h | 1 + - 5 files changed, 42 insertions(+), 52 deletions(-) - -diff --git a/src/wl/sys/wl_cfg80211_hybrid.c b/src/wl/sys/wl_cfg80211_hybrid.c -index 4b3298f..c45ad48 100644 ---- a/src/wl/sys/wl_cfg80211_hybrid.c -+++ b/src/wl/sys/wl_cfg80211_hybrid.c -@@ -41,6 +41,7 @@ - #include - #include - #include -+#include - - #define EVENT_TYPE(e) dtoh32((e)->event_type) - #define EVENT_FLAGS(e) dtoh16((e)->flags) -@@ -442,30 +443,7 @@ static void key_endian_to_host(struct wl_wsec_key *key) - static s32 - wl_dev_ioctl(struct net_device *dev, u32 cmd, void *arg, u32 len) - { -- struct ifreq ifr; -- struct wl_ioctl ioc; -- mm_segment_t fs; -- s32 err = 0; -- -- BUG_ON(len < sizeof(int)); -- -- memset(&ioc, 0, sizeof(ioc)); -- ioc.cmd = cmd; -- ioc.buf = arg; -- ioc.len = len; -- strcpy(ifr.ifr_name, dev->name); -- ifr.ifr_data = (caddr_t)&ioc; -- -- fs = get_fs(); -- set_fs(KERNEL_DS); --#if defined(WL_USE_NETDEV_OPS) -- err = dev->netdev_ops->ndo_do_ioctl(dev, &ifr, SIOCDEVPRIVATE); --#else -- err = dev->do_ioctl(dev, &ifr, SIOCDEVPRIVATE); --#endif -- set_fs(fs); -- -- return err; -+ return wlc_ioctl_internal(dev, cmd, arg, len); - } - - static s32 -diff --git a/src/wl/sys/wl_iw.c b/src/wl/sys/wl_iw.c -index 9c3c74e..e346b15 100644 ---- a/src/wl/sys/wl_iw.c -+++ b/src/wl/sys/wl_iw.c -@@ -37,6 +37,7 @@ typedef const struct si_pub si_t; - - #include - #include -+#include - - extern bool wl_iw_conn_status_str(uint32 event_type, uint32 status, - uint32 reason, char* stringBuf, uint buflen); -@@ -103,29 +104,7 @@ dev_wlc_ioctl( - int len - ) - { -- struct ifreq ifr; -- wl_ioctl_t ioc; -- mm_segment_t fs; -- int ret; -- -- memset(&ioc, 0, sizeof(ioc)); -- ioc.cmd = cmd; -- ioc.buf = arg; -- ioc.len = len; -- -- strcpy(ifr.ifr_name, dev->name); -- ifr.ifr_data = (caddr_t) &ioc; -- -- fs = get_fs(); -- set_fs(KERNEL_DS); --#if defined(WL_USE_NETDEV_OPS) -- ret = dev->netdev_ops->ndo_do_ioctl(dev, &ifr, SIOCDEVPRIVATE); --#else -- ret = dev->do_ioctl(dev, &ifr, SIOCDEVPRIVATE); --#endif -- set_fs(fs); -- -- return ret; -+ return wlc_ioctl_internal(dev, cmd, arg, len); - } - - static int -diff --git a/src/wl/sys/wl_linux.c b/src/wl/sys/wl_linux.c -index 646f1d9..26ba9fa 100644 ---- a/src/wl/sys/wl_linux.c -+++ b/src/wl/sys/wl_linux.c -@@ -1664,10 +1664,7 @@ wl_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd) - goto done2; - } - -- if (segment_eq(get_fs(), KERNEL_DS)) -- buf = ioc.buf; -- -- else if (ioc.buf) { -+ if (ioc.buf) { - if (!(buf = (void *) MALLOC(wl->osh, MAX(ioc.len, WLC_IOCTL_MAXLEN)))) { - bcmerror = BCME_NORESOURCE; - goto done2; -@@ -1688,7 +1685,7 @@ wl_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd) - WL_UNLOCK(wl); - - done1: -- if (ioc.buf && (ioc.buf != buf)) { -+ if (ioc.buf) { - if (copy_to_user(ioc.buf, buf, ioc.len)) - bcmerror = BCME_BADADDR; - MFREE(wl->osh, buf, MAX(ioc.len, WLC_IOCTL_MAXLEN)); -@@ -1701,6 +1698,39 @@ done2: - return (OSL_ERROR(bcmerror)); - } - -+int -+wlc_ioctl_internal(struct net_device *dev, int cmd, void *buf, int len) -+{ -+ wl_info_t *wl; -+ wl_if_t *wlif; -+ int bcmerror; -+ -+ if (!dev) -+ return -ENETDOWN; -+ -+ wl = WL_INFO(dev); -+ wlif = WL_DEV_IF(dev); -+ if (wlif == NULL || wl == NULL || wl->dev == NULL) -+ return -ENETDOWN; -+ -+ bcmerror = 0; -+ -+ WL_TRACE(("wl%d: wlc_ioctl_internal: cmd 0x%x\n", wl->pub->unit, cmd)); -+ -+ WL_LOCK(wl); -+ if (!capable(CAP_NET_ADMIN)) { -+ bcmerror = BCME_EPERM; -+ } else { -+ bcmerror = wlc_ioctl(wl->wlc, cmd, buf, len, wlif->wlcif); -+ } -+ WL_UNLOCK(wl); -+ -+ ASSERT(VALID_BCMERROR(bcmerror)); -+ if (bcmerror != 0) -+ wl->pub->bcmerror = bcmerror; -+ return (OSL_ERROR(bcmerror)); -+} -+ - static struct net_device_stats* - wl_get_stats(struct net_device *dev) - { -diff --git a/src/wl/sys/wl_linux.h b/src/wl/sys/wl_linux.h -index 5b1048e..c8c1f41 100644 ---- a/src/wl/sys/wl_linux.h -+++ b/src/wl/sys/wl_linux.h -@@ -22,6 +22,7 @@ - #define _wl_linux_h_ - - #include -+#include - - typedef struct wl_timer { - struct timer_list timer; -@@ -187,6 +188,7 @@ extern irqreturn_t wl_isr(int irq, void *dev_id, struct pt_regs *ptregs); - extern int __devinit wl_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent); - extern void wl_free(wl_info_t *wl); - extern int wl_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd); -+extern int wlc_ioctl_internal(struct net_device *dev, int cmd, void *buf, int len); - extern struct net_device * wl_netdev_get(wl_info_t *wl); - - #endif -diff --git a/src/wl/sys/wlc_pub.h b/src/wl/sys/wlc_pub.h -index 53a98b8..2b5a029 100644 ---- a/src/wl/sys/wlc_pub.h -+++ b/src/wl/sys/wlc_pub.h -@@ -24,6 +24,7 @@ - - #include - #include -+#include - #include "proto/802.11.h" - #include "proto/bcmevent.h" - --- -2.45.1 - diff --git a/pkgs/os-specific/linux/broadcom-sta/linux-6.0.patch b/pkgs/os-specific/linux/broadcom-sta/linux-6.0.patch deleted file mode 100644 index 12436c9fd852..000000000000 --- a/pkgs/os-specific/linux/broadcom-sta/linux-6.0.patch +++ /dev/null @@ -1,34 +0,0 @@ -From cec136ba06039aa2e4441771df855894391db298 Mon Sep 17 00:00:00 2001 -From: Joan Bruguera -Date: Thu, 30 Jun 2022 02:15:35 +0200 -Subject: [PATCH 14/16] linuxPackages.broadcom_sta: fix build for kernel 6.0+ - -Tentative patch for broadcom-wl 6.30.223.271 driver for Linux 6.0-rc1 - -Applies on top of all the patches applied to broadcom-wl-dkms 6.30.223.271-33 on Arch Linux. - -Source: https://gist.github.com/joanbm/207210d74637870c01ef5a3c262a597d ---- - src/wl/sys/wl_cfg80211_hybrid.c | 5 +++++ - 1 file changed, 5 insertions(+) - -diff --git a/src/wl/sys/wl_cfg80211_hybrid.c b/src/wl/sys/wl_cfg80211_hybrid.c -index c45ad48..9ae56a1 100644 ---- a/src/wl/sys/wl_cfg80211_hybrid.c -+++ b/src/wl/sys/wl_cfg80211_hybrid.c -@@ -2354,7 +2354,12 @@ wl_bss_roaming_done(struct wl_cfg80211_priv *wl, struct net_device *ndev, - bss = cfg80211_get_bss(wl_to_wiphy(wl), NULL, (s8 *)&wl->bssid, - ssid->SSID, ssid->SSID_len, WLAN_CAPABILITY_ESS, WLAN_CAPABILITY_ESS); - struct cfg80211_roam_info roam_info = { -+// Rel. commit "cfg80211: Indicate MLO connection info in connect and roam callbacks" (Veerendranath Jakkam, Wed Jun 8) -+#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 0, 0) - .bss = bss, -+#else -+ .links[0].bss = bss, -+#endif - .req_ie = conn_info->req_ie, - .req_ie_len = conn_info->req_ie_len, - .resp_ie = conn_info->resp_ie, --- -2.45.1 - diff --git a/pkgs/os-specific/linux/broadcom-sta/linux-6.1.patch b/pkgs/os-specific/linux/broadcom-sta/linux-6.1.patch deleted file mode 100644 index 8991efe8b27c..000000000000 --- a/pkgs/os-specific/linux/broadcom-sta/linux-6.1.patch +++ /dev/null @@ -1,87 +0,0 @@ -From febe94b43294a3155e39e844db4ac4ee81614ad1 Mon Sep 17 00:00:00 2001 -From: Joan Bruguera -Date: Mon, 29 Aug 2022 00:06:53 +0200 -Subject: [PATCH 16/16] linuxPackages.broadcom_sta: fix build for kernel 6.1+ - -Tentative patch for broadcom-wl 6.30.223.271 driver for Linux 6.1-rc1 - -Applies on top of all the patches applied to broadcom-wl-dkms 6.30.223.271-35 on Arch Linux - -Source: https://gist.github.com/joanbm/94323ea99eff1e1d1c51241b5b651549 ---- - src/wl/sys/wl_cfg80211_hybrid.c | 21 +++++++++++++-------- - 1 file changed, 13 insertions(+), 8 deletions(-) - -diff --git a/src/wl/sys/wl_cfg80211_hybrid.c b/src/wl/sys/wl_cfg80211_hybrid.c -index a6b2ca2..333866c 100644 ---- a/src/wl/sys/wl_cfg80211_hybrid.c -+++ b/src/wl/sys/wl_cfg80211_hybrid.c -@@ -104,20 +104,25 @@ static s32 wl_cfg80211_get_tx_power(struct wiphy *wiphy, struct wireless_dev *wd - static s32 wl_cfg80211_get_tx_power(struct wiphy *wiphy, s32 *dbm); - #endif - -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 1, 0) -+#define MAYBE_INT_LINK_ID int link_id, -+#else -+#define MAYBE_INT_LINK_ID -+#endif - #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 38) - static s32 wl_cfg80211_config_default_key(struct wiphy *wiphy, -- struct net_device *dev, u8 key_idx, bool unicast, bool multicast); -+ struct net_device *dev, MAYBE_INT_LINK_ID u8 key_idx, bool unicast, bool multicast); - #else - static s32 wl_cfg80211_config_default_key(struct wiphy *wiphy, - struct net_device *dev, u8 key_idx); - #endif - #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 37) - static s32 wl_cfg80211_add_key(struct wiphy *wiphy, struct net_device *dev, -- u8 key_idx, bool pairwise, const u8 *mac_addr, struct key_params *params); -+ MAYBE_INT_LINK_ID u8 key_idx, bool pairwise, const u8 *mac_addr, struct key_params *params); - static s32 wl_cfg80211_del_key(struct wiphy *wiphy, struct net_device *dev, -- u8 key_idx, bool pairwise, const u8 *mac_addr); -+ MAYBE_INT_LINK_ID u8 key_idx, bool pairwise, const u8 *mac_addr); - static s32 wl_cfg80211_get_key(struct wiphy *wiphy, struct net_device *dev, -- u8 key_idx, bool pairwise, const u8 *mac_addr, -+ MAYBE_INT_LINK_ID u8 key_idx, bool pairwise, const u8 *mac_addr, - void *cookie, void (*callback) (void *cookie, struct key_params *params)); - #else - static s32 wl_cfg80211_add_key(struct wiphy *wiphy, struct net_device *dev, -@@ -1165,7 +1170,7 @@ static s32 wl_cfg80211_get_tx_power(struct wiphy *wiphy, s32 *dbm) - #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 38) - static s32 - wl_cfg80211_config_default_key(struct wiphy *wiphy, -- struct net_device *dev, u8 key_idx, bool unicast, bool multicast) -+ struct net_device *dev, MAYBE_INT_LINK_ID u8 key_idx, bool unicast, bool multicast) - #else - static s32 - wl_cfg80211_config_default_key(struct wiphy *wiphy, -@@ -1190,7 +1195,7 @@ wl_cfg80211_config_default_key(struct wiphy *wiphy, - #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 37) - static s32 - wl_cfg80211_add_key(struct wiphy *wiphy, struct net_device *dev, -- u8 key_idx, bool pairwise, const u8 *mac_addr, struct key_params *params) -+ MAYBE_INT_LINK_ID u8 key_idx, bool pairwise, const u8 *mac_addr, struct key_params *params) - #else - static s32 - wl_cfg80211_add_key(struct wiphy *wiphy, struct net_device *dev, -@@ -1311,7 +1316,7 @@ wl_cfg80211_add_key(struct wiphy *wiphy, struct net_device *dev, - #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 37) - static s32 - wl_cfg80211_del_key(struct wiphy *wiphy, struct net_device *dev, -- u8 key_idx, bool pairwise, const u8 *mac_addr) -+ MAYBE_INT_LINK_ID u8 key_idx, bool pairwise, const u8 *mac_addr) - #else - static s32 - wl_cfg80211_del_key(struct wiphy *wiphy, struct net_device *dev, -@@ -1354,7 +1359,7 @@ wl_cfg80211_del_key(struct wiphy *wiphy, struct net_device *dev, - #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 37) - static s32 - wl_cfg80211_get_key(struct wiphy *wiphy, struct net_device *dev, -- u8 key_idx, bool pairwise, const u8 *mac_addr, void *cookie, -+ MAYBE_INT_LINK_ID u8 key_idx, bool pairwise, const u8 *mac_addr, void *cookie, - void (*callback) (void *cookie, struct key_params * params)) - #else - static s32 --- -2.45.1 - diff --git a/pkgs/os-specific/linux/broadcom-sta/null-pointer-fix.patch b/pkgs/os-specific/linux/broadcom-sta/null-pointer-fix.patch deleted file mode 100644 index ff15d295a8c7..000000000000 --- a/pkgs/os-specific/linux/broadcom-sta/null-pointer-fix.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 507d93e3651d78c1df8bd185b0703872d0c2585b Mon Sep 17 00:00:00 2001 -From: aszlig -Date: Mon, 1 Aug 2016 21:00:02 +0200 -Subject: [PATCH 03/16] linuxPackages.broadcom_sta: fix NULL pointer deref - -The patch is from the following Gentoo bug: - -https://bugs.gentoo.org/show_bug.cgi?id=523326#c24 - -Built successfully against Linux 3.18.36, 4.4.16 and 4.7.0. - -Signed-off-by: aszlig -Cc: @phreedom, @vcunat ---- - src/wl/sys/wl_linux.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/wl/sys/wl_linux.c b/src/wl/sys/wl_linux.c -index 14922c0..65d7a22 100644 ---- a/src/wl/sys/wl_linux.c -+++ b/src/wl/sys/wl_linux.c -@@ -2167,8 +2167,8 @@ wl_start(struct sk_buff *skb, struct net_device *dev) - wlif = WL_DEV_IF(dev); - wl = WL_INFO(dev); - -+ skb->prev = NULL; - if (WL_ALL_PASSIVE_ENAB(wl) || (WL_RTR() && WL_CONFIG_SMP())) { -- skb->prev = NULL; - - TXQ_LOCK(wl); - --- -2.45.1 - diff --git a/pkgs/os-specific/linux/broadcom-sta/pedantic-fix.patch b/pkgs/os-specific/linux/broadcom-sta/pedantic-fix.patch deleted file mode 100644 index dfe2cf18bcae..000000000000 --- a/pkgs/os-specific/linux/broadcom-sta/pedantic-fix.patch +++ /dev/null @@ -1,115 +0,0 @@ -From 99b1bbc01ea0611e93cb94c2a2532aef96676976 Mon Sep 17 00:00:00 2001 -From: X9VoiD -Date: Wed, 19 Oct 2022 00:29:28 +0800 -Subject: [PATCH 15/16] linuxPackages.broadcom_sta: fix build issues with - kernel 6.0+ - ---- - src/shared/linux_osl.c | 2 +- - src/wl/sys/wl_cfg80211_hybrid.c | 17 ++++++++--------- - src/wl/sys/wl_iw.h | 1 - - src/wl/sys/wl_linux.c | 17 +++++++++-------- - 4 files changed, 18 insertions(+), 19 deletions(-) - -diff --git a/src/shared/linux_osl.c b/src/shared/linux_osl.c -index 5a25b82..18bacb6 100644 ---- a/src/shared/linux_osl.c -+++ b/src/shared/linux_osl.c -@@ -1101,7 +1101,7 @@ osl_os_get_image_block(char *buf, int len, void *image) - if (!image) - return 0; - -- rdlen = kernel_read(fp, fp->f_pos, buf, len); -+ rdlen = kernel_read(fp, (void *)fp->f_pos, (size_t)len, (loff_t *)buf); - if (rdlen > 0) - fp->f_pos += rdlen; - -diff --git a/src/wl/sys/wl_cfg80211_hybrid.c b/src/wl/sys/wl_cfg80211_hybrid.c -index 9ae56a1..a6b2ca2 100644 ---- a/src/wl/sys/wl_cfg80211_hybrid.c -+++ b/src/wl/sys/wl_cfg80211_hybrid.c -@@ -790,6 +790,7 @@ wl_set_auth_type(struct net_device *dev, struct cfg80211_connect_params *sme) - break; - case NL80211_AUTHTYPE_NETWORK_EAP: - WL_DBG(("network eap\n")); -+ break; - default: - val = 2; - WL_ERR(("invalid auth type (%d)\n", sme->auth_type)); -@@ -2347,26 +2348,24 @@ wl_bss_roaming_done(struct wl_cfg80211_priv *wl, struct net_device *ndev, - const wl_event_msg_t *e, void *data) - { - struct wl_cfg80211_connect_info *conn_info = wl_to_conn(wl); -+ s32 err = 0; - #if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 12, 0) - struct cfg80211_bss *bss; - struct wlc_ssid *ssid; -+ struct cfg80211_roam_info roam_info; - ssid = &wl->profile->ssid; - bss = cfg80211_get_bss(wl_to_wiphy(wl), NULL, (s8 *)&wl->bssid, - ssid->SSID, ssid->SSID_len, WLAN_CAPABILITY_ESS, WLAN_CAPABILITY_ESS); -- struct cfg80211_roam_info roam_info = { - // Rel. commit "cfg80211: Indicate MLO connection info in connect and roam callbacks" (Veerendranath Jakkam, Wed Jun 8) - #if LINUX_VERSION_CODE < KERNEL_VERSION(6, 0, 0) -- .bss = bss, -+ roam_info.bss = bss; - #else -- .links[0].bss = bss, -+ roam_info.links[0].bss = bss; - #endif -- .req_ie = conn_info->req_ie, -- .req_ie_len = conn_info->req_ie_len, -- .resp_ie = conn_info->resp_ie, -- .resp_ie_len = conn_info->resp_ie_len, -- }; -+ roam_info.req_ie = conn_info->req_ie; -+ roam_info.req_ie_len = conn_info->req_ie_len; -+ roam_info.resp_ie = conn_info->resp_ie; - #endif -- s32 err = 0; - - wl_get_assoc_ies(wl); - memcpy(wl->profile->bssid, &e->addr, ETHER_ADDR_LEN); -diff --git a/src/wl/sys/wl_iw.h b/src/wl/sys/wl_iw.h -index 3ab084f..471d11f 100644 ---- a/src/wl/sys/wl_iw.h -+++ b/src/wl/sys/wl_iw.h -@@ -70,7 +70,6 @@ struct cntry_locales_custom { - #define WL_IW_RSSI_EXCELLENT -57 - #define WL_IW_RSSI_INVALID 0 - #define MAX_WX_STRING 80 --#define isprint(c) bcm_isprint(c) - #define WL_IW_SET_ACTIVE_SCAN (SIOCIWFIRSTPRIV+1) - #define WL_IW_GET_RSSI (SIOCIWFIRSTPRIV+3) - #define WL_IW_SET_PASSIVE_SCAN (SIOCIWFIRSTPRIV+5) -diff --git a/src/wl/sys/wl_linux.c b/src/wl/sys/wl_linux.c -index 25c4706..4c7e238 100644 ---- a/src/wl/sys/wl_linux.c -+++ b/src/wl/sys/wl_linux.c -@@ -791,14 +791,15 @@ wl_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent) - pci_read_config_dword(pdev, 0x40, &val); - if ((val & 0x0000ff00) != 0) - pci_write_config_dword(pdev, 0x40, val & 0xffff00ff); -- bar1_size = pci_resource_len(pdev, 2); -- #if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 6, 0) -- bar1_addr = (uchar *)ioremap(pci_resource_start(pdev, 2), -- bar1_size); -- #else -- bar1_addr = (uchar *)ioremap_nocache(pci_resource_start(pdev, 2), -- bar1_size); -- #endif /* LINUX_VERSION_CODE >= KERNEL_VERSION(5, 6, 0) */ -+ -+ bar1_size = pci_resource_len(pdev, 2); -+ #if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 6, 0) -+ bar1_addr = (uchar *)ioremap(pci_resource_start(pdev, 2), -+ bar1_size); -+ #else -+ bar1_addr = (uchar *)ioremap_nocache(pci_resource_start(pdev, 2), -+ bar1_size); -+ #endif /* LINUX_VERSION_CODE >= KERNEL_VERSION(5, 6, 0) */ - wl = wl_attach(pdev->vendor, pdev->device, pci_resource_start(pdev, 0), PCI_BUS, pdev, - pdev->irq, bar1_addr, bar1_size); - --- -2.45.1 - diff --git a/pkgs/servers/home-assistant/component-packages.nix b/pkgs/servers/home-assistant/component-packages.nix index e1a845ce6a1f..47719ef1fc40 100644 --- a/pkgs/servers/home-assistant/component-packages.nix +++ b/pkgs/servers/home-assistant/component-packages.nix @@ -1821,13 +1821,14 @@ habluetooth hassil home-assistant-intents + idasen-ha ifaddr mutagen pymicro-vad pyserial pyudev zeroconf - ]; # missing inputs: idasen-ha + ]; "idteck_prox" = ps: with ps; [ ]; # missing inputs: rfk101py "ifttt" = ps: with ps; [ @@ -5164,6 +5165,7 @@ "iaqualink" "ibeacon" "icloud" + "idasen_desk" "ifttt" "ign_sismologia" "image" diff --git a/pkgs/servers/http/openresty/default.nix b/pkgs/servers/http/openresty/default.nix index 53c774264279..c684b83633ab 100644 --- a/pkgs/servers/http/openresty/default.nix +++ b/pkgs/servers/http/openresty/default.nix @@ -11,11 +11,11 @@ callPackage ../nginx/generic.nix args rec { pname = "openresty"; nginxVersion = "1.25.3"; - version = "${nginxVersion}.1"; + version = "${nginxVersion}.2"; src = fetchurl { url = "https://openresty.org/download/openresty-${version}.tar.gz"; - sha256 = "sha256-MuwaJTpaEyUDVaB1/mW31j7EXFYLviEzUPCZKlfNed8="; + sha256 = "sha256-LVZAIrBuM7Rfflz68eXcVx041hgDr5+idU3/81PCjZw="; }; # generic.nix applies fixPatch on top of every patch defined there. diff --git a/pkgs/servers/snappymail/default.nix b/pkgs/servers/snappymail/default.nix index a0da2ecea6db..a6af3d77fbe2 100644 --- a/pkgs/servers/snappymail/default.nix +++ b/pkgs/servers/snappymail/default.nix @@ -7,11 +7,11 @@ stdenv.mkDerivation rec { pname = "snappymail"; - version = "2.37.2"; + version = "2.37.3"; src = fetchurl { url = "https://github.com/the-djmaze/snappymail/releases/download/v${version}/snappymail-${version}.tar.gz"; - sha256 = "sha256-kKL3+T4VXhHDYdKfiGVB8cx9/OJajqjvlcImCIrp9yw="; + sha256 = "sha256-Fa6VbWPROkdVS8wHkXYCNR+DiBR6SqvfmrjGVlhhkwU="; }; sourceRoot = "snappymail"; diff --git a/pkgs/tools/misc/edk2-uefi-shell/default.nix b/pkgs/tools/misc/edk2-uefi-shell/default.nix index 7547f9b3e476..0ec010472645 100644 --- a/pkgs/tools/misc/edk2-uefi-shell/default.nix +++ b/pkgs/tools/misc/edk2-uefi-shell/default.nix @@ -37,6 +37,7 @@ edk2.mkDerivation "ShellPkg/ShellPkg.dsc" (finalAttrs: { inherit (edk2.meta) license platforms; description = "UEFI Shell from Tianocore EFI development kit"; homepage = "https://github.com/tianocore/tianocore.github.io/wiki/ShellPkg"; - maintainers = with lib.maintainers; [ LunNova ]; + maintainers = with lib.maintainers; [ LunNova mjoerg ]; + broken = stdenv.isDarwin && stdenv.isAarch64; }; }) diff --git a/pkgs/tools/typesetting/tectonic/tests.nix b/pkgs/tools/typesetting/tectonic/tests.nix index eac66f19599e..802e0812e8c8 100644 --- a/pkgs/tools/typesetting/tectonic/tests.nix +++ b/pkgs/tools/typesetting/tectonic/tests.nix @@ -62,7 +62,6 @@ let the `tectonic` derivation is updated. */ inherit (emptyFile) - outputHashAlgo outputHashMode outputHash ; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 95a3f8e10570..3233eb4e6c56 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -6912,7 +6912,8 @@ with pkgs; cudaPackages_12_1 = callPackage ./cuda-packages.nix { cudaVersion = "12.1"; }; cudaPackages_12_2 = callPackage ./cuda-packages.nix { cudaVersion = "12.2"; }; cudaPackages_12_3 = callPackage ./cuda-packages.nix { cudaVersion = "12.3"; }; - cudaPackages_12 = cudaPackages_12_2; # Latest supported by cudnn + cudaPackages_12_4 = callPackage ./cuda-packages.nix { cudaVersion = "12.4"; }; + cudaPackages_12 = cudaPackages_12_4; # Latest supported by cudnn cudaPackages = recurseIntoAttrs cudaPackages_12; @@ -12429,8 +12430,6 @@ with pkgs; setserial = callPackage ../tools/system/setserial { }; - setzer = callPackage ../applications/editors/setzer { }; - seqdiag = with python3Packages; toPythonApplication seqdiag; sequoia-sqv = callPackage ../tools/security/sequoia-sqv { }; @@ -32782,8 +32781,6 @@ with pkgs; ponymix = callPackage ../applications/audio/ponymix { }; - pop-launcher = callPackage ../applications/misc/pop-launcher { }; - pothos = libsForQt5.callPackage ../applications/radio/pothos { }; potrace = callPackage ../applications/graphics/potrace { }; diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 3bacc89ac10c..9e67ea95d0f2 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -2717,6 +2717,8 @@ self: super: with self; { curio = callPackage ../development/python-modules/curio { }; + curio-compat = callPackage ../development/python-modules/curio-compat { }; + curlify = callPackage ../development/python-modules/curlify { }; curl-cffi = callPackage ../development/python-modules/curl-cffi { }; @@ -5884,6 +5886,8 @@ self: super: with self; { idasen = callPackage ../development/python-modules/idasen { }; + idasen-ha = callPackage ../development/python-modules/idasen-ha { }; + icoextract = toPythonModule (pkgs.icoextract.override { python3Packages = self; });