Merge staging-next into staging

authored by github-actions[bot] and committed by GitHub 18e39b91 bf641bb9

+1083 -416
+18
maintainers/maintainer-list.nix
··· 203 203 fingerprint = "D292 365E 3C46 A5AA 75EE B30B 78DB 7EDE 3540 794B"; 204 204 }]; 205 205 }; 206 + _6543 = { 207 + email = "6543@obermui.de"; 208 + github = "6543"; 209 + githubId = 24977596; 210 + name = "6543"; 211 + keys = [{ 212 + fingerprint = "8722 B61D 7234 1082 553B 201C B8BE 6D61 0E61 C862"; 213 + }]; 214 + }; 206 215 _6AA4FD = { 207 216 email = "f6442954@gmail.com"; 208 217 github = "6AA4FD"; ··· 7037 7046 email = "kghost0@gmail.com"; 7038 7047 github = "ghostbuster91"; 7039 7048 githubId = 5662622; 7049 + }; 7050 + ghthor = { 7051 + email = "ghthor@gmail.com"; 7052 + github = "ghthor"; 7053 + githubId = 160298; 7054 + name = "Will Owens"; 7055 + keys = [{ 7056 + fingerprint = "8E98 BB01 BFF8 AEA4 E303 FC4C 8074 09C9 2CE2 3033"; 7057 + }]; 7040 7058 }; 7041 7059 ghuntley = { 7042 7060 email = "ghuntley@ghuntley.com";
+2
nixos/doc/manual/release-notes/rl-2405.section.md
··· 93 93 94 94 - [Clevis](https://github.com/latchset/clevis), a pluggable framework for automated decryption, used to unlock encrypted devices in initrd. Available as [boot.initrd.clevis.enable](#opt-boot.initrd.clevis.enable). 95 95 96 + - [armagetronad](https://wiki.armagetronad.org), a mid-2000s 3D lightcycle game widely played at iD Tech Camps. You can define multiple servers using `services.armagetronad.<server>.enable`. 97 + 96 98 - [TuxClocker](https://github.com/Lurkki14/tuxclocker), a hardware control and monitoring program. Available as [programs.tuxclocker](#opt-programs.tuxclocker.enable). 97 99 98 100 - [ALVR](https://github.com/alvr-org/alvr), a VR desktop streamer. Available as [programs.alvr](#opt-programs.alvr.enable)
+1
nixos/modules/module-list.nix
··· 512 512 ./services/editors/infinoted.nix 513 513 ./services/finance/odoo.nix 514 514 ./services/games/archisteamfarm.nix 515 + ./services/games/armagetronad.nix 515 516 ./services/games/crossfire-server.nix 516 517 ./services/games/deliantra-server.nix 517 518 ./services/games/factorio.nix
+268
nixos/modules/services/games/armagetronad.nix
··· 1 + { config, lib, pkgs, ... }: 2 + let 3 + inherit (lib) mkEnableOption mkIf mkOption mkMerge literalExpression; 4 + inherit (lib) mapAttrsToList filterAttrs unique recursiveUpdate types; 5 + 6 + mkValueStringArmagetron = with lib; v: 7 + if isInt v then toString v 8 + else if isFloat v then toString v 9 + else if isString v then v 10 + else if true == v then "1" 11 + else if false == v then "0" 12 + else if null == v then "" 13 + else throw "unsupported type: ${builtins.typeOf v}: ${(lib.generators.toPretty {} v)}"; 14 + 15 + settingsFormat = pkgs.formats.keyValue { 16 + mkKeyValue = lib.generators.mkKeyValueDefault 17 + { 18 + mkValueString = mkValueStringArmagetron; 19 + } " "; 20 + listsAsDuplicateKeys = true; 21 + }; 22 + 23 + cfg = config.services.armagetronad; 24 + enabledServers = lib.filterAttrs (n: v: v.enable) cfg.servers; 25 + nameToId = serverName: "armagetronad-${serverName}"; 26 + getStateDirectory = serverName: "armagetronad/${serverName}"; 27 + getServerRoot = serverName: "/var/lib/${getStateDirectory serverName}"; 28 + in 29 + { 30 + options = { 31 + services.armagetronad = { 32 + servers = mkOption { 33 + description = lib.mdDoc "Armagetron server definitions."; 34 + default = { }; 35 + type = types.attrsOf (types.submodule { 36 + options = { 37 + enable = mkEnableOption (lib.mdDoc "armagetronad"); 38 + 39 + package = lib.mkPackageOptionMD pkgs "armagetronad-dedicated" { 40 + example = '' 41 + pkgs.armagetronad."0.2.9-sty+ct+ap".dedicated 42 + ''; 43 + extraDescription = '' 44 + Ensure that you use a derivation which contains the path `bin/armagetronad-dedicated`. 45 + ''; 46 + }; 47 + 48 + host = mkOption { 49 + type = types.str; 50 + default = "0.0.0.0"; 51 + description = lib.mdDoc "Host to listen on. Used for SERVER_IP."; 52 + }; 53 + 54 + port = mkOption { 55 + type = types.port; 56 + default = 4534; 57 + description = lib.mdDoc "Port to listen on. Used for SERVER_PORT."; 58 + }; 59 + 60 + dns = mkOption { 61 + type = types.nullOr types.str; 62 + default = null; 63 + description = lib.mdDoc "DNS address to use for this server. Optional."; 64 + }; 65 + 66 + openFirewall = mkOption { 67 + type = types.bool; 68 + default = true; 69 + description = lib.mdDoc "Set to true to open the configured UDP port for Armagetron Advanced."; 70 + }; 71 + 72 + name = mkOption { 73 + type = types.str; 74 + description = "The name of this server."; 75 + }; 76 + 77 + settings = mkOption { 78 + type = settingsFormat.type; 79 + default = { }; 80 + description = lib.mdDoc '' 81 + Armagetron Advanced server rules configuration. Refer to: 82 + <https://wiki.armagetronad.org/index.php?title=Console_Commands> 83 + or `armagetronad-dedicated --doc` for a list. 84 + 85 + This attrset is used to populate `settings_custom.cfg`; see: 86 + <https://wiki.armagetronad.org/index.php/Configuration_Files> 87 + ''; 88 + example = literalExpression '' 89 + { 90 + CYCLE_RUBBER = 40; 91 + } 92 + ''; 93 + }; 94 + 95 + roundSettings = mkOption { 96 + type = settingsFormat.type; 97 + default = { }; 98 + description = lib.mdDoc '' 99 + Armagetron Advanced server per-round configuration. Refer to: 100 + <https://wiki.armagetronad.org/index.php?title=Console_Commands> 101 + or `armagetronad-dedicated --doc` for a list. 102 + 103 + This attrset is used to populate `everytime.cfg`; see: 104 + <https://wiki.armagetronad.org/index.php/Configuration_Files> 105 + ''; 106 + example = literalExpression '' 107 + { 108 + SAY = [ 109 + "Hosted on NixOS" 110 + "https://nixos.org" 111 + "iD Tech High Rubber rul3z!! Happy New Year 2008!!1" 112 + ]; 113 + } 114 + ''; 115 + }; 116 + }; 117 + }); 118 + }; 119 + }; 120 + }; 121 + 122 + config = mkIf (enabledServers != { }) { 123 + systemd.tmpfiles.settings = mkMerge (mapAttrsToList 124 + (serverName: serverCfg: 125 + let 126 + serverId = nameToId serverName; 127 + serverRoot = getServerRoot serverName; 128 + serverInfo = ( 129 + { 130 + SERVER_IP = serverCfg.host; 131 + SERVER_PORT = serverCfg.port; 132 + SERVER_NAME = serverCfg.name; 133 + } // (lib.optionalAttrs (serverCfg.dns != null) { SERVER_DNS = serverCfg.dns; }) 134 + ); 135 + customSettings = serverCfg.settings; 136 + everytimeSettings = serverCfg.roundSettings; 137 + 138 + serverInfoCfg = settingsFormat.generate "server_info.${serverName}.cfg" serverInfo; 139 + customSettingsCfg = settingsFormat.generate "settings_custom.${serverName}.cfg" customSettings; 140 + everytimeSettingsCfg = settingsFormat.generate "everytime.${serverName}.cfg" everytimeSettings; 141 + in 142 + { 143 + "10-armagetronad-${serverId}" = { 144 + "${serverRoot}/data" = { 145 + d = { 146 + group = serverId; 147 + user = serverId; 148 + mode = "0750"; 149 + }; 150 + }; 151 + "${serverRoot}/settings" = { 152 + d = { 153 + group = serverId; 154 + user = serverId; 155 + mode = "0750"; 156 + }; 157 + }; 158 + "${serverRoot}/var" = { 159 + d = { 160 + group = serverId; 161 + user = serverId; 162 + mode = "0750"; 163 + }; 164 + }; 165 + "${serverRoot}/resource" = { 166 + d = { 167 + group = serverId; 168 + user = serverId; 169 + mode = "0750"; 170 + }; 171 + }; 172 + "${serverRoot}/input" = { 173 + "f+" = { 174 + group = serverId; 175 + user = serverId; 176 + mode = "0640"; 177 + }; 178 + }; 179 + "${serverRoot}/settings/server_info.cfg" = { 180 + "L+" = { 181 + argument = "${serverInfoCfg}"; 182 + }; 183 + }; 184 + "${serverRoot}/settings/settings_custom.cfg" = { 185 + "L+" = { 186 + argument = "${customSettingsCfg}"; 187 + }; 188 + }; 189 + "${serverRoot}/settings/everytime.cfg" = { 190 + "L+" = { 191 + argument = "${everytimeSettingsCfg}"; 192 + }; 193 + }; 194 + }; 195 + } 196 + ) 197 + enabledServers 198 + ); 199 + 200 + systemd.services = mkMerge (mapAttrsToList 201 + (serverName: serverCfg: 202 + let 203 + serverId = nameToId serverName; 204 + in 205 + { 206 + "armagetronad-${serverName}" = { 207 + description = "Armagetron Advanced Dedicated Server for ${serverName}"; 208 + wants = [ "basic.target" ]; 209 + after = [ "basic.target" "network.target" "multi-user.target" ]; 210 + wantedBy = [ "multi-user.target" ]; 211 + serviceConfig = 212 + let 213 + serverRoot = getServerRoot serverName; 214 + in 215 + { 216 + Type = "simple"; 217 + StateDirectory = getStateDirectory serverName; 218 + ExecStart = "${lib.getExe serverCfg.package} --daemon --input ${serverRoot}/input --userdatadir ${serverRoot}/data --userconfigdir ${serverRoot}/settings --vardir ${serverRoot}/var --autoresourcedir ${serverRoot}/resource"; 219 + Restart = "on-failure"; 220 + CapabilityBoundingSet = ""; 221 + LockPersonality = true; 222 + NoNewPrivileges = true; 223 + PrivateDevices = true; 224 + PrivateTmp = true; 225 + PrivateUsers = true; 226 + ProtectClock = true; 227 + ProtectControlGroups = true; 228 + ProtectHome = true; 229 + ProtectHostname = true; 230 + ProtectKernelLogs = true; 231 + ProtectKernelModules = true; 232 + ProtectKernelTunables = true; 233 + ProtectProc = "invisible"; 234 + ProtectSystem = "strict"; 235 + RestrictNamespaces = true; 236 + RestrictSUIDSGID = true; 237 + User = serverId; 238 + Group = serverId; 239 + }; 240 + }; 241 + }) 242 + enabledServers 243 + ); 244 + 245 + networking.firewall.allowedUDPPorts = 246 + unique (mapAttrsToList (serverName: serverCfg: serverCfg.port) (filterAttrs (serverName: serverCfg: serverCfg.openFirewall) enabledServers)); 247 + 248 + users.users = mkMerge (mapAttrsToList 249 + (serverName: serverCfg: 250 + { 251 + ${nameToId serverName} = { 252 + group = nameToId serverName; 253 + description = "Armagetron Advanced dedicated user for server ${serverName}"; 254 + isSystemUser = true; 255 + }; 256 + }) 257 + enabledServers 258 + ); 259 + 260 + users.groups = mkMerge (mapAttrsToList 261 + (serverName: serverCfg: 262 + { 263 + ${nameToId serverName} = { }; 264 + }) 265 + enabledServers 266 + ); 267 + }; 268 + }
+24 -1
nixos/modules/services/networking/unbound.nix
··· 24 24 confNoServer = concatStringsSep "\n" ((mapAttrsToList (toConf "") (builtins.removeAttrs cfg.settings [ "server" ])) ++ [""]); 25 25 confServer = concatStringsSep "\n" (mapAttrsToList (toConf " ") (builtins.removeAttrs cfg.settings.server [ "define-tag" ])); 26 26 27 - confFile = pkgs.writeText "unbound.conf" '' 27 + confFileUnchecked = pkgs.writeText "unbound.conf" '' 28 28 server: 29 29 ${optionalString (cfg.settings.server.define-tag != "") (toOption " " "define-tag" cfg.settings.server.define-tag)} 30 30 ${confServer} 31 31 ${confNoServer} 32 32 ''; 33 + confFile = if cfg.checkconf then pkgs.runCommandLocal "unbound-checkconf" { } '' 34 + cp ${confFileUnchecked} unbound.conf 35 + 36 + # fake stateDir which is not accesible in the sandbox 37 + mkdir -p $PWD/state 38 + sed -i unbound.conf \ 39 + -e '/auto-trust-anchor-file/d' \ 40 + -e "s|${cfg.stateDir}|$PWD/state|" 41 + ${cfg.package}/bin/unbound-checkconf unbound.conf 42 + 43 + cp ${confFileUnchecked} $out 44 + '' else confFileUnchecked; 33 45 34 46 rootTrustAnchorFile = "${cfg.stateDir}/root.key"; 35 47 ··· 60 72 type = types.path; 61 73 default = "/var/lib/unbound"; 62 74 description = lib.mdDoc "Directory holding all state for unbound to run."; 75 + }; 76 + 77 + checkconf = mkOption { 78 + type = types.bool; 79 + default = !cfg.settings ? include; 80 + defaultText = "!config.services.unbound.settings ? include"; 81 + description = lib.mdDoc '' 82 + Wether to check the resulting config file with unbound checkconf for syntax errors. 83 + 84 + If settings.include is used, then this options is disabled, as the import can likely not be resolved at build time. 85 + ''; 63 86 }; 64 87 65 88 resolveLocalQueries = mkOption {
+2
nixos/modules/virtualisation/podman/default.nix
··· 216 216 requires = [ "podman.service" ]; 217 217 }; 218 218 219 + systemd.services.podman.environment = config.networking.proxy.envVars; 219 220 systemd.sockets.podman.wantedBy = [ "sockets.target" ]; 220 221 systemd.sockets.podman.socketConfig.SocketGroup = "podman"; 221 222 223 + systemd.user.services.podman.environment = config.networking.proxy.envVars; 222 224 systemd.user.sockets.podman.wantedBy = [ "sockets.target" ]; 223 225 224 226 systemd.timers.podman-prune.timerConfig = lib.mkIf cfg.autoPrune.enable {
+1
nixos/tests/all-tests.nix
··· 128 128 appliance-repart-image = runTest ./appliance-repart-image.nix; 129 129 apparmor = handleTest ./apparmor.nix {}; 130 130 archi = handleTest ./archi.nix {}; 131 + armagetronad = handleTest ./armagetronad.nix {}; 131 132 atd = handleTest ./atd.nix {}; 132 133 atop = handleTest ./atop.nix {}; 133 134 atuin = handleTest ./atuin.nix {};
+272
nixos/tests/armagetronad.nix
··· 1 + import ./make-test-python.nix ({ pkgs, ...} : 2 + 3 + let 4 + user = "alice"; 5 + 6 + client = 7 + { pkgs, ... }: 8 + 9 + { imports = [ ./common/user-account.nix ./common/x11.nix ]; 10 + hardware.opengl.driSupport = true; 11 + virtualisation.memorySize = 256; 12 + environment = { 13 + systemPackages = [ pkgs.armagetronad ]; 14 + variables.XAUTHORITY = "/home/${user}/.Xauthority"; 15 + }; 16 + test-support.displayManager.auto.user = user; 17 + }; 18 + 19 + in { 20 + name = "armagetronad"; 21 + meta = with pkgs.lib.maintainers; { 22 + maintainers = [ numinit ]; 23 + }; 24 + 25 + enableOCR = true; 26 + 27 + nodes = 28 + { 29 + server = { 30 + services.armagetronad.servers = { 31 + high-rubber = { 32 + enable = true; 33 + name = "Smoke Test High Rubber Server"; 34 + port = 4534; 35 + settings = { 36 + SERVER_OPTIONS = "High Rubber server made to run smoke tests."; 37 + CYCLE_RUBBER = 40; 38 + SIZE_FACTOR = 0.5; 39 + }; 40 + roundSettings = { 41 + SAY = [ 42 + "NixOS Smoke Test Server" 43 + "https://nixos.org" 44 + ]; 45 + }; 46 + }; 47 + sty = { 48 + enable = true; 49 + name = "Smoke Test sty+ct+ap Server"; 50 + package = pkgs.armagetronad."0.2.9-sty+ct+ap".dedicated; 51 + port = 4535; 52 + settings = { 53 + SERVER_OPTIONS = "sty+ct+ap server made to run smoke tests."; 54 + CYCLE_RUBBER = 20; 55 + SIZE_FACTOR = 0.5; 56 + }; 57 + roundSettings = { 58 + SAY = [ 59 + "NixOS Smoke Test sty+ct+ap Server" 60 + "https://nixos.org" 61 + ]; 62 + }; 63 + }; 64 + trunk = { 65 + enable = true; 66 + name = "Smoke Test trunk Server"; 67 + package = pkgs.armagetronad."0.4".dedicated; 68 + port = 4536; 69 + settings = { 70 + SERVER_OPTIONS = "0.4 server made to run smoke tests."; 71 + CYCLE_RUBBER = 20; 72 + SIZE_FACTOR = 0.5; 73 + }; 74 + roundSettings = { 75 + SAY = [ 76 + "NixOS Smoke Test 0.4 Server" 77 + "https://nixos.org" 78 + ]; 79 + }; 80 + }; 81 + }; 82 + }; 83 + 84 + client1 = client; 85 + client2 = client; 86 + }; 87 + 88 + testScript = let 89 + xdo = name: text: let 90 + xdoScript = pkgs.writeText "${name}.xdo" text; 91 + in "${pkgs.xdotool}/bin/xdotool ${xdoScript}"; 92 + in 93 + '' 94 + import shlex 95 + import threading 96 + from collections import namedtuple 97 + 98 + class Client(namedtuple('Client', ('node', 'name'))): 99 + def send(self, *keys): 100 + for key in keys: 101 + self.node.send_key(key) 102 + 103 + def send_on(self, text, *keys): 104 + self.node.wait_for_text(text) 105 + self.send(*keys) 106 + 107 + Server = namedtuple('Server', ('node', 'name', 'address', 'port', 'welcome', 'attacker', 'victim', 'coredump_delay')) 108 + 109 + # Clients and their in-game names 110 + clients = ( 111 + Client(client1, 'Arduino'), 112 + Client(client2, 'SmOoThIcE') 113 + ) 114 + 115 + # Server configs. 116 + servers = ( 117 + Server(server, 'high-rubber', 'server', 4534, 'NixOS Smoke Test Server', 'SmOoThIcE', 'Arduino', 8), 118 + Server(server, 'sty', 'server', 4535, 'NixOS Smoke Test sty+ct+ap Server', 'Arduino', 'SmOoThIcE', 8), 119 + Server(server, 'trunk', 'server', 4536, 'NixOS Smoke Test 0.4 Server', 'Arduino', 'SmOoThIcE', 8) 120 + ) 121 + 122 + """ 123 + Runs a command as the client user. 124 + """ 125 + def run(cmd): 126 + return "su - ${user} -c " + shlex.quote(cmd) 127 + 128 + screenshot_idx = 1 129 + 130 + """ 131 + Takes screenshots on all clients. 132 + """ 133 + def take_screenshots(screenshot_idx): 134 + for client in clients: 135 + client.node.screenshot(f"screen_{client.name}_{screenshot_idx}") 136 + return screenshot_idx + 1 137 + 138 + # Wait for the servers to come up. 139 + start_all() 140 + for srv in servers: 141 + srv.node.wait_for_unit(f"armagetronad-{srv.name}") 142 + srv.node.wait_until_succeeds(f"ss --numeric --udp --listening | grep -q {srv.port}") 143 + 144 + # Make sure console commands work through the named pipe we created. 145 + for srv in servers: 146 + srv.node.succeed( 147 + f"echo 'say Testing!' >> /var/lib/armagetronad/{srv.name}/input" 148 + ) 149 + srv.node.succeed( 150 + f"echo 'say Testing again!' >> /var/lib/armagetronad/{srv.name}/input" 151 + ) 152 + srv.node.wait_until_succeeds( 153 + f"journalctl -u armagetronad-{srv.name} -e | grep -q 'Admin: Testing!'" 154 + ) 155 + srv.node.wait_until_succeeds( 156 + f"journalctl -u armagetronad-{srv.name} -e | grep -q 'Admin: Testing again!'" 157 + ) 158 + 159 + """ 160 + Sets up a client, waiting for the given barrier on completion. 161 + """ 162 + def client_setup(client, servers, barrier): 163 + client.node.wait_for_x() 164 + 165 + # Configure Armagetron. 166 + client.node.succeed( 167 + run("mkdir -p ~/.armagetronad/var"), 168 + run(f"echo 'PLAYER_1 {client.name}' >> ~/.armagetronad/var/autoexec.cfg") 169 + ) 170 + for idx, srv in enumerate(servers): 171 + client.node.succeed( 172 + run(f"echo 'BOOKMARK_{idx+1}_ADDRESS {srv.address}' >> ~/.armagetronad/var/autoexec.cfg"), 173 + run(f"echo 'BOOKMARK_{idx+1}_NAME {srv.name}' >> ~/.armagetronad/var/autoexec.cfg"), 174 + run(f"echo 'BOOKMARK_{idx+1}_PORT {srv.port}' >> ~/.armagetronad/var/autoexec.cfg") 175 + ) 176 + 177 + # Start Armagetron. 178 + client.node.succeed(run("ulimit -c unlimited; armagetronad >&2 & disown")) 179 + client.node.wait_until_succeeds( 180 + run( 181 + "${xdo "create_new_win-select_main_window" '' 182 + search --onlyvisible --name "Armagetron Advanced" 183 + windowfocus --sync 184 + windowactivate --sync 185 + ''}" 186 + ) 187 + ) 188 + 189 + # Get through the tutorial. 190 + client.send_on('Language Settings', 'ret') 191 + client.send_on('First Setup', 'ret') 192 + client.send_on('Welcome to Armagetron Advanced', 'ret') 193 + client.send_on('round 1', 'esc') 194 + client.send_on('Menu', 'up', 'up', 'ret') 195 + client.send_on('We hope you', 'ret') 196 + client.send_on('Armagetron Advanced', 'ret') 197 + client.send_on('Play Game', 'ret') 198 + 199 + # Online > LAN > Network Setup > Mates > Server Bookmarks 200 + client.send_on('Multiplayer', 'down', 'down', 'down', 'down', 'ret') 201 + 202 + barrier.wait() 203 + 204 + # Get to the Server Bookmarks screen on both clients. This takes a while so do it asynchronously. 205 + barrier = threading.Barrier(3, timeout=120) 206 + for client in clients: 207 + threading.Thread(target=client_setup, args=(client, servers, barrier)).start() 208 + barrier.wait() 209 + 210 + # Main testing loop. Iterates through each server bookmark and connects to them in sequence. 211 + # Assumes that the game is currently on the Server Bookmarks screen. 212 + for srv in servers: 213 + screenshot_idx = take_screenshots(screenshot_idx) 214 + 215 + # Connect both clients at once, one second apart. 216 + for client in clients: 217 + client.send('ret') 218 + client.node.sleep(1) 219 + 220 + # Wait for clients to connect 221 + for client in clients: 222 + srv.node.wait_until_succeeds( 223 + f"journalctl -u armagetronad-{srv.name} -e | grep -q '{client.name}.*entered the game'" 224 + ) 225 + 226 + # Wait for the match to start 227 + srv.node.wait_until_succeeds( 228 + f"journalctl -u armagetronad-{srv.name} -e | grep -q 'Admin: {srv.welcome}'" 229 + ) 230 + srv.node.wait_until_succeeds( 231 + f"journalctl -u armagetronad-{srv.name} -e | grep -q 'Admin: https://nixos.org'" 232 + ) 233 + srv.node.wait_until_succeeds( 234 + f"journalctl -u armagetronad-{srv.name} -e | grep -q 'Go (round 1 of 10)'" 235 + ) 236 + 237 + # Wait a bit 238 + srv.node.sleep(srv.coredump_delay) 239 + 240 + # Turn the attacker player's lightcycle left 241 + attacker = next(client for client in clients if client.name == srv.attacker) 242 + victim = next(client for client in clients if client.name == srv.victim) 243 + attacker.send('left') 244 + screenshot_idx = take_screenshots(screenshot_idx) 245 + 246 + # Wait for coredump. 247 + srv.node.wait_until_succeeds( 248 + f"journalctl -u armagetronad-{srv.name} -e | grep -q '{attacker.name} core dumped {victim.name}'" 249 + ) 250 + screenshot_idx = take_screenshots(screenshot_idx) 251 + 252 + # Disconnect both clients from the server 253 + for client in clients: 254 + client.send('esc') 255 + client.send_on('Menu', 'up', 'up', 'ret') 256 + srv.node.wait_until_succeeds( 257 + f"journalctl -u armagetronad-{srv.name} -e | grep -q '{client.name}.*left the game'" 258 + ) 259 + 260 + # Next server. 261 + for client in clients: 262 + client.send_on('Server Bookmarks', 'down') 263 + 264 + # Stop the servers 265 + for srv in servers: 266 + srv.node.succeed( 267 + f"systemctl stop armagetronad-{srv.name}" 268 + ) 269 + srv.node.wait_until_fails(f"ss --numeric --udp --listening | grep -q {srv.port}") 270 + ''; 271 + 272 + })
+8 -5
pkgs/applications/audio/pyradio/default.nix
··· 6 6 7 7 python3Packages.buildPythonApplication rec { 8 8 pname = "pyradio"; 9 - version = "0.9.1"; 9 + version = "0.9.2.25"; 10 10 11 11 src = fetchFromGitHub { 12 12 owner = "coderholic"; 13 - repo = pname; 13 + repo = "pyradio"; 14 14 rev = "refs/tags/${version}"; 15 - hash = "sha256-tu/qlrbTcUCIRF15x9ATKHH+LDy1OsGJpo5x+CerTKg="; 15 + hash = "sha256-GkOp0iK84HDvVH8RmtmIKJ5EtQIECgZS5g8pmaIhUcc="; 16 16 }; 17 17 18 18 nativeBuildInputs = [ ··· 20 20 ]; 21 21 22 22 propagatedBuildInputs = with python3Packages; [ 23 - requests 23 + dnspython 24 + netifaces 24 25 psutil 25 - dnspython 26 + python-dateutil 27 + requests 28 + rich 26 29 ]; 27 30 28 31 checkPhase = ''
+2 -2
pkgs/applications/editors/orbiton/default.nix
··· 4 4 5 5 buildGoModule rec { 6 6 pname = "orbiton"; 7 - version = "2.65.10"; 7 + version = "2.65.11"; 8 8 9 9 src = fetchFromGitHub { 10 10 owner = "xyproto"; 11 11 repo = "orbiton"; 12 12 rev = "v${version}"; 13 - hash = "sha256-z81Xled6OFs9tKVJgUnws81C86Vle5XR85f3z96N2Gw="; 13 + hash = "sha256-eb7Ku1hgvYdmRgemXcEZMl53oNXYcomh4wYHpRzLTUc="; 14 14 }; 15 15 16 16 vendorHash = null;
+11
pkgs/applications/editors/vim/plugins/generated.nix
··· 16851 16851 meta.homepage = "https://github.com/jhradilek/vim-snippets/"; 16852 16852 }; 16853 16853 16854 + vim-tabby = buildVimPlugin { 16855 + pname = "vim-tabby"; 16856 + version = "2024-02-01"; 16857 + src = fetchFromGitHub { 16858 + owner = "TabbyML"; 16859 + repo = "vim-tabby"; 16860 + rev = "0b62bc2ed5c7d930c7435c3504d5c18ea6379b28"; 16861 + sha256 = "06crxhvwz04s6sfj0q22kkp3g5zvip13088m95qwznw9bv2gpx3s"; 16862 + }; 16863 + meta.homepage = "https://github.com/TabbyML/vim-tabby/"; 16864 + }; 16854 16865 16855 16866 }
+8
pkgs/applications/editors/vim/plugins/overrides.nix
··· 1671 1671 dependencies = with self; [ vim-repeat ]; 1672 1672 }; 1673 1673 1674 + vim-tabby = super.vim-tabby.overrideAttrs { 1675 + postPatch = '' 1676 + substituteInPlace autoload/tabby/globals.vim --replace-fail \ 1677 + "let g:tabby_node_binary = get(g:, 'tabby_node_binary', 'node')" \ 1678 + "let g:tabby_node_binary = get(g:, 'tabby_node_binary', '${nodejs}/bin/node')" 1679 + ''; 1680 + }; 1681 + 1674 1682 vim-textobj-entire = super.vim-textobj-entire.overrideAttrs { 1675 1683 dependencies = with self; [ vim-textobj-user ]; 1676 1684 meta.maintainers = with lib.maintainers; [ farlion ];
+1
pkgs/applications/editors/vim/plugins/vim-plugin-names
··· 1401 1401 https://github.com/mickael-menu/zk-nvim/,HEAD, 1402 1402 https://github.com/troydm/zoomwintab.vim/,, 1403 1403 https://github.com/nanotee/zoxide.vim/,, 1404 + https://github.com/TabbyML/vim-tabby/,HEAD,
+5 -5
pkgs/applications/networking/browsers/chromium/upstream-info.nix
··· 28 28 version = "2024-01-22"; 29 29 }; 30 30 ungoogled-patches = { 31 - hash = "sha256-G+agHdsssYhsyi4TgJUJBqMEnEgQ7bYeqpTqmonXI6I="; 32 - rev = "122.0.6261.69-1"; 31 + hash = "sha256-vqiizzSVWV2/iADPac8qgfdZcbunc0QgMqN15NwJ9js="; 32 + rev = "122.0.6261.94-1"; 33 33 }; 34 34 }; 35 - hash = "sha256-uEN1hN6DOLgw4QDrMBZdiLLPx+yKQc5MimIf/vbCC84="; 36 - hash_deb_amd64 = "sha256-k3/Phs72eIMB6LAU4aU0+ze/cRu6KlRhpBshKhmq9N4="; 37 - version = "122.0.6261.69"; 35 + hash = "sha256-7fIs8qQon9L0iNmM/cHuyqtVm09qf7L4j9qb6KSbw2w="; 36 + hash_deb_amd64 = "sha256-hOm7YZ9ya/SmwKhj6uIPkdgIDv5bIbss398szBYHuXk="; 37 + version = "122.0.6261.94"; 38 38 }; 39 39 }
+2 -2
pkgs/applications/networking/cluster/bosh-cli/default.nix
··· 8 8 buildGoModule rec { 9 9 pname = "bosh-cli"; 10 10 11 - version = "7.5.2"; 11 + version = "7.5.4"; 12 12 13 13 src = fetchFromGitHub { 14 14 owner = "cloudfoundry"; 15 15 repo = pname; 16 16 rev = "v${version}"; 17 - sha256 = "sha256-gT0Oivo5QE+pr5PpD/7JAj8oYF9UmSi5F6Ps8RtACzc="; 17 + sha256 = "sha256-aNzKp7QwyhC/ado0NrCyxrRZu+ePGBNSq31/Iw6k6n0="; 18 18 }; 19 19 vendorHash = null; 20 20
+24 -18
pkgs/applications/networking/onionshare/default.nix
··· 1 1 { lib 2 2 , stdenv 3 3 , buildPythonApplication 4 - , substituteAll 5 - , fetchFromGitHub 6 - , isPy3k 4 + , cepa 7 5 , colorama 6 + , fetchFromGitHub 8 7 , flask 8 + , flask-compress 9 9 , flask-httpauth 10 10 , flask-socketio 11 11 , gevent-socketio 12 12 , gevent-websocket 13 - , cepa 13 + , obfs4 14 14 , psutil 15 - , pyqt5 16 15 , pycrypto 17 16 , pynacl 18 - , pyside2 17 + , pyqt5 18 + , pyside6 19 19 , pysocks 20 20 , pytestCheckHook 21 21 , qrcode 22 22 , qt5 23 23 , requests 24 - , unidecode 25 - , tor 26 - , obfs4 27 24 , snowflake 25 + , substituteAll 26 + , tor 27 + , unidecode 28 + , waitress 28 29 }: 29 30 30 31 let 31 - version = "2.6"; 32 + version = "2.6.1"; 32 33 src = fetchFromGitHub { 33 34 owner = "onionshare"; 34 35 repo = "onionshare"; 35 36 rev = "v${version}"; 36 - sha256 = "sha256-LA7XlzoCXUiG/9subTddAd22336wO9sOHCIBlQK4Ga4="; 37 + sha256 = "sha256-LR3Ao4Q8kEDwrFV+gYdMSEeYF4hDtEa1rJgvRRrJMwc="; 37 38 }; 38 39 meta = with lib; { 39 40 description = "Securely and anonymously send and receive files"; ··· 79 80 }) 80 81 ]; 81 82 propagatedBuildInputs = [ 83 + cepa 82 84 colorama 83 85 flask 86 + flask-compress 84 87 flask-httpauth 85 88 flask-socketio 86 89 gevent-socketio 87 90 gevent-websocket 88 - cepa 89 91 psutil 90 92 pycrypto 91 93 pynacl 94 + pyside6 95 + qrcode 92 96 requests 93 97 unidecode 98 + waitress 94 99 ]; 95 100 96 101 buildInputs = [ 97 - tor 98 102 obfs4 103 + tor 99 104 ]; 100 105 101 106 nativeCheckInputs = [ ··· 107 112 export HOME="$(mktemp -d)" 108 113 ''; 109 114 110 - disabledTests = [ 115 + disabledTests = lib.optionals stdenv.isLinux [ 111 116 "test_get_tor_paths_linux" # expects /usr instead of /nix/store 112 117 ] ++ lib.optionals stdenv.isDarwin [ 118 + # requires meek-client which is not packaged 119 + "test_get_tor_paths_darwin" 113 120 # on darwin (and only on darwin) onionshare attempts to discover 114 121 # user's *real* homedir via /etc/passwd, making it more painful 115 122 # to fake ··· 128 135 inherit tor meek obfs4 snowflake; 129 136 inherit (tor) geoip; 130 137 }) 131 - ./fix-qrcode-gui.patch 132 138 ]; 133 139 134 140 propagatedBuildInputs = [ 135 141 onionshare 142 + psutil 136 143 pyqt5 137 - pyside2 138 - psutil 144 + pyside6 145 + pysocks 139 146 qrcode 140 - pysocks 141 147 ]; 142 148 143 149 nativeBuildInputs = [ qt5.wrapQtAppsHook ];
-14
pkgs/applications/networking/onionshare/fix-qrcode-gui.patch
··· 1 - diff --git desktop/onionshare/widgets.py desktop/onionshare/widgets.py 2 - index 64a07703..bca974fb 100644 3 - --- desktop/onionshare/widgets.py 4 - +++ desktop/onionshare/widgets.py 5 - @@ -101,7 +101,7 @@ class Image(qrcode.image.base.BaseImage): 6 - A custom Image class, for use with the QR Code pixmap. 7 - """ 8 - 9 - - def __init__(self, border, width, box_size): 10 - + def __init__(self, border, width, box_size, *args, **kargs): 11 - self.border = border 12 - self.width = width 13 - self.box_size = box_size 14 -
+4 -4
pkgs/applications/networking/sync/rclone/default.nix
··· 1 1 { lib, stdenv, buildGoModule, fetchFromGitHub, buildPackages, installShellFiles 2 2 , makeWrapper 3 - , enableCmount ? true, fuse, macfuse-stubs 3 + , enableCmount ? true, fuse, fuse3, macfuse-stubs 4 4 , librclone 5 5 }: 6 6 ··· 46 46 ln -s $out/bin/rclone $out/bin/rclonefs 47 47 ln -s $out/bin/rclone $out/bin/mount.rclone 48 48 '' + lib.optionalString (enableCmount && !stdenv.isDarwin) 49 - # use --suffix here to ensure we don't shadow /run/wrappers/bin/fusermount, 49 + # use --suffix here to ensure we don't shadow /run/wrappers/bin/fusermount3, 50 50 # as the setuid wrapper is required as non-root on NixOS. 51 51 '' 52 52 wrapProgram $out/bin/rclone \ 53 - --suffix PATH : "${lib.makeBinPath [ fuse ] }" \ 54 - --prefix LD_LIBRARY_PATH : "${fuse}/lib" 53 + --suffix PATH : "${lib.makeBinPath [ fuse3 ] }" \ 54 + --prefix LD_LIBRARY_PATH : "${fuse3}/lib" 55 55 ''; 56 56 57 57 passthru.tests = {
+2 -2
pkgs/applications/science/biology/last/default.nix
··· 9 9 10 10 stdenv.mkDerivation rec { 11 11 pname = "last"; 12 - version = "1541"; 12 + version = "1542"; 13 13 14 14 src = fetchFromGitLab { 15 15 owner = "mcfrith"; 16 16 repo = "last"; 17 17 rev = "refs/tags/${version}"; 18 - hash = "sha256-gEesPeGY2RozoViZpBWNTXFJriKVb/r0Efw9XEXwXmM="; 18 + hash = "sha256-ZzvyyecYiBscogfN9/FnDbHg/lqb8y14n9C2KLIqhFA="; 19 19 }; 20 20 21 21 nativeBuildInputs = [
+46
pkgs/by-name/mf/mfcj880dwcupswrapper/package.nix
··· 1 + { lib, stdenv, fetchurl, mfcj880dwlpr, makeWrapper, bash }: 2 + 3 + stdenv.mkDerivation rec { 4 + pname = "mfcj880dw-cupswrapper"; 5 + version = "1.0.0-0"; 6 + 7 + src = fetchurl { 8 + url = "https://download.brother.com/welcome/dlf102044/mfcj880dw_cupswrapper_GPL_source_${version}.tar.gz"; 9 + sha256 = "bf291fe31d64afeaefb5b0e606f4baf80c41d80009e34b32b77d56f759e9cf94"; 10 + }; 11 + 12 + nativeBuildInputs = [ makeWrapper ]; 13 + buildInputs = [ 14 + bash # shebang 15 + ]; 16 + 17 + makeFlags = [ "-C" "brcupsconfig" "all" ]; 18 + 19 + installPhase = '' 20 + runHook preInstall 21 + 22 + TARGETFOLDER=$out/opt/brother/Printers/mfcj880dw/cupswrapper 23 + mkdir -p $TARGETFOLDER 24 + cp PPD/brother_mfcj880dw_printer_en.ppd $TARGETFOLDER 25 + cp brcupsconfig/brcupsconfpt1 $TARGETFOLDER 26 + cp cupswrapper/cupswrappermfcj880dw $TARGETFOLDER 27 + sed -i -e '26,306d' $TARGETFOLDER/cupswrappermfcj880dw 28 + substituteInPlace $TARGETFOLDER/cupswrappermfcj880dw \ 29 + --replace-fail "\$ppd_file_name" "$TARGETFOLDER/brother_mfcj880dw_printer_en.ppd" 30 + 31 + CPUSFILTERFOLDER=$out/lib/cups/filter 32 + mkdir -p $TARGETFOLDER $CPUSFILTERFOLDER 33 + ln -s ${mfcj880dwlpr}/lib/cups/filter/brother_lpdwrapper_mfcj880dw $out/lib/cups/filter/brother_lpdwrapper_mfcj880dw 34 + 35 + runHook postInstall 36 + ''; 37 + 38 + meta = with lib; { 39 + homepage = "http://www.brother.com/"; 40 + description = "Brother MFC-J880DW CUPS wrapper driver"; 41 + license = with licenses; gpl2; 42 + platforms = with platforms; linux; 43 + downloadPage = "https://support.brother.com/g/b/downloadlist.aspx?c=us&lang=en&prod=mfcj880dw_us_eu_as&os=128"; 44 + maintainers = with maintainers; [ _6543 ]; 45 + }; 46 + }
+94
pkgs/by-name/mf/mfcj880dwlpr/package.nix
··· 1 + { lib, stdenv, fetchurl, pkgsi686Linux, dpkg, makeWrapper, coreutils, gnused, gawk, file, cups, util-linux, xxd, runtimeShell 2 + , ghostscript, a2ps, bash }: 3 + 4 + # Why: 5 + # The executable "brprintconf_mfcj880dw" binary is looking for "/opt/brother/Printers/%s/inf/br%sfunc" and "/opt/brother/Printers/%s/inf/br%src". 6 + # Whereby, %s is printf(3) string substitution for stdin's arg0 (the command's own filename) from the 10th char forwards, as a runtime dependency. 7 + # e.g. Say the filename is "0123456789ABCDE", the runtime will be looking for /opt/brother/Printers/ABCDE/inf/brABCDEfunc. 8 + # Presumably, the binary was designed to be deployed under the filename "printconf_mfcj880dw", whereby it will search for "/opt/brother/Printers/mfcj880dw/inf/brmfcj880dwfunc". 9 + # For NixOS, we want to change the string to the store path of brmfcj880dwfunc and brmfcj880dwrc but we're faced with two complications: 10 + # 1. Too little room to specify the nix store path. We can't even take advantage of %s by renaming the file to the store path hash since the variable is too short and can't contain the whole hash. 11 + # 2. The binary needs the directory it's running from to be r/w. 12 + # What: 13 + # As such, we strip the path and substitution altogether, leaving only "brmfcj880dwfunc" and "brmfcj880dwrc", while filling the leftovers with nulls. 14 + # Fully null terminating the cstrings is necessary to keep the array the same size and preventing overflows. 15 + # We then use a shell script to link and execute the binary, func and rc files in a temporary directory. 16 + # How: 17 + # In the package, we dump the raw binary as a string of search-able hex values using hexdump. We execute the substitution with sed. We then convert the hex values back to binary form using xxd. 18 + # We also write a shell script that invoked "mktemp -d" to produce a r/w temporary directory and link what we need in the temporary directory. 19 + # Result: 20 + # The user can run brprintconf_mfcj880dw in the shell. 21 + 22 + stdenv.mkDerivation rec { 23 + pname = "mfcj880dwlpr"; 24 + version = "1.0.0-0"; 25 + 26 + src = fetchurl { 27 + url = "https://download.brother.com/welcome/dlf102038/mfcj880dwlpr-${version}.i386.deb"; 28 + sha256 = "1680b301f660a407fe0b69f5de59c7473d2d66dc472a1589b0cd9f51736bfea7"; 29 + }; 30 + 31 + nativeBuildInputs = [ makeWrapper ]; 32 + buildInputs = [ cups ghostscript dpkg a2ps ]; 33 + 34 + dontUnpack = true; 35 + 36 + brprintconf_mfcj880dw_script = '' 37 + #!${runtimeShell} 38 + cd $(mktemp -d) 39 + ln -s @out@/usr/bin/brprintconf_mfcj880dw_patched brprintconf_mfcj880dw_patched 40 + ln -s @out@/opt/brother/Printers/mfcj880dw/inf/brmfcj880dwfunc brmfcj880dwfunc 41 + ln -s @out@/opt/brother/Printers/mfcj880dw/inf/brmfcj880dwrc brmfcj880dwrc 42 + ./brprintconf_mfcj880dw_patched "$@" 43 + ''; 44 + 45 + installPhase = '' 46 + dpkg-deb -x $src $out 47 + substituteInPlace $out/opt/brother/Printers/mfcj880dw/lpd/filtermfcj880dw \ 48 + --replace-fail /opt "$out/opt" 49 + substituteInPlace $out/opt/brother/Printers/mfcj880dw/lpd/psconvertij2 \ 50 + --replace-fail "GHOST_SCRIPT=`which gs`" "GHOST_SCRIPT=${ghostscript}/bin/gs" 51 + substituteInPlace $out/opt/brother/Printers/mfcj880dw/inf/setupPrintcapij \ 52 + --replace-fail "/opt/brother/Printers" "$out/opt/brother/Printers" \ 53 + --replace-fail "printcap.local" "printcap" 54 + 55 + patchelf --set-interpreter ${pkgsi686Linux.stdenv.cc.libc.out}/lib/ld-linux.so.2 \ 56 + --set-rpath $out/opt/brother/Printers/mfcj880dw/inf:$out/opt/brother/Printers/mfcj880dw/lpd \ 57 + $out/opt/brother/Printers/mfcj880dw/lpd/brmfcj880dwfilter 58 + patchelf --set-interpreter ${pkgsi686Linux.stdenv.cc.libc.out}/lib/ld-linux.so.2 $out/usr/bin/brprintconf_mfcj880dw 59 + 60 + #stripping the hardcoded path. 61 + # /opt/brother/Printers/%s/inf/br%sfunc -> brmfcj880dwfunc 62 + # /opt/brother/Printers/%s/inf/br%src -> brmfcj880dwrc 63 + ${util-linux}/bin/hexdump -ve '1/1 "%.2X"' $out/usr/bin/brprintconf_mfcj880dw | \ 64 + sed 's.2F6F70742F62726F746865722F5072696E746572732F25732F696E662F6272257366756E63.62726d66636a383830647766756e6300000000000000000000000000000000000000000000.' | \ 65 + sed 's.2F6F70742F62726F746865722F5072696E746572732F25732F696E662F627225737263.62726d66636a3838306477726300000000000000000000000000000000000000000000.' | \ 66 + ${xxd}/bin/xxd -r -p > $out/usr/bin/brprintconf_mfcj880dw_patched 67 + chmod +x $out/usr/bin/brprintconf_mfcj880dw_patched 68 + #executing from current dir. segfaults if it's not r\w. 69 + mkdir -p $out/bin 70 + echo -n "$brprintconf_mfcj880dw_script" > $out/bin/brprintconf_mfcj880dw 71 + chmod +x $out/bin/brprintconf_mfcj880dw 72 + substituteInPlace $out/bin/brprintconf_mfcj880dw --replace-fail @out@ $out 73 + 74 + # NOTE: opt/brother/Printers/mfcj880dw/lpd/brmfcj880dwfilter also has cardcoded paths, but we can not simply replace them 75 + 76 + mkdir -p $out/lib/cups/filter/ 77 + ln -s $out/opt/brother/Printers/mfcj880dw/lpd/filtermfcj880dw $out/lib/cups/filter/brother_lpdwrapper_mfcj880dw 78 + 79 + wrapProgram $out/opt/brother/Printers/mfcj880dw/lpd/psconvertij2 \ 80 + --prefix PATH ":" ${ lib.makeBinPath [ coreutils gnused gawk ] } 81 + wrapProgram $out/opt/brother/Printers/mfcj880dw/lpd/filtermfcj880dw \ 82 + --prefix PATH ":" ${ lib.makeBinPath [ coreutils gnused file ghostscript a2ps ] } 83 + ''; 84 + 85 + meta = with lib; { 86 + description = "Brother MFC-J880DW LPR driver"; 87 + downloadPage = "https://support.brother.com/g/b/downloadlist.aspx?c=us&lang=en&prod=mfcj880dw_us_eu_as&os=128"; 88 + homepage = "http://www.brother.com/"; 89 + sourceProvenance = with sourceTypes; [ binaryNativeCode ]; 90 + license = with licenses; unfree; 91 + maintainers = with maintainers; [ _6543 ]; 92 + platforms = with platforms; linux; 93 + }; 94 + }
+73
pkgs/by-name/ta/tabby/package.nix
··· 1 + { lib 2 + , fetchFromGitHub 3 + , gcc12 4 + , cmake 5 + , git 6 + , openssl 7 + , pkg-config 8 + , protobuf 9 + , rustPlatform 10 + , addOpenGLRunpath 11 + , cudatoolkit 12 + , nvidia ? true 13 + }: 14 + 15 + rustPlatform.buildRustPackage rec { 16 + version = "0.7.0"; 17 + pname = "tabby"; 18 + 19 + src = fetchFromGitHub { 20 + owner = "TabbyML"; 21 + repo = "tabby"; 22 + rev = "v${version}"; 23 + hash = "sha256-BTPJWvqO4IuQAiUEER9PYfu4aQsz5RI77WsA/gQu5Jc="; 24 + fetchSubmodules = true; 25 + }; 26 + 27 + cargoHash = "sha256-Du0ya9J+0tz72mSid5If0VFX2lLC7YtwNQ/MALpFv2M="; 28 + 29 + # https://github.com/TabbyML/tabby/blob/v0.7.0/.github/workflows/release.yml#L39 30 + cargoBuildFlags = [ 31 + "--release" 32 + "--package" "tabby" 33 + ] ++ lib.optional nvidia [ 34 + "--features" "cuda" 35 + ]; 36 + 37 + OPENSSL_NO_VENDOR = 1; 38 + 39 + nativeBuildInputs = [ 40 + pkg-config 41 + protobuf 42 + git 43 + cmake 44 + gcc12 45 + 46 + ] ++ lib.optional nvidia [ 47 + addOpenGLRunpath 48 + ]; 49 + 50 + buildInputs = [ openssl ] 51 + ++ lib.optional nvidia cudatoolkit 52 + ; 53 + 54 + postInstall = '' 55 + ${if nvidia then '' 56 + addOpenGLRunpath "$out/bin/tabby" 57 + '' else '' 58 + ''} 59 + ''; 60 + 61 + # Fails with: 62 + # file cannot create directory: /var/empty/local/lib64/cmake/Llama 63 + doCheck = false; 64 + 65 + meta = with lib; { 66 + homepage = "https://github.com/TabbyML/tabby"; 67 + changelog = "https://github.com/TabbyML/tabby/releases/tag/v${version}"; 68 + description = "Self-hosted AI coding assistant"; 69 + mainProgram = "tabby"; 70 + license = licenses.asl20; 71 + maintainers = [ maintainers.ghthor ]; 72 + }; 73 + }
+5 -5
pkgs/development/libraries/google-cloud-cpp/default.nix
··· 28 28 rev = googleapisRev; 29 29 hash = "sha256-4Qiz0pBgW3OZi+Z8Zq6k9E94+8q6/EFMwPh8eQxDjdI="; 30 30 }; 31 - excludedTests = builtins.fromTOML (builtins.readFile ./skipped_tests.toml); 32 31 in 33 32 stdenv.mkDerivation rec { 34 33 pname = "google-cloud-cpp"; ··· 106 105 lib.optionalString doInstallCheck ( 107 106 lib.optionalString (!staticOnly) '' 108 107 export ${ldLibraryPathName}=${lib.concatStringsSep ":" additionalLibraryPaths} 109 - '' + '' 110 - export GTEST_FILTER="-${lib.concatStringsSep ":" excludedTests.cases}" 111 108 '' 112 109 ); 113 110 114 111 installCheckPhase = lib.optionalString doInstallCheck '' 115 112 runHook preInstallCheck 116 113 117 - # disable tests that contact the internet 118 - ctest --exclude-regex '^(${lib.concatStringsSep "|" excludedTests.whole})' 114 + # Disable any integration tests, which need to contact the internet. 115 + # Also disable the `storage_benchmark_*` tests. 116 + # With Protobuf < 23.x they require -DGOOGLE_CLOUD_CPP_ENABLE_CTYPE_WORKAROUND=ON. 117 + # With Protobuf >= 23.x they require They require setting -DGOOGLE_CLOUD_CPP_ENABLE_CTYPE_WORKAROUND=OFF 118 + ctest --label-exclude integration-test --exclude-regex storage_benchmarks_ 119 119 120 120 runHook postInstallCheck 121 121 '';
-139
pkgs/development/libraries/google-cloud-cpp/skipped_tests.toml
··· 1 - whole = [ 2 - "common_samples_samples", 3 - "common_internal_grpc_impersonate_service_account_integration_test", 4 - "common_internal_unified_rest_credentials_integration_test", 5 - "iam_samples_iam_credentials_samples", 6 - "iam_samples_iam_samples", 7 - "iam_admin_v1_samples_iam_client_samples", 8 - "iam_credentials_v1_samples_iam_credentials_client_samples", 9 - "iam_v1_samples_iam_policy_client_samples", 10 - "iam_v2_samples_policies_client_samples", 11 - "bigtable_admin_admin_iam_policy_integration_test", 12 - "bigtable_bigtable_instance_admin_client_samples", 13 - "bigtable_bigtable_table_admin_client_samples", 14 - "bigtable_apply_read_latency_benchmark", 15 - "bigtable_endurance_benchmark", 16 - "bigtable_mutation_batcher_throughput_benchmark", 17 - "bigtable_read_sync_vs_async_benchmark", 18 - "bigtable_scan_throughput_benchmark", 19 - "bigtable_admin_iam_policy_integration_test", 20 - "bigtable_data_async_future_integration_test", 21 - "bigtable_data_integration_test", 22 - "bigtable_filters_integration_test", 23 - "bigtable_mutations_integration_test", 24 - "bigtable_table_sample_rows_integration_test", 25 - "bigquery_samples_bigquery_read_samples", 26 - "bigquery_analyticshub_v1_samples_analytics_hub_client_samples", 27 - "bigquery_biglake_v1_samples_metastore_client_samples", 28 - "bigquery_connection_v1_samples_connection_client_samples", 29 - "bigquery_datapolicies_v1_samples_data_policy_client_samples", 30 - "bigquery_datatransfer_v1_samples_data_transfer_client_samples", 31 - "bigquery_migration_v2_samples_migration_client_samples", 32 - "bigquery_reservation_v1_samples_reservation_client_samples", 33 - "bigquery_storage_v1_samples_bigquery_read_client_samples", 34 - "bigquery_storage_v1_samples_bigquery_write_client_samples", 35 - "logging_quickstart", 36 - "logging_v2_samples_config_service_v2_client_samples", 37 - "logging_v2_samples_logging_service_v2_client_samples", 38 - "logging_v2_samples_metrics_service_v2_client_samples", 39 - "pubsub_endurance", 40 - "pubsub_throughput", 41 - "pubsub_subscriber_integration_test", 42 - "pubsub_subscription_admin_integration_test", 43 - "pubsub_topic_admin_integration_test", 44 - "spanner_client_integration_test", 45 - "spanner_client_stress_test", 46 - "spanner_data_types_integration_test", 47 - "spanner_database_admin_integration_test", 48 - "spanner_instance_admin_integration_test", 49 - "spanner_session_pool_integration_test", 50 - "spanner_admin_database_admin_integration_test", 51 - "spanner_admin_instance_admin_integration_test", 52 - "spanner_database_admin_client_samples", 53 - "spanner_instance_admin_client_samples", 54 - "spanner_multiple_rows_cpu_benchmark", 55 - "spanner_single_row_throughput_benchmark", 56 - "storage_alternative_endpoint_integration_test", 57 - "storage_auto_finalize_integration_test", 58 - "storage_bucket_integration_test", 59 - "storage_create_client_integration_test", 60 - "storage_curl_sign_blob_integration_test", 61 - "storage_decompressive_transcoding_integration_test", 62 - "storage_grpc_bucket_acl_integration_test", 63 - "storage_grpc_bucket_metadata_integration_test", 64 - "storage_grpc_default_object_acl_integration_test", 65 - "storage_grpc_integration_test", 66 - "storage_grpc_object_acl_integration_test", 67 - "storage_grpc_object_media_integration_test", 68 - "storage_grpc_object_metadata_integration_test", 69 - "storage_key_file_integration_test", 70 - "storage_minimal_iam_credentials_rest_integration_test", 71 - "storage_object_basic_crud_integration_test", 72 - "storage_object_checksum_integration_test", 73 - "storage_object_compose_many_integration_test", 74 - "storage_object_file_integration_test", 75 - "storage_object_hash_integration_test", 76 - "storage_object_insert_integration_test", 77 - "storage_object_insert_preconditions_integration_test", 78 - "storage_object_integration_test", 79 - "storage_object_list_objects_versions_integration_test", 80 - "storage_object_media_integration_test", 81 - "storage_object_parallel_upload_integration_test", 82 - "storage_object_plenty_clients_serially_integration_test", 83 - "storage_object_plenty_clients_simultaneously_integration_test", 84 - "storage_object_read_headers_integration_test", 85 - "storage_object_read_preconditions_integration_test", 86 - "storage_object_read_range_integration_test", 87 - "storage_object_read_stream_integration_test", 88 - "storage_object_resumable_parallel_upload_integration_test", 89 - "storage_object_resumable_write_integration_test", 90 - "storage_object_rewrite_integration_test", 91 - "storage_object_write_preconditions_integration_test", 92 - "storage_object_write_stream_integration_test", 93 - "storage_object_write_streambuf_integration_test", 94 - "storage_service_account_integration_test", 95 - "storage_signed_url_integration_test", 96 - "storage_small_reads_integration_test", 97 - "storage_thread_integration_test", 98 - "storage_tracing_integration_test", 99 - "storage_unified_credentials_integration_test", 100 - "storage_aggregate_download_throughput_benchmark", 101 - "storage_aggregate_upload_throughput_benchmark", 102 - "storage_create_dataset", 103 - "storage_storage_file_transfer_benchmark", 104 - "storage_storage_parallel_uploads_benchmark", 105 - "storage_storage_throughput_vs_cpu_benchmark", 106 - "storage_throughput_experiment_test" 107 - ] 108 - cases = [ 109 - "BackupExtraIntegrationTest.CreateBackupWithExpiredVersionTime", 110 - "BackupExtraIntegrationTest.BackupWithExpiredVersionTime", 111 - "BackupExtraIntegrationTest.BackupWithFutureVersionTime", 112 - "BackupExtraIntegrationTest.CreateBackupWithFutureVersionTime", 113 - "BlockingPublisherIntegrationTest.Basic", 114 - "DatabaseAdminClientTest.CreateWithEncryptionKey", 115 - "DatabaseAdminClientTest.CreateWithNonexistentEncryptionKey", 116 - "DatabaseAdminClientTest.DatabaseBasicCRUD", 117 - "DatabaseAdminClientTest.VersionRetentionPeriodCreate", 118 - "DatabaseAdminClientTest.VersionRetentionPeriodCreateFailure", 119 - "DatabaseAdminClientTest.VersionRetentionPeriodUpdate", 120 - "DatabaseAdminClientTest.VersionRetentionPeriodUpdateFailure", 121 - "ErrorParsingIntegrationTest.FailureContainsErrorInfo", 122 - "GrpcServiceAccountIntegrationTest.GetServiceAccount", 123 - "GrpcBucketMetadataIntegrationTest.ObjectMetadataCRUD", 124 - "InstanceAdminClientTest.InstanceConfig", 125 - "InstanceAdminClientTest.InstanceIam", 126 - "InstanceAdminClientTest.InstanceReadOperations", 127 - "LoggingIntegrationTest.ListMonitoredResourceDescriptors", 128 - "LoggingIntegrationTest.WriteLogEntries", 129 - "ObjectFileMultiThreadedTest.Download", 130 - "ObjectReadLargeIntegrationTest.LimitedMemoryGrowth", 131 - "SubscriberIntegrationTest.FireAndForget", 132 - "SubscriberIntegrationTest.PublishOrdered", 133 - "SubscriberIntegrationTest.PublishPullAck", 134 - "SubscriberIntegrationTest.RawStub", 135 - "SubscriberIntegrationTest.ReportNotFound", 136 - "SubscriberIntegrationTest.StreamingSubscriptionBatchSource", 137 - "SubscriptionAdminIntegrationTest.SubscriptionCRUD", 138 - "TopicAdminIntegrationTest.TopicCRUD" 139 - ]
+2 -2
pkgs/development/python-modules/aioairzone/default.nix
··· 8 8 9 9 buildPythonPackage rec { 10 10 pname = "aioairzone"; 11 - version = "0.7.4"; 11 + version = "0.7.5"; 12 12 pyproject = true; 13 13 14 14 disabled = pythonOlder "3.11"; ··· 17 17 owner = "Noltari"; 18 18 repo = "aioairzone"; 19 19 rev = "refs/tags/${version}"; 20 - hash = "sha256-yIkP0eWyEJAZc2tJbwTvlU5b2pDta4SatmsTMPsSDt8="; 20 + hash = "sha256-mliyDKh+7M8GQ0ZJijoYrqKDeAqRHfKGyPJM/5no+fM="; 21 21 }; 22 22 23 23 nativeBuildInputs = [
+2 -2
pkgs/development/python-modules/argilla/default.nix
··· 65 65 }: 66 66 let 67 67 pname = "argilla"; 68 - version = "1.24.0"; 68 + version = "1.25.0"; 69 69 optional-dependencies = { 70 70 server = [ 71 71 fastapi ··· 126 126 owner = "argilla-io"; 127 127 repo = pname; 128 128 rev = "refs/tags/v${version}"; 129 - hash = "sha256-2baSX6b2BFYHXKg37WMHcGel3OTGsCJrulvyxmbdBek="; 129 + hash = "sha256-KU67tu14pX1nCRl9k/Na9EqelO3Uz7It1dpFBU2IjZA="; 130 130 }; 131 131 132 132 pythonRelaxDeps = [
+2 -2
pkgs/development/python-modules/cheetah3/default.nix
··· 6 6 7 7 buildPythonPackage rec { 8 8 pname = "cheetah3"; 9 - version = "3.3.3"; 9 + version = "3.3.3.post1"; 10 10 format = "setuptools"; 11 11 12 12 disabled = pythonOlder "3.7"; ··· 15 15 owner = "CheetahTemplate3"; 16 16 repo = pname; 17 17 rev = "refs/tags/${version}"; 18 - hash = "sha256-7L3SBMgNOOLAFvQST8I0gFlrya/6Lwp/umzolfJx3t4="; 18 + hash = "sha256-0NVKie/6Fp8T1O1fvrVorycybLrEXMY1yXZBDyxjpbE="; 19 19 }; 20 20 21 21 doCheck = false; # Circular dependency
+2 -2
pkgs/development/python-modules/geoalchemy2/default.nix
··· 13 13 14 14 buildPythonPackage rec { 15 15 pname = "geoalchemy2"; 16 - version = "0.14.4"; 16 + version = "0.14.6"; 17 17 pyproject = true; 18 18 19 19 disabled = pythonOlder "3.7"; ··· 22 22 owner = "geoalchemy"; 23 23 repo = "geoalchemy2"; 24 24 rev = "refs/tags/${version}"; 25 - hash = "sha256-zMd/hHobFBPre0bZA1e2S9gPWnIkeImZhSySlIDxYsg="; 25 + hash = "sha256-s3+w6LtewjR725O8ENl7jRer979fRZDqsnbAYJOWcIY="; 26 26 }; 27 27 28 28 nativeBuildInputs = [
+2 -2
pkgs/development/python-modules/google-cloud-bigquery-datatransfer/default.nix
··· 14 14 15 15 buildPythonPackage rec { 16 16 pname = "google-cloud-bigquery-datatransfer"; 17 - version = "3.14.1"; 17 + version = "3.15.0"; 18 18 format = "setuptools"; 19 19 20 20 disabled = pythonOlder "3.7"; 21 21 22 22 src = fetchPypi { 23 23 inherit pname version; 24 - hash = "sha256-v9gBSb9TYvaqF1/g7dJshSkJ2RlCAWXGdf7yPlne0I4="; 24 + hash = "sha256-/LBhPJorIQvyiInfNy7PJcVyOvH217FErtwiC2XTZvQ="; 25 25 }; 26 26 27 27 propagatedBuildInputs = [
+2 -2
pkgs/development/python-modules/google-cloud-compute/default.nix
··· 13 13 14 14 buildPythonPackage rec { 15 15 pname = "google-cloud-compute"; 16 - version = "1.16.1"; 16 + version = "1.17.0"; 17 17 pyproject = true; 18 18 19 19 disabled = pythonOlder "3.7"; 20 20 21 21 src = fetchPypi { 22 22 inherit pname version; 23 - hash = "sha256-P/A08nd3ZP4GsySd3Q6TM+kuXRabcnnI1aFd+svMz5E="; 23 + hash = "sha256-dPs7hSe0YcD3luNqHkF6T8fTHC4/u3HMJwsw6THWL44="; 24 24 }; 25 25 26 26 nativeBuildInputs = [
+13 -6
pkgs/development/python-modules/google-cloud-kms/default.nix
··· 9 9 , pytest-asyncio 10 10 , pytestCheckHook 11 11 , pythonOlder 12 + , setuptools 12 13 }: 13 14 14 15 buildPythonPackage rec { 15 16 pname = "google-cloud-kms"; 16 - version = "2.19.2"; 17 - format = "setuptools"; 17 + version = "2.21.2"; 18 + pyproject = true; 18 19 19 20 disabled = pythonOlder "3.7"; 20 21 21 22 src = fetchPypi { 22 23 inherit pname version; 23 - hash = "sha256-F6UDRZLoXvADHSW75YlL2y1xlGCFWYC/62iqTo/8Er0="; 24 + hash = "sha256-8GrZ38gBVE+6EYN4i5ZPawF0g6Zgkapoa1Gr0HSAbIQ="; 24 25 }; 25 26 27 + nativeBuildInputs = [ 28 + setuptools 29 + ]; 30 + 26 31 propagatedBuildInputs = [ 27 32 grpc-google-iam-v1 28 33 google-api-core ··· 36 41 pytestCheckHook 37 42 ]; 38 43 39 - # Disable tests that need credentials 40 44 disabledTests = [ 45 + # Disable tests that need credentials 41 46 "test_list_global_key_rings" 47 + # Tests require PROJECT_ID 48 + "test_list_ekm_connections" 42 49 ]; 43 50 44 51 pythonImportsCheck = [ ··· 48 55 49 56 meta = with lib; { 50 57 description = "Cloud Key Management Service (KMS) API API client library"; 51 - homepage = "https://github.com/googleapis/python-kms"; 52 - changelog = "https://github.com/googleapis/python-kms/blob/v${version}/CHANGELOG.md"; 58 + homepage = "https://github.com/googleapis/google-cloud-python/tree/main/packages/google-cloud-kms"; 59 + changelog = "https://github.com/googleapis/google-cloud-python/blob/google-cloud-kms-v${version}/packages/google-cloud-kms/CHANGELOG.md"; 53 60 license = licenses.asl20; 54 61 maintainers = with maintainers; [ ]; 55 62 };
+2 -2
pkgs/development/python-modules/google-cloud-pubsub/default.nix
··· 17 17 18 18 buildPythonPackage rec { 19 19 pname = "google-cloud-pubsub"; 20 - version = "2.19.6"; 20 + version = "2.19.7"; 21 21 pyproject = true; 22 22 23 23 disabled = pythonOlder "3.7"; 24 24 25 25 src = fetchPypi { 26 26 inherit pname version; 27 - hash = "sha256-Tq5LyYRj29rq11l/dmb/4U/GKqvtEOPjIslcsFD6fb4="; 27 + hash = "sha256-2l8eshfAcnvvp8hbm5XmqJsytCLVSMnPmh4ClBAnC4c="; 28 28 }; 29 29 30 30 nativeBuildInputs = [
+2 -2
pkgs/development/python-modules/google-cloud-secret-manager/default.nix
··· 13 13 14 14 buildPythonPackage rec { 15 15 pname = "google-cloud-secret-manager"; 16 - version = "2.18.1"; 16 + version = "2.18.2"; 17 17 pyproject = true; 18 18 19 19 disabled = pythonOlder "3.7"; 20 20 21 21 src = fetchPypi { 22 22 inherit pname version; 23 - hash = "sha256-MQVV88jLl39KRtRFTsosg/7WoJ88SzW4T2+h+P71UCQ="; 23 + hash = "sha256-oA1iEVpwCD6GsdRMp+vK4EGzakTMYupX3kAFcx+NPIg="; 24 24 }; 25 25 26 26 nativeBuildInputs = [
+4 -4
pkgs/development/python-modules/griffe/default.nix
··· 12 12 13 13 buildPythonPackage rec { 14 14 pname = "griffe"; 15 - version = "0.40.1"; 16 - format = "pyproject"; 15 + version = "0.41.0"; 16 + pyproject = true; 17 17 18 18 disabled = pythonOlder "3.8"; 19 19 20 20 src = fetchFromGitHub { 21 21 owner = "mkdocstrings"; 22 - repo = pname; 22 + repo = "griffe"; 23 23 rev = "refs/tags/${version}"; 24 - hash = "sha256-DaLxGEwR2Z9IEkKbLkOy7Q3dvvmwTNBNMzYxNoeZMJE="; 24 + hash = "sha256-or0kXc8YJl7+95gM54MaviDdErN0vqBnCtAavZM938k="; 25 25 }; 26 26 27 27 nativeBuildInputs = [
+1 -1
pkgs/development/python-modules/huggingface-hub/default.nix
··· 52 52 homepage = "https://github.com/huggingface/huggingface_hub"; 53 53 changelog = "https://github.com/huggingface/huggingface_hub/releases/tag/v${version}"; 54 54 license = licenses.asl20; 55 - maintainers = with maintainers; [ kira-bruneau ]; 55 + maintainers = with maintainers; [ ]; 56 56 }; 57 57 }
+9 -4
pkgs/development/python-modules/karton-core/default.nix
··· 3 3 , buildPythonPackage 4 4 , fetchFromGitHub 5 5 , orjson 6 - , unittestCheckHook 7 6 , pythonOlder 8 7 , redis 8 + , setuptools 9 + , unittestCheckHook 9 10 }: 10 11 11 12 buildPythonPackage rec { 12 13 pname = "karton-core"; 13 - version = "5.3.2"; 14 - format = "setuptools"; 14 + version = "5.3.3"; 15 + pyproject = true; 15 16 16 17 disabled = pythonOlder "3.7"; 17 18 ··· 19 20 owner = "CERT-Polska"; 20 21 repo = "karton"; 21 22 rev = "refs/tags/v${version}"; 22 - hash = "sha256-/MPD83sBo9n/dI1uXbHbjvz6upJSJrssMGmGwfQ+KE8="; 23 + hash = "sha256-RVHhMKoQAqsddziK/vWGynSL9mxMuccNEGzoJTx8KAA="; 23 24 }; 25 + 26 + nativeBuildInputs = [ 27 + setuptools 28 + ]; 24 29 25 30 propagatedBuildInputs = [ 26 31 boto3
+2 -2
pkgs/development/python-modules/llama-index-core/default.nix
··· 30 30 31 31 buildPythonPackage rec { 32 32 pname = "llama-index-core"; 33 - version = "0.10.12"; 33 + version = "0.10.14"; 34 34 pyproject = true; 35 35 36 36 disabled = pythonOlder "3.8"; ··· 39 39 owner = "run-llama"; 40 40 repo = "llama_index"; 41 41 rev = "refs/tags/v${version}"; 42 - hash = "sha256-Xn4Gqr5zjZGAEHg5duqkS9GLWWlC83puDHNktNYzvDw="; 42 + hash = "sha256-9EbhiW2VPaX6Ffrm5a3pJxw2M73x1JOna+OurSJErSM="; 43 43 }; 44 44 45 45 sourceRoot = "${src.name}/${pname}";
+2 -2
pkgs/development/python-modules/neo4j/default.nix
··· 12 12 13 13 buildPythonPackage rec { 14 14 pname = "neo4j"; 15 - version = "5.17.0"; 15 + version = "5.18.0"; 16 16 pyproject = true; 17 17 18 18 disabled = pythonOlder "3.7"; ··· 21 21 owner = "neo4j"; 22 22 repo = "neo4j-python-driver"; 23 23 rev = "refs/tags/${version}"; 24 - hash = "sha256-BZo4TzFrH1ATl09zRXy+1AFJSBopmByDHe7oITZy7pA="; 24 + hash = "sha256-rp0N2k23WZ86hqqz4ByW5gdyU2eYLVppyEJEdY/Yk8w="; 25 25 }; 26 26 27 27 postPatch = ''
+2 -2
pkgs/development/python-modules/pydeconz/default.nix
··· 13 13 14 14 buildPythonPackage rec { 15 15 pname = "pydeconz"; 16 - version = "114"; 16 + version = "115"; 17 17 pyproject = true; 18 18 19 19 disabled = pythonOlder "3.11"; ··· 22 22 owner = "Kane610"; 23 23 repo = "deconz"; 24 24 rev = "refs/tags/v${version}"; 25 - hash = "sha256-XN6di3pxB7lhZ5TQnyHr7nKA0STBi0CVzGnhvRDsbFY="; 25 + hash = "sha256-NjzONVSJ4GEaIeC5ytnTi8JpZY1yIq3LN8vbMy3n0vs="; 26 26 }; 27 27 28 28 postPatch = ''
+1 -1
pkgs/development/python-modules/torch/default.nix
··· 8 8 magma-hip, 9 9 magma-cuda-static, 10 10 # Use the system NCCL as long as we're targeting CUDA on a supported platform. 11 - useSystemNccl ? (cudaSupport && !cudaPackages.nccl.meta.unsupported), 11 + useSystemNccl ? (cudaSupport && !cudaPackages.nccl.meta.unsupported || rocmSupport), 12 12 MPISupport ? false, mpi, 13 13 buildDocs ? false, 14 14
+3 -3
pkgs/development/python-modules/userpath/default.nix
··· 8 8 9 9 buildPythonPackage rec { 10 10 pname = "userpath"; 11 - version = "1.9.1"; 12 - format = "pyproject"; 11 + version = "1.9.2"; 12 + pyproject = true; 13 13 14 14 disabled = pythonOlder "3.7"; 15 15 16 16 src = fetchPypi { 17 17 inherit pname version; 18 - hash = "sha256-zoF2co2YyRS2QBeBvzsj/M2WjRZHU5yHiMcBA3XgJ5Y="; 18 + hash = "sha256-bFIojasGklfMgxhG0V1IEzUiRV1Gd+5pqXgfEdvv2BU="; 19 19 }; 20 20 21 21 nativeBuildInputs = [
+5 -5
pkgs/development/python-modules/vllm/default.nix
··· 36 36 37 37 buildPythonPackage rec { 38 38 pname = "vllm"; 39 - version = "0.3.1"; 39 + version = "0.3.2"; 40 40 format = "pyproject"; 41 41 42 42 src = fetchFromGitHub { 43 43 owner = "vllm-project"; 44 44 repo = pname; 45 45 rev = "v${version}"; 46 - hash = "sha256-hfd4ScU0mkZ7z4+w08BUA1K9bPXSiFThfiO+Ll2MTtg="; 46 + hash = "sha256-ZFwlR8Xnen7FFblwzPJm0k+3iEo2p27QhfRaDfzwbOM="; 47 47 }; 48 48 49 49 # Otherwise it tries to enumerate host supported ROCM gfx archs, and that is not possible due to sandboxing. ··· 62 62 substituteInPlace requirements.txt \ 63 63 --replace "cupy-cuda12x == 12.1.0" "cupy == 12.3.0" 64 64 substituteInPlace requirements-build.txt \ 65 - --replace "torch==2.1.2" "torch == 2.2.0" 65 + --replace "torch==2.1.2" "torch == 2.2.1" 66 66 substituteInPlace pyproject.toml \ 67 - --replace "torch == 2.1.2" "torch == 2.2.0" 67 + --replace "torch == 2.1.2" "torch == 2.2.1" 68 68 substituteInPlace requirements.txt \ 69 - --replace "torch == 2.1.2" "torch == 2.2.0" 69 + --replace "torch == 2.1.2" "torch == 2.2.1" 70 70 '' + lib.optionalString rocmSupport '' 71 71 substituteInPlace setup.py \ 72 72 --replace "'hipcc', '--version'" "'${writeShellScript "hipcc-version-stub" "echo HIP version: 0.0"}'"
+4 -1
pkgs/development/r-modules/default.nix
··· 452 452 topicmodels = [ pkgs.gsl ]; 453 453 udunits2 = with pkgs; [ udunits expat ]; 454 454 units = [ pkgs.udunits ]; 455 + vdiffr = [ pkgs.libpng.dev ]; 455 456 V8 = [ pkgs.v8 ]; 456 457 XBRL = with pkgs; [ zlib libxml2.dev ]; 457 458 XLConnect = [ pkgs.jdk ]; ··· 500 501 RDieHarder = [ pkgs.gsl ]; 501 502 QF = [ pkgs.gsl ]; 502 503 PICS = [ pkgs.gsl ]; 503 - RcppCWB = [ pkgs.pkg-config ]; 504 + RcppCWB = [ pkgs.pkg-config pkgs.pcre2 ]; 504 505 redux = [ pkgs.pkg-config ]; 505 506 rrd = [ pkgs.pkg-config ]; 507 + Rbwa = [ pkgs.zlib.dev ]; 506 508 trackViewer = [ pkgs.zlib.dev ]; 507 509 themetagenomics = [ pkgs.zlib.dev ]; 508 510 NanoMethViz = [ pkgs.zlib.dev ]; ··· 593 595 Signac = [ pkgs.zlib.dev ]; 594 596 TransView = [ pkgs.zlib.dev ]; 595 597 bigsnpr = [ pkgs.zlib.dev ]; 598 + zlib = [ pkgs.zlib.dev ]; 596 599 divest = [ pkgs.zlib.dev ]; 597 600 hipread = [ pkgs.zlib.dev ]; 598 601 jackalope = with pkgs; [ zlib.dev xz.dev ];
+3 -3
pkgs/development/tools/bearer/default.nix
··· 7 7 8 8 buildGoModule rec { 9 9 pname = "bearer"; 10 - version = "1.39.0"; 10 + version = "1.40.1"; 11 11 12 12 src = fetchFromGitHub { 13 13 owner = "bearer"; 14 14 repo = "bearer"; 15 15 rev = "refs/tags/v${version}"; 16 - hash = "sha256-GgdEOTrzaTsSTRW2NUzdxzUxGI1UCIk/6mAoyRysRVc="; 16 + hash = "sha256-yfgbkF7ANJyyy3qYNLOg85+MJ8SdHCZkXsOhH0vzy8o="; 17 17 }; 18 18 19 - vendorHash = "sha256-fCSgRjsioXyt9mxQoZxyA+F63FAwlmwJAjquR+zAgQg="; 19 + vendorHash = "sha256-TKdZVNt98jrIzXekfxRXfxEfEhb2doWTTGojOLOcKzU="; 20 20 21 21 subPackages = [ 22 22 "cmd/bearer"
+2 -2
pkgs/servers/mobilizon/common.nix
··· 1 1 { fetchFromGitLab }: rec { 2 2 3 3 pname = "mobilizon"; 4 - version = "4.0.2"; 4 + version = "4.1.0"; 5 5 6 6 src = fetchFromGitLab { 7 7 domain = "framagit.org"; 8 8 owner = "framasoft"; 9 9 repo = pname; 10 10 rev = version; 11 - sha256 = "sha256-Ri1qCiQaKlSTSSGWHzFqYBCoTEMtOtwe0Kli466dv4M="; 11 + sha256 = "sha256-aS57126Nhz/QvouSyZ9wUu78/eoCYbRwyncUUmO1Dv8="; 12 12 }; 13 13 }
+2 -2
pkgs/servers/mobilizon/default.nix
··· 57 57 src = fetchFromGitHub { 58 58 owner = "danhper"; 59 59 repo = "elixir-web-push-encryption"; 60 - rev = "70f00d06cbd88c9ac382e0ad2539e54448e9d8da"; 61 - sha256 = "sha256-b4ZMrt/8n2sPUFtCDRTwXS1qWm5VlYdbx8qC0R0boOA="; 60 + rev = "6e143dcde0a2854c4f0d72816b7ecab696432779"; 61 + sha256 = "sha256-Da+/28SPZuUQBi8fQj31zmMvhMrYUaQIW4U4E+mRtMg="; 62 62 }; 63 63 beamDeps = with final; [ httpoison jose ]; 64 64 };
+1 -1
pkgs/servers/mobilizon/frontend.nix
··· 6 6 buildNpmPackage { 7 7 inherit (common) pname version src; 8 8 9 - npmDepsHash = "sha256-z/xWumL1wri63cGGMHMBq6WVDe81bp8tILsZa53a7FM="; 9 + npmDepsHash = "sha256-pF07ul71zg9iLM/ja4Fz/6IXpqdMKb7KwOH02Q9lyCg="; 10 10 11 11 nativeBuildInputs = [ imagemagick ]; 12 12
+112 -138
pkgs/servers/mobilizon/mix.nix
··· 73 73 beamDeps = [ xml_builder ]; 74 74 }; 75 75 76 + bandit = buildMix rec { 77 + name = "bandit"; 78 + version = "1.2.3"; 79 + 80 + src = fetchHex { 81 + pkg = "bandit"; 82 + version = "${version}"; 83 + sha256 = "3e29150245a9b5f56944434e5240966e75c917dad248f689ab589b32187a81af"; 84 + }; 85 + 86 + beamDeps = [ hpax plug telemetry thousand_island websock ]; 87 + }; 88 + 76 89 bunt = buildMix rec { 77 90 name = "bunt"; 78 - version = "0.2.1"; 91 + version = "1.0.0"; 79 92 80 93 src = fetchHex { 81 94 pkg = "bunt"; 82 95 version = "${version}"; 83 - sha256 = "a330bfb4245239787b15005e66ae6845c9cd524a288f0d141c148b02603777a5"; 96 + sha256 = "dc5f86aa08a5f6fa6b8096f0735c4e76d54ae5c9fa2c143e5a1fc7c1cd9bb6b5"; 84 97 }; 85 98 86 99 beamDeps = []; ··· 101 114 102 115 castore = buildMix rec { 103 116 name = "castore"; 104 - version = "1.0.4"; 117 + version = "1.0.5"; 105 118 106 119 src = fetchHex { 107 120 pkg = "castore"; 108 121 version = "${version}"; 109 - sha256 = "9418c1b8144e11656f0be99943db4caf04612e3eaecefb5dae9a2a87565584f8"; 122 + sha256 = "8d7c597c3e4a64c395980882d4bca3cebb8d74197c590dc272cfd3b6a6310578"; 110 123 }; 111 124 112 125 beamDeps = []; ··· 177 190 beamDeps = []; 178 191 }; 179 192 180 - connection = buildMix rec { 181 - name = "connection"; 182 - version = "1.1.0"; 183 - 184 - src = fetchHex { 185 - pkg = "connection"; 186 - version = "${version}"; 187 - sha256 = "722c1eb0a418fbe91ba7bd59a47e28008a189d47e37e0e7bb85585a016b2869c"; 188 - }; 189 - 190 - beamDeps = []; 191 - }; 192 - 193 193 cors_plug = buildMix rec { 194 194 name = "cors_plug"; 195 195 version = "3.0.3"; ··· 203 203 beamDeps = [ plug ]; 204 204 }; 205 205 206 - cowboy = buildErlangMk rec { 207 - name = "cowboy"; 208 - version = "2.10.0"; 209 - 210 - src = fetchHex { 211 - pkg = "cowboy"; 212 - version = "${version}"; 213 - sha256 = "3afdccb7183cc6f143cb14d3cf51fa00e53db9ec80cdcd525482f5e99bc41d6b"; 214 - }; 215 - 216 - beamDeps = [ cowlib ranch ]; 217 - }; 218 - 219 - cowboy_telemetry = buildRebar3 rec { 220 - name = "cowboy_telemetry"; 221 - version = "0.4.0"; 222 - 223 - src = fetchHex { 224 - pkg = "cowboy_telemetry"; 225 - version = "${version}"; 226 - sha256 = "7d98bac1ee4565d31b62d59f8823dfd8356a169e7fcbb83831b8a5397404c9de"; 227 - }; 228 - 229 - beamDeps = [ cowboy telemetry ]; 230 - }; 231 - 232 - cowlib = buildRebar3 rec { 233 - name = "cowlib"; 234 - version = "2.12.1"; 235 - 236 - src = fetchHex { 237 - pkg = "cowlib"; 238 - version = "${version}"; 239 - sha256 = "163b73f6367a7341b33c794c4e88e7dbfe6498ac42dcd69ef44c5bc5507c8db0"; 240 - }; 241 - 242 - beamDeps = []; 243 - }; 244 - 245 206 credo = buildMix rec { 246 207 name = "credo"; 247 - version = "1.7.1"; 208 + version = "1.7.5"; 248 209 249 210 src = fetchHex { 250 211 pkg = "credo"; 251 212 version = "${version}"; 252 - sha256 = "e9871c6095a4c0381c89b6aa98bc6260a8ba6addccf7f6a53da8849c748a58a2"; 213 + sha256 = "f799e9b5cd1891577d8c773d245668aa74a2fcd15eb277f51a0131690ebfb3fd"; 253 214 }; 254 215 255 216 beamDeps = [ bunt file_system jason ]; ··· 309 270 310 271 dialyxir = buildMix rec { 311 272 name = "dialyxir"; 312 - version = "1.4.2"; 273 + version = "1.4.3"; 313 274 314 275 src = fetchHex { 315 276 pkg = "dialyxir"; 316 277 version = "${version}"; 317 - sha256 = "516603d8067b2fd585319e4b13d3674ad4f314a5902ba8130cd97dc902ce6bbd"; 278 + sha256 = "bf2cfb75cd5c5006bec30141b131663299c661a864ec7fbbc72dfa557487a986"; 318 279 }; 319 280 320 281 beamDeps = [ erlex ]; ··· 348 309 349 310 earmark_parser = buildMix rec { 350 311 name = "earmark_parser"; 351 - version = "1.4.38"; 312 + version = "1.4.39"; 352 313 353 314 src = fetchHex { 354 315 pkg = "earmark_parser"; 355 316 version = "${version}"; 356 - sha256 = "2cd0907795aaef0c7e8442e376633c5b3bd6edc8dbbdc539b22f095501c1cdb6"; 317 + sha256 = "06553a88d1f1846da9ef066b87b57c6f605552cfbe40d20bd8d59cc6bde41944"; 357 318 }; 358 319 359 320 beamDeps = []; ··· 374 335 375 336 ecto = buildMix rec { 376 337 name = "ecto"; 377 - version = "3.11.0"; 338 + version = "3.11.1"; 378 339 379 340 src = fetchHex { 380 341 pkg = "ecto"; 381 342 version = "${version}"; 382 - sha256 = "7769dad267ef967310d6e988e92d772659b11b09a0c015f101ce0fff81ce1f81"; 343 + sha256 = "ebd3d3772cd0dfcd8d772659e41ed527c28b2a8bde4b00fe03e0463da0f1983b"; 383 344 }; 384 345 385 346 beamDeps = [ decimal jason telemetry ]; ··· 400 361 401 362 ecto_dev_logger = buildMix rec { 402 363 name = "ecto_dev_logger"; 403 - version = "0.9.0"; 364 + version = "0.10.0"; 404 365 405 366 src = fetchHex { 406 367 pkg = "ecto_dev_logger"; 407 368 version = "${version}"; 408 - sha256 = "2e8bc98b4ae4fcc7108896eef7da5a109afad829f4fb2eb46d677fdc9101c2d5"; 369 + sha256 = "a55e58bad5d5c9b8ef2a3c3347dbdf7efa880a5371cf1457e44b41f489a43927"; 409 370 }; 410 371 411 372 beamDeps = [ ecto jason ]; ··· 439 400 440 401 ecto_sql = buildMix rec { 441 402 name = "ecto_sql"; 442 - version = "3.11.0"; 403 + version = "3.11.1"; 443 404 444 405 src = fetchHex { 445 406 pkg = "ecto_sql"; 446 407 version = "${version}"; 447 - sha256 = "77aa3677169f55c2714dda7352d563002d180eb33c0dc29cd36d39c0a1a971f5"; 408 + sha256 = "ce14063ab3514424276e7e360108ad6c2308f6d88164a076aac8a387e1fea634"; 448 409 }; 449 410 450 411 beamDeps = [ db_connection ecto postgrex telemetry ]; ··· 465 426 466 427 elixir_make = buildMix rec { 467 428 name = "elixir_make"; 468 - version = "0.7.7"; 429 + version = "0.7.8"; 469 430 470 431 src = fetchHex { 471 432 pkg = "elixir_make"; 472 433 version = "${version}"; 473 - sha256 = "5bc19fff950fad52bbe5f211b12db9ec82c6b34a9647da0c2224b8b8464c7e6c"; 434 + sha256 = "7a71945b913d37ea89b06966e1342c85cfe549b15e6d6d081e8081c493062c07"; 474 435 }; 475 436 476 - beamDeps = [ castore ]; 437 + beamDeps = [ castore certifi ]; 477 438 }; 478 439 479 440 erlex = buildMix rec { ··· 530 491 531 492 ex_cldr_calendars = buildMix rec { 532 493 name = "ex_cldr_calendars"; 533 - version = "1.22.1"; 494 + version = "1.23.0"; 534 495 535 496 src = fetchHex { 536 497 pkg = "ex_cldr_calendars"; 537 498 version = "${version}"; 538 - sha256 = "e7408cd9e8318b2ef93b76728e84484ddc3ea6d7c894fbc811c54122a7140169"; 499 + sha256 = "06d2407e699032d5cdc515593b7ce7869f10ce28e98a4ed68d9b21e5001036d4"; 539 500 }; 540 501 541 502 beamDeps = [ ex_cldr_numbers ex_doc jason ]; ··· 582 543 583 544 ex_cldr_numbers = buildMix rec { 584 545 name = "ex_cldr_numbers"; 585 - version = "2.32.3"; 546 + version = "2.32.4"; 586 547 587 548 src = fetchHex { 588 549 pkg = "ex_cldr_numbers"; 589 550 version = "${version}"; 590 - sha256 = "7b626ff1e59a0ec9c3c5db5ce9ca91a6995e2ab56426b71f3cbf67181ea225f5"; 551 + sha256 = "6fd5a82f0785418fa8b698c0be2b1845dff92b77f1b3172c763d37868fb503d2"; 591 552 }; 592 553 593 554 beamDeps = [ decimal digital_token ex_cldr ex_cldr_currencies jason ]; ··· 608 569 609 570 ex_doc = buildMix rec { 610 571 name = "ex_doc"; 611 - version = "0.30.9"; 572 + version = "0.31.1"; 612 573 613 574 src = fetchHex { 614 575 pkg = "ex_doc"; 615 576 version = "${version}"; 616 - sha256 = "d7aaaf21e95dc5cddabf89063327e96867d00013963eadf2c6ad135506a8bc10"; 577 + sha256 = "3178c3a407c557d8343479e1ff117a96fd31bafe52a039079593fb0524ef61b0"; 617 578 }; 618 579 619 580 beamDeps = [ earmark_parser makeup_elixir makeup_erlang ]; ··· 699 660 700 661 expo = buildMix rec { 701 662 name = "expo"; 702 - version = "0.4.1"; 663 + version = "0.5.2"; 703 664 704 665 src = fetchHex { 705 666 pkg = "expo"; 706 667 version = "${version}"; 707 - sha256 = "2ff7ba7a798c8c543c12550fa0e2cbc81b95d4974c65855d8d15ba7b37a1ce47"; 668 + sha256 = "8c9bfa06ca017c9cb4020fabe980bc7fdb1aaec059fd004c2ab3bff03b1c599c"; 708 669 }; 709 670 710 671 beamDeps = []; ··· 725 686 726 687 fast_html = buildMix rec { 727 688 name = "fast_html"; 728 - version = "2.2.0"; 689 + version = "2.3.0"; 729 690 730 691 src = fetchHex { 731 692 pkg = "fast_html"; 732 693 version = "${version}"; 733 - sha256 = "064c4f23b4a6168f9187dac8984b056f2c531bb0787f559fd6a8b34b38aefbae"; 694 + sha256 = "f18e3c7668f82d3ae0b15f48d48feeb257e28aa5ab1b0dbf781c7312e5da029d"; 734 695 }; 735 696 736 697 beamDeps = [ elixir_make nimble_pool ]; ··· 777 738 778 739 floki = buildMix rec { 779 740 name = "floki"; 780 - version = "0.35.2"; 741 + version = "0.35.4"; 781 742 782 743 src = fetchHex { 783 744 pkg = "floki"; 784 745 version = "${version}"; 785 - sha256 = "6b05289a8e9eac475f644f09c2e4ba7e19201fd002b89c28c1293e7bd16773d9"; 746 + sha256 = "27fa185d3469bd8fc5947ef0f8d5c4e47f0af02eb6b070b63c868f69e3af0204"; 786 747 }; 787 748 788 749 beamDeps = []; ··· 868 829 869 830 gettext = buildMix rec { 870 831 name = "gettext"; 871 - version = "0.23.1"; 832 + version = "0.24.0"; 872 833 873 834 src = fetchHex { 874 835 pkg = "gettext"; 875 836 version = "${version}"; 876 - sha256 = "19d744a36b809d810d610b57c27b934425859d158ebd56561bc41f7eeb8795db"; 837 + sha256 = "bdf75cdfcbe9e4622dd18e034b227d77dd17f0f133853a1c73b97b3d6c770e8b"; 877 838 }; 878 839 879 840 beamDeps = [ expo ]; ··· 933 894 934 895 hammer = buildMix rec { 935 896 name = "hammer"; 936 - version = "6.1.0"; 897 + version = "6.2.1"; 937 898 938 899 src = fetchHex { 939 900 pkg = "hammer"; 940 901 version = "${version}"; 941 - sha256 = "b47e415a562a6d072392deabcd58090d8a41182cf9044cdd6b0d0faaaf68ba57"; 902 + sha256 = "b9476d0c13883d2dc0cc72e786bac6ac28911fba7cc2e04b70ce6a6d9c4b2bdc"; 942 903 }; 943 904 944 905 beamDeps = [ poolboy ]; ··· 957 918 beamDeps = []; 958 919 }; 959 920 921 + hpax = buildMix rec { 922 + name = "hpax"; 923 + version = "0.1.2"; 924 + 925 + src = fetchHex { 926 + pkg = "hpax"; 927 + version = "${version}"; 928 + sha256 = "2c87843d5a23f5f16748ebe77969880e29809580efdaccd615cd3bed628a8c13"; 929 + }; 930 + 931 + beamDeps = []; 932 + }; 933 + 960 934 html_entities = buildMix rec { 961 935 name = "html_entities"; 962 936 version = "0.5.2"; ··· 972 946 973 947 http_signatures = buildMix rec { 974 948 name = "http_signatures"; 975 - version = "0.1.1"; 949 + version = "0.1.2"; 976 950 977 951 src = fetchHex { 978 952 pkg = "http_signatures"; 979 953 version = "${version}"; 980 - sha256 = "cc3b8a007322cc7b624c0c15eec49ee58ac977254ff529a3c482f681465942a3"; 954 + sha256 = "f08aa9ac121829dae109d608d83c84b940ef2f183ae50f2dd1e9a8bc619d8be7"; 981 955 }; 982 956 983 957 beamDeps = []; ··· 1011 985 1012 986 inet_cidr = buildMix rec { 1013 987 name = "inet_cidr"; 1014 - version = "1.0.4"; 988 + version = "1.0.8"; 1015 989 1016 990 src = fetchHex { 1017 991 pkg = "inet_cidr"; 1018 992 version = "${version}"; 1019 - sha256 = "64a2d30189704ae41ca7dbdd587f5291db5d1dda1414e0774c29ffc81088c1bc"; 993 + sha256 = "d5b26da66603bb56c933c65214c72152f0de9a6ea53618b56d63302a68f6a90e"; 1020 994 }; 1021 995 1022 996 beamDeps = []; ··· 1128 1102 1129 1103 makeup_erlang = buildMix rec { 1130 1104 name = "makeup_erlang"; 1131 - version = "0.1.2"; 1105 + version = "0.1.5"; 1132 1106 1133 1107 src = fetchHex { 1134 1108 pkg = "makeup_erlang"; 1135 1109 version = "${version}"; 1136 - sha256 = "f3f5a1ca93ce6e092d92b6d9c049bcda58a3b617a8d888f8e7231c85630e8108"; 1110 + sha256 = "94d2e986428585a21516d7d7149781480013c56e30c6a233534bedf38867a59a"; 1137 1111 }; 1138 1112 1139 1113 beamDeps = [ makeup ]; ··· 1206 1180 1207 1181 mix_test_watch = buildMix rec { 1208 1182 name = "mix_test_watch"; 1209 - version = "1.1.1"; 1183 + version = "1.1.2"; 1210 1184 1211 1185 src = fetchHex { 1212 1186 pkg = "mix_test_watch"; 1213 1187 version = "${version}"; 1214 - sha256 = "f82262b54dee533467021723892e15c3267349849f1f737526523ecba4e6baae"; 1188 + sha256 = "8ce79fc69a304eec81ab6c1a05de2eb026a8959f65fb47f933ce8eb56018ba35"; 1215 1189 }; 1216 1190 1217 1191 beamDeps = [ file_system ]; ··· 1336 1310 1337 1311 oban = buildMix rec { 1338 1312 name = "oban"; 1339 - version = "2.16.3"; 1313 + version = "2.17.5"; 1340 1314 1341 1315 src = fetchHex { 1342 1316 pkg = "oban"; 1343 1317 version = "${version}"; 1344 - sha256 = "4d8a7fb62f63cf2f2080c78954425f5fd8916ef57196b7f79b5bc657abb2ac5f"; 1318 + sha256 = "fd3ccbbfdbb2bc77107c8790946f9821a831ed0720688485ee6adcd7863886cf"; 1345 1319 }; 1346 1320 1347 1321 beamDeps = [ ecto_sql jason postgrex telemetry ]; ··· 1375 1349 1376 1350 phoenix = buildMix rec { 1377 1351 name = "phoenix"; 1378 - version = "1.7.10"; 1352 + version = "1.7.11"; 1379 1353 1380 1354 src = fetchHex { 1381 1355 pkg = "phoenix"; 1382 1356 version = "${version}"; 1383 - sha256 = "cf784932e010fd736d656d7fead6a584a4498efefe5b8227e9f383bf15bb79d0"; 1357 + sha256 = "b1ec57f2e40316b306708fe59b92a16b9f6f4bf50ccfa41aa8c7feb79e0ec02a"; 1384 1358 }; 1385 1359 1386 - beamDeps = [ castore jason phoenix_pubsub phoenix_template phoenix_view plug plug_cowboy plug_crypto telemetry websock_adapter ]; 1360 + beamDeps = [ castore jason phoenix_pubsub phoenix_template phoenix_view plug plug_crypto telemetry websock_adapter ]; 1387 1361 }; 1388 1362 1389 1363 phoenix_ecto = buildMix rec { ··· 1427 1401 1428 1402 phoenix_live_view = buildMix rec { 1429 1403 name = "phoenix_live_view"; 1430 - version = "0.20.1"; 1404 + version = "0.20.10"; 1431 1405 1432 1406 src = fetchHex { 1433 1407 pkg = "phoenix_live_view"; 1434 1408 version = "${version}"; 1435 - sha256 = "be494fd1215052729298b0e97d5c2ce8e719c00854b82cd8cf15c1cd7fcf6294"; 1409 + sha256 = "daa17b3fbdfd6347aaade4db01a5dd24d23af0f4344e2e24934e8adfb4a11607"; 1436 1410 }; 1437 1411 1438 1412 beamDeps = [ jason phoenix phoenix_html phoenix_template phoenix_view plug telemetry ]; ··· 1453 1427 1454 1428 phoenix_swoosh = buildMix rec { 1455 1429 name = "phoenix_swoosh"; 1456 - version = "1.2.0"; 1430 + version = "1.2.1"; 1457 1431 1458 1432 src = fetchHex { 1459 1433 pkg = "phoenix_swoosh"; 1460 1434 version = "${version}"; 1461 - sha256 = "e88d117251e89a16b92222415a6d87b99a96747ddf674fc5c7631de734811dba"; 1435 + sha256 = "4000eeba3f9d7d1a6bf56d2bd56733d5cadf41a7f0d8ffe5bb67e7d667e204a2"; 1462 1436 }; 1463 1437 1464 1438 beamDeps = [ hackney phoenix phoenix_html phoenix_view swoosh ]; ··· 1466 1440 1467 1441 phoenix_template = buildMix rec { 1468 1442 name = "phoenix_template"; 1469 - version = "1.0.3"; 1443 + version = "1.0.4"; 1470 1444 1471 1445 src = fetchHex { 1472 1446 pkg = "phoenix_template"; 1473 1447 version = "${version}"; 1474 - sha256 = "16f4b6588a4152f3cc057b9d0c0ba7e82ee23afa65543da535313ad8d25d8e2c"; 1448 + sha256 = "2c0c81f0e5c6753faf5cca2f229c9709919aba34fab866d3bc05060c9c444206"; 1475 1449 }; 1476 1450 1477 1451 beamDeps = [ phoenix_html ]; ··· 1492 1466 1493 1467 plug = buildMix rec { 1494 1468 name = "plug"; 1495 - version = "1.15.2"; 1469 + version = "1.15.3"; 1496 1470 1497 1471 src = fetchHex { 1498 1472 pkg = "plug"; 1499 1473 version = "${version}"; 1500 - sha256 = "02731fa0c2dcb03d8d21a1d941bdbbe99c2946c0db098eee31008e04c6283615"; 1474 + sha256 = "cc4365a3c010a56af402e0809208873d113e9c38c401cabd88027ef4f5c01fd2"; 1501 1475 }; 1502 1476 1503 1477 beamDeps = [ mime plug_crypto telemetry ]; 1504 - }; 1505 - 1506 - plug_cowboy = buildMix rec { 1507 - name = "plug_cowboy"; 1508 - version = "2.6.1"; 1509 - 1510 - src = fetchHex { 1511 - pkg = "plug_cowboy"; 1512 - version = "${version}"; 1513 - sha256 = "de36e1a21f451a18b790f37765db198075c25875c64834bcc82d90b309eb6613"; 1514 - }; 1515 - 1516 - beamDeps = [ cowboy cowboy_telemetry plug ]; 1517 1478 }; 1518 1479 1519 1480 plug_crypto = buildMix rec { ··· 1544 1505 1545 1506 postgrex = buildMix rec { 1546 1507 name = "postgrex"; 1547 - version = "0.17.3"; 1508 + version = "0.17.4"; 1548 1509 1549 1510 src = fetchHex { 1550 1511 pkg = "postgrex"; 1551 1512 version = "${version}"; 1552 - sha256 = "946cf46935a4fdca7a81448be76ba3503cff082df42c6ec1ff16a4bdfbfb098d"; 1513 + sha256 = "6458f7d5b70652bc81c3ea759f91736c16a31be000f306d3c64bcdfe9a18b3cc"; 1553 1514 }; 1554 1515 1555 1516 beamDeps = [ db_connection decimal jason ]; ··· 1570 1531 1571 1532 ranch = buildRebar3 rec { 1572 1533 name = "ranch"; 1573 - version = "1.8.0"; 1534 + version = "2.1.0"; 1574 1535 1575 1536 src = fetchHex { 1576 1537 pkg = "ranch"; 1577 1538 version = "${version}"; 1578 - sha256 = "49fbcfd3682fab1f5d109351b61257676da1a2fdbe295904176d5e521a2ddfe5"; 1539 + sha256 = "244ee3fa2a6175270d8e1fc59024fd9dbc76294a321057de8f803b1479e76916"; 1579 1540 }; 1580 1541 1581 1542 beamDeps = []; ··· 1617 1578 sha256 = "f9fc7641ef61e885510f5e5963c2948b9de1de597c63f781e9d3d6c9c8681ab4"; 1618 1579 }; 1619 1580 1620 - beamDeps = [ hackney jason plug plug_cowboy ]; 1581 + beamDeps = [ hackney jason plug ]; 1621 1582 }; 1622 1583 1623 1584 shortuuid = buildMix rec { ··· 1635 1596 1636 1597 sitemapper = buildMix rec { 1637 1598 name = "sitemapper"; 1638 - version = "0.7.0"; 1599 + version = "0.8.0"; 1639 1600 1640 1601 src = fetchHex { 1641 1602 pkg = "sitemapper"; 1642 1603 version = "${version}"; 1643 - sha256 = "60f7a684e5e9fe7f10ac5b69f48b0be2bcbba995afafcb3c143fc0c8ef1f223f"; 1604 + sha256 = "7cd42b454035da457151c9b6a314b688b5bbe5383add95badc65d013c25989c5"; 1644 1605 }; 1645 1606 1646 1607 beamDeps = [ xml_builder ]; ··· 1739 1700 1740 1701 swoosh = buildMix rec { 1741 1702 name = "swoosh"; 1742 - version = "1.14.1"; 1703 + version = "1.15.3"; 1743 1704 1744 1705 src = fetchHex { 1745 1706 pkg = "swoosh"; 1746 1707 version = "${version}"; 1747 - sha256 = "87da72260b4351678f96aec61db5c2acc8a88cda2cf2c4f534eb4c9c461350c7"; 1708 + sha256 = "97a667b96ca8cc48a4679f6cd1f40a36d8701cf052587298473614caa70f164a"; 1748 1709 }; 1749 1710 1750 - beamDeps = [ cowboy gen_smtp hackney jason mime plug plug_cowboy telemetry ]; 1711 + beamDeps = [ bandit gen_smtp hackney jason mime plug telemetry ]; 1751 1712 }; 1752 1713 1753 1714 telemetry = buildRebar3 rec { ··· 1776 1737 beamDeps = [ castore hackney jason mime telemetry ]; 1777 1738 }; 1778 1739 1740 + thousand_island = buildMix rec { 1741 + name = "thousand_island"; 1742 + version = "1.3.5"; 1743 + 1744 + src = fetchHex { 1745 + pkg = "thousand_island"; 1746 + version = "${version}"; 1747 + sha256 = "2be6954916fdfe4756af3239fb6b6d75d0b8063b5df03ba76fd8a4c87849e180"; 1748 + }; 1749 + 1750 + beamDeps = [ telemetry ]; 1751 + }; 1752 + 1779 1753 timex = buildMix rec { 1780 1754 name = "timex"; 1781 1755 version = "3.7.11"; ··· 1791 1765 1792 1766 tls_certificate_check = buildRebar3 rec { 1793 1767 name = "tls_certificate_check"; 1794 - version = "1.20.0"; 1768 + version = "1.21.0"; 1795 1769 1796 1770 src = fetchHex { 1797 1771 pkg = "tls_certificate_check"; 1798 1772 version = "${version}"; 1799 - sha256 = "ab57b74b1a63dc5775650699a3ec032ec0065005eff1f020818742b7312a8426"; 1773 + sha256 = "6cee6cffc35a390840d48d463541d50746a7b0e421acaadb833cfc7961e490e7"; 1800 1774 }; 1801 1775 1802 1776 beamDeps = [ ssl_verify_fun ]; ··· 1804 1778 1805 1779 tz_world = buildMix rec { 1806 1780 name = "tz_world"; 1807 - version = "1.3.1"; 1781 + version = "1.3.2"; 1808 1782 1809 1783 src = fetchHex { 1810 1784 pkg = "tz_world"; 1811 1785 version = "${version}"; 1812 - sha256 = "901ed2b4a4430ecab3765244da4a19e6f19141867c2ab3753924919b87ed2224"; 1786 + sha256 = "d1a345e07b3378c4c902ad54fbd5d54c8c3dd55dba883b7407fe57bcec45ff2a"; 1813 1787 }; 1814 1788 1815 1789 beamDeps = [ castore certifi geo jason ]; ··· 1830 1804 1831 1805 ueberauth = buildMix rec { 1832 1806 name = "ueberauth"; 1833 - version = "0.10.5"; 1807 + version = "0.10.8"; 1834 1808 1835 1809 src = fetchHex { 1836 1810 pkg = "ueberauth"; 1837 1811 version = "${version}"; 1838 - sha256 = "3efd1f31d490a125c7ed453b926f7c31d78b97b8a854c755f5c40064bf3ac9e1"; 1812 + sha256 = "f2d3172e52821375bccb8460e5fa5cb91cfd60b19b636b6e57e9759b6f8c10c1"; 1839 1813 }; 1840 1814 1841 1815 beamDeps = [ plug ]; ··· 2020 1994 sha256 = "4b977ba4a01918acbf77045ff88de7f6972c2a009213c515a445c48f224ffce9"; 2021 1995 }; 2022 1996 2023 - beamDeps = [ plug plug_cowboy websock ]; 1997 + beamDeps = [ bandit plug websock ]; 2024 1998 }; 2025 1999 2026 2000 xml_builder = buildMix rec {
+3 -3
pkgs/tools/filesystems/fuse-ext2/default.nix
··· 8 8 9 9 stdenv.mkDerivation (finalAttrs: { 10 10 pname = "fuse-ext2"; 11 - version = "unstable-2020-07-12"; 11 + version = "0.0.11"; 12 12 13 13 src = fetchFromGitHub { 14 14 owner = "alperakcan"; 15 15 repo = "fuse-ext2"; 16 - rev = "899f17c982dadcea13aa447c3a83c53b9431435a"; 17 - sha256 = "AE7Z+HePAy/h2TCNI9tsz6GVLdnE2AIOM3GnQzerKn8="; 16 + rev = "v${finalAttrs.version}"; 17 + hash = "sha256-VQMftlnd6q1PdwhSIQwjffjnkhupY8MUc8E+p1tgvUM="; 18 18 }; 19 19 20 20 patches = [
+18 -20
pkgs/tools/inputmethods/fcitx5/fcitx5-qt.nix
··· 1 1 { lib 2 - , mkDerivation 2 + , stdenv 3 3 , fetchFromGitHub 4 4 , cmake 5 5 , extra-cmake-modules 6 6 , fcitx5 7 - , qtx11extras 8 - , libxcb 9 - , libXdmcp 10 7 , qtbase 11 - , qt6 8 + , qtwayland 9 + , wrapQtAppsHook 12 10 , wayland 13 11 }: 14 - 15 - mkDerivation rec { 16 - pname = "fcitx5-qt"; 12 + let 13 + majorVersion = lib.versions.major qtbase.version; 14 + in 15 + stdenv.mkDerivation rec { 16 + pname = "fcitx5-qt${majorVersion}"; 17 17 version = "5.1.4"; 18 18 19 19 src = fetchFromGitHub { ··· 23 23 sha256 = "sha256-bVH2US/uEZGERslnAh/fyUbzR9fK1UfG4J+mOmrIE8Y="; 24 24 }; 25 25 26 - preConfigure = '' 27 - substituteInPlace qt5/platforminputcontext/CMakeLists.txt \ 28 - --replace \$"{CMAKE_INSTALL_QT5PLUGINDIR}" $out/${qtbase.qtPluginPrefix} 29 - substituteInPlace qt6/platforminputcontext/CMakeLists.txt \ 30 - --replace \$"{CMAKE_INSTALL_QT6PLUGINDIR}" $out/${qt6.qtbase.qtPluginPrefix} 26 + postPatch = '' 27 + substituteInPlace qt${majorVersion}/platforminputcontext/CMakeLists.txt \ 28 + --replace \$"{CMAKE_INSTALL_QT${majorVersion}PLUGINDIR}" $out/${qtbase.qtPluginPrefix} 31 29 ''; 32 30 33 31 cmakeFlags = [ 34 - # adding qt6 to buildInputs would result in error: detected mismatched Qt dependencies 35 - "-DCMAKE_PREFIX_PATH=${qt6.qtbase};${qt6.qtwayland}" 36 - "-DENABLE_QT4=0" 37 - "-DENABLE_QT6=1" 32 + "-DENABLE_QT4=OFF" 33 + "-DENABLE_QT5=OFF" 34 + "-DENABLE_QT6=OFF" 35 + "-DENABLE_QT${majorVersion}=ON" 38 36 ]; 39 37 40 38 nativeBuildInputs = [ 41 39 cmake 42 40 extra-cmake-modules 41 + wrapQtAppsHook 43 42 ]; 44 43 45 44 buildInputs = [ 45 + qtbase 46 + qtwayland 46 47 fcitx5 47 - qtx11extras 48 - libxcb 49 - libXdmcp 50 48 wayland 51 49 ]; 52 50
+4 -2
pkgs/tools/inputmethods/fcitx5/with-addons.nix
··· 4 4 , fcitx5 5 5 , withConfigtool ? true 6 6 , fcitx5-configtool 7 - , fcitx5-qt 7 + , libsForQt5 8 + , qt6Packages 8 9 , fcitx5-gtk 9 10 , addons ? [ ] 10 11 }: ··· 14 15 15 16 paths = [ 16 17 fcitx5 17 - fcitx5-qt 18 + libsForQt5.fcitx5-qt 19 + qt6Packages.fcitx5-qt 18 20 fcitx5-gtk 19 21 ] ++ lib.optionals withConfigtool [ 20 22 fcitx5-configtool
+1 -1
pkgs/top-level/all-packages.nix
··· 8044 8044 8045 8045 fcitx5 = libsForQt5.callPackage ../tools/inputmethods/fcitx5 { }; 8046 8046 8047 - fcitx5-with-addons = libsForQt5.callPackage ../tools/inputmethods/fcitx5/with-addons.nix { }; 8047 + fcitx5-with-addons = callPackage ../tools/inputmethods/fcitx5/with-addons.nix { }; 8048 8048 8049 8049 fcitx5-bamboo = callPackage ../tools/inputmethods/fcitx5/fcitx5-bamboo.nix { }; 8050 8050
+2
pkgs/top-level/qt6-packages.nix
··· 32 32 accounts-qt = callPackage ../development/libraries/accounts-qt { }; 33 33 appstream-qt = callPackage ../development/libraries/appstream/qt.nix { }; 34 34 35 + fcitx5-qt = callPackage ../tools/inputmethods/fcitx5/fcitx5-qt.nix { }; 36 + 35 37 kdsoap = callPackage ../development/libraries/kdsoap { }; 36 38 37 39 kcolorpicker = callPackage ../development/libraries/kcolorpicker { };