Merge master into staging-next

authored by github-actions[bot] and committed by GitHub bbaff9a0 cea1c3f0

+1354 -1013
+1
nixos/modules/module-list.nix
··· 347 347 ./services/continuous-integration/hercules-ci-agent/default.nix 348 348 ./services/continuous-integration/hydra/default.nix 349 349 ./services/continuous-integration/github-runner.nix 350 + ./services/continuous-integration/github-runners.nix 350 351 ./services/continuous-integration/gitlab-runner.nix 351 352 ./services/continuous-integration/gocd-agent/default.nix 352 353 ./services/continuous-integration/gocd-server/default.nix
+14 -387
nixos/modules/services/continuous-integration/github-runner.nix
··· 1 - { config, pkgs, lib, ... }: 1 + { config 2 + , pkgs 3 + , lib 4 + , ... 5 + }@args: 6 + 2 7 with lib; 8 + 3 9 let 4 10 cfg = config.services.github-runner; 5 - svcName = "github-runner"; 6 - systemdDir = "${svcName}/${cfg.name}"; 7 - # %t: Runtime directory root (usually /run); see systemd.unit(5) 8 - runtimeDir = "%t/${systemdDir}"; 9 - # %S: State directory root (usually /var/lib); see systemd.unit(5) 10 - stateDir = "%S/${systemdDir}"; 11 - # %L: Log directory root (usually /var/log); see systemd.unit(5) 12 - logsDir = "%L/${systemdDir}"; 13 - # Name of file stored in service state directory 14 - currentConfigTokenFilename = ".current-token"; 15 11 in 12 + 16 13 { 17 - options.services.github-runner = { 18 - enable = mkOption { 19 - default = false; 20 - example = true; 21 - description = lib.mdDoc '' 22 - Whether to enable GitHub Actions runner. 23 - 24 - Note: GitHub recommends using self-hosted runners with private repositories only. Learn more here: 25 - [About self-hosted runners](https://docs.github.com/en/actions/hosting-your-own-runners/about-self-hosted-runners). 26 - ''; 27 - type = lib.types.bool; 28 - }; 29 - 30 - url = mkOption { 31 - type = types.str; 32 - description = lib.mdDoc '' 33 - Repository to add the runner to. 34 - 35 - Changing this option triggers a new runner registration. 36 - 37 - IMPORTANT: If your token is org-wide (not per repository), you need to 38 - provide a github org link, not a single repository, so do it like this 39 - `https://github.com/nixos`, not like this 40 - `https://github.com/nixos/nixpkgs`. 41 - Otherwise, you are going to get a `404 NotFound` 42 - from `POST https://api.github.com/actions/runner-registration` 43 - in the configure script. 44 - ''; 45 - example = "https://github.com/nixos/nixpkgs"; 46 - }; 47 - 48 - tokenFile = mkOption { 49 - type = types.path; 50 - description = lib.mdDoc '' 51 - The full path to a file which contains either a runner registration token or a 52 - personal access token (PAT). 53 - The file should contain exactly one line with the token without any newline. 54 - If a registration token is given, it can be used to re-register a runner of the same 55 - name but is time-limited. If the file contains a PAT, the service creates a new 56 - registration token on startup as needed. Make sure the PAT has a scope of 57 - `admin:org` for organization-wide registrations or a scope of 58 - `repo` for a single repository. 59 - 60 - Changing this option or the file's content triggers a new runner registration. 61 - ''; 62 - example = "/run/secrets/github-runner/nixos.token"; 63 - }; 64 - 65 - name = mkOption { 66 - # Same pattern as for `networking.hostName` 67 - type = types.strMatching "^$|^[[:alnum:]]([[:alnum:]_-]{0,61}[[:alnum:]])?$"; 68 - description = lib.mdDoc '' 69 - Name of the runner to configure. Defaults to the hostname. 70 - 71 - Changing this option triggers a new runner registration. 72 - ''; 73 - example = "nixos"; 74 - default = config.networking.hostName; 75 - defaultText = literalExpression "config.networking.hostName"; 76 - }; 77 - 78 - runnerGroup = mkOption { 79 - type = types.nullOr types.str; 80 - description = lib.mdDoc '' 81 - Name of the runner group to add this runner to (defaults to the default runner group). 82 - 83 - Changing this option triggers a new runner registration. 84 - ''; 85 - default = null; 86 - }; 87 - 88 - extraLabels = mkOption { 89 - type = types.listOf types.str; 90 - description = lib.mdDoc '' 91 - Extra labels in addition to the default (`["self-hosted", "Linux", "X64"]`). 92 - 93 - Changing this option triggers a new runner registration. 94 - ''; 95 - example = literalExpression ''[ "nixos" ]''; 96 - default = [ ]; 97 - }; 98 - 99 - replace = mkOption { 100 - type = types.bool; 101 - description = lib.mdDoc '' 102 - Replace any existing runner with the same name. 103 - 104 - Without this flag, registering a new runner with the same name fails. 105 - ''; 106 - default = false; 107 - }; 108 - 109 - extraPackages = mkOption { 110 - type = types.listOf types.package; 111 - description = lib.mdDoc '' 112 - Extra packages to add to `PATH` of the service to make them available to workflows. 113 - ''; 114 - default = [ ]; 115 - }; 116 - 117 - package = mkOption { 118 - type = types.package; 119 - description = lib.mdDoc '' 120 - Which github-runner derivation to use. 121 - ''; 122 - default = pkgs.github-runner; 123 - defaultText = literalExpression "pkgs.github-runner"; 124 - }; 125 - 126 - ephemeral = mkOption { 127 - type = types.bool; 128 - description = lib.mdDoc '' 129 - If enabled, causes the following behavior: 130 - 131 - - Passes the `--ephemeral` flag to the runner configuration script 132 - - De-registers and stops the runner with GitHub after it has processed one job 133 - - On stop, systemd wipes the runtime directory (this always happens, even without using the ephemeral option) 134 - - Restarts the service after its successful exit 135 - - On start, wipes the state directory and configures a new runner 136 - 137 - You should only enable this option if `tokenFile` points to a file which contains a 138 - personal access token (PAT). If you're using the option with a registration token, restarting the 139 - service will fail as soon as the registration token expired. 140 - ''; 141 - default = false; 142 - }; 143 - }; 14 + options.services.github-runner = import ./github-runner/options.nix (args // { 15 + # Users don't need to specify options.services.github-runner.name; it will default 16 + # to the hostname. 17 + includeNameDefault = true; 18 + }); 144 19 145 20 config = mkIf cfg.enable { 146 - warnings = optionals (isStorePath cfg.tokenFile) [ 147 - '' 148 - `services.github-runner.tokenFile` points to the Nix store and, therefore, is world-readable. 149 - Consider using a path outside of the Nix store to keep the token private. 150 - '' 151 - ]; 152 - 153 - systemd.services.${svcName} = { 154 - description = "GitHub Actions runner"; 155 - 156 - wantedBy = [ "multi-user.target" ]; 157 - wants = [ "network-online.target" ]; 158 - after = [ "network.target" "network-online.target" ]; 159 - 160 - environment = { 161 - HOME = runtimeDir; 162 - RUNNER_ROOT = stateDir; 163 - }; 164 - 165 - path = (with pkgs; [ 166 - bash 167 - coreutils 168 - git 169 - gnutar 170 - gzip 171 - ]) ++ [ 172 - config.nix.package 173 - ] ++ cfg.extraPackages; 174 - 175 - serviceConfig = rec { 176 - ExecStart = "${cfg.package}/bin/Runner.Listener run --startuptype service"; 177 - 178 - # Does the following, sequentially: 179 - # - If the module configuration or the token has changed, purge the state directory, 180 - # and create the current and the new token file with the contents of the configured 181 - # token. While both files have the same content, only the later is accessible by 182 - # the service user. 183 - # - Configure the runner using the new token file. When finished, delete it. 184 - # - Set up the directory structure by creating the necessary symlinks. 185 - ExecStartPre = 186 - let 187 - # Wrapper script which expects the full path of the state, runtime and logs 188 - # directory as arguments. Overrides the respective systemd variables to provide 189 - # unambiguous directory names. This becomes relevant, for example, if the 190 - # caller overrides any of the StateDirectory=, RuntimeDirectory= or LogDirectory= 191 - # to contain more than one directory. This causes systemd to set the respective 192 - # environment variables with the path of all of the given directories, separated 193 - # by a colon. 194 - writeScript = name: lines: pkgs.writeShellScript "${svcName}-${name}.sh" '' 195 - set -euo pipefail 196 - 197 - STATE_DIRECTORY="$1" 198 - RUNTIME_DIRECTORY="$2" 199 - LOGS_DIRECTORY="$3" 200 - 201 - ${lines} 202 - ''; 203 - runnerRegistrationConfig = getAttrs [ "name" "tokenFile" "url" "runnerGroup" "extraLabels" "ephemeral" ] cfg; 204 - newConfigPath = builtins.toFile "${svcName}-config.json" (builtins.toJSON runnerRegistrationConfig); 205 - currentConfigPath = "$STATE_DIRECTORY/.nixos-current-config.json"; 206 - newConfigTokenPath= "$STATE_DIRECTORY/.new-token"; 207 - currentConfigTokenPath = "$STATE_DIRECTORY/${currentConfigTokenFilename}"; 208 - 209 - runnerCredFiles = [ 210 - ".credentials" 211 - ".credentials_rsaparams" 212 - ".runner" 213 - ]; 214 - unconfigureRunner = writeScript "unconfigure" '' 215 - copy_tokens() { 216 - # Copy the configured token file to the state dir and allow the service user to read the file 217 - install --mode=666 ${escapeShellArg cfg.tokenFile} "${newConfigTokenPath}" 218 - # Also copy current file to allow for a diff on the next start 219 - install --mode=600 ${escapeShellArg cfg.tokenFile} "${currentConfigTokenPath}" 220 - } 221 - 222 - clean_state() { 223 - find "$STATE_DIRECTORY/" -mindepth 1 -delete 224 - copy_tokens 225 - } 226 - 227 - diff_config() { 228 - changed=0 229 - 230 - # Check for module config changes 231 - [[ -f "${currentConfigPath}" ]] \ 232 - && ${pkgs.diffutils}/bin/diff -q '${newConfigPath}' "${currentConfigPath}" >/dev/null 2>&1 \ 233 - || changed=1 234 - 235 - # Also check the content of the token file 236 - [[ -f "${currentConfigTokenPath}" ]] \ 237 - && ${pkgs.diffutils}/bin/diff -q "${currentConfigTokenPath}" ${escapeShellArg cfg.tokenFile} >/dev/null 2>&1 \ 238 - || changed=1 239 - 240 - # If the config has changed, remove old state and copy tokens 241 - if [[ "$changed" -eq 1 ]]; then 242 - echo "Config has changed, removing old runner state." 243 - echo "The old runner will still appear in the GitHub Actions UI." \ 244 - "You have to remove it manually." 245 - clean_state 246 - fi 247 - } 248 - 249 - if [[ "${optionalString cfg.ephemeral "1"}" ]]; then 250 - # In ephemeral mode, we always want to start with a clean state 251 - clean_state 252 - elif [[ "$(ls -A "$STATE_DIRECTORY")" ]]; then 253 - # There are state files from a previous run; diff them to decide if we need a new registration 254 - diff_config 255 - else 256 - # The state directory is entirely empty which indicates a first start 257 - copy_tokens 258 - fi 259 - ''; 260 - configureRunner = writeScript "configure" '' 261 - if [[ -e "${newConfigTokenPath}" ]]; then 262 - echo "Configuring GitHub Actions Runner" 263 - 264 - args=( 265 - --unattended 266 - --disableupdate 267 - --work "$RUNTIME_DIRECTORY" 268 - --url ${escapeShellArg cfg.url} 269 - --labels ${escapeShellArg (concatStringsSep "," cfg.extraLabels)} 270 - --name ${escapeShellArg cfg.name} 271 - ${optionalString cfg.replace "--replace"} 272 - ${optionalString (cfg.runnerGroup != null) "--runnergroup ${escapeShellArg cfg.runnerGroup}"} 273 - ${optionalString cfg.ephemeral "--ephemeral"} 274 - ) 275 - 276 - # If the token file contains a PAT (i.e., it starts with "ghp_"), we have to use the --pat option, 277 - # if it is not a PAT, we assume it contains a registration token and use the --token option 278 - token=$(<"${newConfigTokenPath}") 279 - if [[ "$token" =~ ^ghp_* ]]; then 280 - args+=(--pat "$token") 281 - else 282 - args+=(--token "$token") 283 - fi 284 - 285 - ${cfg.package}/bin/config.sh "''${args[@]}" 286 - 287 - # Move the automatically created _diag dir to the logs dir 288 - mkdir -p "$STATE_DIRECTORY/_diag" 289 - cp -r "$STATE_DIRECTORY/_diag/." "$LOGS_DIRECTORY/" 290 - rm -rf "$STATE_DIRECTORY/_diag/" 291 - 292 - # Cleanup token from config 293 - rm "${newConfigTokenPath}" 294 - 295 - # Symlink to new config 296 - ln -s '${newConfigPath}' "${currentConfigPath}" 297 - fi 298 - ''; 299 - setupRuntimeDir = writeScript "setup-runtime-dirs" '' 300 - # Link _diag dir 301 - ln -s "$LOGS_DIRECTORY" "$RUNTIME_DIRECTORY/_diag" 302 - 303 - # Link the runner credentials to the runtime dir 304 - ln -s "$STATE_DIRECTORY"/{${lib.concatStringsSep "," runnerCredFiles}} "$RUNTIME_DIRECTORY/" 305 - ''; 306 - in 307 - map (x: "${x} ${escapeShellArgs [ stateDir runtimeDir logsDir ]}") [ 308 - "+${unconfigureRunner}" # runs as root 309 - configureRunner 310 - setupRuntimeDir 311 - ]; 312 - 313 - # If running in ephemeral mode, restart the service on-exit (i.e., successful de-registration of the runner) 314 - # to trigger a fresh registration. 315 - Restart = if cfg.ephemeral then "on-success" else "no"; 316 - 317 - # Contains _diag 318 - LogsDirectory = [ systemdDir ]; 319 - # Default RUNNER_ROOT which contains ephemeral Runner data 320 - RuntimeDirectory = [ systemdDir ]; 321 - # Home of persistent runner data, e.g., credentials 322 - StateDirectory = [ systemdDir ]; 323 - StateDirectoryMode = "0700"; 324 - WorkingDirectory = runtimeDir; 325 - 326 - InaccessiblePaths = [ 327 - # Token file path given in the configuration, if visible to the service 328 - "-${cfg.tokenFile}" 329 - # Token file in the state directory 330 - "${stateDir}/${currentConfigTokenFilename}" 331 - ]; 332 - 333 - # By default, use a dynamically allocated user 334 - DynamicUser = true; 335 - 336 - KillSignal = "SIGINT"; 337 - 338 - # Hardening (may overlap with DynamicUser=) 339 - # The following options are only for optimizing: 340 - # systemd-analyze security github-runner 341 - AmbientCapabilities = ""; 342 - CapabilityBoundingSet = ""; 343 - # ProtectClock= adds DeviceAllow=char-rtc r 344 - DeviceAllow = ""; 345 - NoNewPrivileges = true; 346 - PrivateDevices = true; 347 - PrivateMounts = true; 348 - PrivateTmp = true; 349 - PrivateUsers = true; 350 - ProtectClock = true; 351 - ProtectControlGroups = true; 352 - ProtectHome = true; 353 - ProtectHostname = true; 354 - ProtectKernelLogs = true; 355 - ProtectKernelModules = true; 356 - ProtectKernelTunables = true; 357 - ProtectSystem = "strict"; 358 - RemoveIPC = true; 359 - RestrictNamespaces = true; 360 - RestrictRealtime = true; 361 - RestrictSUIDSGID = true; 362 - UMask = "0066"; 363 - ProtectProc = "invisible"; 364 - SystemCallFilter = [ 365 - "~@clock" 366 - "~@cpu-emulation" 367 - "~@module" 368 - "~@mount" 369 - "~@obsolete" 370 - "~@raw-io" 371 - "~@reboot" 372 - "~capset" 373 - "~setdomainname" 374 - "~sethostname" 375 - ]; 376 - RestrictAddressFamilies = [ "AF_INET" "AF_INET6" "AF_UNIX" "AF_NETLINK" ]; 377 - 378 - # Needs network access 379 - PrivateNetwork = false; 380 - # Cannot be true due to Node 381 - MemoryDenyWriteExecute = false; 382 - 383 - # The more restrictive "pid" option makes `nix` commands in CI emit 384 - # "GC Warning: Couldn't read /proc/stat" 385 - # You may want to set this to "pid" if not using `nix` commands 386 - ProcSubset = "all"; 387 - # Coverage programs for compiled code such as `cargo-tarpaulin` disable 388 - # ASLR (address space layout randomization) which requires the 389 - # `personality` syscall 390 - # You may want to set this to `true` if not using coverage tooling on 391 - # compiled code 392 - LockPersonality = false; 393 - }; 394 - }; 21 + services.github-runners.${cfg.name} = cfg; 395 22 }; 396 23 }
+172
nixos/modules/services/continuous-integration/github-runner/options.nix
··· 1 + { config 2 + , lib 3 + , pkgs 4 + , includeNameDefault 5 + , ... 6 + }: 7 + 8 + with lib; 9 + 10 + { 11 + enable = mkOption { 12 + default = false; 13 + example = true; 14 + description = lib.mdDoc '' 15 + Whether to enable GitHub Actions runner. 16 + 17 + Note: GitHub recommends using self-hosted runners with private repositories only. Learn more here: 18 + [About self-hosted runners](https://docs.github.com/en/actions/hosting-your-own-runners/about-self-hosted-runners). 19 + ''; 20 + type = lib.types.bool; 21 + }; 22 + 23 + url = mkOption { 24 + type = types.str; 25 + description = lib.mdDoc '' 26 + Repository to add the runner to. 27 + 28 + Changing this option triggers a new runner registration. 29 + 30 + IMPORTANT: If your token is org-wide (not per repository), you need to 31 + provide a github org link, not a single repository, so do it like this 32 + `https://github.com/nixos`, not like this 33 + `https://github.com/nixos/nixpkgs`. 34 + Otherwise, you are going to get a `404 NotFound` 35 + from `POST https://api.github.com/actions/runner-registration` 36 + in the configure script. 37 + ''; 38 + example = "https://github.com/nixos/nixpkgs"; 39 + }; 40 + 41 + tokenFile = mkOption { 42 + type = types.path; 43 + description = lib.mdDoc '' 44 + The full path to a file which contains either a runner registration token or a 45 + personal access token (PAT). 46 + The file should contain exactly one line with the token without any newline. 47 + If a registration token is given, it can be used to re-register a runner of the same 48 + name but is time-limited. If the file contains a PAT, the service creates a new 49 + registration token on startup as needed. Make sure the PAT has a scope of 50 + `admin:org` for organization-wide registrations or a scope of 51 + `repo` for a single repository. 52 + 53 + Changing this option or the file's content triggers a new runner registration. 54 + ''; 55 + example = "/run/secrets/github-runner/nixos.token"; 56 + }; 57 + 58 + name = let 59 + # Same pattern as for `networking.hostName` 60 + baseType = types.strMatching "^$|^[[:alnum:]]([[:alnum:]_-]{0,61}[[:alnum:]])?$"; 61 + in mkOption { 62 + type = if includeNameDefault then baseType else types.nullOr baseType; 63 + description = lib.mdDoc '' 64 + Name of the runner to configure. Defaults to the hostname. 65 + 66 + Changing this option triggers a new runner registration. 67 + ''; 68 + example = "nixos"; 69 + } // (if includeNameDefault then { 70 + default = config.networking.hostName; 71 + defaultText = literalExpression "config.networking.hostName"; 72 + } else { 73 + default = null; 74 + }); 75 + 76 + runnerGroup = mkOption { 77 + type = types.nullOr types.str; 78 + description = lib.mdDoc '' 79 + Name of the runner group to add this runner to (defaults to the default runner group). 80 + 81 + Changing this option triggers a new runner registration. 82 + ''; 83 + default = null; 84 + }; 85 + 86 + extraLabels = mkOption { 87 + type = types.listOf types.str; 88 + description = lib.mdDoc '' 89 + Extra labels in addition to the default (`["self-hosted", "Linux", "X64"]`). 90 + 91 + Changing this option triggers a new runner registration. 92 + ''; 93 + example = literalExpression ''[ "nixos" ]''; 94 + default = [ ]; 95 + }; 96 + 97 + replace = mkOption { 98 + type = types.bool; 99 + description = lib.mdDoc '' 100 + Replace any existing runner with the same name. 101 + 102 + Without this flag, registering a new runner with the same name fails. 103 + ''; 104 + default = false; 105 + }; 106 + 107 + extraPackages = mkOption { 108 + type = types.listOf types.package; 109 + description = lib.mdDoc '' 110 + Extra packages to add to `PATH` of the service to make them available to workflows. 111 + ''; 112 + default = [ ]; 113 + }; 114 + 115 + extraEnvironment = mkOption { 116 + type = types.attrs; 117 + description = lib.mdDoc '' 118 + Extra environment variables to set for the runner, as an attrset. 119 + ''; 120 + example = { 121 + GIT_CONFIG = "/path/to/git/config"; 122 + }; 123 + default = {}; 124 + }; 125 + 126 + serviceOverrides = mkOption { 127 + type = types.attrs; 128 + description = lib.mdDoc '' 129 + Overrides for the systemd service. Can be used to adjust the sandboxing options. 130 + ''; 131 + example = { 132 + ProtectHome = false; 133 + }; 134 + default = {}; 135 + }; 136 + 137 + package = mkOption { 138 + type = types.package; 139 + description = lib.mdDoc '' 140 + Which github-runner derivation to use. 141 + ''; 142 + default = pkgs.github-runner; 143 + defaultText = literalExpression "pkgs.github-runner"; 144 + }; 145 + 146 + ephemeral = mkOption { 147 + type = types.bool; 148 + description = lib.mdDoc '' 149 + If enabled, causes the following behavior: 150 + 151 + - Passes the `--ephemeral` flag to the runner configuration script 152 + - De-registers and stops the runner with GitHub after it has processed one job 153 + - On stop, systemd wipes the runtime directory (this always happens, even without using the ephemeral option) 154 + - Restarts the service after its successful exit 155 + - On start, wipes the state directory and configures a new runner 156 + 157 + You should only enable this option if `tokenFile` points to a file which contains a 158 + personal access token (PAT). If you're using the option with a registration token, restarting the 159 + service will fail as soon as the registration token expired. 160 + ''; 161 + default = false; 162 + }; 163 + 164 + user = mkOption { 165 + type = types.nullOr types.str; 166 + description = lib.mdDoc '' 167 + User under which to run the service. If null, will use a systemd dynamic user. 168 + ''; 169 + default = null; 170 + defaultText = literalExpression "username"; 171 + }; 172 + }
+254
nixos/modules/services/continuous-integration/github-runner/service.nix
··· 1 + { config 2 + , lib 3 + , pkgs 4 + 5 + , cfg ? config.services.github-runner 6 + , svcName 7 + 8 + , systemdDir ? "${svcName}/${cfg.name}" 9 + # %t: Runtime directory root (usually /run); see systemd.unit(5) 10 + , runtimeDir ? "%t/${systemdDir}" 11 + # %S: State directory root (usually /var/lib); see systemd.unit(5) 12 + , stateDir ? "%S/${systemdDir}" 13 + # %L: Log directory root (usually /var/log); see systemd.unit(5) 14 + , logsDir ? "%L/${systemdDir}" 15 + # Name of file stored in service state directory 16 + , currentConfigTokenFilename ? ".current-token" 17 + 18 + , ... 19 + }: 20 + 21 + with lib; 22 + 23 + { 24 + description = "GitHub Actions runner"; 25 + 26 + wantedBy = [ "multi-user.target" ]; 27 + wants = [ "network-online.target" ]; 28 + after = [ "network.target" "network-online.target" ]; 29 + 30 + environment = { 31 + HOME = runtimeDir; 32 + RUNNER_ROOT = stateDir; 33 + } // cfg.extraEnvironment; 34 + 35 + path = (with pkgs; [ 36 + bash 37 + coreutils 38 + git 39 + gnutar 40 + gzip 41 + ]) ++ [ 42 + config.nix.package 43 + ] ++ cfg.extraPackages; 44 + 45 + serviceConfig = rec { 46 + ExecStart = "${cfg.package}/bin/Runner.Listener run --startuptype service"; 47 + 48 + # Does the following, sequentially: 49 + # - If the module configuration or the token has changed, purge the state directory, 50 + # and create the current and the new token file with the contents of the configured 51 + # token. While both files have the same content, only the later is accessible by 52 + # the service user. 53 + # - Configure the runner using the new token file. When finished, delete it. 54 + # - Set up the directory structure by creating the necessary symlinks. 55 + ExecStartPre = 56 + let 57 + # Wrapper script which expects the full path of the state, runtime and logs 58 + # directory as arguments. Overrides the respective systemd variables to provide 59 + # unambiguous directory names. This becomes relevant, for example, if the 60 + # caller overrides any of the StateDirectory=, RuntimeDirectory= or LogDirectory= 61 + # to contain more than one directory. This causes systemd to set the respective 62 + # environment variables with the path of all of the given directories, separated 63 + # by a colon. 64 + writeScript = name: lines: pkgs.writeShellScript "${svcName}-${name}.sh" '' 65 + set -euo pipefail 66 + 67 + STATE_DIRECTORY="$1" 68 + RUNTIME_DIRECTORY="$2" 69 + LOGS_DIRECTORY="$3" 70 + 71 + ${lines} 72 + ''; 73 + runnerRegistrationConfig = getAttrs [ "name" "tokenFile" "url" "runnerGroup" "extraLabels" "ephemeral" ] cfg; 74 + newConfigPath = builtins.toFile "${svcName}-config.json" (builtins.toJSON runnerRegistrationConfig); 75 + currentConfigPath = "$STATE_DIRECTORY/.nixos-current-config.json"; 76 + newConfigTokenPath= "$STATE_DIRECTORY/.new-token"; 77 + currentConfigTokenPath = "$STATE_DIRECTORY/${currentConfigTokenFilename}"; 78 + 79 + runnerCredFiles = [ 80 + ".credentials" 81 + ".credentials_rsaparams" 82 + ".runner" 83 + ]; 84 + unconfigureRunner = writeScript "unconfigure" '' 85 + copy_tokens() { 86 + # Copy the configured token file to the state dir and allow the service user to read the file 87 + install --mode=666 ${escapeShellArg cfg.tokenFile} "${newConfigTokenPath}" 88 + # Also copy current file to allow for a diff on the next start 89 + install --mode=600 ${escapeShellArg cfg.tokenFile} "${currentConfigTokenPath}" 90 + } 91 + clean_state() { 92 + find "$STATE_DIRECTORY/" -mindepth 1 -delete 93 + copy_tokens 94 + } 95 + diff_config() { 96 + changed=0 97 + # Check for module config changes 98 + [[ -f "${currentConfigPath}" ]] \ 99 + && ${pkgs.diffutils}/bin/diff -q '${newConfigPath}' "${currentConfigPath}" >/dev/null 2>&1 \ 100 + || changed=1 101 + # Also check the content of the token file 102 + [[ -f "${currentConfigTokenPath}" ]] \ 103 + && ${pkgs.diffutils}/bin/diff -q "${currentConfigTokenPath}" ${escapeShellArg cfg.tokenFile} >/dev/null 2>&1 \ 104 + || changed=1 105 + # If the config has changed, remove old state and copy tokens 106 + if [[ "$changed" -eq 1 ]]; then 107 + echo "Config has changed, removing old runner state." 108 + echo "The old runner will still appear in the GitHub Actions UI." \ 109 + "You have to remove it manually." 110 + clean_state 111 + fi 112 + } 113 + if [[ "${optionalString cfg.ephemeral "1"}" ]]; then 114 + # In ephemeral mode, we always want to start with a clean state 115 + clean_state 116 + elif [[ "$(ls -A "$STATE_DIRECTORY")" ]]; then 117 + # There are state files from a previous run; diff them to decide if we need a new registration 118 + diff_config 119 + else 120 + # The state directory is entirely empty which indicates a first start 121 + copy_tokens 122 + fi ''; 123 + configureRunner = writeScript "configure" '' 124 + if [[ -e "${newConfigTokenPath}" ]]; then 125 + echo "Configuring GitHub Actions Runner" 126 + args=( 127 + --unattended 128 + --disableupdate 129 + --work "$RUNTIME_DIRECTORY" 130 + --url ${escapeShellArg cfg.url} 131 + --labels ${escapeShellArg (concatStringsSep "," cfg.extraLabels)} 132 + --name ${escapeShellArg cfg.name} 133 + ${optionalString cfg.replace "--replace"} 134 + ${optionalString (cfg.runnerGroup != null) "--runnergroup ${escapeShellArg cfg.runnerGroup}"} 135 + ${optionalString cfg.ephemeral "--ephemeral"} 136 + ) 137 + # If the token file contains a PAT (i.e., it starts with "ghp_"), we have to use the --pat option, 138 + # if it is not a PAT, we assume it contains a registration token and use the --token option 139 + token=$(<"${newConfigTokenPath}") 140 + if [[ "$token" =~ ^ghp_* ]]; then 141 + args+=(--pat "$token") 142 + else 143 + args+=(--token "$token") 144 + fi 145 + ${cfg.package}/bin/config.sh "''${args[@]}" 146 + # Move the automatically created _diag dir to the logs dir 147 + mkdir -p "$STATE_DIRECTORY/_diag" 148 + cp -r "$STATE_DIRECTORY/_diag/." "$LOGS_DIRECTORY/" 149 + rm -rf "$STATE_DIRECTORY/_diag/" 150 + # Cleanup token from config 151 + rm "${newConfigTokenPath}" 152 + # Symlink to new config 153 + ln -s '${newConfigPath}' "${currentConfigPath}" 154 + fi 155 + ''; 156 + setupRuntimeDir = writeScript "setup-runtime-dirs" '' 157 + # Link _diag dir 158 + ln -s "$LOGS_DIRECTORY" "$RUNTIME_DIRECTORY/_diag" 159 + 160 + # Link the runner credentials to the runtime dir 161 + ln -s "$STATE_DIRECTORY"/{${lib.concatStringsSep "," runnerCredFiles}} "$RUNTIME_DIRECTORY/" 162 + ''; 163 + in 164 + map (x: "${x} ${escapeShellArgs [ stateDir runtimeDir logsDir ]}") [ 165 + "+${unconfigureRunner}" # runs as root 166 + configureRunner 167 + setupRuntimeDir 168 + ]; 169 + 170 + # If running in ephemeral mode, restart the service on-exit (i.e., successful de-registration of the runner) 171 + # to trigger a fresh registration. 172 + Restart = if cfg.ephemeral then "on-success" else "no"; 173 + 174 + # Contains _diag 175 + LogsDirectory = [ systemdDir ]; 176 + # Default RUNNER_ROOT which contains ephemeral Runner data 177 + RuntimeDirectory = [ systemdDir ]; 178 + # Home of persistent runner data, e.g., credentials 179 + StateDirectory = [ systemdDir ]; 180 + StateDirectoryMode = "0700"; 181 + WorkingDirectory = runtimeDir; 182 + 183 + InaccessiblePaths = [ 184 + # Token file path given in the configuration, if visible to the service 185 + "-${cfg.tokenFile}" 186 + # Token file in the state directory 187 + "${stateDir}/${currentConfigTokenFilename}" 188 + ]; 189 + 190 + KillSignal = "SIGINT"; 191 + 192 + # Hardening (may overlap with DynamicUser=) 193 + # The following options are only for optimizing: 194 + # systemd-analyze security github-runner 195 + AmbientCapabilities = ""; 196 + CapabilityBoundingSet = ""; 197 + # ProtectClock= adds DeviceAllow=char-rtc r 198 + DeviceAllow = ""; 199 + NoNewPrivileges = true; 200 + PrivateDevices = true; 201 + PrivateMounts = true; 202 + PrivateTmp = true; 203 + PrivateUsers = true; 204 + ProtectClock = true; 205 + ProtectControlGroups = true; 206 + ProtectHome = true; 207 + ProtectHostname = true; 208 + ProtectKernelLogs = true; 209 + ProtectKernelModules = true; 210 + ProtectKernelTunables = true; 211 + ProtectSystem = "strict"; 212 + RemoveIPC = true; 213 + RestrictNamespaces = true; 214 + RestrictRealtime = true; 215 + RestrictSUIDSGID = true; 216 + UMask = "0066"; 217 + ProtectProc = "invisible"; 218 + SystemCallFilter = [ 219 + "~@clock" 220 + "~@cpu-emulation" 221 + "~@module" 222 + "~@mount" 223 + "~@obsolete" 224 + "~@raw-io" 225 + "~@reboot" 226 + "~capset" 227 + "~setdomainname" 228 + "~sethostname" 229 + ]; 230 + RestrictAddressFamilies = [ "AF_INET" "AF_INET6" "AF_UNIX" "AF_NETLINK" ]; 231 + 232 + # Needs network access 233 + PrivateNetwork = false; 234 + # Cannot be true due to Node 235 + MemoryDenyWriteExecute = false; 236 + 237 + # The more restrictive "pid" option makes `nix` commands in CI emit 238 + # "GC Warning: Couldn't read /proc/stat" 239 + # You may want to set this to "pid" if not using `nix` commands 240 + ProcSubset = "all"; 241 + # Coverage programs for compiled code such as `cargo-tarpaulin` disable 242 + # ASLR (address space layout randomization) which requires the 243 + # `personality` syscall 244 + # You may want to set this to `true` if not using coverage tooling on 245 + # compiled code 246 + LockPersonality = false; 247 + 248 + # Note that this has some interactions with the User setting; so you may 249 + # want to consult the systemd docs if using both. 250 + DynamicUser = true; 251 + } // ( 252 + lib.optionalAttrs (cfg.user != null) { User = cfg.user; } 253 + ) // cfg.serviceOverrides; 254 + }
+56
nixos/modules/services/continuous-integration/github-runners.nix
··· 1 + { config 2 + , pkgs 3 + , lib 4 + , ... 5 + }@args: 6 + 7 + with lib; 8 + 9 + let 10 + cfg = config.services.github-runners; 11 + 12 + in 13 + 14 + { 15 + options.services.github-runners = mkOption { 16 + default = {}; 17 + type = with types; attrsOf (submodule { options = import ./github-runner/options.nix (args // { 18 + # services.github-runners.${name}.name doesn't have a default; it falls back to ${name} below. 19 + includeNameDefault = false; 20 + }); }); 21 + example = { 22 + runner1 = { 23 + enable = true; 24 + url = "https://github.com/owner/repo"; 25 + name = "runner1"; 26 + tokenFile = "/secrets/token1"; 27 + }; 28 + 29 + runner2 = { 30 + enable = true; 31 + url = "https://github.com/owner/repo"; 32 + name = "runner2"; 33 + tokenFile = "/secrets/token2"; 34 + }; 35 + }; 36 + description = lib.mdDoc '' 37 + Multiple GitHub Runners. 38 + ''; 39 + }; 40 + 41 + config = { 42 + systemd.services = flip mapAttrs' cfg (n: v: 43 + let 44 + svcName = "github-runner-${n}"; 45 + in 46 + nameValuePair svcName 47 + (import ./github-runner/service.nix (args // { 48 + inherit svcName; 49 + cfg = v // { 50 + name = if v.name != null then v.name else n; 51 + }; 52 + systemdDir = "github-runner/${n}"; 53 + })) 54 + ); 55 + }; 56 + }
+1 -1
pkgs/applications/emulators/retroarch/cores.nix
··· 55 55 , stdenvOverride ? stdenv 56 56 , src ? (getCoreSrc core) 57 57 , broken ? false 58 - , version ? "unstable-2022-10-01" 58 + , version ? "unstable-2022-10-18" 59 59 , platforms ? retroarch.meta.platforms 60 60 # The resulting core file is based on core name 61 61 # Setting `normalizeCore` to `true` will convert `-` to `_` on the core filename
+56 -37
pkgs/applications/emulators/retroarch/default.nix
··· 4 4 , enableNvidiaCgToolkit ? false 5 5 , withGamemode ? stdenv.isLinux 6 6 , withVulkan ? stdenv.isLinux 7 + , withWayland ? stdenv.isLinux 7 8 , alsa-lib 8 9 , AppKit 9 10 , dbus ··· 33 34 , udev 34 35 , vulkan-loader 35 36 , wayland 36 - , which 37 37 }: 38 38 39 39 let 40 - version = "1.11.0"; 40 + version = "1.12.0"; 41 41 libretroCoreInfo = fetchFromGitHub { 42 42 owner = "libretro"; 43 43 repo = "libretro-core-info"; 44 - sha256 = "sha256-46T87BpzWUQHD7CsCF2sZo065Sl8Y4Sj1zwzBWmCiiU="; 45 - rev = "v${version}"; 44 + sha256 = "sha256-9Sfp/JkMJIe34YGNRxf93fONOBuQxR2pduoJU+xtuF0="; 45 + # Upstream didn't tag a new libretro-core-info in 1.12.0 release 46 + rev = "v1.11.1"; 46 47 }; 47 - runtimeLibs = lib.optional withVulkan vulkan-loader 48 - ++ lib.optional withGamemode gamemode.lib; 48 + runtimeLibs = 49 + lib.optional withVulkan vulkan-loader ++ 50 + lib.optional withGamemode (lib.getLib gamemode); 49 51 in 50 52 stdenv.mkDerivation rec { 51 53 pname = "retroarch-bare"; ··· 54 56 src = fetchFromGitHub { 55 57 owner = "libretro"; 56 58 repo = "RetroArch"; 57 - sha256 = "sha256-/rOf85TQTXbY9kIETaO5E58f2ZvKPqEFLsbNne/+/lw="; 59 + sha256 = "sha256-doLWNA8aTAllxx3zABtvZaegBQEPIi8276zbytPSdBU="; 58 60 rev = "v${version}"; 59 61 }; 60 62 61 63 patches = [ 62 - ./disable-menu_show_core_updater.patch 63 - ./use-fixed-paths-on-libretro_info_path.patch 64 + ./use-fixed-paths.patch 64 65 ]; 65 66 66 67 postPatch = '' 67 68 substituteInPlace "frontend/drivers/platform_unix.c" \ 68 - --replace "@libretro_directory@" "$out/lib" \ 69 - --replace "@libretro_info_path@" "$out/share/libretro/info" 69 + --subst-var-by libretro_directory "$out/lib" \ 70 + --subst-var-by libretro_info_path "$out/share/libretro/info" \ 71 + --subst-var-by out "$out" 70 72 substituteInPlace "frontend/drivers/platform_darwin.m" \ 71 - --replace "@libretro_directory@" "$out/lib" \ 72 - --replace "@libretro_info_path@" "$out/share/libretro/info" 73 + --subst-var-by libretro_directory "$out/lib" \ 74 + --subst-var-by libretro_info_path "$out/share/libretro/info" 73 75 ''; 74 76 75 77 nativeBuildInputs = [ pkg-config ] ++ 76 - lib.optional stdenv.isLinux wayland ++ 78 + lib.optional withWayland wayland ++ 77 79 lib.optional (runtimeLibs != [ ]) makeWrapper; 78 80 79 - buildInputs = [ ffmpeg_4 freetype libxml2 libGLU libGL python3 SDL2 which ] ++ 80 - lib.optional enableNvidiaCgToolkit nvidia_cg_toolkit ++ 81 - lib.optional withVulkan vulkan-loader ++ 82 - lib.optionals stdenv.isDarwin [ libobjc AppKit Foundation ] ++ 83 - lib.optionals stdenv.isLinux [ 84 - alsa-lib 85 - dbus 86 - libX11 87 - libXdmcp 88 - libXext 89 - libXxf86vm 90 - libdrm 91 - libpulseaudio 92 - libv4l 93 - libxkbcommon 94 - mesa 95 - udev 96 - wayland 97 - ]; 81 + buildInputs = [ 82 + ffmpeg_4 83 + freetype 84 + libGL 85 + libGLU 86 + libxml2 87 + python3 88 + SDL2 89 + ] ++ 90 + lib.optional enableNvidiaCgToolkit nvidia_cg_toolkit ++ 91 + lib.optional withVulkan vulkan-loader ++ 92 + lib.optional withWayland wayland ++ 93 + lib.optionals stdenv.isDarwin [ libobjc AppKit Foundation ] ++ 94 + lib.optionals stdenv.isLinux [ 95 + alsa-lib 96 + dbus 97 + libX11 98 + libXdmcp 99 + libXext 100 + libXxf86vm 101 + libdrm 102 + libpulseaudio 103 + libv4l 104 + libxkbcommon 105 + mesa 106 + udev 107 + ]; 98 108 99 109 enableParallelBuilding = true; 100 110 101 - configureFlags = lib.optionals stdenv.isLinux [ "--enable-kms" "--enable-egl" "--enable-dbus" ]; 111 + configureFlags = [ 112 + "--disable-update_cores" 113 + ] ++ 114 + lib.optionals stdenv.isLinux [ 115 + "--enable-dbus" 116 + "--enable-egl" 117 + "--enable-kms" 118 + ]; 102 119 103 120 postInstall = '' 104 - mkdir -p $out/share/libretro/info 105 121 # TODO: ideally each core should have its own core information 122 + mkdir -p $out/share/libretro/info 106 123 cp -r ${libretroCoreInfo}/* $out/share/libretro/info 107 - '' + lib.optionalString (runtimeLibs != [ ]) '' 124 + '' + 125 + lib.optionalString (runtimeLibs != [ ]) '' 108 126 wrapProgram $out/bin/retroarch \ 109 127 --prefix LD_LIBRARY_PATH ':' ${lib.makeLibraryPath runtimeLibs} 110 - '' + lib.optionalString stdenv.isDarwin '' 128 + '' + 129 + lib.optionalString stdenv.isDarwin '' 111 130 # https://github.com/libretro/RetroArch/blob/master/retroarch-apple-packaging.sh 112 131 app=$out/Applications/RetroArch.app 113 132 mkdir -p $app/Contents/MacOS
-25
pkgs/applications/emulators/retroarch/disable-menu_show_core_updater.patch
··· 1 - From 546b343294209abbb193883ab76b679b7f99c6d3 Mon Sep 17 00:00:00 2001 2 - From: Thiago Kenji Okada <thiagokokada@gmail.com> 3 - Date: Sat, 20 Nov 2021 16:03:50 -0300 4 - Subject: [PATCH] Disable "menu_show_core_updater" 5 - 6 - --- 7 - retroarch.cfg | 2 +- 8 - 1 file changed, 1 insertion(+), 1 deletion(-) 9 - 10 - diff --git a/retroarch.cfg b/retroarch.cfg 11 - index cdcb199c9f..ab72f3920f 100644 12 - --- a/retroarch.cfg 13 - +++ b/retroarch.cfg 14 - @@ -681,7 +681,7 @@ 15 - # menu_show_online_updater = true 16 - 17 - # If disabled, will hide the ability to update cores (and core info files) inside the menu. 18 - -# menu_show_core_updater = true 19 - +menu_show_core_updater = false 20 - 21 - # If disabled, the libretro core will keep running in the background when we 22 - # are in the menu. 23 - -- 24 - 2.31.1 25 -
-26
pkgs/applications/emulators/retroarch/fix-config.patch
··· 1 - diff --git a/retroarch.cfg b/retroarch.cfg 2 - index cdcb199c9f..08b9b1cf10 100644 3 - --- a/retroarch.cfg 4 - +++ b/retroarch.cfg 5 - @@ -681,7 +681,7 @@ 6 - # menu_show_online_updater = true 7 - 8 - # If disabled, will hide the ability to update cores (and core info files) inside the menu. 9 - -# menu_show_core_updater = true 10 - +menu_show_core_updater = false 11 - 12 - # If disabled, the libretro core will keep running in the background when we 13 - # are in the menu. 14 - @@ -823,10 +823,10 @@ 15 - # rgui_browser_directory = 16 - 17 - # Core directory for libretro core implementations. 18 - -# libretro_directory = 19 - +libretro_directory = @libretro_directory@ 20 - 21 - # Core info directory for libretro core information. 22 - -# libretro_info_path = 23 - +libretro_info_path = @libretro_info_path@ 24 - 25 - # Path to content database directory. 26 - # content_database_path =
-28
pkgs/applications/emulators/retroarch/fix-libretro-paths.patch
··· 1 - diff --git a/configuration.c b/configuration.c 2 - index e6a3841324..afb1d6e2ce 100644 3 - --- a/configuration.c 4 - +++ b/configuration.c 5 - @@ -1456,7 +1456,7 @@ static struct config_path_setting *populate_settings_path( 6 - SETTING_PATH("core_options_path", 7 - settings->paths.path_core_options, false, NULL, true); 8 - SETTING_PATH("libretro_info_path", 9 - - settings->paths.path_libretro_info, false, NULL, true); 10 - + settings->paths.path_libretro_info, false, NULL, false); 11 - SETTING_PATH("content_database_path", 12 - settings->paths.path_content_database, false, NULL, true); 13 - SETTING_PATH("cheat_database_path", 14 - diff --git a/frontend/drivers/platform_unix.c b/frontend/drivers/platform_unix.c 15 - index 722e1c595c..e7313ee038 100644 16 - --- a/frontend/drivers/platform_unix.c 17 - +++ b/frontend/drivers/platform_unix.c 18 - @@ -1825,8 +1825,8 @@ static void frontend_unix_get_env(int *argc, 19 - fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_CORE_INFO], base_path, 20 - "core_info", sizeof(g_defaults.dirs[DEFAULT_DIR_CORE_INFO])); 21 - #else 22 - - fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_CORE_INFO], base_path, 23 - - "cores", sizeof(g_defaults.dirs[DEFAULT_DIR_CORE_INFO])); 24 - + fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_CORE_INFO], "@libretro_info_path@", 25 - + "", sizeof(g_defaults.dirs[DEFAULT_DIR_CORE_INFO])); 26 - #endif 27 - fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_AUTOCONFIG], base_path, 28 - "autoconfig", sizeof(g_defaults.dirs[DEFAULT_DIR_AUTOCONFIG]));
+26 -26
pkgs/applications/emulators/retroarch/hashes.json
··· 153 153 "fbneo": { 154 154 "owner": "libretro", 155 155 "repo": "fbneo", 156 - "rev": "8678b0fcd02c4049c0cfa40a0ab87fded1bbedd8", 157 - "sha256": "MiLYaURj17Sq8V31SDFQ93XH4DAYMQQelVq+4EBmtro=" 156 + "rev": "758f24740d81ff833c1868befd98ccd11909255f", 157 + "sha256": "VhfsvohRWICWqKWry0fgUS76kiXBsnjY9DytxEvulKA=" 158 158 }, 159 159 "fceumm": { 160 160 "owner": "libretro", ··· 219 219 "mame": { 220 220 "owner": "libretro", 221 221 "repo": "mame", 222 - "rev": "fcacbc7811a9b69874fd09b91e7217e44c6a0980", 223 - "sha256": "WiBmqBcqxXmeQOmTN4FDDUv680uqAkpYUOnvJ7FXn4k=" 222 + "rev": "0d935696dce53a13eaf0705f4a108ee348f3c613", 223 + "sha256": "HnJ3eHzTpR7Lsi1ATn3B314y0KNKJ0+qNGcDbFvmZEA=" 224 224 }, 225 225 "mame2000": { 226 226 "owner": "libretro", ··· 237 237 "mame2003-plus": { 238 238 "owner": "libretro", 239 239 "repo": "mame2003-plus-libretro", 240 - "rev": "982db57b325b54aa90a60bd2e512b624d3b6642c", 241 - "sha256": "uyysUD/PULHyaOw42GJoBsT9fYdYuAl4eLCVNRU8/Sw=" 240 + "rev": "d88d5c118e8d7075ec0a4e6deebb4cd3f18a8dd1", 241 + "sha256": "9offucQMCpMqo4StYscS6kivXCYHy4Sn+Cs/3MoNwsw=" 242 242 }, 243 243 "mame2010": { 244 244 "owner": "libretro", ··· 261 261 "melonds": { 262 262 "owner": "libretro", 263 263 "repo": "melonds", 264 - "rev": "6a03f3f11a729dbf698ec53954c735a0680aca01", 265 - "sha256": "GH/G/UzwjNqHwtIwx6VohP4XsJKe+EFU2n+GX43IByM=" 264 + "rev": "5e52c245fb38cabe881fbfa6513280ee44fc5bd8", 265 + "sha256": "jWBZ5wg1dKEgoEV09VTGJ+I4+8uiivAHhpTiD9tPaYg=" 266 266 }, 267 267 "mesen": { 268 268 "owner": "libretro", ··· 285 285 "mgba": { 286 286 "owner": "libretro", 287 287 "repo": "mgba", 288 - "rev": "db7ace387cdc87d9f2bd4f9f5211c26ce0b07867", 289 - "sha256": "i/U5yrnGQBRHqBu8c/mQ7Eov43+6IOOs+H8pSKXNM1E=" 288 + "rev": "199a03e719436018779fe9299706c597fb2e9231", 289 + "sha256": "3Q3MBzezCvl1Er45AeUM/QI0a+JiGn/PfYpqMaaiuds=" 290 290 }, 291 291 "mupen64plus": { 292 292 "owner": "libretro", ··· 346 346 "pcsx_rearmed": { 347 347 "owner": "libretro", 348 348 "repo": "pcsx_rearmed", 349 - "rev": "5b406fd9567c0829171af44b3325dae6dd155732", 350 - "sha256": "V+z58fRSaLurDiu4Y/xQjndkMKPSmEGjay3foDkppM0=" 349 + "rev": "5ced3945423cda0010597b27b7da6bce77b12baa", 350 + "sha256": "8O2XyEr40HqQf8mHxmvB6/UT837HZw8SrKBy/JH66p4=" 351 351 }, 352 352 "picodrive": { 353 353 "owner": "libretro", 354 354 "repo": "picodrive", 355 - "rev": "26719f348eb579a8372e2c58ef0132d95d9dc817", 356 - "sha256": "xD8RxFHeKOltIc35Zudj29x+vkq2AXfSKu0/ZzQQHi4=", 355 + "rev": "0a4ec83cbfaebb65fb1c40f26ffaf28131f9003b", 356 + "sha256": "NOMQoDmXGrxrquAcSLo6Otcz8bH4gnhqcG/zzet3Dtk=", 357 357 "fetchSubmodules": true 358 358 }, 359 359 "play": { 360 360 "owner": "jpd002", 361 361 "repo": "Play-", 362 - "rev": "1129440ab6ede8263275dc3a5eec1624d20442fb", 363 - "sha256": "nTJjxVPGOofnIZbjGe3GZDIj4YnC73IbSdGsSuVIjEA=", 362 + "rev": "1126c39cd8ebf56af347c475139d4db97fc7cc19", 363 + "sha256": "H/cYFWl8rA/ZdoygEjr7h1y6Z0n29Z+OCzzVMvIuVyo=", 364 364 "fetchSubmodules": true 365 365 }, 366 366 "ppsspp": { 367 367 "owner": "hrydgard", 368 368 "repo": "ppsspp", 369 - "rev": "16f93a26844b26e11cf9becfd275c4a637bfd1ab", 370 - "sha256": "k1URDPE4kRMY1LUeR2zcLJFGt0Gnt5N8gTQHpIxDdRw=", 369 + "rev": "4af4b0dddc638b00205d9943f17a2806e438fe83", 370 + "sha256": "5n+Mg2ZDTJd5fk1OZAiYnCT13G3LAWahXPA+MwaOF08=", 371 371 "fetchSubmodules": true 372 372 }, 373 373 "prboom": { ··· 385 385 "puae": { 386 386 "owner": "libretro", 387 387 "repo": "libretro-uae", 388 - "rev": "1b7dd443ff89d667d99f8c44454a91ed59bcabd9", 389 - "sha256": "YJiZEtB0rBFffEZj/hB7zEFBUp02kCzblq4CtCmygKo=" 388 + "rev": "4d8ebafe3f91c4998e8d73940e9558d863ecf93b", 389 + "sha256": "dzfZFm7L+Qe3WwSYiMLp3cQm8zk0pWVB68nBe/H1Hvc=" 390 390 }, 391 391 "quicknes": { 392 392 "owner": "libretro", ··· 439 439 "stella": { 440 440 "owner": "stella-emu", 441 441 "repo": "stella", 442 - "rev": "65115cc3a133d68979f3096bdecb067bcaedb493", 443 - "sha256": "letOnjaIGIjC9xwj5C156VkBhMPFtVq12FG7SuC5+OY=" 442 + "rev": "7193c405327e0f2156d24d53836162f4b44af079", 443 + "sha256": "A9icQON+0WrknjGp/0wiFNSWs2ot2s0X5lucCdk4O/s=" 444 444 }, 445 445 "stella2014": { 446 446 "owner": "libretro", ··· 451 451 "swanstation": { 452 452 "owner": "libretro", 453 453 "repo": "swanstation", 454 - "rev": "b6a18318bd7bf0d3b28b50d2b554810ea11b30cb", 455 - "sha256": "jZ6SfiHFJyaTFvINrEe61yhUtWYoqRzaAi0vLuDnMuo=" 454 + "rev": "ff0b451a573885a5b3a4f291f7b22f3ffc667a17", 455 + "sha256": "jz8tkvgonc4icRt12tt1BBCCiwec0ucix7Hp7PNPl8E=" 456 456 }, 457 457 "tgbdual": { 458 458 "owner": "libretro", ··· 476 476 "vba-m": { 477 477 "owner": "libretro", 478 478 "repo": "vbam-libretro", 479 - "rev": "7c25d64d6903c6d859cce781c52da0671c4f7d3e", 480 - "sha256": "U+jBM34sZxny9lpuegQ8YDKBwYrWOAyLBMKumoQCok4=" 479 + "rev": "7e30b038893de63e674944f75581d57c7685ea3a", 480 + "sha256": "CmmiKiy0mFqAiagUHFV5wRSZ0MkzADrHRAG+h82dWAQ=" 481 481 }, 482 482 "vba-next": { 483 483 "owner": "libretro",
-84
pkgs/applications/emulators/retroarch/use-fixed-paths-on-libretro_info_path.patch
··· 1 - From 7bf021529ff15ca2580b15b3c0bfdc137d5beffe Mon Sep 17 00:00:00 2001 2 - From: Thiago Kenji Okada <thiagokokada@gmail.com> 3 - Date: Wed, 9 Mar 2022 18:24:15 +0000 4 - Subject: [PATCH] Use fixed paths on "libretro_info_path" 5 - 6 - This patch sets "libretro_info_path" to `handle = false`, so instead of 7 - using the values from `retroarch.cfg`, it will always use the default. 8 - 9 - Also, it patches the default "libretro_info_path" to the 10 - `@libretro_info_path` string, so we can substitute it with the full path 11 - to it during build. 12 - --- 13 - configuration.c | 2 +- 14 - frontend/drivers/platform_darwin.m | 9 ++------- 15 - frontend/drivers/platform_unix.c | 12 ++++-------- 16 - 3 files changed, 7 insertions(+), 16 deletions(-) 17 - 18 - diff --git a/configuration.c b/configuration.c 19 - index 7e346ff6e9..c4b2100203 100644 20 - --- a/configuration.c 21 - +++ b/configuration.c 22 - @@ -1466,7 +1466,7 @@ static struct config_path_setting *populate_settings_path( 23 - SETTING_PATH("core_options_path", 24 - settings->paths.path_core_options, false, NULL, true); 25 - SETTING_PATH("libretro_info_path", 26 - - settings->paths.path_libretro_info, false, NULL, true); 27 - + settings->paths.path_libretro_info, false, NULL, false); 28 - SETTING_PATH("content_database_path", 29 - settings->paths.path_content_database, false, NULL, true); 30 - SETTING_PATH("cheat_database_path", 31 - diff --git a/frontend/drivers/platform_darwin.m b/frontend/drivers/platform_darwin.m 32 - index 6c5fdca400..552dcb7e2b 100644 33 - --- a/frontend/drivers/platform_darwin.m 34 - +++ b/frontend/drivers/platform_darwin.m 35 - @@ -388,14 +388,9 @@ static void frontend_darwin_get_env(int *argc, char *argv[], 36 - home_dir_buf, "shaders_glsl", 37 - sizeof(g_defaults.dirs[DEFAULT_DIR_SHADER])); 38 - #endif 39 - -#ifdef HAVE_UPDATE_CORES 40 - fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_CORE], 41 - - home_dir_buf, "cores", sizeof(g_defaults.dirs[DEFAULT_DIR_CORE])); 42 - -#else 43 - - fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_CORE], 44 - - bundle_path_buf, "modules", sizeof(g_defaults.dirs[DEFAULT_DIR_CORE])); 45 - -#endif 46 - - fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_CORE_INFO], home_dir_buf, "info", sizeof(g_defaults.dirs[DEFAULT_DIR_CORE_INFO])); 47 - + "@libretro_directory@", "", sizeof(g_defaults.dirs[DEFAULT_DIR_CORE])); 48 - + fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_CORE_INFO], "@libretro_info_path@", "", sizeof(g_defaults.dirs[DEFAULT_DIR_CORE_INFO])); 49 - fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_OVERLAY], home_dir_buf, "overlays", sizeof(g_defaults.dirs[DEFAULT_DIR_OVERLAY])); 50 - #ifdef HAVE_VIDEO_LAYOUT 51 - fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_VIDEO_LAYOUT], home_dir_buf, "layouts", sizeof(g_defaults.dirs[DEFAULT_DIR_VIDEO_LAYOUT])); 52 - diff --git a/frontend/drivers/platform_unix.c b/frontend/drivers/platform_unix.c 53 - index b3b5dad173..7f1561e523 100644 54 - --- a/frontend/drivers/platform_unix.c 55 - +++ b/frontend/drivers/platform_unix.c 56 - @@ -1820,12 +1820,8 @@ static void frontend_unix_get_env(int *argc, 57 - strcpy_literal(base_path, "retroarch"); 58 - #endif 59 - 60 - - if (!string_is_empty(libretro_directory)) 61 - - strlcpy(g_defaults.dirs[DEFAULT_DIR_CORE], libretro_directory, 62 - - sizeof(g_defaults.dirs[DEFAULT_DIR_CORE])); 63 - - else 64 - - fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_CORE], base_path, 65 - - "cores", sizeof(g_defaults.dirs[DEFAULT_DIR_CORE])); 66 - + fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_CORE], "@libretro_directory@", 67 - + "", sizeof(g_defaults.dirs[DEFAULT_DIR_CORE])); 68 - #if defined(DINGUX) 69 - /* On platforms that require manual core installation/ 70 - * removal, placing core info files in the same directory 71 - @@ -1834,8 +1830,8 @@ static void frontend_unix_get_env(int *argc, 72 - fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_CORE_INFO], base_path, 73 - "core_info", sizeof(g_defaults.dirs[DEFAULT_DIR_CORE_INFO])); 74 - #else 75 - - fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_CORE_INFO], base_path, 76 - - "cores", sizeof(g_defaults.dirs[DEFAULT_DIR_CORE_INFO])); 77 - + fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_CORE_INFO], "@libretro_info_path@", 78 - + "", sizeof(g_defaults.dirs[DEFAULT_DIR_CORE_INFO])); 79 - #endif 80 - fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_AUTOCONFIG], base_path, 81 - "autoconfig", sizeof(g_defaults.dirs[DEFAULT_DIR_AUTOCONFIG])); 82 - -- 83 - 2.32.0 84 -
+154
pkgs/applications/emulators/retroarch/use-fixed-paths.patch
··· 1 + From 8a1cffebb23f9d2a28228cd8cbf4fd80836157e8 Mon Sep 17 00:00:00 2001 2 + From: Thiago Kenji Okada <thiagokokada@gmail.com> 3 + Date: Tue, 18 Oct 2022 17:41:33 +0100 4 + Subject: [PATCH] Use fixed paths 5 + 6 + --- 7 + configuration.c | 2 +- 8 + frontend/drivers/platform_darwin.m | 4 +-- 9 + frontend/drivers/platform_unix.c | 56 +++++++++++++++--------------- 10 + 3 files changed, 31 insertions(+), 31 deletions(-) 11 + 12 + diff --git a/configuration.c b/configuration.c 13 + index ac4779b2d7..d980892dda 100644 14 + --- a/configuration.c 15 + +++ b/configuration.c 16 + @@ -1468,7 +1468,7 @@ static struct config_path_setting *populate_settings_path( 17 + SETTING_PATH("core_options_path", 18 + settings->paths.path_core_options, false, NULL, true); 19 + SETTING_PATH("libretro_info_path", 20 + - settings->paths.path_libretro_info, false, NULL, true); 21 + + settings->paths.path_libretro_info, false, NULL, false); 22 + SETTING_PATH("content_database_path", 23 + settings->paths.path_content_database, false, NULL, true); 24 + SETTING_PATH("cheat_database_path", 25 + diff --git a/frontend/drivers/platform_darwin.m b/frontend/drivers/platform_darwin.m 26 + index c771ec0f55..d5e21a1f4d 100644 27 + --- a/frontend/drivers/platform_darwin.m 28 + +++ b/frontend/drivers/platform_darwin.m 29 + @@ -400,9 +400,9 @@ static void frontend_darwin_get_env(int *argc, char *argv[], 30 + home_dir_buf, "cores", sizeof(g_defaults.dirs[DEFAULT_DIR_CORE])); 31 + #else 32 + fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_CORE], 33 + - bundle_path_buf, "modules", sizeof(g_defaults.dirs[DEFAULT_DIR_CORE])); 34 + + "@libretro_directory@", "", sizeof(g_defaults.dirs[DEFAULT_DIR_CORE])); 35 + #endif 36 + - fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_CORE_INFO], home_dir_buf, "info", sizeof(g_defaults.dirs[DEFAULT_DIR_CORE_INFO])); 37 + + fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_CORE_INFO], "@libretro_info_path@", "", sizeof(g_defaults.dirs[DEFAULT_DIR_CORE_INFO])); 38 + fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_OVERLAY], home_dir_buf, "overlays", sizeof(g_defaults.dirs[DEFAULT_DIR_OVERLAY])); 39 + #ifdef HAVE_VIDEO_LAYOUT 40 + fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_VIDEO_LAYOUT], home_dir_buf, "layouts", sizeof(g_defaults.dirs[DEFAULT_DIR_VIDEO_LAYOUT])); 41 + diff --git a/frontend/drivers/platform_unix.c b/frontend/drivers/platform_unix.c 42 + index 29e9a0d633..dba8abe941 100644 43 + --- a/frontend/drivers/platform_unix.c 44 + +++ b/frontend/drivers/platform_unix.c 45 + @@ -1792,8 +1792,8 @@ static void frontend_unix_get_env(int *argc, 46 + strlcpy(g_defaults.dirs[DEFAULT_DIR_CORE], libretro_directory, 47 + sizeof(g_defaults.dirs[DEFAULT_DIR_CORE])); 48 + else 49 + - fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_CORE], base_path, 50 + - "cores", sizeof(g_defaults.dirs[DEFAULT_DIR_CORE])); 51 + + fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_CORE], "@libretro_directory@", 52 + + "", sizeof(g_defaults.dirs[DEFAULT_DIR_CORE])); 53 + #if defined(DINGUX) 54 + /* On platforms that require manual core installation/ 55 + * removal, placing core info files in the same directory 56 + @@ -1802,27 +1802,27 @@ static void frontend_unix_get_env(int *argc, 57 + fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_CORE_INFO], base_path, 58 + "core_info", sizeof(g_defaults.dirs[DEFAULT_DIR_CORE_INFO])); 59 + #else 60 + - fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_CORE_INFO], base_path, 61 + - "cores", sizeof(g_defaults.dirs[DEFAULT_DIR_CORE_INFO])); 62 + + fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_CORE_INFO], "@libretro_info_path@", 63 + + "", sizeof(g_defaults.dirs[DEFAULT_DIR_CORE_INFO])); 64 + #endif 65 + fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_AUTOCONFIG], base_path, 66 + "autoconfig", sizeof(g_defaults.dirs[DEFAULT_DIR_AUTOCONFIG])); 67 + 68 + - if (path_is_directory("/usr/local/share/retroarch/assets")) 69 + + if (path_is_directory("@out@/local/share/retroarch/assets")) 70 + fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_ASSETS], 71 + - "/usr/local/share/retroarch", 72 + + "@out@/local/share/retroarch", 73 + "assets", sizeof(g_defaults.dirs[DEFAULT_DIR_ASSETS])); 74 + - else if (path_is_directory("/usr/share/retroarch/assets")) 75 + + else if (path_is_directory("@out@/share/retroarch/assets")) 76 + fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_ASSETS], 77 + - "/usr/share/retroarch", 78 + + "@out@/share/retroarch", 79 + "assets", sizeof(g_defaults.dirs[DEFAULT_DIR_ASSETS])); 80 + - else if (path_is_directory("/usr/local/share/games/retroarch/assets")) 81 + + else if (path_is_directory("@out@/local/share/games/retroarch/assets")) 82 + fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_ASSETS], 83 + - "/usr/local/share/games/retroarch", 84 + + "@out@/local/share/games/retroarch", 85 + "assets", sizeof(g_defaults.dirs[DEFAULT_DIR_ASSETS])); 86 + - else if (path_is_directory("/usr/share/games/retroarch/assets")) 87 + + else if (path_is_directory("@out@/share/games/retroarch/assets")) 88 + fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_ASSETS], 89 + - "/usr/share/games/retroarch", 90 + + "@out@/share/games/retroarch", 91 + "assets", sizeof(g_defaults.dirs[DEFAULT_DIR_ASSETS])); 92 + else 93 + fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_ASSETS], base_path, 94 + @@ -1834,41 +1834,41 @@ static void frontend_unix_get_env(int *argc, 95 + fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_VIDEO_FILTER], base_path, 96 + "filters/video", sizeof(g_defaults.dirs[DEFAULT_DIR_VIDEO_FILTER])); 97 + #else 98 + - if (path_is_directory("/usr/local/share/retroarch/filters/audio")) 99 + + if (path_is_directory("@out@/local/share/retroarch/filters/audio")) 100 + fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_AUDIO_FILTER], 101 + - "/usr/local/share/retroarch", 102 + + "@out@/local/share/retroarch", 103 + "filters/audio", sizeof(g_defaults.dirs[DEFAULT_DIR_AUDIO_FILTER])); 104 + - else if (path_is_directory("/usr/share/retroarch/filters/audio")) 105 + + else if (path_is_directory("@out@/share/retroarch/filters/audio")) 106 + fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_AUDIO_FILTER], 107 + - "/usr/share/retroarch", 108 + + "@out@/share/retroarch", 109 + "filters/audio", sizeof(g_defaults.dirs[DEFAULT_DIR_AUDIO_FILTER])); 110 + - else if (path_is_directory("/usr/local/share/games/retroarch/filters/audio")) 111 + + else if (path_is_directory("@out@/local/share/games/retroarch/filters/audio")) 112 + fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_AUDIO_FILTER], 113 + - "/usr/local/share/games/retroarch", 114 + + "@out@/local/share/games/retroarch", 115 + "filters/audio", sizeof(g_defaults.dirs[DEFAULT_DIR_AUDIO_FILTER])); 116 + - else if (path_is_directory("/usr/share/games/retroarch/filters/audio")) 117 + + else if (path_is_directory("@out@/share/games/retroarch/filters/audio")) 118 + fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_AUDIO_FILTER], 119 + - "/usr/share/games/retroarch", 120 + + "@out@/share/games/retroarch", 121 + "filters/audio", sizeof(g_defaults.dirs[DEFAULT_DIR_AUDIO_FILTER])); 122 + else 123 + fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_AUDIO_FILTER], base_path, 124 + "filters/audio", sizeof(g_defaults.dirs[DEFAULT_DIR_AUDIO_FILTER])); 125 + 126 + - if (path_is_directory("/usr/local/share/retroarch/filters/video")) 127 + + if (path_is_directory("@out@/local/share/retroarch/filters/video")) 128 + fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_VIDEO_FILTER], 129 + - "/usr/local/share/retroarch", 130 + + "@out@/local/share/retroarch", 131 + "filters/video", sizeof(g_defaults.dirs[DEFAULT_DIR_VIDEO_FILTER])); 132 + - else if (path_is_directory("/usr/share/retroarch/filters/video")) 133 + + else if (path_is_directory("@out@/share/retroarch/filters/video")) 134 + fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_VIDEO_FILTER], 135 + - "/usr/share/retroarch", 136 + + "@out@/share/retroarch", 137 + "filters/video", sizeof(g_defaults.dirs[DEFAULT_DIR_VIDEO_FILTER])); 138 + - else if (path_is_directory("/usr/local/share/games/retroarch/filters/video")) 139 + + else if (path_is_directory("@out@/local/share/games/retroarch/filters/video")) 140 + fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_VIDEO_FILTER], 141 + - "/usr/local/share/games/retroarch", 142 + + "@out@/local/share/games/retroarch", 143 + "filters/video", sizeof(g_defaults.dirs[DEFAULT_DIR_VIDEO_FILTER])); 144 + - else if (path_is_directory("/usr/share/games/retroarch/filters/video")) 145 + + else if (path_is_directory("@out@/share/games/retroarch/filters/video")) 146 + fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_VIDEO_FILTER], 147 + - "/usr/share/games/retroarch", 148 + + "@out@/share/games/retroarch", 149 + "filters/video", sizeof(g_defaults.dirs[DEFAULT_DIR_VIDEO_FILTER])); 150 + else 151 + fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_VIDEO_FILTER], base_path, 152 + -- 153 + 2.37.3 154 +
+3 -1
pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix
··· 46 46 , libthai 47 47 , libdatrie 48 48 , xdg-utils 49 + , xorg 49 50 , libsysprof-capture 50 51 , libpsl 51 52 , brotli ··· 170 171 wrapProgram $out/bin/telegram-desktop \ 171 172 "''${gappsWrapperArgs[@]}" \ 172 173 "''${qtWrapperArgs[@]}" \ 173 - --suffix PATH : ${lib.makeBinPath [ xdg-utils]} \ 174 + --prefix LD_LIBRARY_PATH : "${xorg.libXcursor}/lib" \ 175 + --suffix PATH : ${lib.makeBinPath [ xdg-utils ]} \ 174 176 --set XDG_RUNTIME_DIR "XDG-RUNTIME-DIR" 175 177 sed -i $out/bin/telegram-desktop \ 176 178 -e "s,'XDG-RUNTIME-DIR',\"\''${XDG_RUNTIME_DIR:-/run/user/\$(id --user)}\","
+12 -26
pkgs/applications/office/libreoffice/default.nix
··· 94 94 , ncurses 95 95 , libepoxy 96 96 , gpgme 97 + , libwebp 97 98 , abseil-cpp 98 99 , langs ? [ "ca" "cs" "da" "de" "en-GB" "en-US" "eo" "es" "fr" "hu" "it" "ja" "nl" "pl" "pt" "pt-BR" "ro" "ru" "sl" "uk" "zh-CN" ] 99 100 , withHelp ? true ··· 116 117 let 117 118 inherit (lib) 118 119 flatten flip 119 - concatMapStrings concatMapStringsSep concatStringsSep 120 + concatMapStrings concatStringsSep 120 121 getDev getLib 121 122 optional optionals optionalString; 122 123 ··· 128 129 129 130 primary-src = importVariant "primary.nix" { inherit fetchurl; }; 130 131 131 - inherit (primary-src) major minor subdir version; 132 + inherit (primary-src) major minor version; 132 133 133 134 langsSpaces = concatStringsSep " " langs; 134 135 ··· 194 195 tar -xf ${srcs.translations} 195 196 ''; 196 197 197 - patches = [ 198 - ./skip-failed-test-with-icu70.patch 199 - 200 - # Fix build with poppler 22.03 201 - (fetchurl { 202 - url = "https://github.com/archlinux/svntogit-packages/raw/f82958b9538f86e41b51f1ba7134968d2f3788d1/trunk/poppler-22.03.0.patch"; 203 - sha256 = "5h4qJmx6Q3Q3dHUlSi8JXBziN2mAswGVWk5aDTLTwls="; 204 - }) 205 - 206 - # Fix build with poppler 22.04 207 - ./poppler-22-04-0.patch 208 - 209 - ./gpgme-1.18.patch 210 - ]; 198 + patches = optional (variant == "still") [ ./skip-failed-test-with-icu70.patch ./gpgme-1.18.patch ] 199 + ; 211 200 212 201 ### QT/KDE 213 202 # ··· 226 215 # add the missing dependencies to it). 227 216 postPatch = '' 228 217 substituteInPlace shell/source/unix/exec/shellexec.cxx \ 229 - --replace /usr/bin/xdg-open ${if kdeIntegration then "kde-open5" else "xdg-open"} 218 + --replace xdg-open ${if kdeIntegration then "kde-open5" else "xdg-open"} 230 219 231 220 # configure checks for header 'gpgme++/gpgmepp_version.h', 232 221 # and if it is found (no matter where) uses a hardcoded path ··· 341 330 sed -e '/CPPUNIT_TEST(testEmbeddedDataSource);/d' -i './sw/qa/extras/uiwriter/uiwriter.cxx' 342 331 sed -e '/CPPUNIT_TEST(testTdf96479);/d' -i './sw/qa/extras/uiwriter/uiwriter.cxx' 343 332 sed -e '/CPPUNIT_TEST(testInconsistentBookmark);/d' -i './sw/qa/extras/uiwriter/uiwriter.cxx' 333 + sed -e /CppunitTest_sw_layoutwriter/d -i sw/Module_sw.mk 344 334 sed -e "s/DECLARE_SW_ROUNDTRIP_TEST(\([_a-zA-Z0-9.]\+\)[, ].*, *\([_a-zA-Z0-9.]\+\))/class \\1: public \\2 { public: void verify() override; }; void \\1::verify() /" -i "sw/qa/extras/ooxmlexport/ooxmlexport9.cxx" 345 335 sed -e "s/DECLARE_SW_ROUNDTRIP_TEST(\([_a-zA-Z0-9.]\+\)[, ].*, *\([_a-zA-Z0-9.]\+\))/class \\1: public \\2 { public: void verify() override; }; void \\1::verify() /" -i "sw/qa/extras/ooxmlexport/ooxmlencryption.cxx" 346 336 sed -e "s/DECLARE_SW_ROUNDTRIP_TEST(\([_a-zA-Z0-9.]\+\)[, ].*, *\([_a-zA-Z0-9.]\+\))/class \\1: public \\2 { public: void verify() override; }; void \\1::verify() /" -i "sw/qa/extras/odfexport/odfexport.cxx" ··· 374 364 ln -s $out/bin/soffice $out/bin/libreoffice 375 365 ln -s $out/lib/libreoffice/share/xdg $out/share/applications 376 366 377 - for f in $out/share/applications/*.desktop; do 378 - substituteInPlace "$f" \ 379 - --replace "Exec=libreofficedev${major}.${minor}" "Exec=libreoffice" \ 380 - --replace "Exec=libreoffice${major}.${minor}" "Exec=libreoffice" 381 - done 382 - 383 367 cp -r sysui/desktop/icons "$out/share" 384 368 sed -re 's@Icon=libreoffice(dev)?[0-9.]*-?@Icon=@' -i "$out/share/applications/"*.desktop 385 369 ··· 432 416 "--disable-postgresql-sdbc" 433 417 "--disable-firebird-sdbc" 434 418 "--without-fonts" 435 - "--without-myspell-dicts" 436 419 "--without-doxygen" 437 420 438 421 # TODO: package these as system libraries ··· 449 432 "--without-system-libstaroffice" 450 433 "--without-system-libepubgen" 451 434 "--without-system-libqxp" 452 - "--without-system-mdds" # we have mdds but our version is too new 435 + "--with-system-mdds" 453 436 # https://github.com/NixOS/nixpkgs/commit/5c5362427a3fa9aefccfca9e531492a8735d4e6f 454 437 "--without-system-orcus" 455 438 "--without-system-xmlsec" 439 + "--without-system-cuckoo" 440 + "--without-system-zxing" 456 441 ] ++ optionals kdeIntegration [ 457 442 "--enable-kf5" 458 443 "--enable-qt5" ··· 573 558 gst-plugins-ugly 574 559 gstreamer 575 560 ]) 576 - ++ optionals kdeIntegration [ qtbase qtx11extras kcoreaddons kio ]; 561 + ++ optionals kdeIntegration [ qtbase qtx11extras kcoreaddons kio ] 562 + ++ optionals (lib.versionAtLeast (lib.versions.majorMinor version) "7.4") [ libwebp ]; 577 563 578 564 passthru = { 579 565 inherit srcs;
+113 -141
pkgs/applications/office/libreoffice/src-fresh/download.nix
··· 7 7 md5name = "e763a9dc21c3d2667402d66e202e3f8ef4db51b34b79ef41f56cacb86dcd6eed-libabw-0.1.3.tar.xz"; 8 8 } 9 9 { 10 - name = "apr-1.5.2.tar.gz"; 11 - url = "https://dev-www.libreoffice.org/src/apr-1.5.2.tar.gz"; 12 - sha256 = "1af06e1720a58851d90694a984af18355b65bb0d047be03ec7d659c746d6dbdb"; 13 - md5 = ""; 14 - md5name = "1af06e1720a58851d90694a984af18355b65bb0d047be03ec7d659c746d6dbdb-apr-1.5.2.tar.gz"; 15 - } 16 - { 17 - name = "apr-util-1.5.4.tar.gz"; 18 - url = "https://dev-www.libreoffice.org/src/apr-util-1.5.4.tar.gz"; 19 - sha256 = "976a12a59bc286d634a21d7be0841cc74289ea9077aa1af46be19d1a6e844c19"; 20 - md5 = ""; 21 - md5name = "976a12a59bc286d634a21d7be0841cc74289ea9077aa1af46be19d1a6e844c19-apr-util-1.5.4.tar.gz"; 22 - } 23 - { 24 - name = "boost_1_77_0.tar.xz"; 25 - url = "https://dev-www.libreoffice.org/src/boost_1_77_0.tar.xz"; 26 - sha256 = "9b334d6c6d7af5a0687280788cd84444398b8e0b472cd88e52bbc3c3ef11d98e"; 10 + name = "boost_1_79_0.tar.xz"; 11 + url = "https://dev-www.libreoffice.org/src/boost_1_79_0.tar.xz"; 12 + sha256 = "2058aa88758a0e1aaac1759b3c4bad2526f899c6ecc6eeea79aa5e8fd3ea95dc"; 27 13 md5 = ""; 28 - md5name = "9b334d6c6d7af5a0687280788cd84444398b8e0b472cd88e52bbc3c3ef11d98e-boost_1_77_0.tar.xz"; 14 + md5name = "2058aa88758a0e1aaac1759b3c4bad2526f899c6ecc6eeea79aa5e8fd3ea95dc-boost_1_79_0.tar.xz"; 29 15 } 30 16 { 31 - name = "box2d-2.3.1.tar.gz"; 32 - url = "https://dev-www.libreoffice.org/src/box2d-2.3.1.tar.gz"; 33 - sha256 = "58ffc8475a8650aadc351345aef696937747b40501ab78d72c197c5ff5b3035c"; 17 + name = "box2d-2.4.1.tar.gz"; 18 + url = "https://dev-www.libreoffice.org/src/box2d-2.4.1.tar.gz"; 19 + sha256 = "d6b4650ff897ee1ead27cf77a5933ea197cbeef6705638dd181adc2e816b23c2"; 34 20 md5 = ""; 35 - md5name = "58ffc8475a8650aadc351345aef696937747b40501ab78d72c197c5ff5b3035c-box2d-2.3.1.tar.gz"; 21 + md5name = "d6b4650ff897ee1ead27cf77a5933ea197cbeef6705638dd181adc2e816b23c2-box2d-2.4.1.tar.gz"; 36 22 } 37 23 { 38 24 name = "breakpad-b324760c7f53667af128a6b77b790323da04fcb9.tar.xz"; ··· 56 42 md5name = "ab5a03176ee106d3f0fa90e381da478ddae405918153cca248e682cd0c4a2269-bzip2-1.0.8.tar.gz"; 57 43 } 58 44 { 59 - name = "cairo-1.17.4.tar.xz"; 60 - url = "https://dev-www.libreoffice.org/src/cairo-1.17.4.tar.xz"; 61 - sha256 = "74b24c1ed436bbe87499179a3b27c43f4143b8676d8ad237a6fa787401959705"; 45 + name = "cairo-1.17.6.tar.xz"; 46 + url = "https://dev-www.libreoffice.org/src/cairo-1.17.6.tar.xz"; 47 + sha256 = "4eebc4c2bad0402bc3f501db184417094657d111fb6c06f076a82ea191fe1faf"; 62 48 md5 = ""; 63 - md5name = "74b24c1ed436bbe87499179a3b27c43f4143b8676d8ad237a6fa787401959705-cairo-1.17.4.tar.xz"; 49 + md5name = "4eebc4c2bad0402bc3f501db184417094657d111fb6c06f076a82ea191fe1faf-cairo-1.17.6.tar.xz"; 64 50 } 65 51 { 66 52 name = "libcdr-0.1.7.tar.xz"; ··· 75 61 sha256 = "ddfdc433dd8ad31b5c5819cc4404a8d2127472a3b720d3e744e8c51d79732eab"; 76 62 md5 = "48d647fbd8ef8889e5a7f422c1bfda94"; 77 63 md5name = "48d647fbd8ef8889e5a7f422c1bfda94-clucene-core-2.3.3.4.tar.gz"; 64 + } 65 + { 66 + name = "dragonbox-1.1.0.tar.gz"; 67 + url = "https://dev-www.libreoffice.org/src/dragonbox-1.1.0.tar.gz"; 68 + sha256 = "293247ccba995ec47ae3abb52c3e83904a7d71efb7093d4c0d2c6367c1cc1e20"; 69 + md5 = ""; 70 + md5name = "293247ccba995ec47ae3abb52c3e83904a7d71efb7093d4c0d2c6367c1cc1e20-dragonbox-1.1.0.tar.gz"; 78 71 } 79 72 { 80 73 name = "dtoa-20180411.tgz"; ··· 105 98 md5name = "89c5c6665337f56fd2db36bc3805a5619709d51fb136e51937072f63fcc717a7-cppunit-1.15.1.tar.gz"; 106 99 } 107 100 { 108 - name = "converttexttonumber-1-5-0.oxt"; 109 - url = "https://dev-www.libreoffice.org/src/1f467e5bb703f12cbbb09d5cf67ecf4a-converttexttonumber-1-5-0.oxt"; 110 - sha256 = "71b238efd2734be9800af07566daea8d6685aeed28db5eb5fa0e6453f4d85de3"; 111 - md5 = "1f467e5bb703f12cbbb09d5cf67ecf4a"; 112 - md5name = "1f467e5bb703f12cbbb09d5cf67ecf4a-converttexttonumber-1-5-0.oxt"; 113 - } 114 - { 115 - name = "curl-7.79.1.tar.xz"; 116 - url = "https://dev-www.libreoffice.org/src/curl-7.79.1.tar.xz"; 117 - sha256 = "0606f74b1182ab732a17c11613cbbaf7084f2e6cca432642d0e3ad7c224c3689"; 101 + name = "curl-7.85.0.tar.xz"; 102 + url = "https://dev-www.libreoffice.org/src/curl-7.85.0.tar.xz"; 103 + sha256 = "88b54a6d4b9a48cb4d873c7056dcba997ddd5b7be5a2d537a4acb55c20b04be6"; 118 104 md5 = ""; 119 - md5name = "0606f74b1182ab732a17c11613cbbaf7084f2e6cca432642d0e3ad7c224c3689-curl-7.79.1.tar.xz"; 105 + md5name = "88b54a6d4b9a48cb4d873c7056dcba997ddd5b7be5a2d537a4acb55c20b04be6-curl-7.85.0.tar.xz"; 120 106 } 121 107 { 122 108 name = "libe-book-0.1.3.tar.xz"; ··· 154 140 md5name = "b430435a6e8487888b761dc848b7981626eb814884963ffe25eb26a139301e9a-libetonyek-0.1.10.tar.xz"; 155 141 } 156 142 { 157 - name = "expat-2.4.6.tar.xz"; 158 - url = "https://dev-www.libreoffice.org/src/expat-2.4.6.tar.xz"; 159 - sha256 = "de55794b7a9bc214852fdc075beaaecd854efe1361597e6268ee87946951289b"; 143 + name = "expat-2.4.9.tar.xz"; 144 + url = "https://dev-www.libreoffice.org/src/expat-2.4.9.tar.xz"; 145 + sha256 = "6e8c0728fe5c7cd3f93a6acce43046c5e4736c7b4b68e032e9350daa0efc0354"; 160 146 md5 = ""; 161 - md5name = "de55794b7a9bc214852fdc075beaaecd854efe1361597e6268ee87946951289b-expat-2.4.6.tar.xz"; 147 + md5name = "6e8c0728fe5c7cd3f93a6acce43046c5e4736c7b4b68e032e9350daa0efc0354-expat-2.4.9.tar.xz"; 162 148 } 163 149 { 164 150 name = "Firebird-3.0.7.33374-0.tar.bz2"; ··· 280 266 md5name = "b98b67602a2c8880a1770f0b9e37c190f29a7e2ade5616784f0b89fbdb75bf52-alef-1.001.tar.gz"; 281 267 } 282 268 { 283 - name = "Amiri-0.111.zip"; 284 - url = "https://dev-www.libreoffice.org/src/Amiri-0.111.zip"; 285 - sha256 = "1fbfccced6348b5db2c1c21d5b319cd488e14d055702fa817a0f6cb83d882166"; 269 + name = "Amiri-0.117.zip"; 270 + url = "https://dev-www.libreoffice.org/src/Amiri-0.117.zip"; 271 + sha256 = "9c4e768893e0023a0ad6f488d5c84bd5add6565d3dcadb838ba5b20e75fcc9a7"; 286 272 md5 = ""; 287 - md5name = "1fbfccced6348b5db2c1c21d5b319cd488e14d055702fa817a0f6cb83d882166-Amiri-0.111.zip"; 273 + md5name = "9c4e768893e0023a0ad6f488d5c84bd5add6565d3dcadb838ba5b20e75fcc9a7-Amiri-0.117.zip"; 288 274 } 289 275 { 290 276 name = "ttf-kacst_2.01+mry.tar.gz"; ··· 294 280 md5name = "dca00f5e655f2f217a766faa73a81f542c5c204aa3a47017c3c2be0b31d00a56-ttf-kacst_2.01+mry.tar.gz"; 295 281 } 296 282 { 297 - name = "ReemKufi-0.7.zip"; 298 - url = "https://dev-www.libreoffice.org/src/ReemKufi-0.7.zip"; 299 - sha256 = "f60c6508d209ce4236d2d7324256c2ffddd480be7e3d6023770b93dc391a605f"; 283 + name = "ReemKufi-1.2.zip"; 284 + url = "https://dev-www.libreoffice.org/src/ReemKufi-1.2.zip"; 285 + sha256 = "c4fd68a23c0ea471cc084ae7efe888da372b925cb208eeb0322c26792d2ef413"; 300 286 md5 = ""; 301 - md5name = "f60c6508d209ce4236d2d7324256c2ffddd480be7e3d6023770b93dc391a605f-ReemKufi-0.7.zip"; 287 + md5name = "c4fd68a23c0ea471cc084ae7efe888da372b925cb208eeb0322c26792d2ef413-ReemKufi-1.2.zip"; 302 288 } 303 289 { 304 290 name = "Scheherazade-2.100.zip"; ··· 315 301 md5name = "0e422d1564a6dbf22a9af598535425271e583514c0f7ba7d9091676420de34ac-libfreehand-0.1.2.tar.xz"; 316 302 } 317 303 { 318 - name = "freetype-2.11.0.tar.xz"; 319 - url = "https://dev-www.libreoffice.org/src/freetype-2.11.0.tar.xz"; 320 - sha256 = "8bee39bd3968c4804b70614a0a3ad597299ad0e824bc8aad5ce8aaf48067bde7"; 304 + name = "freetype-2.11.1.tar.xz"; 305 + url = "https://dev-www.libreoffice.org/src/freetype-2.11.1.tar.xz"; 306 + sha256 = "3333ae7cfda88429c97a7ae63b7d01ab398076c3b67182e960e5684050f2c5c8"; 321 307 md5 = ""; 322 - md5name = "8bee39bd3968c4804b70614a0a3ad597299ad0e824bc8aad5ce8aaf48067bde7-freetype-2.11.0.tar.xz"; 308 + md5name = "3333ae7cfda88429c97a7ae63b7d01ab398076c3b67182e960e5684050f2c5c8-freetype-2.11.1.tar.xz"; 323 309 } 324 310 { 325 311 name = "glm-0.9.9.8.zip"; ··· 343 329 md5name = "b8e892d8627c41888ff121e921455b9e2d26836978f2359173d19825da62b8fc-graphite2-minimal-1.3.14.tgz"; 344 330 } 345 331 { 346 - name = "harfbuzz-2.8.2.tar.xz"; 347 - url = "https://dev-www.libreoffice.org/src/harfbuzz-2.8.2.tar.xz"; 348 - sha256 = "d58461395ce28b9dc03903254374dd70c38c8c28c5046db123c08f7ab9417be7"; 332 + name = "harfbuzz-4.3.0.tar.xz"; 333 + url = "https://dev-www.libreoffice.org/src/harfbuzz-4.3.0.tar.xz"; 334 + sha256 = "a49628f4c4c8e6d8df95ef44935a93446cf2e46366915b0e3ca30df21fffb530"; 349 335 md5 = ""; 350 - md5name = "d58461395ce28b9dc03903254374dd70c38c8c28c5046db123c08f7ab9417be7-harfbuzz-2.8.2.tar.xz"; 336 + md5name = "a49628f4c4c8e6d8df95ef44935a93446cf2e46366915b0e3ca30df21fffb530-harfbuzz-4.3.0.tar.xz"; 351 337 } 352 338 { 353 339 name = "hsqldb_1_8_0.zip"; ··· 371 357 md5name = "5ade6ae2a99bc1e9e57031ca88d36dad-hyphen-2.8.8.tar.gz"; 372 358 } 373 359 { 374 - name = "icu4c-70_1-src.tgz"; 375 - url = "https://dev-www.libreoffice.org/src/icu4c-70_1-src.tgz"; 376 - sha256 = "8d205428c17bf13bb535300669ed28b338a157b1c01ae66d31d0d3e2d47c3fd5"; 360 + name = "icu4c-71_1-src.tgz"; 361 + url = "https://dev-www.libreoffice.org/src/icu4c-71_1-src.tgz"; 362 + sha256 = "67a7e6e51f61faf1306b6935333e13b2c48abd8da6d2f46ce6adca24b1e21ebf"; 377 363 md5 = ""; 378 - md5name = "8d205428c17bf13bb535300669ed28b338a157b1c01ae66d31d0d3e2d47c3fd5-icu4c-70_1-src.tgz"; 364 + md5name = "67a7e6e51f61faf1306b6935333e13b2c48abd8da6d2f46ce6adca24b1e21ebf-icu4c-71_1-src.tgz"; 379 365 } 380 366 { 381 - name = "icu4c-70_1-data.zip"; 382 - url = "https://dev-www.libreoffice.org/src/icu4c-70_1-data.zip"; 383 - sha256 = "c72723ddba3300ffb231d6b09e2a728ea6e89de10ed5927f74bacbd77042336e"; 367 + name = "icu4c-71_1-data.zip"; 368 + url = "https://dev-www.libreoffice.org/src/icu4c-71_1-data.zip"; 369 + sha256 = "e3882b4fece6e5e039f22c3189b7ba224180fd26fdbfa9db284617455b93e804"; 384 370 md5 = ""; 385 - md5name = "c72723ddba3300ffb231d6b09e2a728ea6e89de10ed5927f74bacbd77042336e-icu4c-70_1-data.zip"; 371 + md5name = "e3882b4fece6e5e039f22c3189b7ba224180fd26fdbfa9db284617455b93e804-icu4c-71_1-data.zip"; 386 372 } 387 373 { 388 374 name = "flow-engine-0.9.4.zip"; ··· 462 448 md5name = "39bb3fcea1514f1369fcfc87542390fd-sacjava-1.3.zip"; 463 449 } 464 450 { 465 - name = "libjpeg-turbo-2.1.1.tar.gz"; 466 - url = "https://dev-www.libreoffice.org/src/libjpeg-turbo-2.1.1.tar.gz"; 467 - sha256 = "20e9cd3e5f517950dfb7a300ad344543d88719c254407ffb5ad88d891bf701c4"; 451 + name = "libjpeg-turbo-2.1.2.tar.gz"; 452 + url = "https://dev-www.libreoffice.org/src/libjpeg-turbo-2.1.2.tar.gz"; 453 + sha256 = "09b96cb8cbff9ea556a9c2d173485fd19488844d55276ed4f42240e1e2073ce5"; 468 454 md5 = ""; 469 - md5name = "20e9cd3e5f517950dfb7a300ad344543d88719c254407ffb5ad88d891bf701c4-libjpeg-turbo-2.1.1.tar.gz"; 455 + md5name = "09b96cb8cbff9ea556a9c2d173485fd19488844d55276ed4f42240e1e2073ce5-libjpeg-turbo-2.1.2.tar.gz"; 470 456 } 471 457 { 472 - name = "language-subtag-registry-2021-12-29.tar.bz2"; 473 - url = "https://dev-www.libreoffice.org/src/language-subtag-registry-2021-12-29.tar.bz2"; 474 - sha256 = "d9dcf20be5ad4856daef023087421bedc1477f9b4247fc8ea53bb32e07c97837"; 458 + name = "language-subtag-registry-2022-08-08.tar.bz2"; 459 + url = "https://dev-www.libreoffice.org/src/language-subtag-registry-2022-08-08.tar.bz2"; 460 + sha256 = "e2d9224e0e50fc8ad12a3cf47396bbcadf45b2515839d4770432653a88972c00"; 475 461 md5 = ""; 476 - md5name = "d9dcf20be5ad4856daef023087421bedc1477f9b4247fc8ea53bb32e07c97837-language-subtag-registry-2021-12-29.tar.bz2"; 477 - } 478 - { 479 - name = "JLanguageTool-1.7.0.tar.bz2"; 480 - url = "https://dev-www.libreoffice.org/src/b63e6340a02ff1cacfeadb2c42286161-JLanguageTool-1.7.0.tar.bz2"; 481 - sha256 = "48c87e41636783bba438b65fd895821e369ed139e1465fac654323ad93c5a82d"; 482 - md5 = "b63e6340a02ff1cacfeadb2c42286161"; 483 - md5name = "b63e6340a02ff1cacfeadb2c42286161-JLanguageTool-1.7.0.tar.bz2"; 462 + md5name = "e2d9224e0e50fc8ad12a3cf47396bbcadf45b2515839d4770432653a88972c00-language-subtag-registry-2022-08-08.tar.bz2"; 484 463 } 485 464 { 486 465 name = "lcms2-2.12.tar.gz"; ··· 553 532 md5name = "083daa92d8ee6f4af96a6143b12d7fc8fe1a547e14f862304f7281f8f7347483-ltm-1.0.zip"; 554 533 } 555 534 { 556 - name = "xmlsec1-1.2.33.tar.gz"; 557 - url = "https://dev-www.libreoffice.org/src/xmlsec1-1.2.33.tar.gz"; 558 - sha256 = "26041d35a20a245ed5a2fb9ee075f10825664d274220cb5190340fa87a4d0931"; 535 + name = "libwebp-1.2.4.tar.gz"; 536 + url = "https://dev-www.libreoffice.org/src/libwebp-1.2.4.tar.gz"; 537 + sha256 = "7bf5a8a28cc69bcfa8cb214f2c3095703c6b73ac5fba4d5480c205331d9494df"; 559 538 md5 = ""; 560 - md5name = "26041d35a20a245ed5a2fb9ee075f10825664d274220cb5190340fa87a4d0931-xmlsec1-1.2.33.tar.gz"; 539 + md5name = "7bf5a8a28cc69bcfa8cb214f2c3095703c6b73ac5fba4d5480c205331d9494df-libwebp-1.2.4.tar.gz"; 561 540 } 562 541 { 563 - name = "libxml2-2.9.13.tar.xz"; 564 - url = "https://dev-www.libreoffice.org/src/libxml2-2.9.13.tar.xz"; 565 - sha256 = "276130602d12fe484ecc03447ee5e759d0465558fbc9d6bd144e3745306ebf0e"; 542 + name = "xmlsec1-1.2.34.tar.gz"; 543 + url = "https://dev-www.libreoffice.org/src/xmlsec1-1.2.34.tar.gz"; 544 + sha256 = "52ced4943f35bd7d0818a38298c1528ca4ac8a54440fd71134a07d2d1370a262"; 566 545 md5 = ""; 567 - md5name = "276130602d12fe484ecc03447ee5e759d0465558fbc9d6bd144e3745306ebf0e-libxml2-2.9.13.tar.xz"; 546 + md5name = "52ced4943f35bd7d0818a38298c1528ca4ac8a54440fd71134a07d2d1370a262-xmlsec1-1.2.34.tar.gz"; 547 + } 548 + { 549 + name = "libxml2-2.10.2.tar.xz"; 550 + url = "https://dev-www.libreoffice.org/src/libxml2-2.10.2.tar.xz"; 551 + sha256 = "d240abe6da9c65cb1900dd9bf3a3501ccf88b3c2a1cb98317d03f272dda5b265"; 552 + md5 = ""; 553 + md5name = "d240abe6da9c65cb1900dd9bf3a3501ccf88b3c2a1cb98317d03f272dda5b265-libxml2-2.10.2.tar.xz"; 568 554 } 569 555 { 570 556 name = "libxslt-1.1.35.tar.xz"; ··· 595 581 md5name = "431434d3926f4bcce2e5c97240609983f60d7ff50df5a72083934759bb863f7b-mariadb-connector-c-3.1.8-src.tar.gz"; 596 582 } 597 583 { 598 - name = "mdds-2.0.1.tar.bz2"; 599 - url = "https://dev-www.libreoffice.org/src/mdds-2.0.1.tar.bz2"; 600 - sha256 = "3ab33fce58e6acf9540cc1a52264be6863ef80f55ac287194cc98cda48e71fe6"; 584 + name = "mdds-2.0.3.tar.bz2"; 585 + url = "https://dev-www.libreoffice.org/src/mdds-2.0.3.tar.bz2"; 586 + sha256 = "9771fe42e133443c13ca187253763e17c8bc96a1a02aec9e1e8893367ffa9ce5"; 601 587 md5 = ""; 602 - md5name = "3ab33fce58e6acf9540cc1a52264be6863ef80f55ac287194cc98cda48e71fe6-mdds-2.0.1.tar.bz2"; 588 + md5name = "9771fe42e133443c13ca187253763e17c8bc96a1a02aec9e1e8893367ffa9ce5-mdds-2.0.3.tar.bz2"; 603 589 } 604 590 { 605 591 name = "mDNSResponder-878.200.35.tar.gz"; ··· 630 616 md5name = "a8c2c5b8f09e7ede322d5c602ff6a4b6-mythes-1.2.4.tar.gz"; 631 617 } 632 618 { 633 - name = "neon-0.31.2.tar.gz"; 634 - url = "https://dev-www.libreoffice.org/src/neon-0.31.2.tar.gz"; 635 - sha256 = "cf1ee3ac27a215814a9c80803fcee4f0ede8466ebead40267a9bd115e16a8678"; 636 - md5 = ""; 637 - md5name = "cf1ee3ac27a215814a9c80803fcee4f0ede8466ebead40267a9bd115e16a8678-neon-0.31.2.tar.gz"; 638 - } 639 - { 640 - name = "nss-3.73-with-nspr-4.32.tar.gz"; 641 - url = "https://dev-www.libreoffice.org/src/nss-3.73-with-nspr-4.32.tar.gz"; 642 - sha256 = "07a9e5b70f121a62706140d4cacc3006d3efb869da40f3a2bf7a65d37847f4d9"; 619 + name = "nss-3.83-with-nspr-4.34.1.tar.gz"; 620 + url = "https://dev-www.libreoffice.org/src/nss-3.83-with-nspr-4.34.1.tar.gz"; 621 + sha256 = "b1e1198fa7ee4e0fe4fa6937245c94820fd3c3c6897779493858af1bf6310b30"; 643 622 md5 = ""; 644 - md5name = "07a9e5b70f121a62706140d4cacc3006d3efb869da40f3a2bf7a65d37847f4d9-nss-3.73-with-nspr-4.32.tar.gz"; 623 + md5name = "b1e1198fa7ee4e0fe4fa6937245c94820fd3c3c6897779493858af1bf6310b30-nss-3.83-with-nspr-4.34.1.tar.gz"; 645 624 } 646 625 { 647 626 name = "libodfgen-0.1.8.tar.xz"; ··· 672 651 md5name = "99f37d6747d88206c470067eda624d5e48c1011e943ec0ab217bae8712e22f34-openldap-2.4.59.tgz"; 673 652 } 674 653 { 675 - name = "openssl-1.1.1l.tar.gz"; 676 - url = "https://dev-www.libreoffice.org/src/openssl-1.1.1l.tar.gz"; 677 - sha256 = "0b7a3e5e59c34827fe0c3a74b7ec8baef302b98fa80088d7f9153aa16fa76bd1"; 654 + name = "openssl-1.1.1q.tar.gz"; 655 + url = "https://dev-www.libreoffice.org/src/openssl-1.1.1q.tar.gz"; 656 + sha256 = "d7939ce614029cdff0b6c20f0e2e5703158a489a72b2507b8bd51bf8c8fd10ca"; 678 657 md5 = ""; 679 - md5name = "0b7a3e5e59c34827fe0c3a74b7ec8baef302b98fa80088d7f9153aa16fa76bd1-openssl-1.1.1l.tar.gz"; 658 + md5name = "d7939ce614029cdff0b6c20f0e2e5703158a489a72b2507b8bd51bf8c8fd10ca-openssl-1.1.1q.tar.gz"; 680 659 } 681 660 { 682 661 name = "liborcus-0.17.2.tar.bz2"; ··· 693 672 md5name = "66adacd705a7d19895e08eac46d1e851332adf2e736c566bef1164e7a442519d-libpagemaker-0.0.4.tar.xz"; 694 673 } 695 674 { 696 - name = "pdfium-4699.tar.bz2"; 697 - url = "https://dev-www.libreoffice.org/src/pdfium-4699.tar.bz2"; 698 - sha256 = "ee80fe0a3b20ef5c5babc494cd655d1b1a0bdec710acb04524789df500c563bf"; 675 + name = "pdfium-5058.tar.bz2"; 676 + url = "https://dev-www.libreoffice.org/src/pdfium-5058.tar.bz2"; 677 + sha256 = "eaf4ce9fad32b5d951c524139df23119b66c67720057defb97acab2dfb2582ac"; 699 678 md5 = ""; 700 - md5name = "ee80fe0a3b20ef5c5babc494cd655d1b1a0bdec710acb04524789df500c563bf-pdfium-4699.tar.bz2"; 679 + md5name = "eaf4ce9fad32b5d951c524139df23119b66c67720057defb97acab2dfb2582ac-pdfium-5058.tar.bz2"; 701 680 } 702 681 { 703 682 name = "pixman-0.40.0.tar.gz"; ··· 714 693 md5name = "505e70834d35383537b6491e7ae8641f1a4bed1876dbfe361201fc80868d88ca-libpng-1.6.37.tar.xz"; 715 694 } 716 695 { 717 - name = "poppler-21.11.0.tar.xz"; 718 - url = "https://dev-www.libreoffice.org/src/poppler-21.11.0.tar.xz"; 719 - sha256 = "31b76b5cac0a48612fdd154c02d9eca01fd38fb8eaa77c1196840ecdeb53a584"; 696 + name = "tiff-4.4.0.tar.xz"; 697 + url = "https://dev-www.libreoffice.org/src/tiff-4.4.0.tar.xz"; 698 + sha256 = "49307b510048ccc7bc40f2cba6e8439182fe6e654057c1a1683139bf2ecb1dc1"; 720 699 md5 = ""; 721 - md5name = "31b76b5cac0a48612fdd154c02d9eca01fd38fb8eaa77c1196840ecdeb53a584-poppler-21.11.0.tar.xz"; 700 + md5name = "49307b510048ccc7bc40f2cba6e8439182fe6e654057c1a1683139bf2ecb1dc1-tiff-4.4.0.tar.xz"; 722 701 } 723 702 { 724 - name = "poppler-data-0.4.10.tar.gz"; 725 - url = "https://dev-www.libreoffice.org/src/poppler-data-0.4.10.tar.gz"; 726 - sha256 = "6e2fcef66ec8c44625f94292ccf8af9f1d918b410d5aa69c274ce67387967b30"; 703 + name = "poppler-22.09.0.tar.xz"; 704 + url = "https://dev-www.libreoffice.org/src/poppler-22.09.0.tar.xz"; 705 + sha256 = "d7a8f748211359cadb774ba3e18ecda6464b34027045c0648eb30d5852a41e2e"; 727 706 md5 = ""; 728 - md5name = "6e2fcef66ec8c44625f94292ccf8af9f1d918b410d5aa69c274ce67387967b30-poppler-data-0.4.10.tar.gz"; 707 + md5name = "d7a8f748211359cadb774ba3e18ecda6464b34027045c0648eb30d5852a41e2e-poppler-22.09.0.tar.xz"; 708 + } 709 + { 710 + name = "poppler-data-0.4.11.tar.gz"; 711 + url = "https://dev-www.libreoffice.org/src/poppler-data-0.4.11.tar.gz"; 712 + sha256 = "2cec05cd1bb03af98a8b06a1e22f6e6e1a65b1e2f3816cb3069bb0874825f08c"; 713 + md5 = ""; 714 + md5name = "2cec05cd1bb03af98a8b06a1e22f6e6e1a65b1e2f3816cb3069bb0874825f08c-poppler-data-0.4.11.tar.gz"; 729 715 } 730 716 { 731 717 name = "postgresql-13.5.tar.bz2"; ··· 735 721 md5name = "9b81067a55edbaabc418aacef457dd8477642827499560b00615a6ea6c13f6b3-postgresql-13.5.tar.bz2"; 736 722 } 737 723 { 738 - name = "Python-3.8.10.tar.xz"; 739 - url = "https://dev-www.libreoffice.org/src/Python-3.8.10.tar.xz"; 740 - sha256 = "6af24a66093dd840bcccf371d4044a3027e655cf24591ce26e48022bc79219d9"; 724 + name = "Python-3.8.14.tar.xz"; 725 + url = "https://dev-www.libreoffice.org/src/Python-3.8.14.tar.xz"; 726 + sha256 = "5d77e278271ba803e9909a41a4f3baca006181c93ada682a5e5fe8dc4a24c5f3"; 741 727 md5 = ""; 742 - md5name = "6af24a66093dd840bcccf371d4044a3027e655cf24591ce26e48022bc79219d9-Python-3.8.10.tar.xz"; 728 + md5name = "5d77e278271ba803e9909a41a4f3baca006181c93ada682a5e5fe8dc4a24c5f3-Python-3.8.14.tar.xz"; 743 729 } 744 730 { 745 731 name = "libqxp-0.0.2.tar.xz"; ··· 784 770 md5name = "798b2ffdc8bcfe7bca2cf92b62caf685-rhino1_5R5.zip"; 785 771 } 786 772 { 787 - name = "serf-1.3.9.tar.bz2"; 788 - url = "https://dev-www.libreoffice.org/src/serf-1.3.9.tar.bz2"; 789 - sha256 = "549c2d21c577a8a9c0450facb5cca809f26591f048e466552240947bdf7a87cc"; 773 + name = "skia-m103-b301ff025004c9cd82816c86c547588e6c24b466.tar.xz"; 774 + url = "https://dev-www.libreoffice.org/src/skia-m103-b301ff025004c9cd82816c86c547588e6c24b466.tar.xz"; 775 + sha256 = "c094a6247e44104beaaa0d00c825beb6baf1a8e532dc22214747495317a65bd9"; 790 776 md5 = ""; 791 - md5name = "549c2d21c577a8a9c0450facb5cca809f26591f048e466552240947bdf7a87cc-serf-1.3.9.tar.bz2"; 792 - } 793 - { 794 - name = "skia-m97-a7230803d64ae9d44f4e1282444801119a3ae967.tar.xz"; 795 - url = "https://dev-www.libreoffice.org/src/skia-m97-a7230803d64ae9d44f4e1282444801119a3ae967.tar.xz"; 796 - sha256 = "97e859e8467eca9d2441cd23079b61c2c3863b5687620f18cc31a9f966740177"; 797 - md5 = ""; 798 - md5name = "97e859e8467eca9d2441cd23079b61c2c3863b5687620f18cc31a9f966740177-skia-m97-a7230803d64ae9d44f4e1282444801119a3ae967.tar.xz"; 777 + md5name = "c094a6247e44104beaaa0d00c825beb6baf1a8e532dc22214747495317a65bd9-skia-m103-b301ff025004c9cd82816c86c547588e6c24b466.tar.xz"; 799 778 } 800 779 { 801 780 name = "libstaroffice-0.0.7.tar.xz"; ··· 880 859 sha256 = "653d9e44195d86cf64a36af9ff3a1978ec5599df3882439fefa56e7064f55e8a"; 881 860 md5 = ""; 882 861 md5name = "653d9e44195d86cf64a36af9ff3a1978ec5599df3882439fefa56e7064f55e8a-zxing-cpp-1.2.0.tar.gz"; 883 - } 884 - { 885 - name = "libcuckoo-93217f8d391718380c508a722ab9acd5e9081233.tar.gz"; 886 - url = "https://dev-www.libreoffice.org/src/libcuckoo-93217f8d391718380c508a722ab9acd5e9081233.tar.gz"; 887 - sha256 = "471dd83a813ed2816c2246c373004470ad0f6612c7ce72038929dc5161cdd58e"; 888 - md5 = ""; 889 - md5name = "471dd83a813ed2816c2246c373004470ad0f6612c7ce72038929dc5161cdd58e-libcuckoo-93217f8d391718380c508a722ab9acd5e9081233.tar.gz"; 890 862 } 891 863 ]
+2 -3
pkgs/applications/office/libreoffice/src-fresh/override.nix
··· 16 16 sed -e '/CPPUNIT_ASSERT_EQUAL(22, nEndRunPos);/d' -i './vcl/qa/cppunit/text.cxx' 17 17 ''; 18 18 configureFlags = attrs.configureFlags ++ [ 19 - (lib.enableFeature kdeIntegration "kf5") 20 - "--without-system-zxing" 21 - "--without-system-cuckoo" 19 + "--without-system-dragonbox" 20 + "--without-system-libfixmath" 22 21 ]; 23 22 }
+6 -6
pkgs/applications/office/libreoffice/src-fresh/primary.nix
··· 7 7 }; 8 8 9 9 major = "7"; 10 - minor = "3"; 11 - patch = "3"; 12 - tweak = "2"; 10 + minor = "4"; 11 + patch = "2"; 12 + tweak = "3"; 13 13 14 14 subdir = "${major}.${minor}.${patch}"; 15 15 ··· 17 17 18 18 src = fetchurl { 19 19 url = "https://download.documentfoundation.org/libreoffice/src/${subdir}/libreoffice-${version}.tar.xz"; 20 - sha256 = "sha256-7hK9vhYhwg4nRLxbbFlngQ8lpXYLmKxYEtVQqwCWhoU="; 20 + hash = "sha256-gsH/4C8u2O4UUan2fDUzWyemONtZH5vFOe/4arFN2Vo="; 21 21 }; 22 22 23 23 # FIXME rename 24 24 translations = fetchSrc { 25 25 name = "translations"; 26 - sha256 = "sha256-uRsKSC+kLVnhYF85o5FxZuf/dr+o6bYtbu8KmwSzNRw="; 26 + sha256 = "sha256-yAU/hjyVwxqDoHm7Lu/Ztmb/1Z5AxDRAmMBKkkpU9uE="; 27 27 }; 28 28 29 29 # the "dictionaries" archive is not used for LO build because we already build hunspellDicts packages from ··· 31 31 32 32 help = fetchSrc { 33 33 name = "help"; 34 - sha256 = "sha256-aIY07MuALBVklhJLOUwOxeIQWam2zQCVkw+edvnu/ps="; 34 + sha256 = "sha256-T57V3Z2LOUvkQt24b1fLeHRigtiG4Nw1rdNuizQXD1w="; 35 35 }; 36 36 }
+125 -125
pkgs/applications/office/libreoffice/src-still/download.nix
··· 21 21 md5name = "976a12a59bc286d634a21d7be0841cc74289ea9077aa1af46be19d1a6e844c19-apr-util-1.5.4.tar.gz"; 22 22 } 23 23 { 24 - name = "boost_1_75_0.tar.xz"; 25 - url = "https://dev-www.libreoffice.org/src/boost_1_75_0.tar.xz"; 26 - sha256 = "cc378a036a1cfd3af289f3da24deeb8dba7a729f61ab104c7b018a622e22d21b"; 24 + name = "boost_1_77_0.tar.xz"; 25 + url = "https://dev-www.libreoffice.org/src/boost_1_77_0.tar.xz"; 26 + sha256 = "9b334d6c6d7af5a0687280788cd84444398b8e0b472cd88e52bbc3c3ef11d98e"; 27 27 md5 = ""; 28 - md5name = "cc378a036a1cfd3af289f3da24deeb8dba7a729f61ab104c7b018a622e22d21b-boost_1_75_0.tar.xz"; 28 + md5name = "9b334d6c6d7af5a0687280788cd84444398b8e0b472cd88e52bbc3c3ef11d98e-boost_1_77_0.tar.xz"; 29 29 } 30 30 { 31 31 name = "box2d-2.3.1.tar.gz"; ··· 56 56 md5name = "ab5a03176ee106d3f0fa90e381da478ddae405918153cca248e682cd0c4a2269-bzip2-1.0.8.tar.gz"; 57 57 } 58 58 { 59 - name = "cairo-1.16.0.tar.xz"; 60 - url = "https://dev-www.libreoffice.org/src/cairo-1.16.0.tar.xz"; 61 - sha256 = "5e7b29b3f113ef870d1e3ecf8adf21f923396401604bda16d44be45e66052331"; 59 + name = "cairo-1.17.4.tar.xz"; 60 + url = "https://dev-www.libreoffice.org/src/cairo-1.17.4.tar.xz"; 61 + sha256 = "74b24c1ed436bbe87499179a3b27c43f4143b8676d8ad237a6fa787401959705"; 62 62 md5 = ""; 63 - md5name = "5e7b29b3f113ef870d1e3ecf8adf21f923396401604bda16d44be45e66052331-cairo-1.16.0.tar.xz"; 63 + md5name = "74b24c1ed436bbe87499179a3b27c43f4143b8676d8ad237a6fa787401959705-cairo-1.17.4.tar.xz"; 64 64 } 65 65 { 66 66 name = "libcdr-0.1.7.tar.xz"; ··· 112 112 md5name = "1f467e5bb703f12cbbb09d5cf67ecf4a-converttexttonumber-1-5-0.oxt"; 113 113 } 114 114 { 115 - name = "curl-7.79.1.tar.xz"; 116 - url = "https://dev-www.libreoffice.org/src/curl-7.79.1.tar.xz"; 117 - sha256 = "0606f74b1182ab732a17c11613cbbaf7084f2e6cca432642d0e3ad7c224c3689"; 115 + name = "curl-7.83.1.tar.xz"; 116 + url = "https://dev-www.libreoffice.org/src/curl-7.83.1.tar.xz"; 117 + sha256 = "2cb9c2356e7263a1272fd1435ef7cdebf2cd21400ec287b068396deb705c22c4"; 118 118 md5 = ""; 119 - md5name = "0606f74b1182ab732a17c11613cbbaf7084f2e6cca432642d0e3ad7c224c3689-curl-7.79.1.tar.xz"; 119 + md5name = "2cb9c2356e7263a1272fd1435ef7cdebf2cd21400ec287b068396deb705c22c4-curl-7.83.1.tar.xz"; 120 120 } 121 121 { 122 122 name = "libe-book-0.1.3.tar.xz"; ··· 126 126 md5name = "7e8d8ff34f27831aca3bc6f9cc532c2f90d2057c778963b884ff3d1e34dfe1f9-libe-book-0.1.3.tar.xz"; 127 127 } 128 128 { 129 - name = "libepoxy-1.5.3.tar.xz"; 130 - url = "https://dev-www.libreoffice.org/src/libepoxy-1.5.3.tar.xz"; 131 - sha256 = "002958c5528321edd53440235d3c44e71b5b1e09b9177e8daf677450b6c4433d"; 129 + name = "libepoxy-1.5.9.tar.xz"; 130 + url = "https://dev-www.libreoffice.org/src/libepoxy-1.5.9.tar.xz"; 131 + sha256 = "d168a19a6edfdd9977fef1308ccf516079856a4275cf876de688fb7927e365e4"; 132 132 md5 = ""; 133 - md5name = "002958c5528321edd53440235d3c44e71b5b1e09b9177e8daf677450b6c4433d-libepoxy-1.5.3.tar.xz"; 133 + md5name = "d168a19a6edfdd9977fef1308ccf516079856a4275cf876de688fb7927e365e4-libepoxy-1.5.9.tar.xz"; 134 134 } 135 135 { 136 136 name = "epm-3.7.tar.gz"; ··· 168 168 md5name = "acb85cedafa10ce106b1823fb236b1b3e5d942a5741e8f8435cc8ccfec0afe76-Firebird-3.0.7.33374-0.tar.bz2"; 169 169 } 170 170 { 171 - name = "fontconfig-2.13.91.tar.gz"; 172 - url = "https://dev-www.libreoffice.org/src/fontconfig-2.13.91.tar.gz"; 173 - sha256 = "19e5b1bc9d013a52063a44e1307629711f0bfef35b9aca16f9c793971e2eb1e5"; 171 + name = "fontconfig-2.13.94.tar.xz"; 172 + url = "https://dev-www.libreoffice.org/src/fontconfig-2.13.94.tar.xz"; 173 + sha256 = "a5f052cb73fd479ffb7b697980510903b563bbb55b8f7a2b001fcfb94026003c"; 174 174 md5 = ""; 175 - md5name = "19e5b1bc9d013a52063a44e1307629711f0bfef35b9aca16f9c793971e2eb1e5-fontconfig-2.13.91.tar.gz"; 175 + md5name = "a5f052cb73fd479ffb7b697980510903b563bbb55b8f7a2b001fcfb94026003c-fontconfig-2.13.94.tar.xz"; 176 176 } 177 177 { 178 178 name = "crosextrafonts-20130214.tar.gz"; ··· 280 280 md5name = "b98b67602a2c8880a1770f0b9e37c190f29a7e2ade5616784f0b89fbdb75bf52-alef-1.001.tar.gz"; 281 281 } 282 282 { 283 - name = "Amiri-0.111.zip"; 284 - url = "https://dev-www.libreoffice.org/src/Amiri-0.111.zip"; 285 - sha256 = "1fbfccced6348b5db2c1c21d5b319cd488e14d055702fa817a0f6cb83d882166"; 283 + name = "Amiri-0.117.zip"; 284 + url = "https://dev-www.libreoffice.org/src/Amiri-0.117.zip"; 285 + sha256 = "9c4e768893e0023a0ad6f488d5c84bd5add6565d3dcadb838ba5b20e75fcc9a7"; 286 286 md5 = ""; 287 - md5name = "1fbfccced6348b5db2c1c21d5b319cd488e14d055702fa817a0f6cb83d882166-Amiri-0.111.zip"; 287 + md5name = "9c4e768893e0023a0ad6f488d5c84bd5add6565d3dcadb838ba5b20e75fcc9a7-Amiri-0.117.zip"; 288 288 } 289 289 { 290 290 name = "ttf-kacst_2.01+mry.tar.gz"; ··· 294 294 md5name = "dca00f5e655f2f217a766faa73a81f542c5c204aa3a47017c3c2be0b31d00a56-ttf-kacst_2.01+mry.tar.gz"; 295 295 } 296 296 { 297 - name = "ReemKufi-0.7.zip"; 298 - url = "https://dev-www.libreoffice.org/src/ReemKufi-0.7.zip"; 299 - sha256 = "f60c6508d209ce4236d2d7324256c2ffddd480be7e3d6023770b93dc391a605f"; 297 + name = "ReemKufi-1.2.zip"; 298 + url = "https://dev-www.libreoffice.org/src/ReemKufi-1.2.zip"; 299 + sha256 = "c4fd68a23c0ea471cc084ae7efe888da372b925cb208eeb0322c26792d2ef413"; 300 300 md5 = ""; 301 - md5name = "f60c6508d209ce4236d2d7324256c2ffddd480be7e3d6023770b93dc391a605f-ReemKufi-0.7.zip"; 301 + md5name = "c4fd68a23c0ea471cc084ae7efe888da372b925cb208eeb0322c26792d2ef413-ReemKufi-1.2.zip"; 302 302 } 303 303 { 304 304 name = "Scheherazade-2.100.zip"; ··· 315 315 md5name = "0e422d1564a6dbf22a9af598535425271e583514c0f7ba7d9091676420de34ac-libfreehand-0.1.2.tar.xz"; 316 316 } 317 317 { 318 - name = "freetype-2.9.1.tar.bz2"; 319 - url = "https://dev-www.libreoffice.org/src/freetype-2.9.1.tar.bz2"; 320 - sha256 = "db8d87ea720ea9d5edc5388fc7a0497bb11ba9fe972245e0f7f4c7e8b1e1e84d"; 318 + name = "freetype-2.11.0.tar.xz"; 319 + url = "https://dev-www.libreoffice.org/src/freetype-2.11.0.tar.xz"; 320 + sha256 = "8bee39bd3968c4804b70614a0a3ad597299ad0e824bc8aad5ce8aaf48067bde7"; 321 321 md5 = ""; 322 - md5name = "db8d87ea720ea9d5edc5388fc7a0497bb11ba9fe972245e0f7f4c7e8b1e1e84d-freetype-2.9.1.tar.bz2"; 322 + md5name = "8bee39bd3968c4804b70614a0a3ad597299ad0e824bc8aad5ce8aaf48067bde7-freetype-2.11.0.tar.xz"; 323 323 } 324 324 { 325 - name = "glm-0.9.9.7.zip"; 326 - url = "https://dev-www.libreoffice.org/src/glm-0.9.9.7.zip"; 327 - sha256 = "c5e167c042afd2d7ad642ace6b643863baeb33880781983563e1ab68a30d3e95"; 325 + name = "glm-0.9.9.8.zip"; 326 + url = "https://dev-www.libreoffice.org/src/glm-0.9.9.8.zip"; 327 + sha256 = "6bba5f032bed47c73ad9397f2313b9acbfb56253d0d0576b5873d3dcb25e99ad"; 328 328 md5 = ""; 329 - md5name = "c5e167c042afd2d7ad642ace6b643863baeb33880781983563e1ab68a30d3e95-glm-0.9.9.7.zip"; 329 + md5name = "6bba5f032bed47c73ad9397f2313b9acbfb56253d0d0576b5873d3dcb25e99ad-glm-0.9.9.8.zip"; 330 330 } 331 331 { 332 - name = "gpgme-1.13.1.tar.bz2"; 333 - url = "https://dev-www.libreoffice.org/src/gpgme-1.13.1.tar.bz2"; 334 - sha256 = "c4e30b227682374c23cddc7fdb9324a99694d907e79242a25a4deeedb393be46"; 332 + name = "gpgme-1.16.0.tar.bz2"; 333 + url = "https://dev-www.libreoffice.org/src/gpgme-1.16.0.tar.bz2"; 334 + sha256 = "6c8cc4aedb10d5d4c905894ba1d850544619ee765606ac43df7405865de29ed0"; 335 335 md5 = ""; 336 - md5name = "c4e30b227682374c23cddc7fdb9324a99694d907e79242a25a4deeedb393be46-gpgme-1.13.1.tar.bz2"; 336 + md5name = "6c8cc4aedb10d5d4c905894ba1d850544619ee765606ac43df7405865de29ed0-gpgme-1.16.0.tar.bz2"; 337 337 } 338 338 { 339 339 name = "graphite2-minimal-1.3.14.tgz"; ··· 343 343 md5name = "b8e892d8627c41888ff121e921455b9e2d26836978f2359173d19825da62b8fc-graphite2-minimal-1.3.14.tgz"; 344 344 } 345 345 { 346 - name = "harfbuzz-2.6.0.tar.xz"; 347 - url = "https://dev-www.libreoffice.org/src/harfbuzz-2.6.0.tar.xz"; 348 - sha256 = "9cf7d117548265f95ca884e2f4c9fafaf4e17d45a67b11107147b79eed76c966"; 346 + name = "harfbuzz-2.8.2.tar.xz"; 347 + url = "https://dev-www.libreoffice.org/src/harfbuzz-2.8.2.tar.xz"; 348 + sha256 = "d58461395ce28b9dc03903254374dd70c38c8c28c5046db123c08f7ab9417be7"; 349 349 md5 = ""; 350 - md5name = "9cf7d117548265f95ca884e2f4c9fafaf4e17d45a67b11107147b79eed76c966-harfbuzz-2.6.0.tar.xz"; 350 + md5name = "d58461395ce28b9dc03903254374dd70c38c8c28c5046db123c08f7ab9417be7-harfbuzz-2.8.2.tar.xz"; 351 351 } 352 352 { 353 353 name = "hsqldb_1_8_0.zip"; ··· 371 371 md5name = "5ade6ae2a99bc1e9e57031ca88d36dad-hyphen-2.8.8.tar.gz"; 372 372 } 373 373 { 374 - name = "icu4c-69_1-src.tgz"; 375 - url = "https://dev-www.libreoffice.org/src/icu4c-69_1-src.tgz"; 376 - sha256 = "4cba7b7acd1d3c42c44bb0c14be6637098c7faf2b330ce876bc5f3b915d09745"; 374 + name = "icu4c-70_1-src.tgz"; 375 + url = "https://dev-www.libreoffice.org/src/icu4c-70_1-src.tgz"; 376 + sha256 = "8d205428c17bf13bb535300669ed28b338a157b1c01ae66d31d0d3e2d47c3fd5"; 377 377 md5 = ""; 378 - md5name = "4cba7b7acd1d3c42c44bb0c14be6637098c7faf2b330ce876bc5f3b915d09745-icu4c-69_1-src.tgz"; 378 + md5name = "8d205428c17bf13bb535300669ed28b338a157b1c01ae66d31d0d3e2d47c3fd5-icu4c-70_1-src.tgz"; 379 379 } 380 380 { 381 - name = "icu4c-69_1-data.zip"; 382 - url = "https://dev-www.libreoffice.org/src/icu4c-69_1-data.zip"; 383 - sha256 = "4fc2d8cfc3343673123586fca3967404abd4e346fba5515829204533b3bae4bf"; 381 + name = "icu4c-70_1-data.zip"; 382 + url = "https://dev-www.libreoffice.org/src/icu4c-70_1-data.zip"; 383 + sha256 = "c72723ddba3300ffb231d6b09e2a728ea6e89de10ed5927f74bacbd77042336e"; 384 384 md5 = ""; 385 - md5name = "4fc2d8cfc3343673123586fca3967404abd4e346fba5515829204533b3bae4bf-icu4c-69_1-data.zip"; 385 + md5name = "c72723ddba3300ffb231d6b09e2a728ea6e89de10ed5927f74bacbd77042336e-icu4c-70_1-data.zip"; 386 386 } 387 387 { 388 388 name = "flow-engine-0.9.4.zip"; ··· 462 462 md5name = "39bb3fcea1514f1369fcfc87542390fd-sacjava-1.3.zip"; 463 463 } 464 464 { 465 - name = "libjpeg-turbo-1.5.3.tar.gz"; 466 - url = "https://dev-www.libreoffice.org/src/libjpeg-turbo-1.5.3.tar.gz"; 467 - sha256 = "b24890e2bb46e12e72a79f7e965f409f4e16466d00e1dd15d93d73ee6b592523"; 465 + name = "libjpeg-turbo-2.1.1.tar.gz"; 466 + url = "https://dev-www.libreoffice.org/src/libjpeg-turbo-2.1.1.tar.gz"; 467 + sha256 = "20e9cd3e5f517950dfb7a300ad344543d88719c254407ffb5ad88d891bf701c4"; 468 468 md5 = ""; 469 - md5name = "b24890e2bb46e12e72a79f7e965f409f4e16466d00e1dd15d93d73ee6b592523-libjpeg-turbo-1.5.3.tar.gz"; 469 + md5name = "20e9cd3e5f517950dfb7a300ad344543d88719c254407ffb5ad88d891bf701c4-libjpeg-turbo-2.1.1.tar.gz"; 470 470 } 471 471 { 472 472 name = "language-subtag-registry-2021-12-29.tar.bz2"; ··· 483 483 md5name = "b63e6340a02ff1cacfeadb2c42286161-JLanguageTool-1.7.0.tar.bz2"; 484 484 } 485 485 { 486 - name = "lcms2-2.11.tar.gz"; 487 - url = "https://dev-www.libreoffice.org/src/lcms2-2.11.tar.gz"; 488 - sha256 = "dc49b9c8e4d7cdff376040571a722902b682a795bf92985a85b48854c270772e"; 486 + name = "lcms2-2.12.tar.gz"; 487 + url = "https://dev-www.libreoffice.org/src/lcms2-2.12.tar.gz"; 488 + sha256 = "18663985e864100455ac3e507625c438c3710354d85e5cbb7cd4043e11fe10f5"; 489 489 md5 = ""; 490 - md5name = "dc49b9c8e4d7cdff376040571a722902b682a795bf92985a85b48854c270772e-lcms2-2.11.tar.gz"; 490 + md5name = "18663985e864100455ac3e507625c438c3710354d85e5cbb7cd4043e11fe10f5-lcms2-2.12.tar.gz"; 491 491 } 492 492 { 493 - name = "libassuan-2.5.3.tar.bz2"; 494 - url = "https://dev-www.libreoffice.org/src/libassuan-2.5.3.tar.bz2"; 495 - sha256 = "91bcb0403866b4e7c4bc1cc52ed4c364a9b5414b3994f718c70303f7f765e702"; 493 + name = "libassuan-2.5.5.tar.bz2"; 494 + url = "https://dev-www.libreoffice.org/src/libassuan-2.5.5.tar.bz2"; 495 + sha256 = "8e8c2fcc982f9ca67dcbb1d95e2dc746b1739a4668bc20b3a3c5be632edb34e4"; 496 496 md5 = ""; 497 - md5name = "91bcb0403866b4e7c4bc1cc52ed4c364a9b5414b3994f718c70303f7f765e702-libassuan-2.5.3.tar.bz2"; 497 + md5name = "8e8c2fcc982f9ca67dcbb1d95e2dc746b1739a4668bc20b3a3c5be632edb34e4-libassuan-2.5.5.tar.bz2"; 498 498 } 499 499 { 500 500 name = "libatomic_ops-7.6.8.tar.gz"; ··· 511 511 md5name = "cf5091fa8e7dcdbe667335eb90a2cfdd0a3fe8f8c7c8d1ece44d9d055736a06a-libeot-0.01.tar.bz2"; 512 512 } 513 513 { 514 - name = "libexttextcat-3.4.5.tar.xz"; 515 - url = "https://dev-www.libreoffice.org/src/libexttextcat-3.4.5.tar.xz"; 516 - sha256 = "13fdbc9d4c489a4d0519e51933a1aa21fe3fb9eb7da191b87f7a63e82797dac8"; 514 + name = "libexttextcat-3.4.6.tar.xz"; 515 + url = "https://dev-www.libreoffice.org/src/libexttextcat-3.4.6.tar.xz"; 516 + sha256 = "6d77eace20e9ea106c1330e268ede70c9a4a89744ddc25715682754eca3368df"; 517 517 md5 = ""; 518 - md5name = "13fdbc9d4c489a4d0519e51933a1aa21fe3fb9eb7da191b87f7a63e82797dac8-libexttextcat-3.4.5.tar.xz"; 518 + md5name = "6d77eace20e9ea106c1330e268ede70c9a4a89744ddc25715682754eca3368df-libexttextcat-3.4.6.tar.xz"; 519 519 } 520 520 { 521 521 name = "libffi-3.3.tar.gz"; ··· 525 525 md5name = "72fba7922703ddfa7a028d513ac15a85c8d54c8d67f55fa5a4802885dc652056-libffi-3.3.tar.gz"; 526 526 } 527 527 { 528 - name = "libgpg-error-1.37.tar.bz2"; 529 - url = "https://dev-www.libreoffice.org/src/libgpg-error-1.37.tar.bz2"; 530 - sha256 = "b32d6ff72a73cf79797f7f2d039e95e9c6f92f0c1450215410840ab62aea9763"; 528 + name = "libgpg-error-1.43.tar.bz2"; 529 + url = "https://dev-www.libreoffice.org/src/libgpg-error-1.43.tar.bz2"; 530 + sha256 = "a9ab83ca7acc442a5bd846a75b920285ff79bdb4e3d34aa382be88ed2c3aebaf"; 531 531 md5 = ""; 532 - md5name = "b32d6ff72a73cf79797f7f2d039e95e9c6f92f0c1450215410840ab62aea9763-libgpg-error-1.37.tar.bz2"; 532 + md5name = "a9ab83ca7acc442a5bd846a75b920285ff79bdb4e3d34aa382be88ed2c3aebaf-libgpg-error-1.43.tar.bz2"; 533 533 } 534 534 { 535 - name = "liblangtag-0.6.2.tar.bz2"; 536 - url = "https://dev-www.libreoffice.org/src/liblangtag-0.6.2.tar.bz2"; 537 - sha256 = "d6242790324f1432fb0a6fae71b6851f520b2c5a87675497cf8ea14c2924d52e"; 535 + name = "liblangtag-0.6.3.tar.bz2"; 536 + url = "https://dev-www.libreoffice.org/src/liblangtag-0.6.3.tar.bz2"; 537 + sha256 = "1f12a20a02ec3a8d22e54dedb8b683a43c9c160bda1ba337bf1060607ae733bd"; 538 538 md5 = ""; 539 - md5name = "d6242790324f1432fb0a6fae71b6851f520b2c5a87675497cf8ea14c2924d52e-liblangtag-0.6.2.tar.bz2"; 539 + md5name = "1f12a20a02ec3a8d22e54dedb8b683a43c9c160bda1ba337bf1060607ae733bd-liblangtag-0.6.3.tar.bz2"; 540 540 } 541 541 { 542 - name = "libnumbertext-1.0.7.tar.xz"; 543 - url = "https://dev-www.libreoffice.org/src/libnumbertext-1.0.7.tar.xz"; 544 - sha256 = "17b8249cb89ae11ae15a85612d2665626c0e0e3e56b35654363ba6566d8b61fc"; 542 + name = "libnumbertext-1.0.10.tar.xz"; 543 + url = "https://dev-www.libreoffice.org/src/libnumbertext-1.0.10.tar.xz"; 544 + sha256 = "a285573864eaac8d36a0f66d946e9b1d3cf01c5d93d31fda00264a76f2633beb"; 545 545 md5 = ""; 546 - md5name = "17b8249cb89ae11ae15a85612d2665626c0e0e3e56b35654363ba6566d8b61fc-libnumbertext-1.0.7.tar.xz"; 546 + md5name = "a285573864eaac8d36a0f66d946e9b1d3cf01c5d93d31fda00264a76f2633beb-libnumbertext-1.0.10.tar.xz"; 547 547 } 548 548 { 549 549 name = "ltm-1.0.zip"; ··· 553 553 md5name = "083daa92d8ee6f4af96a6143b12d7fc8fe1a547e14f862304f7281f8f7347483-ltm-1.0.zip"; 554 554 } 555 555 { 556 - name = "xmlsec1-1.2.32.tar.gz"; 557 - url = "https://dev-www.libreoffice.org/src/xmlsec1-1.2.32.tar.gz"; 558 - sha256 = "e383702853236004e5b08e424b8afe9b53fe9f31aaa7a5382f39d9533eb7c043"; 556 + name = "xmlsec1-1.2.33.tar.gz"; 557 + url = "https://dev-www.libreoffice.org/src/xmlsec1-1.2.33.tar.gz"; 558 + sha256 = "26041d35a20a245ed5a2fb9ee075f10825664d274220cb5190340fa87a4d0931"; 559 559 md5 = ""; 560 - md5name = "e383702853236004e5b08e424b8afe9b53fe9f31aaa7a5382f39d9533eb7c043-xmlsec1-1.2.32.tar.gz"; 560 + md5name = "26041d35a20a245ed5a2fb9ee075f10825664d274220cb5190340fa87a4d0931-xmlsec1-1.2.33.tar.gz"; 561 561 } 562 562 { 563 - name = "libxml2-2.9.13.tar.xz"; 564 - url = "https://dev-www.libreoffice.org/src/libxml2-2.9.13.tar.xz"; 565 - sha256 = "276130602d12fe484ecc03447ee5e759d0465558fbc9d6bd144e3745306ebf0e"; 563 + name = "libxml2-2.9.14.tar.xz"; 564 + url = "https://dev-www.libreoffice.org/src/libxml2-2.9.14.tar.xz"; 565 + sha256 = "60d74a257d1ccec0475e749cba2f21559e48139efba6ff28224357c7c798dfee"; 566 566 md5 = ""; 567 - md5name = "276130602d12fe484ecc03447ee5e759d0465558fbc9d6bd144e3745306ebf0e-libxml2-2.9.13.tar.xz"; 567 + md5name = "60d74a257d1ccec0475e749cba2f21559e48139efba6ff28224357c7c798dfee-libxml2-2.9.14.tar.xz"; 568 568 } 569 569 { 570 570 name = "libxslt-1.1.35.tar.xz"; ··· 595 595 md5name = "431434d3926f4bcce2e5c97240609983f60d7ff50df5a72083934759bb863f7b-mariadb-connector-c-3.1.8-src.tar.gz"; 596 596 } 597 597 { 598 - name = "mdds-1.7.0.tar.bz2"; 599 - url = "https://dev-www.libreoffice.org/src/mdds-1.7.0.tar.bz2"; 600 - sha256 = "a66a2a8293a3abc6cd9baff7c236156e2666935cbfb69a15d64d38141638fecf"; 598 + name = "mdds-2.0.3.tar.bz2"; 599 + url = "https://dev-www.libreoffice.org/src/mdds-2.0.3.tar.bz2"; 600 + sha256 = "9771fe42e133443c13ca187253763e17c8bc96a1a02aec9e1e8893367ffa9ce5"; 601 601 md5 = ""; 602 - md5name = "a66a2a8293a3abc6cd9baff7c236156e2666935cbfb69a15d64d38141638fecf-mdds-1.7.0.tar.bz2"; 602 + md5name = "9771fe42e133443c13ca187253763e17c8bc96a1a02aec9e1e8893367ffa9ce5-mdds-2.0.3.tar.bz2"; 603 603 } 604 604 { 605 605 name = "mDNSResponder-878.200.35.tar.gz"; ··· 616 616 md5name = "ef36c1a1aabb2ba3b0bedaaafe717bf4480be2ba8de6f3894be5fd3702b013ba-libmspub-0.1.4.tar.xz"; 617 617 } 618 618 { 619 - name = "libmwaw-0.3.19.tar.xz"; 620 - url = "https://dev-www.libreoffice.org/src/libmwaw-0.3.19.tar.xz"; 621 - sha256 = "b272e234eefc828c4bb8344af0f047a62e070f530e9e2fba11b04c8db8eda5af"; 619 + name = "libmwaw-0.3.21.tar.xz"; 620 + url = "https://dev-www.libreoffice.org/src/libmwaw-0.3.21.tar.xz"; 621 + sha256 = "e8750123a78d61b943cef78b7736c8a7f20bb0a649aa112402124fba794fc21c"; 622 622 md5 = ""; 623 - md5name = "b272e234eefc828c4bb8344af0f047a62e070f530e9e2fba11b04c8db8eda5af-libmwaw-0.3.19.tar.xz"; 623 + md5name = "e8750123a78d61b943cef78b7736c8a7f20bb0a649aa112402124fba794fc21c-libmwaw-0.3.21.tar.xz"; 624 624 } 625 625 { 626 626 name = "mythes-1.2.4.tar.gz"; ··· 637 637 md5name = "cf1ee3ac27a215814a9c80803fcee4f0ede8466ebead40267a9bd115e16a8678-neon-0.31.2.tar.gz"; 638 638 } 639 639 { 640 - name = "nss-3.73-with-nspr-4.32.tar.gz"; 641 - url = "https://dev-www.libreoffice.org/src/nss-3.73-with-nspr-4.32.tar.gz"; 642 - sha256 = "07a9e5b70f121a62706140d4cacc3006d3efb869da40f3a2bf7a65d37847f4d9"; 640 + name = "nss-3.79-with-nspr-4.34.tar.gz"; 641 + url = "https://dev-www.libreoffice.org/src/nss-3.79-with-nspr-4.34.tar.gz"; 642 + sha256 = "5369ed274a19f480ec94e1faef04da63e3cbac1a82e15bb1751e58b2f274b835"; 643 643 md5 = ""; 644 - md5name = "07a9e5b70f121a62706140d4cacc3006d3efb869da40f3a2bf7a65d37847f4d9-nss-3.73-with-nspr-4.32.tar.gz"; 644 + md5name = "5369ed274a19f480ec94e1faef04da63e3cbac1a82e15bb1751e58b2f274b835-nss-3.79-with-nspr-4.34.tar.gz"; 645 645 } 646 646 { 647 647 name = "libodfgen-0.1.8.tar.xz"; ··· 679 679 md5name = "0b7a3e5e59c34827fe0c3a74b7ec8baef302b98fa80088d7f9153aa16fa76bd1-openssl-1.1.1l.tar.gz"; 680 680 } 681 681 { 682 - name = "liborcus-0.16.1.tar.bz2"; 683 - url = "https://dev-www.libreoffice.org/src/liborcus-0.16.1.tar.bz2"; 684 - sha256 = "c700d1325f744104d9fca0d5a019434901e9d51a16eedfb05792f90a298587a4"; 682 + name = "liborcus-0.17.2.tar.bz2"; 683 + url = "https://dev-www.libreoffice.org/src/liborcus-0.17.2.tar.bz2"; 684 + sha256 = "2a86c405a5929f749b27637509596421d46805753364ab258b035fd01fbde143"; 685 685 md5 = ""; 686 - md5name = "c700d1325f744104d9fca0d5a019434901e9d51a16eedfb05792f90a298587a4-liborcus-0.16.1.tar.bz2"; 686 + md5name = "2a86c405a5929f749b27637509596421d46805753364ab258b035fd01fbde143-liborcus-0.17.2.tar.bz2"; 687 687 } 688 688 { 689 689 name = "libpagemaker-0.0.4.tar.xz"; ··· 693 693 md5name = "66adacd705a7d19895e08eac46d1e851332adf2e736c566bef1164e7a442519d-libpagemaker-0.0.4.tar.xz"; 694 694 } 695 695 { 696 - name = "pdfium-4500.tar.bz2"; 697 - url = "https://dev-www.libreoffice.org/src/pdfium-4500.tar.bz2"; 698 - sha256 = "26a03dd60e5ed0979cdaba9cc848242895110ddfdf347d40989ce2f14020f304"; 696 + name = "pdfium-4699.tar.bz2"; 697 + url = "https://dev-www.libreoffice.org/src/pdfium-4699.tar.bz2"; 698 + sha256 = "ee80fe0a3b20ef5c5babc494cd655d1b1a0bdec710acb04524789df500c563bf"; 699 699 md5 = ""; 700 - md5name = "26a03dd60e5ed0979cdaba9cc848242895110ddfdf347d40989ce2f14020f304-pdfium-4500.tar.bz2"; 700 + md5name = "ee80fe0a3b20ef5c5babc494cd655d1b1a0bdec710acb04524789df500c563bf-pdfium-4699.tar.bz2"; 701 701 } 702 702 { 703 - name = "pixman-0.34.0.tar.gz"; 704 - url = "https://dev-www.libreoffice.org/src/e80ebae4da01e77f68744319f01d52a3-pixman-0.34.0.tar.gz"; 705 - sha256 = "21b6b249b51c6800dc9553b65106e1e37d0e25df942c90531d4c3997aa20a88e"; 706 - md5 = "e80ebae4da01e77f68744319f01d52a3"; 707 - md5name = "e80ebae4da01e77f68744319f01d52a3-pixman-0.34.0.tar.gz"; 703 + name = "pixman-0.40.0.tar.gz"; 704 + url = "https://dev-www.libreoffice.org/src/pixman-0.40.0.tar.gz"; 705 + sha256 = "6d200dec3740d9ec4ec8d1180e25779c00bc749f94278c8b9021f5534db223fc"; 706 + md5 = ""; 707 + md5name = "6d200dec3740d9ec4ec8d1180e25779c00bc749f94278c8b9021f5534db223fc-pixman-0.40.0.tar.gz"; 708 708 } 709 709 { 710 710 name = "libpng-1.6.37.tar.xz"; ··· 791 791 md5name = "549c2d21c577a8a9c0450facb5cca809f26591f048e466552240947bdf7a87cc-serf-1.3.9.tar.bz2"; 792 792 } 793 793 { 794 - name = "skia-m90-45c57e116ee0ce214bdf78405a4762722e4507d9.tar.xz"; 795 - url = "https://dev-www.libreoffice.org/src/skia-m90-45c57e116ee0ce214bdf78405a4762722e4507d9.tar.xz"; 796 - sha256 = "abe0b94d54edb717c58d74263f4ed3d27824d2ce9e9f2ce85a21ab38d993f94d"; 794 + name = "skia-m97-a7230803d64ae9d44f4e1282444801119a3ae967.tar.xz"; 795 + url = "https://dev-www.libreoffice.org/src/skia-m97-a7230803d64ae9d44f4e1282444801119a3ae967.tar.xz"; 796 + sha256 = "97e859e8467eca9d2441cd23079b61c2c3863b5687620f18cc31a9f966740177"; 797 797 md5 = ""; 798 - md5name = "abe0b94d54edb717c58d74263f4ed3d27824d2ce9e9f2ce85a21ab38d993f94d-skia-m90-45c57e116ee0ce214bdf78405a4762722e4507d9.tar.xz"; 798 + md5name = "97e859e8467eca9d2441cd23079b61c2c3863b5687620f18cc31a9f966740177-skia-m97-a7230803d64ae9d44f4e1282444801119a3ae967.tar.xz"; 799 799 } 800 800 { 801 801 name = "libstaroffice-0.0.7.tar.xz"; ··· 861 861 md5name = "a7983f859eafb2677d7ff386a023bc40-xsltml_2.1.2.zip"; 862 862 } 863 863 { 864 - name = "zlib-1.2.11.tar.xz"; 865 - url = "https://dev-www.libreoffice.org/src/zlib-1.2.11.tar.xz"; 866 - sha256 = "4ff941449631ace0d4d203e3483be9dbc9da454084111f97ea0a2114e19bf066"; 864 + name = "zlib-1.2.12.tar.xz"; 865 + url = "https://dev-www.libreoffice.org/src/zlib-1.2.12.tar.xz"; 866 + sha256 = "7db46b8d7726232a621befaab4a1c870f00a90805511c0e0090441dac57def18"; 867 867 md5 = ""; 868 - md5name = "4ff941449631ace0d4d203e3483be9dbc9da454084111f97ea0a2114e19bf066-zlib-1.2.11.tar.xz"; 868 + md5name = "7db46b8d7726232a621befaab4a1c870f00a90805511c0e0090441dac57def18-zlib-1.2.12.tar.xz"; 869 869 } 870 870 { 871 871 name = "libzmf-0.0.2.tar.xz"; ··· 875 875 md5name = "27051a30cb057fdb5d5de65a1f165c7153dc76e27fe62251cbb86639eb2caf22-libzmf-0.0.2.tar.xz"; 876 876 } 877 877 { 878 - name = "zxing-cpp-1.1.1.tar.gz"; 879 - url = "https://dev-www.libreoffice.org/src/zxing-cpp-1.1.1.tar.gz"; 880 - sha256 = "e595b3fa2ec320beb0b28f6af56b1141853257c2611686685639cebb3b248c86"; 878 + name = "zxing-cpp-1.2.0.tar.gz"; 879 + url = "https://dev-www.libreoffice.org/src/zxing-cpp-1.2.0.tar.gz"; 880 + sha256 = "653d9e44195d86cf64a36af9ff3a1978ec5599df3882439fefa56e7064f55e8a"; 881 881 md5 = ""; 882 - md5name = "e595b3fa2ec320beb0b28f6af56b1141853257c2611686685639cebb3b248c86-zxing-cpp-1.1.1.tar.gz"; 882 + md5name = "653d9e44195d86cf64a36af9ff3a1978ec5599df3882439fefa56e7064f55e8a-zxing-cpp-1.2.0.tar.gz"; 883 883 } 884 884 ]
+12 -39
pkgs/applications/office/libreoffice/src-still/override.nix
··· 3 3 { 4 4 postConfigure = attrs.postConfigure + '' 5 5 sed -e '/CPPUNIT_TEST(Import_Export_Import);/d' -i './sw/qa/inc/swmodeltestbase.hxx' 6 - sed -e '/CPPUNIT_ASSERT_EQUAL(11148L, pOleObj->GetLogicRect().getWidth());/d ' -i sc/qa/unit/subsequent_filters-test.cxx 7 - sed -e '/CPPUNIT_TEST(testChartImportXLS)/d' -i sc/qa/unit/subsequent_filters-test.cxx 8 - sed -e '/CPPUNIT_TEST(testCustomColumnWidthExportXLSX)/d' -i sc/qa/unit/subsequent_export-test.cxx 9 - sed -e '/CPPUNIT_TEST(testColumnWidthExportFromODStoXLSX)/d' -i sc/qa/unit/subsequent_export-test.cxx 10 - sed -e '/CPPUNIT_TEST(test);/d' -i './sc/qa/unit/subsequent_export-test.cxx' 11 - sed -e '/CPPUNIT_TEST(testConditionalFormatExportODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx' 12 - sed -e '/CPPUNIT_TEST(testProtectionKeyODS_UTF16LErtlSHA1);/d' -i './sc/qa/unit/subsequent_export-test.cxx' 13 - sed -e '/CPPUNIT_TEST(testProtectionKeyODS_UTF8SHA1);/d' -i './sc/qa/unit/subsequent_export-test.cxx' 14 - sed -e '/CPPUNIT_TEST(testProtectionKeyODS_UTF8SHA256ODF12);/d' -i './sc/qa/unit/subsequent_export-test.cxx' 15 - sed -e '/CPPUNIT_TEST(testProtectionKeyODS_UTF8SHA256W3C);/d' -i './sc/qa/unit/subsequent_export-test.cxx' 16 - sed -e '/CPPUNIT_TEST(testProtectionKeyODS_XL_SHA1);/d' -i './sc/qa/unit/subsequent_export-test.cxx' 17 - sed -e '/CPPUNIT_TEST(testColorScaleExportODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx' 18 - sed -e '/CPPUNIT_TEST(testDataBarExportODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx' 19 - sed -e '/CPPUNIT_TEST(testNamedRangeBugfdo62729);/d' -i './sc/qa/unit/subsequent_export-test.cxx' 20 - sed -e '/CPPUNIT_TEST(testRichTextExportODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx' 21 - sed -e '/CPPUNIT_TEST(testFormulaRefSheetNameODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx' 22 - sed -e '/CPPUNIT_TEST(testCellValuesExportODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx' 23 - sed -e '/CPPUNIT_TEST(testCellNoteExportODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx' 24 - sed -e '/CPPUNIT_TEST(testFormatExportODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx' 25 - sed -e '/CPPUNIT_TEST(testEmbeddedChartODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx' 26 - sed -e '/CPPUNIT_TEST(testCellAnchoredGroupXLS);/d' -i './sc/qa/unit/subsequent_export-test.cxx' 27 - sed -e '/CPPUNIT_TEST(testCeilingFloorODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx' 28 - sed -e '/CPPUNIT_TEST(testRelativePathsODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx' 29 - sed -e '/CPPUNIT_TEST(testSheetProtectionODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx' 30 - sed -e '/CPPUNIT_TEST(testSwappedOutImageExport);/d' -i './sc/qa/unit/subsequent_export-test.cxx' 31 - sed -e '/CPPUNIT_TEST(testLinkedGraphicRT);/d' -i './sc/qa/unit/subsequent_export-test.cxx' 32 - sed -e '/CPPUNIT_TEST(testImageWithSpecialID);/d' -i './sc/qa/unit/subsequent_export-test.cxx' 33 - sed -e '/CPPUNIT_TEST(testAbsNamedRangeHTML);/d' -i './sc/qa/unit/subsequent_export-test.cxx' 34 - sed -e '/CPPUNIT_TEST(testMoveCellAnchoredShapesODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx' 35 - sed -e '/CPPUNIT_TEST(testRefStringUnspecified);/d' -i './sc/qa/unit/subsequent_export-test.cxx' 36 - sed -e '/CPPUNIT_TEST(testHeaderImageODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx' 37 - sed -e '/CPPUNIT_TEST(testTdf88657ODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx' 38 - sed -e '/CPPUNIT_TEST(testExponentWithoutSignFormatXLSX);/d' -i './sc/qa/unit/subsequent_export-test.cxx' 39 - sed -e '/CPPUNIT_TEST(testHiddenRepeatedRowsODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx' 40 - sed -e '/CPPUNIT_TEST(testHyperlinkTargetFrameODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx' 6 + sed -e '/CPPUNIT_ASSERT(!bRTL);/d' -i './vcl/qa/cppunit/text.cxx' 7 + 8 + sed -e '/CPPUNIT_ASSERT_EQUAL(0, nMinRunPos);/d' -i './vcl/qa/cppunit/text.cxx' 9 + sed -e '/CPPUNIT_ASSERT_EQUAL(4, nMinRunPos);/d' -i './vcl/qa/cppunit/text.cxx' 10 + sed -e '/CPPUNIT_ASSERT_EQUAL(11, nMinRunPos);/d' -i './vcl/qa/cppunit/text.cxx' 11 + sed -e '/CPPUNIT_ASSERT_EQUAL(18, nMinRunPos);/d' -i './vcl/qa/cppunit/text.cxx' 12 + 13 + sed -e '/CPPUNIT_ASSERT_EQUAL(3, nEndRunPos);/d' -i './vcl/qa/cppunit/text.cxx' 14 + sed -e '/CPPUNIT_ASSERT_EQUAL(9, nEndRunPos);/d' -i './vcl/qa/cppunit/text.cxx' 15 + sed -e '/CPPUNIT_ASSERT_EQUAL(17, nEndRunPos);/d' -i './vcl/qa/cppunit/text.cxx' 16 + sed -e '/CPPUNIT_ASSERT_EQUAL(22, nEndRunPos);/d' -i './vcl/qa/cppunit/text.cxx' 41 17 ''; 42 - configureFlags = attrs.configureFlags ++ [ 43 - (lib.enableFeature kdeIntegration "kf5") 44 - "--without-system-zxing" 45 - ]; 18 + configureFlags = attrs.configureFlags; 46 19 47 20 patches = attrs.patches or []; 48 21 }
+4 -4
pkgs/applications/office/libreoffice/src-still/primary.nix
··· 7 7 }; 8 8 9 9 major = "7"; 10 - minor = "2"; 10 + minor = "3"; 11 11 patch = "6"; 12 12 tweak = "2"; 13 13 ··· 17 17 18 18 src = fetchurl { 19 19 url = "https://download.documentfoundation.org/libreoffice/src/${subdir}/libreoffice-${version}.tar.xz"; 20 - sha256 = "sha256-SDdlqYuS2Q6MjHNeCNM8KjS1/h+8jn9rH5x0rRoUHjE="; 20 + hash = "sha256-MwPWr2/7vFg0UFGgCQwTNvi5PEnHhhxlNLzuogWu1aM="; 21 21 }; 22 22 23 23 # FIXME rename 24 24 translations = fetchSrc { 25 25 name = "translations"; 26 - sha256 = "sha256-fUZflmrCi4mOa6iZTm+K9IvRTlSjcI4UJ4EoyK/HHck="; 26 + sha256 = "sha256-vjthXfBP6vRY3lMBlithJM7b5SX3uvBwEpi30IeW/Dg="; 27 27 }; 28 28 29 29 # the "dictionaries" archive is not used for LO build because we already build hunspellDicts packages from ··· 31 31 32 32 help = fetchSrc { 33 33 name = "help"; 34 - sha256 = "sha256-TjAgz7yV7y5VNrEuT2eElkNGZzh6J58T1TC3u2Ap2o4="; 34 + sha256 = "sha256-b3VvaNEfnytWqJekAWOKokNoCnefXdQgYB7Hpptra0s="; 35 35 }; 36 36 }
+4 -4
pkgs/applications/science/astronomy/gildas/default.nix
··· 7 7 in 8 8 9 9 stdenv.mkDerivation rec { 10 - srcVersion = "nov21a"; 11 - version = "20211101_a"; 10 + srcVersion = "oct22b"; 11 + version = "20221001_b"; 12 12 pname = "gildas"; 13 13 14 14 src = fetchurl { ··· 16 16 # source code of the previous release to a different directory 17 17 urls = [ "http://www.iram.fr/~gildas/dist/gildas-src-${srcVersion}.tar.xz" 18 18 "http://www.iram.fr/~gildas/dist/archive/gildas/gildas-src-${srcVersion}.tar.xz" ]; 19 - sha256 = "0fb6iqwh4hm7v7sib7sx98vxdavn3d6q2gq6y6vxg2z29g31f8g2"; 19 + sha256 = "sha256-MGfU2gzBbJ8ITpU7OiwCaHbi8s9Y6gvcAvSUuEZjfqk="; 20 20 }; 21 21 22 22 nativeBuildInputs = [ pkg-config groff perl getopt gfortran which ]; ··· 50 50 ''; 51 51 52 52 meta = { 53 - broken = stdenv.isDarwin; 54 53 description = "Radioastronomy data analysis software"; 55 54 longDescription = '' 56 55 GILDAS is a collection of state-of-the-art software ··· 66 65 license = lib.licenses.free; 67 66 maintainers = [ lib.maintainers.bzizou lib.maintainers.smaret ]; 68 67 platforms = lib.platforms.all; 68 + broken = stdenv.isDarwin && stdenv.isAarch64; 69 69 }; 70 70 71 71 }
+2 -2
pkgs/applications/science/math/qalculate-qt/default.nix
··· 2 2 3 3 stdenv.mkDerivation rec { 4 4 pname = "qalculate-qt"; 5 - version = "4.3.0"; 5 + version = "4.4.0"; 6 6 7 7 src = fetchFromGitHub { 8 8 owner = "qalculate"; 9 9 repo = "qalculate-qt"; 10 10 rev = "v${version}"; 11 - sha256 = "sha256-zznLCTbHX7VDMgW3b709snxSEtoF8k4xJBk3MdgFPNk="; 11 + sha256 = "sha256-C3alvl8hLxUy+soSjfxlNQ++QTcU9Gong1ydVpu8xGs="; 12 12 }; 13 13 14 14 nativeBuildInputs = [ qmake intltool pkg-config wrapQtAppsHook ];
+9 -7
pkgs/data/fonts/sil-abyssinica/default.nix
··· 1 1 { fetchzip, lib }: 2 2 3 3 let 4 - version = "1.500"; 4 + version = "2.100"; 5 5 in 6 - fetchzip { 6 + fetchzip rec { 7 7 name = "sil-abyssinica-${version}"; 8 - url = "mirror://debian/pool/main/f/fonts-sil-abyssinica/fonts-sil-abyssinica_${version}.orig.tar.xz"; 9 - sha256 = "sha256-fCa88wG2JfHTaHaBkuvoncbcbrh3XNzc8ewS3W+W/fM="; 8 + url = "https://software.sil.org/downloads/r/abyssinica/AbyssinicaSIL-${version}.zip"; 9 + sha256 = "sha256-06olbIdSlhJ4hgblzzabqIs57FpsyWIdPDFXb9vK31A="; 10 10 11 11 postFetch = '' 12 - mkdir -p $out/share/fonts 13 - tar xf $downloadedFile --strip-components=1 -C $out/share/fonts AbyssinicaSIL-${version}/AbyssinicaSIL-R.ttf 12 + rm -rf $out/web 13 + mkdir -p $out/share/{fonts/truetype,doc/${name}} 14 + mv $out/*.ttf $out/share/fonts/truetype/ 15 + mv $out/*.txt $out/documentation $out/share/doc/${name}/ 14 16 ''; 15 17 16 18 meta = with lib; { 17 19 description = "Unicode font for Ethiopian and Erythrean scripts (Amharic et al.)"; 18 20 homepage = "https://software.sil.org/abyssinica/"; 19 21 license = licenses.ofl; 20 - maintainers = with lib.maintainers; [ serge ]; 22 + maintainers = with maintainers; [ serge ]; 21 23 platforms = platforms.all; 22 24 }; 23 25 }
+11 -12
pkgs/data/fonts/sil-padauk/default.nix
··· 1 1 { fetchzip, lib }: 2 2 3 3 let 4 - version = "3.003"; 4 + version = "5.001"; 5 5 in 6 - fetchzip { 6 + fetchzip rec { 7 7 name = "sil-padauk-${version}"; 8 - url = "mirror://debian/pool/main/f/fonts-sil-padauk/fonts-sil-padauk_${version}.orig.tar.xz"; 9 - sha256 = "sha256-oK+EufbvsqXunTgcWj+DiNdfpRl+VPO60Wc9KYjZv5A="; 8 + url = "https://software.sil.org/downloads/r/padauk/Padauk-${version}.zip"; 9 + sha256 = "sha256-6H9EDmXr1Ox2fgLw9sG5JrCAllK3tbjvMfLi8DTF1f0="; 10 10 11 11 postFetch = '' 12 - unpackDir="$TMPDIR/unpack" 13 - mkdir "$unpackDir" 14 - cd "$unpackDir" 15 - tar xf "$downloadedFile" --strip-components=1 16 - mkdir -p $out/share/fonts 17 - cp *.ttf $out/share/fonts 12 + mkdir -p $out/share/fonts/truetype 13 + rm -rf $out/{manifest.json,web/} 14 + mv $out/*.ttf $out/share/fonts/truetype/ 15 + mkdir -p $out/share/doc/${name} 16 + mv $out/*.txt $out/documentation/ $out/share/doc/${name}/ 18 17 ''; 19 18 20 19 meta = with lib; { 21 - description = "Burmese Unicode 6 TrueType font"; 20 + description = "A Unicode-based font family with broad support for writing systems that use the Myanmar script"; 22 21 homepage = "https://software.sil.org/padauk"; 23 22 license = licenses.ofl; 24 - maintainers = with lib.maintainers; [ serge ]; 23 + maintainers = with maintainers; [ serge ]; 25 24 platforms = platforms.all; 26 25 }; 27 26 }
+2 -2
pkgs/development/interpreters/clojure/babashka.nix
··· 2 2 3 3 buildGraalvmNativeImage rec { 4 4 pname = "babashka"; 5 - version = "0.10.163"; 5 + version = "1.0.164"; 6 6 7 7 src = fetchurl { 8 8 url = "https://github.com/babashka/${pname}/releases/download/v${version}/${pname}-${version}-standalone.jar"; 9 - sha256 = "sha256-54RqqjhKBNSmIIomyhgjujC4CsY33Mkd3QSIc2w9fRg="; 9 + sha256 = "sha256-ckC6QL8pCnenSWYCBKwEx0JrwOnmWAaQhFvw6qQFCv4="; 10 10 }; 11 11 12 12 executable = "bb";
+1 -1
pkgs/development/node-packages/overrides.nix
··· 403 403 404 404 src = fetchurl { 405 405 url = "https://registry.npmjs.org/prisma/-/prisma-${version}.tgz"; 406 - sha512 = "sha512-l/QKLmLcKJQFuc+X02LyICo0NWTUVaNNZ00jKJBqwDyhwMAhboD1FWwYV50rkH4Wls0RviAJSFzkC2ZrfawpfA=="; 406 + sha512 = "sha512-9Aeg4qiKlv9Wsjz4NO8k2CzRzlvS3A4FYVJ5+28sBBZ0eEwbiVOE/Jj7v6rZC1tFW2s4GSICQOAyuOjc6WsNew=="; 407 407 }; 408 408 postInstall = with pkgs; '' 409 409 wrapProgram "$out/bin/prisma" \
+2 -2
pkgs/development/python-modules/adlfs/default.nix
··· 12 12 13 13 buildPythonPackage rec { 14 14 pname = "adlfs"; 15 - version = "2022.9.1"; 15 + version = "2022.10.0"; 16 16 format = "setuptools"; 17 17 18 18 disabled = pythonOlder "3.7"; ··· 21 21 owner = "fsspec"; 22 22 repo = pname; 23 23 rev = version; 24 - hash = "sha256-7gL0B4rOMsMYYqElY9hSZeAICWA+mO5N+Xe357DWgu8="; 24 + hash = "sha256-h/xcqb7G4uj4WNVE8is/s2LQ2NfzP1negh15G8B9YCs="; 25 25 }; 26 26 27 27 propagatedBuildInputs = [
+32
pkgs/development/python-modules/cvelib/default.nix
··· 1 + { buildPythonPackage 2 + , fetchFromGitHub 3 + , requests 4 + , click 5 + , lib 6 + }: 7 + 8 + buildPythonPackage rec { 9 + pname = "cvelib"; 10 + version = "1.0.0"; 11 + 12 + src = fetchFromGitHub { 13 + owner = "RedHatProductSecurity"; 14 + repo = "cvelib"; 15 + rev = "tags/${version}"; 16 + sha256 = "sha256-KUj9Cnvl7r8NMmZvVj5CB0uZvLNK5aHcLc+NzxFrv0I="; 17 + }; 18 + 19 + SETUPTOOLS_SCM_PRETEND_VERSION = "v${version}"; 20 + propagatedBuildInputs = [ requests click ]; 21 + 22 + pythonImportsCheck = [ 23 + "cvelib" 24 + ]; 25 + 26 + meta = with lib; { 27 + description = "A library and a command line interface for the CVE Services API"; 28 + homepage = "https://github.com/RedHatProductSecurity/cvelib"; 29 + license = licenses.mit; 30 + maintainers = with maintainers; [ raboof ]; 31 + }; 32 + }
+8 -1
pkgs/development/python-modules/hy/default.nix
··· 61 61 # For backwards compatibility with removed pkgs/development/interpreters/hy 62 62 # Example usage: 63 63 # hy.withPackages (ps: with ps; [ hyrule requests ]) 64 - withPackages = python-packages: python.withPackages (ps: (python-packages ps) ++ [ ps.hy ]); 64 + withPackages = python-packages: 65 + (python.withPackages 66 + (ps: (python-packages ps) ++ [ ps.hy ])).overrideAttrs (old: { 67 + name = "${hy.name}-env"; 68 + meta = lib.mergeAttrs (builtins.removeAttrs hy.meta [ "license" ]) { 69 + mainProgram = "hy"; 70 + }; 71 + }); 65 72 }; 66 73 67 74 meta = with lib; {
+2 -2
pkgs/development/python-modules/progressbar2/default.nix
··· 7 7 8 8 buildPythonPackage rec { 9 9 pname = "progressbar2"; 10 - version = "4.0.0"; 10 + version = "4.1.1"; 11 11 12 12 src = fetchPypi { 13 13 inherit pname version; 14 - sha256 = "14d3165a1781d053ffaa117daf27cc706128d2ec1d2977fdb05b6bb079888013"; 14 + sha256 = "sha256-Y5odWSJ4RIg5kwvf/SQrTU6pzgyeZWrqgQKCwtNrwSE="; 15 15 }; 16 16 17 17 propagatedBuildInputs = [ python-utils ];
+2 -2
pkgs/development/python-modules/pylutron-caseta/default.nix
··· 12 12 13 13 buildPythonPackage rec { 14 14 pname = "pylutron-caseta"; 15 - version = "0.16.0"; 15 + version = "0.17.0"; 16 16 format = "pyproject"; 17 17 18 18 disabled = pythonOlder "3.8"; ··· 21 21 owner = "gurumitts"; 22 22 repo = pname; 23 23 rev = "v${version}"; 24 - hash = "sha256-QASVifbDh9nsgKi0cT4VaUX0d6inVS8rddr/rsbJ7/I="; 24 + hash = "sha256-8keKhwbvqIMxbfmd9GGF7uacOyvqb8G/ifq+pr4Z700="; 25 25 }; 26 26 27 27 nativeBuildInputs = [
+2 -2
pkgs/development/python-modules/pyotgw/default.nix
··· 9 9 10 10 buildPythonPackage rec { 11 11 pname = "pyotgw"; 12 - version = "2.1.0"; 12 + version = "2.1.1"; 13 13 format = "setuptools"; 14 14 15 15 disabled = pythonOlder "3.8"; ··· 18 18 owner = "mvn23"; 19 19 repo = pname; 20 20 rev = version; 21 - hash = "sha256-1kUL0fY+L8HZIdQki0KK5RstfZSd/ylaqV7m1z40yM8="; 21 + hash = "sha256-gMrLoITDBO7T9JtY4O43aMKF88zhwnJ/rlw8U3yvG8k="; 22 22 }; 23 23 24 24 propagatedBuildInputs = [
+3 -3
pkgs/development/tools/crd2pulumi/default.nix
··· 2 2 3 3 buildGoModule rec { 4 4 pname = "crd2pulumi"; 5 - version = "1.2.2"; 5 + version = "1.2.3"; 6 6 7 7 src = fetchFromGitHub { 8 8 owner = "pulumi"; 9 9 repo = "crd2pulumi"; 10 10 rev = "v${version}"; 11 - sha256 = "sha256-FkIHbZF1ylJI6meVnLKuSqVd8AYZnE/eixVZDvNRvs0="; 11 + sha256 = "sha256-0+83etSRk7nAaIrA5qu+BL7BfzBkjO7gsExQJ255ZOY="; 12 12 }; 13 13 14 - vendorSha256 = "sha256-kVD+TwU+tizNSXKIc7OqIJIA0nPOyfF9kVxBAYBzOKU="; 14 + vendorSha256 = "sha256-QnmqhXfE/999i+idAZbREMzNi62164uq5nGKb1nauwk="; 15 15 16 16 ldflags = [ "-s" "-w" "-X github.com/pulumi/crd2pulumi/gen.Version=${src.rev}" ]; 17 17
+3 -3
pkgs/development/tools/database/prisma-engines/default.nix
··· 13 13 # function correctly. 14 14 rustPlatform.buildRustPackage rec { 15 15 pname = "prisma-engines"; 16 - version = "4.4.0"; 16 + version = "4.5.0"; 17 17 18 18 src = fetchFromGitHub { 19 19 owner = "prisma"; 20 20 repo = "prisma-engines"; 21 21 rev = version; 22 - sha256 = "sha256-gk+psYNSC5Xy6R3aUF0E9TyJgJ78+EMvz/xnPgN3+RY="; 22 + sha256 = "sha256-/5X1t9ZVGoZRFNTfsv663QWIBE1eME/KiPuyc+L4D10="; 23 23 }; 24 24 25 25 # Use system openssl. 26 26 OPENSSL_NO_VENDOR = 1; 27 27 28 - cargoSha256 = "sha256-BiQMoY2hd5q05YZBrTrHlKDtWlOkyfWjjNB/8F2+lXg="; 28 + cargoSha256 = "sha256-tKdLTa/Tl98hDGtOPMxluIUgLoWkyOhnmGuxvq4AhfU="; 29 29 30 30 nativeBuildInputs = [ pkg-config ]; 31 31
+3 -3
pkgs/development/tools/okteto/default.nix
··· 2 2 3 3 buildGoModule rec { 4 4 pname = "okteto"; 5 - version = "2.7.0"; 5 + version = "2.8.0"; 6 6 7 7 src = fetchFromGitHub { 8 8 owner = "okteto"; 9 9 repo = "okteto"; 10 10 rev = version; 11 - sha256 = "sha256-xAK2gxIMyiC3GEd4As5FrGQqa4f+FiQLZZs4VROSpgQ="; 11 + sha256 = "sha256-7M/axnl6K3yrfNwdp3gkKE3c0m0zgDfW8FV7BixIxBM="; 12 12 }; 13 13 14 - vendorSha256 = "sha256-Na0t9uxmA7lIRTRp6I+eDHjUbo7YQzbMQfqDZd6T62k="; 14 + vendorSha256 = "sha256-/oR8R0/GC6cgCqXinCRH5x93qgRPeQmxHgZZGshrDr4="; 15 15 16 16 postPatch = '' 17 17 # Disable some tests that need file system & network access.
+3 -3
pkgs/development/tools/wails/default.nix
··· 14 14 15 15 buildGoModule rec { 16 16 pname = "wails"; 17 - version = "2.0.0"; 17 + version = "2.1.0"; 18 18 19 19 src = fetchFromGitHub { 20 20 owner = "wailsapp"; 21 21 repo = pname; 22 22 rev = "v${version}"; 23 - sha256 = "sha256-mAHRjIi4/cC29NqTdUF9sMLyHhFANw+QBibk1ENo1BA="; 23 + sha256 = "sha256-Vrd6RP/N5Lrh5Ocr2W03m41fJXVXLJZle4C6xeF/jxM="; 24 24 } + "/v2"; 25 25 26 - vendorSha256 = "sha256-Ufm7sUak31/PzR3UGlUKdcrzdX6NRhFEXqteaowmz9k="; 26 + vendorSha256 = "sha256-jRW8SROt0CON17xZ+I3WiQow7yC1ly7pPHgbpEr1kW8="; 27 27 28 28 proxyVendor = true; 29 29
+3
pkgs/servers/mail/postfix/default.nix
··· 53 53 url = "https://src.fedoraproject.org/rpms/postfix/raw/2f9d42453e67ebc43f786d98262a249037f80a77/f/postfix-3.6.2-glibc-234-build-fix.patch"; 54 54 sha256 = "sha256-xRUL5gaoIt6HagGlhsGwvwrAfYvzMgydsltYMWvl9BI="; 55 55 }) 56 + 57 + # linux-6 compatibility 58 + ./linux-6.patch 56 59 ]; 57 60 58 61 postPatch = lib.optionalString (stdenv.hostPlatform != stdenv.buildPlatform) ''
+26
pkgs/servers/mail/postfix/linux-6.patch
··· 1 + Extracted fix from postfix-3.8-20221006 snapshot: 2 + https://github.com/vdukhovni/postfix/commit/b65530350fa4a7eee40946160fd80c3e1e0b63e5 3 + --- a/makedefs 4 + +++ b/makedefs 5 + @@ -627,7 +627,8 @@ EOF 6 + : ${SHLIB_ENV="LD_LIBRARY_PATH=`pwd`/lib"} 7 + : ${PLUGIN_LD="${CC-gcc} -shared"} 8 + ;; 9 + - Linux.[345].*) SYSTYPE=LINUX$RELEASE_MAJOR 10 + + Linux.[3456].*) 11 + + SYSTYPE=LINUX$RELEASE_MAJOR 12 + case "$CCARGS" in 13 + *-DNO_DB*) ;; 14 + *-DHAS_DB*) ;; 15 + --- a/src/util/sys_defs.h 16 + +++ b/src/util/sys_defs.h 17 + @@ -751,7 +751,8 @@ extern int initgroups(const char *, int); 18 + /* 19 + * LINUX. 20 + */ 21 + -#if defined(LINUX2) || defined(LINUX3) || defined(LINUX4) || defined(LINUX5) 22 + +#if defined(LINUX2) || defined(LINUX3) || defined(LINUX4) || defined(LINUX5) \ 23 + + || defined(LINUX6) 24 + #define SUPPORTED 25 + #define UINT32_TYPE unsigned int 26 + #define UINT16_TYPE unsigned short
+2 -2
pkgs/tools/networking/libreswan/default.nix
··· 45 45 46 46 stdenv.mkDerivation rec { 47 47 pname = "libreswan"; 48 - version = "4.8"; 48 + version = "4.9"; 49 49 50 50 src = fetchurl { 51 51 url = "https://download.libreswan.org/${pname}-${version}.tar.gz"; 52 - sha256 = "sha256-gEy5EX1/tBGYE7FVrJF+NFZY41ehOBim9t/Oikch4gs="; 52 + sha256 = "sha256-9kLctjXpCVZMqP2Z6kSrQ/YHI7TXbBWO2BKXjEWzmLk="; 53 53 }; 54 54 55 55 strictDeps = true;
+3 -3
pkgs/tools/networking/yggdrasil/default.nix
··· 2 2 3 3 buildGoModule rec { 4 4 pname = "yggdrasil"; 5 - version = "0.4.4"; 5 + version = "0.4.5"; 6 6 7 7 src = fetchFromGitHub { 8 8 owner = "yggdrasil-network"; 9 9 repo = "yggdrasil-go"; 10 10 rev = "v${version}"; 11 - sha256 = "sha256-uJFBboV0DhZHEir4+2VdTGMqxZsahnFRgr9btdMlW2M="; 11 + sha256 = "sha256-ehOvPFQtFgxVDOyF2MBbGO0IKwMWSb3aat+e+fJay1Q="; 12 12 }; 13 13 14 - vendorSha256 = "sha256-qeyXUTcII0hMrOWIvsjaOXv/tKWBoUrTkCimRC/RnUw="; 14 + vendorSha256 = "sha256-u1VrlTvmB2KSnlxcdCyfxw0xAMd+AeN5g/a7JehUV9U="; 15 15 16 16 # Change the default location of the management socket on Linux 17 17 # systems so that the yggdrasil system service unit does not have to
+39
pkgs/tools/package-management/harmonia/default.nix
··· 1 + { lib 2 + , boost 3 + , fetchFromGitHub 4 + , libsodium 5 + , nix 6 + , pkg-config 7 + , rustPlatform 8 + }: 9 + 10 + rustPlatform.buildRustPackage rec { 11 + pname = "harmonia"; 12 + version = "0.2.0"; 13 + 14 + src = fetchFromGitHub { 15 + owner = "helsinki-systems"; 16 + repo = pname; 17 + rev = "refs/tags/${pname}-v${version}"; 18 + hash = "sha256-deqF6xDz3oCA1W8X8U1FD1gPYfxinZzpSuRKyaPDN/Y="; 19 + }; 20 + 21 + cargoHash = "sha256-eur3tg2w2WTA+JkOwTLwQzDZX7QN2xV4K0FIn7JN/rM="; 22 + 23 + nativeBuildInputs = [ 24 + pkg-config 25 + ]; 26 + 27 + buildInputs = [ 28 + boost 29 + libsodium 30 + nix 31 + ]; 32 + 33 + meta = with lib; { 34 + description = "Nix binary cache"; 35 + homepage = "https://github.com/helsinki-systems/harmonia"; 36 + license = licenses.mit; 37 + maintainers = with maintainers; [ fab ]; 38 + }; 39 + }
+173
pkgs/tools/security/cie-middleware-linux/default.nix
··· 1 + { stdenv 2 + , lib 3 + , fetchFromGitHub 4 + , makeWrapper 5 + , strip-nondeterminism 6 + , meson 7 + , ninja 8 + , pkg-config 9 + , gradle 10 + , curl 11 + , cryptopp 12 + , fontconfig 13 + , jre 14 + , libxml2 15 + , openssl 16 + , pcsclite 17 + , podofo 18 + , ghostscript 19 + }: 20 + 21 + let 22 + pname = "cie-middleware-linux"; 23 + version = "1.4.3.3"; 24 + 25 + src = fetchFromGitHub { 26 + owner = "M0rf30"; 27 + repo = pname; 28 + # use the podofo-vanilla branch 29 + rev = "531acc54609eaeccbdd4ef881d7d7e7e0fe0af17"; 30 + sha256 = "sha256-hUpEkiEQu0R+aCo4bfZfVLLib0o6v2RQJVIte3n+IAk="; 31 + }; 32 + 33 + # Shared libraries needed by the Java application 34 + libraries = lib.makeLibraryPath [ ghostscript ]; 35 + 36 + # Fixed-output derivation that fetches the Java dependencies 37 + javaDeps = stdenv.mkDerivation { 38 + pname = "cie-java-deps"; 39 + inherit src version; 40 + 41 + nativeBuildInputs = [ gradle ]; 42 + 43 + buildPhase = '' 44 + # Run the fetchDeps task 45 + export GRADLE_USER_HOME=$(mktemp -d) 46 + gradle --no-daemon -b cie-java/build.gradle fetchDeps 47 + ''; 48 + 49 + installPhase = '' 50 + # Build a tree compatible with the maven repository format 51 + pushd "$GRADLE_USER_HOME/caches/modules-2/files-2.1" 52 + find -type f | awk -F/ -v OFS=/ -v out="$out" '{ 53 + infile = $0 54 + gsub(/\./, "/", $2) 55 + system("install -m644 -D "infile" "out"/"$2"/"$3"/"$4"/"$6) 56 + }' 57 + popd 58 + ''; 59 + 60 + outputHashAlgo = "sha256"; 61 + outputHashMode = "recursive"; 62 + outputHash = "sha256-gsb4aH/au7IDh1PX/qY+8o7CmjKJUHpmEa0vYhbAnP0="; 63 + }; 64 + 65 + in 66 + 67 + stdenv.mkDerivation { 68 + inherit pname src version; 69 + 70 + hardeningDisable = [ "format" ]; 71 + 72 + outputs = [ "out" "dev" ]; 73 + 74 + nativeBuildInputs = [ 75 + makeWrapper 76 + meson 77 + ninja 78 + pkg-config 79 + gradle 80 + strip-nondeterminism 81 + ]; 82 + 83 + buildInputs = [ 84 + cryptopp 85 + fontconfig 86 + podofo 87 + openssl 88 + pcsclite 89 + curl 90 + libxml2 91 + ]; 92 + 93 + postPatch = '' 94 + # substitute the cieid command with this $out/bin/cieid 95 + substituteInPlace libs/pkcs11/src/CSP/AbilitaCIE.cpp \ 96 + --replace 'file = "cieid"' 'file = "'$out'/bin/cieid"' 97 + ''; 98 + 99 + # Note: we use pushd/popd to juggle between the 100 + # libraries and the Java application builds. 101 + preConfigure = "pushd libs"; 102 + 103 + postBuild = '' 104 + popd 105 + 106 + # Use the packages in javaDeps for both plugins and dependencies 107 + localRepo="maven { url uri('${javaDeps}') }" 108 + sed -i cie-java/settings.gradle -e "1i \ 109 + pluginManagement { repositories { $localRepo } }" 110 + substituteInPlace cie-java/build.gradle \ 111 + --replace 'mavenCentral()' "$localRepo" 112 + 113 + # Build the Java application 114 + export GRADLE_USER_HOME=$(mktemp -d) 115 + gradle standalone \ 116 + --no-daemon \ 117 + --offline \ 118 + --parallel \ 119 + --info -Dorg.gradle.java.home=${jre} \ 120 + --build-file cie-java/build.gradle 121 + 122 + pushd libs/build 123 + ''; 124 + 125 + postInstall = '' 126 + popd 127 + 128 + # Install the Java application 129 + install -Dm755 cie-java/build/libs/CIEID-standalone.jar \ 130 + "$out/share/cieid/cieid.jar" 131 + 132 + # Create a wrapper 133 + mkdir -p "$out/bin" 134 + makeWrapper "${jre}/bin/java" "$out/bin/cieid" \ 135 + --add-flags "-Djna.library.path='$out/lib:${libraries}'" \ 136 + --add-flags '-Dawt.useSystemAAFontSettings=on' \ 137 + --add-flags "-cp $out/share/cieid/cieid.jar" \ 138 + --add-flags "it.ipzs.cieid.MainApplication" 139 + 140 + # Install other files 141 + install -Dm644 data/cieid.desktop "$out/share/applications/cieid.desktop" 142 + install -Dm755 data/logo.png "$out/share/pixmaps/cieid.png" 143 + install -Dm644 LICENSE "$out/share/licenses/cieid/LICENSE" 144 + ''; 145 + 146 + postFixup = '' 147 + # Move static libraries to the dev output 148 + mv -t "$dev/lib" "$out/lib/"*.a 149 + 150 + # Make the jar deterministic (mainly, sorting its files) 151 + strip-nondeterminism "$out/share/cieid/cieid.jar" 152 + ''; 153 + 154 + passthru = { inherit javaDeps; }; 155 + 156 + meta = with lib; { 157 + homepage = "https://github.com/M0Rf30/cie-middleware-linux"; 158 + description = "Middleware for the Italian Electronic Identity Card (CIE)"; 159 + longDescription = '' 160 + Software for the usage of the Italian Electronic Identity Card (CIE). 161 + Access to PA services, signing and verification of documents 162 + 163 + Warning: this is an unofficial fork because the original software, as 164 + distributed by the Italian government, is essentially lacking a build 165 + system and is in violation of the license of the PoDoFo library. 166 + ''; 167 + license = licenses.bsd3; 168 + platforms = platforms.unix; 169 + # Note: fails due to a lot of broken type conversions 170 + badPlatforms = platforms.darwin; 171 + maintainers = with maintainers; [ rnhmjoj ]; 172 + }; 173 + }
+6
pkgs/top-level/all-packages.nix
··· 260 260 inherit (darwin.apple_sdk.frameworks) Security SystemConfiguration; 261 261 }; 262 262 263 + cve = with python3Packages; toPythonApplication cvelib; 264 + 263 265 fiche = callPackage ../servers/fiche { }; 264 266 265 267 fishnet = callPackage ../servers/fishnet { }; ··· 1278 1280 cf-vault = callPackage ../tools/admin/cf-vault { }; 1279 1281 1280 1282 bikeshed = python3Packages.callPackage ../applications/misc/bikeshed { }; 1283 + 1284 + cie-middleware-linux = callPackage ../tools/security/cie-middleware-linux { }; 1281 1285 1282 1286 cidrgrep = callPackage ../tools/text/cidrgrep { }; 1283 1287 ··· 7620 7624 ham = pkgs.perlPackages.ham; 7621 7625 7622 7626 hardinfo = callPackage ../tools/system/hardinfo { }; 7627 + 7628 + harmonia = callPackage ../tools/package-management/harmonia { }; 7623 7629 7624 7630 hcl2json = callPackage ../applications/misc/hcl2json { }; 7625 7631
+2
pkgs/top-level/python-packages.nix
··· 2189 2189 2190 2190 curve25519-donna = callPackage ../development/python-modules/curve25519-donna { }; 2191 2191 2192 + cvelib = callPackage ../development/python-modules/cvelib { }; 2193 + 2192 2194 cvxopt = callPackage ../development/python-modules/cvxopt { }; 2193 2195 2194 2196 cvxpy = callPackage ../development/python-modules/cvxpy { };