diff --git a/ci/pinned.json b/ci/pinned.json index 5f4203d1ffa2..bab709798be6 100644 --- a/ci/pinned.json +++ b/ci/pinned.json @@ -9,9 +9,9 @@ }, "branch": "nixpkgs-unstable", "submodules": false, - "revision": "106eb93cbb9d4e4726bf6bc367a3114f7ed6b32f", - "url": "https://github.com/NixOS/nixpkgs/archive/106eb93cbb9d4e4726bf6bc367a3114f7ed6b32f.tar.gz", - "hash": "0wyyhddz2mqhmq938d337223675jpd83dd5lsks2nhz0hs4r3jha" + "revision": "02f3fa0374fa13707d42d55d58ecc76b091f223c", + "url": "https://github.com/NixOS/nixpkgs/archive/02f3fa0374fa13707d42d55d58ecc76b091f223c.tar.gz", + "hash": "0z8d33c5g0gk9a74ppqq77npisf9xx9c8ai9isxa2hyjx4lv1pki" }, "treefmt-nix": { "type": "Git", @@ -22,9 +22,9 @@ }, "branch": "main", "submodules": false, - "revision": "75925962939880974e3ab417879daffcba36c4a3", - "url": "https://github.com/numtide/treefmt-nix/archive/75925962939880974e3ab417879daffcba36c4a3.tar.gz", - "hash": "118zlbyzmh21x6rad2vrxjkdfyicd8lx3s0if8b791n51hz1r9ns" + "revision": "790751ff7fd3801feeaf96d7dc416a8d581265ba", + "url": "https://github.com/numtide/treefmt-nix/archive/790751ff7fd3801feeaf96d7dc416a8d581265ba.tar.gz", + "hash": "1zah3dmbpn3ap5acg22kq1j19dg32gj73l43yamjcxhc38sv9kd5" } }, "version": 5 diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 44c2aabf8e95..c5bf7db4281a 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -9904,6 +9904,12 @@ name = "Adrian Groh"; keys = [ { fingerprint = "62BD BF30 83E9 7076 9665 B60B 3AA3 153E 98B0 D771"; } ]; }; + god464 = { + github = "god464"; + githubId = 36400459; + name = "god464"; + keys = [ { fingerprint = "089E 1560 7145 FE93 2C00 2942 D7A7 2706 FC8D E569"; } ]; + }; goertzenator = { email = "daniel.goertzen@gmail.com"; github = "goertzenator"; diff --git a/nixos/modules/programs/gamemode.nix b/nixos/modules/programs/gamemode.nix index 00ccfc076cef..f2aca3ebee87 100644 --- a/nixos/modules/programs/gamemode.nix +++ b/nixos/modules/programs/gamemode.nix @@ -72,10 +72,6 @@ in systemd = { packages = [ pkgs.gamemode ]; user.services.gamemoded = { - # The upstream service already defines this, but doesn't get applied. - # See https://github.com/NixOS/nixpkgs/issues/81138 - wantedBy = [ "default.target" ]; - # Use pkexec from the security wrappers to allow users to # run libexec/cpugovctl & libexec/gpuclockctl as root with # the the actions defined in share/polkit-1/actions. diff --git a/nixos/modules/services/web-apps/glitchtip.nix b/nixos/modules/services/web-apps/glitchtip.nix index 6a74cda886a1..3660b83807bd 100644 --- a/nixos/modules/services/web-apps/glitchtip.nix +++ b/nixos/modules/services/web-apps/glitchtip.nix @@ -45,19 +45,6 @@ in default = "glitchtip"; }; - listenAddress = lib.mkOption { - type = lib.types.str; - description = "The address to listen on."; - default = "127.0.0.1"; - example = "0.0.0.0"; - }; - - port = lib.mkOption { - type = lib.types.port; - description = "The port to listen on."; - default = 8000; - }; - stateDir = lib.mkOption { type = lib.types.path; description = "State directory of glitchtip."; @@ -66,7 +53,7 @@ in settings = lib.mkOption { description = '' - Configuration of GlitchTip. See for more information. + Configuration of GlitchTip. See for more information and required settings. ''; default = { }; defaultText = lib.literalExpression '' @@ -74,8 +61,14 @@ in DEBUG = 0; DEBUG_TOOLBAR = 0; DATABASE_URL = lib.mkIf config.services.glitchtip.database.createLocally "postgresql://@/glitchtip"; + GLITCHTIP_DOMAIN = lib.mkIf config.services.glitchtip.nginx.createLocally "https://''${config.services.glitchtip.nginx.domain}"; + GLITCHTIP_VERSION = config.services.glitchtip.package.version; + GRANIAN_HOST = "127.0.0.1"; + GRANIAN_PORT = 8000; + GRANIAN_STATIC_PATH_MOUNT = "''${config.services.glitchtip.package}/lib/glitchtip/static"; + GRANIAN_WORKERS = 1; + PYTHONUNBUFFERED = 1; REDIS_URL = lib.mkIf config.services.glitchtip.redis.createLocally "unix://''${config.services.redis.servers.glitchtip.unixSocket}"; - CELERY_BROKER_URL = lib.mkIf config.services.glitchtip.redis.createLocally "redis+socket://''${config.services.redis.servers.glitchtip.unixSocket}"; } ''; example = { @@ -94,9 +87,28 @@ in options = { GLITCHTIP_DOMAIN = lib.mkOption { - type = lib.types.str; + type = lib.types.nullOr lib.types.str; description = "The URL under which GlitchTip is externally reachable."; example = "https://glitchtip.example.com"; + default = null; + }; + + GLITCHTIP_ENABLE_MCP = lib.mkOption { + type = lib.types.bool; + description = "Whether to enable the MCP api."; + default = false; + }; + + GRANIAN_WORKERS = lib.mkOption { + type = lib.types.ints.positive; + description = "Number of granian workers to start"; + default = 1; + }; + + ENABLE_OBSERVABILITY_API = lib.mkOption { + type = lib.types.bool; + description = "Whether to enable the Prometheus metrics endpoint."; + default = false; }; ENABLE_USER_REGISTRATION = lib.mkOption { @@ -132,49 +144,74 @@ in database.createLocally = lib.mkOption { type = lib.types.bool; default = true; - description = '' - Whether to enable and configure a local PostgreSQL database server. - ''; + description = "Whether to enable and configure a local PostgreSQL database server."; + }; + + nginx = { + createLocally = lib.mkOption { + type = lib.types.bool; + default = false; + description = "Whether to enable and configure a local Nginx server."; + }; + + domain = lib.mkOption { + type = lib.types.str; + example = "glitchtip.example.com"; + description = '' + Domain under which GlitchTip will be reachable. + In contrast to `settings.GLITCHTIP_DOMAIN` this option has no protocol. + It will also set `settings.GLITCHTIP_DOMAIN` with the `https://` protocol. + ''; + }; }; redis.createLocally = lib.mkOption { type = lib.types.bool; default = true; - description = '' - Whether to enable and configure a local Redis instance. - ''; - }; - - gunicorn.extraArgs = lib.mkOption { - type = lib.types.listOf lib.types.str; - default = [ ]; - description = "Extra arguments for gunicorn."; - }; - - celery.extraArgs = lib.mkOption { - type = lib.types.listOf lib.types.str; - default = [ ]; - description = "Extra arguments for celery."; + description = "Whether to enable and configure a local Redis instance."; }; }; }; + imports = [ + (lib.mkRenamedOptionModule + [ "services" "glitchtip" "listenAddress" ] + [ "services" "glitchtip" "settings" "GRANIAN_HOST" ] + ) + (lib.mkRenamedOptionModule + [ "services" "glitchtip" "port" ] + [ "services" "glitchtip" "settings" "GRANIAN_PORT" ] + ) + (lib.mkRemovedOptionModule [ "services" "glitchtip" "celery" "extraArgs" ] + "GlitchTip 6 migrated away from celery. Please check the upstream docs how to handle your usecase now." + ) + (lib.mkRemovedOptionModule [ "services" "glitchtip" "gunicorn" "extraArgs" ] + "GlitchTip 6 migrated away from gunicorn. Please check the upstream docs how to handle your usecase now." + ) + ]; + config = lib.mkIf cfg.enable { services.glitchtip.settings = { DEBUG = lib.mkDefault 0; DEBUG_TOOLBAR = lib.mkDefault 0; - PYTHONPATH = "${python.pkgs.makePythonPath pkg.propagatedBuildInputs}:${pkg}/lib/glitchtip"; - DATABASE_URL = lib.mkIf cfg.database.createLocally "postgresql://@/glitchtip"; - REDIS_URL = lib.mkIf cfg.redis.createLocally "unix://${config.services.redis.servers.glitchtip.unixSocket}"; - CELERY_BROKER_URL = lib.mkIf cfg.redis.createLocally "redis+socket://${config.services.redis.servers.glitchtip.unixSocket}"; GLITCHTIP_VERSION = pkg.version; + GRANIAN_HOST = lib.mkDefault "127.0.0.1"; + GRANIAN_PORT = lib.mkDefault 8000; + GRANIAN_STATIC_PATH_MOUNT = "${pkg}/lib/glitchtip/static"; + GRANIAN_WORKERS = lib.mkDefault 1; + PYTHONPATH = "${python.pkgs.makePythonPath pkg.propagatedBuildInputs}:${pkg}/lib/glitchtip"; + PYTHONUNBUFFERED = lib.mkDefault 1; + } + // lib.optionalAttrs cfg.database.createLocally { DATABASE_URL = "postgresql://@/glitchtip"; } + // lib.optionalAttrs cfg.nginx.createLocally { GLITCHTIP_DOMAIN = "https://${cfg.nginx.domain}"; } + // lib.optionalAttrs cfg.redis.createLocally { + REDIS_URL = "unix://${config.services.redis.servers.glitchtip.unixSocket}"; }; systemd.services = let commonService = { wantedBy = [ "multi-user.target" ]; - wants = [ "network-online.target" ]; requires = lib.optional cfg.database.createLocally "postgresql.target" @@ -235,35 +272,55 @@ in { glitchtip = commonService // { description = "GlitchTip"; + environment = + environment + // lib.optionalAttrs (cfg.settings.ENABLE_OBSERVABILITY_API && cfg.settings.WORKERS > 1) { + PROMETHEUS_MULTIPROC_DIR = "/tmp/prometheus_multiproc"; + }; + bindsTo = [ "glitchtip-worker.service" ]; + before = [ "glitchtip-worker.service" ]; preStart = '' ${lib.getExe pkg} migrate + ${lib.getExe pkg} createcachetable + ${lib.getExe pkg} maintain_partitions ''; serviceConfig = commonServiceConfig // { ExecStart = '' - ${lib.getExe python.pkgs.gunicorn} \ - --bind=${cfg.listenAddress}:${toString cfg.port} \ - ${lib.concatStringsSep " " cfg.gunicorn.extraArgs} \ - glitchtip.wsgi + ${lib.getExe python.pkgs.granian} \ + --interface ${if cfg.settings.GLITCHTIP_ENABLE_MCP then "asgi" else "asginl"} \ + glitchtip.asgi:application \ + --host ${cfg.settings.GRANIAN_HOST} \ + --port ${toString cfg.settings.GRANIAN_PORT} \ + --workers ${toString cfg.settings.GRANIAN_WORKERS} \ + --no-ws ''; }; }; glitchtip-worker = commonService // { description = "GlitchTip Job Runner"; - + environment = environment // { + IS_WORKER = "1"; + }; serviceConfig = commonServiceConfig // { - ExecStart = '' - ${lib.getExe python.pkgs.celery} \ - -A glitchtip worker \ - -B -s /run/glitchtip/celerybeat-schedule \ - ${lib.concatStringsSep " " cfg.celery.extraArgs} - ''; + ExecStart = "${lib.getExe pkg} runworker --scheduler"; }; }; }; + services.nginx = lib.mkIf cfg.nginx.createLocally { + enable = true; + virtualHosts.${cfg.nginx.domain} = { + forceSSL = lib.mkDefault true; + locations = { + "/".proxyPass = "http://${cfg.settings.GRANIAN_HOST}:${toString cfg.settings.GRANIAN_PORT}"; + "/static/".root = "${pkg}/lib/glitchtip"; + }; + }; + }; + services.postgresql = lib.mkIf cfg.database.createLocally { enable = true; ensureDatabases = [ "glitchtip" ]; @@ -289,15 +346,13 @@ in systemd.tmpfiles.settings.glitchtip."${cfg.stateDir}/uploads".d = { inherit (cfg) user group; }; - environment.systemPackages = - let - glitchtip-manage = pkgs.writeShellScriptBin "glitchtip-manage" '' - set -o allexport - ${lib.toShellVars environment} - ${lib.concatMapStringsSep "\n" (f: "source ${f}") cfg.environmentFiles} - ${config.security.wrapperDir}/sudo -E -u ${cfg.user} ${lib.getExe pkg} "$@" - ''; - in - [ glitchtip-manage ]; + environment.systemPackages = [ + (pkgs.writeShellScriptBin "glitchtip-manage" '' + set -o allexport + ${lib.toShellVars environment} + ${lib.concatMapStringsSep "\n" (f: "source ${f}") cfg.environmentFiles} + ${config.security.wrapperDir}/sudo -E -u ${cfg.user} ${lib.getExe pkg} "$@" + '') + ]; }; } diff --git a/nixos/tests/glitchtip.nix b/nixos/tests/glitchtip.nix index 21b3a0197c48..149873726bef 100644 --- a/nixos/tests/glitchtip.nix +++ b/nixos/tests/glitchtip.nix @@ -1,7 +1,8 @@ { lib, ... }: let - domain = "http://glitchtip.local:8000"; + domain = "glitchtip.local"; + url = "http://${domain}"; in { @@ -16,8 +17,10 @@ in { services.glitchtip = { enable = true; - port = 8000; - settings.GLITCHTIP_DOMAIN = domain; + nginx.createLocally = true; + nginx.domain = domain; + settings.GLITCHTIP_DOMAIN = lib.mkForce url; + settings.CSRF_TRUSTED_ORIGINS = "${url},http://localhost:8000"; environmentFiles = [ (builtins.toFile "glitchtip.env" '' SECRET_KEY=8Hz7YCGzo7fiicHb8Qr22ZqwoIB7lSRx @@ -25,19 +28,23 @@ in ]; }; + services.nginx.virtualHosts.${domain}.forceSSL = false; + environment.systemPackages = [ pkgs.sentry-cli ]; - networking.hosts."127.0.0.1" = [ "glitchtip.local" ]; + networking.hosts."127.0.0.1" = [ domain ]; }; + interactive.sshBackdoor.enable = true; + interactive.defaults.virtualisation.graphics = false; + interactive.nodes.machine = { - services.glitchtip.listenAddress = "0.0.0.0"; - networking.firewall.allowedTCPPorts = [ 8000 ]; + networking.firewall.allowedTCPPorts = [ 80 ]; virtualisation.forwardPorts = [ { from = "host"; host.port = 8000; - guest.port = 8000; + guest.port = 80; } ]; }; @@ -53,7 +60,7 @@ in machine.wait_for_unit("glitchtip-worker.service") machine.wait_for_open_port(8000) - origin_url = "${domain}" + origin_url = "${url}" cookie_jar_path = "/tmp/cookies.txt" curl = f"curl -b {cookie_jar_path} -c {cookie_jar_path} -fS -H 'Origin: {origin_url}'" @@ -89,7 +96,7 @@ in # fetch dsn resp = json.loads(machine.succeed(f"{curl} {origin_url}/api/0/projects/main/test/keys/")) assert len(resp) == 1 - assert re.match(r"^http://[\da-f]+@glitchtip\.local:8000/\d+$", dsn := resp[0]["dsn"]["public"]) + assert re.match(r"^http://[\da-f]+@glitchtip\.local/\d+$", dsn := resp[0]["dsn"]["public"]) # send event machine.succeed(f"SENTRY_DSN={dsn} sentry-cli send-event -m 'hello world'") diff --git a/pkgs/applications/editors/vscode/vscode.nix b/pkgs/applications/editors/vscode/vscode.nix index 7c04b08d5726..67af88256f06 100644 --- a/pkgs/applications/editors/vscode/vscode.nix +++ b/pkgs/applications/editors/vscode/vscode.nix @@ -35,17 +35,17 @@ let hash = { - x86_64-linux = "sha256-D+2JWjC0kutfkEF5QKOKwh9Z8+jWgMgMN2b8pKwYays="; - x86_64-darwin = "sha256-dgOKMYRKfGRipLMsQcVmlOEHbG9l4ryJZv5J8znSxwA="; - aarch64-linux = "sha256-NRaxhWEdYDNIK1AbimKwzw4zGd3ljwBIYJ+BaTz2/gk="; - aarch64-darwin = "sha256-nWkNoryvsD2SPkc5veQ12+DWPXgWPJjfWwUcC7PjbC4="; - armv7l-linux = "sha256-Ae5sKYiyvIF9KZzKi7BK3/SLgKjuQCLjNKi9dXIqGbo="; + x86_64-linux = "sha256-eDSGfF05h5HPTZNeV9l/SBV+9fIV9iVnommM5P/cGgA="; + x86_64-darwin = "sha256-gHNXSWjbS+xqxjNYaoE7WSeo1Vf2+au/x68RVObJtp0="; + aarch64-linux = "sha256-PkZiq6STbt1Rb/g9XKeE3tktcrSRyQn/ah1QQxrOITg="; + aarch64-darwin = "sha256-T7An1+qkBO2QncPvoyymjerwLwti2/MgwmOJJCb2Nhw="; + armv7l-linux = "sha256-+KfjkiqMBGg9x/Qnd4FHiW0kw0dIQ56DSGUm8SBTc8o="; } .${system} or throwSystem; # Please backport all compatible updates to the stable release. # This is important for the extension ecosystem. - version = "1.114.0"; + version = "1.115.0"; # The update server (update.code.visualstudio.com) expects the version path # segment in X.Y.Z form, so we normalize X.Y to X.Y.0 (e.g. "1.110" → "1.110.0"). @@ -53,7 +53,7 @@ let downloadVersion = lib.versions.pad 3 version; # This is used for VS Code - Remote SSH test - rev = "e7fb5e96c0730b9deb70b33781f98e2f35975036"; + rev = "41dd792b5e652393e7787322889ed5fdc58bd75b"; in buildVscode { pname = "vscode" + lib.optionalString isInsiders "-insiders"; @@ -86,7 +86,7 @@ buildVscode { src = fetchurl { name = "vscode-server-${rev}.tar.gz"; url = "https://update.code.visualstudio.com/commit:${rev}/server-linux-x64/stable"; - hash = "sha256-Sx9XXo3qB+7hwi9vzAncX49usOSMVgKilgBa2UrG6pQ="; + hash = "sha256-2CQBU7TfYNO4m1Mf6Q0QXFt8C2txJgcN9kd7wX355J4="; }; stdenv = stdenvNoCC; }; diff --git a/pkgs/applications/networking/cluster/terraform-providers/providers.json b/pkgs/applications/networking/cluster/terraform-providers/providers.json index 36708cbea6b1..580980abb969 100644 --- a/pkgs/applications/networking/cluster/terraform-providers/providers.json +++ b/pkgs/applications/networking/cluster/terraform-providers/providers.json @@ -1310,11 +1310,11 @@ "vendorHash": "sha256-omxEb+ntQuHDfS2Rmt0rj0BF0Q2T8DLhobLua2uU/0o=" }, "tencentcloudstack_tencentcloud": { - "hash": "sha256-xsYh5gDneL3nQDUIHe3fRjObFTGp3ssPq8wlqPWsq7Y=", + "hash": "sha256-JA8urZd08fyGkFZMCF9aVJ9UEGx+aPreGqiAuFTqA84=", "homepage": "https://registry.terraform.io/providers/tencentcloudstack/tencentcloud", "owner": "tencentcloudstack", "repo": "terraform-provider-tencentcloud", - "rev": "v1.82.82", + "rev": "v1.82.84", "spdx": "MPL-2.0", "vendorHash": null }, @@ -1499,12 +1499,12 @@ "vendorHash": "sha256-Z4DfoG4ApXbPNXZs9YvBWQj1bH7moLNI6P+nKDHt/Jc=" }, "yandex-cloud_yandex": { - "hash": "sha256-F2nbu/MImDXHSYPjo3O6K0tsZJ4PTrmB14Ghfvnp5sc=", + "hash": "sha256-gCzM7pfQaez/Zw6JAJcw4bVSpqVhxxiQyjqP/FeldJQ=", "homepage": "https://registry.terraform.io/providers/yandex-cloud/yandex", "owner": "yandex-cloud", "repo": "terraform-provider-yandex", - "rev": "v0.195.0", + "rev": "v0.197.0", "spdx": "MPL-2.0", - "vendorHash": "sha256-lSpDmhzCed9NUJkQ35tsrUbMIzx6wnEJ20UFMPbwhWE=" + "vendorHash": "sha256-Prtwe3JPfWpx+yO37lT31VsqQ6E2aDLI7fAbYYq7gSE=" } } diff --git a/pkgs/by-name/as/astro-language-server/package.nix b/pkgs/by-name/as/astro-language-server/package.nix index d9404b551d92..478a6231cd82 100644 --- a/pkgs/by-name/as/astro-language-server/package.nix +++ b/pkgs/by-name/as/astro-language-server/package.nix @@ -20,7 +20,10 @@ stdenv.mkDerivation (finalAttrs: { }; # https://pnpm.io/filtering#--filter-package_name-1 - pnpmWorkspaces = [ "@astrojs/language-server..." ]; + pnpmWorkspaces = [ + "@astrojs/language-server..." + "@astrojs/ts-plugin" + ]; prePnpmInstall = '' pnpm config set dedupe-peer-dependents false pnpm approve-builds @emmetio/css-parser @@ -36,7 +39,7 @@ stdenv.mkDerivation (finalAttrs: { ; pnpm = pnpm_10; fetcherVersion = 2; - hash = "sha256-QJSFRJ3U7M0B7ukiU+BYY2KdrcNUpyiOcGA7G3xja3I="; + hash = "sha256-+5S/VuZjP6LoWUPKF1NMhw317AFAJUgaY7/Tq0ZKouw="; }; nativeBuildInputs = [ @@ -50,7 +53,7 @@ stdenv.mkDerivation (finalAttrs: { buildPhase = '' runHook preBuild - pnpm --filter "@astrojs/language-server..." build + pnpm --filter "@astrojs/language-server..." --filter "@astrojs/ts-plugin" build runHook postBuild ''; @@ -63,11 +66,10 @@ stdenv.mkDerivation (finalAttrs: { pnpm install --offline --prod --filter="@astrojs/language-server..." mkdir -p $out/{bin,lib/node_modules/astro-language-server/packages/language-tools} cp -r ./node_modules $out/lib/node_modules/astro-language-server - cp -r packages/language-tools/{language-server,yaml2ts} $out/lib/node_modules/astro-language-server/packages/language-tools/ + cp -r packages/language-tools/{language-server,yaml2ts,ts-plugin} $out/lib/node_modules/astro-language-server/packages/language-tools/ pushd $out/lib/node_modules/astro-language-server/node_modules - rm -rf {./,.pnpm/node_modules/}astro-{scripts,benchmark} + rm -rf {./,.pnpm/node_modules/}astro-{scripts,benchmark} .pnpm/node_modules/@astrojs/ts-plugin popd - ln -s $out/lib/node_modules/astro-language-server/packages/language-tools/language-server/bin/nodeServer.js $out/bin/astro-ls runHook postInstall @@ -86,7 +88,10 @@ stdenv.mkDerivation (finalAttrs: { homepage = "https://github.com/withastro/astro/tree/main/packages/language-tools"; changelog = "https://github.com/withastro/astro/blob/%40astrojs/language-server%40${finalAttrs.version}/packages/language-tools/language-server/CHANGELOG.md"; license = lib.licenses.mit; - maintainers = with lib.maintainers; [ miniharinn ]; + maintainers = with lib.maintainers; [ + miniharinn + god464 + ]; mainProgram = "astro-ls"; platforms = lib.platforms.unix; }; diff --git a/pkgs/by-name/ca/cargo-readme/package.nix b/pkgs/by-name/ca/cargo-readme/package.nix index fc8a1fa67697..6de86e184a61 100644 --- a/pkgs/by-name/ca/cargo-readme/package.nix +++ b/pkgs/by-name/ca/cargo-readme/package.nix @@ -6,16 +6,16 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "cargo-readme"; - version = "3.3.1"; + version = "3.3.2"; src = fetchFromGitHub { owner = "webern"; repo = "cargo-readme"; rev = "v${finalAttrs.version}"; - sha256 = "sha256-FFWHADATEfvZvxGwdkj+eTVoq7pnPuoUAhMGTokUkMs="; + sha256 = "sha256-p8QQNACU9lFig0vBQrb1u2T44Icwk10OBjGzaVLj7kk="; }; - cargoHash = "sha256-24D+ZcMGZN175LZNcNW8F5IsStk4au4xB0ZFe95EjPk="; + cargoHash = "sha256-kfXDMBqS4/QC+khQhQ2Jrer8TuFKlnZFS3IZ2lcVOR8="; # disable doc tests cargoTestFlags = [ diff --git a/pkgs/by-name/ca/cargo-update/package.nix b/pkgs/by-name/ca/cargo-update/package.nix index 5d8ca451ce6b..2ace34600749 100644 --- a/pkgs/by-name/ca/cargo-update/package.nix +++ b/pkgs/by-name/ca/cargo-update/package.nix @@ -16,14 +16,14 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "cargo-update"; - version = "19.0.1"; + version = "20.0.0"; src = fetchCrate { inherit (finalAttrs) pname version; - hash = "sha256-XK5ky0t8IdQRVsDU6VDB+HzWzgn4uXhlvOS66GPCVn8="; + hash = "sha256-J/FujtsQF8WfHFoHJ3r2M+vv8WVh4cxDFw07JntnW2g="; }; - cargoHash = "sha256-/teRXWO3alCU4i4WsQaojCNAXVm/DnpxbYysCEb/Ohg="; + cargoHash = "sha256-bH8Mg7QQbbXlF7fxwWEFYmYQD1CmDM+g4GhFPZwLy/M="; nativeBuildInputs = [ cmake diff --git a/pkgs/by-name/dw/dwproton-bin/package.nix b/pkgs/by-name/dw/dwproton-bin/package.nix new file mode 100644 index 000000000000..d1095082c312 --- /dev/null +++ b/pkgs/by-name/dw/dwproton-bin/package.nix @@ -0,0 +1,43 @@ +{ + lib, + fetchzip, + writeScript, + proton-ge-bin, + + steamDisplayName ? "dwproton", +}: +proton-ge-bin.overrideAttrs ( + finalAttrs: _: { + inherit steamDisplayName; + + pname = "dwproton-bin"; + version = "dwproton-10.0-22"; + + src = fetchzip { + url = "https://dawn.wine/dawn-winery/dwproton/releases/download/${finalAttrs.version}/${finalAttrs.version}-x86_64.tar.xz"; + hash = "sha256-U/lLAF/WUxHInBgAt7YuDUM/eGGSv7mkjAACr15iW/0="; + }; + + passthru.updateScript = writeScript "update-dwproton" '' + #!/usr/bin/env nix-shell + #!nix-shell -i bash -p curl jq common-updater-scripts + version=$(curl -sL "https://dawn.wine/api/v1/repos/dawn-winery/dwproton/tags?page=1\&limit=1" | jq -r .[0].name) + update-source-version dwproton-bin "$version" + ''; + + meta = { + description = '' + Dawn Winery's custom Proton fork with fixes for various games. + + (This is intended for use in the `programs.steam.extraCompatPackages` option only.) + ''; + homepage = "https://dawn.wine/dawn-winery/dwproton"; + license = lib.licenses.bsd3; + maintainers = with lib.maintainers; [ + Renna42 + ]; + platforms = [ "x86_64-linux" ]; + sourceProvenance = [ lib.sourceTypes.binaryNativeCode ]; + }; + } +) diff --git a/pkgs/by-name/fr/freac/package.nix b/pkgs/by-name/fr/freac/package.nix index ce322a272121..c323a26a836c 100644 --- a/pkgs/by-name/fr/freac/package.nix +++ b/pkgs/by-name/fr/freac/package.nix @@ -7,6 +7,7 @@ smooth, systemd, wrapGAppsHook3, + nix-update-script, }: stdenv.mkDerivation (finalAttrs: { @@ -16,7 +17,7 @@ stdenv.mkDerivation (finalAttrs: { src = fetchFromGitHub { owner = "enzo1982"; repo = "freac"; - rev = "v${finalAttrs.version}"; + tag = "v${finalAttrs.version}"; sha256 = "sha256-bHoRxxhSM7ipRkiBG7hEa1Iw8Z3tOHQ/atngC/3X1a4="; }; @@ -31,10 +32,16 @@ stdenv.mkDerivation (finalAttrs: { "prefix=$(out)" ]; + passthru.updateScript = nix-update-script { }; + meta = { description = "Audio converter and CD ripper with support for various popular formats and encoders"; license = lib.licenses.gpl2Plus; homepage = "https://www.freac.org/"; + downloadPage = "https://www.freac.org/downloads-mainmenu-33"; + changelog = "https://github.com/enzo1982/freac/releases/tag/${finalAttrs.src.tag}"; platforms = lib.platforms.linux; + maintainers = with lib.maintainers; [ VZstless ]; + mainProgram = "freac"; }; }) diff --git a/pkgs/by-name/gl/glitchtip/frontend.nix b/pkgs/by-name/gl/glitchtip/frontend.nix index 07f14a72c636..23e6504dd076 100644 --- a/pkgs/by-name/gl/glitchtip/frontend.nix +++ b/pkgs/by-name/gl/glitchtip/frontend.nix @@ -5,22 +5,27 @@ fetchNpmDeps, jq, moreutils, + nodejs_22, }: buildNpmPackage (finalAttrs: { pname = "glitchtip-frontend"; - version = "5.2.1"; + version = "6.1.5"; src = fetchFromGitLab { owner = "glitchtip"; repo = "glitchtip-frontend"; tag = "v${finalAttrs.version}"; - hash = "sha256-aqGgaVjJogG3mDooQVpR59SR0HDuMPfKuB1i0Z/AMs8="; + hash = "sha256-YngWs12wJLi3NgRT3RhGYy38dhOqBATYPMsXEbeoycU="; }; + nodejs = nodejs_22; + npmDeps = fetchNpmDeps { + name = "${finalAttrs.pname}-${finalAttrs.version}-npm-deps"; inherit (finalAttrs) src; - hash = "sha256-urho5XwUJL7m8/xxv9EvH0MxQIW5TG7nOBSIa77RhJc="; + npmDepsFetcherVersion = 3; + hash = "sha256-8T2Ci8S0YHyzY1jjgcNXt5mxUy/4toJrD2edUxtJz3M="; }; postPatch = '' diff --git a/pkgs/by-name/gl/glitchtip/package.nix b/pkgs/by-name/gl/glitchtip/package.nix index 1c420539e06b..0f02c9d83c0f 100644 --- a/pkgs/by-name/gl/glitchtip/package.nix +++ b/pkgs/by-name/gl/glitchtip/package.nix @@ -1,8 +1,7 @@ { lib, - python313, + python314, fetchFromGitLab, - fetchPypi, callPackage, stdenv, makeWrapper, @@ -10,22 +9,10 @@ }: let - python = python313.override { + python = python314.override { self = python; packageOverrides = final: prev: { - django = final.django_5; - django-csp = prev.django-csp.overridePythonAttrs rec { - version = "4.0"; - src = fetchPypi { - inherit version; - pname = "django_csp"; - hash = "sha256-snAQu3Ausgo9rTKReN8rYaK4LTOLcPvcE8OjvShxKDM="; - }; - }; - django-ninja-cursor-pagination = prev.django-ninja-cursor-pagination.overridePythonAttrs { - # checks are failing with django 5 - doCheck = false; - }; + django = final.django_6; }; }; @@ -34,16 +21,15 @@ let [ aiohttp anonymizeip + arro3-core + arro3-io boto3 brotli - celery - celery-batches cxxfilt django django-allauth django-anymail django-cors-headers - django-csp django-environ django-extensions django-import-export @@ -54,32 +40,33 @@ let django-postgres-partition django-prometheus django-storages - django-valkey + django-vcache + django-vtasks + duckdb google-cloud-logging granian - gunicorn + mcp + minidump orjson psycopg pydantic sentry-sdk symbolic user-agents - uvicorn + uuid6 uwsgi-chunked whitenoise ] - ++ celery.optional-dependencies.redis - ++ celery.optional-dependencies.sqlalchemy ++ django-allauth.optional-dependencies.headless-spec ++ django-allauth.optional-dependencies.mfa ++ django-allauth.optional-dependencies.socialaccount ++ django-storages.optional-dependencies.boto3 ++ django-storages.optional-dependencies.azure ++ django-storages.optional-dependencies.google - ++ django-valkey.optional-dependencies.libvalkey - ++ django-valkey.optional-dependencies.lz4 + ++ django-vtasks.optional-dependencies.valkey ++ granian.optional-dependencies.reload ++ granian.optional-dependencies.uvloop + ++ mcp.optional-dependencies.cli ++ psycopg.optional-dependencies.c ++ psycopg.optional-dependencies.pool ++ pydantic.optional-dependencies.email; @@ -89,16 +76,24 @@ in stdenv.mkDerivation (finalAttrs: { pname = "glitchtip"; - version = "5.2.1"; + version = "6.1.4"; pyproject = true; src = fetchFromGitLab { owner = "glitchtip"; repo = "glitchtip-backend"; tag = "v${finalAttrs.version}"; - hash = "sha256-FxkIbSrIyvLnD9n/Cb2udOhsnoC/bwGAfCRB1L/fhwo="; + hash = "sha256-wju/QbIwdtNYQmRppCfjoaqb++spFZbqAsvBwwZyeUM="; }; + postPatch = '' + echo 'import os + ALLAUTH_TRUSTED_CLIENT_IP_HEADER = os.getenv( + "ALLAUTH_TRUSTED_CLIENT_IP_HEADER", + None + )' >> glitchtip/settings.py + ''; + propagatedBuildInputs = pythonPackages; nativeBuildInputs = [ diff --git a/pkgs/by-name/hm/hmcl/package.nix b/pkgs/by-name/hm/hmcl/package.nix index 3e605a1959df..1192c1935d42 100644 --- a/pkgs/by-name/hm/hmcl/package.nix +++ b/pkgs/by-name/hm/hmcl/package.nix @@ -49,13 +49,13 @@ let in stdenv.mkDerivation (finalAttrs: { pname = "hmcl"; - version = "3.12.2"; + version = "3.12.4"; src = fetchurl { # HMCL has built-in keys, such as the Microsoft OAuth secret and the CurseForge API key. # See https://github.com/HMCL-dev/HMCL/blob/refs/tags/release-3.6.12/.github/workflows/gradle.yml#L26-L28 url = "https://github.com/HMCL-dev/HMCL/releases/download/v${finalAttrs.version}/HMCL-${finalAttrs.version}.jar"; - hash = "sha256-CuWueXEq77Nr6aVbXo3BJVsYU+UWwBZRz//zBToLwN0="; + hash = "sha256-CxLs3rMW++FGF7WV9EMIb+69ZrnV2MadEHD/NMyXBIw="; }; # - HMCL prompts users to download prebuilt Terracotta binary for diff --git a/pkgs/by-name/im/imnodes/package.nix b/pkgs/by-name/im/imnodes/package.nix index aece5ddd1f37..f00f17e82fc4 100644 --- a/pkgs/by-name/im/imnodes/package.nix +++ b/pkgs/by-name/im/imnodes/package.nix @@ -13,7 +13,7 @@ stdenv.mkDerivation { pname = "imnodes"; - version = "unstable-2024-03-12"; + version = "unstable-2025-06-25"; outputs = [ "out" "dev" @@ -22,8 +22,8 @@ stdenv.mkDerivation { src = fetchFromGitHub { owner = "Nelarius"; repo = "imnodes"; - rev = "8563e1655bd9bb1f249e6552cc6274d506ee788b"; - hash = "sha256-E7NNCxYq9dyVvutWbpl2a+D2Ap2ErvdYHBDqpX0kb0c="; + rev = "b2ec254ce576ac3d42dfb7aef61deadbff8e7211"; + hash = "sha256-Hdde198chSm3Ii0grEB4imqp7vVu6mYxa1VPZovvb7A="; }; patches = [ # CMake install rules diff --git a/pkgs/by-name/ll/llama-cpp/package.nix b/pkgs/by-name/ll/llama-cpp/package.nix index 7e9feed798ad..ee304e3febeb 100644 --- a/pkgs/by-name/ll/llama-cpp/package.nix +++ b/pkgs/by-name/ll/llama-cpp/package.nix @@ -78,7 +78,7 @@ let in effectiveStdenv.mkDerivation (finalAttrs: { pname = "llama-cpp"; - version = "8667"; + version = "8733"; outputs = [ "out" @@ -89,7 +89,7 @@ effectiveStdenv.mkDerivation (finalAttrs: { owner = "ggml-org"; repo = "llama.cpp"; tag = "b${finalAttrs.version}"; - hash = "sha256-bDI7a7OMCbuZyaJX4o22fmQIyrGdzYkoIeVvxBYlnRI="; + hash = "sha256-hHySLday/Kz0jNPLxbDxZXL/1O2VOBPG7fNaBLkD6tc="; leaveDotGit = true; postFetch = '' git -C "$out" rev-parse --short HEAD > $out/COMMIT @@ -121,7 +121,7 @@ effectiveStdenv.mkDerivation (finalAttrs: { ++ [ openssl ]; npmRoot = "tools/server/webui"; - npmDepsHash = "sha256-DxgUDVr+kwtW55C4b89Pl+j3u2ILmACcQOvOBjKWAKQ="; + npmDepsHash = "sha256-eeftjKt0FuS0Dybez+Iz9VTVMA4/oQVh+3VoIqvhVMw="; npmDeps = fetchNpmDeps { name = "${finalAttrs.pname}-${finalAttrs.version}-npm-deps"; inherit (finalAttrs) src patches; diff --git a/pkgs/by-name/mn/mnamer/fix-requests-cache-version-check.patch b/pkgs/by-name/mn/mnamer/fix-requests-cache-version-check.patch new file mode 100644 index 000000000000..2a29976187d0 --- /dev/null +++ b/pkgs/by-name/mn/mnamer/fix-requests-cache-version-check.patch @@ -0,0 +1,33 @@ +From 634d56361e967adcd81c3cb839458d3aea99e5db Mon Sep 17 00:00:00 2001 +From: Skid <26208369+skid9000@users.noreply.github.com> +Date: Sun, 22 Feb 2026 20:28:03 +0100 +Subject: [PATCH] Fix requests_cache version check for 1.3.0 + +Using the same method provided here : https://github.com/requests-cache/requests-cache/commit/61fae61e07222777eb26a6fb670c4ee6a9cdddb7 +--- + mnamer/const.py | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +diff --git a/mnamer/const.py b/mnamer/const.py +index 66510ebf..bf321f41 100644 +--- a/mnamer/const.py ++++ b/mnamer/const.py +@@ -4,6 +4,7 @@ + from pathlib import Path + from platform import platform, python_version + from sys import argv, gettrace, version_info ++from importlib.metadata import version as pkg_version, PackageNotFoundError + + VERSION: str + +@@ -37,8 +38,8 @@ + requests_version = "N/A" + + try: +- from requests_cache import __version__ as requests_cache_version +-except ModuleNotFoundError: ++ requests_cache_version = pkg_version('requests_cache') ++except PackageNotFoundError: + requests_cache_version = "N/A" + + try: diff --git a/pkgs/by-name/mn/mnamer/package.nix b/pkgs/by-name/mn/mnamer/package.nix index d80ae16df58e..e4196ee96fbb 100644 --- a/pkgs/by-name/mn/mnamer/package.nix +++ b/pkgs/by-name/mn/mnamer/package.nix @@ -35,6 +35,8 @@ python3Packages.buildPythonApplication (finalAttrs: { patches = [ # https://github.com/jkwill87/mnamer/pull/291 ./cached_session_error.patch + # https://github.com/jkwill87/mnamer/pull/333 + ./fix-requests-cache-version-check.patch ]; nativeCheckInputs = [ python3Packages.pytestCheckHook ]; diff --git a/pkgs/by-name/op/open-web-calendar/package.nix b/pkgs/by-name/op/open-web-calendar/package.nix index 7ea2c1781495..b63ad48acbd2 100644 --- a/pkgs/by-name/op/open-web-calendar/package.nix +++ b/pkgs/by-name/op/open-web-calendar/package.nix @@ -12,13 +12,13 @@ let in python.pkgs.buildPythonApplication (finalAttrs: { pname = "open-web-calendar"; - version = "1.49"; + version = "1.51"; pyproject = true; src = fetchPypi { inherit (finalAttrs) version; pname = "open_web_calendar"; - hash = "sha256-vtmIqiF85zn8CiMUWsCKJUzfiiK/j+xlZIyuIMGxR4I="; + hash = "sha256-r+7ZKdNOhjnjE1MBNAkni4Rrpx4DMRhUaP1Mmk5wzOo="; }; # The Pypi tarball doesn't contain open_web_calendars/features @@ -39,7 +39,6 @@ python.pkgs.buildPythonApplication (finalAttrs: { dependencies = with python.pkgs; [ - flask-caching flask-allowed-hosts flask icalendar @@ -48,6 +47,7 @@ python.pkgs.buildPythonApplication (finalAttrs: { bcrypt caldav requests + requests-cache pyyaml recurring-ical-events gunicorn @@ -59,7 +59,10 @@ python.pkgs.buildPythonApplication (finalAttrs: { ] ++ requests.optional-dependencies.socks; - nativeCheckInputs = with python.pkgs; [ pytestCheckHook ]; + nativeCheckInputs = with python.pkgs; [ + pytestCheckHook + pytest-responses + ]; enabledTestPaths = [ "open_web_calendar/test" ]; diff --git a/pkgs/by-name/op/openapi-generator-cli/package.nix b/pkgs/by-name/op/openapi-generator-cli/package.nix index ae3b81ad5d8b..29a09a397d65 100644 --- a/pkgs/by-name/op/openapi-generator-cli/package.nix +++ b/pkgs/by-name/op/openapi-generator-cli/package.nix @@ -28,8 +28,8 @@ let patches = [ # Achieve reproducible mvnHash by pinning develocity plugin. (fetchpatch { - url = "https://github.com/OpenAPITools/openapi-generator/pull/23326.patch"; - hash = "sha256-s68VoIXSFGvGCaFtCUYkeoq+CgC+2gIdDIIsmn8uqyk="; + url = "https://github.com/OpenAPITools/openapi-generator/commit/ff66e1bc7fe33dcee89de7296eb7bcd5e2a11cc6.patch"; + hash = "sha256-E1VgtaIW1V+8ch2RpW850fVNl5Iqitjog+0b8DKFgZw="; }) ]; diff --git a/pkgs/by-name/pg/pgdog/package.nix b/pkgs/by-name/pg/pgdog/package.nix index cf4de6f92beb..e6370f11f40f 100644 --- a/pkgs/by-name/pg/pgdog/package.nix +++ b/pkgs/by-name/pg/pgdog/package.nix @@ -14,16 +14,16 @@ let in rustPlatform.buildRustPackage.override { inherit stdenv; } (finalAttrs: { pname = "pgdog"; - version = "0.1.34"; + version = "0.1.36"; src = fetchFromGitHub { owner = "pgdogdev"; repo = "pgdog"; tag = "v${finalAttrs.version}"; - hash = "sha256-ZbDj+2x2TlYz8r1gRF7msyKUELTTuvhjQlyJcN4g0NI="; + hash = "sha256-3ESeZA+824abvTMp7Vge4ldqqQ6qSF/dkDgGaY6h4mM="; }; - cargoHash = "sha256-7CR3tE3YpfN864lCrl1Wm/eL008c5UzlsFN4k22oCF0="; + cargoHash = "sha256-PNqUYP3lUXuQLosrDvoIMofWglJQjD9I/k6u/M3qfZ0="; # Hardcoded paths for C compiler and linker postPatch = '' diff --git a/pkgs/by-name/po/podman-desktop/package.nix b/pkgs/by-name/po/podman-desktop/package.nix index ae7c66d7e09a..92b1651bbded 100644 --- a/pkgs/by-name/po/podman-desktop/package.nix +++ b/pkgs/by-name/po/podman-desktop/package.nix @@ -4,7 +4,7 @@ fetchFromGitHub, makeBinaryWrapper, copyDesktopItems, - electron_39, + electron_41, nodejs, pnpm_10_29_2, fetchPnpmDeps, @@ -21,12 +21,12 @@ }: let - electron = electron_39; + electron = electron_41; appName = "Podman Desktop"; in stdenv.mkDerivation (finalAttrs: { pname = "podman-desktop"; - version = "1.23.1"; + version = "1.26.2"; passthru.updateScript = _experimental-update-script-combinators.sequence [ (nix-update-script { }) @@ -59,14 +59,14 @@ stdenv.mkDerivation (finalAttrs: { owner = "containers"; repo = "podman-desktop"; tag = "v${finalAttrs.version}"; - hash = "sha256-08boCPsuT09OileZUWhB8awXWHrlJzoER2Bx0WXeOHU="; + hash = "sha256-VVyKC1z7YECZlbTaFaq2OwGg0k22qBbn/HEOYiJ8fcw="; }; pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; pnpm = pnpm_10_29_2; fetcherVersion = 2; - hash = "sha256-nBjAmXzjR0qGCM91UAonQKP0NG7+DXImueSbhbnMK/k="; + hash = "sha256-tCp5qLZVo93H8VIToU3mkmwNsVXOAd1IEsL6RlazPXo="; }; patches = [ @@ -75,7 +75,10 @@ stdenv.mkDerivation (finalAttrs: { ./system-defaults-dir.patch ]; - env.ELECTRON_SKIP_BINARY_DOWNLOAD = "1"; + env = { + ELECTRON_SKIP_BINARY_DOWNLOAD = "1"; + ELECTRON_OVERRIDE_DIST_PATH = electron.dist; + }; nativeBuildInputs = [ makeBinaryWrapper diff --git a/pkgs/by-name/po/podman-desktop/system-defaults-dir.patch b/pkgs/by-name/po/podman-desktop/system-defaults-dir.patch index f5d0df8d3677..0c5e8df002b1 100644 --- a/pkgs/by-name/po/podman-desktop/system-defaults-dir.patch +++ b/pkgs/by-name/po/podman-desktop/system-defaults-dir.patch @@ -1,10 +1,13 @@ -diff --git a/packages/main/src/plugin/managed-by-constants.ts b/packages/main/src/plugin/managed-by-constants.ts -index 5a20d2de29e..9fea8a17165 100644 ---- a/packages/main/src/plugin/managed-by-constants.ts -+++ b/packages/main/src/plugin/managed-by-constants.ts -@@ -29,4 +29,4 @@ export const SYSTEM_LOCKED_FILENAME = 'locked.json'; - // Folders for managed defaults on different platforms - export const SYSTEM_DEFAULTS_FOLDER_MACOS = '/Library/Application Support/io.podman_desktop.PodmanDesktop'; - export const SYSTEM_DEFAULTS_FOLDER_WINDOWS = 'Podman Desktop'; --export const SYSTEM_DEFAULTS_FOLDER_LINUX = '/usr/share/podman-desktop'; -+export const SYSTEM_DEFAULTS_FOLDER_LINUX = '/etc/podman-desktop'; +diff --git a/product.json b/product.json +index 74b7299ee93..a80fe7373bc 100644 +--- a/product.json ++++ b/product.json +@@ -8,7 +8,7 @@ + "managed": { + "macOS": "/Library/Application Support/io.podman_desktop.PodmanDesktop", + "windows": "%PROGRAMDATA%\\Podman Desktop", +- "linux": "/usr/share/podman-desktop", ++ "linux": "/etc/podman-desktop", + "flatpak": "/run/host/usr/share/podman-desktop" + } + }, diff --git a/pkgs/by-name/pr/processing/deps.json b/pkgs/by-name/pr/processing/deps.json index d42591ac99b5..d728db94ded6 100644 --- a/pkgs/by-name/pr/processing/deps.json +++ b/pkgs/by-name/pr/processing/deps.json @@ -53,6 +53,11 @@ "pom": "sha256-zzU+toek04gE0IYSpbxV5aO22ZWWdRC9yypfSH91bPY=" } }, + "https://dlcdn.apache.org": { + "/xmlgraphics/batik/binaries/batik-bin-1.19": { + "zip": "sha256-llQTrIM6XE5QPkVCk9L3TpZ8BEKqsgBpk+33LW7b6Oc=" + } + }, "https://github.com/processing": { "processing-examples/archive/b10c9e9a05a0d6c20d233ca7f30d315b5047720e": { "zip": "sha256-08ADdtsZ/lkbERbHliM5SSaFcTUnOplJdQx7eYR43qU=" @@ -61,60 +66,6 @@ "zip": "sha256-MC3Ce5B5bFUA0aCkFQPCMGA5QuUw5vjmSzFnyEfR3Nw=" } }, - "https://jogamp.org/deployment/maven/org/jogamp": { - "gluegen#gluegen-rt-main/2.5.0": { - "jar": "sha256-zBFPTAspsv5NBqXHkxg4gURSoEzJeJ4nshqwXTVBwQc=", - "pom": "sha256-KDtSN+Uh/300IFXZw6Zy0FgglyLQgvPnVPZw3mVtghg=" - }, - "gluegen#gluegen-rt/2.5.0": { - "jar": "sha256-NiDBhTaoZx/LHFlddEjp0xImuCQRevakxtRcZX9Nq+M=", - "pom": "sha256-6S7gyRmGFTV50qfh5QJQaMLCSlNSc3L+Vrqk2ZCwGPM=" - }, - "gluegen#gluegen-rt/2.5.0/natives-android-aarch64": { - "jar": "sha256-NFx328LbuUpcVwOVNfPp1k0LTqFyVS1lvwiyJKadhKc=" - }, - "gluegen#gluegen-rt/2.5.0/natives-linux-aarch64": { - "jar": "sha256-GuQH+YQzcknnzZvx8eFjdzvgVSi1Vi7KBhvM9jSxDa8=" - }, - "gluegen#gluegen-rt/2.5.0/natives-linux-amd64": { - "jar": "sha256-bZmNDB8E8QOJS3aQSQhhJFBQY86oaoKJYZS7U8iLBAo=" - }, - "gluegen#gluegen-rt/2.5.0/natives-linux-armv6hf": { - "jar": "sha256-STL1+0J/TAal/QOzhUPqAhmVY8QX8HS1gTf6JWSlRN0=" - }, - "gluegen#gluegen-rt/2.5.0/natives-macosx-universal": { - "jar": "sha256-Pb1dBU8QjD+MDAcoHm40lLhbibDYs/D770v2xByiVOw=" - }, - "gluegen#gluegen-rt/2.5.0/natives-windows-amd64": { - "jar": "sha256-pPA54vqdYWvp8mKE/9av5fribVIdIfKBJuXqoHP4pDg=" - }, - "jogl#jogl-all-main/2.5.0": { - "jar": "sha256-zBFPTAspsv5NBqXHkxg4gURSoEzJeJ4nshqwXTVBwQc=", - "pom": "sha256-mGNBTE/Rxfbuq3A2Lhs626GUgWl3cZVqMlbtU4nR0kc=" - }, - "jogl#jogl-all/2.5.0": { - "jar": "sha256-JFcXzOq8omSiEKiZ+IOdR70Sf1D4CJLq0id92Jy80wE=", - "pom": "sha256-awhqLkYde3kRocFl/8veKrebAMVMNgzxkcoA9feE22o=" - }, - "jogl#jogl-all/2.5.0/natives-android-aarch64": { - "jar": "sha256-M4/4m89L/TTDJSOYA9o+BB4ZmPUNuGCYzVSJoXTwk7U=" - }, - "jogl#jogl-all/2.5.0/natives-linux-aarch64": { - "jar": "sha256-5LngFakf5SKdPVOEjii4ZwCpD6vY5f6FeW9rHUm0Jm4=" - }, - "jogl#jogl-all/2.5.0/natives-linux-amd64": { - "jar": "sha256-6XhQ8pDY5Eugf6BQDXoHH/REIJCZ8Dct89unB8uj3cE=" - }, - "jogl#jogl-all/2.5.0/natives-linux-armv6hf": { - "jar": "sha256-tQgMQid574BQpqAk7O+AW8rP1Vp9TU4/b8XXDinY+4s=" - }, - "jogl#jogl-all/2.5.0/natives-macosx-universal": { - "jar": "sha256-Ay5WFnRDqA+fRHf77vJV5ZmIxs1SN6FRuUi95Ly3yAw=" - }, - "jogl#jogl-all/2.5.0/natives-windows-amd64": { - "jar": "sha256-zgt1X2vA7u/ThlOectE+TY6W4fCGyiIvigLhEyADIUI=" - } - }, "https://plugins.gradle.org/m2": { "com/github/ben-manes#gradle-versions-plugin/0.52.0": { "jar": "sha256-zuihUdLgvp86hcouXYeg2lyRpIHt8bx/e1e1Ywj9PA0=", @@ -387,10 +338,6 @@ } }, "https://repo.maven.apache.org/maven2": { - "antlr#antlr/2.7.7": { - "jar": "sha256-iPvaS5Ellrn1bo4S5YDMlUus+1F3bs/d0+GPwc9W3Ew=", - "pom": "sha256-EA95O6J/i05CBO20YXHr825U4PlM/AJSf+oHoLsfzrc=" - }, "bouncycastle#bcmail-jdk14/138": { "jar": "sha256-OJ9AXPpmsmAESEczk3oiYkeCpdhkVuDDXgB7YOvI41k=", "pom": "sha256-XP2ibQY7MUiu5Lcukc8NXRjGk4CAfGLr/NZXttk/ykw=" @@ -566,17 +513,17 @@ "jar": "sha256-jOlpEWyslb1hsHqNXgcXSzUuYzAUc8qscsOV48CEiNI=", "pom": "sha256-wnn/o7UWjiIDCHIxxjiRmnzsdFgAaxzaZpWXR4YPtFc=" }, - "net/java/dev/jna#jna-platform/5.17.0": { - "jar": "sha256-t+PUbIe60utAmw5wSRa82BIGFo41cxLf3dDiU2ec2eA=", - "pom": "sha256-CjC3l622giFH75jLJJ7z+/SiQ1QqqGv59C+tnmgwWkQ=" + "net/java/dev/jna#jna-platform/5.18.1": { + "jar": "sha256-rRTBsexPQ9OWIxIZ36Y16/go9zjqyfiQ6hvAd5WJLZo=", + "pom": "sha256-OdU4qVmaRHR3CDiGXtQs+j5rPRMIbLHld7i7QxSNGmU=" }, "net/java/dev/jna#jna/5.12.1": { "jar": "sha256-kagUrE9A1g3ukdhC4aith0xiGXmEQD0OPDDTnlXPU7M=", "pom": "sha256-Zf8lhJuthZVUtQMXeS9Wia20UprkAx6aUkYxnLK4U1Y=" }, - "net/java/dev/jna#jna/5.17.0": { - "jar": "sha256-s6lAjnxR4I7w47/MCPRD9uwPYZG6jNfBjVPSsi5b28A=", - "pom": "sha256-UBoP8F2EpK0Q9t4lvpT0k5i3CjG+jzoO2fTGtE++/uQ=" + "net/java/dev/jna#jna/5.18.1": { + "jar": "sha256-JgxLHiKx254RDuRBxPE84RX4QfpIxB14dQmGIUs5VVc=", + "pom": "sha256-mLYq5v8oDXR/s1n8QuSP7RE9Rbw3Kagj3DC4MIqAZkU=" }, "net/thauvin/erik/urlencoder#urlencoder-lib-jvm/1.6.0": { "jar": "sha256-jQ/SrrSNGdxJxWPrwA8nSUfkX3FsEHU1wS6tY97NaI0=", @@ -664,84 +611,84 @@ "jar": "sha256-uukFuFg86nP70Lekel8pCX31l+EYdaRSXQ7rrj1JcqA=", "pom": "sha256-w9wJYboDpq7ZqYKYRdYP5zAgW/4i5cQKCPNC5aTbsVE=" }, - "org/eclipse/platform#org.eclipse.core.commands/3.12.400": { - "jar": "sha256-0IOPxFEzUjcgMUXtXAjnkxI2w1HwuG7gvtQY/ouD+xs=", - "pom": "sha256-VvaWUeXjKExahc04hAmgqVZ4ro+teQO7OuCufAJK0GU=" + "org/eclipse/platform#org.eclipse.core.commands/3.12.500": { + "jar": "sha256-RHEzYuVe0o5ttdLDG/Z1JP7wh2RaRNwyOdrGDs4BfLk=", + "pom": "sha256-yD+4t0dc62ANfijxwyfGjhzSaFHeyEEKthn/9W17SoI=" }, - "org/eclipse/platform#org.eclipse.core.contenttype/3.9.700": { - "jar": "sha256-UQnqmnhxhPV/+CljW539Ytc2w5HUgefrKLqj0nj9wAY=", - "pom": "sha256-s1ueFPUNcb6ZBakpWBHiBV3dVBAWUwMhKSslFMhcV8c=" + "org/eclipse/platform#org.eclipse.core.contenttype/3.9.800": { + "jar": "sha256-4MLblmANUZzjanX5t8lxr9KHDS0Fnu5L8kNtmzOqC40=", + "pom": "sha256-vZ20X3R3JIQpxxz4RlcC2r+xUgzoU0+dwl1BeOu1iXs=" }, "org/eclipse/platform#org.eclipse.core.expressions/3.9.500": { "jar": "sha256-hES13pDJtKtSjI6lw0HH6HLQ2+gkGreQhVUQhtlufJ4=", "pom": "sha256-1Ks7hbJUOHlXRXwfRrcAG1qQqJjFIixQIKB5DlFhalA=" }, - "org/eclipse/platform#org.eclipse.core.filesystem/1.11.300": { - "jar": "sha256-6zJJS6uuCiEGYuFhq8vE33BXdI4AMyahVupneDyorO4=", - "pom": "sha256-riTI0aUrpG3UKlyUP9xfw0Ky9A1Ff4E8N+gs/o/Gdp4=" + "org/eclipse/platform#org.eclipse.core.filesystem/1.11.400": { + "jar": "sha256-b3C5XRS5DsV7lMXj26fh0YlnnPmkvEUm6ckb7tfWoO8=", + "pom": "sha256-sQA8+u8BN+YzwThrzFfbCl5Yelm1Fx5We6Uwz6u/jMU=" }, "org/eclipse/platform#org.eclipse.core.jobs/3.15.700": { "jar": "sha256-NwFReae5uQ0Wy5L0sb5gg6Gm2tJUKPqPa4libwzC2nk=", "pom": "sha256-OUVAotjHPjVRHz1f8J2fNkdm4P4steb4V8Tfqwl9Ot8=" }, - "org/eclipse/platform#org.eclipse.core.resources/3.23.0": { - "jar": "sha256-Llir4A41yZuFqq2Nc4wqh3EDa+L0oitl2QvBRKgGcnA=", - "pom": "sha256-AuUbd6oS0LZAFFNvA7dCjFpWF36Ettqb5sDnWm8jGo0=" + "org/eclipse/platform#org.eclipse.core.resources/3.23.200": { + "jar": "sha256-d5PgetR4AfYqqnBPCkbWD4wK6AdeAPAucg1phiv+N7w=", + "pom": "sha256-CPZTnfSlOMqg0Hsde2tHJsDpck6GWH6qMXKx0RAH8fg=" }, - "org/eclipse/platform#org.eclipse.core.runtime/3.34.0": { - "jar": "sha256-B2s7+RXTzgN7eHfIfRfR0kQhNd0+eMXy7mEPXYg3kwE=", - "pom": "sha256-b8TJb6EII4AhaatyU943S3qvWnSYO4o+tLok9vELUvk=" + "org/eclipse/platform#org.eclipse.core.runtime/3.34.200": { + "jar": "sha256-tPNqCssI8D0LPbVLIfxWOMggxEdEakELpJalBw+jQ2M=", + "pom": "sha256-VUfhQDP4BRrlX0qDhwRsdAk7UgNs3DVu9p6lGOrn5uw=" }, - "org/eclipse/platform#org.eclipse.equinox.app/1.7.500": { - "jar": "sha256-GfLjYRNH22QzpIpiGHyfa9RohtDVaDZpfa//6YXqk+8=", - "pom": "sha256-sKK1z+znfceXeW5uqiwkrBkwVnB9BPVWBe3PdJC0XFY=" + "org/eclipse/platform#org.eclipse.equinox.app/1.7.600": { + "jar": "sha256-/TUzmINRB2CPVUd5pukYkXJe+5Tg9XVZ0Ks86kthVsc=", + "pom": "sha256-cZhnUaan5uJyMJs6ZqySGUPplQlqXIgI1C6aDMJR1eg=" }, - "org/eclipse/platform#org.eclipse.equinox.common/3.20.200": { - "jar": "sha256-m4tcijQuf1vl+VFU6frvrmhvOYfndtzgMPN72EfNfzU=", - "pom": "sha256-XYyNb/aVj33ouZDJ/A7Ff3gyf1HgZJc/V5LiA1Sx7m4=" + "org/eclipse/platform#org.eclipse.equinox.common/3.20.300": { + "jar": "sha256-hV0jmvKd2x0iSNN4aXwJW+Yu+5pbPBuybTH3uXqOFq4=", + "pom": "sha256-ALs//vT1/wr/lXaIGYlvxY1kxitKkEc60niE6P0viFI=" }, - "org/eclipse/platform#org.eclipse.equinox.preferences/3.12.0": { - "jar": "sha256-1MnqXEzYCLl/FUkLu9fdj1jHZ8aFttBZGUdX5m1u7zU=", - "pom": "sha256-3SwqP9ZklaQTCAvJzkDktSg5SGV37IrnJ9APxoLhUO8=" + "org/eclipse/platform#org.eclipse.equinox.preferences/3.12.100": { + "jar": "sha256-/QToGiirMra7BzKG6yk8RLdgF2/PHjXvFWFNYt+CD4Y=", + "pom": "sha256-IYxiWoWw5QQU6dGRKFYUtrL+qf9/0TITKm4PkyQzMZY=" }, - "org/eclipse/platform#org.eclipse.equinox.registry/3.12.500": { - "jar": "sha256-Tl7/034/bicyoeeIx2n267SdStYOnl2RxXokz/vC+v4=", - "pom": "sha256-ddMClkYdU0SA4qK9boylKnDd6+2KKNd8qBb0uVK9SdY=" + "org/eclipse/platform#org.eclipse.equinox.registry/3.12.600": { + "jar": "sha256-T4zXJoFEa1mDkKjCTum5mW9uTF+r7QIrUL0m9vWgv2w=", + "pom": "sha256-Kwg3b6gZu5Q3vHDKJM6w8NtE3gE/63F9vmmaKU+2MSc=" }, - "org/eclipse/platform#org.eclipse.osgi/3.23.200": { - "jar": "sha256-jZQFjq0/RlGQAWaSSmd8O+tumW8HL6vzhf/dcFELxJM=", - "pom": "sha256-py2jWv3kgc2hDp2UsxpUwbkKe2hQqt5MmtnpVtdIWtA=" + "org/eclipse/platform#org.eclipse.osgi/3.24.100": { + "jar": "sha256-0g+JIDBZb7wsJdoArNvSdQ93zv1oE2wzo+J5uJSYZ6g=", + "pom": "sha256-+U4i9QNmKcxz7AM41+C5wFx2g70TZ4wWa8p/fIfm+oE=" }, - "org/eclipse/platform#org.eclipse.text/3.14.400": { - "jar": "sha256-BIRcZhMn9wBe2WAzzzOCLU9gsBGJvD6ehk5RL1cJYhM=", - "pom": "sha256-e9x89hsAsHEpsEYWo3MrxTUjOnj9phwWBRl7kqCZE1A=" + "org/eclipse/platform#org.eclipse.text/3.14.600": { + "jar": "sha256-1nW4pgPmL0PLqcHyS+ysEYKzKHwDPEL7gQYmjafTLXE=", + "pom": "sha256-ej/wQTbv0Vn8pN0QEk2idD+fSFUN7shfR4TTDxZIQx0=" }, "org/eclipse/platform/org.eclipse.core.filesystem/maven-metadata": { "xml": { "groupId": "org.eclipse.platform", - "lastUpdated": "20250906152134", - "release": "1.11.300" + "lastUpdated": "20251208072743", + "release": "1.11.400" } }, "org/eclipse/platform/org.eclipse.core.resources/maven-metadata": { "xml": { "groupId": "org.eclipse.platform", - "lastUpdated": "20250906152140", - "release": "3.23.0" + "lastUpdated": "20260309141945", + "release": "3.23.200" } }, "org/eclipse/platform/org.eclipse.core.runtime/maven-metadata": { "xml": { "groupId": "org.eclipse.platform", - "lastUpdated": "20250906152136", - "release": "3.34.0" + "lastUpdated": "20260309141943", + "release": "3.34.200" } }, "org/eclipse/platform/org.eclipse.text/maven-metadata": { "xml": { "groupId": "org.eclipse.platform", - "lastUpdated": "20250906152155", - "release": "3.14.400" + "lastUpdated": "20260309142023", + "release": "3.14.600" } }, "org/jetbrains#annotations/13.0": { diff --git a/pkgs/by-name/pr/processing/package.nix b/pkgs/by-name/pr/processing/package.nix index 8c46e511ba13..0bf8d7fa4434 100644 --- a/pkgs/by-name/pr/processing/package.nix +++ b/pkgs/by-name/pr/processing/package.nix @@ -2,58 +2,21 @@ lib, stdenv, fetchFromGitHub, - fetchurl, - unzip, makeWrapper, gradle_8, jdk17, jogl, rsync, - batik, stripJavaArchivesHook, wrapGAppsHook3, libGL, + libxxf86vm, }: let # Force use of JDK 17, see https://github.com/processing/processing4/issues/1043 gradle = gradle_8.override { java = jdk17; }; jdk = jdk17; buildNumber = "1310"; - vaqua = fetchurl { - name = "VAqua9.jar"; - url = "https://violetlib.org/release/vaqua/9/VAqua9.jar"; - sha256 = "cd0b82df8e7434c902ec873364bf3e9a3e6bef8b59cbf42433130d71bf1a779c"; - }; - - jna = fetchurl { - name = "jna-5.10.0.zip"; - url = "https://github.com/java-native-access/jna/archive/5.10.0.zip"; - sha256 = "B5CakOQ8225xNsk2TMV8CbK3RcsLlb+pHzjaY5JNwg0="; - }; - - flatlaf = fetchurl { - name = "flatlaf-2.4.jar"; - url = "mirror://maven/com/formdev/flatlaf/2.4/flatlaf-2.4.jar"; - sha256 = "NVMYiCd+koNCJ6X3EiRx1Aj+T5uAMSJ9juMmB5Os+zc="; - }; - - lsp4j = fetchurl { - name = "org.eclipse.lsp4j-0.19.0.jar"; - url = "mirror://maven/org/eclipse/lsp4j/org.eclipse.lsp4j/0.19.0/org.eclipse.lsp4j-0.19.0.jar"; - sha256 = "sha256-1DI5D9KW+GL4gT1qjwVZveOl5KVOEjt6uXDwsFzi8Sg="; - }; - - lsp4j-jsonrpc = fetchurl { - name = "org.eclipse.lsp4j.jsonrpc-0.19.0.jar"; - url = "mirror://maven/org/eclipse/lsp4j/org.eclipse.lsp4j.jsonrpc/0.19.0/org.eclipse.lsp4j.jsonrpc-0.19.0.jar"; - sha256 = "sha256-ozYTkvv7k0psCeX/PbSM3/Bl17qT3upX3trt65lmM9I="; - }; - - gson = fetchurl { - name = "gson-2.9.1.jar"; - url = "mirror://maven/com/google/code/gson/gson/2.9.1/gson-2.9.1.jar"; - sha256 = "sha256-N4U04znm5tULFzb7Ort28cFdG+P0wTzsbVNkEuI9pgM="; - }; in stdenv.mkDerivation rec { pname = "processing"; @@ -72,11 +35,13 @@ stdenv.mkDerivation rec { # dirPermissions: Without this, some gradle tasks (e.g. includeJdk) fail to copy contents of read-only subfolders within the nix store ./fix-permissions.patch + + # Use jogl from nixpkgs instead of downloading from maven + ./use-nixpkgs-jogl.patch ]; nativeBuildInputs = [ gradle - unzip makeWrapper stripJavaArchivesHook wrapGAppsHook3 @@ -85,7 +50,8 @@ stdenv.mkDerivation rec { jdk jogl rsync - batik + libGL + libxxf86vm ]; mitmCache = gradle.fetchDeps { @@ -104,20 +70,6 @@ stdenv.mkDerivation rec { runHook preBuild runHook preGradleUpdate - mkdir -p app/lib core/library - ln -s ${jogl}/share/java/* core/library/ - ln -s ${vaqua} app/lib/VAqua9.jar - ln -s ${flatlaf} app/lib/flatlaf.jar - ln -s ${lsp4j} java/mode/org.eclipse.lsp4j.jar - ln -s ${lsp4j-jsonrpc} java/mode/org.eclipse.lsp4j.jsonrpc.jar - ln -s ${gson} java/mode/gson.jar - unzip -qo ${jna} -d app/lib/ - mv app/lib/{jna-5.10.0/dist/jna.jar,} - mv app/lib/{jna-5.10.0/dist/jna-platform.jar,} - - ln -sf ${batik}/* java/libraries/svg/library/ - cp java/libraries/svg/library/share/java/batik-all-${batik.version}.jar java/libraries/svg/library/batik.jar - gradle createDistributable runHook postGradleUpdate @@ -129,25 +81,14 @@ stdenv.mkDerivation rec { substituteInPlace app/build.gradle.kts \ --replace-fail "https://github.com/processing/processing-examples/archive/refs/heads/main.zip" "https://github.com/processing/processing-examples/archive/b10c9e9a05a0d6c20d233ca7f30d315b5047720e.zip" \ --replace-fail "https://github.com/processing/processing-website/archive/refs/heads/main.zip" "https://github.com/processing/processing-website/archive/f11676d1b7464291a23ae834f2ef6ab00baaed8e.zip" + + substituteInPlace core/build.gradle.kts \ + --replace-fail "@@joglPath@@" "${jogl}" ''; buildPhase = '' runHook preBuild - mkdir -p app/lib core/library - ln -s ${jogl}/share/java/* core/library/ - ln -s ${vaqua} app/lib/VAqua9.jar - ln -s ${flatlaf} app/lib/flatlaf.jar - ln -s ${lsp4j} java/mode/org.eclipse.lsp4j.jar - ln -s ${lsp4j-jsonrpc} java/mode/org.eclipse.lsp4j.jsonrpc.jar - ln -s ${gson} java/mode/gson.jar - unzip -qo ${jna} -d app/lib/ - mv app/lib/{jna-5.10.0/dist/jna.jar,} - mv app/lib/{jna-5.10.0/dist/jna-platform.jar,} - - ln -sf ${batik}/* java/libraries/svg/library/ - cp java/libraries/svg/library/share/java/batik-all-${batik.version}.jar java/libraries/svg/library/batik.jar - gradle assemble runHook postBuild @@ -170,7 +111,12 @@ stdenv.mkDerivation rec { makeWrapper $out/unwrapped/Processing $out/bin/Processing \ ''${gappsWrapperArgs[@]} \ - --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ libGL ]}" \ + --prefix LD_LIBRARY_PATH : "${ + lib.makeLibraryPath [ + libGL + libxxf86vm + ] + }" \ --prefix _JAVA_OPTIONS " " "-Dawt.useSystemAAFontSettings=gasp" runHook postInstall diff --git a/pkgs/by-name/pr/processing/use-nixpkgs-jogl.patch b/pkgs/by-name/pr/processing/use-nixpkgs-jogl.patch new file mode 100644 index 000000000000..edb5b0bf86e9 --- /dev/null +++ b/pkgs/by-name/pr/processing/use-nixpkgs-jogl.patch @@ -0,0 +1,14 @@ +diff --git a/core/build.gradle.kts b/core/build.gradle.kts +index 8f7211b13..82c229f76 100644 +--- a/core/build.gradle.kts ++++ b/core/build.gradle.kts +@@ -29,8 +29,7 @@ sourceSets{ + } + + dependencies { +- implementation(libs.jogl) +- implementation(libs.gluegen) ++ implementation(fileTree("@@joglPath@@/share/java") { include("*.jar") }) + + testImplementation(libs.junit) + } diff --git a/pkgs/by-name/pr/protontricks/package.nix b/pkgs/by-name/pr/protontricks/package.nix index b2b5cbbb3ddb..2a92972e44a0 100644 --- a/pkgs/by-name/pr/protontricks/package.nix +++ b/pkgs/by-name/pr/protontricks/package.nix @@ -4,7 +4,7 @@ fetchFromGitHub, replaceVars, writeShellScript, - steam-run-free, + steam, fetchpatch2, winetricks, yad, @@ -12,24 +12,35 @@ extraCompatPaths ? "", }: +let + steam-run = + (steam.override { + extraLibraries = + p: with p; [ + # Fixes installing vcrun2022 + # https://github.com/Matoking/protontricks/issues/461 + freetype + ]; + }).run-free; +in python3Packages.buildPythonApplication (finalAttrs: { pname = "protontricks"; - version = "1.14.0"; + version = "1.14.1"; pyproject = true; src = fetchFromGitHub { owner = "Matoking"; repo = "protontricks"; tag = finalAttrs.version; - hash = "sha256-36Yst8j5xhXulNp/YGO3pDnvxpyT4ZuEjwSvJIESUSw="; + hash = "sha256-pTBpzSBGFUmol3Osb78yhyZup2DogLpNaBg/kF0dVGI="; }; patches = [ # Use steam-run to run Proton binaries (replaceVars ./steam-run.patch { - steamRun = lib.getExe steam-run-free; + steamRun = lib.getExe steam-run; bash = writeShellScript "steam-run-bash" '' - exec ${lib.getExe steam-run-free} bash "$@" + exec ${lib.getExe steam-run} bash "$@" ''; }) diff --git a/pkgs/by-name/so/sogo/package.nix b/pkgs/by-name/so/sogo/package.nix index 747b54b52412..0c3a45ba5c00 100644 --- a/pkgs/by-name/so/sogo/package.nix +++ b/pkgs/by-name/so/sogo/package.nix @@ -25,14 +25,14 @@ clangStdenv.mkDerivation rec { pname = "sogo"; - version = "5.12.4"; + version = "5.12.7"; # always update the sope package as well, when updating sogo src = fetchFromGitHub { owner = "Alinto"; repo = "sogo"; rev = "SOGo-${version}"; - hash = "sha256-L79ABIABaVrO5Y3a3a30ZPyrhI/Nx+Bb5WjOvL0PI7s="; + hash = "sha256-HMnJQTC9P6gOVP1hViRtshIS0oWj0AKoRkeNr/udlso="; }; nativeBuildInputs = [ diff --git a/pkgs/by-name/sy/symfony-cli/package.nix b/pkgs/by-name/sy/symfony-cli/package.nix index ae7838c25401..bb8dbd5b4423 100644 --- a/pkgs/by-name/sy/symfony-cli/package.nix +++ b/pkgs/by-name/sy/symfony-cli/package.nix @@ -12,14 +12,14 @@ buildGoModule (finalAttrs: { pname = "symfony-cli"; - version = "5.16.1"; - vendorHash = "sha256-StRdOTEuijjnDWvXNjAVzvDL3zXQJ4LZOioart1CFPw="; + version = "5.17.1"; + vendorHash = "sha256-eCvlfkUH80EXshBkWz4+ehVlRXPsKyydixo76+kxSgE="; src = fetchFromGitHub { owner = "symfony-cli"; repo = "symfony-cli"; tag = "v${finalAttrs.version}"; - hash = "sha256-q8m8bhM07CUQxtwEB/BqE90tDY6uSoyNsCShbMIBesQ="; + hash = "sha256-6FqfbVfNGfIGJFBemwfUVwVR7fwrnZT38vF+8Qr8p3s="; leaveDotGit = true; postFetch = '' git --git-dir $out/.git log -1 --pretty=%cd --date=format:'%Y-%m-%dT%H:%M:%SZ' > $out/SOURCE_DATE diff --git a/pkgs/by-name/wa/warp-terminal/versions.json b/pkgs/by-name/wa/warp-terminal/versions.json index 1affbddbbeac..77eb058c4197 100644 --- a/pkgs/by-name/wa/warp-terminal/versions.json +++ b/pkgs/by-name/wa/warp-terminal/versions.json @@ -1,14 +1,14 @@ { "darwin": { - "hash": "sha256-GNDoWxD0Xqph+JyUj64YcMaIJu5y3mlLAhYcVrprDUc=", - "version": "0.2026.03.25.08.24.stable_05" + "hash": "sha256-+vr4OINeprn3dqarB6ZotK4oA1h09WT6wIuKyxPtAeQ=", + "version": "0.2026.03.25.08.24.stable_09" }, "linux_x86_64": { - "hash": "sha256-rUKSVE6cCZT1M1cTZ4S1C2ox3T9yacBpnl23J4CvKz8=", - "version": "0.2026.03.25.08.24.stable_05" + "hash": "sha256-FceMF9fAz4XMBwL/iAaQdz/elSnS5DNV1uaBy5BEwSc=", + "version": "0.2026.03.25.08.24.stable_09" }, "linux_aarch64": { - "hash": "sha256-ADTNNsRq7DmYlxrl2xLxBZkHlDHxbM08ywZPJDla0lk=", - "version": "0.2026.03.25.08.24.stable_05" + "hash": "sha256-9x3mNKT8PaFaZouMN7iXPfCv2U1SsbkI4BcpzfhCODw=", + "version": "0.2026.03.25.08.24.stable_09" } } diff --git a/pkgs/by-name/wg/wgpu-utils/package.nix b/pkgs/by-name/wg/wgpu-utils/package.nix index 9bec2cc4b2ee..e0e1cf5102a5 100644 --- a/pkgs/by-name/wg/wgpu-utils/package.nix +++ b/pkgs/by-name/wg/wgpu-utils/package.nix @@ -12,16 +12,19 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "wgpu-utils"; - version = "25.0.2"; + version = "29.0.1"; src = fetchFromGitHub { owner = "gfx-rs"; repo = "wgpu"; tag = "wgpu-v${finalAttrs.version}"; - hash = "sha256-Na8UWMEzY0mvw8YERZ86PH79Z5YlXITPdOYha7Ahn7k="; + hash = "sha256-BLw1HnB0DghtWAe8jo6GPO54U3qNNO4yprArme1CdeE="; }; - cargoHash = "sha256-9o1Tb0pVTc3iWPjNlAPBQX72djcx3EPJhxuUW6xZfCs="; + # cargo-auditable fails on wgpu's dep:-based feature wiring. + auditable = false; + + cargoHash = "sha256-QMH5GHjOHbzYdFUQxJ6aEQ+rX6Okl1HYog0hMh6bc8w="; nativeBuildInputs = [ pkg-config diff --git a/pkgs/by-name/z3/z3/package.nix b/pkgs/by-name/z3/z3/package.nix index 3dd456d73086..8051e68562cb 100644 --- a/pkgs/by-name/z3/z3/package.nix +++ b/pkgs/by-name/z3/z3/package.nix @@ -29,13 +29,13 @@ assert stdenv.mkDerivation (finalAttrs: { pname = "z3"; - version = "4.15.8"; + version = "4.16.0"; src = fetchFromGitHub { owner = "Z3Prover"; repo = "z3"; rev = "z3-${finalAttrs.version}"; - hash = "sha256-6HCymxICyxGUWD1aq5Vb1t/AYODFQ6ZzoOr3owr+nvY="; + hash = "sha256-DnhX3kxggnFmyYwXEPBsBA1rh4oor1oIJR5TMJk/jvc="; }; patches = lib.optionals useCmakeBuild [ diff --git a/pkgs/development/lua-modules/overrides.nix b/pkgs/development/lua-modules/overrides.nix index 67fc7542c809..91083ad0a63d 100644 --- a/pkgs/development/lua-modules/overrides.nix +++ b/pkgs/development/lua-modules/overrides.nix @@ -109,7 +109,9 @@ in "${date}-${rev}"; __intentionallyOverridingVersion = true; - meta.broken = luaOlder "5.1" || luaAtLeast "5.5"; + meta = (old.meta or { }) // { + broken = luaOlder "5.1" || luaAtLeast "5.5"; + }; nativeBuildInputs = old.nativeBuildInputs ++ [ gnum4 @@ -323,7 +325,9 @@ in # Lua 5.4 support is experimental at the moment, see # https://github.com/lgi-devs/lgi/pull/249 - meta.broken = luaOlder "5.1" || luaAtLeast "5.4"; + meta = (old.meta or { }) // { + broken = luaOlder "5.1" || luaAtLeast "5.4"; + }; }); ljsyscall = prev.ljsyscall.overrideAttrs (old: rec { @@ -340,7 +344,9 @@ in preConfigure = '' sed -i 's/lua == 5.1/lua >= 5.1, < 5.3/' ${knownRockspec} ''; - meta.broken = luaOlder "5.1" || luaAtLeast "5.3"; + meta = (old.meta or { }) // { + broken = luaOlder "5.1" || luaAtLeast "5.3"; + }; propagatedBuildInputs = old.propagatedBuildInputs ++ lib.optional (!isLuaJIT) final.luaffi; }); @@ -409,7 +415,9 @@ in buildInputs = old.buildInputs ++ [ gnulib ]; - meta.broken = isLuaJIT; + meta = (old.meta or { }) // { + broken = isLuaJIT; + }; }); lrexlib-oniguruma = prev.lrexlib-oniguruma.overrideAttrs { @@ -474,10 +482,12 @@ in }; }); - lua-cmsgpack = prev.lua-cmsgpack.overrideAttrs { + lua-cmsgpack = prev.lua-cmsgpack.overrideAttrs (old: { strictDeps = false; - meta.broken = isLuaJIT; - }; + meta = (old.meta or { }) // { + broken = isLuaJIT; + }; + }); lua-curl = prev.lua-curl.overrideAttrs (old: { buildInputs = old.buildInputs ++ [ @@ -524,12 +534,16 @@ in # ld: symbol(s) not found for architecture arm64 # clang-16: error: linker command failed with exit code 1 (use -v to see invocation) - meta.broken = stdenv.hostPlatform.isDarwin || luaAtLeast "5.5"; + meta = (old.meta or { }) // { + broken = stdenv.hostPlatform.isDarwin || luaAtLeast "5.5"; + }; }); - lua-subprocess = prev.lua-subprocess.overrideAttrs { - meta.broken = luaOlder "5.1" || luaAtLeast "5.4"; - }; + lua-subprocess = prev.lua-subprocess.overrideAttrs (old: { + meta = (old.meta or { }) // { + broken = luaOlder "5.1" || luaAtLeast "5.4"; + }; + }); lua-yajl = prev.lua-yajl.overrideAttrs (old: { buildInputs = old.buildInputs ++ [ @@ -605,7 +619,9 @@ in dep = libevent; } ]; - meta.broken = luaOlder "5.1" || luaAtLeast "5.4"; + meta = (old.meta or { }) // { + broken = luaOlder "5.1" || luaAtLeast "5.4"; + }; }); luaexpat = prev.luaexpat.overrideAttrs (_: { @@ -617,7 +633,7 @@ in ]; }); - luaffi = prev.luaffi.overrideAttrs { + luaffi = prev.luaffi.overrideAttrs (old: { # TODO Somehow automatically amend buildInputs for things that need luaffi # but are in luajitPackages? @@ -629,8 +645,10 @@ in sha256 = "1nwx6sh56zfq99rcs7sph0296jf6a9z72mxknn0ysw9fd7m1r8ig"; }; knownRockspec = with prev.luaffi; "${pname}-${version}.rockspec"; - meta.broken = luaOlder "5.1" || luaAtLeast "5.4" || isLuaJIT; - }; + meta = (old.meta or { }) // { + broken = luaOlder "5.1" || luaAtLeast "5.4" || isLuaJIT; + }; + }); lualdap = prev.lualdap.overrideAttrs (_: { externalDeps = [ @@ -852,7 +870,9 @@ in ''; # Requires ffi - meta.broken = !isLuaJIT; + meta = (old.meta or { }) // { + broken = !isLuaJIT; + }; }); mpack = prev.mpack.overrideAttrs (drv: { @@ -1015,10 +1035,12 @@ in ''; }; - rest-nvim = prev.rest-nvim.overrideAttrs { + rest-nvim = prev.rest-nvim.overrideAttrs (old: { strictDeps = false; - meta.broken = luaAtLeast "5.5"; - }; + meta = (old.meta or { }) // { + broken = luaAtLeast "5.5"; + }; + }); rocks-dev-nvim = prev.rocks-dev-nvim.overrideAttrs { @@ -1225,7 +1247,9 @@ in }); tree-sitter-norg = prev.tree-sitter-norg.overrideAttrs (old: { - meta.broken = lua.luaversion != "5.1"; + meta = (old.meta or { }) // { + broken = lua.luaversion != "5.1"; + }; }); tree-sitter-orgmode = prev.tree-sitter-orgmode.overrideAttrs (old: { @@ -1235,7 +1259,9 @@ in ]; # should be fixed upstream - meta.broken = lua.luaversion != "5.1"; + meta = (old.meta or { }) // { + broken = lua.luaversion != "5.1"; + }; }); tree-sitter-teal = prev.tree-sitter-teal.overrideAttrs (old: { @@ -1255,8 +1281,10 @@ in ''; }; - vstruct = prev.vstruct.overrideAttrs (_: { - meta.broken = luaOlder "5.1" || luaAtLeast "5.4"; + vstruct = prev.vstruct.overrideAttrs (old: { + meta = (old.meta or { }) // { + broken = luaOlder "5.1" || luaAtLeast "5.4"; + }; }); vusted = prev.vusted.overrideAttrs (_: { @@ -1266,9 +1294,11 @@ in ''; }); - xml2lua = prev.xml2lua.overrideAttrs { - meta.broken = luaAtLeast "5.5"; - }; + xml2lua = prev.xml2lua.overrideAttrs (old: { + meta = (old.meta or { }) // { + broken = luaAtLeast "5.5"; + }; + }); # keep-sorted end } diff --git a/pkgs/development/mobile/androidenv/repo.json b/pkgs/development/mobile/androidenv/repo.json index ce9701d123ec..58a1311e91de 100644 --- a/pkgs/development/mobile/androidenv/repo.json +++ b/pkgs/development/mobile/androidenv/repo.json @@ -12,7 +12,7 @@ } ], "displayName": "Google APIs", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "google_apis", "path": "add-ons/addon-google_apis-google-10", @@ -23,8 +23,7 @@ "type-details": { "api-level:0": "10", "base-extension:2": "true", - "codename:1": { - }, + "codename:1": {}, "element-attributes": { "xsi:type": "ns8:addonDetailsType" }, @@ -91,7 +90,7 @@ } ], "displayName": "Google APIs", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "google_apis", "path": "add-ons/addon-google_apis-google-11", @@ -102,8 +101,7 @@ "type-details": { "api-level:0": "11", "base-extension:2": "true", - "codename:1": { - }, + "codename:1": {}, "element-attributes": { "xsi:type": "ns8:addonDetailsType" }, @@ -156,7 +154,7 @@ } ], "displayName": "Google APIs", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "google_apis", "path": "add-ons/addon-google_apis-google-12", @@ -167,8 +165,7 @@ "type-details": { "api-level:0": "12", "base-extension:2": "true", - "codename:1": { - }, + "codename:1": {}, "element-attributes": { "xsi:type": "ns8:addonDetailsType" }, @@ -233,7 +230,7 @@ } ], "displayName": "Google TV Addon", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-googletv-license", "name": "google_tv_addon", "path": "add-ons/addon-google_tv_addon-google-12", @@ -244,8 +241,7 @@ "type-details": { "api-level:0": "12", "base-extension:2": "true", - "codename:1": { - }, + "codename:1": {}, "element-attributes": { "xsi:type": "ns8:addonDetailsType" }, @@ -280,7 +276,7 @@ } ], "displayName": "Google APIs", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "google_apis", "path": "add-ons/addon-google_apis-google-13", @@ -291,8 +287,7 @@ "type-details": { "api-level:0": "13", "base-extension:2": "true", - "codename:1": { - }, + "codename:1": {}, "element-attributes": { "xsi:type": "ns8:addonDetailsType" }, @@ -357,7 +352,7 @@ } ], "displayName": "Google TV Addon", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-googletv-license", "name": "google_tv_addon", "path": "add-ons/addon-google_tv_addon-google-13", @@ -368,8 +363,7 @@ "type-details": { "api-level:0": "13", "base-extension:2": "true", - "codename:1": { - }, + "codename:1": {}, "element-attributes": { "xsi:type": "ns8:addonDetailsType" }, @@ -404,7 +398,7 @@ } ], "displayName": "Google APIs", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "google_apis", "path": "add-ons/addon-google_apis-google-14", @@ -415,8 +409,7 @@ "type-details": { "api-level:0": "14", "base-extension:2": "true", - "codename:1": { - }, + "codename:1": {}, "element-attributes": { "xsi:type": "ns8:addonDetailsType" }, @@ -483,7 +476,7 @@ } ], "displayName": "Google APIs", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "google_apis", "path": "add-ons/addon-google_apis-google-15", @@ -494,8 +487,7 @@ "type-details": { "api-level:0": "15", "base-extension:2": "true", - "codename:1": { - }, + "codename:1": {}, "element-attributes": { "xsi:type": "ns8:addonDetailsType" }, @@ -576,7 +568,7 @@ } ], "displayName": "Google APIs", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "google_apis", "path": "add-ons/addon-google_apis-google-16", @@ -587,8 +579,7 @@ "type-details": { "api-level:0": "16", "base-extension:2": "true", - "codename:1": { - }, + "codename:1": {}, "element-attributes": { "xsi:type": "ns8:addonDetailsType" }, @@ -669,7 +660,7 @@ } ], "displayName": "Google APIs", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "google_apis", "path": "add-ons/addon-google_apis-google-17", @@ -680,8 +671,7 @@ "type-details": { "api-level:0": "17", "base-extension:2": "true", - "codename:1": { - }, + "codename:1": {}, "element-attributes": { "xsi:type": "ns8:addonDetailsType" }, @@ -762,7 +752,7 @@ } ], "displayName": "Google APIs", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "google_apis", "path": "add-ons/addon-google_apis-google-18", @@ -773,8 +763,7 @@ "type-details": { "api-level:0": "18", "base-extension:2": "true", - "codename:1": { - }, + "codename:1": {}, "element-attributes": { "xsi:type": "ns8:addonDetailsType" }, @@ -855,7 +844,7 @@ } ], "displayName": "Google APIs", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "google_apis", "path": "add-ons/addon-google_apis-google-19", @@ -866,8 +855,7 @@ "type-details": { "api-level:0": "19", "base-extension:2": "true", - "codename:1": { - }, + "codename:1": {}, "element-attributes": { "xsi:type": "ns8:addonDetailsType" }, @@ -948,7 +936,7 @@ } ], "displayName": "Google APIs", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "google_apis", "path": "add-ons/addon-google_apis-google-21", @@ -959,8 +947,7 @@ "type-details": { "api-level:0": "21", "base-extension:2": "true", - "codename:1": { - }, + "codename:1": {}, "element-attributes": { "xsi:type": "ns8:addonDetailsType" }, @@ -1041,7 +1028,7 @@ } ], "displayName": "Google APIs", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "google_apis", "path": "add-ons/addon-google_apis-google-22", @@ -1052,8 +1039,7 @@ "type-details": { "api-level:0": "22", "base-extension:2": "true", - "codename:1": { - }, + "codename:1": {}, "element-attributes": { "xsi:type": "ns8:addonDetailsType" }, @@ -1145,8 +1131,7 @@ "type-details": { "api-level:0": "23", "base-extension:2": "true", - "codename:1": { - }, + "codename:1": {}, "element-attributes": { "xsi:type": "ns8:addonDetailsType" }, @@ -1227,7 +1212,7 @@ } ], "displayName": "Google APIs", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "google_apis", "path": "add-ons/addon-google_apis-google-24", @@ -1238,8 +1223,7 @@ "type-details": { "api-level:0": "24", "base-extension:2": "true", - "codename:1": { - }, + "codename:1": {}, "element-attributes": { "xsi:type": "ns8:addonDetailsType" }, @@ -1320,7 +1304,7 @@ } ], "displayName": "Google APIs", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "google_apis", "path": "add-ons/addon-google_apis-google-25", @@ -1331,8 +1315,7 @@ "type-details": { "api-level:0": "23", "base-extension:2": "true", - "codename:1": { - }, + "codename:1": {}, "element-attributes": { "xsi:type": "ns8:addonDetailsType" }, @@ -1413,7 +1396,7 @@ } ], "displayName": "Google APIs", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "google_apis", "path": "add-ons/addon-google_apis-google-3", @@ -1424,8 +1407,7 @@ "type-details": { "api-level:0": "3", "base-extension:2": "true", - "codename:1": { - }, + "codename:1": {}, "element-attributes": { "xsi:type": "ns8:addonDetailsType" }, @@ -1478,7 +1460,7 @@ } ], "displayName": "Google APIs", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "google_apis", "path": "add-ons/addon-google_apis-google-4", @@ -1489,8 +1471,7 @@ "type-details": { "api-level:0": "4", "base-extension:2": "true", - "codename:1": { - }, + "codename:1": {}, "element-attributes": { "xsi:type": "ns8:addonDetailsType" }, @@ -1543,7 +1524,7 @@ } ], "displayName": "Google APIs", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "google_apis", "path": "add-ons/addon-google_apis-google-5", @@ -1554,8 +1535,7 @@ "type-details": { "api-level:0": "5", "base-extension:2": "true", - "codename:1": { - }, + "codename:1": {}, "element-attributes": { "xsi:type": "ns8:addonDetailsType" }, @@ -1608,7 +1588,7 @@ } ], "displayName": "Google APIs", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "google_apis", "path": "add-ons/addon-google_apis-google-6", @@ -1619,8 +1599,7 @@ "type-details": { "api-level:0": "6", "base-extension:2": "true", - "codename:1": { - }, + "codename:1": {}, "element-attributes": { "xsi:type": "ns8:addonDetailsType" }, @@ -1673,7 +1652,7 @@ } ], "displayName": "Google APIs", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "google_apis", "path": "add-ons/addon-google_apis-google-7", @@ -1684,8 +1663,7 @@ "type-details": { "api-level:0": "7", "base-extension:2": "true", - "codename:1": { - }, + "codename:1": {}, "element-attributes": { "xsi:type": "ns8:addonDetailsType" }, @@ -1738,7 +1716,7 @@ } ], "displayName": "Google APIs", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "google_apis", "path": "add-ons/addon-google_apis-google-8", @@ -1749,8 +1727,7 @@ "type-details": { "api-level:0": "8", "base-extension:2": "true", - "codename:1": { - }, + "codename:1": {}, "element-attributes": { "xsi:type": "ns8:addonDetailsType" }, @@ -1803,7 +1780,7 @@ } ], "displayName": "Google APIs", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "google_apis", "path": "add-ons/addon-google_apis-google-9", @@ -1814,8 +1791,7 @@ "type-details": { "api-level:0": "9", "base-extension:2": "true", - "codename:1": { - }, + "codename:1": {}, "element-attributes": { "xsi:type": "ns8:addonDetailsType" }, @@ -1869,7 +1845,7 @@ } ], "displayName": "Android Support Repository", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "extras-android-m2repository", "path": "extras/android/m2repository", @@ -1900,7 +1876,7 @@ } ], "displayName": "Android Emulator hypervisor driver (installer)", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "extras-google-Android_Emulator_Hypervisor_Driver", "path": "extras/google/Android_Emulator_Hypervisor_Driver", @@ -1931,7 +1907,7 @@ } ], "displayName": "Google AdMob Ads SDK", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "extras-google-admob_ads_sdk", "path": "extras/google/admob_ads_sdk", @@ -1960,7 +1936,7 @@ } ], "displayName": "Google Analytics App Tracking SDK", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "extras-google-analytics_sdk_v2", "path": "extras/google/analytics_sdk_v2", @@ -2010,7 +1986,7 @@ } ], "displayName": "Android Auto Desktop Head Unit Emulator", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "extras-google-auto", "path": "extras/google/auto", @@ -2036,7 +2012,7 @@ } ], "displayName": "Google Cloud Messaging for Android Library", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "extras-google-gcm", "path": "extras/google/gcm", @@ -2072,7 +2048,7 @@ } }, "displayName": "Google Play services", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "extras-google-google_play_services", "path": "extras/google/google_play_services", @@ -2101,7 +2077,7 @@ } ], "displayName": "Google Play services for Froyo", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "extras-google-google_play_services_froyo", "path": "extras/google/google_play_services_froyo", @@ -2130,7 +2106,7 @@ } ], "displayName": "Google Play Instant Development SDK (Deprecated)", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "extras-google-instantapps", "path": "extras/google/instantapps", @@ -2168,7 +2144,7 @@ } }, "displayName": "Google Repository", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "extras-google-m2repository", "path": "extras/google/m2repository", @@ -2197,7 +2173,7 @@ } ], "displayName": "Google Play APK Expansion library", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "extras-google-market_apk_expansion", "path": "extras/google/market_apk_expansion", @@ -2226,7 +2202,7 @@ } ], "displayName": "Google Play Licensing Library", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "extras-google-market_licensing", "path": "extras/google/market_licensing", @@ -2239,8 +2215,7 @@ "xsi:type": "ns8:extraDetailsType" }, "vendor:0": { - "display:1": { - }, + "display:1": {}, "id:0": "google" } } @@ -2256,7 +2231,7 @@ } ], "displayName": "Android Auto API Simulators", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "extras-google-simulators", "path": "extras/google/simulators", @@ -2285,7 +2260,7 @@ } ], "displayName": "Google USB Driver", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "extras-google-usb_driver", "path": "extras/google/usb_driver", @@ -2314,7 +2289,7 @@ } ], "displayName": "Google Web Driver", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "extras-google-webdriver", "path": "extras/google/webdriver", @@ -2984,7 +2959,7 @@ } }, "displayName": "ARM EABI v7a System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "system-image-10-default-armeabi-v7a", "path": "system-images/android-10/default/armeabi-v7a", @@ -3001,13 +2976,11 @@ "xsi:type": "ns12:sysImgDetailsType" }, "tag:1": { - "display:1": { - }, + "display:1": {}, "id:0": "default" }, "tag:2": { - "display:1": { - }, + "display:1": {}, "id:0": "default" } } @@ -3030,7 +3003,7 @@ } }, "displayName": "Intel x86 Atom System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "system-image-10-default-x86", "path": "system-images/android-10/default/x86", @@ -3047,13 +3020,11 @@ "xsi:type": "ns12:sysImgDetailsType" }, "tag:1": { - "display:1": { - }, + "display:1": {}, "id:0": "default" }, "tag:2": { - "display:1": { - }, + "display:1": {}, "id:0": "default" } } @@ -3078,7 +3049,7 @@ } }, "displayName": "Google APIs ARM EABI v7a System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "system-image-10-google_apis-armeabi-v7a", "path": "system-images/android-10/google_apis/armeabi-v7a", @@ -3130,7 +3101,7 @@ } }, "displayName": "Google APIs Intel x86 Atom System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "system-image-10-google_apis-x86", "path": "system-images/android-10/google_apis/x86", @@ -3179,7 +3150,7 @@ } ], "displayName": "ARM EABI v7a System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "system-image-14-default-armeabi-v7a", "path": "system-images/android-14/default/armeabi-v7a", @@ -3196,13 +3167,11 @@ "xsi:type": "ns12:sysImgDetailsType" }, "tag:1": { - "display:1": { - }, + "display:1": {}, "id:0": "default" }, "tag:2": { - "display:1": { - }, + "display:1": {}, "id:0": "default" } } @@ -3229,7 +3198,7 @@ } }, "displayName": "ARM EABI v7a System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "system-image-15-default-armeabi-v7a", "path": "system-images/android-15/default/armeabi-v7a", @@ -3246,13 +3215,11 @@ "xsi:type": "ns12:sysImgDetailsType" }, "tag:1": { - "display:1": { - }, + "display:1": {}, "id:0": "default" }, "tag:2": { - "display:1": { - }, + "display:1": {}, "id:0": "default" } } @@ -3275,7 +3242,7 @@ } }, "displayName": "Intel x86 Atom System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "system-image-15-default-x86", "path": "system-images/android-15/default/x86", @@ -3292,13 +3259,11 @@ "xsi:type": "ns12:sysImgDetailsType" }, "tag:1": { - "display:1": { - }, + "display:1": {}, "id:0": "default" }, "tag:2": { - "display:1": { - }, + "display:1": {}, "id:0": "default" } } @@ -3323,7 +3288,7 @@ } }, "displayName": "Google APIs ARM EABI v7a System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "system-image-15-google_apis-armeabi-v7a", "path": "system-images/android-15/google_apis/armeabi-v7a", @@ -3375,7 +3340,7 @@ } }, "displayName": "Google APIs Intel x86 Atom System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "system-image-15-google_apis-x86", "path": "system-images/android-15/google_apis/x86", @@ -3431,7 +3396,7 @@ } }, "displayName": "ARM EABI v7a System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "system-image-16-default-armeabi-v7a", "path": "system-images/android-16/default/armeabi-v7a", @@ -3448,13 +3413,11 @@ "xsi:type": "ns12:sysImgDetailsType" }, "tag:1": { - "display:1": { - }, + "display:1": {}, "id:0": "default" }, "tag:2": { - "display:1": { - }, + "display:1": {}, "id:0": "default" } } @@ -3470,7 +3433,7 @@ } ], "displayName": "MIPS System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "mips-android-sysimage-license", "name": "system-image-16-default-mips", "path": "system-images/android-16/default/mips", @@ -3487,13 +3450,11 @@ "xsi:type": "ns12:sysImgDetailsType" }, "tag:1": { - "display:1": { - }, + "display:1": {}, "id:0": "default" }, "tag:2": { - "display:1": { - }, + "display:1": {}, "id:0": "default" } } @@ -3516,7 +3477,7 @@ } }, "displayName": "Intel x86 Atom System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "system-image-16-default-x86", "path": "system-images/android-16/default/x86", @@ -3533,13 +3494,11 @@ "xsi:type": "ns12:sysImgDetailsType" }, "tag:1": { - "display:1": { - }, + "display:1": {}, "id:0": "default" }, "tag:2": { - "display:1": { - }, + "display:1": {}, "id:0": "default" } } @@ -3564,7 +3523,7 @@ } }, "displayName": "Google APIs ARM EABI v7a System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "system-image-16-google_apis-armeabi-v7a", "path": "system-images/android-16/google_apis/armeabi-v7a", @@ -3616,7 +3575,7 @@ } }, "displayName": "Google APIs Intel x86 Atom System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "system-image-16-google_apis-x86", "path": "system-images/android-16/google_apis/x86", @@ -3672,7 +3631,7 @@ } }, "displayName": "ARM EABI v7a System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "system-image-17-default-armeabi-v7a", "path": "system-images/android-17/default/armeabi-v7a", @@ -3689,13 +3648,11 @@ "xsi:type": "ns12:sysImgDetailsType" }, "tag:1": { - "display:1": { - }, + "display:1": {}, "id:0": "default" }, "tag:2": { - "display:1": { - }, + "display:1": {}, "id:0": "default" } } @@ -3711,7 +3668,7 @@ } ], "displayName": "MIPS System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "mips-android-sysimage-license", "name": "system-image-17-default-mips", "path": "system-images/android-17/default/mips", @@ -3728,13 +3685,11 @@ "xsi:type": "ns12:sysImgDetailsType" }, "tag:1": { - "display:1": { - }, + "display:1": {}, "id:0": "default" }, "tag:2": { - "display:1": { - }, + "display:1": {}, "id:0": "default" } } @@ -3757,7 +3712,7 @@ } }, "displayName": "Intel x86 Atom System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "system-image-17-default-x86", "path": "system-images/android-17/default/x86", @@ -3811,7 +3766,7 @@ } }, "displayName": "Google APIs ARM EABI v7a System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "system-image-17-google_apis-armeabi-v7a", "path": "system-images/android-17/google_apis/armeabi-v7a", @@ -3863,7 +3818,7 @@ } }, "displayName": "Google APIs Intel x86 Atom System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "system-image-17-google_apis-x86", "path": "system-images/android-17/google_apis/x86", @@ -3919,7 +3874,7 @@ } }, "displayName": "ARM EABI v7a System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "system-image-18-default-armeabi-v7a", "path": "system-images/android-18/default/armeabi-v7a", @@ -3936,13 +3891,11 @@ "xsi:type": "ns12:sysImgDetailsType" }, "tag:1": { - "display:1": { - }, + "display:1": {}, "id:0": "default" }, "tag:2": { - "display:1": { - }, + "display:1": {}, "id:0": "default" } } @@ -3965,7 +3918,7 @@ } }, "displayName": "Intel x86 Atom System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "system-image-18-default-x86", "path": "system-images/android-18/default/x86", @@ -3982,13 +3935,11 @@ "xsi:type": "ns12:sysImgDetailsType" }, "tag:1": { - "display:1": { - }, + "display:1": {}, "id:0": "default" }, "tag:2": { - "display:1": { - }, + "display:1": {}, "id:0": "default" } } @@ -4013,7 +3964,7 @@ } }, "displayName": "Google APIs ARM EABI v7a System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "system-image-18-google_apis-armeabi-v7a", "path": "system-images/android-18/google_apis/armeabi-v7a", @@ -4065,7 +4016,7 @@ } }, "displayName": "Google APIs Intel x86 Atom System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "system-image-18-google_apis-x86", "path": "system-images/android-18/google_apis/x86", @@ -4121,7 +4072,7 @@ } }, "displayName": "ARM EABI v7a System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "system-image-19-default-armeabi-v7a", "path": "system-images/android-19/default/armeabi-v7a", @@ -4138,13 +4089,11 @@ "xsi:type": "ns12:sysImgDetailsType" }, "tag:1": { - "display:1": { - }, + "display:1": {}, "id:0": "default" }, "tag:2": { - "display:1": { - }, + "display:1": {}, "id:0": "default" } } @@ -4167,7 +4116,7 @@ } }, "displayName": "Intel x86 Atom System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "system-image-19-default-x86", "path": "system-images/android-19/default/x86", @@ -4184,13 +4133,11 @@ "xsi:type": "ns12:sysImgDetailsType" }, "tag:1": { - "display:1": { - }, + "display:1": {}, "id:0": "default" }, "tag:2": { - "display:1": { - }, + "display:1": {}, "id:0": "default" } } @@ -4215,7 +4162,7 @@ } }, "displayName": "Google APIs ARM EABI v7a System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "system-image-19-google_apis-armeabi-v7a", "path": "system-images/android-19/google_apis/armeabi-v7a", @@ -4267,7 +4214,7 @@ } }, "displayName": "Google APIs Intel x86 Atom System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "system-image-19-google_apis-x86", "path": "system-images/android-19/google_apis/x86", @@ -4316,7 +4263,7 @@ } ], "displayName": "Android TV ARM EABI v7a System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "system-image-21-android-tv-armeabi-v7a", "path": "system-images/android-21/android-tv/armeabi-v7a", @@ -4353,7 +4300,7 @@ } ], "displayName": "Android TV Intel x86 Atom System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "system-image-21-android-tv-x86", "path": "system-images/android-21/android-tv/x86", @@ -4392,7 +4339,7 @@ } ], "displayName": "ARM 64 v8a System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "system-image-21-default-arm64-v8a", "path": "system-images/android-21/default/arm64-v8a", @@ -4409,13 +4356,11 @@ "xsi:type": "ns12:sysImgDetailsType" }, "tag:1": { - "display:1": { - }, + "display:1": {}, "id:0": "default" }, "tag:2": { - "display:1": { - }, + "display:1": {}, "id:0": "default" } } @@ -4438,7 +4383,7 @@ } }, "displayName": "ARM EABI v7a System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "system-image-21-default-armeabi-v7a", "path": "system-images/android-21/default/armeabi-v7a", @@ -4455,13 +4400,11 @@ "xsi:type": "ns12:sysImgDetailsType" }, "tag:1": { - "display:1": { - }, + "display:1": {}, "id:0": "default" }, "tag:2": { - "display:1": { - }, + "display:1": {}, "id:0": "default" } } @@ -4484,7 +4427,7 @@ } }, "displayName": "Intel x86 Atom System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "system-image-21-default-x86", "path": "system-images/android-21/default/x86", @@ -4501,13 +4444,11 @@ "xsi:type": "ns12:sysImgDetailsType" }, "tag:1": { - "display:1": { - }, + "display:1": {}, "id:0": "default" }, "tag:2": { - "display:1": { - }, + "display:1": {}, "id:0": "default" } } @@ -4530,7 +4471,7 @@ } }, "displayName": "Intel x86_64 Atom System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "system-image-21-default-x86_64", "path": "system-images/android-21/default/x86_64", @@ -4547,13 +4488,11 @@ "xsi:type": "ns12:sysImgDetailsType" }, "tag:1": { - "display:1": { - }, + "display:1": {}, "id:0": "default" }, "tag:2": { - "display:1": { - }, + "display:1": {}, "id:0": "default" } } @@ -4571,7 +4510,7 @@ } ], "displayName": "Google APIs ARM 64 v8a System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "system-image-21-google_apis-arm64-v8a", "path": "system-images/android-21/google_apis/arm64-v8a", @@ -4623,7 +4562,7 @@ } }, "displayName": "Google APIs ARM EABI v7a System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "system-image-21-google_apis-armeabi-v7a", "path": "system-images/android-21/google_apis/armeabi-v7a", @@ -4675,7 +4614,7 @@ } }, "displayName": "Google APIs Intel x86 Atom System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "system-image-21-google_apis-x86", "path": "system-images/android-21/google_apis/x86", @@ -4727,7 +4666,7 @@ } }, "displayName": "Google APIs Intel x86_64 Atom System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "system-image-21-google_apis-x86_64", "path": "system-images/android-21/google_apis/x86_64", @@ -4776,7 +4715,7 @@ } ], "displayName": "Android TV Intel x86 Atom System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "system-image-22-android-tv-x86", "path": "system-images/android-22/android-tv/x86", @@ -4815,7 +4754,7 @@ } ], "displayName": "ARM 64 v8a System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "system-image-22-default-arm64-v8a", "path": "system-images/android-22/default/arm64-v8a", @@ -4832,13 +4771,11 @@ "xsi:type": "ns12:sysImgDetailsType" }, "tag:1": { - "display:1": { - }, + "display:1": {}, "id:0": "default" }, "tag:2": { - "display:1": { - }, + "display:1": {}, "id:0": "default" } } @@ -4861,7 +4798,7 @@ } }, "displayName": "ARM EABI v7a System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "system-image-22-default-armeabi-v7a", "path": "system-images/android-22/default/armeabi-v7a", @@ -4878,13 +4815,11 @@ "xsi:type": "ns12:sysImgDetailsType" }, "tag:1": { - "display:1": { - }, + "display:1": {}, "id:0": "default" }, "tag:2": { - "display:1": { - }, + "display:1": {}, "id:0": "default" } } @@ -4907,7 +4842,7 @@ } }, "displayName": "Intel x86 Atom System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "system-image-22-default-x86", "path": "system-images/android-22/default/x86", @@ -4924,13 +4859,11 @@ "xsi:type": "ns12:sysImgDetailsType" }, "tag:1": { - "display:1": { - }, + "display:1": {}, "id:0": "default" }, "tag:2": { - "display:1": { - }, + "display:1": {}, "id:0": "default" } } @@ -4953,7 +4886,7 @@ } }, "displayName": "Intel x86_64 Atom System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "system-image-22-default-x86_64", "path": "system-images/android-22/default/x86_64", @@ -4970,13 +4903,11 @@ "xsi:type": "ns12:sysImgDetailsType" }, "tag:1": { - "display:1": { - }, + "display:1": {}, "id:0": "default" }, "tag:2": { - "display:1": { - }, + "display:1": {}, "id:0": "default" } } @@ -4994,7 +4925,7 @@ } ], "displayName": "Google APIs ARM 64 v8a System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "system-image-22-google_apis-arm64-v8a", "path": "system-images/android-22/google_apis/arm64-v8a", @@ -5046,7 +4977,7 @@ } }, "displayName": "Google APIs ARM EABI v7a System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "system-image-22-google_apis-armeabi-v7a", "path": "system-images/android-22/google_apis/armeabi-v7a", @@ -5098,7 +5029,7 @@ } }, "displayName": "Google APIs Intel x86 Atom System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "system-image-22-google_apis-x86", "path": "system-images/android-22/google_apis/x86", @@ -5150,7 +5081,7 @@ } }, "displayName": "Google APIs Intel x86_64 Atom System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "system-image-22-google_apis-x86_64", "path": "system-images/android-22/google_apis/x86_64", @@ -5199,7 +5130,7 @@ } ], "displayName": "Android TV ARM EABI v7a System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "system-image-23-android-tv-armeabi-v7a", "path": "system-images/android-23/android-tv/armeabi-v7a", @@ -5243,7 +5174,7 @@ } }, "displayName": "Android TV Intel x86 Atom System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "system-image-23-android-tv-x86", "path": "system-images/android-23/android-tv/x86", @@ -5282,7 +5213,7 @@ } ], "displayName": "ARM 64 v8a System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "system-image-23-default-arm64-v8a", "path": "system-images/android-23/default/arm64-v8a", @@ -5299,13 +5230,11 @@ "xsi:type": "ns12:sysImgDetailsType" }, "tag:1": { - "display:1": { - }, + "display:1": {}, "id:0": "default" }, "tag:2": { - "display:1": { - }, + "display:1": {}, "id:0": "default" } } @@ -5328,7 +5257,7 @@ } }, "displayName": "ARM EABI v7a System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "system-image-23-default-armeabi-v7a", "path": "system-images/android-23/default/armeabi-v7a", @@ -5345,13 +5274,11 @@ "xsi:type": "ns12:sysImgDetailsType" }, "tag:1": { - "display:1": { - }, + "display:1": {}, "id:0": "default" }, "tag:2": { - "display:1": { - }, + "display:1": {}, "id:0": "default" } } @@ -5374,7 +5301,7 @@ } }, "displayName": "Intel x86 Atom System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "system-image-23-default-x86", "path": "system-images/android-23/default/x86", @@ -5391,13 +5318,11 @@ "xsi:type": "ns12:sysImgDetailsType" }, "tag:1": { - "display:1": { - }, + "display:1": {}, "id:0": "default" }, "tag:2": { - "display:1": { - }, + "display:1": {}, "id:0": "default" } } @@ -5420,7 +5345,7 @@ } }, "displayName": "Intel x86_64 Atom System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "system-image-23-default-x86_64", "path": "system-images/android-23/default/x86_64", @@ -5437,13 +5362,11 @@ "xsi:type": "ns12:sysImgDetailsType" }, "tag:1": { - "display:1": { - }, + "display:1": {}, "id:0": "default" }, "tag:2": { - "display:1": { - }, + "display:1": {}, "id:0": "default" } } @@ -5461,7 +5384,7 @@ } ], "displayName": "Google APIs ARM 64 v8a System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "system-image-23-google_apis-arm64-v8a", "path": "system-images/android-23/google_apis/arm64-v8a", @@ -5513,7 +5436,7 @@ } }, "displayName": "Google APIs ARM EABI v7a System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "system-image-23-google_apis-armeabi-v7a", "path": "system-images/android-23/google_apis/armeabi-v7a", @@ -5565,7 +5488,7 @@ } }, "displayName": "Google APIs Intel x86 Atom System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "system-image-23-google_apis-x86", "path": "system-images/android-23/google_apis/x86", @@ -5617,7 +5540,7 @@ } }, "displayName": "Google APIs Intel x86_64 Atom System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "system-image-23-google_apis-x86_64", "path": "system-images/android-23/google_apis/x86_64", @@ -5673,7 +5596,7 @@ } }, "displayName": "Android TV Intel x86 Atom System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "system-image-24-android-tv-x86", "path": "system-images/android-24/android-tv/x86", @@ -5712,7 +5635,7 @@ } ], "displayName": "ARM 64 v8a System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "system-image-24-default-arm64-v8a", "path": "system-images/android-24/default/arm64-v8a", @@ -5729,13 +5652,11 @@ "xsi:type": "ns12:sysImgDetailsType" }, "tag:1": { - "display:1": { - }, + "display:1": {}, "id:0": "default" }, "tag:2": { - "display:1": { - }, + "display:1": {}, "id:0": "default" } } @@ -5745,8 +5666,8 @@ { "arch": "all", "os": "all", - "sha1": "e22c47afd06398b35f2705ca2e7fa85323351568", - "size": 782997866, + "sha1": "3454546b4eed2d6c3dd06d47757d6da9f4176033", + "size": 283677512, "url": "https://dl.google.com/android/repository/sys-img/android/armeabi-v7a-24_r07.zip" } ], @@ -5758,7 +5679,7 @@ } }, "displayName": "ARM EABI v7a System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "system-image-24-default-armeabi-v7a", "path": "system-images/android-24/default/armeabi-v7a", @@ -5775,13 +5696,11 @@ "xsi:type": "ns12:sysImgDetailsType" }, "tag:1": { - "display:1": { - }, + "display:1": {}, "id:0": "default" }, "tag:2": { - "display:1": { - }, + "display:1": {}, "id:0": "default" } } @@ -5804,7 +5723,7 @@ } }, "displayName": "Intel x86 Atom System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "system-image-24-default-x86", "path": "system-images/android-24/default/x86", @@ -5821,13 +5740,11 @@ "xsi:type": "ns12:sysImgDetailsType" }, "tag:1": { - "display:1": { - }, + "display:1": {}, "id:0": "default" }, "tag:2": { - "display:1": { - }, + "display:1": {}, "id:0": "default" } } @@ -5850,7 +5767,7 @@ } }, "displayName": "Intel x86_64 Atom System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "system-image-24-default-x86_64", "path": "system-images/android-24/default/x86_64", @@ -5867,13 +5784,11 @@ "xsi:type": "ns12:sysImgDetailsType" }, "tag:1": { - "display:1": { - }, + "display:1": {}, "id:0": "default" }, "tag:2": { - "display:1": { - }, + "display:1": {}, "id:0": "default" } } @@ -5898,7 +5813,7 @@ } }, "displayName": "Google APIs ARM 64 v8a System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "system-image-24-google_apis-arm64-v8a", "path": "system-images/android-24/google_apis/arm64-v8a", @@ -5950,7 +5865,7 @@ } }, "displayName": "Google APIs Intel x86 Atom System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "system-image-24-google_apis-x86", "path": "system-images/android-24/google_apis/x86", @@ -6002,7 +5917,7 @@ } }, "displayName": "Google APIs Intel x86_64 Atom System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "system-image-24-google_apis-x86_64", "path": "system-images/android-24/google_apis/x86_64", @@ -6056,7 +5971,7 @@ } }, "displayName": "Google Play Intel x86 Atom System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "system-image-24-google_apis_playstore-x86", "path": "system-images/android-24/google_apis_playstore/x86", @@ -6112,7 +6027,7 @@ } }, "displayName": "Android TV Intel x86 Atom System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "system-image-25-android-tv-x86", "path": "system-images/android-25/android-tv/x86", @@ -6158,7 +6073,7 @@ } }, "displayName": "Android Wear ARM EABI v7a System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "system-image-25-android-wear-armeabi-v7a", "path": "system-images/android-25/android-wear/armeabi-v7a", @@ -6202,7 +6117,7 @@ } }, "displayName": "Android Wear Intel x86 Atom System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "system-image-25-android-wear-x86", "path": "system-images/android-25/android-wear/x86", @@ -6241,7 +6156,7 @@ } ], "displayName": "ARM 64 v8a System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "system-image-25-default-arm64-v8a", "path": "system-images/android-25/default/arm64-v8a", @@ -6258,13 +6173,11 @@ "xsi:type": "ns12:sysImgDetailsType" }, "tag:1": { - "display:1": { - }, + "display:1": {}, "id:0": "default" }, "tag:2": { - "display:1": { - }, + "display:1": {}, "id:0": "default" } } @@ -6287,7 +6200,7 @@ } }, "displayName": "Intel x86 Atom System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "system-image-25-default-x86", "path": "system-images/android-25/default/x86", @@ -6304,13 +6217,11 @@ "xsi:type": "ns12:sysImgDetailsType" }, "tag:1": { - "display:1": { - }, + "display:1": {}, "id:0": "default" }, "tag:2": { - "display:1": { - }, + "display:1": {}, "id:0": "default" } } @@ -6333,7 +6244,7 @@ } }, "displayName": "Intel x86_64 Atom System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "system-image-25-default-x86_64", "path": "system-images/android-25/default/x86_64", @@ -6350,13 +6261,11 @@ "xsi:type": "ns12:sysImgDetailsType" }, "tag:1": { - "display:1": { - }, + "display:1": {}, "id:0": "default" }, "tag:2": { - "display:1": { - }, + "display:1": {}, "id:0": "default" } } @@ -6374,7 +6283,7 @@ } ], "displayName": "Google APIs ARM 64 v8a System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "system-image-25-google_apis-arm64-v8a", "path": "system-images/android-25/google_apis/arm64-v8a", @@ -6426,7 +6335,7 @@ } }, "displayName": "Google APIs ARM EABI v7a System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "system-image-25-google_apis-armeabi-v7a", "path": "system-images/android-25/google_apis/armeabi-v7a", @@ -6478,7 +6387,7 @@ } }, "displayName": "Google APIs Intel x86 Atom System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "system-image-25-google_apis-x86", "path": "system-images/android-25/google_apis/x86", @@ -6530,7 +6439,7 @@ } }, "displayName": "Google APIs Intel x86_64 Atom System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "system-image-25-google_apis-x86_64", "path": "system-images/android-25/google_apis/x86_64", @@ -6584,7 +6493,7 @@ } }, "displayName": "Google Play Intel x86 Atom System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "system-image-25-google_apis_playstore-x86", "path": "system-images/android-25/google_apis_playstore/x86", @@ -6655,7 +6564,7 @@ } }, "displayName": "Android TV Intel x86 Atom System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-preview-license", "name": "system-image-26-android-tv-x86", "path": "system-images/android-26/android-tv/x86", @@ -6701,7 +6610,7 @@ } }, "displayName": "Android Wear Intel x86 Atom System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "system-image-26-android-wear-x86", "path": "system-images/android-26/android-wear/x86", @@ -6752,7 +6661,7 @@ } }, "displayName": "ARM 64 v8a System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "system-image-26-default-arm64-v8a", "path": "system-images/android-26/default/arm64-v8a", @@ -6796,7 +6705,7 @@ } }, "displayName": "Intel x86 Atom System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "system-image-26-default-x86", "path": "system-images/android-26/default/x86", @@ -6840,7 +6749,7 @@ } }, "displayName": "Intel x86_64 Atom System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "system-image-26-default-x86_64", "path": "system-images/android-26/default/x86_64", @@ -6891,7 +6800,7 @@ } }, "displayName": "Google APIs ARM 64 v8a System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "system-image-26-google_apis-arm64-v8a", "path": "system-images/android-26/google_apis/arm64-v8a", @@ -6958,7 +6867,7 @@ } }, "displayName": "Google APIs Intel x86 Atom System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "system-image-26-google_apis-x86", "path": "system-images/android-26/google_apis/x86", @@ -7025,7 +6934,7 @@ } }, "displayName": "Google APIs Intel x86_64 Atom System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "system-image-26-google_apis-x86_64", "path": "system-images/android-26/google_apis/x86_64", @@ -7094,7 +7003,7 @@ } }, "displayName": "Google Play Intel x86 Atom System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-preview-license", "name": "system-image-26-google_apis_playstore-x86", "path": "system-images/android-26/google_apis_playstore/x86", @@ -7150,7 +7059,7 @@ } }, "displayName": "Android TV Intel x86 Atom System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-preview-license", "name": "system-image-27-android-tv-x86", "path": "system-images/android-27/android-tv/x86", @@ -7201,7 +7110,7 @@ } }, "displayName": "ARM 64 v8a System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "system-image-27-default-arm64-v8a", "path": "system-images/android-27/default/arm64-v8a", @@ -7245,7 +7154,7 @@ } }, "displayName": "Intel x86 Atom System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "system-image-27-default-x86", "path": "system-images/android-27/default/x86", @@ -7289,7 +7198,7 @@ } }, "displayName": "Intel x86_64 Atom System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "system-image-27-default-x86_64", "path": "system-images/android-27/default/x86_64", @@ -7340,7 +7249,7 @@ } }, "displayName": "Google APIs ARM 64 v8a System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "system-image-27-google_apis-arm64-v8a", "path": "system-images/android-27/google_apis/arm64-v8a", @@ -7407,7 +7316,7 @@ } }, "displayName": "Google APIs Intel x86 Atom System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "system-image-27-google_apis-x86", "path": "system-images/android-27/google_apis/x86", @@ -7476,7 +7385,7 @@ } }, "displayName": "Google Play Intel x86 Atom System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "system-image-27-google_apis_playstore-x86", "path": "system-images/android-27/google_apis_playstore/x86", @@ -7537,7 +7446,7 @@ } }, "displayName": "Automotive Intel x86 Atom System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "system-image-28-android-automotive-playstore-x86", "path": "system-images/android-28/android-automotive-playstore/x86", @@ -7582,7 +7491,7 @@ } }, "displayName": "Android TV Intel x86 Atom System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-preview-license", "name": "system-image-28-android-tv-x86", "path": "system-images/android-28/android-tv/x86", @@ -7628,7 +7537,7 @@ } }, "displayName": "Wear OS Intel x86 Atom System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "system-image-28-android-wear-x86", "path": "system-images/android-28/android-wear/x86", @@ -7679,7 +7588,7 @@ } }, "displayName": "ARM 64 v8a System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "system-image-28-default-arm64-v8a", "path": "system-images/android-28/default/arm64-v8a", @@ -7716,7 +7625,7 @@ } ], "displayName": "Intel x86 Atom System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-preview-license", "name": "system-image-28-default-x86", "path": "system-images/android-28/default/x86", @@ -7753,7 +7662,7 @@ } ], "displayName": "Intel x86_64 Atom System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-preview-license", "name": "system-image-28-default-x86_64", "path": "system-images/android-28/default/x86_64", @@ -7804,7 +7713,7 @@ } }, "displayName": "Google APIs ARM 64 v8a System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "system-image-28-google_apis-arm64-v8a", "path": "system-images/android-28/google_apis/arm64-v8a", @@ -7871,7 +7780,7 @@ } }, "displayName": "Google APIs Intel x86 Atom System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-arm-dbt-license", "name": "system-image-28-google_apis-x86", "path": "system-images/android-28/google_apis/x86", @@ -7938,7 +7847,7 @@ } }, "displayName": "Google APIs Intel x86_64 Atom System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "system-image-28-google_apis-x86_64", "path": "system-images/android-28/google_apis/x86_64", @@ -7997,7 +7906,7 @@ } }, "displayName": "Google ARM64-V8a Play ARM 64 v8a System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-arm-dbt-license", "name": "system-image-28-google_apis_playstore-arm64-v8a", "path": "system-images/android-28/google_apis_playstore/arm64-v8a", @@ -8064,7 +7973,7 @@ } }, "displayName": "Google Play Intel x86 Atom System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "system-image-28-google_apis_playstore-x86", "path": "system-images/android-28/google_apis_playstore/x86", @@ -8131,7 +8040,7 @@ } }, "displayName": "Google Play Intel x86_64 Atom System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "system-image-28-google_apis_playstore-x86_64", "path": "system-images/android-28/google_apis_playstore/x86_64", @@ -8192,7 +8101,7 @@ } }, "displayName": "Automotive with Play Store Intel x86 Atom System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "system-image-29-android-automotive-playstore-x86", "path": "system-images/android-29/android-automotive-playstore/x86", @@ -8252,7 +8161,7 @@ } }, "displayName": "Android TV Intel x86 Atom System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-preview-license", "name": "system-image-29-android-tv-x86", "path": "system-images/android-29/android-tv/x86", @@ -8291,7 +8200,7 @@ } ], "displayName": "ARM 64 v8a System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "system-image-29-default-arm64-v8a", "path": "system-images/android-29/default/arm64-v8a", @@ -8354,7 +8263,7 @@ } }, "displayName": "Intel x86 Atom System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "system-image-29-default-x86", "path": "system-images/android-29/default/x86", @@ -8417,7 +8326,7 @@ } }, "displayName": "Intel x86_64 Atom System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "system-image-29-default-x86_64", "path": "system-images/android-29/default/x86_64", @@ -8468,7 +8377,7 @@ } }, "displayName": "Google APIs ARM 64 v8a System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-arm-dbt-license", "name": "system-image-29-google_apis-arm64-v8a", "path": "system-images/android-29/google_apis/arm64-v8a", @@ -8525,7 +8434,7 @@ } }, "displayName": "Google APIs Intel x86 Atom System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "system-image-29-google_apis-x86", "path": "system-images/android-29/google_apis/x86", @@ -8582,7 +8491,7 @@ } }, "displayName": "Google APIs Intel x86_64 Atom System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "system-image-29-google_apis-x86_64", "path": "system-images/android-29/google_apis/x86_64", @@ -8641,7 +8550,7 @@ } }, "displayName": "Google Play ARM 64 v8a System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-arm-dbt-license", "name": "system-image-29-google_apis_playstore-arm64-v8a", "path": "system-images/android-29/google_apis_playstore/arm64-v8a", @@ -8722,7 +8631,7 @@ } }, "displayName": "Google Play Intel x86 Atom System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "system-image-29-google_apis_playstore-x86", "path": "system-images/android-29/google_apis_playstore/x86", @@ -8803,7 +8712,7 @@ } }, "displayName": "Google Play Intel x86_64 Atom System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "system-image-29-google_apis_playstore-x86_64", "path": "system-images/android-29/google_apis_playstore/x86_64", @@ -8864,7 +8773,7 @@ } }, "displayName": "Automotive with Play Store Intel x86_64 Atom System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "system-image-30-android-automotive-playstore-x86_64", "path": "system-images/android-30/android-automotive-playstore/x86_64", @@ -8924,7 +8833,7 @@ } }, "displayName": "Android TV Intel x86 Atom System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-preview-license", "name": "system-image-30-android-tv-x86", "path": "system-images/android-30/android-tv/x86", @@ -8970,7 +8879,7 @@ } }, "displayName": "China version of Wear OS 3 ARM 64 v8a System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "system-image-30-android-wear-arm64-v8a", "path": "system-images/android-30/android-wear-cn/arm64-v8a", @@ -9014,7 +8923,7 @@ } }, "displayName": "China version of Wear OS 3 Intel x86 Atom System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "system-image-30-android-wear-x86", "path": "system-images/android-30/android-wear-cn/x86", @@ -9053,7 +8962,7 @@ } ], "displayName": "ARM 64 v8a System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "system-image-30-default-arm64-v8a", "path": "system-images/android-30/default/arm64-v8a", @@ -9102,7 +9011,7 @@ } }, "displayName": "Intel x86_64 Atom System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "system-image-30-default-x86_64", "path": "system-images/android-30/default/x86_64", @@ -9153,7 +9062,7 @@ } }, "displayName": "Google APIs ARM 64 v8a System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-arm-dbt-license", "name": "system-image-30-google_apis-arm64-v8a", "path": "system-images/android-30/google_apis/arm64-v8a", @@ -9220,7 +9129,7 @@ } }, "displayName": "Google APIs Intel x86 Atom System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "system-image-30-google_apis-x86", "path": "system-images/android-30/google_apis/x86", @@ -9287,7 +9196,7 @@ } }, "displayName": "Google APIs Intel x86_64 Atom System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "system-image-30-google_apis-x86_64", "path": "system-images/android-30/google_apis/x86_64", @@ -9353,7 +9262,7 @@ } }, "displayName": "Google Play ARM 64 v8a System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-arm-dbt-license", "name": "system-image-30-google_apis_playstore-arm64-v8a", "path": "system-images/android-30/google_apis_playstore/arm64-v8a", @@ -9434,7 +9343,7 @@ } }, "displayName": "Google Play Intel x86 Atom System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "system-image-30-google_apis_playstore-x86", "path": "system-images/android-30/google_apis_playstore/x86", @@ -9515,7 +9424,7 @@ } }, "displayName": "Google Play Intel x86_64 Atom System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-arm-dbt-license", "name": "system-image-30-google_apis_playstore-x86_64", "path": "system-images/android-30/google_apis_playstore/x86_64", @@ -9586,7 +9495,7 @@ } }, "displayName": "Android TV ARM 64 v8a System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "system-image-31-android-tv-arm64-v8a", "path": "system-images/android-31/android-tv/arm64-v8a", @@ -9645,7 +9554,7 @@ } }, "displayName": "Android TV Intel x86 Atom System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "system-image-31-android-tv-x86", "path": "system-images/android-31/android-tv/x86", @@ -9696,7 +9605,7 @@ } }, "displayName": "ARM 64 v8a System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "system-image-31-default-arm64-v8a", "path": "system-images/android-31/default/arm64-v8a", @@ -9745,7 +9654,7 @@ } }, "displayName": "Intel x86_64 Atom System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "system-image-31-default-x86_64", "path": "system-images/android-31/default/x86_64", @@ -9806,7 +9715,7 @@ } }, "displayName": "Google APIs ARM 64 v8a System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-arm-dbt-license", "name": "system-image-31-google_apis-arm64-v8a", "path": "system-images/android-31/google_apis/arm64-v8a", @@ -9873,7 +9782,7 @@ } }, "displayName": "Google APIs Intel x86_64 Atom System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-preview-license", "name": "system-image-31-google_apis-x86_64", "path": "system-images/android-31/google_apis/x86_64", @@ -9949,7 +9858,7 @@ } }, "displayName": "Google Play ARM 64 v8a System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-arm-dbt-license", "name": "system-image-31-google_apis_playstore-arm64-v8a", "path": "system-images/android-31/google_apis_playstore/arm64-v8a", @@ -10016,7 +9925,7 @@ } }, "displayName": "Google Play Intel x86_64 Atom System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-arm-dbt-license", "name": "system-image-31-google_apis_playstore-x86_64", "path": "system-images/android-31/google_apis_playstore/x86_64", @@ -10077,7 +9986,7 @@ } }, "displayName": "Android Automotive with Google Play arm64-v8a System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-preview-license", "name": "system-image-32-android-automotive-playstore-arm64-v8a", "path": "system-images/android-32/android-automotive-playstore/arm64-v8a", @@ -10130,7 +10039,7 @@ } }, "displayName": "Android Automotive with Google Play x86_64 System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-preview-license", "name": "system-image-32-android-automotive-playstore-x86_64", "path": "system-images/android-32/android-automotive-playstore/x86_64", @@ -10185,7 +10094,7 @@ } }, "displayName": "ARM 64 v8a System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "system-image-32-default-arm64-v8a", "path": "system-images/android-32/default/arm64-v8a", @@ -10234,7 +10143,7 @@ } }, "displayName": "Intel x86_64 Atom System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "system-image-32-default-x86_64", "path": "system-images/android-32/default/x86_64", @@ -10295,7 +10204,7 @@ } }, "displayName": "Google APIs ARM 64 v8a System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-arm-dbt-license", "name": "system-image-32-google_apis-arm64-v8a", "path": "system-images/android-32/google_apis/arm64-v8a", @@ -10362,7 +10271,7 @@ } }, "displayName": "Google APIs Intel x86_64 Atom System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-preview-license", "name": "system-image-32-google_apis-x86_64", "path": "system-images/android-32/google_apis/x86_64", @@ -10438,7 +10347,7 @@ } }, "displayName": "Google Play ARM 64 v8a System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-arm-dbt-license", "name": "system-image-32-google_apis_playstore-arm64-v8a", "path": "system-images/android-32/google_apis_playstore/arm64-v8a", @@ -10519,7 +10428,7 @@ } }, "displayName": "Google Play Intel x86_64 Atom System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-preview-license", "name": "system-image-32-google_apis_playstore-x86_64", "path": "system-images/android-32/google_apis_playstore/x86_64", @@ -10580,7 +10489,7 @@ } }, "displayName": "Android Automotive with Google APIs arm64-v8a System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "system-image-33-android-automotive-arm64-v8a", "path": "system-images/android-33/android-automotive/arm64-v8a", @@ -10633,7 +10542,7 @@ } }, "displayName": "Android Automotive with Google APIs x86_64 System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "system-image-33-android-automotive-x86_64", "path": "system-images/android-33/android-automotive/x86_64", @@ -10698,7 +10607,7 @@ } }, "displayName": "Android TV ARM 64 v8a System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "system-image-33-android-tv-arm64-v8a", "path": "system-images/android-33/android-tv/arm64-v8a", @@ -10757,7 +10666,7 @@ } }, "displayName": "Android TV Intel x86 Atom System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "system-image-33-android-tv-x86", "path": "system-images/android-33/android-tv/x86", @@ -10803,7 +10712,7 @@ } }, "displayName": "Wear OS 4 ARM 64 v8a System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "system-image-33-android-wear-arm64-v8a", "path": "system-images/android-33/android-wear/arm64-v8a", @@ -10847,7 +10756,7 @@ } }, "displayName": "Wear OS 4 Intel x86_64 Atom System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "system-image-33-android-wear-x86_64", "path": "system-images/android-33/android-wear/x86_64", @@ -10898,7 +10807,7 @@ } }, "displayName": "ARM 64 v8a System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "system-image-33-default-arm64-v8a", "path": "system-images/android-33/default/arm64-v8a", @@ -10947,7 +10856,7 @@ } }, "displayName": "Intel x86_64 Atom System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "system-image-33-default-x86_64", "path": "system-images/android-33/default/x86_64", @@ -11008,7 +10917,7 @@ } }, "displayName": "Google APIs ARM 64 v8a System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-arm-dbt-license", "name": "system-image-33-google_apis-arm64-v8a", "path": "system-images/android-33/google_apis/arm64-v8a", @@ -11075,7 +10984,7 @@ } }, "displayName": "Google APIs Intel x86_64 Atom System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "system-image-33-google_apis-x86_64", "path": "system-images/android-33/google_apis/x86_64", @@ -11144,7 +11053,7 @@ } }, "displayName": "Google Play ARM 64 v8a System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-arm-dbt-license", "name": "system-image-33-google_apis_playstore-arm64-v8a", "path": "system-images/android-33/google_apis_playstore/arm64-v8a", @@ -11211,7 +11120,7 @@ } }, "displayName": "Google Play Intel x86_64 Atom System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "system-image-33-google_apis_playstore-x86_64", "path": "system-images/android-33/google_apis_playstore/x86_64", @@ -11286,7 +11195,7 @@ } }, "displayName": "Google Play ARM 64 v8a System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-arm-dbt-license", "name": "system-image-33x-google_apis_playstore-arm64-v8a", "path": "system-images/android-33-ext4/google_apis_playstore/arm64-v8a", @@ -11335,7 +11244,7 @@ } }, "displayName": "Google Play Intel x86_64 Atom System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-preview-license", "name": "system-image-33x-google_apis_playstore-x86_64", "path": "system-images/android-33-ext4/google_apis_playstore/x86_64", @@ -11398,7 +11307,7 @@ } }, "displayName": "Android TV ARM 64 v8a System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "system-image-34-android-tv-arm64-v8a", "path": "system-images/android-34/android-tv/arm64-v8a", @@ -11458,7 +11367,7 @@ } }, "displayName": "Android TV Intel x86 Atom System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "system-image-34-android-tv-x86", "path": "system-images/android-34/android-tv/x86", @@ -11498,7 +11407,7 @@ } ], "displayName": "Wear OS 5 ARM 64 v8a System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "system-image-34-android-wear-arm64-v8a", "path": "system-images/android-34/android-wear/arm64-v8a", @@ -11535,7 +11444,7 @@ } ], "displayName": "Wear OS 5 Intel x86_64 Atom System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "system-image-34-android-wear-x86_64", "path": "system-images/android-34/android-wear/x86_64", @@ -11586,7 +11495,7 @@ } }, "displayName": "ARM 64 v8a System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "system-image-34-default-arm64-v8a", "path": "system-images/android-34/default/arm64-v8a", @@ -11635,7 +11544,7 @@ } }, "displayName": "Intel x86_64 Atom System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "system-image-34-default-x86_64", "path": "system-images/android-34/default/x86_64", @@ -11696,7 +11605,7 @@ } }, "displayName": "Google APIs ARM 64 v8a System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-arm-dbt-license", "name": "system-image-34-google_apis-arm64-v8a", "path": "system-images/android-34/google_apis/arm64-v8a", @@ -11764,7 +11673,7 @@ } }, "displayName": "Google APIs Intel x86_64 Atom System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "system-image-34-google_apis-x86_64", "path": "system-images/android-34/google_apis/x86_64", @@ -11834,7 +11743,7 @@ } }, "displayName": "Google Play ARM 64 v8a System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-arm-dbt-license", "name": "system-image-34-google_apis_playstore-arm64-v8a", "path": "system-images/android-34/google_apis_playstore/arm64-v8a", @@ -11903,7 +11812,7 @@ } }, "displayName": "Google Play Intel x86_64 Atom System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "system-image-34-google_apis_playstore-x86_64", "path": "system-images/android-34/google_apis_playstore/x86_64", @@ -11966,7 +11875,7 @@ } }, "displayName": "Android Automotive with Google APIs arm64-v8a System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "system-image-34x-android-automotive-arm64-v8a", "path": "system-images/android-34-ext9/android-automotive/arm64-v8a", @@ -12019,7 +11928,7 @@ } }, "displayName": "Android Automotive with Google APIs x86_64 System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "system-image-34x-android-automotive-x86_64", "path": "system-images/android-34-ext9/android-automotive/x86_64", @@ -12088,7 +11997,7 @@ } }, "displayName": "Google Play ARM 64 v8a System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-arm-dbt-license", "name": "system-image-34x-google_apis_playstore-arm64-v8a", "path": "system-images/android-34-ext12/google_apis_playstore/arm64-v8a", @@ -12137,7 +12046,7 @@ } }, "displayName": "Google Play Intel x86_64 Atom System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "system-image-34x-google_apis_playstore-x86_64", "path": "system-images/android-34-ext12/google_apis_playstore/x86_64", @@ -12178,7 +12087,7 @@ } ], "displayName": "Wear OS 5.1 - Preview ARM 64 v8a System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-preview-license", "name": "system-image-35-android-wear-arm64-v8a", "path": "system-images/android-35/android-wear/arm64-v8a", @@ -12210,7 +12119,7 @@ } ], "displayName": "Wear OS 5.1 - Preview Intel x86_64 Atom System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-preview-license", "name": "system-image-35-android-wear-x86_64", "path": "system-images/android-35/android-wear/x86_64", @@ -12256,7 +12165,7 @@ } }, "displayName": "ARM 64 v8a System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "system-image-35-default-arm64-v8a", "path": "system-images/android-35/default/arm64-v8a", @@ -12301,7 +12210,7 @@ } }, "displayName": "Intel x86_64 Atom System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "system-image-35-default-x86_64", "path": "system-images/android-35/default/x86_64", @@ -12348,7 +12257,7 @@ } }, "displayName": "Google APIs ARM 64 v8a System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-arm-dbt-license", "name": "system-image-35-google_apis-arm64-v8a", "path": "system-images/android-35/google_apis/arm64-v8a", @@ -12406,7 +12315,7 @@ } }, "displayName": "Google APIs Intel x86_64 Atom System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "system-image-35-google_apis-x86_64", "path": "system-images/android-35/google_apis/x86_64", @@ -12466,7 +12375,7 @@ } }, "displayName": "Google Play ARM 64 v8a System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-arm-dbt-license", "name": "system-image-35-google_apis_playstore-arm64-v8a", "path": "system-images/android-35/google_apis_playstore/arm64-v8a", @@ -12524,7 +12433,7 @@ } }, "displayName": "Google Play Intel x86_64 Atom System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "system-image-35-google_apis_playstore-x86_64", "path": "system-images/android-35/google_apis_playstore/x86_64", @@ -12584,7 +12493,7 @@ } }, "displayName": "Pre-Release 16 KB Page Size Google Play ARM 64 v8a System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-arm-dbt-license", "name": "system-image-35-page_size_16kb-arm64-v8a", "path": "system-images/android-35/google_apis_playstore_ps16k/arm64-v8a", @@ -12646,7 +12555,7 @@ } }, "displayName": "Pre-Release 16 KB Page Size Google Play Intel x86_64 Atom System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "system-image-35-page_size_16kb-x86_64", "path": "system-images/android-35/google_apis_playstore_ps16k/x86_64", @@ -12712,7 +12621,7 @@ } }, "displayName": "Android Automotive with Google APIs arm64-v8a System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "system-image-35x-android-automotive-arm64-v8a", "path": "system-images/android-35-ext15/android-automotive/arm64-v8a", @@ -12765,7 +12674,7 @@ } }, "displayName": "Android Automotive with Google APIs x86_64 System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "system-image-35x-android-automotive-x86_64", "path": "system-images/android-35-ext15/android-automotive/x86_64", @@ -12808,7 +12717,7 @@ } ], "displayName": "Wear OS 5.1 ARM 64 v8a System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "system-image-35x-android-wear-arm64-v8a", "path": "system-images/android-35-ext15/android-wear/arm64-v8a", @@ -12841,7 +12750,7 @@ } ], "displayName": "Wear OS 5.1 Intel x86_64 Atom System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "system-image-35x-android-wear-x86_64", "path": "system-images/android-35-ext15/android-wear/x86_64", @@ -12888,7 +12797,7 @@ } }, "displayName": "Google APIs ARM 64 v8a System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-arm-dbt-license", "name": "system-image-35x-google_apis-arm64-v8a", "path": "system-images/android-35-ext15/google_apis/arm64-v8a", @@ -12937,7 +12846,7 @@ } }, "displayName": "Google APIs Intel x86_64 Atom System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "system-image-35x-google_apis-x86_64", "path": "system-images/android-35-ext15/google_apis/x86_64", @@ -12988,7 +12897,7 @@ } }, "displayName": "Google Play ARM 64 v8a System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-arm-dbt-license", "name": "system-image-35x-google_apis_playstore-arm64-v8a", "path": "system-images/android-35-ext15/google_apis_playstore/arm64-v8a", @@ -13037,7 +12946,7 @@ } }, "displayName": "Google Play Intel x86_64 Atom System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "system-image-35x-google_apis_playstore-x86_64", "path": "system-images/android-35-ext15/google_apis_playstore/x86_64", @@ -13090,7 +12999,7 @@ } }, "displayName": "Android TV ARM 64 v8a System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "system-image-36-android-tv-arm64-v8a", "path": "system-images/android-36/android-tv/arm64-v8a", @@ -13135,7 +13044,7 @@ } }, "displayName": "Android TV Intel x86 Atom System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "system-image-36-android-tv-x86", "path": "system-images/android-36/android-tv/x86", @@ -13170,7 +13079,7 @@ } ], "displayName": "Wear OS 6.0 ARM 64 v8a System Image (signed)", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "system-image-36-android-wear-arm64-v8a", "path": "system-images/android-36/android-wear-signed/arm64-v8a", @@ -13203,7 +13112,7 @@ } ], "displayName": "Wear OS 6.0 Intel x86_64 Atom System Image (signed)", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "system-image-36-android-wear-x86_64", "path": "system-images/android-36/android-wear-signed/x86_64", @@ -13250,7 +13159,7 @@ } }, "displayName": "ARM 64 v8a System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "system-image-36-default-arm64-v8a", "path": "system-images/android-36/default/arm64-v8a", @@ -13295,7 +13204,7 @@ } }, "displayName": "Intel x86_64 Atom System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "system-image-36-default-x86_64", "path": "system-images/android-36/default/x86_64", @@ -13342,7 +13251,7 @@ } }, "displayName": "Google APIs ARM 64 v8a System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-arm-dbt-license", "name": "system-image-36-google_apis-arm64-v8a", "path": "system-images/android-36/google_apis/arm64-v8a", @@ -13391,7 +13300,7 @@ } }, "displayName": "Google APIs Intel x86_64 Atom System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "system-image-36-google_apis-x86_64", "path": "system-images/android-36/google_apis/x86_64", @@ -13442,7 +13351,7 @@ } }, "displayName": "Google Play ARM 64 v8a System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-arm-dbt-license", "name": "system-image-36-google_apis_playstore-arm64-v8a", "path": "system-images/android-36/google_apis_playstore/arm64-v8a", @@ -13491,7 +13400,7 @@ } }, "displayName": "Google Play Intel x86_64 Atom System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "system-image-36-google_apis_playstore-x86_64", "path": "system-images/android-36/google_apis_playstore/x86_64", @@ -13542,7 +13451,7 @@ } }, "displayName": "Pre-Release 16 KB Page Size Google Play ARM 64 v8a System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-arm-dbt-license", "name": "system-image-36-page_size_16kb-arm64-v8a", "path": "system-images/android-36/google_apis_playstore_ps16k/arm64-v8a", @@ -13595,7 +13504,7 @@ } }, "displayName": "Pre-Release 16 KB Page Size Google Play Intel x86_64 Atom System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "system-image-36-page_size_16kb-x86_64", "path": "system-images/android-36/google_apis_playstore_ps16k/x86_64", @@ -13640,7 +13549,7 @@ } ], "displayName": "Wear OS 6.1 ARM 64 v8a System Image (signed)", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "system-image-36.1-android-wear-arm64-v8a", "path": "system-images/android-36.1/android-wear-signed/arm64-v8a", @@ -13673,7 +13582,7 @@ } ], "displayName": "Wear OS 6.1 Intel x86_64 Atom System Image (signed)", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "system-image-36.1-android-wear-x86_64", "path": "system-images/android-36.1/android-wear-signed/x86_64", @@ -13720,7 +13629,7 @@ } }, "displayName": "Pre-Release 16 KB Page Size Google APIs ARM 64 v8a System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-arm-dbt-license", "name": "system-image-36.1-google_apis-arm64-v8a", "path": "system-images/android-36.1/google_apis_ps16k/arm64-v8a", @@ -13778,7 +13687,7 @@ } }, "displayName": "Pre-Release 16 KB Page Size Google APIs Intel x86_64 Atom System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "system-image-36.1-google_apis-x86_64", "path": "system-images/android-36.1/google_apis_ps16k/x86_64", @@ -13838,7 +13747,7 @@ } }, "displayName": "Pre-Release 16 KB Page Size Google Play ARM 64 v8a System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-arm-dbt-license", "name": "system-image-36.1-google_apis_playstore-arm64-v8a", "path": "system-images/android-36.1/google_apis_playstore_ps16k/arm64-v8a", @@ -13896,7 +13805,7 @@ } }, "displayName": "Pre-Release 16 KB Page Size Google Play Intel x86_64 Atom System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "system-image-36.1-google_apis_playstore-x86_64", "path": "system-images/android-36.1/google_apis_playstore_ps16k/x86_64", @@ -14066,7 +13975,7 @@ } }, "displayName": "Google APIs ARM 64 v8a System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-arm-dbt-license", "name": "system-image-36x-google_apis-arm64-v8a", "path": "system-images/android-36-ext19/google_apis/arm64-v8a", @@ -14115,7 +14024,7 @@ } }, "displayName": "Google APIs Intel x86_64 Atom System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "system-image-36x-google_apis-x86_64", "path": "system-images/android-36-ext19/google_apis/x86_64", @@ -14166,7 +14075,7 @@ } }, "displayName": "Google Play ARM 64 v8a System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-arm-dbt-license", "name": "system-image-36x-google_apis_playstore-arm64-v8a", "path": "system-images/android-36-ext19/google_apis_playstore/arm64-v8a", @@ -14215,7 +14124,7 @@ } }, "displayName": "Google Play Intel x86_64 Atom System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "system-image-36x-google_apis_playstore-x86_64", "path": "system-images/android-36-ext19/google_apis_playstore/x86_64", @@ -14268,7 +14177,7 @@ } }, "displayName": "Pre-Release 16 KB Page Size Google APIs ARM 64 v8a System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-arm-dbt-license", "name": "system-image-37.0-google_apis-arm64-v8a", "path": "system-images/android-37.0/google_apis_ps16k/arm64-v8a", @@ -14325,7 +14234,7 @@ } }, "displayName": "Pre-Release 16 KB Page Size Google APIs Intel x86_64 Atom System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "system-image-37.0-google_apis-x86_64", "path": "system-images/android-37.0/google_apis_ps16k/x86_64", @@ -14384,7 +14293,7 @@ } }, "displayName": "Pre-Release 16 KB Page Size Google Play ARM 64 v8a System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-arm-dbt-license", "name": "system-image-37.0-google_apis_playstore-arm64-v8a", "path": "system-images/android-37.0/google_apis_playstore_ps16k/arm64-v8a", @@ -14441,7 +14350,7 @@ } }, "displayName": "Pre-Release 16 KB Page Size Google Play Intel x86_64 Atom System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "system-image-37.0-google_apis_playstore-x86_64", "path": "system-images/android-37.0/google_apis_playstore_ps16k/x86_64", @@ -14502,7 +14411,7 @@ } }, "displayName": "Google APIs ARM 64 v8a System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-arm-dbt-license", "name": "system-image-Baklava-google_apis-arm64-v8a", "path": "system-images/android-36.0-Baklava/google_apis/arm64-v8a", @@ -14552,7 +14461,7 @@ } }, "displayName": "Google APIs Intel x86_64 Atom System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "system-image-Baklava-google_apis-x86_64", "path": "system-images/android-36.0-Baklava/google_apis/x86_64", @@ -14604,7 +14513,7 @@ } }, "displayName": "Google Play ARM 64 v8a System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-arm-dbt-license", "name": "system-image-Baklava-google_apis_playstore-arm64-v8a", "path": "system-images/android-36.0-Baklava/google_apis_playstore/arm64-v8a", @@ -14654,7 +14563,7 @@ } }, "displayName": "Google Play Intel x86_64 Atom System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "system-image-Baklava-google_apis_playstore-x86_64", "path": "system-images/android-36.0-Baklava/google_apis_playstore/x86_64", @@ -14706,7 +14615,7 @@ } }, "displayName": "Pre-Release 16 KB Page Size Google Play ARM 64 v8a System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-arm-dbt-license", "name": "system-image-Baklava-page_size_16kb-arm64-v8a", "path": "system-images/android-36.0-Baklava/google_apis_playstore_ps16k/arm64-v8a", @@ -14760,7 +14669,7 @@ } }, "displayName": "Pre-Release 16 KB Page Size Google Play Intel x86_64 Atom System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "system-image-Baklava-page_size_16kb-x86_64", "path": "system-images/android-36.0-Baklava/google_apis_playstore_ps16k/x86_64", @@ -14818,13 +14727,13 @@ } }, "displayName": "Pre-Release 16 KB Page Size Google APIs ARM 64 v8a System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-arm-dbt-license", "name": "system-image-CANARY-google_apis-arm64-v8a", "path": "system-images/android-CANARY/google_apis_ps16k/arm64-v8a", "revision": "CANARY-google_apis-arm64-v8a", "revision-details": { - "major:0": "9" + "major:0": "10" }, "type-details": { "abi:6": "arm64-v8a", @@ -14881,13 +14790,13 @@ } }, "displayName": "Pre-Release 16 KB Page Size Google APIs Intel x86_64 Atom System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "system-image-CANARY-google_apis-x86_64", "path": "system-images/android-CANARY/google_apis_ps16k/x86_64", "revision": "CANARY-google_apis-x86_64", "revision-details": { - "major:0": "9" + "major:0": "10" }, "type-details": { "abi:6": "x86_64", @@ -14946,13 +14855,13 @@ } }, "displayName": "Pre-Release 16 KB Page Size Google Play ARM 64 v8a System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-arm-dbt-license", "name": "system-image-CANARY-google_apis_playstore-arm64-v8a", "path": "system-images/android-CANARY/google_apis_playstore_ps16k/arm64-v8a", "revision": "CANARY-google_apis_playstore-arm64-v8a", "revision-details": { - "major:0": "9" + "major:0": "10" }, "type-details": { "abi:6": "arm64-v8a", @@ -15009,13 +14918,13 @@ } }, "displayName": "Pre-Release 16 KB Page Size Google Play Intel x86_64 Atom System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "system-image-CANARY-google_apis_playstore-x86_64", "path": "system-images/android-CANARY/google_apis_playstore_ps16k/x86_64", "revision": "CANARY-google_apis_playstore-x86_64", "revision-details": { - "major:0": "9" + "major:0": "10" }, "type-details": { "abi:6": "x86_64", @@ -15074,7 +14983,7 @@ } }, "displayName": "Pre-Release 16 KB Page Size Google Play ARM 64 v8a System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-arm-dbt-license", "name": "system-image-CANARY-page_size_16kb-arm64-v8a", "path": "system-images/android-36.0-CANARY/google_apis_playstore_ps16k/arm64-v8a", @@ -15128,7 +15037,7 @@ } }, "displayName": "Pre-Release 16 KB Page Size Google Play Intel x86_64 Atom System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-preview-license", "name": "system-image-CANARY-page_size_16kb-x86_64", "path": "system-images/android-36.0-CANARY/google_apis_playstore_ps16k/x86_64", @@ -15186,7 +15095,7 @@ } }, "displayName": "Pre-Release 16 KB Page Size Google APIs ARM 64 v8a System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-arm-dbt-license", "name": "system-image-CinnamonBun-google_apis-arm64-v8a", "path": "system-images/android-CinnamonBun/google_apis_ps16k/arm64-v8a", @@ -15244,7 +15153,7 @@ } }, "displayName": "Pre-Release 16 KB Page Size Google APIs Intel x86_64 Atom System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "system-image-CinnamonBun-google_apis-x86_64", "path": "system-images/android-CinnamonBun/google_apis_ps16k/x86_64", @@ -15304,7 +15213,7 @@ } }, "displayName": "Pre-Release 16 KB Page Size Google Play ARM 64 v8a System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-arm-dbt-license", "name": "system-image-CinnamonBun-google_apis_playstore-arm64-v8a", "path": "system-images/android-CinnamonBun/google_apis_playstore_ps16k/arm64-v8a", @@ -15362,7 +15271,7 @@ } }, "displayName": "Pre-Release 16 KB Page Size Google Play Intel x86_64 Atom System Image", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "system-image-CinnamonBun-google_apis_playstore-x86_64", "path": "system-images/android-CinnamonBun/google_apis_playstore_ps16k/x86_64", @@ -15620,10 +15529,8 @@ } }, "UpsideDownCake": { - "google_apis": { - }, - "google_apis_playstore": { - } + "google_apis": {}, + "google_apis_playstore": {} }, "UpsideDownCakePrivacySandbox": { "google_apis_playstore": { @@ -15982,9 +15889,9 @@ "platform-tools": "37.0.0", "platforms": "37.0", "skiaparser": "8", - "sources": "36.1", + "sources": "37.0", "tools": "26.1.1", - "fingerprint": "bf29939be4d269fd" + "fingerprint": "7fb1f87547f5d4c6" }, "licenses": { "android-googletv-license": [ @@ -16052,7 +15959,7 @@ } }, "displayName": "Android SDK Build-Tools 17", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "build-tools", "obsolete": "true", @@ -16101,7 +16008,7 @@ } }, "displayName": "Android SDK Build-Tools 18.0.1", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "build-tools", "obsolete": "true", @@ -16150,7 +16057,7 @@ } }, "displayName": "Android SDK Build-Tools 18.1", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "build-tools", "obsolete": "true", @@ -16199,7 +16106,7 @@ } }, "displayName": "Android SDK Build-Tools 18.1.1", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "build-tools", "obsolete": "true", @@ -16248,7 +16155,7 @@ } }, "displayName": "Android SDK Build-Tools 19", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "build-tools", "obsolete": "true", @@ -16297,7 +16204,7 @@ } }, "displayName": "Android SDK Build-Tools 19.0.1", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "build-tools", "obsolete": "true", @@ -16346,7 +16253,7 @@ } }, "displayName": "Android SDK Build-Tools 19.0.2", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "build-tools", "obsolete": "true", @@ -16395,7 +16302,7 @@ } }, "displayName": "Android SDK Build-Tools 19.0.3", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "build-tools", "obsolete": "true", @@ -16444,7 +16351,7 @@ } }, "displayName": "Android SDK Build-Tools 19.1", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "build-tools", "path": "build-tools/19.1.0", @@ -16492,7 +16399,7 @@ } }, "displayName": "Android SDK Build-Tools 20", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "build-tools", "path": "build-tools/20.0.0", @@ -16540,7 +16447,7 @@ } }, "displayName": "Android SDK Build-Tools 21", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "build-tools", "obsolete": "true", @@ -16589,7 +16496,7 @@ } }, "displayName": "Android SDK Build-Tools 21.0.1", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "build-tools", "obsolete": "true", @@ -16638,7 +16545,7 @@ } }, "displayName": "Android SDK Build-Tools 21.0.2", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "build-tools", "obsolete": "true", @@ -16687,7 +16594,7 @@ } }, "displayName": "Android SDK Build-Tools 21.1", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "build-tools", "obsolete": "true", @@ -16736,7 +16643,7 @@ } }, "displayName": "Android SDK Build-Tools 21.1.1", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "build-tools", "obsolete": "true", @@ -16785,7 +16692,7 @@ } }, "displayName": "Android SDK Build-Tools 21.1.2", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "build-tools", "path": "build-tools/21.1.2", @@ -16833,7 +16740,7 @@ } }, "displayName": "Android SDK Build-Tools 22", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "build-tools", "obsolete": "true", @@ -16882,7 +16789,7 @@ } }, "displayName": "Android SDK Build-Tools 22.0.1", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "build-tools", "path": "build-tools/22.0.1", @@ -16930,7 +16837,7 @@ } }, "displayName": "Android SDK Build-Tools 23", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "build-tools", "obsolete": "true", @@ -16979,7 +16886,7 @@ } }, "displayName": "Android SDK Build-Tools 23.0.1", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "build-tools", "path": "build-tools/23.0.1", @@ -17027,7 +16934,7 @@ } }, "displayName": "Android SDK Build-Tools 23.0.2", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "build-tools", "path": "build-tools/23.0.2", @@ -17075,7 +16982,7 @@ } }, "displayName": "Android SDK Build-Tools 23.0.3", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "build-tools", "path": "build-tools/23.0.3", @@ -17123,7 +17030,7 @@ } }, "displayName": "Android SDK Build-Tools 24", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "build-tools", "path": "build-tools/24.0.0", @@ -17171,7 +17078,7 @@ } }, "displayName": "Android SDK Build-Tools 24.0.1", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "build-tools", "path": "build-tools/24.0.1", @@ -17219,7 +17126,7 @@ } }, "displayName": "Android SDK Build-Tools 24.0.2", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "build-tools", "path": "build-tools/24.0.2", @@ -17267,7 +17174,7 @@ } }, "displayName": "Android SDK Build-Tools 24.0.3", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "build-tools", "path": "build-tools/24.0.3", @@ -17315,7 +17222,7 @@ } }, "displayName": "Android SDK Build-Tools 25", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "build-tools", "path": "build-tools/25.0.0", @@ -17363,7 +17270,7 @@ } }, "displayName": "Android SDK Build-Tools 25.0.1", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "build-tools", "path": "build-tools/25.0.1", @@ -17411,7 +17318,7 @@ } }, "displayName": "Android SDK Build-Tools 25.0.2", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "build-tools", "path": "build-tools/25.0.2", @@ -17459,7 +17366,7 @@ } }, "displayName": "Android SDK Build-Tools 25.0.3", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "build-tools", "path": "build-tools/25.0.3", @@ -17507,7 +17414,7 @@ } }, "displayName": "Android SDK Build-Tools 26", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "build-tools", "path": "build-tools/26.0.0", @@ -17555,7 +17462,7 @@ } }, "displayName": "Android SDK Build-Tools 26.0.1", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "build-tools", "path": "build-tools/26.0.1", @@ -17603,7 +17510,7 @@ } }, "displayName": "Android SDK Build-Tools 26.0.2", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "build-tools", "path": "build-tools/26.0.2", @@ -17651,7 +17558,7 @@ } }, "displayName": "Android SDK Build-Tools 26.0.3", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "build-tools", "path": "build-tools/26.0.3", @@ -17699,7 +17606,7 @@ } }, "displayName": "Android SDK Build-Tools 27", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "build-tools", "path": "build-tools/27.0.0", @@ -17747,7 +17654,7 @@ } }, "displayName": "Android SDK Build-Tools 27.0.1", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "build-tools", "path": "build-tools/27.0.1", @@ -17795,7 +17702,7 @@ } }, "displayName": "Android SDK Build-Tools 27.0.2", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "build-tools", "path": "build-tools/27.0.2", @@ -17843,7 +17750,7 @@ } }, "displayName": "Android SDK Build-Tools 27.0.3", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "build-tools", "path": "build-tools/27.0.3", @@ -17891,7 +17798,7 @@ } }, "displayName": "Android SDK Build-Tools 28", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "build-tools", "path": "build-tools/28.0.0", @@ -17939,7 +17846,7 @@ } }, "displayName": "Android SDK Build-Tools 28-rc1", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-preview-license", "name": "build-tools", "obsolete": "true", @@ -17989,7 +17896,7 @@ } }, "displayName": "Android SDK Build-Tools 28-rc2", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-preview-license", "name": "build-tools", "obsolete": "true", @@ -18039,7 +17946,7 @@ } }, "displayName": "Android SDK Build-Tools 28.0.1", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "build-tools", "path": "build-tools/28.0.1", @@ -18087,7 +17994,7 @@ } }, "displayName": "Android SDK Build-Tools 28.0.2", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "build-tools", "path": "build-tools/28.0.2", @@ -18135,7 +18042,7 @@ } }, "displayName": "Android SDK Build-Tools 28.0.3", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "build-tools", "path": "build-tools/28.0.3", @@ -18183,7 +18090,7 @@ } }, "displayName": "Android SDK Build-Tools 29", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "build-tools", "path": "build-tools/29.0.0", @@ -18231,7 +18138,7 @@ } }, "displayName": "Android SDK Build-Tools 29-rc1", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-preview-license", "name": "build-tools", "obsolete": "true", @@ -18281,7 +18188,7 @@ } }, "displayName": "Android SDK Build-Tools 29-rc2", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-preview-license", "name": "build-tools", "obsolete": "true", @@ -18331,7 +18238,7 @@ } }, "displayName": "Android SDK Build-Tools 29-rc3", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-preview-license", "name": "build-tools", "obsolete": "true", @@ -18381,7 +18288,7 @@ } }, "displayName": "Android SDK Build-Tools 29.0.1", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "build-tools", "path": "build-tools/29.0.1", @@ -18429,7 +18336,7 @@ } }, "displayName": "Android SDK Build-Tools 29.0.2", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "build-tools", "path": "build-tools/29.0.2", @@ -18477,7 +18384,7 @@ } }, "displayName": "Android SDK Build-Tools 29.0.3", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "build-tools", "path": "build-tools/29.0.3", @@ -18525,7 +18432,7 @@ } }, "displayName": "Android SDK Build-Tools 30", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "build-tools", "path": "build-tools/30.0.0", @@ -18573,7 +18480,7 @@ } }, "displayName": "Android SDK Build-Tools 30.0.1", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "build-tools", "path": "build-tools/30.0.1", @@ -18621,7 +18528,7 @@ } }, "displayName": "Android SDK Build-Tools 30.0.2", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "build-tools", "path": "build-tools/30.0.2", @@ -18669,7 +18576,7 @@ } }, "displayName": "Android SDK Build-Tools 30.0.3", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "build-tools", "path": "build-tools/30.0.3", @@ -18710,7 +18617,7 @@ } ], "displayName": "Android SDK Build-Tools 31", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "build-tools", "path": "build-tools/31.0.0", @@ -18751,7 +18658,7 @@ } ], "displayName": "Android SDK Build-Tools 32", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "build-tools", "path": "build-tools/32.0.0", @@ -18792,7 +18699,7 @@ } ], "displayName": "Android SDK Build-Tools 32.1-rc1", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-preview-license", "name": "build-tools", "path": "build-tools/32.1.0-rc1", @@ -18834,7 +18741,7 @@ } ], "displayName": "Android SDK Build-Tools 33", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "build-tools", "path": "build-tools/33.0.0", @@ -18875,7 +18782,7 @@ } ], "displayName": "Android SDK Build-Tools 33.0.1", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "build-tools", "path": "build-tools/33.0.1", @@ -18916,7 +18823,7 @@ } ], "displayName": "Android SDK Build-Tools 33.0.2", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "build-tools", "path": "build-tools/33.0.2", @@ -18957,7 +18864,7 @@ } ], "displayName": "Android SDK Build-Tools 33.0.3", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "build-tools", "path": "build-tools/33.0.3", @@ -18998,7 +18905,7 @@ } ], "displayName": "Android SDK Build-Tools 34", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "build-tools", "path": "build-tools/34.0.0", @@ -19039,7 +18946,7 @@ } ], "displayName": "Android SDK Build-Tools 34-rc1", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-preview-license", "name": "build-tools", "path": "build-tools/34.0.0-rc1", @@ -19081,7 +18988,7 @@ } ], "displayName": "Android SDK Build-Tools 34-rc2", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-preview-license", "name": "build-tools", "path": "build-tools/34.0.0-rc2", @@ -19123,7 +19030,7 @@ } ], "displayName": "Android SDK Build-Tools 34-rc3", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-preview-license", "name": "build-tools", "path": "build-tools/34.0.0-rc3", @@ -19165,7 +19072,7 @@ } ], "displayName": "Android SDK Build-Tools 35", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "build-tools", "path": "build-tools/35.0.0", @@ -19206,7 +19113,7 @@ } ], "displayName": "Android SDK Build-Tools 35-rc1", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-preview-license", "name": "build-tools", "path": "build-tools/35.0.0-rc1", @@ -19248,7 +19155,7 @@ } ], "displayName": "Android SDK Build-Tools 35-rc2", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-preview-license", "name": "build-tools", "path": "build-tools/35.0.0-rc2", @@ -19290,7 +19197,7 @@ } ], "displayName": "Android SDK Build-Tools 35-rc3", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-preview-license", "name": "build-tools", "path": "build-tools/35.0.0-rc3", @@ -19332,7 +19239,7 @@ } ], "displayName": "Android SDK Build-Tools 35-rc4", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-preview-license", "name": "build-tools", "path": "build-tools/35.0.0-rc4", @@ -19374,7 +19281,7 @@ } ], "displayName": "Android SDK Build-Tools 35.0.1", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "build-tools", "path": "build-tools/35.0.1", @@ -19415,7 +19322,7 @@ } ], "displayName": "Android SDK Build-Tools 36", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "build-tools", "path": "build-tools/36.0.0", @@ -19456,7 +19363,7 @@ } ], "displayName": "Android SDK Build-Tools 36-rc1", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-preview-license", "name": "build-tools", "path": "build-tools/36.0.0-rc1", @@ -19498,7 +19405,7 @@ } ], "displayName": "Android SDK Build-Tools 36-rc3", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-preview-license", "name": "build-tools", "path": "build-tools/36.0.0-rc3", @@ -19540,7 +19447,7 @@ } ], "displayName": "Android SDK Build-Tools 36-rc4", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-preview-license", "name": "build-tools", "path": "build-tools/36.0.0-rc4", @@ -19582,7 +19489,7 @@ } ], "displayName": "Android SDK Build-Tools 36-rc5", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-preview-license", "name": "build-tools", "path": "build-tools/36.0.0-rc5", @@ -19624,7 +19531,7 @@ } ], "displayName": "Android SDK Build-Tools 36.1", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "build-tools", "path": "build-tools/36.1.0", @@ -19665,7 +19572,7 @@ } ], "displayName": "Android SDK Build-Tools 36.1-rc1", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-preview-license", "name": "build-tools", "path": "build-tools/36.1.0-rc1", @@ -19707,7 +19614,7 @@ } ], "displayName": "Android SDK Build-Tools 37", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "build-tools", "path": "build-tools/37.0.0", @@ -19748,7 +19655,7 @@ } ], "displayName": "Android SDK Build-Tools 37-rc1", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-preview-license", "name": "build-tools", "path": "build-tools/37.0.0-rc1", @@ -19790,7 +19697,7 @@ } ], "displayName": "Android SDK Build-Tools 37-rc2", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-preview-license", "name": "build-tools", "path": "build-tools/37.0.0-rc2", @@ -19841,7 +19748,7 @@ } ], "displayName": "CMake 3.10.2.4988404", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "cmake", "path": "cmake/3.10.2.4988404", @@ -19882,7 +19789,7 @@ } ], "displayName": "CMake 3.18.1", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "cmake", "path": "cmake/3.18.1", @@ -19923,7 +19830,7 @@ } ], "displayName": "CMake 3.22.1", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "cmake", "path": "cmake/3.22.1", @@ -19964,7 +19871,7 @@ } ], "displayName": "CMake 3.30.3", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "cmake", "path": "cmake/3.30.3", @@ -20005,7 +19912,7 @@ } ], "displayName": "CMake 3.30.4", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "cmake", "path": "cmake/3.30.4", @@ -20046,7 +19953,7 @@ } ], "displayName": "CMake 3.30.5", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "cmake", "path": "cmake/3.30.5", @@ -20087,7 +19994,7 @@ } ], "displayName": "CMake 3.31.0", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "cmake", "path": "cmake/3.31.0", @@ -20128,7 +20035,7 @@ } ], "displayName": "CMake 3.31.1", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "cmake", "path": "cmake/3.31.1", @@ -20169,7 +20076,7 @@ } ], "displayName": "CMake 3.31.4", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "cmake", "path": "cmake/3.31.4", @@ -20210,7 +20117,7 @@ } ], "displayName": "CMake 3.31.5", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "cmake", "path": "cmake/3.31.5", @@ -20251,7 +20158,7 @@ } ], "displayName": "CMake 3.31.6", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "cmake", "path": "cmake/3.31.6", @@ -20299,7 +20206,7 @@ } ], "displayName": "CMake 3.6.4111459", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "cmake", "path": "cmake/3.6.4111459", @@ -20340,7 +20247,7 @@ } ], "displayName": "CMake 4.0.2", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "cmake", "path": "cmake/4.0.2", @@ -20381,7 +20288,7 @@ } ], "displayName": "CMake 4.0.3", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "cmake", "path": "cmake/4.0.3", @@ -20422,7 +20329,7 @@ } ], "displayName": "CMake 4.1.0", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "cmake", "path": "cmake/4.1.0", @@ -20463,7 +20370,7 @@ } ], "displayName": "CMake 4.1.1", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "cmake", "path": "cmake/4.1.1", @@ -20504,7 +20411,7 @@ } ], "displayName": "CMake 4.1.2", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "cmake", "path": "cmake/4.1.2", @@ -20547,7 +20454,7 @@ } ], "displayName": "Android SDK Command-line Tools", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "cmdline-tools", "path": "cmdline-tools/1.0", @@ -20587,7 +20494,7 @@ } ], "displayName": "Android SDK Command-line Tools", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "cmdline-tools", "path": "cmdline-tools/10.0", @@ -20627,7 +20534,7 @@ } ], "displayName": "Android SDK Command-line Tools", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "cmdline-tools", "path": "cmdline-tools/11.0", @@ -20667,7 +20574,7 @@ } ], "displayName": "Android SDK Command-line Tools", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "cmdline-tools", "path": "cmdline-tools/12.0", @@ -20707,7 +20614,7 @@ } ], "displayName": "Android SDK Command-line Tools", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "cmdline-tools", "path": "cmdline-tools/13.0", @@ -20747,7 +20654,7 @@ } ], "displayName": "Android SDK Command-line Tools", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-preview-license", "name": "cmdline-tools", "path": "cmdline-tools/13.0-rc01", @@ -20788,7 +20695,7 @@ } ], "displayName": "Android SDK Command-line Tools", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-preview-license", "name": "cmdline-tools", "path": "cmdline-tools/14.0-alpha01", @@ -20829,7 +20736,7 @@ } ], "displayName": "Android SDK Command-line Tools", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "cmdline-tools", "path": "cmdline-tools/16.0", @@ -20869,7 +20776,7 @@ } ], "displayName": "Android SDK Command-line Tools", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-preview-license", "name": "cmdline-tools", "path": "cmdline-tools/16.0-alpha01", @@ -20910,7 +20817,7 @@ } ], "displayName": "Android SDK Command-line Tools", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "cmdline-tools", "path": "cmdline-tools/17.0", @@ -20950,7 +20857,7 @@ } ], "displayName": "Android SDK Command-line Tools", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "cmdline-tools", "path": "cmdline-tools/19.0", @@ -20990,7 +20897,7 @@ } ], "displayName": "Android SDK Command-line Tools", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-preview-license", "name": "cmdline-tools", "path": "cmdline-tools/19.0-alpha01", @@ -21031,7 +20938,7 @@ } ], "displayName": "Android SDK Command-line Tools", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "cmdline-tools", "obsolete": "true", @@ -21072,7 +20979,7 @@ } ], "displayName": "Android SDK Command-line Tools", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "cmdline-tools", "path": "cmdline-tools/2.1", @@ -21112,7 +21019,7 @@ } ], "displayName": "Android SDK Command-line Tools", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "cmdline-tools", "path": "cmdline-tools/20.0", @@ -21152,7 +21059,7 @@ } ], "displayName": "Android SDK Command-line Tools", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "cmdline-tools", "path": "cmdline-tools/3.0", @@ -21192,7 +21099,7 @@ } ], "displayName": "Android SDK Command-line Tools", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "cmdline-tools", "path": "cmdline-tools/4.0", @@ -21232,7 +21139,7 @@ } ], "displayName": "Android SDK Command-line Tools", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "cmdline-tools", "path": "cmdline-tools/5.0", @@ -21272,7 +21179,7 @@ } ], "displayName": "Android SDK Command-line Tools", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "cmdline-tools", "path": "cmdline-tools/6.0", @@ -21312,7 +21219,7 @@ } ], "displayName": "Android SDK Command-line Tools", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "cmdline-tools", "path": "cmdline-tools/7.0", @@ -21352,7 +21259,7 @@ } ], "displayName": "Android SDK Command-line Tools", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "cmdline-tools", "path": "cmdline-tools/8.0", @@ -21392,7 +21299,7 @@ } ], "displayName": "Android SDK Command-line Tools", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "cmdline-tools", "path": "cmdline-tools/9.0", @@ -22725,7 +22632,7 @@ } ], "displayName": "Android Emulator", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "emulator", "path": "emulator", @@ -22788,6 +22695,54 @@ "xsi:type": "ns5:genericDetailsType" } } + }, + "36.6.3": { + "archives": [ + { + "arch": "x64", + "os": "linux", + "sha1": "4d1ddbbcc6d708fd933b08931163182e0e205ad0", + "size": 347008218, + "url": "https://dl.google.com/android/repository/emulator-linux_x64-15142779.zip" + }, + { + "arch": "x64", + "os": "macosx", + "sha1": "a3718deefc7d16ef3376626807cebcadb73ca5f4", + "size": 462646251, + "url": "https://dl.google.com/android/repository/emulator-darwin_x64-15142779.zip" + }, + { + "arch": "aarch64", + "os": "macosx", + "sha1": "a46e8160288ff40dd2768536fa70f2d5f13a67ce", + "size": 396370301, + "url": "https://dl.google.com/android/repository/emulator-darwin_aarch64-15142779.zip" + }, + { + "arch": "x64", + "os": "windows", + "sha1": "8f5ff31b854cf4f9eaf15c1b571148240edfcaf4", + "size": 428894868, + "url": "https://dl.google.com/android/repository/emulator-windows_x64-15142779.zip" + } + ], + "displayName": "Android Emulator", + "last-available-day": 20552, + "license": "android-sdk-preview-license", + "name": "emulator", + "path": "emulator", + "revision": "36.6.3", + "revision-details": { + "major:0": "36", + "micro:2": "3", + "minor:1": "6" + }, + "type-details": { + "element-attributes": { + "xsi:type": "ns5:genericDetailsType" + } + } } }, "extras": { @@ -22913,7 +22868,7 @@ } }, "displayName": "NDK (Side by side) 16.1.4479499", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "ndk", "path": "ndk/16.1.4479499", @@ -22975,7 +22930,7 @@ } }, "displayName": "NDK (Side by side) 17.2.4988734", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "ndk", "path": "ndk/17.2.4988734", @@ -23037,7 +22992,7 @@ } }, "displayName": "NDK (Side by side) 18.1.5063045", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "ndk", "path": "ndk/18.1.5063045", @@ -23099,7 +23054,7 @@ } }, "displayName": "NDK (Side by side) 19.0.5232133", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "ndk", "obsolete": "true", @@ -23162,7 +23117,7 @@ } }, "displayName": "NDK (Side by side) 19.2.5345600", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "ndk", "path": "ndk/19.2.5345600", @@ -23224,7 +23179,7 @@ } }, "displayName": "NDK (Side by side) 20.0.5392854", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-preview-license", "name": "ndk", "obsolete": "true", @@ -23288,7 +23243,7 @@ } }, "displayName": "NDK (Side by side) 20.0.5471264", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-preview-license", "name": "ndk", "obsolete": "true", @@ -23352,7 +23307,7 @@ } }, "displayName": "NDK (Side by side) 20.0.5594570", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "ndk", "path": "ndk/20.0.5594570", @@ -23414,7 +23369,7 @@ } }, "displayName": "NDK (Side by side) 20.1.5948944", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "ndk", "path": "ndk/20.1.5948944", @@ -23462,7 +23417,7 @@ } }, "displayName": "NDK (Side by side) 21.0.6011959", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-preview-license", "name": "ndk", "path": "ndk/21.0.6011959", @@ -23511,7 +23466,7 @@ } }, "displayName": "NDK (Side by side) 21.0.6113669", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "ndk", "path": "ndk/21.0.6113669", @@ -23559,7 +23514,7 @@ } }, "displayName": "NDK (Side by side) 21.1.6210238", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-preview-license", "name": "ndk", "path": "ndk/21.1.6210238", @@ -23615,7 +23570,7 @@ } }, "displayName": "NDK (Side by side) 21.1.6273396", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-preview-license", "name": "ndk", "path": "ndk/21.1.6273396", @@ -23671,7 +23626,7 @@ } }, "displayName": "NDK (Side by side) 21.1.6352462", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "ndk", "path": "ndk/21.1.6352462", @@ -23726,7 +23681,7 @@ } }, "displayName": "NDK (Side by side) 21.1.6363665", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-preview-license", "name": "ndk", "path": "ndk/21.1.6363665", @@ -23782,7 +23737,7 @@ } }, "displayName": "NDK (Side by side) 21.2.6472646", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "ndk", "path": "ndk/21.2.6472646", @@ -23837,7 +23792,7 @@ } }, "displayName": "NDK (Side by side) 21.3.6528147", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "ndk", "path": "ndk/21.3.6528147", @@ -23892,7 +23847,7 @@ } }, "displayName": "NDK (Side by side) 21.4.7075529", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "ndk", "path": "ndk/21.4.7075529", @@ -23947,7 +23902,7 @@ } }, "displayName": "NDK (Side by side) 22.0.6917172", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-preview-license", "name": "ndk", "path": "ndk/22.0.6917172", @@ -24003,7 +23958,7 @@ } }, "displayName": "NDK (Side by side) 22.0.7026061", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "ndk", "path": "ndk/22.0.7026061", @@ -24058,7 +24013,7 @@ } }, "displayName": "NDK (Side by side) 22.1.7171670", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "ndk", "path": "ndk/22.1.7171670", @@ -24113,7 +24068,7 @@ } }, "displayName": "NDK (Side by side) 23.0.7123448", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-preview-license", "name": "ndk", "path": "ndk/23.0.7123448", @@ -24169,7 +24124,7 @@ } }, "displayName": "NDK (Side by side) 23.0.7196353", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-preview-license", "name": "ndk", "path": "ndk/23.0.7196353", @@ -24225,7 +24180,7 @@ } }, "displayName": "NDK (Side by side) 23.0.7272597", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-preview-license", "name": "ndk", "path": "ndk/23.0.7272597", @@ -24281,7 +24236,7 @@ } }, "displayName": "NDK (Side by side) 23.0.7344513", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-preview-license", "name": "ndk", "path": "ndk/23.0.7344513", @@ -24330,7 +24285,7 @@ } }, "displayName": "NDK (Side by side) 23.0.7421159", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-preview-license", "name": "ndk", "path": "ndk/23.0.7421159", @@ -24379,7 +24334,7 @@ } }, "displayName": "NDK (Side by side) 23.0.7530507", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-preview-license", "name": "ndk", "path": "ndk/23.0.7530507", @@ -24428,7 +24383,7 @@ } }, "displayName": "NDK (Side by side) 23.0.7599858", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "ndk", "path": "ndk/23.0.7599858", @@ -24476,7 +24431,7 @@ } }, "displayName": "NDK (Side by side) 23.1.7779620", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "ndk", "path": "ndk/23.1.7779620", @@ -24524,7 +24479,7 @@ } }, "displayName": "NDK (Side by side) 23.2.8568313", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "ndk", "path": "ndk/23.2.8568313", @@ -24572,7 +24527,7 @@ } }, "displayName": "NDK (Side by side) 24.0.7856742", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-preview-license", "name": "ndk", "path": "ndk/24.0.7856742", @@ -24621,7 +24576,7 @@ } }, "displayName": "NDK (Side by side) 24.0.7956693", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-preview-license", "name": "ndk", "path": "ndk/24.0.7956693", @@ -24670,7 +24625,7 @@ } }, "displayName": "NDK (Side by side) 24.0.8079956", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-preview-license", "name": "ndk", "path": "ndk/24.0.8079956", @@ -24719,7 +24674,7 @@ } }, "displayName": "NDK (Side by side) 24.0.8215888", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "ndk", "path": "ndk/24.0.8215888", @@ -24767,7 +24722,7 @@ } }, "displayName": "NDK (Side by side) 25.0.8151533", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-preview-license", "name": "ndk", "path": "ndk/25.0.8151533", @@ -24816,7 +24771,7 @@ } }, "displayName": "NDK (Side by side) 25.0.8221429", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-preview-license", "name": "ndk", "path": "ndk/25.0.8221429", @@ -24865,7 +24820,7 @@ } }, "displayName": "NDK (Side by side) 25.0.8355429", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-preview-license", "name": "ndk", "path": "ndk/25.0.8355429", @@ -24914,7 +24869,7 @@ } }, "displayName": "NDK (Side by side) 25.0.8528842", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-preview-license", "name": "ndk", "path": "ndk/25.0.8528842", @@ -24963,7 +24918,7 @@ } }, "displayName": "NDK (Side by side) 25.0.8775105", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "ndk", "path": "ndk/25.0.8775105", @@ -25011,7 +24966,7 @@ } }, "displayName": "NDK (Side by side) 25.1.8937393", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "ndk", "path": "ndk/25.1.8937393", @@ -25059,7 +25014,7 @@ } }, "displayName": "NDK (Side by side) 25.2.9519653", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "ndk", "path": "ndk/25.2.9519653", @@ -25107,7 +25062,7 @@ } }, "displayName": "NDK (Side by side) 26.0.10404224", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-preview-license", "name": "ndk", "path": "ndk/26.0.10404224", @@ -25149,7 +25104,7 @@ } ], "displayName": "NDK (Side by side) 26.0.10636728", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-preview-license", "name": "ndk", "path": "ndk/26.0.10636728", @@ -25191,7 +25146,7 @@ } ], "displayName": "NDK (Side by side) 26.0.10792818", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "ndk", "path": "ndk/26.0.10792818", @@ -25232,7 +25187,7 @@ } ], "displayName": "NDK (Side by side) 26.1.10909125", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "ndk", "path": "ndk/26.1.10909125", @@ -25273,7 +25228,7 @@ } ], "displayName": "NDK (Side by side) 26.2.11394342", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "ndk", "path": "ndk/26.2.11394342", @@ -25314,7 +25269,7 @@ } ], "displayName": "NDK (Side by side) 26.3.11579264", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "ndk", "path": "ndk/26.3.11579264", @@ -25355,7 +25310,7 @@ } ], "displayName": "NDK (Side by side) 27.0.11718014", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-preview-license", "name": "ndk", "path": "ndk/27.0.11718014", @@ -25397,7 +25352,7 @@ } ], "displayName": "NDK (Side by side) 27.0.11902837", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-preview-license", "name": "ndk", "path": "ndk/27.0.11902837", @@ -25439,7 +25394,7 @@ } ], "displayName": "NDK (Side by side) 27.0.12077973", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "ndk", "path": "ndk/27.0.12077973", @@ -25480,7 +25435,7 @@ } ], "displayName": "NDK (Side by side) 27.1.12297006", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "ndk", "path": "ndk/27.1.12297006", @@ -25521,7 +25476,7 @@ } ], "displayName": "NDK (Side by side) 27.2.12479018", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "ndk", "path": "ndk/27.2.12479018", @@ -25562,7 +25517,7 @@ } ], "displayName": "NDK (Side by side) 27.3.13750724", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "ndk", "path": "ndk/27.3.13750724", @@ -25603,7 +25558,7 @@ } ], "displayName": "NDK (Side by side) 28.0.12433566", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-preview-license", "name": "ndk", "path": "ndk/28.0.12433566", @@ -25645,7 +25600,7 @@ } ], "displayName": "NDK (Side by side) 28.0.12674087", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-preview-license", "name": "ndk", "path": "ndk/28.0.12674087", @@ -25687,7 +25642,7 @@ } ], "displayName": "NDK (Side by side) 28.0.12916984", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-preview-license", "name": "ndk", "path": "ndk/28.0.12916984", @@ -25729,7 +25684,7 @@ } ], "displayName": "NDK (Side by side) 28.0.13004108", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "ndk", "path": "ndk/28.0.13004108", @@ -25770,7 +25725,7 @@ } ], "displayName": "NDK (Side by side) 28.1.13356709", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "ndk", "path": "ndk/28.1.13356709", @@ -25811,7 +25766,7 @@ } ], "displayName": "NDK (Side by side) 28.2.13676358", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "ndk", "path": "ndk/28.2.13676358", @@ -25852,7 +25807,7 @@ } ], "displayName": "NDK (Side by side) 29.0.13113456", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-preview-license", "name": "ndk", "path": "ndk/29.0.13113456", @@ -25894,7 +25849,7 @@ } ], "displayName": "NDK (Side by side) 29.0.13599879", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-preview-license", "name": "ndk", "path": "ndk/29.0.13599879", @@ -25936,7 +25891,7 @@ } ], "displayName": "NDK (Side by side) 29.0.13846066", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-preview-license", "name": "ndk", "path": "ndk/29.0.13846066", @@ -25978,7 +25933,7 @@ } ], "displayName": "NDK (Side by side) 29.0.14033849", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-preview-license", "name": "ndk", "path": "ndk/29.0.14033849", @@ -26020,7 +25975,7 @@ } ], "displayName": "NDK (Side by side) 29.0.14206865", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "ndk", "path": "ndk/29.0.14206865", @@ -26061,7 +26016,7 @@ } ], "displayName": "NDK (Side by side) 30.0.14904198", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-preview-license", "name": "ndk", "path": "ndk/30.0.14904198", @@ -26126,7 +26081,7 @@ } }, "displayName": "NDK", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "ndk-bundle", "path": "ndk-bundle", @@ -26188,7 +26143,7 @@ } }, "displayName": "NDK", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "ndk-bundle", "path": "ndk-bundle", @@ -26250,7 +26205,7 @@ } }, "displayName": "NDK", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "ndk-bundle", "path": "ndk-bundle", @@ -26312,7 +26267,7 @@ } }, "displayName": "NDK", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "ndk-bundle", "obsolete": "true", @@ -26375,7 +26330,7 @@ } }, "displayName": "NDK", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "ndk-bundle", "path": "ndk-bundle", @@ -26437,7 +26392,7 @@ } }, "displayName": "NDK", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-preview-license", "name": "ndk-bundle", "obsolete": "true", @@ -26501,7 +26456,7 @@ } }, "displayName": "NDK", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-preview-license", "name": "ndk-bundle", "obsolete": "true", @@ -26565,7 +26520,7 @@ } }, "displayName": "NDK", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "ndk-bundle", "path": "ndk-bundle", @@ -26627,7 +26582,7 @@ } }, "displayName": "NDK", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "ndk-bundle", "path": "ndk-bundle", @@ -26675,7 +26630,7 @@ } }, "displayName": "NDK", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-preview-license", "name": "ndk-bundle", "path": "ndk-bundle", @@ -26724,7 +26679,7 @@ } }, "displayName": "NDK", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "ndk-bundle", "path": "ndk-bundle", @@ -26772,7 +26727,7 @@ } }, "displayName": "NDK", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-preview-license", "name": "ndk-bundle", "path": "ndk-bundle", @@ -26828,7 +26783,7 @@ } }, "displayName": "NDK", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-preview-license", "name": "ndk-bundle", "path": "ndk-bundle", @@ -26884,7 +26839,7 @@ } }, "displayName": "NDK", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "ndk-bundle", "path": "ndk-bundle", @@ -26939,7 +26894,7 @@ } }, "displayName": "NDK", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-preview-license", "name": "ndk-bundle", "path": "ndk-bundle", @@ -26995,7 +26950,7 @@ } }, "displayName": "NDK", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "ndk-bundle", "path": "ndk-bundle", @@ -27050,7 +27005,7 @@ } }, "displayName": "NDK", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "ndk-bundle", "path": "ndk-bundle", @@ -27105,7 +27060,7 @@ } }, "displayName": "NDK", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "ndk-bundle", "path": "ndk-bundle", @@ -27160,7 +27115,7 @@ } }, "displayName": "NDK", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-preview-license", "name": "ndk-bundle", "path": "ndk-bundle", @@ -27216,7 +27171,7 @@ } }, "displayName": "NDK", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "ndk-bundle", "path": "ndk-bundle", @@ -27271,7 +27226,7 @@ } }, "displayName": "NDK", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "ndk-bundle", "path": "ndk-bundle", @@ -27326,7 +27281,7 @@ } }, "displayName": "NDK", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-preview-license", "name": "ndk-bundle", "path": "ndk-bundle", @@ -27382,7 +27337,7 @@ } }, "displayName": "NDK", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-preview-license", "name": "ndk-bundle", "path": "ndk-bundle", @@ -27438,7 +27393,7 @@ } }, "displayName": "NDK", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-preview-license", "name": "ndk-bundle", "path": "ndk-bundle", @@ -27494,7 +27449,7 @@ } }, "displayName": "NDK", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-preview-license", "name": "ndk-bundle", "path": "ndk-bundle", @@ -27512,8 +27467,7 @@ } } }, - "patcher": { - }, + "patcher": {}, "platform-tools": { "35.0.1": { "archives": [ @@ -27742,7 +27696,7 @@ } ], "displayName": "Android SDK Platform-Tools", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "platform-tools", "path": "platform-tools", @@ -27771,7 +27725,7 @@ } ], "displayName": "Android SDK Platform 10", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "platforms", "path": "platforms/android-10", @@ -27782,8 +27736,7 @@ "type-details": { "api-level:0": "10", "base-extension:2": "true", - "codename:1": { - }, + "codename:1": {}, "element-attributes": { "xsi:type": "ns11:platformDetailsType" }, @@ -27810,7 +27763,7 @@ } ], "displayName": "Android SDK Platform 11", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "platforms", "path": "platforms/android-11", @@ -27821,8 +27774,7 @@ "type-details": { "api-level:0": "11", "base-extension:2": "true", - "codename:1": { - }, + "codename:1": {}, "element-attributes": { "xsi:type": "ns11:platformDetailsType" }, @@ -27849,7 +27801,7 @@ } ], "displayName": "Android SDK Platform 12", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "platforms", "path": "platforms/android-12", @@ -27860,8 +27812,7 @@ "type-details": { "api-level:0": "12", "base-extension:2": "true", - "codename:1": { - }, + "codename:1": {}, "element-attributes": { "xsi:type": "ns11:platformDetailsType" }, @@ -27888,7 +27839,7 @@ } ], "displayName": "Android SDK Platform 13", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "platforms", "path": "platforms/android-13", @@ -27899,8 +27850,7 @@ "type-details": { "api-level:0": "13", "base-extension:2": "true", - "codename:1": { - }, + "codename:1": {}, "element-attributes": { "xsi:type": "ns11:platformDetailsType" }, @@ -27927,7 +27877,7 @@ } ], "displayName": "Android SDK Platform 14", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "platforms", "path": "platforms/android-14", @@ -27938,8 +27888,7 @@ "type-details": { "api-level:0": "14", "base-extension:2": "true", - "codename:1": { - }, + "codename:1": {}, "element-attributes": { "xsi:type": "ns11:platformDetailsType" }, @@ -27966,7 +27915,7 @@ } ], "displayName": "Android SDK Platform 15", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "platforms", "path": "platforms/android-15", @@ -27977,8 +27926,7 @@ "type-details": { "api-level:0": "15", "base-extension:2": "true", - "codename:1": { - }, + "codename:1": {}, "element-attributes": { "xsi:type": "ns11:platformDetailsType" }, @@ -28005,7 +27953,7 @@ } ], "displayName": "Android SDK Platform 16", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "platforms", "path": "platforms/android-16", @@ -28016,8 +27964,7 @@ "type-details": { "api-level:0": "16", "base-extension:2": "true", - "codename:1": { - }, + "codename:1": {}, "element-attributes": { "xsi:type": "ns11:platformDetailsType" }, @@ -28044,7 +27991,7 @@ } ], "displayName": "Android SDK Platform 17", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "platforms", "path": "platforms/android-17", @@ -28055,8 +28002,7 @@ "type-details": { "api-level:0": "17", "base-extension:2": "true", - "codename:1": { - }, + "codename:1": {}, "element-attributes": { "xsi:type": "ns11:platformDetailsType" }, @@ -28083,7 +28029,7 @@ } ], "displayName": "Android SDK Platform 18", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "platforms", "path": "platforms/android-18", @@ -28094,8 +28040,7 @@ "type-details": { "api-level:0": "18", "base-extension:2": "true", - "codename:1": { - }, + "codename:1": {}, "element-attributes": { "xsi:type": "ns11:platformDetailsType" }, @@ -28122,7 +28067,7 @@ } ], "displayName": "Android SDK Platform 19", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "platforms", "path": "platforms/android-19", @@ -28133,8 +28078,7 @@ "type-details": { "api-level:0": "19", "base-extension:2": "true", - "codename:1": { - }, + "codename:1": {}, "element-attributes": { "xsi:type": "ns11:platformDetailsType" }, @@ -28175,7 +28119,7 @@ } ], "displayName": "Android SDK Platform 2", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "platforms", "obsolete": "true", @@ -28187,8 +28131,7 @@ "type-details": { "api-level:0": "2", "base-extension:2": "true", - "codename:1": { - }, + "codename:1": {}, "element-attributes": { "xsi:type": "ns11:platformDetailsType" }, @@ -28215,7 +28158,7 @@ } ], "displayName": "Android SDK Platform 20", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "platforms", "path": "platforms/android-20", @@ -28226,8 +28169,7 @@ "type-details": { "api-level:0": "20", "base-extension:2": "true", - "codename:1": { - }, + "codename:1": {}, "element-attributes": { "xsi:type": "ns11:platformDetailsType" }, @@ -28254,7 +28196,7 @@ } ], "displayName": "Android SDK Platform 21", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "platforms", "path": "platforms/android-21", @@ -28265,8 +28207,7 @@ "type-details": { "api-level:0": "21", "base-extension:2": "true", - "codename:1": { - }, + "codename:1": {}, "element-attributes": { "xsi:type": "ns11:platformDetailsType" }, @@ -28293,7 +28234,7 @@ } ], "displayName": "Android SDK Platform 22", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "platforms", "path": "platforms/android-22", @@ -28304,8 +28245,7 @@ "type-details": { "api-level:0": "22", "base-extension:2": "true", - "codename:1": { - }, + "codename:1": {}, "element-attributes": { "xsi:type": "ns11:platformDetailsType" }, @@ -28332,7 +28272,7 @@ } ], "displayName": "Android SDK Platform 23", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "platforms", "path": "platforms/android-23", @@ -28343,8 +28283,7 @@ "type-details": { "api-level:0": "23", "base-extension:2": "true", - "codename:1": { - }, + "codename:1": {}, "element-attributes": { "xsi:type": "ns11:platformDetailsType" }, @@ -28371,7 +28310,7 @@ } ], "displayName": "Android SDK Platform 24", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "platforms", "path": "platforms/android-24", @@ -28382,8 +28321,7 @@ "type-details": { "api-level:0": "24", "base-extension:2": "true", - "codename:1": { - }, + "codename:1": {}, "element-attributes": { "xsi:type": "ns11:platformDetailsType" }, @@ -28410,7 +28348,7 @@ } ], "displayName": "Android SDK Platform 25", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "platforms", "path": "platforms/android-25", @@ -28421,8 +28359,7 @@ "type-details": { "api-level:0": "25", "base-extension:2": "true", - "codename:1": { - }, + "codename:1": {}, "element-attributes": { "xsi:type": "ns11:platformDetailsType" }, @@ -28449,7 +28386,7 @@ } ], "displayName": "Android SDK Platform 26", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "platforms", "path": "platforms/android-26", @@ -28460,8 +28397,7 @@ "type-details": { "api-level:0": "26", "base-extension:2": "true", - "codename:1": { - }, + "codename:1": {}, "element-attributes": { "xsi:type": "ns11:platformDetailsType" }, @@ -28488,7 +28424,7 @@ } ], "displayName": "Android SDK Platform 27", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "platforms", "path": "platforms/android-27", @@ -28499,8 +28435,7 @@ "type-details": { "api-level:0": "27", "base-extension:2": "true", - "codename:1": { - }, + "codename:1": {}, "element-attributes": { "xsi:type": "ns11:platformDetailsType" }, @@ -28527,7 +28462,7 @@ } ], "displayName": "Android SDK Platform 28", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "platforms", "path": "platforms/android-28", @@ -28538,8 +28473,7 @@ "type-details": { "api-level:0": "28", "base-extension:2": "true", - "codename:1": { - }, + "codename:1": {}, "element-attributes": { "xsi:type": "ns11:platformDetailsType" }, @@ -28566,7 +28500,7 @@ } ], "displayName": "Android SDK Platform 29", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "platforms", "path": "platforms/android-29", @@ -28577,8 +28511,7 @@ "type-details": { "api-level:0": "29", "base-extension:2": "true", - "codename:1": { - }, + "codename:1": {}, "element-attributes": { "xsi:type": "ns11:platformDetailsType" }, @@ -28619,7 +28552,7 @@ } ], "displayName": "Android SDK Platform 3", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "platforms", "obsolete": "true", @@ -28631,8 +28564,7 @@ "type-details": { "api-level:0": "3", "base-extension:2": "true", - "codename:1": { - }, + "codename:1": {}, "element-attributes": { "xsi:type": "ns11:platformDetailsType" }, @@ -28659,7 +28591,7 @@ } ], "displayName": "Android SDK Platform 30", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "platforms", "path": "platforms/android-30", @@ -28670,8 +28602,7 @@ "type-details": { "api-level:0": "30", "base-extension:2": "true", - "codename:1": { - }, + "codename:1": {}, "element-attributes": { "xsi:type": "ns11:platformDetailsType" }, @@ -28698,7 +28629,7 @@ } ], "displayName": "Android SDK Platform 31", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "platforms", "path": "platforms/android-31", @@ -28709,8 +28640,7 @@ "type-details": { "api-level:0": "31", "base-extension:2": "true", - "codename:1": { - }, + "codename:1": {}, "element-attributes": { "xsi:type": "ns11:platformDetailsType" }, @@ -28737,7 +28667,7 @@ } ], "displayName": "Android SDK Platform 32", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "platforms", "path": "platforms/android-32", @@ -28748,8 +28678,7 @@ "type-details": { "api-level:0": "32", "base-extension:2": "true", - "codename:1": { - }, + "codename:1": {}, "element-attributes": { "xsi:type": "ns11:platformDetailsType" }, @@ -28776,7 +28705,7 @@ } ], "displayName": "Android SDK Platform 33", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "platforms", "path": "platforms/android-33", @@ -28787,8 +28716,7 @@ "type-details": { "api-level:0": "33", "base-extension:3": "true", - "codename:1": { - }, + "codename:1": {}, "element-attributes": { "xsi:type": "ns11:platformDetailsType" }, @@ -28816,7 +28744,7 @@ } ], "displayName": "Android SDK Platform 33-ext5", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "platforms", "path": "platforms/android-33-ext5", @@ -28827,8 +28755,7 @@ "type-details": { "api-level:0": "33x", "base-extension:3": "false", - "codename:1": { - }, + "codename:1": {}, "element-attributes": { "xsi:type": "ns11:platformDetailsType" }, @@ -28851,7 +28778,7 @@ } ], "displayName": "Android SDK Platform 34", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "platforms", "obsolete": "true", @@ -28863,8 +28790,7 @@ "type-details": { "api-level:0": "34", "base-extension:3": "true", - "codename:1": { - }, + "codename:1": {}, "element-attributes": { "xsi:type": "ns11:platformDetailsType" }, @@ -28897,7 +28823,7 @@ } ], "displayName": "Android SDK Platform 34-ext12", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "platforms", "path": "platforms/android-34-ext12", @@ -28930,7 +28856,7 @@ } ], "displayName": "Android SDK Platform 35", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "platforms", "path": "platforms/android-35", @@ -28968,7 +28894,7 @@ } ], "displayName": "Android SDK Platform 35-ext15", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "platforms", "path": "platforms/android-35-ext15", @@ -29001,7 +28927,7 @@ } ], "displayName": "Android SDK Platform 36", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "platforms", "path": "platforms/android-36", @@ -29034,7 +28960,7 @@ } ], "displayName": "Android SDK Platform 36.1", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "platforms", "path": "platforms/android-36.1", @@ -29067,7 +28993,7 @@ } ], "displayName": "Android SDK Platform 36-ext19", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "platforms", "path": "platforms/android-36-ext19", @@ -29100,7 +29026,7 @@ } ], "displayName": "Android SDK Platform 37.0", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "platforms", "path": "platforms/android-37.0", @@ -29111,8 +29037,7 @@ "type-details": { "api-level:0": "37.0", "base-extension:3": "true", - "codename:1": { - }, + "codename:1": {}, "element-attributes": { "xsi:type": "ns11:platformDetailsType" }, @@ -29149,7 +29074,7 @@ } ], "displayName": "Android SDK Platform 4", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "platforms", "obsolete": "true", @@ -29161,8 +29086,7 @@ "type-details": { "api-level:0": "4", "base-extension:2": "true", - "codename:1": { - }, + "codename:1": {}, "element-attributes": { "xsi:type": "ns11:platformDetailsType" }, @@ -29203,7 +29127,7 @@ } ], "displayName": "Android SDK Platform 5", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "platforms", "obsolete": "true", @@ -29215,8 +29139,7 @@ "type-details": { "api-level:0": "5", "base-extension:2": "true", - "codename:1": { - }, + "codename:1": {}, "element-attributes": { "xsi:type": "ns11:platformDetailsType" }, @@ -29257,7 +29180,7 @@ } ], "displayName": "Android SDK Platform 6", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "platforms", "obsolete": "true", @@ -29269,8 +29192,7 @@ "type-details": { "api-level:0": "6", "base-extension:2": "true", - "codename:1": { - }, + "codename:1": {}, "element-attributes": { "xsi:type": "ns11:platformDetailsType" }, @@ -29297,7 +29219,7 @@ } ], "displayName": "Android SDK Platform 7", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "platforms", "path": "platforms/android-7", @@ -29308,8 +29230,7 @@ "type-details": { "api-level:0": "7", "base-extension:2": "true", - "codename:1": { - }, + "codename:1": {}, "element-attributes": { "xsi:type": "ns11:platformDetailsType" }, @@ -29336,7 +29257,7 @@ } ], "displayName": "Android SDK Platform 8", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "platforms", "path": "platforms/android-8", @@ -29347,8 +29268,7 @@ "type-details": { "api-level:0": "8", "base-extension:2": "true", - "codename:1": { - }, + "codename:1": {}, "element-attributes": { "xsi:type": "ns11:platformDetailsType" }, @@ -29375,7 +29295,7 @@ } ], "displayName": "Android SDK Platform 9", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "platforms", "path": "platforms/android-9", @@ -29386,8 +29306,7 @@ "type-details": { "api-level:0": "9", "base-extension:2": "true", - "codename:1": { - }, + "codename:1": {}, "element-attributes": { "xsi:type": "ns11:platformDetailsType" }, @@ -29414,7 +29333,7 @@ } ], "displayName": "Android SDK Platform Baklava-ext19", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "platforms", "path": "platforms/android-Baklava-ext19", @@ -29442,19 +29361,19 @@ { "arch": "all", "os": "all", - "sha1": "756112dd034ba5c1fbc995a472fb17d196c21a59", - "size": 66842057, - "url": "https://dl.google.com/android/repository/platform-CANARY_r09.zip" + "sha1": "c302ae12b604acd942e31568f32917fe3141750c", + "size": 67144025, + "url": "https://dl.google.com/android/repository/platform-CANARY_r10.zip" } ], "displayName": "Android SDK Platform CANARY", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "platforms", "path": "platforms/android-CANARY", "revision": "CANARY", "revision-details": { - "major:0": "9" + "major:0": "10" }, "type-details": { "api-level:0": "36.1", @@ -29482,7 +29401,7 @@ } ], "displayName": "Android SDK Platform CinnamonBun", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "platforms", "path": "platforms/android-CinnamonBun", @@ -29547,7 +29466,7 @@ } ], "displayName": "Android SDK Platform UpsideDownCake", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "platforms", "obsolete": "true", @@ -29665,7 +29584,7 @@ } ], "displayName": "Layout Inspector image server for API S", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "skiaparser", "path": "skiaparser/2", @@ -29786,7 +29705,7 @@ } ], "displayName": "Layout Inspector image server for API 29-30", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "skiaparser", "path": "skiaparser/1", @@ -29878,7 +29797,7 @@ } ], "displayName": "Layout Inspector image server for API 31-36", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "skiaparser", "path": "skiaparser/3", @@ -29905,7 +29824,7 @@ } ], "displayName": "Sources for Android 14", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "sources", "obsolete": "true", @@ -29917,8 +29836,7 @@ "type-details": { "api-level:0": "14", "base-extension:2": "true", - "codename:1": { - }, + "codename:1": {}, "element-attributes": { "xsi:type": "ns11:sourceDetailsType" } @@ -29935,7 +29853,7 @@ } ], "displayName": "Sources for Android 15", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "sources", "path": "sources/android-15", @@ -29946,8 +29864,7 @@ "type-details": { "api-level:0": "15", "base-extension:2": "true", - "codename:1": { - }, + "codename:1": {}, "element-attributes": { "xsi:type": "ns11:sourceDetailsType" } @@ -29964,7 +29881,7 @@ } ], "displayName": "Sources for Android 16", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "sources", "path": "sources/android-16", @@ -29975,8 +29892,7 @@ "type-details": { "api-level:0": "16", "base-extension:2": "true", - "codename:1": { - }, + "codename:1": {}, "element-attributes": { "xsi:type": "ns11:sourceDetailsType" } @@ -29993,7 +29909,7 @@ } ], "displayName": "Sources for Android 17", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "sources", "path": "sources/android-17", @@ -30004,8 +29920,7 @@ "type-details": { "api-level:0": "17", "base-extension:2": "true", - "codename:1": { - }, + "codename:1": {}, "element-attributes": { "xsi:type": "ns11:sourceDetailsType" } @@ -30022,7 +29937,7 @@ } ], "displayName": "Sources for Android 18", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "sources", "path": "sources/android-18", @@ -30033,8 +29948,7 @@ "type-details": { "api-level:0": "18", "base-extension:2": "true", - "codename:1": { - }, + "codename:1": {}, "element-attributes": { "xsi:type": "ns11:sourceDetailsType" } @@ -30051,7 +29965,7 @@ } ], "displayName": "Sources for Android 19", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "sources", "path": "sources/android-19", @@ -30062,8 +29976,7 @@ "type-details": { "api-level:0": "19", "base-extension:2": "true", - "codename:1": { - }, + "codename:1": {}, "element-attributes": { "xsi:type": "ns11:sourceDetailsType" } @@ -30080,7 +29993,7 @@ } ], "displayName": "Sources for Android 20", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "sources", "path": "sources/android-20", @@ -30091,8 +30004,7 @@ "type-details": { "api-level:0": "20", "base-extension:2": "true", - "codename:1": { - }, + "codename:1": {}, "element-attributes": { "xsi:type": "ns11:sourceDetailsType" } @@ -30109,7 +30021,7 @@ } ], "displayName": "Sources for Android 21", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "sources", "path": "sources/android-21", @@ -30120,8 +30032,7 @@ "type-details": { "api-level:0": "21", "base-extension:2": "true", - "codename:1": { - }, + "codename:1": {}, "element-attributes": { "xsi:type": "ns11:sourceDetailsType" } @@ -30138,7 +30049,7 @@ } ], "displayName": "Sources for Android 22", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "sources", "path": "sources/android-22", @@ -30149,8 +30060,7 @@ "type-details": { "api-level:0": "22", "base-extension:2": "true", - "codename:1": { - }, + "codename:1": {}, "element-attributes": { "xsi:type": "ns11:sourceDetailsType" } @@ -30167,7 +30077,7 @@ } ], "displayName": "Sources for Android 23", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "sources", "path": "sources/android-23", @@ -30178,8 +30088,7 @@ "type-details": { "api-level:0": "23", "base-extension:2": "true", - "codename:1": { - }, + "codename:1": {}, "element-attributes": { "xsi:type": "ns11:sourceDetailsType" } @@ -30196,7 +30105,7 @@ } ], "displayName": "Sources for Android 24", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "sources", "path": "sources/android-24", @@ -30207,8 +30116,7 @@ "type-details": { "api-level:0": "24", "base-extension:2": "true", - "codename:1": { - }, + "codename:1": {}, "element-attributes": { "xsi:type": "ns11:sourceDetailsType" } @@ -30225,7 +30133,7 @@ } ], "displayName": "Sources for Android 25", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "sources", "path": "sources/android-25", @@ -30236,8 +30144,7 @@ "type-details": { "api-level:0": "25", "base-extension:2": "true", - "codename:1": { - }, + "codename:1": {}, "element-attributes": { "xsi:type": "ns11:sourceDetailsType" } @@ -30254,7 +30161,7 @@ } ], "displayName": "Sources for Android 26", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "sources", "path": "sources/android-26", @@ -30265,8 +30172,7 @@ "type-details": { "api-level:0": "26", "base-extension:2": "true", - "codename:1": { - }, + "codename:1": {}, "element-attributes": { "xsi:type": "ns11:sourceDetailsType" } @@ -30283,7 +30189,7 @@ } ], "displayName": "Sources for Android 27", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "sources", "path": "sources/android-27", @@ -30294,8 +30200,7 @@ "type-details": { "api-level:0": "27", "base-extension:2": "true", - "codename:1": { - }, + "codename:1": {}, "element-attributes": { "xsi:type": "ns11:sourceDetailsType" } @@ -30312,7 +30217,7 @@ } ], "displayName": "Sources for Android 28", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "sources", "path": "sources/android-28", @@ -30323,8 +30228,7 @@ "type-details": { "api-level:0": "28", "base-extension:2": "true", - "codename:1": { - }, + "codename:1": {}, "element-attributes": { "xsi:type": "ns11:sourceDetailsType" } @@ -30341,7 +30245,7 @@ } ], "displayName": "Sources for Android 29", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "sources", "path": "sources/android-29", @@ -30352,8 +30256,7 @@ "type-details": { "api-level:0": "29", "base-extension:2": "true", - "codename:1": { - }, + "codename:1": {}, "element-attributes": { "xsi:type": "ns11:sourceDetailsType" } @@ -30370,7 +30273,7 @@ } ], "displayName": "Sources for Android 30", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "sources", "path": "sources/android-30", @@ -30381,8 +30284,7 @@ "type-details": { "api-level:0": "30", "base-extension:2": "true", - "codename:1": { - }, + "codename:1": {}, "element-attributes": { "xsi:type": "ns11:sourceDetailsType" } @@ -30399,7 +30301,7 @@ } ], "displayName": "Sources for Android 31", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "sources", "path": "sources/android-31", @@ -30410,8 +30312,7 @@ "type-details": { "api-level:0": "31", "base-extension:2": "true", - "codename:1": { - }, + "codename:1": {}, "element-attributes": { "xsi:type": "ns11:sourceDetailsType" } @@ -30428,7 +30329,7 @@ } ], "displayName": "Sources for Android 32", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "sources", "path": "sources/android-32", @@ -30439,8 +30340,7 @@ "type-details": { "api-level:0": "32", "base-extension:2": "true", - "codename:1": { - }, + "codename:1": {}, "element-attributes": { "xsi:type": "ns11:sourceDetailsType" } @@ -30457,7 +30357,7 @@ } ], "displayName": "Sources for Android 33", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "sources", "path": "sources/android-33", @@ -30468,8 +30368,7 @@ "type-details": { "api-level:0": "33", "base-extension:3": "true", - "codename:1": { - }, + "codename:1": {}, "element-attributes": { "xsi:type": "ns11:sourceDetailsType" }, @@ -30487,7 +30386,7 @@ } ], "displayName": "Sources for Android 34", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "sources", "path": "sources/android-34", @@ -30498,8 +30397,7 @@ "type-details": { "api-level:0": "34", "base-extension:3": "true", - "codename:1": { - }, + "codename:1": {}, "element-attributes": { "xsi:type": "ns11:sourceDetailsType" }, @@ -30517,7 +30415,7 @@ } ], "displayName": "Sources for Android 35", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "sources", "path": "sources/android-35", @@ -30528,8 +30426,7 @@ "type-details": { "api-level:0": "35", "base-extension:3": "true", - "codename:1": { - }, + "codename:1": {}, "element-attributes": { "xsi:type": "ns11:sourceDetailsType" }, @@ -30547,7 +30444,7 @@ } ], "displayName": "Sources for Android 36", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "sources", "path": "sources/android-36", @@ -30575,7 +30472,7 @@ } ], "displayName": "Sources for Android 36.1", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "sources", "path": "sources/android-36.1", @@ -30591,6 +30488,35 @@ }, "extension-level:1": "20" } + }, + "37.0": { + "archives": [ + { + "arch": "all", + "os": "all", + "sha1": "5dc25b723b23edfcb9604bc2917acdea265fd6fb", + "size": 52760617, + "url": "https://dl.google.com/android/repository/source-37.0_r01.zip" + } + ], + "displayName": "Sources for Android 37.0", + "last-available-day": 20552, + "license": "android-sdk-license", + "name": "sources", + "path": "sources/android-37.0", + "revision": "37.0", + "revision-details": { + "major:0": "1" + }, + "type-details": { + "api-level:0": "37.0", + "base-extension:3": "true", + "codename:1": {}, + "element-attributes": { + "xsi:type": "ns11:sourceDetailsType" + }, + "extension-level:2": "22" + } } }, "tools": { @@ -30642,7 +30568,7 @@ } }, "displayName": "Android SDK Tools", - "last-available-day": 20549, + "last-available-day": 20552, "license": "android-sdk-license", "name": "tools", "obsolete": "true", diff --git a/pkgs/development/python-modules/django-autoslug/default.nix b/pkgs/development/python-modules/django-autoslug/default.nix index c9749a1c90da..119851f3b34a 100644 --- a/pkgs/development/python-modules/django-autoslug/default.nix +++ b/pkgs/development/python-modules/django-autoslug/default.nix @@ -3,7 +3,6 @@ buildPythonPackage, fetchFromGitHub, setuptools, - wheel, django, django-modeltranslation, }: @@ -20,9 +19,15 @@ buildPythonPackage rec { hash = "sha256-IRLY4VaKYXVkSgU/zdY+PSmGrcFB2FlE5L7j0FqisRM="; }; + postPatch = lib.optionalString (lib.versionAtLeast django.version "6.0") '' + # sadly upstream does not use pytest, so we must patch the one failing test or we could not run any tests at all + # see https://github.com/justinmayer/django-autoslug/issues/87 + substituteInPlace autoslug/tests/tests.py \ + --replace-fail "assert b.slug == 'hello_world-2'" "assert b.slug == 'hello_world_2'" + ''; + build-system = [ setuptools - wheel ]; dependencies = [ django ]; diff --git a/pkgs/development/python-modules/django-extensions/default.nix b/pkgs/development/python-modules/django-extensions/default.nix index b2295131331e..257f500afd4f 100644 --- a/pkgs/development/python-modules/django-extensions/default.nix +++ b/pkgs/development/python-modules/django-extensions/default.nix @@ -36,6 +36,12 @@ buildPythonPackage rec { hash = "sha256-WgO/bDe4anQCc1q2Gdq3W70yDqDgmsvn39Qf9ZNVXuE="; }; + patches = lib.optionals (lib.versionAtLeast django.version "6.0") [ + # Fix some tests when run with Django 6 + # see https://github.com/django-extensions/django-extensions/pull/1979 + ./django_6-compat.diff + ]; + build-system = [ setuptools ]; dependencies = [ diff --git a/pkgs/development/python-modules/django-extensions/django_6-compat.diff b/pkgs/development/python-modules/django-extensions/django_6-compat.diff new file mode 100644 index 000000000000..6996a24a8a46 --- /dev/null +++ b/pkgs/development/python-modules/django-extensions/django_6-compat.diff @@ -0,0 +1,111 @@ +From 5c096ad7a59a3e9edee66e27fbae46c30e4abd6b Mon Sep 17 00:00:00 2001 +From: asherzod1 +Date: Wed, 11 Mar 2026 00:53:19 +0500 +Subject: [PATCH] fix: add Django 6 compatibility for signals, constraints, and + random char field + +--- + django_extensions/db/fields/__init__.py | 18 +++++++++++++----- + .../management/commands/list_signals.py | 4 +++- + tests/test_management_command.py | 6 +++++- + tests/testapp/models.py | 7 ++++++- + 4 files changed, 27 insertions(+), 8 deletions(-) + +diff --git a/django_extensions/db/fields/__init__.py b/django_extensions/db/fields/__init__.py +index 938254e1f..c233cee84 100644 +--- a/django_extensions/db/fields/__init__.py ++++ b/django_extensions/db/fields/__init__.py +@@ -86,7 +86,11 @@ def find_unique(self, model_instance, field, iterator, *args): + + new = next(iterator) + kwargs[self.attname] = new +- while not new or queryset.filter(query, **kwargs): ++ while True: ++ matching = queryset.filter(query, **kwargs) ++ has_match = matching.exists() if hasattr(matching, "exists") else bool(matching) ++ if new and not has_match: ++ break + new = next(iterator) + kwargs[self.attname] = new + setattr(model_instance, self.attname, new) +@@ -388,10 +392,14 @@ def in_unique_together(self, model_instance): + return False + + def pre_save(self, model_instance, add): +- if (not add or self.keep_default) and getattr( +- model_instance, self.attname +- ) != "": +- return getattr(model_instance, self.attname) ++ current_value = getattr(model_instance, self.attname) ++ # Django 6 may call pre_save multiple times for inserts; if we've already ++ # populated the field value, reuse it instead of regenerating. ++ if current_value not in ("", None): ++ return current_value ++ ++ if (not add or self.keep_default) and current_value != "": ++ return current_value + + population = "" + if self.include_alpha: +diff --git a/django_extensions/management/commands/list_signals.py b/django_extensions/management/commands/list_signals.py +index 9cadc4f85..e7bc9d7f6 100644 +--- a/django_extensions/management/commands/list_signals.py ++++ b/django_extensions/management/commands/list_signals.py +@@ -52,7 +52,9 @@ def handle(self, *args, **options): + for signal in signals: + signal_name = SIGNAL_NAMES.get(signal, "unknown") + for receiver in signal.receivers: +- if django.VERSION >= (5, 0): ++ if django.VERSION >= (6, 0): ++ lookup, receiver, _sender, is_async = receiver ++ elif django.VERSION >= (5, 0): + lookup, receiver, is_async = receiver + else: + lookup, receiver = receiver +diff --git a/tests/test_management_command.py b/tests/test_management_command.py +index ea205ed72..0fb9dc27b 100644 +--- a/tests/test_management_command.py ++++ b/tests/test_management_command.py +@@ -3,6 +3,7 @@ + import logging + import importlib + ++import django + from django.core.management import ( + call_command, + find_commands, +@@ -421,7 +422,10 @@ def test_field_class(self): + stdout=out, + ) + self.output = out.getvalue() +- self.assertIn("id - AutoField", self.output) ++ if django.VERSION >= (6, 0): ++ self.assertIn("id - BigAutoField", self.output) ++ else: ++ self.assertIn("id - AutoField", self.output) + self.assertIn("char_field - CharField", self.output) + self.assertIn("integer_field - IntegerField", self.output) + self.assertIn("foreign_key_field - ForeignKey", self.output) +diff --git a/tests/testapp/models.py b/tests/testapp/models.py +index 278402f51..3f31efcda 100644 +--- a/tests/testapp/models.py ++++ b/tests/testapp/models.py +@@ -1,4 +1,5 @@ + # -*- coding: utf-8 -*- ++import django + from django.db import models + from django.contrib.auth import get_user_model + from django.db.models import UniqueConstraint +@@ -178,7 +179,11 @@ class Meta: + fields=("common_field", "uniq_field"), name="unique_common_uniq_pair" + ), + models.CheckConstraint( +- check=~models.Q(common_field=models.F("another_common_field")), ++ **( ++ {"condition": ~models.Q(common_field=models.F("another_common_field"))} ++ if django.VERSION >= (5, 2) ++ else {"check": ~models.Q(common_field=models.F("another_common_field"))} ++ ), + name="common_and_another_common_differ", + ), + ] diff --git a/pkgs/development/python-modules/django-guardian/default.nix b/pkgs/development/python-modules/django-guardian/default.nix index 820bd1077652..b6e00c831edf 100644 --- a/pkgs/development/python-modules/django-guardian/default.nix +++ b/pkgs/development/python-modules/django-guardian/default.nix @@ -6,6 +6,7 @@ django, pytestCheckHook, pytest-django, + pytest-xdist, setuptools, }: @@ -29,6 +30,7 @@ buildPythonPackage rec { django-environ pytestCheckHook pytest-django + pytest-xdist ]; pythonImportsCheck = [ "guardian" ]; diff --git a/pkgs/development/python-modules/django-prometheus/default.nix b/pkgs/development/python-modules/django-prometheus/default.nix index ff97896101d6..b2526d41c4ad 100644 --- a/pkgs/development/python-modules/django-prometheus/default.nix +++ b/pkgs/development/python-modules/django-prometheus/default.nix @@ -28,6 +28,10 @@ buildPythonPackage rec { --replace-fail '"pytest-runner"' "" ''; + pythonRelaxDeps = [ + "django" + ]; + build-system = [ setuptools ]; dependencies = [ prometheus-client ]; diff --git a/pkgs/development/python-modules/django-vcache/default.nix b/pkgs/development/python-modules/django-vcache/default.nix new file mode 100644 index 000000000000..a2cad50a356f --- /dev/null +++ b/pkgs/development/python-modules/django-vcache/default.nix @@ -0,0 +1,60 @@ +{ + lib, + buildPythonPackage, + croniter, + django, + fetchFromGitLab, + hatchling, + ormsgpack, + prometheus-client, + pythonOlder, + valkey, + zstd, +}: + +buildPythonPackage rec { + pname = "django-vcache"; + version = "1.0.0"; + pyproject = true; + + src = fetchFromGitLab { + owner = "glitchtip"; + repo = "django-vcache"; + tag = "v${version}"; + hash = "sha256-bOHEw4nl82tFjHiJdmyW0LleKMpjUh8uu4crGp6IsWY="; + }; + + build-system = [ hatchling ]; + + dependencies = [ + django + ormsgpack + croniter + valkey + ] + ++ valkey.optional-dependencies.libvalkey + ++ lib.optional (pythonOlder "3.14") zstd; + + optional-dependencies = { + metrics = [ prometheus-client ]; + valkey = [ valkey ] ++ valkey.optional-dependencies.libvalkey; + }; + + pythonImportsCheck = [ "django_vcache" ]; + + # requires valkey sentinel cluster + doCheck = false; + + meta = { + description = "Specialized, lightweight Django cache backend for Valkey"; + homepage = "https://gitlab.com/glitchtip/django-vcache/"; + changelog = "https://gitlab.com/glitchtip/django-vcache/-/blob/main/CHANGELOG.md#${ + lib.replaceString "." "" version + }"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ + defelo + felbinger + ]; + }; +} diff --git a/pkgs/development/python-modules/django-vtasks/default.nix b/pkgs/development/python-modules/django-vtasks/default.nix new file mode 100644 index 000000000000..ca0c1ec7e30e --- /dev/null +++ b/pkgs/development/python-modules/django-vtasks/default.nix @@ -0,0 +1,90 @@ +{ + lib, + buildPythonPackage, + croniter, + dj-database-url, + django-valkey, + django, + fetchFromGitLab, + hatchling, + orjson, + postgresql, + postgresqlTestHook, + prometheus-client, + psycopg, + pytest-asyncio, + pytest-django, + pytestCheckHook, + pythonOlder, + redisTestHook, + valkey, + zstandard, +}: + +buildPythonPackage rec { + pname = "django-vtasks"; + version = "1.0.3"; + pyproject = true; + + src = fetchFromGitLab { + owner = "glitchtip"; + repo = "django-vtasks"; + tag = "v${version}"; + hash = "sha256-75W63HsLBT4EPQCiAXjd9qr6n07/2e5GCUNWeDzXUq0="; + }; + + postPatch = '' + # upstream does not use pytest to run the tests, but we just need to patch one async test to do so + substituteInPlace scripts/test_stale_conn.py \ + --replace-fail "import asyncio" "import asyncio; import pytest" \ + --replace-fail "async def test_async_stale_connection():" "@pytest.mark.asyncio + async def test_async_stale_connection():" + ''; + + build-system = [ hatchling ]; + + dependencies = [ + django + orjson + croniter + ] + ++ lib.optional (pythonOlder "3.14") zstandard; + + optional-dependencies = { + metrics = [ prometheus-client ]; + valkey = [ valkey ] ++ valkey.optional-dependencies.libvalkey; + }; + + pythonImportsCheck = [ "django_vtasks" ]; + + env = { + DATABASE_URL = "postgresql://postgres@%2Fbuild%2Frun%2Fpostgresql"; + VALKEY_URL = "redis://127.0.0.1:6379"; + }; + + nativeCheckInputs = [ + django # must come first as vtasks only works with django 6 + + dj-database-url + django-valkey + postgresql + postgresqlTestHook + psycopg + pytest-asyncio + pytest-django + pytestCheckHook + redisTestHook # contains valkey + ]; + + meta = { + description = "Very fast valkey/postgres django tasks backend"; + homepage = "https://gitlab.com/glitchtip/django-vtasks"; + changelog = "https://gitlab.com/glitchtip/django-vtasks/-/releases/${src.tag}"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ + defelo + felbinger + ]; + broken = lib.versionOlder (lib.versions.major django.version) "6"; + }; +} diff --git a/pkgs/development/python-modules/llm-venice/default.nix b/pkgs/development/python-modules/llm-venice/default.nix index e3b86a463838..2253ba38b4ac 100644 --- a/pkgs/development/python-modules/llm-venice/default.nix +++ b/pkgs/development/python-modules/llm-venice/default.nix @@ -9,14 +9,14 @@ buildPythonPackage rec { pname = "llm-venice"; - version = "0.8.2"; + version = "0.9.0"; pyproject = true; src = fetchFromGitHub { owner = "ar-jan"; repo = "llm-venice"; tag = version; - hash = "sha256-CwvFthuahWPmenI4jrhGmscJd1sJCXkkvU+hYYYekx0="; + hash = "sha256-jshOfbZUccmK6sRCDTzkE7tOKX2ILue93Jp2GFoGTxY="; }; build-system = [ setuptools ]; diff --git a/pkgs/development/python-modules/requests-cache/default.nix b/pkgs/development/python-modules/requests-cache/default.nix index 329d359480a0..92d46c37db03 100644 --- a/pkgs/development/python-modules/requests-cache/default.nix +++ b/pkgs/development/python-modules/requests-cache/default.nix @@ -2,14 +2,13 @@ lib, attrs, buildPythonPackage, - bson, + hatchling, boto3, botocore, cattrs, fetchFromGitHub, itsdangerous, platformdirs, - poetry-core, psutil, pymongo, pytestCheckHook, @@ -23,27 +22,27 @@ rich, tenacity, time-machine, - timeout-decorator, ujson, + orjson, urllib3, url-normalize, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "requests-cache"; - version = "1.2.1"; + version = "1.3.1"; pyproject = true; src = fetchFromGitHub { owner = "requests-cache"; repo = "requests-cache"; - tag = "v${version}"; - hash = "sha256-juRCcBUr+Ko6kVPpUapwRbUGqWLKaRiCqppOc3S5FMU="; + tag = "v${finalAttrs.version}"; + hash = "sha256-t9SJ+enZHHYPRXaSrPop2hVOagE4oMnuXExO2DeNttc="; }; - nativeBuildInputs = [ poetry-core ]; + build-system = [ hatchling ]; - propagatedBuildInputs = [ + dependencies = [ attrs cattrs platformdirs @@ -57,12 +56,15 @@ buildPythonPackage rec { boto3 botocore ]; - mongodbo = [ pymongo ]; + mongodb = [ pymongo ]; redis = [ redis ]; - bson = [ bson ]; - json = [ ujson ]; security = [ itsdangerous ]; yaml = [ pyyaml ]; + all = [ + orjson + ujson + ] + ++ lib.concatAttrValues (lib.removeAttrs finalAttrs.optional-dependencies [ "all" ]); }; nativeCheckInputs = [ @@ -75,10 +77,7 @@ buildPythonPackage rec { rich tenacity time-machine - timeout-decorator - ] - ++ optional-dependencies.json - ++ optional-dependencies.security; + ]; preCheck = '' export HOME=$(mktemp -d); @@ -90,11 +89,8 @@ buildPythonPackage rec { ]; disabledTests = [ - # Tests are flaky in the sandbox - "test_remove_expired_responses" - # Tests that broke with urllib 2.0.5 + # Flaky "test_request_only_if_cached__stale_if_error__expired" - "test_stale_if_error__error_code" ]; pythonImportsCheck = [ "requests_cache" ]; @@ -102,8 +98,8 @@ buildPythonPackage rec { meta = { description = "Persistent cache for requests library"; homepage = "https://github.com/reclosedev/requests-cache"; - changelog = "https://github.com/requests-cache/requests-cache/blob/v${version}/HISTORY.md"; + changelog = "https://github.com/requests-cache/requests-cache/blob/$v{finalAttrs.version}/HISTORY.md"; license = lib.licenses.bsd3; maintainers = with lib.maintainers; [ fab ]; }; -} +}) diff --git a/pkgs/development/python-modules/urllib3-future/default.nix b/pkgs/development/python-modules/urllib3-future/default.nix index 6b51b06424de..32341aeaf819 100644 --- a/pkgs/development/python-modules/urllib3-future/default.nix +++ b/pkgs/development/python-modules/urllib3-future/default.nix @@ -24,14 +24,14 @@ buildPythonPackage rec { pname = "urllib3-future"; - version = "2.19.900"; + version = "2.19.904"; pyproject = true; src = fetchFromGitHub { owner = "jawah"; repo = "urllib3.future"; tag = version; - hash = "sha256-6jRc3hxPSFV+vhAzbSudKuCGV0l+X2aTKXPZnAAs0Bk="; + hash = "sha256-bYkT78OT665Ea3k4boORlaFiORaryqRXSfxXt0yZLSM="; }; postPatch = '' diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index d735584a02da..77b8a1beab09 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -4412,12 +4412,16 @@ self: super: with self; { django-valkey = callPackage ../development/python-modules/django-valkey { }; + django-vcache = callPackage ../development/python-modules/django-vcache { }; + django-versatileimagefield = callPackage ../development/python-modules/django-versatileimagefield { }; django-vite = callPackage ../development/python-modules/django-vite { }; + django-vtasks = callPackage ../development/python-modules/django-vtasks { }; + django-waffle = callPackage ../development/python-modules/django-waffle { }; django-weasyprint = callPackage ../development/python-modules/django-weasyprint { };