diff options
| author | root <root@alpha.trunkmasters.com> | 2026-08-21 19:49:14 -0500 |
|---|---|---|
| committer | root <root@alpha.trunkmasters.com> | 2026-08-21 19:49:14 -0500 |
| commit | e96e88fa0d43a67ac8a6eda8bc6819000d1604f4 (patch) | |
| tree | 60e8906df2f4fcee674fd28f7c16c33fee5dc1b9 /games-util | |
| parent | c9507d3d8ce89d8bdf4e6a04c8c7511523082acc (diff) | |
| download | baldeagleos-repo-e96e88fa0d43a67ac8a6eda8bc6819000d1604f4.tar.gz baldeagleos-repo-e96e88fa0d43a67ac8a6eda8bc6819000d1604f4.tar.xz baldeagleos-repo-e96e88fa0d43a67ac8a6eda8bc6819000d1604f4.zip | |
Adding metadata
Diffstat (limited to 'games-util')
| -rw-r--r-- | games-util/bottles/Manifest | 2 | ||||
| -rw-r--r-- | games-util/bottles/bottles-64.1.ebuild | 121 | ||||
| -rw-r--r-- | games-util/bottles/bottles-66.6-r1.ebuild | 173 | ||||
| -rw-r--r-- | games-util/bottles/files/bottles-66.6-r1-use-unresolved-path-to-umu-run.patch | 17 | ||||
| -rw-r--r-- | games-util/bottles/files/bottles-66.6-remove-Flatpak-related-checks.patch (renamed from games-util/bottles/files/bottles-64.1-remove-Flatpak-related-checks.patch) | 33 |
5 files changed, 209 insertions, 137 deletions
diff --git a/games-util/bottles/Manifest b/games-util/bottles/Manifest index 9cc6ab9acc7a..d3ede5bf1a42 100644 --- a/games-util/bottles/Manifest +++ b/games-util/bottles/Manifest @@ -1,2 +1,2 @@ -DIST bottles-64.1.tar.gz 2758708 BLAKE2B 77b8dd6c4164b832bf1a5c073f2262c96c1877b01b9e6e69212201fac58a0c427559c3b3929ae6b6c1e3bb2952245cd11f9ca89c75d80d85371b248b33dc4652 SHA512 a5a4e5d0f06eadd9461901b29a168be91627fae014dc8f6f99210d0882301e9e34cbeaf5193107e77f4b01cdf8f5d50afa692e5916889e829f080b37c9d7a2c1 DIST bottles-65.4.tar.gz 5463050 BLAKE2B dea90e876c9ed49ac47a56787b519d367124d4ea511915f59cff60764d6dbf097cb68ae98d21b2fcfd863c9c0d868762591f6c602943ca0ec355f78052efa00c SHA512 2929beca726021eaf3ad85213629bfd75cd627c00f3cc6b4eb248586e912df18de1068ee2e9fde990460c65885c82a4cec284e9ab35c504d1c5e39ab3d3d90c1 +DIST bottles-66.6.tar.gz 5563577 BLAKE2B 9925976c9bb4d9a06656443e37117aabd4e82c08cf8c13f8b4e7232e4de20ade19dba6068fe7e312a89dc7a13802b919ed092cdc504db58cc4018fad99b92200 SHA512 a56e21f31ff6af1216b80e2b28fcc3f85e2398b47ce57f0bc793e93aff5259331f05bbaf577fd8ba1cc229670cfeb037381a60cd85815b3497f6146ab29e15eb diff --git a/games-util/bottles/bottles-64.1.ebuild b/games-util/bottles/bottles-64.1.ebuild deleted file mode 100644 index f439b15a20f0..000000000000 --- a/games-util/bottles/bottles-64.1.ebuild +++ /dev/null @@ -1,121 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_USE_PEP517=no -DISTUTILS_SINGLE_IMPL=1 -PYTHON_COMPAT=( python3_{13..14} ) - -inherit distutils-r1 gnome2-utils meson optfeature xdg - -DESCRIPTION="Run Windows software and games on Linux" -HOMEPAGE=" - https://usebottles.com - https://github.com/bottlesdevs/Bottles -" -SRC_URI="https://github.com/bottlesdevs/Bottles/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz" - -S="${WORKDIR}/Bottles-${PV}" - -LICENSE="GPL-3" -SLOT="0" -KEYWORDS="~amd64" - -RDEPEND=" - dev-libs/glib:2 - dev-libs/libportal - gui-libs/gtk:4 - gui-libs/gtksourceview:5 - gui-libs/libadwaita:1 - - dev-vcs/fvs2 - - $(python_gen_cond_dep ' - app-arch/patool[${PYTHON_USEDEP}] - dev-python/certifi[${PYTHON_USEDEP}] - dev-python/chardet[${PYTHON_USEDEP}] - dev-python/charset-normalizer[${PYTHON_USEDEP}] - dev-python/icoextract[${PYTHON_USEDEP}] - dev-python/idna[${PYTHON_USEDEP}] - dev-python/markdown[${PYTHON_USEDEP}] - dev-python/orjson[${PYTHON_USEDEP}] - dev-python/pathvalidate[${PYTHON_USEDEP}] - dev-python/pefile[${PYTHON_USEDEP}] - dev-python/pycairo[${PYTHON_USEDEP}] - dev-python/pycurl[${PYTHON_USEDEP}] - dev-python/pygobject[${PYTHON_USEDEP}] - dev-python/pyxdg[${PYTHON_USEDEP}] - dev-python/pyyaml[${PYTHON_USEDEP}] - dev-python/requests[${PYTHON_USEDEP}] - dev-python/urllib3[${PYTHON_USEDEP}] - dev-python/wheel[${PYTHON_USEDEP}] - dev-python/yara-python[${PYTHON_USEDEP}] - media-gfx/vkbasalt-cli[${PYTHON_USEDEP}] - ') -" -DEPEND="${RDEPEND}" -BDEPEND=" - dev-libs/appstream-glib - dev-libs/glib:2 - dev-util/blueprint-compiler - dev-util/desktop-file-utils - dev-util/gtk-update-icon-cache - sys-devel/gettext - - test? ( - $(python_gen_cond_dep ' - dev-python/freezegun[${PYTHON_USEDEP}] - ') - ) -" - -PATCHES=( - "${FILESDIR}/${PN}-64.1-dont-stub-gi.repository.patch" - "${FILESDIR}/${PN}-64.1-relax-AppStream-file-validation.patch" - "${FILESDIR}/${PN}-64.1-remove-Flatpak-related-checks.patch" -) - -EPYTEST_DESELECT=( - bottles/tests/backend/integration/playtime/test_disabled_tracking.py::test_disabled_tracking_smoke - bottles/tests/backend/integration/playtime/test_wine_executor_playtime.py::test_wine_executor_emits_and_updates_totals - bottles/tests/backend/manager/test_manager.py::test_manager_cli_skips_connection_check - bottles/tests/backend/manager/test_playtime.py::test_disable_tracking_method - bottles/tests/backend/manager/test_playtime.py::test_disabled_tracker_is_noop - bottles/tests/backend/wine/test_executor.py::test_run_program_substitutes_placeholders -) - -EPYTEST_PLUGINS=( pytest-mock ) -distutils_enable_tests pytest - -src_test() { - meson_src_test - distutils-r1_src_test -} - -src_install() { - meson_src_install - - python_fix_shebang "${ED}/usr/bin" -} - -pkg_postinst() { - xdg_pkg_postinst - gnome2_schemas_update - - optfeature "extracting files from .cab files" app-arch/cabextract - optfeature "7-Zip archiver support" app-arch/p7zip - optfeature "Vulkan support" dev-util/vulkan-tools - optfeature "icon/image convertion" media-gfx/imagemagick - optfeature "display information support" x11-apps/xdpyinfo - - optfeature "preloading game files into memory" dev-util/vmtouch - optfeature "optimizing Linux system performance on demand" games-util/gamemode - optfeature "an efficient micro-compositor for running games" gui-wm/gamescope - optfeature "monitoring FPS, temperatures, CPU/GPU load and more" games-util/mangohud -} - -pkg_postrm() { - xdg_pkg_postrm - gnome2_schemas_update -} diff --git a/games-util/bottles/bottles-66.6-r1.ebuild b/games-util/bottles/bottles-66.6-r1.ebuild new file mode 100644 index 000000000000..0a0fc938d84c --- /dev/null +++ b/games-util/bottles/bottles-66.6-r1.ebuild @@ -0,0 +1,173 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=no +DISTUTILS_SINGLE_IMPL=1 +PYTHON_COMPAT=( python3_{13..14} ) + +inherit distutils-r1 gnome2-utils meson optfeature xdg + +DESCRIPTION="Run Windows software and games on Linux" +HOMEPAGE=" + https://usebottles.com + https://github.com/bottlesdevs/Bottles +" +SRC_URI="https://github.com/bottlesdevs/Bottles/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz" + +S="${WORKDIR}/Bottles-${PV}" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="~amd64" + +RDEPEND=" + dev-libs/glib:2 + dev-libs/libportal[gtk] + gui-libs/gtk:4 + gui-libs/gtksourceview:5 + gui-libs/libadwaita:1 + + dev-vcs/fvs2 + + $(python_gen_cond_dep ' + app-arch/patool[${PYTHON_USEDEP}] + dev-python/certifi[${PYTHON_USEDEP}] + dev-python/chardet[${PYTHON_USEDEP}] + dev-python/charset-normalizer[${PYTHON_USEDEP}] + dev-python/icoextract[${PYTHON_USEDEP}] + dev-python/idna[${PYTHON_USEDEP}] + dev-python/markdown[${PYTHON_USEDEP}] + dev-python/orjson[${PYTHON_USEDEP}] + dev-python/pathvalidate[${PYTHON_USEDEP}] + dev-python/pefile[${PYTHON_USEDEP}] + dev-python/pycairo[${PYTHON_USEDEP}] + dev-python/pycurl[${PYTHON_USEDEP}] + dev-python/pygobject[${PYTHON_USEDEP}] + dev-python/pyxdg[${PYTHON_USEDEP}] + dev-python/pyyaml[${PYTHON_USEDEP}] + dev-python/requests[${PYTHON_USEDEP}] + dev-python/urllib3[${PYTHON_USEDEP}] + dev-python/wheel[${PYTHON_USEDEP}] + dev-python/yara-python[${PYTHON_USEDEP}] + media-gfx/vkbasalt-cli[${PYTHON_USEDEP}] + ') +" +DEPEND="${RDEPEND}" +BDEPEND=" + dev-libs/appstream-glib + dev-libs/glib:2 + dev-util/blueprint-compiler + dev-util/desktop-file-utils + dev-util/gtk-update-icon-cache + sys-devel/gettext + + test? ( + $(python_gen_cond_dep ' + dev-python/freezegun[${PYTHON_USEDEP}] + ') + ) +" + +PATCHES=( + "${FILESDIR}/${PN}-64.1-dont-stub-gi.repository.patch" + "${FILESDIR}/${PN}-64.1-relax-AppStream-file-validation.patch" + "${FILESDIR}/${PN}-66.6-remove-Flatpak-related-checks.patch" + "${FILESDIR}/${PN}-66.6-r1-use-unresolved-path-to-umu-run.patch" +) + +EPYTEST_DESELECT=( + bottles/tests/backend/integration/playtime/test_aggregation.py::test_different_programs_separate_rows + bottles/tests/backend/integration/playtime/test_aggregation.py::test_same_program_aggregates_into_one_row + bottles/tests/backend/integration/playtime/test_disabled_tracking.py::test_disabled_tracking_smoke + bottles/tests/backend/integration/playtime/test_failure_run.py::test_failure_run_marks_unknown_and_updates_totals + bottles/tests/backend/integration/playtime/test_failure_run.py::test_multiple_failures_different_bottles + bottles/tests/backend/integration/playtime/test_failure_run.py::test_multiple_failures_same_bottle_different_programs + bottles/tests/backend/integration/playtime/test_playtime_signals.py::test_signals_flow_success + bottles/tests/backend/integration/playtime/test_playtime_signals.py::test_signals_flow_unknown_failure + bottles/tests/backend/integration/playtime/test_recovery.py::test_cli_manager_init_does_not_recover_live_sessions + bottles/tests/backend/integration/playtime/test_recovery.py::test_recovery_different_bottles + bottles/tests/backend/integration/playtime/test_recovery.py::test_recovery_same_bottle_different_programs + bottles/tests/backend/integration/playtime/test_recovery.py::test_recovery_smoke + bottles/tests/backend/integration/playtime/test_schema_meta.py::test_schema_meta_smoke + bottles/tests/backend/integration/playtime/test_successful_run.py::test_success_multiple_apps_two_same_bottle_one_other + bottles/tests/backend/integration/playtime/test_successful_run.py::test_successful_run_finalizes_and_updates_totals + bottles/tests/backend/integration/playtime/test_uniqueness_retry.py::test_uniqueness_retry_smoke + bottles/tests/backend/integration/playtime/test_wine_executor_playtime.py::test_wine_executor_emits_and_updates_totals + bottles/tests/backend/manager/test_manager.py::test_manager_cli_skips_connection_check + bottles/tests/backend/manager/test_playtime.py::test_disable_tracking_method + bottles/tests/backend/manager/test_playtime.py::test_disabled_tracker_is_noop + bottles/tests/backend/manager/test_sandbox_creation.py::test_create_bottle_rejects_profile_link_outside_prefix + bottles/tests/backend/test_network_timeouts.py::test_default_repository_fallbacks_are_commit_pinned + bottles/tests/backend/wine/test_executor.py::test_run_program_substitutes_placeholders + bottles/tests/frontend/test_bottle_details.py::test_flatpak_system_runner_uses_builtin_label + bottles/tests/frontend/test_bottle_details.py::test_missing_runner_dialog_waits_for_versioning_upgrade + bottles/tests/frontend/test_cli_setup.py::test_list_components_prepares_directories + bottles/tests/frontend/test_cli_setup.py::test_new_bottle_reports_creation_failure + bottles/tests/frontend/test_cli_setup.py::test_new_bottle_waits_for_catalogs_before_installing + bottles/tests/frontend/test_common.py::test_runner_dropdown_uses_display_names_without_changing_ids + bottles/tests/frontend/test_dependency_entry.py::test_cache_lookup_is_skipped_without_installed_dependencies + bottles/tests/frontend/test_dependency_entry.py::test_cache_lookup_only_runs_offline + bottles/tests/frontend/test_dependency_entry.py::test_dependency_row_activates_batch_selection + bottles/tests/frontend/test_dependency_entry.py::test_installed_dependency_actions_use_recorded_uninstaller + bottles/tests/frontend/test_dependency_entry.py::test_installed_dependency_row_shows_its_name + bottles/tests/frontend/test_dependency_entry.py::test_installed_dependency_without_uninstaller_cannot_be_removed + bottles/tests/frontend/test_details_view.py::test_unload_view_empties_the_page_stack + bottles/tests/frontend/test_drive_dialog.py::test_device_drive_shows_eject_action + bottles/tests/frontend/test_external_runner_component.py::test_external_runner_cannot_be_removed_from_bottles + bottles/tests/frontend/test_gtk_utils.py::test_full_width_string_list_factory_uses_unellipsized_labels + bottles/tests/frontend/test_steam_library.py::test_library_entry_resolves_steam_game_without_wine_program + bottles/tests/frontend/test_steam_library.py::test_program_widget_extracts_its_own_icon + bottles/tests/frontend/test_steam_library.py::test_program_widget_switches_desktop_entry_action + bottles/tests/frontend/test_steam_library.py::test_program_widget_uses_library_icon + bottles/tests/frontend/test_steam_library.py::test_steam_library_widget_launches_through_steam + bottles/tests/frontend/test_steam_library.py::test_steam_program_widget_exposes_library_action + bottles/tests/frontend/test_steam_runtime.py::test_steam_runtime_row_explains_availability + bottles/tests/frontend/test_ui_language.py::test_ui_languages_match_shipped_catalogs +) + +EPYTEST_IGNORE=( + bottles/tests/frontend/test_open_uri.py + bottles/tests/frontend/test_umu_ui.py + bottles/tests/fvs/test_repo.py +) + +EPYTEST_PLUGINS=( pytest-mock ) +distutils_enable_tests pytest + +src_test() { + find bottles/tests -type f -exec \ + sed -i "s|/app/share/bottles/bottles.gresource|${BUILD_DIR}/bottles/frontend/ui/bottles.gresource|" {} \; + + meson_src_test + distutils-r1_src_test +} + +src_install() { + meson_src_install + + python_fix_shebang "${ED}/usr/bin" +} + +pkg_postinst() { + xdg_pkg_postinst + gnome2_schemas_update + + optfeature "extracting files from .cab files" app-arch/cabextract + optfeature "7-Zip archiver support" app-arch/p7zip + optfeature "Vulkan support" dev-util/vulkan-tools + optfeature "icon/image convertion" media-gfx/imagemagick + optfeature "display information support" x11-apps/xdpyinfo + + optfeature "preloading game files into memory" dev-util/vmtouch + optfeature "optimizing Linux system performance on demand" games-util/gamemode + optfeature "an efficient micro-compositor for running games" gui-wm/gamescope + optfeature "monitoring FPS, temperatures, CPU/GPU load and more" games-util/mangohud + optfeature "UMU game prefixes" games-util/umu-launcher +} + +pkg_postrm() { + xdg_pkg_postrm + gnome2_schemas_update +} diff --git a/games-util/bottles/files/bottles-66.6-r1-use-unresolved-path-to-umu-run.patch b/games-util/bottles/files/bottles-66.6-r1-use-unresolved-path-to-umu-run.patch new file mode 100644 index 000000000000..bd5a0ea6445a --- /dev/null +++ b/games-util/bottles/files/bottles-66.6-r1-use-unresolved-path-to-umu-run.patch @@ -0,0 +1,17 @@ +From: Pavel Sobolev <contact@paveloom.dev> +Subject: [PATCH] Use unresolved path to `umu-run` + +Otherwise, it will try to run `python-exec2` directly. + +Signed-off-by: Pavel Sobolev <contact@paveloom.dev> +--- a/bottles/backend/umu/provider.py ++++ b/bottles/backend/umu/provider.py +@@ -44,7 +44,7 @@ class UmuProvider: + + def _inspect(self, path: Path, source: UmuProviderSource) -> UmuInstallation: + try: +- resolved = path.expanduser().resolve(strict=True) ++ resolved = path.expanduser().absolute() + except OSError as error: + raise UmuProviderError(f"UMU launcher does not exist: {path}") from error + if not resolved.is_file() or not os.access(resolved, os.X_OK): diff --git a/games-util/bottles/files/bottles-64.1-remove-Flatpak-related-checks.patch b/games-util/bottles/files/bottles-66.6-remove-Flatpak-related-checks.patch index 55469b0ed4a2..577efb628036 100644 --- a/games-util/bottles/files/bottles-64.1-remove-Flatpak-related-checks.patch +++ b/games-util/bottles/files/bottles-66.6-remove-Flatpak-related-checks.patch @@ -20,7 +20,7 @@ Signed-off-by: Pavel Sobolev <contact@paveloom.dev> 'main.py', --- a/bottles/frontend/views/bottle_details.py +++ b/bottles/frontend/views/bottle_details.py -@@ -692,22 +692,7 @@ class BottleView(Adw.PreferencesPage): +@@ -727,22 +727,7 @@ class BottleView(Adw.PreferencesPage): dialog.connect("response", execute) dialog.show() @@ -46,22 +46,23 @@ Signed-off-by: Pavel Sobolev <contact@paveloom.dev> """Open the Eagle analysis view and scan the given executable.""" --- a/bottles/frontend/views/bottle_preferences.py +++ b/bottles/frontend/views/bottle_preferences.py -@@ -141,7 +141,7 @@ class PreferencesView(Adw.PreferencesPage): - self.queue = details.queue - self.details = details - -- if not gamemode_available or not Xdp.Portal.running_under_sandbox(): -+ if not gamemode_available: - return +@@ -185,9 +185,6 @@ class PreferencesView(Adw.PreferencesPage): + ) + ) +- if not is_cpak() and not Xdp.Portal.running_under_sandbox(): +- return +- _not_available = _("This feature is unavailable on your system.") + _flatpak_not_available = _("{} To add this feature, please run").format( + _not_available --- a/bottles/frontend/views/list.py +++ b/bottles/frontend/views/list.py -@@ -83,9 +83,6 @@ class BottlesBottleRow(Adw.ActionRow): +@@ -130,9 +130,6 @@ class BottlesBottleRow(Adw.ActionRow): def run_executable(self, *_args): """Display file dialog for executable""" -- if not Xdp.Portal.running_under_sandbox(): +- if not is_cpak() and not Xdp.Portal.running_under_sandbox(): - return - def set_path(_dialog, response): @@ -69,23 +70,25 @@ Signed-off-by: Pavel Sobolev <contact@paveloom.dev> return --- a/bottles/frontend/views/new_bottle_dialog.py +++ b/bottles/frontend/views/new_bottle_dialog.py -@@ -86,7 +86,7 @@ class BottlesNewBottleDialog(Adw.Dialog): - super().__init__(**kwargs) +@@ -93,9 +93,7 @@ class BottlesNewBottleDialog(Adw.Dialog): + ) # common variables and references self.window = GtkUtils.get_parent_window() -- if not self.window or not Xdp.Portal.running_under_sandbox(): +- if not self.window or ( +- not is_cpak() and not Xdp.Portal.running_under_sandbox() +- ): + if not self.window: return self.app = self.window.get_application() --- a/bottles/frontend/windows/window.py +++ b/bottles/frontend/windows/window.py -@@ -125,35 +125,6 @@ class BottlesWindow(Adw.ApplicationWindow): +@@ -143,35 +143,6 @@ class BottlesWindow(Adw.ApplicationWindow): manager = Adw.StyleManager.get_default() manager.set_color_scheme(Adw.ColorScheme.FORCE_DARK) - # Be VERY explicit that non-sandboxed environments are unsupported -- if not Xdp.Portal.running_under_sandbox(): +- if not os.environ.get("CPAK_CONTAINER_ID") and not Xdp.Portal.running_under_sandbox(): - - def response(dialog, response, *args): - if response == "close": |
