summaryrefslogtreecommitdiff
path: root/games-util
diff options
context:
space:
mode:
authorroot <root@alpha.trunkmasters.com>2026-06-04 05:48:38 -0500
committerroot <root@alpha.trunkmasters.com>2026-06-04 05:48:38 -0500
commitbfd9c39e4712ebdb442d4ca0673061faed1e70e1 (patch)
tree0d7a74b4463ee387f9cf9368ceb1b757f694f72a /games-util
parentf716a9fe6455d39eef01e718aae68dae61c19704 (diff)
downloadbaldeagleos-repo-bfd9c39e4712ebdb442d4ca0673061faed1e70e1.tar.gz
baldeagleos-repo-bfd9c39e4712ebdb442d4ca0673061faed1e70e1.tar.xz
baldeagleos-repo-bfd9c39e4712ebdb442d4ca0673061faed1e70e1.zip
Revert "Adding metadata"
This reverts commit f716a9fe6455d39eef01e718aae68dae61c19704.
Diffstat (limited to 'games-util')
-rw-r--r--games-util/NotEnoughProduction/Manifest5
-rw-r--r--games-util/NotEnoughProduction/NotEnoughProduction-0.0.4.ebuild42
-rw-r--r--games-util/NotEnoughProduction/files/NotEnoughProduction9
-rw-r--r--games-util/NotEnoughProduction/metadata.xml8
-rw-r--r--games-util/ProtonUp-Qt/Manifest2
-rw-r--r--games-util/ProtonUp-Qt/ProtonUp-Qt-2.12.0.ebuild56
-rw-r--r--games-util/ProtonUp-Qt/ProtonUp-Qt-2.13.0.ebuild65
-rw-r--r--games-util/ProtonUp-Qt/ProtonUp-Qt-9999.ebuild60
-rw-r--r--games-util/ProtonUp-Qt/files/ProtonUp-Qt-2.11.1-add-entrypoint.patch11
-rw-r--r--games-util/ProtonUp-Qt/metadata.xml11
-rw-r--r--games-util/acc/Manifest1
-rw-r--r--games-util/acc/acc-1.60.ebuild28
-rw-r--r--games-util/acc/files/acc-1.60-cmake.patch19
-rw-r--r--games-util/acc/metadata.xml11
-rw-r--r--games-util/antimicrox/Manifest3
-rw-r--r--games-util/antimicrox/antimicrox-3.5.1.ebuild91
-rw-r--r--games-util/antimicrox/antimicrox-3.6.0.ebuild91
-rw-r--r--games-util/antimicrox/antimicrox-3.6.1.ebuild91
-rw-r--r--games-util/antimicrox/files/antimicrox-3.5.1-cmake_minimum_required.patch8
-rw-r--r--games-util/antimicrox/files/antimicrox-man_gz.patch13
-rw-r--r--games-util/antimicrox/metadata.xml13
-rw-r--r--games-util/atlas/Manifest1
-rw-r--r--games-util/atlas/atlas-0.6.1_beta_pre20181202.ebuild58
-rw-r--r--games-util/atlas/metadata.xml11
-rw-r--r--games-util/basis_universal/Manifest1
-rw-r--r--games-util/basis_universal/basis_universal-1.16.4.ebuild44
-rw-r--r--games-util/basis_universal/files/basis_universal-1.16.3-SSE4.1-AVX-checks.patch40
-rw-r--r--games-util/basis_universal/files/basis_universal-1.16.3-fix-RPATH.patch10
-rw-r--r--games-util/basis_universal/files/basis_universal-1.16.3-respect-CFLAGS.patch11
-rw-r--r--games-util/basis_universal/metadata.xml11
-rw-r--r--games-util/biounzip/Manifest1
-rw-r--r--games-util/biounzip/biounzip-1.1a.ebuild31
-rw-r--r--games-util/biounzip/files/biounzip-1.1a-64bit.patch11
-rw-r--r--games-util/biounzip/metadata.xml11
-rw-r--r--games-util/cartridges/Manifest2
-rw-r--r--games-util/cartridges/cartridges-2.12.1-r1.ebuild70
-rw-r--r--games-util/cartridges/cartridges-2.13.1-r1.ebuild70
-rw-r--r--games-util/cartridges/cartridges-9999.ebuild70
-rw-r--r--games-util/cartridges/metadata.xml20
-rw-r--r--games-util/catcodec/Manifest1
-rw-r--r--games-util/catcodec/catcodec-1.0.5.ebuild29
-rw-r--r--games-util/catcodec/metadata.xml8
-rw-r--r--games-util/chiaki-ng/Manifest2
-rw-r--r--games-util/chiaki-ng/chiaki-ng-1.10.0.ebuild109
-rw-r--r--games-util/chiaki-ng/chiaki-ng-9999.ebuild109
-rw-r--r--games-util/chiaki-ng/files/chiaki-ng-1.10.0-munit-c23.patch15
-rw-r--r--games-util/chiaki-ng/files/chiaki-ng-1.10.0-use-shared-nanopb.patch29
-rw-r--r--games-util/chiaki-ng/metadata.xml24
-rw-r--r--games-util/curseforge/Manifest1
-rw-r--r--games-util/curseforge/curseforge-1.302.0_p32990.ebuild86
-rw-r--r--games-util/curseforge/metadata.xml8
-rw-r--r--games-util/datutil/Manifest2
-rw-r--r--games-util/datutil/datutil-2.46.ebuild56
-rw-r--r--games-util/datutil/metadata.xml14
-rw-r--r--games-util/deutex/Manifest1
-rw-r--r--games-util/deutex/deutex-5.2.2.ebuild26
-rw-r--r--games-util/deutex/metadata.xml23
-rw-r--r--games-util/dfarc/Manifest1
-rw-r--r--games-util/dfarc/dfarc-3.14-r2.ebuild43
-rw-r--r--games-util/dfarc/files/dfarc-3.12-nowindres.patch18
-rw-r--r--games-util/dfarc/files/dfarc-3.14-wxString.patch12
-rw-r--r--games-util/dfarc/metadata.xml8
-rw-r--r--games-util/dwarf-therapist/Manifest2
-rw-r--r--games-util/dwarf-therapist/dwarf-therapist-41.2.5.ebuild58
-rw-r--r--games-util/dwarf-therapist/dwarf-therapist-42.1.5.ebuild58
-rw-r--r--games-util/dwarf-therapist/metadata.xml11
-rw-r--r--games-util/dzip/Manifest1
-rw-r--r--games-util/dzip/dzip-2.9-r5.ebuild41
-rw-r--r--games-util/dzip/files/dzip-2.9-scrub-names.patch88
-rw-r--r--games-util/dzip/files/dzip-2.9-system-zlib-r2.patch72
-rw-r--r--games-util/dzip/files/dzip-amd64.diff30
-rw-r--r--games-util/dzip/files/dzip-clang16-build-fix.patch14
-rw-r--r--games-util/dzip/metadata.xml8
-rw-r--r--games-util/esteam/esteam-0.20251117.ebuild51
-rw-r--r--games-util/esteam/files/database.bash398
-rw-r--r--games-util/esteam/files/script.bash275
-rw-r--r--games-util/esteam/metadata.xml11
-rw-r--r--games-util/eureka/Manifest1
-rw-r--r--games-util/eureka/eureka-1.27b-r1.ebuild54
-rw-r--r--games-util/eureka/files/eureka-Makefile.patch74
-rw-r--r--games-util/eureka/metadata.xml11
-rw-r--r--games-util/fteqcc/Manifest1
-rw-r--r--games-util/fteqcc/files/fteqcc-20250126-Makefile.patch67
-rw-r--r--games-util/fteqcc/fteqcc-20250126.ebuild33
-rw-r--r--games-util/fteqcc/metadata.xml11
-rw-r--r--games-util/game-device-udev-rules/Manifest1
-rw-r--r--games-util/game-device-udev-rules/files/60-game-input-20220311.rules6
-rw-r--r--games-util/game-device-udev-rules/game-device-udev-rules-20240523.ebuild87
-rw-r--r--games-util/game-device-udev-rules/metadata.xml12
-rw-r--r--games-util/gamehub/Manifest1
-rw-r--r--games-util/gamehub/gamehub-0.16.3.2-r2.ebuild55
-rw-r--r--games-util/gamehub/metadata.xml11
-rw-r--r--games-util/gamemode/Manifest2
-rw-r--r--games-util/gamemode/gamemode-1.8.1.ebuild96
-rw-r--r--games-util/gamemode/gamemode-1.8.2.ebuild94
-rw-r--r--games-util/gamemode/gamemode-9999.ebuild94
-rw-r--r--games-util/gamemode/metadata.xml16
-rw-r--r--games-util/gamepick/Manifest1
-rw-r--r--games-util/gamepick/gamepick-0.35-r2.ebuild35
-rw-r--r--games-util/gamepick/metadata.xml8
-rw-r--r--games-util/glbsp/Manifest1
-rw-r--r--games-util/glbsp/files/glbsp-2.24-ldflags.patch22
-rw-r--r--games-util/glbsp/files/glbsp-2.24-return-type.patch9
-rw-r--r--games-util/glbsp/glbsp-2.24-r1.ebuild70
-rw-r--r--games-util/glbsp/glbsp-2.24-r2.ebuild74
-rw-r--r--games-util/glbsp/metadata.xml11
-rw-r--r--games-util/goverlay/Manifest1
-rw-r--r--games-util/goverlay/goverlay-1.2.ebuild38
-rw-r--r--games-util/goverlay/metadata.xml11
-rw-r--r--games-util/grapejuice/Manifest1
-rw-r--r--games-util/grapejuice/grapejuice-7.20.12.ebuild77
-rw-r--r--games-util/grapejuice/grapejuice-9999.ebuild77
-rw-r--r--games-util/grapejuice/metadata.xml11
-rw-r--r--games-util/grfcodec/Manifest1
-rw-r--r--games-util/grfcodec/files/grfcodec-6.0.6_p20230811-no-fortify-source.patch19
-rw-r--r--games-util/grfcodec/files/grfcodec-6.1.0-cmake-install.patch21
-rw-r--r--games-util/grfcodec/grfcodec-6.1.0-r1.ebuild34
-rw-r--r--games-util/grfcodec/grfcodec-9999.ebuild38
-rw-r--r--games-util/grfcodec/metadata.xml11
-rw-r--r--games-util/gslist/Manifest1
-rw-r--r--games-util/gslist/files/gslist-0.8.11a-build.patch41
-rw-r--r--games-util/gslist/gslist-0.8.11a-r1.ebuild42
-rw-r--r--games-util/gslist/metadata.xml11
-rw-r--r--games-util/heroic-bin/Manifest9
-rw-r--r--games-util/heroic-bin/heroic-bin-2.20.1.ebuild141
-rw-r--r--games-util/heroic-bin/heroic-bin-2.21.0.ebuild141
-rw-r--r--games-util/heroic-bin/heroic-bin-2.22.0.ebuild141
-rw-r--r--games-util/heroic-bin/metadata.xml29
-rw-r--r--games-util/hid-nintendo/hid-nintendo-9999.ebuild22
-rw-r--r--games-util/hid-nintendo/metadata.xml11
-rw-r--r--games-util/hydra-launcher-bin/Manifest4
-rw-r--r--games-util/hydra-launcher-bin/hydra-launcher-bin-3.8.3.ebuild76
-rw-r--r--games-util/hydra-launcher-bin/hydra-launcher-bin-3.9.5.ebuild76
-rw-r--r--games-util/hydra-launcher-bin/hydra-launcher-bin-3.9.7-r1.ebuild85
-rw-r--r--games-util/hydra-launcher-bin/hydra-launcher-bin-3.9.7.ebuild76
-rw-r--r--games-util/hydra-launcher-bin/hydra-launcher-bin-3.9.9.ebuild85
-rw-r--r--games-util/hydra-launcher-bin/metadata.xml16
-rw-r--r--games-util/input-remapper/Manifest1
-rw-r--r--games-util/input-remapper/files/build-backend.patch12
-rw-r--r--games-util/input-remapper/files/fix-translations.patch17
-rw-r--r--games-util/input-remapper/files/mo-files.patch21
-rw-r--r--games-util/input-remapper/files/remove-non-python-files-from-setup.patch30
-rw-r--r--games-util/input-remapper/input-remapper-2.2.0.ebuild107
-rw-r--r--games-util/input-remapper/input-remapper-9999.ebuild108
-rw-r--r--games-util/input-remapper/metadata.xml13
-rw-r--r--games-util/itch-bin/Manifest2
-rw-r--r--games-util/itch-bin/itch-bin-25.5.1-r2.ebuild67
-rw-r--r--games-util/itch-bin/itch-bin-26.1.9.ebuild70
-rw-r--r--games-util/itch-bin/metadata.xml14
-rw-r--r--games-util/joycond/Manifest2
-rw-r--r--games-util/joycond/files/joycond-dynamic-paths.patch72
-rw-r--r--games-util/joycond/files/joycond-gcc16.patch26
-rw-r--r--games-util/joycond/files/joycond-systemd-paranoia.patch46
-rw-r--r--games-util/joycond/files/joycond-systemd-paths.patch32
-rw-r--r--games-util/joycond/files/joycond-werror.patch23
-rw-r--r--games-util/joycond/files/joycond.initd7
-rw-r--r--games-util/joycond/joycond-0.1.0_p20220720-r1.ebuild51
-rw-r--r--games-util/joycond/joycond-0.1.0_p20250412.ebuild52
-rw-r--r--games-util/joycond/metadata.xml11
-rw-r--r--games-util/joystick/Manifest1
-rw-r--r--games-util/joystick/files/joystick-1.8.1-optional-ffmvforce.patch22
-rw-r--r--games-util/joystick/joystick-1.8.1.ebuild46
-rw-r--r--games-util/joystick/metadata.xml11
-rw-r--r--games-util/legendary/Manifest1
-rw-r--r--games-util/legendary/legendary-0.20.34-r2.ebuild26
-rw-r--r--games-util/legendary/metadata.xml20
-rw-r--r--games-util/leshade/Manifest3
-rw-r--r--games-util/leshade/leshade-2.4.5.ebuild65
-rw-r--r--games-util/leshade/leshade-2.4.6.ebuild66
-rw-r--r--games-util/leshade/leshade-2.4.7.ebuild67
-rw-r--r--games-util/leshade/leshade-9999.ebuild67
-rw-r--r--games-util/leshade/metadata.xml11
-rw-r--r--games-util/libstrangle/Manifest1
-rw-r--r--games-util/libstrangle/files/libstrangle-0.1.1_p20220222-gcc13.patch7
-rw-r--r--games-util/libstrangle/libstrangle-0.1.1_p20220222-r1.ebuild65
-rw-r--r--games-util/libstrangle/metadata.xml11
-rw-r--r--games-util/libtess2/Manifest1
-rw-r--r--games-util/libtess2/files/meson.build37
-rw-r--r--games-util/libtess2/libtess2-1.0.2.ebuild27
-rw-r--r--games-util/libtess2/metadata.xml15
-rw-r--r--games-util/linuxtrack-qt6-wayland/Manifest1
-rw-r--r--games-util/linuxtrack-qt6-wayland/linuxtrack-qt6-wayland-1.4.10.ebuild57
-rw-r--r--games-util/linuxtrack-qt6-wayland/linuxtrack-qt6-wayland-9999.ebuild56
-rw-r--r--games-util/linuxtrack-qt6-wayland/metadata.xml16
-rw-r--r--games-util/loki_patch/Manifest2
-rw-r--r--games-util/loki_patch/files/loki_patch-20091105-build.patch180
-rw-r--r--games-util/loki_patch/files/loki_patch-20091105-patchdata.patch11
-rw-r--r--games-util/loki_patch/files/loki_patch-20091105-xdelta-gzip.patch44
-rw-r--r--games-util/loki_patch/loki_patch-20091105-r2.ebuild61
-rw-r--r--games-util/loki_patch/metadata.xml11
-rw-r--r--games-util/lutris/Manifest3
-rw-r--r--games-util/lutris/lutris-0.5.19-r1.ebuild159
-rw-r--r--games-util/lutris/lutris-0.5.20-r1.ebuild159
-rw-r--r--games-util/lutris/lutris-0.5.22-r1.ebuild159
-rw-r--r--games-util/lutris/lutris-9999.ebuild159
-rw-r--r--games-util/lutris/metadata.xml22
-rw-r--r--games-util/mangohud/Manifest6
-rw-r--r--games-util/mangohud/files/mangohud-0.8.2-egl-wayland.patch27
-rw-r--r--games-util/mangohud/files/mangohud-0.8.3-system-imgui.patch134
-rw-r--r--games-util/mangohud/mangohud-0.8.2-r1.ebuild158
-rw-r--r--games-util/mangohud/mangohud-0.8.3.ebuild149
-rw-r--r--games-util/mangohud/mangohud-9999.ebuild149
-rw-r--r--games-util/mangohud/metadata.xml23
-rw-r--r--games-util/mcrcon/Manifest2
-rw-r--r--games-util/mcrcon/mcrcon-0.7.1.ebuild23
-rw-r--r--games-util/mcrcon/mcrcon-0.7.2.ebuild23
-rw-r--r--games-util/mcrcon/metadata.xml12
-rw-r--r--games-util/metadata.xml33
-rw-r--r--games-util/modrinth-app-bin/Manifest3
-rw-r--r--games-util/modrinth-app-bin/files/modrinth-app-bin-desktop.patch15
-rw-r--r--games-util/modrinth-app-bin/metadata.xml11
-rw-r--r--games-util/modrinth-app-bin/modrinth-app-bin-0.10.27.ebuild80
-rw-r--r--games-util/modrinth-app-bin/modrinth-app-bin-0.12.2.ebuild80
-rw-r--r--games-util/modrinth-app-bin/modrinth-app-bin-0.12.5.ebuild80
-rw-r--r--games-util/nml/Manifest1
-rw-r--r--games-util/nml/files/nml-0.7.5-regex-py313.patch20
-rw-r--r--games-util/nml/metadata.xml11
-rw-r--r--games-util/nml/nml-0.7.5.ebuild52
-rw-r--r--games-util/nml/nml-9999.ebuild44
-rw-r--r--games-util/oversteer/Manifest1
-rw-r--r--games-util/oversteer/metadata.xml13
-rw-r--r--games-util/oversteer/oversteer-0.8.3.ebuild61
-rw-r--r--games-util/oversteer/oversteer-9999.ebuild61
-rw-r--r--games-util/protonplus/Manifest1
-rw-r--r--games-util/protonplus/metadata.xml14
-rw-r--r--games-util/protonplus/protonplus-0.5.19.ebuild51
-rw-r--r--games-util/protonup-rs/Manifest387
-rw-r--r--games-util/protonup-rs/metadata.xml15
-rw-r--r--games-util/protonup-rs/protonup-rs-0.11.0.ebuild375
-rw-r--r--games-util/protonup-rs/protonup-rs-0.12.0.ebuild377
-rw-r--r--games-util/protonup-rs/protonup-rs-0.12.1.ebuild398
-rw-r--r--games-util/protonup/Manifest1
-rw-r--r--games-util/protonup/metadata.xml11
-rw-r--r--games-util/protonup/protonup-0.1.5.ebuild19
-rw-r--r--games-util/protonup/protonup-9999.ebuild17
-rw-r--r--games-util/qstat/Manifest2
-rw-r--r--games-util/qstat/files/qstat-2.14-gcc-10.patch43
-rw-r--r--games-util/qstat/files/qstat-2.14-unneeded-cast.patch14
-rw-r--r--games-util/qstat/metadata.xml12
-rw-r--r--games-util/qstat/qstat-2.14-r1.ebuild47
-rw-r--r--games-util/qstat/qstat-2.17.ebuild43
-rw-r--r--games-util/qzdl/Manifest1
-rw-r--r--games-util/qzdl/files/qzdl-cmake.patch36
-rw-r--r--games-util/qzdl/metadata.xml16
-rw-r--r--games-util/qzdl/qzdl-20250103.ebuild45
-rw-r--r--games-util/qzdl/qzdl-99999999.ebuild43
-rw-r--r--games-util/r2modman-bin/Manifest9
-rw-r--r--games-util/r2modman-bin/files/r2modman.desktop13
-rw-r--r--games-util/r2modman-bin/metadata.xml11
-rw-r--r--games-util/r2modman-bin/r2modman-bin-3.1.51.ebuild96
-rw-r--r--games-util/roll/Manifest1
-rw-r--r--games-util/roll/metadata.xml11
-rw-r--r--games-util/roll/roll-2.6.1.ebuild17
-rw-r--r--games-util/sc-controller/Manifest1
-rw-r--r--games-util/sc-controller/files/sc-controller-0.5.0-tomllib.patch35
-rw-r--r--games-util/sc-controller/metadata.xml14
-rw-r--r--games-util/sc-controller/sc-controller-0.5.0-r1.ebuild66
-rw-r--r--games-util/sdl2-gamepad-mapper/Manifest1
-rw-r--r--games-util/sdl2-gamepad-mapper/metadata.xml9
-rw-r--r--games-util/sdl2-gamepad-mapper/sdl2-gamepad-mapper-0.0.8-r1.ebuild37
-rw-r--r--games-util/slade/Manifest2
-rw-r--r--games-util/slade/files/slade-3.2.0_beta2-fluidsynth-driver.patch27
-rw-r--r--games-util/slade/files/slade-3.2.2-wayland.patch25
-rw-r--r--games-util/slade/files/slade-3.2.6-fix-sol.patch14
-rw-r--r--games-util/slade/files/slade-3.2.7-pkg-config.patch25
-rw-r--r--games-util/slade/files/slade-3.2.7-wayland.patch41
-rw-r--r--games-util/slade/metadata.xml14
-rw-r--r--games-util/slade/slade-3.2.6-r1.ebuild83
-rw-r--r--games-util/slade/slade-3.2.7-r1.ebuild86
-rw-r--r--games-util/steam-launcher/Manifest1
-rw-r--r--games-util/steam-launcher/files/apply-steam-non-gtar.patch8
-rw-r--r--games-util/steam-launcher/files/steam-non-gtar.patch17
-rw-r--r--games-util/steam-launcher/files/steam-wrapper.sh34
-rw-r--r--games-util/steam-launcher/metadata.xml22
-rw-r--r--games-util/steam-launcher/steam-launcher-1.0.0.85-r3.ebuild232
-rw-r--r--games-util/steamtinkerlaunch/Manifest1
-rw-r--r--games-util/steamtinkerlaunch/metadata.xml13
-rw-r--r--games-util/steamtinkerlaunch/steamtinkerlaunch-12.12.ebuild85
-rw-r--r--games-util/steamtinkerlaunch/steamtinkerlaunch-9999.ebuild79
-rw-r--r--games-util/ucon64/Manifest1
-rw-r--r--games-util/ucon64/files/ucon64-2.2.2-respect-flags.patch29
-rw-r--r--games-util/ucon64/metadata.xml11
-rw-r--r--games-util/ucon64/ucon64-2.2.2.ebuild63
-rw-r--r--games-util/umodpack/Manifest1
-rw-r--r--games-util/umodpack/files/umodpack-fixes.patch138
-rw-r--r--games-util/umodpack/metadata.xml8
-rw-r--r--games-util/umodpack/umodpack-0.5_beta16-r3.ebuild56
-rw-r--r--games-util/umu-launcher/Manifest43
-rw-r--r--games-util/umu-launcher/files/umu-launcher-1.2.9-optional-delta.patch15
-rw-r--r--games-util/umu-launcher/metadata.xml14
-rw-r--r--games-util/umu-launcher/umu-launcher-1.4.0.ebuild141
-rw-r--r--games-util/uz2unpack/Manifest1
-rw-r--r--games-util/uz2unpack/metadata.xml8
-rw-r--r--games-util/uz2unpack/uz2unpack-0.1.ebuild26
-rw-r--r--games-util/vispatch/Manifest1
-rw-r--r--games-util/vispatch/metadata.xml11
-rw-r--r--games-util/vispatch/vispatch-1.4.7.ebuild27
-rw-r--r--games-util/wiiload/Manifest1
-rw-r--r--games-util/wiiload/files/wiiload-0.5.3-stdbool.patch23
-rw-r--r--games-util/wiiload/metadata.xml8
-rw-r--r--games-util/wiiload/wiiload-0.5.3.ebuild26
-rw-r--r--games-util/wit/Manifest1
-rw-r--r--games-util/wit/files/wit-3.05a-makefile.patch266
-rw-r--r--games-util/wit/files/wit-3.05a-no-exec-stack.patch9
-rw-r--r--games-util/wit/metadata.xml8
-rw-r--r--games-util/wit/wit-3.05a.ebuild56
-rw-r--r--games-util/wxchtdecoder/Manifest1
-rw-r--r--games-util/wxchtdecoder/files/wxchtdecoder-1.5a-wxgtk.patch37
-rw-r--r--games-util/wxchtdecoder/metadata.xml8
-rw-r--r--games-util/wxchtdecoder/wxchtdecoder-1.5a-r3.ebuild31
-rw-r--r--games-util/xboxdrv/Manifest1
-rw-r--r--games-util/xboxdrv/files/org.seul.Xboxdrv.conf7
-rw-r--r--games-util/xboxdrv/files/xboxdrv.confd5
-rw-r--r--games-util/xboxdrv/files/xboxdrv.initd18
-rw-r--r--games-util/xboxdrv/files/xboxdrv.service14
-rw-r--r--games-util/xboxdrv/files/xboxdrv.udev-rules5
-rw-r--r--games-util/xboxdrv/metadata.xml9
-rw-r--r--games-util/xboxdrv/xboxdrv-0.8.11.ebuild74
-rw-r--r--games-util/xivlauncher/Manifest212
-rw-r--r--games-util/xivlauncher/metadata.xml19
-rw-r--r--games-util/xivlauncher/xivlauncher-1.3.1.ebuild286
-rw-r--r--games-util/xone/Manifest8
-rw-r--r--games-util/xone/files/Makefile7
-rw-r--r--games-util/xone/metadata.xml16
-rw-r--r--games-util/xone/xone-0.5.5.ebuild81
-rw-r--r--games-util/xone/xone-0.5.6.ebuild81
-rw-r--r--games-util/xone/xone-0.5.7.ebuild81
-rw-r--r--games-util/xone/xone-0.5.8.ebuild81
-rw-r--r--games-util/xpadneo/Manifest3
-rw-r--r--games-util/xpadneo/metadata.xml11
-rw-r--r--games-util/xpadneo/xpadneo-0.10.1.ebuild51
-rw-r--r--games-util/xpadneo/xpadneo-0.10.2.ebuild51
-rw-r--r--games-util/xpadneo/xpadneo-0.9.8.ebuild54
-rw-r--r--games-util/xpadneo/xpadneo-9999.ebuild49
-rw-r--r--games-util/xqf/Manifest1
-rw-r--r--games-util/xqf/files/xqf-1.0.6.2-fno-common.patch21
-rw-r--r--games-util/xqf/files/xqf-1.0.6.2-underlink.patch30
-rw-r--r--games-util/xqf/files/xqf-1.0.6.2-zlib-1.2.5.1-compile-fix.patch11
-rw-r--r--games-util/xqf/metadata.xml12
-rw-r--r--games-util/xqf/xqf-1.0.6.2.ebuild48
340 files changed, 14399 insertions, 0 deletions
diff --git a/games-util/NotEnoughProduction/Manifest b/games-util/NotEnoughProduction/Manifest
new file mode 100644
index 000000000000..86b86c8211d1
--- /dev/null
+++ b/games-util/NotEnoughProduction/Manifest
@@ -0,0 +1,5 @@
+DIST NotEnoughProduction-0.0.4.zip 12155569 BLAKE2B e277d0f6fdbb46c56daaeb8b1ca8debad7d9897ade544a2a58d7a1fd4580f56643b42610701f88be14de1dbc408053dff72be1884367b32538ad44392c896db2 SHA512 8539d49820f4bd945e48d4498fc5d97626d84b265c27bee67817f2b86614e245c9eae4ed2b4a03703593b8bb1d6ba2572efdf3c9a9fcd996b9505f4e3c4ccc29
+DIST NotEnoughProduction-128.png 10575 BLAKE2B 0dcc96c74f03eb38ef017b229fc6389a549c76a34fa2a370910176baf33be7ece26a3d22093375c99cf918b41c7623a988111e870f806cd952731a76f10dd39d SHA512 f126ca7af3e2b5e09be559a0d4a431ba73655c0cb65576300431c2cc9469ad2f43a4dfcfc5c9a132c10c41e56b1945ea6a5b37adf6e01e1db4cfb9e109120c14
+DIST NotEnoughProduction-16.png 879 BLAKE2B c95d0de65e4267f90c603caa01c4d76e09dc80156eb89f78093c95be36bb24e0fffeea5193bd0df46d427a0e89b9de4577f9f040d6a166fea23f3e9b2d34ea8d SHA512 0993cc377a0b7b1147521e0e1ea1a480dacab9ec091abede1005602ce35009d662a1baca3f8057580d24601a35f4ac29b279d56d5d0d78fe58d9e69efe5bbda4
+DIST NotEnoughProduction-32.png 2092 BLAKE2B 014b92f7e990a516bfc226bba7e34d6aa637df25508025475347e24fa56ccb92d71d6f7ab6c964df658b74898fab550d5ecb090a4fd47f7221e530c9e432bfe3 SHA512 89a032e2853055bd68bcbce59633b55d58afee79b7a7804f60c0c1421b107dd0ce4a29ad5bbcf4c51db68009796e1ffc08da18d087ef419f22de8e9691c01328
+DIST NotEnoughProduction-64.png 5135 BLAKE2B 613761dda6991f81baedca991d511703840aced7a89993213df409079709ae15ad8aa5defe8d511f29d783bd116a46425bfdcc77219cf3016f2d5b8571e8eb01 SHA512 94b32be1dc20894a46cb3cd79628602d4aacc94ef566bf5786308d551c20eec093edd63513aa05f754c864325ca7286f622934462037a29b53819e041d1b7cc8
diff --git a/games-util/NotEnoughProduction/NotEnoughProduction-0.0.4.ebuild b/games-util/NotEnoughProduction/NotEnoughProduction-0.0.4.ebuild
new file mode 100644
index 000000000000..55998863cf7b
--- /dev/null
+++ b/games-util/NotEnoughProduction/NotEnoughProduction-0.0.4.ebuild
@@ -0,0 +1,42 @@
+# Copyright 2019-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit desktop java-pkg-2 xdg
+
+DESCRIPTION="Tool for building production chains for modded minecraft"
+HOMEPAGE="https://github.com/bigbass1997/NotEnoughProduction"
+SRC_URI="
+ https://github.com/bigbass1997/${PN}/releases/download/v${PV}/${P}.zip
+ https://raw.githubusercontent.com/bigbass1997/${PN}/master/lwjgl3/src/main/resources/libgdx128.png -> ${PN}-128.png
+ https://raw.githubusercontent.com/bigbass1997/${PN}/master/lwjgl3/src/main/resources/libgdx64.png -> ${PN}-64.png
+ https://raw.githubusercontent.com/bigbass1997/${PN}/master/lwjgl3/src/main/resources/libgdx32.png -> ${PN}-32.png
+ https://raw.githubusercontent.com/bigbass1997/${PN}/master/lwjgl3/src/main/resources/libgdx16.png -> ${PN}-16.png
+"
+
+S="${WORKDIR}"
+
+LICENSE="CC-BY-NC-SA-4.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="virtual/jre:1.8"
+BDEPEND="app-arch/unzip"
+
+src_unpack() {
+ default
+ cp "${DISTDIR}/${PN}"-{16,32,64,128}.png "${S}" || die
+}
+
+src_install() {
+ java-pkg_newjar "${WORKDIR}/${P}.jar" "${PN}.jar"
+
+ dobin "${FILESDIR}/${PN}"
+
+ newicon -s 128x128 "${PN}-128.png" nep.png
+ newicon -s 64x64 "${PN}-64.png" nep.png
+ newicon -s 32x32 "${PN}-32.png" nep.png
+ newicon -s 16x16 "${PN}-16.png" nep.png
+ make_desktop_entry "${PN}" "Not Enough Production" nep Utility
+}
diff --git a/games-util/NotEnoughProduction/files/NotEnoughProduction b/games-util/NotEnoughProduction/files/NotEnoughProduction
new file mode 100644
index 000000000000..05289ad4a85b
--- /dev/null
+++ b/games-util/NotEnoughProduction/files/NotEnoughProduction
@@ -0,0 +1,9 @@
+#!/usr/bin/env bash
+
+# we need to execute this in a user writeable directory
+
+mkdir -p ${HOME}/.local/share/NotEnoughProduction
+cp /usr/share/NotEnoughProduction/lib/NotEnoughProduction.jar ${HOME}/.local/share/NotEnoughProduction/NotEnoughProduction.jar
+pushd ${HOME}/.local/share/NotEnoughProduction
+java -jar ${HOME}/.local/share/NotEnoughProduction/NotEnoughProduction.jar
+popd
diff --git a/games-util/NotEnoughProduction/metadata.xml b/games-util/NotEnoughProduction/metadata.xml
new file mode 100644
index 000000000000..21df3a30e7c7
--- /dev/null
+++ b/games-util/NotEnoughProduction/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <!-- maintainer-needed -->
+ <upstream>
+ <remote-id type="github">bigbass1997/NotEnoughProduction</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/games-util/ProtonUp-Qt/Manifest b/games-util/ProtonUp-Qt/Manifest
new file mode 100644
index 000000000000..3a71823c9bb0
--- /dev/null
+++ b/games-util/ProtonUp-Qt/Manifest
@@ -0,0 +1,2 @@
+DIST ProtonUp-Qt-2.12.0.tar.gz 1007595 BLAKE2B 368dfd40c3f9cf5c6d794499af2f883e36b84ddad1b9465a5325d328bdfae4c1ac88b58846fa1309dfa2ef431b4df2402b9865b8ce3ac086b8d5e838b61199f2 SHA512 9efb608e3b4cde605351136811a2b201d0d05687de60dee8ad3d8fe932ade2b3298106a0d43bef933aca952ab393ed4c9817ddb4656bdb44a51f0594becfb6b4
+DIST ProtonUp-Qt-2.13.0.tar.gz 1011064 BLAKE2B 73c33ce38ba9417452024f66c9dff82e72aff24b42a78faa8d2457c33310e4550b54ca848856cd55ce7606a79192b9989b2fc622670434a10b7ec0002bd9e2e0 SHA512 4b46d64b61ea3b06dc2a1589855f5d6f87f2cc5a0bf482bda7843cfcd7731eaf85f8a1e8dc96856a479a576811fd1c3115ccb6526df1d797b268469b32f23a2f
diff --git a/games-util/ProtonUp-Qt/ProtonUp-Qt-2.12.0.ebuild b/games-util/ProtonUp-Qt/ProtonUp-Qt-2.12.0.ebuild
new file mode 100644
index 000000000000..797f9bb50af7
--- /dev/null
+++ b/games-util/ProtonUp-Qt/ProtonUp-Qt-2.12.0.ebuild
@@ -0,0 +1,56 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit desktop distutils-r1 xdg
+
+DESCRIPTION="Install and manage GE-Proton, Luxtorpeda & more for Steam Lutris and Heroic."
+HOMEPAGE="https://davidotek.github.io/protonup-qt/"
+
+SRC_URI="
+ https://github.com/DavidoTek/ProtonUp-Qt/archive/refs/tags/v${PV}.tar.gz
+ -> ${P}.tar.gz
+"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ >=dev-python/pyaml-6.0[${PYTHON_USEDEP}]
+ >=dev-python/pyside-6.3.0[dbus,gui,uitools,widgets,${PYTHON_USEDEP}]
+ >=dev-python/pyxdg-0.27[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.27.0[${PYTHON_USEDEP}]
+ >=dev-python/steam-1.6.1[${PYTHON_USEDEP}]
+ >=dev-python/vdf-4.0[${PYTHON_USEDEP}]
+ >=dev-python/zstandard-0.19.0[${PYTHON_USEDEP}]
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-2.11.1-add-entrypoint.patch"
+)
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ # execute entry point instead
+ sed -i "/^Exec=/s/net.davidotek.pupgui2/${PN}/" share/applications/net.davidotek.pupgui2.desktop || die
+ distutils-r1_src_prepare
+}
+
+src_install() {
+ distutils-r1_src_install
+ domenu share/applications/net.davidotek.pupgui2.desktop
+ for size in 64 128 256; do
+ doicon -s ${size} share/icons/hicolor/${size}x${size}/apps/net.davidotek.pupgui2.png
+ done
+}
+
+src_test() {
+ local -x QT_QPA_PLATFORM=offscreen
+ distutils-r1_src_test
+}
diff --git a/games-util/ProtonUp-Qt/ProtonUp-Qt-2.13.0.ebuild b/games-util/ProtonUp-Qt/ProtonUp-Qt-2.13.0.ebuild
new file mode 100644
index 000000000000..38c113909bcb
--- /dev/null
+++ b/games-util/ProtonUp-Qt/ProtonUp-Qt-2.13.0.ebuild
@@ -0,0 +1,65 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit desktop distutils-r1 xdg
+
+DESCRIPTION="Install and manage GE-Proton, Luxtorpeda & more for Steam Lutris and Heroic."
+HOMEPAGE="https://davidotek.github.io/protonup-qt/"
+
+SRC_URI="
+ https://github.com/DavidoTek/ProtonUp-Qt/archive/refs/tags/v${PV}.tar.gz
+ -> ${P}.tar.gz
+"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ >=dev-python/pyaml-6.0[${PYTHON_USEDEP}]
+ >=dev-python/pyside-6.3.0[dbus,gui,uitools,widgets,${PYTHON_USEDEP}]
+ >=dev-python/pyxdg-0.27[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.27.0[${PYTHON_USEDEP}]
+ >=dev-python/steam-1.6.1[${PYTHON_USEDEP}]
+ >=dev-python/vdf-4.0[${PYTHON_USEDEP}]
+ >=dev-python/zstandard-0.19.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/responses[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_DESELECT=(
+ # pytest-responses is not packaged
+ tests/test_util.py::test_is_online
+ tests/test_util.py::test_is_online_errors
+)
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ # execute entry point instead
+ sed -i "/^Exec=/s/net.davidotek.pupgui2/${PN,,}/" share/applications/net.davidotek.pupgui2.desktop || die
+ # pytest-responses is not packaged (and not useful for us anyway)
+ sed -i -e "/^import pytest_responses/d" tests/test_util.py || die
+ distutils-r1_src_prepare
+}
+
+src_install() {
+ distutils-r1_src_install
+ domenu share/applications/net.davidotek.pupgui2.desktop
+ for size in 64 128 256; do
+ doicon -s ${size} share/icons/hicolor/${size}x${size}/apps/net.davidotek.pupgui2.png
+ done
+}
+
+src_test() {
+ local -x QT_QPA_PLATFORM=offscreen
+ distutils-r1_src_test
+}
diff --git a/games-util/ProtonUp-Qt/ProtonUp-Qt-9999.ebuild b/games-util/ProtonUp-Qt/ProtonUp-Qt-9999.ebuild
new file mode 100644
index 000000000000..f59d9d55fa58
--- /dev/null
+++ b/games-util/ProtonUp-Qt/ProtonUp-Qt-9999.ebuild
@@ -0,0 +1,60 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit desktop distutils-r1 git-r3 xdg
+
+DESCRIPTION="Install and manage GE-Proton, Luxtorpeda & more for Steam Lutris and Heroic."
+HOMEPAGE="https://davidotek.github.io/protonup-qt/"
+EGIT_REPO_URI="https://github.com/DavidoTek/ProtonUp-Qt.git"
+
+LICENSE="GPL-3"
+SLOT="0"
+
+RDEPEND="
+ >=dev-python/pyaml-6.0[${PYTHON_USEDEP}]
+ >=dev-python/pyside-6.3.0[dbus,gui,uitools,widgets,${PYTHON_USEDEP}]
+ >=dev-python/pyxdg-0.27[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.27.0[${PYTHON_USEDEP}]
+ >=dev-python/steam-1.6.1[${PYTHON_USEDEP}]
+ >=dev-python/vdf-4.0[${PYTHON_USEDEP}]
+ >=dev-python/zstandard-0.19.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/responses[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_DESELECT=(
+ # pytest-responses is not packaged
+ tests/test_util.py::test_is_online
+ tests/test_util.py::test_is_online_errors
+)
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ # execute entry point instead
+ sed -i "/^Exec=/s/net.davidotek.pupgui2/${PN,,}/" share/applications/net.davidotek.pupgui2.desktop || die
+ # pytest-responses is not packaged (and not useful for us anyway)
+ sed -i -e "/^import pytest_responses/d" tests/test_util.py || die
+ distutils-r1_src_prepare
+}
+
+src_install() {
+ distutils-r1_src_install
+ domenu share/applications/net.davidotek.pupgui2.desktop
+ for size in 64 128 256; do
+ doicon -s ${size} share/icons/hicolor/${size}x${size}/apps/net.davidotek.pupgui2.png
+ done
+}
+
+src_test() {
+ local -x QT_QPA_PLATFORM=offscreen
+ distutils-r1_src_test
+}
diff --git a/games-util/ProtonUp-Qt/files/ProtonUp-Qt-2.11.1-add-entrypoint.patch b/games-util/ProtonUp-Qt/files/ProtonUp-Qt-2.11.1-add-entrypoint.patch
new file mode 100644
index 000000000000..7d258ae3665c
--- /dev/null
+++ b/games-util/ProtonUp-Qt/files/ProtonUp-Qt-2.11.1-add-entrypoint.patch
@@ -0,0 +1,11 @@
+Add a GUI entry point.
+--- a/setup.cfg
++++ b/setup.cfg
+@@ -30,3 +30,7 @@ install_requires =
+ zstandard>=0.19.0
+
+ packages = find:
++
++[options.entry_points]
++gui_scripts =
++ ProtonUp-Qt = pupgui2.pupgui2:main
diff --git a/games-util/ProtonUp-Qt/metadata.xml b/games-util/ProtonUp-Qt/metadata.xml
new file mode 100644
index 000000000000..9aa3eff5b195
--- /dev/null
+++ b/games-util/ProtonUp-Qt/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>gonegrier.duarte@gmail.com</email>
+ <name>Gonçalo Negrier Duarte</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">DavidoTek/ProtonUp-Qt</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/games-util/acc/Manifest b/games-util/acc/Manifest
new file mode 100644
index 000000000000..bd1cd2726385
--- /dev/null
+++ b/games-util/acc/Manifest
@@ -0,0 +1 @@
+DIST acc-1.60.tar.gz 70750 BLAKE2B 57ab6ae8f3a818f4bd3bfb97554e6e04df246f7cfb3f1dc59c7a817cb15000325aa4e4769830d4a1caefa7aa557c803ea1535e58e754adb4438d6858cbf79b99 SHA512 9d44fccd092226ed1c89abf7e13e74a91b05355ea11914768946f81ff74999152cf535ee59eb4c4f9b876100f48cc1d8853daa59add1af59f538bf6b5da84499
diff --git a/games-util/acc/acc-1.60.ebuild b/games-util/acc/acc-1.60.ebuild
new file mode 100644
index 000000000000..ffd9e41b2747
--- /dev/null
+++ b/games-util/acc/acc-1.60.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="ACS script compiler for use with ZDoom and Hexen"
+HOMEPAGE="https://zdoom.org/wiki/ACC"
+SRC_URI="https://github.com/ZDoom/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Activision"
+SLOT="0"
+KEYWORDS="~amd64"
+
+# The Activision EULA is inappropriate but this was never resolved. :(
+# https://doomwiki.org/wiki/Raven_source_code_licensing
+RESTRICT="bindist mirror"
+
+PATCHES=( "${FILESDIR}/${P}-cmake.patch" )
+
+src_install() {
+ dobin "${BUILD_DIR}"/${PN}
+ dodoc readme.md
+
+ insinto /usr/share/${PN}
+ doins *.acs
+}
diff --git a/games-util/acc/files/acc-1.60-cmake.patch b/games-util/acc/files/acc-1.60-cmake.patch
new file mode 100644
index 000000000000..4245ddf0df69
--- /dev/null
+++ b/games-util/acc/files/acc-1.60-cmake.patch
@@ -0,0 +1,19 @@
+From df6a2735acccad9131ce73fa07506445cfe69ec2 Mon Sep 17 00:00:00 2001
+From: Rachael Alexanderson <madame-rachelle@users.noreply.github.com>
+Date: Wed, 26 Mar 2025 05:24:13 -0400
+Subject: [PATCH] - use cmake range syntax
+
+---
+ CMakeLists.txt | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 9dc54c3..d83a8ae 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -1,4 +1,4 @@
+-cmake_minimum_required(VERSION 2.4)
++cmake_minimum_required(VERSION 3.5...4.0)
+
+ project(acc)
+
diff --git a/games-util/acc/metadata.xml b/games-util/acc/metadata.xml
new file mode 100644
index 000000000000..7713ecf29400
--- /dev/null
+++ b/games-util/acc/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>games@gentoo.org</email>
+ <name>Gentoo Games Project</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">ZDoom/acc</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/games-util/antimicrox/Manifest b/games-util/antimicrox/Manifest
new file mode 100644
index 000000000000..6c947650afb6
--- /dev/null
+++ b/games-util/antimicrox/Manifest
@@ -0,0 +1,3 @@
+DIST antimicrox-3.5.1.tar.gz 2479077 BLAKE2B c86e76996a3d3b7a87c6f01d967f7807cdb2c2bab256493816f8a32a6539f44e73346a2fbc3f715fa793546e139b71201d401b355768985dd56b858dc0c63324 SHA512 c2363b7c8a33b413e5d92b0e8cf9781ab4aa27fd13850ac4374b5fe0ae2b3d6b6396d8dc3a84277cacf4a5c0c8b982d37d10a729babdd3ffca0d9e169ef34cff
+DIST antimicrox-3.6.0.gh.tar.gz 2656744 BLAKE2B 5cf2c54745c016d8b503bd64a9da906b61afd3c9ac94e1664eada10081445c1b469998530d681216521d215d63b210baed92e22bfb53288919be8e9b094b3065 SHA512 ac2b8f5ddc49898b71298d3373c4a7529c84c058ac90d9ce3f4196f53b9d91994747a6e737ed0e3602c817fc90db4282d530a29f144666fb8c43a0f2c8b53056
+DIST antimicrox-3.6.1.gh.tar.gz 2655618 BLAKE2B 98a1642d6c62002c081fe4dff1a6801f5a33d6ee934265dc9ad1605df7769d8d586769b43c47f5548d4ffb02892d750646f887c6f2f5ce1a8b5976ffead3e746 SHA512 d15ec1bac68f7626129041f6289b5183f8438d86b248054c422ee6c12d779083d328b015e0b15cb747da93048ac7c5340f848f2fcec354050cf36b7e2630b47f
diff --git a/games-util/antimicrox/antimicrox-3.5.1.ebuild b/games-util/antimicrox/antimicrox-3.5.1.ebuild
new file mode 100644
index 000000000000..ef44665a7b31
--- /dev/null
+++ b/games-util/antimicrox/antimicrox-3.5.1.ebuild
@@ -0,0 +1,91 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit udev xdg cmake
+
+DESCRIPTION="Graphical program used to map keyboard buttons and mouse controls to a gamepad"
+HOMEPAGE="https://github.com/AntiMicroX/antimicrox/"
+
+if [[ "${PV}" == *9999* ]] ; then
+ inherit git-r3
+
+ EGIT_REPO_URI="https://github.com/AntiMicroX/${PN}.git"
+else
+ SRC_URI="https://github.com/AntiMicroX/${PN}/archive/${PV}.tar.gz
+ -> ${P}.tar.gz"
+
+ KEYWORDS="amd64 ~x86"
+fi
+
+LICENSE="GPL-3+"
+SLOT="0"
+IUSE="doc"
+
+# Tests fail to build.
+# https://github.com/AntiMicroX/antimicrox/issues/530
+RESTRICT="test"
+
+RDEPEND="
+ dev-qt/qtbase:6[concurrent,gui,network,widgets]
+ media-libs/libsdl2[X,joystick]
+ virtual/udev
+ x11-libs/libX11
+ x11-libs/libXi
+ x11-libs/libXtst
+"
+DEPEND="
+ ${RDEPEND}
+"
+BDEPEND="
+ dev-qt/qttools:6[linguist]
+ kde-frameworks/extra-cmake-modules
+ doc? (
+ app-text/doxygen[dot]
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}/antimicrox-man_gz.patch"
+ "${FILESDIR}/antimicrox-3.5.1-cmake_minimum_required.patch"
+)
+
+DOCS=( CHANGELOG.md README.md )
+
+src_configure() {
+ local -a mycmakeargs=(
+ -DAPPDATA="OFF"
+ -DCHECK_FOR_UPDATES="OFF"
+ -DINSTALL_UINPUT_UDEV_RULES="OFF" # Install in "src_install".
+ -DUSE_QT6_BY_DEFAULT="ON"
+ -DWITH_TESTS="OFF"
+ -DWITH_UINPUT="ON"
+ -DWITH_X11="ON"
+ -DWITH_XTEST="ON"
+
+ -DBUILD_DOCS="$(usex doc ON OFF)"
+ )
+ cmake_src_configure
+}
+
+src_install() {
+ cmake_src_install
+ udev_dorules "${S}/other/60-${PN}-uinput.rules"
+
+ if use doc ; then
+ dodoc -r "${S}/docs"/{html,latex}
+ fi
+
+ rm -r "${ED}/usr/share/doc/${PN}" || die
+}
+
+pkg_postinst() {
+ udev_reload
+ xdg_pkg_postinst
+}
+
+pkg_postrm() {
+ udev_reload
+ xdg_pkg_postrm
+}
diff --git a/games-util/antimicrox/antimicrox-3.6.0.ebuild b/games-util/antimicrox/antimicrox-3.6.0.ebuild
new file mode 100644
index 000000000000..1b5f1fcd7ca2
--- /dev/null
+++ b/games-util/antimicrox/antimicrox-3.6.0.ebuild
@@ -0,0 +1,91 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit udev xdg cmake
+
+DESCRIPTION="Graphical program used to map keyboard buttons and mouse controls to a gamepad"
+HOMEPAGE="https://github.com/AntiMicroX/antimicrox/"
+
+if [[ "${PV}" == *9999* ]] ; then
+ inherit git-r3
+
+ EGIT_REPO_URI="https://github.com/AntiMicroX/${PN}"
+else
+ SRC_URI="https://github.com/AntiMicroX/${PN}/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz"
+
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="GPL-3+"
+SLOT="0"
+IUSE="doc"
+
+# Tests fail to build.
+# https://github.com/AntiMicroX/antimicrox/issues/530
+RESTRICT="test"
+
+RDEPEND="
+ dev-qt/qtbase:6[concurrent,gui,network,widgets]
+ media-libs/libsdl2[X,joystick]
+ virtual/udev
+ x11-libs/libX11
+ x11-libs/libXi
+ x11-libs/libXtst
+"
+DEPEND="
+ ${RDEPEND}
+"
+BDEPEND="
+ dev-qt/qttools:6[linguist]
+ kde-frameworks/extra-cmake-modules
+ doc? (
+ app-text/doxygen[dot]
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}/antimicrox-man_gz.patch"
+ "${FILESDIR}/antimicrox-3.5.1-cmake_minimum_required.patch"
+)
+
+DOCS=( CHANGELOG.md README.md )
+
+src_configure() {
+ local -a mycmakeargs=(
+ -DAPPDATA="OFF"
+ -DCHECK_FOR_UPDATES="OFF"
+ -DINSTALL_UINPUT_UDEV_RULES="OFF" # Install in "src_install".
+ -DUSE_QT6_BY_DEFAULT="ON"
+ -DWITH_TESTS="OFF"
+ -DWITH_UINPUT="ON"
+ -DWITH_X11="ON"
+ -DWITH_XTEST="ON"
+
+ -DBUILD_DOCS="$(usex doc ON OFF)"
+ )
+ cmake_src_configure
+}
+
+src_install() {
+ cmake_src_install
+ udev_dorules "${S}/other/60-${PN}-uinput.rules"
+
+ if use doc ; then
+ dodoc -r "${S}/docs"/{html,latex}
+ fi
+
+ rm -f -r "${ED}/usr/share/doc/${PN}" || die
+}
+
+pkg_postinst() {
+ udev_reload
+ xdg_pkg_postinst
+}
+
+pkg_postrm() {
+ udev_reload
+ xdg_pkg_postrm
+}
diff --git a/games-util/antimicrox/antimicrox-3.6.1.ebuild b/games-util/antimicrox/antimicrox-3.6.1.ebuild
new file mode 100644
index 000000000000..1b5f1fcd7ca2
--- /dev/null
+++ b/games-util/antimicrox/antimicrox-3.6.1.ebuild
@@ -0,0 +1,91 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit udev xdg cmake
+
+DESCRIPTION="Graphical program used to map keyboard buttons and mouse controls to a gamepad"
+HOMEPAGE="https://github.com/AntiMicroX/antimicrox/"
+
+if [[ "${PV}" == *9999* ]] ; then
+ inherit git-r3
+
+ EGIT_REPO_URI="https://github.com/AntiMicroX/${PN}"
+else
+ SRC_URI="https://github.com/AntiMicroX/${PN}/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz"
+
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="GPL-3+"
+SLOT="0"
+IUSE="doc"
+
+# Tests fail to build.
+# https://github.com/AntiMicroX/antimicrox/issues/530
+RESTRICT="test"
+
+RDEPEND="
+ dev-qt/qtbase:6[concurrent,gui,network,widgets]
+ media-libs/libsdl2[X,joystick]
+ virtual/udev
+ x11-libs/libX11
+ x11-libs/libXi
+ x11-libs/libXtst
+"
+DEPEND="
+ ${RDEPEND}
+"
+BDEPEND="
+ dev-qt/qttools:6[linguist]
+ kde-frameworks/extra-cmake-modules
+ doc? (
+ app-text/doxygen[dot]
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}/antimicrox-man_gz.patch"
+ "${FILESDIR}/antimicrox-3.5.1-cmake_minimum_required.patch"
+)
+
+DOCS=( CHANGELOG.md README.md )
+
+src_configure() {
+ local -a mycmakeargs=(
+ -DAPPDATA="OFF"
+ -DCHECK_FOR_UPDATES="OFF"
+ -DINSTALL_UINPUT_UDEV_RULES="OFF" # Install in "src_install".
+ -DUSE_QT6_BY_DEFAULT="ON"
+ -DWITH_TESTS="OFF"
+ -DWITH_UINPUT="ON"
+ -DWITH_X11="ON"
+ -DWITH_XTEST="ON"
+
+ -DBUILD_DOCS="$(usex doc ON OFF)"
+ )
+ cmake_src_configure
+}
+
+src_install() {
+ cmake_src_install
+ udev_dorules "${S}/other/60-${PN}-uinput.rules"
+
+ if use doc ; then
+ dodoc -r "${S}/docs"/{html,latex}
+ fi
+
+ rm -f -r "${ED}/usr/share/doc/${PN}" || die
+}
+
+pkg_postinst() {
+ udev_reload
+ xdg_pkg_postinst
+}
+
+pkg_postrm() {
+ udev_reload
+ xdg_pkg_postrm
+}
diff --git a/games-util/antimicrox/files/antimicrox-3.5.1-cmake_minimum_required.patch b/games-util/antimicrox/files/antimicrox-3.5.1-cmake_minimum_required.patch
new file mode 100644
index 000000000000..97368ebf6732
--- /dev/null
+++ b/games-util/antimicrox/files/antimicrox-3.5.1-cmake_minimum_required.patch
@@ -0,0 +1,8 @@
+--- a/tests/CMakeLists.txt
++++ b/tests/CMakeLists.txt
+@@ -1,4 +1,4 @@
+-cmake_minimum_required(VERSION 2.8.11)
++cmake_minimum_required(VERSION 3.20)
+ project(aboutdialogClass)
+
+ # Tell CMake to run moc when necessary:
diff --git a/games-util/antimicrox/files/antimicrox-man_gz.patch b/games-util/antimicrox/files/antimicrox-man_gz.patch
new file mode 100644
index 000000000000..0a6bb9cae71c
--- /dev/null
+++ b/games-util/antimicrox/files/antimicrox-man_gz.patch
@@ -0,0 +1,13 @@
+diff --git a/other/CMakeLists.txt b/other/CMakeLists.txt
+index 22b10574..66f2e483 100644
+--- a/other/CMakeLists.txt
++++ b/other/CMakeLists.txt
+@@ -1,7 +1,3 @@
+ add_subdirectory(appdata)
+
+-add_custom_target(manpage)
+-add_custom_command(TARGET manpage PRE_BUILD
+- COMMAND gzip -c -9 -n "${PROJECT_SOURCE_DIR}/other/antimicrox.1" > "antimicrox.1.gz" VERBATIM
+- )
+-install(FILES "${CMAKE_CURRENT_BINARY_DIR}/antimicrox.1.gz" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/man/man1")
++install(FILES "${PROJECT_SOURCE_DIR}/other/antimicrox.1" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/man/man1")
diff --git a/games-util/antimicrox/metadata.xml b/games-util/antimicrox/metadata.xml
new file mode 100644
index 000000000000..77865b917d88
--- /dev/null
+++ b/games-util/antimicrox/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="person">
+ <email>xgqt@gentoo.org</email>
+ <name>Maciej Barć</name>
+ </maintainer>
+ <upstream>
+ <bugs-to>https://github.com/AntiMicroX/antimicrox/issues</bugs-to>
+ <remote-id type="github">AntiMicroX/antimicrox</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/games-util/atlas/Manifest b/games-util/atlas/Manifest
new file mode 100644
index 000000000000..223651df098b
--- /dev/null
+++ b/games-util/atlas/Manifest
@@ -0,0 +1 @@
+DIST atlas-hgcode-d4e5360f8273823205d9dc066547f5077ffc13e2.zip 795465 BLAKE2B 2e3afa478bf791bd96233bfcf8cfbbc9ecb41458591bbf8262c4c720bc4393b8f3b0c023fdf7a5f98a9e68ae89bc478660521eb79fe7a2b8f9c0b156917754c2 SHA512 fbad07ee7f416506bff6c338bb53f05b3c59759df23eeb732c8e525f2a4d7622941d018871357c3367ce8dea81d6b38d8811f65b0678e8e0bf572d5757f4221d
diff --git a/games-util/atlas/atlas-0.6.1_beta_pre20181202.ebuild b/games-util/atlas/atlas-0.6.1_beta_pre20181202.ebuild
new file mode 100644
index 000000000000..7cc5f6bdb9ae
--- /dev/null
+++ b/games-util/atlas/atlas-0.6.1_beta_pre20181202.ebuild
@@ -0,0 +1,58 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit autotools
+
+MY_PN=atlas-hgcode
+MY_PV=d4e5360f8273823205d9dc066547f5077ffc13e2
+MY_P="${MY_PN}-${MY_PV}"
+
+DESCRIPTION="Chart Program to use with Flightgear Flight Simulator"
+HOMEPAGE="https://atlas.sourceforge.net/"
+SRC_URI="https://dev.gentoo.org/~reavertm/${MY_P}.zip"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+COMMON_DEPEND="
+ media-libs/freeglut
+ media-libs/glew:0=
+ media-libs/libpng:0=
+ media-libs/plib
+ net-misc/curl
+ virtual/zlib:=
+ virtual/glu
+ virtual/jpeg:0
+ virtual/opengl
+"
+DEPEND="${COMMON_DEPEND}
+ >=dev-games/simgear-3.0.0
+"
+RDEPEND="${COMMON_DEPEND}
+ >=games-simulation/flightgear-3.0.0
+"
+BDEPEND="app-arch/unzip"
+
+S=${WORKDIR}/${MY_P}
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ --datadir="${EPREFIX}"/usr/share/flightgear \
+ --enable-simgear-shared \
+ --with-fgbase="${EPREFIX}"/usr/share/flightgear
+}
+
+pkg_postinst() {
+ elog "To run Atlas concurrently with FlightGear use the following:"
+ elog "Atlas --path=[path of map images] --udp=[port number]"
+ elog "and start fgfs with the following switch (or in .fgfsrc):"
+ elog "--nmea=socket,out,0.5,[host that you run Atlas on],[port number],udp"
+}
diff --git a/games-util/atlas/metadata.xml b/games-util/atlas/metadata.xml
new file mode 100644
index 000000000000..0621020006c8
--- /dev/null
+++ b/games-util/atlas/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>games@gentoo.org</email>
+ <name>Gentoo Games Project</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="sourceforge">atlas</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/games-util/basis_universal/Manifest b/games-util/basis_universal/Manifest
new file mode 100644
index 000000000000..e7c1a030df36
--- /dev/null
+++ b/games-util/basis_universal/Manifest
@@ -0,0 +1 @@
+DIST basis_universal-1.16.4.tar.gz 29156236 BLAKE2B 7beb64406a849e052e74a360803ddf197daaf74f6682f372535645f4e148b28da45c93607b54b81e82a70d44e878489c54cb5054155c5837fecef951e3fd9a2a SHA512 7f7dd62741b4a3e13050233a2ed751e6108cde9eab7b05ea5882ded6ab49fe181cc30e795cf73f8fa625a71e77ae891fda5ea84e20b632b1397844d6539715b3
diff --git a/games-util/basis_universal/basis_universal-1.16.4.ebuild b/games-util/basis_universal/basis_universal-1.16.4.ebuild
new file mode 100644
index 000000000000..d5ffebc5b256
--- /dev/null
+++ b/games-util/basis_universal/basis_universal-1.16.4.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake toolchain-funcs
+
+DESCRIPTION="Basis Universal GPU Texture Codec"
+HOMEPAGE="https://github.com/BinomialLLC/basis_universal"
+# dist .zip is just a exe for windows
+SRC_URI="https://github.com/BinomialLLC/basis_universal/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0 zstd? ( BSD )"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+IUSE="cpu_flags_x86_sse4_1 opencl zstd"
+
+# zstd is bundled, see https://github.com/BinomialLLC/basis_universal/pull/228
+DEPEND="
+ opencl? ( virtual/opencl )
+"
+RDEPEND="${DEPEND}"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.16.3-respect-CFLAGS.patch
+ "${FILESDIR}"/${PN}-1.16.3-fix-RPATH.patch
+ "${FILESDIR}"/${PN}-1.16.3-SSE4.1-AVX-checks.patch
+)
+
+src_configure() {
+ local x64=ON
+ if $(tc-getCC) -dM -E -x c - < <(echo 'int main() { }') | grep -qi "#define __PTRDIFF_WIDTH__ 32" ; then
+ x64=OFF
+ fi
+
+ local mycmakeargs=(
+ -DBUILD_X64=${x64}
+ -DOPENCL=$(usex opencl)
+ -DSSE=$(usex cpu_flags_x86_sse4_1)
+ -DZSTD=$(usex zstd)
+ )
+
+ cmake_src_configure
+}
diff --git a/games-util/basis_universal/files/basis_universal-1.16.3-SSE4.1-AVX-checks.patch b/games-util/basis_universal/files/basis_universal-1.16.3-SSE4.1-AVX-checks.patch
new file mode 100644
index 000000000000..89be7b13482e
--- /dev/null
+++ b/games-util/basis_universal/files/basis_universal-1.16.3-SSE4.1-AVX-checks.patch
@@ -0,0 +1,40 @@
+https://bugs.gentoo.org/892727
+https://github.com/BinomialLLC/basis_universal/issues/342
+https://github.com/BinomialLLC/basis_universal/pull/343
+
+From e61fe1e4ff66decbb14f86a1bf8ec4ea40d23bbf Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?=C8=98tefan=20Talpalaru?= <stefantalpalaru@yahoo.com>
+Date: Tue, 31 Jan 2023 14:39:17 +0100
+Subject: [PATCH] SIMD: disable compile time checks
+
+SSE4.1 support is checked at runtime, so compile time checks are
+redundant at best and harmful when compiling for a different machine.
+
+Further more, a logic error prevented the use of SSE4.1 on systems with
+any version of AVX available. This is fixed now.
+--- a/encoder/basisu_kernels_sse.cpp
++++ b/encoder/basisu_kernels_sse.cpp
+@@ -22,22 +22,6 @@
+ #include <intrin.h>
+ #endif
+
+-#if !defined(_MSC_VER)
+- #if __AVX__ || __AVX2__ || __AVX512F__
+- #error Please check your compiler options
+- #endif
+-
+- #if CPPSPMD_SSE2
+- #if __SSE4_1__ || __SSE3__ || __SSE4_2__ || __SSSE3__
+- #error SSE4.1/SSE3/SSE4.2/SSSE3 cannot be enabled to use this file
+- #endif
+- #else
+- #if !__SSE4_1__ || !__SSE3__ || !__SSSE3__
+- #error Please check your compiler options
+- #endif
+- #endif
+-#endif
+-
+ #include "cppspmd_sse.h"
+
+ #include "cppspmd_type_aliases.h"
+
diff --git a/games-util/basis_universal/files/basis_universal-1.16.3-fix-RPATH.patch b/games-util/basis_universal/files/basis_universal-1.16.3-fix-RPATH.patch
new file mode 100644
index 000000000000..d15ba0d4ddfb
--- /dev/null
+++ b/games-util/basis_universal/files/basis_universal-1.16.3-fix-RPATH.patch
@@ -0,0 +1,10 @@
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -103,7 +103,6 @@ if (NOT MSVC)
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DBASISU_SUPPORT_SSE=0")
+ endif()
+
+- set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${GCC_LINK_FLAGS} -Wl,-rpath .")
+ endif()
+
+ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${GCC_COMPILE_FLAGS}")
diff --git a/games-util/basis_universal/files/basis_universal-1.16.3-respect-CFLAGS.patch b/games-util/basis_universal/files/basis_universal-1.16.3-respect-CFLAGS.patch
new file mode 100644
index 000000000000..e7c1db7ea2bf
--- /dev/null
+++ b/games-util/basis_universal/files/basis_universal-1.16.3-respect-CFLAGS.patch
@@ -0,0 +1,11 @@
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -72,7 +72,7 @@ if (NOT MSVC)
+ set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -fsanitize=address -fno-omit-frame-pointer -fsanitize=undefined")
+ endif()
+
+- set(CMAKE_CXX_FLAGS -std=c++11)
++ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
+ set(GCC_COMPILE_FLAGS "-fvisibility=hidden -fPIC -fno-strict-aliasing -D_LARGEFILE64_SOURCE=1 -D_FILE_OFFSET_BITS=64 -Wall -Wextra -Wno-unused-local-typedefs -Wno-unused-value -Wno-unused-parameter -Wno-unused-variable")
+
+ if (NOT BUILD_X64)
diff --git a/games-util/basis_universal/metadata.xml b/games-util/basis_universal/metadata.xml
new file mode 100644
index 000000000000..60720a5dc5a3
--- /dev/null
+++ b/games-util/basis_universal/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>games@gentoo.org</email>
+ <name>Gentoo Games Project</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">BinomialLLC/basis_universal</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/games-util/biounzip/Manifest b/games-util/biounzip/Manifest
new file mode 100644
index 000000000000..ed157bdadfa3
--- /dev/null
+++ b/games-util/biounzip/Manifest
@@ -0,0 +1 @@
+DIST biounzip-1.1a.tar.bz2 9894 BLAKE2B 950216a1b0b994b2ec271d836c7cf86471a2eca5ac0c259885e21a4df7b20425b74ae2ffb08610ed0841caced5d8b6783c448857df3a2a9030c788ee9b88db3b SHA512 4eaea5459cf6edaf289951f9048123496a4eb83fcfc39b3efcd2a81894f877d5db843d7448e2c0e3b797b09a70f6f3c133c53525d4f83408306089bd37796a8c
diff --git a/games-util/biounzip/biounzip-1.1a.ebuild b/games-util/biounzip/biounzip-1.1a.ebuild
new file mode 100644
index 000000000000..9358fd939d6f
--- /dev/null
+++ b/games-util/biounzip/biounzip-1.1a.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit toolchain-funcs
+
+DESCRIPTION="Unpacks BioZip archives"
+HOMEPAGE="https://biounzip.sourceforge.net/"
+SRC_URI="https://downloads.sourceforge.net/biounzip/${P}.tar.bz2"
+S="${WORKDIR}"/${P/a/}
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+DEPEND="virtual/zlib:="
+RDEPEND="${DEPEND}"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-64bit.patch
+)
+
+src_compile() {
+ $(tc-getCC) ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} -o ${PN} *.c -lz || die
+}
+
+src_install() {
+ dobin ${PN}
+ dodoc biozip.txt
+}
diff --git a/games-util/biounzip/files/biounzip-1.1a-64bit.patch b/games-util/biounzip/files/biounzip-1.1a-64bit.patch
new file mode 100644
index 000000000000..860261641ed4
--- /dev/null
+++ b/games-util/biounzip/files/biounzip-1.1a-64bit.patch
@@ -0,0 +1,11 @@
+--- a/biounzip.c
++++ b/biounzip.c
+@@ -127,7 +127,7 @@
+ void writefile(bzfile *ptr, FILE *fp, char *destdir)
+ {
+ int startpos,returnval,n,debug=0;
+- unsigned long size_uncompressed,size_compressed;
++ unsigned long size_uncompressed = 0, size_compressed = 0;
+ char *fname,*dirname,*fullname,*fullpath;
+ unsigned char *srcbuffer,*dstbuffer;
+ FILE *outfile;
diff --git a/games-util/biounzip/metadata.xml b/games-util/biounzip/metadata.xml
new file mode 100644
index 000000000000..f07d116b4605
--- /dev/null
+++ b/games-util/biounzip/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>games@gentoo.org</email>
+ <name>Gentoo Games Project</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="sourceforge">biounzip</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/games-util/cartridges/Manifest b/games-util/cartridges/Manifest
new file mode 100644
index 000000000000..1fb2abd92702
--- /dev/null
+++ b/games-util/cartridges/Manifest
@@ -0,0 +1,2 @@
+DIST cartridges-2.12.1.tar.gz 2305598 BLAKE2B 2d7a23f2a42780de8fba6641ff2a1249c0e5b8b2a80f8794894e2417f0bfe4babcec511a3b54efe7dd5c85dd1ea7c0cbb86df898499b39032f241aeff1c6efc9 SHA512 2aa9ed2a59acbbf9f371d9f57ed5237a5b8832edbd8271a7dabc151ad3a68a2c573c677aa6942324a1cbe6ebbbd05f48c29c34f713de7ee53986fa9816029628
+DIST cartridges-2.13.1.tar.gz 2306857 BLAKE2B 3369263dc75627c4c4c89cc8ae30e9038dd8312f94064d76b0c3afc79f4bcac04fc1398075e2728e4458d66ce993c69dff97414d69792b2a1520a9fa07397f6d SHA512 269083236b88ec4d8fb547af482389ff608f0e994850bf222ef3993a0eefe863b54073a74b7943c9445e56c137c7e88443d5bddd8b443f2f82846c16e0c806be
diff --git a/games-util/cartridges/cartridges-2.12.1-r1.ebuild b/games-util/cartridges/cartridges-2.12.1-r1.ebuild
new file mode 100644
index 000000000000..262095e536eb
--- /dev/null
+++ b/games-util/cartridges/cartridges-2.12.1-r1.ebuild
@@ -0,0 +1,70 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit gnome2-utils python-single-r1 meson ninja-utils xdg
+
+DESCRIPTION="Simple game launcher written in Python using GTK4 and Libadwaita"
+HOMEPAGE="https://github.com/kra-mo/cartridges/"
+
+if [[ "${PV}" == *9999* ]] ; then
+ inherit git-r3
+
+ EGIT_REPO_URI="https://github.com/kra-mo/${PN}"
+else
+ SRC_URI="https://github.com/kra-mo/${PN}/archive/v${PV}.tar.gz
+ -> ${P}.tar.gz"
+
+ KEYWORDS="amd64 ~x86"
+fi
+
+LICENSE="GPL-3+"
+SLOT="0"
+RESTRICT="test" # Just appstream file validation that uses network.
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RDEPEND="
+ ${PYTHON_DEPS}
+ >=gui-libs/gtk-4.16.12:4[introspection]
+ >=gui-libs/libadwaita-1.6.2:1[introspection]
+ media-libs/tiff[webp]
+ $(python_gen_cond_dep '
+ dev-python/pillow[${PYTHON_USEDEP}]
+ dev-python/pygobject:3[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ ')
+"
+BDEPEND="
+ ${RDEPEND}
+ dev-libs/appstream-glib
+ dev-util/blueprint-compiler
+ dev-util/desktop-file-utils
+"
+
+src_compile() {
+ cd "${BUILD_DIR}" || die
+
+ eninja data/page.kramo.Cartridges.metainfo.xml
+ meson_src_compile
+}
+
+src_install() {
+ meson_src_install
+
+ python_fix_shebang "${ED}/usr/bin"
+ python_optimize "${ED}/usr"
+}
+
+pkg_postinst() {
+ gnome2_schemas_update
+ xdg_pkg_postinst
+}
+
+pkg_postrm() {
+ gnome2_schemas_update
+ xdg_pkg_postrm
+}
diff --git a/games-util/cartridges/cartridges-2.13.1-r1.ebuild b/games-util/cartridges/cartridges-2.13.1-r1.ebuild
new file mode 100644
index 000000000000..300ac80d94b3
--- /dev/null
+++ b/games-util/cartridges/cartridges-2.13.1-r1.ebuild
@@ -0,0 +1,70 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit gnome2-utils python-single-r1 meson ninja-utils xdg
+
+DESCRIPTION="Simple game launcher written in Python using GTK4 and Libadwaita"
+HOMEPAGE="https://github.com/kra-mo/cartridges/"
+
+if [[ "${PV}" == *9999* ]] ; then
+ inherit git-r3
+
+ EGIT_REPO_URI="https://github.com/kra-mo/${PN}"
+else
+ SRC_URI="https://github.com/kra-mo/${PN}/archive/v${PV}.tar.gz
+ -> ${P}.tar.gz"
+
+ KEYWORDS="~amd64"
+fi
+
+LICENSE="GPL-3+"
+SLOT="0"
+RESTRICT="test" # Just appstream file validation that uses network.
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RDEPEND="
+ ${PYTHON_DEPS}
+ >=gui-libs/gtk-4.19:4[introspection]
+ >=gui-libs/libadwaita-1.8.2:1[introspection]
+ media-libs/tiff[webp]
+ $(python_gen_cond_dep '
+ dev-python/pillow[${PYTHON_USEDEP}]
+ dev-python/pygobject:3[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ ')
+"
+BDEPEND="
+ ${RDEPEND}
+ dev-libs/appstream-glib
+ dev-util/blueprint-compiler
+ dev-util/desktop-file-utils
+"
+
+src_compile() {
+ cd "${BUILD_DIR}" || die
+
+ eninja data/page.kramo.Cartridges.metainfo.xml
+ meson_src_compile
+}
+
+src_install() {
+ meson_src_install
+
+ python_fix_shebang "${ED}/usr/bin"
+ python_optimize "${ED}/usr"
+}
+
+pkg_postinst() {
+ gnome2_schemas_update
+ xdg_pkg_postinst
+}
+
+pkg_postrm() {
+ gnome2_schemas_update
+ xdg_pkg_postrm
+}
diff --git a/games-util/cartridges/cartridges-9999.ebuild b/games-util/cartridges/cartridges-9999.ebuild
new file mode 100644
index 000000000000..6698ae73d4ad
--- /dev/null
+++ b/games-util/cartridges/cartridges-9999.ebuild
@@ -0,0 +1,70 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit gnome2-utils python-single-r1 meson ninja-utils xdg
+
+DESCRIPTION="Simple game launcher written in Python using GTK4 and Libadwaita"
+HOMEPAGE="https://github.com/kra-mo/cartridges/"
+
+if [[ "${PV}" == *9999* ]] ; then
+ inherit git-r3
+
+ EGIT_REPO_URI="https://github.com/kra-mo/${PN}"
+else
+ SRC_URI="https://github.com/kra-mo/${PN}/archive/v${PV}.tar.gz
+ -> ${P}.tar.gz"
+
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="GPL-3+"
+SLOT="0"
+RESTRICT="test" # Just appstream file validation that uses network.
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RDEPEND="
+ ${PYTHON_DEPS}
+ >=gui-libs/gtk-4.16.12:4[introspection]
+ >=gui-libs/libadwaita-1.6.2:1[introspection]
+ media-libs/tiff[webp]
+ $(python_gen_cond_dep '
+ dev-python/pillow[${PYTHON_USEDEP}]
+ dev-python/pygobject:3[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ ')
+"
+BDEPEND="
+ ${RDEPEND}
+ dev-libs/appstream-glib
+ dev-util/blueprint-compiler
+ dev-util/desktop-file-utils
+"
+
+src_compile() {
+ cd "${BUILD_DIR}" || die
+
+ eninja data/page.kramo.Cartridges.metainfo.xml
+ meson_src_compile
+}
+
+src_install() {
+ meson_src_install
+
+ python_fix_shebang "${ED}/usr/bin"
+ python_optimize "${ED}/usr"
+}
+
+pkg_postinst() {
+ gnome2_schemas_update
+ xdg_pkg_postinst
+}
+
+pkg_postrm() {
+ gnome2_schemas_update
+ xdg_pkg_postrm
+}
diff --git a/games-util/cartridges/metadata.xml b/games-util/cartridges/metadata.xml
new file mode 100644
index 000000000000..703d77d0fd2e
--- /dev/null
+++ b/games-util/cartridges/metadata.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="person">
+ <email>xgqt@gentoo.org</email>
+ <name>Maciej Barć</name>
+ </maintainer>
+ <longdescription>
+ Cartridges is a simple game launcher for all of your games. It has support
+ for importing games from Steam, Lutris, Heroic and more with no login
+ necessary. You can sort and hide games or download cover art from
+ SteamGridDB.
+ </longdescription>
+ <upstream>
+ <changelog>https://github.com/kra-mo/cartridges/releases/</changelog>
+ <bugs-to>https://github.com/kra-mo/cartridges/issues/</bugs-to>
+ <remote-id type="github">kra-mo/cartridges</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/games-util/catcodec/Manifest b/games-util/catcodec/Manifest
new file mode 100644
index 000000000000..3c33f4d8cdf9
--- /dev/null
+++ b/games-util/catcodec/Manifest
@@ -0,0 +1 @@
+DIST catcodec-1.0.5-source.tar.xz 17952 BLAKE2B e828e52426b26c0021365bb961d16028a52a8c8cedac06db6b825947562e6eb513d0c9f7b455710f05dc20b88a86b0cdab3123ede38c2f785709c1b76964e1b4 SHA512 e6e17da17f2449ff5d3a18c34ba3125d475a481ef1dc73ba03dac32fc8523a8929d2cbdfda5f647a0226aa007a217fc90c85ec4cc46937f75e15a596277e0db5
diff --git a/games-util/catcodec/catcodec-1.0.5.ebuild b/games-util/catcodec/catcodec-1.0.5.ebuild
new file mode 100644
index 000000000000..f951d8d9f712
--- /dev/null
+++ b/games-util/catcodec/catcodec-1.0.5.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit toolchain-funcs
+
+DESCRIPTION="Decodes and encodes sample catalogues for OpenTTD"
+HOMEPAGE="https://www.openttd.org/en/download-catcodec"
+SRC_URI="https://binaries.openttd.org/extra/catcodec/${PV}/${P}-source.tar.xz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
+
+src_prepare() {
+ default
+ tc-export CXX
+}
+
+src_compile() {
+ emake VERBOSE=1
+}
+
+src_install() {
+ dobin catcodec
+ dodoc changelog.txt docs/readme.txt
+ doman docs/catcodec.1
+}
diff --git a/games-util/catcodec/metadata.xml b/games-util/catcodec/metadata.xml
new file mode 100644
index 000000000000..1c3ba213c494
--- /dev/null
+++ b/games-util/catcodec/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer type="project">
+ <email>games@gentoo.org</email>
+ <name>Gentoo Games Project</name>
+</maintainer>
+</pkgmetadata>
diff --git a/games-util/chiaki-ng/Manifest b/games-util/chiaki-ng/Manifest
new file mode 100644
index 000000000000..ecea75a07a96
--- /dev/null
+++ b/games-util/chiaki-ng/Manifest
@@ -0,0 +1,2 @@
+DIST chiaki-ng-1.10.0.tar.gz 40971482 BLAKE2B 037beb6ffb178401a5cba0fb3fb0f7570b409d16bae5f3ac0b987fd03d625fa6cf085b444ca2e9cdbd119211d6650ba56267714f401de517a54606ba4b1db4e1 SHA512 abd03d6288b4f97e6977cb0772d9890fba3fa69d0d0681d7e930c4da18d2a39166673b2564ecb8b0ea496a075b2b605d3a553b9b5f587c2f2a815225ec0c968f
+DIST munit-439de4a9b136bc3b5163e73d4caf37c590bef875.tar.gz 27747 BLAKE2B 81cac50228c9e782ce2100edc42462d900c08c6dd43c8a6e10abb6a72db559e780fc57e2a26cf308081cc4d55815e1444d8704af4b0fad73076c015753ca8bb8 SHA512 28fbe29636fd3ecb675f2e823165ac88be10adfbb2d4155fee43a4b2747c8dd4f24808ed9ddedd9a2ec60d96367e60fce8ca82c54b0eb605ed9b4bb05392a872
diff --git a/games-util/chiaki-ng/chiaki-ng-1.10.0.ebuild b/games-util/chiaki-ng/chiaki-ng-1.10.0.ebuild
new file mode 100644
index 000000000000..e27ef1ecd4e1
--- /dev/null
+++ b/games-util/chiaki-ng/chiaki-ng-1.10.0.ebuild
@@ -0,0 +1,109 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+VER_MUNIT="439de4a9b136bc3b5163e73d4caf37c590bef875" # Assuming unchanged, will verify if build fails
+
+PYTHON_COMPAT=( python3_{13..14} )
+inherit cmake python-single-r1 xdg
+
+DESCRIPTION="Client for PlayStation 4 and PlayStation 5 Remote Play"
+HOMEPAGE="https://github.com/streetpea/chiaki-ng"
+
+if [[ "${PV}" == "9999" ]] ; then
+ EGIT_REPO_URI="https://github.com/streetpea/${PN}.git"
+ inherit git-r3
+else
+ SRC_URI="
+ https://github.com/streetpea/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz
+ test? ( https://github.com/nemequ/munit/archive/${VER_MUNIT}.tar.gz -> munit-${VER_MUNIT}.tar.gz )
+ "
+ KEYWORDS="~amd64"
+fi
+
+LICENSE="GPL-3"
+SLOT="0"
+IUSE="+cli +gui +sdl +ffmpeg mbedtls test"
+REQUIRED_USE="
+ ${PYTHON_REQUIRED_USE}
+ gui? ( ffmpeg )
+"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ ${PYTHON_DEPS}
+ dev-libs/libevdev
+ dev-libs/jerasure
+ dev-libs/nanopb
+ media-libs/libplacebo
+ media-libs/opus
+ net-dns/libidn2
+ net-libs/miniupnpc:=
+ net-misc/curl
+ media-video/pipewire
+ sdl? ( media-libs/libsdl2[joystick,haptic] )
+ gui? (
+ dev-qt/qtbase:6[concurrent,dbus,gui,network,opengl,widgets]
+ dev-qt/qtdeclarative:6[network,opengl,widgets,svg]
+ dev-qt/qtmultimedia:6
+ dev-qt/qtsvg:6
+ dev-qt/qtwebchannel:6[qml]
+ dev-qt/qtwebengine:6[qml,widgets]
+ )
+ !mbedtls? ( dev-libs/openssl:= )
+ mbedtls? ( net-libs/mbedtls )
+ ffmpeg? ( media-video/ffmpeg:= )
+"
+
+DEPEND="${RDEPEND}"
+
+BDEPEND="
+ ${PYTHON_DEPS}
+ $(python_gen_cond_dep 'dev-python/protobuf[${PYTHON_USEDEP}]')
+ dev-libs/protobuf
+ virtual/pkgconfig
+"
+
+PATCHES=(
+ # Use shared nanopb library instead of static
+ # https://bugs.gentoo.org/965824
+ "${FILESDIR}/${P}-use-shared-nanopb.patch"
+)
+
+src_prepare() {
+ cmake_src_prepare
+
+ if use test; then
+ rm -r "${S}"/test/munit
+ cp -r "${WORKDIR}"/munit-${VER_MUNIT} "${S}"/test/munit || die
+ # munit uses ATOMIC_VAR_INIT, which was removed in C23 (GCC 15+)
+ eapply "${FILESDIR}/${P}-munit-c23.patch"
+ fi
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DPYTHON_EXECUTABLE="${PYTHON}"
+ -DCHIAKI_USE_SYSTEM_JERASURE=ON
+ -DCHIAKI_USE_SYSTEM_NANOPB=ON
+ -DCHIAKI_USE_SYSTEM_CURL=ON
+ -DCHIAKI_ENABLE_STEAM_SHORTCUT=OFF # BUG: require cpp-steam-tools, used by steamdeck
+ -DCHIAKI_ENABLE_STEAMDECK_NATIVE=OFF # Used by steamdeck
+ -DCHIAKI_ENABLE_TESTS=$(usex test)
+ -DCHIAKI_ENABLE_CLI=$(usex cli)
+ -DCHIAKI_ENABLE_GUI=$(usex gui)
+ -DCHIAKI_ENABLE_FFMPEG_DECODER=$(usex ffmpeg)
+ -DCHIAKI_LIB_ENABLE_MBEDTLS=$(usex mbedtls)
+ -DCHIAKI_GUI_ENABLE_SDL_GAMECONTROLLER=$(usex sdl)
+ )
+
+ cmake_src_configure
+}
+
+src_install() {
+ cmake_src_install
+
+ dolib.so "${BUILD_DIR}"/lib/*.so
+ use gui && dolib.so "${BUILD_DIR}"/gui/*.so
+}
diff --git a/games-util/chiaki-ng/chiaki-ng-9999.ebuild b/games-util/chiaki-ng/chiaki-ng-9999.ebuild
new file mode 100644
index 000000000000..b1125b82f7c4
--- /dev/null
+++ b/games-util/chiaki-ng/chiaki-ng-9999.ebuild
@@ -0,0 +1,109 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+VER_MUNIT="439de4a9b136bc3b5163e73d4caf37c590bef875" # Assuming unchanged, will verify if build fails
+
+PYTHON_COMPAT=( python3_{13..14} )
+inherit cmake python-single-r1 xdg
+
+DESCRIPTION="Client for PlayStation 4 and PlayStation 5 Remote Play"
+HOMEPAGE="https://github.com/streetpea/chiaki-ng"
+
+if [[ "${PV}" == "9999" ]] ; then
+ EGIT_REPO_URI="https://github.com/streetpea/${PN}.git"
+ inherit git-r3
+else
+ SRC_URI="
+ https://github.com/streetpea/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz
+ test? ( https://github.com/nemequ/munit/archive/${VER_MUNIT}.tar.gz -> munit-${VER_MUNIT}.tar.gz )
+ "
+ KEYWORDS="~amd64"
+fi
+
+LICENSE="GPL-3"
+SLOT="0"
+IUSE="+cli +gui +sdl +ffmpeg mbedtls test"
+REQUIRED_USE="
+ ${PYTHON_REQUIRED_USE}
+ gui? ( ffmpeg )
+"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ ${PYTHON_DEPS}
+ dev-libs/libevdev
+ dev-libs/jerasure
+ dev-libs/nanopb
+ media-libs/libplacebo
+ media-libs/opus
+ net-dns/libidn2
+ net-libs/miniupnpc:=
+ net-misc/curl
+ media-video/pipewire
+ sdl? ( media-libs/libsdl2[joystick,haptic] )
+ gui? (
+ dev-qt/qtbase:6[concurrent,dbus,gui,network,opengl,widgets]
+ dev-qt/qtdeclarative:6[network,opengl,widgets,svg]
+ dev-qt/qtmultimedia:6
+ dev-qt/qtsvg:6
+ dev-qt/qtwebchannel:6[qml]
+ dev-qt/qtwebengine:6[qml,widgets]
+ )
+ !mbedtls? ( dev-libs/openssl:= )
+ mbedtls? ( net-libs/mbedtls )
+ ffmpeg? ( media-video/ffmpeg:= )
+"
+
+DEPEND="${RDEPEND}"
+
+BDEPEND="
+ ${PYTHON_DEPS}
+ $(python_gen_cond_dep 'dev-python/protobuf[${PYTHON_USEDEP}]')
+ dev-libs/protobuf
+ virtual/pkgconfig
+"
+
+PATCHES=(
+ # Use shared nanopb library instead of static
+ # https://bugs.gentoo.org/965824
+ "${FILESDIR}/${PN}-1.10.0-use-shared-nanopb.patch"
+)
+
+src_prepare() {
+ cmake_src_prepare
+
+ if use test; then
+ rm -r "${S}"/test/munit
+ cp -r "${WORKDIR}"/munit-${VER_MUNIT} "${S}"/test/munit || die
+ # munit uses ATOMIC_VAR_INIT, which was removed in C23 (GCC 15+)
+ eapply "${FILESDIR}/${PN}-1.10.0-munit-c23.patch"
+ fi
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DPYTHON_EXECUTABLE="${PYTHON}"
+ -DCHIAKI_USE_SYSTEM_JERASURE=ON
+ -DCHIAKI_USE_SYSTEM_NANOPB=ON
+ -DCHIAKI_USE_SYSTEM_CURL=ON
+ -DCHIAKI_ENABLE_STEAM_SHORTCUT=OFF # BUG: require cpp-steam-tools, used by steamdeck
+ -DCHIAKI_ENABLE_STEAMDECK_NATIVE=OFF # Used by steamdeck
+ -DCHIAKI_ENABLE_TESTS=$(usex test)
+ -DCHIAKI_ENABLE_CLI=$(usex cli)
+ -DCHIAKI_ENABLE_GUI=$(usex gui)
+ -DCHIAKI_ENABLE_FFMPEG_DECODER=$(usex ffmpeg)
+ -DCHIAKI_LIB_ENABLE_MBEDTLS=$(usex mbedtls)
+ -DCHIAKI_GUI_ENABLE_SDL_GAMECONTROLLER=$(usex sdl)
+ )
+
+ cmake_src_configure
+}
+
+src_install() {
+ cmake_src_install
+
+ dolib.so "${BUILD_DIR}"/lib/*.so
+ use gui && dolib.so "${BUILD_DIR}"/gui/*.so
+}
diff --git a/games-util/chiaki-ng/files/chiaki-ng-1.10.0-munit-c23.patch b/games-util/chiaki-ng/files/chiaki-ng-1.10.0-munit-c23.patch
new file mode 100644
index 000000000000..da6d500d809f
--- /dev/null
+++ b/games-util/chiaki-ng/files/chiaki-ng-1.10.0-munit-c23.patch
@@ -0,0 +1,15 @@
+Fix build with C23 / GCC 15+: ATOMIC_VAR_INIT was removed in C23.
+
+Upstream munit is unmaintained since 2020, so patch in-tree.
+
+--- a/test/munit/munit.c
++++ b/test/munit/munit.c
+@@ -798,7 +798,7 @@
+ #elif defined(HAVE_STDATOMIC)
+ # include <stdatomic.h>
+ # define ATOMIC_UINT32_T _Atomic uint32_t
+-# define ATOMIC_UINT32_INIT(x) ATOMIC_VAR_INIT(x)
++# define ATOMIC_UINT32_INIT(x) (x)
+ #elif defined(HAVE_CLANG_ATOMICS)
+ # define ATOMIC_UINT32_T _Atomic uint32_t
+ # define ATOMIC_UINT32_INIT(x) (x)
diff --git a/games-util/chiaki-ng/files/chiaki-ng-1.10.0-use-shared-nanopb.patch b/games-util/chiaki-ng/files/chiaki-ng-1.10.0-use-shared-nanopb.patch
new file mode 100644
index 000000000000..b4bd29015e30
--- /dev/null
+++ b/games-util/chiaki-ng/files/chiaki-ng-1.10.0-use-shared-nanopb.patch
@@ -0,0 +1,29 @@
+From: Huang Rui <vowstar@gmail.com>
+Date: Sat, 13 Dec 2025 12:28:22 +0800
+Subject: [PATCH] Use shared nanopb library instead of static
+
+Gentoo provides nanopb as a shared library by default. This patch
+allows chiaki-ng to link against the shared version, falling back
+to static if shared is not available.
+
+Bug: https://bugs.gentoo.org/965824
+---
+ cmake/FindNanopb.cmake | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/cmake/FindNanopb.cmake b/cmake/FindNanopb.cmake
+index 1234567..abcdefg 100644
+--- a/cmake/FindNanopb.cmake
++++ b/cmake/FindNanopb.cmake
+@@ -12,6 +12,10 @@ find_package_handle_standard_args(Nanopb
+
+ if(Nanopb_FOUND)
+ if(NOT TARGET Nanopb::nanopb)
+- add_library(Nanopb::nanopb ALIAS nanopb::protobuf-nanopb-static)
++ if(TARGET nanopb::protobuf-nanopb)
++ add_library(Nanopb::nanopb ALIAS nanopb::protobuf-nanopb)
++ else()
++ add_library(Nanopb::nanopb ALIAS nanopb::protobuf-nanopb-static)
++ endif()
+ endif()
+ endif()
diff --git a/games-util/chiaki-ng/metadata.xml b/games-util/chiaki-ng/metadata.xml
new file mode 100644
index 000000000000..4c1ffcaffa48
--- /dev/null
+++ b/games-util/chiaki-ng/metadata.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>vowstar@gmail.com</email>
+ <name>Huang Rui</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">streetpea/chiaki-ng</remote-id>
+ <bugs-to>https://github.com/streetpea/chiaki-ng/issues</bugs-to>
+ </upstream>
+ <use>
+ <flag name="cli">Build CLI interface</flag>
+ <flag name="gui">Build Qt GUI interface</flag>
+ <flag name="sdl">Add support for touchpad and sensor handling via SDL. Adds support for any controller supported by SDL</flag>
+ <flag name="mbedtls">Use mbedtls instead of OpenSSL as part of Chiaki lib</flag>
+ </use>
+ <longdescription lang="en">
+ Chiaki-NG (Next-Generation ) is a Free and Open Source Software Client
+ for PlayStation 4 and PlayStation 5 Remote Play for Linux, FreeBSD,
+ OpenBSD, Android, macOS, Windows, Nintendo Switch and potentially even
+ more platforms.
+ </longdescription>
+</pkgmetadata>
diff --git a/games-util/curseforge/Manifest b/games-util/curseforge/Manifest
new file mode 100644
index 000000000000..03b74b1f4823
--- /dev/null
+++ b/games-util/curseforge/Manifest
@@ -0,0 +1 @@
+DIST curseforge-1.302.0_p32990.deb 108942104 BLAKE2B 4de83c019c8d12ccee87ddee9edff237653b3c0742bd98b1ab8e04d2d081721a7dd0e3e02fb691e4bb58b0d08ab90fcc8f529d7e27ffdb09aae7ab03f92a6b86 SHA512 42bd573a90ebb2449b153956b237453fb8346f43cae68f9cc558b95b19d827974b7c3087afaa92c82a100873f732629ab0b99653229362f9931015f0c694a35e
diff --git a/games-util/curseforge/curseforge-1.302.0_p32990.ebuild b/games-util/curseforge/curseforge-1.302.0_p32990.ebuild
new file mode 100644
index 000000000000..e83f527786df
--- /dev/null
+++ b/games-util/curseforge/curseforge-1.302.0_p32990.ebuild
@@ -0,0 +1,86 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+CHROMIUM_LANGS="
+ af am ar bg bn ca cs da de el en-GB en-US es es-419 et fa fi fil fr gu he hi
+ hr hu id it ja kn ko lt lv ml mr ms nb nl pl pt-BR pt-PT ro ru sk sl sr sv
+ sw ta te th tr uk ur vi zh-CN zh-TW
+"
+
+inherit chromium-2 desktop unpacker linux-info xdg
+
+DESCRIPTION="The CurseForge Electron App"
+HOMEPAGE="https://www.curseforge.com/"
+SRC_URI="
+ amd64? ( https://${PN}.overwolf.com/downloads/${PN}-latest-linux.deb -> ${P}.deb )"
+S="${WORKDIR}/"
+
+LICENSE="Overwolf Apache-2.0 BSD BSD-2 GPL-2 LGPL-2+ LGPL-2.1 MPL-2.0 MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+RESTRICT="bindist mirror strip test"
+
+RDEPEND="
+ app-accessibility/at-spi2-core:2
+ dev-libs/expat
+ dev-libs/glib:2
+ dev-libs/nspr
+ dev-libs/nss
+ media-libs/alsa-lib
+ media-libs/mesa[gbm(+)]
+ net-print/cups
+ sys-apps/dbus
+ virtual/zlib
+ x11-libs/cairo
+ x11-libs/libdrm
+ x11-libs/gdk-pixbuf:2
+ x11-libs/gtk+:3
+ x11-libs/libXcomposite
+ x11-libs/libXdamage
+ x11-libs/libXext
+ x11-libs/libXfixes
+ x11-libs/libXrandr
+ x11-libs/libdrm
+ x11-libs/libxcb
+ x11-libs/libxkbcommon
+ x11-libs/libX11
+ x11-libs/pango
+ x11-misc/xdg-utils
+"
+DESTDIR="/opt/${PN}"
+
+QA_PREBUILT="*"
+
+CONFIG_CHECK="~USER_NS"
+
+src_configure() {
+ default
+ chromium_suid_sandbox_check_kernel_config
+}
+
+src_install() {
+ sed -i "s|Exec=.*|Exec=/usr/bin/${PN} %U|" \
+ "usr/share/applications/${PN}.desktop" \
+ || die "Failed correcting .desktop file"
+
+ doicon -s 256 "usr/share/icons/hicolor/256x256/apps/${PN}.png"
+ domenu "usr/share/applications/${PN}.desktop"
+
+ exeinto "${DESTDIR}"
+ cd opt/CurseForge/ || die "Failed changing directory to unpacked source"
+ doexe ${PN} chrome-sandbox libEGL.so libffmpeg.so libGLESv2.so libvk_swiftshader.so libvulkan.so.1
+
+ insinto "${DESTDIR}"
+ doins chrome_100_percent.pak chrome_200_percent.pak icudtl.dat resources.pak snapshot_blob.bin v8_context_snapshot.bin
+ insopts -m0755
+ doins -r locales resources
+
+ fowners root "${DESTDIR}/chrome-sandbox"
+ fperms 4711 "${DESTDIR}/chrome-sandbox"
+
+ [[ -x chrome_crashpad_handler ]] && doins chrome_crashpad_handler
+
+ dosym "${DESTDIR}/${PN}" "/usr/bin/${PN}"
+}
diff --git a/games-util/curseforge/metadata.xml b/games-util/curseforge/metadata.xml
new file mode 100644
index 000000000000..59fb44063407
--- /dev/null
+++ b/games-util/curseforge/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>vincentahluwalia@protonmail.com</email>
+ <name>Vincent Ahluwalia</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/games-util/datutil/Manifest b/games-util/datutil/Manifest
new file mode 100644
index 000000000000..1e4359a529f7
--- /dev/null
+++ b/games-util/datutil/Manifest
@@ -0,0 +1,2 @@
+DIST datlib236.zip 109484 BLAKE2B 63dbaf4c70b5cd4259fbbe77a36e8608edb62d4a3663d836f237cb23ba85e2128cdb5ec055cd48913a7316c6334689e898fbd37c54a3eaae3428f6b2d54d7544 SHA512 0c601fe243c8ea4186abb6181cf70e749226a5eed871d7391b3686e7eb58195d1aab40305d498d1419c6fa49bf56c59fb74d032642822045cc7e36f8a5fe96b4
+DIST dutil246.zip 209577 BLAKE2B bd806974780bf03d89353a93dfc240dcec00aada4ffa7a3848d2b4e07cc8cb317834115b55b5074ee104db3df975bfc4c5ebbb2591cb9fda6a716bc49f2bb454 SHA512 f9e55eac41894681caaee7d6e3247d4e4d053ac6985d42708623fad415afeb8ece588dd728edc31cbd31bf6df1d9a06ec80f1b45979b0f77763c12e6627434b2
diff --git a/games-util/datutil/datutil-2.46.ebuild b/games-util/datutil/datutil-2.46.ebuild
new file mode 100644
index 000000000000..01efdab6239f
--- /dev/null
+++ b/games-util/datutil/datutil-2.46.ebuild
@@ -0,0 +1,56 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit toolchain-funcs
+
+DL_PV=2.36
+DESCRIPTION="Converter for dat files for Rom Managers"
+HOMEPAGE="http://www.logiqx.com/Tools/DatUtil/"
+SRC_URI="http://www.logiqx.com/Tools/DatUtil/dutil${PV//.}.zip
+ http://www.logiqx.com/Tools/DatLib/datlib${DL_PV//.}.zip"
+S="${WORKDIR}"
+
+LICENSE="all-rights-reserved"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+RESTRICT="mirror bindist"
+
+BDEPEND="app-arch/unzip"
+
+src_unpack() {
+ unpack dutil${PV//.}.zip
+
+ cd "${S}" || die
+ mkdir -p dev/datlib || die
+ cd dev/datlib || die
+
+ unpack datlib${DL_PV//.}.zip
+}
+
+src_compile() {
+ # Parallel make issue, see bug #244879 (so make the dirs first)
+ emake -j1 \
+ CC="$(tc-getCC)" \
+ LD="$(tc-getCC) ${CFLAGS} ${LDFLAGS}" \
+ CFLAGS="${CFLAGS} -Idev" \
+ LOGIQX=. \
+ EXT= \
+ UPX=@# \
+ dlmaketree maketree || die "emake failed"
+
+ emake \
+ CC="$(tc-getCC)" \
+ LD="$(tc-getCC) ${CFLAGS} ${LDFLAGS}" \
+ CFLAGS="${CFLAGS} -Idev" \
+ LOGIQX=. \
+ EXT= \
+ UPX=@# \
+ || die "emake failed"
+}
+
+src_install() {
+ dobin datutil
+ dodoc readme.txt whatsnew.txt
+}
diff --git a/games-util/datutil/metadata.xml b/games-util/datutil/metadata.xml
new file mode 100644
index 000000000000..14b8f586fb44
--- /dev/null
+++ b/games-util/datutil/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer type="project">
+ <email>games@gentoo.org</email>
+ <name>Gentoo Games Project</name>
+</maintainer>
+<longdescription lang="en">
+DatUtil was created to aid in the creation of dat files for Rom Managers such as
+ClrMamePro and RomCenter (Roman Scherzer / Eric Bole-Feysot). It can convert
+between formats, extract individual games (and optionally their clones) and
+cleanse dats. It supports a variety of formats
+</longdescription>
+</pkgmetadata>
diff --git a/games-util/deutex/Manifest b/games-util/deutex/Manifest
new file mode 100644
index 000000000000..2ec5d7dffd4d
--- /dev/null
+++ b/games-util/deutex/Manifest
@@ -0,0 +1 @@
+DIST deutex-5.2.2.tar.zst 172022 BLAKE2B ad290ce6792425ba7f643cfe6c09c1a3f040ad0a4c95822f9368592dde6d489d28e892a26d78f2ebfefa086c910c948ef37eb3a3047429605653b273f9b567a8 SHA512 5f3c3d3ecad3a7949270a10c3c7e3a8be938389d4846dcac171526a9fd0485e056889323d303f61630e8735e5735edc91df7ad4efaba3d0b2b66a9d719017ebc
diff --git a/games-util/deutex/deutex-5.2.2.ebuild b/games-util/deutex/deutex-5.2.2.ebuild
new file mode 100644
index 000000000000..e26455054782
--- /dev/null
+++ b/games-util/deutex/deutex-5.2.2.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit unpacker
+
+DESCRIPTION="WAD composer for Doom, Heretic, Hexen, and Strife"
+HOMEPAGE="https://github.com/Doom-Utils/deutex"
+SRC_URI="https://github.com/Doom-Utils/${PN}/releases/download/v${PV}/${P}.tar.zst"
+
+LICENSE="GPL-2+ LGPL-2+ HPND"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
+IUSE="man +png"
+
+DEPEND="png? ( media-libs/libpng:0= )"
+RDEPEND="${DEPEND}"
+BDEPEND="$(unpacker_src_uri_depends)
+ man? ( app-text/asciidoc )"
+
+src_configure() {
+ econf \
+ $(use_enable man) \
+ $(use_with png libpng)
+}
diff --git a/games-util/deutex/metadata.xml b/games-util/deutex/metadata.xml
new file mode 100644
index 000000000000..f680e91d12a4
--- /dev/null
+++ b/games-util/deutex/metadata.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <longdescription lang="en">
+ DeuTex can do many things with Doom, Freedoom, Heretic, Hexen,
+ and Strife “WAD” files, such as extracting and inserting
+ graphics, sounds, levels, and other resources. It can be used
+ for creating and modifying IWAD (“Internal WAD”) and PWAD
+ (“Patch WAD”) files both.
+
+ It is a command-line driven program and as such, is suitable for
+ scripting such as from a shell script or Makefile.
+ </longdescription>
+ <maintainer type="project">
+ <email>games@gentoo.org</email>
+ <name>Gentoo Games Project</name>
+ </maintainer>
+ <upstream>
+ <bugs-to>https://github.com/Doom-Utils/deutex/issues</bugs-to>
+ <doc lang="en">https://github.com/Doom-Utils/deutex</doc>
+ <remote-id type="github">Doom-Utils/deutex</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/games-util/dfarc/Manifest b/games-util/dfarc/Manifest
new file mode 100644
index 000000000000..c361167527a0
--- /dev/null
+++ b/games-util/dfarc/Manifest
@@ -0,0 +1 @@
+DIST dfarc-3.14.tar.gz 336910 BLAKE2B 50f0ad1af2d91a562ba6a7b1e0e5e1821c900fe8ab3cf48f3585ca10ea12d9f7e3125ae85bc2e31c1539bf13d5a950e30a467b05259a7df6e2bda35544820933 SHA512 536c1cb5d1c8bf7012920e39d69fafbb790da78acb89a18f8ab1a3ad985220c74da61adda238e39395b4d7fd8fc62894fb5579691b744fe17600a8fccabc3c13
diff --git a/games-util/dfarc/dfarc-3.14-r2.ebuild b/games-util/dfarc/dfarc-3.14-r2.ebuild
new file mode 100644
index 000000000000..784740eea5e3
--- /dev/null
+++ b/games-util/dfarc/dfarc-3.14-r2.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+WX_GTK_VER="3.2-gtk3"
+inherit wxwidgets xdg
+
+DESCRIPTION="Frontend and .dmod installer for GNU FreeDink"
+HOMEPAGE="http://www.gnu.org/software/freedink/"
+SRC_URI="mirror://gnu/freedink/${P}.tar.gz"
+
+LICENSE="GPL-3 BZIP2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="nls"
+
+RDEPEND="
+ app-arch/bzip2
+ x11-misc/xdg-utils
+ x11-libs/wxGTK:${WX_GTK_VER}=[X]
+"
+DEPEND="${RDEPEND}"
+BDEPEND="nls? ( dev-util/intltool )"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-3.12-nowindres.patch
+ # From OpenSuSE
+ "${FILESDIR}"/${P}-wxString.patch
+)
+
+src_configure() {
+ setup-wxwidgets
+ econf \
+ $(use_enable nls) \
+ --disable-desktopfiles \
+ --with-wx-config="${WX_CONFIG}"
+}
+
+src_install() {
+ default
+ dodoc TRANSLATIONS.txt
+}
diff --git a/games-util/dfarc/files/dfarc-3.12-nowindres.patch b/games-util/dfarc/files/dfarc-3.12-nowindres.patch
new file mode 100644
index 000000000000..9c4a74e52592
--- /dev/null
+++ b/games-util/dfarc/files/dfarc-3.12-nowindres.patch
@@ -0,0 +1,18 @@
+--- a/src/Makefile.in
++++ b/src/Makefile.in
+@@ -100,7 +100,6 @@
+ Package.$(OBJEXT) RecursiveDelete.$(OBJEXT) Tar.$(OBJEXT) \
+ DFArcFrame_Base.$(OBJEXT) Options_Base.$(OBJEXT) \
+ Package_Base.$(OBJEXT) InstallVerifyFrame_Base.$(OBJEXT)
+-@HAVE_WINDRES_TRUE@nodist_dfarc_OBJECTS = woeres.$(OBJEXT)
+ dfarc_OBJECTS = $(am_dfarc_OBJECTS) $(nodist_dfarc_OBJECTS)
+ dfarc_LDADD = $(LDADD)
+ AM_V_P = $(am__v_P_@AM_V@)
+@@ -346,7 +345,6 @@
+ InstallVerifyFrame_Base.wxg dink.ico
+
+ # How do we handle resources embedded in the executable binary?
+-@HAVE_WINDRES_TRUE@nodist_dfarc_SOURCES = woeres.rc
+ all: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) all-am
+
diff --git a/games-util/dfarc/files/dfarc-3.14-wxString.patch b/games-util/dfarc/files/dfarc-3.14-wxString.patch
new file mode 100644
index 000000000000..9eb7bd3ddffe
--- /dev/null
+++ b/games-util/dfarc/files/dfarc-3.14-wxString.patch
@@ -0,0 +1,12 @@
+diff -Nur dfarc-3.14/src/Tar.cpp new/src/Tar.cpp
+--- dfarc-3.14/src/Tar.cpp 2018-06-05 23:18:34.000000000 +0200
++++ new/src/Tar.cpp 2019-02-02 02:41:40.128841786 +0100
+@@ -610,7 +610,7 @@
+ if (lLastCharacter != '\\' && lLastCharacter != '/')
+ {
+ // Open the file.
+- std::ostream* lStreamOut = ostream_open_unicode(lCurrentFilePath);
++ std::ostream* lStreamOut = ostream_open_unicode(lCurrentFilePath.mb_str());
+ if (!lStreamOut->good())
+ {
+ wxLogError(_("Error: Improperly archived file '%s'. Skipping."), lCurrentFilePath);
diff --git a/games-util/dfarc/metadata.xml b/games-util/dfarc/metadata.xml
new file mode 100644
index 000000000000..7c730d47817a
--- /dev/null
+++ b/games-util/dfarc/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>games@gentoo.org</email>
+ <name>Gentoo Games Project</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/games-util/dwarf-therapist/Manifest b/games-util/dwarf-therapist/Manifest
new file mode 100644
index 000000000000..eebf6790837b
--- /dev/null
+++ b/games-util/dwarf-therapist/Manifest
@@ -0,0 +1,2 @@
+DIST Dwarf-Therapist-41.2.5.tar.gz 1125524 BLAKE2B a545bac1a87aac09adb22d1863f783389bb3924464e706da534a8b24a1aaadf91e5d10b8b4fe366b7f97b78a7ffec16107bb3ff0719843dfd12e71625c50ade7 SHA512 676c5ef18ff6311ff09beaf59144ac568bf4cf3034c1a9bac65c355029a9718c14bf90a0b6c0f2b357afa95c66a6ab546c0d91fe89cf67987c4e4f432c2177e1
+DIST Dwarf-Therapist-42.1.5.tar.gz 1090721 BLAKE2B cdad4ad611bfbd0a38908ca11697e6550272c5f743b6ad5c123bcf789d3e88876fcb17fc7c109a77bbb9319cf78b7e9095ed13fc4121ffafe01281b2870e83e7 SHA512 71dcb8a814de277cb5c49b22edef32b04ff2e10f9833ef1d65d01d919e6d429d5309e2814d30c2a4e8b21331de530699762b80daade5146aeb8e8f7761095f9a
diff --git a/games-util/dwarf-therapist/dwarf-therapist-41.2.5.ebuild b/games-util/dwarf-therapist/dwarf-therapist-41.2.5.ebuild
new file mode 100644
index 000000000000..f193752d199e
--- /dev/null
+++ b/games-util/dwarf-therapist/dwarf-therapist-41.2.5.ebuild
@@ -0,0 +1,58 @@
+# Copyright 2021-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake desktop linux-info xdg-utils
+
+MY_PN="Dwarf-Therapist"
+MY_PV="v${PV}"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="For managing dwarves in Dwarf Fortress"
+HOMEPAGE="https://github.com/Dwarf-Therapist/Dwarf-Therapist"
+SRC_URI="https://github.com/Dwarf-Therapist/${MY_PN}/archive/refs/tags/${MY_PV}.tar.gz -> ${MY_P}.tar.gz"
+
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="
+ dev-qt/qtconcurrent:5
+ dev-qt/qtdeclarative:5
+ dev-qt/qtwidgets:5
+"
+
+CONFIG_CHECK="~CROSS_MEMORY_ATTACH"
+WARNING_CROSS_MEMORY_ATTACH="required to interact with Dwarf Fortress"
+
+src_install() {
+ # Install some sort of documentation
+ dodoc README.rst
+
+ # Add the desktop file
+ domenu dist/xdg/applications/dwarftherapist.desktop
+
+ # install icons
+ insinto /usr/share/
+ doins -r dist/xdg/icons
+
+ # install memory layout files for dwarf-fortress versions
+ insinto /usr/share/dwarftherapist/memory_layouts
+ doins -r share/memory_layouts/linux
+
+ # and of course, the binary
+ newbin "${BUILD_DIR}/dwarftherapist" dwarf-therapist
+}
+
+pkg_postinst() {
+ xdg_icon_cache_update
+ xdg_desktop_database_update
+}
+
+pkg_postrm() {
+ xdg_icon_cache_update
+ xdg_desktop_database_update
+}
diff --git a/games-util/dwarf-therapist/dwarf-therapist-42.1.5.ebuild b/games-util/dwarf-therapist/dwarf-therapist-42.1.5.ebuild
new file mode 100644
index 000000000000..f193752d199e
--- /dev/null
+++ b/games-util/dwarf-therapist/dwarf-therapist-42.1.5.ebuild
@@ -0,0 +1,58 @@
+# Copyright 2021-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake desktop linux-info xdg-utils
+
+MY_PN="Dwarf-Therapist"
+MY_PV="v${PV}"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="For managing dwarves in Dwarf Fortress"
+HOMEPAGE="https://github.com/Dwarf-Therapist/Dwarf-Therapist"
+SRC_URI="https://github.com/Dwarf-Therapist/${MY_PN}/archive/refs/tags/${MY_PV}.tar.gz -> ${MY_P}.tar.gz"
+
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="
+ dev-qt/qtconcurrent:5
+ dev-qt/qtdeclarative:5
+ dev-qt/qtwidgets:5
+"
+
+CONFIG_CHECK="~CROSS_MEMORY_ATTACH"
+WARNING_CROSS_MEMORY_ATTACH="required to interact with Dwarf Fortress"
+
+src_install() {
+ # Install some sort of documentation
+ dodoc README.rst
+
+ # Add the desktop file
+ domenu dist/xdg/applications/dwarftherapist.desktop
+
+ # install icons
+ insinto /usr/share/
+ doins -r dist/xdg/icons
+
+ # install memory layout files for dwarf-fortress versions
+ insinto /usr/share/dwarftherapist/memory_layouts
+ doins -r share/memory_layouts/linux
+
+ # and of course, the binary
+ newbin "${BUILD_DIR}/dwarftherapist" dwarf-therapist
+}
+
+pkg_postinst() {
+ xdg_icon_cache_update
+ xdg_desktop_database_update
+}
+
+pkg_postrm() {
+ xdg_icon_cache_update
+ xdg_desktop_database_update
+}
diff --git a/games-util/dwarf-therapist/metadata.xml b/games-util/dwarf-therapist/metadata.xml
new file mode 100644
index 000000000000..767c3433a752
--- /dev/null
+++ b/games-util/dwarf-therapist/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>ezzieyguywuf@gmail.com</email>
+ <name>Wolfgang E. Sanyer</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">Dwarf-Therapist/Dwarf-Therapist</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/games-util/dzip/Manifest b/games-util/dzip/Manifest
new file mode 100644
index 000000000000..c433e3bc1ea5
--- /dev/null
+++ b/games-util/dzip/Manifest
@@ -0,0 +1 @@
+DIST dz29src.zip 100354 BLAKE2B 1b0ab969daa030c135dab049f9950079f0337ca64636765298316e699614dfe3c139b0b88321c29278aadbe6b93ca75f2d656e82ae2dbf54b98f19d9fd3053d9 SHA512 3e1071da6ae5c9064b7222f1bb553b787ded4acbfe8463a7a94f17e60748b68cdfc17672ef7220deddd394c6709efe632e53e61508fd48bfa9001e43a37e788f
diff --git a/games-util/dzip/dzip-2.9-r5.ebuild b/games-util/dzip/dzip-2.9-r5.ebuild
new file mode 100644
index 000000000000..fe029d1ee3e7
--- /dev/null
+++ b/games-util/dzip/dzip-2.9-r5.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs
+
+DESCRIPTION="compressor/uncompressor for demo recordings from id's Quake"
+HOMEPAGE="https://speeddemosarchive.com/dzip/"
+SRC_URI="https://speeddemosarchive.com/dzip/dz${PV/./}src.zip"
+S="${WORKDIR}"
+
+LICENSE="ZLIB"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="virtual/zlib:="
+DEPEND="${RDEPEND}"
+BDEPEND="app-arch/unzip"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-system-zlib-r2.patch
+ "${FILESDIR}"/${P}-scrub-names.patch #93079
+ "${FILESDIR}"/dzip-amd64.diff
+ "${FILESDIR}"/${PN}-clang16-build-fix.patch
+)
+
+src_prepare() {
+ default
+
+ mv -f Makefile{.linux,} || die
+}
+
+src_configure() {
+ tc-export CC
+}
+
+src_install() {
+ dobin dzip
+ dodoc Readme
+}
diff --git a/games-util/dzip/files/dzip-2.9-scrub-names.patch b/games-util/dzip/files/dzip-2.9-scrub-names.patch
new file mode 100644
index 000000000000..01fbc53ec26c
--- /dev/null
+++ b/games-util/dzip/files/dzip-2.9-scrub-names.patch
@@ -0,0 +1,88 @@
+Fix directory traversals issues.
+
+Since .dz files normally just have relative directory trees:
+pak/
+pak/file
+pak/subdir/file
+
+we strip out all the components which ascend in the directory tree
+
+http://bugs.gentoo.org/93079
+
+--- a/main.c
++++ b/main.c
+@@ -77,6 +77,48 @@ int dzRead (int inlen)
+ return 1;
+ }
+
++#define IS_SEP(c) (c == '/' || c == ':' || c == '\\')
++void scrub_name(char *smee)
++{
++ char *paths[] = { "../", "..\\", "..:", NULL};
++ size_t p, i, len;
++ char scrubit, scrubbed;
++
++ scrubbed = 0;
++ len = strlen(smee);
++ i = 0;
++ scrubit = 1;
++
++ /* search the path and scrub out all relative paths */
++ while (i + 3 < len) {
++ for (p = 0; paths[p]; ++p) {
++ if (scrubit && !strncmp(paths[p], smee+i, 3)) {
++ scrubbed = 1;
++ memset(smee+i, '\0', 3);
++ i += 2;
++ break;
++ }
++ }
++ scrubit = IS_SEP(smee[i]) || smee[i] == '\0';
++ ++i;
++ }
++
++ if (!scrubbed)
++ return;
++
++ /* condense the string over all the scrubbed bits */
++ p = 0;
++ for (i = 0; i < len; ++i) {
++ while (p < len && smee[p] == '\0')
++ ++p;
++ if (p == len) {
++ smee[i] = '\0';
++ break;
++ }
++ smee[i] = smee[p++];
++ }
++}
++
+ int dzReadDirectoryEntry (direntry_t *de)
+ {
+ char *s;
+@@ -102,6 +144,7 @@ int dzReadDirectoryEntry (direntry_t *de
+ s = Dzip_malloc(de->len);
+ dzFile_Read(s, de->len);
+ de->name = s;
++ scrub_name(de->name);
+ if (de->pak && de->type != TYPE_PAK)
+ return 1; /* dont mess with dirchar inside pakfiles */
+ do
+--- a/v1code.c
++++ b/v1code.c
+@@ -201,6 +201,7 @@ void demv1_dxentities(void)
+
+ }
+
++extern void scrub_name(char *smee);
+ void dzUncompressV1 (int testing)
+ {
+ int i, inlen = 0;
+@@ -221,6 +222,7 @@ void dzUncompressV1 (int testing)
+ {
+ de = directory + i;
+ crcval = INITCRC;
++ scrub_name(de->name);
+ printf("%s %s",action,de->name);
+ fflush(stdout);
+
diff --git a/games-util/dzip/files/dzip-2.9-system-zlib-r2.patch b/games-util/dzip/files/dzip-2.9-system-zlib-r2.patch
new file mode 100644
index 000000000000..668ef369dfe0
--- /dev/null
+++ b/games-util/dzip/files/dzip-2.9-system-zlib-r2.patch
@@ -0,0 +1,72 @@
+--- a/dzip.h
++++ b/dzip.h
+@@ -2,7 +2,7 @@
+ #include <stdlib.h>
+ #include <string.h>
+
+-#include "zlib/zlib.h"
++#include <zlib.h>
+
+ typedef unsigned char uchar;
+
+@@ -177,4 +177,4 @@
+ #else
+ #define DIRCHAR '/'
+ #define WRONGCHAR '\\'
+-#endif
+\ No newline at end of file
++#endif
+--- a/Makefile.linux
++++ b/Makefile.linux
+@@ -1,18 +1,17 @@
+ # Makefile for linux
+
+-CC = gcc
+-CFLAGS = -Wall -O3
++CC ?= gcc
++CFLAGS ?= -O3
++CFLAGS += -Wall
+ TARGET = dzip
+ OBJECTS = main.o compress.o uncompress.o list.o crc32.o \
+- encode.o decode.o v1code.o conmain.o delete.o \
+- zlib/adler32.o zlib/deflate.o zlib/trees.o \
+- zlib/inflate.o zlib/infblock.o zlib/inftrees.o zlib/infcodes.o \
+- zlib/infutil.o zlib/inffast.o
++ encode.o decode.o v1code.o conmain.o delete.o
++LIBS = -lz
+
+ TMPFILES = gmon.out frag*
+
+ $(TARGET): $(OBJECTS)
+- $(CC) $(CFLAGS) $(OBJECTS) -o $(TARGET) $(LDFLAGS)
++ $(CC) $(CFLAGS) $(LDFLAGS) -o $(TARGET) $(OBJECTS) $(LIBS)
+
+ clean:
+ rm -f $(TARGET) $(OBJECTS) $(TMPFILES)
+@@ -24,4 +23,4 @@
+ encode.o: encode.c dzip.h
+ list.o: list.c dzip.h dzipcon.h
+ decode.o: decode.c dzip.h dzipcon.h
+-v1code.o: v1code.c dzip.h dzipcon.h
+\ No newline at end of file
++v1code.o: v1code.c dzip.h dzipcon.h
+--- a/conmain.c
++++ b/conmain.c
+@@ -507,8 +507,8 @@
+ if (!strcmp(argv[i],"-o")) i++;
+ }
+
+- zs.zalloc = Dzip_calloc;
+- zs.zfree = free;
++ zs.zalloc = Z_NULL; // Dzip_calloc; <- wrong number of arguments, reverting to default
++ zs.zfree = Z_NULL; // free; <- wrong number of arguments, reverting to default
+
+ if (flag[SW_LIST] || flag[SW_EXTRACT] || flag[SW_VERIFY])
+ {
+@@ -618,4 +618,4 @@
+ dzDeleteFiles_MakeList(files + 1, fileargs - 1);
+ free(files);
+ exit(0);
+-}
+\ No newline at end of file
++}
diff --git a/games-util/dzip/files/dzip-amd64.diff b/games-util/dzip/files/dzip-amd64.diff
new file mode 100644
index 000000000000..60d4a524b001
--- /dev/null
+++ b/games-util/dzip/files/dzip-amd64.diff
@@ -0,0 +1,30 @@
+--- a/crc32.c
++++ b/crc32.c
+@@ -1,10 +1,12 @@
++#include <stdint.h>
++
+ unsigned long crcval;
+ unsigned long crctable[256];
+
+-unsigned long crc_reflect(unsigned long x, int bits)
+-{
+- int i;
+- unsigned long v = 0, b = 1 << (bits - 1);
++unsigned long crc_reflect(uint32_t x, int bits)
++{
++ uint32_t i;
++ uint32_t v = 0, b = 1 << (bits - 1);
+
+ for (i = 0; i < bits; i++)
+ {
+@@ -16,8 +18,8 @@
+
+ void crc_init(void)
+ {
+- unsigned long crcpol = 0x04c11db7;
+- unsigned long i, j, k;
++ uint32_t crcpol = 0x04c11db7;
++ uint32_t i, j, k;
+
+ for (i = 0; i < 256; i++)
+ {
diff --git a/games-util/dzip/files/dzip-clang16-build-fix.patch b/games-util/dzip/files/dzip-clang16-build-fix.patch
new file mode 100644
index 000000000000..d16c6beb182c
--- /dev/null
+++ b/games-util/dzip/files/dzip-clang16-build-fix.patch
@@ -0,0 +1,14 @@
+Bug: https://bugs.gentoo.org/884923
+--- a/delete.c
++++ b/delete.c
+@@ -1,8 +1,8 @@
+ #include "dzip.h"
+
+-int intcmp (const uInt *arg1, const uInt *arg2)
++int intcmp (const void *arg1, const void *arg2)
+ {
+- if (*arg1 < *arg2) return -1;
++ if (*(uInt *)arg1 < *(uInt *)arg2) return -1;
+ return 1;
+ }
+
diff --git a/games-util/dzip/metadata.xml b/games-util/dzip/metadata.xml
new file mode 100644
index 000000000000..a926f78c073f
--- /dev/null
+++ b/games-util/dzip/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer type="project">
+ <email>games@gentoo.org</email>
+ <name>Gentoo Games Project</name>
+</maintainer>
+</pkgmetadata>
diff --git a/games-util/esteam/esteam-0.20251117.ebuild b/games-util/esteam/esteam-0.20251117.ebuild
new file mode 100644
index 000000000000..6ae4651c52bf
--- /dev/null
+++ b/games-util/esteam/esteam-0.20251117.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit prefix
+
+DESCRIPTION="Scan Steam libraries to generate and emerge a Portage set"
+HOMEPAGE="https://github.com/anyc/steam-overlay"
+S="${WORKDIR}"
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="+pulseaudio systemd"
+
+RDEPEND="
+ app-misc/pax-utils
+ sys-apps/gentoo-functions
+"
+
+src_install() {
+ newbin $(prefixify_ro "${FILESDIR}"/script.bash) ${PN}
+
+ insinto /usr/share/${PN}
+ doins "${FILESDIR}"/database.bash
+
+ if ! use pulseaudio; then
+ sed -i 's:=media-libs/libpulse\b:=media-sound/apulse:g' \
+ "${ED}"/usr/share/${PN}/database.bash || die
+ fi
+
+ if use systemd; then
+ sed -i 's:=sys-apps/systemd-utils\b:=sys-apps/systemd:g' \
+ "${ED}"/usr/share/${PN}/database.bash || die
+ fi
+}
+
+pkg_postinst() {
+ if [[ -e "${EPREFIX}"/var/lib/portage/${PN} && ! -e "${EPREFIX}"/etc/portage/sets/${PN} ]]; then
+ ebegin "Moving old ${PN} Portage set to /etc/portage/sets"
+ mkdir -p "${EPREFIX}"/etc/portage/sets || die
+ mv "${EPREFIX}"/var/lib/portage/${PN} "${EPREFIX}"/etc/portage/sets/ || die
+ eend $?
+ echo
+ fi
+
+ elog "Run esteam after installing or updating Steam games to have"
+ elog "Portage automatically install the necessary dependencies. Your"
+ elog "games will probably not start otherwise. See esteam -h for more"
+ elog "information."
+}
diff --git a/games-util/esteam/files/database.bash b/games-util/esteam/files/database.bash
new file mode 100644
index 000000000000..0306fd011cac
--- /dev/null
+++ b/games-util/esteam/files/database.bash
@@ -0,0 +1,398 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# Please keep these lists sorted!
+
+GCC=\>=sys-devel/gcc-4.6.0
+GLIBC=\>=sys-libs/glibc-2.15
+
+# Commented entries here are deemed to volatile to unbundle.
+LIBS[ld-linux-x86-64.so.2]=${GLIBC}[@MULTILIB@]
+LIBS[ld-linux.so.2]=${GLIBC}[@MULTILIB@]
+LIBS[libacl.so.1]=sys-apps/acl[@ABI@]
+LIBS[libalut.so.0]=media-libs/freealut[@ABI@]
+LIBS[libappindicator.so.1]=dev-libs/libappindicator:2[@ABI@]
+LIBS[libasn1.so.8]=app-crypt/heimdal[@ABI@]
+LIBS[libasound.so.2]=media-libs/alsa-lib[@ABI@]
+LIBS[libasyncns.so.0]=net-libs/libasyncns[@ABI@]
+LIBS[libatk-1.0.so.0]=dev-libs/atk[@ABI@]
+LIBS[libatomic.so.1]=${GCC}[@MULTILIB@]
+LIBS[libattr.so.1]=sys-apps/attr[@ABI@]
+LIBS[libavahi-client.so.3]=net-dns/avahi[@ABI@]
+LIBS[libavahi-common.so.3]=net-dns/avahi[@ABI@]
+LIBS[libbz2.so.1.0]=app-arch/bzip2[@ABI@]
+LIBS[libbz2.so.1]=app-arch/bzip2[@ABI@]
+LIBS[libc.so.6]=${GLIBC}[@MULTILIB@]
+LIBS[libcairo.so.2]=x11-libs/cairo[@ABI@]
+LIBS[libcanberra-gtk.so.0]=media-libs/libcanberra[@ABI@,gtk]
+LIBS[libcanberra.so.0]=media-libs/libcanberra[@ABI@]
+LIBS[libcap.so.2]=sys-libs/libcap[@ABI@]
+LIBS[libcef.so]=+
+LIBS[libCg.so]=media-gfx/nvidia-cg-toolkit[@ABI@]
+LIBS[libCgGL.so]=media-gfx/nvidia-cg-toolkit[@ABI@]
+LIBS[libcom_err.so.2]=sys-fs/e2fsprogs[@ABI@]
+LIBS[libcrypto.so.0.9.8]=dev-libs/openssl-compat:0.9.8[@ABI@]
+LIBS[libcrypto.so.1.0.0]=dev-libs/openssl-compat:1.0.0[@ABI@]
+LIBS[libcrypto.so.1.1]=dev-libs/openssl-compat:1.1.1[@ABI@]
+LIBS[libcrypto.so.3]=dev-libs/openssl:0/3[@ABI@]
+LIBS[libcrypto.so.42]=libcrypto.so.1.0.0
+LIBS[libcups.so.2]=net-print/cups[@ABI@]
+LIBS[libcurl-gnutls.so.4]=net-libs/libcurl-debian:4[@ABI@]
+LIBS[libcurl-nss.so.4]=net-libs/libcurl-debian:4[@ABI@]
+LIBS[libcurl.so.3]=libcurl.so.4
+LIBS[libcurl.so.4]=net-misc/curl[@ABI@]
+LIBS[libdbus-1.so.3]=sys-apps/dbus[@ABI@]
+LIBS[libdbus-glib-1.so.2]=dev-libs/dbus-glib[@ABI@]
+LIBS[libdbusmenu-glib.so.4]=dev-libs/libdbusmenu[@ABI@]
+LIBS[libdbusmenu-gtk.so.4]=dev-libs/libdbusmenu[@ABI@,gtk]
+LIBS[libdl.so.2]=${GLIBC}[@MULTILIB@]
+LIBS[libdrm.so.2]=x11-libs/libdrm[@ABI@]
+LIBS[libexif.so.12]=media-libs/libexif[@ABI@]
+LIBS[libexpat.so.1]=dev-libs/expat[@ABI@]
+LIBS[libexpatu.so.1]=dev-libs/expat[@ABI@,unicode]
+LIBS[libexpatw.so.1]=dev-libs/expat[@ABI@,unicode]
+LIBS[libFAudio.so.0]=app-emulation/faudio[@ABI64@]
+LIBS[libffi.so.6]=dev-libs/libffi-compat:6[@ABI@]
+LIBS[libFLAC.so.8]=media-libs/flac[@ABI@]
+LIBS[libfltk_cairo.so.1.3]=x11-libs/fltk[@ABI@,cairo]
+LIBS[libfltk_forms.so.1.3]=x11-libs/fltk[@ABI@]
+LIBS[libfltk_gl.so.1.3]=x11-libs/fltk[@ABI@,opengl]
+LIBS[libfltk_images.so.1.3]=x11-libs/fltk[@ABI@]
+LIBS[libfltk.so.1.3]=x11-libs/fltk[@ABI@]
+LIBS[libfmod.so]=+
+LIBS[libfmodevent.so]=+
+LIBS[libfmodex.so]=+
+LIBS[libfontconfig.so.1]=media-libs/fontconfig:1.0[@ABI@]
+LIBS[libform.so.5]=sys-libs/ncurses-compat:5[@ABI@]
+LIBS[libform.so.6]==sys-libs/ncurses-6*[@ABI@]
+LIBS[libformw.so.5]=sys-libs/ncurses-compat:5[@ABI@,unicode\(+\)]
+LIBS[libformw.so.6]==sys-libs/ncurses-6*[@ABI@,unicode\(+\)]
+LIBS[libfreetype.so.6]=media-libs/freetype:2[@ABI@]
+LIBS[libgcc_s.so.1]=${GCC}[@MULTILIB@]
+LIBS[libgcrypt.so.11]=dev-libs/libgcrypt-compat:11[@ABI@]
+LIBS[libgcrypt.so.20]=dev-libs/libgcrypt:0/20[@ABI@]
+LIBS[libgdk_pixbuf_xlib-2.0.so.0]=x11-libs/gdk-pixbuf[@ABI@,X]
+LIBS[libgdk_pixbuf-2.0.so.0]=x11-libs/gdk-pixbuf[@ABI@]
+LIBS[libgdk-x11-2.0.so.0]=x11-libs/gtk+:2[@ABI@]
+LIBS[libgio-2.0.so.0]=dev-libs/glib:2[@ABI@]
+LIBS[libGL.so.1]=media-libs/libglvnd[@ABI@]
+LIBS[libGLEW.so.1.10]==media-libs/glew-1.10*[@ABI@]
+LIBS[libGLEW.so.1.6]==media-libs/glew-1.6*[@ABI@]
+LIBS[libglib-2.0.so.0]=dev-libs/glib:2[@ABI@]
+LIBS[libGLU.so.1]=media-libs/glu[@ABI@]
+LIBS[libglut.so.3]=media-libs/freeglut[@ABI@]
+LIBS[libgme.so.0]=media-libs/game-music-emu[@ABI@]
+LIBS[libgmodule-2.0.so.0]=dev-libs/glib:2[@ABI@]
+LIBS[libgmp.so.10]=dev-libs/gmp:0/10.4[@ABI@]
+LIBS[libgobject-2.0.so.0]=dev-libs/glib:2[@ABI@]
+LIBS[libgomp.so.1]=${GCC}[@MULTILIB@,openmp]
+LIBS[libgpg-error.so.0]=dev-libs/libgpg-error[@ABI@]
+LIBS[libgsm.so.1]=media-sound/gsm[@ABI@]
+LIBS[libgssapi_krb5.so.2]=app-crypt/mit-krb5[@ABI@]
+LIBS[libgssapi.so.3]=app-crypt/heimdal[@ABI@]
+LIBS[libgstapp-0.10.so.0]=media-libs/gst-plugins-base:0.10[@ABI@]
+LIBS[libgstaudio-0.10.so.0]=media-libs/gst-plugins-base:0.10[@ABI@]
+LIBS[libgstbase-0.10.so.0]=media-libs/gstreamer:0.10[@ABI@]
+LIBS[libgstcdda-0.10.so.0]=media-libs/gst-plugins-base:0.10[@ABI@]
+LIBS[libgstcheck-0.10.so.0]=media-libs/gstreamer:0.10[@ABI@]
+LIBS[libgstcontroller-0.10.so.0]=media-libs/gstreamer:0.10[@ABI@]
+LIBS[libgstdataprotocol-0.10.so.0]=media-libs/gstreamer:0.10[@ABI@]
+LIBS[libgstfft-0.10.so.0]=media-libs/gst-plugins-base:0.10[@ABI@]
+LIBS[libgstinterfaces-0.10.so.0]=media-libs/gst-plugins-base:0.10[@ABI@]
+LIBS[libgstnet-0.10.so.0]=media-libs/gstreamer:0.10[@ABI@]
+LIBS[libgstnetbuffer-0.10.so.0]=media-libs/gst-plugins-base:0.10[@ABI@]
+LIBS[libgstpbutils-0.10.so.0]=media-libs/gst-plugins-base:0.10[@ABI@]
+LIBS[libgstreamer-0.10.so.0]=media-libs/gstreamer:0.10[@ABI@]
+LIBS[libgstriff-0.10.so.0]=media-libs/gst-plugins-base:0.10[@ABI@]
+LIBS[libgstrtp-0.10.so.0]=media-libs/gst-plugins-base:0.10[@ABI@]
+LIBS[libgstrtsp-0.10.so.0]=media-libs/gst-plugins-base:0.10[@ABI@]
+LIBS[libgstsdp-0.10.so.0]=media-libs/gst-plugins-base:0.10[@ABI@]
+LIBS[libgsttag-0.10.so.0]=media-libs/gst-plugins-base:0.10[@ABI@]
+LIBS[libgstvideo-0.10.so.0]=media-libs/gst-plugins-base:0.10[@ABI@]
+LIBS[libgthread-2.0.so.0]=dev-libs/glib:2[@ABI@]
+LIBS[libgtk-3.so.0]=x11-libs/gtk+:3[@ABI@]
+LIBS[libgtk-x11-2.0.so.0]=x11-libs/gtk+:2[@ABI@]
+LIBS[libgudev-1.0.so.0]=dev-libs/libgudev[@ABI@]
+LIBS[libharfbuzz.so.0]=media-libs/harfbuzz[@ABI@]
+LIBS[libheimbase.so.1]=app-crypt/heimdal[@ABI@]
+LIBS[libheimntlm.so.0]=app-crypt/heimdal[@ABI@]
+LIBS[libhogweed.so.4]=dev-libs/nettle-compat:6.2[@ABI@]
+LIBS[libhx509.so.5]=app-crypt/heimdal[@ABI@]
+LIBS[libICE.so.6]=x11-libs/libICE[@ABI@]
+LIBS[libidn.so.12]=net-dns/libidn:0/12[@ABI@]
+LIBS[libindicator.so.7]=dev-libs/libindicator:0[@ABI@]
+LIBS[libjack.so.0]=media-sound/jack2[@ABI@]
+LIBS[libjacknet.so.0]=media-sound/jack2[@ABI@]
+LIBS[libjasper.so.1]=media-libs/jasper[@ABI@]
+LIBS[libjawt.so]=+
+LIBS[libjpeg.so.62]=virtual/jpeg-compat:62[@ABI@]
+LIBS[libjpeg.so.8]=media-libs/jpeg-compat:8[@ABI@]
+LIBS[libjvm.so]=+
+LIBS[libk5crypto.so.3]=app-crypt/mit-krb5[@ABI@]
+LIBS[libkeyutils.so.1]=sys-apps/keyutils[@ABI@]
+LIBS[libkrb5.so.3]=app-crypt/mit-krb5[@ABI@]
+LIBS[libkrb5support.so.0]=app-crypt/mit-krb5[@ABI@]
+LIBS[liblber-2.4.so.2]=net-nds/openldap[@ABI@]
+LIBS[liblcms2.so.2]=media-libs/lcms:2[@ABI@]
+LIBS[libldap_r-2.4.so.2]=net-nds/openldap[@ABI@]
+LIBS[libldap-2.4.so.2]=net-nds/openldap[@ABI@]
+LIBS[libltdl.so.7]=dev-libs/libltdl:0[@ABI@]
+LIBS[libm.so.6]=${GLIBC}[@MULTILIB@]
+LIBS[libmad.so.0]=media-libs/libmad[@ABI@]
+LIBS[libmenu.so.5]=sys-libs/ncurses-compat:5[@ABI@]
+LIBS[libmenu.so.6]==sys-libs/ncurses-6*[@ABI@]
+LIBS[libmenuw.so.5]=sys-libs/ncurses-compat:5[@ABI@,unicode\(+\)]
+LIBS[libmenuw.so.6]==sys-libs/ncurses-6*[@ABI@,unicode\(+\)]
+LIBS[libmikmod.so.2]=media-libs/libmikmod[@ABI@]
+LIBS[libmikmod.so.3]=media-libs/libmikmod[@ABI@]
+LIBS[libMiles.so]=+
+LIBS[libmodplug.so.1]=media-libs/libmodplug[@ABI@]
+LIBS[libmp3lame.so.0]=media-sound/lame[@ABI@]
+LIBS[libmpg123.so.0]=media-sound/mpg123[@ABI@]
+LIBS[libncurses.so.5]=sys-libs/ncurses-compat:5[@ABI@]
+LIBS[libncurses.so.6]==sys-libs/ncurses-6*[@ABI@]
+LIBS[libncursesw.so.5]=sys-libs/ncurses-compat:5[@ABI@,unicode\(+\)]
+LIBS[libncursesw.so.6]==sys-libs/ncurses-6*[@ABI@,unicode\(+\)]
+LIBS[libnettle.so.6]=dev-libs/nettle-compat:6.2[@ABI@]
+LIBS[libnm-glib.so.4]=net-libs/libnm-glib[@ABI@]
+LIBS[libnm-util.so.2]=net-libs/libnm-glib[@ABI@]
+LIBS[libnotify.so.4]=x11-libs/libnotify[@ABI@]
+LIBS[libnsl.so.1]=${GLIBC}[@MULTILIB@]
+LIBS[libnspr4.so]=dev-libs/nspr[@ABI@]
+LIBS[libnss3.so]=dev-libs/nss[@ABI@]
+LIBS[libnssutil3.so]=dev-libs/nss[@ABI@]
+LIBS[libnuma.so.1]=sys-process/numactl[@ABI@]
+LIBS[libogg.so.0]=media-libs/libogg[@ABI@]
+LIBS[libopenal.so.1]=media-libs/openal[@ABI@]
+LIBS[libOpenAL.so]=libopenal.so.1
+LIBS[libopenvr_api.so]=+
+LIBS[libopus.so.0]=media-libs/opus[@ABI@]
+LIBS[liborc-0.4.so.0]=dev-lang/orc[@ABI@]
+LIBS[liborc-test-0.4.so.0]=dev-lang/orc[@ABI@]
+LIBS[libout123.so.0]=media-sound/mpg123[@ABI@]
+LIBS[libp11-kit.so.0]=app-crypt/p11-kit[@ABI@]
+LIBS[libpanel.so.5]=sys-libs/ncurses-compat:5[@ABI@]
+LIBS[libpanel.so.6]==sys-libs/ncurses-6*[@ABI@]
+LIBS[libpanelw.so.5]=sys-libs/ncurses-compat:5[@ABI@,unicode\(+\)]
+LIBS[libpanelw.so.6]==sys-libs/ncurses-6*[@ABI@,unicode\(+\)]
+LIBS[libpango-1.0.so.0]=x11-libs/pango[@ABI@]
+LIBS[libpangocairo-1.0.so.0]=x11-libs/pango[@ABI@]
+LIBS[libpangoft2-1.0.so.0]=x11-libs/pango[@ABI@]
+LIBS[libpangoxft-1.0.so.0]=x11-libs/pango[@ABI@]
+LIBS[libpci.so.3]=sys-apps/pciutils[@ABI@]
+LIBS[libpcre.so.1]=dev-libs/libpcre:3[@ABI@]
+LIBS[libpcre.so.3]=dev-libs/libpcre-debian:3[@ABI@]
+LIBS[libpcrecpp.so.0]=dev-libs/libpcre:3[@ABI@,cxx]
+LIBS[libpcreposix.so.3]=dev-libs/libpcre-debian:3[@ABI@]
+LIBS[libpdf.so]=+
+LIBS[libPhysXLoader.so.1]=+
+LIBS[libpipewire-0.3.so.0]=media-video/pipewire[@ABI@]
+LIBS[libpixman-1.so.0]=x11-libs/pixman[@ABI@]
+LIBS[libplc4.so]=dev-libs/nspr[@ABI@]
+LIBS[libplds4.so]=dev-libs/nspr[@ABI@]
+LIBS[libpng12.so.0]=media-libs/libpng-compat:1.2[@ABI@]
+LIBS[libpng15.so.15]=media-libs/libpng-compat:1.5[@ABI@]
+LIBS[libpng16.so.16]=media-libs/libpng:0/16[@ABI@]
+LIBS[libpthread.so.0]=${GLIBC}[@MULTILIB@]
+LIBS[libpulse-mainloop-glib.so.0]=media-libs/libpulse[@ABI@]
+LIBS[libpulse-simple.so.0]=media-libs/libpulse[@ABI@]
+LIBS[libpulse.so.0]=media-libs/libpulse[@ABI@]
+LIBS[libresolv.so.2]=${GLIBC}[@MULTILIB@]
+LIBS[libroken.so.18]=app-crypt/heimdal[@ABI@]
+LIBS[librt.so.1]=${GLIBC}[@MULTILIB@]
+LIBS[librtmp.so.1]=media-video/rtmpdump[@ABI@]
+LIBS[libsamplerate.so.0]=media-libs/libsamplerate[@ABI@]
+LIBS[libSDL_image-1.2.so.0]=media-libs/sdl-image[@ABI@]
+LIBS[libSDL_mixer-1.2.so.0]=media-libs/sdl-mixer[@ABI@]
+LIBS[libSDL_net-1.2.so.0]=media-libs/sdl-net[@ABI@]
+LIBS[libSDL_ttf-2.0.so.0]=media-libs/sdl-ttf[@ABI@]
+LIBS[libSDL-1.2.so.0]=media-libs/libsdl[@ABI@,joystick,opengl,sound,video]
+LIBS[libSDL2_image-2.0.1.so]=libSDL2_image-2.0.so.0
+LIBS[libSDL2_image-2.0.so.0]=media-libs/sdl2-image[@ABI@]
+LIBS[libSDL2_image.so]=libSDL2_image-2.0.so.0
+LIBS[libSDL2_mixer-2.0.so.0]=media-libs/sdl2-mixer[@ABI@]
+LIBS[libSDL2_net-2.0.so.0]=media-libs/sdl2-net[@ABI@]
+LIBS[libSDL2_ttf-2.0.so.0]=media-libs/sdl2-ttf[@ABI@]
+LIBS[libSDL2-2.0.5.so]=libSDL2-2.0.so.0
+LIBS[libSDL2-2.0.7.so]=libSDL2-2.0.so.0
+LIBS[libSDL2-2.0.8.so]=libSDL2-2.0.so.0
+LIBS[libSDL2-2.0.so.0]=media-libs/libsdl2[@ABI@,haptic,joystick,opengl,sound,video]
+LIBS[libSDL2.so]=libSDL2-2.0.so.0
+LIBS[libselinux.so.1]=sys-libs/libselinux[@ABI@]
+LIBS[libSM.so.6]=x11-libs/libSM[@ABI@]
+LIBS[libsmime3.so]=dev-libs/nss[@ABI@]
+LIBS[libsnappy.so.1]=app-arch/snappy:0/1[@ABI@]
+LIBS[libsndfile.so.1]=media-libs/libsndfile[@ABI@]
+LIBS[libsoxr.so.0]=media-libs/soxr[@ABI@]
+LIBS[libspeex.so.1]=media-libs/speex[@ABI@]
+LIBS[libspeexdsp.so.1]=media-libs/speex[@ABI@]
+LIBS[libsqlite3.so.0]=dev-db/sqlite:3[@ABI@]
+LIBS[libss.so.2]=sys-fs/e2fsprogs[@ABI@]
+LIBS[libssl.so.0.9.8]=dev-libs/openssl-compat:0.9.8[@ABI@]
+LIBS[libssl.so.1.0.0]=dev-libs/openssl-compat:1.0.0[@ABI@]
+LIBS[libssl.so.1.1]=dev-libs/openssl-compat:1.1.1[@ABI@]
+LIBS[libssl.so.3]=dev-libs/openssl:0/3[@ABI@]
+LIBS[libssl.so.44]=libssl.so.1.0.0
+LIBS[libssl3.so]=dev-libs/nss[@ABI@]
+LIBS[libstdc++.so.5]=sys-libs/libstdc++-v3[@MULTILIB@]
+LIBS[libstdc++.so.6]=${GCC}[@MULTILIB@,cxx]
+LIBS[libsteam_api.so]=+
+LIBS[libSteamValidateUserIDTickets_amd64.so]=+
+LIBS[libtasn1.so.6]=dev-libs/libtasn1:0/6[@ABI@]
+LIBS[libtbb.so.2]=dev-cpp/tbb[@ABI@]
+LIBS[libtbbmalloc_proxy.so.2]=dev-cpp/tbb[@ABI@]
+LIBS[libtbbmalloc.so.2]=dev-cpp/tbb[@ABI@]
+#LIBS[libtcmalloc_minimal.so.4]==dev-util/google-perftools-2*[@ABI@]
+#LIBS[libtcmalloc.so.4]==dev-util/google-perftools-2*[@ABI@]
+LIBS[libtdb.so.1]=sys-libs/tdb[@ABI@]
+LIBS[libtheora.so.0]=media-libs/libtheora[@ABI@]
+LIBS[libtheoradec.so.1]=media-libs/libtheora[@ABI@]
+LIBS[libtheoraenc.so.1]=media-libs/libtheora[@ABI@,encode]
+LIBS[libthread_db.so.1]=${GLIBC}[@MULTILIB@]
+LIBS[libtier0_s.so]=+
+LIBS[libtier0_srv.so]=+
+LIBS[libtier0.so]=+
+LIBS[libtiff.so.5]=media-libs/tiff:0[@ABI@]
+LIBS[libtiffxx.so.3]=media-libs/tiff:3[@ABI@,cxx]
+LIBS[libtiffxx.so.4]=media-libs/tiff:3[@ABI@,cxx]
+LIBS[libtiffxx.so.5]=media-libs/tiff:0[@ABI@,cxx]
+LIBS[libtinfo.so.5]=sys-libs/ncurses-compat:5[@ABI@,tinfo]
+LIBS[libtinfo.so.6]==sys-libs/ncurses-6*[@ABI@,tinfo]
+LIBS[libtogl.so]=+
+LIBS[libtwolame.so.0]=media-sound/twolame[@ABI@]
+LIBS[libtxc_dxtn.so]=media-libs/libtxc_dxtn[@ABI@]
+LIBS[libudev.so.0]=sys-libs/libudev-compat[@ABI@]
+LIBS[libudev.so.1]=sys-apps/systemd-utils[@ABI@]
+LIBS[libusb-1.0.so.0]=dev-libs/libusb:1[@ABI@]
+LIBS[libuuid.so.1]=sys-apps/util-linux[@ABI@]
+LIBS[libva-glx.so.1]=media-libs/libva-compat:1[@ABI@,opengl]
+LIBS[libva-glx.so.2]=media-libs/libva:0/2[@ABI@,glx]
+LIBS[libva-x11.so.1]=media-libs/libva-compat:1[@ABI@,X]
+LIBS[libva-x11.so.2]=media-libs/libva:0/2[@ABI@,X]
+LIBS[libva.so.1]=media-libs/libva-compat:1[@ABI@]
+LIBS[libva.so.2]=media-libs/libva:0/2[@ABI@]
+LIBS[libvdpau.so.1]=x11-libs/libvdpau[@ABI@]
+LIBS[libvorbis.so.0]=media-libs/libvorbis[@ABI@]
+LIBS[libvorbisenc.so.2]=media-libs/libvorbis[@ABI@]
+LIBS[libvorbisfile.so.3]=media-libs/libvorbis[@ABI@]
+LIBS[libvstdlib_s.so]=+
+LIBS[libvstdlib_srv.so]=+
+LIBS[libvstdlib.so]=+
+LIBS[libvulkan.so.1]=media-libs/vulkan-loader[@ABI@]
+LIBS[libwavpack.so.1]=media-sound/wavpack[@ABI@]
+LIBS[libwayland-client.so.0]=dev-libs/wayland[@ABI@]
+LIBS[libwayland-cursor.so.0]=dev-libs/wayland[@ABI@]
+LIBS[libwayland-egl.so.1]=media-libs/mesa[@ABI@,wayland]
+LIBS[libwind.so.0]=app-crypt/heimdal[@ABI@]
+LIBS[libwine.so.1]=+
+LIBS[libwrap.so.0]=sys-apps/tcp-wrappers[@ABI@]
+LIBS[libX11-xcb.so.1]=x11-libs/libX11[@ABI@]
+LIBS[libX11.so.6]=x11-libs/libX11[@ABI@]
+LIBS[libXau.so.6]=x11-libs/libXau[@ABI@]
+LIBS[libXaw.so.7]=x11-libs/libXaw[@ABI@]
+LIBS[libXaw7.so.7]=x11-libs/libXaw[@ABI@]
+LIBS[libXcomposite.so.1]=x11-libs/libXcomposite[@ABI@]
+LIBS[libXcursor.so.1]=x11-libs/libXcursor[@ABI@]
+LIBS[libXdamage.so.1]=x11-libs/libXdamage[@ABI@]
+LIBS[libXdmcp.so.6]=x11-libs/libXdmcp[@ABI@]
+LIBS[libXext.so.6]=x11-libs/libXext[@ABI@]
+LIBS[libXfixes.so.3]=x11-libs/libXfixes[@ABI@]
+LIBS[libXft.so.2]=x11-libs/libXft[@ABI@]
+LIBS[libXi.so.6]=x11-libs/libXi[@ABI@]
+LIBS[libXinerama.so.1]=x11-libs/libXinerama[@ABI@]
+LIBS[libxkbcommon.so.0]=x11-libs/libxkbcommon[@ABI@]
+LIBS[libxml2.so.2]=dev-libs/libxml2:2[@ABI@]
+LIBS[libXmu.so.6]=x11-libs/libXmu[@ABI@]
+LIBS[libXpm.so.4]=x11-libs/libXpm[@ABI@]
+LIBS[libXrandr.so.2]=x11-libs/libXrandr[@ABI@]
+LIBS[libXrender.so.1]=x11-libs/libXrender[@ABI@]
+LIBS[libxslt.so.1]=dev-libs/libxslt[@ABI@]
+LIBS[libXss.so.1]=x11-libs/libXScrnSaver[@ABI@]
+LIBS[libXt.so.6]=x11-libs/libXt[@ABI@]
+LIBS[libXtst.so.6]=x11-libs/libXtst[@ABI@]
+LIBS[libxvidcore.so.4]=media-libs/xvid[@ABI@]
+LIBS[libXxf86vm.so.1]=x11-libs/libXxf86vm[@ABI@]
+LIBS[libz.so.1]=sys-libs/zlib[@ABI@]
+LIBS[libzvbi.so.0]=media-libs/zvbi[@ABI@]
+LIBS[vgui.so]=+
+
+UNBUNDLEABLES=(
+ "5dchesswithmultiversetimetravel"
+ "A Boy and His Blob"
+ "Alien Isolation"
+ "Anodyne"
+ "Deus Ex Mankind Divided"
+ "DiRT Rally"
+ "dota 2 beta"
+ "dota 2"
+ "Duck Game" # Effective when https://github.com/0x0ade/DuckGame-Linux is applied.
+ "Dustforce"
+ "Dwarfs - F2P"
+ "GRID Autosport"
+ "Half-Life 2"
+ "Half-Life"
+ "Life is Strange - Before the Storm"
+ "Life Is Strange"
+ "Mad Max"
+ "Portal 2"
+ "Portal Stories Mel"
+ "Portal"
+ "Rise of the Tomb Raider"
+ "ShadowOfMordor"
+ "Sid Meier's Civilization V"
+ "Skullgirls"
+ "SpeedRunners"
+ "Terraria"
+ "This War of Mine"
+ "Tomb Raider"
+ "Trine 2"
+ "Unrailed"
+ "WormsWMD"
+ "XCOM 2"
+)
+
+# The following lack unbundleable libraries:
+
+# 1001 Spikes
+# A Virus Named TOM
+# Absolute Drift
+# Besiege
+# Binaries
+# Bridge Constructor Portal
+# BridgeConstructor
+# Epistory
+# Gang Beasts
+# Hammerwatch
+# Hover
+# Human Fall Flat
+# I Hate Running Backwards
+# Letter Quest Remastered
+# Lovers in a Dangerous Spacetime
+# MegabytePunch
+# Metro 2033 Redux
+# Octodad Dadliest Catch
+# Oh...Sir! The Insult Simulator
+# PAC-MAN 256
+# Pix the Cat
+# Please, Don’t Touch Anything
+# Prison Architect
+# Rocket Wars
+# rocketleague
+# Screencheat
+# Serious Sam 3
+# The Talos Principle
+# Tricky Towers
+# Ultimate Chicken Horse
+# Worms Clan Wars
+
+# The following should remain bundled:
+
+# Grim Fandango Remastered (custom SDL2? other libs are in DELETEABLES)
+
+# The following files will be deleted if found:
+
+DELETEABLES=(
+ "Dwarfs - F2P"/lib{tier0,vstdlib}_s.so # Crashes on startup with these.
+ "Grim Fandango Remastered"/{amd64,i386} # They bundled half a distro!
+ "Life is Strange - Before the Storm"/sdl_override # Fixes minor bug but breaks with SDL 2.0.9 installed.
+)
diff --git a/games-util/esteam/files/script.bash b/games-util/esteam/files/script.bash
new file mode 100644
index 000000000000..ceabac1fcd4d
--- /dev/null
+++ b/games-util/esteam/files/script.bash
@@ -0,0 +1,275 @@
+#!@GENTOO_PORTAGE_EPREFIX@/bin/bash
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+source "@GENTOO_PORTAGE_EPREFIX@/lib/gentoo/functions.sh"
+set -e # Gentoo bug #592470
+shopt -s nullglob
+
+while getopts vh OPT; do
+ case "${OPT}" in
+ v) EINFO_VERBOSE=yes ;;
+ h)
+ cat <<EOF
+Usage: $0 [-h] [-v] -- [emerge options]
+Scan Steam libraries to generate and emerge a Portage set.
+
+Optional arguments:
+
+ -h Print this usage and exit
+ -v Be more verbose
+ -- Remaining options are passed to emerge
+
+Output:
+
+ This tool will output information regarding the following states.
+
+EOF
+
+ eerror "Unknown: Required library has no system version and is not bundled" && true
+ eerror "Mismatch: Required library has no 32-bit system version and is not bundled" && true
+ einfo "Deleted: Library has been safely deleted in favor of a system version"
+ ewarn "Bundled: Library has no system version but is bundled (verbose)"
+ ewarn "Skipped: Library has a system version but remains bundled (verbose)"
+
+ cat <<EOF
+
+Notes:
+
+ Deleted libraries can be easily restored by right-clicking on the game
+ in Steam and navigating to Properties -> Local Files -> Verify
+ Integrity of Game Cache.
+
+ The official Steam runtime can be safely enabled or disabled as
+ desired with no ill effects. If you wish to remove the libraries
+ installed by this tool in favor of the runtime then execute:
+ emerge --deselect @esteam && emerge --depclean
+
+ To avoid unexpected breakage, only a specific list of games will
+ have their bundled libraries deleted in favor of system versions
+ where possible. Additions to this list are welcome.
+EOF
+
+ exit 1 ;;
+ esac
+done
+
+should_ignore_dir() {
+ # Valve's runtimes should be self-contained and therefore ignored.
+ [[ ${1##*/} = SteamLinuxRuntime* ]] && return 0
+
+ # Proton is self-contained and containerised from around V5.13 onwards so ignore.
+ [[ ${1##*/} = Proton\ [0-9]* ]] && return 0
+
+ # Games or tools depending on a containerised runtime should be ignored.
+ grep -Exq '\s*"require_tool_appid"\s+"(1391110|1628350)"\s*' "$1"/toolmanifest.vdf 2>/dev/null && return 0
+
+ return 1
+}
+
+shift $(( ${OPTIND} - 1 ))
+declare -A LIBS UNBUNDLEABLES_A DIRS GAME_ATOMS
+source "@GENTOO_PORTAGE_EPREFIX@/usr/share/esteam/database.bash"
+
+if [[ ! -w "@GENTOO_PORTAGE_EPREFIX@/" ]]; then
+ if type sudo &>/dev/null; then
+ ewarn "esteam started as unprivileged user so scan may be incomplete"
+ SUDO=sudo
+ else
+ eerror "Error: esteam started as unprivileged user and sudo unavailable"
+ fi
+else
+ unset SUDO
+fi
+
+ARCH=$(portageq envvar ARCH || eerror "Error: Could not determine Portage ARCH")
+
+unset IFS
+for UNBUNDLEABLE in "${UNBUNDLEABLES[@]}"; do
+ UNBUNDLEABLES_A[${UNBUNDLEABLE}]=1
+done
+
+IFS=$'\n'
+for HOME in $(getent passwd | cut -d: -f6 | sort -u); do
+ DIR=${HOME%/}/.steam/steam
+
+ if [[ -d ${DIR} ]]; then
+ if [[ -d ${DIR}/steamapps/common || -d ${DIR}/SteamApps/common ]]; then
+ DIRS[${DIR}]=1
+ fi
+
+ IFS=$'\n'
+ for DIR in $(grep -hs $'^\t\t"path"' "${DIR}"/[Ss]team[Aa]pps/libraryfolders.vdf /dev/null | cut -d\" -f4); do
+ if [[ -d ${DIR}/steamapps/common || -d ${DIR}/SteamApps/common ]]; then
+ DIRS[${DIR}]=1
+ fi
+ done
+ fi
+done
+
+unset IFS
+for DIR in "${!DIRS[@]}"; do
+ for COMMON in "${DIR}"/steamapps/common/ "${DIR}"/SteamApps/common/; do
+ if [[ ! -d ${COMMON} ]]; then
+ continue
+ elif [[ ! -w ${COMMON} ]]; then
+ ewarn "Skipping unwritable ${DIR}"
+ continue
+ fi
+
+ einfo "Scanning ${DIR} ..."
+
+ unset IFS
+ for DELETEABLE in "${DELETEABLES[@]}"; do
+ if [[ -e ${COMMON}${DELETEABLE} ]]; then
+ rm -r "${COMMON}${DELETEABLE}"
+ einfo "Deleted: ${DELETEABLE}"
+ fi
+ done
+
+ case "${ARCH}" in
+ x86) SCAN_ARGS="-M 32" ;;
+ *) unset SCAN_ARGS ;;
+ esac
+
+ SCAN_RESULT=$(scanelf ${SCAN_ARGS} -yBRF $'%F\t%a\t%n' "${COMMON}")
+
+ IFS=$'\n'
+ for SCANNED_PATH in $(find "${COMMON}" -type f -name FNA.dll.config); do
+ MATCH=$(grep -F "${SCANNED_PATH%/*}" <<< "${SCAN_RESULT}") || continue
+ NEEDEDS=$(printf '%s,' $(grep -Eo 'lib[^"]+\.so[^"]*' "${SCANNED_PATH}")) # FIXME: Use XPath
+ [[ ${MATCH} = *$'\tEM_X86_64\t'* ]] && SCAN_RESULT+=$'\n'${SCANNED_PATH}$'\tEM_X86_64\t'${NEEDEDS%,}
+ [[ ${MATCH} = *$'\tEM_386\t'* ]] && SCAN_RESULT+=$'\n'${SCANNED_PATH}$'\tEM_386\t'${NEEDEDS%,}
+ done
+
+ unset BINARIES
+ declare -A BINARIES
+
+ IFS=$'\n'
+ for SCAN_LINE in ${SCAN_RESULT}; do
+ IFS=$'\t' read SCANNED_PATH EM NEEDEDS <<< "${SCAN_LINE}"
+
+ GAME=${SCANNED_PATH#${COMMON}}
+ GAME=${GAME%%/*}
+
+ should_ignore_dir "${COMMON}/${GAME}" && continue
+
+ SCANNED_ATOM=${LIBS[${SCANNED_PATH##*/}]}
+
+ if [[ ${UNBUNDLEABLES_A[${GAME}]} = 1 ]]; then
+ case "${SCANNED_ATOM}" in
+ +|"")
+ : ;;
+ */*)
+ rm "${SCANNED_PATH}"
+ einfo "Deleted: ${SCANNED_PATH#${COMMON}}"
+ continue ;;
+ *)
+ case "${EM}" in
+ EM_X86_64) LIBDIR=$(portageq envvar LIBDIR_amd64) ;;
+ EM_386) LIBDIR=$(portageq envvar LIBDIR_x86) ;;
+ esac
+
+ [[ -n ${LIBDIR} ]] || eerror "Error: Could not determine Portage LIBDIR"
+ TARGET="@GENTOO_PORTAGE_EPREFIX@/usr/${LIBDIR}/${SCANNED_ATOM}"
+ ln -snf "${TARGET}" "${SCANNED_PATH}"
+ einfo "Symlinked: ${SCANNED_PATH#${COMMON}} to ${TARGET}"
+ continue ;;
+ esac
+ fi
+
+ SCANNED_PATH=${SCANNED_PATH#${COMMON}}
+ BINARIES[${SCANNED_PATH%%/*}/${EM}/${SCANNED_PATH##*/}]=1
+ done
+
+ IFS=$'\n'
+ for SCAN_LINE in ${SCAN_RESULT}; do
+ IFS=$'\t' read SCANNED_PATH EM NEEDEDS <<< "${SCAN_LINE}"
+ [[ ! -e ${SCANNED_PATH} ]] && continue
+
+ GAME=${SCANNED_PATH#${COMMON}}
+ GAME=${GAME%%/*}
+
+ should_ignore_dir "${COMMON}/${GAME}" && continue
+
+ IFS=','
+ for NEEDED_FILE in ${NEEDEDS}; do
+ NEEDED_ATOM=${LIBS[${NEEDED_FILE}]}
+ [[ ${NEEDED_ATOM} = + ]] && continue
+ MSG="${NEEDED_FILE} needed by ${SCANNED_PATH#${COMMON}}"
+
+ if [[ ${BINARIES[${GAME}/${EM}/${NEEDED_FILE}]} = 1 ]]; then
+ if [[ -n ${NEEDED_ATOM} ]]; then
+ vewarn "Skipped: ${MSG}" && true
+ else
+ vewarn "Bundled: ${MSG}" && true
+ fi
+ else
+ if [[ -n ${NEEDED_ATOM} && ${NEEDED_ATOM} != */* ]]; then
+ NEEDED_ATOM=${LIBS[${NEEDED_ATOM}]}
+ fi
+
+ if [[ -n ${NEEDED_ATOM} ]]; then
+ unset ATOM
+
+ case "${EM}" in
+ EM_X86_64) ATOM=${NEEDED_ATOM//@ABI@/abi_x86_64} ;;
+ EM_386) ATOM=${NEEDED_ATOM//@ABI@/abi_x86_32} ;;
+ esac
+
+ if [[ -n ${ATOM} ]]; then
+ unset MULTILIB
+
+ if [[ ${EM} = EM_386 ]]; then
+ case "${NEEDED_ATOM}" in
+ *@ABI64@*)
+ eerror "Mismatch: ${MSG}" && true
+ continue ;;
+ "${GLIBC}["*)
+ MULTILIB+=",stack-realign(+)" ;;
+ esac
+
+ if [[ ${ARCH} != x86 ]]; then
+ MULTILIB+=",multilib"
+ fi
+ else
+ ATOM=${ATOM//@ABI64@}
+ fi
+
+ ATOM=${ATOM//@MULTILIB@/${MULTILIB#,}}
+ ATOM=${ATOM//\[,/\[}
+ ATOM=${ATOM//,\]/\]}
+ ATOM=${ATOM//\[\]}
+ GAME_ATOMS[${GAME}]+=${ATOM}$'\n'
+ fi
+ else
+ eerror "Unknown: ${MSG}" && true
+ fi
+ fi
+ done
+ done
+
+ IFS=$'\n'
+ for MATCH in $(find "${COMMON}" -type f -exec awk '/^#!/ {print FILENAME} {nextfile}' {} + | xargs -d $'\n' grep -Eaoh "\b(xwininfo)\b" | sort -u); do
+ case "${MATCH}" in
+ "xwininfo") GAME_ATOMS["Miscellaneous"]+=x11-apps/xwininfo$'\n' ;;
+ esac
+ done
+ done
+done
+
+unset CONTENTS
+SET="@GENTOO_PORTAGE_EPREFIX@/etc/portage/sets/esteam"
+
+unset IFS
+for GAME in "${!GAME_ATOMS[@]}"; do
+ CONTENTS+="# ${GAME}$(sort -u <<< ${GAME_ATOMS[${GAME}]})"$'\n\n'
+done
+
+echo
+einfo "Writing Portage set to ${SET} ..."
+${SUDO} mkdir -p "${SET%/*}"
+${SUDO} tee "${SET}" <<< ${CONTENTS%$'\n\n'} >/dev/null
+
+einfo "Executing emerge -an${@+ }${@} @esteam ..."
+exec ${SUDO} emerge -an "${@}" @esteam
diff --git a/games-util/esteam/metadata.xml b/games-util/esteam/metadata.xml
new file mode 100644
index 000000000000..71780d852e2b
--- /dev/null
+++ b/games-util/esteam/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>chewi@gentoo.org</email>
+ <name>James Le Cuirot</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">anyc/steam-overlay</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/games-util/eureka/Manifest b/games-util/eureka/Manifest
new file mode 100644
index 000000000000..958451c501be
--- /dev/null
+++ b/games-util/eureka/Manifest
@@ -0,0 +1 @@
+DIST eureka-1.27b-source.tar.gz 1159366 BLAKE2B 00410b0cd53c907983241bf94c631c3068015e29ac947d092048a5701a4e0102d66d99134731b152a1310473dd30513e1fdc89bde82a5ede47185419575c9dd2 SHA512 4b2ce44a99acbe1b9dd2cf31ee5c3307f5f667422ba18bee8c3f9858e9244ee05c48e96b5afa4cdf65dfd079bca19a5693b6d123b5563549d1f84ca03137eb5e
diff --git a/games-util/eureka/eureka-1.27b-r1.ebuild b/games-util/eureka/eureka-1.27b-r1.ebuild
new file mode 100644
index 000000000000..1ef5ea4ef295
--- /dev/null
+++ b/games-util/eureka/eureka-1.27b-r1.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit desktop toolchain-funcs xdg
+
+DESCRIPTION="Graphical map editor for games using the DOOM engine"
+HOMEPAGE="https://eureka-editor.sourceforge.net/"
+SRC_URI="https://downloads.sourceforge.net/${PN}-editor/Eureka/${PV%[a-z]}/${P}-source.tar.gz"
+S="${WORKDIR}/${P}-source"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="+opengl"
+
+DEPEND="
+ virtual/zlib:=
+ x11-libs/fltk:1=[opengl?]
+ opengl? (
+ media-libs/glu
+ virtual/opengl
+ )
+"
+
+RDEPEND="
+ ${DEPEND}
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-Makefile.patch
+)
+
+DOCS=(
+ AUTHORS.txt
+ CHANGES.txt
+ README.txt
+ TODO.txt
+)
+
+src_compile() {
+ emake \
+ CXX="$(tc-getCXX)" \
+ OPENGL="$(usex opengl 1 0)"
+}
+
+src_install() {
+ emake install PREFIX="${ED}/usr"
+ einstalldocs
+
+ doicon -s 32 misc/${PN}.xpm
+ domenu misc/${PN}.desktop
+}
diff --git a/games-util/eureka/files/eureka-Makefile.patch b/games-util/eureka/files/eureka-Makefile.patch
new file mode 100644
index 000000000000..567f5476c037
--- /dev/null
+++ b/games-util/eureka/files/eureka-Makefile.patch
@@ -0,0 +1,74 @@
+From faf9c604becc44135d6c5a7c8427982e203a327f Mon Sep 17 00:00:00 2001
+From: James Le Cuirot <chewi@gentoo.org>
+Date: Fri, 8 May 2020 11:26:18 +0100
+Subject: [PATCH 1/2] Allow software rendering to be easily chosen over OpenGL
+ with OPENGL=0
+
+---
+ Makefile | 17 ++++++++++++-----
+ 1 file changed, 12 insertions(+), 5 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index ebbd53a4..adabaa92 100644
+--- a/Makefile
++++ b/Makefile
+@@ -26,19 +26,26 @@ CPPFLAGS ?=
+ LDFLAGS ?= $(OPTIMISE)
+ LIBS ?=
+
++# set this to 0 to use software rendering instead of OpenGL
++OPENGL = 1
++
+ # general things needed by Eureka
+ CXXFLAGS += $(CXX_DIALECT)
+-LIBS += -lGLU -lGL
+ LIBS += -lz -lm
++FLTK_CONFIG_FLAGS =
+
+-# add this for software rendering, remove '--use-gl' below, remove -lGL and -lGLU from LIBS
+-# CXXFLAGS += -DNO_OPENGL
++ifeq ($(OPENGL),1)
++LIBS += -lGLU -lGL
++FLTK_CONFIG_FLAGS += --use-gl
++else
++CXXFLAGS += -DNO_OPENGL
++endif
+
+ # FLTK flags (this assumes a system-wide FLTK installation)
+ FLTK_CONFIG ?= fltk-config
+
+-CXXFLAGS += $(shell $(FLTK_CONFIG) --use-images --use-gl --cxxflags)
+-LDFLAGS += $(shell $(FLTK_CONFIG) --use-images --use-gl --ldflags)
++CXXFLAGS += $(shell $(FLTK_CONFIG) --use-images --cxxflags $(FLTK_CONFIG_FLAGS))
++LDFLAGS += $(shell $(FLTK_CONFIG) --use-images --ldflags $(FLTK_CONFIG_FLAGS))
+
+ # NOTE: the following is commented out since it does not work as expected.
+ # the --libs option gives us static libraries, but --ldflags option
+--
+2.26.2
+
+From decee12e317e58128420771392b77c44a7c81122 Mon Sep 17 00:00:00 2001
+From: James Le Cuirot <chewi@gentoo.org>
+Date: Fri, 8 May 2020 11:27:49 +0100
+Subject: [PATCH 2/2] Ensure bin directory is present before installing binary
+
+It might not be when using DESTDIR.
+---
+ Makefile | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/Makefile b/Makefile
+index adabaa92..424ad4b5 100644
+--- a/Makefile
++++ b/Makefile
+@@ -158,6 +158,7 @@ stripped: all
+ INSTALL_DIR=$(DESTDIR)$(PREFIX)/share/eureka
+
+ install: all
++ install -d $(DESTDIR)$(PREFIX)/bin
+ install -m 755 $(PROGRAM) $(DESTDIR)$(PREFIX)/bin/
+ install -d $(INSTALL_DIR)/games
+ install -d $(INSTALL_DIR)/common
+--
+2.26.2
+
diff --git a/games-util/eureka/metadata.xml b/games-util/eureka/metadata.xml
new file mode 100644
index 000000000000..74cbd44d197c
--- /dev/null
+++ b/games-util/eureka/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>games@gentoo.org</email>
+ <name>Gentoo Games Project</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="sourceforge">eureka-editor</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/games-util/fteqcc/Manifest b/games-util/fteqcc/Manifest
new file mode 100644
index 000000000000..b0d114003c34
--- /dev/null
+++ b/games-util/fteqcc/Manifest
@@ -0,0 +1 @@
+DIST fteqcc-20250126.tar.gz 7360931 BLAKE2B 24466184e0115fd471098fceaf26b0af22b9d0c4d8335a7ce7cd0ada6bd40c014b818bec65d46833ba75844874f329f4032413751d656d3ee9a94096910d6710 SHA512 6c2ae44fabc44987891063d87f237236eea76b65899c049d93a532b1159e6a3d9086bacf085bdd45f1077d7e60fb9be52d07093053a261cbcedab335804cc1ae
diff --git a/games-util/fteqcc/files/fteqcc-20250126-Makefile.patch b/games-util/fteqcc/files/fteqcc-20250126-Makefile.patch
new file mode 100644
index 000000000000..92c108952964
--- /dev/null
+++ b/games-util/fteqcc/files/fteqcc-20250126-Makefile.patch
@@ -0,0 +1,67 @@
+--- a/Makefile
++++ b/Makefile
+@@ -21,12 +21,8 @@ USEGUI_CFLAGS=
+ WARNING_CFLAGS=-Wno-pointer-sign
+ BASE_CFLAGS+=$(WARNING_CFLAGS)
+ BASE_CFLAGS+=$(USEGUI_CFLAGS)
++BASE_LDFLAGS+=$(LDFLAGS)
+
+-ifneq ($(DEBUG),)
+- BASE_CFLAGS+=-ggdb
+-else
+- BASE_LDFLAGS+=-s
+-endif
+ BASE_LDFLAGS+=-lz
+ # set to "" for debugging
+
+@@ -35,11 +31,11 @@ DO_CC?=$(CC) $(BASE_CFLAGS) -o $@ -c $< $(CFLAGS)
+ lib:
+
+ R_win_nocyg: $(QCC_OBJS) $(COMMON_OBJS) $(WIN32GUI_OBJS)
+- $(CC) $(BASE_CFLAGS) -o fteqcc.exe -O3 $(BASE_LDFLAGS) $(QCC_OBJS) $(COMMON_OBJS) $(WIN32GUI_OBJS) -mno-cygwin -mwindows -lcomctl32 -lole32 -lshlwapi
++ $(CC) $(BASE_CFLAGS) -o fteqcc.exe $(BASE_LDFLAGS) $(QCC_OBJS) $(COMMON_OBJS) $(WIN32GUI_OBJS) -mno-cygwin -mwindows -lcomctl32 -lole32 -lshlwapi
+ R_nocyg: $(QCC_OBJS) $(COMMON_OBJS) $(WIN32GUI_OBJS)
+- $(CC) $(BASE_CFLAGS) -o fteqcc.exe -O3 $(BASE_LDFLAGS) $(QCC_OBJS) $(COMMON_OBJS) $(WIN32GUI_OBJS) -mno-cygwin -lcomctl32 -lole32 -lshlwapi
++ $(CC) $(BASE_CFLAGS) -o fteqcc.exe $(BASE_LDFLAGS) $(QCC_OBJS) $(COMMON_OBJS) $(WIN32GUI_OBJS) -mno-cygwin -lcomctl32 -lole32 -lshlwapi
+ R_win: $(QCC_OBJS) $(COMMON_OBJS) $(WIN32GUI_OBJS)
+- $(CC) $(BASE_CFLAGS) -o fteqcc.exe -O3 $(BASE_LDFLAGS) $(QCC_OBJS) $(COMMON_OBJS) $(WIN32GUI_OBJS) -mwindows -lcomctl32 -lole32 -lshlwapi
++ $(CC) $(BASE_CFLAGS) -o fteqcc.exe $(BASE_LDFLAGS) $(QCC_OBJS) $(COMMON_OBJS) $(WIN32GUI_OBJS) -mwindows -lcomctl32 -lole32 -lshlwapi
+
+ win_nocyg:
+ $(MAKE) USEGUI_CFLAGS="-DUSEGUI -DQCCONLY" R_win_nocyg
+@@ -49,7 +45,7 @@ win:
+ $(MAKE) USEGUI_CFLAGS="-DUSEGUI -DQCCONLY" R_win
+
+ R_qcc: $(QCC_OBJS) $(COMMON_OBJS) $(TUI_OBJS)
+- $(CC) $(BASE_CFLAGS) -o fteqcc.bin -O3 $(QCC_OBJS) $(TUI_OBJS) $(COMMON_OBJS) $(BASE_LDFLAGS) -lm
++ $(CC) $(BASE_CFLAGS) -o fteqcc.bin $(QCC_OBJS) $(TUI_OBJS) $(COMMON_OBJS) $(BASE_LDFLAGS) -lm -lz
+ qcc:
+ $(MAKE) USEGUI_CFLAGS="" R_qcc
+
+@@ -87,7 +83,7 @@ qcc_gtk.o: qcc_gtk.c qcc.h
+ $(DO_CC) `pkg-config --cflags gtk+-2.0`
+
+ R_gtkgui: $(QCC_OBJS) $(COMMON_OBJS) $(GTKGUI_OBJS)
+- $(CC) $(BASE_CFLAGS) $(USEGUI_CFLAGS) -o fteqccgui.bin -O3 $(GTKGUI_OBJS) $(QCC_OBJS) $(COMMON_OBJS) `pkg-config --libs gtk+-2.0`
++ $(CC) $(BASE_CFLAGS) $(USEGUI_CFLAGS) -o fteqccgui.bin $(GTKGUI_OBJS) $(QCC_OBJS) $(COMMON_OBJS) `pkg-config --libs gtk+-2.0`
+ gtkgui:
+ $(MAKE) USEGUI_CFLAGS="-DUSEGUI -DQCCONLY" R_gtkgui
+
+@@ -95,7 +91,7 @@ clean:
+ $(RM) fteqcc.bin fteqcc.exe $(QCC_OBJS) $(COMMON_OBJS) $(VM_OBJS) $(GTKGUI_OBJS) $(WIN32GUI_OBJS) $(TUI_OBJS)
+
+ qcvm.so: $(QCC_OBJS) $(VM_OBJS) $(COMMON_OBJS)
+- $(CC) $(BASE_CFLAGS) -o $@ -O3 $(BASE_LDFLAGS) $(QCC_OBJS) $(VM_OBJS) $(COMMON_OBJS) -shared
++ $(CC) $(BASE_CFLAGS) -o $@ $(BASE_LDFLAGS) $(QCC_OBJS) $(VM_OBJS) $(COMMON_OBJS) -shared
+ qcvm.a: $(QCC_OBJS) $(VM_OBJS) $(COMMON_OBJS)
+ ar r $@ $^
+
+@@ -103,7 +99,7 @@ test.o: test.c
+ $(DO_CC)
+
+ qcvm: test.o qcvm.a
+- $(CC) $(BASE_CFLAGS) $(CFLAGS) -o qcvm -O3 $(BASE_LDFLAGS) $^ -lm -lz -ggdb
++ $(CC) $(BASE_CFLAGS) $(CFLAGS) -o qcvm $(BASE_LDFLAGS) $^ -lm -lz
+
+ tests: qcvm
+ @echo Running Tests...
diff --git a/games-util/fteqcc/fteqcc-20250126.ebuild b/games-util/fteqcc/fteqcc-20250126.ebuild
new file mode 100644
index 000000000000..fe0dbdb0eee6
--- /dev/null
+++ b/games-util/fteqcc/fteqcc-20250126.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs
+
+DESCRIPTION="Quake-C compiler"
+HOMEPAGE="https://www.fteqcc.org/"
+MY_COMMIT="f767d952e3ad8bbcb52f1cd6e2e36a47e3dbaa87"
+SRC_URI="https://github.com/fte-team/fteqw/archive/${MY_COMMIT}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/fteqw-${MY_COMMIT}/engine/qclib"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+RESTRICT="test"
+
+RDEPEND="virtual/zlib:="
+DEPEND="${RDEPEND}"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-Makefile.patch
+)
+
+src_configure() {
+ tc-export CC
+}
+
+src_install() {
+ newbin fteqcc.bin fteqcc
+ dodoc readme.txt
+}
diff --git a/games-util/fteqcc/metadata.xml b/games-util/fteqcc/metadata.xml
new file mode 100644
index 000000000000..82ddff7d7f7e
--- /dev/null
+++ b/games-util/fteqcc/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>games@gentoo.org</email>
+ <name>Gentoo Games Project</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">fte-team/fteqw</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/games-util/game-device-udev-rules/Manifest b/games-util/game-device-udev-rules/Manifest
new file mode 100644
index 000000000000..c9b2a0a59394
--- /dev/null
+++ b/games-util/game-device-udev-rules/Manifest
@@ -0,0 +1 @@
+DIST steam-devices-e2971e45063f6b327ccedbf18e168bda6749155c.tar.gz 2401 BLAKE2B 0660eec36dbff1d140a991debd2a88c7e2d95abafbf070e8bfb68dbff2fbf005fe2dc59a9a18bb0da3057b2b36db91a4f588d40c6639f5a7a841378354900077 SHA512 6b83e466902eb0baae866da3639724f04f2e1e4d054c97f79f8c750c0836e5c3b8a7e8f6840ec67a22b4bb40f21958de6cb72df2235af8df34f02645d0765c0f
diff --git a/games-util/game-device-udev-rules/files/60-game-input-20220311.rules b/games-util/game-device-udev-rules/files/60-game-input-20220311.rules
new file mode 100644
index 000000000000..be2c499891a7
--- /dev/null
+++ b/games-util/game-device-udev-rules/files/60-game-input-20220311.rules
@@ -0,0 +1,6 @@
+
+# Thrustmaster T-Wireless
+KERNEL=="hidraw*", ATTRS{idVendor}=="044f", ATTRS{idProduct}=="d007", TAG+="uaccess"
+
+# Google Stadia Controller
+KERNEL=="hidraw*", ATTRS{idVendor}=="18d1", ATTRS{idProduct}=="9400", TAG+="uaccess"
diff --git a/games-util/game-device-udev-rules/game-device-udev-rules-20240523.ebuild b/games-util/game-device-udev-rules/game-device-udev-rules-20240523.ebuild
new file mode 100644
index 000000000000..0ed9ac1f92c1
--- /dev/null
+++ b/games-util/game-device-udev-rules/game-device-udev-rules-20240523.ebuild
@@ -0,0 +1,87 @@
+# Copyright 2020-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit linux-info udev
+
+# Although this is mainly a tweaked version of Steam's udev rules, it
+# also has its own rules and more may be added later so we version it
+# independently.
+
+STEAM_COMMIT="e2971e45063f6b327ccedbf18e168bda6749155c"
+MY_P="steam-devices-${STEAM_COMMIT}"
+
+DESCRIPTION="udev rules for various game hardware devices"
+HOMEPAGE="https://wiki.gentoo.org/wiki/Project:Games
+ https://github.com/ValveSoftware/steam-devices/"
+SRC_URI="https://github.com/ValveSoftware/steam-devices/archive/${STEAM_COMMIT}.tar.gz -> ${MY_P}.tar.gz"
+S="${WORKDIR}/${MY_P}"
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+IUSE="+acl elogind systemd"
+REQUIRED_USE="acl? ( || ( elogind systemd ) )"
+
+RDEPEND="
+ acl? (
+ elogind? ( sys-auth/elogind[acl] )
+ systemd? ( sys-apps/systemd[acl] )
+ )
+ !acl? (
+ acct-group/input
+ )
+ virtual/udev
+"
+
+pkg_setup() {
+ CONFIG_CHECK="~HIDRAW"
+ linux-info_pkg_setup
+
+ if ! use acl; then
+ elog "Users of game hardware devices must be added to the input group."
+
+ if use elogind || use systemd; then
+ ewarn "It is highly recommended that you enable USE=acl on this package instead"
+ ewarn "when using elogind or systemd as this is more secure and just works."
+ fi
+ fi
+}
+
+src_prepare() {
+ default
+
+ local SRC DEST EXTRA
+ for SRC in 60-steam-{input,vr}.rules; do
+ DEST=${SRC//steam/game}
+ EXTRA=${FILESDIR}/${DEST/./-20220311.}
+
+ # Make changes in a copy.
+ cp -v "${SRC}" "${DEST}" || die
+
+ # Append our additional rules.
+ if [[ -f ${EXTRA} ]]; then
+ cat "${EXTRA}" >> "${DEST}" || die
+ fi
+
+ # Clear any existing mode settings.
+ sed -i 's/, *MODE="[0-9]*"//' "${DEST}" || die
+
+ if ! use acl; then
+ # Replace uaccess tag with our group+mode if not using ACL.
+ sed -i 's/, *TAG+="uaccess"/, GROUP="input", MODE="0660"/' "${DEST}" || die
+ fi
+ done
+}
+
+src_install() {
+ udev_dorules 60-game-{input,vr}.rules
+}
+
+pkg_postinst() {
+ udev_reload
+}
+
+pkg_postrm() {
+ udev_reload
+}
diff --git a/games-util/game-device-udev-rules/metadata.xml b/games-util/game-device-udev-rules/metadata.xml
new file mode 100644
index 000000000000..88274e035679
--- /dev/null
+++ b/games-util/game-device-udev-rules/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>chewi@gentoo.org</email>
+ <name>James Le Cuirot</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>games@gentoo.org</email>
+ <name>Gentoo Games Project</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/games-util/gamehub/Manifest b/games-util/gamehub/Manifest
new file mode 100644
index 000000000000..a1839f612f77
--- /dev/null
+++ b/games-util/gamehub/Manifest
@@ -0,0 +1 @@
+DIST gamehub-0.16.3.2.tar.gz 9754845 BLAKE2B 1aa8cb0ad858422953bcd24bb8fe0fcf22a76cfd4ff5d2ed285b417b6832fb73e2d9b88d6c29a42b6fd96242ae362e0f17e82ddd8a5582352b16522912fca127 SHA512 9764b5cda6f071bc0cb86fc52c65a8bb9dc6c99407d46fa7c7e5c350a63201c9b895b5dda8445a60d6244371f5b2a09f5ddb8d7c5ca12ebfeeb4a8c527b16890
diff --git a/games-util/gamehub/gamehub-0.16.3.2-r2.ebuild b/games-util/gamehub/gamehub-0.16.3.2-r2.ebuild
new file mode 100644
index 000000000000..d210407df0c0
--- /dev/null
+++ b/games-util/gamehub/gamehub-0.16.3.2-r2.ebuild
@@ -0,0 +1,55 @@
+# Copyright 2020-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit gnome2-utils meson vala xdg
+
+MY_PN="GameHub"
+MY_PV="$(ver_rs 3 '-')-master"
+MY_P="${MY_PN}-${MY_PV}"
+
+DESCRIPTION="GameHub is a unified library for all your games"
+HOMEPAGE="https://tkashkin.github.io/projects/gamehub/ https://github.com/tkashkin/gamehub"
+SRC_URI="https://github.com/tkashkin/${MY_PN}/archive/${MY_PV}.tar.gz -> ${P}.tar.gz"
+
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="
+ dev-db/sqlite:3
+ dev-libs/glib:2
+ dev-libs/json-glib
+ dev-libs/libgee:0.8=
+ >=dev-libs/libmanette-0.2
+ dev-libs/libxml2
+ net-libs/libsoup:2.4
+ net-libs/webkit-gtk:4.1=
+ sys-auth/polkit
+ virtual/zlib:=
+ x11-libs/cairo
+ x11-libs/gdk-pixbuf:2
+ x11-libs/gtk+:3
+ x11-libs/libX11
+ x11-libs/libXtst
+"
+DEPEND="${RDEPEND}"
+BDEPEND="$(vala_depend)"
+
+src_prepare() {
+ default
+ vala_setup
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+ gnome2_schemas_update
+}
+
+pkg_postrm() {
+ xdg_pkg_postrm
+ gnome2_schemas_update
+}
diff --git a/games-util/gamehub/metadata.xml b/games-util/gamehub/metadata.xml
new file mode 100644
index 000000000000..54f2bdb6b75f
--- /dev/null
+++ b/games-util/gamehub/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>a.zuber@gmx.ch</email>
+ <name>Andreas Zuber</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">tkashkin/GameHub</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/games-util/gamemode/Manifest b/games-util/gamemode/Manifest
new file mode 100644
index 000000000000..9e677943b4ab
--- /dev/null
+++ b/games-util/gamemode/Manifest
@@ -0,0 +1,2 @@
+DIST gamemode-1.8.1.tar.xz 78284 BLAKE2B de78c97b61cebd1f4cc29f0ab5c353e8db668eca3d6d8c65fa0cdbc167b1b172d3371e85bcb4cb193c043f0917127bc3a76ebd7de158555af6d145b1e8eb93d7 SHA512 7bfe7d34b422a87c2f53e69b44649a1aca7eba9fb08daa52e7e2f521fea0744e8f03b666c4dd684ad85ccadde20bc2edfb716d67a103629baa690051b8836554
+DIST gamemode-1.8.2.tar.xz 78724 BLAKE2B e7c0ed0b76231721f851048f77c7148b08cce098ea15232c3e91916a4b3cbe3925186b14e0110ab5773f5db3f4e017fe6930d62169892b048e1d15ae60b0e05a SHA512 eb33f3b7a2d6811aeb13370b0c5ba60fc7630d2f2e59beea059f7d301c57f23b492541c9a128f0e357820ffe5370731d78031df4e392682acba4b232b7778450
diff --git a/games-util/gamemode/gamemode-1.8.1.ebuild b/games-util/gamemode/gamemode-1.8.1.ebuild
new file mode 100644
index 000000000000..746c7b5239eb
--- /dev/null
+++ b/games-util/gamemode/gamemode-1.8.1.ebuild
@@ -0,0 +1,96 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MULTILIB_COMPAT=( abi_x86_{32,64} )
+
+inherit meson-multilib systemd
+
+DESCRIPTION="Optimise Linux system performance on demand"
+HOMEPAGE="https://github.com/FeralInteractive/gamemode"
+
+if [[ ${PV} == "9999" ]] ; then
+ EGIT_REPO_URI="https://github.com/FeralInteractive/gamemode.git"
+ GAMEMODE_GIT_PTR="master"
+ inherit git-r3
+else
+ GAMEMODE_GIT_PTR="${PV}"
+ SRC_URI="https://github.com/FeralInteractive/gamemode/releases/download/${GAMEMODE_GIT_PTR}/${P}.tar.xz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="BSD"
+SLOT="0"
+IUSE="systemd elogind"
+
+REQUIRED_USE="^^ ( systemd elogind )"
+
+RDEPEND="
+ acct-group/gamemode
+ >=dev-libs/inih-54
+ sys-apps/dbus[${MULTILIB_USEDEP},systemd(+)=,elogind(-)=]
+ sys-auth/polkit
+ sys-libs/libcap
+"
+DEPEND="${RDEPEND}"
+
+DOCS=(
+ CHANGELOG.md
+ LICENSE.txt
+ README.md
+ example/gamemode.ini
+)
+
+multilib_src_configure() {
+ local emesonargs=(
+ -Dwith-examples=false
+ -Dwith-pam-limits-dir="${EPREFIX}"/etc/security/limits.d
+ -Dwith-pam-renicing=true
+ -Dwith-privileged-group=gamemode
+ -Dwith-systemd-user-unit-dir="$(systemd_get_userunitdir)"
+ )
+ if multilib_is_native_abi; then
+ emesonargs+=(
+ -Dwith-sd-bus-provider=$(usex systemd systemd elogind)
+ -Dwith-util=true
+ )
+ else
+ emesonargs+=(
+ -Dwith-sd-bus-provider=no-daemon
+ -Dwith-util=false
+ )
+ fi
+
+ meson_src_configure
+}
+
+pkg_postinst() {
+ elog
+ elog "GameMode requires permissions to adjust your PAM limits and change system"
+ elog "performance settings (overclocking, scheduling, L2 cache usage, mitigations"
+ elog "etc). This permission is granted via the gamemode group."
+ elog
+ elog "Run the following command as root to add your user:"
+ elog "# gpasswd -a USER gamemode # with USER = your user name"
+ elog
+ elog "You can run the following command to test your settings:"
+ elog
+ elog "# gamemoded -t"
+ elog
+ elog "GameMode supports GPU optimizations. It defaults to OFF. Any damage"
+ elog "resulting from usage of this is your own responsibility. For safety"
+ elog "reasons, GPU settings are not allowed from \$HOME but only from"
+ elog "administrative directories."
+ elog
+ elog "systemd user sessions will automatically run the daemon on demand, it does"
+ elog "not need to be enabled explicitly. Games not supporting GameMode natively"
+ elog "can still make use of it, just add"
+ elog
+ elog "gamemoderun %command%"
+ elog
+ elog "to the start options of any Steam game to enable optimizations automatically"
+ elog "as you start the game. Similar options exist for other launchers like"
+ elog "Bottles or Lutris."
+ elog
+}
diff --git a/games-util/gamemode/gamemode-1.8.2.ebuild b/games-util/gamemode/gamemode-1.8.2.ebuild
new file mode 100644
index 000000000000..945403cbc6bb
--- /dev/null
+++ b/games-util/gamemode/gamemode-1.8.2.ebuild
@@ -0,0 +1,94 @@
+# Copyright 2022-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit meson-multilib systemd
+
+DESCRIPTION="Optimise Linux system performance on demand"
+HOMEPAGE="https://github.com/FeralInteractive/gamemode"
+
+if [[ ${PV} == "9999" ]] ; then
+ EGIT_REPO_URI="https://github.com/FeralInteractive/gamemode.git"
+ GAMEMODE_GIT_PTR="master"
+ inherit git-r3
+else
+ GAMEMODE_GIT_PTR="${PV}"
+ SRC_URI="https://github.com/FeralInteractive/gamemode/releases/download/${GAMEMODE_GIT_PTR}/${P}.tar.xz"
+ KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+fi
+
+LICENSE="BSD"
+SLOT="0"
+IUSE="systemd elogind"
+
+REQUIRED_USE="^^ ( systemd elogind )"
+
+RDEPEND="
+ acct-group/gamemode
+ >=dev-libs/inih-54
+ sys-apps/dbus[${MULTILIB_USEDEP},systemd(+)=,elogind(-)=]
+ sys-auth/polkit
+ sys-libs/libcap
+"
+DEPEND="${RDEPEND}"
+
+DOCS=(
+ CHANGELOG.md
+ LICENSE.txt
+ README.md
+ example/gamemode.ini
+)
+
+multilib_src_configure() {
+ local emesonargs=(
+ -Dwith-examples=false
+ -Dwith-pam-limits-dir="${EPREFIX}"/etc/security/limits.d
+ -Dwith-pam-renicing=true
+ -Dwith-privileged-group=gamemode
+ -Dwith-systemd-user-unit-dir="$(systemd_get_userunitdir)"
+ )
+ if multilib_is_native_abi; then
+ emesonargs+=(
+ -Dwith-sd-bus-provider=$(usex systemd systemd elogind)
+ -Dwith-util=true
+ )
+ else
+ emesonargs+=(
+ -Dwith-sd-bus-provider=no-daemon
+ -Dwith-util=false
+ )
+ fi
+
+ meson_src_configure
+}
+
+pkg_postinst() {
+ elog
+ elog "GameMode requires permissions to adjust your PAM limits and change system"
+ elog "performance settings (overclocking, scheduling, L3 cache usage, mitigations"
+ elog "etc). This permission is granted via the gamemode group."
+ elog
+ elog "Run the following command as root to add your user:"
+ elog "# gpasswd -a USER gamemode # with USER = your user name"
+ elog
+ elog "You can run the following command to test your settings:"
+ elog
+ elog "# gamemoded -t"
+ elog
+ elog "GameMode supports GPU optimizations. It defaults to OFF. Any damage"
+ elog "resulting from usage of this is your own responsibility. For safety"
+ elog "reasons, GPU settings are not allowed from \$HOME but only from"
+ elog "administrative directories."
+ elog
+ elog "systemd user sessions will automatically run the daemon on demand, it does"
+ elog "not need to be enabled explicitly. Games not supporting GameMode natively"
+ elog "can still make use of it, just add"
+ elog
+ elog "gamemoderun %command%"
+ elog
+ elog "to the start options of any Steam game to enable optimizations automatically"
+ elog "as you start the game. Similar options exist for other launchers like"
+ elog "Bottles or Lutris."
+ elog
+}
diff --git a/games-util/gamemode/gamemode-9999.ebuild b/games-util/gamemode/gamemode-9999.ebuild
new file mode 100644
index 000000000000..928c60992abc
--- /dev/null
+++ b/games-util/gamemode/gamemode-9999.ebuild
@@ -0,0 +1,94 @@
+# Copyright 2022-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit meson-multilib systemd
+
+DESCRIPTION="Optimise Linux system performance on demand"
+HOMEPAGE="https://github.com/FeralInteractive/gamemode"
+
+if [[ ${PV} == "9999" ]] ; then
+ EGIT_REPO_URI="https://github.com/FeralInteractive/gamemode.git"
+ GAMEMODE_GIT_PTR="master"
+ inherit git-r3
+else
+ GAMEMODE_GIT_PTR="${PV}"
+ SRC_URI="https://github.com/FeralInteractive/gamemode/releases/download/${GAMEMODE_GIT_PTR}/${P}.tar.xz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="BSD"
+SLOT="0"
+IUSE="systemd elogind"
+
+REQUIRED_USE="^^ ( systemd elogind )"
+
+RDEPEND="
+ acct-group/gamemode
+ >=dev-libs/inih-54
+ sys-apps/dbus[${MULTILIB_USEDEP},systemd(+)=,elogind(-)=]
+ sys-auth/polkit
+ sys-libs/libcap
+"
+DEPEND="${RDEPEND}"
+
+DOCS=(
+ CHANGELOG.md
+ LICENSE.txt
+ README.md
+ example/gamemode.ini
+)
+
+multilib_src_configure() {
+ local emesonargs=(
+ -Dwith-examples=false
+ -Dwith-pam-limits-dir="${EPREFIX}"/etc/security/limits.d
+ -Dwith-pam-renicing=true
+ -Dwith-privileged-group=gamemode
+ -Dwith-systemd-user-unit-dir="$(systemd_get_userunitdir)"
+ )
+ if multilib_is_native_abi; then
+ emesonargs+=(
+ -Dwith-sd-bus-provider=$(usex systemd systemd elogind)
+ -Dwith-util=true
+ )
+ else
+ emesonargs+=(
+ -Dwith-sd-bus-provider=no-daemon
+ -Dwith-util=false
+ )
+ fi
+
+ meson_src_configure
+}
+
+pkg_postinst() {
+ elog
+ elog "GameMode requires permissions to adjust your PAM limits and change system"
+ elog "performance settings (overclocking, scheduling, L3 cache usage, mitigations"
+ elog "etc). This permission is granted via the gamemode group."
+ elog
+ elog "Run the following command as root to add your user:"
+ elog "# gpasswd -a USER gamemode # with USER = your user name"
+ elog
+ elog "You can run the following command to test your settings:"
+ elog
+ elog "# gamemoded -t"
+ elog
+ elog "GameMode supports GPU optimizations. It defaults to OFF. Any damage"
+ elog "resulting from usage of this is your own responsibility. For safety"
+ elog "reasons, GPU settings are not allowed from \$HOME but only from"
+ elog "administrative directories."
+ elog
+ elog "systemd user sessions will automatically run the daemon on demand, it does"
+ elog "not need to be enabled explicitly. Games not supporting GameMode natively"
+ elog "can still make use of it, just add"
+ elog
+ elog "gamemoderun %command%"
+ elog
+ elog "to the start options of any Steam game to enable optimizations automatically"
+ elog "as you start the game. Similar options exist for other launchers like"
+ elog "Bottles or Lutris."
+ elog
+}
diff --git a/games-util/gamemode/metadata.xml b/games-util/gamemode/metadata.xml
new file mode 100644
index 000000000000..01ff31759cf6
--- /dev/null
+++ b/games-util/gamemode/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person" proxied="yes">
+ <email>hurikhan77+bgo@gmail.com</email>
+ <name>Kai Krakow</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <upstream>
+ <bugs-to>https://github.com/FeralInteractive/gamemode/issues</bugs-to>
+ <remote-id type="github">FeralInteractive/gamemode</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/games-util/gamepick/Manifest b/games-util/gamepick/Manifest
new file mode 100644
index 000000000000..f286a4927ac6
--- /dev/null
+++ b/games-util/gamepick/Manifest
@@ -0,0 +1 @@
+DIST gamepick-0.35.tar.gz 156725 BLAKE2B e761fead9528397d0819ff00ca0153d63ee7fcc7ecf2d8bd39c3f63e937d13a72be23758a53e415d8020466c3500abc64ae10c09384682f4e8bd2dea3305fdda SHA512 bd77d6584cb9bb5c358179226d20a1995badd7603332bde6692ecca6c30f26fe06e6ea202e04bd40c006e9f43ae8fcd885a09bcb696227be3da823dd68d5053c
diff --git a/games-util/gamepick/gamepick-0.35-r2.ebuild b/games-util/gamepick/gamepick-0.35-r2.ebuild
new file mode 100644
index 000000000000..5c150da179cb
--- /dev/null
+++ b/games-util/gamepick/gamepick-0.35-r2.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools desktop
+
+DESCRIPTION="Launch opengl games with custom graphic settings"
+HOMEPAGE="http://www.rillion.net/gamepick/index.html"
+SRC_URI="http://www.rillion.net/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="x11-libs/gtk+:2"
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+src_prepare() {
+ default
+
+ sed -i \
+ -e 's/-O2//' \
+ src/Makefile.in || die
+
+ # Clang 16, bug #898998
+ eautoreconf
+}
+
+src_install() {
+ default
+ newicon ${PN}-48x48.xpm ${PN}.xpm
+ make_desktop_entry ${PN} ${PN}
+}
diff --git a/games-util/gamepick/metadata.xml b/games-util/gamepick/metadata.xml
new file mode 100644
index 000000000000..1c3ba213c494
--- /dev/null
+++ b/games-util/gamepick/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer type="project">
+ <email>games@gentoo.org</email>
+ <name>Gentoo Games Project</name>
+</maintainer>
+</pkgmetadata>
diff --git a/games-util/glbsp/Manifest b/games-util/glbsp/Manifest
new file mode 100644
index 000000000000..478621d5bae3
--- /dev/null
+++ b/games-util/glbsp/Manifest
@@ -0,0 +1 @@
+DIST glbsp_src_224.tar.gz 230977 BLAKE2B a8fce559e2d37e0662dd773f94d781a63bbce66d7fca87b785b7ba095670844fe441093d721eba95eb679457d6217327e93002e54848ed919cf34e552e152030 SHA512 562201093b69ae1db113479f8dd71e474d2d4ea7798b5e156dc096660e0b725a16ba44e8d2bfd332eba89b66d07ac2a1ddd803e75802c8fb3739a420701b2e1a
diff --git a/games-util/glbsp/files/glbsp-2.24-ldflags.patch b/games-util/glbsp/files/glbsp-2.24-ldflags.patch
new file mode 100644
index 000000000000..56c9a4abcd8a
--- /dev/null
+++ b/games-util/glbsp/files/glbsp-2.24-ldflags.patch
@@ -0,0 +1,22 @@
+--- a/Makefile.unx
++++ b/Makefile.unx
+@@ -79,8 +79,7 @@
+ $(CC) $(CMD_FLAGS) -c $^ -o $@
+
+ $(CMD_NAME): $(LIB_NAME) $(CMD_OBJS)
+- $(CC) $(CMD_FLAGS) $(CMD_OBJS) -o $@ $(LIB_NAME) $(CMD_LIBS)
+- $(STRIP) $@
++ $(CC) $(CMD_FLAGS) $(LDFLAGS) $(CMD_OBJS) -o $@ $(LIB_NAME) $(CMD_LIBS)
+
+ install: $(CMD_NAME)
+ cp $(CMD_NAME) $(INSTALL_PREFIX)/bin/
+--- a/Makefile.unx
++++ b/Makefile.unx
+@@ -125,7 +125,6 @@
+
+ $(GUI_NAME): $(LIB_NAME) $(GUI_OBJS)
+ $(CXX) $(GUI_FLAGS) $(GUI_OBJS) -o $@ $(LIB_NAME) $(GUI_LIBS)
+- $(STRIP) $@
+
+
+ # ----- DOCUMENTATION ---------------------------------------------
diff --git a/games-util/glbsp/files/glbsp-2.24-return-type.patch b/games-util/glbsp/files/glbsp-2.24-return-type.patch
new file mode 100644
index 000000000000..c1ae57cec8d1
--- /dev/null
+++ b/games-util/glbsp/files/glbsp-2.24-return-type.patch
@@ -0,0 +1,9 @@
+Fix build failure with USE=fltk due to wrong return type.
+https://bugs.gentoo.org/627412
+--- a/nodeview/path.cc
++++ b/nodeview/path.cc
+@@ -47,3 +47,3 @@
+ PrintWarn("Unable to open path file: %s\n", strerror(errno));
+- return false;
++ return NULL;
+ }
diff --git a/games-util/glbsp/glbsp-2.24-r1.ebuild b/games-util/glbsp/glbsp-2.24-r1.ebuild
new file mode 100644
index 000000000000..f2accf2462e3
--- /dev/null
+++ b/games-util/glbsp/glbsp-2.24-r1.ebuild
@@ -0,0 +1,70 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit desktop toolchain-funcs
+
+MY_PV=$(ver_rs 1 '')
+DESCRIPTION="Node builder specially designed for OpenGL ports of the DOOM game engine"
+HOMEPAGE="https://glbsp.sourceforge.net/"
+SRC_URI="https://downloads.sourceforge.net/glbsp/${PN}_src_${MY_PV}.tar.gz"
+S="${WORKDIR}"/${P}-source
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="fltk"
+
+DEPEND="fltk? ( x11-libs/fltk:1= )"
+RDEPEND="${DEPEND}"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-ldflags.patch
+ "${FILESDIR}"/${P}-return-type.patch
+)
+
+src_prepare() {
+ default
+
+ sed -i \
+ -e "/^CC=/s:=.*:=$(tc-getCC):" \
+ -e "/^CXX=/s:=.*:=$(tc-getCXX):" \
+ -e "/^AR=/s:ar:$(tc-getAR):" \
+ -e "/^RANLIB=/s:=.*:=$(tc-getRANLIB):" \
+ -e "s:-O2:${CFLAGS}:" \
+ -e "s:-O -g3:${CFLAGS}:" \
+ Makefile.unx \
+ nodeview/Makefile.unx || die
+}
+
+src_compile() {
+ emake -f Makefile.unx
+ if use fltk ; then
+ emake -f Makefile.unx glBSPX \
+ FLTK_FLAGS="$(fltk-config --cflags)" \
+ FLTK_LIBS="$(fltk-config --use-images --ldflags)"
+ emake -f Makefile.unx -C nodeview \
+ FLTK_CFLAGS="$(fltk-config --cflags)" \
+ FLTK_LIBS="$(fltk-config --use-images --ldflags)"
+ fi
+}
+
+src_install() {
+ dobin glbsp
+ dolib.a libglbsp.a
+ doman glbsp.1
+ dodoc AUTHORS.txt glbsp.txt
+ insinto "/usr/include"
+ doins "src/glbsp.h"
+
+ if use fltk ; then
+ newbin glBSPX glbspx
+ newicon gui/icon.xpm glbspx.xpm
+ make_desktop_entry glbspx glBSPX glbspx
+
+ dobin nodeview/nodeview
+ docinto nodeview
+ dodoc nodeview/{README,TODO}.txt
+ fi
+}
diff --git a/games-util/glbsp/glbsp-2.24-r2.ebuild b/games-util/glbsp/glbsp-2.24-r2.ebuild
new file mode 100644
index 000000000000..bce5511daf0d
--- /dev/null
+++ b/games-util/glbsp/glbsp-2.24-r2.ebuild
@@ -0,0 +1,74 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit desktop dot-a toolchain-funcs
+
+MY_PV=$(ver_rs 1 '')
+DESCRIPTION="Node builder specially designed for OpenGL ports of the DOOM game engine"
+HOMEPAGE="https://glbsp.sourceforge.net/"
+SRC_URI="https://downloads.sourceforge.net/glbsp/${PN}_src_${MY_PV}.tar.gz"
+S="${WORKDIR}"/${P}-source
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="fltk"
+
+DEPEND="fltk? ( x11-libs/fltk:1= )"
+RDEPEND="${DEPEND}"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-ldflags.patch
+ "${FILESDIR}"/${P}-return-type.patch
+)
+
+src_prepare() {
+ default
+
+ lto-guarantee-fat
+
+ sed -i \
+ -e "/^CC=/s:=.*:=$(tc-getCC):" \
+ -e "/^CXX=/s:=.*:=$(tc-getCXX):" \
+ -e "/^AR=/s:ar:$(tc-getAR):" \
+ -e "/^RANLIB=/s:=.*:=$(tc-getRANLIB):" \
+ -e "s:-O2:${CFLAGS}:" \
+ -e "s:-O -g3:${CFLAGS}:" \
+ Makefile.unx \
+ nodeview/Makefile.unx || die
+}
+
+src_compile() {
+ emake -f Makefile.unx
+ if use fltk ; then
+ emake -f Makefile.unx glBSPX \
+ FLTK_FLAGS="$(fltk-config --cflags)" \
+ FLTK_LIBS="$(fltk-config --use-images --ldflags)"
+ emake -f Makefile.unx -C nodeview \
+ FLTK_CFLAGS="$(fltk-config --cflags)" \
+ FLTK_LIBS="$(fltk-config --use-images --ldflags)"
+ fi
+}
+
+src_install() {
+ dobin glbsp
+ dolib.a libglbsp.a
+ doman glbsp.1
+ dodoc AUTHORS.txt glbsp.txt
+ insinto "/usr/include"
+ doins "src/glbsp.h"
+
+ if use fltk ; then
+ newbin glBSPX glbspx
+ newicon gui/icon.xpm glbspx.xpm
+ make_desktop_entry glbspx glBSPX glbspx
+
+ dobin nodeview/nodeview
+ docinto nodeview
+ dodoc nodeview/{README,TODO}.txt
+ fi
+
+ strip-lto-bytecode
+}
diff --git a/games-util/glbsp/metadata.xml b/games-util/glbsp/metadata.xml
new file mode 100644
index 000000000000..3ab3151102bd
--- /dev/null
+++ b/games-util/glbsp/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>games@gentoo.org</email>
+ <name>Gentoo Games Project</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="sourceforge">glbsp</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/games-util/goverlay/Manifest b/games-util/goverlay/Manifest
new file mode 100644
index 000000000000..fc0ffeff456d
--- /dev/null
+++ b/games-util/goverlay/Manifest
@@ -0,0 +1 @@
+DIST goverlay-1.2.gh.tar.gz 1431095 BLAKE2B b972497cdf8eed7c8489f3b332e123892bb8d19007368aca6ea376ccd0b7f94ddc1409323bd3d1633cef088ab0a6cc9ca69d34a2c32dfd4b40787c591952d44d SHA512 ffc0fc9e8c41c72aeee52f2aef1a06359f655b05360767ae18ccedb964b9d68a9c90c98bc9e41ba6b2503c1e5fd7deb5ebeffd1916842cb067db7d6f5c98bf50
diff --git a/games-util/goverlay/goverlay-1.2.ebuild b/games-util/goverlay/goverlay-1.2.ebuild
new file mode 100644
index 000000000000..9e7e301502c2
--- /dev/null
+++ b/games-util/goverlay/goverlay-1.2.ebuild
@@ -0,0 +1,38 @@
+# Copyright 2020-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit xdg
+
+DESCRIPTION="Graphical UI to help manage Linux game overlays (MangoHud)."
+HOMEPAGE="https://github.com/benjamimgois/goverlay"
+
+if [[ ${PV} == *9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/benjamimgois/${PN}.git"
+ EGIT3_STORE_DIR="${T}"
+else
+ SRC_URI="https://github.com/benjamimgois/${PN}/archive/refs/tags/${PV}.tar.gz -> ${P}.gh.tar.gz"
+ KEYWORDS="~amd64"
+fi
+
+LICENSE="GPL-3"
+SLOT="0"
+
+RDEPEND="
+ games-util/mangohud
+"
+
+BDEPEND="
+ >=dev-lang/lazarus-3.0[qt6]
+"
+
+src_prepare() {
+ sed -i 's#/usr/local#/usr#g' Makefile || die "Failed to repalace prefix"
+ eapply_user
+}
+
+src_compile() {
+ emake LAZBUILDOPTS="--lazarusdir=/usr/share/lazarus"
+}
diff --git a/games-util/goverlay/metadata.xml b/games-util/goverlay/metadata.xml
new file mode 100644
index 000000000000..9c196e637b57
--- /dev/null
+++ b/games-util/goverlay/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>1758961307@qq.com</email>
+ <name>123485k</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">benjamimgois/goverlay</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/games-util/grapejuice/Manifest b/games-util/grapejuice/Manifest
new file mode 100644
index 000000000000..8933ce82addd
--- /dev/null
+++ b/games-util/grapejuice/Manifest
@@ -0,0 +1 @@
+DIST grapejuice-v7.20.12.tar.bz2 1106306 BLAKE2B 50d15c9f0d1adf606bd07d349e289e08a313c1ee778f5248f77104bb51dad976a35c9e2ff45f401065d934f1be2d15a5f1d71f7f21a96f0b9f4fc08ee6c28636 SHA512 23ae9dc1ca9058a8b2a72f350a78f2e87874e393a418ac474eba9e6988343186b0f0e17c37d698500b6744c90cedb55ff2c2ada29ffcbf33510de759cfdebfd4
diff --git a/games-util/grapejuice/grapejuice-7.20.12.ebuild b/games-util/grapejuice/grapejuice-7.20.12.ebuild
new file mode 100644
index 000000000000..147b21f2a660
--- /dev/null
+++ b/games-util/grapejuice/grapejuice-7.20.12.ebuild
@@ -0,0 +1,77 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit xdg
+
+DESCRIPTION="A Wine+Roblox management application"
+HOMEPAGE="https://gitlab.com/brinkervii/grapejuice"
+
+if [[ ${PV} == *9999* ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://gitlab.com/brinkervii/grapejuice.git"
+ EGIT_BRANCH="staging"
+else
+ SRC_URI="https://gitlab.com/brinkervii/grapejuice/-/archive/v${PV}/grapejuice-v${PV}.tar.bz2"
+ KEYWORDS="-* ~amd64"
+fi
+
+LICENSE="GPL-3"
+SLOT="0"
+
+DEPEND="dev-libs/gobject-introspection
+ dev-python/click
+ dev-python/packaging
+ dev-python/pip
+ dev-python/psutil
+ dev-python/pydantic
+ dev-python/pygobject
+ dev-python/requests
+ dev-python/setuptools
+ dev-python/unidecode
+ dev-python/wheel
+ dev-util/desktop-file-utils
+ dev-util/gtk-update-icon-cache
+ dev-vcs/git
+ sys-devel/gettext
+ x11-apps/mesa-progs
+ x11-libs/cairo
+ x11-libs/gtk+
+ x11-misc/shared-mime-info
+ x11-misc/xdg-user-dirs
+ x11-misc/xdg-utils"
+
+RDEPEND="
+ ${DEPEND}
+ virtual/wine"
+
+src_unpack() {
+ default
+ if [[ ${PV} == *9999* ]]; then
+ git-r3_src_unpack
+ else
+ mv "${WORKDIR}/grapejuice-v${PV}" "${S}" || die
+ fi
+}
+
+src_prepare() {
+ default
+ sed -i \
+ -e 's/"--target"/"--no-build-isolation",\n\t\t"--target"/' \
+ src/grapejuice_packaging/builders/linux_package_builder.py || die
+}
+
+src_compile() {
+ cd "${S}"
+ export PYTHONPATH="${S}/src"
+ python3 -m grapejuice_packaging linux_package || die
+}
+
+src_install() {
+ export PYTHON_VERSION=$(python3 -c 'import sys; print(f"{sys.version_info.major}.{sys.version_info.minor}")')
+ tar -xf "${S}/dist/linux_package"/*.tar.gz -C "${D}" || die
+ mv "${D}/usr/lib/python3/dist-packages" "${D}/usr/lib/python${PYTHON_VERSION}" || die
+ rm -r "${D}/usr/lib/python3" || die
+ default
+}
diff --git a/games-util/grapejuice/grapejuice-9999.ebuild b/games-util/grapejuice/grapejuice-9999.ebuild
new file mode 100644
index 000000000000..147b21f2a660
--- /dev/null
+++ b/games-util/grapejuice/grapejuice-9999.ebuild
@@ -0,0 +1,77 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit xdg
+
+DESCRIPTION="A Wine+Roblox management application"
+HOMEPAGE="https://gitlab.com/brinkervii/grapejuice"
+
+if [[ ${PV} == *9999* ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://gitlab.com/brinkervii/grapejuice.git"
+ EGIT_BRANCH="staging"
+else
+ SRC_URI="https://gitlab.com/brinkervii/grapejuice/-/archive/v${PV}/grapejuice-v${PV}.tar.bz2"
+ KEYWORDS="-* ~amd64"
+fi
+
+LICENSE="GPL-3"
+SLOT="0"
+
+DEPEND="dev-libs/gobject-introspection
+ dev-python/click
+ dev-python/packaging
+ dev-python/pip
+ dev-python/psutil
+ dev-python/pydantic
+ dev-python/pygobject
+ dev-python/requests
+ dev-python/setuptools
+ dev-python/unidecode
+ dev-python/wheel
+ dev-util/desktop-file-utils
+ dev-util/gtk-update-icon-cache
+ dev-vcs/git
+ sys-devel/gettext
+ x11-apps/mesa-progs
+ x11-libs/cairo
+ x11-libs/gtk+
+ x11-misc/shared-mime-info
+ x11-misc/xdg-user-dirs
+ x11-misc/xdg-utils"
+
+RDEPEND="
+ ${DEPEND}
+ virtual/wine"
+
+src_unpack() {
+ default
+ if [[ ${PV} == *9999* ]]; then
+ git-r3_src_unpack
+ else
+ mv "${WORKDIR}/grapejuice-v${PV}" "${S}" || die
+ fi
+}
+
+src_prepare() {
+ default
+ sed -i \
+ -e 's/"--target"/"--no-build-isolation",\n\t\t"--target"/' \
+ src/grapejuice_packaging/builders/linux_package_builder.py || die
+}
+
+src_compile() {
+ cd "${S}"
+ export PYTHONPATH="${S}/src"
+ python3 -m grapejuice_packaging linux_package || die
+}
+
+src_install() {
+ export PYTHON_VERSION=$(python3 -c 'import sys; print(f"{sys.version_info.major}.{sys.version_info.minor}")')
+ tar -xf "${S}/dist/linux_package"/*.tar.gz -C "${D}" || die
+ mv "${D}/usr/lib/python3/dist-packages" "${D}/usr/lib/python${PYTHON_VERSION}" || die
+ rm -r "${D}/usr/lib/python3" || die
+ default
+}
diff --git a/games-util/grapejuice/metadata.xml b/games-util/grapejuice/metadata.xml
new file mode 100644
index 000000000000..f1a07289221c
--- /dev/null
+++ b/games-util/grapejuice/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>turret@turret.cyou</email>
+ <name>turret</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="gitlab">brinkervii/grapejuice.git</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/games-util/grfcodec/Manifest b/games-util/grfcodec/Manifest
new file mode 100644
index 000000000000..4d4c483c3536
--- /dev/null
+++ b/games-util/grfcodec/Manifest
@@ -0,0 +1 @@
+DIST grfcodec-6.1.0-source.tar.xz 170688 BLAKE2B e9ce6ca4984e319abd5c1fd53473b1257b2b98b0948b5bef5e6275e29b50243981bf7fc837b190b37b2bb12d2ac9aecbb8595150eedb029f1d7ae64053668475 SHA512 9129e0f38b151e11c90585e0fe966e042ad08ec90f800ee80f749865aed6c72c733639b8d02ecd613409f2a0ae6d1f72fa1d3524f7c450a0f06ff42ee170f16f
diff --git a/games-util/grfcodec/files/grfcodec-6.0.6_p20230811-no-fortify-source.patch b/games-util/grfcodec/files/grfcodec-6.0.6_p20230811-no-fortify-source.patch
new file mode 100644
index 000000000000..ce71610a0cad
--- /dev/null
+++ b/games-util/grfcodec/files/grfcodec-6.0.6_p20230811-no-fortify-source.patch
@@ -0,0 +1,19 @@
+From a6e90d5121cfd312df535d90d1b939d9f9c616a1 Mon Sep 17 00:00:00 2001
+From: Matthew Smith <matthew@gentoo.org>
+Date: Fri, 11 Aug 2023 07:59:54 +0100
+Subject: [PATCH] build: Remove -D_FORTIFY_SOURCE=2
+
+Bug: https://bugs.gentoo.org/894648
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -47,7 +47,6 @@ endif()
+ # it does not appear to support the $<> tags.
+ add_compile_options(
+ "$<$<CONFIG:Debug>:-D_DEBUG>"
+- "$<$<NOT:$<CONFIG:Debug>>:-D_FORTIFY_SOURCE=2>" # FORTIFY_SOURCE should only be used in non-debug builds (requires -O1+)
+ )
+ if(MINGW)
+ add_link_options(
+--
+2.41.0
+
diff --git a/games-util/grfcodec/files/grfcodec-6.1.0-cmake-install.patch b/games-util/grfcodec/files/grfcodec-6.1.0-cmake-install.patch
new file mode 100644
index 000000000000..f3524d3b6179
--- /dev/null
+++ b/games-util/grfcodec/files/grfcodec-6.1.0-cmake-install.patch
@@ -0,0 +1,21 @@
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -158,7 +158,6 @@
+
+ install(FILES
+ ${CMAKE_CURRENT_SOURCE_DIR}/changelog.txt
+- ${CMAKE_CURRENT_SOURCE_DIR}/COPYING
+ DESTINATION ${CMAKE_INSTALL_DOCDIR}
+ )
+
+--- a/docs/CMakeLists.txt
++++ b/docs/CMakeLists.txt
+@@ -5,7 +5,7 @@
+ ${CMAKE_CURRENT_SOURCE_DIR}/grfid.1
+ ${CMAKE_CURRENT_SOURCE_DIR}/grfstrip.1
+ ${CMAKE_CURRENT_SOURCE_DIR}/nforenum.1
+- DESTINATION ${CMAKE_INSTALL_MANDIR}
++ DESTINATION ${CMAKE_INSTALL_MANDIR}/man1
+ )
+
+ install(FILES
diff --git a/games-util/grfcodec/grfcodec-6.1.0-r1.ebuild b/games-util/grfcodec/grfcodec-6.1.0-r1.ebuild
new file mode 100644
index 000000000000..a84ac889ed7d
--- /dev/null
+++ b/games-util/grfcodec/grfcodec-6.1.0-r1.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="Suite of programs to modify openttd/Transport Tycoon Deluxe's GRF files"
+HOMEPAGE="https://github.com/OpenTTD/grfcodec"
+
+if [[ ${PV} == 9999 ]] ; then
+ EGIT_REPO_URI="https://github.com/OpenTTD/grfcodec"
+ inherit git-r3
+else
+ SRC_URI="https://github.com/OpenTTD/grfcodec/releases/download/${PV}/${P}-source.tar.xz"
+
+ KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86"
+fi
+
+LICENSE="GPL-2+"
+SLOT="0"
+
+RDEPEND="media-libs/libpng:="
+DEPEND="
+ ${RDEPEND}
+ dev-libs/boost
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-6.1.0-cmake-install.patch
+
+ # Bug #894648
+ "${FILESDIR}"/${PN}-6.0.6_p20230811-no-fortify-source.patch
+)
diff --git a/games-util/grfcodec/grfcodec-9999.ebuild b/games-util/grfcodec/grfcodec-9999.ebuild
new file mode 100644
index 000000000000..fec48e34967f
--- /dev/null
+++ b/games-util/grfcodec/grfcodec-9999.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="Suite of programs to modify openttd/Transport Tycoon Deluxe's GRF files"
+HOMEPAGE="https://github.com/OpenTTD/grfcodec"
+
+if [[ ${PV} == 9999 ]] ; then
+ EGIT_REPO_URI="https://github.com/OpenTTD/grfcodec"
+ inherit git-r3
+else
+ SRC_URI="https://github.com/OpenTTD/grfcodec/releases/download/${PV}/${P}-source.tar.xz"
+
+ KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86"
+fi
+
+LICENSE="GPL-2+"
+SLOT="0"
+
+RDEPEND="media-libs/libpng:="
+DEPEND="
+ ${RDEPEND}
+ dev-libs/boost
+"
+
+PATCHES=(
+ # Bug #894648
+ "${FILESDIR}"/${PN}-6.0.6_p20230811-no-fortify-source.patch
+)
+
+src_install() {
+ cmake_src_install
+
+ rm "${ED}"/usr/share/doc/${PF}/COPYING || die
+}
diff --git a/games-util/grfcodec/metadata.xml b/games-util/grfcodec/metadata.xml
new file mode 100644
index 000000000000..6c4f610af301
--- /dev/null
+++ b/games-util/grfcodec/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>games@gentoo.org</email>
+ <name>Gentoo Games Project</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">OpenTTD/grfcodec</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/games-util/gslist/Manifest b/games-util/gslist/Manifest
new file mode 100644
index 000000000000..aabcfe9fb71e
--- /dev/null
+++ b/games-util/gslist/Manifest
@@ -0,0 +1 @@
+DIST gslist-0.8.11a.zip 2599227 BLAKE2B ff469f74d2cb5436adc0ad95d18fe7806eb726c3856b7e87e97233dc5fca3433a6aa12e94b38ba531ca5296c9c0ffca036cd2056f7dd3e1e611cd7f5e6b1c2da SHA512 082cda97bf82ba4763236ce142d65a90b3372a430436cdc9fdccd1101feb5a2741807dff5a00e81fc833048e81468473d90851d23574167e78166beef08d0734
diff --git a/games-util/gslist/files/gslist-0.8.11a-build.patch b/games-util/gslist/files/gslist-0.8.11a-build.patch
new file mode 100644
index 000000000000..e13309c02c6b
--- /dev/null
+++ b/games-util/gslist/files/gslist-0.8.11a-build.patch
@@ -0,0 +1,41 @@
+--- a/Makefile
++++ b/Makefile
+@@ -1,26 +1,30 @@
+-CFLAGS += -O2 -s -fstack-protector-all
++CFLAGS += -Wall -D_GNU_SOURCE
+ PREFIX = /usr/local
+ BINDIR = $(PREFIX)/bin
+ SRC = src/gslist.c src/enctype1_decoder.c src/enctype2_decoder.c src/enctype_shared.c src/mydownlib.c
+ #LIBS = -lpthread /usr/lib/libGeoIP.a /usr/lib/i386-linux-gnu/libz.a
+ #SQLIBS = /usr/lib/i386-linux-gnu/libmysqlclient.a /usr/lib/i386-linux-gnu/libm.a -ldl
+ LIBS = -lpthread -lGeoIP -lz
+-SQLIBS = -lmysqlclient
+ O = $(SRC:.c=.o)
+
+-all: gslist gslistsql
++ifneq ($(GSWEB),0)
++CFLAGS += -DGSWEB
++endif
+
+-gslist:
+- $(CC) $(SRC) $(CFLAGS) -o gslist $(LIBS) -DGSWEB
+- $(CC) $(SRC) $(CFLAGS) -o gslistsql $(SQLIBS) $(LIBS) -DGSWEB -DSQL
++ifneq ($(SQL),0)
++CFLAGS += -DSQL
++LIBS += -lmysqlclient
++endif
++
++gslist: $(O)
++ $(CC) $(CFLAGS) $(LDFLAGS) -o gslist $(O) $(LIBS)
+
+ clean:
+- rm -f gslist gslistsql src/gslist.o src/enctype1_decoder.o src/enctype2_decoder.o src/enctype_shared.o src/enctypex_decoder.o src/mydownlib.o
++ rm -f gslist $(O)
+
+ install:
+ install -m 755 -d $(BINDIR)
+ install -m 755 gslist $(BINDIR)/gslist
+- install -m 755 gslistsql $(BINDIR)/gslistsql
+
+ .PHONY:
+ clean install
diff --git a/games-util/gslist/gslist-0.8.11a-r1.ebuild b/games-util/gslist/gslist-0.8.11a-r1.ebuild
new file mode 100644
index 000000000000..07bacb2fdebd
--- /dev/null
+++ b/games-util/gslist/gslist-0.8.11a-r1.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit toolchain-funcs
+
+DESCRIPTION="A GameSpy server browser"
+HOMEPAGE="http://aluigi.altervista.org/papers.htm#gslist"
+SRC_URI="mirror://gentoo/${P}.zip"
+S="${WORKDIR}"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~hppa ~x86"
+IUSE="web"
+
+RDEPEND="dev-libs/geoip"
+DEPEND="${RDEPEND}"
+BDEPEND="app-arch/unzip"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-build.patch
+)
+
+src_prepare() {
+ default
+ rm -f gslist gslistsql *.exe *.dll || die
+}
+
+src_compile() {
+ tc-export CC
+
+ emake \
+ SQL=0 \
+ $(use web || echo GSWEB=0)
+}
+
+src_install() {
+ dobin ${PN}
+ dodoc ${PN}.txt
+}
diff --git a/games-util/gslist/metadata.xml b/games-util/gslist/metadata.xml
new file mode 100644
index 000000000000..55863fe0ef64
--- /dev/null
+++ b/games-util/gslist/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>games@gentoo.org</email>
+ <name>Gentoo Games Project</name>
+ </maintainer>
+ <use>
+ <flag name="web">Enable the web interface</flag>
+ </use>
+</pkgmetadata>
diff --git a/games-util/heroic-bin/Manifest b/games-util/heroic-bin/Manifest
new file mode 100644
index 000000000000..45308eeffd08
--- /dev/null
+++ b/games-util/heroic-bin/Manifest
@@ -0,0 +1,9 @@
+DIST com.heroicgameslauncher.hgl.2.20.1.desktop 529 BLAKE2B effd9f5d89cb8453e616650cd128fea795c65c2c2d2f6073f2d137fcb270aa02554a19e6e627ccc7aaf0c927f42cd86ca56beeba6478929eeb28b2dafcd572aa SHA512 e7af610d21013943c43539224a5dd2ea3994726ecc7ed14e9db3513543ab5c6796d66394eb63d90f90148259ef2928739cd346eb7c8fe7a73273984fe9b8e6a5
+DIST com.heroicgameslauncher.hgl.2.20.1.png 9797 BLAKE2B c6f76df4ec2fd25323f5c37e03605647ede8f8c2ed48cfbb8af11aad22ae90182d3678b943633b46a2d8dfb0c1cbd1a275b6c62dde238b9b0f68cbafb4bf3697 SHA512 68e9881fb4f123008398409825aa8cf70cec34365a23adb1234f7c054a14f40d159e7d8912cfedac0bb2b12f1d3c3c980469c2fca9735d4bc06bd4074aecc7e3
+DIST com.heroicgameslauncher.hgl.2.21.0.desktop 502 BLAKE2B b3f22921bde1c26b9cd97fa6f3bfadf225e0a011f2ba569d1caf2fcc81b21ecb80e0f61e01e56305de3ca8060860e0291149b4148a744dc55cca574530221f7b SHA512 76b7ba92f473cd55013f89e81e34a53e8ec85a9a6792f0f2e6a31ec1e305d96fba8e54a32606d460095cfa211cb763ab0fda55b6679fe17c36f26a4ff78bd368
+DIST com.heroicgameslauncher.hgl.2.21.0.png 9797 BLAKE2B c6f76df4ec2fd25323f5c37e03605647ede8f8c2ed48cfbb8af11aad22ae90182d3678b943633b46a2d8dfb0c1cbd1a275b6c62dde238b9b0f68cbafb4bf3697 SHA512 68e9881fb4f123008398409825aa8cf70cec34365a23adb1234f7c054a14f40d159e7d8912cfedac0bb2b12f1d3c3c980469c2fca9735d4bc06bd4074aecc7e3
+DIST com.heroicgameslauncher.hgl.2.22.0.desktop 502 BLAKE2B b3f22921bde1c26b9cd97fa6f3bfadf225e0a011f2ba569d1caf2fcc81b21ecb80e0f61e01e56305de3ca8060860e0291149b4148a744dc55cca574530221f7b SHA512 76b7ba92f473cd55013f89e81e34a53e8ec85a9a6792f0f2e6a31ec1e305d96fba8e54a32606d460095cfa211cb763ab0fda55b6679fe17c36f26a4ff78bd368
+DIST com.heroicgameslauncher.hgl.2.22.0.png 9797 BLAKE2B c6f76df4ec2fd25323f5c37e03605647ede8f8c2ed48cfbb8af11aad22ae90182d3678b943633b46a2d8dfb0c1cbd1a275b6c62dde238b9b0f68cbafb4bf3697 SHA512 68e9881fb4f123008398409825aa8cf70cec34365a23adb1234f7c054a14f40d159e7d8912cfedac0bb2b12f1d3c3c980469c2fca9735d4bc06bd4074aecc7e3
+DIST heroic-bin-2.20.1.tar.xz 122450760 BLAKE2B 4c7f8140d937ca483ee3e788b8cbde64b24aacd6c0776daf75a5d9eb237a512849be5cb8c9ef1da0fedadc9855cedf00c38ac8a0ee98c37a2e8f3731c86a6843 SHA512 f4bd6f1cf388d4049ce018054a96bf9499d42c8a4966833315513bb81c04c3dfe1216221d5ba4b2e1b5610a8948ed6a77097aeb12d5b458b8ac7f72085d213ce
+DIST heroic-bin-2.21.0.tar.xz 128111552 BLAKE2B c9ece954e756351db59d9177902522a397036f957d7f7f580edbb802932b99ae467c626f2bc75d9d7956e2e383b34727d498c1035fac79596da242f57099d70c SHA512 a173d65df9f4732db9512b2f2a98593f9eb6f1a5f87b0a5559c64e778e70c5a693ef81c24a2e68652781c88993c4c613e46ed750f7600aeae897e4ff0205cb27
+DIST heroic-bin-2.22.0.tar.xz 128256032 BLAKE2B e9afda53545aedb81cc449161f71b73965ad25254570606d227e29440596d146076063665bbd81966e25e1c517a9738b68675a8531c66dca7b6a74b7feeaf5df SHA512 648505146cb46fc8963a01fd1aa72461ed585c79a3de1e2842f8d3f138475b90886eb90f05b0da02df384c1b07cdd690c5140ec96e53f76a17b10750c403e1c0
diff --git a/games-util/heroic-bin/heroic-bin-2.20.1.ebuild b/games-util/heroic-bin/heroic-bin-2.20.1.ebuild
new file mode 100644
index 000000000000..941267ca6a40
--- /dev/null
+++ b/games-util/heroic-bin/heroic-bin-2.20.1.ebuild
@@ -0,0 +1,141 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+CHROMIUM_LANGS="
+ af am ar bg bn ca cs da de el en-GB en-US es es-419 et fa fi fil fr gu he hi
+ hr hu id it ja kn ko lt lv ml mr ms nb nl pl pt-BR pt-PT ro ru sk sl sr sv
+ sw ta te th tr uk ur vi zh-CN zh-TW
+"
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit chromium-2 desktop python-single-r1 xdg
+
+DESCRIPTION="GOG and Epic Games Launcher for Linux"
+HOMEPAGE="https://heroicgameslauncher.com/
+ https://github.com/Heroic-Games-Launcher/HeroicGamesLauncher/"
+SRC_URI="
+ https://github.com/Heroic-Games-Launcher/HeroicGamesLauncher/releases/download/v${PV}/heroic-${PV}-linux-x64.tar.xz
+ -> ${P}.tar.xz
+ https://github.com/Heroic-Games-Launcher/HeroicGamesLauncher/raw/v${PV}/flatpak/com.heroicgameslauncher.hgl.desktop
+ -> com.heroicgameslauncher.hgl.${PV}.desktop
+ https://github.com/Heroic-Games-Launcher/HeroicGamesLauncher/raw/v${PV}/flatpak/com.heroicgameslauncher.hgl.png
+ -> com.heroicgameslauncher.hgl.${PV}.png
+"
+S="${WORKDIR}/Heroic-${PV}-linux-x64"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="gamescope"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RDEPEND="
+ ${PYTHON_DEPS}
+ app-accessibility/at-spi2-core
+ app-arch/brotli
+ app-arch/bzip2
+ dev-libs/expat
+ dev-libs/fribidi
+ dev-libs/glib
+ dev-libs/gmp
+ dev-libs/libffi
+ dev-libs/libpcre2
+ dev-libs/libtasn1
+ dev-libs/nettle
+ dev-libs/nspr
+ dev-libs/nss
+ dev-libs/wayland
+ media-fonts/freefont
+ media-gfx/graphite2
+ media-libs/alsa-lib
+ media-libs/fontconfig
+ media-libs/freetype
+ media-libs/harfbuzz
+ media-libs/libepoxy
+ media-libs/libjpeg-turbo
+ media-libs/libpng
+ media-libs/mesa
+ media-video/ffmpeg
+ net-dns/libidn2
+ net-libs/gnutls
+ net-print/cups
+ sys-apps/dbus
+ sys-libs/glibc
+ virtual/zlib:=
+ x11-libs/cairo
+ x11-libs/gdk-pixbuf
+ x11-libs/gtk+:3
+ x11-libs/libX11
+ x11-libs/libXau
+ x11-libs/libXcomposite
+ x11-libs/libXcursor
+ x11-libs/libXdamage
+ x11-libs/libXdmcp
+ x11-libs/libXext
+ x11-libs/libXfixes
+ x11-libs/libXi
+ x11-libs/libXrandr
+ x11-libs/libXrender
+ x11-libs/libdrm
+ x11-libs/libxcb
+ x11-libs/libxkbcommon
+ x11-libs/pango
+ x11-libs/pixman
+ gamescope? ( gui-wm/gamescope )
+"
+
+QA_PREBUILT=".*"
+
+src_configure() {
+ default
+
+ chromium_suid_sandbox_check_kernel_config
+}
+
+src_prepare() {
+ default
+
+ cd locales || die
+ chromium_remove_language_paks
+
+ # Create gamescope desktop file
+ if use gamescope; then
+ cp "${DISTDIR}"/com.heroicgameslauncher.hgl.${PV}.desktop \
+ "${WORKDIR}"/com.heroicgameslauncher.hgl.gamescope.${PV}.desktop || die
+
+ sed -i 's/Name=Heroic Games Launcher/Name=Heroic Games Launcher (Gamescope)/g' \
+ "${WORKDIR}"/com.heroicgameslauncher.hgl.gamescope.${PV}.desktop || die
+ sed -i 's/Exec=heroic-run %u/Exec=env GDK_BACKEND=wayland gamescope -f -R --RT --force-grab-cursor --prefer-vk-device --adaptive-sync --nested-unfocused-refresh 30 -- heroic-run --ozone-platform=x11 --enable-features=UseOzonePlatform,WaylandWindowDecorations/g' \
+ "${WORKDIR}"/com.heroicgameslauncher.hgl.gamescope.${PV}.desktop || die
+ fi
+}
+
+src_install() {
+ local app_root=/opt/${P/-bin}
+ local app_dest="${ED}"/${app_root}
+
+ dodoc LICENSE.*
+ rm LICENSE.* || die
+
+ dodir "${app_root%/*}"
+ cp -r "${S}" "${app_dest}" || die
+
+ dosym -r "${PYTHON}" \
+ "${app_root}"/resources/app.asar.unpacked/node_modules/register-scheme/build/node_gyp_bins/python3
+
+ find "${app_dest}" -type f -name "*.a" -exec rm {} + || die
+
+ dosym -r "${app_root}"/heroic /usr/bin/heroic-run
+
+ # Install resources: desktop file and icon.
+ newmenu "${DISTDIR}"/com.heroicgameslauncher.hgl.${PV}.desktop \
+ com.heroicgameslauncher.hgl.desktop
+ if use gamescope; then
+ newmenu "${WORKDIR}"/com.heroicgameslauncher.hgl.gamescope.${PV}.desktop \
+ com.heroicgameslauncher.hgl.gamescope.desktop
+ fi
+ newicon "${DISTDIR}"/com.heroicgameslauncher.hgl.${PV}.png \
+ com.heroicgameslauncher.hgl.png
+}
diff --git a/games-util/heroic-bin/heroic-bin-2.21.0.ebuild b/games-util/heroic-bin/heroic-bin-2.21.0.ebuild
new file mode 100644
index 000000000000..941267ca6a40
--- /dev/null
+++ b/games-util/heroic-bin/heroic-bin-2.21.0.ebuild
@@ -0,0 +1,141 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+CHROMIUM_LANGS="
+ af am ar bg bn ca cs da de el en-GB en-US es es-419 et fa fi fil fr gu he hi
+ hr hu id it ja kn ko lt lv ml mr ms nb nl pl pt-BR pt-PT ro ru sk sl sr sv
+ sw ta te th tr uk ur vi zh-CN zh-TW
+"
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit chromium-2 desktop python-single-r1 xdg
+
+DESCRIPTION="GOG and Epic Games Launcher for Linux"
+HOMEPAGE="https://heroicgameslauncher.com/
+ https://github.com/Heroic-Games-Launcher/HeroicGamesLauncher/"
+SRC_URI="
+ https://github.com/Heroic-Games-Launcher/HeroicGamesLauncher/releases/download/v${PV}/heroic-${PV}-linux-x64.tar.xz
+ -> ${P}.tar.xz
+ https://github.com/Heroic-Games-Launcher/HeroicGamesLauncher/raw/v${PV}/flatpak/com.heroicgameslauncher.hgl.desktop
+ -> com.heroicgameslauncher.hgl.${PV}.desktop
+ https://github.com/Heroic-Games-Launcher/HeroicGamesLauncher/raw/v${PV}/flatpak/com.heroicgameslauncher.hgl.png
+ -> com.heroicgameslauncher.hgl.${PV}.png
+"
+S="${WORKDIR}/Heroic-${PV}-linux-x64"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="gamescope"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RDEPEND="
+ ${PYTHON_DEPS}
+ app-accessibility/at-spi2-core
+ app-arch/brotli
+ app-arch/bzip2
+ dev-libs/expat
+ dev-libs/fribidi
+ dev-libs/glib
+ dev-libs/gmp
+ dev-libs/libffi
+ dev-libs/libpcre2
+ dev-libs/libtasn1
+ dev-libs/nettle
+ dev-libs/nspr
+ dev-libs/nss
+ dev-libs/wayland
+ media-fonts/freefont
+ media-gfx/graphite2
+ media-libs/alsa-lib
+ media-libs/fontconfig
+ media-libs/freetype
+ media-libs/harfbuzz
+ media-libs/libepoxy
+ media-libs/libjpeg-turbo
+ media-libs/libpng
+ media-libs/mesa
+ media-video/ffmpeg
+ net-dns/libidn2
+ net-libs/gnutls
+ net-print/cups
+ sys-apps/dbus
+ sys-libs/glibc
+ virtual/zlib:=
+ x11-libs/cairo
+ x11-libs/gdk-pixbuf
+ x11-libs/gtk+:3
+ x11-libs/libX11
+ x11-libs/libXau
+ x11-libs/libXcomposite
+ x11-libs/libXcursor
+ x11-libs/libXdamage
+ x11-libs/libXdmcp
+ x11-libs/libXext
+ x11-libs/libXfixes
+ x11-libs/libXi
+ x11-libs/libXrandr
+ x11-libs/libXrender
+ x11-libs/libdrm
+ x11-libs/libxcb
+ x11-libs/libxkbcommon
+ x11-libs/pango
+ x11-libs/pixman
+ gamescope? ( gui-wm/gamescope )
+"
+
+QA_PREBUILT=".*"
+
+src_configure() {
+ default
+
+ chromium_suid_sandbox_check_kernel_config
+}
+
+src_prepare() {
+ default
+
+ cd locales || die
+ chromium_remove_language_paks
+
+ # Create gamescope desktop file
+ if use gamescope; then
+ cp "${DISTDIR}"/com.heroicgameslauncher.hgl.${PV}.desktop \
+ "${WORKDIR}"/com.heroicgameslauncher.hgl.gamescope.${PV}.desktop || die
+
+ sed -i 's/Name=Heroic Games Launcher/Name=Heroic Games Launcher (Gamescope)/g' \
+ "${WORKDIR}"/com.heroicgameslauncher.hgl.gamescope.${PV}.desktop || die
+ sed -i 's/Exec=heroic-run %u/Exec=env GDK_BACKEND=wayland gamescope -f -R --RT --force-grab-cursor --prefer-vk-device --adaptive-sync --nested-unfocused-refresh 30 -- heroic-run --ozone-platform=x11 --enable-features=UseOzonePlatform,WaylandWindowDecorations/g' \
+ "${WORKDIR}"/com.heroicgameslauncher.hgl.gamescope.${PV}.desktop || die
+ fi
+}
+
+src_install() {
+ local app_root=/opt/${P/-bin}
+ local app_dest="${ED}"/${app_root}
+
+ dodoc LICENSE.*
+ rm LICENSE.* || die
+
+ dodir "${app_root%/*}"
+ cp -r "${S}" "${app_dest}" || die
+
+ dosym -r "${PYTHON}" \
+ "${app_root}"/resources/app.asar.unpacked/node_modules/register-scheme/build/node_gyp_bins/python3
+
+ find "${app_dest}" -type f -name "*.a" -exec rm {} + || die
+
+ dosym -r "${app_root}"/heroic /usr/bin/heroic-run
+
+ # Install resources: desktop file and icon.
+ newmenu "${DISTDIR}"/com.heroicgameslauncher.hgl.${PV}.desktop \
+ com.heroicgameslauncher.hgl.desktop
+ if use gamescope; then
+ newmenu "${WORKDIR}"/com.heroicgameslauncher.hgl.gamescope.${PV}.desktop \
+ com.heroicgameslauncher.hgl.gamescope.desktop
+ fi
+ newicon "${DISTDIR}"/com.heroicgameslauncher.hgl.${PV}.png \
+ com.heroicgameslauncher.hgl.png
+}
diff --git a/games-util/heroic-bin/heroic-bin-2.22.0.ebuild b/games-util/heroic-bin/heroic-bin-2.22.0.ebuild
new file mode 100644
index 000000000000..941267ca6a40
--- /dev/null
+++ b/games-util/heroic-bin/heroic-bin-2.22.0.ebuild
@@ -0,0 +1,141 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+CHROMIUM_LANGS="
+ af am ar bg bn ca cs da de el en-GB en-US es es-419 et fa fi fil fr gu he hi
+ hr hu id it ja kn ko lt lv ml mr ms nb nl pl pt-BR pt-PT ro ru sk sl sr sv
+ sw ta te th tr uk ur vi zh-CN zh-TW
+"
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit chromium-2 desktop python-single-r1 xdg
+
+DESCRIPTION="GOG and Epic Games Launcher for Linux"
+HOMEPAGE="https://heroicgameslauncher.com/
+ https://github.com/Heroic-Games-Launcher/HeroicGamesLauncher/"
+SRC_URI="
+ https://github.com/Heroic-Games-Launcher/HeroicGamesLauncher/releases/download/v${PV}/heroic-${PV}-linux-x64.tar.xz
+ -> ${P}.tar.xz
+ https://github.com/Heroic-Games-Launcher/HeroicGamesLauncher/raw/v${PV}/flatpak/com.heroicgameslauncher.hgl.desktop
+ -> com.heroicgameslauncher.hgl.${PV}.desktop
+ https://github.com/Heroic-Games-Launcher/HeroicGamesLauncher/raw/v${PV}/flatpak/com.heroicgameslauncher.hgl.png
+ -> com.heroicgameslauncher.hgl.${PV}.png
+"
+S="${WORKDIR}/Heroic-${PV}-linux-x64"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="gamescope"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RDEPEND="
+ ${PYTHON_DEPS}
+ app-accessibility/at-spi2-core
+ app-arch/brotli
+ app-arch/bzip2
+ dev-libs/expat
+ dev-libs/fribidi
+ dev-libs/glib
+ dev-libs/gmp
+ dev-libs/libffi
+ dev-libs/libpcre2
+ dev-libs/libtasn1
+ dev-libs/nettle
+ dev-libs/nspr
+ dev-libs/nss
+ dev-libs/wayland
+ media-fonts/freefont
+ media-gfx/graphite2
+ media-libs/alsa-lib
+ media-libs/fontconfig
+ media-libs/freetype
+ media-libs/harfbuzz
+ media-libs/libepoxy
+ media-libs/libjpeg-turbo
+ media-libs/libpng
+ media-libs/mesa
+ media-video/ffmpeg
+ net-dns/libidn2
+ net-libs/gnutls
+ net-print/cups
+ sys-apps/dbus
+ sys-libs/glibc
+ virtual/zlib:=
+ x11-libs/cairo
+ x11-libs/gdk-pixbuf
+ x11-libs/gtk+:3
+ x11-libs/libX11
+ x11-libs/libXau
+ x11-libs/libXcomposite
+ x11-libs/libXcursor
+ x11-libs/libXdamage
+ x11-libs/libXdmcp
+ x11-libs/libXext
+ x11-libs/libXfixes
+ x11-libs/libXi
+ x11-libs/libXrandr
+ x11-libs/libXrender
+ x11-libs/libdrm
+ x11-libs/libxcb
+ x11-libs/libxkbcommon
+ x11-libs/pango
+ x11-libs/pixman
+ gamescope? ( gui-wm/gamescope )
+"
+
+QA_PREBUILT=".*"
+
+src_configure() {
+ default
+
+ chromium_suid_sandbox_check_kernel_config
+}
+
+src_prepare() {
+ default
+
+ cd locales || die
+ chromium_remove_language_paks
+
+ # Create gamescope desktop file
+ if use gamescope; then
+ cp "${DISTDIR}"/com.heroicgameslauncher.hgl.${PV}.desktop \
+ "${WORKDIR}"/com.heroicgameslauncher.hgl.gamescope.${PV}.desktop || die
+
+ sed -i 's/Name=Heroic Games Launcher/Name=Heroic Games Launcher (Gamescope)/g' \
+ "${WORKDIR}"/com.heroicgameslauncher.hgl.gamescope.${PV}.desktop || die
+ sed -i 's/Exec=heroic-run %u/Exec=env GDK_BACKEND=wayland gamescope -f -R --RT --force-grab-cursor --prefer-vk-device --adaptive-sync --nested-unfocused-refresh 30 -- heroic-run --ozone-platform=x11 --enable-features=UseOzonePlatform,WaylandWindowDecorations/g' \
+ "${WORKDIR}"/com.heroicgameslauncher.hgl.gamescope.${PV}.desktop || die
+ fi
+}
+
+src_install() {
+ local app_root=/opt/${P/-bin}
+ local app_dest="${ED}"/${app_root}
+
+ dodoc LICENSE.*
+ rm LICENSE.* || die
+
+ dodir "${app_root%/*}"
+ cp -r "${S}" "${app_dest}" || die
+
+ dosym -r "${PYTHON}" \
+ "${app_root}"/resources/app.asar.unpacked/node_modules/register-scheme/build/node_gyp_bins/python3
+
+ find "${app_dest}" -type f -name "*.a" -exec rm {} + || die
+
+ dosym -r "${app_root}"/heroic /usr/bin/heroic-run
+
+ # Install resources: desktop file and icon.
+ newmenu "${DISTDIR}"/com.heroicgameslauncher.hgl.${PV}.desktop \
+ com.heroicgameslauncher.hgl.desktop
+ if use gamescope; then
+ newmenu "${WORKDIR}"/com.heroicgameslauncher.hgl.gamescope.${PV}.desktop \
+ com.heroicgameslauncher.hgl.gamescope.desktop
+ fi
+ newicon "${DISTDIR}"/com.heroicgameslauncher.hgl.${PV}.png \
+ com.heroicgameslauncher.hgl.png
+}
diff --git a/games-util/heroic-bin/metadata.xml b/games-util/heroic-bin/metadata.xml
new file mode 100644
index 000000000000..9f6e069b9dda
--- /dev/null
+++ b/games-util/heroic-bin/metadata.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="person">
+ <email>voyageur@gentoo.org</email>
+ <name>Bernard Cafarelli</name>
+ </maintainer>
+ <maintainer type="person">
+ <email>gonegrier.duarte@gmail.com</email>
+ <name>Gonçalo Negrier Duarte</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Gentoo Proxy Maintainers</name>
+ </maintainer>
+ <use>
+ <flag name="gamescope">Run Heroic Launcher inside gamescope</flag>
+ </use>
+ <longdescription>
+ Heroic is an Open Source Game Launcher for Linux, Windows and macOS. Right
+ now it supports launching games from the Epic Games Store using Legendary
+ and GOG Games using our custom implementation with gogdl.
+ </longdescription>
+ <upstream>
+ <bugs-to>https://github.com/Heroic-Games-Launcher/HeroicGamesLauncher/issues/</bugs-to>
+ <remote-id type="github">Heroic-Games-Launcher/HeroicGamesLauncher</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/games-util/hid-nintendo/hid-nintendo-9999.ebuild b/games-util/hid-nintendo/hid-nintendo-9999.ebuild
new file mode 100644
index 000000000000..a735e522daae
--- /dev/null
+++ b/games-util/hid-nintendo/hid-nintendo-9999.ebuild
@@ -0,0 +1,22 @@
+# Copyright 2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit git-r3 linux-mod
+
+DESCRIPTION="A Nintendo HID kernel module"
+HOMEPAGE="https://github.com/nicman23/dkms-hid-nintendo https://github.com/DanielOgorchock/linux"
+EGIT_REPO_URI="https://github.com/nicman23/dkms-hid-nintendo"
+
+LICENSE="GPL-2"
+SLOT="0"
+
+MODULE_NAMES="${PN}(kernel/drivers/hid:${S}/src)"
+BUILD_TARGETS="-C /usr/src/linux M=${S}/src"
+
+pkg_setup() {
+ CONFIG_CHECK="~HID ~HID_GENERIC ~USB_HID ~HIDRAW ~UHID"
+ check_extra_config
+ linux-mod_pkg_setup
+}
diff --git a/games-util/hid-nintendo/metadata.xml b/games-util/hid-nintendo/metadata.xml
new file mode 100644
index 000000000000..0829b06c5781
--- /dev/null
+++ b/games-util/hid-nintendo/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer type="person">
+ <name>Samuel Bauer</name>
+ <email>samuel.bauer@yahoo.fr</email>
+</maintainer>
+<upstream>
+ <remote-id type="github">nicman23/dkms-hid-nintendo</remote-id>
+</upstream>
+</pkgmetadata>
diff --git a/games-util/hydra-launcher-bin/Manifest b/games-util/hydra-launcher-bin/Manifest
new file mode 100644
index 000000000000..de44b3b4a3b1
--- /dev/null
+++ b/games-util/hydra-launcher-bin/Manifest
@@ -0,0 +1,4 @@
+DIST hydralauncher-3.8.3.x86_64.rpm 160044397 BLAKE2B d14f3109711cedb586f9f6fce3947730425a9d6ce4bb27e705f15d03e75fa1d1c5684f678bb8226caa4dd5f1427c3f9ef66449a5f32a243d1487c76444fb7a02 SHA512 5fc78c6f200653f8439eca6167c3c3d79669e7d4e12789af8c7700f1f90a26845894dc6b8f66b1b7ef991c592da9f9f29f3e90b510ffed6ab18c707925b78047
+DIST hydralauncher-3.9.5.x86_64.rpm 145053385 BLAKE2B 5e7b3a382f49a7cfa3cac467a3502e6008996c43287d9b211149359f19e08ec657656074eb4e22a876f6a6f2a813bd29e5c3447bb7c005b1de12ae52e27ff173 SHA512 db4354bacb66ecb3b26e157c39d7a6789107cdb4217512a5c5f8e1d785a899b1b7382e855e83ea757be9da88be63fa5111b0b6b8a756df1e5d0b1aed2307fae0
+DIST hydralauncher-3.9.7.x86_64.rpm 149641105 BLAKE2B 24350b8be52cb04da5a5986966c108a0ea5dedaf04908e87ee782b4979fffd94ff823dd7e71f792511e0c40144503f5ca2acc4d86cb82931409bd12e5ec22074 SHA512 beb6197991de9d6b2e773e24bebe8c45631d5d80e7d9270f4397b648624e71e90451e577325a4764bd49d142a39227020ff16e99456ff421556a8d06d2ac563e
+DIST hydralauncher-3.9.9.x86_64.rpm 146678961 BLAKE2B 61dac30c6399ed001f586ec9cd20302bd5457d5b2e247c4dd478fdd8804d412c66888d8a4a95b9641d1d9aeca9d5636f1793a28a8dbc1f17254031a731137529 SHA512 d201c6f02a0874b13595931981e41804168344c640258ac23253784eb9a314665f6cdf5bf6b18f5f674f8c9a1c1069931e0c5d18c822a1806fb93a827becba84
diff --git a/games-util/hydra-launcher-bin/hydra-launcher-bin-3.8.3.ebuild b/games-util/hydra-launcher-bin/hydra-launcher-bin-3.8.3.ebuild
new file mode 100644
index 000000000000..c8d151da4964
--- /dev/null
+++ b/games-util/hydra-launcher-bin/hydra-launcher-bin-3.8.3.ebuild
@@ -0,0 +1,76 @@
+# Copyright 2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit desktop rpm xdg
+
+DESCRIPTION="Open-source gaming platform and launcher"
+HOMEPAGE="https://github.com/hydralauncher/hydra"
+SRC_URI="amd64? ( https://github.com/hydralauncher/hydra/releases/download/v${PV}/hydralauncher-${PV}.x86_64.rpm )"
+
+S="${WORKDIR}"
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="-* ~amd64"
+QA_PREBUILT="*"
+RESTRICT="bindist mirror strip"
+
+RDEPEND="
+ app-accessibility/at-spi2-core
+ dev-libs/expat
+ dev-libs/glib:2
+ dev-libs/nspr
+ dev-libs/nss
+ media-libs/alsa-lib
+ media-libs/fontconfig
+ media-libs/mesa
+ net-misc/aria2
+ net-print/cups
+ sys-apps/dbus
+ virtual/zlib
+ x11-libs/cairo
+ x11-libs/gdk-pixbuf:2
+ x11-libs/gtk+:3
+ x11-libs/libdrm
+ x11-libs/libX11
+ x11-libs/libxcb
+ x11-libs/libXcomposite
+ x11-libs/libXdamage
+ x11-libs/libXext
+ x11-libs/libXfixes
+ x11-libs/libXrandr
+ x11-libs/pango"
+
+src_prepare() {
+ default
+
+ local pb=opt/Hydra/resources/app.asar.unpacked/node_modules/classic-level/prebuilds
+ find "${pb}" -mindepth 1 -maxdepth 1 -type d ! -name linux-x64 -exec rm -rf {} \; || die
+ rm -rf "${pb}"/linux-x64/*.musl.node || die
+
+ local sharp_base=opt/Hydra/resources/app.asar.unpacked/node_modules/@img
+ rm -rf "${sharp_base}"/*-linuxmusl-x64 || die
+}
+
+src_install() {
+ insinto /opt
+ doins -r opt/Hydra
+
+ find opt/Hydra -type f -executable | while IFS= read -r exe; do
+ fperms +x "/${exe}"
+ done
+
+ fowners root "/opt/Hydra/chrome-sandbox"
+ fperms 4711 "/opt/Hydra/chrome-sandbox"
+
+ domenu usr/share/applications/hydralauncher.desktop
+ doicon -s 512 usr/share/icons/hicolor/512x512/apps/hydralauncher.png
+
+ exeinto /usr/bin
+ newexe - hydralauncher <<-'EOF'
+ #!/bin/sh
+ export LD_LIBRARY_PATH="/opt/Hydra:\${LD_LIBRARY_PATH}"
+ exec /opt/Hydra/hydralauncher "\$@"
+ EOF
+}
diff --git a/games-util/hydra-launcher-bin/hydra-launcher-bin-3.9.5.ebuild b/games-util/hydra-launcher-bin/hydra-launcher-bin-3.9.5.ebuild
new file mode 100644
index 000000000000..c8d151da4964
--- /dev/null
+++ b/games-util/hydra-launcher-bin/hydra-launcher-bin-3.9.5.ebuild
@@ -0,0 +1,76 @@
+# Copyright 2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit desktop rpm xdg
+
+DESCRIPTION="Open-source gaming platform and launcher"
+HOMEPAGE="https://github.com/hydralauncher/hydra"
+SRC_URI="amd64? ( https://github.com/hydralauncher/hydra/releases/download/v${PV}/hydralauncher-${PV}.x86_64.rpm )"
+
+S="${WORKDIR}"
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="-* ~amd64"
+QA_PREBUILT="*"
+RESTRICT="bindist mirror strip"
+
+RDEPEND="
+ app-accessibility/at-spi2-core
+ dev-libs/expat
+ dev-libs/glib:2
+ dev-libs/nspr
+ dev-libs/nss
+ media-libs/alsa-lib
+ media-libs/fontconfig
+ media-libs/mesa
+ net-misc/aria2
+ net-print/cups
+ sys-apps/dbus
+ virtual/zlib
+ x11-libs/cairo
+ x11-libs/gdk-pixbuf:2
+ x11-libs/gtk+:3
+ x11-libs/libdrm
+ x11-libs/libX11
+ x11-libs/libxcb
+ x11-libs/libXcomposite
+ x11-libs/libXdamage
+ x11-libs/libXext
+ x11-libs/libXfixes
+ x11-libs/libXrandr
+ x11-libs/pango"
+
+src_prepare() {
+ default
+
+ local pb=opt/Hydra/resources/app.asar.unpacked/node_modules/classic-level/prebuilds
+ find "${pb}" -mindepth 1 -maxdepth 1 -type d ! -name linux-x64 -exec rm -rf {} \; || die
+ rm -rf "${pb}"/linux-x64/*.musl.node || die
+
+ local sharp_base=opt/Hydra/resources/app.asar.unpacked/node_modules/@img
+ rm -rf "${sharp_base}"/*-linuxmusl-x64 || die
+}
+
+src_install() {
+ insinto /opt
+ doins -r opt/Hydra
+
+ find opt/Hydra -type f -executable | while IFS= read -r exe; do
+ fperms +x "/${exe}"
+ done
+
+ fowners root "/opt/Hydra/chrome-sandbox"
+ fperms 4711 "/opt/Hydra/chrome-sandbox"
+
+ domenu usr/share/applications/hydralauncher.desktop
+ doicon -s 512 usr/share/icons/hicolor/512x512/apps/hydralauncher.png
+
+ exeinto /usr/bin
+ newexe - hydralauncher <<-'EOF'
+ #!/bin/sh
+ export LD_LIBRARY_PATH="/opt/Hydra:\${LD_LIBRARY_PATH}"
+ exec /opt/Hydra/hydralauncher "\$@"
+ EOF
+}
diff --git a/games-util/hydra-launcher-bin/hydra-launcher-bin-3.9.7-r1.ebuild b/games-util/hydra-launcher-bin/hydra-launcher-bin-3.9.7-r1.ebuild
new file mode 100644
index 000000000000..66324cab0e8e
--- /dev/null
+++ b/games-util/hydra-launcher-bin/hydra-launcher-bin-3.9.7-r1.ebuild
@@ -0,0 +1,85 @@
+# Copyright 2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+RPM_COMPRESS_TYPE="xz"
+
+inherit desktop rpm xdg
+
+DESCRIPTION="Open-source gaming platform and launcher"
+HOMEPAGE="https://github.com/hydralauncher/hydra"
+SRC_URI="amd64? ( https://github.com/hydralauncher/hydra/releases/download/v${PV}/hydralauncher-${PV}.x86_64.rpm )"
+S="${WORKDIR}"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="-* ~amd64"
+RESTRICT="bindist mirror strip"
+QA_PREBUILT="*"
+
+# native modules (classic-level, sharp) are abi-coupled to the bundled
+# electron, so a system electron binary cannot be used
+RDEPEND="
+ app-accessibility/at-spi2-core
+ dev-libs/expat
+ dev-libs/glib:2
+ dev-libs/nspr
+ dev-libs/nss
+ media-libs/alsa-lib
+ media-libs/fontconfig
+ media-libs/mesa
+ net-misc/aria2
+ net-print/cups
+ sys-apps/dbus
+ virtual/zlib
+ x11-libs/cairo
+ x11-libs/gdk-pixbuf:2
+ x11-libs/gtk+:3
+ x11-libs/libdrm
+ x11-libs/libX11
+ x11-libs/libxcb
+ x11-libs/libXcomposite
+ x11-libs/libXdamage
+ x11-libs/libXext
+ x11-libs/libXfixes
+ x11-libs/libXrandr
+ x11-libs/pango"
+
+src_prepare() {
+ default
+
+ # strip non-linux-x64 and musl prebuilds from classic-level
+ local pb=opt/Hydra/resources/app.asar.unpacked/node_modules/classic-level/prebuilds
+ find "${pb}" -mindepth 1 -maxdepth 1 -type d ! -name linux-x64 -exec rm -rf {} + || die
+ rm -rf "${pb}"/linux-x64/*.musl.node || die
+
+ # strip musl variants from sharp
+ local sharp_base=opt/Hydra/resources/app.asar.unpacked/node_modules/@img
+ rm -rf "${sharp_base}"/*-linuxmusl-x64 || die
+}
+
+src_install() {
+ insinto /opt
+ doins -r opt/Hydra
+
+ # restore executable bits stripped by doins
+ while IFS= read -r -d '' exe; do
+ fperms +x "/${exe}"
+ done < <(find opt/Hydra -type f -executable -print0)
+
+ # chrome-sandbox requires setuid root for electron's sandbox
+ fowners root "/opt/Hydra/chrome-sandbox"
+ fperms 4711 "/opt/Hydra/chrome-sandbox"
+
+ domenu usr/share/applications/hydralauncher.desktop
+ doicon -s 512 usr/share/icons/hicolor/512x512/apps/hydralauncher.png
+
+ # expose bundled libs to the bundled electron runtime
+ exeinto /usr/bin
+ newexe - hydralauncher <<-'EOF'
+ #!/bin/sh
+ export LD_LIBRARY_PATH="/opt/Hydra:${LD_LIBRARY_PATH}"
+ exec /opt/Hydra/hydralauncher "$@"
+ EOF
+}
diff --git a/games-util/hydra-launcher-bin/hydra-launcher-bin-3.9.7.ebuild b/games-util/hydra-launcher-bin/hydra-launcher-bin-3.9.7.ebuild
new file mode 100644
index 000000000000..c8d151da4964
--- /dev/null
+++ b/games-util/hydra-launcher-bin/hydra-launcher-bin-3.9.7.ebuild
@@ -0,0 +1,76 @@
+# Copyright 2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit desktop rpm xdg
+
+DESCRIPTION="Open-source gaming platform and launcher"
+HOMEPAGE="https://github.com/hydralauncher/hydra"
+SRC_URI="amd64? ( https://github.com/hydralauncher/hydra/releases/download/v${PV}/hydralauncher-${PV}.x86_64.rpm )"
+
+S="${WORKDIR}"
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="-* ~amd64"
+QA_PREBUILT="*"
+RESTRICT="bindist mirror strip"
+
+RDEPEND="
+ app-accessibility/at-spi2-core
+ dev-libs/expat
+ dev-libs/glib:2
+ dev-libs/nspr
+ dev-libs/nss
+ media-libs/alsa-lib
+ media-libs/fontconfig
+ media-libs/mesa
+ net-misc/aria2
+ net-print/cups
+ sys-apps/dbus
+ virtual/zlib
+ x11-libs/cairo
+ x11-libs/gdk-pixbuf:2
+ x11-libs/gtk+:3
+ x11-libs/libdrm
+ x11-libs/libX11
+ x11-libs/libxcb
+ x11-libs/libXcomposite
+ x11-libs/libXdamage
+ x11-libs/libXext
+ x11-libs/libXfixes
+ x11-libs/libXrandr
+ x11-libs/pango"
+
+src_prepare() {
+ default
+
+ local pb=opt/Hydra/resources/app.asar.unpacked/node_modules/classic-level/prebuilds
+ find "${pb}" -mindepth 1 -maxdepth 1 -type d ! -name linux-x64 -exec rm -rf {} \; || die
+ rm -rf "${pb}"/linux-x64/*.musl.node || die
+
+ local sharp_base=opt/Hydra/resources/app.asar.unpacked/node_modules/@img
+ rm -rf "${sharp_base}"/*-linuxmusl-x64 || die
+}
+
+src_install() {
+ insinto /opt
+ doins -r opt/Hydra
+
+ find opt/Hydra -type f -executable | while IFS= read -r exe; do
+ fperms +x "/${exe}"
+ done
+
+ fowners root "/opt/Hydra/chrome-sandbox"
+ fperms 4711 "/opt/Hydra/chrome-sandbox"
+
+ domenu usr/share/applications/hydralauncher.desktop
+ doicon -s 512 usr/share/icons/hicolor/512x512/apps/hydralauncher.png
+
+ exeinto /usr/bin
+ newexe - hydralauncher <<-'EOF'
+ #!/bin/sh
+ export LD_LIBRARY_PATH="/opt/Hydra:\${LD_LIBRARY_PATH}"
+ exec /opt/Hydra/hydralauncher "\$@"
+ EOF
+}
diff --git a/games-util/hydra-launcher-bin/hydra-launcher-bin-3.9.9.ebuild b/games-util/hydra-launcher-bin/hydra-launcher-bin-3.9.9.ebuild
new file mode 100644
index 000000000000..66324cab0e8e
--- /dev/null
+++ b/games-util/hydra-launcher-bin/hydra-launcher-bin-3.9.9.ebuild
@@ -0,0 +1,85 @@
+# Copyright 2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+RPM_COMPRESS_TYPE="xz"
+
+inherit desktop rpm xdg
+
+DESCRIPTION="Open-source gaming platform and launcher"
+HOMEPAGE="https://github.com/hydralauncher/hydra"
+SRC_URI="amd64? ( https://github.com/hydralauncher/hydra/releases/download/v${PV}/hydralauncher-${PV}.x86_64.rpm )"
+S="${WORKDIR}"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="-* ~amd64"
+RESTRICT="bindist mirror strip"
+QA_PREBUILT="*"
+
+# native modules (classic-level, sharp) are abi-coupled to the bundled
+# electron, so a system electron binary cannot be used
+RDEPEND="
+ app-accessibility/at-spi2-core
+ dev-libs/expat
+ dev-libs/glib:2
+ dev-libs/nspr
+ dev-libs/nss
+ media-libs/alsa-lib
+ media-libs/fontconfig
+ media-libs/mesa
+ net-misc/aria2
+ net-print/cups
+ sys-apps/dbus
+ virtual/zlib
+ x11-libs/cairo
+ x11-libs/gdk-pixbuf:2
+ x11-libs/gtk+:3
+ x11-libs/libdrm
+ x11-libs/libX11
+ x11-libs/libxcb
+ x11-libs/libXcomposite
+ x11-libs/libXdamage
+ x11-libs/libXext
+ x11-libs/libXfixes
+ x11-libs/libXrandr
+ x11-libs/pango"
+
+src_prepare() {
+ default
+
+ # strip non-linux-x64 and musl prebuilds from classic-level
+ local pb=opt/Hydra/resources/app.asar.unpacked/node_modules/classic-level/prebuilds
+ find "${pb}" -mindepth 1 -maxdepth 1 -type d ! -name linux-x64 -exec rm -rf {} + || die
+ rm -rf "${pb}"/linux-x64/*.musl.node || die
+
+ # strip musl variants from sharp
+ local sharp_base=opt/Hydra/resources/app.asar.unpacked/node_modules/@img
+ rm -rf "${sharp_base}"/*-linuxmusl-x64 || die
+}
+
+src_install() {
+ insinto /opt
+ doins -r opt/Hydra
+
+ # restore executable bits stripped by doins
+ while IFS= read -r -d '' exe; do
+ fperms +x "/${exe}"
+ done < <(find opt/Hydra -type f -executable -print0)
+
+ # chrome-sandbox requires setuid root for electron's sandbox
+ fowners root "/opt/Hydra/chrome-sandbox"
+ fperms 4711 "/opt/Hydra/chrome-sandbox"
+
+ domenu usr/share/applications/hydralauncher.desktop
+ doicon -s 512 usr/share/icons/hicolor/512x512/apps/hydralauncher.png
+
+ # expose bundled libs to the bundled electron runtime
+ exeinto /usr/bin
+ newexe - hydralauncher <<-'EOF'
+ #!/bin/sh
+ export LD_LIBRARY_PATH="/opt/Hydra:${LD_LIBRARY_PATH}"
+ exec /opt/Hydra/hydralauncher "$@"
+ EOF
+}
diff --git a/games-util/hydra-launcher-bin/metadata.xml b/games-util/hydra-launcher-bin/metadata.xml
new file mode 100644
index 000000000000..819ab3473427
--- /dev/null
+++ b/games-util/hydra-launcher-bin/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>gurov@disroot.org</email>
+ <name>Gurov</name>
+ </maintainer>
+ <longdescription>
+ Hydra is a game launcher that allows you to download, play, track your
+ stats and manage your games all in one place.
+ </longdescription>
+ <upstream>
+ <remote-id type="github">hydralauncher/hydra</remote-id>
+ <bugs-to>https://github.com/hydralauncher/hydra/issues</bugs-to>
+ </upstream>
+</pkgmetadata>
diff --git a/games-util/input-remapper/Manifest b/games-util/input-remapper/Manifest
new file mode 100644
index 000000000000..72cc4111dc1c
--- /dev/null
+++ b/games-util/input-remapper/Manifest
@@ -0,0 +1 @@
+DIST input-remapper-2.2.0.tar.gz 706824 BLAKE2B 3079349daf076c44dba5e88ed1fdb57a947cd935c02ee31c87d7c3cbb3925d3fe6dc28becf64250e69ef47a460441f24a069613daafc5678006f58e06a67d4f4 SHA512 af0b8140b79017d0093695e48960376989aed9ff514c47d48de32d900fddebcee6bf4e9f6bcefc15af58d073280e79d51a4a56ece071c276f15d8e2b64a17d47
diff --git a/games-util/input-remapper/files/build-backend.patch b/games-util/input-remapper/files/build-backend.patch
new file mode 100644
index 000000000000..e7420a00e16e
--- /dev/null
+++ b/games-util/input-remapper/files/build-backend.patch
@@ -0,0 +1,12 @@
+diff --git a/pyproject.toml b/pyproject.toml
+index 17cd3f4..dbcdd0d 100644
+--- a/pyproject.toml
++++ b/pyproject.toml
+@@ -1,3 +1,7 @@
++[build-system]
++requires = ["setuptools"]
++build-backend = "setuptools.build_meta"
++
+ [project]
+ name = "input-remapper"
+ version = "2.2.0"
diff --git a/games-util/input-remapper/files/fix-translations.patch b/games-util/input-remapper/files/fix-translations.patch
new file mode 100644
index 000000000000..9a69406240a0
--- /dev/null
+++ b/games-util/input-remapper/files/fix-translations.patch
@@ -0,0 +1,17 @@
+diff --git a/setup.py b/setup.py
+index bf9094b..baabcb9 100644
+--- a/setup.py
++++ b/setup.py
+@@ -80,10 +80,10 @@ def make_lang():
+ os.makedirs("mo", exist_ok=True)
+ for po_file in glob.glob(PO_FILES):
+ lang = splitext(basename(po_file))[0]
+- os.makedirs(join("mo", lang), exist_ok=True)
++ os.makedirs(join("mo", lang, "LC_MESSAGES"), exist_ok=True)
+ print(f"generating translation for {lang}")
+ subprocess.run(
+- ["msgfmt", "-o", join("mo", lang, "input-remapper.mo"), str(po_file)],
++ ["msgfmt", "-o", join("mo", lang, "LC_MESSAGES", "input-remapper.mo"), str(po_file)],
+ check=True,
+ )
+
diff --git a/games-util/input-remapper/files/mo-files.patch b/games-util/input-remapper/files/mo-files.patch
new file mode 100644
index 000000000000..b5ce7412e633
--- /dev/null
+++ b/games-util/input-remapper/files/mo-files.patch
@@ -0,0 +1,21 @@
+diff --git a/install/language.py b/install/language.py
+index 93dbac8..9bc7cad 100644
+--- a/install/language.py
++++ b/install/language.py
+@@ -32,10 +32,7 @@ def make_lang(root: str) -> None:
+ for po_file in glob.glob("po/*.po"):
+ lang = splitext(basename(po_file))[0]
+ target = join(
+- root,
+- "usr",
+- "share",
+- "input-remapper",
++ "mo",
+ "lang",
+ lang,
+ "LC_MESSAGES",
+@@ -52,3 +49,4 @@ def make_lang(root: str) -> None:
+ ],
+ check=True,
+ )
++make_lang("");
diff --git a/games-util/input-remapper/files/remove-non-python-files-from-setup.patch b/games-util/input-remapper/files/remove-non-python-files-from-setup.patch
new file mode 100644
index 000000000000..42684a7eb03d
--- /dev/null
+++ b/games-util/input-remapper/files/remove-non-python-files-from-setup.patch
@@ -0,0 +1,30 @@
+diff --git a/setup.py b/setup.py
+index a36cdf1..d854fad 100644
+--- a/setup.py
++++ b/setup.py
+@@ -110,24 +110,7 @@ setup(
+ packages=get_packages(),
+ include_package_data=True,
+ data_files=[
+- # see development.md#files
+- *lang_data,
+- ("/usr/share/input-remapper/", glob.glob("data/*")),
+- ("/usr/share/applications/", ["data/input-remapper-gtk.desktop"]),
+- (
+- "/usr/share/metainfo/",
+- ["data/io.github.sezanzeb.input_remapper.metainfo.xml"],
+- ),
+- ("/usr/share/icons/hicolor/scalable/apps/", ["data/input-remapper.svg"]),
+- ("/usr/share/polkit-1/actions/", ["data/input-remapper.policy"]),
+- ("/usr/lib/systemd/system", ["data/input-remapper.service"]),
+- ("/usr/share/dbus-1/system.d/", ["data/inputremapper.Control.conf"]),
+- ("/etc/xdg/autostart/", ["data/input-remapper-autoload.desktop"]),
+- ("/usr/lib/udev/rules.d", ["data/99-input-remapper.rules"]),
+- ("/usr/bin/", ["bin/input-remapper-gtk"]),
+- ("/usr/bin/", ["bin/input-remapper-service"]),
+- ("/usr/bin/", ["bin/input-remapper-control"]),
+- ("/usr/bin/", ["bin/input-remapper-reader-service"]),
++ # Gentoo Ebuild will handle these manually
+ ],
+ install_requires=["setuptools", "evdev", "pydbus", "pygobject", "pydantic"],
+ cmdclass={
diff --git a/games-util/input-remapper/input-remapper-2.2.0.ebuild b/games-util/input-remapper/input-remapper-2.2.0.ebuild
new file mode 100644
index 000000000000..002c7688458f
--- /dev/null
+++ b/games-util/input-remapper/input-remapper-2.2.0.ebuild
@@ -0,0 +1,107 @@
+# Copyright 2025-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Note: 2.2.0 has Python 3.14 support (https://github.com/sezanzeb/input-remapper/pull/1184)
+# however not all dependencies have ebuilds with 3.14 support yet. (dev-python/pydbus-0.6.0-r1)
+PYTHON_COMPAT=( python3_{13..14} )
+DISTUTILS_SINGLE_IMPL=1
+DISTUTILS_USE_PEP517=setuptools
+
+inherit distutils-r1 systemd udev desktop xdg
+
+DESCRIPTION="A tool to change and program the mapping of your input device buttons"
+HOMEPAGE="https://github.com/sezanzeb/input-remapper"
+SRC_URI="https://github.com/sezanzeb/${PN}/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64"
+
+PATCHES=(
+ "${FILESDIR}/remove-non-python-files-from-setup.patch"
+ "${FILESDIR}/fix-translations.patch"
+)
+
+RDEPEND="
+ x11-libs/gtk+:3
+ x11-libs/gtksourceview
+ x11-apps/xmodmap
+ $(python_gen_cond_dep '
+ dev-python/pygobject[${PYTHON_USEDEP}]
+ dev-python/pydbus[${PYTHON_USEDEP}]
+ dev-python/pydantic[${PYTHON_USEDEP}]
+ dev-python/psutil[${PYTHON_USEDEP}]
+ >=dev-python/evdev-1.3.0[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ dev-python/pkg-resources[${PYTHON_USEDEP}]
+ ')
+ virtual/udev
+"
+
+RESTRICT=test
+
+src_install() {
+ # Install data files
+ insinto /usr/share/input-remapper/
+ doins -r "${S}"/data/*
+
+ # Install lang files
+ insinto /usr/share/input-remapper/lang
+ doins -r "${S}"/mo/*
+
+ # Install udev rules
+ udev_dorules data/99-input-remapper.rules
+
+ # Install systemd service
+ systemd_dounit data/input-remapper.service
+
+ # Install desktop file
+ domenu data/input-remapper-gtk.desktop
+
+ # Install icon file
+ doicon -s scalable data/input-remapper.svg
+
+ # Install audoload file
+ insinto /etc/xdg/autostart
+ newins data/input-remapper-autoload.desktop input-remapper-autoload.desktop
+
+ # Install dbus config
+ insinto /usr/share/dbus-1/system.d
+ newins data/inputremapper.Control.conf inputremapper.Control.conf
+
+ # Install polkit policy
+ insinto /usr/share/polkit-1/actions
+ newins data/input-remapper.policy input-remapper.policy
+
+ # Install metainfo
+ insinto /usr/share/metainfo
+ newins data/io.github.sezanzeb.input_remapper.metainfo.xml io.github.sezanzeb.input_remapper.metainfo.xml
+
+ # Install bin files
+ exeinto /usr/bin
+ newexe bin/input-remapper-gtk input-remapper-gtk
+ newexe bin/input-remapper-service input-remapper-service
+ newexe bin/input-remapper-control input-remapper-control
+ newexe bin/input-remapper-reader-service input-remapper-reader-service
+
+ # Install python site-packages files
+ distutils-r1_src_install
+}
+
+pkg_postinst() {
+ xdg_icon_cache_update
+ udev_reload
+
+ einfo ""
+ einfo "This version of input-remapper relies on reprecated dependencies (dev-python/pkg-resources) and additionally cannot support python 3.14."
+ einfo ""
+ einfo "It is recommended to switch to the live ebuild, where both of these issues have been fixed, until the author releases a new version."
+ einfo ""
+}
+
+pkg_postrm() {
+ xdg_icon_cache_update
+ udev_reload
+}
diff --git a/games-util/input-remapper/input-remapper-9999.ebuild b/games-util/input-remapper/input-remapper-9999.ebuild
new file mode 100644
index 000000000000..55d85126ca1d
--- /dev/null
+++ b/games-util/input-remapper/input-remapper-9999.ebuild
@@ -0,0 +1,108 @@
+# Copyright 2025-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{13..14} )
+DISTUTILS_SINGLE_IMPL=1
+DISTUTILS_USE_PEP517=setuptools
+
+inherit distutils-r1 systemd git-r3 udev desktop xdg
+
+DESCRIPTION="A tool to change and program the mapping of your input device buttons"
+HOMEPAGE="https://github.com/sezanzeb/input-remapper"
+EGIT_REPO_URI="https://github.com/sezanzeb/input-remapper.git"
+EGIT_BRANCH="main"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS=""
+
+PATCHES=(
+ "${FILESDIR}/build-backend.patch"
+ "${FILESDIR}/mo-files.patch"
+)
+
+RDEPEND="
+ x11-libs/gtk+:3
+ sys-devel/gettext
+ x11-libs/gtksourceview
+ x11-apps/xmodmap
+ $(python_gen_cond_dep '
+ dev-python/pygobject[${PYTHON_USEDEP}]
+ dev-python/dasbus[${PYTHON_USEDEP}]
+ dev-python/pydantic[${PYTHON_USEDEP}]
+ dev-python/psutil[${PYTHON_USEDEP}]
+ >=dev-python/evdev-1.3.0[${PYTHON_USEDEP}]
+ ')
+ virtual/udev
+"
+
+RESTRICT=test
+
+src_compile() {
+ distutils-r1_src_compile
+
+ # With setup.py gone this needs to be manually executed.
+ # "mo-files.patch" makes language.py executable standalone
+ # and updates the output path to "${S}"/mo
+ python "${S}/install/language.py"
+}
+
+src_install() {
+ # Install data files
+ insinto /usr/share/inputremapper/
+ doins -r "${S}"/data/*
+
+ # Install lang files
+ insinto /usr/share/inputremapper/lang
+ doins -r "${S}"/mo/lang/*
+
+ # Install udev rules
+ udev_dorules data/99-input-remapper.rules
+
+ # Install systemd service
+ systemd_dounit data/input-remapper.service
+
+ # Install desktop file
+ domenu data/input-remapper-gtk.desktop
+
+ # Install icon file
+ doicon -s scalable data/input-remapper.svg
+
+ # Install audoload file
+ insinto /etc/xdg/autostart
+ newins data/input-remapper-autoload.desktop input-remapper-autoload.desktop
+
+ # Install dbus config
+ insinto /usr/share/dbus-1/system.d
+ newins data/inputremapper.Control.conf inputremapper.Control.conf
+
+ # Install polkit policy
+ insinto /usr/share/polkit-1/actions
+ newins data/input-remapper.policy input-remapper.policy
+
+ # Install metainfo
+ insinto /usr/share/metainfo
+ newins data/io.github.sezanzeb.input_remapper.metainfo.xml io.github.sezanzeb.input_remapper.metainfo.xml
+
+ # Install bin files
+ exeinto /usr/bin
+ newexe bin/input-remapper-gtk input-remapper-gtk
+ newexe bin/input-remapper-service input-remapper-service
+ newexe bin/input-remapper-control input-remapper-control
+ newexe bin/input-remapper-reader-service input-remapper-reader-service
+
+ # Install python site-packages files
+ distutils-r1_src_install
+}
+
+pkg_postinst() {
+ xdg_icon_cache_update
+ udev_reload
+}
+
+pkg_postrm() {
+ xdg_icon_cache_update
+ udev_reload
+}
diff --git a/games-util/input-remapper/metadata.xml b/games-util/input-remapper/metadata.xml
new file mode 100644
index 000000000000..67b984879a29
--- /dev/null
+++ b/games-util/input-remapper/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM 'https://www.gentoo.org/dtd/metadata.dtd'>
+<pkgmetadata>
+ <maintainer type="person">
+ <email>ericanebula@proton.me</email>
+ <name>Erica Nebula</name>
+ </maintainer>
+ <upstream>
+ <bugs-to>https://github.com/sezanzeb/input-remapper/issues</bugs-to>
+ <changelog>https://github.com/sezanzeb/input-remapper/releases</changelog>
+ <remote-id type="github">sezanzeb/input-remapper</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/games-util/itch-bin/Manifest b/games-util/itch-bin/Manifest
new file mode 100644
index 000000000000..4e9414708266
--- /dev/null
+++ b/games-util/itch-bin/Manifest
@@ -0,0 +1,2 @@
+DIST itch-bin-25.5.1.zip 81447648 BLAKE2B 5c0ef34b71d5ba1f771a8e8ba8fa9b012df17a2109061837af6a3d86e94c97a61c564d9752d550cc30be9f306543a622badc3c7165465a5c0fb48966f800a52e SHA512 17a55680570c6a2bf82336b1825742f6b1d64158c97cf1a8734688957d642e6ea48d9b9526fef9cf81f1c5869e5425111e90b94d2154966addd504dc3f66530d
+DIST itch-bin-26.1.9.zip 118731612 BLAKE2B 1261fe71242350abe0f23f044d2e5e97286554ef1474568d7737fb0a5d473715f1cebea1918338187a3a4ad139464763ef4e9fecd6119c6dc511eb033bf68430 SHA512 aed3753623ee949236e389bfdc6aa9ab4160e82f366990347e7ae57895e81d396bd5c507069c99f41a1c019d3e15c42184c081bdb976cfbe793cae750f0c9a75
diff --git a/games-util/itch-bin/itch-bin-25.5.1-r2.ebuild b/games-util/itch-bin/itch-bin-25.5.1-r2.ebuild
new file mode 100644
index 000000000000..3dabe9b286ef
--- /dev/null
+++ b/games-util/itch-bin/itch-bin-25.5.1-r2.ebuild
@@ -0,0 +1,67 @@
+# Copyright 2020-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit desktop xdg
+
+DESCRIPTION="itch.io game browser, installer and launcher"
+HOMEPAGE="https://itch.io/"
+SRC_URI="https://broth.itch.ovh/itch/linux-amd64/${PV}/archive/default -> ${P}.zip"
+
+S="${WORKDIR}"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+IUSE="system-ffmpeg"
+
+BDEPEND="app-arch/unzip"
+RDEPEND="
+ x11-libs/gtk+:3[X,cups]
+ x11-libs/libXtst
+ dev-libs/nss
+ media-libs/alsa-lib
+ media-libs/freetype
+ x11-libs/pixman
+ media-libs/libpng:*
+ dev-libs/libpcre
+ net-dns/libidn2
+ net-libs/gnutls
+ dev-libs/libbsd
+ sys-apps/util-linux
+ media-gfx/graphite2
+ media-libs/vulkan-loader
+ system-ffmpeg? ( media-video/ffmpeg[chromium] )
+"
+
+QA_PREBUILT="
+ opt/itch-bin/itch
+ opt/itch-bin/libvk_swiftshader.so
+ !system-ffmpeg? ( opt/itch-bin/libffmpeg.so )
+"
+
+src_install() {
+ local destdir="${EPREFIX}/opt/${PN}"
+ insinto "${destdir}"
+ doins -r locales resources
+ doins ./*.pak ./*.dat ./*.bin ./*.json version libvk_swiftshader.so
+
+ if use system-ffmpeg; then # bug 710944
+ rm libffmpeg.so || die
+ dosym -r "${EPREFIX}/usr/$(get_libdir)/chromium/libffmpeg.so" \
+ ${destdir}/libffmpeg.so
+ else
+ doins libffmpeg.so
+ fi
+
+ exeinto "${destdir}"
+ doexe itch
+ dosym "${destdir}/itch" /usr/bin/itch-bin
+
+ newicon -s 256 "resources/app/src/static/images/tray/itch.png" "${PN}.png"
+ newicon -s 128 "resources/app/src/static/images/window/itch/icon.png" "${PN}.png"
+
+ make_desktop_entry itch-bin Itch itch-bin "Network;Game"
+}
diff --git a/games-util/itch-bin/itch-bin-26.1.9.ebuild b/games-util/itch-bin/itch-bin-26.1.9.ebuild
new file mode 100644
index 000000000000..b8abeb9b7c61
--- /dev/null
+++ b/games-util/itch-bin/itch-bin-26.1.9.ebuild
@@ -0,0 +1,70 @@
+# Copyright 2020-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit desktop xdg
+
+DESCRIPTION="itch.io game browser, installer and launcher"
+HOMEPAGE="https://itch.io/"
+SRC_URI="https://broth.itch.ovh/itch/linux-amd64/${PV}/archive/default -> ${P}.zip"
+
+S="${WORKDIR}"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+IUSE="system-ffmpeg"
+
+BDEPEND="app-arch/unzip"
+RDEPEND="
+ dev-libs/libbsd
+ dev-libs/libpcre
+ dev-libs/nss
+ media-gfx/graphite2
+ media-libs/alsa-lib
+ media-libs/freetype
+ media-libs/libpng:*
+ media-libs/mesa
+ media-libs/vulkan-loader
+ net-dns/libidn2
+ net-libs/gnutls
+ sys-apps/util-linux
+ x11-libs/gtk+:3[X,cups]
+ x11-libs/libXtst
+ x11-libs/libdrm
+ x11-libs/libxkbcommon
+ x11-libs/pixman
+ system-ffmpeg? ( media-video/ffmpeg[chromium] )
+"
+
+QA_PREBUILT="
+ opt/itch-bin/itch
+ opt/itch-bin/libvk_swiftshader.so
+ !system-ffmpeg? ( opt/itch-bin/libffmpeg.so )
+"
+
+src_install() {
+ local destdir="${EPREFIX}/opt/${PN}"
+ insinto "${destdir}"
+ doins -r locales resources
+ doins ./*.pak ./*.dat ./*.bin ./*.json version libvk_swiftshader.so
+
+ if use system-ffmpeg; then # bug 710944
+ rm libffmpeg.so || die
+ dosym -r "${EPREFIX}/usr/$(get_libdir)/chromium/libffmpeg.so" \
+ ${destdir}/libffmpeg.so
+ else
+ doins libffmpeg.so
+ fi
+
+ exeinto "${destdir}"
+ doexe itch
+ dosym "${destdir}/itch" /usr/bin/itch-bin
+
+ newicon -s 256 "resources/app/src/static/images/tray/itch.png" "${PN}.png"
+ newicon -s 128 "resources/app/src/static/images/window/itch/icon.png" "${PN}.png"
+
+ make_desktop_entry itch-bin Itch itch-bin "Network;Game"
+}
diff --git a/games-util/itch-bin/metadata.xml b/games-util/itch-bin/metadata.xml
new file mode 100644
index 000000000000..b2f9b65aa1e8
--- /dev/null
+++ b/games-util/itch-bin/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>tea+gentoo@cuddleslut.fr</email>
+ <name>tea</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">itchio/itch</remote-id>
+ </upstream>
+ <use>
+ <flag name="system-ffmpeg">Use the system-wide <pkg>media-video/ffmpeg</pkg> instead of bundled.</flag>
+ </use>
+</pkgmetadata>
diff --git a/games-util/joycond/Manifest b/games-util/joycond/Manifest
new file mode 100644
index 000000000000..c6fb1a0cc904
--- /dev/null
+++ b/games-util/joycond/Manifest
@@ -0,0 +1,2 @@
+DIST joycond-0.1.0_p20220720.tar.gz 30009 BLAKE2B b3963a6d3e8047708d2aa258cb11a8018e263d91c4e1c5491b70eef9d22b4256002780adf897b809f87b101e2876086528389ce9649f34125b3fa226695b5e8f SHA512 b32be26a2d7184910d2d8c1e3ac356885f301d5a443b0d9c91431e37108bc77feb369e93db3c3f0a20a81c2287fd54baed785e5744a787a0bff9763815ffe655
+DIST joycond-0.1.0_p20250412.tar.gz 30530 BLAKE2B e2ff97784ac55e72762952f313b95c80bf21540db8c1a6679165691502e1c21e89495e720665220bf105ce40565d4b8cdfc378a590a9e1e98851d1a58dfb9a27 SHA512 628bfc132ae50d40866965c757dd812ef75caead9630e5f3e59296bc29cb797b9d3000fe1d1f158d31ca7ab879683fa4e4ce649bd25f13301c4319ef08d5abd8
diff --git a/games-util/joycond/files/joycond-dynamic-paths.patch b/games-util/joycond/files/joycond-dynamic-paths.patch
new file mode 100644
index 000000000000..234cbaa195b5
--- /dev/null
+++ b/games-util/joycond/files/joycond-dynamic-paths.patch
@@ -0,0 +1,72 @@
+From b68e1c3a40aa116f0c6236114be79bd79f472258 Mon Sep 17 00:00:00 2001
+From: James Le Cuirot <chewi@gentoo.org>
+Date: Fri, 17 Oct 2025 22:08:50 +0100
+Subject: [PATCH] cmake: Determine installation paths dynamically
+
+Use pkg-config data, then systemd-path, then respect GNUInstallDirs.
+CMAKE_INSTALL_LIBDIR is not used because that is the
+architecture-specific directory (e.g. lib64).
+
+Signed-off-by: James Le Cuirot <chewi@gentoo.org>
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -1,6 +1,8 @@
+ cmake_minimum_required(VERSION 3.13)
+ project(joycond)
+
++include(GNUInstallDirs)
++
+ set(CMAKE_CXX_STANDARD 17)
+
+ # Generate compile_commands.json
+@@ -25,19 +27,41 @@ target_link_libraries(
+
+ add_subdirectory(src)
+
+-install(TARGETS joycond DESTINATION /usr/bin/
++install(TARGETS joycond DESTINATION "${CMAKE_INSTALL_BINDIR}"
+ PERMISSIONS OWNER_WRITE OWNER_READ OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
+ )
+-install(FILES udev/89-joycond.rules udev/72-joycond.rules DESTINATION /usr/lib/udev/rules.d/
+- PERMISSIONS OWNER_WRITE OWNER_READ GROUP_READ WORLD_READ
++
++pkg_get_variable(UDEV_RULES_PATH udev udev_dir)
++if(NOT UDEV_RULES_PATH)
++ set(UDEV_RULES_PATH "${CMAKE_INSTALL_PREFIX}/lib/udev")
++endif()
++install(FILES udev/89-joycond.rules udev/72-joycond.rules DESTINATION "${UDEV_RULES_PATH}/rules.d/"
++ PERMISSIONS OWNER_WRITE OWNER_READ GROUP_READ WORLD_READ
+ )
+-install(FILES systemd/joycond.service DESTINATION /usr/lib/systemd/system
++
++pkg_get_variable(SYSTEMD_SYSTEM_UNIT_PATH systemd systemd_system_unit_dir)
++if(NOT SYSTEMD_SYSTEM_UNIT_PATH)
++ execute_process(COMMAND systemd-path systemd-system-unit OUTPUT_VARIABLE SYSTEMD_SYSTEM_UNIT_PATH OUTPUT_STRIP_TRAILING_WHITESPACE RESULT_VARIABLE UNIT_RETVAL)
++ if(NOT UNIT_RETVAL EQUAL 0)
++ set(SYSTEMD_SYSTEM_UNIT_PATH "${CMAKE_INSTALL_PREFIX}/lib/systemd/system")
++ endif()
++endif()
++install(FILES systemd/joycond.service DESTINATION "${SYSTEMD_SYSTEM_UNIT_PATH}"
+ PERMISSIONS OWNER_WRITE OWNER_READ GROUP_READ WORLD_READ
+ )
+-install(FILES systemd/joycond.conf DESTINATION /etc/modules-load.d
++
++pkg_get_variable(SYSTEMD_MODULES_LOAD_PATH systemd modules_load_dir)
++if(NOT SYSTEMD_MODULES_LOAD_PATH)
++ execute_process(COMMAND systemd-path modules-load OUTPUT_VARIABLE SYSTEMD_MODULES_LOAD_PATH OUTPUT_STRIP_TRAILING_WHITESPACE RESULT_VARIABLE MODULES_RETVAL)
++ if(NOT MODULES_RETVAL EQUAL 0)
++ set(SYSTEMD_MODULES_LOAD_PATH "${CMAKE_INSTALL_PREFIX}/lib/modules-load.d")
++ endif()
++endif()
++install(FILES systemd/joycond.conf DESTINATION "${SYSTEMD_MODULES_LOAD_PATH}"
+ PERMISSIONS OWNER_WRITE OWNER_READ GROUP_READ WORLD_READ
+ )
++
+ install(FILES data/com.github.DanielOgorchock.joycond.metainfo.xml
+- DESTINATION /usr/share/metainfo
++ DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/metainfo"
+ PERMISSIONS OWNER_WRITE OWNER_READ GROUP_READ WORLD_READ
+ )
+--
+2.51.0
+
diff --git a/games-util/joycond/files/joycond-gcc16.patch b/games-util/joycond/files/joycond-gcc16.patch
new file mode 100644
index 000000000000..c42e7da509d5
--- /dev/null
+++ b/games-util/joycond/files/joycond-gcc16.patch
@@ -0,0 +1,26 @@
+From c43e5b13d0bd8f3f5fa1d44d92824ea2ca60c315 Mon Sep 17 00:00:00 2001
+From: James Le Cuirot <chewi@gentoo.org>
+Date: Sun, 26 Oct 2025 22:28:19 +0000
+Subject: [PATCH] Fix -Warray-bounds warnings raised by GCC 16
+
+Signed-off-by: James Le Cuirot <chewi@gentoo.org>
+---
+ src/ctlr_mgr.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/ctlr_mgr.cpp b/src/ctlr_mgr.cpp
+index 2f6fbc4..9a2c20e 100644
+--- a/src/ctlr_mgr.cpp
++++ b/src/ctlr_mgr.cpp
+@@ -164,7 +164,7 @@ void ctlr_mgr::add_ctlr(const std::string& devpath, const std::string& devname)
+
+ if (!unpaired_controllers.count(devpath)) {
+ std::cout << "Creating new phys_ctlr for " << devname << std::endl;
+- phys.reset(new phys_ctlr(devpath, devname));
++ phys = std::make_shared<phys_ctlr>(devpath, devname);
+ unpaired_controllers[devpath] = phys;
+ phys->blink_player_leds();
+ subscribers[devpath] = std::make_shared<epoll_subscriber>(std::vector({phys->get_fd()}),
+--
+2.51.0
+
diff --git a/games-util/joycond/files/joycond-systemd-paranoia.patch b/games-util/joycond/files/joycond-systemd-paranoia.patch
new file mode 100644
index 000000000000..314b4824cda8
--- /dev/null
+++ b/games-util/joycond/files/joycond-systemd-paranoia.patch
@@ -0,0 +1,46 @@
+From d39ce9de9420560494d92519f4e29a40d685a5b4 Mon Sep 17 00:00:00 2001
+From: Andrew Udvare <audvare@gmail.com>
+Date: Sun, 12 Dec 2021 22:02:00 -0500
+Subject: [PATCH] systemd service: paranoia mode
+
+---
+ systemd/joycond.service | 24 +++++++++++++++++++-----
+ 1 file changed, 19 insertions(+), 5 deletions(-)
+
+diff --git a/systemd/joycond.service b/systemd/joycond.service
+index cc8e408..5a8b045 100644
+--- a/systemd/joycond.service
++++ b/systemd/joycond.service
+@@ -4,12 +4,27 @@ After=network.target
+
+ [Service]
+ ExecStart=/usr/bin/joycond
+-WorkingDirectory=/root
+-StandardOutput=inherit
+-StandardError=inherit
+ Restart=always
+-User=root
++
++DeviceAllow=/dev/uinput
++DeviceAllow=char-input
++DevicePolicy=closed
++LockPersonality=yes
++MemoryDenyWriteExecute=yes
++NoNewPrivileges=yes
++ProtectClock=yes
++PrivateTmp=yes
++ProtectHome=yes
++ProtectHostname=yes
++ProtectControlGroups=yes
++ProtectKernelModules=yes
++ProtectProc=noaccess
++ProtectSystem=strict
++RestrictAddressFamilies=AF_NETLINK
++RestrictNetworkInterfaces=
++RestrictRealtime=yes
++RestrictSUIDSGID=yes
++SocketBindDeny=any
+
+ [Install]
+ WantedBy=multi-user.target
+-
diff --git a/games-util/joycond/files/joycond-systemd-paths.patch b/games-util/joycond/files/joycond-systemd-paths.patch
new file mode 100644
index 000000000000..8b8288350a3e
--- /dev/null
+++ b/games-util/joycond/files/joycond-systemd-paths.patch
@@ -0,0 +1,32 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index f9d6e93..4e05976 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -28,12 +28,24 @@ add_subdirectory(src)
+ install(TARGETS joycond DESTINATION /usr/bin/
+ PERMISSIONS OWNER_WRITE OWNER_READ OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
+ )
+-install(FILES udev/89-joycond.rules udev/72-joycond.rules DESTINATION /lib/udev/rules.d/
++
++pkg_get_variable(UDEV_RULES_PATH udev udevdir)
++install(FILES udev/89-joycond.rules udev/72-joycond.rules DESTINATION ${UDEV_RULES_PATH}/rules.d/
+ PERMISSIONS OWNER_WRITE OWNER_READ GROUP_READ WORLD_READ
+ )
+-install(FILES systemd/joycond.service DESTINATION /etc/systemd/system
++
++execute_process(COMMAND systemd-path systemd-system-unit OUTPUT_VARIABLE SYSTEMD_SYSTEM_UNIT_PATH OUTPUT_STRIP_TRAILING_WHITESPACE RESULT_VARIABLE UNIT_RETVAL)
++if(NOT "${UNIT_RETVAL}" EQUAL 0)
++ set(SYSTEMD_SYSTEM_UNIT_PATH "/usr/lib/systemd/system")
++endif()
++install(FILES systemd/joycond.service DESTINATION ${SYSTEMD_SYSTEM_UNIT_PATH}
+ PERMISSIONS OWNER_WRITE OWNER_READ GROUP_READ WORLD_READ
+ )
+-install(FILES systemd/joycond.conf DESTINATION /etc/modules-load.d
++
++execute_process(COMMAND systemd-path modules-load OUTPUT_VARIABLE SYSTEMD_MODULES_LOAD_PATH OUTPUT_STRIP_TRAILING_WHITESPACE RESULT_VARIABLE MODULES_RETVAL)
++if(NOT "${MODULES_RETVAL}" EQUAL 0)
++ set(SYSTEMD_MODULES_LOAD_PATH "/usr/lib/modules-load.d")
++endif()
++install(FILES systemd/joycond.conf DESTINATION ${SYSTEMD_MODULES_LOAD_PATH}
+ PERMISSIONS OWNER_WRITE OWNER_READ GROUP_READ WORLD_READ
+ )
diff --git a/games-util/joycond/files/joycond-werror.patch b/games-util/joycond/files/joycond-werror.patch
new file mode 100644
index 000000000000..240a623e1cc3
--- /dev/null
+++ b/games-util/joycond/files/joycond-werror.patch
@@ -0,0 +1,23 @@
+From 5c58b2b44982e6e4958444888bc5e5f8d1634887 Mon Sep 17 00:00:00 2001
+From: James Le Cuirot <chewi@gentoo.org>
+Date: Fri, 17 Oct 2025 22:32:15 +0100
+Subject: [PATCH] cmake: Only apply -Werror to debug builds
+
+It is really unhelpful for end users and distributions who might not be
+using the same toolchain version as you.
+
+Signed-off-by: James Le Cuirot <chewi@gentoo.org>
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -11,7 +11,7 @@ pkg_check_modules(LIBEVDEV REQUIRED libevdev)
+ pkg_check_modules(LIBUDEV REQUIRED libudev)
+
+ add_executable(joycond "")
+-target_compile_options(joycond PRIVATE -Wall -Werror)
++target_compile_options(joycond PRIVATE -Wall $<$<CONFIG:Debug>:-Werror>)
+ include_directories(
+ include/
+ ${LIBEVDEV_INCLUDE_DIRS}
+--
+2.51.0
+
diff --git a/games-util/joycond/files/joycond.initd b/games-util/joycond/files/joycond.initd
new file mode 100644
index 000000000000..f23e1131e753
--- /dev/null
+++ b/games-util/joycond/files/joycond.initd
@@ -0,0 +1,7 @@
+#!/sbin/openrc-run
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+pidfile="/var/run/${RC_SVCNAME}.pid"
+command_background="true"
+command="joycond"
diff --git a/games-util/joycond/joycond-0.1.0_p20220720-r1.ebuild b/games-util/joycond/joycond-0.1.0_p20220720-r1.ebuild
new file mode 100644
index 000000000000..293bbf3b3ce6
--- /dev/null
+++ b/games-util/joycond/joycond-0.1.0_p20220720-r1.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake linux-info udev
+
+COMMIT="5b590ecc9bca181d8bc21377e752126bc9180319"
+DESCRIPTION="Daemon that uses hid-nintendo evdev devices to implement joycon pairing"
+HOMEPAGE="https://github.com/DanielOgorchock/joycond"
+SRC_URI="https://github.com/DanielOgorchock/joycond/archive/${COMMIT}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
+
+DEPEND="
+ dev-libs/libevdev
+ virtual/udev
+"
+
+RDEPEND="
+ ${DEPEND}
+"
+
+CONFIG_CHECK="
+ ~HID
+ ~HID_NINTENDO
+ ~HIDRAW
+"
+
+S="${WORKDIR}/${PN}-${COMMIT}"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-systemd-paths.patch
+ "${FILESDIR}"/${PN}-systemd-paranoia.patch
+)
+
+src_install() {
+ cmake_src_install
+ newinitd "${FILESDIR}"/${PN}.initd ${PN}
+ doman doc/${PN}.1
+}
+
+pkg_postinst() {
+ udev_reload
+}
+
+pkg_postrm() {
+ udev_reload
+}
diff --git a/games-util/joycond/joycond-0.1.0_p20250412.ebuild b/games-util/joycond/joycond-0.1.0_p20250412.ebuild
new file mode 100644
index 000000000000..19d19b6c4019
--- /dev/null
+++ b/games-util/joycond/joycond-0.1.0_p20250412.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake linux-info udev
+
+COMMIT="39d5728d41b70840342ddc116a59125b337fbde2"
+DESCRIPTION="Daemon that uses hid-nintendo evdev devices to implement joycon pairing"
+HOMEPAGE="https://github.com/DanielOgorchock/joycond"
+SRC_URI="https://github.com/DanielOgorchock/joycond/archive/${COMMIT}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${PN}-${COMMIT}"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
+
+DEPEND="
+ dev-libs/libevdev
+ virtual/udev
+"
+
+RDEPEND="
+ ${DEPEND}
+"
+
+CONFIG_CHECK="
+ ~HID
+ ~HID_NINTENDO
+ ~HIDRAW
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-dynamic-paths.patch
+ "${FILESDIR}"/${PN}-systemd-paranoia.patch
+ "${FILESDIR}"/${PN}-werror.patch
+ "${FILESDIR}"/${PN}-gcc16.patch
+)
+
+src_install() {
+ cmake_src_install
+ newinitd "${FILESDIR}"/${PN}.initd ${PN}
+ doman doc/${PN}.1
+}
+
+pkg_postinst() {
+ udev_reload
+}
+
+pkg_postrm() {
+ udev_reload
+}
diff --git a/games-util/joycond/metadata.xml b/games-util/joycond/metadata.xml
new file mode 100644
index 000000000000..c529738df197
--- /dev/null
+++ b/games-util/joycond/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>games@gentoo.org</email>
+ <name>Gentoo Games Project</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">DanielOgorchock/joycond</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/games-util/joystick/Manifest b/games-util/joystick/Manifest
new file mode 100644
index 000000000000..52205e499f85
--- /dev/null
+++ b/games-util/joystick/Manifest
@@ -0,0 +1 @@
+DIST linuxconsoletools-1.8.1.tar.bz2 53715 BLAKE2B a0fab44762d9f4edcc1e85037efada2dac617873548579a83c3e7791e5a047e1c88243978fee562992f363102a0cb415c75d1286a3eb46a42dfe6afc7e9a0594 SHA512 407fcba552a3e45c60fb4f08217fe17106bedd6fde2fbce84aa6f4fa68ffc032f1683c6154f79daacaf1dcaf484fe943dd7391e787f0290d5bf42c7089c7c20c
diff --git a/games-util/joystick/files/joystick-1.8.1-optional-ffmvforce.patch b/games-util/joystick/files/joystick-1.8.1-optional-ffmvforce.patch
new file mode 100644
index 000000000000..62f85aea6054
--- /dev/null
+++ b/games-util/joystick/files/joystick-1.8.1-optional-ffmvforce.patch
@@ -0,0 +1,22 @@
+Keep ffmvforce separately optional given it's the only one
+with an additional dependency (sdl)
+--- a/docs/Makefile
++++ b/docs/Makefile
+@@ -31,3 +31,6 @@
+ ifndef DISABLE_FORCEFEEDBACK
+-MANPAGES += fftest.1 ffmvforce.1 ffset.1 ffcfstress.1
++MANPAGES += fftest.1 ffset.1 ffcfstress.1
++ifndef DISABLE_FFMVFORCE
++MANPAGES += ffmvforce.1
++endif
+ endif
+--- a/utils/Makefile
++++ b/utils/Makefile
+@@ -39,3 +39,6 @@
+ ifndef DISABLE_FORCEFEEDBACK
+-PROGRAMS += fftest ffmvforce ffset ffcfstress
++PROGRAMS += fftest ffset ffcfstress
++ifndef DISABLE_FFMVFORCE
++PROGRAMS += ffmvforce
++endif
+ endif
diff --git a/games-util/joystick/joystick-1.8.1.ebuild b/games-util/joystick/joystick-1.8.1.ebuild
new file mode 100644
index 000000000000..60523e7f301e
--- /dev/null
+++ b/games-util/joystick/joystick-1.8.1.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs udev
+
+MY_P="linuxconsoletools-${PV}"
+
+DESCRIPTION="Joystick testing utilities"
+HOMEPAGE="https://sourceforge.net/projects/linuxconsole/"
+SRC_URI="https://downloads.sourceforge.net/linuxconsole/files/${MY_P}.tar.bz2"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~x86"
+IUSE="sdl"
+
+RDEPEND="sdl? ( media-libs/libsdl2[video] )"
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.8.1-optional-ffmvforce.patch
+)
+
+src_configure() {
+ tc-export CC PKG_CONFIG
+ export PREFIX="${EPREFIX}"/usr
+ use sdl || export DISABLE_FFMVFORCE=1
+}
+
+src_install() {
+ default
+
+ [[ ! ${EPREFIX} ]] || mv {"${D}","${ED}"}/lib || die
+}
+
+pkg_postinst() {
+ udev_reload
+}
+
+pkg_postrm() {
+ udev_reload
+}
diff --git a/games-util/joystick/metadata.xml b/games-util/joystick/metadata.xml
new file mode 100644
index 000000000000..d03e9aece064
--- /dev/null
+++ b/games-util/joystick/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>games@gentoo.org</email>
+ <name>Gentoo Games Project</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="sourceforge">linuxconsole</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/games-util/legendary/Manifest b/games-util/legendary/Manifest
new file mode 100644
index 000000000000..e1747eaef3e5
--- /dev/null
+++ b/games-util/legendary/Manifest
@@ -0,0 +1 @@
+DIST legendary-0.20.34.gh.tar.gz 148218 BLAKE2B d68e14b17024d389f382238be3482436f2b8fdc64f6500c81bd0c400fc9348ff287dd407dc60cda5c880c830b87b5d436c37a9e3319ef5f29621f00b7109e6d7 SHA512 37ad1f7478d85fe38708acce76cb933c85bd2fb342fc8367423e3eb0d314fc85cea7ff2ae48385d507ba3bc7085f813efed257ac2aa95637b4dbc1a0aec57af8
diff --git a/games-util/legendary/legendary-0.20.34-r2.ebuild b/games-util/legendary/legendary-0.20.34-r2.ebuild
new file mode 100644
index 000000000000..37291d2c43b8
--- /dev/null
+++ b/games-util/legendary/legendary-0.20.34-r2.ebuild
@@ -0,0 +1,26 @@
+# Copyright 2020-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{13..14} )
+DISTUTILS_SINGLE_IMPL=1
+inherit distutils-r1
+
+DESCRIPTION="A free and open-source replacement for the Epic Games Launcher"
+HOMEPAGE="https://legendary.gl/ https://pypi.org/project/legendary-gl/ https://github.com/derrod/legendary"
+SRC_URI="https://github.com/derrod/${PN}/archive/${PV}.tar.gz -> ${P}.gh.tar.gz"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="webview"
+
+RDEPEND="
+ $(python_gen_cond_dep '
+ dev-python/filelock[${PYTHON_USEDEP}]
+ <dev-python/requests-3.0[${PYTHON_USEDEP}]
+ webview? ( dev-python/pywebview[${PYTHON_USEDEP}] )
+ ')
+"
diff --git a/games-util/legendary/metadata.xml b/games-util/legendary/metadata.xml
new file mode 100644
index 000000000000..d0e87535a7fa
--- /dev/null
+++ b/games-util/legendary/metadata.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>tea+gentoo@cuddleslut.fr</email>
+ <name>tea</name>
+ </maintainer>
+ <longdescription lang="en">
+ Legendary is an open-source game launcher that can download and install
+ games from the Epic Games platform on Linux and Windows. It's name is a
+ tongue-in-cheek play on tiers of item rarity in many MMORPGs.
+ </longdescription>
+ <upstream>
+ <remote-id type="github">derrod/legendary</remote-id>
+ <remote-id type="pypi">legendary-gl</remote-id>
+ </upstream>
+ <use>
+ <flag name="webview">Use dev-python/pywebview for the sign-in process</flag>
+ </use>
+</pkgmetadata>
diff --git a/games-util/leshade/Manifest b/games-util/leshade/Manifest
new file mode 100644
index 000000000000..ac31c8da7c4e
--- /dev/null
+++ b/games-util/leshade/Manifest
@@ -0,0 +1,3 @@
+DIST leshade-2.4.5.tar.gz 37153866 BLAKE2B ba67f6bf573f85a666d7ca3096fd83e9b7c301a9f5fc28dc6048cabe1a21e8da0453cecc1a995a3d384694050b141da23ae6467652bacd4ae62250e4dda9ecfb SHA512 fafebc18a3b9268039c830a7a9534b6677251075db7cc150d46683152fb7d554d964bc198dd808fa6a29f587fb1cfe576edad6495d9c4c30cd47fee8787e0b72
+DIST leshade-2.4.6.tar.gz 37154449 BLAKE2B 608541db71036463ac08ee777f7d340887822e2762a5c08415b1a928d739c51dbac9710c2623a303b7cf90c9c66189d55d9d409b95d42744bd6de5ca40290bc4 SHA512 08d71997045f0d379b5d599f5c92c8ba2b6fd63a0a6fa8c88d3900fac1a0198cb859e2c6028e610a5f5def72292254163af5b8270f9cda0aec28d0a0dfe92cda
+DIST leshade-2.4.7.tar.gz 37155602 BLAKE2B f757a49ec017f2b42fcf440d989d364656c506f10284dd4740a0f71595675c633e1b8eeb1192fdf86723d81fc91069b09dee56ca9fe3132255200cb9e1926415 SHA512 0571d3a34da082ca040d05dbafbbf3cd2ca69c16e9d013dc76f0d64917ec1606016faf25f90295cbf185c84323f768d4c0183548dc9a33eb90a588909a5a2332
diff --git a/games-util/leshade/leshade-2.4.5.ebuild b/games-util/leshade/leshade-2.4.5.ebuild
new file mode 100644
index 000000000000..c015b73e8897
--- /dev/null
+++ b/games-util/leshade/leshade-2.4.5.ebuild
@@ -0,0 +1,65 @@
+# Copyright 2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit meson python-single-r1 xdg
+
+MY_PN="LeShade"
+MY_P=${MY_PN}-${PV}
+
+DESCRIPTION="A ReShade manager for Linux"
+HOMEPAGE="https://github.com/Ishidawg/LeShade"
+
+if [[ ${PV} == *9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/Ishidawg/LeShade.git"
+else
+ SRC_URI="https://github.com/Ishidawg/LeShade/archive/${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64"
+ S="${WORKDIR}/${MY_P}"
+fi
+
+LICENSE="MIT"
+SLOT="0"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RDEPEND="
+ ${PYTHON_DEPS}
+ $(python_gen_cond_dep '
+ dev-python/urllib3[${PYTHON_USEDEP}]
+ dev-python/pyside:6[${PYTHON_USEDEP}]
+ ')
+"
+
+src_prepare() {
+ default
+
+ python_fix_shebang .
+
+ #sed -i "s/^app_version: str = .*/app_version: str = \"${PV}\"/" main.py || die
+
+ if [[ ${PV} == *9999 ]] ; then
+ sed -i "s/^build_type: str = .*/build_type: str = \"Nightly\"/" main.py || die
+ fi
+
+ sed -i 's/^Icon=.*/Icon=leshade/' flatpak/io.github.ishidawg.LeShade.desktop || die
+}
+
+src_compile() {
+ :
+}
+
+src_install() {
+ meson_src_install
+
+ rm "${ED}/usr/share/${PN}/assets/"* || die
+ rm -r "${ED}/usr/share/licenses" || die
+
+ dosym ../../icons/hicolor/256x256/apps/${PN}.png /usr/share/${PN}/assets/logo.png
+
+ insinto /usr/share/metainfo
+ doins flatpak/io.github.ishidawg.LeShade.metainfo.xml
+}
diff --git a/games-util/leshade/leshade-2.4.6.ebuild b/games-util/leshade/leshade-2.4.6.ebuild
new file mode 100644
index 000000000000..cb0d369e39ac
--- /dev/null
+++ b/games-util/leshade/leshade-2.4.6.ebuild
@@ -0,0 +1,66 @@
+# Copyright 2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit meson python-single-r1 xdg
+
+MY_PN="LeShade"
+MY_P=${MY_PN}-${PV}
+
+DESCRIPTION="A ReShade manager for Linux"
+HOMEPAGE="https://github.com/Ishidawg/LeShade"
+
+if [[ ${PV} == *9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/Ishidawg/LeShade.git"
+else
+ SRC_URI="https://github.com/Ishidawg/LeShade/archive/${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64"
+ S="${WORKDIR}/${MY_P}"
+fi
+
+LICENSE="MIT"
+SLOT="0"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RDEPEND="
+ app-emulation/protontricks
+ ${PYTHON_DEPS}
+ $(python_gen_cond_dep '
+ dev-python/urllib3[${PYTHON_USEDEP}]
+ dev-python/pyside:6[${PYTHON_USEDEP}]
+ ')
+"
+
+src_prepare() {
+ default
+
+ python_fix_shebang .
+
+ #sed -i "s/^app_version: str = .*/app_version: str = \"${PV}\"/" main.py || die
+
+ if [[ ${PV} == *9999 ]] ; then
+ sed -i "s/^build_type: str = .*/build_type: str = \"Nightly\"/" main.py || die
+ fi
+
+ sed -i 's/^Icon=.*/Icon=leshade/' flatpak/io.github.ishidawg.LeShade.desktop || die
+}
+
+src_compile() {
+ :
+}
+
+src_install() {
+ meson_src_install
+
+ rm "${ED}/usr/share/${PN}/assets/"* || die
+ rm -r "${ED}/usr/share/licenses" || die
+
+ dosym ../../icons/hicolor/256x256/apps/${PN}.png /usr/share/${PN}/assets/logo.png
+
+ insinto /usr/share/metainfo
+ doins flatpak/io.github.ishidawg.LeShade.metainfo.xml
+}
diff --git a/games-util/leshade/leshade-2.4.7.ebuild b/games-util/leshade/leshade-2.4.7.ebuild
new file mode 100644
index 000000000000..d9cdfc1e8336
--- /dev/null
+++ b/games-util/leshade/leshade-2.4.7.ebuild
@@ -0,0 +1,67 @@
+# Copyright 2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit meson python-single-r1 xdg
+
+MY_PN="LeShade"
+MY_P=${MY_PN}-${PV}
+
+DESCRIPTION="A ReShade manager for Linux"
+HOMEPAGE="https://github.com/Ishidawg/LeShade"
+
+if [[ ${PV} == *9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/Ishidawg/LeShade.git"
+else
+ SRC_URI="https://github.com/Ishidawg/LeShade/archive/${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64"
+ S="${WORKDIR}/${MY_P}"
+fi
+
+LICENSE="MIT"
+SLOT="0"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RDEPEND="
+ virtual/wine
+ app-emulation/winetricks
+ ${PYTHON_DEPS}
+ $(python_gen_cond_dep '
+ dev-python/urllib3[${PYTHON_USEDEP}]
+ dev-python/pyside:6[${PYTHON_USEDEP}]
+ ')
+"
+
+src_prepare() {
+ default
+
+ python_fix_shebang .
+
+ #sed -i "s/^app_version: str = .*/app_version: str = \"${PV}\"/" main.py || die
+
+ if [[ ${PV} == *9999 ]] ; then
+ sed -i "s/^build_type: str = .*/build_type: str = \"Nightly\"/" main.py || die
+ fi
+
+ sed -i 's/^Icon=.*/Icon=leshade/' flatpak/io.github.ishidawg.LeShade.desktop || die
+}
+
+src_compile() {
+ :
+}
+
+src_install() {
+ meson_src_install
+
+ rm "${ED}/usr/share/${PN}/assets/"* || die
+ rm -r "${ED}/usr/share/licenses" || die
+
+ dosym ../../icons/hicolor/256x256/apps/${PN}.png /usr/share/${PN}/assets/logo.png
+
+ insinto /usr/share/metainfo
+ doins flatpak/io.github.ishidawg.LeShade.metainfo.xml
+}
diff --git a/games-util/leshade/leshade-9999.ebuild b/games-util/leshade/leshade-9999.ebuild
new file mode 100644
index 000000000000..d9cdfc1e8336
--- /dev/null
+++ b/games-util/leshade/leshade-9999.ebuild
@@ -0,0 +1,67 @@
+# Copyright 2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit meson python-single-r1 xdg
+
+MY_PN="LeShade"
+MY_P=${MY_PN}-${PV}
+
+DESCRIPTION="A ReShade manager for Linux"
+HOMEPAGE="https://github.com/Ishidawg/LeShade"
+
+if [[ ${PV} == *9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/Ishidawg/LeShade.git"
+else
+ SRC_URI="https://github.com/Ishidawg/LeShade/archive/${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64"
+ S="${WORKDIR}/${MY_P}"
+fi
+
+LICENSE="MIT"
+SLOT="0"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RDEPEND="
+ virtual/wine
+ app-emulation/winetricks
+ ${PYTHON_DEPS}
+ $(python_gen_cond_dep '
+ dev-python/urllib3[${PYTHON_USEDEP}]
+ dev-python/pyside:6[${PYTHON_USEDEP}]
+ ')
+"
+
+src_prepare() {
+ default
+
+ python_fix_shebang .
+
+ #sed -i "s/^app_version: str = .*/app_version: str = \"${PV}\"/" main.py || die
+
+ if [[ ${PV} == *9999 ]] ; then
+ sed -i "s/^build_type: str = .*/build_type: str = \"Nightly\"/" main.py || die
+ fi
+
+ sed -i 's/^Icon=.*/Icon=leshade/' flatpak/io.github.ishidawg.LeShade.desktop || die
+}
+
+src_compile() {
+ :
+}
+
+src_install() {
+ meson_src_install
+
+ rm "${ED}/usr/share/${PN}/assets/"* || die
+ rm -r "${ED}/usr/share/licenses" || die
+
+ dosym ../../icons/hicolor/256x256/apps/${PN}.png /usr/share/${PN}/assets/logo.png
+
+ insinto /usr/share/metainfo
+ doins flatpak/io.github.ishidawg.LeShade.metainfo.xml
+}
diff --git a/games-util/leshade/metadata.xml b/games-util/leshade/metadata.xml
new file mode 100644
index 000000000000..f3bb206cb1f6
--- /dev/null
+++ b/games-util/leshade/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>ghostyn678+git@gmail.com</email>
+ <name>dsaf</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">Ishidawg/LeShade</remote-id>
+ </upstream>
+</pkgmetadata> \ No newline at end of file
diff --git a/games-util/libstrangle/Manifest b/games-util/libstrangle/Manifest
new file mode 100644
index 000000000000..71dbb766b33d
--- /dev/null
+++ b/games-util/libstrangle/Manifest
@@ -0,0 +1 @@
+DIST libstrangle-0.1.1_p20220222.tar.bz2 834715 BLAKE2B e849bf5da7a58ef081059471915d7488de5da4c805a42ff9d96fa477fcf6aada4769683020b0233215804e93e280c8b424e3fc56e2939714cc4c2ecc2794831d SHA512 a0b8a741d45e8bdda71a3b1a5ff905925d8b178253c0ac05e01e86c339aa15a207c9b514b17ae2c9810118fe749abf089c8d8efeef23b67a5718da85db264b68
diff --git a/games-util/libstrangle/files/libstrangle-0.1.1_p20220222-gcc13.patch b/games-util/libstrangle/files/libstrangle-0.1.1_p20220222-gcc13.patch
new file mode 100644
index 000000000000..03fc215b2e46
--- /dev/null
+++ b/games-util/libstrangle/files/libstrangle-0.1.1_p20220222-gcc13.patch
@@ -0,0 +1,7 @@
+https://bugs.gentoo.org/899038
+--- a/src/vulkan/overlay.cpp
++++ b/src/vulkan/overlay.cpp
+@@ -28,2 +28,3 @@
+
++#include <cstdio>
+ #include <mutex>
diff --git a/games-util/libstrangle/libstrangle-0.1.1_p20220222-r1.ebuild b/games-util/libstrangle/libstrangle-0.1.1_p20220222-r1.ebuild
new file mode 100644
index 000000000000..6c2922519587
--- /dev/null
+++ b/games-util/libstrangle/libstrangle-0.1.1_p20220222-r1.ebuild
@@ -0,0 +1,65 @@
+# Copyright 2022-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit multilib-minimal toolchain-funcs
+
+STRANGLE_COMMIT="0273e318e3b0cc759155db8729ad74266b74cb9b"
+
+DESCRIPTION="Frame rate limiter for OpenGL/Vulkan"
+HOMEPAGE="https://gitlab.com/torkel104/libstrangle/"
+SRC_URI="https://gitlab.com/torkel104/libstrangle/-/archive/${STRANGLE_COMMIT}/${P}.tar.bz2"
+S="${WORKDIR}/${PN}-${STRANGLE_COMMIT}"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="+abi_x86_32"
+
+RDEPEND="
+ sys-apps/grep[pcre]
+ elibc_glibc? (
+ || (
+ >=sys-libs/glibc-2.36-r3[hash-sysv-compat]
+ <sys-libs/glibc-2.36
+ )
+ )"
+DEPEND="
+ dev-util/vulkan-headers
+ media-libs/libglvnd
+ x11-base/xorg-proto
+ x11-libs/libX11"
+
+QA_SONAME="usr/lib.*/libstrangle.*" # intended for dlopen()
+
+PATCHES=(
+ "${FILESDIR}"/${P}-gcc13.patch
+)
+
+src_prepare() {
+ default
+
+ sed -ri '/^C(XX)?FLAGS=/s|=|+=$(CPPFLAGS) |' makefile || die
+
+ multilib_copy_sources
+}
+
+multilib_src_compile() {
+ emake CC="$(tc-getCC)" CXX="$(tc-getCXX)" LD{,XX}FLAGS="${LDFLAGS}" native
+}
+
+multilib_src_install() {
+ local emakeargs=(
+ DESTDIR="${D}"
+ prefix="${EPREFIX}"/usr
+ libdir="${EPREFIX}"/usr/$(get_libdir)
+ )
+
+ emake "${emakeargs[@]}" install-native
+}
+
+multilib_src_install_all() {
+ emake DESTDIR="${D}" prefix="${EPREFIX}"/usr install-common
+ einstalldocs
+}
diff --git a/games-util/libstrangle/metadata.xml b/games-util/libstrangle/metadata.xml
new file mode 100644
index 000000000000..1af7db338edf
--- /dev/null
+++ b/games-util/libstrangle/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>ionen@gentoo.org</email>
+ <name>Ionen Wolkens</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="gitlab">torkel104/libstrangle</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/games-util/libtess2/Manifest b/games-util/libtess2/Manifest
new file mode 100644
index 000000000000..393d673f6ee0
--- /dev/null
+++ b/games-util/libtess2/Manifest
@@ -0,0 +1 @@
+DIST libtess2-1.0.2.tar.gz 59626 BLAKE2B eea77bac09e6ef29993e9428cb776b56c60b1832cfc8aea50c114ba72f8fd081fd955eb46c014a932e9b2a2717e6423489afe4d9e975ebc53c5a53c18a264006 SHA512 c2b3385c0c54f2f38a01f757c89ae32152f01cc1615a3857a002a1928b0fa1b5344a778de73ef0b53c2131adbf0c3918935ac38781dceefb5daa97cfac8ba231
diff --git a/games-util/libtess2/files/meson.build b/games-util/libtess2/files/meson.build
new file mode 100644
index 000000000000..147b1d12a262
--- /dev/null
+++ b/games-util/libtess2/files/meson.build
@@ -0,0 +1,37 @@
+project('libtess2', 'c',
+version : '0.12.0',
+default_options : [
+ 'buildtype=release',
+ 'optimization=3',
+ 'default_library=static',
+ 'prefer_static=true',
+ 'b_ndebug=if-release',
+ 'c_args=-pipe',
+ 'cpp_args=-pipe',
+]
+)
+
+inc = include_directories(
+ 'Include',
+ 'Source'
+)
+
+install_headers('Include/tesselator.h')
+
+sources = files(
+ 'Source/bucketalloc.c',
+ 'Source/dict.c',
+ 'Source/geom.c',
+ 'Source/mesh.c',
+ 'Source/priorityq.c',
+ 'Source/sweep.c',
+ 'Source/tess.c',
+)
+
+lib = library('tess2',
+ sources,
+ include_directories: inc,
+ install: true)
+
+pkg = import('pkgconfig')
+pkg.generate(lib)
diff --git a/games-util/libtess2/libtess2-1.0.2.ebuild b/games-util/libtess2/libtess2-1.0.2.ebuild
new file mode 100644
index 000000000000..42c3035f87e7
--- /dev/null
+++ b/games-util/libtess2/libtess2-1.0.2.ebuild
@@ -0,0 +1,27 @@
+# Copyright 2021-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit meson
+
+DESCRIPTION="Game and tools oriented refactored version of GLU tesselator"
+
+HOMEPAGE="https://github.com/memononen/libtess2"
+SRC_URI="https://github.com/memononen/libtess2/archive/refs/tags/v${PV}.tar.gz -> $P.tar.gz"
+S="${WORKDIR}/${PN}-${PV}"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+DEPEND="
+ >=media-libs/glew-2.2.0
+ >=media-libs/glfw-3.0.0
+ >=media-libs/glu-9.0.2
+"
+
+src_unpack() {
+ default
+ cp "${FILESDIR}/meson.build" "${S}/" || die
+}
diff --git a/games-util/libtess2/metadata.xml b/games-util/libtess2/metadata.xml
new file mode 100644
index 000000000000..8c49f279484e
--- /dev/null
+++ b/games-util/libtess2/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM 'https://www.gentoo.org/dtd/metadata.dtd'>
+<pkgmetadata>
+ <maintainer type="person">
+ <name>Gasc Henri</name>
+ <email>gasc@eurecom.fr</email>
+ </maintainer>
+ <maintainer type="person">
+ <name>Adel KARA SLIMANE</name>
+ <email>adel.ks@zegrapher.com</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">memononen/libtess2</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/games-util/linuxtrack-qt6-wayland/Manifest b/games-util/linuxtrack-qt6-wayland/Manifest
new file mode 100644
index 000000000000..d5983780749c
--- /dev/null
+++ b/games-util/linuxtrack-qt6-wayland/Manifest
@@ -0,0 +1 @@
+DIST linuxtrack-qt6-wayland-1.4.10.tar.gz 245638194 BLAKE2B cdf75edb9d1828d5fc80308925c0a793cafc6987d1b33ca681238a9821c84fae1ca7830430ccb729494df23b411cdbd2bc31a9ed0ad8c37888a43852f30a81ba SHA512 ff6ee44e311e821df1c01d581c72430ea258e986004980abeec773e89e0b59b6d53173906a5d5548f56c28d34760e85333f9c606038c8744a37da1199efb65cc
diff --git a/games-util/linuxtrack-qt6-wayland/linuxtrack-qt6-wayland-1.4.10.ebuild b/games-util/linuxtrack-qt6-wayland/linuxtrack-qt6-wayland-1.4.10.ebuild
new file mode 100644
index 000000000000..96dd21e5ef25
--- /dev/null
+++ b/games-util/linuxtrack-qt6-wayland/linuxtrack-qt6-wayland-1.4.10.ebuild
@@ -0,0 +1,57 @@
+# Copyright 2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake udev xdg
+
+DESCRIPTION="Modernized fork of Linuxtrack headtracking software"
+HOMEPAGE="https://github.com/StarTuz/linuxtrack-Qt6-Wayland"
+
+MY_PN="linuxtrack-Qt6-Wayland"
+SRC_URI="https://github.com/StarTuz/${MY_PN}/archive/v${PV}.tar.gz -> ${PN}-${PV}.tar.gz"
+S="${WORKDIR}/${MY_PN}-${PV}"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+IUSE="+winebridge"
+
+RDEPEND="
+ dev-qt/qtbase:6
+ dev-libs/libusb
+ dev-libs/mxml
+ media-libs/liblo
+ media-libs/opencv
+ virtual/opengl
+ winebridge? ( virtual/wine )
+"
+DEPEND="${RDEPEND}"
+
+src_configure() {
+ local mycmakeargs=(
+ -DBUILD_WINE_BRIDGE=$(usex winebridge)
+ )
+ cmake_src_configure
+}
+
+src_install() {
+ cmake_src_install
+
+ # Fix rpaths - These three have DT_RUNPATH='-Wl:/usr/lib' otherwise.
+ patchelf --set-rpath '$ORIGIN' "${ED}/usr/lib/linuxtrack/NPClient64.dll.so" || die 'Could not fix rpath'
+ patchelf --set-rpath '$ORIGIN' "${ED}/usr/lib/linuxtrack/NPClient64UDP.dll.so" || die 'Could not fix rpath'
+ patchelf --set-rpath '$ORIGIN' "${ED}/usr/lib/linuxtrack/Tester64.exe.so" || die 'Could not fix rpath'
+
+ # Move docs to corret location (CMakeLists.txt hard-codes /usr/share/doc/linuxtrack)
+ mv "${ED}/usr/share/doc/linuxtrack" "${ED}/usr/share/doc/${PN}-${PV}"
+}
+
+pkg_postinst() {
+ udev_reload
+}
+
+pkg_postrm() {
+ udev_reload
+}
diff --git a/games-util/linuxtrack-qt6-wayland/linuxtrack-qt6-wayland-9999.ebuild b/games-util/linuxtrack-qt6-wayland/linuxtrack-qt6-wayland-9999.ebuild
new file mode 100644
index 000000000000..6795f3285b25
--- /dev/null
+++ b/games-util/linuxtrack-qt6-wayland/linuxtrack-qt6-wayland-9999.ebuild
@@ -0,0 +1,56 @@
+# Copyright 2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake udev xdg git-r3
+
+DESCRIPTION="Modernized fork of Linuxtrack headtracking software"
+HOMEPAGE="https://github.com/StarTuz/linuxtrack-Qt6-Wayland"
+
+MY_PN="linuxtrack-Qt6-Wayland"
+EGIT_REPO_URI="https://github.com/StarTuz/${MY_PN}.git"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS=""
+
+IUSE="+winebridge"
+
+RDEPEND="
+ dev-qt/qtbase:6
+ dev-libs/libusb
+ dev-libs/mxml
+ media-libs/liblo
+ media-libs/opencv
+ virtual/opengl
+ winebridge? ( virtual/wine )
+"
+DEPEND="${RDEPEND}"
+
+src_configure() {
+ local mycmakeargs=(
+ -DBUILD_WINE_BRIDGE=$(usex winebridge)
+ )
+ cmake_src_configure
+}
+
+src_install() {
+ cmake_src_install
+
+ # Fix rpaths - These three have DT_RUNPATH='-Wl:/usr/lib' otherwise.
+ patchelf --set-rpath '$ORIGIN' "${ED}/usr/lib/linuxtrack/NPClient64.dll.so" || die 'Could not fix rpath'
+ patchelf --set-rpath '$ORIGIN' "${ED}/usr/lib/linuxtrack/NPClient64UDP.dll.so" || die 'Could not fix rpath'
+ patchelf --set-rpath '$ORIGIN' "${ED}/usr/lib/linuxtrack/Tester64.exe.so" || die 'Could not fix rpath'
+
+ # Move docs to corret location (CMakeLists.txt hard-codes /usr/share/doc/linuxtrack)
+ mv "${ED}/usr/share/doc/linuxtrack" "${ED}/usr/share/doc/${PN}-${PV}"
+}
+
+pkg_postinst() {
+ udev_reload
+}
+
+pkg_postrm() {
+ udev_reload
+}
diff --git a/games-util/linuxtrack-qt6-wayland/metadata.xml b/games-util/linuxtrack-qt6-wayland/metadata.xml
new file mode 100644
index 000000000000..795d27b25dd1
--- /dev/null
+++ b/games-util/linuxtrack-qt6-wayland/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM 'https://www.gentoo.org/dtd/metadata.dtd'>
+<pkgmetadata>
+ <maintainer type="person">
+ <email>ericanebula@proton.me</email>
+ <name>Erica Nebula</name>
+ </maintainer>
+ <upstream>
+ <bugs-to>https://github.com/StarTuz/linuxtrack-Qt6-Wayland/issues</bugs-to>
+ <changelog>https://github.com/StarTuz/linuxtrack-Qt6-Wayland/releases</changelog>
+ <remote-id type="github">StarTuz/linuxtrack-Qt6-Wayland</remote-id>
+ </upstream>
+ <use>
+ <flag name="winebridge">Build with Wine bridge support (for use with non-native games running under wine/proton)</flag>
+ </use>
+</pkgmetadata> \ No newline at end of file
diff --git a/games-util/loki_patch/Manifest b/games-util/loki_patch/Manifest
new file mode 100644
index 000000000000..d6777d541eda
--- /dev/null
+++ b/games-util/loki_patch/Manifest
@@ -0,0 +1,2 @@
+DIST loki_patch-20091105.tar.bz2 331725 BLAKE2B a3fa2e1c594d3484830527276ebd24f6e1c56f924b815fd3e2a12f802bccfd556017084a094508c531badd568158eb68fa3d608c30a55110de24410088fc5275 SHA512 9db40b1746ecf5603c09be3ddf01bf92cfc6b3d1c35ac7153751e1871840175c538af98c22f458658bcbebac65ccddccc1aee92a88300a243b8e68bda13ca323
+DIST loki_setupdb-20091105.tar.bz2 60725 BLAKE2B d3bed3d6b9123093b307f9c735f14c630f8ebfd2b228d6268cf97e8016ec83fa18b3b390e84facd42afe5d3f707bfb63a48e21a6b002a7d0583fdbde907567dc SHA512 ba55b24a6e2b2b6268dec9df8ec0581d852461b5c07ca97a24ebee3e55fe5764dffbbcfdb6b18a80677f2fae1e7701df4fbca0f6af8ef8050c662f5a39daf25d
diff --git a/games-util/loki_patch/files/loki_patch-20091105-build.patch b/games-util/loki_patch/files/loki_patch-20091105-build.patch
new file mode 100644
index 000000000000..e17007e57a75
--- /dev/null
+++ b/games-util/loki_patch/files/loki_patch-20091105-build.patch
@@ -0,0 +1,180 @@
+--- a/loki_patch/configure.in
++++ b/loki_patch/configure.in
+@@ -1,4 +1,4 @@
+-AC_INIT(README)
++AC_INIT(loki_patch, 1.0.2)
+
+ dnl Define the release numbers here
+
+@@ -10,13 +10,14 @@
+ AC_CANONICAL_HOST
+ AC_CANONICAL_TARGET
+
++AM_INIT_AUTOMAKE(foreign no-dependencies)
+ AC_PROG_CC
+ AC_PROG_MAKE_SET
+ AC_PROG_INSTALL
+
+ AC_CHECK_HEADERS(unistd.h)
+
+-CFLAGS="-fsigned-char -funroll-loops -Wall -g -O2"
++CFLAGS="$CFLAGS -fsigned-char -Wall"
+
+ case "$target" in
+ *i?86*)
+@@ -32,17 +33,12 @@
+ OS=`uname -s`
+
+ dnl Look for the XML libraries
++PKG_CHECK_MODULES(XML, libxml-2.0)
++AC_SUBST(XML_LIBS)
+
+-AC_PATH_PROG(HAVEXML, xml-config, $PATH)
+-if test ! -z "$HAVEXML"; then
+- XML_CFLAGS=`$HAVEXML --cflags`
+- XML_PREFIX=`$HAVEXML --prefix`
+-
+- CFLAGS="$CFLAGS $XML_CFLAGS"
+- LIBS="$LIBS $XML_PREFIX/lib/libxml.a"
+-else
+- AC_MSG_ERROR([*** xml-config not found. You need a working libxml installation.])
+-fi
++PKG_CHECK_MODULES(XDELTA, xdelta)
++AC_SUBST(XDELTA_CFLAGS)
++AC_SUBST(XDELTA_LIBS)
+
+ SETUPDB_VERSION=1.0.0
+ SETUPDB="`pwd`/../loki_setupdb-$SETUPDB_VERSION"
+@@ -57,14 +53,6 @@
+ SETUPDB=$with_setupdb
+ fi
+
+-dnl Check for correct setupdb installation
+-
+-if test -f $SETUPDB/$ARCH/libsetupdb.a; then
+- AC_MSG_RESULT([SetupDB library found in $SETUPDB/$ARCH])
+-else
+- AC_MSG_ERROR([*** Please compile setupdb first!])
+-fi
+-
+ CFLAGS="$CFLAGS -I$SETUPDB"
+
+ AC_SUBST(SETUPDB)
+--- a/loki_patch/loki_xdelta.c
++++ b/loki_patch/loki_xdelta.c
+@@ -49,7 +49,7 @@
+
+ #define LOKI_PATCH
+
+-#include "xdelta_inc/xdelta.h"
++#include <xdelta.h>
+
+ static HandleFuncTable xd_handle_table;
+
+--- a/dev/null
++++ b/loki_patch/Makefile.am
+@@ -0,0 +1,12 @@
++COMMONSRC = load_patch.c size_patch.c print_patch.c \
++ loki_xdelta.c mkdirhier.c log_output.c
++
++bin_PROGRAMS = make_patch loki_patch
++
++make_patch_SOURCES = $(COMMONSRC) make_patch.c tree_patch.c save_patch.c
++
++loki_patch_SOURCES = $(COMMONSRC) loki_patch.c apply_patch.c registry.c
++
++AM_CPPFLAGS = $(XDELTA_CFLAGS)
++
++LDADD = $(top_builddir)/../loki_setupdb/libsetupdb.a $(XDELTA_LIBS) $(XML_LIBS) -lz
+--- a/loki_setupdb/configure.in
++++ b/loki_setupdb/configure.in
+@@ -1,4 +1,4 @@
+-AC_INIT
++AC_INIT(setupdb, 1.6.5)
+ AC_CONFIG_HEADER(config.h)
+
+ dnl Define the release numbers here
+@@ -12,8 +12,7 @@
+ PACKAGE_VERSION="$SETUPDB_VERSION_MAJOR.$SETUPDB_VERSION_MINOR.$SETUPDB_VERSION_RELEASE"
+ PACKAGE_STRING="$PACKAGE_NAME v$PACKAGE_VERSION"
+
+-test "x$CFLAGS" = x && CFLAGS="-O2"
+-CFLAGS="$CFLAGS -fsigned-char -Wall -g -I."
++CFLAGS="$CFLAGS -fsigned-char -Wall"
+ REENTRANT="-D_REENTRANT"
+
+ if test -d /usr/codehost/lib; then
+@@ -33,9 +32,11 @@
+ AC_CANONICAL_HOST
+ AC_CANONICAL_TARGET
+
++AM_INIT_AUTOMAKE(foreign no-dependencies)
+ AC_PROG_CC
+ AC_PROG_MAKE_SET
+-AC_PATH_PROGS(AR, [ar gar])
++AM_PROG_AR
++AC_PROG_RANLIB
+
+ AC_CHECK_HEADERS(unistd.h)
+ AC_CHECK_HEADERS(strings.h)
+@@ -128,7 +129,7 @@
+
+ AC_CHECK_FUNCS(getopt, , GETOPT_C="getopt.c")
+ AC_CHECK_FUNCS(getopt_long, , GETOPT_C="getopt.c")
+-AC_CHECK_LIB(gnugetopt, getopt_long, LIBS="$LIBS $BSTATIC -lgnugetopt"; GETOPT_C="")
++AC_CHECK_LIB(gnugetopt, getopt_long, LIBS="$LIBS -lgnugetopt"; GETOPT_C="")
+
+ AC_SUBST(ARCH)
+ AC_SUBST(STATIC)
+@@ -139,37 +140,8 @@
+
+ dnl Look for the XML libraries
+
+-XMLVER=""
+-AC_ARG_WITH(libxml2,
+-[ --with-libxml2 use libxml2 [default=libxml1]],
+- , with_libxml2=no)
+-if test x$with_libxml2 != xno; then
+- XMLVER="2"
+-fi
+-
+-AC_PATH_PROG(HAVEXML, xml${XMLVER}-config, $PATH)
+-if test ! -z "$HAVEXML"; then
+- XML_CFLAGS=`$HAVEXML --cflags`
+- XML_PREFIX=`$HAVEXML --prefix`
+-
+- if "$HAVEXML" --help|grep libtool-libs > /dev/null; then
+- XML_LIBTOOL=`$HAVEXML --libtool-libs`
+- if test -f "$XML_LIBTOOL"; then
+- . "$XML_LIBTOOL"
+- XML_LIBS="$dependency_libs"
+- else
+- XML_LIBS="-lm"
+- fi
+- elif "$HAVEXML" --libs | grep thread > /dev/null; then
+- XML_LIBS="$PTHREAD -lm"
+- fi
+- EXTRA_LIBS="$EXTRA_LIBS $XML_LIBS"
+-
+- CFLAGS="$CFLAGS $XML_CFLAGS"
+- LIBS="$LIBS $XML_PREFIX/lib$LIBSUFFIX/libxml${XMLVER}.a $BSTATIC $ZLIB $BDYNAMIC $EXTRA_LIBS"
+-else
+- AC_MSG_ERROR([*** xml-config not found. You need a working libxml installation.])
+-fi
++PKG_CHECK_MODULES(XML, libxml-2.0)
++AC_SUBST(XML_CFLAGS)
+
+ AC_ARG_WITH(vendor,
+ [ --with-vendor with specified vendor prefix [default=loki]],
+--- a/dev/null
++++ b/loki_setupdb/Makefile.am
+@@ -0,0 +1,9 @@
++noinst_LIBRARIES = libsetupdb.a
++
++libsetupdb_a_SOURCES = \
++ arch.c brandelf.c convert.c md5.c register.c setupdb.c
++
++libsetupdb_a_CPPFLAGS = \
++ -DSETUPDB_VERSION_MAJOR=$(SETUPDB_VERSION_MAJOR) \
++ -DSETUPDB_VERSION_MINOR=$(SETUPDB_VERSION_MINOR) \
++ $(XML_CFLAGS)
diff --git a/games-util/loki_patch/files/loki_patch-20091105-patchdata.patch b/games-util/loki_patch/files/loki_patch-20091105-patchdata.patch
new file mode 100644
index 000000000000..403c24ed79f9
--- /dev/null
+++ b/games-util/loki_patch/files/loki_patch-20091105-patchdata.patch
@@ -0,0 +1,11 @@
+--- a/loki_patch/load_patch.c
++++ b/loki_patch/load_patch.c
+@@ -8,7 +8,7 @@
+ #include "load_patch.h"
+ #include "log_output.h"
+
+-#define BASE "patchdata"
++#define BASE "data"
+
+
+ int load_add_file(FILE *file, int *line_num, const char *dst, loki_patch *patch)
diff --git a/games-util/loki_patch/files/loki_patch-20091105-xdelta-gzip.patch b/games-util/loki_patch/files/loki_patch-20091105-xdelta-gzip.patch
new file mode 100644
index 000000000000..ec4eeb758a3a
--- /dev/null
+++ b/games-util/loki_patch/files/loki_patch-20091105-xdelta-gzip.patch
@@ -0,0 +1,44 @@
+--- a/loki_patch/loki_xdelta.c
++++ b/loki_patch/loki_xdelta.c
+@@ -179,6 +179,7 @@ struct _XdFileHandle
+ guint narrow_high;
+ guint current_pos;
+ FILE* in;
++ gzFile zin;
+ gboolean (* in_read) (XdFileHandle* handle, void* buf, gint nbyte);
+ gboolean (* in_close) (XdFileHandle* handle);
+ gboolean in_compressed;
+@@ -520,7 +521,7 @@ xd_gzwrite (XdFileHandle* fh, const void* buf, gint nbyte)
+ static gboolean
+ xd_gzread (XdFileHandle* fh, void* buf, gint nbyte)
+ {
+- return gzread (fh->in, buf, nbyte) == nbyte;
++ return gzread (fh->zin, buf, nbyte) == nbyte;
+ }
+
+ static gboolean
+@@ -532,7 +533,7 @@ xd_gzclose (XdFileHandle* fh)
+ static gboolean
+ xd_gzrclose (XdFileHandle* fh)
+ {
+- return gzclose (fh->in) == Z_OK;
++ return gzclose (fh->zin) == Z_OK;
+ }
+
+ static void
+@@ -1022,13 +1023,13 @@ xd_handle_narrow (XdFileHandle* fh, guint low, guint high, gboolean compressed)
+ }
+
+ g_assert (fh->fd >= 0);
+- fh->in = gzdopen (dup (fh->fd), "rb");
++ fh->zin = gzdopen (dup (fh->fd), "rb");
+ fh->in_read = &xd_gzread;
+ fh->in_close = &xd_gzrclose;
+ fh->in_compressed = TRUE;
+ fh->current_pos = 0;
+
+- if (! fh->in)
++ if (! fh->zin)
+ {
+ xd_error ("gzdopen failed: %s\n", g_strerror (errno));
+ return -1;
diff --git a/games-util/loki_patch/loki_patch-20091105-r2.ebuild b/games-util/loki_patch/loki_patch-20091105-r2.ebuild
new file mode 100644
index 000000000000..ac184adcdbd1
--- /dev/null
+++ b/games-util/loki_patch/loki_patch-20091105-r2.ebuild
@@ -0,0 +1,61 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+DESCRIPTION="Loki Software binary patch tool"
+HOMEPAGE="https://github.com/icculus/loki_patch"
+SRC_URI="
+ mirror://gentoo/${P}.tar.bz2
+ mirror://gentoo/loki_setupdb-${PV}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="
+ dev-util/xdelta:0
+ dev-libs/libxml2:=
+ dev-libs/glib:2"
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+S="${WORKDIR}"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-build.patch
+ "${FILESDIR}"/${P}-patchdata.patch
+ "${FILESDIR}"/${P}-xdelta-gzip.patch
+)
+
+src_prepare() {
+ default
+
+ cd loki_setupdb || die
+ mv configure.{in,ac} || die
+ eautoreconf
+
+ cd "${S}"/${PN} || die
+ mv configure.{in,ac} || die
+ eautoreconf
+}
+
+src_configure() {
+ cd loki_setupdb || die
+ econf
+ cd "${S}"/${PN} || die
+ econf
+}
+
+src_compile() {
+ emake -C loki_setupdb
+ emake -C loki_patch
+}
+
+src_install() {
+ cd ${PN} || die
+ dobin loki_patch make_patch
+ dodoc CHANGES NOTES README TODO
+}
diff --git a/games-util/loki_patch/metadata.xml b/games-util/loki_patch/metadata.xml
new file mode 100644
index 000000000000..5b4310eed8d7
--- /dev/null
+++ b/games-util/loki_patch/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>games@gentoo.org</email>
+ <name>Gentoo Games Project</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">icculus/loki_patch</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/games-util/lutris/Manifest b/games-util/lutris/Manifest
new file mode 100644
index 000000000000..132085cea32a
--- /dev/null
+++ b/games-util/lutris/Manifest
@@ -0,0 +1,3 @@
+DIST lutris-0.5.19.gh.tar.gz 1846842 BLAKE2B 6415a7bf6fe2f548e695a5f7a7298f91b15ba8efb7b78ce963366ffe8fc2c4749f2f7d90fc7e24a8470562d776efbd2a7a04bb1d2d40cfbaae0f39b9cbf64170 SHA512 43459c1eaa138c4c33cd306d072779c44be418492df7f9083c690fb3c6e01a7a41ea349e5ff0f85359345e6cc1573b8b4875b79241c77ea099bb485d523d2fdf
+DIST lutris-0.5.20.gh.tar.gz 2134348 BLAKE2B ca5df3f7a2127ce132d80b198061cf25136062538477e244ffc362af6ae3bff6a721fd42c6ef7042718190807d9538d28630a815580a0e5e008f5e282112f9d6 SHA512 2dcd30a059ce7ec800174d864c6f06975b0657b274a1985d65e809d6ee5a523546a763561bb4c2a078ba13567d73e92437b9e4f1faa38631a29dce80c820cf42
+DIST lutris-0.5.22.gh.tar.gz 2208777 BLAKE2B 8f47e6035631b6a3756d6a2c7adeaec36327594ffd3c4a1e71a1d1419f4c72ae28872377fa91165ce7f58a593577c3184c5777af761ef75a163211f8be5ca9d1 SHA512 eef9dbe8d246e17b3a3f62bde02d0af889daeb8d1c1fbaa53e09ab6fc21893d002ad9954024e7d4cb2279885768819a77acfa516107b527c5038702eb799b23a
diff --git a/games-util/lutris/lutris-0.5.19-r1.ebuild b/games-util/lutris/lutris-0.5.19-r1.ebuild
new file mode 100644
index 000000000000..32292d7c1e8b
--- /dev/null
+++ b/games-util/lutris/lutris-0.5.19-r1.ebuild
@@ -0,0 +1,159 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{13..14} )
+PYTHON_REQ_USE="sqlite,threads(+)"
+
+inherit meson python-single-r1 optfeature virtualx xdg
+
+DESCRIPTION="An open source gaming platform for GNU/Linux"
+HOMEPAGE="https://lutris.net/"
+
+if [[ ${PV} == *9999* ]] ; then
+ EGIT_REPO_URI="https://github.com/lutris/lutris.git"
+ inherit git-r3
+else
+ SRC_URI="https://github.com/lutris/lutris/archive/refs/tags/v${PV/_/-}.tar.gz -> ${P}.gh.tar.gz"
+ S="${WORKDIR}"/${P/_/-}
+ if [[ ${PV} != *_beta* ]] ; then
+ KEYWORDS="~amd64 ~x86"
+ fi
+fi
+
+LICENSE="GPL-3+ CC0-1.0"
+SLOT="0"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RDEPEND="
+ ${PYTHON_DEPS}
+ app-arch/cabextract
+ || (
+ >=app-arch/7zip-24.09[symlink(+)]
+ app-arch/p7zip
+ )
+ app-arch/unzip
+ $(python_gen_cond_dep '
+ dev-python/certifi[${PYTHON_USEDEP}]
+ dev-python/dbus-python[${PYTHON_USEDEP}]
+ dev-python/distro[${PYTHON_USEDEP}]
+ dev-python/evdev[${PYTHON_USEDEP}]
+ dev-python/lxml[${PYTHON_USEDEP}]
+ dev-python/pillow[${PYTHON_USEDEP}]
+ dev-python/setproctitle[${PYTHON_USEDEP}]
+ dev-python/pygobject:3[cairo,${PYTHON_USEDEP}]
+ dev-python/pypresence[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/protobuf[${PYTHON_USEDEP}]
+ dev-python/moddb[${PYTHON_USEDEP}]
+ ')
+ media-sound/fluid-soundfont
+ net-libs/webkit-gtk:4.1[introspection]
+ sys-apps/pciutils
+ sys-apps/xdg-desktop-portal
+ x11-apps/mesa-progs
+ x11-apps/xgamma
+ x11-apps/xrandr
+ x11-libs/gtk+:3[introspection]
+ x11-libs/gdk-pixbuf[jpeg]
+"
+
+BDEPEND="
+ test? (
+ $(python_gen_cond_dep '
+ dev-python/pytest[${PYTHON_USEDEP}]
+ ')
+ )
+"
+
+DOCS=( AUTHORS README.rst docs/installers.rst docs/steam.rst )
+
+EPYTEST_IGNORE=(
+ # Requires a Nvidia GPU and driver
+ tests/util/graphics/test_drivers.py
+)
+
+src_test() {
+ meson_src_test
+ virtx epytest
+}
+
+src_install() {
+ meson_src_install
+ python_optimize
+ python_fix_shebang "${ED}/usr/" #740048
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+
+ optfeature "playing various games through Valve's Steam launcher (available in Steam overlay)" games-util/steam-launcher
+ optfeature "playing games through Valve's micro-compositor" gui-wm/gamescope
+ optfeature "playing games inside a nested X server" x11-base/xorg-server[xephyr]
+ optfeature "installing and playing games from Flathub" sys-apps/flatpak
+ optfeature "playing Microsoft Windows games" virtual/wine
+ optfeature "playing DirectX based games by translating DirectX to Vulkan" "media-libs/vulkan-loader dev-util/vulkan-tools app-emulation/dxvk virtual/wine"
+ optfeature "playing Vulkan based games (plus ICD for your hardware)" "media-libs/vulkan-loader dev-util/vulkan-tools"
+ optfeature "a Vulkan and OpenGL overlay for monitoring system performance (available in GURU overlay)" games-util/mangohud
+ elog
+
+ optfeature_header "${PN} supports various emulators and compatibility layers. \n${PN} can download and install these by itself, but also supports using system-wide installed versions"
+ optfeature "playing games through x86 PC emulator" app-emulation/86Box
+ # TODO: Package Adventure Game Studio runner
+ optfeature "playing Atari 800 games through an emulator" games-emulation/atari800
+ # TODO: Package Basilisk II Mac emulator
+ # TODO: Package Wii U emulator
+ optfeature "playing Nintendo 3DS games through an emulator (available in GURU overlay)" games-emulation/citra
+ # TODO: Package ColecoVision/Coleco Adam emulator
+ optfeature "playing Nintendo DS games through an emulator" games-emulation/desmume
+ optfeature "playing Sega Genesis games through an emulator" games-emulation/dgen-sdl
+ optfeature "playing GameCube and Wii games through an emulator" games-emulation/dolphin
+ optfeature "playing DOS games through an emulator" games-emulation/dosbox
+ optfeature "playing RPG Maker 2000/2003 games (available in GURU overlay)" games-engines/easyrpg-player
+ optfeature "playing Z-code based text games" games-engines/frotz
+ optfeature "playing Amiga games through an emulator" app-emulation/fs-uae
+ optfeature "playing Atari ST games through an emulator" games-emulation/hatari
+ # TODO: Package Intellivision emulator
+ optfeature "playing games through various emulators" games-emulation/libretro-info
+ optfeature "playing Arcade games through an emulator" games-emulation/advancemame
+ optfeature "playing games through various emulators" games-emulation/mednafen
+ optfeature "playing Nintendo DS games through an emulator" games-emulation/melonds
+ # TODO: Package mGBA
+ # TODO: Package MicroM8 Apple II emulator
+ # TODO: Package Mini vMac emulator
+ optfeature "playing Nintendo 64 games through an emulator" games-emulation/mupen64plus
+ # TODO: Package O2Em emulator
+ # TODO: Package Sega Master System emulator
+ optfeature "playing IBM PC games through an emulator" app-emulation/pcem
+ optfeature "playing Sony PlayStation 2 games through an emulator" games-emulation/pcsx2
+ optfeature "playing various fantasy games" dev-lang/pico8
+ optfeature "playing Sony PlayStation Portable games through an emulator" games-emulation/ppsspp
+ # TODO: Package SEGA Dreamcast emulator redream
+ # TODO: Package SEGA Dreamcast emulator reicast
+ # TODO: Package Rosalie's Mupen GUI
+ optfeature "playing Sony PlayStation 3 games through an emulator (available in GURU overlay)" games-emulation/rpcs3
+ optfeature "playing Adobe Flash Player games through an emulator" app-emulation/ruffle
+ # TODO: Package Nintendo Switch emulator
+ optfeature "playing Lucasarts adventure games" games-engines/scummvm
+ # TODO: Package PowerMacintosh emulator
+ optfeature "playing Super Nintendo (SNES) games through an emulator" games-emulation/snes9x
+ # TODO: Package Sinclair ZX Spectrum emulator
+ optfeature "playing Atari 2600 VCS games through an emulator" games-emulation/stella
+ # TODO: Package TIC-80 tiny computer
+ optfeature "playing Commodore games through an emulator" app-emulation/vice
+ # TODO: Package Atari Jaguar emulator
+ # TODO: Package Vita3K PS Vita emulator
+ # TODO: Package runner for HTML5 web games
+ # TODO: Package Xbox emulator
+ optfeature "playing Nintendo Switch games through an emulator (available in GURU overlay)" games-emulation/yuzu
+ optfeature "playing DOOM games" games-engines/uzdoom
+
+ # Quote README.rst
+ elog
+ elog "Lutris installations are fully automated through scripts, which can"
+ elog "be written in either JSON or YAML. The scripting syntax is described"
+ elog "in ${EROOT}/usr/share/doc/${PF}/installers.rst.bz2, and is also"
+ elog "available online at lutris.net."
+}
diff --git a/games-util/lutris/lutris-0.5.20-r1.ebuild b/games-util/lutris/lutris-0.5.20-r1.ebuild
new file mode 100644
index 000000000000..32292d7c1e8b
--- /dev/null
+++ b/games-util/lutris/lutris-0.5.20-r1.ebuild
@@ -0,0 +1,159 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{13..14} )
+PYTHON_REQ_USE="sqlite,threads(+)"
+
+inherit meson python-single-r1 optfeature virtualx xdg
+
+DESCRIPTION="An open source gaming platform for GNU/Linux"
+HOMEPAGE="https://lutris.net/"
+
+if [[ ${PV} == *9999* ]] ; then
+ EGIT_REPO_URI="https://github.com/lutris/lutris.git"
+ inherit git-r3
+else
+ SRC_URI="https://github.com/lutris/lutris/archive/refs/tags/v${PV/_/-}.tar.gz -> ${P}.gh.tar.gz"
+ S="${WORKDIR}"/${P/_/-}
+ if [[ ${PV} != *_beta* ]] ; then
+ KEYWORDS="~amd64 ~x86"
+ fi
+fi
+
+LICENSE="GPL-3+ CC0-1.0"
+SLOT="0"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RDEPEND="
+ ${PYTHON_DEPS}
+ app-arch/cabextract
+ || (
+ >=app-arch/7zip-24.09[symlink(+)]
+ app-arch/p7zip
+ )
+ app-arch/unzip
+ $(python_gen_cond_dep '
+ dev-python/certifi[${PYTHON_USEDEP}]
+ dev-python/dbus-python[${PYTHON_USEDEP}]
+ dev-python/distro[${PYTHON_USEDEP}]
+ dev-python/evdev[${PYTHON_USEDEP}]
+ dev-python/lxml[${PYTHON_USEDEP}]
+ dev-python/pillow[${PYTHON_USEDEP}]
+ dev-python/setproctitle[${PYTHON_USEDEP}]
+ dev-python/pygobject:3[cairo,${PYTHON_USEDEP}]
+ dev-python/pypresence[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/protobuf[${PYTHON_USEDEP}]
+ dev-python/moddb[${PYTHON_USEDEP}]
+ ')
+ media-sound/fluid-soundfont
+ net-libs/webkit-gtk:4.1[introspection]
+ sys-apps/pciutils
+ sys-apps/xdg-desktop-portal
+ x11-apps/mesa-progs
+ x11-apps/xgamma
+ x11-apps/xrandr
+ x11-libs/gtk+:3[introspection]
+ x11-libs/gdk-pixbuf[jpeg]
+"
+
+BDEPEND="
+ test? (
+ $(python_gen_cond_dep '
+ dev-python/pytest[${PYTHON_USEDEP}]
+ ')
+ )
+"
+
+DOCS=( AUTHORS README.rst docs/installers.rst docs/steam.rst )
+
+EPYTEST_IGNORE=(
+ # Requires a Nvidia GPU and driver
+ tests/util/graphics/test_drivers.py
+)
+
+src_test() {
+ meson_src_test
+ virtx epytest
+}
+
+src_install() {
+ meson_src_install
+ python_optimize
+ python_fix_shebang "${ED}/usr/" #740048
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+
+ optfeature "playing various games through Valve's Steam launcher (available in Steam overlay)" games-util/steam-launcher
+ optfeature "playing games through Valve's micro-compositor" gui-wm/gamescope
+ optfeature "playing games inside a nested X server" x11-base/xorg-server[xephyr]
+ optfeature "installing and playing games from Flathub" sys-apps/flatpak
+ optfeature "playing Microsoft Windows games" virtual/wine
+ optfeature "playing DirectX based games by translating DirectX to Vulkan" "media-libs/vulkan-loader dev-util/vulkan-tools app-emulation/dxvk virtual/wine"
+ optfeature "playing Vulkan based games (plus ICD for your hardware)" "media-libs/vulkan-loader dev-util/vulkan-tools"
+ optfeature "a Vulkan and OpenGL overlay for monitoring system performance (available in GURU overlay)" games-util/mangohud
+ elog
+
+ optfeature_header "${PN} supports various emulators and compatibility layers. \n${PN} can download and install these by itself, but also supports using system-wide installed versions"
+ optfeature "playing games through x86 PC emulator" app-emulation/86Box
+ # TODO: Package Adventure Game Studio runner
+ optfeature "playing Atari 800 games through an emulator" games-emulation/atari800
+ # TODO: Package Basilisk II Mac emulator
+ # TODO: Package Wii U emulator
+ optfeature "playing Nintendo 3DS games through an emulator (available in GURU overlay)" games-emulation/citra
+ # TODO: Package ColecoVision/Coleco Adam emulator
+ optfeature "playing Nintendo DS games through an emulator" games-emulation/desmume
+ optfeature "playing Sega Genesis games through an emulator" games-emulation/dgen-sdl
+ optfeature "playing GameCube and Wii games through an emulator" games-emulation/dolphin
+ optfeature "playing DOS games through an emulator" games-emulation/dosbox
+ optfeature "playing RPG Maker 2000/2003 games (available in GURU overlay)" games-engines/easyrpg-player
+ optfeature "playing Z-code based text games" games-engines/frotz
+ optfeature "playing Amiga games through an emulator" app-emulation/fs-uae
+ optfeature "playing Atari ST games through an emulator" games-emulation/hatari
+ # TODO: Package Intellivision emulator
+ optfeature "playing games through various emulators" games-emulation/libretro-info
+ optfeature "playing Arcade games through an emulator" games-emulation/advancemame
+ optfeature "playing games through various emulators" games-emulation/mednafen
+ optfeature "playing Nintendo DS games through an emulator" games-emulation/melonds
+ # TODO: Package mGBA
+ # TODO: Package MicroM8 Apple II emulator
+ # TODO: Package Mini vMac emulator
+ optfeature "playing Nintendo 64 games through an emulator" games-emulation/mupen64plus
+ # TODO: Package O2Em emulator
+ # TODO: Package Sega Master System emulator
+ optfeature "playing IBM PC games through an emulator" app-emulation/pcem
+ optfeature "playing Sony PlayStation 2 games through an emulator" games-emulation/pcsx2
+ optfeature "playing various fantasy games" dev-lang/pico8
+ optfeature "playing Sony PlayStation Portable games through an emulator" games-emulation/ppsspp
+ # TODO: Package SEGA Dreamcast emulator redream
+ # TODO: Package SEGA Dreamcast emulator reicast
+ # TODO: Package Rosalie's Mupen GUI
+ optfeature "playing Sony PlayStation 3 games through an emulator (available in GURU overlay)" games-emulation/rpcs3
+ optfeature "playing Adobe Flash Player games through an emulator" app-emulation/ruffle
+ # TODO: Package Nintendo Switch emulator
+ optfeature "playing Lucasarts adventure games" games-engines/scummvm
+ # TODO: Package PowerMacintosh emulator
+ optfeature "playing Super Nintendo (SNES) games through an emulator" games-emulation/snes9x
+ # TODO: Package Sinclair ZX Spectrum emulator
+ optfeature "playing Atari 2600 VCS games through an emulator" games-emulation/stella
+ # TODO: Package TIC-80 tiny computer
+ optfeature "playing Commodore games through an emulator" app-emulation/vice
+ # TODO: Package Atari Jaguar emulator
+ # TODO: Package Vita3K PS Vita emulator
+ # TODO: Package runner for HTML5 web games
+ # TODO: Package Xbox emulator
+ optfeature "playing Nintendo Switch games through an emulator (available in GURU overlay)" games-emulation/yuzu
+ optfeature "playing DOOM games" games-engines/uzdoom
+
+ # Quote README.rst
+ elog
+ elog "Lutris installations are fully automated through scripts, which can"
+ elog "be written in either JSON or YAML. The scripting syntax is described"
+ elog "in ${EROOT}/usr/share/doc/${PF}/installers.rst.bz2, and is also"
+ elog "available online at lutris.net."
+}
diff --git a/games-util/lutris/lutris-0.5.22-r1.ebuild b/games-util/lutris/lutris-0.5.22-r1.ebuild
new file mode 100644
index 000000000000..32292d7c1e8b
--- /dev/null
+++ b/games-util/lutris/lutris-0.5.22-r1.ebuild
@@ -0,0 +1,159 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{13..14} )
+PYTHON_REQ_USE="sqlite,threads(+)"
+
+inherit meson python-single-r1 optfeature virtualx xdg
+
+DESCRIPTION="An open source gaming platform for GNU/Linux"
+HOMEPAGE="https://lutris.net/"
+
+if [[ ${PV} == *9999* ]] ; then
+ EGIT_REPO_URI="https://github.com/lutris/lutris.git"
+ inherit git-r3
+else
+ SRC_URI="https://github.com/lutris/lutris/archive/refs/tags/v${PV/_/-}.tar.gz -> ${P}.gh.tar.gz"
+ S="${WORKDIR}"/${P/_/-}
+ if [[ ${PV} != *_beta* ]] ; then
+ KEYWORDS="~amd64 ~x86"
+ fi
+fi
+
+LICENSE="GPL-3+ CC0-1.0"
+SLOT="0"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RDEPEND="
+ ${PYTHON_DEPS}
+ app-arch/cabextract
+ || (
+ >=app-arch/7zip-24.09[symlink(+)]
+ app-arch/p7zip
+ )
+ app-arch/unzip
+ $(python_gen_cond_dep '
+ dev-python/certifi[${PYTHON_USEDEP}]
+ dev-python/dbus-python[${PYTHON_USEDEP}]
+ dev-python/distro[${PYTHON_USEDEP}]
+ dev-python/evdev[${PYTHON_USEDEP}]
+ dev-python/lxml[${PYTHON_USEDEP}]
+ dev-python/pillow[${PYTHON_USEDEP}]
+ dev-python/setproctitle[${PYTHON_USEDEP}]
+ dev-python/pygobject:3[cairo,${PYTHON_USEDEP}]
+ dev-python/pypresence[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/protobuf[${PYTHON_USEDEP}]
+ dev-python/moddb[${PYTHON_USEDEP}]
+ ')
+ media-sound/fluid-soundfont
+ net-libs/webkit-gtk:4.1[introspection]
+ sys-apps/pciutils
+ sys-apps/xdg-desktop-portal
+ x11-apps/mesa-progs
+ x11-apps/xgamma
+ x11-apps/xrandr
+ x11-libs/gtk+:3[introspection]
+ x11-libs/gdk-pixbuf[jpeg]
+"
+
+BDEPEND="
+ test? (
+ $(python_gen_cond_dep '
+ dev-python/pytest[${PYTHON_USEDEP}]
+ ')
+ )
+"
+
+DOCS=( AUTHORS README.rst docs/installers.rst docs/steam.rst )
+
+EPYTEST_IGNORE=(
+ # Requires a Nvidia GPU and driver
+ tests/util/graphics/test_drivers.py
+)
+
+src_test() {
+ meson_src_test
+ virtx epytest
+}
+
+src_install() {
+ meson_src_install
+ python_optimize
+ python_fix_shebang "${ED}/usr/" #740048
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+
+ optfeature "playing various games through Valve's Steam launcher (available in Steam overlay)" games-util/steam-launcher
+ optfeature "playing games through Valve's micro-compositor" gui-wm/gamescope
+ optfeature "playing games inside a nested X server" x11-base/xorg-server[xephyr]
+ optfeature "installing and playing games from Flathub" sys-apps/flatpak
+ optfeature "playing Microsoft Windows games" virtual/wine
+ optfeature "playing DirectX based games by translating DirectX to Vulkan" "media-libs/vulkan-loader dev-util/vulkan-tools app-emulation/dxvk virtual/wine"
+ optfeature "playing Vulkan based games (plus ICD for your hardware)" "media-libs/vulkan-loader dev-util/vulkan-tools"
+ optfeature "a Vulkan and OpenGL overlay for monitoring system performance (available in GURU overlay)" games-util/mangohud
+ elog
+
+ optfeature_header "${PN} supports various emulators and compatibility layers. \n${PN} can download and install these by itself, but also supports using system-wide installed versions"
+ optfeature "playing games through x86 PC emulator" app-emulation/86Box
+ # TODO: Package Adventure Game Studio runner
+ optfeature "playing Atari 800 games through an emulator" games-emulation/atari800
+ # TODO: Package Basilisk II Mac emulator
+ # TODO: Package Wii U emulator
+ optfeature "playing Nintendo 3DS games through an emulator (available in GURU overlay)" games-emulation/citra
+ # TODO: Package ColecoVision/Coleco Adam emulator
+ optfeature "playing Nintendo DS games through an emulator" games-emulation/desmume
+ optfeature "playing Sega Genesis games through an emulator" games-emulation/dgen-sdl
+ optfeature "playing GameCube and Wii games through an emulator" games-emulation/dolphin
+ optfeature "playing DOS games through an emulator" games-emulation/dosbox
+ optfeature "playing RPG Maker 2000/2003 games (available in GURU overlay)" games-engines/easyrpg-player
+ optfeature "playing Z-code based text games" games-engines/frotz
+ optfeature "playing Amiga games through an emulator" app-emulation/fs-uae
+ optfeature "playing Atari ST games through an emulator" games-emulation/hatari
+ # TODO: Package Intellivision emulator
+ optfeature "playing games through various emulators" games-emulation/libretro-info
+ optfeature "playing Arcade games through an emulator" games-emulation/advancemame
+ optfeature "playing games through various emulators" games-emulation/mednafen
+ optfeature "playing Nintendo DS games through an emulator" games-emulation/melonds
+ # TODO: Package mGBA
+ # TODO: Package MicroM8 Apple II emulator
+ # TODO: Package Mini vMac emulator
+ optfeature "playing Nintendo 64 games through an emulator" games-emulation/mupen64plus
+ # TODO: Package O2Em emulator
+ # TODO: Package Sega Master System emulator
+ optfeature "playing IBM PC games through an emulator" app-emulation/pcem
+ optfeature "playing Sony PlayStation 2 games through an emulator" games-emulation/pcsx2
+ optfeature "playing various fantasy games" dev-lang/pico8
+ optfeature "playing Sony PlayStation Portable games through an emulator" games-emulation/ppsspp
+ # TODO: Package SEGA Dreamcast emulator redream
+ # TODO: Package SEGA Dreamcast emulator reicast
+ # TODO: Package Rosalie's Mupen GUI
+ optfeature "playing Sony PlayStation 3 games through an emulator (available in GURU overlay)" games-emulation/rpcs3
+ optfeature "playing Adobe Flash Player games through an emulator" app-emulation/ruffle
+ # TODO: Package Nintendo Switch emulator
+ optfeature "playing Lucasarts adventure games" games-engines/scummvm
+ # TODO: Package PowerMacintosh emulator
+ optfeature "playing Super Nintendo (SNES) games through an emulator" games-emulation/snes9x
+ # TODO: Package Sinclair ZX Spectrum emulator
+ optfeature "playing Atari 2600 VCS games through an emulator" games-emulation/stella
+ # TODO: Package TIC-80 tiny computer
+ optfeature "playing Commodore games through an emulator" app-emulation/vice
+ # TODO: Package Atari Jaguar emulator
+ # TODO: Package Vita3K PS Vita emulator
+ # TODO: Package runner for HTML5 web games
+ # TODO: Package Xbox emulator
+ optfeature "playing Nintendo Switch games through an emulator (available in GURU overlay)" games-emulation/yuzu
+ optfeature "playing DOOM games" games-engines/uzdoom
+
+ # Quote README.rst
+ elog
+ elog "Lutris installations are fully automated through scripts, which can"
+ elog "be written in either JSON or YAML. The scripting syntax is described"
+ elog "in ${EROOT}/usr/share/doc/${PF}/installers.rst.bz2, and is also"
+ elog "available online at lutris.net."
+}
diff --git a/games-util/lutris/lutris-9999.ebuild b/games-util/lutris/lutris-9999.ebuild
new file mode 100644
index 000000000000..32292d7c1e8b
--- /dev/null
+++ b/games-util/lutris/lutris-9999.ebuild
@@ -0,0 +1,159 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{13..14} )
+PYTHON_REQ_USE="sqlite,threads(+)"
+
+inherit meson python-single-r1 optfeature virtualx xdg
+
+DESCRIPTION="An open source gaming platform for GNU/Linux"
+HOMEPAGE="https://lutris.net/"
+
+if [[ ${PV} == *9999* ]] ; then
+ EGIT_REPO_URI="https://github.com/lutris/lutris.git"
+ inherit git-r3
+else
+ SRC_URI="https://github.com/lutris/lutris/archive/refs/tags/v${PV/_/-}.tar.gz -> ${P}.gh.tar.gz"
+ S="${WORKDIR}"/${P/_/-}
+ if [[ ${PV} != *_beta* ]] ; then
+ KEYWORDS="~amd64 ~x86"
+ fi
+fi
+
+LICENSE="GPL-3+ CC0-1.0"
+SLOT="0"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RDEPEND="
+ ${PYTHON_DEPS}
+ app-arch/cabextract
+ || (
+ >=app-arch/7zip-24.09[symlink(+)]
+ app-arch/p7zip
+ )
+ app-arch/unzip
+ $(python_gen_cond_dep '
+ dev-python/certifi[${PYTHON_USEDEP}]
+ dev-python/dbus-python[${PYTHON_USEDEP}]
+ dev-python/distro[${PYTHON_USEDEP}]
+ dev-python/evdev[${PYTHON_USEDEP}]
+ dev-python/lxml[${PYTHON_USEDEP}]
+ dev-python/pillow[${PYTHON_USEDEP}]
+ dev-python/setproctitle[${PYTHON_USEDEP}]
+ dev-python/pygobject:3[cairo,${PYTHON_USEDEP}]
+ dev-python/pypresence[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/protobuf[${PYTHON_USEDEP}]
+ dev-python/moddb[${PYTHON_USEDEP}]
+ ')
+ media-sound/fluid-soundfont
+ net-libs/webkit-gtk:4.1[introspection]
+ sys-apps/pciutils
+ sys-apps/xdg-desktop-portal
+ x11-apps/mesa-progs
+ x11-apps/xgamma
+ x11-apps/xrandr
+ x11-libs/gtk+:3[introspection]
+ x11-libs/gdk-pixbuf[jpeg]
+"
+
+BDEPEND="
+ test? (
+ $(python_gen_cond_dep '
+ dev-python/pytest[${PYTHON_USEDEP}]
+ ')
+ )
+"
+
+DOCS=( AUTHORS README.rst docs/installers.rst docs/steam.rst )
+
+EPYTEST_IGNORE=(
+ # Requires a Nvidia GPU and driver
+ tests/util/graphics/test_drivers.py
+)
+
+src_test() {
+ meson_src_test
+ virtx epytest
+}
+
+src_install() {
+ meson_src_install
+ python_optimize
+ python_fix_shebang "${ED}/usr/" #740048
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+
+ optfeature "playing various games through Valve's Steam launcher (available in Steam overlay)" games-util/steam-launcher
+ optfeature "playing games through Valve's micro-compositor" gui-wm/gamescope
+ optfeature "playing games inside a nested X server" x11-base/xorg-server[xephyr]
+ optfeature "installing and playing games from Flathub" sys-apps/flatpak
+ optfeature "playing Microsoft Windows games" virtual/wine
+ optfeature "playing DirectX based games by translating DirectX to Vulkan" "media-libs/vulkan-loader dev-util/vulkan-tools app-emulation/dxvk virtual/wine"
+ optfeature "playing Vulkan based games (plus ICD for your hardware)" "media-libs/vulkan-loader dev-util/vulkan-tools"
+ optfeature "a Vulkan and OpenGL overlay for monitoring system performance (available in GURU overlay)" games-util/mangohud
+ elog
+
+ optfeature_header "${PN} supports various emulators and compatibility layers. \n${PN} can download and install these by itself, but also supports using system-wide installed versions"
+ optfeature "playing games through x86 PC emulator" app-emulation/86Box
+ # TODO: Package Adventure Game Studio runner
+ optfeature "playing Atari 800 games through an emulator" games-emulation/atari800
+ # TODO: Package Basilisk II Mac emulator
+ # TODO: Package Wii U emulator
+ optfeature "playing Nintendo 3DS games through an emulator (available in GURU overlay)" games-emulation/citra
+ # TODO: Package ColecoVision/Coleco Adam emulator
+ optfeature "playing Nintendo DS games through an emulator" games-emulation/desmume
+ optfeature "playing Sega Genesis games through an emulator" games-emulation/dgen-sdl
+ optfeature "playing GameCube and Wii games through an emulator" games-emulation/dolphin
+ optfeature "playing DOS games through an emulator" games-emulation/dosbox
+ optfeature "playing RPG Maker 2000/2003 games (available in GURU overlay)" games-engines/easyrpg-player
+ optfeature "playing Z-code based text games" games-engines/frotz
+ optfeature "playing Amiga games through an emulator" app-emulation/fs-uae
+ optfeature "playing Atari ST games through an emulator" games-emulation/hatari
+ # TODO: Package Intellivision emulator
+ optfeature "playing games through various emulators" games-emulation/libretro-info
+ optfeature "playing Arcade games through an emulator" games-emulation/advancemame
+ optfeature "playing games through various emulators" games-emulation/mednafen
+ optfeature "playing Nintendo DS games through an emulator" games-emulation/melonds
+ # TODO: Package mGBA
+ # TODO: Package MicroM8 Apple II emulator
+ # TODO: Package Mini vMac emulator
+ optfeature "playing Nintendo 64 games through an emulator" games-emulation/mupen64plus
+ # TODO: Package O2Em emulator
+ # TODO: Package Sega Master System emulator
+ optfeature "playing IBM PC games through an emulator" app-emulation/pcem
+ optfeature "playing Sony PlayStation 2 games through an emulator" games-emulation/pcsx2
+ optfeature "playing various fantasy games" dev-lang/pico8
+ optfeature "playing Sony PlayStation Portable games through an emulator" games-emulation/ppsspp
+ # TODO: Package SEGA Dreamcast emulator redream
+ # TODO: Package SEGA Dreamcast emulator reicast
+ # TODO: Package Rosalie's Mupen GUI
+ optfeature "playing Sony PlayStation 3 games through an emulator (available in GURU overlay)" games-emulation/rpcs3
+ optfeature "playing Adobe Flash Player games through an emulator" app-emulation/ruffle
+ # TODO: Package Nintendo Switch emulator
+ optfeature "playing Lucasarts adventure games" games-engines/scummvm
+ # TODO: Package PowerMacintosh emulator
+ optfeature "playing Super Nintendo (SNES) games through an emulator" games-emulation/snes9x
+ # TODO: Package Sinclair ZX Spectrum emulator
+ optfeature "playing Atari 2600 VCS games through an emulator" games-emulation/stella
+ # TODO: Package TIC-80 tiny computer
+ optfeature "playing Commodore games through an emulator" app-emulation/vice
+ # TODO: Package Atari Jaguar emulator
+ # TODO: Package Vita3K PS Vita emulator
+ # TODO: Package runner for HTML5 web games
+ # TODO: Package Xbox emulator
+ optfeature "playing Nintendo Switch games through an emulator (available in GURU overlay)" games-emulation/yuzu
+ optfeature "playing DOOM games" games-engines/uzdoom
+
+ # Quote README.rst
+ elog
+ elog "Lutris installations are fully automated through scripts, which can"
+ elog "be written in either JSON or YAML. The scripting syntax is described"
+ elog "in ${EROOT}/usr/share/doc/${PF}/installers.rst.bz2, and is also"
+ elog "available online at lutris.net."
+}
diff --git a/games-util/lutris/metadata.xml b/games-util/lutris/metadata.xml
new file mode 100644
index 000000000000..197086fb5a89
--- /dev/null
+++ b/games-util/lutris/metadata.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>nowa@gentoo.org</email>
+ <name>Nowa Ammerlaan</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>games@gentoo.org</email>
+ <name>Gentoo Games Project</name>
+ </maintainer>
+ <longdescription lang="en">
+ Lutris is a gaming platform for GNU/Linux. Its goal is to make
+ gaming on Linux as easy as possible by taking care of installing
+ and setting up the game for the user. The only thing you have to
+ do is play the game. It aims to support every game that is playable
+ on Linux.
+ </longdescription>
+ <upstream>
+ <remote-id type="github">lutris/lutris</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/games-util/mangohud/Manifest b/games-util/mangohud/Manifest
new file mode 100644
index 000000000000..aaad50c9167d
--- /dev/null
+++ b/games-util/mangohud/Manifest
@@ -0,0 +1,6 @@
+DIST Vulkan-Headers-1.4.346.tar.gz 3231583 BLAKE2B 20057db3493e769824844f49a3f0458f83e653fe5b63b7ea711c46929d1a491d8cb6460a089c5bbbe688fb0d04ea62b512a1a5a0aee092aa24e957a25cf06846 SHA512 3afe221ad6bda2e864fd7f54b436a3b44b409e2a5929aab7176192eea0d7ff4c7182aa295e9cb7dbd3add79bd6e29467f9c12f664fd42516d62500b39722faa2
+DIST Vulkan-Utility-Libraries-1.4.346.tar.gz 1306759 BLAKE2B 8c4ebf73af3ad871360e7c4a426bd0f3f45082d5e9a708e6348ab0595cda307ee4de57c388c885e7f54aeff3c0cd8a1e834125f50003e8be1fc83af241ecf0c1 SHA512 754efbee3705567f48f320892ab76a7c2c64870d1d651d2de120461e204586ac6332ae20998634ca8ced8ad6e9c24a885b615d35682935b7c503eef15e3735e8
+DIST mangohud-0.8.2.tar.gz 14934235 BLAKE2B 2fbf57fb4b68ba808f8b99cbdf0606a618e993695c938a45a8abc04dff29f00823f3a0858850e1f52e14615b7d40775fcf0ae3fcd8b48fe7cf578237caae8930 SHA512 9f5a04a01a0a28569c44b57ea59dc17f98a418afd93680e616d208e33b31bb57d081d479239b172b2ebc83f5872b187726324fe76b504dc43169057943bba637
+DIST mangohud-0.8.3.tar.gz 14947932 BLAKE2B 37b96e8ea4b64c4f295bdd065f63cbe0c02615f551c0561f5be9059246f0639e0acff74a9f826289e609bb63ef41875a707de6ebdb5e7d65ad9a1eafd67640a9 SHA512 90ae828e378d5f901c98a30432aee1187fe2b9defdf5415c920f6f5d572799a0d7f49462457fea01bfb11f0c77a3eb00bbd015bd508cf1e0cbc1f24da4fee1c7
+DIST vulkan-headers-1.2.158-2-meson-wrap.zip 1107 BLAKE2B 35e4bb1f7410a009243fe7d4a4ba6cede7f01e0b56ad6ff72ad30c00c2452bd6d2a4fb44ab92c296147e2506a92acc6de1f817cb5433b96d66652cbcd8885595 SHA512 30cbbb90580399839e1bba8881b9b8cc33fdeead93f37d5f3398c9d53fb3ab050ca2562fd68f376fa4ee0825ee3787f560d70d55a170c780dd575ff2eeb66efd
+DIST vulkan-headers-1.2.158.tar.gz 831647 BLAKE2B 792d7e895e27c4a8fbc93fc4d9c9e696d2ceb946e745709c050c0693b77afbeb6411a4267fc59508ddeb58167d469349fedc1c5d4b4a7415b590c97248b244bc SHA512 f7aa9222f9deb1316d22deacc2c6cd85c409f0f2b2d37ecd55e0fc8466d381bbe3bed287881b993a01c5f33736e1607014f820980b7a54a3721fab6980960c91
diff --git a/games-util/mangohud/files/mangohud-0.8.2-egl-wayland.patch b/games-util/mangohud/files/mangohud-0.8.2-egl-wayland.patch
new file mode 100644
index 000000000000..9dc2f61a4ddd
--- /dev/null
+++ b/games-util/mangohud/files/mangohud-0.8.2-egl-wayland.patch
@@ -0,0 +1,27 @@
+From 197e4093e4f7ba3deeb12a5e4fc90bf39aea0fc9 Mon Sep 17 00:00:00 2001
+From: Etaash Mathamsetty
+ <45927311+Etaash-mathamsetty@users.noreply.github.com>
+Date: Fri, 28 Nov 2025 11:46:10 -0600
+Subject: [PATCH] egl: Fix missing check for HAVE_WAYLAND.
+
+---
+ src/gl/inject_egl.cpp | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/src/gl/inject_egl.cpp b/src/gl/inject_egl.cpp
+index a39241c5ec..6de08e779c 100644
+--- a/src/gl/inject_egl.cpp
++++ b/src/gl/inject_egl.cpp
+@@ -239,10 +239,12 @@ EXPORT_C_(int) eglTerminate(void *display)
+
+ ret = pfn_eglTerminate(display);
+
++#ifdef HAVE_WAYLAND
+ if (ret)
+ {
+ wayland_data_unref(NULL, display);
+ }
++#endif
+
+ return ret;
+ }
diff --git a/games-util/mangohud/files/mangohud-0.8.3-system-imgui.patch b/games-util/mangohud/files/mangohud-0.8.3-system-imgui.patch
new file mode 100644
index 000000000000..f7c573ff6ab3
--- /dev/null
+++ b/games-util/mangohud/files/mangohud-0.8.3-system-imgui.patch
@@ -0,0 +1,134 @@
+diff --git a/meson.build b/meson.build
+index 1146a26..9634dc0 100644
+--- a/meson.build
++++ b/meson.build
+@@ -253,13 +253,14 @@ if get_option('mangoapp')
+ ]
+ endif
+
+-imgui_sp = subproject('imgui', default_options: imgui_options)
+-dearimgui_dep = imgui_sp.get_variable('imgui_dep')
++dearimgui_dep = dependency('imgui', fallback: ['imgui'], required: true, default_options: imgui_options)
+
+-meson.override_dependency('imgui', dearimgui_dep)
+-
+-implot_sp = subproject('implot', default_options: ['default_library=static'])
+-implot_dep = implot_sp.get_variable('implot_dep')
++if is_unixy
++ implot_dep = dependency('implot', fallback: ['implot'], required: true, default_options: ['default_library=static'])
++else
++ implot_dep = null_dep
++ implot_lib = static_library('nulllib', [])
++endif
+
+ spdlog_options = [
+ 'default_library=static',
+diff --git a/src/app/main.cpp b/src/app/main.cpp
+index 2235476..0d457c8 100644
+--- a/src/app/main.cpp
++++ b/src/app/main.cpp
+@@ -6,9 +6,9 @@
+ #include <sys/ipc.h>
+ #include <sys/msg.h>
+
+-#include "imgui.h"
+-#include "imgui_impl_glfw.h"
+-#include "imgui_impl_opengl3.h"
++#include <imgui/imgui.h>
++#include <imgui/imgui_impl_glfw.h>
++#include <imgui/imgui_impl_opengl3.h>
+ #include <stdio.h>
+ #include <thread>
+ #include <unistd.h>
+diff --git a/src/gl/gl_hud.cpp b/src/gl/gl_hud.cpp
+index 2ef688d..c47cadc 100644
+--- a/src/gl/gl_hud.cpp
++++ b/src/gl/gl_hud.cpp
+@@ -7,7 +7,7 @@
+ #include <memory>
+ #include <unistd.h>
+ #include <spdlog/spdlog.h>
+-#include <imgui.h>
++#include <imgui/imgui.h>
+ #ifdef __linux__
+ #include <implot.h>
+ #endif
+diff --git a/src/gl/gl_renderer.cpp b/src/gl/gl_renderer.cpp
+index 08111f1..69b38a0 100644
+--- a/src/gl/gl_renderer.cpp
++++ b/src/gl/gl_renderer.cpp
+@@ -65,7 +65,7 @@
+ //----------------------------------------
+
+ #include <spdlog/spdlog.h>
+-#include <imgui.h>
++#include <imgui/imgui.h>
+ #include "gl_renderer.h"
+ #include <stdio.h>
+ #include <stdint.h> // intptr_t
+diff --git a/src/hud_elements.h b/src/hud_elements.h
+index 70deb51..3ccdba8 100644
+--- a/src/hud_elements.h
++++ b/src/hud_elements.h
+@@ -3,7 +3,7 @@
+ #include <string>
+ #include <utility>
+ #include <map>
+-#include <imgui.h>
++#include <imgui/imgui.h>
+ #include "timing.hpp"
+ #include <functional>
+ #include "vulkan/vulkan.h"
+diff --git a/src/imgui_utils.h b/src/imgui_utils.h
+index f2797e4..3923d3a 100644
+--- a/src/imgui_utils.h
++++ b/src/imgui_utils.h
+@@ -1,6 +1,6 @@
+ #pragma once
+
+-#include <imgui.h>
++#include <imgui/imgui.h>
+
+ #ifdef __linux__
+ #include <implot.h>
+diff --git a/src/overlay.h b/src/overlay.h
+index cad97c2..bf9faf6 100644
+--- a/src/overlay.h
++++ b/src/overlay.h
+@@ -6,8 +6,8 @@
+ #include <stdint.h>
+ #include <vector>
+ #include <deque>
+-#include <imgui.h>
+-#include "imgui_internal.h"
++#include <imgui/imgui.h>
++#include <imgui/imgui_internal.h>
+ #include "overlay_params.h"
+ #include "hud_elements.h"
+
+diff --git a/src/overlay_params.cpp b/src/overlay_params.cpp
+index ab7e37d..5e4bf90 100644
+--- a/src/overlay_params.cpp
++++ b/src/overlay_params.cpp
+@@ -10,7 +10,7 @@
+ #include <wordexp.h>
+ #include <unistd.h>
+ #endif
+-#include "imgui.h"
++#include <imgui/imgui.h>
+ #include <iostream>
+ #include <string>
+ #include <sstream>
+diff --git a/src/vulkan.cpp b/src/vulkan.cpp
+index ffadf25..b1e8c23 100644
+--- a/src/vulkan.cpp
++++ b/src/vulkan.cpp
+@@ -37,7 +37,7 @@
+ #include <sstream>
+ #include <inttypes.h>
+ #include <spdlog/spdlog.h>
+-#include <imgui.h>
++#include <imgui/imgui.h>
+
+ #include "mesa/util/macros.h" // defines "restrict" for vk_util.h
+ #include "mesa/util/os_socket.h"
diff --git a/games-util/mangohud/mangohud-0.8.2-r1.ebuild b/games-util/mangohud/mangohud-0.8.2-r1.ebuild
new file mode 100644
index 000000000000..77a8dfc431bf
--- /dev/null
+++ b/games-util/mangohud/mangohud-0.8.2-r1.ebuild
@@ -0,0 +1,158 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit flag-o-matic python-single-r1 meson-multilib toolchain-funcs
+
+MY_PV=$(ver_cut 1-3)
+[[ -n "$(ver_cut 4)" ]] && MY_PV_REV="-$(ver_cut 4)"
+
+DESCRIPTION="Vulkan and OpenGL overlay for monitoring FPS, sensors, system load and more"
+HOMEPAGE="https://github.com/flightlessmango/MangoHud"
+
+# Check subprojects/vulkan-headers.wrap for both of these values
+VK_HEADERS_VER="1.2.158"
+VK_HEADERS_MESON_WRAP_VER="2"
+
+SRC_URI="
+ https://github.com/KhronosGroup/Vulkan-Headers/archive/v${VK_HEADERS_VER}.tar.gz
+ -> vulkan-headers-${VK_HEADERS_VER}.tar.gz
+ https://github.com/mesonbuild/wrapdb/releases/download/vulkan-headers_${VK_HEADERS_VER}-${VK_HEADERS_MESON_WRAP_VER}/vulkan-headers_${VK_HEADERS_VER}-${VK_HEADERS_MESON_WRAP_VER}_patch.zip
+ -> vulkan-headers-${VK_HEADERS_VER}-${VK_HEADERS_MESON_WRAP_VER}-meson-wrap.zip
+"
+
+if [[ ${PV} == 9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/flightlessmango/MangoHud.git"
+else
+ SRC_URI+="
+ https://github.com/flightlessmango/MangoHud/archive/v${MY_PV}${MY_PV_REV}.tar.gz
+ -> ${P}.tar.gz
+ "
+ KEYWORDS="~amd64"
+ S="${WORKDIR}/MangoHud-${PV}"
+fi
+
+LICENSE="MIT"
+SLOT="0"
+IUSE="+dbus debug +X xnvctrl wayland mangoapp mangohudctl mangoplot video_cards_nvidia video_cards_amdgpu test"
+RESTRICT="!test? ( test )"
+
+REQUIRED_USE="
+ ${PYTHON_REQUIRED_USE}
+ || ( X wayland )
+ xnvctrl? ( video_cards_nvidia )
+ mangoapp? ( X )
+"
+
+BDEPEND="
+ app-arch/unzip
+ dev-util/glslang
+ test? ( dev-util/cmocka )
+ $(python_gen_cond_dep 'dev-python/mako[${PYTHON_USEDEP}]')
+"
+
+DEPEND="
+ ${PYTHON_DEPS}
+ =media-libs/imgui-1.89.9*:=[opengl,vulkan,${MULTILIB_USEDEP}]
+ =media-libs/implot-0.16*:=[${MULTILIB_USEDEP}]
+ dev-libs/spdlog:=[${MULTILIB_USEDEP}]
+ dev-libs/libfmt:=[${MULTILIB_USEDEP}]
+ dev-cpp/nlohmann_json
+ x11-libs/libxkbcommon:=[${MULTILIB_USEDEP}]
+ dbus? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
+ X? ( x11-libs/libX11[${MULTILIB_USEDEP}] )
+ video_cards_nvidia? (
+ x11-drivers/nvidia-drivers[${MULTILIB_USEDEP}]
+ xnvctrl? ( x11-drivers/nvidia-drivers[static-libs] )
+ )
+ wayland? ( dev-libs/wayland[${MULTILIB_USEDEP}] )
+ mangoapp? (
+ =media-libs/imgui-1.89.9*[glfw]
+ media-libs/glfw[X(+)?,wayland(+)?]
+ media-libs/glew
+ )
+"
+
+RDEPEND="
+ ${DEPEND}
+ media-libs/libglvnd[${MULTILIB_USEDEP}]
+ media-libs/vulkan-loader[${MULTILIB_USEDEP}]
+ mangoplot? (
+ media-fonts/lato
+ $(python_gen_cond_dep '
+ || (
+ dev-python/matplotlib[gtk3,${PYTHON_USEDEP}]
+ dev-python/matplotlib[qt5(-),${PYTHON_USEDEP}]
+ dev-python/matplotlib[qt6(-),${PYTHON_USEDEP}]
+ dev-python/matplotlib[wxwidgets,${PYTHON_USEDEP}]
+ )
+ ')
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}/${P}-egl-wayland.patch"
+)
+
+src_unpack() {
+ default
+
+ [[ -n "${MY_PV_REV}" ]] && ( mv "${WORKDIR}/MangoHud-${MY_PV}${MY_PV_REV}" "${WORKDIR}/MangoHud-${PV}" || die )
+
+ if [[ $PV == 9999 ]]; then
+ git-r3_src_unpack
+ fi
+
+ unpack vulkan-headers-${VK_HEADERS_VER}.tar.gz
+ unpack vulkan-headers-${VK_HEADERS_VER}-${VK_HEADERS_MESON_WRAP_VER}-meson-wrap.zip
+ mv "${WORKDIR}/Vulkan-Headers-${VK_HEADERS_VER}" "${S}/subprojects/" || die
+}
+
+src_prepare() {
+ default
+ # replace all occurences of "#include <imgui.h>" to "#include <imgui/imgui.h>"
+ find . -type f -exec sed -i 's|<imgui.h>|<imgui/imgui.h>|g' {} \; || die
+ find . -type f -exec sed -i 's|"imgui.h"|<imgui/imgui.h>|g' {} \; || die
+ find . -type f -exec sed -i 's|<imgui_internal.h>|<imgui/imgui_internal.h>|g' {} \; || die
+ find . -type f -exec sed -i 's|"imgui_internal.h"|<imgui/imgui_internal.h>|g' {} \; || die
+ find . -type f -exec sed -i 's|"imgui_impl_glfw.h"|<imgui/imgui_impl_glfw.h>|g' {} \; || die
+ find . -type f -exec sed -i 's|"imgui_impl_opengl3.h"|<imgui/imgui_impl_opengl3.h>|g' {} \; || die
+}
+
+multilib_src_configure() {
+ # workaround for lld
+ # https://github.com/flightlessmango/MangoHud/issues/1240
+ if tc-ld-is-lld; then
+ append-ldflags -Wl,--undefined-version
+ fi
+
+ local emesonargs=(
+ -Dappend_libdir_mangohud=false
+ -Dinclude_doc=false
+ -Duse_system_spdlog=enabled
+ $(meson_feature video_cards_nvidia with_nvml)
+ $(meson_feature xnvctrl with_xnvctrl)
+ $(meson_feature X with_x11)
+ $(meson_feature wayland with_wayland)
+ $(meson_feature dbus with_dbus)
+ $(meson_use mangoapp mangoapp)
+ $(meson_use mangohudctl mangohudctl)
+ $(meson_feature mangoplot mangoplot)
+ )
+ meson_src_configure
+}
+
+pkg_postinst() {
+ if ! use xnvctrl; then
+ einfo ""
+ einfo "If mangohud can't get GPU load, or other GPU information,"
+ einfo "and you have an older Nvidia device."
+ einfo ""
+ einfo "Try enabling the 'xnvctrl' useflag."
+ einfo ""
+ fi
+}
diff --git a/games-util/mangohud/mangohud-0.8.3.ebuild b/games-util/mangohud/mangohud-0.8.3.ebuild
new file mode 100644
index 000000000000..777bcf407fa1
--- /dev/null
+++ b/games-util/mangohud/mangohud-0.8.3.ebuild
@@ -0,0 +1,149 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit flag-o-matic python-single-r1 meson-multilib toolchain-funcs
+
+DESCRIPTION="Vulkan and OpenGL overlay for monitoring FPS, sensors, system load and more"
+HOMEPAGE="https://github.com/flightlessmango/MangoHud"
+
+# Check subprojects/vulkan-headers.wrap for this value
+VK_HEADERS_VER="1.4.346"
+
+SRC_URI="
+ https://github.com/KhronosGroup/Vulkan-Headers/archive/v${VK_HEADERS_VER}.tar.gz
+ -> Vulkan-Headers-${VK_HEADERS_VER}.tar.gz
+ https://github.com/KhronosGroup/Vulkan-Utility-Libraries/archive/v${VK_HEADERS_VER}.tar.gz
+ -> Vulkan-Utility-Libraries-${VK_HEADERS_VER}.tar.gz
+"
+
+if [[ ${PV} == 9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/flightlessmango/MangoHud.git"
+else
+ SRC_URI+="https://github.com/flightlessmango/MangoHud/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64"
+ S="${WORKDIR}/MangoHud-${PV}"
+fi
+
+LICENSE="MIT"
+SLOT="0"
+IUSE="+dbus +X xnvctrl wayland mangoapp mangohudctl mangoplot video_cards_nvidia test"
+RESTRICT="test" # tests aren't enabled upstream
+
+REQUIRED_USE="
+ ${PYTHON_REQUIRED_USE}
+ || ( X wayland )
+ xnvctrl? ( video_cards_nvidia X )
+ mangoapp? ( X )
+"
+
+BDEPEND="
+ dev-util/glslang
+ test? ( dev-util/cmocka )
+ $(python_gen_cond_dep 'dev-python/mako[${PYTHON_USEDEP}]')
+"
+
+DEPEND="
+ ${PYTHON_DEPS}
+ dev-libs/spdlog:=[${MULTILIB_USEDEP}]
+ dev-libs/libfmt:=[${MULTILIB_USEDEP}]
+ =media-libs/imgui-1.91.6*:=[${MULTILIB_USEDEP}]
+ =media-libs/implot-0.16*:=[${MULTILIB_USEDEP}]
+ x11-libs/libxkbcommon:=[${MULTILIB_USEDEP}]
+ dbus? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
+ X? ( x11-libs/libX11[${MULTILIB_USEDEP}] )
+ video_cards_nvidia? (
+ x11-drivers/nvidia-drivers[${MULTILIB_USEDEP}]
+ xnvctrl? ( x11-drivers/nvidia-drivers[static-libs] )
+ )
+ wayland? ( dev-libs/wayland[${MULTILIB_USEDEP}] )
+ mangoapp? (
+ =media-libs/imgui-1.91.6*[glfw,opengl]
+ media-libs/glfw[X(+)?,wayland(+)?]
+ )
+"
+
+RDEPEND="
+ ${DEPEND}
+ media-libs/libglvnd[${MULTILIB_USEDEP}]
+ media-libs/vulkan-loader[${MULTILIB_USEDEP}]
+ mangoplot? (
+ media-fonts/lato
+ $(python_gen_cond_dep '
+ || (
+ dev-python/matplotlib[gtk3,${PYTHON_USEDEP}]
+ dev-python/matplotlib[qt5(-),${PYTHON_USEDEP}]
+ dev-python/matplotlib[qt6(-),${PYTHON_USEDEP}]
+ dev-python/matplotlib[wxwidgets,${PYTHON_USEDEP}]
+ )
+ ')
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-0.8.3-system-imgui.patch"
+)
+
+src_unpack() {
+ default
+
+ if [[ $PV == 9999 ]]; then
+ git-r3_src_unpack
+ fi
+
+ unpack Vulkan-Headers-${VK_HEADERS_VER}.tar.gz
+ unpack Vulkan-Utility-Libraries-${VK_HEADERS_VER}.tar.gz
+}
+
+src_prepare() {
+ default
+
+ mv "${WORKDIR}/Vulkan-Headers-${VK_HEADERS_VER}" "${S}/subprojects/" || die
+ mv "${WORKDIR}/Vulkan-Utility-Libraries-${VK_HEADERS_VER}" "${S}/subprojects/" || die
+
+ pushd subprojects || die
+ mv packagefiles/vulkan-headers/* Vulkan-Headers-${VK_HEADERS_VER} || die
+ mv packagefiles/vulkan-utility-libraries/* Vulkan-Utility-Libraries-${VK_HEADERS_VER} || die
+ # save some space when using FEATURES=installsources
+ rm -rf "*.wrap" "{packagefiles/imgui-0.16}" || die
+ popd || die
+}
+
+multilib_src_configure() {
+ # workaround for lld
+ # https://github.com/flightlessmango/MangoHud/issues/1240
+ if tc-ld-is-lld; then
+ append-ldflags -Wl,--undefined-version
+ fi
+
+ local emesonargs=(
+ -Dappend_libdir_mangohud=false
+ -Dinclude_doc=false
+ -Duse_system_spdlog=enabled
+ $(meson_feature video_cards_nvidia with_nvml)
+ $(meson_feature xnvctrl with_xnvctrl)
+ $(meson_feature X with_x11)
+ $(meson_feature wayland with_wayland)
+ $(meson_feature dbus with_dbus)
+ $(meson_use mangoapp mangoapp)
+ $(meson_use mangohudctl mangohudctl)
+ $(meson_feature mangoplot mangoplot)
+ $(meson_feature test tests)
+ )
+ meson_src_configure
+}
+
+pkg_postinst() {
+ if ! use xnvctrl; then
+ einfo ""
+ einfo "If mangohud can't get GPU load, or other GPU information,"
+ einfo "and you have an older Nvidia device."
+ einfo ""
+ einfo "Try enabling the 'xnvctrl' useflag."
+ einfo ""
+ fi
+}
diff --git a/games-util/mangohud/mangohud-9999.ebuild b/games-util/mangohud/mangohud-9999.ebuild
new file mode 100644
index 000000000000..777bcf407fa1
--- /dev/null
+++ b/games-util/mangohud/mangohud-9999.ebuild
@@ -0,0 +1,149 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit flag-o-matic python-single-r1 meson-multilib toolchain-funcs
+
+DESCRIPTION="Vulkan and OpenGL overlay for monitoring FPS, sensors, system load and more"
+HOMEPAGE="https://github.com/flightlessmango/MangoHud"
+
+# Check subprojects/vulkan-headers.wrap for this value
+VK_HEADERS_VER="1.4.346"
+
+SRC_URI="
+ https://github.com/KhronosGroup/Vulkan-Headers/archive/v${VK_HEADERS_VER}.tar.gz
+ -> Vulkan-Headers-${VK_HEADERS_VER}.tar.gz
+ https://github.com/KhronosGroup/Vulkan-Utility-Libraries/archive/v${VK_HEADERS_VER}.tar.gz
+ -> Vulkan-Utility-Libraries-${VK_HEADERS_VER}.tar.gz
+"
+
+if [[ ${PV} == 9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/flightlessmango/MangoHud.git"
+else
+ SRC_URI+="https://github.com/flightlessmango/MangoHud/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64"
+ S="${WORKDIR}/MangoHud-${PV}"
+fi
+
+LICENSE="MIT"
+SLOT="0"
+IUSE="+dbus +X xnvctrl wayland mangoapp mangohudctl mangoplot video_cards_nvidia test"
+RESTRICT="test" # tests aren't enabled upstream
+
+REQUIRED_USE="
+ ${PYTHON_REQUIRED_USE}
+ || ( X wayland )
+ xnvctrl? ( video_cards_nvidia X )
+ mangoapp? ( X )
+"
+
+BDEPEND="
+ dev-util/glslang
+ test? ( dev-util/cmocka )
+ $(python_gen_cond_dep 'dev-python/mako[${PYTHON_USEDEP}]')
+"
+
+DEPEND="
+ ${PYTHON_DEPS}
+ dev-libs/spdlog:=[${MULTILIB_USEDEP}]
+ dev-libs/libfmt:=[${MULTILIB_USEDEP}]
+ =media-libs/imgui-1.91.6*:=[${MULTILIB_USEDEP}]
+ =media-libs/implot-0.16*:=[${MULTILIB_USEDEP}]
+ x11-libs/libxkbcommon:=[${MULTILIB_USEDEP}]
+ dbus? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
+ X? ( x11-libs/libX11[${MULTILIB_USEDEP}] )
+ video_cards_nvidia? (
+ x11-drivers/nvidia-drivers[${MULTILIB_USEDEP}]
+ xnvctrl? ( x11-drivers/nvidia-drivers[static-libs] )
+ )
+ wayland? ( dev-libs/wayland[${MULTILIB_USEDEP}] )
+ mangoapp? (
+ =media-libs/imgui-1.91.6*[glfw,opengl]
+ media-libs/glfw[X(+)?,wayland(+)?]
+ )
+"
+
+RDEPEND="
+ ${DEPEND}
+ media-libs/libglvnd[${MULTILIB_USEDEP}]
+ media-libs/vulkan-loader[${MULTILIB_USEDEP}]
+ mangoplot? (
+ media-fonts/lato
+ $(python_gen_cond_dep '
+ || (
+ dev-python/matplotlib[gtk3,${PYTHON_USEDEP}]
+ dev-python/matplotlib[qt5(-),${PYTHON_USEDEP}]
+ dev-python/matplotlib[qt6(-),${PYTHON_USEDEP}]
+ dev-python/matplotlib[wxwidgets,${PYTHON_USEDEP}]
+ )
+ ')
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-0.8.3-system-imgui.patch"
+)
+
+src_unpack() {
+ default
+
+ if [[ $PV == 9999 ]]; then
+ git-r3_src_unpack
+ fi
+
+ unpack Vulkan-Headers-${VK_HEADERS_VER}.tar.gz
+ unpack Vulkan-Utility-Libraries-${VK_HEADERS_VER}.tar.gz
+}
+
+src_prepare() {
+ default
+
+ mv "${WORKDIR}/Vulkan-Headers-${VK_HEADERS_VER}" "${S}/subprojects/" || die
+ mv "${WORKDIR}/Vulkan-Utility-Libraries-${VK_HEADERS_VER}" "${S}/subprojects/" || die
+
+ pushd subprojects || die
+ mv packagefiles/vulkan-headers/* Vulkan-Headers-${VK_HEADERS_VER} || die
+ mv packagefiles/vulkan-utility-libraries/* Vulkan-Utility-Libraries-${VK_HEADERS_VER} || die
+ # save some space when using FEATURES=installsources
+ rm -rf "*.wrap" "{packagefiles/imgui-0.16}" || die
+ popd || die
+}
+
+multilib_src_configure() {
+ # workaround for lld
+ # https://github.com/flightlessmango/MangoHud/issues/1240
+ if tc-ld-is-lld; then
+ append-ldflags -Wl,--undefined-version
+ fi
+
+ local emesonargs=(
+ -Dappend_libdir_mangohud=false
+ -Dinclude_doc=false
+ -Duse_system_spdlog=enabled
+ $(meson_feature video_cards_nvidia with_nvml)
+ $(meson_feature xnvctrl with_xnvctrl)
+ $(meson_feature X with_x11)
+ $(meson_feature wayland with_wayland)
+ $(meson_feature dbus with_dbus)
+ $(meson_use mangoapp mangoapp)
+ $(meson_use mangohudctl mangohudctl)
+ $(meson_feature mangoplot mangoplot)
+ $(meson_feature test tests)
+ )
+ meson_src_configure
+}
+
+pkg_postinst() {
+ if ! use xnvctrl; then
+ einfo ""
+ einfo "If mangohud can't get GPU load, or other GPU information,"
+ einfo "and you have an older Nvidia device."
+ einfo ""
+ einfo "Try enabling the 'xnvctrl' useflag."
+ einfo ""
+ fi
+}
diff --git a/games-util/mangohud/metadata.xml b/games-util/mangohud/metadata.xml
new file mode 100644
index 000000000000..59686cbd7492
--- /dev/null
+++ b/games-util/mangohud/metadata.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>adel.ks@zegrapher.com</email>
+ <name>Adel KARA SLIMANE</name>
+ </maintainer>
+ <maintainer type="person">
+ <email>gonegrier.duarte@gmail.com</email>
+ <name>Gonçalo Negrier Duarte</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">flightlessmango/MangoHud</remote-id>
+ <bugs-to>https://github.com/flightlessmango/MangoHud/issues</bugs-to>
+ </upstream>
+ <use>
+ <flag name="xnvctrl">Use XNVctrl as fall back for older Nvidia devices.</flag>
+ <flag name="test">Run mangohud tests</flag>
+ <flag name="mangoapp">Build and install mangoapp and mangoapp layer</flag>
+ <flag name="mangohudctl">Build and install mangohudctl</flag>
+ <flag name="mangoplot">Install mangoplot python script</flag>
+ </use>
+</pkgmetadata>
diff --git a/games-util/mcrcon/Manifest b/games-util/mcrcon/Manifest
new file mode 100644
index 000000000000..06a1d53e25f5
--- /dev/null
+++ b/games-util/mcrcon/Manifest
@@ -0,0 +1,2 @@
+DIST mcrcon-0.7.1.tar.gz 9796 BLAKE2B 4de98574783f995b5161944dac3a817313618019f1711832d266f038ce7a56a2e3d6da2556dbcd36870dd81de74f9886db84af81d9e6c25d70155f61c4a7f191 SHA512 372314e007d50e758203911c25df7c07d317ea6a7e469e24f603eae67ec5ef1e313c997481f4d90395d25d4d99ddc126a6e5745b2044903b2f21271aa7c39eb2
+DIST mcrcon-0.7.2.tar.gz 9997 BLAKE2B 3dabd5c1951bd4427486a7a0c438730d61e9ebf006de77225b17153964728d671821e60ddb9d0a3d53952c4331e4d4807cb9b96009c37427eb4bc1f684664f3e SHA512 584487bd6d3d2d0ddd0065187c5cadf7c1cf80c8234acb55f218eab6a54c10a7e99adf0ca643894f3664d51233cd04745fb13c4ee02964ef735c034b01f2ee89
diff --git a/games-util/mcrcon/mcrcon-0.7.1.ebuild b/games-util/mcrcon/mcrcon-0.7.1.ebuild
new file mode 100644
index 000000000000..d840cef90470
--- /dev/null
+++ b/games-util/mcrcon/mcrcon-0.7.1.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit toolchain-funcs
+
+DESCRIPTION="Remote connection client for Minecraft servers"
+HOMEPAGE="https://github.com/Tiiffi/mcrcon"
+SRC_URI="https://github.com/Tiiffi/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+LICENSE="ZLIB"
+SLOT="0"
+KEYWORDS="~amd64 ~arm"
+
+src_compile() {
+ emake \
+ CC="$(tc-getCC)" \
+ CFLAGS="${CFLAGS} ${LDFLAGS} -std=gnu99 -Wall -Wextra -Wpedantic"
+}
+
+src_install() {
+ emake install PREFIX="${ED}/usr"
+}
diff --git a/games-util/mcrcon/mcrcon-0.7.2.ebuild b/games-util/mcrcon/mcrcon-0.7.2.ebuild
new file mode 100644
index 000000000000..80b64e933516
--- /dev/null
+++ b/games-util/mcrcon/mcrcon-0.7.2.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs
+
+DESCRIPTION="Remote connection client for Minecraft servers"
+HOMEPAGE="https://github.com/Tiiffi/mcrcon"
+SRC_URI="https://github.com/Tiiffi/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+LICENSE="ZLIB"
+SLOT="0"
+KEYWORDS="~amd64 ~arm"
+
+src_compile() {
+ emake \
+ CC="$(tc-getCC)" \
+ CFLAGS="${CFLAGS} ${LDFLAGS} -std=gnu99 -Wall -Wextra -Wpedantic"
+}
+
+src_install() {
+ emake install PREFIX="${ED}/usr"
+}
diff --git a/games-util/mcrcon/metadata.xml b/games-util/mcrcon/metadata.xml
new file mode 100644
index 000000000000..6768f925c810
--- /dev/null
+++ b/games-util/mcrcon/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>chewi@gentoo.org</email>
+ <name>James Le Cuirot</name>
+ </maintainer>
+ <longdescription>mcrcon is an IPv6 compliant Minecraft rcon client with Bukkit coloring support. It is well suited for remote administration and to be used as part of automated server maintenance scripts. Does not trigger the "IO: Broken pipe" or "IO: Connection reset" spam bug on the server side.</longdescription>
+ <upstream>
+ <remote-id type="github">Tiiffi/mcrcon</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/games-util/metadata.xml b/games-util/metadata.xml
new file mode 100644
index 000000000000..1b0f53cee4bb
--- /dev/null
+++ b/games-util/metadata.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE catmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<catmetadata>
+ <longdescription lang="en">
+ The games-util category contains various game-related utilities.
+ </longdescription>
+ <longdescription lang="de">
+ Die Kategorie games-util enthält verschiede Tools rund um Spiele.
+ </longdescription>
+ <longdescription lang="es">
+ La categoría games-util contiene varias utilidades relacionadas con
+ juegos.
+ </longdescription>
+ <longdescription lang="ja">
+ games-utilカテゴリーにはゲームに関連した様々なユーティリティが含まれています。
+ </longdescription>
+ <longdescription lang="nl">
+ De games-util categorie bevat hulpmiddelen voor bepaalde spellen.
+ </longdescription>
+ <longdescription lang="vi">
+ Nhóm games-util chứa các tiện ích linh tinh liên quan đến các trò chơi.
+ </longdescription>
+ <longdescription lang="it">
+ La categoria games-util contiene varie utilità per i giochi.
+ </longdescription>
+ <longdescription lang="pt">
+ A categoria games-util contém vários utilitários relacionados a
+ jogos.
+ </longdescription>
+ <longdescription lang="pl">
+ Kategoria games-util zawiera narządzia związane z grami.
+ </longdescription>
+</catmetadata>
diff --git a/games-util/modrinth-app-bin/Manifest b/games-util/modrinth-app-bin/Manifest
new file mode 100644
index 000000000000..018a56aa5a27
--- /dev/null
+++ b/games-util/modrinth-app-bin/Manifest
@@ -0,0 +1,3 @@
+DIST Modrinth%20App_0.10.27_amd64.deb 12272880 BLAKE2B 18e7d2c1715d6f6119ce12bbdd3be61bb3dea20e91e9e9ccb47e5d1ac21d24c1923d1206172ebfb1e21d792f0b859a3f553b0fcd06f5cb3e8908de447a11c8c4 SHA512 bedd71122207929bc0d038e8b68f78e8b96b4bd7c3c811110e14ac8699677acc374bf2dbe23e7f65f707bb481153c787182032835ce4a8ea1da81041ba6f1d84
+DIST Modrinth%20App_0.12.2_amd64.deb 12647364 BLAKE2B 14cae1b66f80fa727b78083a0cda0ebeb33fc66ed082cac7d77763a4f46f984fdb44069420fccda6251d5319a17fa74f9cbc9f10b3d1bffda089bc3625cb3aa1 SHA512 0f01954b3296f7102a6a06491c873bccd10826e9b88bf6c3b6e1d104e49ec0ecd2b53dc179e0ee22dd50c140bf103579bc94a091629fabf568740660132bd076
+DIST Modrinth%20App_0.12.5_amd64.deb 15075110 BLAKE2B fa6d1bc0317886d10896a02fdb73ca85b2967796958a7ef35889cdc6ed618a78f28bfa042b468c4ce39ef1a44cb13f93f03c1379f7351ffaedf09365a0d45912 SHA512 e90c69da7faf8a787bad60391c3e98a4b524a8ad3c3ceeb3d62503814916bc3781b3381be64a04cd9eb6ec944cd09aaa59b8b2f6d44b888a4a24f34a870085b4
diff --git a/games-util/modrinth-app-bin/files/modrinth-app-bin-desktop.patch b/games-util/modrinth-app-bin/files/modrinth-app-bin-desktop.patch
new file mode 100644
index 000000000000..4367a4abc256
--- /dev/null
+++ b/games-util/modrinth-app-bin/files/modrinth-app-bin-desktop.patch
@@ -0,0 +1,15 @@
+diff --git a/usr/share/applications/modrinth-app-bin.desktop b/usr/share/applications/modrinth-app-bi.desktop
+index 802f685..898b247 100644
+--- a/usr/share/applications/modrinth-app-bin.desktop
++++ b/usr/share/applications/modrinth-app-bin.desktop
+@@ -1,8 +1,8 @@
+ [Desktop Entry]
+ Categories=Game;
+-Exec=ModrinthApp
++Exec=env MODRINTH_EXTERNAL_UPDATE_PROVIDER=1 /opt/modrinth-app-bin/modrinth-app-bin %U
+ Icon=ModrinthApp
+ Name=Modrinth App
+ Terminal=false
+ Type=Application
+ MimeType=application/zip+mrpack;x-scheme-handler/modrinth
+
diff --git a/games-util/modrinth-app-bin/metadata.xml b/games-util/modrinth-app-bin/metadata.xml
new file mode 100644
index 000000000000..55e587cb3cb1
--- /dev/null
+++ b/games-util/modrinth-app-bin/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>norbiros@protonmail.com</email>
+ <name>Norbiros</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">Modrinth/code</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/games-util/modrinth-app-bin/modrinth-app-bin-0.10.27.ebuild b/games-util/modrinth-app-bin/modrinth-app-bin-0.10.27.ebuild
new file mode 100644
index 000000000000..ecfa0484f41e
--- /dev/null
+++ b/games-util/modrinth-app-bin/modrinth-app-bin-0.10.27.ebuild
@@ -0,0 +1,80 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit unpacker desktop xdg-utils
+
+DESCRIPTION="A unique, open source launcher that allows you to play your favorite Minecraft mods, and keep them up to date, all in one neat little package."
+HOMEPAGE="https://modrinth.com/app"
+SRC_URI="https://launcher-files.modrinth.com/versions/${PV}/linux/Modrinth%20App_${PV}_amd64.deb"
+
+S="${WORKDIR}"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64"
+
+# Tauri deps
+RDEPEND="
+ sys-apps/dbus
+ dev-libs/openssl
+ net-libs/webkit-gtk:4.1
+ x11-libs/gtk+:3
+ net-libs/libsoup
+ gnome-base/librsvg
+ dev-libs/glib
+ x11-libs/cairo
+ x11-libs/gdk-pixbuf
+"
+# Minecraft deps
+RDEPEND+="
+ x11-libs/libX11
+ media-libs/libpulse
+ x11-libs/libXxf86vm
+"
+BDEPEND="app-arch/unzip"
+
+QA_PREBUILT=".*"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-desktop.patch"
+)
+
+src_unpack() {
+ unpack_deb ${A}
+}
+
+src_prepare() {
+ mv "${S}/usr/share/applications/Modrinth App.desktop"\
+ "${S}/usr/share/applications/${PN}.desktop"
+
+ default
+
+ mv "${S}/usr/bin/ModrinthApp" "${S}/usr/bin/${PN}" || die
+}
+
+src_install() {
+ ICONDIR="usr/share/icons/hicolor"
+ DESTDIR="/opt/${PN}"
+
+ doicon -s 128 "${ICONDIR}/128x128/apps/ModrinthApp.png"
+ doicon -s 256 "${ICONDIR}/256x256@2/apps/ModrinthApp.png"
+
+ domenu "${S}/usr/share/applications/${PN}.desktop"
+
+ dodir /opt/${PN}
+
+ exeinto "${DESTDIR}"
+ doexe "${S}/usr/bin/${PN}"
+}
+
+pkg_postinst() {
+ xdg_icon_cache_update
+ xdg_desktop_database_update
+}
+
+pkg_postrm() {
+ xdg_icon_cache_update
+ xdg_desktop_database_update
+}
diff --git a/games-util/modrinth-app-bin/modrinth-app-bin-0.12.2.ebuild b/games-util/modrinth-app-bin/modrinth-app-bin-0.12.2.ebuild
new file mode 100644
index 000000000000..ecfa0484f41e
--- /dev/null
+++ b/games-util/modrinth-app-bin/modrinth-app-bin-0.12.2.ebuild
@@ -0,0 +1,80 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit unpacker desktop xdg-utils
+
+DESCRIPTION="A unique, open source launcher that allows you to play your favorite Minecraft mods, and keep them up to date, all in one neat little package."
+HOMEPAGE="https://modrinth.com/app"
+SRC_URI="https://launcher-files.modrinth.com/versions/${PV}/linux/Modrinth%20App_${PV}_amd64.deb"
+
+S="${WORKDIR}"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64"
+
+# Tauri deps
+RDEPEND="
+ sys-apps/dbus
+ dev-libs/openssl
+ net-libs/webkit-gtk:4.1
+ x11-libs/gtk+:3
+ net-libs/libsoup
+ gnome-base/librsvg
+ dev-libs/glib
+ x11-libs/cairo
+ x11-libs/gdk-pixbuf
+"
+# Minecraft deps
+RDEPEND+="
+ x11-libs/libX11
+ media-libs/libpulse
+ x11-libs/libXxf86vm
+"
+BDEPEND="app-arch/unzip"
+
+QA_PREBUILT=".*"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-desktop.patch"
+)
+
+src_unpack() {
+ unpack_deb ${A}
+}
+
+src_prepare() {
+ mv "${S}/usr/share/applications/Modrinth App.desktop"\
+ "${S}/usr/share/applications/${PN}.desktop"
+
+ default
+
+ mv "${S}/usr/bin/ModrinthApp" "${S}/usr/bin/${PN}" || die
+}
+
+src_install() {
+ ICONDIR="usr/share/icons/hicolor"
+ DESTDIR="/opt/${PN}"
+
+ doicon -s 128 "${ICONDIR}/128x128/apps/ModrinthApp.png"
+ doicon -s 256 "${ICONDIR}/256x256@2/apps/ModrinthApp.png"
+
+ domenu "${S}/usr/share/applications/${PN}.desktop"
+
+ dodir /opt/${PN}
+
+ exeinto "${DESTDIR}"
+ doexe "${S}/usr/bin/${PN}"
+}
+
+pkg_postinst() {
+ xdg_icon_cache_update
+ xdg_desktop_database_update
+}
+
+pkg_postrm() {
+ xdg_icon_cache_update
+ xdg_desktop_database_update
+}
diff --git a/games-util/modrinth-app-bin/modrinth-app-bin-0.12.5.ebuild b/games-util/modrinth-app-bin/modrinth-app-bin-0.12.5.ebuild
new file mode 100644
index 000000000000..ecfa0484f41e
--- /dev/null
+++ b/games-util/modrinth-app-bin/modrinth-app-bin-0.12.5.ebuild
@@ -0,0 +1,80 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit unpacker desktop xdg-utils
+
+DESCRIPTION="A unique, open source launcher that allows you to play your favorite Minecraft mods, and keep them up to date, all in one neat little package."
+HOMEPAGE="https://modrinth.com/app"
+SRC_URI="https://launcher-files.modrinth.com/versions/${PV}/linux/Modrinth%20App_${PV}_amd64.deb"
+
+S="${WORKDIR}"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64"
+
+# Tauri deps
+RDEPEND="
+ sys-apps/dbus
+ dev-libs/openssl
+ net-libs/webkit-gtk:4.1
+ x11-libs/gtk+:3
+ net-libs/libsoup
+ gnome-base/librsvg
+ dev-libs/glib
+ x11-libs/cairo
+ x11-libs/gdk-pixbuf
+"
+# Minecraft deps
+RDEPEND+="
+ x11-libs/libX11
+ media-libs/libpulse
+ x11-libs/libXxf86vm
+"
+BDEPEND="app-arch/unzip"
+
+QA_PREBUILT=".*"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-desktop.patch"
+)
+
+src_unpack() {
+ unpack_deb ${A}
+}
+
+src_prepare() {
+ mv "${S}/usr/share/applications/Modrinth App.desktop"\
+ "${S}/usr/share/applications/${PN}.desktop"
+
+ default
+
+ mv "${S}/usr/bin/ModrinthApp" "${S}/usr/bin/${PN}" || die
+}
+
+src_install() {
+ ICONDIR="usr/share/icons/hicolor"
+ DESTDIR="/opt/${PN}"
+
+ doicon -s 128 "${ICONDIR}/128x128/apps/ModrinthApp.png"
+ doicon -s 256 "${ICONDIR}/256x256@2/apps/ModrinthApp.png"
+
+ domenu "${S}/usr/share/applications/${PN}.desktop"
+
+ dodir /opt/${PN}
+
+ exeinto "${DESTDIR}"
+ doexe "${S}/usr/bin/${PN}"
+}
+
+pkg_postinst() {
+ xdg_icon_cache_update
+ xdg_desktop_database_update
+}
+
+pkg_postrm() {
+ xdg_icon_cache_update
+ xdg_desktop_database_update
+}
diff --git a/games-util/nml/Manifest b/games-util/nml/Manifest
new file mode 100644
index 000000000000..bc8ac35aad72
--- /dev/null
+++ b/games-util/nml/Manifest
@@ -0,0 +1 @@
+DIST nml-0.7.5.tar.gz 578976 BLAKE2B 630afc4b532a76ff7dea84b231636cbf8fa50197e43c11eaa1fdaa80b2acadb61d35dc07119f57417d7cdae88d39d516f52bac49aa56fa3177e287ab11bd07b2 SHA512 6c92ce5124e2c4bc641ff8c14a2e88e2576ef06dccce8fb5ffee1b1dbcee2b9640fa51410bfb7aa6b800b00274020b38161617aa41712d4d358612493ea8fe26
diff --git a/games-util/nml/files/nml-0.7.5-regex-py313.patch b/games-util/nml/files/nml-0.7.5-regex-py313.patch
new file mode 100644
index 000000000000..bef0c1002e21
--- /dev/null
+++ b/games-util/nml/files/nml-0.7.5-regex-py313.patch
@@ -0,0 +1,20 @@
+https://github.com/OpenTTD/nml/issues/340
+https://github.com/OpenTTD/nml/pull/341
+
+From 0bebfe612d489a20fa5a71b06963ea3ee80379d0 Mon Sep 17 00:00:00 2001
+From: glx22 <glx@openttd.org>
+Date: Sat, 5 Oct 2024 01:00:32 +0200
+Subject: [PATCH] Fix #340: Always use raw strings for token regex
+
+--- a/nml/tokens.py
++++ b/nml/tokens.py
+@@ -195,7 +195,7 @@ def t_ignore_comment(self, t):
+ self.increment_lines(t.value.count("\n"))
+
+ def t_ignore_whitespace(self, t):
+- "[ \t\r]+"
++ r"[ \t\r]+"
+ pass
+
+ def t_line_directive1(self, t):
+
diff --git a/games-util/nml/metadata.xml b/games-util/nml/metadata.xml
new file mode 100644
index 000000000000..32ec6639af48
--- /dev/null
+++ b/games-util/nml/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>games@gentoo.org</email>
+ <name>Gentoo Games Project</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">OpenTTD/nml</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/games-util/nml/nml-0.7.5.ebuild b/games-util/nml/nml-0.7.5.ebuild
new file mode 100644
index 000000000000..2fea2fb6adef
--- /dev/null
+++ b/games-util/nml/nml-0.7.5.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_SINGLE_IMPL=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{13..14} )
+inherit distutils-r1
+
+DESCRIPTION="Compiler of NML files into GRF/NFO files"
+HOMEPAGE="https://github.com/OpenTTD/nml/"
+
+if [[ ${PV} == 9999 ]] ; then
+ EGIT_REPO_URI="https://github.com/OpenTTD/nml"
+ inherit git-r3
+else
+ SRC_URI="https://github.com/OpenTTD/nml/releases/download/${PV}/${P}.tar.gz"
+ KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+fi
+
+LICENSE="GPL-2+"
+SLOT="0"
+
+RDEPEND="
+ $(python_gen_cond_dep '
+ dev-python/pillow[${PYTHON_USEDEP},zlib]
+ dev-python/ply[${PYTHON_USEDEP}]
+ ')
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.7.5-regex-py313.patch
+)
+
+src_prepare() {
+ default
+}
+
+python_test() {
+ # the tests involving sprites seem to fail when running in the ebuild,
+ # unless --no-cache is passed.
+ emake regression NML_FLAGS='-s -c --verbosity=1 --no-cache'
+}
+
+src_install() {
+ local DOCS=( README.md docs/changelog.txt )
+ distutils-r1_src_install
+
+ doman docs/nmlc.1
+}
diff --git a/games-util/nml/nml-9999.ebuild b/games-util/nml/nml-9999.ebuild
new file mode 100644
index 000000000000..f2d3baddb0bd
--- /dev/null
+++ b/games-util/nml/nml-9999.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_SINGLE_IMPL=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{13..14} )
+inherit distutils-r1
+
+DESCRIPTION="Compiler of NML files into GRF/NFO files"
+HOMEPAGE="https://github.com/OpenTTD/nml/"
+
+if [[ ${PV} == 9999 ]] ; then
+ EGIT_REPO_URI="https://github.com/OpenTTD/nml"
+ inherit git-r3
+else
+ SRC_URI="https://github.com/OpenTTD/nml/releases/download/${PV}/${P}.tar.gz"
+ KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+fi
+
+LICENSE="GPL-2+"
+SLOT="0"
+
+RDEPEND="
+ $(python_gen_cond_dep '
+ dev-python/pillow[${PYTHON_USEDEP},zlib]
+ dev-python/ply[${PYTHON_USEDEP}]
+ ')
+"
+
+python_test() {
+ # the tests involving sprites seem to fail when running in the ebuild,
+ # unless --no-cache is passed.
+ emake regression NML_FLAGS='-s -c --verbosity=1 --no-cache'
+}
+
+src_install() {
+ local DOCS=( README.md docs/changelog.txt )
+ distutils-r1_src_install
+
+ doman docs/nmlc.1
+}
diff --git a/games-util/oversteer/Manifest b/games-util/oversteer/Manifest
new file mode 100644
index 000000000000..6e4062ba3c15
--- /dev/null
+++ b/games-util/oversteer/Manifest
@@ -0,0 +1 @@
+DIST oversteer-0.8.3.tar.gz 159071 BLAKE2B 30cc41e000a67d52a7f759019d97fb5a5f2d031de278ac026e623cbed2a020df9141cac1fe41ee1a30ab14c7c2846bdbb31d0165badac45c95c25750721a9ebb SHA512 d80586d5d5135191e3f3d63bdd499e61a5c08688433722691b57adc21c59b1e263053077474b0b9dfed8f45e959873410df21362c3a2765faab9352a8c9ae16d
diff --git a/games-util/oversteer/metadata.xml b/games-util/oversteer/metadata.xml
new file mode 100644
index 000000000000..adeb98ef71ac
--- /dev/null
+++ b/games-util/oversteer/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM 'https://www.gentoo.org/dtd/metadata.dtd'>
+<pkgmetadata>
+ <maintainer type="person">
+ <email>ericanebula@proton.me</email>
+ <name>Erica Nebula</name>
+ </maintainer>
+ <upstream>
+ <bugs-to>https://github.com/berarma/oversteer/issues</bugs-to>
+ <changelog>https://github.com/berarma/oversteer/releases</changelog>
+ <remote-id type="github">berarma/oversteer</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/games-util/oversteer/oversteer-0.8.3.ebuild b/games-util/oversteer/oversteer-0.8.3.ebuild
new file mode 100644
index 000000000000..4a439246fe52
--- /dev/null
+++ b/games-util/oversteer/oversteer-0.8.3.ebuild
@@ -0,0 +1,61 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1 meson udev xdg
+
+DESCRIPTION="Steering Wheel Manager for Linux"
+HOMEPAGE="https://github.com/berarma/oversteer"
+SRC_URI="https://github.com/berarma/oversteer/archive/v${PV}.tar.gz -> oversteer-${PV}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ dev-python/pygobject[${PYTHON_USEDEP}]
+ dev-python/pyudev[${PYTHON_USEDEP}]
+ dev-python/pyxdg[${PYTHON_USEDEP}]
+ dev-python/evdev[${PYTHON_USEDEP}]
+ sys-devel/gettext
+ dev-libs/appstream-glib
+ dev-python/matplotlib[gtk3,${PYTHON_USEDEP}]
+ dev-python/scipy[${PYTHON_USEDEP}]
+"
+DEPEND="${RDEPEND}"
+
+pkg_setup() {
+ python_setup
+}
+
+src_prepare() {
+ default
+ python_fix_shebang scripts/meson_post_install.py
+}
+
+src_configure() {
+ local emesonargs=(
+ -Dpython.bytecompile=2
+ )
+ meson_src_configure
+}
+
+src_test() {
+ # Skip the appstream file test as it requires network access.
+ sed -i 's~appstream_util.found()~false~' "${S}/data/meson.build" || die
+ meson_src_test
+}
+
+pkg_postinst() {
+ xdg_icon_cache_update
+ udev_reload
+}
+
+pkg_postrm() {
+ xdg_icon_cache_update
+ udev_reload
+}
diff --git a/games-util/oversteer/oversteer-9999.ebuild b/games-util/oversteer/oversteer-9999.ebuild
new file mode 100644
index 000000000000..c7bb72fd33c5
--- /dev/null
+++ b/games-util/oversteer/oversteer-9999.ebuild
@@ -0,0 +1,61 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1 meson udev xdg git-r3
+
+DESCRIPTION="Steering Wheel Manager for Linux"
+HOMEPAGE="https://github.com/berarma/oversteer"
+EGIT_REPO_URI="https://github.com/berarma/oversteer.git"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS=""
+
+RDEPEND="
+ dev-python/pygobject[${PYTHON_USEDEP}]
+ dev-python/pyudev[${PYTHON_USEDEP}]
+ dev-python/pyxdg[${PYTHON_USEDEP}]
+ dev-python/evdev[${PYTHON_USEDEP}]
+ sys-devel/gettext
+ dev-libs/appstream-glib
+ dev-python/matplotlib[gtk3,${PYTHON_USEDEP}]
+ dev-python/scipy[${PYTHON_USEDEP}]
+"
+DEPEND="${RDEPEND}"
+
+pkg_setup() {
+ python_setup
+}
+
+src_prepare() {
+ default
+ python_fix_shebang scripts/meson_post_install.py
+}
+
+src_configure() {
+ local emesonargs=(
+ -Dpython.bytecompile=2
+ )
+ meson_src_configure
+}
+
+src_test() {
+ # Skip the appstream file test as it requires network access.
+ sed -i 's~appstream_util.found()~false~' "${S}/data/meson.build" || die
+ meson_src_test
+}
+
+pkg_postinst() {
+ xdg_icon_cache_update
+ udev_reload
+}
+
+pkg_postrm() {
+ xdg_icon_cache_update
+ udev_reload
+}
diff --git a/games-util/protonplus/Manifest b/games-util/protonplus/Manifest
new file mode 100644
index 000000000000..3fa1d2bda9d1
--- /dev/null
+++ b/games-util/protonplus/Manifest
@@ -0,0 +1 @@
+DIST protonplus-0.5.19.gh.tar.gz 474430 BLAKE2B e8d77946dd952888d9f728dbfadb3a70cc49d2b3ea713734f17299a62763f4f83bc837aff535e381fae7588718c4d200d331383ac664bfb046abe0aaf2010d1d SHA512 a901726620cb656770b945212baa9be7bb41130060ca4cb3d668e6fa8ad3c2d9da50901c97728e846aafc11882a1db35dae77bf5f8ddca864b86d74a2ec8bb47
diff --git a/games-util/protonplus/metadata.xml b/games-util/protonplus/metadata.xml
new file mode 100644
index 000000000000..f1729105c935
--- /dev/null
+++ b/games-util/protonplus/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>gentoo@amielke.de</email>
+ <name>Andreas Mielke</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">Vysp3r/ProtonPlus</remote-id>
+ </upstream>
+ <longdescription lang="en">
+ GTK4/libadwaita application to install and manage Proton-GE and other Wine or Proton compatibility tools.
+ </longdescription>
+</pkgmetadata>
diff --git a/games-util/protonplus/protonplus-0.5.19.ebuild b/games-util/protonplus/protonplus-0.5.19.ebuild
new file mode 100644
index 000000000000..45059bda8490
--- /dev/null
+++ b/games-util/protonplus/protonplus-0.5.19.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit gnome2-utils meson vala xdg
+
+DESCRIPTION="A modern compatibility tools manager"
+HOMEPAGE="https://github.com/Vysp3r/ProtonPlus"
+SRC_URI="https://github.com/Vysp3r/ProtonPlus/archive/refs/tags/v${PV}.tar.gz -> ${P}.gh.tar.gz"
+
+S="${WORKDIR}/ProtonPlus-${PV}"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64"
+
+BDEPEND="
+ $(vala_depend)
+ dev-libs/appstream-glib
+ dev-util/desktop-file-utils
+ sys-devel/gettext
+ virtual/pkgconfig
+"
+
+DEPEND="
+ >=gui-libs/libadwaita-1.6
+ app-arch/libarchive
+ dev-libs/glib:2
+ dev-libs/json-glib
+ dev-libs/libgee:0.8
+ gui-libs/gtk:4
+ net-libs/libsoup:3.0
+"
+
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+ default
+ vala_setup
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+ gnome2_schemas_update
+}
+
+pkg_postrm() {
+ xdg_pkg_postrm
+ gnome2_schemas_update
+}
diff --git a/games-util/protonup-rs/Manifest b/games-util/protonup-rs/Manifest
new file mode 100644
index 000000000000..4f62fff7922d
--- /dev/null
+++ b/games-util/protonup-rs/Manifest
@@ -0,0 +1,387 @@
+DIST adler2-2.0.1.crate 13366 BLAKE2B 3b28bbd7f89424567ff1bb36b984bf4fd767370459f5548545218cbe1c9f082fedd932fccc7e6acd83a1dfa06a371124801a772e5555ede7d6c2cd1ac57930a4 SHA512 555b2b7ba6f8116acccd0bcd16ed34cc78162c81023cff31a8566ffcd456c03832089fca2d5b668ceaac4fe8f922d31aa9c487f226a36cace294ff4a219bd91d
+DIST aho-corasick-1.1.4.crate 184015 BLAKE2B 088766e505a828a221a9bca29cb1833ac3964a538cda62d12b723a263fe0e588406af0b710cf87ef67b0ccb9aa3bf69f42e0e5225ade47abe93c73fcaca69ec1 SHA512 c77e35191b00546f5e499fab154170cedd619599e7250f92db9fba0a41c833eb426f214e58b00c5c39f8757406b33492b3241cb8cb233ce384ad0683c3ee4b62
+DIST anstream-1.0.0.crate 28916 BLAKE2B a9198a66bd3821349f83d7837ba7546a12a74a6f57e179e480bd6bf4a75848a45dac9a19a27c5e2cf01520c7e917d380b21ec16e4485f69bebe112383ba273f2 SHA512 36bf11821e8bc23607a54842b47950782806ebc7a56233e3c458345d79986745f6ba878e39964ed41404eb5be58f78d0bbcdceeb86d523ba40eedd15f7e1f29d
+DIST anstyle-1.0.14.crate 17787 BLAKE2B ebb3b3986c06628ebfe71665216de68f123840093013fa16c030c25e22ff0731cdcd7161737635c532d45ad0307a1b7f951859a40dbe1c812b3e905550b33b90 SHA512 2e7bbaf0794d209f0f19fb8709214c1b1109c27e14d91a8adc232a9bdfe76e653b2b86e341d71f63903e034c81f6ed63ffe7f123f6d631c0f8d41b56d70037b9
+DIST anstyle-parse-1.0.0.crate 22042 BLAKE2B 418cb53754b325354a76d75cd73652d2e41408911bcfbadf91f668e7d6942d92ae3c379194f1d38bc6aa26a9ad98c92801213ffddf544fd2ce29a1180179a8c4 SHA512 4394616b0aa7a591eb9b9bb758abd2f067a3fe673b060c02857f6d2210a2276c476f32512aa59aee6c5383e3261f2654058ff619d957bee93d62540e10d81085
+DIST anstyle-query-1.1.5.crate 10264 BLAKE2B e1c1bad89ad4c09e48f9d7c417713953f7f468f10f7f61e351137be801b5986ab3d21406411b0b23c42af4a2b5881b85aa68dfc66d23cafca7dfcb88180104b7 SHA512 3b7b888df0b678bd4560981dd94a51a6af9a535cc1a869bb4577e832492bb6de718a3ac80ecf61f8857b3d0ed7b95e444e85bd00ef65a46c6a244d0b0eadd95d
+DIST anstyle-wincon-3.0.11.crate 12638 BLAKE2B 01f1ce85205ed3e573daca145ae420e9f7d78867fc036133be74bbcc9b83231ecbc681b57eb98bec622bcbaaf4bb293d05d3021a29b49a0a71b8ab89b0ae9dfd SHA512 09c3215dc6cef75d6282078e68c5dbd51580b6c8db79a77932d2e74a51d29cb0ef23c31b8a73a71896a45eb5dc5f94aee209bd8f6e5df4c675dabe3cd304a96b
+DIST anyhow-1.0.102.crate 48658 BLAKE2B d9c7b7c50b7319be0e67bb236e0420a67e3fd6d6f4bd53a84cafc7a5385785275151832be472c0063405e6d458b5add3907b670ba5e300e08efaae699ab77c44 SHA512 18064a92b6d577151b6f1be3df0985fdefdc5f7089ac0aa9bc92a2034c780eac5b71b8fbb260217aea122bee7c950ff00abf4b6d8f4143dff889b7164c7d6f0b
+DIST arbitrary-1.4.2.crate 38307 BLAKE2B 4251f69caef0db91fba9a3f3f113e7261cf20472592a2b822f15d7208f1cbbf9a43ab419b63acf7f4e244924e7e95fc3e5d0dcd484a358dde6b9bff24cf994ea SHA512 2316345897692b3ce13b6c87d214d4911bb584aa4ba7fc3d62c44cd15d6048aa033f8910045487acddfa879338f45323f8c4d59191ef6f9fdc3c6290f1b7f492
+DIST arcstr-1.2.0.crate 32237 BLAKE2B d8ea5c86ee44fd63aa53a420c29848b4ee6bf1a57f1a0b3152aa058e8125f8ff4982498cb1475880df62f5ea0bb480a03662f18bfdb7d63400a765f7321bfffd SHA512 03c5aed1585f115ca67521a12eb19fd8efca6a5f60ae1011d99b218e9123af71ac155d94b10fbbe03d2268041230c0749917f26bfd5be831b470605272f65222
+DIST assert-json-diff-2.0.2.crate 10874 BLAKE2B 41ad996270b425f6dfec41bbf538e6e235fede9bd65a1c54908013e0a2eea8a5fcbb692842dd62f02cc94c6f907ba41cb14c0ef6ce793cedc441753d5d179634 SHA512 73aaf6411a552b24ab69d2f13e1c5880a96f84cb1b62dcf67a15f4889f80947c085826e4ed2fffd5cc28351842538d0de91ede45397d349099602c4719f559e8
+DIST astral-tokio-tar-0.6.0.crate 66198 BLAKE2B a003477b7286b922169393e477785354b0f23cc7142ce6d9293da065d61b91c98e07ddce347b9b3db0ecf8c5f0c79eb65b2719f8afc7f5cd80ea5fc11a56d1a4 SHA512 331364278db7c730806aad203e71133e2ba77ab5fb79601540951463b4d7ce2278ffc5ed39803f7976c367fe877be1d0c6aad1e0d4cbad6de75d0b1c2ed7653d
+DIST astral-tokio-tar-0.6.1.crate 67325 BLAKE2B 1067bfdc8bef567851729e9f6f5574cdb4730dcfe82922e4c3ed2ebc5c95bce1fa94e75595cbb1e8dccec247feeb5ceae4c0255a3927d59c8a2759dbde882a17 SHA512 64c01c88b148d2f7d1d290b21a1e9439b345fb5f1af2f061964dae67039fa7abf7bc0b45c99bbfe3dd19aa511f25574760ec26e9aa6c0ea785d2a5d935340137
+DIST async-compression-0.4.41.crate 99469 BLAKE2B 42bf9340cb06ddfd9c3064c39a4f260fbad96e8c298151cc7b279fc011810e152c56bc3dd5c365b1a9fed440d49cbe7459eac388c2b031228ca28c35541ee08d SHA512 151b510a188461d154e415d77e2cbe89fe9d66d5d78e762f5c098713ad1f34657cf1dd478f308b757345e918b8b70406e5ba79f3c24180f46e95a9d639239da5
+DIST async-compression-0.4.42.crate 103805 BLAKE2B e936d27b243e7c645f5f6f515e39d445973356763a7b8cde8616241564e39f6bd89fe97c6e5ec9ac49e71c069ba18d83f6c97336028120d4095a824300b40a9d SHA512 d90ad9afb5d37ae23d875690157013aa9b8c25814c2315db4b2e518b10744ebd619ff22c69323978857b73f42b4ceebee0ccfa96f9e4c817006f24108bd7c49a
+DIST atomic-waker-1.1.2.crate 12422 BLAKE2B fc6632f3c9d719b1d24a1c8e05947d94028909d1c629b80576e176e567636dd4cca699c7e91cae2df63541da574146b3ce766374e93f0ee429bb5bc89a4d3cae SHA512 e07e58db7955791259d0ec00fc4d53318aefb4506e062914819c4220c6dc75fa11a7af0289b4653aa1f9041eb975a025635190de68b4800a0e91e33cdb0ba11c
+DIST aws-lc-rs-1.16.1.crate 223268 BLAKE2B 5fa69c8c66e453b4d86a74e5da35cf94a4afb45ade7585e0cdbde62015c8e7473a26c7f829a08c64f9d8544e42a7380281e05024d0b23311f6f68c45308c406d SHA512 aec36aaa7dd978b1bd6951f7859443448242b4e6b3dbb2f2806fd25ed4b7ccd1d1d94ef0fb83af22e5e460a1f460396db58a89deafefcb07469a1397a02bec0d
+DIST aws-lc-rs-1.16.3.crate 225439 BLAKE2B bfe245a260a1f472eeafe1505245f0d1aa57829e71ab2a8e7f5f55a7753b26f0063336db2c41d59545e6671ef9d87e874963f789cc5610c7ce4b8045a23c06d6 SHA512 f40b0b607bda7de3be97b3656bfad688ae7bf0530777c8bb6f4b17689aa27685f031ed3c63f9768610faba8d3b61d41a8dbb16cd917aff3b6745d99fc3a413e1
+DIST aws-lc-sys-0.38.0.crate 9678972 BLAKE2B e66ac8e24462a18f166a176f33dbc8d6877c6108eb40042eb33746920e7f58a08ed93260173528bc9b33538cdfee91d4320b3807f5cecd1e2e3890236f9a1f85 SHA512 2833fe5c66e3440d38951b1a3d447e225b4e0f7cfa10be1c12219d51b5962f4db26683c8d00f55f8d20edf7beebaa06c9c5b5a735de230ac352628c2be4ff9fb
+DIST aws-lc-sys-0.40.0.crate 9515863 BLAKE2B f09191f966becfcb47c6ceac0bb0b73b267fc7927c701fa21fa38bca4f2e0fe1b4afe357ca88e21cd75482db309a10b43d1a220781fa311d81c72e4f09e05f95 SHA512 cc4db065e48a3051a73736a96c78d20794bdad4bce0604c79ab1f69d5de8f1f41285cae5135ad7c9d6f7ce80e170dfc23ef0425e07afb9f19829a91dcddeef0a
+DIST base64-0.22.1.crate 81597 BLAKE2B 6f216a560bd36e6e6b74e908344b457594cc768d9763070e269b56a14b150cbfc4b7f599d4c2a0a5f783638170ee132f0796fefb14fcac7fd73c58db0791007a SHA512 91cf2e4e7fc8815f9b8a86a7fa722a20eee3dc1dd57111b29e420de87ce7836bcdb1db01d3cafb9a977710ef63e7cc41b7772762323e68e0e832156858aace20
+DIST bitflags-2.11.0.crate 48906 BLAKE2B 35764719b3070c5f9b51d35297803306ce01823ef07d720e5ea5e112c072b45c4d497f6b63285b1a0fce2842b1468bc252b00564c2ece14211d2af2cd26c2faa SHA512 d6c0de6c06ed8d1249dd69de035dfe5b23d9f1a8fcdc7535756622cf660807c5e1c692dee1ac832c06be1ce41b225e3d60f36be4d1896bab7d986d18946f6c48
+DIST bitflags-2.11.1.crate 49082 BLAKE2B c9c875b54e0a12115ecd846ef0a66bc7070d38892285a4142f1b1f26b07d407fa440a2943f310046f5fbc9a2428fcc56f2e44d06360e551d4b27c9b8cf93eab0 SHA512 c91b5a8b420d8e875a0906ef9b518a392487fba5399355aa5e908132149ddea7cc4222dd271cd5072e50dd9abd6e56420f4205652ba32a57af46bf07636604b7
+DIST block-buffer-0.10.4.crate 10538 BLAKE2B d819c4f9c4be85868e8b105fb7e479d2e58d3ed85c3339bd677a3e111f85cb1ff624a54d7802ab79a6e1d9221115f66388568340480fe83eae1cb448f19f5b11 SHA512 b7d436d8e627e16e6ddc300ee8f706a6cef28ff6f09eff848eedee46f84bdcd03601303c92ab8996042e55922866a59259948177c0a4496eed723523e77f6fdb
+DIST block-buffer-0.12.0.crate 14926 BLAKE2B 8c62650f39117c337c167027d356339ca8e20277e78b0e045e32cc3692b8b5b1d8023bfde5887edb22be6dd5d787fa423380b53d18fb8359c43501d28a88f3d5 SHA512 3ebe9faa231d777f76dbb7b78c72eebd913b109cf929b0a66399758d06829a7c1cc9ab06f8ac951739d91be0cb402a49bff918228359399367ce8e69a112da78
+DIST bumpalo-3.20.2.crate 97696 BLAKE2B 0c744cb37279ca82e4c2a60be64c63e61c8290c9ff904c4a2ffd0e23f9ba96b1d63a30cce83fc757cbd40364bbe5e410da024c04cd9481f33831cfacc2133156 SHA512 4c725a4eb436fc9b3302430f5bec699563bed4b6a86c187defba9a83b749089eb6b00a6855afa4d42ac5eb324088eada3c0713f3e8c2d1c85bea4dcca83a4a60
+DIST bytes-1.11.1.crate 78584 BLAKE2B 4985426ff626d880a0da3d592ba48d697c88a83f48177e2b7380cb55e736a43f3cdf662d99cf0908b599aa8eccfebff2910405559e490b71adcf3f078673cd72 SHA512 7933d18c1a2c1496add2c7193e92c3aa17029c530b7031604ccb7c77c68903f53cf7d41396448b32bdd4f540fef4b37564972dac7b225e6e2ca99cd61179a6ab
+DIST cc-1.2.57.crate 96188 BLAKE2B cc59c45170f146e45569b36b96cb037b737f6e93640ef9adbf423fb6f61fc07a0e48efc6e53a8536f91210c95971b15d93e5b8544ff5996b14902f181ff39c97 SHA512 9bcf7aaa2791ef9d2054fd93489a019c4a77c3376495bde01468dccf9ec81701061467372adcd3759f6d4ae962ac108199544860a4d3c5de7595bf28fe76c187
+DIST cc-1.2.60.crate 97051 BLAKE2B 292350c3fe7dc3e023fe4f7cd07b3a5a7233996963b42391243948f834a17cf69781bab32cf46d62722c45437f50123450811dce8aa0e96ee63f35480cc15d90 SHA512 d67fd7400bd1d20f26f7a6743ac02ad09dba0b8002172b87907f4a7ae2487ee41feb2f24fe375ca91a3ac4fde1dc8b48b6703b74297c9eb42bd1e91ac8fe4e80
+DIST cc-1.2.61.crate 97163 BLAKE2B d46641d905e44c60e36c3918c6fb666c7d5f19316a1415e5f51909f79a00773bd763784a71aa7ee85a4c058177596a06a5c4a807904bbd2340c31103312d415d SHA512 4728983b06cf6cfb8a042759b7da2d9123939cb3c87fd78d3d7dc565871b5a4aa522afe515bbfff62218d8ef5ca16ed88f777c30b746820c13c9a6bf98dc7ddd
+DIST cesu8-1.1.0.crate 10555 BLAKE2B 4fe369d1247c3b30ff9beb644dbe2a517d78632191f3216bb83d632bc8857f9541a1b60d0bb583cf3fc0ae974f7c9d2b07fca5efe2057d9ef281de76fe810a49 SHA512 2d902b624c7ccfe3633c7bcf99b833b120c0ed7760ea825bfb2fa03ae90df543e637efd46e0743782b81e468e0fd3b534956ffca81f9bdfbf742ff3beae8f8b8
+DIST cfg-if-1.0.4.crate 9360 BLAKE2B beadbfb273ee97cbb6e3740891fbace57511399ad203459b66b397587d794677a9515cde4e9ec4320c3795518bf1551d72b9a889f8ac4b225168f493288b7c19 SHA512 176e04df7ba783b7143bb84397b777f5c5a1305c08a5c3a218d4a66830620be89ed68992ba27686165bcd3fb2f34b2daf80b2a1d4b481ecc267c988e84d28e9d
+DIST cfg_aliases-0.2.1.crate 6355 BLAKE2B a758d9c88527f0e6e7cfd6d4c83eda1bcb4d6e2438189fe08e8ecbcaa78d56afc5a4873f3b82bf7da96afd690b44cdf1e44466b6da0f37c358b340481017103e SHA512 74969d12d5d24002a29e08d52e30fbce014dd481a7c35ee0162e69333c5f2d7755f3b02439b31522e12444cf1ac8e65880ce33fe6778dac03757e362cbf8a72c
+DIST clap-4.6.0.crate 62930 BLAKE2B f184cfb0d40adef5d0b4ee0370208bdeb6587b9dfd1b37f71a577cfdf77101100b4c47809ceecf946a855455ab836273aa6b8bb6570d0c126a82754f16bd95ba SHA512 bc5641690f0a0ed2b660836590174641e568be3d2b92d5dc91a82581fdef0543640190fc3c8ffe765f0245a88c0f9809d4e136af156a3d480a680da28e8ae5f6
+DIST clap-4.6.1.crate 61836 BLAKE2B 0e58b564b1c7792c4380284a61e20324495906764ed7ee7e9e62eac159d5f81508a82deb26cb294c85f236f77be79ce0cbf0253ea7544790ea3a5c0941acef6e SHA512 7e1bf1cdfcf8fe1f67251073e9ebabd92b44a7013a2245dbfc3a7368132600a30662416635a329067b97a8845af3c68274ec6ada3bd72d110b0aee5a4d7c986a
+DIST clap_builder-4.6.0.crate 171122 BLAKE2B 0a6ac216ceee45625500379640f9306015f749c377d14c6c9538fab7988da89b39e260bf8736d7ca055c6db32613fa7a9e73f325fc496d7521ba3453c8558348 SHA512 43b26377a8f15d29f8fdc9ada914888d87111084c5e205308d166789a27d91c2d8db6756b24d48ef8a293c92ca4c27dbf5433db21e336b2116d51377116fabd7
+DIST clap_derive-4.6.0.crate 33435 BLAKE2B 93fef598637bc3674a7682f724412d5b515c3d219fe4d7e854dbb47864be598046e84c025a5245add4e9431b305d232e6207806cd87aff72cb3552c490426aa6 SHA512 4b642e4bda3af45b21fda189094f73b295c6890f2af533e1541be0df8669d1c7d8256a88dfd47f488ea6adab65012a213521d52dd902f9f11fd3b776923da1c7
+DIST clap_derive-4.6.1.crate 33512 BLAKE2B 36d4fcbdd0eb22ed872d27da80a1c22baf718533d43cb762f109f80abc8d7e13a92fd293db40ee2ca18709e7bcb8cab0f06eaf48dde336e67df90e83f6dfbd6b SHA512 ed210527cecfe3791b9d5af7279b337890b46b61fa05fa6979c88db1693ddf0ee5a4eb0904dd93e2da76f5c870963cc79b90d87cfc3cecf166a65364c16ffd06
+DIST clap_lex-1.1.0.crate 13470 BLAKE2B 3e4895620e2922bd95ab6e3aee296457adbe70c2b3b2fca24c48e5bb700ed622401c68f494a266b91f1b82a7ee109ca90d4eee7ab6eff35e28b5fe8038398e5a SHA512 d85237e0558ebc745b08a150ba8115133b1ac1ebfbf6b2abf632863761fb70cb329639bb1c30625b9e786bb27b19438af11c123c508fb39e682f13e294ea6d9a
+DIST cmake-0.1.57.crate 20376 BLAKE2B f9ec6c82ee8ed862c524d1ff7fe335379d128aa44bf5e904372aeecdcb3e78d2a9dea73a2f90c1c25301cb3c252d5f4d9313be56ff3e91fe9f7ce732167f44ef SHA512 34ff920c0f866bcc5fa8ba385b1945629c9174b6f3b006ada9f73fef945f67111f17342304ff74f69630bba4ff7450a402e1017a99fabc1296d276df4e4b633b
+DIST cmake-0.1.58.crate 20474 BLAKE2B 4a6bf6a74e2007223fff06df2f87032efeebcbd12b43b68cdb905658e94c2c7cdcdc041fda5a5c52afa7b7cdfde7ffe11f39b72e07965b6642603dd4d6578ef7 SHA512 49420a5d7d71ddccc21b71373769e1e28ab98c9af1a0c5d59fc3127e6dcc45cb1b7c6b5a37c9110907daceda7fd10bb59344f2bb8f041b18d62b16c22c5d0d60
+DIST colorchoice-1.0.5.crate 8187 BLAKE2B d6415c5b337e2f4f5176003082e6e8c52f55a45ff959376e7a3f30e5aab1ecd3f84f9cc5e7a8a720398c1b58f99a07cf042695adb0b35178931178cc8d77d2e8 SHA512 af3a5e7e837b280cd8f0578d2ba2a04443d4c5a445577f444af9edeef6cdb47de134f77b07ceda76ea6b2c73b9c10e1d7e3e1beabfd22b85869585c35db88bd5
+DIST combine-4.6.7.crate 134808 BLAKE2B 1f3ea9962f4ed4177a9c028d04934b5e261df405c1c0282c74609e0e6a1490a92b262ad26d1d21dae977cff8795bfa3c1f85aa43fab13a88227394d61d93861d SHA512 b8232b0e1f94039cef3ad4a0a35a972eb49f4f198749d2fe50aa3fd2a77614f2d24e51f3b4465243ce9140aed6bd048aaaae189a7ba864e3d23843e9be0c437f
+DIST compression-codecs-0.4.37.crate 25424 BLAKE2B eeb57d38ff3b2f6c3a0d047a3cbcff3c5990a62abb08e3a68ef1e7e3ed13991da35c78ba7f7fc3734d5397478ab851b009fbc427e9f1baecb46a70b66de231b8 SHA512 52798435977aaba8f6e8a456244baf3d9f8d7931f243da6d178aa931bad223a581d2c14170db690b302cabc12f31fc8ed726ed1b00fbcd0337a309cf14bf2542
+DIST compression-codecs-0.4.38.crate 29877 BLAKE2B 03c5fc90aef55a7dd041048b6f9bdd09998fe8b6f5e9660a95c6179701e5289d4526358605a5c2d6afc0bac1c0729e5253a795d93521f1b45ae4fab67cfb9991 SHA512 3e4e23cf3ab5ac7865a1b5880ecc9716162b4aa261f2d1179d5105ad8ffc81a3065c341d0c0cfc07f3031bf8f2aa6ca1dddce7fd588ff5a75db15d7001efc219
+DIST compression-core-0.4.31.crate 5749 BLAKE2B 612d9abe9b1d0457a7673552b024e6599a75fe28b52c5aa653277abc2d04ce88b7aefe9dc0d59b2bc58af36e2d66297580a1a23701af0eec20b83c72f1f8c3cb SHA512 218fa450d10dc37a8d858764dc307a56c29492046cae953e7405e723a8f298f18e2dc8d2e46bbf4bfca77999303548139c3f6efe0345c233e03c3bed537ba3f6
+DIST compression-core-0.4.32.crate 10083 BLAKE2B da7bfe6380c27e44d571060c17cf16fafc46cecd7f826d76d1a3523d65dccb1da134ffd84c33b4db675313161f2535c9e6251dc270e32689a071d715d6ef8515 SHA512 0dddfa0dd0f00041fdfce0a0803322eb88521c2bf0911103327cc7459be7cda79a9abcd5dd3573690563469ab3e7b2547ea27846e32da0e99b7e49e58615caf5
+DIST console-0.16.3.crate 34041 BLAKE2B 304d7d28d5d2e7032a4f5432644ea9d102c31e6e6563a64390fdc32d4e51200bf735118065569caa34885027cabc4859b3defb05443e2d1fc460f9849bef318d SHA512 c9dc46360bd2c0d7bd4bb34ef1c44edcec4c2ae23141888a7800ee1e0e85b0e020501b6d880ac71731f9e43c1010664b7a5ee5f62348ca272f9bdf6d76caa0eb
+DIST const-oid-0.10.2.crate 61449 BLAKE2B 47249f191178e370ea39e4fc31f9ec9cd81b7ad7e89bc14a02eb81932128ec15d51a36baa28b792b05b95329410ff5aef9de3285c4718f1bb2cf3c9d54c73742 SHA512 9ad6ecce2c1d4c177b53d602b9b610442701e72daffa370af71553a380cdfdbea800fb8d7413aa2df273121dd6d0a511fac4b64a10bcd2e046ec19b4eadad007
+DIST core-foundation-0.10.1.crate 28886 BLAKE2B cdf45ff591a441337ef35cc4784993f95e398e5aacfd91d6d8eb0a3b38f9a6974f6a47797fe63da569a07c6ce7fa8b4069d084ddafa10c85f31ed543fa7d2f99 SHA512 2d7cbb4fa6b5684e700337eb86ab5c0566a69c027bf7a7eb19054e9d9f8955a7cb069d3e31ec046be4fd1a4ce1883155be8f59d223758974a649cff80ef0a065
+DIST core-foundation-sys-0.8.7.crate 37712 BLAKE2B 0e1dd99a5bbb0fe92f55181a37426f6e86445cb20e355f553b3162c88ccc075644461731a0cdcd93dcca65b6cef1de62b409afbd73ba3070a199ab8e7422dcfa SHA512 17492d5314db03abdb3b1998bf0c396ec8ed0f83bc978ae22d6026afdc86c50b58cbac073b3a0d97b92da7e98be11302faf1249d24313494bc058add4f4cb63a
+DIST cpufeatures-0.2.17.crate 13466 BLAKE2B c6392b635542a6fe29958fabe7ce725354a31e24f6f144718553218247881013f56659d2efc671d47394294373db2d4ff8f45c7cb520ac22f2ee5c462858a1dc SHA512 9ae64656a21cfdd0528d87ba95f6213860bf72ccdf866019e65ed6662633e73490f92c42c80125559b3dbb7822090b5faa8ea564c562e04041232809ec2f58a2
+DIST cpufeatures-0.3.0.crate 14156 BLAKE2B 9408d9b8f314a21702bde22f272d47263ef06e8f6fac116edb2464109ae2ff0d10b9d4f54d465bb6c55bea5722326bb8ee541352e6f5e03116a449930fa8375a SHA512 a842c5e7fe435c4339ba0e12169bcf1a2c2ebf4b0d02cf200f91d88a736607a930ba840a7db6a71afc6b125649a9f14ce0977599db917ee78880ec1ed9600f88
+DIST crc32fast-1.5.0.crate 40723 BLAKE2B 6e91ee57a1915c9a9f7305db24337f03cbe48fc60ef01c65ea55dfb4f1f60c9c93736d9b69efce3759d5504a1988bae7a2581a494edaaf27ee030e25e97c853f SHA512 80d473960f004148e14e5fe2f23aa0d1b8c36e96237f49a6765ef713030e8326dbc0250a561afcfc49d8733f5a6d4f9f4677451cc13e2426ffed61f8c00cd81e
+DIST crypto-common-0.1.7.crate 9619 BLAKE2B b9a31ed6f3f06e0709e7c5a86a146018c9ef67e366f27c1d4fe07461d97810951eec60e92ec1531e365bfb9ab1b4cfbdd86b6cefd8b06ef2aa170c38f3c9cae0 SHA512 dcf3a6fc81f2b6528696dc762427fb198faa9b5effe1ee9fbda795da08b0560cfd6c286b55f1360864e95284bd9a52edabcf39fa9bcce71ff0621dbfef538c82
+DIST crypto-common-0.2.1.crate 15165 BLAKE2B 3a5fa1cef6576582bb1630a57b95b8baae9f1c4a8a4427191319f40aba4646613a9a735660071c8d2cf32c39b3e9df090b2df8ff973303ae809f7661f0605db5 SHA512 d13dc1662ddad2ab5cbd350a9bfe22a1143ec4748d1be2b707bdf32461a3988e9bef20f5a74eab2dc1365c532f653f425450eef9c80498ce16ed4f071cf38ac6
+DIST deadpool-0.12.3.crate 45380 BLAKE2B 60f71ae860e0f91c25189e69864338158f5198d2fe3a6a0c19571d53ab7202b062e424e2b58c69fd2d628f36134b1bf8266726004d50b92e89563d14d3421e18 SHA512 daa3fb45ebef7778b246b37e0bffa34046b9e4119b7e5b52e2b637e396e611525d3ee279d32a9f13a3afbfe7c4e44d6119837b2477669a66eebd2dd4d382c205
+DIST deadpool-runtime-0.1.4.crate 7664 BLAKE2B 1a9574aa768115ed77e4a3694b4227a8709a1535b67a7fb1f0c847b704826908ce402b5891bf54430429b247cbe467ce1fa499b01001dfd5d584ff92d3333612 SHA512 830da91a0f7d608c6db5982d39b0c9df0660adff88a7e6a6b7216ccd366701b1aa5dc23f3e7705685ee881b8c43b689934cdb5ac0d4c50f5624d9e05230a120c
+DIST digest-0.10.7.crate 19557 BLAKE2B 61e69d78cb8d6850ae26ad7ff2d52dd6dce820d8c621230def11cc0e8aa6d883a6e1b25340fb45748db52a8ccf3c8d36a8aa0c8cdf4d4eeb4e3f870d86abe09a SHA512 0dd8c012468ab9011b89413ea4d3647d95b1f683b020a0e6274c95ed5148638b56fef19cd9044c837ad53715b582b88eed277fe96e917c27c5d7abdbf7c3794c
+DIST digest-0.11.2.crate 28579 BLAKE2B 5c44ee46951bde52ed453c616e14ae9c18f27a1ec9a1acd7207af449b4f5c70d392b5f362e4b6dea4dfba3807a078d4ce6c8db51071b74aa7715b476c63946f4 SHA512 3896a79e584f406ba424f263886e4a169bf757a0871f2e2c8203b5feab75482b7e9fae4aeec33f78ac0f7f14101ee012c32c0476fbebf4d2900532a97c61d849
+DIST dirs-6.0.0.crate 14190 BLAKE2B e214cf0c4669fa149d1e3eda1f6ba5b10a4a4b7d13a9050e63c13a4b605aae5d545bb711fb659312dabad26028f190853764acf74c1f6f31014e57c0a53a2281 SHA512 f29f0f932aa627bada67db5bd9d2661b5fb3b18d07030f5d88da28de7049eb872a2f35756cf29c094aacbc2429a3a333b54fb94d70e470288d3ca091cf6d4aa8
+DIST dirs-sys-0.5.0.crate 10157 BLAKE2B 0808bd5c7bfaceef00d62476ff459a8f3ab19fdd4d3a860b04698e51c390285ab8f01690fdec7faf01ccee5734b28c44e50a4358f30de1193a0d54ae5c6622c3 SHA512 c2ca362ad04e92c929e2cea4db359de689e512b7c76246c408f40d10f1d47c5dbbd49238e67edc0a251bd642ee292cae88992e5755035c632baec36cd77c10b2
+DIST displaydoc-0.2.5.crate 24219 BLAKE2B ba3396c93d27a99a92ff4a0f01a8d192b419bad25e48d9427b76260ebf2f9982291d77f2eb24d239c0b1fbb097e866a20bc46dc1879fdfc6637ea49928444a92 SHA512 5ca35fa59f263162389c1180331e9df607d9374bcb056cb04bc46c98e4d87277162ddb2335ffa8a8c5f69218abc3eabccdcaa71c21b8dd9081cc4146f266b948
+DIST dunce-1.0.5.crate 8244 BLAKE2B 1499ae0bb3d34e8d42e97eaf551308efc95697366b804dc83c51171a939d45bad46fce9f82a39e17b6b92fc833aecc85eabd2104823c7db30396833388125728 SHA512 36d7d75217d629185a9a9187f7d2e2dc346a28be0ad1c21b1b6bcbe3991e9cd11797e53d745c0b3b5ae94cf1e4cf141cdb2322bab86d97cc258b4145e3b97a56
+DIST dyn-clone-1.0.20.crate 13134 BLAKE2B 986c424a38fb634eaefc546a25ecd927872573647a139dd6750b5c1005d9e0ab349b47d10991a9cce51b6c457150500808c7a1af569a8cf1911525ba8c1429a0 SHA512 5910c39f1ce031fb89d4974530a60b66848038e2f2bc78bdb3d34e6f40075fb4457b8a604309bedc4012fa46b17212e81dfb376cc6b45fa2dee823a86264690f
+DIST encode_unicode-1.0.0.crate 56986 BLAKE2B 76e8915408c26bdc909e9ff2d59a1655344dcb4ca0e6accaf038434b7518f1b86554954fda8c7874285924c7d16cc81f62e68afcb8b0efc639407b558df1470b SHA512 c9a21d48ba9d50750789cb6fbe32afd903c583c9ef05a9741007dcdf64b1344735f71dd882ad71ab9e5f96f8839578ca53bca14d13d57b9e27b8cce2cd507359
+DIST equivalent-1.0.2.crate 7419 BLAKE2B 7ce4fb7b911961cd4ccfb48323eea4952110a069789c6bd177a63391c270df861afadd00c07db7b22768f0864f320e429e0200c433284f528336e2f81d071eff SHA512 8e0e2dc070794a85b276e93f9e4a65d3bbb8587b33fda211c34479a0b88504c913d8bef9e84d7996254aeabe1efe4ff1ef6259ff4fe3f9ccb90dd90070b3e4d4
+DIST errno-0.3.14.crate 12002 BLAKE2B 57fd842a717086ffdcfa5102a8c52bf8210672820366d78aadb6f159055917477e6771e9fbda88787278bf3a116bc7253dcb705b601e54038a93a1820c3c287a SHA512 1de95c9806323d63e7cc95111e67b3ba1ee4b9d47b70cec33485194574d6b584d22ff877dfbc244317822721291d537d9509ae5e46f1b45169cb478a78322366
+DIST fastrand-2.3.0.crate 15076 BLAKE2B 15c9a1c4f64d94c4bfd38ae139c6fe19b6b621a495c1b57209edd6d76d978eaf018ba77f356b5086c3f462a6de044fb5e3b172fc288309569911a17ec39951bc SHA512 267fecbb7459c8840f03425733d278dd6c4e7637b85b99552877117ed5e8015e094d86aa95841f77064136b7f382276c3cb2c2bef7b2881d272f4aa57c5cf947
+DIST fastrand-2.4.1.crate 20773 BLAKE2B 79fe53f19cbd8343ba15c21adad7397ca9e351d00d77673913063f8f8c02c0753a29828ddc7d52f2f2f68e8e1822f31060fc52d046769f6e768d510cbf2086e1 SHA512 7120edccfb1aac689412f463abb816e3ec2e7c6f7da3576c060229139c11af5e69408bce42dde4d78046cd09ba8db53a6f9c4fdcd68e5fb151b72a0906a8bc7c
+DIST filetime-0.2.27.crate 16678 BLAKE2B 7ecc5d1153771eb322e3b885426a05d4b8f17c7030ade7fc825b32edf23ec52db2a0024dacb1bf34f2e1b194c759c0fbc06f711f010d5786a5a18f114515a54b SHA512 f1daa3074b0686b54e6232b663ddcc442c991e35a49743630206f40b55d710687d9eebc525a47ac747bc123d8301d8374fea7c1dc6d05ea916e76612bc4c70dd
+DIST find-msvc-tools-0.1.9.crate 31493 BLAKE2B 4137592addf8b58f4e4c02be537a72b132b38cecc1c263c2569fe40e2cfe4377e7141679f32661f44ed467cf9723343ab13732b3d6f4a2a84c610d0958e7e30b SHA512 729b3c1c1d520dffe5d88fc8b58e47fb7e86dc26e568fc317eea5ca8de0ee953fbafaa20ab34a6bfb43173bab39a90ff6954c11dab8d545e902305dafc8cd3de
+DIST flate2-1.1.9.crate 82745 BLAKE2B 442fc5584096924c8414e98a0cf9bec736ee17d82540fa57bddb45ee9ee18a58e7bb3b75cd5cdfdbb137557a3e5d49ab1b19f6ec92799e9c9a029b7a4d99100a SHA512 0e98a626e314485bdb4dc31419fda9569d7ab442e64b68e374ad6bee8f5524903490e2c36ea243c78847ea378d6737df50da85f6be15517596f5f93e39a3089d
+DIST fnv-1.0.7.crate 11266 BLAKE2B 81da85889c91b6567e0f555e37dd915f1bd919719d1ca10c31a6861d7aec29a49ae9c1e8bc500791bf9d6b8dbb318c096d04872c5872a4b1f7d45fbd8e12842d SHA512 2195a4b34a78e2dd9838caf0ee556bf87cbb4a8ef5505aac663b614eb59dcfc0c40f432463ede41ecca57bfe7711f72673d39a85fe03d426f1324097d5628334
+DIST foldhash-0.1.5.crate 21901 BLAKE2B 22c3a266becac17995ac996f5c9caa8dea77e36786c50464e4e7750d8f3f13321a0a1abd3a9abcfd6ff441ddea257066b2dfb7fc6fcf7468f537dbd1b0db737d SHA512 3a634fdec410d87ffced8aa1bf8dacd9316a04c51424563d60b4dd611617041f09085edfd0ec96e6bb0e0db74a0e950b0616d1fb94a31667af35af1637604c22
+DIST form_urlencoded-1.2.2.crate 9347 BLAKE2B e02670f9af81a09e8df16680dbb80708632ac9e708297fda2f821af8076fb827c011ff359d4ce50d5ddb8f4403d4e19f74a4b68d11441f32eabc6fa2e38b3b09 SHA512 07d27d852504e146d586d007b090e53cbe740da140859dfb7d647c83c1b55265a83ea0a0e514587699b1dc6b6ffea2fc913319bcc83b55ebe191801a3b429c8a
+DIST fs4-0.13.1.crate 28794 BLAKE2B e8299dce2ef4d674dcbfe573eaae274315b4893090dc5ba8632a7faf42efaaf2107de45b71994de4dc04c93be1ccbd30efb4b2617cde2d21c9e196e6e44ab530 SHA512 dc122f40a020b5806ea9db9e98a1bca1efa8f9c3f9592df774c29d1c20823afe893464d6b0a57e8bbf6ddd45f4e6ddbf93292933d2567ac9f6e7324f409e0dc5
+DIST fs_extra-1.3.0.crate 31298 BLAKE2B 96dfb4e886767d3d3850d94cc789867c3ed461feb9da0ba90c600b2b41c3119067953ba795cea5e6c8c338adb6fe6426769a6e6894ea3e02eb1ab11794eb8d5f SHA512 090d2ace0517b86dd2f54c5491366cbb6e1677f64cf64f024f7dc6a3c42c4f8c54b215e954572e2df10ae7f0e956890ecf7ccbeebf66b645c7647409484c845d
+DIST futures-0.3.32.crate 61234 BLAKE2B dd15b4558a91d8012bfd9d7ea3cf9764d8b4d9a4d9a2fcdfc10f30465d649989b637045e2cd72948dae060eab3de4ce257f90de263e4b08c3bd0cc37e79bfcf7 SHA512 ba0fab7062af4d01143ebaab728b9d836a6589821e49347751add959f7b85c685f91f99b6a31e44988d887c4301bf657c0f8d969cb3ae219235aef2528aeb4ae
+DIST futures-channel-0.3.32.crate 33213 BLAKE2B c1188af04231e661eb97652caa90fc37e784b53bd7ff604a664914db2c277321c353ab764919c2dbe68483b404de633f85baa9cc06086d5799576bc5d5117d64 SHA512 eb60ed5ee42df0778123c5967de28ca29764f518e586768cbed9b43b64c9e44812e2eb551a5259499ec81f693f00b914993bc910dd1f1f50b6a826cb3d76a8ab
+DIST futures-core-0.3.32.crate 14684 BLAKE2B d0c3ee59327998990f4cd81b8d76b6d8a58000ffda809ecafc8b7e658abffe4fc45be4b9d5e502436af8e4adef50b1601907b8256a9f65f8467beecd37ede220 SHA512 5848937ad4135fcc488690bc681bf66d6c353f063f87dfe1ea4b79259b9b402896276c10ea80b159a9adfa551abdb5b00a2c6b332af9a898766f87f177a40137
+DIST futures-executor-0.3.32.crate 18581 BLAKE2B ef9b6c7752a913d9ec420858c6e1c102c7b961412fcfa5a6832f11b1f3ce7ff47383d0b0827acbc2d84c00f3a0fd92c3d61be44eca4117470211ff3dd3de0880 SHA512 1bd682040fa15d7b6370b6c57d8109cc6e151230a3ecdede1485906c95feef911cffd15a8bdd3114e87efbba79ce444c05baa7dad6dd74aec09f2f00c645b040
+DIST futures-io-0.3.32.crate 9191 BLAKE2B 01938a42ddd4de31a389136376738b4e6fa6820698b470fad50db28886435857a9ef4b30d871559ab6a4fbdb3325cc05615a53e4bb37fa4eec2d019f26fcd42c SHA512 df7447fcc2046d5453d26913109bde4dfcfee2cb6914e963b090c68b32fd5256c65697235fa5ca960659791bf787ca6ac88b6b09c42abc82527f3d3c6de5ac61
+DIST futures-macro-0.3.32.crate 11929 BLAKE2B cb8645742a8b70286ebcb3c8f676c97726e0e8367a926d171439c8ead49933afab39111b66edb249133274641cf623086f4eacba4774885552b02132060d45cc SHA512 39a5d7d4e610521d1d6d285a5ffec43b7d331d92d80e60890448d016ceb30ea577c93eb961321cf6c314273e566964dd879f7cd4b855b9f5e141dffe8e83aff9
+DIST futures-sink-0.3.32.crate 8106 BLAKE2B 881eb606c985836f361f5133b32401f4ba84289a0c8e0e075f74ee2a6fd9ee1fb9197f53086c368c2e231db5f1e61ae88f99f578c50956d124b612f1e8060222 SHA512 05438809ce417dc5dc46c14b9190cf798e0ab5b7dd5b442adba2ba344618e076807d4884f4a8cdf2f321a27557b3e3b563805fbd51a9561e9224d7502d4a6bd3
+DIST futures-task-0.3.32.crate 11377 BLAKE2B 290a2e7f7c957acfffc8041a5ce961b84bc6b1d02412ee8dce29cdc9a7d4daccbe430291d1a735c132b907448669aea4e5a3aa292cb5ea4b466b30fcd4e3f98f SHA512 eea93a8490d7083566d7f723c0bfae01583787028ae5d8bba851625b1ccb2587d27db0cbf3d7fbfa36b51bd6d444c54905cc4d56021f43a5a440cc8b0ed73520
+DIST futures-util-0.3.32.crate 168797 BLAKE2B d804428849635088636df69330881d68474db307ac4dd5863d73d1d93c54e90a18e21663864e94f2bd86999356e19b8325e321cd5c63da6e3e05f26c3af836fc SHA512 77705985b5cefd5a9009e631689f5967320cbd1363888cc8b7eef3f7457afb38c793499fc3edd4453bc8771c43436e5da1538ce0c5ef655a5e597f4fda2727b1
+DIST generic-array-0.14.7.crate 15950 BLAKE2B e74c785e3127095625951da192a018281ea9976aaeb11019f9088c3f27748c5fed1ef25d577150864486dc48b5138d6892e42f99979339f711a66fc70756c82b SHA512 363a7b04e4102f9ca63d429721c1ada6272be6bf0a2e97da681faf76381f73f0e3acb86623b9ce2dae441de9fda704088391779b9769ec02b3c8c9f9f35f897d
+DIST getrandom-0.2.17.crate 40780 BLAKE2B 49168490a12561828bb324273c1a2dcb98017577f8500fe08a8bb7c3accc37afdc459af264da7b95a4608e53c4edf8fcec3cb240741b2ee7b128012fab975ede SHA512 23033dde606eaeacc0557e21b3c5ef732e083b17ae086dc95ac7d1a8bc1b695a9a6a7073b8ae774ec62e7477a8ea0644d417fa5da7841a3c8118694c21813d1a
+DIST getrandom-0.3.4.crate 50932 BLAKE2B 34165a6994877aeaf3063affd48eb499512371a1fdc0d890feee598b5e22c14cb8347642a0e9374cd5d8a59a8281db839e45923769260312379321bef54c687d SHA512 43c44ec3ba0668f388519b2cefbee63f959f0e078730b3f7563742522e5f4b120472024b95fc94aeb90900a15d327c3573271bb26b2de4785e589a8bc1bc9da8
+DIST getrandom-0.4.2.crate 53905 BLAKE2B 23aca6717b8fc8bdbc26bffaa1ae3aa35666f82951ced24e1d7b7530feae7eb5e66a9c81b738bbd2b09ead6efa030d2850e0ffb314dc82972fe72af361b961b6 SHA512 191d847be8c21369067b707c2c20cd56531478aca534ce902271e2693e84f6d74306a690759b17a8b1e9c46c639fe0e7be3b2fe41469eba4d7c27bb1c11a442f
+DIST h2-0.4.13.crate 176861 BLAKE2B d25efd2953e2c8ad43878497a6b949a842fb3c104d5619b0293bab6bce6b5c298d8ee27a89fa45b4753109ef2aeeae5ec9d1850c10650b67b4db52c33238ec61 SHA512 14140113cc9bd97c69a395191b6182bb7890aeb76ae8de2082f982fcb31e3b7f0965402c3bcd73ea6446079e514e4f07ee95307d0cde8afc978b145474dbc09f
+DIST hashbrown-0.15.5.crate 140908 BLAKE2B 6a360eaa2e174ddd1e9761bc19edc4b57b80f84c36bb5d64003c7206755d4175a05f39c001acaf000ec69ced9e28c3853bd64702e2927aa7c38527a53abf2201 SHA512 654682535882733b56dad632851fed93a17ad0b2d3e13e3390d7802450781501e275b0e0b39fa32a6eae092132858ed79b305238cd5771c08987c5d26af6d692
+DIST hashbrown-0.16.1.crate 147785 BLAKE2B c506e64340b65fb462545c52e85a192b21e33025c91adf1d8255e799e8a5743814c60be971db56c0b9b1208dff8147ed4a28d8e37caf8f5646fd367d8d0bc9d7 SHA512 0739f1b2101488f88778e221d86738ce557b8ae12470e2a4444099eb90d876382030d00e789dd4ee44dcd7833a87a6e570fa11ba5823beb1cab3a56784ec2669
+DIST hashbrown-0.17.0.crate 154597 BLAKE2B 1fd03ebd3df85e88abbc498ae8166d3d15f3196c52ce17cd29751be5aaca18d62629b96c1a4fd431e8b38c313e4aefbf78dedbf65bc202d9e4e69dbc1b03f780 SHA512 248f5333b23cb83fd8e439a17df85d0f5bea6dadb0e7cf2cd2d3bd0049494c125ea4fdf74ce2623884d2a3884d444689a0a7cfc9b52ad3d8de40f7498c56ef06
+DIST heck-0.5.0.crate 11517 BLAKE2B 5365ec43b2239a76b33a174f1a4292ece4147f9d382a68c6c60db78fdc8bad0afb1d51a65bcb25e96675372faa4ea37c318265030b0546ba51942f7c929e1835 SHA512 f044fc9c3d22466629fd8f772ec0555350fd611c0cfadca51d99a3d2f10e155f77c1091916c8a95a6b9b499f366c2e99a5fbf45b010f988bfb9b2501bf9f6a76
+DIST hermit-abi-0.5.2.crate 17435 BLAKE2B 695192149342273199ffb026de57e2d906249757b9b4bbceb6b40d3b2298a942a75390aeaa3ad4cad71e5d44687379dfc49598bacdb2cf989ab48864c4b2b517 SHA512 0392a8350288e5d500967bee8e98626024b47a7da331f833b9528bd7318cf43f41eefa46aa6aebd19febfadcbcb2d7c9f70d6ca3631c1618d63c60366dbe7c15
+DIST hex-0.4.3.crate 13299 BLAKE2B deab49bf3d97f6fd7c0a0855b50232422443b226362bc7a4a19e57c2e662fff2cb046d4c5bd7618ddd523045f3d8c78754508f862f9a8ca29ca9247da6d6ec79 SHA512 fd8ff33b68eea2d6f2c6b02a6d82a2807cbcdc209ca5a76e3e3e5d006917ee151f236b6d18e2646cc9a9674bcdda1d6ce6ee363a89cadd99bef00d0eea9989e6
+DIST hex-literal-1.1.0.crate 8777 BLAKE2B e51a5c567115044b7700503fbfacff6ec1bc3f7667f8fbe1639f9cd80b74c46fe6d8d834f64de81ccb9619ab848cc599f5214225124b6ca6cf3f12c10f5b2dfe SHA512 ab7f369c4cf7aa53a76993cd6f8d7f6b711a6075752cef77e92763b14b91a70f6c5561acdcd2ef933b934af73bca96d92d2ba980c886086dedfb4f389c8dbaff
+DIST http-1.4.0.crate 106978 BLAKE2B 2d86379f0a0724f337496699587cfed11bc87794219b69ba9d00771f6e5c4a880c0db72fe11171f4130fd3640228381de22292e0610be6b121fdd0d2e3bc4987 SHA512 f85bed2e41ae4cb97a3bbd69392ec660c66e2f8eda2dadfdff6328986e68e4563fc04c7fbabf08b811f2be3dce3ed2ba84e1ef8974fdb587b11615a288e4c897
+DIST http-body-1.0.1.crate 6125 BLAKE2B e253f2c85c0553382db955ce9ed18072f8916738962083223f2466034803553818e7f5a11649ebf5ea9118e7ce1067bd9b999379a03a335b88c810bcd312cafc SHA512 3d9a711619e5b14d2188fa42bbd43653dceeeb7e172cbd96d36fdf37846fa2c1efa0fad019395a4fa6da2e139875934aa56caf7332dc40546095b0a774ca39bd
+DIST http-body-util-0.1.3.crate 16975 BLAKE2B 0914cdba8bcc09ba191bc5a05ee9ec13d8ab75530b25121bc34cbff970ab95ff59ecbdd7ba4f49d997b523dd6465f57fa6ad79a84f84de0e75b75a9db3813e9f SHA512 3aa8f63bc489773c01ec7bd8e4012b515d4f037649c405b519051fb43acebb0fafebb4a51a38308c842244e6d869d360885ab64ca7b43e2b9f0c52542c072bcd
+DIST httparse-1.10.1.crate 45190 BLAKE2B ce166e68e60434c9e5659b7fd8d2b014247e798be12bdd08ed1a28bd71d9aab4047f96c6179e00fdbeff8967d27ffcc9c9ad3b76a4fbc5791c68c14ab36ac31d SHA512 b9988b4657e54931a9f8beab694d938bca7c15783c7181059770e56a7cbff801531e96eaa396615f19b0d99c37f73b39194c6ae06df1309a02097ba13e33ffd0
+DIST httpdate-1.0.3.crate 10639 BLAKE2B ce0b401c69f76252639c10f6c2e4a823574a58565d7c5cc3633c72837aa4ec3630b34b148de4378ec498db196e3b2e1413ca0e5a4d9247855380fe19a8c20f94 SHA512 0586888fe89f40b838d5ceb083084d0b8058feff1d2933faedb96896dc86eec68b541a0374a508fd11b86eeadab3c62f88568ffe2c53206fad438373a50b2e5a
+DIST hybrid-array-0.4.10.crate 35046 BLAKE2B da3f60a8f1b76607ee648949c8eb98b7ed37bf98f55384db2f0693429b92d28bdba237a353f382aba00665a19a49f04c72c29872515ba2192b3eda4e65abd058 SHA512 12a5884b11b4ec82a03028bbd9d65d19e5e5e4a78ff2e6d46c4cffbc256684831fff850653d6d7c6a6583a6f2c91ba6ed184a1f2ec30341ae4110f33a5341d6d
+DIST hybrid-array-0.4.11.crate 36102 BLAKE2B 863b9997d81751d7b870db15f9cbca5d6190d7facd4358a4d1e814d4b8657e08ad05d77ae939082960e95e639a47a5a73ea32eeb21c71bcc6b4093b6a8c02409 SHA512 c667aa4f00b96412252d3cf30b6f6cef8323d33154bfd0166aec1aa9218db7dc800a6accbd0a175ee127717cadff73b4bc1d8ab22ba80b011ddb3b96996cc0a3
+DIST hyper-1.8.1.crate 157353 BLAKE2B ddaf59d791c00f20eb177c762d16b5b5be6eadeef8d4d39847647ddf82d013070d97f4aa681d6cb91e200d320dd6da91d2e8a5652e3a58febbcc643c6f87a40b SHA512 b7a9638fcd74828b447966025b172899943ac8f9286860646e7fd073a796f32b0ccfea5d656d0e5c0c55b8a15db613370c0cd0341b55bdb15abaaaaf23b4c623
+DIST hyper-1.9.0.crate 160126 BLAKE2B 9496ed43c12b9168087258110df36122040785b96d9247a3dab59563a05fed0f48dae59725f85b3acc561406ce55c6aeb39cf40685b2b3d0514d71116ebfd0dd SHA512 869a96c81a475acca48f890f2ec7e6c071cc7265b56bd85d89c8ad879f5c651ba0e5d4c849a540d882c69080c89625716ab80f5f897ad0587b092ac624ef87ae
+DIST hyper-rustls-0.27.7.crate 35435 BLAKE2B b833e2b7ca66a5c21a63ec82e5324cf7c743c63fc267cd1ddff2f47a8e00089e9cf2a08a805afe642f3d18c25c8ac5b9a238de04eedfd30622901680ee6034c8 SHA512 d0f4774ff4e0fe51c448a140e76765261d66ce1293c0ce521baa9a2e97731dd0774b2e6c54e19e673f05154daab710818184a440be0a46701bd08310afe8a2c6
+DIST hyper-rustls-0.27.9.crate 22935 BLAKE2B 021359ffebe1a5872fabf09d08f723e411111b8cbc011b6fb78bb8c26457640f84df58a5d6aa0c9d9ac481f78bcb95b63a8c8a241a03ca51175e0e0ea22d6957 SHA512 467cda9b93888a53fcb57ddb41aa0cf2760e448aa3bf2f0e52ab3629984f96e81af51aa7f8090b6acc88dcb78fb953c2ffdbbb184f7bd89822cb9885c44832f8
+DIST hyper-util-0.1.20.crate 112807 BLAKE2B 8a4afd853d3ac4a29d8bf9de9f9fd0c590be87b017c5f9c8ce6caadcc43a1841ea9931c4c932ee77d3c1583378216fee0d02a1f597a51d1d701452470c6f2a5e SHA512 aab7a6565d65c7d7116cf82252976bce6362dfbdbf33c251be1be06f2eaa5a4ed3f9c6fdbd1c5bcdc765665739f8c1157a74518a37f704a79f79349cb4d82e28
+DIST icu_collections-2.1.1.crate 87233 BLAKE2B 7c627fab991ad55a6033adccae72306a3116a3611fc2e4a9553cc5690a4e6b88d6180527c9032451f89568a73b019749f3e4d4f49ea5e83558612e0671d318ab SHA512 41d20dad05d6d37ca97ae37f4afd51da9c2de968e8087d42a628c1543fde1ecaf9a284730d81a1718a8102aa0fe9ffff6b4a77f0e941c92fdaaafbd911f03a9f
+DIST icu_collections-2.2.0.crate 88011 BLAKE2B 6caeec073fb6dea88daa77c7a4d8e3699924bfab2a98f21429e5aee73367e2c1e72e8c183050dcf3ce8f69d432874c69acd800b6a15b08ff440d45b0d683976e SHA512 e7997eca01778c9635fd918d05c850d43abc3cada2b1e79c0a4043f2bf275c238d185f1c55ef06548de88eb3d02c3d04f74061cc20e0843ee46f4776e701818e
+DIST icu_locale_core-2.1.1.crate 70876 BLAKE2B df4099b46518196e8122aa5c248acdc5049153b19b804a043c1b00b3fe5010aea622e0b97822a5ca102b106f38cf75f24ec9578750bb1c8d10c042762f879246 SHA512 d83d2f14af1a285e3bdf6f1b81ab3ec6f8529e2375e04cfec245a9dd356265fa6770f76c1099d52f9d80219c7dea556035c3999abfbefc50091e142b8d2ecfb5
+DIST icu_locale_core-2.2.0.crate 78639 BLAKE2B 106cbc50948d7253bc25c5ac3321e6cc236e23a548f0313267a2e028a74d58f838543a0caca50a2e3550207741f967e7fd8bf84c3b24932683b28f11cb065a4d SHA512 bf29c3f1cd5cea979ce82243aa19d4dada121448ddd974b27cb325ac92e18953fa4e9af2758198ba6a41c367ea659c92e450328e85ebf73d231126674e238c2c
+DIST icu_normalizer-2.1.1.crate 67132 BLAKE2B f43d626ee58afbdf472fdcac1bef6e334b8716c000f4a12ea21b917121b53ccf2d99af5594f589e7b68480522768c5bb8d9ce50093719c26250a77eac38bb3c8 SHA512 0dbdd24797e799ecf2c10a3c983222647698898c61fa53a257c67e95006fe80fff42698f421e5d9605a0d114e8493023dc888e769f4d1593ca988fa3234563fe
+DIST icu_normalizer-2.2.0.crate 78154 BLAKE2B c24d908f03bc018dffe43820f19b8298d8e998a3347b56b59d8bef710055f7b4deff807a70783f05d81bbc04944077b7807dc8408bc1019a09e6346e72bc21e0 SHA512 98e48fcfe47623c592feee082264f50e96a82d89fa17e89d5d94de8e1cf3ec2529625954947d9b3bf9746f1cf0062b3abfd2d8f7cfa3b8e445c98284fbbc7023
+DIST icu_normalizer_data-2.1.1.crate 68649 BLAKE2B edd3436fb594109ceca6d5d9420ca876a091c0313e793ae96c932198d7a7d973416f0fd22fcd54faed2799977f10b33c169c1ba9c11b3ae461cf751dcf153f46 SHA512 9f6c6deb921252f4c9a243b6f2c538415d005c6e01221506cb9f5ca776c85795ac113833b1ad2661e478dd2b469f0f55a59e3b202dc667123daa8ff32b820823
+DIST icu_normalizer_data-2.2.0.crate 67134 BLAKE2B 843c78279057acb4abd7fba5a22c5cdb0dd396365a473be4d03603d26eebaa1250b5463122a1f63911ea9dd68423cb7e47882b21393434ee1994ab4e558ddb15 SHA512 494559893b3db0960fc04294e1f606bf466c3970153335f48ff475d22fae614626d66d46130f0943d5345489ed5aa8118737d27b6e883d331993206a39a7484f
+DIST icu_properties-2.1.2.crate 60136 BLAKE2B 5e52d8c0f5631e0ef0b2c7e54bb1a642a0fab2820cc19224a27332538cfe8eacdb8efa46e3b5017ca63a7c9c0ddacc5dc2fee63902e9c5793d527407288e27a1 SHA512 3d80aaf6c1d9d970f9823c65cabdf057bff2af428563570e2dd6fbaad69e517a8bf2eba66be748618b8dedb5f1adf9973bfed2994cca2c7e3f54385099a9c265
+DIST icu_properties-2.2.0.crate 63950 BLAKE2B bcdf9ab45f90145bc21478791579986f5ba5d1cad36e83fe90dacfa3b43991f98ff2434965ec47d2eb6197b8dc45cd72abd66297845e9f74545a97c4279951e1 SHA512 880c0e19ca4ea3abe1322f9ce70c7138b0275dfa6c21b32ef65112d30059173b6d532aca0464f6b161aaa94ad56a0bd06b45156ba0c5ecdfab6f9fc52ab73bbc
+DIST icu_properties_data-2.1.2.crate 163057 BLAKE2B 2a326c3f6e644666a7dc42597e4fba53cb533d6bf67bb0e1d9539d71d8fad68af29f8084362d089975f0051e71ace6c6ebde0ee67dd82b7e7961e1f972d58535 SHA512 1a1be68bd581594a7c98cbf5e1de8d4df24558ebb75a01f722fe68582075ef58cc0b2516a54a4df3bcf5080da24ed4afa8a8cc652999092f85f0b27d8c2a9f95
+DIST icu_properties_data-2.2.0.crate 168901 BLAKE2B 47468d4e5235e73818d15918fca8ce2e404decc48e7c4f5e8fbd5b9010510a283c77793c91796152a80f0529eb4759d91bb0b6ce9b9498935353e4f190ee363d SHA512 35330585d459673096b545753e36cdbd3e26b202c2b905032dfcb477c546e4cca6d323d3b5d2f0e7b0e4a983094f048c1543d215fec68535fd5655e839dfbfb7
+DIST icu_provider-2.1.1.crate 50907 BLAKE2B 32b368e70ed50baf016a259266d01f126e3647aac03178f798764f31cc49d83e6634e45b394d6aa079ce39bd161598a641e5217e7ad57bd4c5138fa577652b35 SHA512 36ba219c8fd48382a023c0272cc7c8f32ed5e5ed648a9de0a61bb7d7a3728542ec92404e4a197433e2f65ff6a3f4c9e1fa4717f7a60b53e5a4f5d3a5276f2d12
+DIST icu_provider-2.2.0.crate 51620 BLAKE2B 97dc0dd0f22ab74b80127a4091b8f140427c41189ec0897a65ea8443c307c27a46866b08d6a4e4b348e18c673d96e15258c2086a9513a9fa9c23c1a8dd57bfcb SHA512 a1a193fc08ebe34782efd21b70778c38fd9f6d99c08321cd2bb457d6cc91593ecb806dd61b8179fe9b66d99d79d518081eb1d1e2933b08a3b28158806ad6169a
+DIST id-arena-2.3.0.crate 12883 BLAKE2B 2a7f498c3ea5632af4a369d46f90106e642bccbb8e36ac7fe37be05c2125989ea2cf625db92a782408ecb5f68d3efbf3006413b5b748815ee42b9dcfb28d0ba2 SHA512 99652279014e63680d66bc8022ec3d2373d6e476646ee5551346fc9e62d1fd94b28c945bfc30df14c85d085aefc7fbb9051fe11012f63a9254bc11f03133f116
+DIST idna-1.1.0.crate 148747 BLAKE2B 89c6bec54cc2717741ddb5cff2939c08823189a490b79ec0e9c7acb3aa2b4fee472e33f36d7c345fb6658c863d3c174577aa1f1a10c9bba7558fca9f76b8ae82 SHA512 1d49993145fe694f33f7c71ebe62face416f2229b12690cec23ae2e4be2fc1c5aa5ad5651d815ab70057b68edc450ef6004306a775b920b8773c221c0fe6c106
+DIST idna_adapter-1.2.1.crate 10389 BLAKE2B 464a9a20da73aad657cb7c0d573d92bd21159032daa8e28fbe61a980b44e59d1a2b2e076d30ca35a49abcaf1bb71ec51f774ee137792dcddc81086a1b6c2eb61 SHA512 e94555b58646c596fe64006ee6f4458962987ceedc3341a12694d809cc298c38799fb56b382adaa966e3171b1f62b7835fbb2e688251e742deb7067975bf1aba
+DIST idna_adapter-1.2.2.crate 10444 BLAKE2B 0d6559fb01b5507e5255fe89bd2b0db5a4dba72a28138cdad2033b21a53963d1cf014491b4f5d80ff972924ed7f230efca53aa882352272702f66255fa66bf86 SHA512 c80655c107506022fe6b6d69af7ca2418b070ee66150d743b662e656a2ae04d4ea7b41f7f182fda9fedfa2626e70db30734f8e9af18d23ee39da0c2d4a21949a
+DIST indexmap-2.13.0.crate 102206 BLAKE2B 7f3d070b645741f5960647f64759840b1941c1e28f61ee04d44d7eba0d8f600949cf139bec5fddb1507e4d5a9e12fb709a16415aa014eaff8f5e87cce41a9394 SHA512 f5efe0010603a3f1da8955f5f97c9a39e4d2c5042c0829c057ad739687d990c100d1276022dec23e7cd70efecceca07ad735693bd8a1b21b507b8892110198ad
+DIST indexmap-2.14.0.crate 104085 BLAKE2B 828d8eede906c2908baecac840757ca8795587a552cc9dbcccde89a3b81444d99395670fd71404c33033aa5a1b905ed0621fc39236024c8b8b385e5d29ca6b5e SHA512 fa6bcaaf1b9bacabc72ae9d0569065325a6741b9ba5dff168ada6ece460175be47741d906d9326b48d30f6c55805d33fb64bfb497490482b4e412ac15a8ea55f
+DIST indicatif-0.18.4.crate 68731 BLAKE2B 4804334ef2680c3ee0f265edc6cc6699967c63b89365501aa860765db5a5139f9a12bebc8a3c748eac998ef9c26785711b81996c0cbd42d13f8b87f48b641c30 SHA512 6a7484ab982c75c7ddff3846913a74046406b5323af3356bccd51e6fef63bb43ad6ca07cbc6628544cf403b29893a7e095ab096289a6e2f47ca1bbf573a7d78f
+DIST inquire-0.9.4.crate 101235 BLAKE2B 3cd834fb704a0250c4f47a776a4b05c7f66962426b1ef2ed7cb122e89cf6b328737a673d51d9222ca59b0e484786bce884203d7aed3178652e069027d6be4847 SHA512 778cc4b587e570f799aa1728196d967c1af1da4d4d32c6a37eb2f6dd541c6aa0c276bbbd1c90b67b069f084f1642c68edf1f7793c792d02da29b40903b572b05
+DIST ipnet-2.12.0.crate 31000 BLAKE2B 4eacb12b6a5bfbc1090b3de2e6f27df8f551fab7d9f25c3c261c8c818fb30c13526f90ad27e4f474990658ae5f2c07deaec33186cc48178085fb770991806024 SHA512 5255990d2d1024ec0a46f19516a9ec006f61bee82cca02c08ae907722bacbdeab90d2c6f362563b530f394f523310b628dd1661cc0c7199f99814a51dd1628ee
+DIST iri-string-0.7.10.crate 146126 BLAKE2B ab2e4c43382f280a60be207a163a868f75159ee682b072eaeb4ab4d07d2275155d65280c17ef568c193ef7c6746a1deb5f9380906307c40ad26ca2f4fe59d4e4 SHA512 d0a65eb623af42c675d45961edb6344bd8c675a1f925c8c3eec8c401f0681f325a85554c78c8ea404380a6a3f4820de771d4fa6f310e06cb30a00d0795db1194
+DIST iri-string-0.7.12.crate 161843 BLAKE2B 3686a239a5c942458467dbf8262108af2b6ef2327a56fbe1c819b5e838fc08ccf5c41651e40ffb51fd1d090b70d5cb38a23bf47aa5a92622ef9c081eff46e20b SHA512 ec92620d3ad5ee78c5fbf9497fa71be08322bc85a0b92399d8ba4843d828e5c77873f641be6497da8bbf8d23dbdf6b250c3ab8e43bf5fc2b3ebbfdde33e9408d
+DIST is_terminal_polyfill-1.70.2.crate 7548 BLAKE2B d84c45a94bc0ede333843ddb5206379f1a7d9df742c7f7940374d6b17b0a9c300e32fed5fe2bc58e6b3bc5d18b5fc58dd4e283c01c2f3b4f10f254b3cf7668c3 SHA512 d62f444e83950bdd441215c0ce681ff774692b35fec2af7181dfa243dd43fe42ff7e10a6e3b1d578712e4130dbfdf471ecdae73a3a584a2856a848d387b6c261
+DIST itoa-1.0.17.crate 15905 BLAKE2B 105796a6438bfccbb4676cc0beefd89abb05dedf077794dae48dcebd63cc745bfa4664c0eaf7bacaf989ea9051c98703e7ce85683f5c8c234fd1639c391aa3fb SHA512 4f1b09fd0152a8c837c40045c46779c992b8b5a4737565b8ce3a92bf2fb884bc6609bc597c2b54c33855bd108311adf46471b5ed5ff7ce32549b8c72c8119c04
+DIST itoa-1.0.18.crate 15935 BLAKE2B 8e41446056ccd94979f6f5a8fe8c48d6c47abaab99a41715cca31816f859b56e0cbacb998f300b62be8b719a6470f8a087f1439b72f2f6662d1cdd3d552ede5b SHA512 8dbad156e2863c28e2b380901a92414ef00e39f1fcdb06d91a0f3fb73108c2f7f36b699ccd93287808c24c29cca7f1783d48d5ca95f2173502963c0abcb2d09c
+DIST jni-0.21.1.crate 105028 BLAKE2B b384973d4d991de027da3f0c27aaae33a5d1f2ae8037f0121e8c637a96382055611da753c14732cd9fda56f929b307c988f1c3f6bc2c7617e2e5182a66a943b6 SHA512 46897d5fb968e598fe39179307376305f4604db61ea5d7f12050506a6813e242c05785536528ff2d59de8a3877f6b24be15c30f451f1bec40a5c72fa3b772835
+DIST jni-0.22.4.crate 199347 BLAKE2B 45f31db3dee32c84b0c9c343833008008ffe0a3227c7aa17f41ae9cbd6a3a56409ac610c9df12c37ef981e57d3bb5b6aa972b2b1e0af13a7a1935ba071adf23d SHA512 a1613845f7e1ad81fe72737bdb5757ba9aaed622367e399e5a8a9384b7774b7d694e0099f2aa3310da24778e4e4cbe7b0625c15b207c8773c566c7ef6c98a0e8
+DIST jni-macros-0.22.4.crate 63557 BLAKE2B 56922c5fbe47e53b8dc27423b9726df4c941e26b58db561bb2cb40c32d264cc0a7565ed8a5327e7b93cb1831563624652c6f74327828fb7fba1ce1acb690fc3d SHA512 a0cfcb83728a6f6aa00c54ede806908b009acf365a32c78c5a62d65754bf12f8b81e15cbee1aa55fba86b29957d128fee2c295746578144b85d4cb4b6f4a98b4
+DIST jni-sys-0.3.0.crate 10232 BLAKE2B dd6334daa6db9fae6cf1b31b9c13f09f9dc3f6a0e227bf6779880a6e197189d91583cd463b9876125cf892ffa5f8417dcc51aa010cdb8c99bb4f969990e969b1 SHA512 1e47582ed4dcf608ffd218549f1eef5ee3c87a89e28c65eeb5bba801edd6cabc0f095e213e8df606e050a57608653a59ced6f01a8bc76a5eb32ba1a337a63321
+DIST jni-sys-0.3.1.crate 11570 BLAKE2B aa298c5f590bc1401552e1cc5f3c9ca08f3ff6d04ffa231424d5a512cd1a275ff4522025e2fb23d941ff7bf625e5d14bfcf7e217c45853bd7b256ec84a48f486 SHA512 5a87911395977450fdc7ef0c46eeb17fe4be12ff7cfcdfcf115e5770e166496619cb21aed7c17d2c1532e655104523c7ecb98522618dda31771b9a86cd03adab
+DIST jni-sys-0.4.1.crate 13249 BLAKE2B d217fcdfad4f7e4f554765e1991e4ea3eba310f8e89eada44e867a5c74f43939e6b0118fb7e6caaf9775cb251c430fc56888c8647546011b109c0e11ed2b4bd2 SHA512 9421c16b9956e32653ba00e2283a8984c94479d2310f44aee253e7119f636b18de900d2bdc2e6e9b3a754cf72c21c7cf269b7ee49dcb06e18dd47b8efc1d81e5
+DIST jni-sys-macros-0.4.1.crate 3301 BLAKE2B 3d93ba6477aae189c1d2583e5975742b2faac0e6c7a1b4feb46195eb010ba53f3a28eb81b6037f00d8f1c29ec022321bf95d275fc1367abffeeb048044dea407 SHA512 07927232572ec202fa5cbb5785ae1c023dd8da30b33daa02a36f90f2bf8e52524911a158e179992edc03b9d1803eb1714352faaf5e22bb8317a7bf1379c28c9b
+DIST jobserver-0.1.34.crate 29013 BLAKE2B 4d89234147386d61e8402872e577c52c60fba41b21831acbc6934ec7668b22dd9b876cf78180f5a06b2b26b642a0d7e02c9a67dc36ae7d3aa3b95125dec3d7de SHA512 42fe03eaa4caac030c40b167c742aa104151a126505de9ff4c52ab97ac13cdd2b7219268bff414f1d09061f3f9e36be01bdd6255597b957e18589f9ef4a65549
+DIST js-sys-0.3.91.crate 91416 BLAKE2B aff59394a2c7080c80fdac5683155a4cfc191eaf86b221dd49323540800a8c29c940b8d8f0729a9e0566652be800df63525cc09b8cdfb0192f915af92b4a8591 SHA512 526a53a373a964d04441cd918dd2af75c6dfbfd181d8847fec4442db2624ffce817e91fb5ad56d1e79dc5e8f120a8219d4deb2c625ddd93bcc767844ef978c45
+DIST js-sys-0.3.95.crate 104031 BLAKE2B 20141a55de6ad577cf1d48efe79dd3ba4a36d7e2b43feec4ef90fefe522dace2146c4746d982cd93b41c410ce6357c7b0bfafcc81366e9f74e09ec5ff61cfb1d SHA512 3e7a3376d6edf12643ad4e75c075bbb4eabfc59e02b0246b88d3f46f2163c932fb08a21d825589a7bc78e0fe92eb5b96502da2a20b6beb39f2ec483fc0725a27
+DIST lazy_static-1.5.0.crate 14025 BLAKE2B df29e0e3d1c061815bdd608b41074436024dc407d454f32517705ab04b2fe06075e310086c5e4961df0b4885e91021589d0bca2c1cbe6f0aeffa3ff1b3fd4637 SHA512 6d2f9887cd7f34f019644e42f02f2bf0111accd73aeaa60973ba0b039b6774670debece1ea9a6978e923208ef5d3ab7326473ee3560c078817f0f7ab8ed0f65f
+DIST leb128fmt-0.1.0.crate 14138 BLAKE2B 6353a2520bb93e0a3cfaade09ffbd8cf981d2cf75579e865941f3fea0dc745c54472b369873b1ef4f26dd7f356860e563bc7ca6e7615d600b272c698a55e54eb SHA512 82fbc7f0786185453fbf11fb3ae58e71fce9780f81eb6a56d7b559e3a0c6825751dd8b64f1266aab73fe65f7483a206e42f31ee1a1b7b1801246c6dc9c2ea817
+DIST libc-0.2.183.crate 816918 BLAKE2B d0c26ca25b0808575aa540a5f0f43acaaa5a972269c5f101122538a1733b37b6aac3696a0d7298fe16974b06efb0b92072252eef40b17b977af24cc857963daf SHA512 017986d4fa8c362f8900c1c82c7381066382a7272cfe114243b8d47637d042c87b5ebef7881cf46727e00e541a0a8270a32db694ce8d78372672cf08224a90b2
+DIST libc-0.2.185.crate 821775 BLAKE2B e0e93466a29c9d19f7d9ab3581b491908d06873a9c57a96b0cae2eed0f0d1cb184ebe80bc61e36d5ab316ab35dca529a322b29e6895f7f339e72c79cca7f8ca2 SHA512 c8dbcaaf2e5d8377a4d1003af4a7210fbfe4f9b1e8497f07d88a231a8d5c9f67014e650a5e18e913e7b4d6a1835c4cbc9c31ce0cd224ea28acbdbb39034a300e
+DIST libc-0.2.186.crate 821883 BLAKE2B ebe7aac5f8937a8064c64a0d4dc72e5fc794080e09b96c6d245bdec0fd9a19d49ab38e25306e22e47564764cf5dcde45855237cffc70230a143eca2626bd5c3c SHA512 6a58e671ec6811dff9a0d7d4db8f37d38bcbca9efff20dad4706190e5cdb77b426567754bcf0ef0f2d0c31d6506401f724f3ca500b9bed57bb8605b1141ed690
+DIST libfuzzer-sys-0.4.12.crate 129805 BLAKE2B 8cc1d806c3dfef50a01c4ac0cb0771fc5a6ca5f78868132d750792f4c13086c62a1c45b2f6f76f13d01c1d6c3227575a512e234be38167609351caad7100182d SHA512 ce18117dc20d7904864636b6c4e9526adacce89b7ebcd87dad45a7812b3198afe243ae66c4ac3c2626b6f103effef136007f2778e27223e1e415d7e1b72c4b72
+DIST liblzma-0.4.6.crate 39697 BLAKE2B fecaad8e7cfbf6933ee8ad597549401918dc25a7d0ef47274dd5f61b3ca33c2d6c3b93fb5868d0b8e176333fd30d053c7d5b9f45c8cea90c4d380adfef469613 SHA512 4a57961e0b3b4dc04f7059928acb1a5993975cfe63743352fd5c1ce5093ad06a48ad9846a4ae82fd6391d88c2d61495c36e4a470e8124ed7cb4b31b05b856219
+DIST liblzma-sys-0.4.5.crate 1565150 BLAKE2B ee56df045f20e3b01376f25becfef985bc2d07beda18027f26b31fc040f10e30327f232a548ae4bcb36d8c925e8c09df711149384d4aa0f0047dc387b798541a SHA512 09b74138816602109fa7cc48af1c66f92abf04589b42af44944b22182a397fdf717973cc1c4848333b17daec3ffb92db3bc87a158956d8308d75a6eebf35d0e2
+DIST liblzma-sys-0.4.6.crate 1625191 BLAKE2B d7539ed2367c6d05a9116230cd6ce6b09013245cba8638a6fca224439c845bcf9ef7be6d15884d774ea80bd90c8390058665733b4a136cfa6ffc768a0758cc6f SHA512 6ac5c7e079eca25c9f6213ec590e456b272cded4857e531ffb4918e429799722374f78bde3f099503aac4ef081467d42ae2219203b5149044241e769b1370b9d
+DIST libredox-0.1.14.crate 9536 BLAKE2B 28a24353634391340f1d1837a61c70c61896ee228accfd3ab297d1265b081a410210d7493cf1505a9e8448bcd69ac1020a12630323180f501145b5eca800a39b SHA512 05242ceb8a058303af0ff0381db34a91a97e9ffa2f4178de5416ae96b6536d94ee53d2641fa26fe4a139487bb1260194c115601a166786a9bb86fab565cb1e2a
+DIST libredox-0.1.16.crate 9600 BLAKE2B 88e9e195d1fc59fc5fbc3465a4a30bfe45c79edc117f73f9002a89cc79265e6e890872dc3ab2c357bad26bf77799074cbf99add92b1e8db9748c061af17bd0a2 SHA512 847099a1fa297bfeb1c3b9fdf3dd16edcc494c39a42e38a653551ea6f8bb8a67cbf083bf49ce3980d66481bc9cfac411a5065dc64e12e6e3a8224e0afa4d8163
+DIST linux-raw-sys-0.12.1.crate 3006116 BLAKE2B e23efa27e6052034d41b2149f90d1ee7d6b905808605296ebed66f5fff210c4c18c51ee9c363bd0b93c8e17bc3b70857b594aaf51d44492051291c0e008f8cef SHA512 5cfe8f7e88a2125dda56a3f7a7213fb41cbdb51ddf4f7e44deec21f5b7aa05530e04f67d1b89b9d99d9fb204f27167d8c0e104e6ee6e62a780bcaa679155bb54
+DIST litemap-0.8.1.crate 34172 BLAKE2B 3614a408d5c6b03c5371396dfaa5c654073dcbcbed3782a15cb6aa53973405344ae8ea7e96cf4b00e036be985cab9503bbdb51379fa55ba739c387d28d646a85 SHA512 6034f72d3c90ebe406b7e1b6df7e2535cde7728cfaa5328e66351d231f888625f394974f6aad891eff48142b00f14916fd8464a59fcaea1627ebc7338b865ead
+DIST litemap-0.8.2.crate 34572 BLAKE2B 1c052278ccfb685ca8d1647f6d35d2f3cddd74814d287b8f9d10a0447781a1a33f607b0745a6c83b7e940c14076c90e4ce1029e8660b57b174683f8af2585fb4 SHA512 3afcc1a89aab55368bdfe6848aa1268d37ea8a03130f1f0e1e77d6709e437070be83e9e457bb51a7096c3d93ee0155740e33cab03f7584ff3cd7d8992524a7f6
+DIST log-0.4.29.crate 51515 BLAKE2B 3f5dc889e895428f27ef107a63004c1b321793b865c29b20293adca81db4e25443e24354af37018c9a60dff1d54897c3b7b2c014a64280523f4a3586a7eeed24 SHA512 31bcf1669c27980f0a8500082c4d0cc500f6cc943518a3dacacc3ad4d8a0c238517f23c2c1969e5a22dbb5d25614adbf4e914c0557e45e1ebc8e7385b2ed14b3
+DIST lru-slab-0.1.2.crate 9090 BLAKE2B 00b36c830cfbe3dc004106aaca3c66dcc780ca0e07af6e1f1b2b8d125d88fdcd0b0f3a9b01299279f09fba7c81b1a87178ee86385af1ee8f648e6f307d26dc2f SHA512 eb93796ffaccafd2e2530efeaf60dab1eeb17fe61652a9299c220cea4dd9099239eb549ae1259ac272c5aa807eebfaec6db4dc5efc95ee59365d3fd1d413f60f
+DIST memchr-2.8.0.crate 97780 BLAKE2B 228ce0b6fe8b168f5c31031690a5eb44466609b64c5c221e0b3f56fe331b4f25c0124d613c94ef030b225000978953641f5b07458d530c1d50eec3e1d54e4274 SHA512 8089238153493a0ff6adf980efd1ea2ba10eeff9f33fff200268692662d24152a8c14a4dac37fbc6a55dca741701fd256174f10a9838ca66f038f08e090de12f
+DIST miniz_oxide-0.8.9.crate 67132 BLAKE2B 1a11c5aeef43ac93635942e0c4f17538150f8307fb280b0d66436e4b6697638f0b1bafbdebb377a5dba14a75f213024201e325747419623e5f7d57060bba4445 SHA512 3f6fd786c5fa5b4abafaf21244dd4830d26688d5b6975522bda595206517f354d92d13fb95235667cbc39c0275371c737164d9c7a58e32e09da86eed2f239242
+DIST mio-1.1.1.crate 105630 BLAKE2B db279c3e46108375f5391a5ebc3ae07e8ccbcc9f6a71aa41996adb862c5d2b965af3cb0da25becdadb16d401ae69ccf5a07e21b0b6fb36e07294633cdf690141 SHA512 0b1c82773f5cc3f33ccb80a2cfbd58e48ffac82934afa7d9ec632b36484f8a13a079802dd8a658dbc94fc158e597e4d7a2c02a799f7b506a7de98fe74e80e684
+DIST mio-1.2.0.crate 106403 BLAKE2B c9b2342879cf19b95c9b9e472fd5e8caa6f6371bc7734b6d9af71c736a4aa218837ac3c8a1f84d1fd1ce4bfed9ff417d319f47e52c4d637b15e2a179f859c3ae SHA512 148daec8a99b63ad5742695ce7b5306d32dfcb484fc819b1220079c59219695d2892bbf83b65aa2dd76b68272fa195d353ecb28d9de795e176c4a38be729b04c
+DIST num_cpus-1.17.0.crate 15874 BLAKE2B 8b31104cb49696d8994fd05176556056db69ec3e2b7d61b6b0a88f8ea7f4395934df1187c86301a3a56c3dd6be02b5eb2baeb72a991fa3cbf61571767dd1ee76 SHA512 b2d7f664214bceb8acca0758bde4d516267c0c76a70fafa25ed6204eebedd69a110f045682f50cfe6759a9c2178b026df077c5f0f85d020712dab65cf65d0aff
+DIST numtoa-0.2.4.crate 9167 BLAKE2B 16b0e6c26879c33c952ee0122c8d2b28cd678d3d877434292203fe420f1f60d8be7ef1b9067070e449a15cb138551bf3c3b6421b629b80c201d34ba1f1e688da SHA512 d627d2ea465c81b768545a1ed1770d5a567f0cd6fb19e819717ba31d795c47296f1575c56d767a7f7535c83c65d81482cbfda8d1c8e711c209e76ab813065b4a
+DIST once_cell-1.21.4.crate 35010 BLAKE2B 9117ed1d478e626b7b7be2e3ff8b68a382b051112c7ca4425367bdae86977671f8b5c576131c82fb437740b6d98b72501f718f4172d39781decac2385e8fbd4d SHA512 af67669b0107f44268ba74c355200cb2ed1aab235a6989a8bc54323eb2c9a45677010f8672e7790edadd4c981e939436e0c3a099d33c06dce9c14fd5ede86155
+DIST once_cell_polyfill-1.70.2.crate 7448 BLAKE2B 5a90f8eeff25a555987b84b9800f9e0b2aa94fb4827f76678ef45d344c4baeae5a079a288fd02a570d0f0099e9b2842d32dd206dbd609212496e77ede47a4d21 SHA512 9e0d07bcd40e4a5c271646d6fce71677acbfa4439b4e818bb4df823eb31eff976ba78239e3a7e0ad21e80ea8d0d3af3e74a7d0a0a55b308d4c777b9b5e1ef8ad
+DIST openssl-probe-0.2.1.crate 9155 BLAKE2B 8e7a65e777e7200b726a296df63cbf6e951dc9d06b80493c203f9b582b1ff5e4ece8982ed5aef4146095f1504eb7333959f239d72e84137c56ddcf9bf3c4b106 SHA512 e7795c6724c215f20d7cd759a1078ecda26addf9e529ef7dae882cc57e3dbc2df4dfa2d0cf9f43c04eb06f210aacae8bcbebe46fe0d740274894cc048a6bccee
+DIST option-ext-0.2.0.crate 7345 BLAKE2B cbfc03e7c960fe3023512a4ad816d657b4f54f8ecbde9f9c4df4c5fee3b36b68ab463c67ad650778279e01c7ffaa63a0dacbd0c080c8c3d15b1611de0e71f92d SHA512 f8539f97b01af97e0b80fc96556002251befa60f8ddd19613311e62f9dc9834d71c22f5d8e7c53c4925046e38cdcf834c3c28042a4da862d6f6a21ddff8d8e56
+DIST percent-encoding-2.3.2.crate 11583 BLAKE2B 58925243b23a6a1decc3d92c4ce17d06af5206844ad283b49e69e523ac0db2c36c3f4407af4104ab92c029c2581c228bdf416a054a2531191a9e912448ba4408 SHA512 495b4aac88a7a46420811671d6bd82817e4eb2fe51d5068d11c5b50d0d927895d54c855cb07d4f4ad5a2d42b22f9419ad0183c14781dbfa240804fd49761035a
+DIST pin-project-1.1.11.crate 56282 BLAKE2B ac154aebe6ab7b59aaedbf2dc7639cce5c32c255833377b90514ae1a338f651fe9337b4db57b27c2acf64de2bdf95c9c48f6940482265fd31a9017dc34793683 SHA512 4931b0697bfc1aba5a94de859b28bbac87c8421482b01be5b525a21af38dd361461306a623e8c184dbce50a9e5436c1b753e2a0391a04462e4d976a8348508a9
+DIST pin-project-internal-1.1.11.crate 29261 BLAKE2B 3089fc6efdc118cb8bad9494671cb83e1b6ade24c4cf8c5768dac490ce387ee7e19c0e178c991030d75302fe559614d5edfb67ee4ecc7741efeefe6a0f7f506d SHA512 bebb474cb6ee9b23a7d4740c1c65f1cd9945535705cd2d6be2e51a572e88c4c5455140a46d7d98e767f549a5df9da361e9eda56cbe0ac304e35e834f30f1d8aa
+DIST pin-project-lite-0.2.17.crate 31034 BLAKE2B 1d3bb970100c2a27c456bf771b4884f3c91c048310d27608161d3a02adf2f9cdddbc8674257c6b58c4ad6c0953e11cddf2fdf5813d95e5ab8425e71032556159 SHA512 0cff4338e3c7b71600fb41db013efe0d01b9cb3fdf95192dc16c5bea58a0f157207ef285ceb01b6b30956f9e751577c5d2a3803103f89a8a0cc6ea728d97a4df
+DIST pin-utils-0.1.0.crate 7580 BLAKE2B 457e1287202f16d1873b24bf4f1de1828300128c4ba3131758e64f9784d36d47365f22d85493c3a85d854f0d8dbb4c6cef3a0f5b064014dc03943e58b7ba9178 SHA512 828422b8440cc82ac6b0743e0112fa7540d437aed457564999092b1462cd7672cd6b1f0201b67075431aeedd3d9c5127468a3dd028744109944f7f023c82fd70
+DIST pkg-config-0.3.32.crate 21370 BLAKE2B 74ded191f066bc223739b3d4afec58f23de57566e7604e3dd62001d9a095a7b6a3633fdb01fdc46960c8134a694d6bf097d9ecec62b38c4f14acafbbabd6e893 SHA512 59569110185fa665f76a13e884a67ad1578c55246abacfc18cb9f037b2d2d9ec3f2078a3adfe5cc82a451892c9ad55f918ee01362a741f57dc9ff6846a4e32e5
+DIST pkg-config-0.3.33.crate 21590 BLAKE2B 576349a975cd4b9ff08c7f797f300cb2774425c72ed7baced19e0ba6231246f4479939c61bcc9efeb9174a2d6917bf009f02e93c26800c65e798b9e51ccf4d8b SHA512 af931d889e72f51e0ae41c880a1f5aa6215b93148cf7041378664e4ba013d0c83d654e560a73c9d7b301b5a008c221e48ac81b413d1123786e003c97f7fff63a
+DIST plain-0.2.3.crate 10664 BLAKE2B b0ea38fcf6d4f4e3ff91d572b5639f01eac4f19b2c451d27bca49d994a07c6f46118cd58a1b86b3d2a61b7ac9e17e8236f1cc98414738d8c86086d37e0fe4d35 SHA512 6909e4b4b4a0a49e6a226d7393b121ec04beb8a13b1652c23337eb09b3c2e5f202b53a7663dfe7828dcb32c3d18135b514e9a982967c188e127a63b6cbeda252
+DIST portable-atomic-1.13.1.crate 197001 BLAKE2B 6d0898c2a537a9bf204b7749cca5f5fddf280772b56eb7ce8fdd9cf7d71561137b26ef89f415c40277a1c89981333eef78e5bb4624515a294ba28fdaeb4c70ea SHA512 2a1b31ac9814af884640b3398ab824a9795c72d260527a0966b193113808cfbb3345d50cd1beaebb45863437c3d06c8706d34b26efecceefc649319a4bc274a3
+DIST potential_utf-0.1.4.crate 9514 BLAKE2B 97979688c9a93a05c29a9a55ac0a37e704eb4623d5890562cdc1c797cbf3e73aacdc6251d47151ac0874ec6d1eefbca8173630f20de3c44fea254be90819e027 SHA512 a8e36c596d7fcc3f13a80457a07da5ff0fda62954efeae3c2aa477bb32465b20fabcaec269929af666030415343a2c94d86db26f9f9bb5e2e2b151581f0e6022
+DIST potential_utf-0.1.5.crate 10189 BLAKE2B 0d8967cfc088089bb8d9ce70e9d92f69fc92532c5c24eec8c46ba0b1e40819195c745206f596d63cbdcdac436112d770ca378abe99f3ca0c0d2588b2bc339f62 SHA512 72950504acbd0aeeff44e0169f1857461f7627e7c638698ee005958c14cc0e68b2cfde33a91afafdcce98eac7ba7d54a125ae22562c4120c31e4b745bf298b54
+DIST ppv-lite86-0.2.21.crate 22522 BLAKE2B 150b2ae019f296dc0a15090bcabcf4981bc58159d592b07da729565ef8976e3d1b4416381c6ecaac77874d8e259995254255c8831861ac20922b810753128cd4 SHA512 94710d5b25b67539cfa828476367849e1ecaca744f2e0429b48c05b47ec48cd57f950fb9845a361fbfd96f361ac00fd2d47cc27c584b79ce3d9d8fc133f5b7bc
+DIST prettyplease-0.2.37.crate 72033 BLAKE2B 997c8d855023ba6dcc7aa3a8f1c0ac6f6ca72dab2804cfcfb0987832ae044ffc5f5d7541e66d7ff5b0679065e5217078a832333e6cb92d89a93660aedaf0b447 SHA512 3273621f42cd2f4f892ee81e130f50e7d30f7254f922a84e55e454c0157bd0a59c678ee352e05007fdb0a62cdab2d7693185990354b81d2b1f5d08b51cff77d0
+DIST proc-macro2-1.0.106.crate 59765 BLAKE2B 87f95795621c4c992c370dc3a1240a2d5580e3362356525efe640f8f26ad0492b3c88755d575c080ff7db11376b0d82f31141bf6f86c895249b85e46c081220f SHA512 b726e2c92af434bfa88cd4f53c3fe6db647503567675fb439890dee3d15f5111137e3242b28d164114ce081c10acf3fd11950753ddb349190c87ee04e7d97744
+DIST protonup-rs-0.11.0.tar.gz 104473 BLAKE2B 0cc966243c411f17b2c4d5cbc751be314734852d0538d32306e368db3125d660f9ed2be06ee9c841e30be51fc8d75451f9b5ca95285a99a925486cf2e48bc49d SHA512 b3866476b90afe899f75fc575edd3c0e5d5593b9054d594df9925a1dd91d63090bcaa99834990a1d75070c0b4c0930a635b685972b2c392c4e0119fae8d11b84
+DIST protonup-rs-0.12.0.tar.gz 106696 BLAKE2B cd30f947d63024f7c78dfb4843004f82814602aa708f73f1bac2ea67e151ce69184ca8ed03b734170ae494358b4ebeffcb47b4ccccd1ac105a3b76e2191c7b3c SHA512 db295f2880573954ed5f61e15627fdea5fdabd35cd2a368b9d6f8fce098567b023c6809b9487e68fac8da77ae3f0dc3cabcd76261523937d2bee84c5e1f9ad62
+DIST protonup-rs-0.12.1.tar.gz 107799 BLAKE2B 6ec70ce6de35ec557f1ca2606ef665b8f9ef7f6e76953b1634d59fe961da79bb8da34307dea6e1563d43995cbf2b63fc32a30e79d4de6ceafb42b3ae17c3a7f3 SHA512 3dc3c158c64e45a9498ec0c296965794bc6e2f718255ec9b76c752ba92da961592d4f912877f003468fbf4efa688adb66b4e24d53750bc933eb574703d69305b
+DIST quinn-0.11.9.crate 83606 BLAKE2B cb46730265f1843092dcead235e0210a546f1bcac72a4dd069a3f22101a67186610fc0b320242d375c94073a6d76e014c0caacf31b4fd21623426455d5423261 SHA512 5d28818be9c0970d0b7206b43ab7c1f94c379d2169bef4a11d5ccee19ba6088e2e578f5aa68395ef11c4f730b7f715fcf2fc02a4d60c351492a5b09002fb416d
+DIST quinn-proto-0.11.14.crate 244123 BLAKE2B 6b3a93bee67dfa2bb50eb0a9edfd62050d835175abe4f0c4e6cb198428f00c49133421248f3933ac4ebe6e957f009d0843921147ffe1db4439137162a771963a SHA512 ff14860c12e70deaa332ec573d855abb6db0eee0b2d6f1b7aa4da1a3351beb005c3a9c08411aa87e004dd8cd269c59bac12feb0367e788760bff065765ce0d40
+DIST quinn-udp-0.5.14.crate 33436 BLAKE2B a5f0a871c77b320e514bbc2cc607302c0dfada9e282093e808ecad87887c8eed2f2ac754e061e1611e40643f0e898b47eb4686ae1baa70b4ebe0597ca68d97ca SHA512 47ee6f899841c1b5d73e1aa7e655f149e425c870ca5b4bf4664d7357ca4c7e36c7967eb035f9a2eda9630763f3e65c2a986fa19b95c64a322f296ae03ba0b380
+DIST quote-1.0.45.crate 31564 BLAKE2B 1b2c2c3e6ebabfe10affa4c43ca0bfd1f52d8fd49e1df463e13e63a82de41272089c8e09e4c02e8a33cfee768ace26d4d42a50752de8fb5a776c59806139ad5d SHA512 df96ede01ebd0ed642b758bf1d0862d0e116fc2b3343e14edb657ce5438ccabe743dec4a0a40de4dee98c134d169af9aba459faadf9c7a832b26377e755d49b0
+DIST r-efi-5.3.0.crate 64532 BLAKE2B 54bc882e333f7ba52b6dd6ac92b8a282581c10b47de91a4c4b71b15a27b2df885ab52ae2fcc8a546367ee1ce98300dcaec3c33cbd7393b134383528540bb7d14 SHA512 e748db9729dbddf215d5c37630fa272197dd2921297800209ca7bfcd6ffd8530b598b944d95547ad9723655cafdfb69b1c1fade9ba5f8c2ac5c55ec38258fdad
+DIST r-efi-6.0.0.crate 65303 BLAKE2B 79a28aa1e41721ad39ad95837d60a7034f9eedf0f5a32017849e7f4abebf6eb55e79cc144cea52030cade11d6be6fc5ba863e711a74038ffcc67b0d6eef47bfd SHA512 65f8c75c0201c3b922e6bf032ba9e6c648840f60939615565287b9c64d44f3fccbde209d8fe691937949cd76307b59c53801e6bd43ed7b8ada46d5d8fccf7012
+DIST rand-0.9.2.crate 99930 BLAKE2B 4440c21211e3c09daf8797de5ae1c7c461ead207456ad0a0405c6da266de51427dbd68090c461f1a349a04064e4bdba8151656e2e9f7c17be1f4aaeec1e26f3a SHA512 91faee823d9a3b109135182b9566e6327881736359c9d68358ad7dc78eac1e845c553820e2450ca481cae1e0969ec6566e72f7f9233251b1f9133449306f2965
+DIST rand-0.9.4.crate 99786 BLAKE2B a6a3c106a8f89cc5f066497fa976b43f577a10b673f1023e28da03f116caec679d85108e112114485ea8536a8edf93f849314f27925081b3d2618d61c4e65f70 SHA512 3b78989d418b84dc00833237e1e83d93a263d67d9ef8570785d1917a7dc731103db1b790643def196d66bd8f163da49994742791a1b2d9da03f854a0176e68ac
+DIST rand_chacha-0.9.0.crate 18258 BLAKE2B aa0efd158877a116b2587177f2da84832ba8153b629aaf8181ca7622bc8ea624b5a5d205d1b745caafaad78d5a55aa08a4f35822b8925acdf7d1212baf62abeb SHA512 f62a7bb067ff984049c96cddccc841cd9931daeb5b25bb69f056bfe577f62b1b35c08f2bb5028590eefa04a9369beead4e6b03607eec97256e0383b20542af96
+DIST rand_core-0.9.5.crate 24129 BLAKE2B b259f980ad82cce5d7871d7d72adceccdf75348c9adc628308cede24b603df4c1978fcb9976574d99d1024207bd496df6359a998f7a6f1b235d3f16fd8556252 SHA512 0ae54e2fdc0fa8f6a2dd46fe29de26ac397b9f5c805424b3d06e467cf1d09762d66c7eb07ada74adb64ced326f15d4f415e665979d5de2b3f8e8cc1196547c56
+DIST redox_syscall-0.7.3.crate 28254 BLAKE2B f01d7eed372489c7218d9d080d532ab1a943798c679d05d348398dd3aff71bd86347a133a3458ebefbf63d20b011a550c77b0dede04bd62b99ede86b9b0690f2 SHA512 5bf5aa29b5407856929dafc827b3d82be0ebdff9dbb15f69e3d5bcdcd4eecd5bffa17383284b53ca1a138a18fef4836ea3628ab698a9b047f53ee8a2cbf6dfe7
+DIST redox_syscall-0.7.4.crate 28248 BLAKE2B 34da989c9769ba19b3d3c869e03db001bff329b1329c0e778d1143b49dacb8a516e2ea98809fdddf3c73e2947c40e498bada6bdefbd66564af96c97faaed2959 SHA512 e1ccb1e145c38f12069d72c865e1efc18ec260f5e96f015fa2fe54d59bd67fb8c41bbcf16246aa8f7947265684861e8a02520107d9bd7619d675be5d0f497ed8
+DIST redox_users-0.5.2.crate 17280 BLAKE2B 7dcb0b6727d4d4a9b2e3b9a2410a53eaa1b0cca807010446f36a658f062f0f33b07475e61f549922a7c5ef4e7ee3693fc154ba33bf7aec710c8053d03ae284ed SHA512 0468d42c9a5aa9b8811d00b4126115bd7e92f96af4ee136cf5387939474e351fa2c01251473691aeb34f5e4c8e8804938adf1bc83b5edffb6d06869b4b816b7b
+DIST regex-1.12.3.crate 153392 BLAKE2B 30f272fc2cda1e36219dfccf0338edacceb5bfada7ac81dd01429661b01b0fa72f6bb343e753e2388251aa0aadc0b5cf61e07670020c9ab351f418c23653ad47 SHA512 73ea9581c861490ad4c8c767c09f1f39be525f4298f5b19ba7b658dfade4c91f7ffd170214382ef4694855c0a48a4db57c39b75d8fa6a9312b07409170c66000
+DIST regex-automata-0.4.14.crate 618012 BLAKE2B f12b0f1e59d32711c113f5f2157a4e1dbd05095c386f0e104ef3d551cf029d0c3346d09f54d5b8a8bdc557ab4d91ab80a224d81b3c522b3c64ad1566972c46cf SHA512 58f8e7c41f71c1df50fc2f4e70ea7f5ab762170494497541b9a09076058f94a799b6fc4da13c40fc26a2f1a0b650b499cb9830338152e96a24e3a32b4994a5e0
+DIST regex-syntax-0.8.10.crate 358781 BLAKE2B fc7961b2c6e4d297f4dcc73cb3f6a82d7d9bf964808beacc86ec8c73f7b572f3d8c7503ccc4441a2d6283b8cfbbbfc49140b31207b5aeabe5a60c8870460c91e SHA512 ca9c36c963c81c2fa36e1105cdd193a9b99ee259de1765e6e8010fb4091e49ac100e2ba0cd117adb0890b32e74421581dd6397eb896772168c6eae9da0a938c3
+DIST reqwest-0.13.2.crate 158064 BLAKE2B 5c9d1fb20bb082b81997c1711ff14ab98118acdf28b8b31dc28a74aa7a49aa8f7895ddb97f7bed6117a5fcbd89e55a6dc02b8743d1a2f7524ad0d2d9af8d7e01 SHA512 db4b426a9c3a251dc0dc7fa5076f2e6f3202bacfd9ea236a49bdd6dd76178e3743fabf8fc17a0b622995e8bb5621801fec5b355efe76a83c8933bfadf83cca21
+DIST reqwest-0.13.3.crate 159191 BLAKE2B 2c09bef08c3dd2ea21949d997752446add6ac5adf5e0a0ddb47c5449924fc2ad1503d4a4776912e89aa9985294b7e6e14a8752821ded475da80db240a5641163 SHA512 e2a4e8412dc9bbbf13a3cb5a82fe93d2e03e9393918d0fe3b3eb6be6eff2052e114637f897d3248325e4b46cbab95c2c2f9a2c46c086ddb2930cafebb7da81fa
+DIST ring-0.17.14.crate 1502610 BLAKE2B b33efb6d21931ab94f044373f24428e87015029a0e065071bfd901f8679d30944f6b27bf0325c77fc4bea7fcd935209087a349e5c279677bea73af6205725371 SHA512 88d38205dc1a1f89bd4ae887ec5c168e68a4b749b3ac0612674092331e99d14a9b8d0f4a98d72c1a3853bcc9da420402336da3ee053bedcfd598da8de93afa14
+DIST ron-0.12.0.crate 119892 BLAKE2B de2719e97db99a4c4c701b0f82006e6467b08bda08293bc4a0c787c95a6c384e1ae7650576ea5bbd2e6196155ae218d8432cf6150663e17e4d99863c824c36ca SHA512 67c447dbd9e15ebfe84f85ca2d342489c04d3a8d7294301bcb4a1e4d8c29267503f3516679ec9ea21da3447fcdfb2ab311a30eb76895d35dbf99edbe684d173f
+DIST ron-0.12.1.crate 121948 BLAKE2B 1b410d1f69832ffccb3e8e6aa2477f06a8b41c630fc08304ff13567fa3f72262a786b4e7339437faba52fb212ce8177a87a038e0016113bdcdc99fa193ce66d2 SHA512 27de86f46e3f3ee368d0814377979343deb45842fb41b8e280d2f7a0ecf3a860accd514ca65db342f8378d80fe93fdf01c74921d2622d7869f28d9fb40bfde04
+DIST rustc-hash-2.1.1.crate 14154 BLAKE2B 7a1b3b82bbbf6a123512815c3e8f068a17890cbbb8b68e88a5a492f62469942fadd776207eebd913052a1c06e1fd37a549e86526b9fc8f08b9ca7cb0044ac16b SHA512 87097d98d47f327d000041ab13acddc366f1500d9c3e5c82169c3358112c7a7c03701c9b3c2c81d9f9da65b7ebac1c479b179dfaf7c059cd0b929b4673e51084
+DIST rustc-hash-2.1.2.crate 14754 BLAKE2B 6e9bd4ca7c27339e5d06bb82139d9d4f18c9b56d4d9cebba69c7dd7220e9cd16b9894881ef1e82adbd8ad01d5255b984952332438c97d55eadf40b320df1fa27 SHA512 0e63079dabc124395e73b585b7c68ce00be583e0809c3ecd2d1cfe0b4d64e2f2870294372c658051fdaeafc51fdd348a461ceaf1b87ebd5f2e2dfc717c2ac5e1
+DIST rustc_version-0.4.1.crate 12245 BLAKE2B 0ed627c560d88e5ade830cc5f72c62f6ba88be3e30d0f8db34761fcd0b284e5b2fc063c240149aabdfb12c8410ecdbe50cb10a3544500b5a020f95a31cd6709c SHA512 7aa8a487ca7411b6d23cae62f7568fa3474a7b1fd1589621071be3428a550ed3b7c4ad68277a8f86849e5900397d7d0e9d678f5d423742a045dc7c660fa6c598
+DIST rustix-1.1.4.crate 425241 BLAKE2B d0d710cecb9b20fa755e61a27d23b946a5b860211a9e63f34cfde2012bca2b9cc6952b546444a8a06a97ab8bb5817f87fd7fcdc7e3075640fbdb86f189f7f443 SHA512 33619ed2434963a98b0846414656bcc4945ca0e9b883821869fe0cc86db4a74c6961ce1375963ae49c6b5044ad0536eda807dac1320209739c9d669bd80fd75c
+DIST rustls-0.23.37.crate 372731 BLAKE2B 598d934a9fa15116a378d91d6df598ae56d51a48c34ac86bdad076ed8fb78aa13f227fdd9cc1924b65e80391df28b2d37fb260fad64502dea2bfbe26ab559d01 SHA512 b92a233abdc5382bd3c2de0f50e1ced3a8e1dd04eb7241e8beb9d78c27ec1e1e45b1bfbd9d4677078a4d19e3179dbef87acfb2bfc7543ce379b14902a0002e0f
+DIST rustls-0.23.38.crate 372709 BLAKE2B f08e47811c25fc108e8f63a8f7d2943dc3feac2bf189aaf8c68d6f3a0557855bd9d3a2b88553ef6169360f1c777e52e9988a8d6d44b7805d7c5b90d111c2d1a0 SHA512 2d7a65d67a0b1c081c518b7e6ec1ab13f6bc1b96e6cf6a0e2dc0d71b0bb97bf9c280753cd8f2539c80af265fee133eb6ce1fdbfe2464b609b3750705817faa6a
+DIST rustls-0.23.39.crate 372747 BLAKE2B 72bbdfc1936a322473451e13cfa3ddb840aac51d49dbd5ea9d82929e3e8318ffee5a6f2b3adcfa04066de2809eb3009d0926a5ffbd7e23dc69d073da80270c95 SHA512 e53b5186cada311bada9f685db668fd607286952c99739b4018d90f8b49ea081bd7cdd26d0faa8481b2c93dd08bf794b959ead1b21c63b1f5e245337f5c57993
+DIST rustls-native-certs-0.8.3.crate 30380 BLAKE2B fb60258893a545c0d66b59badfc79dcac94d63c236214bc55d4ff9bb0f7e21028d7d093542539fe1de23f565bc50cf407be7e440504f379c34405c735aa25b46 SHA512 ffca026a5365a97e7a254faac2ceab188bd1cf51876a32e99b16bdf5902363c6416e8e28247f53864609d0f492646fead7b19328e376d0b8b2073e6fb3bc60a8
+DIST rustls-pki-types-1.14.0.crate 35403 BLAKE2B d243b1699cdf5f98ae6118a523c4e80b5cb01db330f2ad68a60b52af990a553818e908e16d61fc79885a211754899c0f5f89256fb8ce5175db3da5fb27e3034a SHA512 15f8f06abf44a8f859038879db210009d499e3d5ccf33d34439ec56695f0221b143959e47bb6b1460667d838df4274b844a1a86e1cafa41efbe6694f8478e0e0
+DIST rustls-pki-types-1.14.1.crate 35567 BLAKE2B a480ccb4eb6416d538b14169c770a975302d6b0b7983586ee934d96001ce9a05cd6d707b2a984b45e40066da3af9f1a0e4e7989732bae4a11c096151a2f5067d SHA512 8e711bb436c08730fb9d62fe7932db35926e04b07cdd2479c08a86153159dd296cf999a5681d9c0c69da41e3b8937cddc0f627b0219cd67f66870770e4c81ee1
+DIST rustls-platform-verifier-0.6.2.crate 58924 BLAKE2B 625a9b61ad7f0d53c2dee2f6acab2a37c50a2c49efcb1d4b6c377f3413e7e3f8353dd6a04c238c8ee694bb2a651d2586c8608e6787ac8cbb04030d8146a1fcb6 SHA512 f3ff09863ff30ebfce2718fd135499c689edd37983726a4640c35ffbc40c1eff416e84047286fd27751b811dca9d627b9b7eacd1fd995c036c19a4b51102b99b
+DIST rustls-platform-verifier-0.7.0.crate 58733 BLAKE2B 9674ec8d20a1f5a33c76560a685e4bd7427f796b8d25f513a58a4199c553b9edcb2c42bd4233147aacc88ee60ae943d58ed351355791db3b680a7b4866a5ce7c SHA512 6ff99a6d9d6c9f165d618fac11211bae9e5e4d671084db75c422b174f90b56f2439ccc15c62a6c9bb4537ae6aa6f7efc00ce1b9cc6cfdede0c1a87850a302742
+DIST rustls-platform-verifier-android-0.1.1.crate 13919 BLAKE2B df093369b347cf84106853bedd23096ecf2698e772f94898c593e2d92237d6cf20542587853a1e9793456658ebd7c5b09c855d36920c235dbb0dc9fd8d23d1db SHA512 f3f21b88b448f46e08da4303d225f10765d21f2397d4fbe44d5f9cf9da5ced84fa5adc5881f1db66a324cef818537e4a79bad2260b8027894029ba7e6ec16533
+DIST rustls-webpki-0.103.13.crate 87513 BLAKE2B c1b8db65355e598a240b545f5fdee8db234df9f4f1c2ffa41ab6e8759365fe88f867686a61dbf4002fb3330c67a172e1c97b53773e0378dbaad6c799646c74af SHA512 367829afe3432a9d80bb4da82e075dd05bc37ecaf801c0944e1af9184565d743abf92d59e6fd433e7f051daac15099273b823e6f417ec46b6b5da43bbdad59b6
+DIST rustls-webpki-0.103.9.crate 85813 BLAKE2B 4b4a4d373405e043480b38b14e426386493ac3ea0cc91f75612c8e327c992dcc835b31f2cddbc5281cc469f68bd6aa6d4672f36ee0ec3cbbc99da2fe08ec9a8d SHA512 b50e41ffe38b7fe423d4c2b3eba830f31701c1048ada46cd5b8cdb4c738b0c8590558d607fc1fa7a0d8a8296fb7f931cc9f27b2751f799cd3ed6bac3b763333c
+DIST rustversion-1.0.22.crate 21096 BLAKE2B cdf773cda21ebde50da897c0af0e4af14660ce953d3037054a99d8adc3db2dc6e30a57201a45676abfb183c62016a68069848e7537f711b1752339d194b0a378 SHA512 7929352df3e5279ac88cebb26ca89bb13c755f46986d2d1f514d18a3239a63638bf64f8ff153920569d173185d988d692ee676335afba0bf72d47f71babe0e15
+DIST same-file-1.0.6.crate 10183 BLAKE2B a320c8343e0b38078ba81c4f0159d886bf47764c74efe0d7cd2b3218426e8341b51e523c00a9e5fbc2ee1057618296bd70b576c68751bd55d6ddb352defaca15 SHA512 3ba35309742c8db63210d9ea78bff4ecd80471d69e6238eb96c7bf0673814f221e2d838fe6311bfc5a0e71b4a7ccba33e07859c0b9cff2171969ff08a4214a7c
+DIST schannel-0.1.29.crate 34352 BLAKE2B 0ba8d3bb3f665d8bfc0849e47ecadafcdeb4bd25d4e432b9af7ca24df8c5e0fc8e21e4ed0b11ac770a55225dbf0e00f4d24aec68c1fac040f34b20bb5394fe20 SHA512 5491640018ce9e68d0b025c7e45e22fe70b8742355c42256853732f157c0a3d637c9828ca3a8d9454a7ee865ba408be1bd1abda89db734eec52af7f978c0e051
+DIST security-framework-3.7.0.crate 89115 BLAKE2B ba6e0a98df05bad9d89d99246a0ad3cd9dd8b0d62cf2ee6bb7cca16940764e3d0b7a9cd3f0681d51b2f922f32d9d68e303d3179baca90ac394417459771a5e8f SHA512 1ed5ff4bedfa0f013479c1c7bf46dce755c76c4af35e8ff775c7aa56df7764399258f56b58dc1df44d112c5e26fb95a385fb1235134f53eb9ada57e7ca8478c5
+DIST security-framework-sys-2.17.0.crate 21078 BLAKE2B eecd4d61db7589b72ed0c2627a139ff505632d45e01b88d42bbf1260aa2a4a95b6ff314225acacfcb4b8edb615f2fe3cfdd0fdeb936da586135c25c87be886d4 SHA512 7cca8471f3391af920d2354d68ccaceaec27bbe2b4f99413914f010cdadab5f94ee18a0d2467fc9ce49d077006599914f7733261a6b88f2ee9d1403479efbd4a
+DIST semver-1.0.27.crate 30081 BLAKE2B 760cd2994baba2ab8d63656b39f281304b309152cb3c576a0cf31ebf57294bdb6a10ad73e61f974688b0dd80490e0f4da004f3396cb6988bc90af8eee0961ed9 SHA512 8492a2ce5adf32cf6183d03509766f169b323a9376b061c9659a8752f69de5f45f7c64f474fa907fd9261fe3e9a7691a39c8a603d0c2e8d9484f5946bc27d78c
+DIST semver-1.0.28.crate 33064 BLAKE2B 03bb56f4f0ec6f4cb208277500eba03cc81a7b2a115d64849b2d154066f723d46f8625df7c512cfbb2e402a36cbc5a1627e8041ac2de92daacd4a92a6943979c SHA512 bb44373e60fccb83bc95e4277ea0abdd756a3f77b3334cf6d6b5fceac086910661ab94eb326cdc8fefce0c09220933bdf03bfd142c1594a92c9c1e4e931114b7
+DIST serde-1.0.228.crate 83652 BLAKE2B d1909d671ea6d5c2eb4ce34ee4493ecaf665d416111b4cac754b5d33b85f916296110bae7aa961efd987a2ceb4a31ba645752ce99dd28dedb9f1eecdd4d7b1b2 SHA512 9b645d6214203533b303fc5e88ad4f7686c22df084878d18a0209a92304a340fcb62fdde88a7080cf7a7348d47b9b363885c4e1da90dba08cc99ff620f375e97
+DIST serde_core-1.0.228.crate 63111 BLAKE2B 8a64e4627ad21a3d16dd37d53fb809d11171bf337ec16bb1223075cbf81b6b85cd1c8d19abadf42460d0fbea323e2f351eeb6ef823389d519121b74e68edb215 SHA512 43897e3a7ebdc85d81d1cb30cda8f0a11610f6f551529c8a21462c24fb83110652b462846aa3e1bed5fbf8b5d7927018845a524ee9e079e2c8acf2c687efd6c4
+DIST serde_derive-1.0.228.crate 59605 BLAKE2B 166ee2f9ff9f7a0928d0a65a72db3d9226c377bca2a1771956e8ecd9c7faf0544673c9c21be2a5553e621b55c74c7b958052592a1cf6eb6427a2d4f3e3dc6bb8 SHA512 8bfdfeee10ee7ef0670972aa963ef63b13e8eb2c8a09b9e0b717f92551aa89b3dd2a0dcbae6ccf20a1caece07e6adb18f0db56fdac020e4e0281b0d24e376003
+DIST serde_json-1.0.149.crate 155994 BLAKE2B 7564c287a05c95feeba2b3a17e2e43ba047b0132b40fc4dd0c09141c2aac559c00bf4c63cbd24c17f12f5e6b49cf38b240d2c6c66677ee7a9edb197aba7d57fd SHA512 85fa8cb7b479f8241a4fd2255dd80e346fa5cde103aa7f25c14ccbcdf0e3276578fd0645e1d2542ee07c7e08c32058ff662bbf03926cd796c38622a12f423d43
+DIST sha2-0.10.9.crate 29271 BLAKE2B 1d614e0efe085cdb40e05726578a9b4ca6bce93f6d3324f5dc0444cb37054912cdaf5d28d468eac2c0046030d920fced2ccd006953b80865ce8a2d43ef3daa81 SHA512 963adeeb4ed8b0e7fc19085e8721ea13e9b3aea5d115ca1b3dbca495ad14810c6450991dd3753807c293c415aaeb1054b8b4124c72e7090cd9e86f09fcbb4f80
+DIST sha2-0.11.0.crate 33969 BLAKE2B 3b3cf6f843096de127e2eb72c9eb0115715658c34aed44be423f59779450af204bad47f2f3320f3ee89db03f9b20d22b04033b0f93a72e275a0ee9106ae489b4 SHA512 04164d47ac648dc498f05245e3eb4313bd61234aaa33f1ba13f6fab0cf8cd8716dc88a9c71e8264e0d6cd020ff732461cec00d92bc294e9c261a646c1988f906
+DIST shlex-1.3.0.crate 18713 BLAKE2B 18800c364d3a628f1a3125097ea82fe6286550c2997235df0bf8483a3906aacabc81308cb239887d46ba2f457cc6f8acd5aca78316707eea5098cd5666aea67d SHA512 5c8cedbe666a14b8a0874defb9208146ce64579cde52ed483e4a794cac5dde6a24bf8d684404edff582f842e1fd4fa3fbeddbe074f191e4ec4aa517aa456fe8a
+DIST simd-adler32-0.3.8.crate 17294 BLAKE2B 283af73c690a171593b2c82eea51e8dd5e5711b9718db8207b46835c5469359989fce15067ebc4e3bf1384653d1947dcb30f1d3b9728ea51115a0f8dfe2c373e SHA512 896229a4b8deb0dcf3f62aa4c8d16f9387b88718068ac8fbe0bedaf303e6da7ec58ee0e0b45b5f5ac2698dae4beec11430ab3ee12b7e77bc2fe10e1284937441
+DIST simd-adler32-0.3.9.crate 18572 BLAKE2B d373b08b081f0c1cecf7ab95666beacdef7599de8a18d6a59f0eea8f7a59a36c496dd4401c6f82e4ca586642d0af746bc03fe069af1111da14ea56394d3da708 SHA512 c900aad6b3f8b13e995031d7e2ffec015d9b68809cd9d76e8368a1091cc5f3d63073c7a212656f3a7930e4445e64b93b977324d4507f02e059676ea2cf59839a
+DIST simd_cesu8-1.1.1.crate 319542 BLAKE2B 58ece944639253cd4e3e23fc08a940390d326e6134836c94516c144cca1e62fc56ad02708d66bce9d58246fc24ceadfdd83b99fdecf4d8562506f00282a7674d SHA512 f46c4458a70761b5608f00f69bbb7ba32b60596f3b5f3e4d466202254a5db4c89be6e3c25efcfd4384b463f53293e706fd97ae8cadb28af7f8b2654292ffe950
+DIST simdutf8-0.1.5.crate 28488 BLAKE2B 1e0ac310d874a3c279c4d2d5369de12c2ec20050455b2102c0a10325383c0d2ebcf262ffa1bc1eabda14ca62508d4120538d7b353200122168a659ad4791d162 SHA512 139668c7232f533d3439986474da5036efa32d4e0d21fa72e1283e27dbd0670984283d91c238e445be61317426f67cdb8d3f13738b2fb657563f866c8b6d89d6
+DIST slab-0.4.12.crate 19080 BLAKE2B 785a1b899fe01c8825f24d90b0b0bb31bded234810f59c71b7e44221387de33fcae220a7d0745f59f79c267673b76e7c8d9fa4c0dcbf8fc5d68be6562018d49b SHA512 cf7c971b99b043d8bc102732a109717cbbec114160e4f7cc4009c66739177778623403c33d6a32efd1620e0ac7b8743c36e0e5563082af7f92f1e4caeceea0d9
+DIST smallvec-1.15.1.crate 38116 BLAKE2B 8dd779d7726694672945e928399e0459f4973d284a6c2d664c2fc757ebb1177658f47c812d9800e982479cbd7413fd4283c64a4d248ba5cff6397f96b758676e SHA512 c26b097a063353beedfcc921129cd0fb838c1c9420218993a05b2655b47b6ec16f11e0054312018658b4abd893beee140c5d2739401a5e5aea2e64575f237047
+DIST socket2-0.6.3.crate 59330 BLAKE2B 09055b889f501975ebb358382237e85c35d81108b5ee91652843b363477cf103bf72dd922e94aca201720faba00a25898bdb88df3a7e335d0664d48873453129 SHA512 c69ed9bafe82dce5fb6333430f06dd5bea910dbc2085ae6bc3f0b5b3d2f965459a8c19e90a877dcbfec70dc8098df11ffc01dd5a401b5638c29b6dabb3891ae3
+DIST stable_deref_trait-1.2.1.crate 8186 BLAKE2B 6408959d169d1228c1b0802ef31c850206405f8259168f169aabc91f63683dcdf347ff0e74fb3535ab05d7642889dd2637afbdea389b43b0925e0d6cf441ed67 SHA512 630721d3f8e9f3290efc250c42aba13e2325839e62167a2a611618c18c6aa58c08a53622db61a9aa920284570626b98df26b3c28009cf45b6ce1ec134b9c9f5c
+DIST strsim-0.11.1.crate 14266 BLAKE2B 252a9ede4241b165525486aa8855dece37af77f5b28e0e1858c4a5d2047db9fa958328db10989234aad69463ab51b2303785ec056c63ea8c95bf95e111ddabf2 SHA512 0cebe0155a92640e56db9a599ae62078cbb32e1d2da8bfa67ed0e8f410a7558dfcf7b3c2720ff5913282e291ecf076aed9fe9bf84c8d44e814a642b1bed3335c
+DIST subtle-2.6.1.crate 14562 BLAKE2B 3cf4940b7a01f04715da1057f6a92b1043a6b86ab2ee7f9fee0337b680ff781201d330409460f6f90b3f81bb5fd4b563e17c762c6e824ba3b0af99e4ae7d66bd SHA512 f5946ebd9bcb8776ee3446abcbf4afb3cca5d8bd847cadda87e864333ac7ded537a3efa773e9648adf20ce4add2c1da85172cff88c1e1a3a6cb051401b00c6bd
+DIST syn-2.0.117.crate 306011 BLAKE2B bbaec02c4322f522bdfc87caa4ce6fd1e09bbf8f4a102d9ed8728efacdd843a2750f616dce5b2d3a3e46bbb7d57439fbd10e328bc1d4a01e980986cd815798af SHA512 035c2e63542592b6a4058a2a82d4c2c1f5793f84fb1b04cbd393337a26fcf661a1f3bea439ce98a1fe943b1c4d36d2bda16df3bbc3fa6ca35e1548d530dc8416
+DIST sync_wrapper-1.0.2.crate 6958 BLAKE2B b2e162f982ea827229dcff468bcf31c6286c57ea3491a909784cdb50b0ba36c3a1a6fbdc7b34fc2aa9a7df1d174393d61ea9dc7ab3439a5e1a1884e2473a70f8 SHA512 aa314a6ab3ba028d2a169ea55a50eecf3b73b475a81c91330430ece9f1734296562627a8c32fad51b5a26796931f364e2803b3a13075ccd9a0aa614d5220903c
+DIST synstructure-0.13.2.crate 18950 BLAKE2B c475f370d901a371262f466dd98e3914dd6f36aa473a33362866c0f781d27b1813233f96b02208f3463a825e8012cab0f8872eed848d9aa0eac88b581a0d261e SHA512 2698f4e80b93f7cf1d8ae97c4c42a7f61e7b7081f7f1bbb94d7f48ab7ae813a666d73c49ba3812cda9155e0138b55cc246fb96e5858e411a8d32bafb3e2b2afb
+DIST tar-0.4.44.crate 61020 BLAKE2B b76f92a6e8c3d25efffde669de00bc83a717a9888c260f23cca916dca2953d4007edac055ae34d4597b17cecd28e273c27373bf14b35287053d3547f27f03bb2 SHA512 b6a33a50f9bd124a0e40b4a557c967cc1474b8a49e6381aab0208b8e6338108c4a3168b41882499c3ab84e214314e3501bce7a714b547bd3a86ff1b3c80ecda6
+DIST tar-0.4.45.crate 67847 BLAKE2B 2dab1e4bb568970cf52644a0719f69a62503307051362a8b279e3418ffda2fe8d30fdf3e4455cba7ee238f60fb10b5a89112ae2bdb102ab98aa3e38307111277 SHA512 a45e6250f93a31c1ea99a251de6294c4d66931b3277f4119e68586abd328d523e251294701ae578459276558ad256a4073d83fd968ae9346faf7d8d1ca55a593
+DIST tempfile-3.27.0.crate 44780 BLAKE2B 898b8b00613c4617271febdd54dd1e5f66aca54c1e4b60067e508c87c15fe32f0ce2d30b3dd630ecf7083b046d579f31064fa72de09067981c920f4aab86f2ba SHA512 bb20b9b0c5d3301ad05f73f1de538ae240366d9aefa25ca823ba40041a8a11b4a7361a6a9ec03871b14230d42038d7af6d0b652c8c471935b481a1628b59314a
+DIST termion-4.0.6.crate 24048 BLAKE2B 4fcd497685e665975de2ea9577653fdfad0676e28caacae6b0754d2bae81e81ba7d9d4dc5e01f52f46eb2302675d8d59d62a7ec4dd0c8c5bcb304561832531ff SHA512 084ea0242f26d1eea89fb0b69d0919e165faf9cfe5de393c464bc15c898b7b073459d9aa5d9f50aa9d26f0c246cb28cac6dd0bd138e2fd0f990889f4f10862ee
+DIST thiserror-1.0.69.crate 22198 BLAKE2B fdd8ca8c8ca78702377d0bf7b253440519018275b105db980d63229d0d44aa5c39a703e14aa6fe453c779b3c864d8044009dfef893d2a5294950f067656d7a80 SHA512 ef50d2867d965da1dfb29d26faf6de273b5fadf78f95313f6caf44d68bfc610b9bd4b7544200b05bb0861231cfc84e961007f8db83c7905244c492037fd31899
+DIST thiserror-2.0.18.crate 28875 BLAKE2B 4edeb4a39f27204d417d673dd3e2c1dec67a5bcdf44aeea70a02715b6101da290b5ac1534908001bb7d758528777f5be30b428eaf13cf0d8afffdbece054f3f4 SHA512 5e20261c0f8898574b5668c743d292be1763a78f6431918f33eea2ee2badb40743af4f668ed245ad685a90c3ae23631a2ae8266569d8f1e7dea111f08ef12352
+DIST thiserror-impl-1.0.69.crate 18365 BLAKE2B 51663251ea6ec99c59aec35fe73c5f9760809d6b6b7eaa8ecbc8f6939acdc4d0ebc11f9034d9204dde7bd689d5e8303ae0be86e298745e9ef96825bf73453a08 SHA512 579eb796c8885feb01d27638862823acd96c79440655bb444c3445ac00121852603396ce7439aed617c0a0ac69f62102167fde5845411c906997574a46d6d9e3
+DIST thiserror-impl-2.0.18.crate 21413 BLAKE2B 38d2dd849f6919b2735b23e32250c0750366f2a5ef9dc385262ec00fc8e0cef17ef902211bdacaffef4e59dfcde9ca2d84a0ce4d052a96b4233a21b168e6bfb3 SHA512 52a7b5a98cdc32f7d6911451d75f008599ba3775fecc1f7483b161cc4fa176e5b19659f10abf8189748d769fa23d3a22b774cc5102fce395c6f77a5f107b0553
+DIST tinystr-0.8.2.crate 23942 BLAKE2B c84593349183f328d3df66b2ceb3b5bb9ccde3b9c082de72b7daa2845ab2ccfba9ef170a712f41e5ccf02008c018b456fef0ec380eed93f020605cc9b293d287 SHA512 21416092df2692c3f3f3efb9f1e2d124389162fbbd1038d244befc419347cdc686cb01d6bf1d589bf23fc6f69e23a94522bc7dc81aa7a2be74c697cdbcfc8501
+DIST tinystr-0.8.3.crate 24710 BLAKE2B 5ff044db0b3c11c6ce5edf6dd4562087449c7af0668a5de08e07588c3b225a3c13f15ed39f2f7d8860dd4d0bd88fc95ea2b7fc96446e5963521eadb6699dc80d SHA512 1208a3502aad5783a99d05c6c546f0f9de5b468b273c0931a33829c857a159679f8720622ee0700bb8df397baa590e0411f89116327759a859ff46438ac73bfa
+DIST tinyvec-1.11.0.crate 53096 BLAKE2B 58b2a97f9883e557073999502bc3f1b08d075b216b0818beef19336c505926a352d1cdd8e596e929c2068912d2f4967cecc663b3834931bb73d845ffb49c3660 SHA512 5b07b93f5fa38a4e5512ba38a424df38582e5dbf39bec11b8b486d2b5b0726bad9b2c4b43ed1312b2ab6c8debc6bf78c48c05eb9c1c9c8187220f60a3c6f748f
+DIST tinyvec_macros-0.1.1.crate 5865 BLAKE2B 2bf4f68ca11dc19c72232951605a4c809b34ff38ee365ee4f592a3c41360e23c9330cfba961e2692a0ad568fef4aaaac51c40808d491178cf7a0c4b5a1c5d484 SHA512 10008c7b3a3d50c94b9c370015b76ee082f5dfb6dcacf014dc2f2dbe92f903618d10d0202b21f48fcf98a94ae76fb712db55a5e8ad353645d378cf0e6ec74f7e
+DIST tokio-1.50.0.crate 878380 BLAKE2B 222f2c36e420e4f444cf6e621a1ce69599aa96307af8b6d1fe32988ec5b6fd1dcc3f147f3bd82fd768b38cd48fff25c84e8fdfc3f1d6ae08fee4482d3f99dcca SHA512 d09c90a3b7e88935c97ac3092842ba4863c412fe2edc428431c4a1d80839354f79ec4235cd48b81a5c3d88442b21753d3322dfcafc3f4ef31f5fcefe210c5548
+DIST tokio-1.52.1.crate 900270 BLAKE2B f84b7d9843533e860a8fdc3d080ab4f81e3759154caef96dcff239e5ebd91d96319a71b06d4a74bea116f25ad592e48673876824064f7338fc6ea6d01aa46780 SHA512 4b88b74953edb136b963fb72e279852fed62fae26b9e3378b0bc079c6b19529e8ec60cdf1520678dd0ccbbeda64b615c34bd2ddd3a27252df42f1a8076e7afb0
+DIST tokio-macros-2.6.1.crate 16546 BLAKE2B 70dae2211f477a09b910db16a3940ab0e6352fad86d06e54eb471dd9a16ad08829bd3ebfb97d415861c0f31ff437cc6ad0c994f3c25869725509f3db07cbadd6 SHA512 f52999d45ef36cc1a3704fca95f10160a244d1113ce957734fb044f6102e812596e5fee2a36157a2b3a0b070968890be2d6789a5d3157b69dff1fc141b0627b8
+DIST tokio-macros-2.7.0.crate 15859 BLAKE2B 430d68352a433d070dbe80146860179023a01cd8fc7923a55337f48743269dfed914cb69989eda8ff969c74a96b28cd32f0a59caa87d5b2f3e3828d878d0b026 SHA512 c93653ec669b092e928f71ed1e7af8783a5e9899739265389ee24301a0a5a9e2b98c69539937f78926e47c13a36aa70c70eae278ba6c082306e4044a7021c2c7
+DIST tokio-rustls-0.26.4.crate 35430 BLAKE2B 97dadd1b4d8aebd2f862f05bf333c0af97b37c1055f0ae9a79b78bef4c8bd4c05c034d13e395346de1d83195609bfd45ca34e70d4c0e537a1e4e8078181c00f7 SHA512 c72fdd74c4b59ab7c8fe15ed73f827aed91a40360a6d82772d6ae2dc4affc590d2c58c1b7523be7249a2be7e3bc2513a0906c0ce53ce1288d5dac50e01199c7c
+DIST tokio-stream-0.1.18.crate 44366 BLAKE2B 39878493a2ca35ea95fcf9612825b85fd82ee457ac12fa61fd512ab2f7c0242e1a6d91ca2ad997be83f8cc7461c1075be11c9f204ffb3046018e8cfbed84776f SHA512 679a17e530a84f38538af9952496d0258550252f4978075fec468380b4500ee6449a266c0e6439de4faef7aa3bde3a5baf04559fe43736f745406bd6dd4e4c00
+DIST tokio-util-0.7.18.crate 140550 BLAKE2B c74f978f9d1bdd662acf65551ce35d735b23909ed25a3073b5170459cae4d0bef40e34a035ce1e2f8bdbf7ba51d230c016afbb150f7df77d9901e45caee3fb97 SHA512 619504b1c7b10ef79da38b99e7c17affc0dbb984dc671bd1ca0c4b1ad3d1d86f80feee67b78fdb7fcf7ea989a0e9bd5d52714467f4881f31ef5f60cb989ec671
+DIST tower-0.5.3.crate 110488 BLAKE2B ab4a8f027b517eccce512657a59a907491325f8fc5d4271e05bccbb60172396d8f5994ecd0c8c3553194c77e7319484e7a2156d499f37ac81b6fd636d324cbc3 SHA512 59ef5d805fbaea97ea05de33c54f7cdb76f793e5020baf25285183db20e50850f2b4906b7533330016bca4664066a97ffebcb605e4fbc2edfff8a9a244a01602
+DIST tower-http-0.6.8.crate 135827 BLAKE2B 1f3e5a012eae5a83a2ce7831f95a501b35fda648617d297283c43f7796960d039df95397a9179eb47458974e5ca843f72fb73a905e58aaaacf3d94718adbde51 SHA512 6ed83fe61b74a6e168710200a0c01f98f0b559afae6d98b77aaec8b4e8c737d2d18b534d4e1dde5efb78f53854521a759770521cebe56adb863d76f4ba34a5c5
+DIST tower-layer-0.3.3.crate 6180 BLAKE2B 20435102dd62113c3e961bb28d7b18ac6f8ec6d5f0051f511e6f5eb044b20016f247ddd1b8eae9dc9f1ee259d8cc31e0bbddd26f5a22fadeea4007a3011b8500 SHA512 edf36671076cd29bb32c29351b648afbf3e7134316988a697c7807db62de7a63cb0339e4db7c0f36ed60d8aced7f3e493318cccc272070c037b01e2dd189b934
+DIST tower-service-0.3.3.crate 6950 BLAKE2B 32ca66bff783eeb015af982b539acb63c9d426b931832b27aa45088382712df3894132a9e6e96fe1ed9d0f9e582b7a25b33e0ab73711acb06b4e134e69158452 SHA512 770cbca46d8500ff36fe84a9a420beb84a0e893dbeaccdd93a3970e746c893b5d32580182ef3017662f421e4b2d71f079ed2cf1727dcd5fc3443a4484f9b43fd
+DIST tracing-0.1.44.crate 463135 BLAKE2B 86054adc3043c73510bdd64973918dbcd4a8295dd007a4356e702d6dc90bca8b0f211df5e934b850d63618057fffa10215fb5d966340162117c110ff3e3e1c98 SHA512 383404a78c9bcb9dee947140082420673688dabc54eff334460222abddfc246b0256996ecb456d5b6325c029fcb2e641c95ff659a08366089b8b79784cb28869
+DIST tracing-core-0.1.36.crate 63967 BLAKE2B ed35889974aeca741414d425c874232c3d0722aea1740a68f1e2c8054b7dfc11d3c19de078a4a88a189d9a00afecf2eb5bb779a5ef0cffabee7fcfdc6387ecbf SHA512 7cecb6c2f1deeb6d23ab466c376e1c1300dd9226301c112deeb2483eea13f7bb514fe57ece707a8c67450245062060872dd4d7be390462008b369ca3dfc57dc6
+DIST try-lock-0.2.5.crate 4314 BLAKE2B e75c6c0d7c975e294e3d723e2fb023067530ad6db3c7bdbe89b9558764606fd1a74f0d1ba787d85266db1912dbeda85408e85646d0f7cb24496d743b7a18c705 SHA512 433db3c52f55d78220db414ef6a7367791dd66eac935f41dcda85ec9200f0eefeab6e8342e70aabe35c300069c0e7b7c4f8d63a2334b52a081cc98416371ef08
+DIST typeid-1.0.3.crate 9006 BLAKE2B 98de768e71bf1c3fdd62b01e7a5c7976716a7ec983a96a5cc6a2dec52e6bcc61260b0508684ed45a2f7fd06fe6e263c9d7f0c29b1fef4a3e498a024fe5cbd1ea SHA512 3d15a6f554108b2fb9c08ee9679e34565d84efc1d34ffdb6e4a8eed8d3575ebb75176a56124d9554315c93b86a88d1cb619238c10685808376cf968d83b5bed0
+DIST typenum-1.19.0.crate 76414 BLAKE2B 8083988e0bf1d7927377112b8939607f32af098f198a2bfcc2c5302170d9f6e5b29cf02d3cab16c1ecd0fb9f0a45ea3c6bd4a4e4baaf2dfdf8f694093300deeb SHA512 09ebcd7a2cc11f422469cf4fe706f1988bcd81d628e2bab3f54ae82b0aa5486d03a4392187a3736c13dc0c2027053387f89ac656caff72f36365c8be38bc7ff4
+DIST typenum-1.20.0.crate 105530 BLAKE2B cafd31fa726d6780e7c8eeb9a4785b8ecd1d846c49ad12d0d95666d9960066d16afeb0faab1d5ccd5a4dd47b98e0ae47efdc08fef953b0f2d254968084ed65b3 SHA512 2f511e72395ab9a3d3625de5d350e3a1d78d9192d69727cbb51efc1e41b2b6c28798a2a4347664b50978fdbe83e79568cfb6c53ff5f5656fd0cf0e3689803f54
+DIST unicode-ident-1.0.24.crate 49298 BLAKE2B 34ba2906a3ebc06f52a4ba77dff96a8f3fb977718d260886fa9e051c5830765641b65a63977110f3a79f31fa177b385f81b01d56c80f6a0324d36eae72e2ebf0 SHA512 7be712d8d0075ac9341790180e312f66264d3e0255c91b38df0951baa5e446dec24551bb2125a66a1cb9b6ca2f1ea37c0cc15fa3dd74f398ecf4d5302c7dc259
+DIST unicode-segmentation-1.12.0.crate 106323 BLAKE2B 268b60aff6694434f05afb7e2b8187eeccdceb77460f8ce2ac0f84d470f8a4e03182ce3f7906177cd2f00f989273a7e69061a763006245f0876bf21b15076804 SHA512 55eebfe5e9972b39d7c0011d80eb5f517d636de37870999119a3d8f064f21f67b66a5ba9761d562738b05f220e21d56b5be7bbd9cc51662994e40dd67c38f946
+DIST unicode-segmentation-1.13.2.crate 111829 BLAKE2B dcca4af1f3d432c7f40366f7a29267a698cd0ee9a8d3fdb55c577c3456c75f1d664f8bd1f9a59f9b19b93f073a1af7f89bc7d70f87f7c8ade148187c9b8b4990 SHA512 79652f9c22e755530e3910e8a4e176cc882c4b9895755e1539e20820b6dd74cbd52dcc9185eb11f3f150214fb6a822a4aadb6fe967e9a590602008587c67cf77
+DIST unicode-width-0.2.2.crate 282768 BLAKE2B c03a04bb159969f32447c7823f50b2686c515dff4f7778d2cac07a87cb9488d44844b0bb0b51c6996d8fa1fcb65cf4e6a8a9e697d95c1be8373535bc8d7c4215 SHA512 a0ff6ccc1d154e5a100808d3109fe30afa048c3ff402f0a0de34dbff2d58a7403903002185b33bee7b04dcb578c9dea66225a8697f3cd997205680ae3abce965
+DIST unicode-xid-0.2.6.crate 15744 BLAKE2B b1bad25897717f6346f988d5a7c90c51fb842da113f19aa434a64add8f2e637258d9fab0f7b871fd2aac02e83c68359fc679b326232793cbc804523e2bff5056 SHA512 f68e78484479a5341b14d7e3391e691265851fa00feeca53af745479af6aa9b4ce3570456df785c8362043db9b04e2e57f9bad05d8305946f16af405bc611764
+DIST unit-prefix-0.5.2.crate 8041 BLAKE2B b4758a3191a670db8c133ea1cb2b5348df68e4d7f50f08397b3964cf3dbcfad9abf10f9a07da05a5af54cbd976f5f17e177538670579a48076d460263b49f54b SHA512 d4b80b081e5dbcad2cec9b40889fac228539563a29eb0c904d90dc67a4f300ce4006bff55701cb3fe9801a1352b1467afeafc25e8398074bc34cb890fbfc2c52
+DIST untrusted-0.9.0.crate 14447 BLAKE2B 8e9c3ae09435af0885bc4a6e3c8943805b48cfc00bdae228c7c43093254e1be15d7005d1026561ff369ec37865d8458203f421a9c89ae3db077f655449621aed SHA512 5929e4079c1c2ff933ae8d8f59a2ecc7a424e71a20d1b8821f75925af68bdf82604b024c008e5464b02e25ff093e561a352b685e755b3d0b27e4c30254689416
+DIST url-2.5.8.crate 86512 BLAKE2B f289265720ff9243a27c371a938abd00e2c458a440e6ffc30cb0fb0ea4aae4a6b82eace80c3655a9dbfdf2c9428a10844cb3fe6299cd8820e86a13e5cb078d8a SHA512 5848b47d63ae9c195fd5f82bd8333c53cb399f383240e84a606c486d3dbb37db4e268b01a147deb8cdf5bc534a4ebc7b11391e73f81dc3ea3ad7254507ac0c6c
+DIST utf8_iter-1.0.4.crate 10437 BLAKE2B 1e7a8b9241ebbb62cb497542b970473780f735010a0af900771a43abceae4e7f362d21d4f79f7c00630e4549400875ea17574b2cbe4f5ea19e8ed428e3b5577d SHA512 a72671995b3eb295581c60dc632e4a25ba257227fb5d58a8bec322428b6d69529bba79a6f02b8e7ee6698b7779d9d6695f5badad73e07c254b00c9d6256c9090
+DIST utf8parse-0.2.2.crate 13499 BLAKE2B 095b5d219ab8ff04c06fd6303e03d913ae36a57845f0b2ca3217a40e31a54cb0fb5ecedbde165d28f5f60f1553d8252986d7098fa83befc84a7cb20bf3b76144 SHA512 f3dbf78fe924f1dc3cf9498b6e43fb10174699463f31091a7a8136d8f31ec84fc00e80e3d8551b7e86257e8b3573cfddb56fc0de797fdb2cde0e962a8f239266
+DIST version_check-0.9.5.crate 15554 BLAKE2B 131e75cc287518831e142430e2a39b48e4275874f4473780d47a27552294097aa1cddb65c385583e1022478f940b495eb43c24a8b1617b8ac5a24af3340c0d72 SHA512 d11d5a2240ab0c67ea69db56561ce202201edeef9a8e5eda3d9ae7ab7bb5752d8f343fe7f6536d8383de8d55f9024efa84f66a0c21e69563b7a38c4a628014db
+DIST walkdir-2.5.0.crate 23951 BLAKE2B a2d3a973f206e94699adec0263dd5e211347722cf3ab82536295019268b3125084da5dbcad818070bfdcb6a5de08da4eb483475bc225a829f58a1e3e040b5fba SHA512 da36a121dc6656942dc9cd9887fcf4f6eea7750354ef3f59c7c25d836e7afe06f33260b4d55d0d99421104ed4ce56ef2a1f0f4c3b713766fff90548c21793fad
+DIST want-0.3.1.crate 6398 BLAKE2B bcc1384bbb86db27b5e082b29a8dd4d89c37b40f6cdec4df8a86c8d205b418468b6cd42a78bd14ebaba057b28e151c00b474c098d7596f49a823ce33510c13b9 SHA512 f93f765113f035e134b967e8eb3f4511b8e03e793a47899b614d826afac02348fc02865c298a10410ecec4eb64f35f66c22bcbdbe36ed0c4c1665dca1db4d526
+DIST wasi-0.11.1+wasi-snapshot-preview1.crate 28477 BLAKE2B bcc773ba28cbe8d820e9e9fbb275fb4451bc7f39b3bd88bcd93850bf2bdb5300489bd8eca27489ccc5f6269b00f4e1b505ae3a33a35d708cd5a414ad307be149 SHA512 29e3c903763db2580a15f50db487c5e1d4e90763e48d90a5b3f681e468a24f9df1a01773bd1ffa0e3cd293dd8cb4d6fbabfaa63c0e13889c811a56f4554ada49
+DIST wasip2-1.0.2+wasi-0.2.9.crate 129778 BLAKE2B f41afceba3c586d12829d2c59f45198c61ae04a0dfe72d6bad6176a3d38189a097cf633f34accff83d7ccc238a35a833381e98291e5fd37f2f4d6e08138af2c4 SHA512 284571c833a1770fcadd9a70155d8b507e9f7f0590015e1a07ad0512ac0a7f0ca4693ccd1aa1ab27e74ec58cb75f314770b66562a2167cd6b5086a7871527eb1
+DIST wasip2-1.0.3+wasi-0.2.9.crate 134512 BLAKE2B f60f74c4132db0605658ec48ee0087992b82e8969d890be15d9b2610aa235f43dfa266863b3f86e323ded9bf17a585beae232defc087ffc01ad175169ff6e818 SHA512 74c4baa90ecb4c1a87a931e03dc0ed7b472fadaa837d286e28c1c948a08bd2af88ed6f4bcf2900bdc85bddb358026d676aaf200899ec395cb98883e2d1a5ae2c
+DIST wasip3-0.4.0+wasi-0.3.0-rc-2026-01-06.crate 123354 BLAKE2B d8251ea31999f954eb1264bbc7792ba16a90aec3ed3112fe84b9a93dd8a0e493390b899be9e5e215ebebf644697d3bab680cb07d5e64617cbb57e6b2a28ae95f SHA512 fb136a5475fb4696902d4f4be43e0d5d28cf3bc1b6c83e5e7837499ee038f995c9f084064e2e4585dbc3bd260e0c7c95371526b04933f2c60fb6ce302416215d
+DIST wasm-bindgen-0.2.114.crate 59350 BLAKE2B 9bef0d69524ae4bda2178d5e9cae43d777fe23fc106e0282324eb0c417e15c6b2d9e39a610a23053ee994b74c31c6696bbf9db6d06e36f4a2689d0e0246940a8 SHA512 c6e9f49013b390a1037292b53bdd79dfae07b17b6750f8ac013efc5d37532253f8e63af091b6bde52c133a3933266630e76c059cf7fc7eb694e4c72d55144a4d
+DIST wasm-bindgen-0.2.118.crate 61149 BLAKE2B 3d5655101b382f2870aebfa35eb38cee19402eae18cae102824876f01094e5f505b26ee6f1afafa786b0cbe6b94ecb5c292db54bb85cc453ecacf6fc602bf79f SHA512 a61545f1895fe5a6e9d33b321f8d6e888c73c44b524fc38ac667df4f0cf7cea785d072c3cffc7d7bb26d288ddce90683bcdab3ba09be929016cf1f742020e270
+DIST wasm-bindgen-futures-0.4.64.crate 17656 BLAKE2B f4c1348022bccc48c9d7191bd626de1c8afd31c3c08d6156bb3512bc5fb71e8fa0388c5644dfd23de68310039ceff2b30e842abbacce44b400f9202b2a6f9ceb SHA512 71c580cbc1be7bb4261b45cd3df3ad979d0f55b2fa2b8282a773356f268ce43b26da0c118c85c0ffa9d60ecb189eeb199de7a804445aa42827f22876b38f4c51
+DIST wasm-bindgen-futures-0.4.68.crate 8303 BLAKE2B 96822a0d1e3872482813c87a4433c4236cbd69d3fa4d76cee2fcdeb5893e2d1886f15a54bfba0525adb7b2d14d580d2c27df38855896ee77186a7220ee9917bb SHA512 04250ca8e3761e227e65e0d714007bed4983eea4a2755e7af3f38d342ff971c4af4e5b4bca2848cd92bf7d53ff23641ef23be5e25bd86ce1d88897c7d4a98a07
+DIST wasm-bindgen-macro-0.2.114.crate 9289 BLAKE2B ad8de58de044cf0b8db6aaf713745a9f2dc7dfeb53dfc12f36de732fbb36c7cd36f1e8f1e073a3fb460d7b2baef8ba3126f0003eea4b052886b1502edf595c0d SHA512 e44de567c0e00a2ad451199402e178fa99a576b26466869f85f651d9258ed713bbe33f003981adaf85f4b5068bc0950222ad83b09b385e243b6556da98e7fadb
+DIST wasm-bindgen-macro-0.2.118.crate 9288 BLAKE2B fb4935cf037278752326a8ee4e78ca89738b426ebc14a90a63e1c37e7bb250e7bc4a08390448b1d49d7dfdc58d1e53ad98f08220c57187584740fa73950b365f SHA512 9370d4abeb445a0d8a89d0fa9156611dacdece4ff809e929987436ac2d6cfb1a3625b892a90f6c1e32f7541592415eb37259ada379b39b2aeddc8f3a2f8f1b3d
+DIST wasm-bindgen-macro-support-0.2.114.crate 63445 BLAKE2B 97a01b9296dafdb7032d432dc9e0f80d534750509c5c1c081766bc6286da373ca74beb9264869a4aa8ad10e6b605321f95058ee3ae35d8130b45ecfb372a7a7d SHA512 723df09894bfe8338ae127e6022fdeb814f80201c6f84cb0b7d85277c968b254b09c80821462b576febd041109947a9dc4aeda904bfe49ce8cfc828169b2c243
+DIST wasm-bindgen-macro-support-0.2.118.crate 64823 BLAKE2B 22381eb0019bb582dd1b4aab1b33ac3684d6eb8b0a613d1f8909eea82a4df561844e340e81b7c0cadf452039889cb3c1b386aaa4f6c7d25d6852529bb28d8e09 SHA512 36896af83f1d9fc9f72b4709c600db787538b7e889b86a374ff933b5c29ef80d09a2599d54fec051b3559c896ed035243595fbdac834f909860ff47eab2f7185
+DIST wasm-bindgen-shared-0.2.114.crate 10538 BLAKE2B 2dde4757cf4266772087862688b3c24fdff7931d2245b9ed0cafd131a1905273ef48312b3d6a6f1c4929d069deb766405abe03efc7bf615abde9c5e770b85979 SHA512 532c8599710ead05d318d7d30c410bf1cf92e4b6c6bd1848155330dd3cfe430755387827612d6d757a87506ca54892456802244e04ad440975bd8dd7efe38969
+DIST wasm-bindgen-shared-0.2.118.crate 10565 BLAKE2B a139fbbc5b63fec19708772d7f3cb457c2c24ca73a72618e4bdc65c8090390296e841a9ec5969d1cc0f90cd61351f43b5dd1d0462d08635d90bf01b24ef12b17 SHA512 916d6535f91aedf68b90d2491473d758244e664aee2d82734ed2bd377eaed90e929aa06ce95790ba120405337caea88624cf25fcedbe6af8b0820905e203fcd4
+DIST wasm-encoder-0.244.0.crate 85804 BLAKE2B 6dabb55c635d13d1d56711a43c655dfcb74bb9f0be10bccd412c21b5dcd63a46b73ff40955ff28aa0fba9341fe22161c8d253762afd587eaf69a7ca49c06e285 SHA512 ab78662abd6bc9edcc14531a87a848eb6c26081ce9bcb9ff15415ceecb48dad98ab6066638947780c65d7689d11502d4dd2353ff3462b4f49e1c1a8c00d2c1d2
+DIST wasm-metadata-0.244.0.crate 21500 BLAKE2B 8da1035b6302c23b00792d90153f74f35eb9cbe913366b43ff7e5d81481c903396b32ad54a416a14b40ff8d4ba329c6fda8c203e4b16f1ab80b3bf4535cde72e SHA512 77677c68dafabacc9697c6090d01fdb171c33ca1663c86dcd3612630b2ea6c41232a7cee125ba416d373edb34ea8e0926d164012461e2ddca8d4d18597feb855
+DIST wasm-streams-0.5.0.crate 37790 BLAKE2B fa6b73878176ff7e06f3430ebe351c9f6cdcfa3d721cec9b6872a726cfe644277a57061eb30833485def43ac8a6238da5ea7a301522ec1b488da2e5811447990 SHA512 b27afad552251f6c8d2639c04b7881b69403a8f937f5aa8f7931a1e07b4f2a8791b1be8111decaaaadecf0b7b664d7072ef22c4d61f272484761a6dcdd9ac9d1
+DIST wasmparser-0.244.0.crate 265607 BLAKE2B fb982e84536afde140d972614bf6c2875ef169f0b68010393e61d8a1041e57d5355e8f0a57df0681ce4159f830e30a59affbd733656aa9c633ad959225007b11 SHA512 d1a1f549fe93e11cf4155a8f5840fa444505ca9184e28163917bd8ddb1d53cb4d2be0335e183ec24625a7db22dd5d7e22c93c697bdd4de0d537b54af4ed7d834
+DIST web-sys-0.3.91.crate 669788 BLAKE2B 9f19605a58c561eb370a387f259d8837ba1c0fc4ab942409827c12fbb6b546ad634ade236ea71d43c6e0ce2141a0803c29ab0876c73b6917dd325b55a5c56b6a SHA512 2cac32dd1c4d22d5106e5ba21deb1f4b3592469aa1f2e14792df2f1759a6251c247597f250aa649a87f4d0a11daec2f0ccb1b0cb9ce4561a1aac85f6a3b1ff45
+DIST web-sys-0.3.95.crate 671115 BLAKE2B 49508c5997ecb2597fa06e22d1abf9e70dca311bd8bcc5682d3302b9ef4c242afd84d70faed959abef5b6fcca27ad51b911eaf9aafcd4fc245d067f075ced2d6 SHA512 ec32f24cb0b8faab4c9bf1cc89c8a6148b3be87abaeffd79fbdc1e682dfb967f9632681bdfc9845c32199d88685a1eafa8cd223ebc3b8a5deba118b4919c3c14
+DIST web-time-1.1.0.crate 18026 BLAKE2B cd72e384aca90c79e587448160587531c417f31a32e9ded23e6b78d492d0e517520170fd03177f28870c313b9302b28c32069a2408acccc076a1e4939a2c8f8d SHA512 73e4ef9851de089fde9381a595cb9e37a434f563f1fd350e345f2617b701caf57a9aef739b922b5b10cda131cdf2fd0af42c55603f8973a623a8b6ae70f6cc9f
+DIST webpki-root-certs-1.0.6.crate 165537 BLAKE2B 5caf2c42819577a8c667c5999151e918f85b32925ab61e234d2743e4a5f34c8d40802107ec90f75d9d4a59a67a08f372276226e311f40d3752965054b3ccfa2b SHA512 0cbdd87e0e814f5f0921eff0aa6769eaea200934c837cd4fc9cf61f92f5a96b7e95911332ba4ce3be9a699a7d126f89232f2261a718973b1972e2508c96ff1ba
+DIST webpki-root-certs-1.0.7.crate 146732 BLAKE2B 1a543310a105a74d8fb60b06e3d22cb938257859a9aeee01a55309faa1bc82f43434f9f256ed9e7e57ecd37186e43b089782983c7a2a16ea12a6d0dcc8a38152 SHA512 029aef32773015c0a3caecf25dcef222787aaf61966fbd52c04c697f286007b976622f6030f94e69fadc3558ba3af22e278c9cf1cfa13cb56121c4dce7ad1f9d
+DIST winapi-util-0.1.11.crate 13368 BLAKE2B 164f49c84952ece6e566a9a23f32ddf34e16f3930ff531f8d7527bcc18768c9a118cbee748ae6a753a172b4ce8d0f22108142382992b2918b442387ee5904545 SHA512 cc1511c004c2a81da4d7a0414973f09ab711033fbbadfd597f56df2cc6c99b3c1822f0b8de1952e78400a88462b9050acd85d2e4b36db72254049a2d6f725a01
+DIST windows-link-0.2.1.crate 6133 BLAKE2B d1ca714178e6fe12bb3b4caeed9a52a36890989e77ae2dcd6f2d18ae4a21fb8479d304cdff63bb0a5f28acf44eaf104821cff83cd66b3a0406a5f33a800e3641 SHA512 afb0c87beb8914fd9a3e52db6f2f64a840470b9751b66c83892c24cb1c46cda63fb16b1aeafcaa5a1fc7c5ba01da46be63e5227cc108dede8b0bd27785498a6b
+DIST windows-sys-0.45.0.crate 2568659 BLAKE2B 6f2d634d121a9bf41e2887e277a73f33aee69b04c7fcfc6ff973d21902787997f1e186f530e9226cddc003ffc3f85a179c069c8a8688de459f617df92d33f94f SHA512 f239346c0141b95aa76e0771e2f4e38b9a592f3cd92c6001de353637cd65cd73b94cbf9917a4eaa9b0c0b2e6e2af920b9cf6b3fccb52770df5160254cffc1c47
+DIST windows-sys-0.52.0.crate 2576877 BLAKE2B 69d6b560ccfc8f679e2678663ba606060d71fa28efa82c8aef8cceaa2c63b06f2052764d60163964f939649a26bbec6361ee4b094555e941fae92070db566980 SHA512 24ee0df246c2b456a4987a9124786a28acd358768cc7d1305bccd81bc5bb8822b81a03fb18d35174a520b911c6d9b685f81a34ab319fee13da3b985273584f03
+DIST windows-sys-0.59.0.crate 2387323 BLAKE2B 3110c8cd2bc005f8c95cd038a8d574af648dc19788fe4485f977376f92e36b911b1a542d669a07ae9cd4ea72a884ab01ec78b8a2b5587456eb202452d1d8fa0d SHA512 d35e009e979633a1f3c8468cd038bd5c8c0381405165ce03497decd7d9edaaac485d704487e4a61d9aaf4e4d011b4248408912df6a0044d50e8457259867e061
+DIST windows-sys-0.60.2.crate 2518479 BLAKE2B c2e2f614066e5a9d7ec461d9d25bd441188797ad85e1e923baeb0193e82f5c138ae7fb4ad0255d483f60f7a94e3f5cd8373d01b7485c052c9498937bc40da992 SHA512 a48aa1b66479451e431032737b63dc62eac6f63c251534e258de75bbee4858829faf5e641756566f00e153b08548ba32beb437b5ea42e9531e3fcbd8eb25209d
+DIST windows-sys-0.61.2.crate 2517186 BLAKE2B f4eab0b365aa1df8a353d634da5081237bef0f7b69f02ffcaba232a688e59dfe877c47114de64c81e3cbb929c2fea1143ed6bda56ce935e66d871a993ac29106 SHA512 e6c8f61f0724dafca7821ee9b9c07237ccfee69be269be2fa7318eb48b151285ecf63e860aa1fe303639222fe11268e3773f37c2dd79f923029af58c645edb3f
+DIST windows-targets-0.42.2.crate 5492 BLAKE2B 42fc4a7d3e287fe2a70637e890304b49737776596f4a94a6d216668247092135e84322bd04caddd19c83b7700b0f27278e600ce8ed326957fabc21bffcae89b0 SHA512 84fbaffcad9a80beca77506aac26d0c5cb75aa0f21a5a70bcd3f6a16e71e8753ae00d3b89da9262c99756624163dcc0d6074fa9f99dfaae0dc098018209025f9
+DIST windows-targets-0.52.6.crate 6403 BLAKE2B eb98d0a8daeed5fe76e7fa8edb2743e2a3e77dfb9c4ea68605a6ab10532cb7cfc43bc1cea0180869445bd940be762a40136500e26b84ca88b5e0c502004c7a4c SHA512 d6d2dbd96096c6c396dba141a9817e377c35877f3b2fe58b2553280c7cfcb1ed6ee75bd4d62c9b882662de67ddaf0c1049b91530d29c94dd709c230e08eb895f
+DIST windows-targets-0.53.5.crate 7126 BLAKE2B 17a0452fe72a42df4aec8b4ae7798bd611df4f3b093709aee7b8dc991fbc2351edd23e134d12412fb47e9930ae30476b55841d52be5e764fc42a7922e3134ad3 SHA512 285a2ad1c370d8485a84c3921b180416c79ad596ace5ce30a1100fe0d9725139e9302f5728d4874789d8abe5c53e9b30ff4738d969da1c07940bde2b01c7a203
+DIST windows_aarch64_gnullvm-0.42.2.crate 364071 BLAKE2B 97c4e3b2a2dd3f936f9bfcdad23639c9c4c499eed220aec361d26d6013d798efa118e6b298f9cf841ac149d2ae5d58ca653731718450fcf2910bb5f6fa39159f SHA512 75cd7eb1def8ce9d0ff3d7468d2b1cc31cc76c08f981a2460c3d1eb09cff7100d7442863a3591621c1f5f3b3f4badf0b5c95285b6ed583e37283a8403f1095f1
+DIST windows_aarch64_gnullvm-0.52.6.crate 435718 BLAKE2B 8b12ae02892cb69401329034bbca671d13bd268a112120b56b90504707cef89decfbd2560492844a9f0588fab62dc1476ab7e931126b939015d25a8cc91ca334 SHA512 f62b2d942bdb3a9353465b07d47b93de179bb706511aa497e4addd74cff95e689a9b633e7801ce786e73b5ae5f30b506b6faa199c5ab86eefdc1d94652df79c5
+DIST windows_aarch64_gnullvm-0.53.1.crate 787748 BLAKE2B 78729e1107cf64ffc6a3d70c14cc93e7867578be51d3f6f442914a5f2d065fa86be843b72cd24d707eb59b779e9a719eb28d025619cdc219e379827acb4a16c2 SHA512 5e480e54af09c142ff75e77f733327dd3862f32620e0b075e02bf8119e955ef2f3acfa00f7c7a4d6a2b034d03d70c45e191a40c8af628484d0e76a0b15870cdc
+DIST windows_aarch64_msvc-0.42.2.crate 666981 BLAKE2B 9f3cc5592cdede08bcdc1e7c455325279e3b763d96942695e10dccf1dfc37a81c749b69a7d6de883d4c0fa6e8a0d2f578fe2a8d6c42ad8ef6282590bf8fc87b7 SHA512 d2dafa8c94d01c1b65ca1bd631d31f2ef842f1db7accb132ff78c3f8483221b991afd3391563e03dcec42bbc9cbdc0ebdab47b991d25af85b5ba2ac1bbf8db63
+DIST windows_aarch64_msvc-0.52.6.crate 832615 BLAKE2B adc8ff61b6dc96d39c92c7d4221ae6aa0575edfc016cfcd046067ca5d8fcfd56d10e8e227be1c038ce34684be22c7ccaf5f18cd5a7638d28fbff4ba15b48b90b SHA512 a3e21305ad0e6de38f5b5ed5d37ee5825b7521064163bcdf31d63341cd87983f54377865d2daf3bb480d2d0aa66d6f598fa09540ec1d71baea74569c86bd213b
+DIST windows_aarch64_msvc-0.53.1.crate 838009 BLAKE2B 0a04f6d80bd0ab41964e9932040d6c748b6bf10d609bdd35074ba26d245a98281739c8ac68a3fe251d36148a53e1730b0ea2dd5347279e74dea881be43d67707 SHA512 81175036792cab41ede4e3a21ae324e638c39604e14c7a3dae8db4090cec45b385aca32416ccad50ab194ce06d3a71f2e12473767d680348795383dbb2d17426
+DIST windows_i686_gnu-0.42.2.crate 736236 BLAKE2B 4ef0496462afc73d9d72af7e5da1e6d3506a92f8172930e88ae64ab97596ffd31c4f97fb969e9b677e30159c27f00a8e756deb006b630fb98ce83f03c8b762e2 SHA512 ad09d650a05cb91cb6b40f59025c023a4c286bc1194586697c506016df2b9b0d5b02606b81687bc634795a0d9a9b8a73e486599328ae09c853e8e5ba662fc59c
+DIST windows_i686_gnu-0.52.6.crate 880402 BLAKE2B 5aab8ee07132eccb7695807eb44811beeb0657aadfb672c54e99b6ae39c067ba9b93e38fc69bb5b9b14a9759f263ccd5e301597d2727d83b31b49a409b6bd405 SHA512 a1f6b5dd23d17ec3567bc9d11a4be6f35e196eee21ca342e9b88dbaa6a5f7c46e439c834b77e724f32ac22c0d81573746b3b513a6c944a221b92b2c76fe98822
+DIST windows_i686_gnu-0.53.1.crate 939775 BLAKE2B c6abfbe7b82c7fd95a483da467ce8f12a3777572e34c42777e6378976344c95e5a56e3e7ae47049e14de81aa26f276a723ac5cb61f2c62b141020a97a91f137b SHA512 5af8519d1e0d9947738d5aa339091695467a55b62fe97bac680eb469679180a54e9f65e2ef8d0c34d4e63ede8c16f34a0fbd1f54ff53924ebcd6cef17c3474d2
+DIST windows_i686_gnullvm-0.52.6.crate 475940 BLAKE2B fec4fda8bb2bf319a501a22372fa642ae682e4dee3235b258a028190ee73220bfc55b3142f06249bb4579b17e5fde662bb2b121aefe18544653350d7d0fe7d8e SHA512 95f13af855d530acc0b856214478d4b11b8dbab3f8f79dd223d0b009790c0e46d096fc1773e0277997deb2d5b96c704f17f23c7df11411524629f75415dec99f
+DIST windows_i686_gnullvm-0.53.1.crate 857396 BLAKE2B 4fcc61c3634d7b905c946ccaa2f6d03ccf0feb6f8080337d5618959a532fddd5989dbc95d8559bbfb06335865387900e7cfe942cfb67a7724c3c00dc99b1d603 SHA512 492bee10b669c799a93b7ad98ee7a15c0ccde4d13697408612cd345cca2b7efc38b85c550eaf1b83470bee53ff3324045b7b751c3a31ac0e214b9965e05bbffc
+DIST windows_i686_msvc-0.42.2.crate 724951 BLAKE2B b084286cd4927efd2889b149abf8a9fe9d3d777130db9e592982660dbf9a96a0f5e723ca121465787aa11877d2d29a5a7d7cf066cdc8fa7e90d7ca7dcb7677f1 SHA512 c1706fc36d4b157c020744a11b3eb5d7dfbf05a0b56775bc717e94b7fd725816b20154fdbcd69ac08dbfb8b8bbfa74fab72d7a9c10399aad6a1cc54cf597e804
+DIST windows_i686_msvc-0.52.6.crate 901163 BLAKE2B 99ed34e052db5ba77bab240ed5d38ce450be347a794d63ec39b719304c32722c9999b540ab40abe0216318900b7412970df99dfb36d1516a9517cae0c77d1bdc SHA512 ca97913ce202d73266cf55947b868bea7e964a4516b6a096a81aeab6a60ee73867171032ced35e3afccff741ddfb2def7468343b6eceb95253e4d4f349efbf96
+DIST windows_i686_msvc-0.53.1.crate 907688 BLAKE2B f6ae6032836367e9a42261779661abd028d303cfb13c016dd1a745b21b58d62531dd0d7658a6c133d2bf1dd95c538cf24340bb50e6743a82d6be9a622ff371b7 SHA512 b78f2a21e88adb65bf8a81bfa8a133d6ebe18b8394220421bd5f10b619528f118a255dacf6e78014ddb4db8a27b936be7af6e137133d914e1cc0902139a0e0cd
+DIST windows_x86_64_gnu-0.42.2.crate 699373 BLAKE2B 01c70809d564b16b268656e47295e99c992d8f9839fac8a51338a0e7c3b9cdcd0429c456ca8c1c139a8c687ed7ed6c43a82250889d881aadaa65bd037223e0a6 SHA512 5767af3c86e717f93137a89d442230e6b60a649057edb3ab104b1f82c0bcd64fe089dcdf2f4fd486a799bece1ddb5f0449641536b678211945e749ae24f35c1f
+DIST windows_x86_64_gnu-0.52.6.crate 836363 BLAKE2B e2335829155cdbd4a55cc9f9babc237e14e32aab97f6f91afabcdf80d2aee37d6fb4b8669aaf433ff532c85dba59b3d366c7d41b61a2f29b96f960169c900687 SHA512 c4086bb0280042f2bef9b556283b67f8a5cacddd209e1c5fabec63decec6d4fd2d6a7071407973981b98ae0c0cf7034fc612f9e70dc6d3eed9acdec771ae31cb
+DIST windows_x86_64_gnu-0.53.1.crate 903712 BLAKE2B b5a86bd4a760fb6d937dc5285d2c594245ed6bbc541ffd6cf6d169c7e4e8c4334523c06c7a59c52f100a05da7976193fbb535ff3bf7db30897d9940d4d5648a4 SHA512 e4c5bbc49202636c03953aa0fff1f1affed69970aae198cb4d1eeb5dda63b9e07b0cfaf46015bca3b8c48fd90d3552488a6a7b17b53aebf9776e996ccbf9c7d5
+DIST windows_x86_64_gnullvm-0.42.2.crate 364068 BLAKE2B 64bc53e98eb3fc649c9b43a6e734de4e65088e41edacabd49f7afcc5dc6e1065c563ecfc682747dda05978dea2dba4f45c16fcc18c3b00684c3d93681e5a7deb SHA512 d39a8bc948110fe612d3f8d6628b3f0d56620df11d8a49e0fabb6c90389ad407582b3af10e4eab46c79b3d11d2e10753d73d9e55963fbeac085f41e9749bdba3
+DIST windows_x86_64_gnullvm-0.52.6.crate 435707 BLAKE2B ab77dccd06328cdb00175f41cdbc120594050a9678b7f9820444391fb50aada3911a91ea00f3a6db2b4fa1820fd23bc9a007dfbe65ad41417c26ee1137ef9b96 SHA512 67681f5859e249c56b0183181811f6212cc7008d6471dad78aecc7ebe3d027686b19210b8aa9014c554410f69f913d21ce2aca928eea905eab779bea26464cbd
+DIST windows_x86_64_gnullvm-0.53.1.crate 787739 BLAKE2B b5e3aaba4ecd1e5e21a0b9ce5beaad3f9ef78249f21b3dbdb69af98d5f36d01f2ce65d3188788392b866f296548075857e2f904e30cb79db33fb3134fd78e946 SHA512 30b8919ee9ad36acfac4e28a3b22378ce11ee73d35de60dd9c9217adf14e85222da5526100b0252372e039e559a5bf734ba134b10f707657d542341056947588
+DIST windows_x86_64_msvc-0.42.2.crate 666936 BLAKE2B bc3a456e7f8bc272f8978ec69506ec9d89f97b7582ebbe05d8bd57bdf8156ef62d0d2dc6137a97e81d54059d70db97a24af9a038adff357f5dfd28805d6193b5 SHA512 53a35f438903fceb59e36bd2ac331773fb8e6c8c5a6d984e79021761f91b3b4a23efe49d219667a4d0d23dcdbf906da9c24e74fb1cff93395b5c55ff524e3788
+DIST windows_x86_64_msvc-0.52.6.crate 832564 BLAKE2B 8e9a3044654c6de99a9153e7cacd575474e7a8a3d883c67b02132af5d3fc99d03cd5f7a4dd666a3947451d11218e6acc6eb5e2526f012481106cc13453839719 SHA512 21944cd8e3a481b514509e73ae3f62722fe7ed380d37ea0c25f8fbdeba79174dd52ff65d898838da5df4197894b74e00f45d47489418e978753b4e55c7e623e7
+DIST windows_x86_64_msvc-0.53.1.crate 837950 BLAKE2B 5775d30ce763835fa26376d85e9ae6f598b817b8d32b01147e5d197c364a5071ce7b5b09ee6f611fcf30790af79c4e4282e04ced620190629eebcbccabb8d720 SHA512 bb724f4051db90ce49b552021e746769e5dfe3792b522416539960c27f9ace14f63c47f0f240d6563257377129b5f3ba2c262c6fea9610428aa860fe035f189c
+DIST wiremock-0.6.5.crate 60561 BLAKE2B 241bbf3c20e730752a33f28e41fb042de7842018cb41d6253297989b9b9291be56845ffd3d4dddb37554bb57b34dd532a589b2e569c9fe37553a14a14cffb493 SHA512 0d45c4e548f1e679b7417fca8522f3b7dfbc749b602d7947b1118960c570449f1dd70bc360e4ec719d78d8b75f4dd738332dcf1636ce1062faf1eae8e585d185
+DIST wit-bindgen-0.51.0.crate 68035 BLAKE2B 0cb5e191f866c3782b6a1e822ecbae6e618e08371867462addb027dd5510638e72438d991777877d5754b2932afcb41f2edc1ec1426334a69311905f0f309b6a SHA512 61380c309630ad7f415d467daf1d639ad7a3e8dcd26e5f88aacf0230b52600f150e804821b6a1df9b79cc7fdd4f1d800d043ee7eca770b1947a3cf06f893711e
+DIST wit-bindgen-0.57.1.crate 71227 BLAKE2B b91b6e78026d22b58da75e69bf76278f841e11b76610ce5ec04398da9bdfec14b3729c9a342fc79a74634baebd8974f1f937ad3170c67d42208182a0ab20b88a SHA512 9a2ebae44032c0032ae22d1cc277aa6cd35c874d00a0a8b2271a0267ab838f1584eb9fc41d896a0639ad7ad2268fbc9c337a4372c1b3183f6117674d4244bafa
+DIST wit-bindgen-core-0.51.0.crate 35048 BLAKE2B 1ce5f1bd6d1ceceaeb91d247f63745abfd25b539b57dc12321a2342f55da1207c697641a778ad6bff2bbece300fa52a788c7890e8dc49c5357f48292fed2a693 SHA512 eec78ac1566cc4f03b1d0d7d2e84c3d0fc2458a649c01a45c9c3781034078ed51b4a9852760fe96115006fb3415bcb31b1bf429cb3cac6e51e09a1c0cfc32ed0
+DIST wit-bindgen-rust-0.51.0.crate 57051 BLAKE2B 65c45b1b8b08681ded9bae2b4ac982770fa613bfe850128de1116a51ddd6366423c27e1f704817ad69dc05694e03aabb56af5bad3aeb0aba3cbc9415fad474e7 SHA512 7a5c29b92fa53ac8f8097b04a9507f471003edabcae0223d35180937b9254c62b24d9f4cef790000bd7bc7f6966af3aced2d7196359479480455baf5f4450f9f
+DIST wit-bindgen-rust-macro-0.51.0.crate 14283 BLAKE2B 79bc4a4846ec73ae02fe69fcb7898297647a0c70526fbd555e79a4c76de968f0d4c9e2e497643d9c1e7403bb8176a2108ca25a7cef577b9db3ae04142a3bd1ba SHA512 bdf6ab20b484180bfde867b8c8b03c10fe02a9279895ece43fddbc20b1ffe771128590d3d4c72585e959512808682278e54983d11066e0192d84b7aee830e0e2
+DIST wit-component-0.244.0.crate 256882 BLAKE2B 5e9c706693e3064ffbbe28a23e64e5bc32f6772ed294dce3bd2972b8d951f2820ddcee5f9e651b1acc470740b021986cedb6f0ff7a9bdc2b6e13f997dd341024 SHA512 efbf91954b7c4fc9cf5835783245f3a8cda7e5883c6e244a3da85a64b6b2d74f44ffa5f73309de7451b5e6aaf614664869769b140872ab85913878e52e490a00
+DIST wit-parser-0.244.0.crate 159371 BLAKE2B f46db4840d3cbcd42e5d26b854247d172f8385810a10c437aaa6b67f3f72dcc230a8d75f4e5ccff6ea006c8a52c2fe92f39d9d90cb30ba594c02ae618fb66bb6 SHA512 c554a167ce9802fbc7537700376da70ed6a79f96adeba5a0e4c955a7cc4f2ae4f588071e25735903d4f509f2590341fa39b2edd018cf6d3bf8ad6477b2474b01
+DIST writeable-0.6.2.crate 25181 BLAKE2B ffc57bdfd8eeef7e2b50a1a7fb2fc8af0322c17cc99cc4a3eef3fb2062e447e05721db74e62080fab08f565db15dba21be8b6bfbcac984acd2eb2a80e08b9ba2 SHA512 d267aba601237bc4061a484103c10f0cf4ca3cf6db0f50063319801e1aa73272280115ad3ad4f461ecc4ed9cf4ee19131ee7cfacffacfcde54657bdfe3c557e7
+DIST writeable-0.6.3.crate 26685 BLAKE2B d3e95d1316e65886df8841f5daf52960e7301beec545a1ed13040bc492617660504deaef808e9e47c5154860cea28c45c8cc7e05cf4ec565bcdc6f42aa8c8c9b SHA512 e3c1c498b7901f6287024ddf47862e0caf7759edde25a219304209a46ca183af15fb5fb33f87b84b2ce0ed531161d8414743bb424a7446d88b2a0c6d034bb87f
+DIST xattr-1.6.1.crate 15952 BLAKE2B def5f9063d23cd2ba35a902030de550e6093509cd931c756dce4d7fa86bfaf5ad20e732723522582eaf079eec01ccdc7c7b737a0b9a39cf4da76fd94e88040e1 SHA512 01827ccb9dbac87c1b3474e785e8015f3b8d15ef06090c288a889e6c4441de849b812be196e528ff0bcf35311ba7f3ad57cfbfa9646dda5685452626ad785ab7
+DIST yoke-0.8.1.crate 32016 BLAKE2B 9dba7f506636b93ce559817ec57380836858eb14fd3484d5024535ea909d5e7d5da759c316bad86847607f05db1228a04d65942dd020b426fde1b7fa40962c02 SHA512 0ab6353207432bd0a18b6ac038cc37332ece4f2f5182b7eba6e47881a051f0f2ac41d365a8feb74bd3de1d4e4d8dc20c92fa2f3f1252b35d4ab6ff0f56f31de0
+DIST yoke-0.8.2.crate 32790 BLAKE2B 4da3adefbb91fd6a9d715ff0f96e425a07672ec5a607eb365b7a7c1427cccf5764c338a5e709234e1e51df09114ebd01a379633ec121c3da6e9038100ecc364b SHA512 fc4d0a912d531d661dc21000ea50eb18cb96b471f60f0624c644e055337c50523bf0b89d222e759e0e6fda1ae2debc9d87efa26b3427504456e3fd241658bb32
+DIST yoke-derive-0.8.1.crate 7593 BLAKE2B 09953385df0b24b5cdbe4fed4c8788e20236c9f5a79d144799a31807a1a4e82380cd3ed451a46055ac21561c2f9a05ca91c953b7c8aa250a26a2e11fd11b7a9c SHA512 20561f74561f3e7d5ce2a2b702bac565047be284cdd24a3bf837d423954c8260d32f8d27ef9761f5e891bb539f59af22afc4830a4e52cf9888c8ca2a50784a96
+DIST yoke-derive-0.8.2.crate 15077 BLAKE2B d067fa9c5a9d1978c0a86fa58034b4aaec8815c106aabc4f91d9d1e5c297a03ed287daa35374a2a2c3946e73abb05e159c118014cdb01b9c939f7eae5416bea8 SHA512 ed37289fe2dfcafda13be24b3e4aae1fbbdd6f52c42a1f2d770771f458af0d17b4cbe487941381b4bd692388e9818b45c686bdcd6229918e0f5b6fced1068ca3
+DIST zerocopy-0.8.42.crate 275035 BLAKE2B 1e4f5052fd5f97537d063d4e60fdfb03741db3babe6ea21058984d5f53fddd6fdbf93b4400d3fe839cf883fbc0468b2196da44195ae199d21259d6586c198b25 SHA512 91ede88a166354b337779d59d968521a75c0860d1299b8deea410f07d67a91b006fd4eee3193b9e08764b6fc6e559ec3532d3524d3a304d8ce7ab86d88aac65a
+DIST zerocopy-0.8.48.crate 287554 BLAKE2B f66a7efa5970e16ad8c0e35a7f894192d93f9f9328bf1f8ff3f75f0a091cc8a44c5bddb4cd89e6acd8422cbc1ca1c6fc230c65b32e82460ab541435ab81408dc SHA512 c66a2a301bebfcb6519ac122d5b03a5f5ea2443d83ebcacfacc564d01b9d6173581fcb4df122444c910ea0b0e420d1529e3318d60695cec3d9df28a1837b9f9e
+DIST zerocopy-derive-0.8.42.crate 97730 BLAKE2B 369eb1c51bf2cd91aff38f3db27375d6af28f2901ea7710339f19935b1fc029db191078840166d6aea6cf7de1854dfcc1a560ec09f7f16e5fddf67f560ee920b SHA512 655af2071aa0cba0c1862574b0fe8883273c79741a46a8204fc20fb6deab7bde304f9f2267c57c70432b590a3a247b219bd03bc879f479b87ab09059da36903d
+DIST zerocopy-derive-0.8.48.crate 97646 BLAKE2B a75bf954fc7b9878325bb7dd953351eef1858ab3d41464661cd5fd8638f8417fa2ae05c4fc9b72ea7c2121a6455ecf683a1f096b49f62941fc110f2c43316ee5 SHA512 7dd11845b9c07fcc6c7289f792a27c30b2eb6122a403e9cfaa59177a953a60e5e412040a085d12b31a4c52306d3e3517a7f295ba62fb4441aac8e2d5f052e3c3
+DIST zerofrom-0.1.6.crate 5669 BLAKE2B 1428e9cfdcdae13b39b7465524d1b8b79bdd89f743d3db4a3305c2b39d61ad7ced958dabd673a135147a04c8ace69d8c710dc06c6a07b1dd3987fc0a45148094 SHA512 e87c50b4f87caff70d026099bddcced73398c432f6aade32d74ad199cb3a985956bac282f48efdd501e64e80297afe4f8a4518db32437bf297fcf51a6f94bbd9
+DIST zerofrom-0.1.7.crate 6140 BLAKE2B 3b7b9d9f234d84e3111683652fc0d375939b3bac138a1a0251c31eae5918ba324be4a9bfca251ba1d3e76c482f152a9bdb8a235d3d92d147ec35b65533cdc41e SHA512 e189816b92ca0f51a009b7bd63b07995aa1543ef5e69cf049ffc7f3605cd0ed48cfce958384a5775e233c25004e2289195e8c8ee1a8032f3cfc14a5e4b2cb446
+DIST zerofrom-derive-0.1.6.crate 8305 BLAKE2B 9ab7425b450bf8c47538be7ff32901045393bdd91b9687b8a32ac194b7272dbd4f5310629647c6710f97a50cea45c722c018a77006f24da2b44a4c475daa54cb SHA512 ef4226df3c9ca9c0146639b19d9aa611f2ea3148c10ea875f43ca1960ee8ed438a553b078a9b449a58862f44cb7d4434fa35bbd6db6f0a773618f63d2575c985
+DIST zerofrom-derive-0.1.7.crate 8853 BLAKE2B 26b8932561c7705850ef88f1816141fadfa2077742cf5bb2eb66042cb657f2b3b76a2855cf49c1bb5a934f4147a29a73144fdcbc435c6ca4ff1a562ef103557d SHA512 22de0ee75a7463e6b263f17d91291d2e2800ae0b5066304b24459b58de8e528e36de77dda149d74abdecd26cab58f0ed34aa603b3361f00976929efdb3371da6
+DIST zeroize-1.8.2.crate 20907 BLAKE2B f9233758bde107e2409b56e936e02f51442ff29dfb2589c0b194edb38645421b4b8e6064208f7548a93836149c425de90c08792288e5cea1ae117911406bcdd5 SHA512 ce1fb97ac69cb0792f2f5820919aaa0a9f71c4b410bd0d0c2343d8415d39e3eec3f948cc2769eaf639c14695a3961fb6cd96ba7a77a15a77924d1a8c16497b81
+DIST zerotrie-0.2.3.crate 69547 BLAKE2B e5195d0ac15eb05ced2064cd106892855253b11fb996fa8a9f8b44b3b2958e900c95503200c5fccaef91df3fcf0dd17c9a028ad8c014ba09485f7743cfe6b74f SHA512 10d3cb670f959b81a7170440a081ebe66f147c76be8e6c769b9093bc737cbb28c1b632515311adf7ffccee0cf05f808ad461743128429d2d1ad86932e54b587d
+DIST zerotrie-0.2.4.crate 83690 BLAKE2B 96f443dd0c9501464031426e6aeae9cee78cb604a2c151da4707c21eb317b55b4a415ab28836213d56613e40c5f0911b68b0ea3dcb9c0546ba64d81f4af5ddf2 SHA512 daaa133ef8916a14ee12af2de5e042086d6817822fe498c49fbadd2c03c5512f0adcd5ada268fa5bf70ae2dd23f14245a0f099a37abe09251478303c069a410d
+DIST zerovec-0.11.5.crate 119620 BLAKE2B 8277a379f53b95575fc14ff56b41930099433af7c10b480e7ac7e4b3c9b971571f7966873272bd4249dbdb2ff388c56963a5b9d7b2c9ac2072ac2a85178028e0 SHA512 65705ab802bc441561efe7af6cbd6187c04ee8d2feb2b5d5137dbbcf92d65edd30db5ef003c2f34588dd1a3a0a2aac475b4312d3c4951a32a82d5aeb57a2fda9
+DIST zerovec-0.11.6.crate 128583 BLAKE2B 32be3ec333c124894009ff13feadcc6548a93485444eef0d1085a995a55e73a8165e77589b13893a5f6bf585ddad750cf0364e8fa14e00eec239150f14bb0adc SHA512 9a0b22654ce3b76cd5e9bdfbcf8d5344dff4116f37f6e22ee4687677c7fe8a69122a2cc86b0d722ff2040547a810528a5a0d9bb5d8c4ac2d3fa0323dcd18320d
+DIST zerovec-derive-0.11.2.crate 21421 BLAKE2B 42ec1fd49da71796845e1b3414d3422ebecd6f30e7affb7a672449a75a70acfcfc24096130edf3c247651272b03134519a89bcfe36dc2e426a8224fd687236cf SHA512 ee36fa909e0ba80ec0cc10608837bcb0b4fde68b12174c8311ffab0eb8ac78f62ed6540bfb5bd4fb756c911f4ebf44b3a0bfb5ce293572bafb75b9e5705a5745
+DIST zerovec-derive-0.11.3.crate 22115 BLAKE2B 4669526abb7a51d35045bf765017f6070e371aa33d06e66870f043401bd118192b53c422794d08ee2cf9c41e2eb8922a80ed0f450bf3c8c5e78d3f437f984ce2 SHA512 1195cf266a28cf1bdc48a02b2b721f24c785b317dc421475818cc0fe616230bbb91468ab2f67981bf6d3ea2b830eca2e10b85502f622ecb06880e4fff376d29f
+DIST zmij-1.0.21.crate 26665 BLAKE2B e958b58e2213ad13185ec6df55d07e6c80169afa56133038fa66cefb4a9f49aa786249a486dc09b2d0a2f74e41c0d0d713135f38a84dff8f6239636a6bf3cadb SHA512 a488f11ec8721ddfe42e61d028a128818551de8fccd69d7824504e4ae2efccdc38f716fa5a10ef4de07a8a087e75e819c4a1e0790817e8539b5db697bde14585
+DIST zstd-0.13.3.crate 30514 BLAKE2B f849d794a4e9157c95d7fcce57551a0fe25098348759086219adab57f37b328e9701b65994da30d8756adf12feae4407f5be92f6c1ca43a57807097520fcd04f SHA512 07e1589ebf2aa169cdc50381f5078012574e3613cc89f3d02914b286d37a9028124c6d40ee8efd75ecc50f31e51a24d2ad0a6e83e669d7dc6477fc43878d4751
+DIST zstd-safe-7.2.4.crate 29350 BLAKE2B d14a28f39faf7ed77b9dc11d79cc3b0b79f904a2cf2e78b184a0e57f02bb4a5c49c71c6693352a4f1e6d4653e570c491d52a4dca80293a7f98f49659d1d2ca82 SHA512 b4f3a4dc63814a2a088e549a0fa0bdeeba3e5ab3416c414207eb9ec1772f8913002f3b94ccf0675b651af94ed12eda427cc90dd40a8e81b3ed565ce80f4db1de
+DIST zstd-sys-2.0.16+zstd.1.5.7.crate 775620 BLAKE2B e2e7e887605e84f9feaef0ce121c52f72620b56b1a892c3cb42ae7630109f37f5a687cb18a5993bd54ea5a18870771edf275330ead43d0db77436e5605669599 SHA512 4bd56e78003a084a27d916ce845f90ae4657725c0f34d56290a8b0c463309e10d2980d1ee6350d6a913cb7906950271ef3da7f25f56b47d02e4b4a5d902ac7ac
diff --git a/games-util/protonup-rs/metadata.xml b/games-util/protonup-rs/metadata.xml
new file mode 100644
index 000000000000..ad0f7ee516a9
--- /dev/null
+++ b/games-util/protonup-rs/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>ingenarel_neojesus@disroot.org</email>
+ <name>ingenarel</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">auyer/Protonup-rs</remote-id>
+ </upstream>
+ <longdescription lang="en">
+ A CLI program to automate the installation and update of Linux Gaming Compatibility tools, like ProtonGe, WineGE,
+ Luxtorpeda, Boxtron, VKD3D-Proton, Lutris-VKD3D, DXVK, Kron4ek, GEProton-rtsp, Proton-CachyOS. Written in Rust.
+ </longdescription>
+</pkgmetadata>
diff --git a/games-util/protonup-rs/protonup-rs-0.11.0.ebuild b/games-util/protonup-rs/protonup-rs-0.11.0.ebuild
new file mode 100644
index 000000000000..083cf819dc91
--- /dev/null
+++ b/games-util/protonup-rs/protonup-rs-0.11.0.ebuild
@@ -0,0 +1,375 @@
+# Copyright 2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# Autogenerated by pycargoebuild 0.15.1
+
+EAPI=8
+
+RUST_MIN_VER="1.87.0"
+
+# apply-crates-fixes start
+LLVM_COMPAT=( 22 )
+# apply-crates-fixes end
+CRATES="
+ adler2@2.0.1
+ aho-corasick@1.1.4
+ anstream@1.0.0
+ anstyle-parse@1.0.0
+ anstyle-query@1.1.5
+ anstyle-wincon@3.0.11
+ anstyle@1.0.14
+ anyhow@1.0.102
+ arbitrary@1.4.2
+ arcstr@1.2.0
+ assert-json-diff@2.0.2
+ astral-tokio-tar@0.6.0
+ async-compression@0.4.41
+ atomic-waker@1.1.2
+ aws-lc-rs@1.16.1
+ aws-lc-sys@0.38.0
+ base64@0.22.1
+ bitflags@2.11.0
+ block-buffer@0.10.4
+ bumpalo@3.20.2
+ bytes@1.11.1
+ cc@1.2.57
+ cesu8@1.1.0
+ cfg-if@1.0.4
+ cfg_aliases@0.2.1
+ clap@4.6.0
+ clap_builder@4.6.0
+ clap_derive@4.6.0
+ clap_lex@1.1.0
+ cmake@0.1.57
+ colorchoice@1.0.5
+ combine@4.6.7
+ compression-codecs@0.4.37
+ compression-core@0.4.31
+ console@0.16.3
+ core-foundation-sys@0.8.7
+ core-foundation@0.10.1
+ cpufeatures@0.2.17
+ crc32fast@1.5.0
+ crypto-common@0.1.7
+ deadpool-runtime@0.1.4
+ deadpool@0.12.3
+ digest@0.10.7
+ dirs-sys@0.5.0
+ dirs@6.0.0
+ displaydoc@0.2.5
+ dunce@1.0.5
+ dyn-clone@1.0.20
+ encode_unicode@1.0.0
+ equivalent@1.0.2
+ errno@0.3.14
+ fastrand@2.3.0
+ filetime@0.2.27
+ find-msvc-tools@0.1.9
+ flate2@1.1.9
+ fnv@1.0.7
+ foldhash@0.1.5
+ form_urlencoded@1.2.2
+ fs4@0.13.1
+ fs_extra@1.3.0
+ futures-channel@0.3.32
+ futures-core@0.3.32
+ futures-executor@0.3.32
+ futures-io@0.3.32
+ futures-macro@0.3.32
+ futures-sink@0.3.32
+ futures-task@0.3.32
+ futures-util@0.3.32
+ futures@0.3.32
+ generic-array@0.14.7
+ getrandom@0.2.17
+ getrandom@0.3.4
+ getrandom@0.4.2
+ h2@0.4.13
+ hashbrown@0.15.5
+ hashbrown@0.16.1
+ heck@0.5.0
+ hermit-abi@0.5.2
+ hex-literal@1.1.0
+ hex@0.4.3
+ http-body-util@0.1.3
+ http-body@1.0.1
+ http@1.4.0
+ httparse@1.10.1
+ httpdate@1.0.3
+ hyper-rustls@0.27.7
+ hyper-util@0.1.20
+ hyper@1.8.1
+ icu_collections@2.1.1
+ icu_locale_core@2.1.1
+ icu_normalizer@2.1.1
+ icu_normalizer_data@2.1.1
+ icu_properties@2.1.2
+ icu_properties_data@2.1.2
+ icu_provider@2.1.1
+ id-arena@2.3.0
+ idna@1.1.0
+ idna_adapter@1.2.1
+ indexmap@2.13.0
+ indicatif@0.18.4
+ inquire@0.9.4
+ ipnet@2.12.0
+ iri-string@0.7.10
+ is_terminal_polyfill@1.70.2
+ itoa@1.0.17
+ jni-sys@0.3.0
+ jni@0.21.1
+ jobserver@0.1.34
+ js-sys@0.3.91
+ lazy_static@1.5.0
+ leb128fmt@0.1.0
+ libc@0.2.183
+ libfuzzer-sys@0.4.12
+ liblzma-sys@0.4.5
+ liblzma@0.4.6
+ libredox@0.1.14
+ linux-raw-sys@0.12.1
+ litemap@0.8.1
+ log@0.4.29
+ lru-slab@0.1.2
+ memchr@2.8.0
+ miniz_oxide@0.8.9
+ mio@1.1.1
+ num_cpus@1.17.0
+ numtoa@0.2.4
+ once_cell@1.21.4
+ once_cell_polyfill@1.70.2
+ openssl-probe@0.2.1
+ option-ext@0.2.0
+ percent-encoding@2.3.2
+ pin-project-internal@1.1.11
+ pin-project-lite@0.2.17
+ pin-project@1.1.11
+ pin-utils@0.1.0
+ pkg-config@0.3.32
+ plain@0.2.3
+ portable-atomic@1.13.1
+ potential_utf@0.1.4
+ ppv-lite86@0.2.21
+ prettyplease@0.2.37
+ proc-macro2@1.0.106
+ quinn-proto@0.11.14
+ quinn-udp@0.5.14
+ quinn@0.11.9
+ quote@1.0.45
+ r-efi@5.3.0
+ r-efi@6.0.0
+ rand@0.9.2
+ rand_chacha@0.9.0
+ rand_core@0.9.5
+ redox_syscall@0.7.3
+ redox_users@0.5.2
+ regex-automata@0.4.14
+ regex-syntax@0.8.10
+ regex@1.12.3
+ reqwest@0.13.2
+ ring@0.17.14
+ ron@0.12.0
+ rustc-hash@2.1.1
+ rustix@1.1.4
+ rustls-native-certs@0.8.3
+ rustls-pki-types@1.14.0
+ rustls-platform-verifier-android@0.1.1
+ rustls-platform-verifier@0.6.2
+ rustls-webpki@0.103.9
+ rustls@0.23.37
+ rustversion@1.0.22
+ same-file@1.0.6
+ schannel@0.1.29
+ security-framework-sys@2.17.0
+ security-framework@3.7.0
+ semver@1.0.27
+ serde@1.0.228
+ serde_core@1.0.228
+ serde_derive@1.0.228
+ serde_json@1.0.149
+ sha2@0.10.9
+ shlex@1.3.0
+ simd-adler32@0.3.8
+ slab@0.4.12
+ smallvec@1.15.1
+ socket2@0.6.3
+ stable_deref_trait@1.2.1
+ strsim@0.11.1
+ subtle@2.6.1
+ syn@2.0.117
+ sync_wrapper@1.0.2
+ synstructure@0.13.2
+ tar@0.4.44
+ tempfile@3.27.0
+ termion@4.0.6
+ thiserror-impl@1.0.69
+ thiserror-impl@2.0.18
+ thiserror@1.0.69
+ thiserror@2.0.18
+ tinystr@0.8.2
+ tinyvec@1.11.0
+ tinyvec_macros@0.1.1
+ tokio-macros@2.6.1
+ tokio-rustls@0.26.4
+ tokio-stream@0.1.18
+ tokio-util@0.7.18
+ tokio@1.50.0
+ tower-http@0.6.8
+ tower-layer@0.3.3
+ tower-service@0.3.3
+ tower@0.5.3
+ tracing-core@0.1.36
+ tracing@0.1.44
+ try-lock@0.2.5
+ typeid@1.0.3
+ typenum@1.19.0
+ unicode-ident@1.0.24
+ unicode-segmentation@1.12.0
+ unicode-width@0.2.2
+ unicode-xid@0.2.6
+ unit-prefix@0.5.2
+ untrusted@0.9.0
+ url@2.5.8
+ utf8_iter@1.0.4
+ utf8parse@0.2.2
+ version_check@0.9.5
+ walkdir@2.5.0
+ want@0.3.1
+ wasi@0.11.1+wasi-snapshot-preview1
+ wasip2@1.0.2+wasi-0.2.9
+ wasip3@0.4.0+wasi-0.3.0-rc-2026-01-06
+ wasm-bindgen-futures@0.4.64
+ wasm-bindgen-macro-support@0.2.114
+ wasm-bindgen-macro@0.2.114
+ wasm-bindgen-shared@0.2.114
+ wasm-bindgen@0.2.114
+ wasm-encoder@0.244.0
+ wasm-metadata@0.244.0
+ wasm-streams@0.5.0
+ wasmparser@0.244.0
+ web-sys@0.3.91
+ web-time@1.1.0
+ webpki-root-certs@1.0.6
+ winapi-util@0.1.11
+ windows-link@0.2.1
+ windows-sys@0.45.0
+ windows-sys@0.52.0
+ windows-sys@0.59.0
+ windows-sys@0.60.2
+ windows-sys@0.61.2
+ windows-targets@0.42.2
+ windows-targets@0.52.6
+ windows-targets@0.53.5
+ windows_aarch64_gnullvm@0.42.2
+ windows_aarch64_gnullvm@0.52.6
+ windows_aarch64_gnullvm@0.53.1
+ windows_aarch64_msvc@0.42.2
+ windows_aarch64_msvc@0.52.6
+ windows_aarch64_msvc@0.53.1
+ windows_i686_gnu@0.42.2
+ windows_i686_gnu@0.52.6
+ windows_i686_gnu@0.53.1
+ windows_i686_gnullvm@0.52.6
+ windows_i686_gnullvm@0.53.1
+ windows_i686_msvc@0.42.2
+ windows_i686_msvc@0.52.6
+ windows_i686_msvc@0.53.1
+ windows_x86_64_gnu@0.42.2
+ windows_x86_64_gnu@0.52.6
+ windows_x86_64_gnu@0.53.1
+ windows_x86_64_gnullvm@0.42.2
+ windows_x86_64_gnullvm@0.52.6
+ windows_x86_64_gnullvm@0.53.1
+ windows_x86_64_msvc@0.42.2
+ windows_x86_64_msvc@0.52.6
+ windows_x86_64_msvc@0.53.1
+ wiremock@0.6.5
+ wit-bindgen-core@0.51.0
+ wit-bindgen-rust-macro@0.51.0
+ wit-bindgen-rust@0.51.0
+ wit-bindgen@0.51.0
+ wit-component@0.244.0
+ wit-parser@0.244.0
+ writeable@0.6.2
+ xattr@1.6.1
+ yoke-derive@0.8.1
+ yoke@0.8.1
+ zerocopy-derive@0.8.42
+ zerocopy@0.8.42
+ zerofrom-derive@0.1.6
+ zerofrom@0.1.6
+ zeroize@1.8.2
+ zerotrie@0.2.3
+ zerovec-derive@0.11.2
+ zerovec@0.11.5
+ zmij@1.0.21
+ zstd-safe@7.2.4
+ zstd-sys@2.0.16+zstd.1.5.7
+ zstd@0.13.3
+"
+
+# apply-crates-fixes start
+inherit llvm-r2
+# apply-crates-fixes end
+inherit cargo
+
+DESCRIPTION="TUI Program for Custom Proton Download and installation written in rust"
+HOMEPAGE="https://github.com/auyer/Protonup-rs"
+
+SRC_URI="
+ ${CARGO_CRATE_URIS}
+ https://github.com/auyer/Protonup-rs/archive/v${PV}.tar.gz -> ${P}.tar.gz
+"
+
+S="${WORKDIR}/Protonup-rs-${PV}"
+
+LICENSE="GPL-3"
+# Dependent crate licenses
+LICENSE+="
+ Apache-2.0 BSD CDLA-Permissive-2.0 ISC MIT MPL-2.0 UoI-NCSA openssl
+ Unicode-3.0 ZLIB
+"
+SLOT="0"
+KEYWORDS="~amd64"
+RESTRICT="mirror"
+# apply-crates-fixes start
+DEPEND="
+ >=app-arch/zstd-1.5.7
+ $(llvm_gen_dep 'llvm-core/clang:${LLVM_SLOT}')
+"
+RDEPEND="
+ >=app-arch/zstd-1.5.7
+"
+# apply-crates-fixes end
+
+QA_FLAGS_IGNORED="usr/bin/${PN}"
+
+DOCS=( README.md docs )
+
+# apply-crates-fixes start
+src_compile(){
+ export ZSTD_SYS_USE_PKG_CONFIG=1 # fix for zstd-sys crate
+ CUSTOM_LIBFUZZER_PATH="$(clang --print-file-name "libclang_rt.fuzzer-${CHOST%%-*}.a" )"
+ [[ -f "${CUSTOM_LIBFUZZER_PATH}" ]] || die "trying to set CUSTOM_LIBFUZZER_PATH failed"
+ export CUSTOM_LIBFUZZER_PATH
+ export AWS_LC_SYS_CFLAGS="${CFLAGS} -O0"
+ # aws-lc-sys bundles aws-lc, which bundles quite a lot of dependencies, jitterentropy among them
+ # https://github.com/aws/aws-lc-rs/issues/936 -> "Please add support to use system-provided aws-lc library"
+ # jitterentropy can not be built without -O0, the script does not have the logic to unbundle dependencies right now
+ # but what it can do is use set the AWS_LC_SYS_CFLAGS var to override CFLAGS
+ cargo_src_compile
+}
+
+src_test(){
+ local CARGO_SKIP_TESTS=(
+ 'downloads::tests::test_get_release'
+ 'downloads::tests::test_list_releases'
+ )
+ cargo_src_test
+}
+
+# apply-crates-fixes end
+src_install(){
+ cargo_src_install --path "${S}/${PN}"
+ einstalldocs
+}
diff --git a/games-util/protonup-rs/protonup-rs-0.12.0.ebuild b/games-util/protonup-rs/protonup-rs-0.12.0.ebuild
new file mode 100644
index 000000000000..614e04fa3a77
--- /dev/null
+++ b/games-util/protonup-rs/protonup-rs-0.12.0.ebuild
@@ -0,0 +1,377 @@
+# Copyright 2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# Autogenerated by pycargoebuild 0.15.1
+
+EAPI=8
+
+RUST_MIN_VER="1.87.0"
+
+# apply-crates-fixes start
+LLVM_COMPAT=( 22 )
+# apply-crates-fixes end
+CRATES="
+ adler2@2.0.1
+ aho-corasick@1.1.4
+ anstream@1.0.0
+ anstyle-parse@1.0.0
+ anstyle-query@1.1.5
+ anstyle-wincon@3.0.11
+ anstyle@1.0.14
+ anyhow@1.0.102
+ arbitrary@1.4.2
+ arcstr@1.2.0
+ assert-json-diff@2.0.2
+ astral-tokio-tar@0.6.0
+ async-compression@0.4.41
+ atomic-waker@1.1.2
+ aws-lc-rs@1.16.3
+ aws-lc-sys@0.40.0
+ base64@0.22.1
+ bitflags@2.11.1
+ block-buffer@0.12.0
+ bumpalo@3.20.2
+ bytes@1.11.1
+ cc@1.2.60
+ cesu8@1.1.0
+ cfg-if@1.0.4
+ cfg_aliases@0.2.1
+ clap@4.6.1
+ clap_builder@4.6.0
+ clap_derive@4.6.1
+ clap_lex@1.1.0
+ cmake@0.1.58
+ colorchoice@1.0.5
+ combine@4.6.7
+ compression-codecs@0.4.37
+ compression-core@0.4.31
+ console@0.16.3
+ const-oid@0.10.2
+ core-foundation-sys@0.8.7
+ core-foundation@0.10.1
+ cpufeatures@0.3.0
+ crc32fast@1.5.0
+ crypto-common@0.2.1
+ deadpool-runtime@0.1.4
+ deadpool@0.12.3
+ digest@0.11.2
+ dirs-sys@0.5.0
+ dirs@6.0.0
+ displaydoc@0.2.5
+ dunce@1.0.5
+ dyn-clone@1.0.20
+ encode_unicode@1.0.0
+ equivalent@1.0.2
+ errno@0.3.14
+ fastrand@2.4.1
+ filetime@0.2.27
+ find-msvc-tools@0.1.9
+ flate2@1.1.9
+ fnv@1.0.7
+ foldhash@0.1.5
+ form_urlencoded@1.2.2
+ fs4@0.13.1
+ fs_extra@1.3.0
+ futures-channel@0.3.32
+ futures-core@0.3.32
+ futures-executor@0.3.32
+ futures-io@0.3.32
+ futures-macro@0.3.32
+ futures-sink@0.3.32
+ futures-task@0.3.32
+ futures-util@0.3.32
+ futures@0.3.32
+ getrandom@0.2.17
+ getrandom@0.3.4
+ getrandom@0.4.2
+ h2@0.4.13
+ hashbrown@0.15.5
+ hashbrown@0.17.0
+ heck@0.5.0
+ hermit-abi@0.5.2
+ hex-literal@1.1.0
+ hex@0.4.3
+ http-body-util@0.1.3
+ http-body@1.0.1
+ http@1.4.0
+ httparse@1.10.1
+ httpdate@1.0.3
+ hybrid-array@0.4.10
+ hyper-rustls@0.27.9
+ hyper-util@0.1.20
+ hyper@1.9.0
+ icu_collections@2.2.0
+ icu_locale_core@2.2.0
+ icu_normalizer@2.2.0
+ icu_normalizer_data@2.2.0
+ icu_properties@2.2.0
+ icu_properties_data@2.2.0
+ icu_provider@2.2.0
+ id-arena@2.3.0
+ idna@1.1.0
+ idna_adapter@1.2.1
+ indexmap@2.14.0
+ indicatif@0.18.4
+ inquire@0.9.4
+ ipnet@2.12.0
+ iri-string@0.7.12
+ is_terminal_polyfill@1.70.2
+ itoa@1.0.18
+ jni-sys-macros@0.4.1
+ jni-sys@0.3.1
+ jni-sys@0.4.1
+ jni@0.21.1
+ jobserver@0.1.34
+ js-sys@0.3.95
+ lazy_static@1.5.0
+ leb128fmt@0.1.0
+ libc@0.2.185
+ libfuzzer-sys@0.4.12
+ liblzma-sys@0.4.6
+ liblzma@0.4.6
+ libredox@0.1.16
+ linux-raw-sys@0.12.1
+ litemap@0.8.2
+ log@0.4.29
+ lru-slab@0.1.2
+ memchr@2.8.0
+ miniz_oxide@0.8.9
+ mio@1.2.0
+ num_cpus@1.17.0
+ numtoa@0.2.4
+ once_cell@1.21.4
+ once_cell_polyfill@1.70.2
+ openssl-probe@0.2.1
+ option-ext@0.2.0
+ percent-encoding@2.3.2
+ pin-project-internal@1.1.11
+ pin-project-lite@0.2.17
+ pin-project@1.1.11
+ pkg-config@0.3.33
+ plain@0.2.3
+ portable-atomic@1.13.1
+ potential_utf@0.1.5
+ ppv-lite86@0.2.21
+ prettyplease@0.2.37
+ proc-macro2@1.0.106
+ quinn-proto@0.11.14
+ quinn-udp@0.5.14
+ quinn@0.11.9
+ quote@1.0.45
+ r-efi@5.3.0
+ r-efi@6.0.0
+ rand@0.9.4
+ rand_chacha@0.9.0
+ rand_core@0.9.5
+ redox_syscall@0.7.4
+ redox_users@0.5.2
+ regex-automata@0.4.14
+ regex-syntax@0.8.10
+ regex@1.12.3
+ reqwest@0.13.2
+ ring@0.17.14
+ ron@0.12.1
+ rustc-hash@2.1.2
+ rustix@1.1.4
+ rustls-native-certs@0.8.3
+ rustls-pki-types@1.14.0
+ rustls-platform-verifier-android@0.1.1
+ rustls-platform-verifier@0.6.2
+ rustls-webpki@0.103.13
+ rustls@0.23.38
+ rustversion@1.0.22
+ same-file@1.0.6
+ schannel@0.1.29
+ security-framework-sys@2.17.0
+ security-framework@3.7.0
+ semver@1.0.28
+ serde@1.0.228
+ serde_core@1.0.228
+ serde_derive@1.0.228
+ serde_json@1.0.149
+ sha2@0.11.0
+ shlex@1.3.0
+ simd-adler32@0.3.9
+ slab@0.4.12
+ smallvec@1.15.1
+ socket2@0.6.3
+ stable_deref_trait@1.2.1
+ strsim@0.11.1
+ subtle@2.6.1
+ syn@2.0.117
+ sync_wrapper@1.0.2
+ synstructure@0.13.2
+ tar@0.4.45
+ tempfile@3.27.0
+ termion@4.0.6
+ thiserror-impl@1.0.69
+ thiserror-impl@2.0.18
+ thiserror@1.0.69
+ thiserror@2.0.18
+ tinystr@0.8.3
+ tinyvec@1.11.0
+ tinyvec_macros@0.1.1
+ tokio-macros@2.7.0
+ tokio-rustls@0.26.4
+ tokio-stream@0.1.18
+ tokio-util@0.7.18
+ tokio@1.52.1
+ tower-http@0.6.8
+ tower-layer@0.3.3
+ tower-service@0.3.3
+ tower@0.5.3
+ tracing-core@0.1.36
+ tracing@0.1.44
+ try-lock@0.2.5
+ typeid@1.0.3
+ typenum@1.20.0
+ unicode-ident@1.0.24
+ unicode-segmentation@1.13.2
+ unicode-width@0.2.2
+ unicode-xid@0.2.6
+ unit-prefix@0.5.2
+ untrusted@0.9.0
+ url@2.5.8
+ utf8_iter@1.0.4
+ utf8parse@0.2.2
+ walkdir@2.5.0
+ want@0.3.1
+ wasi@0.11.1+wasi-snapshot-preview1
+ wasip2@1.0.3+wasi-0.2.9
+ wasip3@0.4.0+wasi-0.3.0-rc-2026-01-06
+ wasm-bindgen-futures@0.4.68
+ wasm-bindgen-macro-support@0.2.118
+ wasm-bindgen-macro@0.2.118
+ wasm-bindgen-shared@0.2.118
+ wasm-bindgen@0.2.118
+ wasm-encoder@0.244.0
+ wasm-metadata@0.244.0
+ wasm-streams@0.5.0
+ wasmparser@0.244.0
+ web-sys@0.3.95
+ web-time@1.1.0
+ webpki-root-certs@1.0.7
+ winapi-util@0.1.11
+ windows-link@0.2.1
+ windows-sys@0.45.0
+ windows-sys@0.52.0
+ windows-sys@0.59.0
+ windows-sys@0.60.2
+ windows-sys@0.61.2
+ windows-targets@0.42.2
+ windows-targets@0.52.6
+ windows-targets@0.53.5
+ windows_aarch64_gnullvm@0.42.2
+ windows_aarch64_gnullvm@0.52.6
+ windows_aarch64_gnullvm@0.53.1
+ windows_aarch64_msvc@0.42.2
+ windows_aarch64_msvc@0.52.6
+ windows_aarch64_msvc@0.53.1
+ windows_i686_gnu@0.42.2
+ windows_i686_gnu@0.52.6
+ windows_i686_gnu@0.53.1
+ windows_i686_gnullvm@0.52.6
+ windows_i686_gnullvm@0.53.1
+ windows_i686_msvc@0.42.2
+ windows_i686_msvc@0.52.6
+ windows_i686_msvc@0.53.1
+ windows_x86_64_gnu@0.42.2
+ windows_x86_64_gnu@0.52.6
+ windows_x86_64_gnu@0.53.1
+ windows_x86_64_gnullvm@0.42.2
+ windows_x86_64_gnullvm@0.52.6
+ windows_x86_64_gnullvm@0.53.1
+ windows_x86_64_msvc@0.42.2
+ windows_x86_64_msvc@0.52.6
+ windows_x86_64_msvc@0.53.1
+ wiremock@0.6.5
+ wit-bindgen-core@0.51.0
+ wit-bindgen-rust-macro@0.51.0
+ wit-bindgen-rust@0.51.0
+ wit-bindgen@0.51.0
+ wit-bindgen@0.57.1
+ wit-component@0.244.0
+ wit-parser@0.244.0
+ writeable@0.6.3
+ xattr@1.6.1
+ yoke-derive@0.8.2
+ yoke@0.8.2
+ zerocopy-derive@0.8.48
+ zerocopy@0.8.48
+ zerofrom-derive@0.1.7
+ zerofrom@0.1.7
+ zeroize@1.8.2
+ zerotrie@0.2.4
+ zerovec-derive@0.11.3
+ zerovec@0.11.6
+ zmij@1.0.21
+ zstd-safe@7.2.4
+ zstd-sys@2.0.16+zstd.1.5.7
+ zstd@0.13.3
+"
+
+# apply-crates-fixes start
+inherit llvm-r2
+# apply-crates-fixes end
+inherit cargo
+
+DESCRIPTION="TUI Program for Custom Proton Download and installation written in rust"
+HOMEPAGE="https://github.com/auyer/Protonup-rs"
+
+SRC_URI="
+ ${CARGO_CRATE_URIS}
+ https://github.com/auyer/Protonup-rs/archive/v${PV}.tar.gz -> ${P}.tar.gz
+"
+
+S="${WORKDIR}/Protonup-rs-${PV}"
+
+LICENSE="GPL-3"
+# Dependent crate licenses
+LICENSE+="
+ Apache-2.0 BSD CDLA-Permissive-2.0 ISC MIT MPL-2.0 UoI-NCSA
+ Unicode-3.0 ZLIB
+"
+SLOT="0"
+KEYWORDS="~amd64"
+RESTRICT="mirror"
+# apply-crates-fixes start
+DEPEND="
+ >=app-arch/zstd-1.5.7
+ $(llvm_gen_dep 'llvm-core/clang:${LLVM_SLOT}')
+"
+RDEPEND="
+ >=app-arch/zstd-1.5.7
+"
+# apply-crates-fixes end
+
+QA_FLAGS_IGNORED="usr/bin/${PN}"
+
+DOCS=( README.md docs )
+
+# apply-crates-fixes start
+src_compile(){
+ export ZSTD_SYS_USE_PKG_CONFIG=1 # fix for zstd-sys crate
+ CUSTOM_LIBFUZZER_PATH="$(clang --print-file-name "libclang_rt.fuzzer-${CHOST%%-*}.a" )"
+ [[ -f "${CUSTOM_LIBFUZZER_PATH}" ]] || die "trying to set CUSTOM_LIBFUZZER_PATH failed"
+ export CUSTOM_LIBFUZZER_PATH
+ export AWS_LC_SYS_CFLAGS="${CFLAGS} -O0"
+ # aws-lc-sys bundles aws-lc, which bundles quite a lot of dependencies, jitterentropy among them
+ # https://github.com/aws/aws-lc-rs/issues/936 -> "Please add support to use system-provided aws-lc library"
+ # jitterentropy can not be built without -O0, the script does not have the logic to unbundle dependencies right now
+ # but what it can do is use set the AWS_LC_SYS_CFLAGS var to override CFLAGS
+ cargo_src_compile
+}
+# apply-crates-fixes end
+
+src_test(){
+ local CARGO_SKIP_TESTS=(
+ 'downloads::tests::test_get_release'
+ 'downloads::tests::test_list_releases'
+ )
+ cargo_src_test
+}
+
+src_install(){
+ cargo_src_install --path "${S}/${PN}"
+ einstalldocs
+}
diff --git a/games-util/protonup-rs/protonup-rs-0.12.1.ebuild b/games-util/protonup-rs/protonup-rs-0.12.1.ebuild
new file mode 100644
index 000000000000..defd2ae2a233
--- /dev/null
+++ b/games-util/protonup-rs/protonup-rs-0.12.1.ebuild
@@ -0,0 +1,398 @@
+# Copyright 2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# Autogenerated by pycargoebuild 0.15.1
+
+# update using this command:
+# find -name 'Cargo.toml' -exec dirname {} \; |
+# sort | tail -n+2 | xargs pycargoebuild -i ${P}.ebuild
+
+EAPI=8
+
+RUST_MIN_VER="1.87.0"
+
+# apply-crates-fixes start
+LLVM_COMPAT=( 22 )
+# apply-crates-fixes end
+CRATES="
+ adler2@2.0.1
+ aho-corasick@1.1.4
+ anstream@1.0.0
+ anstyle-parse@1.0.0
+ anstyle-query@1.1.5
+ anstyle-wincon@3.0.11
+ anstyle@1.0.14
+ anyhow@1.0.102
+ arbitrary@1.4.2
+ arcstr@1.2.0
+ assert-json-diff@2.0.2
+ astral-tokio-tar@0.6.0
+ astral-tokio-tar@0.6.1
+ async-compression@0.4.41
+ async-compression@0.4.42
+ atomic-waker@1.1.2
+ aws-lc-rs@1.16.3
+ aws-lc-sys@0.40.0
+ base64@0.22.1
+ bitflags@2.11.1
+ block-buffer@0.12.0
+ bumpalo@3.20.2
+ bytes@1.11.1
+ cc@1.2.60
+ cc@1.2.61
+ cesu8@1.1.0
+ cfg-if@1.0.4
+ cfg_aliases@0.2.1
+ clap@4.6.1
+ clap_builder@4.6.0
+ clap_derive@4.6.1
+ clap_lex@1.1.0
+ cmake@0.1.58
+ colorchoice@1.0.5
+ combine@4.6.7
+ compression-codecs@0.4.37
+ compression-codecs@0.4.38
+ compression-core@0.4.31
+ compression-core@0.4.32
+ console@0.16.3
+ const-oid@0.10.2
+ core-foundation-sys@0.8.7
+ core-foundation@0.10.1
+ cpufeatures@0.3.0
+ crc32fast@1.5.0
+ crypto-common@0.2.1
+ deadpool-runtime@0.1.4
+ deadpool@0.12.3
+ digest@0.11.2
+ dirs-sys@0.5.0
+ dirs@6.0.0
+ displaydoc@0.2.5
+ dunce@1.0.5
+ dyn-clone@1.0.20
+ encode_unicode@1.0.0
+ equivalent@1.0.2
+ errno@0.3.14
+ fastrand@2.4.1
+ filetime@0.2.27
+ find-msvc-tools@0.1.9
+ flate2@1.1.9
+ fnv@1.0.7
+ foldhash@0.1.5
+ form_urlencoded@1.2.2
+ fs4@0.13.1
+ fs_extra@1.3.0
+ futures-channel@0.3.32
+ futures-core@0.3.32
+ futures-executor@0.3.32
+ futures-io@0.3.32
+ futures-macro@0.3.32
+ futures-sink@0.3.32
+ futures-task@0.3.32
+ futures-util@0.3.32
+ futures@0.3.32
+ getrandom@0.2.17
+ getrandom@0.3.4
+ getrandom@0.4.2
+ h2@0.4.13
+ hashbrown@0.15.5
+ hashbrown@0.17.0
+ heck@0.5.0
+ hermit-abi@0.5.2
+ hex-literal@1.1.0
+ hex@0.4.3
+ http-body-util@0.1.3
+ http-body@1.0.1
+ http@1.4.0
+ httparse@1.10.1
+ httpdate@1.0.3
+ hybrid-array@0.4.10
+ hybrid-array@0.4.11
+ hyper-rustls@0.27.9
+ hyper-util@0.1.20
+ hyper@1.9.0
+ icu_collections@2.2.0
+ icu_locale_core@2.2.0
+ icu_normalizer@2.2.0
+ icu_normalizer_data@2.2.0
+ icu_properties@2.2.0
+ icu_properties_data@2.2.0
+ icu_provider@2.2.0
+ id-arena@2.3.0
+ idna@1.1.0
+ idna_adapter@1.2.1
+ idna_adapter@1.2.2
+ indexmap@2.14.0
+ indicatif@0.18.4
+ inquire@0.9.4
+ ipnet@2.12.0
+ iri-string@0.7.12
+ is_terminal_polyfill@1.70.2
+ itoa@1.0.18
+ jni-macros@0.22.4
+ jni-sys-macros@0.4.1
+ jni-sys@0.3.1
+ jni-sys@0.4.1
+ jni@0.21.1
+ jni@0.22.4
+ jobserver@0.1.34
+ js-sys@0.3.95
+ lazy_static@1.5.0
+ leb128fmt@0.1.0
+ libc@0.2.185
+ libc@0.2.186
+ libfuzzer-sys@0.4.12
+ liblzma-sys@0.4.6
+ liblzma@0.4.6
+ libredox@0.1.16
+ linux-raw-sys@0.12.1
+ litemap@0.8.2
+ log@0.4.29
+ lru-slab@0.1.2
+ memchr@2.8.0
+ miniz_oxide@0.8.9
+ mio@1.2.0
+ num_cpus@1.17.0
+ numtoa@0.2.4
+ once_cell@1.21.4
+ once_cell_polyfill@1.70.2
+ openssl-probe@0.2.1
+ option-ext@0.2.0
+ percent-encoding@2.3.2
+ pin-project-internal@1.1.11
+ pin-project-lite@0.2.17
+ pin-project@1.1.11
+ pkg-config@0.3.33
+ plain@0.2.3
+ portable-atomic@1.13.1
+ potential_utf@0.1.5
+ ppv-lite86@0.2.21
+ prettyplease@0.2.37
+ proc-macro2@1.0.106
+ quinn-proto@0.11.14
+ quinn-udp@0.5.14
+ quinn@0.11.9
+ quote@1.0.45
+ r-efi@5.3.0
+ r-efi@6.0.0
+ rand@0.9.4
+ rand_chacha@0.9.0
+ rand_core@0.9.5
+ redox_syscall@0.7.4
+ redox_users@0.5.2
+ regex-automata@0.4.14
+ regex-syntax@0.8.10
+ regex@1.12.3
+ reqwest@0.13.2
+ reqwest@0.13.3
+ ring@0.17.14
+ ron@0.12.1
+ rustc-hash@2.1.2
+ rustc_version@0.4.1
+ rustix@1.1.4
+ rustls-native-certs@0.8.3
+ rustls-pki-types@1.14.0
+ rustls-pki-types@1.14.1
+ rustls-platform-verifier-android@0.1.1
+ rustls-platform-verifier@0.6.2
+ rustls-platform-verifier@0.7.0
+ rustls-webpki@0.103.13
+ rustls@0.23.38
+ rustls@0.23.39
+ rustversion@1.0.22
+ same-file@1.0.6
+ schannel@0.1.29
+ security-framework-sys@2.17.0
+ security-framework@3.7.0
+ semver@1.0.28
+ serde@1.0.228
+ serde_core@1.0.228
+ serde_derive@1.0.228
+ serde_json@1.0.149
+ sha2@0.11.0
+ shlex@1.3.0
+ simd-adler32@0.3.9
+ simd_cesu8@1.1.1
+ simdutf8@0.1.5
+ slab@0.4.12
+ smallvec@1.15.1
+ socket2@0.6.3
+ stable_deref_trait@1.2.1
+ strsim@0.11.1
+ subtle@2.6.1
+ syn@2.0.117
+ sync_wrapper@1.0.2
+ synstructure@0.13.2
+ tar@0.4.45
+ tempfile@3.27.0
+ termion@4.0.6
+ thiserror-impl@1.0.69
+ thiserror-impl@2.0.18
+ thiserror@1.0.69
+ thiserror@2.0.18
+ tinystr@0.8.3
+ tinyvec@1.11.0
+ tinyvec_macros@0.1.1
+ tokio-macros@2.7.0
+ tokio-rustls@0.26.4
+ tokio-stream@0.1.18
+ tokio-util@0.7.18
+ tokio@1.52.1
+ tower-http@0.6.8
+ tower-layer@0.3.3
+ tower-service@0.3.3
+ tower@0.5.3
+ tracing-core@0.1.36
+ tracing@0.1.44
+ try-lock@0.2.5
+ typeid@1.0.3
+ typenum@1.20.0
+ unicode-ident@1.0.24
+ unicode-segmentation@1.13.2
+ unicode-width@0.2.2
+ unicode-xid@0.2.6
+ unit-prefix@0.5.2
+ untrusted@0.9.0
+ url@2.5.8
+ utf8_iter@1.0.4
+ utf8parse@0.2.2
+ walkdir@2.5.0
+ want@0.3.1
+ wasi@0.11.1+wasi-snapshot-preview1
+ wasip2@1.0.3+wasi-0.2.9
+ wasip3@0.4.0+wasi-0.3.0-rc-2026-01-06
+ wasm-bindgen-futures@0.4.68
+ wasm-bindgen-macro-support@0.2.118
+ wasm-bindgen-macro@0.2.118
+ wasm-bindgen-shared@0.2.118
+ wasm-bindgen@0.2.118
+ wasm-encoder@0.244.0
+ wasm-metadata@0.244.0
+ wasm-streams@0.5.0
+ wasmparser@0.244.0
+ web-sys@0.3.95
+ web-time@1.1.0
+ webpki-root-certs@1.0.7
+ winapi-util@0.1.11
+ windows-link@0.2.1
+ windows-sys@0.45.0
+ windows-sys@0.52.0
+ windows-sys@0.59.0
+ windows-sys@0.60.2
+ windows-sys@0.61.2
+ windows-targets@0.42.2
+ windows-targets@0.52.6
+ windows-targets@0.53.5
+ windows_aarch64_gnullvm@0.42.2
+ windows_aarch64_gnullvm@0.52.6
+ windows_aarch64_gnullvm@0.53.1
+ windows_aarch64_msvc@0.42.2
+ windows_aarch64_msvc@0.52.6
+ windows_aarch64_msvc@0.53.1
+ windows_i686_gnu@0.42.2
+ windows_i686_gnu@0.52.6
+ windows_i686_gnu@0.53.1
+ windows_i686_gnullvm@0.52.6
+ windows_i686_gnullvm@0.53.1
+ windows_i686_msvc@0.42.2
+ windows_i686_msvc@0.52.6
+ windows_i686_msvc@0.53.1
+ windows_x86_64_gnu@0.42.2
+ windows_x86_64_gnu@0.52.6
+ windows_x86_64_gnu@0.53.1
+ windows_x86_64_gnullvm@0.42.2
+ windows_x86_64_gnullvm@0.52.6
+ windows_x86_64_gnullvm@0.53.1
+ windows_x86_64_msvc@0.42.2
+ windows_x86_64_msvc@0.52.6
+ windows_x86_64_msvc@0.53.1
+ wiremock@0.6.5
+ wit-bindgen-core@0.51.0
+ wit-bindgen-rust-macro@0.51.0
+ wit-bindgen-rust@0.51.0
+ wit-bindgen@0.51.0
+ wit-bindgen@0.57.1
+ wit-component@0.244.0
+ wit-parser@0.244.0
+ writeable@0.6.3
+ xattr@1.6.1
+ yoke-derive@0.8.2
+ yoke@0.8.2
+ zerocopy-derive@0.8.48
+ zerocopy@0.8.48
+ zerofrom-derive@0.1.7
+ zerofrom@0.1.7
+ zeroize@1.8.2
+ zerotrie@0.2.4
+ zerovec-derive@0.11.3
+ zerovec@0.11.6
+ zmij@1.0.21
+ zstd-safe@7.2.4
+ zstd-sys@2.0.16+zstd.1.5.7
+ zstd@0.13.3
+"
+
+# apply-crates-fixes start
+inherit llvm-r2
+# apply-crates-fixes end
+inherit cargo
+
+DESCRIPTION="TUI Program for Custom Proton Download and installation written in rust"
+HOMEPAGE="https://github.com/auyer/Protonup-rs"
+
+SRC_URI="
+ ${CARGO_CRATE_URIS}
+ https://github.com/auyer/Protonup-rs/archive/v${PV}.tar.gz -> ${P}.tar.gz
+"
+
+S="${WORKDIR}/Protonup-rs-${PV}"
+
+LICENSE="GPL-3"
+# Dependent crate licenses
+LICENSE+="
+ Apache-2.0 BSD CDLA-Permissive-2.0 ISC MIT MPL-2.0 UoI-NCSA
+ Unicode-3.0 ZLIB
+"
+SLOT="0"
+KEYWORDS="~amd64"
+RESTRICT="mirror"
+# apply-crates-fixes start
+DEPEND="
+ >=app-arch/zstd-1.5.7
+ $(llvm_gen_dep 'llvm-core/clang:${LLVM_SLOT}')
+"
+RDEPEND="
+ >=app-arch/zstd-1.5.7
+"
+# apply-crates-fixes end
+
+QA_FLAGS_IGNORED="usr/bin/${PN}"
+
+DOCS=( README.md docs )
+
+# apply-crates-fixes start
+src_compile(){
+ export ZSTD_SYS_USE_PKG_CONFIG=1 # fix for zstd-sys crate
+ CUSTOM_LIBFUZZER_PATH="$(clang --print-file-name "libclang_rt.fuzzer-${CHOST%%-*}.a" )"
+ [[ -f "${CUSTOM_LIBFUZZER_PATH}" ]] || die "trying to set CUSTOM_LIBFUZZER_PATH failed"
+ export CUSTOM_LIBFUZZER_PATH
+ export AWS_LC_SYS_CFLAGS="${CFLAGS} -O0"
+ # aws-lc-sys bundles aws-lc, which bundles quite a lot of dependencies, jitterentropy among them
+ # https://github.com/aws/aws-lc-rs/issues/936 -> "Please add support to use system-provided aws-lc library"
+ # jitterentropy can not be built without -O0, the script does not have the logic to unbundle dependencies right now
+ # but what it can do is use set the AWS_LC_SYS_CFLAGS var to override CFLAGS
+ cargo_src_compile
+}
+# apply-crates-fixes end
+
+src_test(){
+ local CARGO_SKIP_TESTS=(
+ 'downloads::tests::test_get_release'
+ 'downloads::tests::test_list_releases'
+ )
+ cargo_src_test
+}
+
+src_install(){
+ cargo_src_install --path "${S}/${PN}"
+ einstalldocs
+}
diff --git a/games-util/protonup/Manifest b/games-util/protonup/Manifest
new file mode 100644
index 000000000000..41661d80c907
--- /dev/null
+++ b/games-util/protonup/Manifest
@@ -0,0 +1 @@
+DIST protonup-0.1.5.tar.gz 17868 BLAKE2B 6ca242e86916e478282bf6a66f4a98911db5e993485b09c631640083ae71f2669fe5b64972b34ab7f97be460877c9493ba99398c1aad9c0e12b02a82f5599d92 SHA512 81b0337ba355ddb5c48adefc736fb6599f04beff59aeabf950844233aea01673d442617f477c7392fde30d818c629b8e807fea820b1119fa22df512523edbd20
diff --git a/games-util/protonup/metadata.xml b/games-util/protonup/metadata.xml
new file mode 100644
index 000000000000..a10db36300c8
--- /dev/null
+++ b/games-util/protonup/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>gonegrier.duarte@gmail.com</email>
+ <name>Gonçalo Negrier Duarte</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">AUNaseef/protonup</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/games-util/protonup/protonup-0.1.5.ebuild b/games-util/protonup/protonup-0.1.5.ebuild
new file mode 100644
index 000000000000..1d901f504186
--- /dev/null
+++ b/games-util/protonup/protonup-0.1.5.ebuild
@@ -0,0 +1,19 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1
+
+DESCRIPTION="Install and Update Proton-GE"
+HOMEPAGE="https://github.com/AUNaseef/protonup"
+SRC_URI="https://github.com/AUNaseef/protonup/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="dev-python/requests[${PYTHON_USEDEP}]"
diff --git a/games-util/protonup/protonup-9999.ebuild b/games-util/protonup/protonup-9999.ebuild
new file mode 100644
index 000000000000..f1c8b43d29dd
--- /dev/null
+++ b/games-util/protonup/protonup-9999.ebuild
@@ -0,0 +1,17 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit git-r3 distutils-r1
+EGIT_REPO_URI="https://github.com/AUNaseef/protonup.git"
+DESCRIPTION="Install and Update Proton-GE"
+HOMEPAGE="https://github.com/AUNaseef/protonup"
+
+LICENSE="GPL-3"
+SLOT="0"
+
+RDEPEND="dev-python/requests[${PYTHON_USEDEP}]"
diff --git a/games-util/qstat/Manifest b/games-util/qstat/Manifest
new file mode 100644
index 000000000000..02338ff54a78
--- /dev/null
+++ b/games-util/qstat/Manifest
@@ -0,0 +1,2 @@
+DIST qstat-2.14.tar.gz 210440 BLAKE2B 2a33287a69fe63c59a1cb136e84ea29cccd27f4468cb4b38b4e9ce49f28a558dc67793eaa7ead7addd828730e084a15f9684ccba7753852ce1c2795c7c94cb78 SHA512 f2054d74399fe1773a19ca43629e10364fdd87e551459719685c11f38245a05906631b456848b1a3764b4e6843baf654af6a9b174c7b16908b6bcb97ac64c6d6
+DIST qstat-2.17.tar.gz 233981 BLAKE2B e66aad52931443183ad91b19d5ed775c78babb0a5bd679c57fdf4c0ef604aab4e071bd16f97d151b84eb0b9b9814da271342a3494ec4123c5cf0ca10a8786341 SHA512 880549d220a9a9046910bc2e5564b09349870110c77249b66d2ca77143327c83473da31c00e7b70df45f48e6a5bcb3310487f73983d745a69e6aa6278a125278
diff --git a/games-util/qstat/files/qstat-2.14-gcc-10.patch b/games-util/qstat/files/qstat-2.14-gcc-10.patch
new file mode 100644
index 000000000000..9900ccdbaa85
--- /dev/null
+++ b/games-util/qstat/files/qstat-2.14-gcc-10.patch
@@ -0,0 +1,43 @@
+From: Sergei Trofimovich <slyfox@gentoo.org>
+Date: Sun, 26 Jan 2020 11:15:10 +0000
+Subject: [PATCH] qstat: fix build failure against gcc-10
+
+On gcc-10 (and gcc-9 -fno-common) build fails as:
+
+```
+gcc ... -o qstat ...
+ld: config.o:qstat/display_json.h:24:
+ multiple definition of `json_printed'; xform.o:qstat/display_json.h:24: first defined here
+ld: config.o:qstat/display_json.h:23:
+ multiple definition of `json_encoding'; xform.o:qstat/display_json.h:23: first defined here
+```
+
+gcc-10 will change the default from -fcommon to fno-common:
+https://gcc.gnu.org/PR85678.
+
+The error also happens if CFLAGS=-fno-common passed explicitly.
+
+Reported-by: Toralf Förster
+Bug: https://bugs.gentoo.org/706390
+Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
+--- a/debug.c
++++ b/debug.c
+@@ -114,6 +114,7 @@ static void _dump_packet(const char* tag, const char* buf, int buflen)
+ close(fd);
+ }
+
++int do_dump = 0;
+ ssize_t send_dump(int s, const void *buf, size_t len, int flags)
+ {
+ if(do_dump)
+--- a/debug.h
++++ b/debug.h
+@@ -47,7 +47,7 @@ void dump_packet(const char* buf, int buflen);
+ #endif
+ #include <sys/types.h>
+ #include <sys/stat.h>
+-int do_dump;
++extern int do_dump;
+ ssize_t send_dump(int s, const void *buf, size_t len, int flags);
+ #ifndef QSTAT_DEBUG_C
+ #define send(s, buf, len, flags) send_dump(s, buf, len, flags)
diff --git a/games-util/qstat/files/qstat-2.14-unneeded-cast.patch b/games-util/qstat/files/qstat-2.14-unneeded-cast.patch
new file mode 100644
index 000000000000..c1bf19b502c5
--- /dev/null
+++ b/games-util/qstat/files/qstat-2.14-unneeded-cast.patch
@@ -0,0 +1,14 @@
+packet_funcs are already have correct type, no need to cast function pointer to wrong
+function pointer
+https://bugs.gentoo.org/944360
+--- a/packet_manip.c
++++ b/packet_manip.c
+@@ -131,7 +131,7 @@
+ }
+ // Call the server's packet processing method flagging as a combine call
+ server->combined = 1;
+- ret = ((int (*)())server->type->packet_func)(server, combined, datalen);
++ ret = (server->type->packet_func)(server, combined, datalen);
+ free(combined);
+ server->combined = 0;
+
diff --git a/games-util/qstat/metadata.xml b/games-util/qstat/metadata.xml
new file mode 100644
index 000000000000..852b2619fd9a
--- /dev/null
+++ b/games-util/qstat/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>games@gentoo.org</email>
+ <name>Gentoo Games Project</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="sourceforge">qstat</remote-id>
+ <remote-id type="github">Unity-Technologies/qstat</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/games-util/qstat/qstat-2.14-r1.ebuild b/games-util/qstat/qstat-2.14-r1.ebuild
new file mode 100644
index 000000000000..f3531042e8bc
--- /dev/null
+++ b/games-util/qstat/qstat-2.14-r1.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+DESCRIPTION="Server statics collector supporting many FPS games"
+HOMEPAGE="https://github.com/Unity-Technologies/qstat"
+SRC_URI="https://github.com/Unity-Technologies/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Artistic"
+SLOT="0"
+KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ppc64 x86"
+IUSE="debug"
+
+RDEPEND="!sys-cluster/torque"
+
+DOCS=( CHANGES.txt COMPILE.txt template/README.txt )
+
+PATCHES=(
+ "${FILESDIR}"/"${P}"-gcc-10.patch
+)
+
+QA_CONFIG_IMPL_DECL_SKIP=(
+ strnstr #bug #899024, there's fallback implementation
+)
+
+src_prepare() {
+ default
+ eautoreconf
+
+ # bug #530952
+ sed -i -e 's/strndup/l_strndup/g' qstat.c || die
+}
+
+src_configure() {
+ econf $(use_enable debug)
+}
+
+src_install() {
+ default
+ dosym qstat /usr/bin/quakestat
+
+ docinto html
+ dodoc template/*.html qstatdoc.html
+}
diff --git a/games-util/qstat/qstat-2.17.ebuild b/games-util/qstat/qstat-2.17.ebuild
new file mode 100644
index 000000000000..c38e3fbc6a1d
--- /dev/null
+++ b/games-util/qstat/qstat-2.17.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+DESCRIPTION="Server statics collector supporting many FPS games"
+HOMEPAGE="https://github.com/Unity-Technologies/qstat"
+SRC_URI="https://github.com/Unity-Technologies/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Artistic"
+SLOT="0"
+KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ppc64 ~riscv x86"
+IUSE="debug"
+
+RDEPEND="!sys-cluster/torque"
+
+DOCS=( CHANGES.txt COMPILE.md template/README.txt )
+
+PATCHES=( "${FILESDIR}/${PN}-2.14-unneeded-cast.patch" )
+
+QA_CONFIG_IMPL_DECL_SKIP=(
+ strnstr # bug #899024, there's fallback implementation
+)
+
+src_prepare() {
+ default
+ local -x QSTAT_VERSION="${PV}"
+ eautoreconf
+}
+
+src_configure() {
+ econf $(use_enable debug)
+}
+
+src_install() {
+ default
+ dosym qstat /usr/bin/quakestat
+
+ docinto html
+ dodoc template/*.html qstatdoc.html
+}
diff --git a/games-util/qzdl/Manifest b/games-util/qzdl/Manifest
new file mode 100644
index 000000000000..5c6809b36a01
--- /dev/null
+++ b/games-util/qzdl/Manifest
@@ -0,0 +1 @@
+DIST qzdl-20250103.tar.gz 245223 BLAKE2B 0171676ed829ceedf815d3e21a3c4610a0fb8aece289fc458fd4b4023e1d7e4b43fafdd75eb6f45375171416c6bc58475ebe00c70cac7d02feb10fb10447a8be SHA512 2db6185d7ff5b808368bc2ff23a796226b4b9819f98ac97e8f74cdbbb6c22a511a180b57a26d2ed8e67ed5bda09e1e81166238eb0702f968e0ebebdfc214ad94
diff --git a/games-util/qzdl/files/qzdl-cmake.patch b/games-util/qzdl/files/qzdl-cmake.patch
new file mode 100644
index 000000000000..519ea56f4c83
--- /dev/null
+++ b/games-util/qzdl/files/qzdl-cmake.patch
@@ -0,0 +1,36 @@
+required for 'network-sandbox'
+
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -7,16 +7,8 @@
+ find_package(QT NAMES Qt6 Qt5 REQUIRED COMPONENTS Core Widgets)
+ find_package(Qt${QT_VERSION_MAJOR} REQUIRED COMPONENTS Core Widgets REQUIRED)
+
+-include(FetchContent)
+-FetchContent_Declare(
+- inih
+- GIT_REPOSITORY https://github.com/benhoyt/inih.git
+- GIT_TAG r44
+-)
+-FetchContent_GetProperties(inih)
+-if (NOT inih_POPULATED)
+- FetchContent_MakeAvailable(inih)
+-endif()
++find_package(PkgConfig REQUIRED)
++pkg_check_modules(INIH REQUIRED inih)
+
+ add_executable(
+ zdl
+@@ -46,9 +38,9 @@
+ libwad.cpp
+ qzdl.cpp
+ ${PROJECT_SOURCE_DIR}/zdlconf/zdlconf.cpp
+- ${inih_SOURCE_DIR}/ini.c
+ )
+
+ target_include_directories(zdl PRIVATE ${PROJECT_SOURCE_DIR}/zdlconf)
+-target_include_directories(zdl PRIVATE ${inih_SOURCE_DIR})
+-target_link_libraries(zdl Qt${QT_VERSION_MAJOR}::Core Qt${QT_VERSION_MAJOR}::Widgets)
++target_include_directories(zdl PRIVATE ${INIH_INCLUDE_DIRS})
++target_link_libraries(zdl Qt${QT_VERSION_MAJOR}::Core Qt${QT_VERSION_MAJOR}::Widgets ${INIH_LIBRARIES})
++target_compile_options(zdl PRIVATE ${INIH_CFLAGS_OTHER})
diff --git a/games-util/qzdl/metadata.xml b/games-util/qzdl/metadata.xml
new file mode 100644
index 000000000000..acf504d241e1
--- /dev/null
+++ b/games-util/qzdl/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>ghostyn678+git@gmail.com</email>
+ <name>dsaf</name>
+ </maintainer>
+ <longdescription>
+ Qt version of ZDL, a simple but user friendly and
+ feature rich launcher for GZDoom and derivates.
+ </longdescription>
+ <upstream>
+ <doc>https://zdl.vectec.net/wiki/Main_Page</doc>
+ <remote-id type="github">qbasicer/qzdl</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/games-util/qzdl/qzdl-20250103.ebuild b/games-util/qzdl/qzdl-20250103.ebuild
new file mode 100644
index 000000000000..f184f68d888f
--- /dev/null
+++ b/games-util/qzdl/qzdl-20250103.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+COMMIT="a03191777152b932b9bf15f45d439bf38e8c7679"
+
+inherit cmake desktop
+
+DESCRIPTION="Qt version of the ZDL ZDoom launcher"
+HOMEPAGE="https://zdl.vectec.net/wiki/Main_Page"
+SRC_URI="https://github.com/qbasicer/qzdl/archive/${COMMIT}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${PN}-${COMMIT}"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64"
+
+DEPEND="
+ dev-libs/inih
+ dev-qt/qtbase:6[widgets]
+"
+RDEPEND="${DEPEND}"
+BDEPEND="
+ dev-qt/qtbase:6
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-cmake.patch
+)
+
+src_configure() {
+ local mycmakeargs=(
+ -DCMAKE_BUILD_TYPE=Release
+ )
+
+ cmake_src_configure
+}
+
+src_install() {
+ dobin "${BUILD_DIR}/zdl"
+
+ doicon -s scalable res/zdl3.svg
+
+ make_desktop_entry zdl "ZDL" zdl3 "Game;ActionGame"
+}
diff --git a/games-util/qzdl/qzdl-99999999.ebuild b/games-util/qzdl/qzdl-99999999.ebuild
new file mode 100644
index 000000000000..1d1566ac1bae
--- /dev/null
+++ b/games-util/qzdl/qzdl-99999999.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake desktop git-r3
+
+DESCRIPTION="Qt version of the ZDL ZDoom launcher"
+HOMEPAGE="https://zdl.vectec.net/wiki/Main_Page"
+EGIT_REPO_URI="https://github.com/qbasicer/qzdl.git"
+PROPERTIES="live"
+
+LICENSE="GPL-3"
+SLOT="0"
+
+DEPEND="
+ dev-libs/inih
+ dev-qt/qtbase:6[widgets]
+"
+RDEPEND="${DEPEND}"
+BDEPEND="
+ dev-qt/qtbase:6
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-cmake.patch
+)
+
+src_configure() {
+ local mycmakeargs=(
+ -DCMAKE_BUILD_TYPE=Release
+ )
+
+ cmake_src_configure
+}
+
+src_install() {
+ dobin "${BUILD_DIR}/zdl"
+
+ doicon -s scalable res/zdl3.svg
+
+ make_desktop_entry zdl "ZDL" zdl3 "Game;ActionGame"
+}
diff --git a/games-util/r2modman-bin/Manifest b/games-util/r2modman-bin/Manifest
new file mode 100644
index 000000000000..923d2ca79968
--- /dev/null
+++ b/games-util/r2modman-bin/Manifest
@@ -0,0 +1,9 @@
+DIST r2modman-bin-3.1.51-128x128.png 4729 BLAKE2B bf7050ad2f512634331f4fd993a19f985835d6f63a0afe51b8e66bc205edf7401faccd03ada8cc898cee099d6a31c7086252425755acc6129dad101bbdb1fe7e SHA512 8dd26f80dd682c8be63af237062337c43e99fdc70497056aa709d37a106ef49862e3017348b6facd65eb480696c628c575e3aecb1ff054523bee119d4db63ab9
+DIST r2modman-bin-3.1.51-16x16.png 630 BLAKE2B babe2fd2e48f18b5584fcfba4453b4cfee3c45c81ff4c54058d20752e392d1f09c0df5d111ec9f8daae871fd9ec322a64ee2a0a236abfd478364aa833c71a954 SHA512 e89f06ab89ffec2899c49115329ae43c6a12338bbc15c8e786d66287fd224e2d478f70076878591b4ea5f3c18dd6779011ab21bd64d3bd2b697ca933e4081fc9
+DIST r2modman-bin-3.1.51-192x192.png 7319 BLAKE2B 378899c12ce58942539c354b652a302d1fd3c91387e2645892b161f035cef8396f0d92c753918d945112a96da5daa4ccfbed2144fc7edfbdf56ba7e72121c6c0 SHA512 c6392c415034c61545f401287a4b445a116211edefb5f55e5cf5ccfaf6ca5f9be535a5b8bd781ddeeed44e7097e774cc8c2f294ba5a4713ab506b037e99dd212
+DIST r2modman-bin-3.1.51-256x256.png 6690 BLAKE2B c0e62dc9d3bc7b261751a46e1fef35d2b6cf0ca06ee6c5b6f6ed61c3fe91e9f82b9d67a7641cf40f5724f5a0b6f109e370c9d2330728be3ff35ccc0a3b2f0f90 SHA512 bc67772e00d404816ab5d737b7d5dfbd093f1f457ca72863356dd5a3da8625535e7ed3f724275bc74356073f9d35b3b56bc392479561e33c8cc63a583762f2a1
+DIST r2modman-bin-3.1.51-32x32.png 1262 BLAKE2B 76f1205935009b55afe63812ef8bb2b9a3a307c16343359c5a15de70745f587f50834dba73cf98b06b9d2a11ec3e1b58617168ce67a19b9e13d5a19aac65af66 SHA512 9778da7bd19d569fe65f4f44984bf1213f8161013f9820be577154559a8dfff4cc165d494e303d4f6595f9eafd2d502a1088e522cbba4993aaaa58ebac3bf29d
+DIST r2modman-bin-3.1.51-48x48.png 1837 BLAKE2B 5956f438170d3ba3d30ebc7d7cf57b21d5b7d3ee7552b7beb51a59ac4619dc1b721a57a18b7798c64f35238dcd23ffeabfb12bafde02b45a67126236b5755325 SHA512 265bc260f4eefb2fc7b0e770999b5932b84200d76b5ca2afa97f5d5b446dab5dfa0a744e0585ccbef93703441300817c61159f9adff420784bfad95ae3557947
+DIST r2modman-bin-3.1.51-64x64.png 2439 BLAKE2B 2d44448882fb73db2b503cf41593531e856b3b2280a79fc0c8722338c25d4b92dd8fb7d21aa37a544156edf96185cc46ca53eb653a8e1d904c3531470f27d1ef SHA512 0f8bee1b874531e57889889d0f230d91a1a3c0a2f158b40d3d12c6f1891bd9982f850b69ea6cdcafe878df58b3e36c00c80c0ff9457584d6f1e14564afc2541c
+DIST r2modman-bin-3.1.51-96x96.png 3607 BLAKE2B 1e86a115e2f90ea3a39e3f2dfb61036b47f20c67897bbc268c512910433f04ee3dac505b0dd4f97f07ca11568e65df4c58b497fc9eef04ea3597665e56656cc1 SHA512 5ca72dc1069660f7deb92e7046f56e2ac216b8e3bce77fb68b67e0f8d79849ce3521ea0afff5702726c4f709a9d006e5d90ec8aab8b26782b57e2564f3fba231
+DIST r2modman-bin-3.1.51.tar.gz 116977084 BLAKE2B e9fac092ed1c2ce3eee3c03dd17dd50a47fc09343bee26bb5110c21bbb561c5992a23a15da6d89bc8b16f6cd16db65b3cde13b588be1a30fdf1820bee25c1af4 SHA512 379ec7d59a9f75ae5abe19a40f8ab57361c91eb1872c56e134be768e8104ea543442d0a079a908c1b92c28283d4f4073a04102d0f7cb880b50f04b0c00254e2c
diff --git a/games-util/r2modman-bin/files/r2modman.desktop b/games-util/r2modman-bin/files/r2modman.desktop
new file mode 100644
index 000000000000..8a654b6ef4f7
--- /dev/null
+++ b/games-util/r2modman-bin/files/r2modman.desktop
@@ -0,0 +1,13 @@
+[Desktop Entry]
+Comment=A simple and easy to use mod manager for several Unity games using Thunderstore.
+Encoding=UTF-8
+Exec=env DESKTOPINTEGRATION=false GDK_BACKEND=x11 /opt/r2modman/r2modman
+Icon=r2modman
+StartupWMClass=r2modman
+Name=r2modman
+StartupNotify=true
+Terminal=false
+Type=Application
+X-KDE-SubstituteUID=false
+MimeType=x-scheme-handler/ror2mm;
+Categories=Game;
diff --git a/games-util/r2modman-bin/metadata.xml b/games-util/r2modman-bin/metadata.xml
new file mode 100644
index 000000000000..04b87604256b
--- /dev/null
+++ b/games-util/r2modman-bin/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>gonegrier.duarte@gmail.com</email>
+ <name>Gonçalo Negrier Duarte</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">ebkr/r2modmanPlus</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/games-util/r2modman-bin/r2modman-bin-3.1.51.ebuild b/games-util/r2modman-bin/r2modman-bin-3.1.51.ebuild
new file mode 100644
index 000000000000..be4d7ea3cb66
--- /dev/null
+++ b/games-util/r2modman-bin/r2modman-bin-3.1.51.ebuild
@@ -0,0 +1,96 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+M_PN=r2modman
+
+inherit desktop xdg
+
+DESCRIPTION="A simple and easy to use mod manager for several games using Thunderstore"
+HOMEPAGE="https://github.com/ebkr/r2modmanPlus"
+SRC_URI="
+ https://github.com/ebkr/${M_PN}Plus/releases/download/v${PV}/${M_PN}-${PV}.tar.gz -> ${P}.tar.gz
+ https://raw.githubusercontent.com/ebkr/r2modmanPlus/v${PV}/src/assets/icon/16x16.png -> ${P}-16x16.png
+ https://raw.githubusercontent.com/ebkr/r2modmanPlus/v${PV}/src/assets/icon/32x32.png -> ${P}-32x32.png
+ https://raw.githubusercontent.com/ebkr/r2modmanPlus/v${PV}/src/assets/icon/48x48.png -> ${P}-48x48.png
+ https://raw.githubusercontent.com/ebkr/r2modmanPlus/v${PV}/src/assets/icon/64x64.png -> ${P}-64x64.png
+ https://raw.githubusercontent.com/ebkr/r2modmanPlus/v${PV}/src/assets/icon/96x96.png -> ${P}-96x96.png
+ https://raw.githubusercontent.com/ebkr/r2modmanPlus/v${PV}/src/assets/icon/128x128.png -> ${P}-128x128.png
+ https://raw.githubusercontent.com/ebkr/r2modmanPlus/v${PV}/src/assets/icon/192x192.png -> ${P}-192x192.png
+ https://raw.githubusercontent.com/ebkr/r2modmanPlus/v${PV}/src/assets/icon/256x256.png -> ${P}-256x256.png
+"
+
+S="${WORKDIR}"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="
+ app-accessibility/at-spi2-core:2
+ app-arch/snappy
+ dev-libs/expat
+ dev-libs/glib:2
+ dev-libs/libevent
+ dev-libs/libxslt
+ dev-libs/nspr
+ dev-libs/nss
+ dev-libs/re2
+ net-dns/c-ares
+ media-libs/alsa-lib
+ media-libs/libvpx
+ media-libs/mesa
+ media-video/ffmpeg[alsa]
+ net-print/cups
+ net-libs/http-parser
+ x11-libs/cairo
+ x11-libs/gdk-pixbuf:2
+ x11-libs/gtk+:3[cups]
+ x11-libs/libdrm
+ x11-libs/libnotify
+ x11-libs/libX11
+ x11-libs/libxcb
+ x11-libs/libXcomposite
+ x11-libs/libXdamage
+ x11-libs/libXext
+ x11-libs/libXfixes
+ x11-libs/libxkbcommon
+ x11-libs/libXrandr
+ x11-libs/libXScrnSaver
+ x11-libs/pango
+ sys-apps/dbus
+ virtual/minizip
+"
+
+QA_PREBUILT="
+ /opt/r2modman/chrome-sandbox
+ /opt/r2modman/libEGL.so
+ /opt/r2modman/libGLESv2.so
+ /opt/r2modman/libffmpeg.so
+ /opt/r2modman/libvk_swiftshader.so
+ /opt/r2modman/libvulkan.so
+ /opt/r2modman/r2modman
+ /opt/r2modman/swiftshader/libEGL.so
+ /opt/r2modman/swiftshader/libGLESv2.so
+"
+
+src_install() {
+ # Install binaries file
+ mv "${M_PN}-${PV}" "${M_PN}" || die #Fix folder name
+ insinto /opt
+ doins -r "${M_PN}"
+ fperms 755 "/opt/${M_PN}/r2modman"
+ dosym -r /opt/r2modman/r2modman /usr/bin/r2modman
+
+ #Install License file in proper location
+ find "${ED}" -name "LICENSE*" -delete || die
+
+ # Install desktop file
+ domenu "${FILESDIR}/${M_PN}".desktop
+
+ # Install icons
+ for size in 16 32 48 64 96 128 192 256; do
+ newicon -s ${size} "${DISTDIR}"/${P}-${size}x${size}.png ${M_PN}.png
+ done
+}
diff --git a/games-util/roll/Manifest b/games-util/roll/Manifest
new file mode 100644
index 000000000000..856a4a9d5840
--- /dev/null
+++ b/games-util/roll/Manifest
@@ -0,0 +1 @@
+DIST roll-2.6.1.tar.gz 160521 BLAKE2B 28ddfced7b3f06087c492345f7192024bd92ed8161cb7d2397f92a8d1fd1ed7814cb3e5c53b900e1d2be025b298c6f06a514e895cfaefe88de7dff62cec8945f SHA512 4a33264687f9b2acd6584574e59aa6b74efb0a01097ab35861bcd0356fa5e067a8b3890849db9cde4911794d55295dc82e82868b7c94f0258d34752af63e2dfd
diff --git a/games-util/roll/metadata.xml b/games-util/roll/metadata.xml
new file mode 100644
index 000000000000..c66f285549f2
--- /dev/null
+++ b/games-util/roll/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>smaniotto.nicola@gmail.com</email>
+ <name>Nicola Smaniotto</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">matteocorti/roll</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/games-util/roll/roll-2.6.1.ebuild b/games-util/roll/roll-2.6.1.ebuild
new file mode 100644
index 000000000000..c55540cd5464
--- /dev/null
+++ b/games-util/roll/roll-2.6.1.ebuild
@@ -0,0 +1,17 @@
+# Copyright 2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DESCRIPTION="Program to roll dices specified in a simple and intuitive way"
+HOMEPAGE="http://matteocorti.github.io/roll/"
+SRC_URI="https://github.com/matteocorti/${PN}/releases/download/v${PV}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64"
+
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="${DEPEND}"
diff --git a/games-util/sc-controller/Manifest b/games-util/sc-controller/Manifest
new file mode 100644
index 000000000000..be2398b67408
--- /dev/null
+++ b/games-util/sc-controller/Manifest
@@ -0,0 +1 @@
+DIST sc-controller-0.5.0.tar.gz 1816791 BLAKE2B b96c5f7b63c5a27e283ff52f2b6fac2f89d2e55f7d9d252e864730aef9b071b9d6f8a3549a2cdda265beb759bbe375fec4b930944392cff9e804e3eb2d1baa65 SHA512 e857862427434514f08cd5d3aec303b026688d6c5a94cc654fc25a423dab705f7284216d270a07a549d1dc67ffe6d14873eb6fd028f91fd071369e9900911a2b
diff --git a/games-util/sc-controller/files/sc-controller-0.5.0-tomllib.patch b/games-util/sc-controller/files/sc-controller-0.5.0-tomllib.patch
new file mode 100644
index 000000000000..d6724b9c7b9e
--- /dev/null
+++ b/games-util/sc-controller/files/sc-controller-0.5.0-tomllib.patch
@@ -0,0 +1,35 @@
+From 10d0e99164eb699d13df3c183a1600a6a955c6d3 Mon Sep 17 00:00:00 2001
+From: James Le Cuirot <chewi@aura-online.co.uk>
+Date: Sun, 9 Mar 2025 19:27:50 +0000
+Subject: [PATCH] Use built-in tomllib rather than toml (#71)
+
+The toml library has been unmaintained for years and is no longer packaged by some distributions.
+---
+ tests/test_setup.py | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/tests/test_setup.py b/tests/test_setup.py
+index eaae0166..7593b727 100644
+--- a/tests/test_setup.py
++++ b/tests/test_setup.py
+@@ -1,6 +1,6 @@
+ import pkgutil
+
+-import toml
++import tomllib
+
+ import scc
+
+@@ -19,7 +19,8 @@ class TestSetup:
+ pass
+
+ # Load the packages from pyproject.toml
+- pyproject = toml.load("pyproject.toml")
++ with open("pyproject.toml", "rb") as file:
++ pyproject = tomllib.load(file)
+ packages = pyproject["tool"]["setuptools"]["packages"]
+
+ for importer, modname, ispkg in pkgutil.walk_packages(path=scc.__path__, prefix="scc.", onerror=lambda x: None):
+--
+2.48.1
+
diff --git a/games-util/sc-controller/metadata.xml b/games-util/sc-controller/metadata.xml
new file mode 100644
index 000000000000..92ff06782e0e
--- /dev/null
+++ b/games-util/sc-controller/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>games@gentoo.org</email>
+ <name>Gentoo Games Project</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">C0rn3j/sc-controller</remote-id>
+ </upstream>
+ <use>
+ <flag name="trayicon">Enable system tray icon</flag>
+ </use>
+</pkgmetadata>
diff --git a/games-util/sc-controller/sc-controller-0.5.0-r1.ebuild b/games-util/sc-controller/sc-controller-0.5.0-r1.ebuild
new file mode 100644
index 000000000000..33908b7710c2
--- /dev/null
+++ b/games-util/sc-controller/sc-controller-0.5.0-r1.ebuild
@@ -0,0 +1,66 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_SINGLE_IMPL=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{13..14} )
+inherit distutils-r1 linux-info xdg
+
+DESCRIPTION="User-mode driver and GTK-based GUI for Steam Controllers and others"
+HOMEPAGE="https://github.com/C0rn3j/sc-controller/"
+SRC_URI="https://github.com/C0rn3j/sc-controller/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-2 CC-BY-3.0 CC0-1.0 MIT PSF-2 ZLIB"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+IUSE="+trayicon +udev wayland"
+
+RDEPEND="
+ $(python_gen_cond_dep '
+ dev-python/evdev[${PYTHON_USEDEP}]
+ dev-python/ioctl-opt[${PYTHON_USEDEP}]
+ dev-python/libusb1[${PYTHON_USEDEP}]
+ dev-python/pygobject[${PYTHON_USEDEP},cairo]
+ dev-python/pylibacl[${PYTHON_USEDEP}]
+ dev-python/vdf[${PYTHON_USEDEP}]
+ ')
+ gnome-base/librsvg[introspection]
+ virtual/libusb
+ x11-libs/gtk+:3[introspection]
+ trayicon? ( dev-libs/libayatana-appindicator )
+ udev? ( games-util/game-device-udev-rules )
+ wayland? ( gui-libs/gtk-layer-shell[introspection(+)] )
+"
+
+BDEPEND="
+ $(python_gen_cond_dep '
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+ ')
+"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
+
+PATCHES=(
+ "${FILESDIR}"/${P}-tomllib.patch
+)
+
+pkg_setup() {
+ local CONFIG_CHECK="~INPUT_UINPUT"
+
+ linux-info_pkg_setup
+ python-single-r1_pkg_setup
+}
+
+src_compile() {
+ export SETUPTOOLS_SCM_PRETEND_VERSION_FOR_SCCONTROLLER=${PV}
+ distutils-r1_src_compile
+}
+
+src_install() {
+ distutils-r1_src_install
+ rm -r "${ED}"/usr/lib/udev/ || die
+}
diff --git a/games-util/sdl2-gamepad-mapper/Manifest b/games-util/sdl2-gamepad-mapper/Manifest
new file mode 100644
index 000000000000..05f7fda02f91
--- /dev/null
+++ b/games-util/sdl2-gamepad-mapper/Manifest
@@ -0,0 +1 @@
+DIST sdl2-gamepad-mapper-v0.0.8.tar.bz2 194170 BLAKE2B e936b22aff76871d64f90fedac7deeb0abf5f0d05bd5155fc89ab9af43d4e0a3e22f18ebf2b986c55e2dd71267e5ea1578b4a517245773a1ff6d0d4e5832dae5 SHA512 3d4237cb80ab375b6a4519a90f61bf0629bc0d242622f0e04ba3466002ea7682aa6ab3b7740a022ec68e607ed8505e7e22978105a18853636cd4dc6b1cc2bea3
diff --git a/games-util/sdl2-gamepad-mapper/metadata.xml b/games-util/sdl2-gamepad-mapper/metadata.xml
new file mode 100644
index 000000000000..b7f88f1800ea
--- /dev/null
+++ b/games-util/sdl2-gamepad-mapper/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>carana2099@gmail.com</email>
+ <name>Carlos E.</name>
+ </maintainer>
+ <upstream><remote-id type="gitlab">ryochan7/sdl2-gamepad-mapper</remote-id></upstream>
+</pkgmetadata>
diff --git a/games-util/sdl2-gamepad-mapper/sdl2-gamepad-mapper-0.0.8-r1.ebuild b/games-util/sdl2-gamepad-mapper/sdl2-gamepad-mapper-0.0.8-r1.ebuild
new file mode 100644
index 000000000000..e70deb4726ed
--- /dev/null
+++ b/games-util/sdl2-gamepad-mapper/sdl2-gamepad-mapper-0.0.8-r1.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit qmake-utils xdg-utils desktop
+DESCRIPTION="GUI application to generate an SDL2 mapping string from a generic controller"
+HOMEPAGE="https://gitlab.com/ryochan7/sdl2-gamepad-mapper"
+SRC_URI="https://gitlab.com/ryochan7/sdl2-gamepad-mapper/-/archive/v${PV}/${PN}-v${PV}.tar.bz2"
+S="${WORKDIR}/${PN}-v${PV}"
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64"
+RDEPEND="
+ media-libs/libsdl2
+ dev-qt/qtbase:6
+ dev-qt/qtdeclarative:6
+ dev-qt/qttranslations:6
+"
+DEPEND="${RDEPEND}"
+DOCS=( README.md COPYING )
+
+src_configure() {
+ eqmake6
+}
+
+src_install() {
+ dobin "${PN}"
+ domenu "${PN}.desktop"
+ doicon -s 512 "${PN}.png"
+ einstalldocs
+}
+
+pkg_postinst() {
+ xdg_desktop_database_update
+ xdg_icon_cache_update
+}
diff --git a/games-util/slade/Manifest b/games-util/slade/Manifest
new file mode 100644
index 000000000000..fb783a0b36fa
--- /dev/null
+++ b/games-util/slade/Manifest
@@ -0,0 +1,2 @@
+DIST slade-3.2.6.tar.gz 7027328 BLAKE2B ba0db4926f5706166ec2439cbb539a9d5330e2d3ea3dbd8e29b586cf57a23b7b254823d84b7ba79b604a86ed0e5753b4e7c4fcf825ba7d3217c52824f36c5be4 SHA512 d09631b24c83769482480c24dfc1f6992ae293bdfe4c8661d967d6ac0fcbba6f0e1bf58c58afc84a82fb5f900d9e0e99413800a42edc353a4f7f1f52781db54f
+DIST slade-3.2.7.tar.gz 6419781 BLAKE2B 484e70406a5185166ea6b73d68565d9bb43e7558e6269abe4710e3f1437b8421383a5f40e136dd86ca84f0bb2fa38d61fd6e3e8925db293b436ba044ad88418c SHA512 026bba57a85a64e695d1c96344726f5f82cd89e5e403c686e72a569d9272383347190b6804fa4623b5836967db0541b80e418457df1614c76da466bbc8c61b5e
diff --git a/games-util/slade/files/slade-3.2.0_beta2-fluidsynth-driver.patch b/games-util/slade/files/slade-3.2.0_beta2-fluidsynth-driver.patch
new file mode 100644
index 000000000000..bd828d81b390
--- /dev/null
+++ b/games-util/slade/files/slade-3.2.0_beta2-fluidsynth-driver.patch
@@ -0,0 +1,27 @@
+From dc0057d1200f9bb6b67f1b1a2094b7e402d1d370 Mon Sep 17 00:00:00 2001
+From: James Le Cuirot <chewi@gentoo.org>
+Date: Sat, 20 Feb 2021 12:28:48 +0000
+Subject: [PATCH] Don't force FluidSynth to use ALSA on Linux
+
+---
+ src/Audio/MIDIPlayer.cpp | 4 ----
+ 1 file changed, 4 deletions(-)
+
+diff --git a/src/Audio/MIDIPlayer.cpp b/src/Audio/MIDIPlayer.cpp
+index bb001339..f33ffe67 100644
+--- a/src/Audio/MIDIPlayer.cpp
++++ b/src/Audio/MIDIPlayer.cpp
+@@ -344,10 +344,6 @@ public:
+ fs_initialised_ = false;
+ file_ = "";
+
+- // Set fluidsynth driver to alsa in linux (no idea why it defaults to jack)
+- if (app::platform() == app::Platform::Linux && fs_driver.value.empty())
+- fs_driver = "alsa";
+-
+ // Init soundfont path
+ if (fs_soundfont_path.value.empty())
+ {
+--
+2.30.0
+
diff --git a/games-util/slade/files/slade-3.2.2-wayland.patch b/games-util/slade/files/slade-3.2.2-wayland.patch
new file mode 100644
index 000000000000..4207ceb2076d
--- /dev/null
+++ b/games-util/slade/files/slade-3.2.2-wayland.patch
@@ -0,0 +1,25 @@
+SFML's render window only supports X11 under Linux, so SLADE crashes if GDK
+chooses the Wayland backend. This patch tells GDK to prefer the X11 backend.
+SLADE 3.3.0 will apparently not use the render window.
+
+diff --git a/src/Application/SLADEWxApp.cpp b/src/Application/SLADEWxApp.cpp
+index 3dadf241..de01e340 100644
+--- a/src/Application/SLADEWxApp.cpp
++++ b/src/Application/SLADEWxApp.cpp
+@@ -52,6 +52,16 @@
+ using namespace slade;
+
+
++#ifdef __WXGTK__
++#include <gdk/gdk.h>
++
++struct PreferX11 {
++ PreferX11() { gdk_set_allowed_backends("x11,*"); }
++};
++static PreferX11 preferx11;
++#endif
++
++
+ // -----------------------------------------------------------------------------
+ //
+ // Variables
diff --git a/games-util/slade/files/slade-3.2.6-fix-sol.patch b/games-util/slade/files/slade-3.2.6-fix-sol.patch
new file mode 100644
index 000000000000..d0aa3b993f7d
--- /dev/null
+++ b/games-util/slade/files/slade-3.2.6-fix-sol.patch
@@ -0,0 +1,14 @@
+diff --git a/thirdparty/sol/sol.hpp b/thirdparty/sol/sol.hpp
+index 3ff9ad1c..eb73973b 100644
+--- a/thirdparty/sol/sol.hpp
++++ b/thirdparty/sol/sol.hpp
+@@ -5968,7 +5968,8 @@ namespace sol {
+ static_assert(std::is_constructible<T, Args&&...>::value, "T must be constructible with Args");
+
+ *this = nullopt;
+- this->construct(std::forward<Args>(args)...);
++ new (static_cast<void*>(this)) optional(std::in_place, std::forward<Args>(args)...);
++ return **this;
+ }
+
+ /// Swaps this optional with the other.
diff --git a/games-util/slade/files/slade-3.2.7-pkg-config.patch b/games-util/slade/files/slade-3.2.7-pkg-config.patch
new file mode 100644
index 000000000000..b421c3c68028
--- /dev/null
+++ b/games-util/slade/files/slade-3.2.7-pkg-config.patch
@@ -0,0 +1,25 @@
+From 49e5aa0b0a4481a335936b623b7725a1bc8863d1 Mon Sep 17 00:00:00 2001
+From: James Le Cuirot <chewi@gentoo.org>
+Date: Wed, 30 Apr 2025 23:28:59 +0100
+Subject: [PATCH] Fix CMake USE_SYSTEM_DUMB option
+
+This stopped working since pkg-config stopped being used elsewhere.
+---
+ thirdparty/CMakeLists.txt | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/thirdparty/CMakeLists.txt b/thirdparty/CMakeLists.txt
+index 56506035..67c3dab5 100644
+--- a/thirdparty/CMakeLists.txt
++++ b/thirdparty/CMakeLists.txt
+@@ -8,6 +8,7 @@ set(BZIP2_LIBRARIES ${BZIP2_LIBRARIES} PARENT_SCOPE)
+
+ option(USE_SYSTEM_DUMB "Use system DUMB library" OFF)
+ if(USE_SYSTEM_DUMB)
++ find_package(PkgConfig REQUIRED)
+ pkg_check_modules(DUMB REQUIRED IMPORTED_TARGET dumb>=1.0)
+ else()
+ file(GLOB_RECURSE DUMB_SOURCES dumb/*.c)
+--
+2.49.0
+
diff --git a/games-util/slade/files/slade-3.2.7-wayland.patch b/games-util/slade/files/slade-3.2.7-wayland.patch
new file mode 100644
index 000000000000..2fc47e414fb7
--- /dev/null
+++ b/games-util/slade/files/slade-3.2.7-wayland.patch
@@ -0,0 +1,41 @@
+SFML's render window only supports X11 under Linux, so SLADE crashes if GDK
+chooses the Wayland backend. This patch tells GDK to prefer the X11 backend.
+SLADE 3.3.0 will apparently not use the render window.
+
+diff --git a/src/Application/SLADEWxApp.cpp b/src/Application/SLADEWxApp.cpp
+index 3dadf241..de01e340 100644
+--- a/src/Application/SLADEWxApp.cpp
++++ b/src/Application/SLADEWxApp.cpp
+@@ -52,6 +52,16 @@
+ using namespace slade;
+
+
++#ifdef __WXGTK__
++#include <gdk/gdk.h>
++
++struct PreferX11 {
++ PreferX11() { gdk_set_allowed_backends("x11,*"); }
++};
++static PreferX11 preferx11;
++#endif
++
++
+ // -----------------------------------------------------------------------------
+ //
+ // Variables
+diff --git a/cmake/unix.cmake b/cmake/unix.cmake
+index a5d62c0d..18059156 100644
+--- a/cmake/unix.cmake
++++ b/cmake/unix.cmake
+@@ -158,7 +158,11 @@ add_executable(slade WIN32 MACOSX_BUNDLE
+ ${SLADE_HEADERS}
+ )
+
++find_package(PkgConfig REQUIRED)
++pkg_check_modules(GDK REQUIRED IMPORTED_TARGET gdk-3.0)
++
+ target_link_libraries(slade
++ PkgConfig::GDK
+ ${ZLIB_LIBRARY}
+ ${BZIP2_LIBRARIES}
+ ${EXTERNAL_LIBRARIES}
diff --git a/games-util/slade/metadata.xml b/games-util/slade/metadata.xml
new file mode 100644
index 000000000000..106fdf824f87
--- /dev/null
+++ b/games-util/slade/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>games@gentoo.org</email>
+ <name>Gentoo Games Project</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">sirjuddington/SLADE</remote-id>
+ </upstream>
+ <use>
+ <flag name="fluidsynth">Enable MIDI software synthesis using <pkg>media-sound/fluidsynth</pkg></flag>
+ </use>
+</pkgmetadata>
diff --git a/games-util/slade/slade-3.2.6-r1.ebuild b/games-util/slade/slade-3.2.6-r1.ebuild
new file mode 100644
index 000000000000..2cf0c331c4da
--- /dev/null
+++ b/games-util/slade/slade-3.2.6-r1.ebuild
@@ -0,0 +1,83 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+LUA_COMPAT=( lua5-{1,3,4} luajit )
+WX_GTK_VER="3.2-gtk3"
+
+inherit cmake lua-single wxwidgets xdg
+
+MY_PV="${PV/beta/b}"
+
+DESCRIPTION="Modern editor for Doom-engine based games and source ports"
+HOMEPAGE="https://slade.mancubus.net/"
+SRC_URI="https://github.com/sirjuddington/${PN^^}/archive/${MY_PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${PN^^}-${MY_PV}"
+
+LICENSE="GPL-2 MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="fluidsynth timidity webkit"
+REQUIRED_USE="${LUA_REQUIRED_USE}"
+
+# <libfmt-11 https://github.com/sirjuddington/SLADE/issues/1746
+DEPEND="
+ ${LUA_DEPS}
+ app-arch/bzip2:=
+ <dev-libs/libfmt-11:=
+ >=media-libs/dumb-2:=
+ media-libs/freeimage[jpeg,png,tiff]
+ media-libs/glew:0=
+ media-libs/libsfml:=
+ media-sound/mpg123
+ net-misc/curl
+ virtual/zlib:=
+ x11-libs/wxGTK:${WX_GTK_VER}=[curl(+),opengl,webkit?,X]
+ fluidsynth? ( media-sound/fluidsynth:= )
+"
+
+RDEPEND="
+ ${DEPEND}
+ timidity? ( media-sound/timidity++ )
+"
+
+BDEPEND="
+ app-arch/p7zip
+ virtual/pkgconfig
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-3.2.0_beta2-fluidsynth-driver.patch
+ "${FILESDIR}"/${PN}-3.2.2-wayland.patch
+ "${FILESDIR}"/${PN}-3.2.6-fix-sol.patch
+)
+
+src_prepare() {
+ cmake_src_prepare
+
+ # Delete bundled libraries just in case.
+ rm -r thirdparty/dumb/ thirdparty/fmt/ || die
+
+}
+
+src_configure() {
+ local luav=$(lua_get_version)
+
+ local mycmakeargs=(
+ -DLua_FIND_VERSION_MAJOR=$(ver_cut 1 "${luav}")
+ -DLua_FIND_VERSION_MINOR=$(ver_cut 2 "${luav}")
+ -DLua_FIND_VERSION_COUNT=2
+ -DLua_FIND_VERSION_EXACT=ON
+ -DNO_COTIRE=ON
+ -DNO_FLUIDSYNTH=$(usex fluidsynth OFF ON)
+ -DNO_WEBVIEW=$(usex webkit OFF ON)
+ -DUSE_SFML_RENDERWINDOW=ON
+ -DUSE_SYSTEM_DUMB=ON
+ -DUSE_SYSTEM_FMT=ON
+ -DWX_GTK3=ON
+ )
+
+ setup-wxwidgets
+ cmake_src_configure
+}
diff --git a/games-util/slade/slade-3.2.7-r1.ebuild b/games-util/slade/slade-3.2.7-r1.ebuild
new file mode 100644
index 000000000000..089081b9ac3b
--- /dev/null
+++ b/games-util/slade/slade-3.2.7-r1.ebuild
@@ -0,0 +1,86 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+LUA_COMPAT=( lua5-{1,3,4} luajit )
+WX_GTK_VER="3.2-gtk3"
+
+inherit cmake lua-single wxwidgets xdg
+
+MY_PV="${PV/beta/b}"
+
+DESCRIPTION="Modern editor for Doom-engine based games and source ports"
+HOMEPAGE="https://slade.mancubus.net/"
+SRC_URI="https://github.com/sirjuddington/${PN^^}/archive/${MY_PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${PN^^}-${MY_PV}"
+
+LICENSE="GPL-2 MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="fluidsynth timidity webkit"
+REQUIRED_USE="${LUA_REQUIRED_USE}"
+
+DEPEND="
+ ${LUA_DEPS}
+ app-arch/bzip2:=
+ dev-libs/libfmt:=
+ >=media-libs/dumb-2:=
+ media-libs/freeimage[jpeg,png,tiff]
+ media-libs/freetype:2
+ media-libs/ftgl
+ media-libs/libsfml:=
+ media-sound/mpg123
+ virtual/zlib:=
+ x11-libs/wxGTK:${WX_GTK_VER}=[curl(+),opengl,webkit?,X]
+ virtual/glu
+ fluidsynth? ( media-sound/fluidsynth:= )
+"
+
+RDEPEND="
+ ${DEPEND}
+ timidity? ( media-sound/timidity++ )
+"
+
+BDEPEND="
+ virtual/pkgconfig
+ || (
+ app-arch/zip
+ app-arch/p7zip
+ app-arch/7zip
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-3.2.0_beta2-fluidsynth-driver.patch
+ "${FILESDIR}"/${PN}-3.2.7-wayland.patch
+ "${FILESDIR}"/${PN}-3.2.7-pkg-config.patch
+)
+
+src_prepare() {
+ cmake_src_prepare
+
+ # Delete bundled libraries just in case.
+ rm -r thirdparty/dumb/ thirdparty/fmt/ || die
+
+}
+
+src_configure() {
+ local luav=$(lua_get_version)
+
+ local mycmakeargs=(
+ -DLua_FIND_VERSION_MAJOR=$(ver_cut 1 "${luav}")
+ -DLua_FIND_VERSION_MINOR=$(ver_cut 2 "${luav}")
+ -DLua_FIND_VERSION_COUNT=2
+ -DLua_FIND_VERSION_EXACT=ON
+ -DNO_FLUIDSYNTH=$(usex fluidsynth OFF ON)
+ -DNO_WEBVIEW=$(usex webkit OFF ON)
+ -DUSE_SYSTEM_DUMB=ON
+ -DUSE_SYSTEM_FMT=ON
+ -DWX_GTK3=ON
+ -DZIPTOOL_7Z_EXECUTABLE=$(type -P 7z 7zz | head -n1)
+ )
+
+ setup-wxwidgets
+ cmake_src_configure
+}
diff --git a/games-util/steam-launcher/Manifest b/games-util/steam-launcher/Manifest
new file mode 100644
index 000000000000..e8ac710e0244
--- /dev/null
+++ b/games-util/steam-launcher/Manifest
@@ -0,0 +1 @@
+DIST steam_1.0.0.85.tar.gz 20326694 BLAKE2B 6cc699e7b740693529845ef76d39570a977716735da46e21b681629aebf3e5ee80b09a3b47b1c84debb066ca43456f1c78509de7ddfe8e35df21903cceebde4f SHA512 81d404fcbd516fa1d984a991be3530855c0ded826ea8aca68c8cb5492e95d3d430cd7c556a9997a7c0780055a810239322181b1785e78f8d8fabe01c39fee2f7
diff --git a/games-util/steam-launcher/files/apply-steam-non-gtar.patch b/games-util/steam-launcher/files/apply-steam-non-gtar.patch
new file mode 100644
index 000000000000..481e79554a73
--- /dev/null
+++ b/games-util/steam-launcher/files/apply-steam-non-gtar.patch
@@ -0,0 +1,8 @@
+--- a/bin_steam.sh
++++ b/bin_steam.sh
+@@ -310,4 +310,4 @@
+ # go to the install directory and run the client
+ cd "$LAUNCHSTEAMDIR"
+
+-exec "$LAUNCHSTEAMDIR/$STEAMBOOTSTRAP" ${log_opened+-srt-logger-opened} "$@"
++exec patch -s -f -o - --dry-run "$LAUNCHSTEAMDIR/$STEAMBOOTSTRAP" "/usr/lib/${STEAMPACKAGE}/steam-non-gtar.patch" | exec -a "$LAUNCHSTEAMDIR/$STEAMBOOTSTRAP" bash -s -- ${log_opened+-srt-logger-opened} "$@"
diff --git a/games-util/steam-launcher/files/steam-non-gtar.patch b/games-util/steam-launcher/files/steam-non-gtar.patch
new file mode 100644
index 000000000000..c493e99a734f
--- /dev/null
+++ b/games-util/steam-launcher/files/steam-non-gtar.patch
@@ -0,0 +1,17 @@
+--- steam.sh.orig
++++ steam.sh
+@@ -342,11 +342,11 @@
+ BF=""
+ ;;
+ esac
+- if [ "${BF}" ]; then
++ if [ "${BF}" ] && type -P gtar &>/dev/null; then
+ if [ -n "${STEAM_ZENITY}" ]; then
+- tar --blocking-factor=${BF} --checkpoint=1 --checkpoint-action='exec=echo $TAR_CHECKPOINT' -xf "$2" -C "$3" | "${STEAM_ZENITY}" --progress --auto-close --no-cancel --width 400 --text="$1"
++ gtar --blocking-factor=${BF} --checkpoint=1 --checkpoint-action='exec=echo $TAR_CHECKPOINT' -xf "$2" -C "$3" | "${STEAM_ZENITY}" --progress --auto-close --no-cancel --width 400 --text="$1"
+ else
+- tar --blocking-factor=${BF} --checkpoint=1 --checkpoint-action='exec=echo $TAR_CHECKPOINT' -xf "$2" -C "$3"
++ gtar --blocking-factor=${BF} --checkpoint=1 --checkpoint-action='exec=echo $TAR_CHECKPOINT' -xf "$2" -C "$3"
+ fi
+ return ${PIPESTATUS[0]}
+ else
diff --git a/games-util/steam-launcher/files/steam-wrapper.sh b/games-util/steam-launcher/files/steam-wrapper.sh
new file mode 100644
index 000000000000..25936107e9e4
--- /dev/null
+++ b/games-util/steam-launcher/files/steam-wrapper.sh
@@ -0,0 +1,34 @@
+#!/bin/bash
+
+# Set a default STEAM_RUNTIME value.
+: ${STEAM_RUNTIME:=@@STEAM_RUNTIME@@}
+export STEAM_RUNTIME
+
+# Gentoo's lsb-release doesn't set this.
+export DISTRIB_RELEASE="@@PVR@@"
+
+# Add paths to occasionally needed libraries not found in /usr/lib.
+export LD_LIBRARY_PATH+="${LD_LIBRARY_PATH+:}@@GENTOO_LD_LIBRARY_PATH@@"
+
+# Preload the extest library when running in a Wayland session.
+[[ -f "@@GENTOO_X86_LIBDIR@@/libextest.so" && ${XDG_SESSION_TYPE} == wayland ]] &&
+ export LD_PRELOAD+="${LD_PRELOAD+:}@@GENTOO_X86_LIBDIR@@/libextest.so"
+
+# Preload libstdc++ on default-libcxx systems to avoid crashes. Loading the
+# 64-bit library prevents Steam from working at all, so only load the 32-bit
+# multlib library. Pure 32-bit systems are untested and may not work.
+if grep -Fxqe --stdlib=libc++ /etc/clang/gentoo-runtimes.cfg 2>/dev/null; then
+ IFS=:
+ for GCC_LIB_DIR in $(gcc-config -L 2>/dev/null); do
+ [[ ${GCC_LIB_DIR} == */32 ]] || continue
+ export LD_PRELOAD+="${LD_PRELOAD+:}${GCC_LIB_DIR}/libstdc++.so"
+ done
+ unset IFS GCC_LIB_DIR
+fi
+
+# Steam renames LD_LIBRARY_PATH to SYSTEM_LD_LIBRARY_PATH and it then becomes
+# ineffective against games. We unfortunately therefore have to force the value
+# through via STEAM_RUNTIME_LIBRARY_PATH instead.
+export STEAM_RUNTIME_LIBRARY_PATH="${LD_LIBRARY_PATH}"
+
+. "${0%/*}"/../lib/steam/bin_steam.sh
diff --git a/games-util/steam-launcher/metadata.xml b/games-util/steam-launcher/metadata.xml
new file mode 100644
index 000000000000..1932a04d96de
--- /dev/null
+++ b/games-util/steam-launcher/metadata.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>chewi@gentoo.org</email>
+ <name>James Le Cuirot</name>
+ </maintainer>
+ <longdescription>
+ This ebuild installs common files for the Steam environment,
+ like bootstrap archive and icons, but not the client itself.
+ </longdescription>
+ <upstream>
+ <bugs-to>https://github.com/anyc/steam-overlay</bugs-to>
+ </upstream>
+ <use>
+ <flag name="desktop-portal">Enable desktop integration, e.g. for file pickers</flag>
+ <flag name="dialogs">Support additional dialogs before the client starts</flag>
+ <flag name="steamruntime">Use the official Steam runtime libraries</flag>
+ <flag name="steamvr">Enable SteamVR virtual reality support</flag>
+ <flag name="trayicon">Enable system tray icon</flag>
+ </use>
+</pkgmetadata>
diff --git a/games-util/steam-launcher/steam-launcher-1.0.0.85-r3.ebuild b/games-util/steam-launcher/steam-launcher-1.0.0.85-r3.ebuild
new file mode 100644
index 000000000000..58a138a31f12
--- /dev/null
+++ b/games-util/steam-launcher/steam-launcher-1.0.0.85-r3.ebuild
@@ -0,0 +1,232 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Please report bugs/suggestions on: https://github.com/anyc/steam-overlay
+# or come to #gentoo-games in Libera Chat IRC
+
+inherit desktop linux-info pax-utils prefix xdg
+
+DESCRIPTION="Installer, launcher and supplementary files for Valve's Steam client"
+HOMEPAGE="https://store.steampowered.com"
+SRC_URI="https://repo.steampowered.com/steam/archive/stable/steam_${PV}.tar.gz"
+S="${WORKDIR}/${PN}"
+
+LICENSE="ValveSteamLicense MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="+desktop-portal +dialogs +joystick +pulseaudio +steamruntime steamvr trayicon +udev video_cards_nvidia +vulkan wayland"
+RESTRICT="bindist mirror test"
+
+# This can help to determine the dependencies:
+# find ~/.steam/root/ -exec readelf -d {} + 2>/dev/null | grep -F NEEDED | sort -u | grep -F -v -f <(ls -1 ~/.steam/root/ubuntu12_32/)
+
+RDEPEND="
+ app-alternatives/tar
+ app-arch/xz-utils
+ app-shells/bash
+ media-libs/fontconfig[abi_x86_32]
+ sys-libs/libudev-compat[abi_x86_32]
+ sys-process/lsof
+ virtual/opengl[abi_x86_32]
+ virtual/ttf-fonts
+ x11-libs/libdrm[abi_x86_32]
+ !x11-misc/virtualgl[-abi_x86_32]
+
+ steamruntime? (
+ !sys-apps/dbus[abi_x86_32,-X]
+ !x11-libs/cairo[abi_x86_32,-X]
+ )
+
+ !steamruntime? (
+ >=app-accessibility/at-spi2-core-2.46.0:2[abi_x86_32]
+ app-arch/bzip2[abi_x86_32]
+ app-i18n/ibus
+ dev-libs/dbus-glib[abi_x86_32]
+ dev-libs/expat[abi_x86_32]
+ dev-libs/glib:2[abi_x86_32]
+ dev-libs/nspr[abi_x86_32]
+ dev-libs/nss[abi_x86_32]
+ games-util/esteam
+ media-libs/alsa-lib[abi_x86_32]
+ media-libs/freetype[abi_x86_32]
+ media-libs/libpng-compat:1.2
+ media-libs/libva:0/2[abi_x86_32]
+ media-libs/openal[abi_x86_32]
+ media-video/pipewire:0/0.4[abi_x86_32]
+ net-misc/curl[abi_x86_32]
+ net-misc/networkmanager[abi_x86_32]
+ net-print/cups
+ sys-apps/dbus[abi_x86_32,X]
+ virtual/zlib[abi_x86_32]
+ virtual/libusb[abi_x86_32]
+ x11-libs/gdk-pixbuf[abi_x86_32]
+ x11-libs/gtk+:2[abi_x86_32]
+ x11-libs/libICE[abi_x86_32]
+ x11-libs/libSM[abi_x86_32]
+ x11-libs/libvdpau[abi_x86_32]
+ x11-libs/libX11[abi_x86_32]
+ x11-libs/libXcomposite[abi_x86_32]
+ x11-libs/libXcursor[abi_x86_32]
+ x11-libs/libXdamage[abi_x86_32]
+ x11-libs/libXext[abi_x86_32]
+ x11-libs/libXfixes[abi_x86_32]
+ x11-libs/libXi[abi_x86_32]
+ x11-libs/libXinerama[abi_x86_32]
+ x11-libs/libxkbcommon[abi_x86_32]
+ x11-libs/libXrandr[abi_x86_32]
+ x11-libs/libXrender[abi_x86_32]
+ x11-libs/libXScrnSaver[abi_x86_32]
+ x11-libs/libXtst[abi_x86_32]
+ x11-libs/pango[abi_x86_32]
+
+ dialogs? ( || (
+ >=gnome-extra/zenity-3
+ x11-terms/xterm
+ ) )
+
+ trayicon? ( dev-libs/libappindicator:2[abi_x86_32] )
+ )
+
+ desktop-portal? ( sys-apps/xdg-desktop-portal )
+ pulseaudio? ( media-libs/libpulse[abi_x86_32] )
+ !pulseaudio? ( media-sound/apulse[abi_x86_32] )
+ steamvr? ( sys-apps/usbutils )
+ vulkan? ( media-libs/vulkan-loader[abi_x86_32,wayland?,X] )
+
+ !video_cards_nvidia? (
+ media-libs/mesa[abi_x86_32,opengl,X]
+ )
+ video_cards_nvidia? (
+ x11-drivers/nvidia-drivers[abi_x86_32,X]
+ vulkan? ( media-libs/vulkan-layers[abi_x86_32,wayland?,X] )
+ )
+
+ joystick? (
+ udev? ( games-util/game-device-udev-rules )
+ wayland? ( || (
+ x11-libs/extest[abi_x86_32]
+ >=x11-base/xwayland-23.2.1[libei(+)]
+ ) )
+ )
+
+ >=sys-devel/gcc-4.6.0[multilib]
+ >=sys-libs/glibc-2.15[multilib]
+"
+
+PATCHES=(
+ "${FILESDIR}"/apply-steam-non-gtar.patch
+)
+
+pkg_setup() {
+ linux-info_pkg_setup
+
+ if ! { linux_config_exists && linux_chkconfig_present INPUT_UINPUT; }; then
+ ewarn "If you want to use Steam Input's virtual controller"
+ ewarn "implementation, please make sure CONFIG_INPUT_UINPUT"
+ ewarn "is enabled in your kernel config."
+
+ # Device Drivers
+ # -> Input device support
+ # -> Miscellaneous devices
+ # -> User level driver support
+ fi
+}
+
+lib_path_entries() {
+ while true; do
+ echo -n ${EPREFIX}/usr/\\\\\${LIB}/${1}
+ shift
+
+ if [[ -n ${1} ]]; then
+ echo -n :
+ else
+ break
+ fi
+ done
+}
+
+src_prepare() {
+ default
+
+ sed \
+ -e "s#@@PVR@@#${PVR}#g" \
+ -e "s#@@GENTOO_LD_LIBRARY_PATH@@#$(lib_path_entries debiancompat fltk)#g" \
+ -e "s#@@GENTOO_X86_LIBDIR@@#${EPREFIX}/usr/$(ABI=x86 get_libdir)#g" \
+ -e "s#@@STEAM_RUNTIME@@#$(usex steamruntime 1 0)#g" \
+ "${FILESDIR}"/steam-wrapper.sh > steam-wrapper.sh || die
+
+ # Still need EPREFIX in the sed replacements above because the
+ # regular expression used by hprefixify doesn't match there.
+ hprefixify bin_steam.sh steam-wrapper.sh
+
+ # Allow the desktop launcher to use wrappers from the PATH.
+ sed -i "s:/usr/bin/::g" steam.desktop || die
+}
+
+src_install() {
+ emake install-{icons,bootstrap} \
+ DESTDIR="${D}" PREFIX="${EPREFIX}/usr"
+
+ newbin steam-wrapper.sh steam
+ exeinto /usr/lib/steam
+ doexe bin_steam.sh
+ domenu steam.desktop
+
+ insinto /usr/lib/steam
+ doins "${FILESDIR}"/steam-non-gtar.patch
+
+ dodoc README debian/changelog
+ doman steam.6
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+
+ elog "Execute ${EPREFIX}/usr/bin/steam to download and install the actual"
+ elog "client into your home folder. After installation, the script"
+ elog "also starts the client from your home folder."
+ elog ""
+
+ ewarn "The Steam client and the games are _not_ controlled by Portage."
+ ewarn "Updates are handled by the client itself."
+ ewarn ""
+
+ if use steamruntime; then
+ elog "You have enabled the Steam runtime environment by default."
+ elog "Steam will use bundled libraries if they are missing from"
+ elog "your Gentoo system. Try disabling the runtime with the"
+ elog "steamruntime USE flag if you have issues."
+ elog ""
+ else
+ elog "You have disabled the Steam runtime environment by default."
+ elog "Steam will not use bundled libraries if they are missing from"
+ elog "your Gentoo system. Use games-util/esteam to install addiitonal"
+ elog "dependencies needed by your games. Try setting STEAM_RUNTIME=1"
+ elog "to temporarily enable the runtime if you have issues."
+ elog ""
+ ewarn "Notice: Valve only supports Steam with the runtime enabled!"
+ ewarn ""
+ fi
+
+ if ! use desktop-portal; then
+ ewarn "You have disabled desktop-portal, which is not supported."
+ ewarn "An xdg-desktop-portal backend is needed for file pickers"
+ ewarn "and other desktop components to work, e.g. when adding a"
+ ewarn "non-Steam game or a new library folder."
+ ewarn ""
+ fi
+
+ if ! has_version "gnome-extra/zenity"; then
+ ewarn "Valve does not provide a xterm fallback for all calls of zenity."
+ ewarn "Please install gnome-extra/zenity for full support."
+ ewarn ""
+ fi
+
+ if host-is-pax; then
+ elog "If you're using PAX, please see:"
+ elog "https://wiki.gentoo.org/wiki/Steam#Hardened_Gentoo"
+ elog ""
+ fi
+}
diff --git a/games-util/steamtinkerlaunch/Manifest b/games-util/steamtinkerlaunch/Manifest
new file mode 100644
index 000000000000..c8a63e086bcc
--- /dev/null
+++ b/games-util/steamtinkerlaunch/Manifest
@@ -0,0 +1 @@
+DIST steamtinkerlaunch-12.12.tar.gz 439377 BLAKE2B a59d61e7161460aaa73645af0ee8f179e23d41fee11a0fc1ff2f0637f53b02a2dd98832ff1e20312d85864c8fd160a55f40430df3dad9fe658471eec210b0be5 SHA512 4ba6a10e049069f0ef31f7d624bc41409777fe9f549a4281d4cc9276f37907b2b344daa2651e38ebebc6897bbd8ae33bfa194b01a920ad277a362dfae19beacd
diff --git a/games-util/steamtinkerlaunch/metadata.xml b/games-util/steamtinkerlaunch/metadata.xml
new file mode 100644
index 000000000000..f99697f7ccc2
--- /dev/null
+++ b/games-util/steamtinkerlaunch/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <name>Vincent Ahluwalia</name>
+ <email>vincentahluwalia@protonmail.com</email>
+ </maintainer>
+ <upstream>
+ <bugs-to>https://github.com/sonic2kk/steamtinkerlaunch/issues</bugs-to>
+ <changelog>https://github.com/sonic2kk/steamtinkerlaunch/wiki/Changelog</changelog>
+ <remote-id type="github">sonic2kk/steamtinkerlaunch</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/games-util/steamtinkerlaunch/steamtinkerlaunch-12.12.ebuild b/games-util/steamtinkerlaunch/steamtinkerlaunch-12.12.ebuild
new file mode 100644
index 000000000000..699152e22650
--- /dev/null
+++ b/games-util/steamtinkerlaunch/steamtinkerlaunch-12.12.ebuild
@@ -0,0 +1,85 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit optfeature xdg
+
+DESCRIPTION="Wrapper script for Steam custom launch options"
+HOMEPAGE="https://github.com/sonic2kk/steamtinkerlaunch"
+if [ "${PV}" == 9999 ] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/sonic2kk/${PN}"
+else
+ SRC_URI="https://github.com/sonic2kk/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64"
+fi
+LICENSE="GPL-3"
+SLOT="0"
+RESTRICT="test"
+
+BDEPEND="
+ app-alternatives/awk
+ app-shells/bash
+ dev-vcs/git
+ app-arch/unzip
+ net-misc/wget
+ x11-misc/xdotool
+ x11-apps/xprop
+ x11-apps/xrandr
+ || ( app-editors/vim-core dev-util/xxd )
+ x11-apps/xwininfo
+ >=gnome-extra/yad-7.2
+"
+
+src_prepare() {
+ default
+
+ sed -i \
+ -e 's|PREFIX := /usr|PREFIX := $(DESTDIR)/usr|' \
+ -e "s|share/doc/${PN}|share/doc/${PF}|" \
+ -e '/sed "s:^PREFIX=/d' \
+ Makefile
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+
+ optfeature_header "Optional programs for additional features:"
+ optfeature "running DOSBox games natively." games-engines/boxtron
+ optfeature "optimizing games with a configurable tool." games-util/gamemode
+ optfeature "running games in an insolated Xwayland instance." gui-wm/gamescope
+ optfeature "debugging programs from GNU." sys-devel/gdb
+ optfeature "Game Icons for Game Desktop Files." media-gfx/imagemagick
+ optfeature "JSON Parser utility. Used to get updated Proton versions for Vortex and other things.\
+ Highly recommended." app-misc/jq
+ optfeature "sending desktop notifications. A custom notifier may be defined." x11-libs/libnotify
+ optfeature "monitoring performance metrics such as FPS, temperatures, CPU/GPU load and more." games-util/mangohud
+ optfeature "game network activity monitoring." sys-apps/net-tools
+ optfeature "putting games and applications to sleep to free up resources." x11-misc/nyrna-bin
+ optfeature "extracting SpecialK archives." app-arch/p7zip
+ optfeature "extracting data from game executables." app-misc/pev
+ optfeature "backing up and restoring the steamuser folder of a Proton prefix." net-misc/rsync
+ optfeature "starting ScummVM games natively via Roberta." games-engines/scummvm
+ optfeature "writing game logs." dev-util/strace
+ optfeature "checking if a VR headset is present." sys-apps/usbutils
+ optfeature "vulkan post-processing (shader) layer similar to and \
+ mostly compatible with ReShade shaders." games-util/vkbasalt
+ optfeature "playing stereoscopic videos, regular videos \
+ and games in VR." media-gfx/vr-video-player
+ optfeature "running applications with system Wine and performing \
+ associated Wine configurations." app-emulation/wine-vanilla
+ optfeature "installing Winetricks workarounds/verbs on Wine/Proton prefixes." app-emulation/winetricks
+ optfeature "desktop environment application integration, such as \
+ opening default browsers or text editors." x11-misc/xdg-utils
+
+ ewarn ""
+ ewarn "This is the latest stable release of this package."
+ ewarn "It has LOTS of bugs and is currently UNSUPPORTED by upstream!"
+ ewarn "Users are STRONGLY encouraged to use the -9999 version of this package."
+
+}
+
+pkg_postrm() {
+ xdg_pkg_postrm
+}
diff --git a/games-util/steamtinkerlaunch/steamtinkerlaunch-9999.ebuild b/games-util/steamtinkerlaunch/steamtinkerlaunch-9999.ebuild
new file mode 100644
index 000000000000..49a714b05df6
--- /dev/null
+++ b/games-util/steamtinkerlaunch/steamtinkerlaunch-9999.ebuild
@@ -0,0 +1,79 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit optfeature xdg
+
+DESCRIPTION="Wrapper script for Steam custom launch options"
+HOMEPAGE="https://github.com/sonic2kk/steamtinkerlaunch"
+if [ "${PV}" == 9999 ] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/sonic2kk/${PN}"
+else
+ SRC_URI="https://github.com/sonic2kk/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64"
+fi
+LICENSE="GPL-3"
+SLOT="0"
+RESTRICT="test"
+
+BDEPEND="
+ app-alternatives/awk
+ app-shells/bash
+ dev-vcs/git
+ app-arch/unzip
+ net-misc/wget
+ x11-misc/xdotool
+ x11-apps/xprop
+ x11-apps/xrandr
+ || ( app-editors/vim-core dev-util/xxd )
+ x11-apps/xwininfo
+ >=gnome-extra/yad-7.2
+"
+
+src_prepare() {
+ default
+
+ sed -i \
+ -e 's|PREFIX := /usr|PREFIX := $(DESTDIR)/usr|' \
+ -e "s|share/doc/${PN}|share/doc/${PF}|" \
+ -e '/sed "s:^PREFIX=/d' \
+ Makefile
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+
+ optfeature_header "Optional programs for additional features:"
+ optfeature "running DOSBox games natively." games-engines/boxtron
+ optfeature "optimizing games with a configurable tool." games-util/gamemode
+ optfeature "running games in an insolated Xwayland instance." gui-wm/gamescope
+ optfeature "debugging programs from GNU." sys-devel/gdb
+ optfeature "Game Icons for Game Desktop Files." media-gfx/imagemagick
+ optfeature "JSON Parser utility. Used to get updated Proton versions for Vortex and other things.\
+ Highly recommended." app-misc/jq
+ optfeature "sending desktop notifications. A custom notifier may be defined." x11-libs/libnotify
+ optfeature "monitoring performance metrics such as FPS, temperatures, CPU/GPU load and more." games-util/mangohud
+ optfeature "game network activity monitoring." sys-apps/net-tools
+ optfeature "putting games and applications to sleep to free up resources." x11-misc/nyrna-bin
+ optfeature "extracting SpecialK archives." app-arch/p7zip
+ optfeature "extracting data from game executables." app-misc/pev
+ optfeature "backing up and restoring the steamuser folder of a Proton prefix." net-misc/rsync
+ optfeature "starting ScummVM games natively via Roberta." games-engines/scummvm
+ optfeature "writing game logs." dev-util/strace
+ optfeature "checking if a VR headset is present." sys-apps/usbutils
+ optfeature "Vulkan post-processing (shader) layer similar to and \
+ mostly compatible with ReShade shaders." games-util/vkbasalt
+ optfeature "playing stereoscopic videos, regular videos \
+ and games in VR." media-gfx/vr-video-player
+ optfeature "running applications with system Wine and performing \
+ associated Wine configurations." app-emulation/wine-vanilla
+ optfeature "installing Winetricks workarounds/verbs on Wine/Proton prefixes." app-emulation/winetricks
+ optfeature "Desktop environment application integration, such as \
+ opening default browsers or text editors." x11-misc/xdg-utils
+}
+
+pkg_postrm() {
+ xdg_pkg_postrm
+}
diff --git a/games-util/ucon64/Manifest b/games-util/ucon64/Manifest
new file mode 100644
index 000000000000..d31bb6ad971d
--- /dev/null
+++ b/games-util/ucon64/Manifest
@@ -0,0 +1 @@
+DIST ucon64-2.2.2-src.tar.gz 1481087 BLAKE2B 3ae3d09f4ea186d4e64d712bf0e3036ca79b7e87ba9a9b165fdcee2f0e24ac1dd00a5da9653a404850e8bc1f85cd6b26e0d03615e60090709d9b792c3db07e8e SHA512 21e403e6de64c0a76de32032fbafea75f53a96b88b343220cdc8d62ef3bdec252764cacb9bbf98a910477ba451bc05aee8c9f91024b9e5d3149f7ead20d426b5
diff --git a/games-util/ucon64/files/ucon64-2.2.2-respect-flags.patch b/games-util/ucon64/files/ucon64-2.2.2-respect-flags.patch
new file mode 100644
index 000000000000..9e772fe6c76a
--- /dev/null
+++ b/games-util/ucon64/files/ucon64-2.2.2-respect-flags.patch
@@ -0,0 +1,29 @@
+--- a/Makefile
++++ b/Makefile
+@@ -13,3 +13,3 @@
+
+-CFLAGS+=-I. -Wall -W -Wno-implicit-fallthrough -O3 -fsigned-char
++CFLAGS+=-I. -Wall -W -Wno-implicit-fallthrough -fsigned-char
+ ifneq ($(findstring clang,$(CC)),clang)
+@@ -21,3 +21,2 @@
+ # ld: warning: option -s is obsolete and being ignored
+-LDFLAGS+=-s
+ endif
+--- a/backup/libcd64/Makefile
++++ b/backup/libcd64/Makefile
+@@ -1,3 +1,2 @@
+ ifeq ($(CC),cc)
+-CC=gcc
+ endif
+@@ -12,5 +11,3 @@
+ else
+-CFLAGS+=-O3 -funroll-loops
+ ifneq ($(findstring clang,$(CC)),clang)
+-CFLAGS+=-fexpensive-optimizations
+ endif
+--- a/libdiscmage/Makefile.in
++++ b/libdiscmage/Makefile.in
+@@ -37,3 +37,2 @@
+ # /usr/bin/libtool: -static not specified, -s invalid
+-LDFLAGS+=-s
+ endif
diff --git a/games-util/ucon64/metadata.xml b/games-util/ucon64/metadata.xml
new file mode 100644
index 000000000000..4eb99059efd0
--- /dev/null
+++ b/games-util/ucon64/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>games@gentoo.org</email>
+ <name>Gentoo Games Project</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="sourceforge">ucon64</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/games-util/ucon64/ucon64-2.2.2.ebuild b/games-util/ucon64/ucon64-2.2.2.ebuild
new file mode 100644
index 000000000000..a7bd5584d6af
--- /dev/null
+++ b/games-util/ucon64/ucon64-2.2.2.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs
+
+DESCRIPTION="The backup tool and wonderful emulator's Swiss Army knife program"
+HOMEPAGE="https://ucon64.sourceforge.net/"
+SRC_URI="https://downloads.sourceforge.net/ucon64/${P}-src.tar.gz"
+S="${WORKDIR}/${P}-src/src"
+
+LICENSE="GPL-2+ LGPL-2.1+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="debug usb zlib"
+
+RDEPEND="
+ usb? ( virtual/libusb:0 )
+ zlib? ( virtual/zlib:= )"
+DEPEND="${RDEPEND}"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-respect-flags.patch
+)
+
+src_prepare() {
+ default
+
+ sed "/discmage.so/s|.* \"|\"${EPREFIX}/usr/$(get_libdir)/${PN}/|" \
+ -i ucon64_misc.c || die
+}
+
+src_configure() {
+ local econfargs=(
+ $(use_enable debug)
+ $(use_with usb libusb)
+ $(use_with zlib)
+ --enable-ppdev
+ --with-libcd64
+ --with-libdiscmage
+ )
+ econf "${econfargs[@]}"
+
+ tc-export AR CC LD
+}
+
+src_install() {
+ dobin ucon64
+
+ exeinto /usr/$(get_libdir)/${PN}
+ doexe libdiscmage/discmage.so
+
+ docinto html
+ dodoc -r ../images ../{changes,developers,faq,hardware,readme}.html
+}
+
+pkg_postinst() {
+ if [[ ! ${REPLACING_VERSIONS} ]]; then
+ elog "Be sure to check ~/.ucon64rc for some options after"
+ elog "you've run uCON64 for the first time."
+ fi
+}
diff --git a/games-util/umodpack/Manifest b/games-util/umodpack/Manifest
new file mode 100644
index 000000000000..065f47cd4961
--- /dev/null
+++ b/games-util/umodpack/Manifest
@@ -0,0 +1 @@
+DIST umodpack-0.5b16-allinone.tar.gz 3605080 BLAKE2B 718208835f318c85305f266a23f9fa5c2966031924d4d4e3a5cdee649afaee64ed5ac753e630ef6783a49581b932a44d8b0dafa3e97603eb1706190f3c7e10d5 SHA512 3678507c7aec30043f50f5519935e2d5eb7471b5e0692ba8b27c506bdd7a067fdb055e6731a6bffb04bb3008020c889f3486624a1466a77e0eab3e5139003ff0
diff --git a/games-util/umodpack/files/umodpack-fixes.patch b/games-util/umodpack/files/umodpack-fixes.patch
new file mode 100644
index 000000000000..13bcad6c9ea9
--- /dev/null
+++ b/games-util/umodpack/files/umodpack-fixes.patch
@@ -0,0 +1,138 @@
+diff -Naur a/Config-Ini-1.06/test.pl b/Config-Ini-1.06/test.pl
+--- a/Config-Ini-1.06/test.pl 2020-04-05 21:08:14.033277147 +0100
++++ b/Config-Ini-1.06/test.pl 2020-04-05 21:08:04.576074986 +0100
+@@ -11,9 +11,9 @@
+
+ ######################### End of black magic.
+
+-use POSIX qw(tmpnam);
+-do { $tmpfile = tmpnam() } until open TMPFILE, ">$tmpfile";
+-print TMPFILE <<EOT;
++use File::Temp qw(tempfile);
++( $tmpfh, $tmpfile ) = tempfile(UNLINK => 0);
++print $tmpfh <<EOT;
+ [Setup]
+ MasterProduct=UnrealTournament
+ Group=UnrealTournament
+@@ -56,7 +56,7 @@
+ ServerActors = IpServer.UdpServerUplinkMaster\\
+ ServerAddress=master.mplayer.com MasterServerPort = 27900
+ EOT
+-close TMPFILE;
++close $tmpfh;
+
+ # constructor
+ $ini = new Config::Ini($tmpfile);
+@@ -165,11 +165,11 @@
+
+ # save function
+ $ini->save;
+-open TMPFILE, "<$tmpfile";
++open $tmpfh, "<$tmpfile";
+ undef $/;
+-$wholefile = <TMPFILE>;
++$wholefile = <$tmpfh>;
+ $/ = "\n";
+-close TMPFILE;
++close $tmpfh;
+ $shouldbe = <<EOT;
+ [Setup]
+ MasterProduct=UnrealTournament
+@@ -232,7 +232,7 @@
+ print "ok 17\n";
+ } else { print "not ok 17\n"; }
+
+-do { $tmpfile = tmpnam() } until open TMPFILE, ">$tmpfile";
++( $tmpfh, $tmpfile ) = tempfile(UNLINK => 0);
+ $ini->save($tmpfile);
+
+ # test decoder
+@@ -254,8 +254,8 @@
+ unlink $tmpfile;
+
+ # test comment delimiter
+-do { $tmpfile = tmpnam() } until open TMPFILE, ">$tmpfile";
+-print TMPFILE <<EOT;
++( $tmpfh, $tmpfile ) = tempfile(UNLINK => 0);
++print $tmpfh <<EOT;
+ [Options]
+ Configured=1
+ GSversion=550
+@@ -272,7 +272,7 @@
+ [DEQData]
+ Winlist=t123;218 praivi;215 ptsk;209
+ EOT
+-close TMPFILE;
++close $tmpfh;
+ undef $ini;
+ $ini = new Config::Ini($tmpfile, -commentdelim => '#');
+
+diff -Naur a/Makefile.PL b/Makefile.PL
+--- a/Makefile.PL 2001-01-18 16:20:37.000000000 +0000
++++ b/Makefile.PL 2020-04-05 21:08:32.335668386 +0100
+@@ -11,7 +11,6 @@
+ 'PREREQ_PM' => {
+ 'Config::Ini' => 1.06,
+ 'Archive::Zip' => 0.07,
+- 'Tk' => 800.020,
+ },
+- 'EXE_FILES' => [qw(umod xumod)],
++ 'EXE_FILES' => [qw(umod)],
+ );
+diff -Naur a/umod b/umod
+--- a/umod 2020-04-05 21:08:14.033277147 +0100
++++ b/umod 2020-04-05 21:08:04.576074986 +0100
+@@ -17,7 +17,8 @@
+ use FileHandle;
+ use File::Find;
+ use Getopt::Long;
+-use POSIX qw(tmpnam SEEK_END);
++use POSIX qw(SEEK_END);
++use File::Temp qw(tempfile);
+ use strict;
+
+ =pod
+@@ -520,7 +521,7 @@
+ if( $filename =~ /\.zip$/i ) {
+
+ my( $tmpFile, $fh );
+- do { $tmpFile = tmpnam(); } until $fh = new FileHandle( $tmpFile, 'w' );
++ ( $fh, $tmpFile ) = tempfile(UNLINK => 0);
+
+ my( $zipFile ) = new Archive::Zip;
+ if( $zipFile->read( $filename ) != AZ_OK ) {
+diff -Naur a/Umod.pm b/Umod.pm
+--- a/Umod.pm 2020-04-05 21:08:14.033277147 +0100
++++ b/Umod.pm 2020-04-05 21:08:04.576074986 +0100
+@@ -400,22 +400,22 @@
+ if( $ini->exists( ['Setup', 'Requires'] ) ) {
+ foreach my $requirement ( $ini->get( ['Setup', 'Requires'],
+ -mapping => 'multiple' ) ) {
+- my( %hash );
+- %hash->{product} = $ini->get( [$requirement, 'Product'],
++ my( $hash );
++ $hash->{product} = $ini->get( [$requirement, 'Product'],
+ -mapping => 'single' );
+- %hash->{version} = $ini->get( [$requirement, 'Version'],
++ $hash->{version} = $ini->get( [$requirement, 'Version'],
+ -mapping => 'single' );
+- %hash->{localproduct} = $ini->get( [$requirement, 'LocalProduct'],
++ $hash->{localproduct} = $ini->get( [$requirement, 'LocalProduct'],
+ -mapping => 'single' );
+- %hash->{producturl} = $ini->get( [$requirement, 'ProductURL'],
++ $hash->{producturl} = $ini->get( [$requirement, 'ProductURL'],
+ -mapping => 'single' );
+- %hash->{versionurl} = $ini->get( [$requirement, 'VersionURL'],
++ $hash->{versionurl} = $ini->get( [$requirement, 'VersionURL'],
+ -mapping => 'single' );
+- %hash->{developer} = $ini->get( [$requirement, 'Developer'],
++ $hash->{developer} = $ini->get( [$requirement, 'Developer'],
+ -mapping => 'single' );
+- %hash->{developerurl} = $ini->get( [$requirement, 'DeveloperURL'],
++ $hash->{developerurl} = $ini->get( [$requirement, 'DeveloperURL'],
+ -mapping => 'single' );
+- push( @requirements, \%hash );
++ push( @requirements, \$hash );
+ }
+ }
+
diff --git a/games-util/umodpack/metadata.xml b/games-util/umodpack/metadata.xml
new file mode 100644
index 000000000000..1c3ba213c494
--- /dev/null
+++ b/games-util/umodpack/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer type="project">
+ <email>games@gentoo.org</email>
+ <name>Gentoo Games Project</name>
+</maintainer>
+</pkgmetadata>
diff --git a/games-util/umodpack/umodpack-0.5_beta16-r3.ebuild b/games-util/umodpack/umodpack-0.5_beta16-r3.ebuild
new file mode 100644
index 000000000000..d87d9347c4f7
--- /dev/null
+++ b/games-util/umodpack/umodpack-0.5_beta16-r3.ebuild
@@ -0,0 +1,56 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit perl-module toolchain-funcs
+
+MY_P="${P/_beta/b}"
+DESCRIPTION="Portable (un)packer for Unreal Tournament's Umod files"
+HOMEPAGE="http://www.oldunreal.com/wiki/index.php?title=UmodPack"
+SRC_URI="mirror://gentoo/${MY_P}-allinone.tar.gz"
+
+LICENSE="Artistic"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+DEPEND="virtual/perl-IO-Compress
+ dev-perl/Archive-Zip
+ dev-perl/Tie-IxHash"
+
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}/${MY_P}"
+PATCHES=( "${FILESDIR}"/${PN}-fixes.patch )
+DIST_TEST="do"
+
+src_prepare() {
+ default
+
+ # Remove bundled Perl modules.
+ rm -rf {Archive-Zip,Compress-Zlib,Tie-IxHash,Tk}* || die
+}
+
+src_compile() {
+ perl-module_src_compile
+
+ cd umr-* || die
+ emake DEBUG=0 CC="$(tc-getCC)" CFLAGS="${CFLAGS}"
+}
+
+src_test() {
+ local line
+ perl-module_src_test | while read line; do
+ cat <<< "${line}"
+ [[ ${line} =~ ^not\ ok\ [0-9] ]] && die "test failed"
+ done
+}
+
+src_install() {
+ perl-module_src_install
+
+ cd umr-* || die
+ dobin umr
+ newdoc README README-umr
+ newdoc TODO TODO-umr
+}
diff --git a/games-util/umu-launcher/Manifest b/games-util/umu-launcher/Manifest
new file mode 100644
index 000000000000..982ae25d409b
--- /dev/null
+++ b/games-util/umu-launcher/Manifest
@@ -0,0 +1,43 @@
+DIST base16ct-1.0.0.crate 10594 BLAKE2B 934c1326d54f5f2b76258f752a70c6cee56d99c63eaf22a4ef65ba7cfe609c14b7df2d89f62d8bcba5b8987b08b7ecca7ed4c472d1223bfd45a0cae4c6ad2c9e SHA512 b1b4d8470252bb1e185dbe3643a714d543a53809649f133359b1da19de05f84184f905502e350131872e8497ebe9d6b0b376eecb9e836c1deb775331c9389586
+DIST base64ct-1.6.0.crate 28870 BLAKE2B 60fbd9958f2519f293db2cd86add5160b51ff4f98718591b3e65d866e8bb176670ceecd5f6e365ff3ff488bf813860bf65d375a2159dd28b25e276e027303c4a SHA512 e3a267dce49257b6990d8d0842299d75b49a9af635082dfee25e314f5ab9067b339c877a4c7b012a1eaf9a84a7f8ddf0173c6f9d8695be81b8b4db03df66c92c
+DIST block-buffer-0.10.4.crate 10538 BLAKE2B d819c4f9c4be85868e8b105fb7e479d2e58d3ed85c3339bd677a3e111f85cb1ff624a54d7802ab79a6e1d9221115f66388568340480fe83eae1cb448f19f5b11 SHA512 b7d436d8e627e16e6ddc300ee8f706a6cef28ff6f09eff848eedee46f84bdcd03601303c92ab8996042e55922866a59259948177c0a4496eed723523e77f6fdb
+DIST cfg-if-1.0.0.crate 7934 BLAKE2B e99a5589c11d79d77a4537b34ce0a45d37b981c123b79b807cea836c89fc3926d693458893baca2882448d3d44e3f64e06141f6d916b748daa10b8cc1ae16d1b SHA512 0fb16a8882fd30e86b62c5143b1cb18ab564e84e75bd1f28fd12f24ffdc4a42e0d2e012a99abb606c12efe3c11061ff5bf8e24ab053e550ae083f7d90f6576ff
+DIST cipher-0.4.4.crate 19073 BLAKE2B 144c45c1bdc5f7aef7f4fc63b6dd85955c453537567d1f1074e436e50d0d61f8413973cf3da207a48f1560ea92f2280fc5880569c78a1dd66bf97fd1d88ccde7 SHA512 1856d8b08bc3dbd2fa5c8b97e9eae43323c7aa19203ef3e80bb49cf15b5ddc832acb7b97121a52032656353e764f1f722200b638f7c28975fec1b5c9dc908846
+DIST cpufeatures-0.2.16.crate 13405 BLAKE2B 06d061cb2577057bd2afbc8cd6783488595701dbc46772533645d86aed71ba8b20905625b897840c90aaebb41360a286935824ca49bdebc0763a81df4bd64402 SHA512 97707ae1b533ecd3a6fe412a22fb70cf4ac278c2d7dba407fa7dbebd110d06f88a7b3aee3fb7cf4b0b5ca88f6fecf390c4d3e5ccbd4d18a75fc2f93a647e7074
+DIST crypto-common-0.1.6.crate 8760 BLAKE2B f2422bfb89c15d47a8f91c8f6695e05eb56990a922e3cdf3d426044736f9932324c0d899a151a6df4d6683e6a6b21659c657d3988734014c02cd854bb4b924e7 SHA512 471dbc43f517089d2cfe0868e29510c6ca579875b3bb5d013c70796db969b609b6c4bb35c9a07b9a2917012dc5708b717d48e317a20038adbe7e7039bf3ada6f
+DIST curve25519-dalek-4.1.3.crate 306017 BLAKE2B 0c02e769ae48e6839e37e622fecb8b1987fec0653049775a80bc53827329b50d6b8aa8288f26af306208d4a2edb94ef92a64d955c395d980cdd2624c35f0cc26 SHA512 a1dd318f96b5f1851d82a6fbd29c44dc85d2f75da16e5bcf9d6ba3abecddf5e0eaee4a7415d8afc09923064fa41529ede2622f8a5fe0b3e6d4c88b418c41bb5d
+DIST curve25519-dalek-derive-0.1.1.crate 11723 BLAKE2B 442b0e4fc519f233d3fa46c17c2e25807374360bd6576e97b4ec33e6c2cc228bc917e4e395a1d70aa19be7bae57db36d2c09c4c7d505691b53d5a624db67eb6e SHA512 60861002465d2ba12a6089b31fcd7a75f7a6d77319159d5383f29e857adea8cb7e5c9c0ab6977c8cfa34b60e1012a1a5dec57f637e6a225e60269ff49c25b29b
+DIST digest-0.10.7.crate 19557 BLAKE2B 61e69d78cb8d6850ae26ad7ff2d52dd6dce820d8c621230def11cc0e8aa6d883a6e1b25340fb45748db52a8ccf3c8d36a8aa0c8cdf4d4eeb4e3f870d86abe09a SHA512 0dd8c012468ab9011b89413ea4d3647d95b1f683b020a0e6274c95ed5148638b56fef19cd9044c837ad53715b582b88eed277fe96e917c27c5d7abdbf7c3794c
+DIST ed25519-2.2.3.crate 17802 BLAKE2B aff96de3343d0cfba058203e90b6fd2c6cbd24531abca3a37977a1ed2f1eff0f4d4b6decbfcd9759617f381f88eed32d78397e6fa8d310b99b98d603b809de44 SHA512 3bfbfcd7f442dbb6d49860c530525bac60182bc57f6778e4ee097c7ace9c6a9d32ce430339ec15931070a538d3bb1e1f7b1cf572537ffb782bc5551fab49b2b2
+DIST ed25519-dalek-2.1.1.crate 85736 BLAKE2B 77dd4019467da3dfbe574ceb574849ea665ffd8dc91660f6a9b2596fb886400508bc632dac10a06461f35fce5400f27b89b1270514188ab488a952288309beda SHA512 a3e3838a3d4eef726b65a38196e66456f586b7e29cc328eb243bacc5a247b50f10ce76df6259aa102a08ca921f07d0395793088445f36de33f5dc1aae5223ed9
+DIST fiat-crypto-0.2.9.crate 495390 BLAKE2B 9201d3faedab8c73b606dce70d65d1138f5fb29e480d56b25cd66a8d2a150fb6d946c9e0ca98eaab0227490cea288b4c78917ccfb6693022d70d74dee94e6e78 SHA512 d916fe8ba3e82a365d20485b93c36994363059dead84c0266b7bfa0bcc74122d71b4a5c8689226c0e1007e7e01fc6f6c76e8687ae14fcc38f6f159287810f510
+DIST generic-array-0.14.7.crate 15950 BLAKE2B e74c785e3127095625951da192a018281ea9976aaeb11019f9088c3f27748c5fed1ef25d577150864486dc48b5138d6892e42f99979339f711a66fc70756c82b SHA512 363a7b04e4102f9ca63d429721c1ada6272be6bf0a2e97da681faf76381f73f0e3acb86623b9ce2dae441de9fda704088391779b9769ec02b3c8c9f9f35f897d
+DIST heck-0.5.0.crate 11517 BLAKE2B 5365ec43b2239a76b33a174f1a4292ece4147f9d382a68c6c60db78fdc8bad0afb1d51a65bcb25e96675372faa4ea37c318265030b0546ba51942f7c929e1835 SHA512 f044fc9c3d22466629fd8f772ec0555350fd611c0cfadca51d99a3d2f10e155f77c1091916c8a95a6b9b499f366c2e99a5fbf45b010f988bfb9b2501bf9f6a76
+DIST inout-0.1.3.crate 10743 BLAKE2B ac2fa5cadd98088ea3f6eb94ca46b3a9ceb6547ba49f0de311d86474d71024d1a087ce9b8d44ec808008db69146e9c81446bcfeebeb2fd74d2e8d0ad2c4975ed SHA512 1db5bc2bd87aae145b3b0be6669a9a722df2aac8f970fda210aaf945c372e641b941cee822917926dfa1ab8381c6e99cc7df4b18d2f4e2fbef17fdec36ed2beb
+DIST libc-0.2.169.crate 757901 BLAKE2B 1012cf93d8975aa20fc3f2332e253426ff66be6aed63ace5292cc8568ee419b0f1a4b5b39ddbb78d9c2dfd8d72eb0d068c98faa229ab55556da5e674429f0e97 SHA512 c4566330a7967efc211edf31a23647d1a33aa51fc25aa4e9337716748c8fd4be0ae63679220ff2cf6e892f37d03bc5264c55e8f082eb82574a6ec1fa8e5e45ce
+DIST once_cell-1.21.3.crate 34534 BLAKE2B 3578aaef305cad2fdffdc40c392775a3540bfab3f3aeafd22466d9507bf8346b9fcc200929d48525b051070c0aaa423ecbcaa12868b34dca007991effb224166 SHA512 32a87506c6f4598f3ca2c88556014ef2093d5db9a08602335e847caa537a866492fa74c894e7e1da2e4289a1d3dbffcb90a9e37a4a1453203832f434b8206990
+DIST pem-rfc7468-0.7.0.crate 24159 BLAKE2B 478d355dd970b9705ebcf44d74d61ae0694db6de16b2018548fda88546f53e35b965ff72d939def399a49fe97d3c8317a10385ace94b3d552797ec64ace1eb8f SHA512 f47d3b6c7c8bf4547916acc2a3d6671f6c1308e74641419c8f1df810d8bd940aba8f94d361e4cbef3eae3b7f11587cd3996a11be3be41d19111abfcde7a9272a
+DIST portable-atomic-1.10.0.crate 174760 BLAKE2B 9a05d6162c95f5140709cbd005c1997449fb6373700e8ed3966e3379898e95f3cbdb90b387f1c7deb3f1eb33125378852a7168d0d22b433813f6c082112b0365 SHA512 fb47ab53fe240d5b0824dd068c6dda473d3e71ae6f5dfccaa17262a8b6de0e1dde05d83975e53bbfcf43f10ef5c634fc024f94613937927ae93f1adad1dadb19
+DIST proc-macro2-1.0.92.crate 52353 BLAKE2B 9aa29fa6f1c56c0392a94a81b4c61953f4d185012cdca37e356817845535da79d7094bf43472ce63109ce479a2fd0cbef4d802afd61daf92c4db303bcac60e7e SHA512 e614f08acc0a7e97ef580479cf5b682378df1ca16f09bfb2296ebb3490a435229dea9d682c621c54ce57e8e1d3b7803eb8ff83c88bd02e07228dba6d02f14aee
+DIST pyo3-0.28.2.crate 1202843 BLAKE2B 18158e22631ab35348eab1f117f16b311932de832d910f37a71cf481ec04ced03c37baaf63f1c8afc7ecccef039fc8f9072cbe0dd5109a74e7fb9f6b3ddb18a4 SHA512 fd4a03eb1cdfa40c1ed67b588cd4da31c90972f95c669b20a1099fb9304cd9506337f674e0bc9efd1d22a453162aac79a36ab18ca97eaca3515d640e2e9b923f
+DIST pyo3-build-config-0.28.2.crate 35958 BLAKE2B 87163e11ff52061e11943f54e0fea1101ec6f877b4e6ecda33e32a19d1a8af3a6a83ab23d17f744fb0176e35f819669e931f88c55d611c8f7ea52eacd1c683a3 SHA512 f9b4863baffdf474ba9121edc19323d91565dd1411acabda03a307c8aae4969657167a80e197d4c8656e711e424053aced6a1de7978cedd38815304835fc5dbb
+DIST pyo3-ffi-0.28.2.crate 80837 BLAKE2B ac17690399e5cf84602a974860d84856d9489c7d94ec618cdb3b4c5bcee81d3767a727f22dca0a06d492ee28ecf24c84f48cd391a6d81229b1464fbb17654ac5 SHA512 f6b4fdea320922b81395e593fe135fd4b4f483250fe94d84019c97a3a9f98b6e2122134e09613021f194782038ffea1d32d3c65b1458e15ce3021d39fd582738
+DIST pyo3-macros-0.28.2.crate 8960 BLAKE2B 54fdb3f2d04c1f04d3cdb4d8422cd9fe1098df2f2740eaf61e2868e19f0a93c677486cef56576e39ba2010e426901c95846b7b81285858094ef1fdf48edc65b1 SHA512 7125a41bd5ceaa5c85a2ac5ed1bf07708cf95f58dd18a8ba9000a3139ebc06e90776b4254820410e940c80ed45f7c09165c8fe57d8f79069622849c6c0861bcb
+DIST pyo3-macros-backend-0.28.2.crate 87939 BLAKE2B c70e46d44c935e58957cd53a76a1e6d2e97ee1bdc39c926b1a23ce391785f212c30e150286fc78724e945679ac1ff04a10ec958b6d3dfe30c4acee795f6c2e63 SHA512 24203c47d91be9acc949cfc70ec8b4aa32e089275cf9b0061a9909f5e60895c56446692be0056e13cc4df8efc0698e0655626f9524241b54cd172d8a25e42f98
+DIST quote-1.0.38.crate 31252 BLAKE2B a3836efbe5c21dec70c684002b47b8fc7cef643c82ee903b537a48bc0707a28106c4b33d98e60ff81e04c7520f7404b1dc4d49446e8d91dded517e476c36e1c2 SHA512 530c47c5e6372b508bf5b2b88a138408a7afa5ef52c47280ed20eccf39f8e97dfc1e0a18c1bd5472efcdc49a7a1e69566333a0a1b4c0b4f0e11e6a7a85bfe8af
+DIST rand_core-0.6.4.crate 22666 BLAKE2B 8b6b66d50aade877f2779c006f8038db450f808c66d73d79efa66c4178dc03db06f12201bf0e7930181c4b0f4030c49b20cce6eb7839763cf2217cad9710789a SHA512 36c67eb845aa2ccca49d6d680f28d418229bbc5a050729e487fe6b9f9f384fdd7b8d67fc6508b90b79ffb3c26688e72feceb3ecae57d3d7f59338aeb62296f79
+DIST rustc_version-0.4.1.crate 12245 BLAKE2B 0ed627c560d88e5ade830cc5f72c62f6ba88be3e30d0f8db34761fcd0b284e5b2fc063c240149aabdfb12c8410ecdbe50cb10a3544500b5a020f95a31cd6709c SHA512 7aa8a487ca7411b6d23cae62f7568fa3474a7b1fd1589621071be3428a550ed3b7c4ad68277a8f86849e5900397d7d0e9d678f5d423742a045dc7c660fa6c598
+DIST semver-1.0.24.crate 31267 BLAKE2B 934f55d953ca52f6c11696889182e1e4c660a6eae3917b15b411d91a18b22c6a1178708caf95da93e70e6ea97c0762ed9154333d60bf0a08b156ca7b50c4077e SHA512 751bb04fb50abfbb92b2612e1d1097f612a1ceee1861852681d6ad67fe459d77a72898903b14f2f01d8185fbbc022c7471913785610c2a8e9d6530e48094869a
+DIST sha2-0.10.9.crate 29271 BLAKE2B 1d614e0efe085cdb40e05726578a9b4ca6bce93f6d3324f5dc0444cb37054912cdaf5d28d468eac2c0046030d920fced2ccd006953b80865ce8a2d43ef3daa81 SHA512 963adeeb4ed8b0e7fc19085e8721ea13e9b3aea5d115ca1b3dbca495ad14810c6450991dd3753807c293c415aaeb1054b8b4124c72e7090cd9e86f09fcbb4f80
+DIST signature-2.2.0.crate 15531 BLAKE2B c584d9ad52a1ab3cdc129c36cb2ed6dedc40a8d49f7294352a7df8121dc57de78268f15d9ff9ce076abf1dd3c56773daa26ed5ec39c83a600b6a377b51d4db37 SHA512 673a8f6229c795cc8f640fbfe02cd912b41c6359ca23c5ddeb1679f49784b84f109c6c45e6210201c9ca05e441c1be64ce6537e81ccd3589b37be6d0bf50dca7
+DIST ssh-cipher-0.2.0.crate 10843 BLAKE2B 72984af70ec6d814b688834dbac1337f9ecd0e00c5a2740f1d80464161589430382ed8960baaad98a41f37270395d5d87d1ac7b65630211104c887662786dd2b SHA512 b78e35365fd503418edb9e061c5338f94445b8465fef396ce2c0ce2a18ccf8203f81fb2890eb851798f9cbac0003948a0edead9b2df03a57135d6caae106c6bb
+DIST ssh-encoding-0.2.0.crate 13600 BLAKE2B d90150f5cc2399d0beb08742280a147e22e8dde23eafb4c36e1054bc156109e273926186f862c79b965c45239d5a7f71bc03f597817be7feeee143b56e50da79 SHA512 bdf0ea0691c140d0ba04db4e465dc2fac0ead483dfde6b998d87563e2dc3eff1b4553689df3bac1811b13c3866bfadc162d8bd807752f56d499690145a2a9662
+DIST ssh-key-0.6.7.crate 112921 BLAKE2B cae14b5a47e29407379bd78626a6275faa8a74a71f4801f6f262b0141166d46d64349f1d8875adea706ca566026c5a8654fcd8c62c5cbc043bcfe7f9c0cdd205 SHA512 352bea55c47b66eeb41e725cabd96bb6cda63c0e328b3a7966c5b4619f05e018bed38f100abbdd8864d66ed8473ebb76fc20ef2afac940e900c37456ddc5b699
+DIST subtle-2.6.1.crate 14562 BLAKE2B 3cf4940b7a01f04715da1057f6a92b1043a6b86ab2ee7f9fee0337b680ff781201d330409460f6f90b3f81bb5fd4b563e17c762c6e824ba3b0af99e4ae7d66bd SHA512 f5946ebd9bcb8776ee3446abcbf4afb3cca5d8bd847cadda87e864333ac7ded537a3efa773e9648adf20ce4add2c1da85172cff88c1e1a3a6cb051401b00c6bd
+DIST syn-2.0.96.crate 297497 BLAKE2B 68b62de28ad670572096a1d92ff8ed6fb55fee441f2d429edfeffcc48fa1d4f1cd39327540a4216d94a9763b84831956cb7e5c8ce89b81f1dc5767ea5734620d SHA512 ec2e352a5b0b2aa619774c01d7a7767674a44ffe91dea45d3379bf172d13039c3d37f264e98e26b20fe1d86db6d5190f220831c842f3316469d4ae73c2bfddec
+DIST target-lexicon-0.13.5.crate 26928 BLAKE2B f8c62cb91f68a635e6ce3fc254df9ce378b5e8f62c1147404c967484b9ed97fb33d7993b4671611db76566063e999d658d201f856f70196ec678d72cc758cf6d SHA512 956df27c01e1186c5356117ffd07810fc0b62fb919d5bfd215955ba85be00ef675212a3c0dc36679986be7b825442fec5c93c7643b7e1e19c04572e6463546fc
+DIST typenum-1.17.0.crate 42849 BLAKE2B a6d1162050679e2c4ab2467f3a77d301f6861882eb7c9749f31d047f383dd5bd2ed5846ad63eed99ccc04d6ac36cc697a305861e1d65880b4d2ef04ee0a79b94 SHA512 99773d5d9f850c0602db4bb67dd062b0ade6f086e155216f1bb2fb6569461ba7e1b7c2f2af81ea8833bc3bfcf3fe5033edecb7c438adae63f59d3e30cf63a508
+DIST umu-launcher-1.4.0.tar.gz 208548 BLAKE2B 4fd3ad97f65679ca0de66afbf479f4919d97a7fbe1933fc477c559822937a29b641854328190302936a909205e333ac8b17872921e5a7b2527e5b2488ac4b28d SHA512 623d1838ebc13f11dc50f05c79584435a6bb901d65ddece81f59b8b86a5e28ab734151cc288f597dac4a9e4a9c44f3ac4e647938c6bab7fdf219b12de86497c8
+DIST unicode-ident-1.0.14.crate 47547 BLAKE2B 30e0b6d7f3a967aaf5b9d91237008a60c3a8ded53bda901696e23cea3931dd71b01ddab866dca9e31e17c395d5f5a68f2a938655b693e894962568c2cff5ca15 SHA512 7c6dcd1724e8cfedc37546d1abd49088b633dad228097acc73d7b6cab255b223e830c541144e05a00388fd8ca8066f27c18792419cfa58ee9da4460a38d0bc0a
+DIST version_check-0.9.5.crate 15554 BLAKE2B 131e75cc287518831e142430e2a39b48e4275874f4473780d47a27552294097aa1cddb65c385583e1022478f940b495eb43c24a8b1617b8ac5a24af3340c0d72 SHA512 d11d5a2240ab0c67ea69db56561ce202201edeef9a8e5eda3d9ae7ab7bb5752d8f343fe7f6536d8383de8d55f9024efa84f66a0c21e69563b7a38c4a628014db
+DIST zeroize-1.8.1.crate 20029 BLAKE2B 092eba034cd35ec47290020e0c2b213177ff5dbe14ab9e7f0b4ef3cb1ecbc42fbec2b951414e26ab00bc65aaddc2c93eddd5a1963b27c6cd613ac71c65d5cc24 SHA512 dd40ebe98b98fd742608d4066b5ab66caba94b2e679428fcaff9fe547d8cd6ff2360dc85d671ee9183e32fb79cb554d00d6aef9eb8f3d8ad0ec92d0435aa4ebe
diff --git a/games-util/umu-launcher/files/umu-launcher-1.2.9-optional-delta.patch b/games-util/umu-launcher/files/umu-launcher-1.2.9-optional-delta.patch
new file mode 100644
index 000000000000..6d0f6d2b7675
--- /dev/null
+++ b/games-util/umu-launcher/files/umu-launcher-1.2.9-optional-delta.patch
@@ -0,0 +1,15 @@
+Make umu_delta optional.
+--- a/umu/umu_proton.py
++++ b/umu/umu_proton.py
+@@ -524,7 +524,10 @@ def _get_delta(
+ from cbor2 import CBORDecodeError, dumps, loads # noqa: PLC0415
+
+ # Ignore. umu_delta is relevant for sys packages when using *-Latest tokens
+- from .umu_delta import valid_key, valid_signature # noqa: PLC0415
++ try:
++ from .umu_delta import valid_key, valid_signature # noqa: PLC0415
++ except ImportError:
++ return None
+
+ try:
+ cbor = loads(patch)
diff --git a/games-util/umu-launcher/metadata.xml b/games-util/umu-launcher/metadata.xml
new file mode 100644
index 000000000000..8d7f9d9422a8
--- /dev/null
+++ b/games-util/umu-launcher/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>pastalian46@gmail.com</email>
+ <name>Takuya Wakazono</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">Open-Wine-Components/umu-launcher</remote-id>
+ </upstream>
+ <use>
+ <flag name="delta-update">Enable delta updates</flag>
+ </use>
+</pkgmetadata>
diff --git a/games-util/umu-launcher/umu-launcher-1.4.0.ebuild b/games-util/umu-launcher/umu-launcher-1.4.0.ebuild
new file mode 100644
index 000000000000..b3e002324a9c
--- /dev/null
+++ b/games-util/umu-launcher/umu-launcher-1.4.0.ebuild
@@ -0,0 +1,141 @@
+# Copyright 2025-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+CARGO_OPTIONAL=1
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{13..14} )
+RUST_MIN_VER="1.85.0"
+
+CRATES="
+ base16ct@1.0.0
+ base64ct@1.6.0
+ block-buffer@0.10.4
+ cfg-if@1.0.0
+ cipher@0.4.4
+ cpufeatures@0.2.16
+ crypto-common@0.1.6
+ curve25519-dalek-derive@0.1.1
+ curve25519-dalek@4.1.3
+ digest@0.10.7
+ ed25519-dalek@2.1.1
+ ed25519@2.2.3
+ fiat-crypto@0.2.9
+ generic-array@0.14.7
+ heck@0.5.0
+ inout@0.1.3
+ libc@0.2.169
+ once_cell@1.21.3
+ pem-rfc7468@0.7.0
+ portable-atomic@1.10.0
+ proc-macro2@1.0.92
+ pyo3-build-config@0.28.2
+ pyo3-ffi@0.28.2
+ pyo3-macros-backend@0.28.2
+ pyo3-macros@0.28.2
+ pyo3@0.28.2
+ quote@1.0.38
+ rand_core@0.6.4
+ rustc_version@0.4.1
+ semver@1.0.24
+ sha2@0.10.9
+ signature@2.2.0
+ ssh-cipher@0.2.0
+ ssh-encoding@0.2.0
+ ssh-key@0.6.7
+ subtle@2.6.1
+ syn@2.0.96
+ target-lexicon@0.13.5
+ typenum@1.17.0
+ unicode-ident@1.0.14
+ version_check@0.9.5
+ zeroize@1.8.1
+"
+
+inherit cargo distutils-r1
+
+DESCRIPTION="Unified launcher for Windows games on Linux"
+HOMEPAGE="https://github.com/Open-Wine-Components/umu-launcher"
+SRC_URI="
+ https://github.com/Open-Wine-Components/umu-launcher/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz
+ ${CARGO_CRATE_URIS}
+"
+
+LICENSE="GPL-3"
+# Dependent crate licenses
+LICENSE+=" Apache-2.0-with-LLVM-exceptions BSD MIT Unicode-3.0"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="delta-update"
+
+RDEPEND="
+ >=dev-python/python-xlib-0.33[${PYTHON_USEDEP}]
+ >=dev-python/urllib3-2.0.0[${PYTHON_USEDEP}]
+ delta-update? (
+ >=dev-python/cbor2-5.4.6[${PYTHON_USEDEP}]
+ >=dev-python/pyzstd-0.16.2[${PYTHON_USEDEP}]
+ >=dev-python/xxhash-3.2.0[${PYTHON_USEDEP}]
+ )
+"
+BDEPEND="
+ app-text/scdoc
+ delta-update? (
+ ${RUST_DEPEND}
+ )
+ test? (
+ >=dev-python/cbor2-5.4.6[${PYTHON_USEDEP}]
+ >=dev-python/pyzstd-0.16.2[${PYTHON_USEDEP}]
+ >=dev-python/xxhash-3.2.0[${PYTHON_USEDEP}]
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-1.2.9-optional-delta.patch"
+)
+
+QA_FLAGS_IGNORED=".*/site-packages/umu/.*so"
+
+EPYTEST_PLUGINS=()
+
+distutils_enable_tests pytest
+
+src_unpack() {
+ if use delta-update; then
+ cargo_src_unpack
+ else
+ default
+ fi
+}
+
+src_configure() {
+ distutils-r1_src_configure
+ ./configure.sh --prefix="${EPREFIX}"/usr || die
+}
+
+src_compile() {
+ distutils-r1_src_compile
+ emake umu-docs
+ if use delta-update; then
+ cargo_src_compile
+ cp "$(cargo_target_dir)"/{libumu_delta.so,umu_delta.so} || die
+ fi
+}
+
+python_test() {
+ epytest -o 'python_files=test_*.py *_test_*.py *_test.py'
+}
+
+python_install() {
+ distutils-r1_python_install
+ if use delta-update; then
+ python_moduleinto umu
+ python_domodule "$(cargo_target_dir)"/umu_delta.so
+ fi
+}
+
+src_install() {
+ distutils-r1_src_install
+ emake DESTDIR="${D}" umu-docs-install
+}
diff --git a/games-util/uz2unpack/Manifest b/games-util/uz2unpack/Manifest
new file mode 100644
index 000000000000..313541daeb7d
--- /dev/null
+++ b/games-util/uz2unpack/Manifest
@@ -0,0 +1 @@
+DIST uz2unpack-0.1.tar.bz2 1483 BLAKE2B b349aa9d04719364227da8c9074845527eff938805c27ab484e485d4ff8f8203320ed8e5772408b325dc10ea8662a37710cd8d62d51c498074f97b064b4ee800 SHA512 b3876a54dfd4729399dc768f9e096aa9eed3af9d7a0a5ad68777159244a7f3f4a7ff113d2da00ca9dba60c731e8abc3b88888aab3c0aa2b934decfee9312654b
diff --git a/games-util/uz2unpack/metadata.xml b/games-util/uz2unpack/metadata.xml
new file mode 100644
index 000000000000..1c3ba213c494
--- /dev/null
+++ b/games-util/uz2unpack/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer type="project">
+ <email>games@gentoo.org</email>
+ <name>Gentoo Games Project</name>
+</maintainer>
+</pkgmetadata>
diff --git a/games-util/uz2unpack/uz2unpack-0.1.ebuild b/games-util/uz2unpack/uz2unpack-0.1.ebuild
new file mode 100644
index 000000000000..e73d2137a326
--- /dev/null
+++ b/games-util/uz2unpack/uz2unpack-0.1.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit toolchain-funcs
+
+DESCRIPTION="UZ2 Decompressor for UT2003/UT2004"
+HOMEPAGE="http://icculus.org/cgi-bin/ezmlm/ezmlm-cgi?42:mss:1013:200406:kikgppboefcimdbadcdo"
+SRC_URI="mirror://gentoo/${P}.tar.bz2"
+
+LICENSE="public-domain"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+DEPEND="virtual/zlib:="
+RDEPEND="${DEPEND}"
+
+src_compile() {
+ emake CC="$(tc-getCC)" LDLIBS=-lz ${PN}
+}
+
+src_install() {
+ dobin ${PN}
+ dodoc README
+}
diff --git a/games-util/vispatch/Manifest b/games-util/vispatch/Manifest
new file mode 100644
index 000000000000..9290db18cf65
--- /dev/null
+++ b/games-util/vispatch/Manifest
@@ -0,0 +1 @@
+DIST vispatch-1.4.7.tgz 132222 BLAKE2B 9a8e0fc74a50ebda653b39eb23ad31c9f113238f1de8cce85626c0261d498855c24f8a9b7906966d642c95205af22664b6a08c077c8fe2a30394c456205f9f82 SHA512 572eb13cbf2c984c98b80abb98606b87ee1b45eac81d8077cb9d26968911f56be4b0fb9a744710532f955f3515ac929a05151c42e72fd7e9bae50052c57fae2d
diff --git a/games-util/vispatch/metadata.xml b/games-util/vispatch/metadata.xml
new file mode 100644
index 000000000000..b7a13e756009
--- /dev/null
+++ b/games-util/vispatch/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>games@gentoo.org</email>
+ <name>Gentoo Games Project</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="sourceforge">vispatch</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/games-util/vispatch/vispatch-1.4.7.ebuild b/games-util/vispatch/vispatch-1.4.7.ebuild
new file mode 100644
index 000000000000..fec01c71f88f
--- /dev/null
+++ b/games-util/vispatch/vispatch-1.4.7.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs
+
+DESCRIPTION="WaterVIS utility for GLQuake"
+HOMEPAGE="https://vispatch.sourceforge.net/"
+SRC_URI="https://downloads.sourceforge.net/vispatch/${P}.tgz"
+S="${WORKDIR}"/${P}/source
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+src_compile() {
+ emake \
+ CC="$(tc-getCC)" \
+ OPTIMIZATIONS="${CFLAGS}" \
+ LDFLAGS="${LDFLAGS}"
+}
+
+src_install() {
+ dobin ${PN}
+ dodoc ../${PN}.txt
+}
diff --git a/games-util/wiiload/Manifest b/games-util/wiiload/Manifest
new file mode 100644
index 000000000000..5ecf196a5e74
--- /dev/null
+++ b/games-util/wiiload/Manifest
@@ -0,0 +1 @@
+DIST wiiload-0.5.3.tar.gz 5528 BLAKE2B 907ce57af768c1b5dc4f35098a014a334eea19846b64e7f8f0385cc7477c254f06498a2975e28968e6dee91711dba8e71bed4d459b1f8aa0236aa4795fac0698 SHA512 58ec5e3a3b56f8f4822f29db3ea67f2b5d82a35ec0478ac2395f3ebbe51030f451b00b3bc97f534db5ab7613f40f8433aeef1778cf38682a9d7d790f276fc595
diff --git a/games-util/wiiload/files/wiiload-0.5.3-stdbool.patch b/games-util/wiiload/files/wiiload-0.5.3-stdbool.patch
new file mode 100644
index 000000000000..cff0049cef0d
--- /dev/null
+++ b/games-util/wiiload/files/wiiload-0.5.3-stdbool.patch
@@ -0,0 +1,23 @@
+Fix build with gcc 15
+https://bugs.gentoo.org/944172
+https://github.com/devkitPro/wiiload/pull/4
+
+--- a/source/main.c
++++ b/source/main.c
+@@ -28,6 +28,7 @@
+ #include <unistd.h>
+ #include <errno.h>
+ #include <libgen.h>
++#include <stdbool.h>
+ #ifndef _WIN32
+ #include <sys/socket.h>
+ #include <netinet/in.h>
+@@ -62,8 +63,6 @@ typedef signed short s16;
+ typedef signed int s32;
+ typedef signed long long s64;
+
+-typedef enum { false, true } bool;
+-
+ #ifndef __WIN32__
+ static const char *desc_export = "export";
+ #ifndef __APPLE__
diff --git a/games-util/wiiload/metadata.xml b/games-util/wiiload/metadata.xml
new file mode 100644
index 000000000000..1c3ba213c494
--- /dev/null
+++ b/games-util/wiiload/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer type="project">
+ <email>games@gentoo.org</email>
+ <name>Gentoo Games Project</name>
+</maintainer>
+</pkgmetadata>
diff --git a/games-util/wiiload/wiiload-0.5.3.ebuild b/games-util/wiiload/wiiload-0.5.3.ebuild
new file mode 100644
index 000000000000..29182df94c46
--- /dev/null
+++ b/games-util/wiiload/wiiload-0.5.3.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+DESCRIPTION="Load homebrew apps over the network to your Wii"
+HOMEPAGE="http://wiibrew.org/wiki/Wiiload https://github.com/devkitPro/wiiload"
+SRC_URI="https://github.com/devkitPro/wiiload/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="virtual/zlib:="
+DEPEND="${RDEPEND}"
+
+PATCHES=(
+ "${FILESDIR}/${P}-stdbool.patch"
+)
+
+src_prepare() {
+ default
+ eautoreconf
+}
diff --git a/games-util/wit/Manifest b/games-util/wit/Manifest
new file mode 100644
index 000000000000..460df286b66a
--- /dev/null
+++ b/games-util/wit/Manifest
@@ -0,0 +1 @@
+DIST wiimms-iso-tools.source-3.05a.txz 1279228 BLAKE2B af8c0fb938ad9a7f1aa784861bd155c0e2a43e5e94010130dc0e152a0cec0b67745734ab70d54307c7e6135a80bcdfe0f933878e5211c18bd13207576afa5f00 SHA512 7f964a76522e87149a44ff4c0571dafe5702d1d6fa0abb0ae08a9665cb5a3aa489ae608d098835e3da77541b58943747aba997db15f5756eb1e2909c27b12fe2
diff --git a/games-util/wit/files/wit-3.05a-makefile.patch b/games-util/wit/files/wit-3.05a-makefile.patch
new file mode 100644
index 000000000000..62b4930b1d89
--- /dev/null
+++ b/games-util/wit/files/wit-3.05a-makefile.patch
@@ -0,0 +1,266 @@
+From ecf6121592e9ffa0b2cd220a0de675b64b163000 Mon Sep 17 00:00:00 2001
+From: Eli Schwartz <eschwartz93@gmail.com>
+Date: Sun, 17 Mar 2024 18:12:43 -0400
+Subject: [PATCH] reroll patch to Makefile for system integration
+
+Don't link libdl into wfuse as it's unnecessary, use system bzip2, respect user
+CFLAGS, use pkgconfig to determine ncurses libs, and use verbose build output.
+---
+ Makefile | 82 ++++++++++++++++---------------------------
+ test-libwbfs/Makefile | 13 ++-----
+ 2 files changed, 32 insertions(+), 63 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index adaa48a..433578a 100644
+--- a/Makefile
++++ b/Makefile
+@@ -111,11 +111,6 @@ VERSION := $(VERSION_NUM)$(BETA_SUFFIX)
+ #-------------------------------------------------------------------------------
+ # compiler settings
+
+-PRE ?=
+-CC = $(PRE)gcc
+-CPP = $(PRE)g++
+-STRIP = $(PRE)strip
+-
+ #-------------------------------------------------------------------------------
+ # files
+
+@@ -171,7 +166,7 @@ endif
+ TOPT_wit := $(OPT_STATIC)
+ TOPT_wwt := $(OPT_STATIC)
+ TOPT_wdf := $(OPT_STATIC)
+-TOPT_wfuse := -lfuse -lpthread -ldl
++TOPT_wfuse := -lfuse -lpthread
+
+ #TOPT_ALL := $(TOPT_wit) $(TOPT_wwt) $(TOPT_wdf) $(TOPT_wfuse)
+
+@@ -206,8 +201,8 @@ else
+ endif
+
+ # lib summary
+-LIB_LIST += libbz2 lzma
+-LIB_OBJECTS += $(LIBBZ2_OBJ) $(LZMA_OBJ)
++LIB_LIST += lzma
++LIB_OBJECTS += $(LZMA_OBJ)
+ RM_FILES += $(foreach l,$(LIB_LIST),src/$(l)/*.{d,o})
+
+
+@@ -297,10 +292,10 @@ DEFINES1 += -D_7ZIP_ST=1 # disable 7zip multi threading
+ DEFINES1 += -D_LZMA_PROB32=1 # LZMA option
+ DEFINES = $(strip $(DEFINES1) $(MODE) $(XDEF))
+
+-CFLAGS += -std=gnu99 -fomit-frame-pointer -fno-strict-aliasing -funroll-loops
++CFLAGS += -std=gnu99 -fno-strict-aliasing
+ CFLAGS += -Wall -Wno-parentheses -Wno-unused-function
+ #CFLAGS += -O3 -Isrc/libwbfs -Isrc/lzma -Isrc -I$(UI) -I. -Iwork
+-CFLAGS += -O3 -Isrc/libwbfs -Isrc -I$(UI) -I. -Iwork
++CFLAGS += -Isrc/libwbfs -Isrc -I$(UI) -I. -Iwork
+
+ ifeq ($(SYSTEM_LINUX),1)
+ LIBS += -ltinfo
+@@ -313,8 +308,6 @@ endif
+
+ ifeq ($(SYSTEM),mac)
+ CFLAGS += -I/usr/local/include
+-else
+- LDFLAGS += -static-libgcc
+ endif
+
+ ifeq ($(shell expr $(GCC_VERSION) '>=' 7.0 ),1)
+@@ -334,7 +327,7 @@ LDFLAGS := $(strip $(LDFLAGS))
+ ifeq ($(HAVE_ZLIB),1)
+ LIBS += -lz
+ endif
+-LIBS += -lm -lncurses $(XLIBS)
++LIBS += -lm $(shell $(PKG_CONFIG) --libs ncurses) -lbz2 $(XLIBS)
+
+ ifeq ($(HAVE_SHA),1)
+ ifeq ($(SYSTEM_LINUX),1)
+@@ -402,60 +395,51 @@ default_rule: all
+ # general rules
+
+ $(ALL_TOOLS_X): %: %.o $(ALL_OBJECTS) $(TOBJ_ALL) Makefile | $(HELPER_TOOLS)
+- @printf "$(LOGFORMAT_TOOL)" tool "$@" "$(MODE) $(TOPT_$@) $(TOBJ_$@)"
+- @$(CC) $(CFLAGS) $(DEFINES) $(LDFLAGS) $@.o \
++ $(CC) $(CFLAGS) $(DEFINES) $(LDFLAGS) $@.o \
+ $(ALL_OBJECTS) $(TOBJ_$@) $(LIBS) $(TOPT_$@) -o $@
+- @if test -f $@.exe; then $(STRIP) $@.exe; else $(STRIP) $@; fi
+
+- @mkdir -p bin/$(SYSTEM2) bin/$(SYSTEM2)/debug
+- @if test -s $(MODE_FILE) && grep -Fq -e -DDEBUG $(MODE_FILE); \
++ mkdir -p bin/$(SYSTEM2) bin/$(SYSTEM2)/debug
++ if test -s $(MODE_FILE) && grep -Fq -e -DDEBUG $(MODE_FILE); \
+ then cp -p $@ bin/$(SYSTEM2)/debug/; \
+ else cp -p $@ bin/; cp -p $@ bin/$(SYSTEM2)/; fi
+
+ #--------------------------
+
+ $(HELPER_TOOLS): %: %.o $(ALL_OBJECTS) $(UI_TABS) Makefile
+- @printf "$(LOGFORMAT_TOOL)" helper "$@ $(TOBJ_$@)" "$(MODE)"
+- @$(CC) $(CFLAGS) $(DEFINES) $(LDFLAGS) $@.o \
++ $(CC) $(CFLAGS) $(DEFINES) $(LDFLAGS) $@.o \
+ $(ALL_OBJECTS) $(TOBJ_$@) $(LIBS) -o $@
+
+ #--------------------------
+
+ $(WDF_LINKS): wdf
+- @printf "$(LOGFORMAT_INST)" "link" "wdf -> $@" ""
+- @ln -f wdf "$@"
++ ln -f wdf "$@"
+
+ #--------------------------
+
+ $(UI_OBJECTS): %.o: %.c ui-%.c ui-%.h version.h Makefile
+- @printf "$(LOGFORMAT_CC)" +object "$@" "$(MODE)"
+- @$(CC) $(CFLAGS) $(DEPFLAGS) $(DEFINES) -c $< -o $@
++ $(CC) $(CFLAGS) $(DEPFLAGS) $(DEFINES) -c $< -o $@
+
+ #--------------------------
+
+ $(C_OBJECTS): %.o: %.c version.h Makefile $(TEXT_FILES)
+- @printf "$(LOGFORMAT_CC)" object "$@" "$(MODE)"
+- @$(CC) $(CFLAGS) $(DEPFLAGS) $(DEFINES) -c $< -o $@
++ $(CC) $(CFLAGS) $(DEPFLAGS) $(DEFINES) -c $< -o $@
+
+ #--------------------------
+
+ $(ASM_OBJECTS): %.o: %.S Makefile
+- @printf "$(LOGFORMAT_CC)" asm "$@" "$(MODE)"
+- @$(CC) $(CFLAGS) $(DEPFLAGS) $(DEFINES) -c $< -o $@
++ $(CC) $(CFLAGS) $(DEPFLAGS) $(DEFINES) -c $< -o $@
+
+ #--------------------------
+
+ $(SETUP_FILES): templates.sed $(SETUP_DIR)/$@
+- @printf "$(LOGFORMAT)" create "$@" ""
+- @chmod 775 $(GEN_TEMPLATE)
+- @$(GEN_TEMPLATE) $@
++ chmod 775 $(GEN_TEMPLATE)
++ $(GEN_TEMPLATE) $@
+
+ #--------------------------
+
+ $(TEXT_FILES): $(GEN_TEXT_FILE) $(TEXT_DIR)/$@
+- @printf "$(LOGFORMAT)" text "$@" ""
+- @chmod 775 $(GEN_TEXT_FILE)
+- @$(GEN_TEXT_FILE) $(TEXT_DIR) $@
++ chmod 775 $(GEN_TEXT_FILE)
++ $(GEN_TEXT_FILE) $(TEXT_DIR) $@
+
+ #--------------------------
+
+@@ -465,20 +449,17 @@ $(UI_FILES): gen-ui.c ui.h $(UI_TABS) | gen-ui
+
+ .PHONY : ui
+ ui : gen-ui
+- @printf "$(LOGFORMAT)" run gen-ui ""
+- @./gen-ui
++ ./gen-ui
+
+ #
+ ###############################################################################
+ # lib specific rules
+
+ $(LIBBZ2_OBJ): %.o: %.c Makefile
+- @printf "$(LOGFORMAT_CC)" object "$(subst src/libbz2/,,$@)" "$(MODE) [libbz2]"
+- @$(CC) $(CFLAGS) $(DEPFLAGS) $(BZIP2_FLAGS) $(DEFINES) -c $< -o $@
++ $(CC) $(CFLAGS) $(DEPFLAGS) $(BZIP2_FLAGS) $(DEFINES) -c $< -o $@
+
+ $(LZMA_OBJ): %.o: %.c Makefile
+- @printf "$(LOGFORMAT_CC)" object "$(subst src/lzma/,,$@)" "$(MODE) [lzma]"
+- @$(CC) $(CFLAGS) $(DEPFLAGS) $(LZMA_FLAGS) $(DEFINES) -c $< -o $@
++ $(CC) $(CFLAGS) $(DEPFLAGS) $(LZMA_FLAGS) $(DEFINES) -c $< -o $@
+
+ #
+ ###############################################################################
+@@ -670,9 +651,8 @@ doc: $(MAIN_TOOLS) templates.sed gen-doc
+
+ .PHONY : gen-doc
+ gen-doc:
+- @printf "$(LOGFORMAT)" create documentation ""
+- @chmod ug+x $(GEN_TEMPLATE)
+- @$(GEN_TEMPLATE)
++ chmod ug+x $(GEN_TEMPLATE)
++ $(GEN_TEMPLATE)
+
+ #
+ #--------------------------
+@@ -778,7 +758,7 @@ old:
+
+ .PHONY : predef
+ predef:
+- @gcc -E -dM none.c | sort
++ @$(CC) -E -dM none.c | sort
+
+ #
+ #--------------------------
+@@ -792,8 +772,7 @@ $(SUB_PROJECTS):
+ #--------------------------
+
+ templates.sed: Makefile
+- @printf "$(LOGFORMAT)" create templates.sed ""
+- @printf '%s\n' \
++ printf '%s\n' \
+ '/^~/ d;' \
+ 's|@.@@@|$(VERSION_NUM)|g;' \
+ 's|@@@@-@@-@@|$(DATE)|g;' \
+@@ -859,13 +838,12 @@ templates.sed: Makefile
+
+ .PHONY : test
+ test:
+- @printf "$(LOGFORMAT)" enable test "-> define -DTEST"
+- @rm -f *.o $(ALL_TOOLS_X)
+- @echo "-DTEST" >>$(MODE_FILE)
+- @sort $(MODE_FILE) | uniq > $(MODE_FILE).tmp
++ rm -f *.o $(ALL_TOOLS_X)
++ echo "-DTEST" >>$(MODE_FILE)
++ sort $(MODE_FILE) | uniq > $(MODE_FILE).tmp
+ # 2 steps to bypass a cygwin mv failure
+- @cp $(MODE_FILE).tmp $(MODE_FILE)
+- @rm -f $(MODE_FILE).tmp
++ cp $(MODE_FILE).tmp $(MODE_FILE)
++ rm -f $(MODE_FILE).tmp
+
+ #
+ #--------------------------
+diff --git a/test-libwbfs/Makefile b/test-libwbfs/Makefile
+index 6e937fc..9c0f0f8 100644
+--- a/test-libwbfs/Makefile
++++ b/test-libwbfs/Makefile
+@@ -7,11 +7,6 @@
+
+ SHELL = /bin/bash
+
+-PRE ?=
+-CC = $(PRE)gcc
+-CPP = $(PRE)g++
+-STRIP = $(PRE)strip
+-
+ #-------------------------------------------------------------------------------
+ # files
+
+@@ -46,18 +41,14 @@ VPATH += ../src/libwbfs
+ DEFINES = -DLARGE_FILES -D_FILE_OFFSET_BITS=64 $(XDEF)
+ DEFINES := $(strip $(DEFINES))
+
+-CFLAGS = -fomit-frame-pointer -fno-strict-aliasing
++CFLAGS += -fno-strict-aliasing
+ CFLAGS += -Wall -Wno-parentheses -Wno-unused-function
+-CFLAGS += -O3 -I../src/libwbfs -I.
++CFLAGS += -I../src/libwbfs -I.
+ CFLAGS += $(XFLAGS)
+ CFLAGS := $(strip $(CFLAGS))
+
+ DEPFLAGS += -MMD
+
+-LDFLAGS += -static-libgcc
+-#LDFLAGS += -static
+-LDFLAGS := $(strip $(LDFLAGS))
+-
+ LIBS += $(XLIBS)
+
+ #
+--
+2.43.2
+
diff --git a/games-util/wit/files/wit-3.05a-no-exec-stack.patch b/games-util/wit/files/wit-3.05a-no-exec-stack.patch
new file mode 100644
index 000000000000..db91b45cfcb1
--- /dev/null
+++ b/games-util/wit/files/wit-3.05a-no-exec-stack.patch
@@ -0,0 +1,9 @@
+--- wit-2.30a/src/crypto/ssl-asm.S
++++ wit-2.30a/src/crypto/ssl-asm.S
+@@ -37,3 +37,6 @@
+ #define WIT_INCLUDE_SSL_ASM
+ #include "ssl-asm.h"
+
++#if defined(__linux__) && defined(__ELF__)
++.section .note.GNU-stack,"",%progbits
++#endif
diff --git a/games-util/wit/metadata.xml b/games-util/wit/metadata.xml
new file mode 100644
index 000000000000..489b199370aa
--- /dev/null
+++ b/games-util/wit/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <!-- maintainer-needed -->
+ <use>
+ <flag name="fuse">Enable image mount support via fuse</flag>
+ </use>
+</pkgmetadata>
diff --git a/games-util/wit/wit-3.05a.ebuild b/games-util/wit/wit-3.05a.ebuild
new file mode 100644
index 000000000000..5e5e34b89d1d
--- /dev/null
+++ b/games-util/wit/wit-3.05a.ebuild
@@ -0,0 +1,56 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit flag-o-matic toolchain-funcs
+
+MY_P="wiimms-iso-tools.source-${PV}"
+
+DESCRIPTION="command line tools to manipulate Wii/GameCube ISO images and WBFS containers"
+HOMEPAGE="https://wit.wiimm.de/"
+SRC_URI="https://download.wiimm.de/source/wiimms-iso-tools/${MY_P}.txz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="+fuse +zlib"
+
+RDEPEND="
+ app-arch/bzip2:0=
+ dev-libs/openssl:=
+ fuse? ( sys-fs/fuse:0= )
+ zlib? ( virtual/zlib:= )"
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+S="${WORKDIR}/${MY_P}"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-makefile.patch
+ "${FILESDIR}"/${P}-no-exec-stack.patch
+)
+
+src_configure() {
+ # -Werror=lto-type-mismatch
+ # https://bugs.gentoo.org/859319
+ #
+ # After investigation, the build system also uses -fno-strict-aliasing
+ # so do not trust it with LTO either, even if the type-mismatch gets fixed.
+ filter-lto
+
+ export NO_FUSE=$(usex fuse 0 1)
+ export NO_ZLIB=$(usex zlib 0 1)
+
+ tc-export CC PKG_CONFIG
+}
+
+src_compile() {
+ emake INSTALL_PATH="${ED}"/usr
+ emake doc
+}
+
+src_install() {
+ default
+ dodoc doc/*.txt
+}
diff --git a/games-util/wxchtdecoder/Manifest b/games-util/wxchtdecoder/Manifest
new file mode 100644
index 000000000000..7ed64c4528fa
--- /dev/null
+++ b/games-util/wxchtdecoder/Manifest
@@ -0,0 +1 @@
+DIST wxchtdecoder-1.5a.tar.bz2 84088 BLAKE2B 1bff9a352a80d3f89b9963540e4a1a0ea79bffa8220c1c1a940068180a294a5518edd6fda13083d0d5fe3baa5f64813b6c925257e23d306a0de625817839c908 SHA512 edb606d1b88cedcb725a1dca2c82f4a81ebff5a1b8786a4127505e021b1fc8cc351363d05963a68c7d555f895b3b762fbd34dfc3f26640759619daecce1097df
diff --git a/games-util/wxchtdecoder/files/wxchtdecoder-1.5a-wxgtk.patch b/games-util/wxchtdecoder/files/wxchtdecoder-1.5a-wxgtk.patch
new file mode 100644
index 000000000000..1eb61febe1bb
--- /dev/null
+++ b/games-util/wxchtdecoder/files/wxchtdecoder-1.5a-wxgtk.patch
@@ -0,0 +1,37 @@
+--- wxchtdecoder-1.5a.orig/source/chtdecoder.cc
++++ wxchtdecoder-1.5a/source/chtdecoder.cc
+@@ -64,26 +64,26 @@
+ const wxSize *CHTDecoder::APP_SIZE = new wxSize(640, 480);
+
+ namespace {
+- const wxCmdLineEntryDesc CMDLINE_DESC[] = {
++ wxCmdLineEntryDesc CMDLINE_DESC[] = {
+ {
+- wxCMD_LINE_SWITCH, wxT("h"), wxT("help"),
+- wxT("display usage information"), wxCMD_LINE_VAL_STRING,
++ wxCMD_LINE_SWITCH, "h", "help",
++ "display usage information", wxCMD_LINE_VAL_STRING,
+ wxCMD_LINE_OPTION_HELP
+ },
+
+ {
+- wxCMD_LINE_SWITCH, wxT("v"), wxT("version"),
+- wxT("display version information"), wxCMD_LINE_VAL_STRING,
++ wxCMD_LINE_SWITCH, "v", "version",
++ "display version information", wxCMD_LINE_VAL_STRING,
+ wxCMD_LINE_OPTION_HELP
+ },
+
+ {
+- wxCMD_LINE_SWITCH, wxT("f"), wxT("force-open"),
+- wxT("force opening of possibly invalid .CHT files")
++ wxCMD_LINE_SWITCH, "f", "force-open",
++ "force opening of possibly invalid .CHT files"
+ },
+
+ {
+- wxCMD_LINE_PARAM, 0, 0, wxT(".CHT file(s)"),
++ wxCMD_LINE_PARAM, 0, 0, ".CHT file(s)",
+ wxCMD_LINE_VAL_STRING, wxCMD_LINE_PARAM_MULTIPLE
+ },
+
diff --git a/games-util/wxchtdecoder/metadata.xml b/games-util/wxchtdecoder/metadata.xml
new file mode 100644
index 000000000000..1c3ba213c494
--- /dev/null
+++ b/games-util/wxchtdecoder/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer type="project">
+ <email>games@gentoo.org</email>
+ <name>Gentoo Games Project</name>
+</maintainer>
+</pkgmetadata>
diff --git a/games-util/wxchtdecoder/wxchtdecoder-1.5a-r3.ebuild b/games-util/wxchtdecoder/wxchtdecoder-1.5a-r3.ebuild
new file mode 100644
index 000000000000..86ec27766c54
--- /dev/null
+++ b/games-util/wxchtdecoder/wxchtdecoder-1.5a-r3.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+WX_GTK_VER="3.2-gtk3"
+inherit desktop wxwidgets
+
+DESCRIPTION="Program to decode .CHT files in Snes9x and ZSNES to plain text"
+HOMEPAGE="https://games.technoplaza.net/chtdecoder/"
+SRC_URI="mirror://gentoo/${P}.tar.bz2"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="x11-libs/wxGTK:${WX_GTK_VER}=[X]"
+DEPEND=${RDEPEND}
+
+PATCHES=( "${FILESDIR}"/${P}-wxgtk.patch )
+
+src_configure() {
+ setup-wxwidgets
+ econf --with-wx-config="${WX_CONFIG}"
+}
+
+src_install() {
+ dobin source/wxchtdecoder
+ dodoc docs/wxchtdecoder.txt
+ make_desktop_entry ${PN} wxCHTDecoder application-vnd.nintendo.snes.rom
+}
diff --git a/games-util/xboxdrv/Manifest b/games-util/xboxdrv/Manifest
new file mode 100644
index 000000000000..4aa9d2fe9b7b
--- /dev/null
+++ b/games-util/xboxdrv/Manifest
@@ -0,0 +1 @@
+DIST xboxdrv-0.8.11.tar.gz 323870 BLAKE2B 3cfc5441496e72226a00a82874b580dd7113ff52317cc63afeca94d53c0c20d0d2bd8c458adabdd0e2358746d43de8a2815788d9fd82b21c4e733638a07379f8 SHA512 d6503ee3a4b0388214dd866e479205d37fc9dcd4aa8e8a10edae5db7368d755e2dcc1e4217ecde234c5dd4d0aec3548fd1eea980aa7d6150895ed6dfa3673e5a
diff --git a/games-util/xboxdrv/files/org.seul.Xboxdrv.conf b/games-util/xboxdrv/files/org.seul.Xboxdrv.conf
new file mode 100644
index 000000000000..fc685d6e8e83
--- /dev/null
+++ b/games-util/xboxdrv/files/org.seul.Xboxdrv.conf
@@ -0,0 +1,7 @@
+<!DOCTYPE busconfig PUBLIC "-//freedesktop//DTD D-BUS Bus Configuration 1.0//EN"
+ "http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd">
+<busconfig>
+ <policy context="default">
+ <allow own="org.seul.Xboxdrv"/>
+ </policy>
+</busconfig>
diff --git a/games-util/xboxdrv/files/xboxdrv.confd b/games-util/xboxdrv/files/xboxdrv.confd
new file mode 100644
index 000000000000..99363c95dafb
--- /dev/null
+++ b/games-util/xboxdrv/files/xboxdrv.confd
@@ -0,0 +1,5 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+XBOXDRV_OPTS=""
+#XBOXDRV_OPTS="${XBOXDRV_OPTS} --next-controller --config /etc/xboxdrv/controller.ini"
diff --git a/games-util/xboxdrv/files/xboxdrv.initd b/games-util/xboxdrv/files/xboxdrv.initd
new file mode 100644
index 000000000000..8602c7e12531
--- /dev/null
+++ b/games-util/xboxdrv/files/xboxdrv.initd
@@ -0,0 +1,18 @@
+#!/sbin/openrc-run
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+PIDFILE="/var/run/${SVCNAME}.pid"
+
+start() {
+ ebegin "Starting xboxdrv"
+ start-stop-daemon --start --pidfile "${PIDFILE}" --exec /usr/bin/xboxdrv -- \
+ --daemon --detach --pid-file "${PIDFILE}" ${XBOXDRV_OPTS}
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping xboxdrv"
+ start-stop-daemon --stop --pidfile "${PIDFILE}"
+ eend $?
+}
diff --git a/games-util/xboxdrv/files/xboxdrv.service b/games-util/xboxdrv/files/xboxdrv.service
new file mode 100644
index 000000000000..b0d372696e0a
--- /dev/null
+++ b/games-util/xboxdrv/files/xboxdrv.service
@@ -0,0 +1,14 @@
+[Unit]
+Description=Userspace Xbox 360 Controller driver
+BindsTo=sys-subsystem-usb-xbox-controller0.device
+After=sys-subsystem-usb-xbox-controller0.device
+
+[Service]
+BusName=org.seul.Xboxdrv
+ExecStart=/usr/bin/xboxdrv --silent --daemon
+KillSignal=SIGINT
+# xboxdrv can not stop gracefully if controller gets unplugged
+TimeoutStopSec=2
+
+[Install]
+WantedBy=multi-user.target
diff --git a/games-util/xboxdrv/files/xboxdrv.udev-rules b/games-util/xboxdrv/files/xboxdrv.udev-rules
new file mode 100644
index 000000000000..85b1d57dd26b
--- /dev/null
+++ b/games-util/xboxdrv/files/xboxdrv.udev-rules
@@ -0,0 +1,5 @@
+SUBSYSTEM=="usb", ACTION=="add",\
+ ENV{ID_MODEL_FROM_DATABASE}=="Xbox*Controller|Xbox*Controller S|Xbox 360 Wireless Adapter",\
+ TAG+="systemd",\
+ ENV{SYSTEMD_ALIAS}="/sys/subsystem/usb/xbox/controller$number",\
+ ENV{SYSTEMD_WANTS}+="xboxdrv.service"
diff --git a/games-util/xboxdrv/metadata.xml b/games-util/xboxdrv/metadata.xml
new file mode 100644
index 000000000000..cc52ed3dc114
--- /dev/null
+++ b/games-util/xboxdrv/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <!-- maintainer-needed -->
+ <upstream>
+ <remote-id type="github">chewi/xboxdrv</remote-id>
+ <remote-id type="gitlab">xboxdrv/xboxdrv</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/games-util/xboxdrv/xboxdrv-0.8.11.ebuild b/games-util/xboxdrv/xboxdrv-0.8.11.ebuild
new file mode 100644
index 000000000000..f289843f1fde
--- /dev/null
+++ b/games-util/xboxdrv/xboxdrv-0.8.11.ebuild
@@ -0,0 +1,74 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit linux-info python-any-r1 scons-utils toolchain-funcs systemd udev
+
+DESCRIPTION="Userspace Xbox 360 Controller driver"
+HOMEPAGE="https://github.com/xiota/xboxdrv https://xboxdrv.gitlab.io"
+SRC_URI="https://github.com/xiota/xboxdrv/archive/v$(ver_cut 1-3).tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="
+ dev-libs/dbus-glib
+ dev-libs/glib:2
+ sys-apps/dbus
+ virtual/libudev:=
+ virtual/libusb:1
+ x11-libs/libX11
+"
+
+DEPEND="
+ ${RDEPEND}
+"
+
+BDEPEND="
+ dev-util/glib-utils
+ virtual/pkgconfig
+"
+
+CONFIG_CHECK="~INPUT_EVDEV ~INPUT_JOYDEV ~INPUT_UINPUT ~!JOYSTICK_XPAD"
+
+pkg_setup() {
+ linux-info_pkg_setup
+ python-any-r1_pkg_setup
+}
+
+src_compile() {
+ escons \
+ BUILD=custom \
+ CXX="$(tc-getCXX)" \
+ AR="$(tc-getAR)" \
+ RANLIB="$(tc-getRANLIB)" \
+ CXXFLAGS="-Wall ${CXXFLAGS}" \
+ LINKFLAGS="${LDFLAGS}"
+}
+
+src_install() {
+ dobin xboxdrv
+ doman doc/xboxdrv.1
+ dodoc AUTHORS NEWS PROTOCOL README.md TODO
+
+ newinitd "${FILESDIR}"/xboxdrv.initd xboxdrv
+ newconfd "${FILESDIR}"/xboxdrv.confd xboxdrv
+
+ insinto /etc/dbus-1/system.d
+ doins "${FILESDIR}"/org.seul.Xboxdrv.conf
+
+ udev_newrules "${FILESDIR}"/xboxdrv.udev-rules 99-xbox-controller.rules
+ systemd_dounit "${FILESDIR}"/xboxdrv.service
+}
+
+pkg_postinst() {
+ udev_reload
+}
+
+pkg_postrm() {
+ udev_reload
+}
diff --git a/games-util/xivlauncher/Manifest b/games-util/xivlauncher/Manifest
new file mode 100644
index 000000000000..590dbced5b9d
--- /dev/null
+++ b/games-util/xivlauncher/Manifest
@@ -0,0 +1,212 @@
+DIST FFXIVQuickLauncher-8547d316ab2d64d41257d2f7d953d5086b593da7.tar.gz 5293006 BLAKE2B ce6df98593cdc84d2505f5bad9195aa37675970fb609db6d7ed32e9e966ce78b7f5cfcc6cbcf7c425b6d941bf0484470387450e461fc73f0c266f738ddd28ce8 SHA512 04c32b9aa8975e62bff068dad874186f200842f74015b367254a9cca871e0c2eced8c4cfe904f58e67f2d3deda2b1fe684a5814e9860d7113f62de794d7a2fdc
+DIST castle.core.4.4.1.nupkg 919111 BLAKE2B 5ee1245ef79f00b89fd03957b260337b4af242667c10cd9189540853344d062e27dee224989ef6a29544083f9a8416a197b9d97ba38ee1ace4630e89893355e7 SHA512 b27c340df07622abda8543a48c057eb936c9b02b7ed2d6f58e09e33bd5a5f70c7a2ee867127a05697e5a4127ba40494a17ea40080482578328aa8a33ae97aa3a
+DIST commandlineparser.2.9.1.nupkg 496069 BLAKE2B e2c4b38841f83d6bc10432b8055af90369f1fe0a10105a58b51b44cd48e5d84cb0b5e4b19f444d8c81b38646a62c7c4d11cbd710e92fea68be3ebea6ab98e3f1 SHA512 4f364e45c9668c7e7cc6a922b488f3fa523033c20d7a432694f0a6af05ce528ea0481d8375e2f4f1032c6990347b4803ce9a0e48068c6fe15ec46fb1254f085d
+DIST config.net.4.19.0.nupkg 224230 BLAKE2B 81d9af329eeef4fd936351aa4c61957c43672bce351143c2f3a6b71a19e9a6b3595e312ff79c6c6ae54b05bb6abf952b3cd79702b34cc2e238a213efe1d74407 SHA512 62e44041c1baca88f0d7ce1c65edebb845c0fac14784d62f47908fd03434ac9abf5f142a7ae6eb2d68cd8c46435f2c71d8e9ff72c4a5e1de50c19f40ff5a3a91
+DIST goaaats.steamworks.2.3.4.nupkg 929848 BLAKE2B a0ee5f4f72d366b68919d23224611fa7e5dee4d78b0c607f742fae0fb69b742864f5f069a116bb531e2ef28efc655b5fe24701eb31949d119737ce811812bf83 SHA512 af40b958d208e81c1374ad14c2c4c989934e31fa2afc46990efdc02b3d443068e82716249bc3c575cc2aa627556fcb1795a4e932ccea438acbcd0935967801cf
+DIST imgui.net.1.87.2.nupkg 2532510 BLAKE2B 81afc68d85afb9c3b3995774d2a7d4e82cbdc8dec5c11a865c1386a40479e5703b3df5702784997a9ab439378c1a9f1fea6e48b0b7d33c8be6e2410545bdde8e SHA512 79244d3ee0dbb332452c8a0d7fe7e9ae42dc80945815290acdb1a95d2f43f700ceaaca7b7a937bb82e77310805aeacccb587b5480cdc2b895678fbf317ca1085
+DIST keysharp.1.0.5.nupkg 83058 BLAKE2B a5622d01e18e9433ff86fe3287d3caae2fbd81f83ba17bf302d82c8f2e77f1087ba261da7d455b6552d1399577954f6e98bb8c555999bb3b3b74505d4e581df1 SHA512 dcdfd91333a299c5c846d34429992bde26d2e03c9c7d6f1a258ca809f409c2d833df5c41e928b07084b63bf661cfff1dd62bef5f90b189c315fdb795bfa4beb4
+DIST microsoft.bcl.asyncinterfaces.9.0.2.nupkg 98031 BLAKE2B 22cd263ce6b715c2f564f6eb52487587c7128ecdcc3ab7b76ad72d0f7a0b844dd78394194060d3b2bf6cf7a3d089cb40a7808aac78465cf7452393d36c6e9f44 SHA512 d03a595bdfb0b55e5504d8aa76cdc96ffb374595e333d9b69344c246b786f6adf6d3904d782240d0da83b6248f179d44ba71690803632befee37343b9e90fe67
+DIST microsoft.codeanalysis.analyzers.3.3.2.nupkg 1001624 BLAKE2B c8ec28a23a7b628c2efbe1d3b7b3163f6dc5dd8aaf4650042bc380ec90409ce28a81d20f4d5c6bef2146f88859274cbe2107b0f840ca577af13ce8f7390e2338 SHA512 9a2806f43e3c3e7ee6d3a7c0cc996cf4196420169db58092e79b5e656666d2c1cbb448b53ce0ff280a3b3ab1cb9458f60993ec43df6fa7d2574eb4d86eedc430
+DIST microsoft.codeanalysis.analyzers.3.3.3.nupkg 1111022 BLAKE2B 8704bf2c8a57bdca4ad3d5a2531ff47b0b44d2461ce3c8eec4b58f5cb38f9371fe5aaeb8026a3abbf6299fe30b3f059c892ee6dd239a03eb8b36462f132a2b4b SHA512 0d4896db8aff9d731c5b1c8f73a4b37460c3f08080fbeac0ecf169abf5bdff9c9a994778f453816b888e939d9d0d615245c91a2e4ba31f85d2ea8de222767104
+DIST microsoft.codeanalysis.bannedapianalyzers.3.3.4.nupkg 637301 BLAKE2B 827a5670efb7256d3db4de82742cb72cf5b0fb28b0f639bfbd7ade7a520e6b1c535eb29cdcc907d3494db7f6ce3ca29c03161c9119eb3b6693853d880629711b SHA512 0b8e5e7aa98142864edd0073512f11c899f9b5aad535012726477cc1189de63252895a829c7ffc5730d09e5df8a6db7ccd9d0c6a17007bc94ca0ca5a36e04042
+DIST microsoft.codeanalysis.bannedapianalyzers.4.14.0.nupkg 641391 BLAKE2B 51f57d144e4b89da584d4ab9df288a9e32ea9e354c25c72eccf420c43ab2baf151154ff33699a4360f4114ddda04ba55cd7fe69731801d6b4c192b5e19c55c50 SHA512 f0c47e919773d0487e3b76e55c8b709c972cd6100bf585cc43e58213dc2ee77ab55aa3c93de9b1acbc113ad2b43453e8ef4577fa6f51e13cb88839b6a67d1801
+DIST microsoft.codeanalysis.common.4.0.1.nupkg 4472019 BLAKE2B 2a649895cd6ffd9b506bda09812ae298b5038baa83ddf9b96fe2750d1eb037feead4fd4c937e66bd8ec400655468a978c5be56d3f380decdcac13dfd3c014559 SHA512 27dc41d25ec9c2048a34552854f88db11874f3f4d847c826af2d382e9fcd59b8518c522f44a0296801c1c9fe630e513bc59526a20ebaf37146d064868272cc82
+DIST microsoft.codeanalysis.csharp.4.0.1.nupkg 10536054 BLAKE2B 998c2b8197cd921e4a0d10287a160bf48d62b43ab052194e52fe959f291fcf0d44c40c6036d66a924d8c61482c0d4d6cf9ffa0b083290d3b8c7a84d59d7fad0c SHA512 534149bfdf25a3fcafd5f31dda0c6f08413345d7e70b5ddc794c92473e1de024f353d5cfc975ac6e33c4f336e3890548f7ba506e425a85ba140654a764440ad3
+DIST microsoft.codeanalysis.netanalyzers.10.0.101.nupkg 2269268 BLAKE2B d7733f3ade37fcb1660dd0054d9bf5f6826ce0051e7e5cf096b3768d2c6adecace5ab1ed1de82b6f004e405889ec4525e88bf59237f4d386bf52ca734224b118 SHA512 7bad3fcc81dfdf5a19c8272e0045e7c15c647d1caac44063c9e284a793224382f3b45586a2928dc7d144432a3f8b64942fec1ed046ec43fe422db5937b84529f
+DIST microsoft.codeanalysis.netanalyzers.9.0.0.nupkg 5113945 BLAKE2B ecb5bfeff289b1c59b759534e8c9fba523a087e661d19e368ac8a2e359d59349466d276c2c0360a0e1759a2a85a1f6480a7c5b18469ba18732b9502c7d3ce807 SHA512 f5352d6009c1517e5d6ddd77b563b76775aa3c19728daf82526fc9e90fc8f25f317de64d66251e43858f0236f25c913d84b5ab4e74883a9627959ec2407300c5
+DIST microsoft.dotnet.platformabstractions.2.0.3.nupkg 38880 BLAKE2B f1289ea431cfb99f8ead92d777da1133ddcc2cce35308cb6afd0671d4aebd96f99ef0c356d111542dee1e1a9e3bca1b9019de53f721f08faf4bdb89aa9b09d2a SHA512 4a33f381937a429e15edf0ad579810d9b5f8489c051d069cd935d197fccdf99e942caba8980b7f3dc960094f58818b165af2829cdd2f3263fb53bd5d9d782db5
+DIST microsoft.extensions.dependencymodel.2.0.3.nupkg 95922 BLAKE2B b2c852c6c0493f61aeb52ef02295abe65247589cabdb4d4b4e7c00ada92f907bd6b881c999436c2606a76db7a436607c2f4f59bcb2e583067e3664dc9a798cb8 SHA512 854453a101c1ddfe65ac0cdd0c5b5c995fdbfea83ba3c2dd9e3de253af3fba75c4ce61140b0857364a9e20d6faecbfeb6e89849017f06cbe8b5ae9aff60fcb70
+DIST microsoft.netcore.platforms.1.1.0.nupkg 17960 BLAKE2B 6a9fa22d75f5a1c65746dd71a63c3d4e37c393e99c23007c10f5ecce248a04863bf26e7562c7751177a6985eaac266c29cc6a5443a4a853e773f88994ad2a3fd SHA512 6bf892c274596fe2c7164e3d8503b24e187f64d0b7bec6d9b05eb95f04086fceb7a85ea6b2685d42dc465c52f6f0e6f636c0b3fddac48f6f0125dfd83e92d106
+DIST microsoft.netcore.targets.1.1.0.nupkg 18162 BLAKE2B 419d19e0da934ab4b9db75dd66cc22b83a003f34e93cf7a92feccf4f32d3d695e18b826b1aba13073dd4ec53aa7905a67346921d1055516647ddcde0d79009f1 SHA512 1ef033a68688aab9997ec1c0378acb1638b4afb618e533fcaf749d93389737ba94f4a0a94481becdf701c7e988ae2fe390136a8eae225887ee60db45063490fe
+DIST microsoft.win32.primitives.4.3.0.nupkg 63333 BLAKE2B 132ec29940d4b716110980c4f9a06ba15183d29de638379d09998124605165e51652b2727e3892b57dbc7cacfdc71f9e1b59c9dd5463a524657351f5385d896d SHA512 366f07a79d72f6d61c2b7c43eaa938dd68dfb6b83599d1f6e02089b136fa82bec74b6d54d6e03e08a3c612d51c5596e3535cbc2b29f39b97a827b3e7c79826f0
+DIST microsoft.win32.registry.6.0.0-preview.5.21301.5.nupkg 185810 BLAKE2B fc5cedf835986ca9ace9d6e85059b1d75ca22fb93d268361e2fec79038032f7fb47a60771fcc8c7a2681d3028a938f0a99e39efc51fd4929b4fb09d298114684 SHA512 08b2e4f2e6d60d6ad1714ec2922d70974a48cfc32c49cb966450cfa07e755974615281622e18c1fa3036f23cd27275328f417d675271eabc2fa17463bf4ed7f0
+DIST microsoft.win32.systemevents.6.0.0.nupkg 157768 BLAKE2B 0a5cea49c552a8d3e5aa2e8913fc4929ea318026b02a85c03665fe8bc449d59f838ef9a1044e0e034f6c30c7b63187c02bf6df4106b19e801d6c194ea5641941 SHA512 5e274ace996c3eba63099ed5116f9dc39f69f684f7c1e7623c28c3c73988b75c67dfcc929a50a761f0222df243dd540720a6e588e91dfa784f81bfce7a893875
+DIST nativelibraryloader.1.0.13.nupkg 21157 BLAKE2B d0af8088d286783bbb1a6856a227ac091da4de1b57f455bea10c63f7144528340f961d350f199056f905d556fc1c9fbab437dffae0e8bbafb195893f03a03c3c SHA512 17236e5a78c52018cd51a40cfa02c006b4630abf4f7c2f34dd6e63fc29f1d10ad7566081c98deaeae77ac9be22578e1dd1f4e81bb4084bcd18ead8a4f30c01e4
+DIST netstandard.library.1.6.1.nupkg 17360 BLAKE2B 02badd3473451f83997f0b66d05f1541c741e65b9127b8b27ab391260df7939f235eb6648b11c7c11cc5400489ddf1cd26820b7bdf6fd9f1d8f0dfdfeef96acc SHA512 0972dc2dbb4925e896f62bce2e59d4e48639320ee38ad3016dcd485fbd6936a0ed08073ad5eef2a612dff05dfc390f3930fff9e79d87a06070eeb8128277cbd0
+DIST netstandard.library.2.0.3.nupkg 3146139 BLAKE2B 311e5367398f76c74e78930bc2cd39e450a86bd8626311ded8d58bd84c94a8a84db3c11b2bc10f3eeba20a9d081fe7827981f702ad746b49ae3108c949ba1022 SHA512 e78f0cea69c14895b1b089644077dbce8631a626055d96522f4d29e061d8bfc3e48aa1419e74faf265b998612c03f721f5f0cef4690f824150a5689764dee601
+DIST newtonsoft.json.13.0.3.nupkg 2441966 BLAKE2B 0c83cd81b9eb647fd9106c5b8b7af4ff6b35eae4fa24712f16cef1db070857b072b9e40a52ed006a82125c860dc48b89ac54224baa24bfdedfa573183e19d169 SHA512 99b252bc77d1c5f5f7b51fd4ea7d5653e9961d7b3061cf9207f8643a9c7cc9965eebc84d6467f2989bb4723b1a244915cc232a78f894e8b748ca882a7c89fb92
+DIST newtonsoft.json.9.0.1.nupkg 1613054 BLAKE2B 56918db57c3786cff0548b642195521ef203246a6b2ed010186ccae230af3b0c913ace4b2a3319bf94c6e47647b9c5ad7b017e3b50d35e6654b4d5b987643739 SHA512 da8917a5347051c8106f4ea9bade4bc300a3b60a05a3be3390f92c8dcbcea67223c7b4da8065b9228042000e25b99c75fad7e2221a0daa8888ed8ef3c161b228
+DIST pinvoke.kernel32.0.7.124.nupkg 566434 BLAKE2B 2e5449f762f37ce0181fda3488b4f3751f0402a0e077fc49169ef8d0809bddfb4eabac48752dff2a24f61f6008db07bee06ab84ead4ca267cc2e7f8dba2f6947 SHA512 d5c8c8c7b7c79349f1e9cc4de98713dc51aaf9c07aafede11fc7a470be7842786030de9c3bc112c1b1b05e4abda0eef6e10f6e8c1953c1948315f3fdee9d94df
+DIST pinvoke.windows.core.0.7.124.nupkg 823190 BLAKE2B 183cd0aa897826683ec9f50c8516aa07626d9771108ade799fe13ce48b64e29d3677c8795285ef50715b2798ef0f6bdb1dde24b4b9087b1fa9477b67cb528e54 SHA512 9919acc43e188d5ce9457f7e35d7cecf6c99fe0d8a21539b061825de92b99333f5d650fa3316f1b1aa7568a4f67578071f184d92346f903bfa165f8c6742d685
+DIST polysharp.1.10.0.nupkg 87007 BLAKE2B e373583de452f1e29e2e658d869e075fdb384b8e49e89544abd9b1a921daea79625788676f661642a7357ce2858809690ffc6e35d0130920b9ea85fdf6bcf3f5 SHA512 12217bca03ef305a7032047fa9cc3d7dc8a11b678af3c0b7cf4a573b7764a423b9878949feff3761e2b9cb1d4ea15853a89e9459942b5a8544da8e041e7a1188
+DIST runtime.any.system.collections.4.3.0.nupkg 107990 BLAKE2B 802e2ae919a4834150d825ac086d8f47e2185e31b60b45f3dbe5f63b1d714953d9faaa7d8fe4cc25a1ea8495c4f8fd925bb198eea0b67e594a8558238b18196c SHA512 9f8833176c139b71a58694ae401c5aec209a63227be07c7ab559bef772082bd1f6cc38ba2949cb1c8e5c5514ad9f4ff51859838dc2f28191f8bb7ae611a50239
+DIST runtime.any.system.diagnostics.tools.4.3.0.nupkg 43707 BLAKE2B 33d1c57eb4e50c06488da02ab2bb1b8dba9948026053e662986af05b74045c014e76815edbb588f10d6a904de22e4c50177f31f3fac36d159b9af361a4cb2b62 SHA512 bd257401e179d4b836a4a2f7236a0e303ae997d2453c946bf272036620a0b14e85e5f42c229332930a954655ab4cae359d191a3e3d9746df09535a651367764c
+DIST runtime.any.system.diagnostics.tracing.4.3.0.nupkg 49844 BLAKE2B e35998e1369bacc9fa90f74825e021c62b9c671ac9b7cfad4e9b455656bd40e968f348ba8943ed670c74c22bddb1c94ccf5058885233607e3c73a5c7d2a56688 SHA512 0b480d21e23c38965222be7fa1e1a0c7e444cebdf400d1db8d3ac609f893b82d78c5d8b271da61808b7b179dd6466a0090bd807fc2d35020f93a00f0213bb436
+DIST runtime.any.system.globalization.4.3.0.nupkg 43718 BLAKE2B d6f90f72f080afc0dbaaf487e2966d2569ec8dd51d573ba2afd1d705cc8c1f5d47ea77beb63ffe4fbc75dd6aae869a9b52e9e293b737ab32321420f635113d80 SHA512 3aac1a076212fae7d0ac81d2b5fdf216b064a1d890577307f89c9a4984c239838c3bdfac4dea052027de090704839319231eef49ce542f3e8bb2f85ba23d28dc
+DIST runtime.any.system.globalization.calendars.4.3.0.nupkg 43456 BLAKE2B 6453e347e796d426fe00afa28c182e53d764e58e52a21eea8d71661029608de957bcc9a6d9f073f2897d4b5d601f1e056a8d2334fd7cd708461148549454fbc9 SHA512 19053b502b7160af6f6b0bc5b334a8d124f77f6b4418993294fb485d0bb318cd6e97cdbda9bf8c9927366288413cad7209c9d8156a5425a6320c453a8804fb3d
+DIST runtime.any.system.io.4.3.0.nupkg 54553 BLAKE2B 0066bcf13ad4f769cced6704e3d5bce057138e35650699df8c84fb67aad1dd0f2b9ac62eec023fd1b2845e3e2038d1a56602e0cbe59795219b34b9b47d0aa880 SHA512 7e0d4a238322d434a19afc79ea988d3727c1687fdd5bcd1c4c39cb6201073caabb924cc201c70545d60acf8b94cde8b783d0c268743e040c357d100677e4c5ed
+DIST runtime.any.system.reflection.4.3.0.nupkg 43499 BLAKE2B dbfed54ebbe3c7814773dc60e586bc6442024c4565dc7579c2a3dea9ecb7fa6eb554bb7d8da7d2603fb455d38caffab9ce553e6cb82f8c6202700e2a3c80d6db SHA512 293d3dd8be87e1c5cd76ece4ed64ebb5ae6b50be95a39bee401eeed64355e34641905f8c14392fbc3acf8609f5d6fca731f39ce7607962eb5951f09516480015
+DIST runtime.any.system.reflection.extensions.4.3.0.nupkg 44123 BLAKE2B 77dd6ebec2090e9902b5fb9a0505d07f953baedf9ae30bb823f18867b0e4096af08175203efc2205a5439d53eb264b085615978c782969ac8e051b5c7ac8b516 SHA512 8de7a4c53fc0324e766bfec360342ee4a4b99a5975a9d61faab0a715ef71ff97aa83383a5a8affb354c02a4e2fbbb91e1b4ae6b282d2880108cb489f06aba500
+DIST runtime.any.system.reflection.primitives.4.3.0.nupkg 43106 BLAKE2B 9be774d083220f790c2710bf0add5f186c30da37cdab7abe6fd084e8b3e43926350cbde084ddbab58295b9bdfff34f63de6f24d72c9333c8f0dc0fd6b04b9ddb SHA512 a2f374276290ad9b799d3e49cd8fe7839c07b52f22894bcd77b9470841564319fb2ebbd7503e76feef42db4e8a362af8648cf0842a1cb0b5d9a60a58ef8b205e
+DIST runtime.any.system.resources.resourcemanager.4.3.0.nupkg 42939 BLAKE2B f0a3df9518b008cdfa62fa7b7aae3d419bdd8f77e7b400cd06f03bfd20d2ac7abf570b26c63ab32329cb47f7b9763db786e4e397ad958dd81e55d9ee8926bcd0 SHA512 39fab03cbade2b3848d62e137313530c06b37216e24cd58c70ed6ae54bdaf9d9613a3b410375ee167c87ff935a558b1f8766ee016b8b244fde99c38fcf42a49b
+DIST runtime.any.system.runtime.4.3.0.nupkg 55302 BLAKE2B 2de44260ec821b818b3c0cb3517be7ade5c16f29e0ced086460dfabc29479743947134214c037df83b9646724cad004f55c2f518cd4bc2079853f2f6e1cd70fe SHA512 bfee3c68312296860e5459af5e770c2e9fcd4ac134361fd569a9ce1e6574b9ae3978aad403f89639a4b5bac8ee5bb0ee1b8edb819e9a60f13ca5bd1812889bbd
+DIST runtime.any.system.runtime.handles.4.3.0.nupkg 30945 BLAKE2B 27f615ec387f75416d05d0d545f1f90bda9cd7ace1e7370cf935735ae7e6ecec9c8d54b0b267aa42c041981b7d4ff22603f8a12e18290e0f354e7656f4271d81 SHA512 95cdae2867a2182535bd0f4d01dc3eff70319dff044b070ab7791fa2bf8688a69b00a279ed569b7f0c5f3e26bf705303dc344ecf7d1ea014c579436d8e7b7389
+DIST runtime.any.system.runtime.interopservices.4.3.0.nupkg 71496 BLAKE2B 56aea647e26b0b6fe2e8786732100a20b66dcda904df76d0463c5cd048d842e9899be7482f819bd8d4a62dd6b8d9f2f8289efa99ef6c76d2cbfd0fabe6c5b36b SHA512 70eeb2469726d092bb95568e51ba5cfdd1cc07a9e65077e2b6dd5b7c8b164d4b45c749ef4a52f45928f63a27e8accdb83b861ea73c9ad3d42dc38e6afdbd0e8c
+DIST runtime.any.system.text.encoding.4.3.0.nupkg 43396 BLAKE2B 99ea1ca2da0e85683e240129d4adba28eee337d0a3ca937b61123d775255f738b27f00db4b08e1fa9242bf29ad916828552639ab3b55eea05e0f307bdb1bb58b SHA512 cbe6df98acd50e2251d3343620c408af56cfe7c1979277a8ec65b5eef093e93ed93c05980902a7152ed83302d5a625d7058921baa7f446c5e67194fa4c06f20a
+DIST runtime.any.system.text.encoding.extensions.4.3.0.nupkg 43296 BLAKE2B eb16dfc6e2fafe299fe49dcc5cd1d2d18180d18caee2b0e65fe5c75b6b4206260e18f4e2bf509fe1d2dc3366541bb38de219929db6e7e12f08b64b3a5d3abac3 SHA512 656aa8bd9d7e19534964ac7b8405615f00359779e322d4cfe1f18c132fec4a4f52c5588bfe61cec9966a9142a73315f5d2b9e5a7c524b418364f0322b20961c3
+DIST runtime.any.system.threading.tasks.4.3.0.nupkg 47940 BLAKE2B 950e0a58dcda7dcb15167d028380ae4ba1ac576b141d95ba8eda08e0d346a9e0452e64ceff1169959eb9f4435231466be209fd6e9d17f8dae05254443f0ffe1e SHA512 5f37a56f5d6c7fc198c7ef76b822b85284f9d7d1c06583c26a698793ade65da1b273d5fb03c20be1eb91a9c835f7122ad2775f4e51dffb2758fabac2a30f8c23
+DIST runtime.any.system.threading.timer.4.3.0.nupkg 43098 BLAKE2B ed9d0f7aa58934bb099bc750d7d433cf82a3b54369143ae4e3b27178213ae3d3c79c17463b2a4a2f1dc2e55a9130b7a8349c0832549a404b82c2b08b9016e9ce SHA512 c0a1fc3661b4e21f329f88a8d2cbf7152698427778add9f850476fc9abe7cdf9b86df79362d6df025f7e15d53f5eb7937d8ac49bdef13fd9eca973a284929fcf
+DIST runtime.debian.8-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg 44390 BLAKE2B 60483871cb9b81514f5b63f1f9ab9cf1c7a6ddb1d33a2a65608b47a2cf8cc3b7eee8e087250a1c49eb2893f36f29410e897387346fa4c3fc5c71e41046f13673 SHA512 b2cf809fe50c4b46bd6f2372265cd3059622550123afceb5dbb2410906c07a7f47bae4273584d29253d5e7a63a17c68c7ba0434608bbc8fd4d00e479b2f128ff
+DIST runtime.fedora.23-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg 42827 BLAKE2B d2b79a9b83e0bdf569a5c333ba4f86ccb1d5b532d2e1cff3ba7bb597688ac78268a515be4c35a025c66727070100634a4bc946e02ae7b93061be968fab241bed SHA512 fd8e32d7d3e9a465202e391b0ab8b95e212900879bc4d8ac22954fd2d0f98fa579e9d25f88885ac2a4bf1eba755db940f8d131250a3ffec34dbe77431a379cab
+DIST runtime.fedora.24-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg 42833 BLAKE2B be9197f3008b3dda19a45e5b5df2ce3604f58a98045a122aa77f082708de67ad953fba761c39ec419e945155ad74d5800638feb581e5d84424ba104f32541640 SHA512 4afac5cc1734330a6103880e790d639e825bfb1b34dbd42083762c47db5e5dab6c03efd16049ac03861d7d87746caed09c7534241d51b7341d47ba6af7e8dd31
+DIST runtime.native.system.4.3.0.nupkg 16854 BLAKE2B be46e3bd8781915572308ed7d4d8a0338a5c79b901a27c7e7c7fb7fb25788cf00968a40f96cc43b1202e56e5bbb2f87602d247295d8c98f2c143a0ad3a8d7664 SHA512 299c5a96fffdcaf1972e3e3d1c727837d18ac9e88cb79c09914f12ff1de7280dff10c9232a49a1c1d3ba7785a5cf76f28c9dce414f0a2a567688de7fd5331dc8
+DIST runtime.native.system.io.compression.4.3.0.nupkg 16918 BLAKE2B a158ea64e917d9117684a9974482172fa2450cbc3e41a2918cae1ccbe004988fa31d975c8f06fd9a3bd320bf9b5a0e329eed36491b928df6db242507162dc3b3 SHA512 bff1f0cac94327014bb07c1ebee06c216e6e4951b1ddaa0c8a753a4a0338be621fd15ec621503490dbca54a75809abc4f420669b33052b28d24d726ac79c9891
+DIST runtime.native.system.net.http.4.3.0.nupkg 16894 BLAKE2B c803da4a0e31f509b83e061c0dde9b990188418ee29efe9bb0b7f5873fb2b14990560b4191d78ad16e9ecd53ec701a4fdbec3ff66b88c3e49b5f41b57ae11df1 SHA512 ddd1e5b67545477f7c72b5883666de40e89efb0836d91e7a349e2f3d4ac05ce1125e6add3cb09c39cbdfe7ab7c5dc8fdaeaf6ac25acd92f6de3d8ce2d6db7918
+DIST runtime.native.system.security.cryptography.apple.4.3.0.nupkg 16967 BLAKE2B 4ce2983bbf2c2c6a30c2433151458e4790f43b289e9faecf38e07505e5519bc042f85a46a331ead5f31419971a5af3ad4ca5f18b477c4dfd7e4e7f33cb8a3eb4 SHA512 23c6a99b323cd71cdcb28c6faa71f099f69ff0972d5125607ae8bbc99ba7c08513571d14526e8c2805ab3a8b70d3d3a6dd76dfa193320393ecb05906ee91f37d
+DIST runtime.native.system.security.cryptography.openssl.4.3.0.nupkg 17048 BLAKE2B f3d49c45e52d4e317fd5750de6dbd6628b414d127ef38f9fb4e2ebe447b13a0f93f38c91850c9df4c0a6a3fa738f58daf2c440827bcf7c7d3436a8174b5d212d SHA512 ee5d047908b99b776ff9bb54856454b24b09a0f9271b127239543b1f5faa3381a032d9eeb4d813d01b5a4b7d183b6a16250f159fdc450d5314a7eace1550bea3
+DIST runtime.opensuse.13.2-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg 44200 BLAKE2B 30ee247fc53f9de0147a5c5666bcfbfb674ebf03ceaa4ea3c73671154caa6ccee2c9254c0fca588e9a21f98e27ad86f387255b554ce37d7e36f8a69502049e71 SHA512 81bdb93c1c86c560343df6cc367499fb2a01a9b3016617be416874a23c4355a8d95c7be34f175510f3fdea4872302a87c8efab98a328dfa39422db520c3f291c
+DIST runtime.opensuse.42.1-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg 44118 BLAKE2B f89226f71e042a6bf70a45db59dddf06fb5083da2ccc1cbc17e8b3381a1462c36e0ddee7cb38a2003ccd07ec4f2a987a9e69ab143054a3a106ec314e3ac4947e SHA512 6de9544b4da49f127680cf5b3b4afea96bfcac3293038a1b0a12eea0ad60be368af31ee1dfd66d48d458b40200738c04aa0c71adcc54ae2dddbea2cd50d6f28d
+DIST runtime.osx.10.10-x64.runtime.native.system.security.cryptography.apple.4.3.0.nupkg 19581 BLAKE2B b8bbe11bed19360bb221715acff84d41f7f6cf871e66b09517a3932ce6a4ff454d548dd58c75561a18dcd6395f4ad11eb1e5106330fb702330b8ccee6618d8d1 SHA512 9929942914071e0ea0944a952ff9ad3c296be39e719a2f4bb3eac298d41829b4468b332fba880ebe242871a02145e1c26dc7660021375d12c7efcae4d200278a
+DIST runtime.osx.10.10-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg 37682 BLAKE2B 0fd5229c9394741456079a6eed8efb2c99e4211cb7be1873882ae6708c5e87a4f5116a9cdd6fda005896d2af4237779f1bd3c2332a1fcc993690e2ef6f5d889c SHA512 61da1667a5dd1e53a5d19fbe90abbfe332d84fe755fb811a080668a47d41a97db44539e3174fd1d2a0770ff1bd83afa68c82ce06df5775da65a6054ccc12c4be
+DIST runtime.rhel.7-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg 42668 BLAKE2B be90c86ebb383a1d7e037d0a0b24aeb8a7e9974388ded41964a82a2d2a4dce0e62feae830fe7dcd29c0fa19584c0b15281f1959d326fd6b7e17c6e70bf125c1b SHA512 e65a6a1f1928cfb760c395a399542dc7f9087399c53874376604504ae60abd2da24ed735ebd148d335000a5e35c8108ea55404685e902df392eac2e8d38fb665
+DIST runtime.ubuntu.14.04-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg 43118 BLAKE2B 242cc78b2b335d3c15e798c81cb19654b44ecb79e29e6babdc404bcbffd1691b07e0640143cde2d03a0640d6e1851228188eb91cc6b8b9f8759d13e8aa258e52 SHA512 c9f219515e268cf40e16b135bd64cba95c35e866dd9bc34954159562314d01d2f9ea7eb8b0db94acf6bdac83d651d90bad7890cb657ffe40fa3440ec662c9944
+DIST runtime.ubuntu.16.04-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg 42901 BLAKE2B c62ae072f63c79e2fbd080688852a545df160e6be41c68365508d6bc96c85927feb6859b32c2d8450b07058c2955aa94d4763600f12efdc76fb4d161081cdc81 SHA512 4981b2d7a106703b185e176ad35bfda149156f3b752778fa71c56b3686407765fd2b6625de352bd563aac1e1e8769d7886cc59a0d5d0bfb41ed60277360beb81
+DIST runtime.ubuntu.16.10-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg 42939 BLAKE2B f166d9c0b266e7c7fa6d6ac61201a755ddca3ca6d3f13e52e4a04575c7143af5bfda9929d3701ac7cacb0e61d8debedae4419fc202d8cef73c8c1496776ffe28 SHA512 5dbe6bc007a9b46491e5299602291f5dbf8cc8d51e6c1b08db2fa0efd365990b41b6e181ed6bf82e873a659396427bc0e33e85b47d645d273fef8bf8ec643631
+DIST runtime.unix.microsoft.win32.primitives.4.3.0.nupkg 31929 BLAKE2B 18ff9482cae737a7098f352f59948119b4f9982eefc1d835245c5336ee6fecdb7fdb92445d0c1fefd4e4c7cc4e64fec3d317e8b5dc160320781a3f820cf34da7 SHA512 93e6d3db61f9c2ca2048f25990dda92acd5ec74561e0c776d2c6dd8d1d55128f2c953f33d6832fb6a72bd9edca304a2551085bdeafe6e18af87619c9ba943c32
+DIST runtime.unix.system.console.4.3.0.nupkg 62174 BLAKE2B 5e0394b879ea85a36c22948a006d41d6d77e2283139265ce5fa6089faf209e447a90a02965dd576c20c28ead4faa232eaf4073343be69c70f4913a3b52f340ab SHA512 7c5cbda7d12315fff6b1e036d55ea27140de8b849f1a9705fd2710a00a2b70f06f534eb0d3e3c8ffb019e1a47d96c559ac61d5fc9d840e48f6e56542fdaccb83
+DIST runtime.unix.system.diagnostics.debug.4.3.0.nupkg 38808 BLAKE2B c7bc02cd3fcc7f547c9d1786fd12da492bea65cf9e01a385e40366614c6e90bbb2a46103096ab491ef6765af5f5ffbad9506f0bae8e68b6d33c40f7672bba0e9 SHA512 a8ce331953b1f4424aa7f4b6dfedfce9ad138940bc92f332de2bc6d05185830ec6eb832e752f62eaf425f749caadd4ea1789121cb7ed79740fa5868eba55c838
+DIST runtime.unix.system.io.filesystem.4.3.0.nupkg 62460 BLAKE2B 6431b1bbf73d43f5d49afcfdac3f4e6a21b4d6c86db7a99f339d97c86fd9f98fe64d2a4873350076a42d1f7faf479fe744220d14d1badaa56370e1c615afb4de SHA512 6d4c80aceffac60e1560fda34c5984bbfa2e1bd106bde2c6d3540905cc30c58e6f5f2eaf5703cef5e68e3d25a4b97982193b2db8130a50c622a498e43eb9bdca
+DIST runtime.unix.system.net.primitives.4.3.0.nupkg 125060 BLAKE2B 76f760a4fe1f14bf65ecad43c73f51b819cae80b259d32cc9d5af74cd559dfc86267ba58cf15c577de697c9e1add532da380b267bff5487a2974904fba1e2813 SHA512 c2a0ecf5c72b226b4776eb6281f00267827d6086a0ad758ebf6e6c64a1c148d2056fe99c87ab4207add5fa67f1db73dd1ed3dca81141fc896be6b6e98795c97e
+DIST runtime.unix.system.net.sockets.4.3.0.nupkg 105673 BLAKE2B 06119cfdac3ce590b2f12f5587c75b6799fa876d7def559a78a1ccf53e34e6e1bf79410bfd676b04f1ab3f34a887eb919078a55cf79dc75faa75fc62094c2cbe SHA512 31b62be088315ead04d89f452a6c49a656b88f0668f7dadb2790511675d48705e01c9df24dbed3a0095157875c208ab6e6b5b6afc82bac13e4d6cdd3026f8424
+DIST runtime.unix.system.private.uri.4.3.0.nupkg 75969 BLAKE2B 82611545be3eba44ccfbef1f104e9b5afade845fd3b30c6cb40171368330f9d4bb2ad8752e415aa3b1678ec140c40f8e72cd4cc3731f42ca64016c1a1dce70cf SHA512 203ebe272791d79ab0c40afe9d0543852ee91b9fb4ae5bc15524d97728bc8bc9d7e0cbcf65d1fab8cfb0aa7a4ae37e7938933eef127aa5ea46f60e57b6ad2d91
+DIST runtime.unix.system.runtime.extensions.4.3.0.nupkg 54075 BLAKE2B f81d86cc15c63aa0b4a3d03546a07649587af7a0285af0de4123734e719fc023fa4227b7abb18307d4fc060e2952c157ec72b3bb85d49ab8508d8167b1aeedd7 SHA512 54b81784c08e934389c59e6e155af6b1855e4bbc41678b01a702c94e6daba87c6ddfd16fe9e2cb61f3097bfa4950dbc37781454d027ce5ba6c50a393cc91b888
+DIST serilog.4.0.0.nupkg 536714 BLAKE2B 123135afc4ff7c18ea41ef4317bad24c049b420dad97e19b52f6a6dad3b14ff4ccbea4970881ad5759dcff0865929a208406da5f5952584109a51f23dbbe7133 SHA512 1f6279bcfa93ca9c13180dd7c7e5944d5351358b9cd3a360cbbf12f2dda508700cb9ffadeffd4dfe772a6ddb2c029e2c3473e655a3b660a644de51d67133268c
+DIST serilog.4.1.0.nupkg 557817 BLAKE2B c88f4ec735c130f19db6303265e4595ff69986eda0924d421142f14cdc598b9d38b6b97d39387ec3cd65b2cdcda581945ea2b4052985ae812eaec9efecd17959 SHA512 4b0bcbc6ef35b4d1914dc870f3ecafc4a7e320b66842f8fce03d733874fd4d171885343c91e43dd1d5e49f55c50f948cf6c681c64819a8632187309ff82be15a
+DIST serilog.4.2.0.nupkg 656917 BLAKE2B 29e07b97af51bd17eeb53e722f241bbd30a65abf046fcd2e3e7bd30de07195d3146fd0bd2bbe3d83a8961665307c02a9443a6a6b0ebd562a5bd0e119efd4268b SHA512 e6e3335a3019d18420018672c4ccdc9b293364785f24222ac5598fa80e6be592826b142ab29881f8d1a1a8a3f5016584c014aa4cf99deaaf4350a7ba3cb7897d
+DIST serilog.4.3.0.nupkg 666728 BLAKE2B 2107c94c274ba4a5a83f6e4fe87815327972544894a7c0844d3249f99ffb937d9bcae12688fcc8e8a001396aa6ebac3f26e6847e17114f1990aa5b8509ae0102 SHA512 8f647fe61de431b0a0d40a7f90cceb950a3c2a9878422e0f5721186009b79210a80b3035e78061c935b2fa01a8865560b449314a2f51e352d3d96c30ef2b2cc2
+DIST serilog.enrichers.sensitive.1.7.3.nupkg 43553 BLAKE2B 51fd2f4148a10e031849d15817fa704e149f9581c0a3d5d27eefcce5b66ac1cc95a040b23cbd6284b5fac4d19d1208d7d60fb95d28571d2570e33f7a3158ce2f SHA512 17e11b8ae9437f404d28f861459ab6a805fde4eb07393c351131ffffb637a1602e91c3aa9da753ba91c2bfc6e25774ffa838e9f9765e2dd9745c0cb985ba27f7
+DIST serilog.enrichers.thread.4.0.0.nupkg 57824 BLAKE2B 2a0909b560fc8f1a9be206a89697ae14791a84a8f99558f281dcb8098d9647bdfb43e523159a22a7cb9297af5c32c8b9a144f136d9715dacf0ad264f3ee95c41 SHA512 d776603c04a031634dfeb64203e3ed4204eb96d503ac8183d5ba231259c55cd4411359116164271e38ddb949a9c4604f4946021c52c34044cda85797e6b4a7c2
+DIST serilog.sinks.async.2.1.0.nupkg 79141 BLAKE2B 11ad62b5a645668811c17a56f1ca5e4ba585b7734c3b287e0b400e824e83c7419e132fdcd30e9cad26676a64bc8f5d8e8cd272edf28917fe92636f5ca60586e4 SHA512 04c6181f987cf459d96ffafca2a7cb7d5bef0f5b079277deb5ac009d238929ff8b075b2e73504330505462d76652ce106966dd3a0407c8799bfe5d0bec7f0fdd
+DIST serilog.sinks.console.6.0.0.nupkg 138337 BLAKE2B 2cb29f761056154a7cda20eba369ce04ef0537fc87abff1eb92eff037eab5777f79c5e3d915984669ca2c249e88e711c411770e87c26de8db608dbb71e19df69 SHA512 49c6a20f42a9b46d8cccd76d287e92210aeb967d8f8daf93be82561fa050d91f927d0bb5ea81a147caa899b9abf47b616e5d74a8cfcffeadc1545da0b73a979c
+DIST serilog.sinks.debug.3.0.0.nupkg 56946 BLAKE2B 1124cbe9ac35cf0a30a0e7f8564018e7d46e38318f4da3b3d1c651f10a01db6a433a3eae519c6a3cac25186e1d34a0385fb16ed3cbe223f9bbbbf45809f96b5d SHA512 06d55853c3be544ce920cb2aea038c3557c61255f449f358b5975239766d586bd0f6d2cc87fb66e69849f7a9b7bd1e74cd4c33672766459fb63e323842162ab2
+DIST serilog.sinks.file.6.0.0.nupkg 133748 BLAKE2B 0a2bf6a4f779fa06be6144114e34cd8c8b28715a06ebc6a52114ffb15ca8e2cd1d8d557d383f7df64f6feec65dd14d2496a17f2c3d43935dae2ba3191cc68ee6 SHA512 90daa5403374597318b8973f4a7725dd14d44425a75793c82baa4143aeb3b4aeb8423636edd2b3b82a9df367d4e42339e73baaf62d42c87e7d4a958fa4394609
+DIST serilog.sinks.file.7.0.0.nupkg 166445 BLAKE2B 41c22525a994f3915645d1757ffd471a3ed1c914d7c20c8e1840fb518d08a7fc535577d1e0e20fc37788c2bf9b2b8bea2880f237e706f0e5bea02472df0084e8 SHA512 6081f48413e3c04b47df1737af1b6b1d21dcb2d60c1fe7a866da6c14d702c50995fed33ea07058e975e5b925269e675dc340bd20a3a2a167b05e14ead43f5419
+DIST sharedmemory.2.3.2.nupkg 245351 BLAKE2B cddb0cdafdf69bc621b506cb9bc0a2c78990b135e60304b1d8a586e340774e0b45cc232e69f40d54d4079a3423d0e5c9ae3a4f8635fcc530bd95ae1afde41ce7 SHA512 e36dd912c4138225e8d98024da9fb9d0ee407f79baaa8ef9839a3f62669b82aa170bd28e256cb86a957fc8f0e54b9873c267305d619f9ffac4a259c6fe571746
+DIST sharpgen.runtime.2.0.0-beta.13.nupkg 267678 BLAKE2B 65935f595eb9295e3ffb5659f9892e47f4f16fd0eaf82b16edf3e0ef95733ddcf98bb4c8e2c883363085fa1cb905f70f03c44a32f5c8c0633092cfd73df92a71 SHA512 ab45430585b7ed8ec39f644fc1cc18d4a7b88106f07d0008768b776d49c90f8089871426e2f6a66550143d87142e42c1fc75e98b02a9b3f5cf1e65daa2354827
+DIST sharpgen.runtime.com.2.0.0-beta.13.nupkg 519850 BLAKE2B e1647dbf2b507086f1bbd2e2710ba8d02d31419df78b515b88250f3b537fd43347846bfd76b03f3f3a0542ddc83f292c99123167dafdc1c50ca8fea1714776ea SHA512 c5ef144366c4755b9ba7eaa2fa82097b4b86f92e4f2535b6dc5e5749b4dbe3bc14aa33e7a685bfbb472cd65d9e6198acbdcc86b1fee0ff9f36cd61802b5bb51c
+DIST sixlabors.imagesharp.1.0.4.nupkg 3824917 BLAKE2B b6312a7d2ea09569b185361c40569209d281a6f5feb6687c452dc912e20aef6b409657a97c05dbae1b396e31ccab8d10a3c35fb92e7a7892ee29dcc982f5cf2b SHA512 66d710910a44505cdee5bbcfa7c2d2d6025891f7c1facdea8fd52e46fbc76122ab4f7bd1e1656ab782dd84292d59bddec93a1ecf8b94117dad75b5f69b52e23e
+DIST system.appcontext.4.1.0.nupkg 146990 BLAKE2B 7881a5a903a358e19b0de72fe800c70ac9233e7c5e1e4115d69be6f8dbc4fbe86debb79bcd453295730e803ff1da974075c999f52e4c721e085676746c2f9b58 SHA512 f724af13eb14aa57255f82841683a93b427de172b8d31b9fe2c6bc8c21a795e60ecf211b4e49e1c2e285fe1ad498e6bd9c843e109a60a3dc27b49df560106e96
+DIST system.appcontext.4.3.0.nupkg 147030 BLAKE2B fafd6d050e77a265cf41c6d00a3ab3d8db47f2258e10a6cb556031ab183a01a508a986bb495b68c5e8610c05b92b2f3c7b0718f68f508111fd262291684f84c3 SHA512 0d6ea63006304708feae2cc0590d2cdd99327b682210822bb2803ac842fdf4d8d57170d7947c006eec4b5687c942768478a7ec109745472f3946d230732483e8
+DIST system.buffers.4.3.0.nupkg 35171 BLAKE2B 3b274a048ce14845ca957019b3670db00338972f6e11279e47f59ca6b4326aaecab1d11317694ed98e8a27f3de7ef6f90de94d4711ab224f805388d468728392 SHA512 3dcbf66f6edf7e9bb4f698cddcf81b9d059811d84e05c7ac618b2640efed642f089b0ef84c927c5f58feffe43bb96a6bcf4fec422529b82998b18d70e4648cbe
+DIST system.buffers.4.4.0.nupkg 78363 BLAKE2B 3d25c21afaf3f3b2ebe348b55ac9350bc982a2f3a78659ba0a6a2994ae6423ca94c5a0f55bf97ff5041d882dba2403f52efc9a125b8a6250c681e3334d10ea41 SHA512 222d9b79d7781d5cdd76ea5d537e67df28288543e5367ecc0e298139873058d71ed8d8b34357c249a4096354f3bfcd1a32a386a55714e3066bfd77b9d31713c2
+DIST system.buffers.4.5.1.nupkg 93737 BLAKE2B e846885f9ace79f30bf7698a96ff3277a45fc2988a48cddba1862e23650ce55b06dcc6c1bcc29e08cf5380c9700dfcc15964f7263aeb11c737306d27963b34da SHA512 80da6158e55b9bcf7e0b5e6379b9cf45a632914f037b53c5bf5609576e3cd7821f7861956b73d74470d2d0c2e56dd235a5ef4ca6ffe7e192b820dc2d023aaff2
+DIST system.buffers.4.6.0.nupkg 67596 BLAKE2B 4f442603347f6ec2c99f724bd6024e8db224eff17e5b02a74640795aea0ee78a0cd171e07472c0c7c165d10d84c43042f01285f8fb700114dc00ebd82f4a6067 SHA512 8916c9c93497f5b255a5444b18b896f05824e557e6e62182cedc38206e08258731272f815d3084804585789b4ee9cfa43e752642ef3b28ae66d7cf3ea9b12b71
+DIST system.collections.4.0.11.nupkg 810001 BLAKE2B 7f20413de51be3416862a8e3624fe575740aa35fd0983a694b128587fe05d7a3f869afb893106b02866bd6811dd045e35d0c3f43b55e06ba9f92758f21aa507e SHA512 f61b75329ba5d7c0e688aa9d110b2200c8934c3a1888f6b1b5f198baa7ab93f23835e8380853e8c046f257172b5060578ed86df26e5fe0ef34d8c4408a02c33f
+DIST system.collections.4.3.0.nupkg 810001 BLAKE2B 0079d5834bb3857c002cc686313646895b47be1079e10cf365ce9e67c05f14c2e70e782b122b07a7cd9d5090b57334d0cb2336503cf5059cdbafeb3ef3cc8220 SHA512 ca7b952d30da1487ca4e43aa522817b5ee26e7e10537062810112fc67a7512766c39d402f394bb0426d1108bbcf9bbb64e9ce1f5af736ef215a51a35e55f051b
+DIST system.collections.concurrent.4.3.0.nupkg 502676 BLAKE2B 0d98ffad345254596133bad8a487bb91bd235f2a757573c3ab7999184fac6685b4ec33316bee9b4a4e588ba96aa745a681077cb2e2d2b0a7f5cc113aa75efc2c SHA512 35c1aa3e636216fe5dc2ebeb504293e69ad6355d26e22453af060af94d8279faa93bdcfe127aecb0b316c7e7d9185bcac72e994984efdb7f2d8515f1f55cf682
+DIST system.collections.immutable.5.0.0.nupkg 623075 BLAKE2B 14724fcb8654455184f8f16f8ac56b7b3c995e632af36e91f307331620b4e9f515a13bc4625d898fbb4b57ff9f017b43cb91ab40b0cebcd7d5eefe32979afa4a SHA512 726f8db7d179714cf0efeb0fc02fcebe7b4755762902e391e77cf78671dd5d5f364c7cf4ce3545b51cc7f37327d12d1500ba19f4b934f0e8bb69a6a347c0bbfd
+DIST system.collections.nongeneric.4.3.0.nupkg 239265 BLAKE2B cc987578ab9b0c1dfc8925f2c946876f8c8d6f335d8d6a6a0a30848c6c812a24774d059fe28aa83887b45d924705abe88fd96451dba7b2253dc9b99afc7a75e8 SHA512 dc6abfe778b3ea08e99f50b79112a51728e689f353b082234351b9f5b1be4b601a0b6d38a04c2138d05b5bdd83d6f3d91b53ee86ed119225c15e4683c38bf98c
+DIST system.collections.specialized.4.3.0.nupkg 183462 BLAKE2B 9297ea15b3d8880a719e4608622793e8883f68887ed2422b287897ad389b41f5301c69707434868c3db88ba3b8819c4cc22b7f5cbb09d2729b0f5e121ddb6921 SHA512 c7a257cbda812d6c0c44b29d8bb5cc4f5cf2d3cb81574eb1dc94a7efde980ac26c5ffadb7cc3521fe7b19437766a046c83cbf2e7ea59a36435c288add8142b57
+DIST system.componentmodel.4.3.0.nupkg 95320 BLAKE2B 8c03f003539d1c0920c4d1a2d0b57a19f93c9c1d7f2e0004035b758b56915da1ba0207d1506cc0cf8af71bb2e58408fb824674941230a0465249752b1dc0df93 SHA512 7c638ac92a132e1553a089c6a711ffb7431b22fecca322ce748d6684ae2baaf161bab2f71704750bd15ec6fda11e795f2ab8491ac769b89341bde77aa9212d59
+DIST system.componentmodel.primitives.4.3.0.nupkg 93137 BLAKE2B abc810f534c991a46cef506df47b66abde687ad65ce16fa8739a05a5c6cd8338ade9961e035f38c559f964c469e47398f537285b63552fb80b4d6b9421993f07 SHA512 ab26d413abce9cfc31b860765d91b21d4048976016d853ce8969f7ba79c039d8846b3c4e2986530f20b62dcb23ff0a769ae5ee37fc078d69eaa962832f2035ef
+DIST system.componentmodel.typeconverter.4.3.0.nupkg 292985 BLAKE2B 732b3362abf534f3a28d6afdf010d9cc52960edbacd19fd70ad49ff1813d31a7f840206773dd5d8661575a0a5b4053a51d58e23fff803e6726bebaf3bedd158d SHA512 0a2b2f3c25de4a6429c6cb9fbb37409e86168921ea71ec58889912742e39e1b67f5cbe764affc3580aa0ef167c7f73a55332a0abf7b043e89185293029d8b087
+DIST system.configuration.configurationmanager.6.0.0.nupkg 447998 BLAKE2B 477de26b3619349fe0a42aabe463e3676c112b64af24d755664baf8d8d3d7d80ad3ef0182fcaee91d83a7a3eef38f9fb25171f30572ad39ead5e93081849d927 SHA512 de58cb928d6303a16301fd7aa8edac379dfe6c47e6d80b21665f92bab9dd5ff52b3e244cf6df0f945f1c72e71c92337561dbf2752fc3324174a8c9ecc70c3247
+DIST system.console.4.3.0.nupkg 102397 BLAKE2B c21bc97bbcda781257473768239f775a16fcc399e933df35a5f5c00f75c5088462ea01ecec2d711a803581d5499c8cb15518e790d6c9e74b15a36c3a1f237d19 SHA512 a08a684a583c9b3278ce32be1007dae495f9d87254666392f794ef1203079f333cd7d388c28944ffa36fb49f0c8bb21f42c70f6e1d7c1c03920df6d0d1130c82
+DIST system.diagnostics.debug.4.0.11.nupkg 149779 BLAKE2B 337beed5f06441a09fb704ffdcc3c277e2f99d7b4931e86419e4d4d0925ad44c86276aae0ee1e29f94ecd37257953731e9607bd00de716d3195dc994dbe189c2 SHA512 02f4d0bf969eb1a876def21c1ffd75f8ed5f979aed9a1169f409e60a6e07016854e2154da5c0164fabaeaf6527a18d8e67282db1b69327a1b3581e9c0c742f58
+DIST system.diagnostics.debug.4.3.0.nupkg 149774 BLAKE2B bdb6d5ee3b8ca4f28b241b098281b7d2957d0996f9345aa086a54b1a981822962e5cc319687849ee52445db47b439b6cd4e99a4c71595f6227f78160aa31724b SHA512 6c58fe1e3618e7f87684c1cea7efc7d3b19bd7df8d2535f9e27b62c52f441f11b67b21225d6bcd62f409e02c2a16231c4db19be33b8fab5b9b0a5c8660ddab24
+DIST system.diagnostics.diagnosticsource.4.3.0.nupkg 120125 BLAKE2B 33f203d8ffc39e0c38599eee625053beae160a0aebe6fbfaaafdc85b570c7b82e3aae281092014e90d10fad7083f37afbb546ad5a0c74a94843ae9b1e9fe85f1 SHA512 8f54df5ff382b6650e2e10d1043863a24bf49ff0714e779e837cd7073e46fb2635bcfcdcf99d7c4a9d95f35ebffd86ab0ca068305f4b245072e08303b917b34d
+DIST system.diagnostics.diagnosticsource.8.0.1.nupkg 517990 BLAKE2B 380c30a5f17fcb1747acecf72477fa3e46feefbf9fa43ca73330262a6ef916d1850cdb63c2554bcb0b52e0bb11b3bd7853a1035202eb6b6454929747d7447741 SHA512 0437300281f6df9a9fb414058be81b953193c59ac35d8f3321ea1230bd3e323657bea4bff1747e68e71d271b5ee758c8e599c25ed246eb09e6537e1c1e3cb8e4
+DIST system.diagnostics.tools.4.3.0.nupkg 67227 BLAKE2B f03928755ec84fd360b2a8a0de3f39e57322cafc4be9e7fa6b7a67d606de9c0869688f62f6b7c9a2ee2915c424ab20779ac87ff510637a9bba740ba0361e6041 SHA512 164d6977e721cbceb44ede7bfd75b03b8d9771e0426aefa5d40c71867e964092fdc6a6808bcbc5559ed73ec2c532ca657d6476af79a49ca3ad879b8366f13d90
+DIST system.diagnostics.tracesource.4.3.0.nupkg 227705 BLAKE2B a94d8a907a729dd4aa296f1f3bfd924865bc73530552d446e301dfe18632880e6800b1d3eb397c59144424896edb8346021a3254201ac6f647ee4ceba412f8b5 SHA512 0655962fdabf1ca334281cee3923aa7211606b932a9ef90ae666fe214edfe1e7089d2ca0865b3047789bde7c30d6bb8198baed748e5ca02041d87d8096d4c5c8
+DIST system.diagnostics.tracing.4.3.0.nupkg 581864 BLAKE2B e09e616dff7879932b358746a62b530499aa61726c4490c56d2d7a0bf888db5b42d75d89cc5befc9fdb6af231beff998b6b243c2b2a08084da089709e0c82a75 SHA512 d0a5d30e261cd45b7dfab02b7ffbd76b64e0c9b892ed826ea61481c983c0208b05b69981cd79e91cd4e5811e1cd4c3cea06a1afce05811ece58be5e4c20169ea
+DIST system.drawing.common.6.0.0.nupkg 1114589 BLAKE2B bc4dac5dbd2504c355cd745a5559d3b5f2d1c59a9e0535c60ba97e12e84845541c8b606e15db6aa99052329950c0f58604779e5535251f20e960bf7c939ace43 SHA512 d61f0a3e01c3eac15f13fc1ba04a2c7ce4eac956400b2faa361fecabd3836d49d5bd344f3985ee3d94cdc3f6a72b8e07e423cdb2965b4f5ca2222b5de32988e4
+DIST system.dynamic.runtime.4.0.11.nupkg 547813 BLAKE2B a59d9fa95313f269033f7e25e39e499ca4910da5c2c1307a1d3d4d96b07fa25fc6b9223755597727b60a26280e1dd4a8bba0b165c3fae9a3d3d9732b77f3e1e8 SHA512 0b2189a6f50effab44a8b1f883f2a1f9b9b32c448123190e8946a877c28ff46a235aa90af0898d1ccd6da2f3155aa2cf26e57f7f61ee7e3c50dfde2190d781ab
+DIST system.dynamic.runtime.4.3.0.nupkg 548103 BLAKE2B 42ac34ffe9b9b6fe69c984aa2b22f0715f7979685730de048490ca05feefd800349df39aeb2bc6b4c3608cd042abc018714fbdc49475a11b46077a2638824c8b SHA512 54446fee94f432cb8fd38ec10c929a87b307a76f152a2e9da11ba99c41ceb0f65913cf218944990f0e122d4f858945091e9806c84c0285ada1fcc939337d30ea
+DIST system.globalization.4.3.0.nupkg 589136 BLAKE2B 7b07f9b68f0744ddcfa3f0db6190c1a0696c2f89f8c5e92922ac20fc4155e22d97e7191bf7866c9b58acec056bff08531b0adacccaec7d4301e1d4b149fa511f SHA512 823d2ba308cb073b40a3146ecccd0d9fd7b1615ac3fbefb16f73d873e411fd81c3bdc87df206d3dc7e2f14c9cd53aafca684a3570c25471280aada8de805ece2
+DIST system.globalization.calendars.4.3.0.nupkg 177689 BLAKE2B b70b5d9e545835e5a3fe4c703b2bd7c857968ba1fcae5299c9c41d550338914f2ad9d168948018fa7da7271d62a3b9d2ad1e696d334ee7d3fdaefd25395aa64c SHA512 e97190231402b393774b925efc02a2bfa41d1d117a17fb87da6e399f5234546962767e9cd8f39970efa408e4f453cd1e6751a2a61e366bc97406e1b0b8a4be86
+DIST system.globalization.extensions.4.3.0.nupkg 142949 BLAKE2B 4eb77d4ce5af01136145ea867e9d6cc81181b36a178ff487905dd7d7c6a4986c518675af68eac0e854347503e11513056173a93e6803683f3fddee7677b88e05 SHA512 a4d360003f95e0c31edf39c0b91e1c73850a60ac5d0032b17db888a3c7d7134cef9acd97219d14174ad213b7c044f49b364cc5720073ebfcb6e1bf6e4ec24ce5
+DIST system.io.4.1.0.nupkg 703645 BLAKE2B b0df16bf1368571d6755f88cc8fcce330d1dd5b478a009363e87f463e12eed7722d4bcd66a1e70de63d1b31ae2793b80c735e19a63e80ad4bc4c45f107e94ce6 SHA512 e01b432f3d715f3c88d5d7f3e7cc1ceee78caf99407a11c3306f9103aee78963f818417f14eec52f0096fa247900a31e53bd3226e06f0c0f93870db0b2b78331
+DIST system.io.4.3.0.nupkg 703652 BLAKE2B b5b2627ace4cc49f35a0caf5c064c4c8262ff0fe3df79bb1bd3529b3e306c8b1e77ea9e5948de343ee786a50e12be822ca89b5ea3f16347b9c0bce6bd8071127 SHA512 bfca5a21e3e1986b9765b13dc6fbcd6f8b89e4c1383855d1d7ef256bf1bf2f51889769db5365859dd7606fbf6454add4daeb3bab56994ffb98fd1d03fe8bc1e6
+DIST system.io.compression.4.3.0.nupkg 485197 BLAKE2B d813f11d1eafa9c5bae049c2e6d7081edbb264520e253bc03441fbc1ea62b75760dd31c038a5a376d41df59c8be55fe1085d7dc012f611731b72040c8c41430b SHA512 f540ee51a3bb6941cdfbaace9a9738d7f7986a2f94770db61f45a88ecb7ef36b571d4c07417dc89cdbe9655a262b7cc599b0a4b78effea91819e186121b44807
+DIST system.io.compression.zipfile.4.3.0.nupkg 113746 BLAKE2B 0622b6c3b6ce841b3c3c1df620ffb68f995ac02d7540d7128ef2831cf08deaa60aaf46059cee0c98624ed5402c8d746128ecfd674acb90ed665d834eb879960b SHA512 1860634672767f818f0192ec2b2750693f0d39390f3b7d400cc6fd4f6e74a5cbed27bf49e5980ec85ff3e161c30f6190f700e339a1040c1699b87eb4aa7b6792
+DIST system.io.filesystem.4.0.1.nupkg 274255 BLAKE2B e5beb1350bea00cf6d533de221129bc3bb799f4e041b23e45304ea39000d9b70cc63fafcbd302046793bac360d431e3dde5c432fb19b0e1af7a1e1bf8e9fb0d1 SHA512 a6478b17f5d52fc5b9517458e93e1a69b92575c170f44046b3f4e25c7e67c9d4126ab486f5a3c51abcb279d05a057bd53aa8f49a1e51eae69563ae39214b72d3
+DIST system.io.filesystem.4.3.0.nupkg 274316 BLAKE2B 4ba513b503cfcad068c23a82423f9900c648fa2bc4fc16555bec717b6c5cfeac6c7708b28009c7a089f80c77ff744f573d72e4dcbeaa14acafb9fd3e8b5100d5 SHA512 4fb581d6f85b9529a091a0e974633752aa39e50b2be6c8a9e5eca8c2bc225cea07064ccec7778f77df9987deebf4dccec050b1a97edac0ee9107142e6a8ee7ee
+DIST system.io.filesystem.primitives.4.3.0.nupkg 94996 BLAKE2B 95fa6178164a7cc6a29c5a3fc55e415419c433b3b74abbcfa4fa5ae1bef40141b9515076b6869e8ed771b0ba6800bdb2fe6fa5d1f773ce52c40753efc0a82be9 SHA512 5885953d09582cffd973d23a21a929064d72f2bc9518af3732d671fffcc628a8b686f1d058a001ee6a114023b3e48b3fc0d0e4b22629a1c7f715e03795ee9ee5
+DIST system.io.pipelines.9.0.2.nupkg 223533 BLAKE2B e5343c17ba67a6b0b30c23ef27644232e5b295c3607bee56aec7ff34c0602942c78a0448b095646016e2c2ba006c3b9fcbee981c0f8632efc4b1c9af550875ac SHA512 89d3ba5b2f1a6161bcd602e6ba838718664edab9a5344a835d75fc6e8e33e90a9e378ba710b6ca5ce369fbf7229a46d49bc82268f8290eb74c2b90417c5fc45d
+DIST system.linq.4.1.0.nupkg 511874 BLAKE2B 3f5941e6fdc731ab7acb58aaad0340695ba2c1ad285ee5eefd9c4ad3972e278d74cabb0d5480f29697b8c9ebf839c3c8064436be4c508ad406f0b3ab2b6366fc SHA512 53e53220e5fdd6ad44f498e4657503780bca1f73be646009134150f06a76b0873753db3aae97398054bd1e8cc0c1c4cdd2db773f65a26874ab94110edb0cddb1
+DIST system.linq.4.3.0.nupkg 512550 BLAKE2B cc6cbb532575bfcfde7ac897970dcd49067186547108f46449f9f819e7910ad32496df3663d4db8eff48224b8ee95b27f7bb442bb477ad47f44da2f6fa893078 SHA512 eacc7fe1ec526f405f5ba0e671f616d0e5be9c1828d543a9e2f8c65df4099d6b2ea4a9fa2cdae4f34b170dc37142f60e267e137ca39f350281ed70d2dc620458
+DIST system.linq.expressions.4.3.0.nupkg 1928029 BLAKE2B 1add363cc651e551fd7abcb797252785e2617159b197ec081de605d7c7dd829e7653e7693495a87909f46575b6619e95fef6e3132532110b3c1e74157ff096a6 SHA512 61b90ef9ae6f779fbc8a7b6483ee8f5449cdd05c81b05235f70447e656a73b2aab7c341784b999f7532374744a72e2c3a5cd13800ea23417fac32ccfae5cde6d
+DIST system.memory.4.5.4.nupkg 205467 BLAKE2B c5b66e68917fc14d5b94aef9aef53087756c59473a2580448f20233e559b3ac9d691b2c063d129083593a1b610252acb01016ef078ed21b390615bf5a6e04dc0 SHA512 8ece5491eb0fe332bc190f40cf76b3beee0c5f996325034861be221fdb0ff02fd59e4f7020b3c4a1f29a457f76ff76c4c95d46d38555e4f48c7a3bf172d87966
+DIST system.memory.4.5.5.nupkg 208978 BLAKE2B 487049b1ffd622868d4aa84cc14f13127641c56937826c11d83851b7032ea248ccf8555f48aca93acc4891ac99ce2178ede50bf13ccbd70ba6004226fb583275 SHA512 e8c8e536c97b94ac3443c940b30dad43cf6e97dc7a8c3d989371048fe74e168606384f5e0143bdc0d86f7783bf9fdee8417964cb3a8a5d752713e90b125172dc
+DIST system.memory.4.6.0.nupkg 192800 BLAKE2B 33cf410dbd0ca42711f3e2aa50ee71b5b2f5f7c6f2344dcd18e17e5d4ed0a26b70cc318ed40b34741ff33a88b79ffa54efb34cba237d01da9d385ccc2819ccbc SHA512 4d8ecda55e15bf4bf06a767a27cbeb2c67f26db3ca840bcbde84f1ec49ddb19fc9ffbd6c9b4d493c21c89adbd8b70875be615ab7f18f4bf89df61b6a20f2beea
+DIST system.net.http.4.3.0.nupkg 1371903 BLAKE2B c0b56398662d8f149eba439ce16ec254bd5a64cee0faf251af07d89ec130953d8865d537b52b432ee19df9ed7405318119d301743bf84f98179c1cd7e6615731 SHA512 e8105ce8151aee95852fb29423f73cc1bd7c2286d36474ed7102a4b31248e45f434434a176d3af0442738398c96c5753965ee0444fb9c97525abbd9c88b13e41
+DIST system.net.nameresolution.4.3.0.nupkg 177639 BLAKE2B c3d666f33577682ba43292ccca908cbd81971ab53eaeb904438a378997903e80d5d3789b3c76db6c50f0411fb17b227db973bc09eadfc0f98ebed88ac0209057 SHA512 40d39e131fe7a392e58e9f58b516b5db88383de91c05b771f5e509acf46cc874271e90623d327ab039003ab8f2714144694390261278de324e1aee228a828ab4
+DIST system.net.primitives.4.3.0.nupkg 769347 BLAKE2B 070d9aaecf9c4ec485850954c425d6d6af23fdb8a50fe40c305657654fcaf58d366f29f62bca6ae32c8604dfd7f5217f822ebe03c68446d4fbc4ee7e44b07852 SHA512 9f7fdece330a81f3312ea7c804927852413bee2c929f3066b736993803df47cc0692fbca236c222bf19dc8f59b42f54f2a4c00da9a4d624e458da5874d127ce6
+DIST system.net.sockets.4.3.0.nupkg 135695 BLAKE2B 17f58a8445cae9ef2ad17bbd7dda092e66bc8be07d767e971fabf14da98f549924cd6a7abf54e8a5a7557710612a151f2f27dd35e559b81f2f06dd71fd43c9f7 SHA512 e32ed9518e9630e99edcf1963c3d0e7047ea8252853c9260eb5403a4206170ae28fd27eb239f39da4d2db766f830b3ebdc9e4da2e697be20241d928082200955
+DIST system.numerics.vectors.4.4.0.nupkg 337043 BLAKE2B 94cca7283873edd9199d843db78e23bc5815de039c2aaeb67ba3cbe4cb5e161eab27b89cfbeeb437f0a9d235b48e86a5b31f53306a7e7a2a38feb28d6e5e523c SHA512 81d46b509b3546b8d6dc9079a7cda162303aef1a1e14bbe1d127522168d388df2a13195b16dfd1b57c1560d73906e909fdff4e2b34104ba81a9336c97874ea1e
+DIST system.numerics.vectors.4.5.0.nupkg 382792 BLAKE2B a97284a76a6729052d3a127e1875e2012ae5b90a40533783dc799b543d44cc084035374799e9e1b894083cb61f2639711f18b76ff31145140519a9674dd9d2aa SHA512 9c04ec0530f608aaf801837a791b33857e2ca6d2265a6049c01fd4e972825967e709cad3070f174829b7400f608e9a641d3afc3a45d4636d4c47dd43dd0657b3
+DIST system.numerics.vectors.4.6.0.nupkg 136752 BLAKE2B e59029c092d623cfc8cbc8a5d64c8d4ebbfe9aadb736c6188442a3e3f3ff08d0458987ad6ef126b8d481323c5f7c07dd88a2932a7b040eb4e11de41d261e8770 SHA512 7716566e79dbdb5fb942e280894127b498ab8792a25359ea94b5ad06ee2ff7f171d519ec80d9fc4f85db99086f0aafd3f78db4d4fe84b061b6cf663975e775c8
+DIST system.objectmodel.4.3.0.nupkg 321655 BLAKE2B bd1110665321034ec27635077ba7f9f1a18cf2f813d7a99f511a91fb6c95827b3b10108bf8a5b4a9e32685a8754e1eeca7d1afb2dcd02ad5ce3ef9db61fcc114 SHA512 409bca3d2139bd1d003c711400ba2db5e576bb54d593aa541ec3576e7b2029b60159ab1c5b2c4e7389267b1b95ebcd8c2f064dc6e1f53e693aacb1737f066123
+DIST system.private.uri.4.3.0.nupkg 16869 BLAKE2B 7a407e16b35e4a5f405029e80749f7ae1c907707d9f72657016667ccf1255463011497b09b7d9e23fb3ccfd4de508dea48b33b13267775619f63134897e54c61 SHA512 5989a57ef273b689a663e961a0fe09d9b1d88438e5478358efc4b165de3b2674fa9579c301ce12d2d2fa5f33295f2acb42eceea2ebebf70c733da6364ceaf94d
+DIST system.reflection.4.3.0.nupkg 700821 BLAKE2B a6aaf054f27be81f1a8251241deaddd6d35aa9ff1cd1b35a65c75201c3305ca0481d8f7a6de52a85736b0477332c404573db300f324e6301365f14fd59784225 SHA512 2325b67ed60dce0302807064f25422cbe1b7fb275b539b44fba3c4a8ce4926f21d78529a5c34b31c03d80d110f7bace9af9589d457266beac014220057af8333
+DIST system.reflection.emit.4.3.0.nupkg 219534 BLAKE2B dddeaced247da3ced46ad776c3560d886db0581d10d2a32df3827c275a895f474933c528b637439831e7f69cabf70bcec544ed1d16069ef11cb047126f2c3b57 SHA512 be45051467a36ab965410f112a475fb81510a5595347d1cc0c46b028e0436a339218dd3c073f048c2d338b67dc13b45742290b6c46f55982503f74a8f2698818
+DIST system.reflection.emit.ilgeneration.4.3.0.nupkg 124567 BLAKE2B 4495327d565f0ef5935bb2ff6f71e25132abda4c8ffeb51195bd4b96d1d5c885e344519287dbb22d28957f0fbad2af0cc977c2fe4650206f7b72ee5dec45a08c SHA512 e9be5f62bf64b1947a49857337306a5d0980686b58d665989e94006ab04aa7e0bbf4d8543d1b57d5bb38079052f275f339b73054a7357e4fa357208a0ac85d69
+DIST system.reflection.emit.ilgeneration.4.7.0.nupkg 204011 BLAKE2B 07db40691e6669baa6f54778623b6881c1cd248dda3dcd589a9af0ec297c810f2c978eb633c5a682d559bf02dd1d5d418d621bb461611d22e23d25ee9a5ac223 SHA512 890d97c3ca82f180ac877f8e50032d0f883c2e2039afd671561943667dc3a24ec2dfcd896cb94f372c975c25b72918afd046efc2dedbd5962a988a027abac8d9
+DIST system.reflection.emit.lightweight.4.3.0.nupkg 84426 BLAKE2B 370e3b74a769e2a8043287ae93804d726ae0704440e3fea9cf5fd1ee46222cdd293d35896349719e87123ac24b05042665148023185ffb89ab8e00820820590c SHA512 ad58af07296bd084907a089f92026fa3898b764eb9d6a07c9414b550a83ac60456f32a34127c29bb93a9633fb07ba9fd828f7b41a31dce5ff019a7cf1ab29435
+DIST system.reflection.emit.lightweight.4.7.0.nupkg 155693 BLAKE2B 86a72eb6666223b2753d6193f0c5a46d227ab6e305d917492b4153f886dd27742d5127dcb7723bbef9384260813e63b8c17264fe4301aaa25d66e924322331e0 SHA512 065af503d56a93e654927964eac16b84e729baac786e9ee4ab065f8709269a1cfef5d80e97c719f429d25db6a56cbf6b7c79a2e470c5c9dc50b1fa339763ef8d
+DIST system.reflection.extensions.4.3.0.nupkg 99740 BLAKE2B 15554874193bbddbb2a7a769a239923ea039b117d9f8ba5ae634b82fdc8f04fcdc871bdf328b0b4e418c9f0c987dfd71546c778a99453ba6b5e754e6939b3c28 SHA512 06cfd992c8d7fd9ab6432ab02be981a01b6558285a6e26a7825a064d4efcce08d9e7344f03fa19b033a2459d42b0b80e8c1400ce39b47a1752869ab8825b0475
+DIST system.reflection.metadata.5.0.0.nupkg 1006081 BLAKE2B 2b10bc13e07d904270e3661435d372008ab9aee0c0dfd409251867273c3e9541392413018306900b0d9c114843756828c946801f65912e27f7a3d351c9061c52 SHA512 3b74e3e491eee87a8410f5b9a2e556233d9919267f6a054da7a4c9c34b6916b07c77ea9ef8cceb5b7c3361e7394e502cc3c9a09247c6a06bb58509e82554e527
+DIST system.reflection.primitives.4.3.0.nupkg 281679 BLAKE2B 36dc0fb5e7a6927ab2f54bc9ccb2e032cce0284c3aa9b83cf2ded8bab5fc7918553b06b16bef69161a7d9a0548b3e9159ab582533578cd28a661225559bd2b1d SHA512 d4b9cc905f5a5cab900206338e889068bf66c18ee863a29d68eff3cde2ccca734112a2a851f2e2e5388a21ec28005fa19317c64d9b23923b05d6344be2e49eaa
+DIST system.reflection.typeextensions.4.1.0.nupkg 187836 BLAKE2B d9cf37002f9c37bd11c43df97fd2e8234993f34c97e9a0606ef28164f1c587cc55ad2f2d66dc62de304ccae90f4d5636d163bbbc86fc00b4bb258a5dc91f4068 SHA512 5b1875ae86f76f60307fbe261c7471e996d4d4eade0c4783cb35a5aad7fec4f01be01cb1f1f78af22d483ecce12096f6ed431d69c4a66c7bf235008bcac30cb7
+DIST system.reflection.typeextensions.4.3.0.nupkg 187842 BLAKE2B 2cec73bd787cc6b4bee793782ff0db98aaced7e7a0645cefb60e6e47d353e1959eed7a48db24e9c7ea6ad7b87648c11c3588d43028c4e0d14c695c38356943a2 SHA512 68ae81a635b9af2aee9fc8fc8fe7da0356ef4da4eb32f81a89fb75613b96714e8f1a1f4c12bd0d335efbb03408cc7a744314837f13564d5fb262ca272055677f
+DIST system.resources.resourcemanager.4.3.0.nupkg 85908 BLAKE2B 002ba25bb953e5a9162214338b50abcecfd8183c68c7b5de8bbc1780e57322b6aa225e13436ffda54b4013fb77540df7428d8c3c89c1a21622ab124d8ca174cd SHA512 9067db28f1c48d08fc52ad40a608f88c14ad9112646741ddaf426fdfe68bed61ab01954b179461e61d187371600c1e6e5c36c788993f5a105a64f5702a6b81d4
+DIST system.runtime.4.3.0.nupkg 7263712 BLAKE2B 6cf2c6704f2a5639bffe2db645fd6ac935e341a5d50f1be97969bfba15e7fd93c94a2ddbb75a3538cefc05142fd72331185ca7ed175141102e8f977649f3bf1f SHA512 92ab2249f08073cfafdc4cfbd7db36d651ad871b8d8ba961006982187de374bf4a30af93f15f73b05af343f7a70cbd484b04d646570587636ae72171eb0714fb
+DIST system.runtime.compilerservices.unsafe.4.4.0.nupkg 71546 BLAKE2B c22c63e811b39b5b7019cb0e27314acc561546502d9e705fbcfa08f575030c07cbd9ec900bbde34c692f7ad21605bd30652af8601ed0c3ac9cfedbf133b0ee31 SHA512 d03f39b62f48714c56aa5db5ddde1613e7f62633734731e611a1b7e2a880de10fb1bc3b88b4320afe46eb649f8a66adbad6f80058e2fce910280799dc3ebd38d
+DIST system.runtime.compilerservices.unsafe.4.5.0.nupkg 103605 BLAKE2B 6c7ca30e2c763d57a4253d631a28d2b157165f9d171f80a79ecc1793afe11c9521b57965b015c8e05f5e7002db23936ff0769c837d59b941dc3e3d1b73f5243a SHA512 91433424f3077ddb5e7869bfafdfed765b1d74f5753d4900cdc814b5c53b2d79f96582a85d4cab3e9f4e6ab042cb72514b99e4ec1b7077e5cc304aa14b3aee34
+DIST system.runtime.compilerservices.unsafe.4.5.2.nupkg 104723 BLAKE2B 30ab5b99a60b0a207bb4306ebcd483882af1721025f61a63dc3d654f060a42ec23e3dcac10623665a14e69ade86189ba0138deb199f63fb8f5124c3581e63c90 SHA512 84c91d5b192cca942515707b25a9907a00ec73110040ee051ddfe5c3fce549953d7598008a3eb9c630ab5deaf5f37c2fa0d033262739cf38e3da873dfdd9685a
+DIST system.runtime.compilerservices.unsafe.4.5.3.nupkg 102160 BLAKE2B a86cea1017d251d3cd271eff0be90ce43ca0becd8b0cd37215aba847c00369414de1d34df318e2554f8989fa48ce0f5bf61e0404fd97b476eb0fe0bf5f10579d SHA512 765d87d36a7b7415dee5b6cbd3a08ead9762915fbfacfad8a205a78d4a187cec6677da2407f7f7c2d1b55fe9f8c0257925c9b0bc193d402972c323979678baab
+DIST system.runtime.compilerservices.unsafe.5.0.0.nupkg 130329 BLAKE2B 661dc87cbbfceb67d13b0bdbcf3a035609213e4b99afac13ac773128b4a4428272e84f17e70fc84218fe1569f9ea9f28152c239713580ef5a75d4fbd6a87f08c SHA512 23226c503b06abecee5a9604a6e4dd3dabcdf921f55d6aa6dad2bab1ca12a001c7866af5a6de01cc9b4ace54e5c8ee1d5c2fd29dd9dfd7eda3ed86f9b35fa59f
+DIST system.runtime.compilerservices.unsafe.6.0.0.nupkg 84343 BLAKE2B aea2f833d6da80dbc275c47bfb207d77a1f2dd203a29352ff5a6e96d8b52752ee3c5bde38117c5ecc5dfbad66d8b47b2001efa1e2d564e14cbbf58d0d1fe208e SHA512 d4057301be4ec4936f24b9ce003b5ec4d99681ab6d9b65d5393dd38d04cdec37784aaa12c1a8b50ac3767ed878dae425749490773fec01e734f93cf1045822b3
+DIST system.runtime.compilerservices.unsafe.6.1.0.nupkg 62013 BLAKE2B 338e41314bb5ca92ff51de48fd052613685877af5e829c2588fbb926d8f509344910d24e4311ad3247c9752899f850f022d7a2674aa2e91ba0fad282dd652044 SHA512 898d2ea5f7507a26827e8c53fa6e172726f4209364e01f532d015a9ce08ead4f57e71d71d938cac743856cb9a0d551b674ec8be671cc9f5f7c48143dd58cb591
+DIST system.runtime.extensions.4.1.0.nupkg 1060307 BLAKE2B 5426e4a8e6d9ebaa6c88ca7dc495c120b848602f15f102d3c65105c8a03ee35136d5eb2e04a3eb2452dea96a36af70e42cb7a317e269bf4ef8a1d3a5f33f9784 SHA512 42d009be57d6497aa0724924891289f3decd916d0432c1c865cc0494092f5e59287f632a70c5060b3c78e361ab04510d75dfb3c2d2853f54201f735eb6e2dea6
+DIST system.runtime.extensions.4.3.0.nupkg 1060357 BLAKE2B e58c5c36d42228a507fba876d43f064b872c93dc4a48e9a7475a77c27e00f2added1dbb8dd5d6516a4c5652ef2b01f5fa31aa611360b38a0b66a0b1a2e479699 SHA512 680a32b19c2bd5026f8687aa5382aea4f432b4f032f8bde299facb618c56d57369adef7f7cc8e60ad82ae3c12e5dd50772491363bf8044c778778628a6605bbc
+DIST system.runtime.handles.4.3.0.nupkg 54854 BLAKE2B e68360382f2c625e3b1526dddb1d49c6bddc9b78d38041801f0df876f1b06d429c608ff3b28a0c1415495eb38fcd70aafa9fe8dc0bb323790e8a85718a9f93f9 SHA512 0a5baf1dd554bf9e01bcb4ce082cb26ee82b783364feb47cba730faeecd70edc528efad0394dcce11f37d7f9507f8608f15629ebaf051906bfd3513e46af0f11
+DIST system.runtime.interopservices.4.1.0.nupkg 2542509 BLAKE2B 3ecf490aacb98e44dd952301828ab27f5cbe6b2053dfdd745737cfe1d7a847691e13b3a7df558daa2a1747e50e7045145a90f51e26f108fe9826814a0c60b7c0 SHA512 e8511e6a4cd40f3c603df4ffbbf6a4aac4d10be79bcfd0249a9af90d55cf2a02543ad9b82e607a4665d58f28c7ce9bdb0f7f3ff9bc8ded8a252213916a771bd2
+DIST system.runtime.interopservices.4.3.0.nupkg 2597020 BLAKE2B 4753b772f9d3596eae34b10497af40bc6e7cd63e9319e5789378cd148b009ae9fd5bde5e5757954ef06826bd4f4b79a3f8d8ea07766238407f26f3e222cdb2cf SHA512 650799c3e654efbb9ad67157c9c60ce46f288a81597be37ce2a0bf5d4835044065ef3f65b997328cbbbbfb81f4c89b8d7e7d61380880019deee6eb3f963f70d9
+DIST system.runtime.interopservices.runtimeinformation.4.0.0.nupkg 165972 BLAKE2B 0a4e21adbb275fded46ae04ccda695b9fcb29d4f199979b914a55d0cdc4457a6a7dfa8bbd82a5a46048d052a7e852cb935a1d4a7c6bf7e462f7b14327a52dc9d SHA512 462d35e66cbdd21dc007f06c6ef129ab57e810fa0f0416bd2fc6fb7eed55138780d4d31e31ee6267a82e2e3a1607e5c642bd6efeb130b57a1baa87e3141b0080
+DIST system.runtime.interopservices.runtimeinformation.4.3.0.nupkg 179546 BLAKE2B 780a92196ee216c1175768b32c04e88cfbc453bd9fdd6e5645c4ccc98f2c5ad62fd5cb158117df9391b1cdc3130a2cddca49304d2579434597350097960ce013 SHA512 6f4905329a3cc9e62d274c885f275ee31c5af57a6c9fd1a5080d039cb748e0277bef3dc8ce42863cac78365084e00a032279bf3d2b7254a49f3fb1566a29ad1b
+DIST system.runtime.numerics.4.3.0.nupkg 283763 BLAKE2B b9e2ffc7e974fb4824ed174be43e664d0fcbe1e996640b8f66a17503c8af24d106e883092fd61b2990c32472423bcad943e07b7e25d126563a219e1b617446ee SHA512 3e347faa8e7ec484d481e53b1c219fe1ce346ae8278a214b4508cf0e233c1627bd9c6c6c7c654e8c1f4143271838ddd9593f63a1043577ad87c40e392af7fd34
+DIST system.security.accesscontrol.6.0.0-preview.5.21301.5.nupkg 279133 BLAKE2B 1a2253fbc2dc70b12b4075f26c1ef4c0209540fe75c078eae51dea5b422085487e8301a59e0d5c3538e1874694946fc742a8a96ac27bcb8f52eb3e6f4d37b877 SHA512 5fafba077c250a72c442923a6a1d5f85ce3e4e6534a83852d123baf4fe0582ca4f1c53d84f41df39fa72a4a39b2a94c784aab1cc59c607dc86b2c73a3f6fca33
+DIST system.security.accesscontrol.6.0.0.nupkg 322676 BLAKE2B 4a263e610c98360396e39dd03b61b5e652d957ec4f11086b831105d6390a8f48eae8cfc425e97114d52d81aee584b155c1dd450c297118d63be7a8085363bd83 SHA512 64a36a103b954ab4b7e8a76c0e876579bd484c308e444c2d915fb9a0fd05ad63614501ed235c544afc9b431cb8a4cf0f0715b8ed414e85958e6d68579168fb45
+DIST system.security.cryptography.algorithms.4.3.0.nupkg 402204 BLAKE2B 3bed21fdd12f005b6a7eb225623e71880a37c79cfdaa770971b6563d8e7f613a64617c73deedc2c6c31fd8e908f9ac95903a1004f1376bd914431f89c9dcc8f0 SHA512 7641d70c2ba6f37bf429d5d949bda427f078098c2dcb8924fd79b23bb22c4b956ef14235422d8b1cc5720cbbcc6cfee8943d5ff87ce7abf0d54c5e8bce2aa5e2
+DIST system.security.cryptography.cng.4.3.0.nupkg 290620 BLAKE2B aaa7b495dd7a8884b125f05b62d3e641cfb04e82f8f376f1e1839cdf124de4643dcf1e6de02e0296768db5f430a33d75cd2003261a815059055ffd5f050c65c4 SHA512 6272273414eaa777e78dca1b5ecbbdf65e9659908082aea924df0975e71f4c1b47f85617edf90ead57078c29513a160ca62f123be9f9f339dfb9c9386844f5ea
+DIST system.security.cryptography.csp.4.3.0.nupkg 117553 BLAKE2B 93f32c719f999c566ac7ebc486854778051ca885632a3ecf5b50af05a700df092a0e13ce08f16c854aee3ef06bc27fc61e6b03f79f3170eeb2bcce7e22d9728f SHA512 43317591747a18f52f683187e09adfe0e03573e6dac430bf3ba13f440cdb1c7bb1f9205369d5f3b2a0f3fdf9604d5ba1e6d94a899a25d2c533e453338578f351
+DIST system.security.cryptography.encoding.4.3.0.nupkg 144382 BLAKE2B 9f8e6a4ce5fe2a4de2be0c827e914a02a257011b508e97e289b9de4657b598fdbba4e64dcf23a29af6e4910af41e62f3b3f0d6a2156ab691e2e00ad76c6499ef SHA512 5c26add23e63542f37506f5fa1f72e8980f03743d529cd8e583d1054b8d8a579fb773fa035a00d9073db84db6be4f47cac340d1ebc6d23dd761dbdbd600075e0
+DIST system.security.cryptography.openssl.4.3.0.nupkg 71949 BLAKE2B ec1654bbd09e1244d260d1ddbefcbdeed207816a2719f3bb0f055a7a140d466f186667b1f202e0d1a3eda97f247d2c1776ad6f38f50de58960da5f0dfd2a2d08 SHA512 64530a19489730f873f8c68e6b245135ea260c02d68591880261768358d0145795132ba5ee877741822ff05dcd0c61edca27696ef99e8f9302a21cadf3b1329f
+DIST system.security.cryptography.primitives.4.3.0.nupkg 81382 BLAKE2B 55bcbe3143e85d24f47c72ec5e1f0ad38a1f931932b3a8a03dc00028668fc085d070dfcded55654e09328a745b208b9f15928aaff1087d8906bad41d7cfb23e0 SHA512 5ad8273f998ebb9cca2f7bd03143d3f6d57b5d560657b26d6f4e78d038010fb30c379a23a27c08730f15c9b66f4ba565a06984ec246dfc79acf1a741b0dd4347
+DIST system.security.cryptography.protecteddata.6.0.0.nupkg 126768 BLAKE2B 3ec81101da96e2395944ce93506d8f23b0f82bceb95a08b784d3d7aed619bee7aea80dcf725babf9650931018ced7e49988ceaea571cea8ea2595b2556d3f070 SHA512 489b5dab0abfadfb8bc2d0437de83a1447918071949440e766db701c81c3518de6a38a3e0f699706b06d591ab5393c7bc0b2eaa81c15bff156339248e6c35730
+DIST system.security.cryptography.x509certificates.4.3.0.nupkg 706727 BLAKE2B 67c777394c982267c08dba232dd75aba6e924784d14388f7f8e347293c8f3a67ef9490a078b3f56f649a1ab352a4c924630f384850e3d5f1510dceae45fd0af1 SHA512 318d86ab5528e2b444ec3e4b9824c1be82bb93db513eab34b238e486f886c4d74310ed82c2110401fe5cd790e4d97f4a023a0b2d5c2e29952d3fd02e42734d00
+DIST system.security.permissions.6.0.0.nupkg 240029 BLAKE2B 3d213c22806d7ebed6e5c6de903b04610739d443deba18189b3322b68fa045b19c317ecda73fbab848bf9936f081443669bdf5aa6ad3c32680f5f1b108b12bb0 SHA512 d4f2172cc3b164f104fa2e3a330b62f2a15f50e050a91659db5728f28d4d5d6ca8660eec3a4f922090181a54bc1e9f6634ca49750398360727d1bc59db620278
+DIST system.security.principal.windows.4.3.0.nupkg 220931 BLAKE2B dcf84627ab57c5e72e0f1828b48c6e9bfa2ea2ead7b9c02bff03b9819f4057cb9d4a8821cfd0a98a381f2d7a2471df04041567de970f9d60557923e6e09317aa SHA512 66c1d5a9d649b964e1653fa2cd41d8f80515b7cd727fcd7f0890552070da1099ecd1032560f259a108e0d1d6a6da23fa07bc5c922f426a91f33b667f7c004019
+DIST system.security.principal.windows.5.0.0.nupkg 535022 BLAKE2B 4b20ab3cc0b4bc820df360df57b2eb0e2059de677c432af31e73acdf600a417685900aed2cee8e33ba9020d02ae688096cd9c3a77da441ed33cf968c90124bd5 SHA512 44a920aaaf22b2172d41319bb57ab2b8e1a4531d5f02192a6f53a81d875125195b60ba0b5a44a45981d137fd7b0f3a65b12959b5fd97afc0578cd84ef27467cd
+DIST system.security.principal.windows.6.0.0-preview.5.21301.5.nupkg 338194 BLAKE2B 4b7c4a948831a4ad82ef792a6111701d683ad7b2f3a1bc849284624cb5277f14d29fbe860f3d0d76afbe32036b1ba677f0a4d50dea19e1c8d6cdbaddf1573d82 SHA512 c8f7a63dfc83aece615b40350223b912b3ab5b6000a3bbe106619a1f1fd7a58bd043edb49f4ee2ba5e0423a3c04fdca0c7386c32b9a6569377d9ea21ef0cf672
+DIST system.text.encoding.4.3.0.nupkg 327281 BLAKE2B e153609b257919932499a013337b8b2a4087ebff7e8ffe6854ad1c70fbd058aaabc4e974313dfb3cf1a9355b0ced87bd97cd39f6a4962b8a4a87003d3a66c53c SHA512 6ff7feec7313a7121f795ec7d376e4b8728c17294219fafdfd4ea078f9df1455b4685f0b3962c3810098e95d68594a8392c0b799d36ec8284cd6fcbd4cfe2c67
+DIST system.text.encoding.codepages.4.5.1.nupkg 4234891 BLAKE2B d06be022d76a5793999248baa82db37adc262da2e74531d75f5f5e1a6c29b0ca702694b19c3254ab2e955f5b70959ff22f35d43593a2072af6ba5b7952155dc2 SHA512 12edddc9452a0c592eb24aeb2b9e152d60b8d44540349368e6fce3a239c6029847f8557adcd260df3b39c744ef45a6034d9db2fbce9e20e2b8dc78363578b0ef
+DIST system.text.encoding.extensions.4.3.0.nupkg 244195 BLAKE2B 9dc2fbf672e07c5302bbb8435e8c09bc91febb96f22b85b57b09b2046fca224c786f8710b634559de2722f3dbece7b30e6a3c6a78e98e77f955d550e440beb60 SHA512 e648c5dc781e35cf00c5cc8e7e42e815b963cf8fb788e8a817f9b53e318b2b42e2f7a556e9c3c64bf2f6a2fd4615f26ab4f0d4eb713a0151e71e0af3fe9c3eed
+DIST system.text.encodings.web.9.0.2.nupkg 293435 BLAKE2B cc35d84a7d15c792e3c5a5da27b453d217135b262d7884f2dc8192d58d5ff3f9035a22f397786108e473eab3544870eeef6c0b96200f96fb244d479babe9a0aa SHA512 60f0b5416a0fc57bc9c8495f6af2acc96de5d1d1bb74c6fa1012ab2ff749d702d92642587ac1f38b575e48e499112e8ca295714d1729edee8576583cb0e95861
+DIST system.text.json.9.0.2.nupkg 1877233 BLAKE2B a3f1c20626620c21252902dab91bea6f2854375a385d8fa5fd81800f43eb800d08967dbfd8547b79d3b828a12d53fb9376657e6f77188684b1156f144ab6e9a5 SHA512 967a03172be8c33c005b88048133692b06ba9f7e58afa08a4f7b11fbdd3c2d391fd7b6e5e9c239fae6b8778e502898e89d268042aa46910d44995b928bad45e5
+DIST system.text.regularexpressions.4.3.0.nupkg 530523 BLAKE2B fc77aa0a92658cfac1b3fc00b87fabbec1be5c79776b0b2680775615b273a5a49ff8d5000f97415b85fc0283ff95569ba9a5a72917828455646053033088b49b SHA512 80353c148df30d9a2c03ee10a624d91b64d7ccc3218cb966344cfa70657f0b59c867fed2ab94057f64ab281ad9318353f25c23375c00e1376b6589ae0a70aad3
+DIST system.threading.4.3.0.nupkg 708088 BLAKE2B 004d01762fad35a4607522d974a0cdc3d0049c82fe704f2f86fb98ee81059ebb56d13c290fcd273d1067a1a7c7f17bf3259d4d7e802c1d09a95e3c5fa29ef3f3 SHA512 97a2751bdce69faaf9c54f834a9fd5c60c7a786faa52f420769828dbc9b5804c1f3721ba1ea945ea1d844835d909810f9e782c9a44d0faaecccb230c4cd95a88
+DIST system.threading.channels.8.0.0.nupkg 245743 BLAKE2B 1c7af0153bc68398a9e8c4daf142e41904c952e18c575d851d12217e11d1e308ceab8e15eb29db3533556b0e14545ce2996838ab830a3528be6a3d35ce0ffae3 SHA512 335b37eb97f594e73ab36e7ce7f0135be291445167688e89bd249d135e27f592a0bd69d91e8246a1c72a578d57bed443ac7302311365c16160b7dc974eedf141
+DIST system.threading.tasks.4.3.0.nupkg 840017 BLAKE2B 1cf4a8cc833da0a38304757db3808df5c217518c817d5807bf6f35393725a31223129fd1c4c964a36a60c65b686d24fc25d1777fa12ee622bddbb0f7c1772bec SHA512 7d488ff82cb20a3b3cef6380f2dae5ea9f7baa66bf75ad711aade1e3301b25993ccf2694e33c847ea5b9bdb90ff34c46fcd8a6ba7d6f95605ba0c124ed7c5d13
+DIST system.threading.tasks.extensions.4.3.0.nupkg 52499 BLAKE2B 3e6532ad1936859e2713e2e864831efe0af00a5ce561bd7f8723845bf285b8c15de00cb1fc246504f99599d183b400746cea987db883f0e61283db1fb2725a1e SHA512 2c33900ff7f544d6db31ad11b6baee1c9ecb40d5a54f51e5dd5bbbb37f4c50ee35ed481615cbf7c1da61a31ae3333c4454bfbeee4ae32241789e72ce3f910db6
+DIST system.threading.tasks.extensions.4.5.4.nupkg 89582 BLAKE2B 728fc5794745b706a7e3a7d05186f34e2a8c1837cafdc7fc9a1bd8fc6fd42025448cbdfa53415a05d872aa08db1deb31d104054630c9ac7ecd29a2ddd973fd5c SHA512 68052086e77d3c7198737a3da163d67740b7c44f93250c39659b3bf21b6547a9abf64cbf40481f5c78f24361af3aaf47d52d188b371554a0928a7f7665c1fc14
+DIST system.threading.threadpool.4.3.0.nupkg 89926 BLAKE2B ec4210a5862c0704b118e4055785c7094ff8c3586800fcae109fa60e77565d8288089c64bce105e9cab08f8bb107dca340e72ae1d39d19f6118538ed32f449d6 SHA512 450a40f94a48e9396979e764e494ad624d8333f3378b91ea69b23fc836df8f5c43bbd6c8cfd91da2ab95a476e1ff042338968e09b720447f2241c014bfc75159
+DIST system.threading.timer.4.3.0.nupkg 77054 BLAKE2B be1665b86776f2f7e780de889e363a3c10da581eaf9a414da5ae5d059564281d78691142281d31b48c47b9efc084f1826165763097273f77e58699742c8c93da SHA512 d5ce8e258b7be7be268f944e21621195948106f57e6c46e69b2887c46f567760368b14e84046b4be4466ecd08ecd4cb04016a2ff7948cb4640960befc7aa1739
+DIST system.windows.extensions.6.0.0.nupkg 113560 BLAKE2B c1fb56b177368b49cb7a2bdd3307b70847ab70b5757c3e1923ea499afc8d43e14660a3e6330fa99e7e9e653d68563e93de96425d5f56a695ab478c4a8e3ac30c SHA512 f51eec8166f97b5fcea24816ec737c24d5c5a5cb145ef2d33277c9a16044f40bc3fb97b4cfe7f9a23af704ede91586c6abd2acf00b277538bb304d77a1ca54f0
+DIST system.xml.readerwriter.4.3.0.nupkg 1388897 BLAKE2B ae51b8fe4492dec1e4e3584d05b0f477fd4e75e79dddb46d8077ae5311245d6fc6213d0655025f25db56f1370cb0e88bd60a83dc937bb53db1db0262390281f2 SHA512 991101497fbd39e43fc306ca280a465318868afa8db1f34bb87c266fe61f0c81a0ec34a797b236ee823bd60d1149b7592def96fe044abb511858efffe890c2e6
+DIST system.xml.xdocument.4.3.0.nupkg 591350 BLAKE2B 86f910cef36c056f4a9ea9dc26eea6e01070467d27ac80fb8a0af5e1a572ad5d2169e4f1297cd362fddc9e0309458dbd413fca85ef8e56f97781c218e594604a SHA512 c2d9236a696daf23a29b530b9aa510fb813041685a1bb9a95845a51e61d870a0615e988b150f5be0d0896ef94b123e97f96c8a43ee815cf5b9897593986b1113
+DIST system.xml.xmldocument.4.3.0.nupkg 285212 BLAKE2B 0d96ca356543e8e915597e0624dca42f0c7032a2ae9e380a6fba3fbee0dacb9e5f06017893b2b7a8b937dbb4de7d5665fa6648e3bf8df12e0d34e4075c125109 SHA512 22251b3f16de9aa06e091b24baea1b8c95752f0d22266faf34e1fb76b347b23f7910cdaf567058e23d06b7079961090ca70805070a2491add5da4d0271afd133
+DIST veldrid.4.9.0.nupkg 650614 BLAKE2B 165e92974b2954b5ec0dfd7a465fa4ed15b763332d746bc874cdccb20736cb2e9a1ca61bc272ee20bdf98c0ac4763f9c53b896793d8b1507a1256bc40bedd1be SHA512 907bee9887dae5d79c7b67446e854c35ceddc3ab4ecba37776fd7756b680bc92bfab167068de3d6a8a2d889e31ae08f10d668390376dfe3bede7e8c3510c4d78
+DIST veldrid.imagesharp.4.9.0.nupkg 47739 BLAKE2B 2d12d44165e9063f6f47c40ff5729f84747b77f282368057de0d9a6203fae987cd5ab3f7f0bbef7ab3d95ff998fca5b7a6144d2ae6462f8cae893b96c0ea4f45 SHA512 6edf7ca445bc1b371dea4dbd636c918cd58d54c7d420d6d7c6cad8ef3e52f78658fcdadadc0761b6362433519ae2b4ee9c7d8036978c8d3db88765ba419200fd
+DIST veldrid.metalbindings.4.9.0.nupkg 58230 BLAKE2B 4bbc46feeff86efbae4743e61b7b3823d5f1d50c3ad200b6ca957fde77f589005cb9f3b3e334c1f795cc8a4ae7cb1b6000abeb9de7340f6baaba3dd4d07beed4 SHA512 0bee05543226ce4a0f68f014e550c6ca689388574a8e50aa0116a0c4048b83df4eeb8ac337c3804d573ce86bfad6c65b26a0a1017c8d77edf592825387c541fc
+DIST veldrid.openglbindings.4.9.0.nupkg 66821 BLAKE2B c1309775f5eafa96655b20000052676d72a20682a7736d76ed0c9d3d1357b2c8c12b2f65d8c6689609bb0c339f4b2c3e7ca7939b04c3f9067821be07be2593a7 SHA512 7e8fb1368eb3e18ad2f594710f8bbd32beb01b24ccc086a43c3602134621cea86dc910cb51a3357114328a4a533fb7a0170966852d3d1efd11efe012810371be
+DIST veldrid.sdl2.4.9.0.nupkg 1483550 BLAKE2B 12915c7f14f571101aff8245cad36f8219ab1e9f6c751ccfebff1f7dc290e93574a21e97644df9c16e50733b3cf10a5fd7a3e123bc0f8519dd1840985a48c99d SHA512 bab0b135a3dde3b96fb7bb016c4c609921010199b5198a977853d7f65815e722282913da32969eb937c2c7a9ec1b222e7035e807784b8349147eb6771f7eb377
+DIST veldrid.startuputilities.4.9.0.nupkg 28452 BLAKE2B fb859ba44a25f99745e980081595d74d57cd3911f03bf95ca9c5d4b78bc431116214795426bcec3b686d049ae5625728a817fe40319c39842fd0445112182e21 SHA512 f90a86c2a158e1f3248565e648c41a4c8955abac7ddb3fb783385955b0b96341ec6b5d714e727bb080a19abe323672b282d8feb8b56571bd899fc1ff1f9761bc
+DIST vk.1.0.25.nupkg 221120 BLAKE2B 6019768603784793d155cc0f97bb6bf0f2221e575652b36984dbc81184ce378255f35440816944be869ab530cd8485b4c6924b38d6a1296885f60a7163fa5fcc SHA512 6f946367a8ff946e01870f8f1677eeffcef1c6d14b7341c1d067928121f875957f607c3b6e9b91280272434686ce4bf4b0dedfb5e14592fe9a72459a56fa17cb
+DIST vortice.d3dcompiler.2.3.0.nupkg 79908 BLAKE2B 3dc19f63544c793e8ce76e33ec77b5285eada5caa463ac62bd62ccfbd0f3d27a04d6ddcebb2ce0e521f4a45c1a982f60af99c67a454b6da9f17ec44e94da83a4 SHA512 7500b4810e54932f72fcccfc621177af3f76b7c52482790e69879aca5d92bc1d5bc0a54546034efcd275504b7162ed51e3618029d8e05a03c068e6289a164d37
+DIST vortice.direct3d11.2.3.0.nupkg 1000170 BLAKE2B 3cb6882ff784a72f887265ce366ee8161b89653517edeabd618f01f4c68492f51438edd4da886d331974fb8b412c04f7b0109bf46638380b72ff76724c1725b7 SHA512 3ce3c39c241ffab511b0ef5370bc74e08af48eba7cfe86a7082a5392c11672f456fd9157d63b9dddec791ebb3008d7f3b976fa5fb9109667434133042323e252
+DIST vortice.directx.2.3.0.nupkg 1123600 BLAKE2B 4af31197c9056e95d1ad3f860696637150ea950665a76efb6365b39b11b4b4d1cf6480ac8df82e945b0c5b187135f6e2bd22f1295a7b230a94d881d9c1d59af7 SHA512 3366ab9156a17cc0389fb7948f8385783672cedc30f03f13fff53ef6ab1678af61f560919e6ac50387c44b6722414f6986d55435791c4dd1d29a6e80f08b21a1
+DIST vortice.dxgi.2.3.0.nupkg 339067 BLAKE2B 63a8f23f3a5a29b7b68c5429005c3ca0d623b8122d0b1fbd9ec9715cc78283df3951ebeed624d98ca2032ffcd3361f8d944c68176fff40800936c044e8ebe1c0 SHA512 adaad404537114fd3092817419680b78e1cfca01c7b3e0941f98071dbefad4160355d868f63ccf7187d4e6b4b7341fd01f406d9ff0de23f9676af4afb62dd31f
+DIST vortice.mathematics.1.4.25.nupkg 360426 BLAKE2B 31780297d1e2e5bcdae92f34a93982c63bcf42ebbbb5ac848c4fbaea6d9340724ae83826fa20d0b1e82456f1f66d0332dd2e85f5f623d03fb53b5d4b7d6eb86b SHA512 4721b4514028384405e213a33b152a2760794e62d62f7078352486d43636f428c8a815d18d02f4cdca6168ef44898da85ec55760b25f240f0c074e3ea978f0db
+DIST xivlauncher-1.3.1.tar.gz 18063432 BLAKE2B bc36aa6eae480484970f1db17af37701bb22e728ae212d510898c0fdccc4d774217efa463b6ebe9d5c8484ad383e39f9d3d8383277eb410754b0a22b6d5f1822 SHA512 c31d44ed077494bf80f3ed0d3ac5fde6757b98850e868e9a2fbed360ee9670eee9275fcc66ea0ccb477c2e93fcea0482e92d62456e1ddcef3085bb581e0b9480
diff --git a/games-util/xivlauncher/metadata.xml b/games-util/xivlauncher/metadata.xml
new file mode 100644
index 000000000000..f42825ed24f3
--- /dev/null
+++ b/games-util/xivlauncher/metadata.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>navi@vlhl.dev</email>
+ <name>Anna Figueiredo Gomes</name>
+ </maintainer>
+ <maintainer type="person">
+ <email>edgar@edgl.dev</email>
+ <name>Edgar Luque</name>
+ </maintainer>
+ <use>
+ <flag name="libsecret">Enable secrets/password storage support.</flag>
+ <flag name="aria2">Enable Aria2 support.</flag>
+ </use>
+ <upstream>
+ <remote-id type="github">goatcorp/XIVLauncher.Core</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/games-util/xivlauncher/xivlauncher-1.3.1.ebuild b/games-util/xivlauncher/xivlauncher-1.3.1.ebuild
new file mode 100644
index 000000000000..5fbf66e55a0d
--- /dev/null
+++ b/games-util/xivlauncher/xivlauncher-1.3.1.ebuild
@@ -0,0 +1,286 @@
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DOTNET_PKG_COMPAT="9.0"
+NUGETS="
+castle.core@4.4.1
+commandlineparser@2.9.1
+config.net@4.19.0
+goaaats.steamworks@2.3.4
+imgui.net@1.87.2
+keysharp@1.0.5
+microsoft.bcl.asyncinterfaces@9.0.2
+microsoft.codeanalysis.analyzers@3.3.2
+microsoft.codeanalysis.analyzers@3.3.3
+microsoft.codeanalysis.bannedapianalyzers@3.3.4
+microsoft.codeanalysis.bannedapianalyzers@4.14.0
+microsoft.codeanalysis.common@4.0.1
+microsoft.codeanalysis.csharp@4.0.1
+microsoft.codeanalysis.netanalyzers@10.0.101
+microsoft.codeanalysis.netanalyzers@9.0.0
+microsoft.dotnet.platformabstractions@2.0.3
+microsoft.extensions.dependencymodel@2.0.3
+microsoft.netcore.platforms@1.1.0
+microsoft.netcore.targets@1.1.0
+microsoft.win32.primitives@4.3.0
+microsoft.win32.registry@6.0.0-preview.5.21301.5
+microsoft.win32.systemevents@6.0.0
+nativelibraryloader@1.0.13
+netstandard.library@1.6.1
+netstandard.library@2.0.3
+newtonsoft.json@13.0.3
+newtonsoft.json@9.0.1
+pinvoke.kernel32@0.7.124
+pinvoke.windows.core@0.7.124
+polysharp@1.10.0
+runtime.any.system.collections@4.3.0
+runtime.any.system.diagnostics.tools@4.3.0
+runtime.any.system.diagnostics.tracing@4.3.0
+runtime.any.system.globalization.calendars@4.3.0
+runtime.any.system.globalization@4.3.0
+runtime.any.system.io@4.3.0
+runtime.any.system.reflection.extensions@4.3.0
+runtime.any.system.reflection.primitives@4.3.0
+runtime.any.system.reflection@4.3.0
+runtime.any.system.resources.resourcemanager@4.3.0
+runtime.any.system.runtime.handles@4.3.0
+runtime.any.system.runtime.interopservices@4.3.0
+runtime.any.system.runtime@4.3.0
+runtime.any.system.text.encoding.extensions@4.3.0
+runtime.any.system.text.encoding@4.3.0
+runtime.any.system.threading.tasks@4.3.0
+runtime.any.system.threading.timer@4.3.0
+runtime.debian.8-x64.runtime.native.system.security.cryptography.openssl@4.3.0
+runtime.fedora.23-x64.runtime.native.system.security.cryptography.openssl@4.3.0
+runtime.fedora.24-x64.runtime.native.system.security.cryptography.openssl@4.3.0
+runtime.native.system.io.compression@4.3.0
+runtime.native.system.net.http@4.3.0
+runtime.native.system.security.cryptography.apple@4.3.0
+runtime.native.system.security.cryptography.openssl@4.3.0
+runtime.native.system@4.3.0
+runtime.opensuse.13.2-x64.runtime.native.system.security.cryptography.openssl@4.3.0
+runtime.opensuse.42.1-x64.runtime.native.system.security.cryptography.openssl@4.3.0
+runtime.osx.10.10-x64.runtime.native.system.security.cryptography.apple@4.3.0
+runtime.osx.10.10-x64.runtime.native.system.security.cryptography.openssl@4.3.0
+runtime.rhel.7-x64.runtime.native.system.security.cryptography.openssl@4.3.0
+runtime.ubuntu.14.04-x64.runtime.native.system.security.cryptography.openssl@4.3.0
+runtime.ubuntu.16.04-x64.runtime.native.system.security.cryptography.openssl@4.3.0
+runtime.ubuntu.16.10-x64.runtime.native.system.security.cryptography.openssl@4.3.0
+runtime.unix.microsoft.win32.primitives@4.3.0
+runtime.unix.system.console@4.3.0
+runtime.unix.system.diagnostics.debug@4.3.0
+runtime.unix.system.io.filesystem@4.3.0
+runtime.unix.system.net.primitives@4.3.0
+runtime.unix.system.net.sockets@4.3.0
+runtime.unix.system.private.uri@4.3.0
+runtime.unix.system.runtime.extensions@4.3.0
+serilog.enrichers.sensitive@1.7.3
+serilog.enrichers.thread@4.0.0
+serilog.sinks.async@2.1.0
+serilog.sinks.console@6.0.0
+serilog.sinks.debug@3.0.0
+serilog.sinks.file@6.0.0
+serilog.sinks.file@7.0.0
+serilog@4.0.0
+serilog@4.1.0
+serilog@4.2.0
+serilog@4.3.0
+sharedmemory@2.3.2
+sharpgen.runtime.com@2.0.0-beta.13
+sharpgen.runtime@2.0.0-beta.13
+sixlabors.imagesharp@1.0.4
+system.appcontext@4.1.0
+system.appcontext@4.3.0
+system.buffers@4.3.0
+system.buffers@4.4.0
+system.buffers@4.5.1
+system.buffers@4.6.0
+system.collections.concurrent@4.3.0
+system.collections.immutable@5.0.0
+system.collections.nongeneric@4.3.0
+system.collections.specialized@4.3.0
+system.collections@4.0.11
+system.collections@4.3.0
+system.componentmodel.primitives@4.3.0
+system.componentmodel.typeconverter@4.3.0
+system.componentmodel@4.3.0
+system.configuration.configurationmanager@6.0.0
+system.console@4.3.0
+system.diagnostics.debug@4.0.11
+system.diagnostics.debug@4.3.0
+system.diagnostics.diagnosticsource@4.3.0
+system.diagnostics.diagnosticsource@8.0.1
+system.diagnostics.tools@4.3.0
+system.diagnostics.tracesource@4.3.0
+system.diagnostics.tracing@4.3.0
+system.drawing.common@6.0.0
+system.dynamic.runtime@4.0.11
+system.dynamic.runtime@4.3.0
+system.globalization.calendars@4.3.0
+system.globalization.extensions@4.3.0
+system.globalization@4.3.0
+system.io.compression.zipfile@4.3.0
+system.io.compression@4.3.0
+system.io.filesystem.primitives@4.3.0
+system.io.filesystem@4.0.1
+system.io.filesystem@4.3.0
+system.io.pipelines@9.0.2
+system.io@4.1.0
+system.io@4.3.0
+system.linq.expressions@4.3.0
+system.linq@4.1.0
+system.linq@4.3.0
+system.memory@4.5.4
+system.memory@4.5.5
+system.memory@4.6.0
+system.net.http@4.3.0
+system.net.nameresolution@4.3.0
+system.net.primitives@4.3.0
+system.net.sockets@4.3.0
+system.numerics.vectors@4.4.0
+system.numerics.vectors@4.5.0
+system.numerics.vectors@4.6.0
+system.objectmodel@4.3.0
+system.private.uri@4.3.0
+system.reflection.emit.ilgeneration@4.3.0
+system.reflection.emit.ilgeneration@4.7.0
+system.reflection.emit.lightweight@4.3.0
+system.reflection.emit.lightweight@4.7.0
+system.reflection.emit@4.3.0
+system.reflection.extensions@4.3.0
+system.reflection.metadata@5.0.0
+system.reflection.primitives@4.3.0
+system.reflection.typeextensions@4.1.0
+system.reflection.typeextensions@4.3.0
+system.reflection@4.3.0
+system.resources.resourcemanager@4.3.0
+system.runtime.compilerservices.unsafe@4.4.0
+system.runtime.compilerservices.unsafe@4.5.0
+system.runtime.compilerservices.unsafe@4.5.2
+system.runtime.compilerservices.unsafe@4.5.3
+system.runtime.compilerservices.unsafe@5.0.0
+system.runtime.compilerservices.unsafe@6.0.0
+system.runtime.compilerservices.unsafe@6.1.0
+system.runtime.extensions@4.1.0
+system.runtime.extensions@4.3.0
+system.runtime.handles@4.3.0
+system.runtime.interopservices.runtimeinformation@4.0.0
+system.runtime.interopservices.runtimeinformation@4.3.0
+system.runtime.interopservices@4.1.0
+system.runtime.interopservices@4.3.0
+system.runtime.numerics@4.3.0
+system.runtime@4.3.0
+system.security.accesscontrol@6.0.0
+system.security.accesscontrol@6.0.0-preview.5.21301.5
+system.security.cryptography.algorithms@4.3.0
+system.security.cryptography.cng@4.3.0
+system.security.cryptography.csp@4.3.0
+system.security.cryptography.encoding@4.3.0
+system.security.cryptography.openssl@4.3.0
+system.security.cryptography.primitives@4.3.0
+system.security.cryptography.protecteddata@6.0.0
+system.security.cryptography.x509certificates@4.3.0
+system.security.permissions@6.0.0
+system.security.principal.windows@4.3.0
+system.security.principal.windows@5.0.0
+system.security.principal.windows@6.0.0-preview.5.21301.5
+system.text.encoding.codepages@4.5.1
+system.text.encoding.extensions@4.3.0
+system.text.encoding@4.3.0
+system.text.encodings.web@9.0.2
+system.text.json@9.0.2
+system.text.regularexpressions@4.3.0
+system.threading.channels@8.0.0
+system.threading.tasks.extensions@4.3.0
+system.threading.tasks.extensions@4.5.4
+system.threading.tasks@4.3.0
+system.threading.threadpool@4.3.0
+system.threading.timer@4.3.0
+system.threading@4.3.0
+system.windows.extensions@6.0.0
+system.xml.readerwriter@4.3.0
+system.xml.xdocument@4.3.0
+system.xml.xmldocument@4.3.0
+veldrid.imagesharp@4.9.0
+veldrid.metalbindings@4.9.0
+veldrid.openglbindings@4.9.0
+veldrid.sdl2@4.9.0
+veldrid.startuputilities@4.9.0
+veldrid@4.9.0
+vk@1.0.25
+vortice.d3dcompiler@2.3.0
+vortice.direct3d11@2.3.0
+vortice.directx@2.3.0
+vortice.dxgi@2.3.0
+vortice.mathematics@1.4.25
+"
+
+inherit dotnet-pkg desktop xdg
+
+XIVQL_COMMIT="8547d316ab2d64d41257d2f7d953d5086b593da7"
+
+DESCRIPTION="Custom Launcher for Final Fantasy XIV Online (Crossplatform rewrite)"
+HOMEPAGE="https://github.com/goatcorp/XIVLauncher.Core/"
+SRC_URI="
+ https://github.com/goatcorp/XIVLauncher.Core/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz
+ https://github.com/goatcorp/FFXIVQuickLauncher/archive/${XIVQL_COMMIT}.tar.gz
+ -> FFXIVQuickLauncher-${XIVQL_COMMIT}.tar.gz
+ ${NUGET_URIS}
+"
+
+S="${WORKDIR}/XIVLauncher.Core-${PV}/src"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64"
+
+IUSE="+aria2 +libsecret"
+
+RDEPEND="
+ aria2? ( net-misc/aria2 )
+ libsecret? ( app-crypt/libsecret )
+ media-libs/libsdl2
+ sys-apps/attr
+ media-libs/fontconfig
+ media-libs/lcms
+ dev-libs/libxml2
+ x11-libs/libXcursor
+ x11-libs/libXrandr
+ x11-libs/libXdamage
+ x11-libs/libXi
+ sys-devel/gettext
+ || ( sys-libs/libunwind llvm-runtimes/libunwind )
+ media-libs/freetype:2
+ media-libs/glu
+ x11-libs/libSM
+ dev-libs/glib
+"
+
+QA_FLAGS_IGNORED="
+/opt/xivlauncher/libsteam_api64.so
+/opt/xivlauncher/libskeychain.so
+/opt/xivlauncher/libcimgui.so
+/opt/xivlauncher/XIVLauncher.Core
+"
+
+DOTNET_PKG_PROJECTS=("${S}/XIVLauncher.Core/XIVLauncher.Core.csproj")
+
+src_prepare() {
+ rmdir "${WORKDIR}/XIVLauncher.Core-${PV}/lib/FFXIVQuickLauncher" || die
+ mv "${WORKDIR}/FFXIVQuickLauncher-${XIVQL_COMMIT}" \
+ "${WORKDIR}/XIVLauncher.Core-${PV}/lib/FFXIVQuickLauncher" || die
+ sed -i "s/git -C .* describe --long --always --dirty &gt; \$(VerFile)/echo ${PV}/" \
+ XIVLauncher.Core/XIVLauncher.Core.csproj
+
+ dotnet-pkg_src_prepare
+}
+
+src_install() {
+ dotnet-pkg-base_install
+ dotnet-pkg-base_dolauncher "/usr/share/${P}/XIVLauncher.Core" "xivlauncher"
+
+ domenu ../misc/linux_distrib/XIVLauncher.desktop
+ newicon -s 512 ../misc/linux_distrib/512.png xivlauncher.png
+}
diff --git a/games-util/xone/Manifest b/games-util/xone/Manifest
new file mode 100644
index 000000000000..0d1a4177349d
--- /dev/null
+++ b/games-util/xone/Manifest
@@ -0,0 +1,8 @@
+DIST xone-0.5.5.tar.gz 77837 BLAKE2B eadce8a067c54d3911e185d3b2d731f1fde6858ed71ede5db32913ab3dbeb0ddde8de48811ed204af26995e8bdc0f961c2f09ec686ff5182c10d2cff40f8039d SHA512 1005f2a1bc658a253734c00ce686e7dca4d3b5be28141e63af417920942064340a91a3fc920d265a1ca92419debfbdc11c56f8e4a66c58018de2d3af21aa7feb
+DIST xone-0.5.6.tar.gz 78635 BLAKE2B eb86e0d173958ff7e14b55151ef7730bf1d6485fc95bd93678bda541e8d901d3b431c837f8671eb2820e33ffd4d30b5b8db833056465bc4d88738b5dbcfc2cf0 SHA512 754ab97f08ccd449777656cd5c762bd5c0057f5b15df7853c6d74b5b2be44c11e30bad31a33e875857dca1b12db8c0c9b82beb79becb338a3bc811a3f9c0363b
+DIST xone-0.5.7.tar.gz 80394 BLAKE2B 9a07d4998c3626b8baab6f75b370e225f9c5d9d695fca103af79c41a5ce501b3348282a254a4586858f2de25def3a48d39b6e49fb4fff7641620459226816118 SHA512 994c3a08301479f4882115b7897755f775b089cc07a25489c3a16617eb0551979137b22b8384af913eeee368c8b84852a1005d802881f869a1e482566ae71acf
+DIST xone-0.5.8.tar.gz 81236 BLAKE2B 7e0b6e79a5361bd556ea2ab75f06015ba0ec832969843f2d34c01ad46bd009c9356bdb711690d4be4981364e5523b494599389c7e54cf29740acd687b7f59940 SHA512 ae63a10b2768f6b8495c89e1b39c4a5aaa16837c6ffdf18a2ea6ace8835e961397484e320ee206062fb979bff8217e4651ac901acac082bc42512d542a7be6ce
+DIST xone-firmware-02e6.cab 199891 BLAKE2B f531a9f4b8220ee4501431b308ee6e29a8dea26467020df25b7fa22228543cc560e1170d13b1cb3490c64c48bf610e3fb7ddfb743e4a2028f5980e02d0c36790 SHA512 0906debd6c1f4706348ec1b1cbf233ea2c45bbc0b8882593740964036808722f5bb701f43da803320609e02072cd16dada572d337fd4c05cc1cf6dde6fd38908
+DIST xone-firmware-02f9.cab 226982 BLAKE2B 9518e592db4afe18ff3111800471b0674e43624ae539bff0251b42eb11b0c32e54762f158018ec604b5050d6dfd99ed35fd9da19c186eb9ca5c18135355810c2 SHA512 b5732ee8c22ffac9964109669c9dfe30f3fdcdd026125f3a20450e4d3975fda75a2c8b453013202b7c56e492cccc963f8c3f97a7c8c21b1af1caa4f5866e7cc4
+DIST xone-firmware-02fe.cab 216868 BLAKE2B 386fc3d0a87ec03c78706e3077572934bc8b416037bd2559d972e9e29f2e3642d813cd62325710ab3fcb7e647dee1ee4bf75b6c2da9181f86e386fcce3d14539 SHA512 d7a239f1f4ed8db6b1db99db34ece881d835e44878ad131b7fb55886c68d8516064f5badf90ab4c54fda835750dcec54bf4b2b779c8f5fad3033d46251d37765
+DIST xone-firmware-091e.cab 231324 BLAKE2B eee7c33b0fcf5862334a70f8164758f3c3705e5df8f76367f1eafc006659066d0d20f01df9b3aa98fb9a1e52fbf9b555e418f58d9720da1a8019cdead56cef51 SHA512 3689e10bc42afbe631a4be9e9720db8914132b21774ff631e582e51190e6d10db7b64d72b311b2069aa151703249d4a411eaf6f1f5dcb94f94fd15e85be8117b
diff --git a/games-util/xone/files/Makefile b/games-util/xone/files/Makefile
new file mode 100644
index 000000000000..2cb46442492c
--- /dev/null
+++ b/games-util/xone/files/Makefile
@@ -0,0 +1,7 @@
+KERNEL_DIR ?= /usr/src/linux
+PWD := $(shell pwd)
+
+all: module
+
+module:
+ @$(MAKE) -C $(KERNEL_DIR) M=$(PWD) modules
diff --git a/games-util/xone/metadata.xml b/games-util/xone/metadata.xml
new file mode 100644
index 000000000000..d4426cad2e4f
--- /dev/null
+++ b/games-util/xone/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>sighunter@gmx.de</email>
+ <name>Sebastian Engel</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">dlundqvist/xone</remote-id>
+ </upstream>
+ <longdescription>
+ xone is a Linux kernel driver for Xbox One and Xbox Series X|S
+ accessories. It serves as a modern replacement for xpad, aiming to be
+ compatible with Microsoft's Game Input Protocol (GIP).
+ </longdescription>
+</pkgmetadata>
diff --git a/games-util/xone/xone-0.5.5.ebuild b/games-util/xone/xone-0.5.5.ebuild
new file mode 100644
index 000000000000..79fecdfa6679
--- /dev/null
+++ b/games-util/xone/xone-0.5.5.ebuild
@@ -0,0 +1,81 @@
+# Copyright 2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit linux-mod-r1
+
+DESCRIPTION="Linux kernel driver for Xbox One and Xbox Series X|S accessories"
+HOMEPAGE="https://github.com/dlundqvist/xone"
+SRC_URI="
+ mirror+https://github.com/dlundqvist/xone/archive/v${PV}.tar.gz -> ${P}.tar.gz
+ https://catalog.s.download.windowsupdate.com/d/msdownload/update/driver/drvs/2017/03/2ea9591b-f751-442c-80ce-8f4692cdc67b_6b555a3a288153cf04aec6e03cba360afe2fce34.cab
+ -> ${PN}-firmware-02fe.cab
+ https://catalog.s.download.windowsupdate.com/c/msdownload/update/driver/drvs/2017/07/1cd6a87c-623f-4407-a52d-c31be49e925c_e19f60808bdcbfbd3c3df6be3e71ffc52e43261e.cab
+ -> ${PN}-firmware-02e6.cab
+ https://catalog.s.download.windowsupdate.com/c/msdownload/update/driver/drvs/2017/06/1dbd7cb4-53bc-4857-a5b0-5955c8acaf71_9081931e7d664429a93ffda0db41b7545b7ac257.cab
+ -> ${PN}-firmware-02f9.cab
+ https://catalog.s.download.windowsupdate.com/d/msdownload/update/driver/drvs/2017/08/aeff215c-3bc4-4d36-a3ea-e14bfa8fa9d2_e58550c4f74a27e51e5cb6868b10ff633fa77164.cab
+ -> ${PN}-firmware-091e.cab
+"
+
+LICENSE="GPL-2+ MS-TOU"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RESTRICT="bindist mirror test"
+
+BDEPEND="app-arch/cabextract"
+
+CONFIG_CHECK="SND CFG80211 INPUT_FF_MEMLESS USB POWER_SUPPLY LEDS_CLASS HID SYSFS"
+MODULES_KERNEL_MIN=6.5
+
+src_unpack() {
+ unpack ${P}.tar.gz
+
+ cabextract -F FW_ACC_00U.bin -d "${S}/xone_firmware_02fe" \
+ "${DISTDIR}/${PN}-firmware-02fe.cab" > /dev/null || die
+ cabextract -F FW_ACC_00U.bin -d "${S}/xone_firmware_02e6" \
+ "${DISTDIR}/${PN}-firmware-02e6.cab" > /dev/null || die
+ cabextract -F FW_ACC_CL.bin -d "${S}/xone_firmware_02f9" \
+ "${DISTDIR}/${PN}-firmware-02f9.cab" > /dev/null || die
+ cabextract -F FW_ACC_BR.bin -d "${S}/xone_firmware_091e" \
+ "${DISTDIR}/${PN}-firmware-091e.cab" > /dev/null || die
+}
+
+src_prepare() {
+ cp "${FILESDIR}/Makefile" "${S}" || die
+ default
+}
+
+src_compile() {
+ local modlist=(
+ xone_wired=kernel/drivers/input/joystick
+ xone_dongle=kernel/drivers/input/joystick
+ xone_gip=kernel/drivers/input/joystick
+ xone_gip_gamepad=kernel/drivers/input/joystick
+ xone_gip_headset=kernel/drivers/input/joystick
+ xone_gip_chatpad=kernel/drivers/input/joystick
+ xone_gip_madcatz_strat=kernel/drivers/input/joystick
+ xone_gip_madcatz_glam=kernel/drivers/input/joystick
+ xone_gip_pdp_jaguar=kernel/drivers/input/joystick
+
+ )
+
+ linux-mod-r1_src_compile
+}
+
+src_install() {
+ linux-mod-r1_src_install
+
+ einfo "Installing module blacklist"
+ insinto /etc/modprobe.d/
+ newins "${S}"/install/modprobe.conf xone-blacklist.conf
+
+ einfo "Installing Microsoft binary firmware"
+ insinto /lib/firmware/
+ newins "${S}"/xone_firmware_02e6/FW_ACC_00U.bin xone_dongle_02e6.bin
+ newins "${S}"/xone_firmware_02fe/FW_ACC_00U.bin xone_dongle_02fe.bin
+ newins "${S}"/xone_firmware_02f9/FW_ACC_CL.bin xone_dongle_02f9.bin
+ newins "${S}"/xone_firmware_091e/FW_ACC_BR.bin xone_dongle_091e.bin
+}
diff --git a/games-util/xone/xone-0.5.6.ebuild b/games-util/xone/xone-0.5.6.ebuild
new file mode 100644
index 000000000000..79fecdfa6679
--- /dev/null
+++ b/games-util/xone/xone-0.5.6.ebuild
@@ -0,0 +1,81 @@
+# Copyright 2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit linux-mod-r1
+
+DESCRIPTION="Linux kernel driver for Xbox One and Xbox Series X|S accessories"
+HOMEPAGE="https://github.com/dlundqvist/xone"
+SRC_URI="
+ mirror+https://github.com/dlundqvist/xone/archive/v${PV}.tar.gz -> ${P}.tar.gz
+ https://catalog.s.download.windowsupdate.com/d/msdownload/update/driver/drvs/2017/03/2ea9591b-f751-442c-80ce-8f4692cdc67b_6b555a3a288153cf04aec6e03cba360afe2fce34.cab
+ -> ${PN}-firmware-02fe.cab
+ https://catalog.s.download.windowsupdate.com/c/msdownload/update/driver/drvs/2017/07/1cd6a87c-623f-4407-a52d-c31be49e925c_e19f60808bdcbfbd3c3df6be3e71ffc52e43261e.cab
+ -> ${PN}-firmware-02e6.cab
+ https://catalog.s.download.windowsupdate.com/c/msdownload/update/driver/drvs/2017/06/1dbd7cb4-53bc-4857-a5b0-5955c8acaf71_9081931e7d664429a93ffda0db41b7545b7ac257.cab
+ -> ${PN}-firmware-02f9.cab
+ https://catalog.s.download.windowsupdate.com/d/msdownload/update/driver/drvs/2017/08/aeff215c-3bc4-4d36-a3ea-e14bfa8fa9d2_e58550c4f74a27e51e5cb6868b10ff633fa77164.cab
+ -> ${PN}-firmware-091e.cab
+"
+
+LICENSE="GPL-2+ MS-TOU"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RESTRICT="bindist mirror test"
+
+BDEPEND="app-arch/cabextract"
+
+CONFIG_CHECK="SND CFG80211 INPUT_FF_MEMLESS USB POWER_SUPPLY LEDS_CLASS HID SYSFS"
+MODULES_KERNEL_MIN=6.5
+
+src_unpack() {
+ unpack ${P}.tar.gz
+
+ cabextract -F FW_ACC_00U.bin -d "${S}/xone_firmware_02fe" \
+ "${DISTDIR}/${PN}-firmware-02fe.cab" > /dev/null || die
+ cabextract -F FW_ACC_00U.bin -d "${S}/xone_firmware_02e6" \
+ "${DISTDIR}/${PN}-firmware-02e6.cab" > /dev/null || die
+ cabextract -F FW_ACC_CL.bin -d "${S}/xone_firmware_02f9" \
+ "${DISTDIR}/${PN}-firmware-02f9.cab" > /dev/null || die
+ cabextract -F FW_ACC_BR.bin -d "${S}/xone_firmware_091e" \
+ "${DISTDIR}/${PN}-firmware-091e.cab" > /dev/null || die
+}
+
+src_prepare() {
+ cp "${FILESDIR}/Makefile" "${S}" || die
+ default
+}
+
+src_compile() {
+ local modlist=(
+ xone_wired=kernel/drivers/input/joystick
+ xone_dongle=kernel/drivers/input/joystick
+ xone_gip=kernel/drivers/input/joystick
+ xone_gip_gamepad=kernel/drivers/input/joystick
+ xone_gip_headset=kernel/drivers/input/joystick
+ xone_gip_chatpad=kernel/drivers/input/joystick
+ xone_gip_madcatz_strat=kernel/drivers/input/joystick
+ xone_gip_madcatz_glam=kernel/drivers/input/joystick
+ xone_gip_pdp_jaguar=kernel/drivers/input/joystick
+
+ )
+
+ linux-mod-r1_src_compile
+}
+
+src_install() {
+ linux-mod-r1_src_install
+
+ einfo "Installing module blacklist"
+ insinto /etc/modprobe.d/
+ newins "${S}"/install/modprobe.conf xone-blacklist.conf
+
+ einfo "Installing Microsoft binary firmware"
+ insinto /lib/firmware/
+ newins "${S}"/xone_firmware_02e6/FW_ACC_00U.bin xone_dongle_02e6.bin
+ newins "${S}"/xone_firmware_02fe/FW_ACC_00U.bin xone_dongle_02fe.bin
+ newins "${S}"/xone_firmware_02f9/FW_ACC_CL.bin xone_dongle_02f9.bin
+ newins "${S}"/xone_firmware_091e/FW_ACC_BR.bin xone_dongle_091e.bin
+}
diff --git a/games-util/xone/xone-0.5.7.ebuild b/games-util/xone/xone-0.5.7.ebuild
new file mode 100644
index 000000000000..79fecdfa6679
--- /dev/null
+++ b/games-util/xone/xone-0.5.7.ebuild
@@ -0,0 +1,81 @@
+# Copyright 2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit linux-mod-r1
+
+DESCRIPTION="Linux kernel driver for Xbox One and Xbox Series X|S accessories"
+HOMEPAGE="https://github.com/dlundqvist/xone"
+SRC_URI="
+ mirror+https://github.com/dlundqvist/xone/archive/v${PV}.tar.gz -> ${P}.tar.gz
+ https://catalog.s.download.windowsupdate.com/d/msdownload/update/driver/drvs/2017/03/2ea9591b-f751-442c-80ce-8f4692cdc67b_6b555a3a288153cf04aec6e03cba360afe2fce34.cab
+ -> ${PN}-firmware-02fe.cab
+ https://catalog.s.download.windowsupdate.com/c/msdownload/update/driver/drvs/2017/07/1cd6a87c-623f-4407-a52d-c31be49e925c_e19f60808bdcbfbd3c3df6be3e71ffc52e43261e.cab
+ -> ${PN}-firmware-02e6.cab
+ https://catalog.s.download.windowsupdate.com/c/msdownload/update/driver/drvs/2017/06/1dbd7cb4-53bc-4857-a5b0-5955c8acaf71_9081931e7d664429a93ffda0db41b7545b7ac257.cab
+ -> ${PN}-firmware-02f9.cab
+ https://catalog.s.download.windowsupdate.com/d/msdownload/update/driver/drvs/2017/08/aeff215c-3bc4-4d36-a3ea-e14bfa8fa9d2_e58550c4f74a27e51e5cb6868b10ff633fa77164.cab
+ -> ${PN}-firmware-091e.cab
+"
+
+LICENSE="GPL-2+ MS-TOU"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RESTRICT="bindist mirror test"
+
+BDEPEND="app-arch/cabextract"
+
+CONFIG_CHECK="SND CFG80211 INPUT_FF_MEMLESS USB POWER_SUPPLY LEDS_CLASS HID SYSFS"
+MODULES_KERNEL_MIN=6.5
+
+src_unpack() {
+ unpack ${P}.tar.gz
+
+ cabextract -F FW_ACC_00U.bin -d "${S}/xone_firmware_02fe" \
+ "${DISTDIR}/${PN}-firmware-02fe.cab" > /dev/null || die
+ cabextract -F FW_ACC_00U.bin -d "${S}/xone_firmware_02e6" \
+ "${DISTDIR}/${PN}-firmware-02e6.cab" > /dev/null || die
+ cabextract -F FW_ACC_CL.bin -d "${S}/xone_firmware_02f9" \
+ "${DISTDIR}/${PN}-firmware-02f9.cab" > /dev/null || die
+ cabextract -F FW_ACC_BR.bin -d "${S}/xone_firmware_091e" \
+ "${DISTDIR}/${PN}-firmware-091e.cab" > /dev/null || die
+}
+
+src_prepare() {
+ cp "${FILESDIR}/Makefile" "${S}" || die
+ default
+}
+
+src_compile() {
+ local modlist=(
+ xone_wired=kernel/drivers/input/joystick
+ xone_dongle=kernel/drivers/input/joystick
+ xone_gip=kernel/drivers/input/joystick
+ xone_gip_gamepad=kernel/drivers/input/joystick
+ xone_gip_headset=kernel/drivers/input/joystick
+ xone_gip_chatpad=kernel/drivers/input/joystick
+ xone_gip_madcatz_strat=kernel/drivers/input/joystick
+ xone_gip_madcatz_glam=kernel/drivers/input/joystick
+ xone_gip_pdp_jaguar=kernel/drivers/input/joystick
+
+ )
+
+ linux-mod-r1_src_compile
+}
+
+src_install() {
+ linux-mod-r1_src_install
+
+ einfo "Installing module blacklist"
+ insinto /etc/modprobe.d/
+ newins "${S}"/install/modprobe.conf xone-blacklist.conf
+
+ einfo "Installing Microsoft binary firmware"
+ insinto /lib/firmware/
+ newins "${S}"/xone_firmware_02e6/FW_ACC_00U.bin xone_dongle_02e6.bin
+ newins "${S}"/xone_firmware_02fe/FW_ACC_00U.bin xone_dongle_02fe.bin
+ newins "${S}"/xone_firmware_02f9/FW_ACC_CL.bin xone_dongle_02f9.bin
+ newins "${S}"/xone_firmware_091e/FW_ACC_BR.bin xone_dongle_091e.bin
+}
diff --git a/games-util/xone/xone-0.5.8.ebuild b/games-util/xone/xone-0.5.8.ebuild
new file mode 100644
index 000000000000..79fecdfa6679
--- /dev/null
+++ b/games-util/xone/xone-0.5.8.ebuild
@@ -0,0 +1,81 @@
+# Copyright 2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit linux-mod-r1
+
+DESCRIPTION="Linux kernel driver for Xbox One and Xbox Series X|S accessories"
+HOMEPAGE="https://github.com/dlundqvist/xone"
+SRC_URI="
+ mirror+https://github.com/dlundqvist/xone/archive/v${PV}.tar.gz -> ${P}.tar.gz
+ https://catalog.s.download.windowsupdate.com/d/msdownload/update/driver/drvs/2017/03/2ea9591b-f751-442c-80ce-8f4692cdc67b_6b555a3a288153cf04aec6e03cba360afe2fce34.cab
+ -> ${PN}-firmware-02fe.cab
+ https://catalog.s.download.windowsupdate.com/c/msdownload/update/driver/drvs/2017/07/1cd6a87c-623f-4407-a52d-c31be49e925c_e19f60808bdcbfbd3c3df6be3e71ffc52e43261e.cab
+ -> ${PN}-firmware-02e6.cab
+ https://catalog.s.download.windowsupdate.com/c/msdownload/update/driver/drvs/2017/06/1dbd7cb4-53bc-4857-a5b0-5955c8acaf71_9081931e7d664429a93ffda0db41b7545b7ac257.cab
+ -> ${PN}-firmware-02f9.cab
+ https://catalog.s.download.windowsupdate.com/d/msdownload/update/driver/drvs/2017/08/aeff215c-3bc4-4d36-a3ea-e14bfa8fa9d2_e58550c4f74a27e51e5cb6868b10ff633fa77164.cab
+ -> ${PN}-firmware-091e.cab
+"
+
+LICENSE="GPL-2+ MS-TOU"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RESTRICT="bindist mirror test"
+
+BDEPEND="app-arch/cabextract"
+
+CONFIG_CHECK="SND CFG80211 INPUT_FF_MEMLESS USB POWER_SUPPLY LEDS_CLASS HID SYSFS"
+MODULES_KERNEL_MIN=6.5
+
+src_unpack() {
+ unpack ${P}.tar.gz
+
+ cabextract -F FW_ACC_00U.bin -d "${S}/xone_firmware_02fe" \
+ "${DISTDIR}/${PN}-firmware-02fe.cab" > /dev/null || die
+ cabextract -F FW_ACC_00U.bin -d "${S}/xone_firmware_02e6" \
+ "${DISTDIR}/${PN}-firmware-02e6.cab" > /dev/null || die
+ cabextract -F FW_ACC_CL.bin -d "${S}/xone_firmware_02f9" \
+ "${DISTDIR}/${PN}-firmware-02f9.cab" > /dev/null || die
+ cabextract -F FW_ACC_BR.bin -d "${S}/xone_firmware_091e" \
+ "${DISTDIR}/${PN}-firmware-091e.cab" > /dev/null || die
+}
+
+src_prepare() {
+ cp "${FILESDIR}/Makefile" "${S}" || die
+ default
+}
+
+src_compile() {
+ local modlist=(
+ xone_wired=kernel/drivers/input/joystick
+ xone_dongle=kernel/drivers/input/joystick
+ xone_gip=kernel/drivers/input/joystick
+ xone_gip_gamepad=kernel/drivers/input/joystick
+ xone_gip_headset=kernel/drivers/input/joystick
+ xone_gip_chatpad=kernel/drivers/input/joystick
+ xone_gip_madcatz_strat=kernel/drivers/input/joystick
+ xone_gip_madcatz_glam=kernel/drivers/input/joystick
+ xone_gip_pdp_jaguar=kernel/drivers/input/joystick
+
+ )
+
+ linux-mod-r1_src_compile
+}
+
+src_install() {
+ linux-mod-r1_src_install
+
+ einfo "Installing module blacklist"
+ insinto /etc/modprobe.d/
+ newins "${S}"/install/modprobe.conf xone-blacklist.conf
+
+ einfo "Installing Microsoft binary firmware"
+ insinto /lib/firmware/
+ newins "${S}"/xone_firmware_02e6/FW_ACC_00U.bin xone_dongle_02e6.bin
+ newins "${S}"/xone_firmware_02fe/FW_ACC_00U.bin xone_dongle_02fe.bin
+ newins "${S}"/xone_firmware_02f9/FW_ACC_CL.bin xone_dongle_02f9.bin
+ newins "${S}"/xone_firmware_091e/FW_ACC_BR.bin xone_dongle_091e.bin
+}
diff --git a/games-util/xpadneo/Manifest b/games-util/xpadneo/Manifest
new file mode 100644
index 000000000000..f6b6c6dfa026
--- /dev/null
+++ b/games-util/xpadneo/Manifest
@@ -0,0 +1,3 @@
+DIST xpadneo-0.10.1.tar.gz 1455344 BLAKE2B e654cf387f8bf45110542c7131d27714dc8ae77cf9e1b23c32eb2489f4058411ca944644f825afe8689846ec1dbd0809fa9fa4f4a720e1a1a8a3a1c3b0d8d1d0 SHA512 72fbd924744b9408801d2cc969c5f0883510b1f485a1f88db2f3de23a505d790167fca22229d56b2b77120ad97c65acecf6db8c8da7d13dd6dbb5c199434ef04
+DIST xpadneo-0.10.2.tar.gz 1456320 BLAKE2B f822ad82e43df5af263cb76fd837e65931561c34ccd8cbb5fe0d93f9e7cf9903feeb65d0ac66749ae92371b40c2b0cc10d15bca502df36e6a611b9702d5ac81c SHA512 40ded7b72185056fad119cd1eb8d6d34cf5aa045567de53a9ceef56323a7efdf0c811d7d08be183351fba4bd4f1625edf294202db10e73874057e027d7973d25
+DIST xpadneo-0.9.8.tar.gz 1431768 BLAKE2B 1cddb91cdd4b055fda5c09112af5441da621c07b14f61a0094cbfffa9a7b746491bff6ea0858a28b1e91a204af2822d005a28ed3b1354b6a367a3eee0fc7250c SHA512 8ec29834587fd8ca8127e6bb1bdea15be40bcb8a11bfb9be3e6f5069f50521ffc93a431ac3a265a3301da64a6e0cfab1166e44b7b1aca0f963a492398d6e684a
diff --git a/games-util/xpadneo/metadata.xml b/games-util/xpadneo/metadata.xml
new file mode 100644
index 000000000000..2f736b0364ef
--- /dev/null
+++ b/games-util/xpadneo/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>ionen@gentoo.org</email>
+ <name>Ionen Wolkens</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">atar-axis/xpadneo</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/games-util/xpadneo/xpadneo-0.10.1.ebuild b/games-util/xpadneo/xpadneo-0.10.1.ebuild
new file mode 100644
index 000000000000..b918a4532329
--- /dev/null
+++ b/games-util/xpadneo/xpadneo-0.10.1.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit linux-mod-r1 udev
+
+if [[ ${PV} == 9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/atar-axis/xpadneo.git"
+ EGIT_MIN_CLONE_TYPE="single"
+else
+ SRC_URI="https://github.com/atar-axis/xpadneo/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+DESCRIPTION="Advanced Linux Driver for Xbox One Wireless Controller"
+HOMEPAGE="https://atar-axis.github.io/xpadneo/"
+
+LICENSE="GPL-2 GPL-3+"
+SLOT="0"
+
+CONFIG_CHECK="INPUT_FF_MEMLESS"
+
+src_compile() {
+ local modlist=( hid-${PN}=kernel/drivers/hid:hid-${PN}:hid-${PN}/src )
+ local modargs=( KERNEL_SOURCE_DIR="${KV_OUT_DIR}" )
+
+ linux-mod-r1_src_compile
+}
+
+src_install() {
+ linux-mod-r1_src_install
+
+ # install modprobe.d/rules.d files and docs
+ emake PREFIX="${ED}" ETC_PREFIX=/usr/lib DOC_PREFIX=/usr/share/doc/${PF} install
+}
+
+pkg_postinst() {
+ linux-mod-r1_pkg_postinst
+ udev_reload
+
+ if [[ ! ${REPLACING_VERSIONS} ]]; then
+ elog "To pair the gamepad and view module options, see documentation in:"
+ elog " ${EROOT}/usr/share/doc/${PF}/"
+ fi
+}
+
+pkg_postrm() {
+ udev_reload
+}
diff --git a/games-util/xpadneo/xpadneo-0.10.2.ebuild b/games-util/xpadneo/xpadneo-0.10.2.ebuild
new file mode 100644
index 000000000000..b918a4532329
--- /dev/null
+++ b/games-util/xpadneo/xpadneo-0.10.2.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit linux-mod-r1 udev
+
+if [[ ${PV} == 9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/atar-axis/xpadneo.git"
+ EGIT_MIN_CLONE_TYPE="single"
+else
+ SRC_URI="https://github.com/atar-axis/xpadneo/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+DESCRIPTION="Advanced Linux Driver for Xbox One Wireless Controller"
+HOMEPAGE="https://atar-axis.github.io/xpadneo/"
+
+LICENSE="GPL-2 GPL-3+"
+SLOT="0"
+
+CONFIG_CHECK="INPUT_FF_MEMLESS"
+
+src_compile() {
+ local modlist=( hid-${PN}=kernel/drivers/hid:hid-${PN}:hid-${PN}/src )
+ local modargs=( KERNEL_SOURCE_DIR="${KV_OUT_DIR}" )
+
+ linux-mod-r1_src_compile
+}
+
+src_install() {
+ linux-mod-r1_src_install
+
+ # install modprobe.d/rules.d files and docs
+ emake PREFIX="${ED}" ETC_PREFIX=/usr/lib DOC_PREFIX=/usr/share/doc/${PF} install
+}
+
+pkg_postinst() {
+ linux-mod-r1_pkg_postinst
+ udev_reload
+
+ if [[ ! ${REPLACING_VERSIONS} ]]; then
+ elog "To pair the gamepad and view module options, see documentation in:"
+ elog " ${EROOT}/usr/share/doc/${PF}/"
+ fi
+}
+
+pkg_postrm() {
+ udev_reload
+}
diff --git a/games-util/xpadneo/xpadneo-0.9.8.ebuild b/games-util/xpadneo/xpadneo-0.9.8.ebuild
new file mode 100644
index 000000000000..dd6c3131c64b
--- /dev/null
+++ b/games-util/xpadneo/xpadneo-0.9.8.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit linux-mod-r1 udev
+
+if [[ ${PV} == 9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/atar-axis/xpadneo.git"
+ EGIT_MIN_CLONE_TYPE="single"
+else
+ SRC_URI="https://github.com/atar-axis/xpadneo/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="amd64 ~x86"
+fi
+
+DESCRIPTION="Advanced Linux Driver for Xbox One Wireless Controller"
+HOMEPAGE="https://atar-axis.github.io/xpadneo/"
+
+LICENSE="GPL-3+"
+SLOT="0"
+
+CONFIG_CHECK="INPUT_FF_MEMLESS"
+
+src_compile() {
+ local modlist=( hid-${PN}=kernel/drivers/hid:hid-${PN}:hid-${PN}/src )
+ local modargs=( KERNEL_SOURCE_DIR="${KV_OUT_DIR}" )
+
+ linux-mod-r1_src_compile
+}
+
+src_install() {
+ local DOCS=( docs/{[^i]*.md,descriptors,reports} NEWS.md )
+ linux-mod-r1_src_install
+
+ insinto /etc/modprobe.d
+ doins hid-${PN}/etc-modprobe.d/${PN}.conf
+
+ udev_dorules hid-${PN}/etc-udev-rules.d/*.rules
+}
+
+pkg_postinst() {
+ linux-mod-r1_pkg_postinst
+ udev_reload
+
+ if [[ ! ${REPLACING_VERSIONS} ]]; then
+ elog "To pair the gamepad and view module options, see documentation in:"
+ elog " ${EROOT}/usr/share/doc/${PF}/"
+ fi
+}
+
+pkg_postrm() {
+ udev_reload
+}
diff --git a/games-util/xpadneo/xpadneo-9999.ebuild b/games-util/xpadneo/xpadneo-9999.ebuild
new file mode 100644
index 000000000000..864bd142f981
--- /dev/null
+++ b/games-util/xpadneo/xpadneo-9999.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit linux-mod-r1 udev
+
+if [[ ${PV} == 9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/atar-axis/xpadneo.git"
+ EGIT_MIN_CLONE_TYPE="single"
+else
+ SRC_URI="https://github.com/atar-axis/xpadneo/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+DESCRIPTION="Advanced Linux Driver for Xbox One Wireless Controller"
+HOMEPAGE="https://atar-axis.github.io/xpadneo/"
+
+LICENSE="GPL-2 GPL-3+"
+SLOT="0"
+
+src_compile() {
+ local modlist=( hid-${PN}=kernel/drivers/hid:hid-${PN}:hid-${PN}/src )
+ local modargs=( KERNEL_SOURCE_DIR="${KV_OUT_DIR}" )
+
+ linux-mod-r1_src_compile
+}
+
+src_install() {
+ linux-mod-r1_src_install
+
+ # install modprobe.d/rules.d files and docs
+ emake PREFIX="${ED}" ETC_PREFIX=/usr/lib DOC_PREFIX=/usr/share/doc/${PF} install
+}
+
+pkg_postinst() {
+ linux-mod-r1_pkg_postinst
+ udev_reload
+
+ if [[ ! ${REPLACING_VERSIONS} ]]; then
+ elog "To pair the gamepad and view module options, see documentation in:"
+ elog " ${EROOT}/usr/share/doc/${PF}/"
+ fi
+}
+
+pkg_postrm() {
+ udev_reload
+}
diff --git a/games-util/xqf/Manifest b/games-util/xqf/Manifest
new file mode 100644
index 000000000000..df1f313ca4cf
--- /dev/null
+++ b/games-util/xqf/Manifest
@@ -0,0 +1 @@
+DIST xqf-1.0.6.2.tar.gz 595096 BLAKE2B 36c135c064ae61af12daa70e9c78fe2a377ebcaf91b0f36fac43865b6b0601f104d8b09bd84b9d9699afdab7f3d4d3a0e67f3251f20d6ce025e92db2302d21a8 SHA512 8706104dde0f93a89f9f69a4b8f40f5c4c8160a3bb7a99f7572448c0110a595503e430fdba741c50b22f7e92a08f1cf6abee06aaa23956e4e37b7bf894a66a9c
diff --git a/games-util/xqf/files/xqf-1.0.6.2-fno-common.patch b/games-util/xqf/files/xqf-1.0.6.2-fno-common.patch
new file mode 100644
index 000000000000..15147ac6d917
--- /dev/null
+++ b/games-util/xqf/files/xqf-1.0.6.2-fno-common.patch
@@ -0,0 +1,21 @@
+--- a/src/filter.c
++++ b/src/filter.c
+@@ -88,6 +88,8 @@
+ const char* filter_quick_get(void);
+ void filter_quick_unset (void);
+
++unsigned int current_server_filter;
++
+ /* /QUICK FILTER */
+
+ struct filter filters[FILTERS_TOTAL] = {
+--- a/src/filter.h
++++ b/src/filter.h
+@@ -89,7 +89,6 @@
+
+ extern GArray* server_filters;
+
+-unsigned int current_server_filter;
+ extern unsigned int current_server_filter;
+
+
diff --git a/games-util/xqf/files/xqf-1.0.6.2-underlink.patch b/games-util/xqf/files/xqf-1.0.6.2-underlink.patch
new file mode 100644
index 000000000000..0e3ba3ed22e4
--- /dev/null
+++ b/games-util/xqf/files/xqf-1.0.6.2-underlink.patch
@@ -0,0 +1,30 @@
+--- a/configure.in
++++ b/configure.in
+@@ -23,6 +23,7 @@
+ AC_ISC_POSIX
+ AC_PROG_LN_S
+ AC_PROG_RANLIB
++AM_PROG_AR
+
+ dnl Checks for header files.
+ AC_HEADER_STDC
+--- a/po/POTFILES.in
++++ b/po/POTFILES.in
+@@ -21,6 +21,7 @@
+ #src/rc.c
+ src/rcon.c
+ src/redial.c
++src/scripts.c
+ #src/server.c
+ #src/skin.c
+ #src/skin_pcx.c
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -41,6 +41,7 @@
+ $(GEOIP_LIB) \
+ $(PACKAGE_LIBS) \
+ $(GDK_PIXBUF_LIBS) \
++ -lX11 \
+ -lz -ldl
+
+ xqf_LDFLAGS = -Wl,-rpath,$(pkglibdir) -Wl,--export-dynamic -Wl,--version-script=$(top_srcdir)/src/xqf.map
diff --git a/games-util/xqf/files/xqf-1.0.6.2-zlib-1.2.5.1-compile-fix.patch b/games-util/xqf/files/xqf-1.0.6.2-zlib-1.2.5.1-compile-fix.patch
new file mode 100644
index 000000000000..9bd433b3b27e
--- /dev/null
+++ b/games-util/xqf/files/xqf-1.0.6.2-zlib-1.2.5.1-compile-fix.patch
@@ -0,0 +1,11 @@
+--- xqf-1.0.5/src/zip/ioapi.h
++++ xqf-1.0.5/src/zip/ioapi.h
+@@ -6,6 +6,8 @@
+ Copyright (C) 1998-2003 Gilles Vollant
+ */
+
++#define OF(x) x
++
+ #ifndef _ZLIBIOAPI_H
+ #define _ZLIBIOAPI_H
+
diff --git a/games-util/xqf/metadata.xml b/games-util/xqf/metadata.xml
new file mode 100644
index 000000000000..c3c45d64f6e7
--- /dev/null
+++ b/games-util/xqf/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>games@gentoo.org</email>
+ <name>Gentoo Games Project</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="sourceforge">xqf</remote-id>
+ <remote-id type="github">XQF/xqf</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/games-util/xqf/xqf-1.0.6.2.ebuild b/games-util/xqf/xqf-1.0.6.2.ebuild
new file mode 100644
index 000000000000..9c9510182f86
--- /dev/null
+++ b/games-util/xqf/xqf-1.0.6.2.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit autotools
+
+DESCRIPTION="A server browser for many FPS games (frontend for qstat)"
+HOMEPAGE="http://xqf.github.io/en/"
+SRC_URI="https://github.com/XQF/xqf/archive/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~hppa ~x86"
+IUSE="bzip2 geoip nls"
+
+RDEPEND="
+ x11-libs/gdk-pixbuf-xlib
+ x11-libs/gtk+:2
+ >=games-util/qstat-2.11
+ nls? ( virtual/libintl )
+ geoip? ( dev-libs/geoip )
+ bzip2? ( app-arch/bzip2 )"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ virtual/pkgconfig
+ nls? ( sys-devel/gettext )"
+
+S="${WORKDIR}/${PN}-${P}"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-underlink.patch
+ "${FILESDIR}"/${P}-zlib-1.2.5.1-compile-fix.patch
+ "${FILESDIR}"/${P}-fno-common.patch
+)
+
+src_prepare() {
+ default
+ mv configure.{in,ac} || die
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ $(use_enable nls) \
+ $(use_enable geoip) \
+ $(use_enable bzip2)
+}