diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index bf22ce202add..a1764bd8f054 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -1708,6 +1708,12 @@ githubId = 718812; name = "Antoine R. Dumont"; }; + areif-dev = { + email = "aj@ajreifsnyder.com"; + github = "areif-dev"; + githubId = 53097078; + name = "AJ Reifsnyder"; + }; arezvov = { email = "alex@rezvov.ru"; github = "arezvov"; @@ -14537,6 +14543,12 @@ name = "Arthur Outhenin-Chalandre"; githubId = 3845213; }; + mrgiles = { + email = "marcelogiles@gmail.com"; + github = "mrgiles"; + githubId = 4009450; + name = "Marcelo Giles"; + }; mrityunjaygr8 = { email = "mrityunjaysaxena1996@gmail.com"; github = "mrityunjaygr8"; @@ -20064,6 +20076,12 @@ githubId = 7091399; keys = [ { fingerprint = "897E 6BE3 0345 B43D CADD 05B7 290F CF08 1AED B3EC"; } ]; }; + smonson = { + name = "Samuel Monson"; + email = "smonson@irbash.net"; + github = "sjmonson"; + githubId = 17662218; + }; smrehman = { name = "Syed Moiz Ur Rehman"; email = "smrehman@proton.me"; diff --git a/nixos/doc/manual/release-notes/rl-2405.section.md b/nixos/doc/manual/release-notes/rl-2405.section.md index 158257f20a7a..aee8b8072799 100644 --- a/nixos/doc/manual/release-notes/rl-2405.section.md +++ b/nixos/doc/manual/release-notes/rl-2405.section.md @@ -201,6 +201,8 @@ The pre-existing `services.ankisyncd` has been marked deprecated and will be dro - [watchdogd](https://troglobit.com/projects/watchdogd/), a system and process supervisor using watchdog timers. Available as [services.watchdogd](#opt-services.watchdogd.enable). +- [WiVRn](https://github.com/Meumeu/WiVRn), an OpenXR streaming application. Available as [services.wivrn](#opt-services.wivrn.enable). + - [Workout-tracker](https://github.com/jovandeginste/workout-tracker), a workout tracking web application for personal use. - [wyoming-satellite](https://github.com/rhasspy/wyoming-satellite), a voice assistant satellite for Home Assistant using the Wyoming protocol. Available as [services.wyoming.satellite](#opt-services.wyoming.satellite.enable). diff --git a/nixos/doc/manual/release-notes/rl-2411.section.md b/nixos/doc/manual/release-notes/rl-2411.section.md index 31f02a4ce9cf..c73a01fe888d 100644 --- a/nixos/doc/manual/release-notes/rl-2411.section.md +++ b/nixos/doc/manual/release-notes/rl-2411.section.md @@ -77,6 +77,8 @@ ## New Modules {#sec-release-24.11-new-modules} +- [Cyrus IMAP](https://github.com/cyrusimap/cyrus-imapd), an email, contacts and calendar server. Available as [services.cyrus-imap](#opt-services.cyrus-imap.enable) service. + - [TaskChampion Sync-Server](https://github.com/GothenburgBitFactory/taskchampion-sync-server), a [Taskwarrior 3](https://taskwarrior.org/docs/upgrade-3/) sync server, replacing Taskwarrior 2's sync server named [`taskserver`](https://github.com/GothenburgBitFactory/taskserver). - [FlareSolverr](https://github.com/FlareSolverr/FlareSolverr), proxy server to bypass Cloudflare protection. Available as [services.flaresolverr](#opt-services.flaresolverr.enable) service. @@ -523,6 +525,10 @@ - `services.mautrix-meta` was updated to [0.4](https://github.com/mautrix/meta/releases/tag/v0.4.0). This release makes significant changes to the settings format. If you have custom settings you should migrate them to the new format. Unfortunately upstream provides little guidance for how to do this, but [the auto-migration code](https://github.com/mautrix/meta/blob/f5440b05aac125b4c95b1af85635a717cbc6dd0e/cmd/mautrix-meta/legacymigrate.go#L23) may serve as a useful reference. The NixOS module should warn you if you still have any old settings configured. +- The `nodePackages.shout` package has been removed because it was deprecated upstream in favor of `thelounge`. + The `shout` top-level attribute was an alias to this package. + The associated `services.shout` module has also been removed. + - The `indi-full` package no longer contains non-free drivers. To get the old collection of drivers use `indi-full-nonfree` or create your own collection of drivers by overriding indi-with-drivers. E.g.: `pkgs.indi-with-drivers.override {extraDrivers = with pkgs.indi-3rdparty; [indi-gphoto];}` diff --git a/nixos/modules/misc/ids.nix b/nixos/modules/misc/ids.nix index 8b0127dc29f7..ab3568c4d992 100644 --- a/nixos/modules/misc/ids.nix +++ b/nixos/modules/misc/ids.nix @@ -236,7 +236,7 @@ in riemanntools = 203; subsonic = 204; # riak = 205; # unused, remove 2022-07-22 - #shout = 206; # dynamically allocated as of 2021-09-18 + #shout = 206; # dynamically allocated as of 2021-09-18, module removed 2024-10-19 gateone = 207; namecoin = 208; #lxd = 210; # unused diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index a64af3fc3279..a6b831ea9f1b 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -661,6 +661,7 @@ ./services/logging/ulogd.nix ./services/mail/automx2.nix ./services/mail/clamsmtp.nix + ./services/mail/cyrus-imap.nix ./services/mail/davmail.nix ./services/mail/dkimproxy-out.nix ./services/mail/dovecot.nix @@ -1205,7 +1206,6 @@ ./services/networking/shellhub-agent.nix ./services/networking/shorewall.nix ./services/networking/shorewall6.nix - ./services/networking/shout.nix ./services/networking/sing-box.nix ./services/networking/sitespeed-io.nix ./services/networking/skydns.nix @@ -1381,6 +1381,7 @@ ./services/video/photonvision.nix ./services/video/mediamtx.nix ./services/video/v4l2-relayd.nix + ./services/video/wivrn.nix ./services/wayland/cage.nix ./services/wayland/hypridle.nix ./services/web-apps/akkoma.nix diff --git a/nixos/modules/rename.nix b/nixos/modules/rename.nix index 762c3ddbae9a..9fdcf7c7281a 100644 --- a/nixos/modules/rename.nix +++ b/nixos/modules/rename.nix @@ -102,6 +102,7 @@ in (mkRemovedOptionModule [ "services" "railcar" ] "the corresponding package has been removed from nixpkgs") (mkRemovedOptionModule [ "services" "replay-sorcery" ] "the corresponding package has been removed from nixpkgs as it is unmaintained upstream. Consider using `gpu-screen-recorder` or `obs-studio` instead.") (mkRemovedOptionModule [ "services" "seeks" ] "") + (mkRemovedOptionModule [ "services" "shout" ] "shout was removed because it was deprecated upstream in favor of thelounge.") (mkRemovedOptionModule [ "services" "ssmtp" ] '' The ssmtp package and the corresponding module have been removed due to the program being unmaintained. The options `programs.msmtp.*` can be diff --git a/nixos/modules/services/mail/cyrus-imap.nix b/nixos/modules/services/mail/cyrus-imap.nix new file mode 100644 index 000000000000..f5ace168b045 --- /dev/null +++ b/nixos/modules/services/mail/cyrus-imap.nix @@ -0,0 +1,379 @@ +{ + pkgs, + lib, + config, + ... +}: +let + cfg = config.services.cyrus-imap; + cyrus-imapdPkg = pkgs.cyrus-imapd; + inherit (lib) + mkEnableOption + mkIf + mkOption + optionalAttrs + optionalString + generators + mapAttrsToList + ; + inherit (lib.strings) concatStringsSep; + inherit (lib.types) + attrsOf + submodule + listOf + oneOf + str + int + bool + nullOr + path + ; + + mkCyrusConfig = + settings: + let + mkCyrusOptionsList = + v: + mapAttrsToList ( + p: q: + if (q != null) then + if builtins.isInt q then + "${p}=${builtins.toString q}" + else + "${p}=\"${if builtins.isList q then (concatStringsSep " " q) else q}\"" + else + "" + ) v; + mkCyrusOptionsString = v: concatStringsSep " " (mkCyrusOptionsList v); + in + concatStringsSep "\n " (mapAttrsToList (n: v: n + " " + (mkCyrusOptionsString v)) settings); + + cyrusConfig = lib.concatStringsSep "\n" ( + lib.mapAttrsToList (n: v: '' + ${n} { + ${mkCyrusConfig v} + } + '') cfg.cyrusSettings + ); + + imapdConfig = + with generators; + toKeyValue { + mkKeyValue = mkKeyValueDefault { + mkValueString = + v: + if builtins.isBool v then + if v then "yes" else "no" + else if builtins.isList v then + concatStringsSep " " v + else + mkValueStringDefault { } v; + } ": "; + } cfg.imapdSettings; +in +{ + options.services.cyrus-imap = { + enable = mkEnableOption "Cyrus IMAP, an email, contacts and calendar server"; + debug = mkEnableOption "debugging messages for the Cyrus master process"; + + listenQueue = mkOption { + type = int; + default = 32; + description = '' + Socket listen queue backlog size. See listen(2) for more information about a backlog. + Default is 32, which may be increased if you have a very high connection rate. + ''; + }; + tmpDBDir = mkOption { + type = path; + default = "/run/cyrus/db"; + description = '' + Location where DB files are stored. + Databases in this directory are recreated upon startup, so ideally they should live in ephemeral storage for best performance. + ''; + }; + cyrusSettings = mkOption { + type = submodule { + freeformType = attrsOf ( + attrsOf (oneOf [ + bool + int + (listOf str) + ]) + ); + options = { + START = mkOption { + default = { + recover = { + cmd = [ + "ctl_cyrusdb" + "-r" + ]; + }; + }; + description = '' + This section lists the processes to run before any SERVICES are spawned. + This section is typically used to initialize databases. + Master itself will not startup until all tasks in START have completed, so put no blocking commands here. + ''; + }; + SERVICES = mkOption { + default = { + imap = { + cmd = [ "imapd" ]; + listen = "imap"; + prefork = 0; + }; + pop3 = { + cmd = [ "pop3d" ]; + listen = "pop3"; + prefork = 0; + }; + lmtpunix = { + cmd = [ "lmtpd" ]; + listen = "/run/cyrus/lmtp"; + prefork = 0; + }; + notify = { + cmd = [ "notifyd" ]; + listen = "/run/cyrus/notify"; + proto = "udp"; + prefork = 0; + }; + }; + description = '' + This section is the heart of the cyrus.conf file. It lists the processes that should be spawned to handle client connections made on certain Internet/UNIX sockets. + ''; + }; + EVENTS = mkOption { + default = { + tlsprune = { + cmd = [ "tls_prune" ]; + at = 400; + }; + delprune = { + cmd = [ + "cyr_expire" + "-E" + "3" + ]; + at = 400; + }; + deleteprune = { + cmd = [ + "cyr_expire" + "-E" + "4" + "-D" + "28" + ]; + at = 430; + }; + expungeprune = { + cmd = [ + "cyr_expire" + "-E" + "4" + "-X" + "28" + ]; + at = 445; + }; + checkpoint = { + cmd = [ + "ctl_cyrusdb" + "-c" + ]; + period = 30; + }; + }; + description = '' + This section lists processes that should be run at specific intervals, similar to cron jobs. This section is typically used to perform scheduled cleanup/maintenance. + ''; + }; + DAEMON = mkOption { + default = { }; + description = '' + This section lists long running daemons to start before any SERVICES are spawned. master(8) will ensure that these processes are running, restarting any process which dies or forks. All listed processes will be shutdown when master(8) is exiting. + ''; + }; + }; + }; + description = "Cyrus configuration settings. See [cyrus.conf(5)](https://www.cyrusimap.org/imap/reference/manpages/configs/cyrus.conf.html)"; + }; + imapdSettings = mkOption { + type = submodule { + freeformType = attrsOf (oneOf [ + str + int + bool + (listOf str) + ]); + options = { + configdirectory = mkOption { + type = path; + default = "/var/lib/cyrus"; + description = '' + The pathname of the IMAP configuration directory. + ''; + }; + lmtpsocket = mkOption { + type = path; + default = "/run/cyrus/lmtp"; + description = '' + Unix socket that lmtpd listens on, used by deliver(8). This should match the path specified in cyrus.conf(5). + ''; + }; + idlesocket = mkOption { + type = path; + default = "/run/cyrus/idle"; + description = '' + Unix socket that idled listens on. + ''; + }; + notifysocket = mkOption { + type = path; + default = "/run/cyrus/notify"; + description = '' + Unix domain socket that the mail notification daemon listens on. + ''; + }; + }; + }; + default = { + admins = [ "cyrus" ]; + allowplaintext = true; + defaultdomain = "localhost"; + defaultpartition = "default"; + duplicate_db_path = "/run/cyrus/db/deliver.db"; + hashimapspool = true; + httpmodules = [ + "carddav" + "caldav" + ]; + mboxname_lockpath = "/run/cyrus/lock"; + partition-default = "/var/lib/cyrus/storage"; + popminpoll = 1; + proc_path = "/run/cyrus/proc"; + ptscache_db_path = "/run/cyrus/db/ptscache.db"; + sasl_auto_transition = true; + sasl_pwcheck_method = [ "saslauthd" ]; + sievedir = "/var/lib/cyrus/sieve"; + statuscache_db_path = "/run/cyrus/db/statuscache.db"; + syslog_prefix = "cyrus"; + tls_client_ca_dir = "/etc/ssl/certs"; + tls_session_timeout = 1440; + tls_sessions_db_path = "/run/cyrus/db/tls_sessions.db"; + virtdomains = "on"; + }; + description = "IMAP configuration settings. See [imapd.conf(5)](https://www.cyrusimap.org/imap/reference/manpages/configs/imapd.conf.html)"; + }; + + user = mkOption { + type = nullOr str; + default = null; + description = "Cyrus IMAP user name. If this is not set, a user named `cyrus` will be created."; + }; + + group = mkOption { + type = nullOr str; + default = null; + description = "Cyrus IMAP group name. If this is not set, a group named `cyrus` will be created."; + }; + + imapdConfigFile = mkOption { + type = nullOr path; + default = null; + description = "Path to the configuration file used for cyrus-imap."; + apply = v: if v != null then v else pkgs.writeText "imapd.conf" imapdConfig; + }; + + cyrusConfigFile = mkOption { + type = nullOr path; + default = null; + description = "Path to the configuration file used for Cyrus."; + apply = v: if v != null then v else pkgs.writeText "cyrus.conf" cyrusConfig; + }; + + sslCACert = mkOption { + type = nullOr str; + default = null; + description = "File path which containing one or more CA certificates to use."; + }; + + sslServerCert = mkOption { + type = nullOr str; + default = null; + description = "File containing the global certificate used for all services (IMAP, POP3, LMTP, Sieve)"; + }; + + sslServerKey = mkOption { + type = nullOr str; + default = null; + description = "File containing the private key belonging to the global server certificate."; + }; + }; + + config = mkIf cfg.enable { + users.users.cyrus = optionalAttrs (cfg.user == null) { + description = "Cyrus IMAP user"; + isSystemUser = true; + group = optionalString (cfg.group == null) "cyrus"; + }; + + users.groups.cyrus = optionalAttrs (cfg.group == null) { }; + + environment.etc."imapd.conf".source = cfg.imapdConfigFile; + environment.etc."cyrus.conf".source = cfg.cyrusConfigFile; + + systemd.services.cyrus-imap = { + description = "Cyrus IMAP server"; + + after = [ "network.target" ]; + wantedBy = [ "multi-user.target" ]; + restartTriggers = [ + "/etc/imapd.conf" + "/etc/cyrus.conf" + ]; + + startLimitIntervalSec = 60; + environment = { + CYRUS_VERBOSE = mkIf cfg.debug "1"; + LISTENQUEUE = builtins.toString cfg.listenQueue; + }; + serviceConfig = { + User = if (cfg.user == null) then "cyrus" else cfg.user; + Group = if (cfg.group == null) then "cyrus" else cfg.group; + Type = "simple"; + ExecStart = "${cyrus-imapdPkg}/libexec/master -l $LISTENQUEUE -C /etc/imapd.conf -M /etc/cyrus.conf -p /run/cyrus/master.pid -D"; + Restart = "on-failure"; + RestartSec = "1s"; + RuntimeDirectory = "cyrus"; + StateDirectory = "cyrus"; + + # Hardening + AmbientCapabilities = [ "CAP_NET_BIND_SERVICE" ]; + PrivateTmp = true; + PrivateDevices = true; + ProtectSystem = "full"; + CapabilityBoundingSet = [ "~CAP_NET_ADMIN CAP_SYS_ADMIN CAP_SYS_BOOT CAP_SYS_MODULE" ]; + MemoryDenyWriteExecute = true; + ProtectKernelModules = true; + ProtectKernelTunables = true; + ProtectControlGroups = true; + RestrictAddressFamilies = [ + "AF_INET" + "AF_INET6" + "AF_NETLINK" + "AF_UNIX" + ]; + RestrictNamespaces = true; + RestrictRealtime = true; + }; + preStart = '' + mkdir -p '${cfg.imapdSettings.configdirectory}/socket' '${cfg.tmpDBDir}' /run/cyrus/proc /run/cyrus/lock + ''; + }; + environment.systemPackages = [ cyrus-imapdPkg ]; + }; +} diff --git a/nixos/modules/services/networking/shout.nix b/nixos/modules/services/networking/shout.nix deleted file mode 100644 index 017b8590197a..000000000000 --- a/nixos/modules/services/networking/shout.nix +++ /dev/null @@ -1,115 +0,0 @@ -{ pkgs, lib, config, ... }: - -with lib; - -let - cfg = config.services.shout; - shoutHome = "/var/lib/shout"; - - defaultConfig = pkgs.runCommand "config.js" { preferLocalBuild = true; } '' - EDITOR=true ${pkgs.shout}/bin/shout config --home $PWD - mv config.js $out - ''; - - finalConfigFile = if (cfg.configFile != null) then cfg.configFile else '' - var _ = require('${pkgs.shout}/lib/node_modules/shout/node_modules/lodash') - - module.exports = _.merge( - {}, - require('${defaultConfig}'), - ${builtins.toJSON cfg.config} - ) - ''; - -in { - options.services.shout = { - enable = mkEnableOption "Shout web IRC client"; - - private = mkOption { - type = types.bool; - default = false; - description = '' - Make your shout instance private. You will need to configure user - accounts by adding entries in {file}`${shoutHome}/users`. - ''; - }; - - listenAddress = mkOption { - type = types.str; - default = "0.0.0.0"; - description = "IP interface to listen on for http connections."; - }; - - port = mkOption { - type = types.port; - default = 9000; - description = "TCP port to listen on for http connections."; - }; - - configFile = mkOption { - type = types.nullOr types.lines; - default = null; - description = '' - Contents of Shout's {file}`config.js` file. - - Used for backward compatibility, recommended way is now to use - the `config` option. - - Documentation: http://shout-irc.com/docs/server/configuration.html - ''; - }; - - config = mkOption { - default = {}; - type = types.attrs; - example = { - displayNetwork = false; - defaults = { - name = "Your Network"; - host = "localhost"; - port = 6697; - }; - }; - description = '' - Shout {file}`config.js` contents as attribute set (will be - converted to JSON to generate the configuration file). - - The options defined here will be merged to the default configuration file. - - Documentation: http://shout-irc.com/docs/server/configuration.html - ''; - }; - }; - - config = mkIf cfg.enable { - users.users.shout = { - isSystemUser = true; - group = "shout"; - description = "Shout daemon user"; - home = shoutHome; - createHome = true; - }; - users.groups.shout = {}; - - systemd.services.shout = { - description = "Shout web IRC client"; - wantedBy = [ "multi-user.target" ]; - wants = [ "network-online.target" ]; - after = [ "network-online.target" ]; - preStart = "ln -sf ${pkgs.writeText "config.js" finalConfigFile} ${shoutHome}/config.js"; - script = concatStringsSep " " [ - "${pkgs.shout}/bin/shout" - (if cfg.private then "--private" else "--public") - "--port" (toString cfg.port) - "--host" (toString cfg.listenAddress) - "--home" shoutHome - ]; - serviceConfig = { - User = "shout"; - ProtectHome = "true"; - ProtectSystem = "full"; - PrivateTmp = "true"; - }; - }; - }; -} diff --git a/nixos/modules/services/video/wivrn.nix b/nixos/modules/services/video/wivrn.nix new file mode 100644 index 000000000000..f571832053ad --- /dev/null +++ b/nixos/modules/services/video/wivrn.nix @@ -0,0 +1,226 @@ +{ + config, + pkgs, + lib, + ... +}: +let + inherit (lib) + mkIf + mkEnableOption + mkPackageOption + mkOption + optionalString + optionalAttrs + isDerivation + recursiveUpdate + getExe + literalExpression + types + maintainers + ; + cfg = config.services.wivrn; + configFormat = pkgs.formats.json { }; + + # For the application option to work with systemd PATH, we find the store binary path of + # the package, concat all of the following strings, and then update the application attribute. + # Application can either be a package or a list that has a package as the first element. + applicationExists = builtins.hasAttr "application" cfg.config.json; + applicationListNotEmpty = ( + if builtins.isList cfg.config.json.application then + (builtins.length cfg.config.json.application) != 0 + else + true + ); + applicationCheck = applicationExists && applicationListNotEmpty; + + applicationBinary = ( + if builtins.isList cfg.config.json.application then + builtins.head cfg.config.json.application + else + cfg.config.json.application + ); + applicationStrings = builtins.tail cfg.config.json.application; + + applicationPath = mkIf applicationCheck applicationBinary; + + applicationConcat = ( + if builtins.isList cfg.config.json.application then + builtins.concatStringsSep " " ([ (getExe applicationBinary) ] ++ applicationStrings) + else + (getExe applicationBinary) + ); + applicationUpdate = recursiveUpdate cfg.config.json ( + optionalAttrs applicationCheck { application = applicationConcat; } + ); + configFile = configFormat.generate "config.json" applicationUpdate; +in +{ + options = { + services.wivrn = { + enable = mkEnableOption "WiVRn, an OpenXR streaming application"; + + package = mkPackageOption pkgs "wivrn" { }; + + openFirewall = mkEnableOption "the default ports in the firewall for the WiVRn server"; + + defaultRuntime = mkEnableOption '' + WiVRn Monado as the default OpenXR runtime on the system. + The config can be found at `/etc/xdg/openxr/1/active_runtime.json`. + + Note that applications can bypass this option by setting an active + runtime in a writable XDG_CONFIG_DIRS location like `~/.config` + ''; + + autoStart = mkEnableOption "starting the service by default"; + + monadoEnvironment = mkOption { + type = types.attrs; + description = "Environment variables to be passed to the Monado environment."; + default = { + XRT_COMPOSITOR_LOG = "debug"; + XRT_PRINT_OPTIONS = "on"; + IPC_EXIT_ON_DISCONNECT = "off"; + }; + }; + + extraPackages = mkOption { + type = types.listOf types.package; + description = "Packages to add to the wivrn-application service $PATH."; + default = [ ]; + example = literalExpression "[ pkgs.bash pkgs.procps ]"; + }; + + config = { + enable = mkEnableOption "configuration for WiVRn"; + json = mkOption { + type = configFormat.type; + description = '' + Configuration for WiVRn. The attributes are serialized to JSON in config.json. + + Note that the application option must be either a package or a + list with package as the first element. + + See https://github.com/Meumeu/WiVRn/blob/master/docs/configuration.md + ''; + default = { }; + example = literalExpression '' + { + scale = 0.8; + bitrate = 100000000; + encoders = [ + { + encoder = "nvenc"; + codec = "h264"; + width = 1.0; + height = 1.0; + offset_x = 0.0; + offset_y = 0.0; + } + ]; + application = [ pkgs.wlx-overlay-s ]; + tcp_only = true; + } + ''; + }; + }; + }; + }; + + config = mkIf cfg.enable { + assertions = [ + { + assertion = !applicationCheck || isDerivation applicationBinary; + message = "The application in WiVRn configuration is not a package. Please ensure that the application is a package or that a package is the first element in the list."; + } + ]; + + systemd.user = { + services = { + # The WiVRn server runs in a hardened service and starts the applications in a different service + wivrn = { + description = "WiVRn XR runtime service"; + environment = { + # Default options + # https://gitlab.freedesktop.org/monado/monado/-/blob/598080453545c6bf313829e5780ffb7dde9b79dc/src/xrt/targets/service/monado.in.service#L12 + XRT_COMPOSITOR_LOG = "debug"; + XRT_PRINT_OPTIONS = "on"; + IPC_EXIT_ON_DISCONNECT = "off"; + } // cfg.monadoEnvironment; + serviceConfig = { + ExecStart = ( + (getExe cfg.package) + " --systemd" + optionalString cfg.config.enable " -f ${configFile}" + ); + # Hardening options + CapabilityBoundingSet = [ "CAP_SYS_NICE" ]; + AmbientCapabilities = [ "CAP_SYS_NICE" ]; + LockPersonality = true; + NoNewPrivileges = true; + PrivateTmp = true; + ProtectClock = true; + ProtectControlGroups = true; + ProtectKernelLogs = true; + ProtectKernelModules = true; + ProtectKernelTunables = true; + ProtectProc = "invisible"; + ProtectSystem = "strict"; + RemoveIPC = true; + RestrictNamespaces = true; + RestrictSUIDSGID = true; + }; + wantedBy = mkIf cfg.autoStart [ "default.target" ]; + restartTriggers = [ + cfg.package + configFile + ]; + }; + wivrn-application = mkIf applicationCheck { + description = "WiVRn application service"; + requires = [ "wivrn.service" ]; + serviceConfig = { + ExecStart = ( + (getExe cfg.package) + " --application" + optionalString cfg.config.enable " -f ${configFile}" + ); + Restart = "on-failure"; + RestartSec = 0; + PrivateTmp = true; + }; + # We need to add the application to PATH so WiVRn can find it + path = [ applicationPath ] ++ cfg.extraPackages; + }; + }; + }; + + services = { + # WiVRn can be used with some wired headsets so we include xr-hardware + udev.packages = with pkgs; [ + android-udev-rules + xr-hardware + ]; + avahi = { + enable = true; + publish = { + enable = true; + userServices = true; + }; + }; + }; + + networking.firewall = mkIf cfg.openFirewall { + allowedTCPPorts = [ 9757 ]; + allowedUDPPorts = [ 9757 ]; + }; + + environment = { + systemPackages = [ + cfg.package + applicationPath + ]; + pathsToLink = [ "/share/openxr" ]; + etc."xdg/openxr/1/active_runtime.json" = mkIf cfg.defaultRuntime { + source = "${cfg.package}/share/openxr/1/openxr_wivrn.json"; + }; + }; + }; + meta.maintainers = with maintainers; [ passivelemon ]; +} diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix index 8ddcc779ea90..8b26b710dfad 100644 --- a/nixos/tests/all-tests.nix +++ b/nixos/tests/all-tests.nix @@ -245,6 +245,7 @@ in { curl-impersonate = handleTest ./curl-impersonate.nix {}; custom-ca = handleTest ./custom-ca.nix {}; croc = handleTest ./croc.nix {}; + cyrus-imap = runTest ./cyrus-imap.nix; darling = handleTest ./darling.nix {}; darling-dmg = runTest ./darling-dmg.nix; dae = handleTest ./dae.nix {}; diff --git a/nixos/tests/cyrus-imap.nix b/nixos/tests/cyrus-imap.nix new file mode 100644 index 000000000000..36145ed4748e --- /dev/null +++ b/nixos/tests/cyrus-imap.nix @@ -0,0 +1,120 @@ +{ lib, pkgs, ... }: +{ + name = "cyrus-imap"; + + meta = { + maintainers = with lib.maintainers; [ moraxyc ]; + }; + + nodes.machine = + { pkgs, ... }: + { + environment.systemPackages = with pkgs; [ + curl + sudo + ]; + services.saslauthd = { + enable = true; + config = '' + DESC="SASL Authentication Daemon" + NAME="saslauthd" + MECH_OPTIONS="" + THREADS=5 + START=yes + OPTIONS="-c -m /run/saslauthd" + ''; + }; + services.cyrus-imap = { + enable = true; + cyrusSettings = { + START = { + recover = { + cmd = [ + "ctl_cyrusdb" + "-r" + ]; + }; + }; + EVENTS = { + tlsprune = { + cmd = [ "tls_prune" ]; + at = 400; + }; + delprune = { + cmd = [ + "cyr_expire" + "-E" + "3" + ]; + at = 400; + }; + deleteprune = { + cmd = [ + "cyr_expire" + "-E" + "4" + "-D" + "28" + ]; + at = 430; + }; + expungeprune = { + cmd = [ + "cyr_expire" + "-E" + "4" + "-X" + "28" + ]; + at = 445; + }; + checkpoint = { + cmd = [ + "ctl_cyrusdb" + "-c" + ]; + period = 30; + }; + }; + SERVICES = { + http = { + cmd = [ "httpd" ]; + listen = "80"; + prefork = 0; + }; + imap = { + cmd = [ "imapd" ]; + listen = "143"; + prefork = 0; + }; + lmtpunix = { + cmd = [ "lmtpd" ]; + listen = "/run/cyrus/lmtp"; + prefork = 0; + }; + notify = { + cmd = [ "notifyd" ]; + listen = "/run/cyrus/notify"; + proto = "udp"; + prefork = 0; + }; + }; + }; + }; + }; + + testScript = '' + machine.wait_for_unit("saslauthd.service") + machine.wait_for_unit("cyrus-imap.service") + + machine.wait_for_open_port(80) + machine.wait_for_open_port(143) + + machine.succeed("echo 'secret' | ${lib.getExe' pkgs.cyrus_sasl.bin "saslpasswd2"} -p -c cyrus") + machine.succeed("chown cyrus /etc/sasldb2") + + machine.succeed("sudo -ucyrus curl --fail --max-time 10 imap://cyrus:secret@localhost:143") + machine.fail("curl --fail --max-time 10 imap://cyrus:wrongsecret@localhost:143") + machine.fail("curl --fail --max-time 10 -X PROPFIND -H 'Depth: 1' 'http://localhost/dav/addressbooks/user/cyrus@localhost/Default'") + ''; +} diff --git a/pkgs/applications/networking/browsers/librewolf/default.nix b/pkgs/applications/networking/browsers/librewolf/default.nix index 1a485d86f0bb..76c6ee7a052c 100644 --- a/pkgs/applications/networking/browsers/librewolf/default.nix +++ b/pkgs/applications/networking/browsers/librewolf/default.nix @@ -17,7 +17,7 @@ in meta = { description = "Fork of Firefox, focused on privacy, security and freedom"; homepage = "https://librewolf.net/"; - maintainers = with lib.maintainers; [ dotlambda squalus ]; + maintainers = with lib.maintainers; [ squalus ]; platforms = lib.platforms.unix; badPlatforms = lib.platforms.darwin; broken = stdenv.buildPlatform.is32bit; # since Firefox 60, build on 32-bit platforms fails with "out of memory". diff --git a/pkgs/applications/networking/browsers/librewolf/librewolf.nix b/pkgs/applications/networking/browsers/librewolf/librewolf.nix index 46e9b1f77dd2..9ca55de722c8 100644 --- a/pkgs/applications/networking/browsers/librewolf/librewolf.nix +++ b/pkgs/applications/networking/browsers/librewolf/librewolf.nix @@ -30,7 +30,7 @@ rec { cp ${source}/patches/pref-pane/librewolf.css browser/themes/shared/preferences cp ${source}/patches/pref-pane/librewolf.inc.xhtml browser/components/preferences cp ${source}/patches/pref-pane/librewolf.js browser/components/preferences - cat ${source}/patches/pref-pane/preferences.ftl >> browser/locales/en-US/browser/preferences/preferences.ftl + cat ${source}/browser/preferences/preferences.ftl >> browser/locales/en-US/browser/preferences/preferences.ftl ''; extraPrefsFiles = [ "${source}/settings/librewolf.cfg" ]; diff --git a/pkgs/applications/networking/browsers/librewolf/src.json b/pkgs/applications/networking/browsers/librewolf/src.json index fc7600f56fea..32941d8d58a2 100644 --- a/pkgs/applications/networking/browsers/librewolf/src.json +++ b/pkgs/applications/networking/browsers/librewolf/src.json @@ -1,11 +1,11 @@ { - "packageVersion": "131.0.2-1", + "packageVersion": "131.0.3-1", "source": { - "rev": "131.0.2-1", - "sha256": "1knx485kdjv8d0rn5ai1x1jp0403dvxz9m7lpim1y2d2ilyi26x7" + "rev": "131.0.3-1", + "sha256": "0ayl43nq3h9a3b4nl7sfmil43v0k3x1bmxl7c7ws8710dj2674rc" }, "firefox": { - "version": "131.0.2", - "sha512": "fb1a1179a8c62de975c93e1ac6f058cb5492e955bbb7ac2d4b83cdd14ba17bdb2450078bd6f626124b14542f3fda9514bea476aaa34ff4f5a2bee6b1625ec963" + "version": "131.0.3", + "sha512": "3aa96db839f7a45e34c43b5e7e3333e1100ca11545ad26a8e42987fbc72df5ae7ebebe7dfc8c4e856d2bb4676c0516914a07c001f6047799f314146a3329c0ce" } } diff --git a/pkgs/by-name/cy/cyrus-imapd/package.nix b/pkgs/by-name/cy/cyrus-imapd/package.nix new file mode 100644 index 000000000000..860eaf162016 --- /dev/null +++ b/pkgs/by-name/cy/cyrus-imapd/package.nix @@ -0,0 +1,204 @@ +{ + # build tools + stdenv, + autoreconfHook, + makeWrapper, + pkg-config, + + # check hook + versionCheckHook, + + # fetchers + fetchFromGitHub, + fetchpatch, + fetchurl, + + # build inputs + bison, + brotli, + coreutils, + cunit, + cyrus_sasl, + fig2dev, + flex, + icu, + jansson, + lib, + libbsd, + libcap, + libchardet, + libical, + libmysqlclient, + libsrs2, + libuuid, + libxml2, + nghttp2, + openssl, + pcre2, + perl, + postgresql, + rsync, + shapelib, + sqlite, + unixtools, + valgrind, + wslay, + xapian, + zlib, + + # feature flags + enableAutoCreate ? true, + enableBackup ? true, + enableCalalarmd ? true, + enableHttp ? true, + enableIdled ? true, + enableJMAP ? true, + enableMurder ? true, + enableNNTP ? false, + enableReplication ? true, + enableSrs ? true, + enableUnitTests ? true, + enableXapian ? true, + withLibcap ? true, + withMySQL ? false, + withOpenssl ? true, + withPgSQL ? false, + withSQLite ? true, + withZlib ? true, +}: +stdenv.mkDerivation (finalAttrs: { + pname = "cyrus-imapd"; + version = "3.10.0"; + + src = fetchFromGitHub { + owner = "cyrusimap"; + repo = "cyrus-imapd"; + rev = "refs/tags/cyrus-imapd-${finalAttrs.version}"; + hash = "sha256-dyybRqmrVX+ERGpToS5JjGC6S/B0t967dLCWfeUrLKA="; + }; + + nativeBuildInputs = [ + makeWrapper + pkg-config + autoreconfHook + ]; + buildInputs = + [ + unixtools.xxd + pcre2 + flex + valgrind + fig2dev + perl + cyrus_sasl.dev + icu + jansson + libbsd + libuuid + openssl + zlib + bison + libsrs2 + ] + ++ lib.optionals stdenv.isLinux [ libcap ] + ++ lib.optionals (enableHttp || enableCalalarmd || enableJMAP) [ + brotli.dev + libical.dev + libxml2.dev + nghttp2.dev + shapelib + ] + ++ lib.optionals enableJMAP [ + libchardet + wslay + ] + ++ lib.optionals enableXapian [ + rsync + xapian + ] + ++ lib.optionals withMySQL [ libmysqlclient ] + ++ lib.optionals withPgSQL [ postgresql ] + ++ lib.optionals withSQLite [ sqlite ]; + + enableParallelBuilding = true; + + postPatch = + let + managesieveLibs = + [ + zlib + cyrus_sasl + ] + # Darwin doesn't have libuuid, try to build without it + ++ lib.optional (!stdenv.isDarwin) libuuid; + imapLibs = managesieveLibs ++ [ pcre2 ]; + mkLibsString = lib.strings.concatMapStringsSep " " (l: "-L${lib.getLib l}/lib"); + in + '' + patchShebangs cunit/*.pl + patchShebangs imap/promdatagen + patchShebangs tools/* + + echo ${finalAttrs.version} > VERSION + + substituteInPlace cunit/command.testc \ + --replace-fail /usr/bin/touch ${lib.getExe' coreutils "touch"} \ + --replace-fail /bin/echo ${lib.getExe' coreutils "echo"} \ + --replace-fail /usr/bin/tr ${lib.getExe' coreutils "tr"} \ + --replace-fail /bin/sh ${stdenv.shell} + + # fix for https://github.com/cyrusimap/cyrus-imapd/issues/3893 + substituteInPlace perl/imap/Makefile.PL.in \ + --replace-fail '"$LIB_SASL' '"${mkLibsString imapLibs} -lpcre2-posix $LIB_SASL' + substituteInPlace perl/sieve/managesieve/Makefile.PL.in \ + --replace-fail '"$LIB_SASL' '"${mkLibsString managesieveLibs} $LIB_SASL' + ''; + + postFixup = '' + wrapProgram $out/bin/cyradm --set PERL5LIB $(find $out/lib/perl5 -type d | tr "\\n" ":") + ''; + + configureFlags = [ + "--with-pidfile=/run/cyrus/master.pid" + (lib.enableFeature enableAutoCreate "autocreate") + (lib.enableFeature enableSrs "srs") + (lib.enableFeature enableIdled "idled") + (lib.enableFeature enableMurder "murder") + (lib.enableFeature enableBackup "backup") + (lib.enableFeature enableReplication "replication") + (lib.enableFeature enableUnitTests "unit-tests") + (lib.enableFeature (enableHttp || enableCalalarmd || enableJMAP) "http") + (lib.enableFeature enableJMAP "jmap") + (lib.enableFeature enableNNTP "nntp") + (lib.enableFeature enableXapian "xapian") + (lib.enableFeature enableCalalarmd "calalarmd") + (lib.withFeature withZlib "zlib=${zlib}") + (lib.withFeature withOpenssl "openssl") + (lib.withFeature withLibcap "libcap=${libcap}") + (lib.withFeature withMySQL "mysql") + (lib.withFeature withPgSQL "pgsql") + (lib.withFeature withSQLite "sqlite") + ]; + + checkInputs = [ cunit ]; + doCheck = true; + + versionCheckProgram = "${builtins.placeholder "out"}/libexec/master"; + versionCheckProgramArg = "-V"; + nativeInstallCheckInputs = [ + versionCheckHook + ]; + doInstallCheck = true; + + meta = { + homepage = "https://www.cyrusimap.org"; + description = "Email, contacts and calendar server"; + license = with lib.licenses; [ bsdOriginal ]; + mainProgram = "cyrus"; + maintainers = with lib.maintainers; [ + moraxyc + pingiun + ]; + platforms = lib.platforms.unix; + }; +}) diff --git a/pkgs/by-name/ri/river-bsp-layout/package.nix b/pkgs/by-name/ri/river-bsp-layout/package.nix new file mode 100644 index 000000000000..a5c64c60fe6a --- /dev/null +++ b/pkgs/by-name/ri/river-bsp-layout/package.nix @@ -0,0 +1,28 @@ +{ + lib, + rustPlatform, + fetchFromGitHub, +}: + +rustPlatform.buildRustPackage rec { + pname = "river-bsp-layout"; + version = "2.1.0"; + + src = fetchFromGitHub { + owner = "areif-dev"; + repo = "river-bsp-layout"; + rev = "v${version}"; + hash = "sha256-LRVZPAS4V5PtrqyOkKUfrZuwLqPZbLoyjn2DPxCFE2o="; + }; + + cargoHash = "sha256-CtVyRwfIS8R48LUecKXoak+HHB5yNZ5RgguIWOhyFA8="; + + meta = { + homepage = "https://github.com/areif-dev/river-bsp-layout"; + description = "Binary space partition / grid layout manager for River WM"; + license = lib.licenses.gpl3Only; + maintainers = with lib.maintainers; [ areif-dev ]; + mainProgram = "river-bsp-layout"; + platforms = lib.platforms.linux; + }; +} diff --git a/pkgs/by-name/sp/spacectl/package.nix b/pkgs/by-name/sp/spacectl/package.nix index 7fe0fc2bbf0a..2684a7708f15 100644 --- a/pkgs/by-name/sp/spacectl/package.nix +++ b/pkgs/by-name/sp/spacectl/package.nix @@ -6,13 +6,13 @@ buildGoModule rec { pname = "spacectl"; - version = "1.5.0"; + version = "1.6.0"; src = fetchFromGitHub { owner = "spacelift-io"; repo = "spacectl"; rev = "v${version}"; - hash = "sha256-wEu7AmFn1782XTKKb7JxQWn/ZSHrQbuZ/SDldn6pUNo="; + hash = "sha256-pO+jYuCyP6YrU9vE3//O0EyTDXYQ1WSpFI/8WbneDCA="; }; vendorHash = "sha256-SYfXG6YM0Q2rCnoTM2tYvE17uBCD8yQiW/5DTCxMPWo="; diff --git a/pkgs/by-name/sy/system76-power/Cargo.lock b/pkgs/by-name/sy/system76-power/Cargo.lock new file mode 100644 index 000000000000..82292ac66c79 --- /dev/null +++ b/pkgs/by-name/sy/system76-power/Cargo.lock @@ -0,0 +1,1774 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 3 + +[[package]] +name = "addr2line" +version = "0.21.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a30b2e23b9e17a9f90641c7ab1549cd9b44f296d3ccbf309d2863cfe398a0cb" +dependencies = [ + "gimli", +] + +[[package]] +name = "adler" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" + +[[package]] +name = "aho-corasick" +version = "1.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916" +dependencies = [ + "memchr", +] + +[[package]] +name = "anstream" +version = "0.6.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d96bd03f33fe50a863e394ee9718a706f988b9079b20c3784fb726e7678b62fb" +dependencies = [ + "anstyle", + "anstyle-parse", + "anstyle-query", + "anstyle-wincon", + "colorchoice", + "utf8parse", +] + +[[package]] +name = "anstyle" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8901269c6307e8d93993578286ac0edf7f195079ffff5ebdeea6a59ffb7e36bc" + +[[package]] +name = "anstyle-parse" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c75ac65da39e5fe5ab759307499ddad880d724eed2f6ce5b5e8a26f4f387928c" +dependencies = [ + "utf8parse", +] + +[[package]] +name = "anstyle-query" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e28923312444cdd728e4738b3f9c9cac739500909bb3d3c94b43551b16517648" +dependencies = [ + "windows-sys 0.52.0", +] + +[[package]] +name = "anstyle-wincon" +version = "3.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1cd54b81ec8d6180e24654d0b371ad22fc3dd083b6ff8ba325b72e00c87660a7" +dependencies = [ + "anstyle", + "windows-sys 0.52.0", +] + +[[package]] +name = "anyhow" +version = "1.0.82" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f538837af36e6f6a9be0faa67f9a314f8119e4e4b5867c6ab40ed60360142519" + +[[package]] +name = "async-broadcast" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7c48ccdbf6ca6b121e0f586cbc0e73ae440e56c67c30fa0873b4e110d9c26d2b" +dependencies = [ + "event-listener 2.5.3", + "futures-core", +] + +[[package]] +name = "async-channel" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "136d4d23bcc79e27423727b36823d86233aad06dfea531837b038394d11e9928" +dependencies = [ + "concurrent-queue", + "event-listener 5.3.0", + "event-listener-strategy 0.5.1", + "futures-core", + "pin-project-lite", +] + +[[package]] +name = "async-executor" +version = "1.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b10202063978b3351199d68f8b22c4e47e4b1b822f8d43fd862d5ea8c006b29a" +dependencies = [ + "async-task", + "concurrent-queue", + "fastrand 2.0.2", + "futures-lite 2.3.0", + "slab", +] + +[[package]] +name = "async-fs" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "279cf904654eeebfa37ac9bb1598880884924aab82e290aa65c9e77a0e142e06" +dependencies = [ + "async-lock 2.8.0", + "autocfg", + "blocking", + "futures-lite 1.13.0", +] + +[[package]] +name = "async-io" +version = "1.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0fc5b45d93ef0529756f812ca52e44c221b35341892d3dcc34132ac02f3dd2af" +dependencies = [ + "async-lock 2.8.0", + "autocfg", + "cfg-if", + "concurrent-queue", + "futures-lite 1.13.0", + "log", + "parking", + "polling 2.8.0", + "rustix 0.37.27", + "slab", + "socket2 0.4.10", + "waker-fn", +] + +[[package]] +name = "async-io" +version = "2.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dcccb0f599cfa2f8ace422d3555572f47424da5648a4382a9dd0310ff8210884" +dependencies = [ + "async-lock 3.3.0", + "cfg-if", + "concurrent-queue", + "futures-io", + "futures-lite 2.3.0", + "parking", + "polling 3.7.0", + "rustix 0.38.34", + "slab", + "tracing", + "windows-sys 0.52.0", +] + +[[package]] +name = "async-lock" +version = "2.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "287272293e9d8c41773cec55e365490fe034813a2f172f502d6ddcf75b2f582b" +dependencies = [ + "event-listener 2.5.3", +] + +[[package]] +name = "async-lock" +version = "3.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d034b430882f8381900d3fe6f0aaa3ad94f2cb4ac519b429692a1bc2dda4ae7b" +dependencies = [ + "event-listener 4.0.3", + "event-listener-strategy 0.4.0", + "pin-project-lite", +] + +[[package]] +name = "async-process" +version = "1.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ea6438ba0a08d81529c69b36700fa2f95837bfe3e776ab39cde9c14d9149da88" +dependencies = [ + "async-io 1.13.0", + "async-lock 2.8.0", + "async-signal", + "blocking", + "cfg-if", + "event-listener 3.1.0", + "futures-lite 1.13.0", + "rustix 0.38.34", + "windows-sys 0.48.0", +] + +[[package]] +name = "async-recursion" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3b43422f69d8ff38f95f1b2bb76517c91589a924d1559a0e935d7c8ce0274c11" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.60", +] + +[[package]] +name = "async-signal" +version = "0.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "afe66191c335039c7bb78f99dc7520b0cbb166b3a1cb33a03f53d8a1c6f2afda" +dependencies = [ + "async-io 2.3.2", + "async-lock 3.3.0", + "atomic-waker", + "cfg-if", + "futures-core", + "futures-io", + "rustix 0.38.34", + "signal-hook-registry", + "slab", + "windows-sys 0.52.0", +] + +[[package]] +name = "async-task" +version = "4.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fbb36e985947064623dbd357f727af08ffd077f93d696782f3c56365fa2e2799" + +[[package]] +name = "async-trait" +version = "0.1.80" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c6fa2087f2753a7da8cc1c0dbfcf89579dd57458e36769de5ac750b4671737ca" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.60", +] + +[[package]] +name = "atomic-waker" +version = "1.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" + +[[package]] +name = "autocfg" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f1fdabc7756949593fe60f30ec81974b613357de856987752631dea1e3394c80" + +[[package]] +name = "backtrace" +version = "0.3.71" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26b05800d2e817c8b3b4b54abd461726265fa9789ae34330622f2db9ee696f9d" +dependencies = [ + "addr2line", + "cc", + "cfg-if", + "libc", + "miniz_oxide", + "object", + "rustc-demangle", +] + +[[package]] +name = "bitflags" +version = "1.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" + +[[package]] +name = "bitflags" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf4b9d6a944f767f8e5e0db018570623c85f3d925ac718db4e06d0187adb21c1" + +[[package]] +name = "block-buffer" +version = "0.10.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" +dependencies = [ + "generic-array", +] + +[[package]] +name = "blocking" +version = "1.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6a37913e8dc4ddcc604f0c6d3bf2887c995153af3611de9e23c352b44c1b9118" +dependencies = [ + "async-channel", + "async-lock 3.3.0", + "async-task", + "fastrand 2.0.2", + "futures-io", + "futures-lite 2.3.0", + "piper", + "tracing", +] + +[[package]] +name = "byteorder" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" + +[[package]] +name = "bytes" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "514de17de45fdb8dc022b1a7975556c53c86f9f0aa5f534b98977b171857c2c9" + +[[package]] +name = "cc" +version = "1.0.95" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d32a725bc159af97c3e629873bb9f88fb8cf8a4867175f76dc987815ea07c83b" + +[[package]] +name = "cfg-if" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" + +[[package]] +name = "clap" +version = "4.5.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "90bc066a67923782aa8515dbaea16946c5bcc5addbd668bb80af688e53e548a0" +dependencies = [ + "clap_builder", + "clap_derive", +] + +[[package]] +name = "clap_builder" +version = "4.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae129e2e766ae0ec03484e609954119f123cc1fe650337e155d03b022f24f7b4" +dependencies = [ + "anstream", + "anstyle", + "clap_lex", + "strsim 0.11.1", +] + +[[package]] +name = "clap_derive" +version = "4.5.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "528131438037fd55894f62d6e9f068b8f45ac57ffa77517819645d10aed04f64" +dependencies = [ + "heck", + "proc-macro2", + "quote", + "syn 2.0.60", +] + +[[package]] +name = "clap_lex" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "98cc8fbded0c607b7ba9dd60cd98df59af97e84d24e49c8557331cfc26d301ce" + +[[package]] +name = "colorchoice" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7" + +[[package]] +name = "concat-in-place" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c5b80dba65d26e0c4b692ad0312b837f1177e8175031af57fd1de4f3bc36b430" + +[[package]] +name = "concurrent-queue" +version = "2.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d16048cd947b08fa32c24458a22f5dc5e835264f689f4f5653210c69fd107363" +dependencies = [ + "crossbeam-utils", +] + +[[package]] +name = "cpufeatures" +version = "0.2.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "53fe5e26ff1b7aef8bca9c6080520cfb8d9333c7568e1829cef191a9723e5504" +dependencies = [ + "libc", +] + +[[package]] +name = "crossbeam-utils" +version = "0.8.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "248e3bacc7dc6baa3b21e405ee045c3047101a49145e7e9eca583ab4c2ca5345" + +[[package]] +name = "crypto-common" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" +dependencies = [ + "generic-array", + "typenum", +] + +[[package]] +name = "darling" +version = "0.20.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "54e36fcd13ed84ffdfda6f5be89b31287cbb80c439841fe69e04841435464391" +dependencies = [ + "darling_core", + "darling_macro", +] + +[[package]] +name = "darling_core" +version = "0.20.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c2cf1c23a687a1feeb728783b993c4e1ad83d99f351801977dd809b48d0a70f" +dependencies = [ + "fnv", + "ident_case", + "proc-macro2", + "quote", + "strsim 0.10.0", + "syn 2.0.60", +] + +[[package]] +name = "darling_macro" +version = "0.20.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a668eda54683121533a393014d8692171709ff57a7d61f187b6e782719f8933f" +dependencies = [ + "darling_core", + "quote", + "syn 2.0.60", +] + +[[package]] +name = "derivative" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "derive_setters" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4e8ef033054e131169b8f0f9a7af8f5533a9436fadf3c500ed547f730f07090d" +dependencies = [ + "darling", + "proc-macro2", + "quote", + "syn 2.0.60", +] + +[[package]] +name = "digest" +version = "0.10.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" +dependencies = [ + "block-buffer", + "crypto-common", +] + +[[package]] +name = "enumflags2" +version = "0.7.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3278c9d5fb675e0a51dabcf4c0d355f692b064171535ba72361be1528a9d8e8d" +dependencies = [ + "enumflags2_derive", + "serde", +] + +[[package]] +name = "enumflags2_derive" +version = "0.7.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c785274071b1b420972453b306eeca06acf4633829db4223b58a2a8c5953bc4" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.60", +] + +[[package]] +name = "equivalent" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" + +[[package]] +name = "errno" +version = "0.3.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a258e46cdc063eb8519c00b9fc845fc47bcfca4130e2f08e88665ceda8474245" +dependencies = [ + "libc", + "windows-sys 0.52.0", +] + +[[package]] +name = "event-listener" +version = "2.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0" + +[[package]] +name = "event-listener" +version = "3.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d93877bcde0eb80ca09131a08d23f0a5c18a620b01db137dba666d18cd9b30c2" +dependencies = [ + "concurrent-queue", + "parking", + "pin-project-lite", +] + +[[package]] +name = "event-listener" +version = "4.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67b215c49b2b248c855fb73579eb1f4f26c38ffdc12973e20e07b91d78d5646e" +dependencies = [ + "concurrent-queue", + "parking", + "pin-project-lite", +] + +[[package]] +name = "event-listener" +version = "5.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d9944b8ca13534cdfb2800775f8dd4902ff3fc75a50101466decadfdf322a24" +dependencies = [ + "concurrent-queue", + "parking", + "pin-project-lite", +] + +[[package]] +name = "event-listener-strategy" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "958e4d70b6d5e81971bebec42271ec641e7ff4e170a6fa605f2b8a8b65cb97d3" +dependencies = [ + "event-listener 4.0.3", + "pin-project-lite", +] + +[[package]] +name = "event-listener-strategy" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "332f51cb23d20b0de8458b86580878211da09bcd4503cb579c225b3d124cabb3" +dependencies = [ + "event-listener 5.3.0", + "pin-project-lite", +] + +[[package]] +name = "fastrand" +version = "1.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e51093e27b0797c359783294ca4f0a911c270184cb10f85783b118614a1501be" +dependencies = [ + "instant", +] + +[[package]] +name = "fastrand" +version = "2.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "658bd65b1cf4c852a3cc96f18a8ce7b5640f6b703f905c7d74532294c2a63984" + +[[package]] +name = "fern" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d9f0c14694cbd524c8720dd69b0e3179344f04ebb5f90f2e4a440c6ea3b2f1ee" +dependencies = [ + "log", +] + +[[package]] +name = "fnv" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" + +[[package]] +name = "futures-core" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d" + +[[package]] +name = "futures-io" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1" + +[[package]] +name = "futures-lite" +version = "1.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49a9d51ce47660b1e808d3c990b4709f2f415d928835a17dfd16991515c46bce" +dependencies = [ + "fastrand 1.9.0", + "futures-core", + "futures-io", + "memchr", + "parking", + "pin-project-lite", + "waker-fn", +] + +[[package]] +name = "futures-lite" +version = "2.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "52527eb5074e35e9339c6b4e8d12600c7128b68fb25dcb9fa9dec18f7c25f3a5" +dependencies = [ + "fastrand 2.0.2", + "futures-core", + "futures-io", + "parking", + "pin-project-lite", +] + +[[package]] +name = "futures-sink" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9fb8e00e87438d937621c1c6269e53f536c14d3fbd6a042bb24879e57d474fb5" + +[[package]] +name = "futures-task" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004" + +[[package]] +name = "futures-util" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3d6401deb83407ab3da39eba7e33987a73c3df0c82b4bb5813ee871c19c41d48" +dependencies = [ + "futures-core", + "futures-io", + "futures-sink", + "futures-task", + "memchr", + "pin-project-lite", + "pin-utils", + "slab", +] + +[[package]] +name = "generic-array" +version = "0.14.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" +dependencies = [ + "typenum", + "version_check", +] + +[[package]] +name = "getrandom" +version = "0.2.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94b22e06ecb0110981051723910cbf0b5f5e09a2062dd7663334ee79a9d1286c" +dependencies = [ + "cfg-if", + "libc", + "wasi", +] + +[[package]] +name = "gimli" +version = "0.28.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253" + +[[package]] +name = "hashbrown" +version = "0.14.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604" + +[[package]] +name = "heck" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" + +[[package]] +name = "hermit-abi" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024" + +[[package]] +name = "hex" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" + +[[package]] +name = "hidapi" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "798154e4b6570af74899d71155fb0072d5b17e6aa12f39c8ef22c60fb8ec99e7" +dependencies = [ + "cc", + "libc", + "pkg-config", + "winapi", +] + +[[package]] +name = "ident_case" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" + +[[package]] +name = "indexmap" +version = "2.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "168fb715dda47215e360912c096649d23d58bf392ac62f73919e831745e40f26" +dependencies = [ + "equivalent", + "hashbrown", +] + +[[package]] +name = "inotify" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fdd168d97690d0b8c412d6b6c10360277f4d7ee495c5d0d5d5fe0854923255cc" +dependencies = [ + "bitflags 1.3.2", + "futures-core", + "inotify-sys", + "libc", + "tokio", +] + +[[package]] +name = "inotify-sys" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e05c02b5e89bff3b946cedeca278abc628fe811e604f027c45a8aa3cf793d0eb" +dependencies = [ + "libc", +] + +[[package]] +name = "instant" +version = "0.1.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "intel-pstate" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1c22b01d00d25089087e403d1d2533cce061f90ca9cc460d0049be94a3e1d563" +dependencies = [ + "derive_setters", + "smart-default", + "thiserror", +] + +[[package]] +name = "io-lifetimes" +version = "1.0.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eae7b9aee968036d54dce06cebaefd919e4472e753296daccd6d344e3e2df0c2" +dependencies = [ + "hermit-abi", + "libc", + "windows-sys 0.48.0", +] + +[[package]] +name = "itoa" +version = "1.0.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b" + +[[package]] +name = "libc" +version = "0.2.153" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd" + +[[package]] +name = "linux-raw-sys" +version = "0.3.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519" + +[[package]] +name = "linux-raw-sys" +version = "0.4.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "01cda141df6706de531b6c46c3a33ecca755538219bd484262fa09410c13539c" + +[[package]] +name = "log" +version = "0.4.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "90ed8c1e510134f979dbc4f070f87d4313098b704861a105fe34231c70a3901c" + +[[package]] +name = "memchr" +version = "2.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c8640c5d730cb13ebd907d8d04b52f55ac9a2eec55b440c8892f40d56c76c1d" + +[[package]] +name = "memoffset" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5de893c32cde5f383baa4c04c5d6dbdd735cfd4a794b0debdb2bb1b421da5ff4" +dependencies = [ + "autocfg", +] + +[[package]] +name = "memoffset" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "488016bfae457b036d996092f6cb448677611ce4449e970ceaf42695203f218a" +dependencies = [ + "autocfg", +] + +[[package]] +name = "miniz_oxide" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9d811f3e15f28568be3407c8e7fdb6514c1cda3cb30683f15b6a1a1dc4ea14a7" +dependencies = [ + "adler", +] + +[[package]] +name = "mio" +version = "0.8.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a4a650543ca06a924e8b371db273b2756685faae30f8487da1b56505a8f78b0c" +dependencies = [ + "libc", + "wasi", + "windows-sys 0.48.0", +] + +[[package]] +name = "nix" +version = "0.26.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "598beaf3cc6fdd9a5dfb1630c2800c7acd31df7aaf0f565796fba2b53ca1af1b" +dependencies = [ + "bitflags 1.3.2", + "cfg-if", + "libc", + "memoffset 0.7.1", +] + +[[package]] +name = "numtoa" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6aa2c4e539b869820a2b82e1aef6ff40aa85e65decdd5185e83fb4b1249cd00f" + +[[package]] +name = "object" +version = "0.32.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a6a622008b6e321afc04970976f62ee297fdbaa6f95318ca343e3eebb9648441" +dependencies = [ + "memchr", +] + +[[package]] +name = "once_cell" +version = "1.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" + +[[package]] +name = "ordered-stream" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9aa2b01e1d916879f73a53d01d1d6cee68adbb31d6d9177a8cfce093cced1d50" +dependencies = [ + "futures-core", + "pin-project-lite", +] + +[[package]] +name = "parking" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bb813b8af86854136c6922af0598d719255ecb2179515e6e7730d468f05c9cae" + +[[package]] +name = "pin-project-lite" +version = "0.2.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bda66fc9667c18cb2758a2ac84d1167245054bcf85d5d1aaa6923f45801bdd02" + +[[package]] +name = "pin-utils" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" + +[[package]] +name = "piper" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "668d31b1c4eba19242f2088b2bf3316b82ca31082a8335764db4e083db7485d4" +dependencies = [ + "atomic-waker", + "fastrand 2.0.2", + "futures-io", +] + +[[package]] +name = "pkg-config" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec" + +[[package]] +name = "polling" +version = "2.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4b2d323e8ca7996b3e23126511a523f7e62924d93ecd5ae73b333815b0eb3dce" +dependencies = [ + "autocfg", + "bitflags 1.3.2", + "cfg-if", + "concurrent-queue", + "libc", + "log", + "pin-project-lite", + "windows-sys 0.48.0", +] + +[[package]] +name = "polling" +version = "3.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "645493cf344456ef24219d02a768cf1fb92ddf8c92161679ae3d91b91a637be3" +dependencies = [ + "cfg-if", + "concurrent-queue", + "hermit-abi", + "pin-project-lite", + "rustix 0.38.34", + "tracing", + "windows-sys 0.52.0", +] + +[[package]] +name = "ppv-lite86" +version = "0.2.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" + +[[package]] +name = "proc-macro-crate" +version = "1.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f4c021e1093a56626774e81216a4ce732a735e5bad4868a03f3ed65ca0c3919" +dependencies = [ + "once_cell", + "toml_edit", +] + +[[package]] +name = "proc-macro2" +version = "1.0.81" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3d1597b0c024618f09a9c3b8655b7e430397a36d23fdafec26d6965e9eec3eba" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "quote" +version = "1.0.36" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "rand" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" +dependencies = [ + "libc", + "rand_chacha", + "rand_core", +] + +[[package]] +name = "rand_chacha" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" +dependencies = [ + "ppv-lite86", + "rand_core", +] + +[[package]] +name = "rand_core" +version = "0.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" +dependencies = [ + "getrandom", +] + +[[package]] +name = "regex" +version = "1.10.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c117dbdfde9c8308975b6a18d71f3f385c89461f7b3fb054288ecf2a2058ba4c" +dependencies = [ + "aho-corasick", + "memchr", + "regex-automata", + "regex-syntax", +] + +[[package]] +name = "regex-automata" +version = "0.4.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "86b83b8b9847f9bf95ef68afb0b8e6cdb80f498442f5179a29fad448fcc1eaea" +dependencies = [ + "aho-corasick", + "memchr", + "regex-syntax", +] + +[[package]] +name = "regex-syntax" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "adad44e29e4c806119491a7f06f03de4d1af22c3a680dd47f1e6e179439d1f56" + +[[package]] +name = "rustc-demangle" +version = "0.1.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76" + +[[package]] +name = "rustix" +version = "0.37.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fea8ca367a3a01fe35e6943c400addf443c0f57670e6ec51196f71a4b8762dd2" +dependencies = [ + "bitflags 1.3.2", + "errno", + "io-lifetimes", + "libc", + "linux-raw-sys 0.3.8", + "windows-sys 0.48.0", +] + +[[package]] +name = "rustix" +version = "0.38.34" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "70dc5ec042f7a43c4a73241207cecc9873a06d45debb38b329f8541d85c2730f" +dependencies = [ + "bitflags 2.5.0", + "errno", + "libc", + "linux-raw-sys 0.4.13", + "windows-sys 0.52.0", +] + +[[package]] +name = "ryu" +version = "1.0.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e86697c916019a8588c99b5fac3cead74ec0b4b819707a682fd4d23fa0ce1ba1" + +[[package]] +name = "serde" +version = "1.0.199" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0c9f6e76df036c77cd94996771fb40db98187f096dd0b9af39c6c6e452ba966a" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_derive" +version = "1.0.199" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "11bd257a6541e141e42ca6d24ae26f7714887b47e89aa739099104c7e4d3b7fc" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.60", +] + +[[package]] +name = "serde_json" +version = "1.0.116" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3e17db7126d17feb94eb3fad46bf1a96b034e8aacbc2e775fe81505f8b0b2813" +dependencies = [ + "itoa", + "ryu", + "serde", +] + +[[package]] +name = "serde_repr" +version = "0.1.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c64451ba24fc7a6a2d60fc75dd9c83c90903b19028d4eff35e88fc1e86564e9" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.60", +] + +[[package]] +name = "sha1" +version = "0.10.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba" +dependencies = [ + "cfg-if", + "cpufeatures", + "digest", +] + +[[package]] +name = "signal-hook-registry" +version = "1.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a9e9e0b4211b72e7b8b6e85c807d36c212bdb33ea8587f7569562a84df5465b1" +dependencies = [ + "libc", +] + +[[package]] +name = "slab" +version = "0.4.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67" +dependencies = [ + "autocfg", +] + +[[package]] +name = "smart-default" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "133659a15339456eeeb07572eb02a91c91e9815e9cbc89566944d2c8d3efdbf6" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "socket2" +version = "0.4.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9f7916fc008ca5542385b89a3d3ce689953c143e9304a9bf8beec1de48994c0d" +dependencies = [ + "libc", + "winapi", +] + +[[package]] +name = "socket2" +version = "0.5.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05ffd9c0a93b7543e062e759284fcf5f5e3b098501104bfbdde4d404db792871" +dependencies = [ + "libc", + "windows-sys 0.52.0", +] + +[[package]] +name = "static_assertions" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" + +[[package]] +name = "strsim" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" + +[[package]] +name = "strsim" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" + +[[package]] +name = "syn" +version = "1.0.109" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "syn" +version = "2.0.60" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "909518bc7b1c9b779f1bbf07f2929d35af9f0f37e47c6e9ef7f9dddc1e1821f3" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "sysfs-class" +version = "0.1.3" +source = "git+https://github.com/pop-os/sysfs-class#ab63e7f638aadfaf896a02e53cf330343d331337" +dependencies = [ + "numtoa", +] + +[[package]] +name = "system76-power" +version = "1.2.1" +dependencies = [ + "anyhow", + "clap", + "concat-in-place", + "fern", + "futures-lite 2.3.0", + "hidapi", + "inotify", + "intel-pstate", + "libc", + "log", + "once_cell", + "serde", + "serde_json", + "sysfs-class", + "system76-power-zbus", + "thiserror", + "tokio", + "zbus", + "zbus_polkit", + "zvariant", +] + +[[package]] +name = "system76-power-zbus" +version = "1.2.1" +dependencies = [ + "serde", + "zbus", + "zvariant", +] + +[[package]] +name = "tempfile" +version = "3.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85b77fafb263dd9d05cbeac119526425676db3784113aa9295c88498cbf8bff1" +dependencies = [ + "cfg-if", + "fastrand 2.0.2", + "rustix 0.38.34", + "windows-sys 0.52.0", +] + +[[package]] +name = "thiserror" +version = "1.0.59" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0126ad08bff79f29fc3ae6a55cc72352056dfff61e3ff8bb7129476d44b23aa" +dependencies = [ + "thiserror-impl", +] + +[[package]] +name = "thiserror-impl" +version = "1.0.59" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d1cd413b5d558b4c5bf3680e324a6fa5014e7b7c067a51e69dbdf47eb7148b66" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.60", +] + +[[package]] +name = "tokio" +version = "1.37.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1adbebffeca75fcfd058afa480fb6c0b81e165a0323f9c9d39c9697e37c46787" +dependencies = [ + "backtrace", + "bytes", + "libc", + "mio", + "pin-project-lite", + "signal-hook-registry", + "socket2 0.5.6", + "tokio-macros", + "tracing", + "windows-sys 0.48.0", +] + +[[package]] +name = "tokio-macros" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.60", +] + +[[package]] +name = "toml_datetime" +version = "0.6.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3550f4e9685620ac18a50ed434eb3aec30db8ba93b0287467bca5826ea25baf1" + +[[package]] +name = "toml_edit" +version = "0.19.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421" +dependencies = [ + "indexmap", + "toml_datetime", + "winnow", +] + +[[package]] +name = "tracing" +version = "0.1.40" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef" +dependencies = [ + "pin-project-lite", + "tracing-attributes", + "tracing-core", +] + +[[package]] +name = "tracing-attributes" +version = "0.1.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.60", +] + +[[package]] +name = "tracing-core" +version = "0.1.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54" +dependencies = [ + "once_cell", +] + +[[package]] +name = "typenum" +version = "1.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" + +[[package]] +name = "uds_windows" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "89daebc3e6fd160ac4aa9fc8b3bf71e1f74fbf92367ae71fb83a037e8bf164b9" +dependencies = [ + "memoffset 0.9.1", + "tempfile", + "winapi", +] + +[[package]] +name = "unicode-ident" +version = "1.0.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" + +[[package]] +name = "utf8parse" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a" + +[[package]] +name = "version_check" +version = "0.9.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" + +[[package]] +name = "waker-fn" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f3c4517f54858c779bbcbf228f4fca63d121bf85fbecb2dc578cdf4a39395690" + +[[package]] +name = "wasi" +version = "0.11.0+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" + +[[package]] +name = "winapi" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" +dependencies = [ + "winapi-i686-pc-windows-gnu", + "winapi-x86_64-pc-windows-gnu", +] + +[[package]] +name = "winapi-i686-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" + +[[package]] +name = "winapi-x86_64-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" + +[[package]] +name = "windows-sys" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" +dependencies = [ + "windows-targets 0.48.5", +] + +[[package]] +name = "windows-sys" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" +dependencies = [ + "windows-targets 0.52.5", +] + +[[package]] +name = "windows-targets" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" +dependencies = [ + "windows_aarch64_gnullvm 0.48.5", + "windows_aarch64_msvc 0.48.5", + "windows_i686_gnu 0.48.5", + "windows_i686_msvc 0.48.5", + "windows_x86_64_gnu 0.48.5", + "windows_x86_64_gnullvm 0.48.5", + "windows_x86_64_msvc 0.48.5", +] + +[[package]] +name = "windows-targets" +version = "0.52.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6f0713a46559409d202e70e28227288446bf7841d3211583a4b53e3f6d96e7eb" +dependencies = [ + "windows_aarch64_gnullvm 0.52.5", + "windows_aarch64_msvc 0.52.5", + "windows_i686_gnu 0.52.5", + "windows_i686_gnullvm", + "windows_i686_msvc 0.52.5", + "windows_x86_64_gnu 0.52.5", + "windows_x86_64_gnullvm 0.52.5", + "windows_x86_64_msvc 0.52.5", +] + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.52.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7088eed71e8b8dda258ecc8bac5fb1153c5cffaf2578fc8ff5d61e23578d3263" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.52.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9985fd1504e250c615ca5f281c3f7a6da76213ebd5ccc9561496568a2752afb6" + +[[package]] +name = "windows_i686_gnu" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" + +[[package]] +name = "windows_i686_gnu" +version = "0.52.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "88ba073cf16d5372720ec942a8ccbf61626074c6d4dd2e745299726ce8b89670" + +[[package]] +name = "windows_i686_gnullvm" +version = "0.52.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87f4261229030a858f36b459e748ae97545d6f1ec60e5e0d6a3d32e0dc232ee9" + +[[package]] +name = "windows_i686_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" + +[[package]] +name = "windows_i686_msvc" +version = "0.52.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "db3c2bf3d13d5b658be73463284eaf12830ac9a26a90c717b7f771dfe97487bf" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.52.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4e4246f76bdeff09eb48875a0fd3e2af6aada79d409d33011886d3e1581517d9" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.52.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "852298e482cd67c356ddd9570386e2862b5673c85bd5f88df9ab6802b334c596" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.52.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bec47e5bfd1bff0eeaf6d8b485cc1074891a197ab4225d504cb7a1ab88b02bf0" + +[[package]] +name = "winnow" +version = "0.5.40" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f593a95398737aeed53e489c785df13f3618e41dbcd6718c6addbf1395aa6876" +dependencies = [ + "memchr", +] + +[[package]] +name = "xdg-home" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "21e5a325c3cb8398ad6cf859c1135b25dd29e186679cf2da7581d9679f63b38e" +dependencies = [ + "libc", + "winapi", +] + +[[package]] +name = "zbus" +version = "3.15.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "675d170b632a6ad49804c8cf2105d7c31eddd3312555cffd4b740e08e97c25e6" +dependencies = [ + "async-broadcast", + "async-executor", + "async-fs", + "async-io 1.13.0", + "async-lock 2.8.0", + "async-process", + "async-recursion", + "async-task", + "async-trait", + "blocking", + "byteorder", + "derivative", + "enumflags2", + "event-listener 2.5.3", + "futures-core", + "futures-sink", + "futures-util", + "hex", + "nix", + "once_cell", + "ordered-stream", + "rand", + "serde", + "serde_repr", + "sha1", + "static_assertions", + "tokio", + "tracing", + "uds_windows", + "winapi", + "xdg-home", + "zbus_macros", + "zbus_names", + "zvariant", +] + +[[package]] +name = "zbus_macros" +version = "3.15.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7131497b0f887e8061b430c530240063d33bf9455fa34438f388a245da69e0a5" +dependencies = [ + "proc-macro-crate", + "proc-macro2", + "quote", + "regex", + "syn 1.0.109", + "zvariant_utils", +] + +[[package]] +name = "zbus_names" +version = "2.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "437d738d3750bed6ca9b8d423ccc7a8eb284f6b1d6d4e225a0e4e6258d864c8d" +dependencies = [ + "serde", + "static_assertions", + "zvariant", +] + +[[package]] +name = "zbus_polkit" +version = "3.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "07eb69d4b17d69f78632d4f9b03500f057e80764df8e17ed327f74ac67447813" +dependencies = [ + "enumflags2", + "serde", + "serde_repr", + "static_assertions", + "zbus", + "zvariant", +] + +[[package]] +name = "zvariant" +version = "3.15.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4eef2be88ba09b358d3b58aca6e41cd853631d44787f319a1383ca83424fb2db" +dependencies = [ + "byteorder", + "enumflags2", + "libc", + "serde", + "static_assertions", + "zvariant_derive", +] + +[[package]] +name = "zvariant_derive" +version = "3.15.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "37c24dc0bed72f5f90d1f8bb5b07228cbf63b3c6e9f82d82559d4bae666e7ed9" +dependencies = [ + "proc-macro-crate", + "proc-macro2", + "quote", + "syn 1.0.109", + "zvariant_utils", +] + +[[package]] +name = "zvariant_utils" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7234f0d811589db492d16893e3f21e8e2fd282e6d01b0cddee310322062cc200" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] diff --git a/pkgs/by-name/sy/system76-power/package.nix b/pkgs/by-name/sy/system76-power/package.nix index 850fac9f6c72..5220534d87e0 100644 --- a/pkgs/by-name/sy/system76-power/package.nix +++ b/pkgs/by-name/sy/system76-power/package.nix @@ -2,19 +2,24 @@ rustPlatform.buildRustPackage rec { pname = "system76-power"; - version = "1.1.23"; + version = "1.2.1"; src = fetchFromGitHub { owner = "pop-os"; repo = "system76-power"; rev = version; - sha256 = "sha256-RuYDG4eZE599oa04xUR+W5B3/IPOpQUss1x7hzoydUQ="; + sha256 = "sha256-kYDrSfpOuRigDX792w3hATXoxX6PWpYWXkxw9Q28P5s="; }; nativeBuildInputs = [ pkg-config ]; buildInputs = [ dbus libusb1 ]; - cargoHash = "sha256-Vps02ZRVmeOQ8jDFZJYAUb502MhqY+2YV2W1/9XGY+0="; + cargoLock = { + lockFile = ./Cargo.lock; + outputHashes = { + "sysfs-class-0.1.3" = "sha256-ztfwfCRAkxUd/LLNG5fpVuFdgX+tCKL3F35qYJ2GDm8="; + }; + }; postInstall = '' install -D -m 0644 data/com.system76.PowerDaemon.conf $out/etc/dbus-1/system.d/com.system76.PowerDaemon.conf @@ -28,6 +33,6 @@ rustPlatform.buildRustPackage rec { homepage = "https://github.com/pop-os/system76-power"; license = licenses.gpl3Plus; platforms = [ "i686-linux" "x86_64-linux" ]; - maintainers = [ ]; + maintainers = [ maintainers.smonson ]; }; } diff --git a/pkgs/by-name/wi/wivrn/package.nix b/pkgs/by-name/wi/wivrn/package.nix new file mode 100644 index 000000000000..f795ec72b348 --- /dev/null +++ b/pkgs/by-name/wi/wivrn/package.nix @@ -0,0 +1,149 @@ +{ + config, + lib, + stdenv, + fetchFromGitHub, + fetchFromGitLab, + applyPatches, + autoAddDriverRunpath, + avahi, + boost, + cli11, + cmake, + cudaPackages ? { }, + cudaSupport ? config.cudaSupport, + eigen, + ffmpeg, + freetype, + git, + glm, + glslang, + harfbuzz, + libdrm, + libGL, + libva, + libpulseaudio, + libX11, + libXrandr, + nix-update-script, + nlohmann_json, + onnxruntime, + openxr-loader, + pipewire, + pkg-config, + python3, + shaderc, + spdlog, + systemd, + udev, + vulkan-headers, + vulkan-loader, + vulkan-tools, + x264, +}: +stdenv.mkDerivation (finalAttrs: { + pname = "wivrn"; + version = "0.19"; + + src = fetchFromGitHub { + owner = "wivrn"; + repo = "wivrn"; + rev = "v${finalAttrs.version}"; + hash = "sha256-DYV+JUWjjhLZLq+4Hv7jxOyxDqQut/mU1X0ZFMoNkDI="; + }; + + monado = applyPatches { + src = fetchFromGitLab { + domain = "gitlab.freedesktop.org"; + owner = "monado"; + repo = "monado"; + rev = "bcbe19ddd795f182df42051e5495e9727db36c1c"; + hash = "sha256-sh5slHROcuC3Dgenu1+hm8U5lUOW48JUbiluYvc3NiQ="; + }; + + patches = [ + "${finalAttrs.src}/patches/monado/0001-c-multi-disable-dropping-of-old-frames.patch" + "${finalAttrs.src}/patches/monado/0002-ipc-server-Always-listen-to-stdin.patch" + "${finalAttrs.src}/patches/monado/0003-c-multi-Don-t-log-frame-time-diff.patch" + "${finalAttrs.src}/patches/monado/0005-distortion-images.patch" + "${finalAttrs.src}/patches/monado/0008-Use-mipmaps-for-distortion-shader.patch" + "${finalAttrs.src}/patches/monado/0009-convert-to-YCbCr-in-monado.patch" + ]; + }; + + strictDeps = true; + + postUnpack = '' + # Let's make sure our monado source revision matches what is used by WiVRn upstream + ourMonadoRev="${finalAttrs.monado.src.rev}" + theirMonadoRev=$(grep "GIT_TAG" ${finalAttrs.src.name}/CMakeLists.txt | awk '{print $2}') + if [ ! "$theirMonadoRev" == "$ourMonadoRev" ]; then + echo "Our Monado source revision doesn't match CMakeLists.txt." >&2 + echo " theirs: $theirMonadoRev" >&2 + echo " ours: $ourMonadoRev" >&2 + return 1 + fi + ''; + + nativeBuildInputs = [ + cmake + git + glslang + pkg-config + python3 + ] ++ lib.optionals cudaSupport [ autoAddDriverRunpath ]; + + buildInputs = [ + avahi + boost + cli11 + eigen + ffmpeg + freetype + glm + harfbuzz + libdrm + libGL + libva + libX11 + libXrandr + libpulseaudio + nlohmann_json + onnxruntime + openxr-loader + pipewire + shaderc + spdlog + systemd + udev + vulkan-headers + vulkan-loader + vulkan-tools + x264 + ] ++ lib.optionals cudaSupport [ cudaPackages.cudatoolkit ]; + + cmakeFlags = [ + (lib.cmakeBool "WIVRN_USE_VAAPI" true) + (lib.cmakeBool "WIVRN_USE_X264" true) + (lib.cmakeBool "WIVRN_USE_NVENC" cudaSupport) + (lib.cmakeBool "WIVRN_USE_SYSTEMD" true) + (lib.cmakeBool "WIVRN_USE_PIPEWIRE" true) + (lib.cmakeBool "WIVRN_USE_PULSEAUDIO" true) + (lib.cmakeBool "WIVRN_BUILD_CLIENT" false) + (lib.cmakeBool "WIVRN_OPENXR_INSTALL_ABSOLUTE_RUNTIME_PATH" true) + (lib.cmakeBool "FETCHCONTENT_FULLY_DISCONNECTED" true) + (lib.cmakeFeature "FETCHCONTENT_SOURCE_DIR_MONADO" "${finalAttrs.monado}") + ]; + + passthru.updateScript = nix-update-script { }; + + meta = with lib; { + description = "An OpenXR streaming application to a standalone headset"; + homepage = "https://github.com/Meumeu/WiVRn/"; + changelog = "https://github.com/Meumeu/WiVRn/releases/"; + license = licenses.gpl3Only; + maintainers = with maintainers; [ passivelemon ]; + platforms = platforms.linux; + mainProgram = "wivrn-server"; + }; +}) diff --git a/pkgs/development/node-packages/aliases.nix b/pkgs/development/node-packages/aliases.nix index 648d045ffd05..c0ac63577954 100644 --- a/pkgs/development/node-packages/aliases.nix +++ b/pkgs/development/node-packages/aliases.nix @@ -158,6 +158,7 @@ mapAliases { inherit (pkgs) rtlcss; # added 2023-08-29 s3http = throw "s3http was removed because it was abandoned upstream"; # added 2023-08-18 inherit (pkgs) serverless; # Added 2023-11-29 + shout = throw "shout was removed because it was deprecated upstream in favor of thelounge."; # Added 2024-10-19 inherit (pkgs) snyk; # Added 2023-08-30 inherit (pkgs) sql-formatter; # added 2024-06-29 "@squoosh/cli" = throw "@squoosh/cli was removed because it was abandoned upstream"; # added 2023-09-02 diff --git a/pkgs/development/node-packages/node-packages.json b/pkgs/development/node-packages/node-packages.json index ad85e2054447..446c0d4fe6cb 100644 --- a/pkgs/development/node-packages/node-packages.json +++ b/pkgs/development/node-packages/node-packages.json @@ -174,7 +174,6 @@ , "sass" , "semver" , "serve" -, "shout" , "sloc" , "smartdc" , "socket.io" diff --git a/pkgs/development/node-packages/node-packages.nix b/pkgs/development/node-packages/node-packages.nix index 726b4bd7e1c5..0d5ce792d47b 100644 --- a/pkgs/development/node-packages/node-packages.nix +++ b/pkgs/development/node-packages/node-packages.nix @@ -79540,253 +79540,6 @@ in bypassCache = true; reconstructLock = true; }; - shout = nodeEnv.buildNodePackage { - name = "shout"; - packageName = "shout"; - version = "0.53.0"; - src = fetchurl { - url = "https://registry.npmjs.org/shout/-/shout-0.53.0.tgz"; - sha512 = "WX6Be8BtHxMskOZkxEx96cy7Qs+DTsasvmITJDa28OMkGQS59EuR7LPVq4BB1O5uvvjxvIi1rF1WqZwbF/PfKQ=="; - }; - dependencies = [ - sources."CSSselect-0.4.1" - sources."CSSwhat-0.4.7" - sources."accepts-1.3.8" - sources."after-0.8.1" - sources."ajv-6.12.6" - sources."array-flatten-1.1.1" - sources."arraybuffer.slice-0.0.6" - sources."asn1-0.2.6" - sources."assert-plus-1.0.0" - sources."asynckit-0.4.0" - sources."aws-sign2-0.7.0" - sources."aws4-1.13.2" - sources."base64-arraybuffer-0.1.2" - sources."base64id-0.1.0" - sources."bcrypt-nodejs-0.0.3" - sources."bcrypt-pbkdf-1.0.2" - sources."better-assert-1.0.2" - sources."blob-0.0.2" - sources."body-parser-1.20.3" - sources."bytes-3.1.2" - sources."call-bind-1.0.7" - sources."callsite-1.0.0" - sources."caseless-0.12.0" - sources."cheerio-0.17.0" - sources."combined-stream-1.0.8" - sources."commander-2.20.3" - sources."component-bind-1.0.0" - sources."component-emitter-1.1.2" - sources."component-inherit-0.0.3" - sources."content-disposition-0.5.4" - sources."content-type-1.0.5" - sources."cookie-0.6.0" - sources."cookie-signature-1.0.6" - sources."core-util-is-1.0.3" - sources."dashdash-1.14.1" - sources."debug-2.6.9" - sources."define-data-property-1.1.4" - sources."delayed-stream-1.0.0" - sources."depd-2.0.0" - sources."destroy-1.2.0" - (sources."dom-serializer-0.0.1" // { - dependencies = [ - sources."domelementtype-1.1.3" - ]; - }) - sources."domelementtype-1.3.1" - sources."domhandler-2.2.1" - sources."domutils-1.4.3" - sources."duplexer-0.1.2" - sources."ecc-jsbn-0.1.2" - sources."ee-first-1.1.1" - sources."emitter-http://github.com/component/emitter/archive/1.0.1.tar.gz" - sources."encodeurl-2.0.0" - (sources."engine.io-1.3.1" // { - dependencies = [ - sources."debug-0.6.0" - ]; - }) - (sources."engine.io-client-1.3.1" // { - dependencies = [ - sources."debug-0.7.4" - ]; - }) - sources."engine.io-parser-1.0.6" - sources."entities-1.1.2" - sources."es-define-property-1.0.0" - sources."es-errors-1.3.0" - sources."escape-html-1.0.3" - sources."etag-1.8.1" - sources."event-stream-3.3.5" - sources."express-4.21.0" - sources."extend-3.0.2" - sources."extsprintf-1.3.0" - sources."fast-deep-equal-3.1.3" - sources."fast-json-stable-stringify-2.1.0" - sources."finalhandler-1.3.1" - sources."forever-agent-0.6.1" - sources."form-data-2.3.3" - sources."forwarded-0.2.0" - sources."fresh-0.5.2" - sources."from-0.1.7" - sources."function-bind-1.1.2" - sources."get-intrinsic-1.2.4" - sources."getpass-0.1.7" - sources."global-https://github.com/component/global/archive/v2.0.1.tar.gz" - sources."gopd-1.0.1" - sources."har-schema-2.0.0" - sources."har-validator-5.1.5" - sources."has-binary-data-0.1.1" - sources."has-cors-1.0.3" - sources."has-property-descriptors-1.0.2" - sources."has-proto-1.0.3" - sources."has-symbols-1.0.3" - sources."hasown-2.0.2" - (sources."htmlparser2-3.7.3" // { - dependencies = [ - sources."domutils-1.5.1" - sources."entities-1.0.0" - ]; - }) - sources."http-errors-2.0.0" - sources."http-signature-1.2.0" - sources."iconv-lite-0.4.24" - sources."indexof-0.0.1" - sources."inherits-2.0.4" - sources."ipaddr.js-1.9.1" - sources."irc-replies-2.0.1" - sources."is-typedarray-1.0.0" - sources."isarray-0.0.1" - sources."isstream-0.1.2" - sources."jsbn-0.1.1" - sources."json-schema-0.4.0" - sources."json-schema-traverse-0.4.1" - sources."json-stringify-safe-5.0.1" - sources."json3-3.2.6" - sources."jsprim-1.4.2" - sources."linewise-0.0.3" - sources."lodash-2.4.2" - sources."map-stream-0.0.7" - sources."media-typer-0.3.0" - sources."merge-descriptors-1.0.3" - sources."methods-1.1.2" - sources."mime-1.6.0" - sources."mime-db-1.52.0" - sources."mime-types-2.1.35" - sources."minimist-1.2.8" - sources."mkdirp-0.5.6" - sources."moment-2.7.0" - sources."ms-2.0.0" - sources."mute-stream-0.0.8" - sources."nan-0.3.2" - sources."negotiator-0.6.3" - sources."oauth-sign-0.9.0" - sources."object-component-0.0.3" - sources."object-inspect-1.13.2" - sources."on-finished-2.4.1" - sources."options-0.0.6" - sources."parsejson-0.0.1" - sources."parseqs-0.0.2" - sources."parseuri-0.0.2" - sources."parseurl-1.3.3" - sources."path-to-regexp-0.1.10" - sources."pause-stream-0.0.11" - sources."performance-now-2.1.0" - sources."proxy-addr-2.0.7" - sources."psl-1.9.0" - sources."punycode-2.3.1" - sources."qs-6.13.0" - sources."range-parser-1.2.1" - sources."raw-body-2.5.2" - sources."read-1.0.7" - sources."readable-stream-1.1.14" - (sources."request-2.88.2" // { - dependencies = [ - sources."qs-6.5.3" - ]; - }) - sources."safe-buffer-5.2.1" - sources."safer-buffer-2.1.2" - (sources."send-0.19.0" // { - dependencies = [ - sources."encodeurl-1.0.2" - sources."ms-2.1.3" - ]; - }) - sources."serve-static-1.16.2" - sources."set-function-length-1.2.2" - sources."setprototypeof-1.2.0" - sources."side-channel-1.0.6" - sources."slate-irc-0.7.3" - (sources."slate-irc-parser-0.0.2" // { - dependencies = [ - sources."debug-0.7.4" - ]; - }) - (sources."socket.io-1.0.6" // { - dependencies = [ - sources."debug-0.7.4" - ]; - }) - (sources."socket.io-adapter-0.2.0" // { - dependencies = [ - sources."debug-0.7.4" - sources."emitter-http://github.com/component/emitter/archive/1.0.1.tar.gz" - sources."socket.io-parser-2.1.2" - ]; - }) - (sources."socket.io-client-1.0.6" // { - dependencies = [ - sources."debug-0.7.4" - ]; - }) - (sources."socket.io-parser-2.2.0" // { - dependencies = [ - sources."debug-0.7.4" - ]; - }) - sources."split-1.0.1" - sources."sshpk-1.18.0" - sources."statuses-2.0.1" - sources."stream-combiner-0.2.2" - sources."string_decoder-0.10.31" - sources."through-2.3.8" - sources."tinycolor-0.0.1" - sources."to-array-0.1.3" - sources."toidentifier-1.0.1" - sources."tough-cookie-2.5.0" - sources."tunnel-agent-0.6.0" - sources."tweetnacl-0.14.5" - sources."type-is-1.6.18" - sources."unpipe-1.0.0" - sources."uri-js-4.4.1" - sources."utf8-2.0.0" - sources."utils-merge-1.0.1" - sources."uuid-3.4.0" - sources."vary-1.1.2" - (sources."verror-1.10.0" // { - dependencies = [ - sources."core-util-is-1.0.2" - ]; - }) - (sources."ws-0.4.31" // { - dependencies = [ - sources."commander-0.6.1" - ]; - }) - sources."xmlhttprequest-https://github.com/LearnBoost/node-XMLHttpRequest/archive/0f36d0b5ebc03d85f860d42a64ae9791e1daa433.tar.gz" - ]; - buildInputs = globalBuildInputs; - meta = { - description = "The self-hosted Web IRC client"; - homepage = "https://github.com/erming/shout#readme"; - license = "MIT"; - }; - production = true; - bypassCache = true; - reconstructLock = true; - }; sloc = nodeEnv.buildNodePackage { name = "sloc"; packageName = "sloc"; diff --git a/pkgs/development/python-modules/eq3btsmart/default.nix b/pkgs/development/python-modules/eq3btsmart/default.nix index 5fc267fe2e21..908dc2ac979e 100644 --- a/pkgs/development/python-modules/eq3btsmart/default.nix +++ b/pkgs/development/python-modules/eq3btsmart/default.nix @@ -12,14 +12,14 @@ buildPythonPackage rec { pname = "eq3btsmart"; - version = "1.1.9"; + version = "1.2.0"; pyproject = true; src = fetchFromGitHub { owner = "EuleMitKeule"; repo = "eq3btsmart"; rev = "refs/tags/${version}"; - hash = "sha256-7kJqPygX2Oc7fz31qZWrS1ZA+kANZr8vxOwarUzgp/M="; + hash = "sha256-Z3GfUTh3qp5ICJAYsCO6ufw/Jd5FDjOaQE9SaD3H0IU="; }; build-system = [ poetry-core ]; diff --git a/pkgs/development/python-modules/triton/bin.nix b/pkgs/development/python-modules/triton/bin.nix index 6bb67753a8bd..98c8da68a4d1 100644 --- a/pkgs/development/python-modules/triton/bin.nix +++ b/pkgs/development/python-modules/triton/bin.nix @@ -15,7 +15,7 @@ buildPythonPackage rec { pname = "triton"; - version = "2.1.0"; + version = "3.1.0"; format = "wheel"; src = diff --git a/pkgs/development/python-modules/triton/binary-hashes.nix b/pkgs/development/python-modules/triton/binary-hashes.nix index 5c542ac187ee..0ce7ee85b1ca 100644 --- a/pkgs/development/python-modules/triton/binary-hashes.nix +++ b/pkgs/development/python-modules/triton/binary-hashes.nix @@ -7,26 +7,31 @@ version: builtins.getAttr version { - "2.1.0" = { + "3.1.0" = { x86_64-linux-38 = { - name = "triton-2.1.0-cp38-cp38-linux_x86_64.whl"; - url = "https://download.pytorch.org/whl/triton-2.1.0-0-cp38-cp38-manylinux2014_x86_64.manylinux_2_17_x86_64.whl"; - hash = "sha256-Ofb7a9zLPpjzFS4/vqck8a6ufXSUErux+pxEHUdOuiY="; + name = "triton-3.1.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl"; + url = "https://download.pytorch.org/whl/triton-3.1.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl"; + hash = "sha256-ba2sp/wk3jThgCcbXPhkwWdVcC6fY6FvYt9xSoCZEmo="; }; x86_64-linux-39 = { - name = "triton-2.1.0-cp39-cp39-linux_x86_64.whl"; - url = "https://download.pytorch.org/whl/triton-2.1.0-0-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl"; - hash = "sha256-IVROUiwCAFpibIrWPTm9/y8x1BBpWSkZ7ygelk7SZEY="; + name = "triton-3.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl "; + url = "https://download.pytorch.org/whl/triton-3.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl"; + hash = "sha256-qvqaIM0Nn+5SPNRQSqcTGAeoZM133Pbv5+mB8YuMbBE="; }; x86_64-linux-310 = { - name = "triton-2.1.0-cp310-cp310-linux_x86_64.whl"; - url = "https://download.pytorch.org/whl/triton-2.1.0-0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl"; - hash = "sha256-ZkOZI6MNXUg5mwip6uEDcPbCYaXshkpkmDuuYxUtOdc="; + name = "triton-3.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl "; + url = "https://download.pytorch.org/whl/triton-3.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl"; + hash = "sha256-aw3RCpJSY6u+n6N9zeZ6Xpsjg/wmn99Z9WV8rDjF0dg="; }; x86_64-linux-311 = { - name = "triton-2.1.0-cp311-cp311-linux_x86_64.whl"; - url = "https://download.pytorch.org/whl/triton-2.1.0-0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl"; - hash = "sha256-kZsGRT8AM+pSwT6veDPeDlfbMXjSPU4E+fxxxPLDK/g="; + name = "triton-3.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl"; + url = "https://download.pytorch.org/whl/triton-3.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl"; + hash = "sha256-DzT254hdG/Dqr3uodaXwzm88E7qY+VA2UcHm3GdX7Vw="; + }; + x86_64-linux-312 = { + name = "triton-3.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl"; + url = "https://download.pytorch.org/whl/triton-3.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl"; + hash = "sha256-yBgvQv2AgKfTnWZoFPo2xeMMwA6n7usaKYPbtMmaD9w="; }; }; } diff --git a/pkgs/os-specific/linux/firmware/linux-firmware/default.nix b/pkgs/os-specific/linux/firmware/linux-firmware/default.nix index a3fa3f511b19..a1e13be4febe 100644 --- a/pkgs/os-specific/linux/firmware/linux-firmware/default.nix +++ b/pkgs/os-specific/linux/firmware/linux-firmware/default.nix @@ -1,6 +1,5 @@ { stdenvNoCC , fetchzip -, findutils , lib , python3 , rdfind @@ -13,7 +12,7 @@ let # in a perfectly pristine tree, so we can fake just enough of git to run it. gitStub = writeShellScriptBin "git" '' if [ "$1" == "ls-files" ]; then - ${lib.getExe findutils} -type f -printf "%P\n" + find -type f -printf "%P\n" else echo "Git stub called with unexpected arguments $@" >&2 exit 1 diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index 83be2d43d285..f0f75b361e05 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -1497,6 +1497,7 @@ mapAliases { inherit (libsForQt5.mauiPackages) shelf; # added 2022-05-17 shhgit = throw "shhgit is broken and is no longer maintained. See https://github.com/eth0izzle/shhgit#-shhgit-is-no-longer-maintained-"; # Added 2023-08-08 shipyard = jumppad; # Added 2023-06-06 + shout = nodePackages.shout; # Added unknown; moved 2024-10-19 signumone-ks = throw "signumone-ks has been removed from nixpkgs because the developers stopped offering the binaries"; # Added 2023-08-17 simplenote = throw "'simplenote' has been removed because it is no longer maintained and insecure"; # Added 2023-10-09 skk-dicts = throw "'skk-dicts' has been split into multiple packages under 'skkDictionaries'"; # Added 2023-11-08 diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 3f9ad00fa913..9b94039414e4 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -12157,8 +12157,6 @@ with pkgs; shotwell = callPackage ../applications/graphics/shotwell { }; - shout = nodePackages.shout; - shrikhand = callPackage ../data/fonts/shrikhand { }; shunit2 = callPackage ../tools/misc/shunit2 { };