Compare commits
14 commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
93c4556bf3 |
||
|
|
7bb7c2ca15 |
||
|
|
421bbf58d0 |
||
|
|
43cd2c008d |
||
|
|
79dbd8e844 |
||
|
|
4ec8aa3403 |
||
|
|
526fa4d872 |
||
|
|
ae240c0442 |
||
|
|
48f38750a9 |
||
|
|
3306d5b8f1 |
||
|
|
0f73ce521a |
||
|
|
2af4680aa4 |
||
|
|
cbcde4ceea |
||
|
|
2847d6c822 |
12 changed files with 108 additions and 380 deletions
|
|
@ -1,7 +1,7 @@
|
|||
From 7e820512cffc4f709a2d00e341306f57d91ddda5 Mon Sep 17 00:00:00 2001
|
||||
From cb8cd4567cd34aac692672362cb87e5f021660cf Mon Sep 17 00:00:00 2001
|
||||
From: Sandro <devel@penguinpee.nl>
|
||||
Date: Mon, 4 Mar 2024 20:28:49 +0100
|
||||
Subject: [PATCH 1/3] Make sure Paths.bottles exists
|
||||
Subject: [PATCH 1/2] Make sure Paths.bottles exists
|
||||
|
||||
When calling `bottles foo.exe` either from the command line or by
|
||||
opening the executable from the file browser with Bottles, Bottles will
|
||||
|
|
@ -13,10 +13,10 @@ It seems check_app_dirs() is never called in that situation.
|
|||
1 file changed, 5 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/bottles/backend/managers/manager.py b/bottles/backend/managers/manager.py
|
||||
index 5569b663..799ce8c3 100644
|
||||
index 2a923ec8..42a87167 100644
|
||||
--- a/bottles/backend/managers/manager.py
|
||||
+++ b/bottles/backend/managers/manager.py
|
||||
@@ -888,7 +888,11 @@ class Manager(metaclass=Singleton):
|
||||
@@ -812,7 +812,11 @@ class Manager(metaclass=Singleton):
|
||||
Check for local bottles and update the local_bottles list.
|
||||
Will also mark the broken ones if the configuration file is missing
|
||||
"""
|
||||
|
|
@ -30,5 +30,5 @@ index 5569b663..799ce8c3 100644
|
|||
# Empty local bottles
|
||||
self.local_bottles = {}
|
||||
--
|
||||
2.51.0
|
||||
2.47.0
|
||||
|
||||
|
|
|
|||
|
|
@ -1,18 +1,18 @@
|
|||
From 602f3b45095fc63728850ba1d636ac52e4a6f156 Mon Sep 17 00:00:00 2001
|
||||
From 5302231bc20db5912349bd3bce27df5a4acf9256 Mon Sep 17 00:00:00 2001
|
||||
From: Sandro <devel@penguinpee.nl>
|
||||
Date: Mon, 4 Mar 2024 21:45:51 +0100
|
||||
Subject: [PATCH 2/3] Catch AttributeError in set_manager()
|
||||
Subject: [PATCH 2/2] Catch AttributeError in set_manager()
|
||||
|
||||
Return empty list if AttributeError is raised.
|
||||
---
|
||||
bottles/frontend/windows/window.py | 9 ++++++---
|
||||
bottles/frontend/windows/main_window.py | 9 ++++++---
|
||||
1 file changed, 6 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/bottles/frontend/windows/window.py b/bottles/frontend/windows/window.py
|
||||
index 26d90728..ce76ab42 100644
|
||||
--- a/bottles/frontend/windows/window.py
|
||||
+++ b/bottles/frontend/windows/window.py
|
||||
@@ -262,9 +262,12 @@ class BottlesWindow(Adw.ApplicationWindow):
|
||||
diff --git a/bottles/frontend/windows/main_window.py b/bottles/frontend/windows/main_window.py
|
||||
index 5fb9a15c..cd26408b 100644
|
||||
--- a/bottles/frontend/windows/main_window.py
|
||||
+++ b/bottles/frontend/windows/main_window.py
|
||||
@@ -178,9 +178,12 @@ class MainWindow(Adw.ApplicationWindow):
|
||||
def set_manager(result: Manager, error=None):
|
||||
self.manager = result
|
||||
|
||||
|
|
@ -29,5 +29,5 @@ index 26d90728..ce76ab42 100644
|
|||
self.show_onboard_view()
|
||||
|
||||
--
|
||||
2.51.0
|
||||
2.47.0
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
From 3001aaba2b1ea6488b69f8714171eff635043b53 Mon Sep 17 00:00:00 2001
|
||||
From 25ca897f6a04187cec0e06e4740abf8378cf0d43 Mon Sep 17 00:00:00 2001
|
||||
From: Sandro <devel@penguinpee.nl>
|
||||
Date: Sat, 9 Nov 2024 13:42:00 +0100
|
||||
Subject: [PATCH 3/3] Catch AttributeError when window is closed
|
||||
Subject: [PATCH] Catch AttributeError when window is closed
|
||||
|
||||
In certain situations Bottles crashes with:
|
||||
|
||||
|
|
@ -13,10 +13,10 @@ This should allow Bottles to exit without error.
|
|||
1 file changed, 4 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/bottles/frontend/main.py b/bottles/frontend/main.py
|
||||
index f6a07b15..ea3d7ad1 100644
|
||||
index 5616ab22..7c44b585 100644
|
||||
--- a/bottles/frontend/main.py
|
||||
+++ b/bottles/frontend/main.py
|
||||
@@ -267,7 +267,10 @@ class Bottles(Adw.Application):
|
||||
@@ -260,7 +260,10 @@ class Bottles(Adw.Application):
|
||||
logging.info(
|
||||
_("[Quit] request received."),
|
||||
)
|
||||
|
|
@ -29,5 +29,5 @@ index f6a07b15..ea3d7ad1 100644
|
|||
|
||||
@staticmethod
|
||||
--
|
||||
2.51.0
|
||||
2.47.0
|
||||
|
||||
|
|
|
|||
79
0004-Use-FileDialog-for-all-file-path-pickers.patch
Normal file
79
0004-Use-FileDialog-for-all-file-path-pickers.patch
Normal file
|
|
@ -0,0 +1,79 @@
|
|||
From 77bc57c6a2468d4c28f9c8e80ca20fd4e2e48dfb Mon Sep 17 00:00:00 2001
|
||||
From: Sandro <devel@penguinpee.nl>
|
||||
Date: Sat, 9 Nov 2024 16:59:50 +0100
|
||||
Subject: [PATCH] Use FileDialog for all file/path pickers
|
||||
|
||||
- Use `FileDialog` throughout
|
||||
- Handle whatever `GLib.Error` throws our way
|
||||
- Handle it the same way regardless of dialog
|
||||
---
|
||||
bottles/frontend/windows/launchoptions.py | 43 ++++++++++++++---------
|
||||
1 file changed, 27 insertions(+), 16 deletions(-)
|
||||
|
||||
diff --git a/bottles/frontend/windows/launchoptions.py b/bottles/frontend/windows/launchoptions.py
|
||||
index adb122a3..79dbedd6 100644
|
||||
--- a/bottles/frontend/windows/launchoptions.py
|
||||
+++ b/bottles/frontend/windows/launchoptions.py
|
||||
@@ -279,6 +279,7 @@ class LaunchOptionsDialog(Adw.Window):
|
||||
else:
|
||||
# something else happened...
|
||||
logging.warning("Error selecting post-run script: %s" % error)
|
||||
+ pass
|
||||
|
||||
dialog = Gtk.FileDialog.new()
|
||||
dialog.set_title("Select Post-run Script")
|
||||
@@ -296,25 +297,35 @@ class LaunchOptionsDialog(Adw.Window):
|
||||
self.btn_post_script_reset.set_visible(False)
|
||||
|
||||
def __choose_cwd(self, *_args):
|
||||
- def set_path(dialog, response):
|
||||
- if response != Gtk.ResponseType.ACCEPT:
|
||||
- self.action_cwd.set_subtitle(self.__default_cwd_msg)
|
||||
- return
|
||||
-
|
||||
- directory_path = dialog.get_file().get_path()
|
||||
- self.program["folder"] = directory_path
|
||||
- self.action_cwd.set_subtitle(directory_path)
|
||||
- self.btn_cwd_reset.set_visible(True)
|
||||
+ def set_path(dialog, result):
|
||||
|
||||
- dialog = Gtk.FileChooserNative.new(
|
||||
- title=_("Select Working Directory"),
|
||||
- parent=self.window,
|
||||
- action=Gtk.FileChooserAction.SELECT_FOLDER,
|
||||
- )
|
||||
+ try:
|
||||
+ directory = dialog.select_folder_finish(result)
|
||||
+
|
||||
+ if directory is None:
|
||||
+ self.action_cwd.set_subtitle(
|
||||
+ self.__default_cwd_msg)
|
||||
+ return
|
||||
|
||||
+ directory_path = directory.get_path()
|
||||
+ self.program["folder"] = directory_path
|
||||
+ self.action_cwd.set_subtitle(directory_path)
|
||||
+ self.btn_cwd_reset.set_visible(True)
|
||||
+ except GLib.Error as error:
|
||||
+ # also thrown when dialog has been cancelled
|
||||
+ if error.code == 2:
|
||||
+ # error 2 seems to be 'dismiss' or 'cancel'
|
||||
+ if self.program["folder"] is None or self.program["folder"] == "":
|
||||
+ self.action_cwd.set_subtitle(self.__default_cwd_msg)
|
||||
+ else:
|
||||
+ # something else happened...
|
||||
+ logging.warning("Error selecting folder: %s" % error)
|
||||
+ raise
|
||||
+
|
||||
+ dialog = Gtk.FileDialog.new()
|
||||
+ dialog.set_title("Select Working Directory")
|
||||
dialog.set_modal(True)
|
||||
- dialog.connect("response", set_path)
|
||||
- dialog.show()
|
||||
+ dialog.select_folder(parent=self.window, callback=set_path)
|
||||
|
||||
def __reset_cwd(self, *_args):
|
||||
"""
|
||||
--
|
||||
2.47.0
|
||||
|
||||
|
|
@ -1,33 +0,0 @@
|
|||
From 43278894bd9f1277da14ac187ba7b42ece5cf483 Mon Sep 17 00:00:00 2001
|
||||
From: Sandro <devel@penguinpee.nl>
|
||||
Date: Sun, 8 Dec 2024 11:11:27 +0100
|
||||
Subject: [PATCH 1001/1005] Revert "meson: Add check for Flatpak"
|
||||
|
||||
We still want to package Bottle as RPM for our users, despite upstream
|
||||
having a very strong, almost hostile, preference for Flatpak.
|
||||
|
||||
This reverts commit 6206301992c3218060761e5b574b83da485b759a.
|
||||
---
|
||||
bottles/frontend/meson.build | 6 ------
|
||||
1 file changed, 6 deletions(-)
|
||||
|
||||
diff --git a/bottles/frontend/meson.build b/bottles/frontend/meson.build
|
||||
index 6ff7c011..c26ea0b9 100644
|
||||
--- a/bottles/frontend/meson.build
|
||||
+++ b/bottles/frontend/meson.build
|
||||
@@ -23,12 +23,6 @@ params_file = configure_file(
|
||||
configuration: conf
|
||||
)
|
||||
|
||||
-fs = import('fs')
|
||||
-
|
||||
-if not fs.is_file('/' + '.flatpak-info')
|
||||
- error('file does not exist')
|
||||
-endif
|
||||
-
|
||||
bottles_sources = [
|
||||
'__init__.py',
|
||||
'main.py',
|
||||
--
|
||||
2.51.0
|
||||
|
||||
|
|
@ -1,27 +0,0 @@
|
|||
From 6daaf8a10f2678f1325546992aa27552f0407c1e Mon Sep 17 00:00:00 2001
|
||||
From: Sandro <devel@penguinpee.nl>
|
||||
Date: Sun, 8 Dec 2024 11:22:42 +0100
|
||||
Subject: [PATCH 1002/1005] Change issue URL to Bugzilla
|
||||
|
||||
Since upstream does not whish to receive bug reports from non-Flatpak
|
||||
users, direct them to Bugzilla instead.
|
||||
---
|
||||
data/com.usebottles.bottles.metainfo.xml.in.in | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/data/com.usebottles.bottles.metainfo.xml.in.in b/data/com.usebottles.bottles.metainfo.xml.in.in
|
||||
index c380c823..fd2261d9 100644
|
||||
--- a/data/com.usebottles.bottles.metainfo.xml.in.in
|
||||
+++ b/data/com.usebottles.bottles.metainfo.xml.in.in
|
||||
@@ -70,7 +70,7 @@
|
||||
<translation type="gettext">@APP_ID@</translation>
|
||||
<content_rating type="oars-1.1"/>
|
||||
<url type="homepage">https://usebottles.com</url>
|
||||
- <url type="bugtracker">https://github.com/bottlesdevs/Bottles/issues</url>
|
||||
+ <url type="bugtracker">https://bugz.fedoraproject.org/bottles</url>
|
||||
<url type="help">https://docs.usebottles.com</url>
|
||||
<url type="donation">https://usebottles.com/funding</url>
|
||||
<url type="translate">https://hosted.weblate.org/engage/bottles</url>
|
||||
--
|
||||
2.51.0
|
||||
|
||||
|
|
@ -1,58 +0,0 @@
|
|||
From 96e3ec53fe9819cf23bc8369e397d12ef1f06b51 Mon Sep 17 00:00:00 2001
|
||||
From: Sandro <devel@penguinpee.nl>
|
||||
Date: Sun, 8 Dec 2024 12:21:57 +0100
|
||||
Subject: [PATCH 1003/1005] Display warning regarding issue tracker
|
||||
|
||||
Make sure users know where to report bugs regarding the RPM package of
|
||||
Bottles. Revert upstream's outright denial of usage.
|
||||
---
|
||||
bottles/frontend/windows/window.py | 23 ++++++++++-------------
|
||||
1 file changed, 10 insertions(+), 13 deletions(-)
|
||||
|
||||
diff --git a/bottles/frontend/windows/window.py b/bottles/frontend/windows/window.py
|
||||
index ce76ab42..05c20092 100644
|
||||
--- a/bottles/frontend/windows/window.py
|
||||
+++ b/bottles/frontend/windows/window.py
|
||||
@@ -116,29 +116,26 @@ class BottlesWindow(Adw.ApplicationWindow):
|
||||
|
||||
def response(dialog, response, *args):
|
||||
if response == "close":
|
||||
- quit(1)
|
||||
+ return
|
||||
|
||||
body = _(
|
||||
- "Bottles is only supported within a sandboxed environment. Official sources of Bottles are available at"
|
||||
+ "Bottles developers (upstream) only support Flatpak. Please report any issues with the RPM package in"
|
||||
)
|
||||
- download_url = "usebottles.com/download"
|
||||
+ bug_url = "bugz.fedoraproject.org/bottles"
|
||||
|
||||
error_dialog = Adw.AlertDialog.new(
|
||||
- _("Unsupported Environment"),
|
||||
- f"{body} <a href='https://{download_url}' title='https://{download_url}'>{download_url}.</a>",
|
||||
+ _("RPM Package Note"),
|
||||
+ f"{body} <a href='https://{bug_url}' title='https://{bug_url}'>Bugzilla.</a>"
|
||||
)
|
||||
|
||||
- error_dialog.add_response("close", _("Close"))
|
||||
+ error_dialog.add_response("close", _("Understood"))
|
||||
error_dialog.set_body_use_markup(True)
|
||||
error_dialog.connect("response", response)
|
||||
error_dialog.present(self)
|
||||
- logging.error(
|
||||
- _(
|
||||
- "Bottles is only supported within a sandboxed format. Official sources of Bottles are available at:"
|
||||
- )
|
||||
- )
|
||||
- logging.error("https://usebottles.com/download/")
|
||||
- return
|
||||
+ logging.warn(_("Bottles is only supported within a sandboxed environment. Official sources of Bottles are available at:"))
|
||||
+ logging.warn("https://usebottles.com/download/")
|
||||
+ logging.warn(_("Please report any issues using the RPM package to:"))
|
||||
+ logging.warn("https://bugz.fedoraproject.org/bottles")
|
||||
|
||||
# Loading view
|
||||
self.page_loading = LoadingView()
|
||||
--
|
||||
2.51.0
|
||||
|
||||
|
|
@ -1,187 +0,0 @@
|
|||
From fc49b2eecc0526ac58c029a011b3fb90383f98c7 Mon Sep 17 00:00:00 2001
|
||||
From: Sandro <devel@penguinpee.nl>
|
||||
Date: Wed, 8 Jan 2025 09:44:32 +0100
|
||||
Subject: [PATCH 1004/1005] Do not require Xdp
|
||||
|
||||
This is used for Flatpak introspection. No need to depend on Xdp in the
|
||||
RPM package. We will never run in a sandboxed environment.
|
||||
|
||||
Upstream uses this for checking that Bottles is running inside a Flatpak
|
||||
sandbox with `running_under_sandbox`. This patch removes the check,
|
||||
allowing us to drop the dependency on Xdp.
|
||||
|
||||
Unfortunately, we will have to review this with every release.
|
||||
---
|
||||
bottles/frontend/main.py | 2 --
|
||||
bottles/frontend/views/bottle_details.py | 17 ++----------
|
||||
bottles/frontend/views/bottle_preferences.py | 5 +---
|
||||
bottles/frontend/views/list.py | 5 +---
|
||||
bottles/frontend/views/new_bottle_dialog.py | 4 +--
|
||||
bottles/frontend/windows/window.py | 28 +-------------------
|
||||
6 files changed, 7 insertions(+), 54 deletions(-)
|
||||
|
||||
diff --git a/bottles/frontend/main.py b/bottles/frontend/main.py
|
||||
index ea3d7ad1..5a8ecd20 100644
|
||||
--- a/bottles/frontend/main.py
|
||||
+++ b/bottles/frontend/main.py
|
||||
@@ -34,8 +34,6 @@ from bottles.frontend.params import (
|
||||
gi.require_version("Gtk", "4.0")
|
||||
gi.require_version("Adw", "1")
|
||||
gi.require_version("GtkSource", "5")
|
||||
-gi.require_version("Xdp", "1.0")
|
||||
-# gi.require_version("XdpGtk4", "1.0")
|
||||
|
||||
# ruff: noqa: E402
|
||||
from gi.repository import Gio, GLib, GObject, Adw # type: ignore
|
||||
diff --git a/bottles/frontend/views/bottle_details.py b/bottles/frontend/views/bottle_details.py
|
||||
index 65667ea9..b4f151ea 100644
|
||||
--- a/bottles/frontend/views/bottle_details.py
|
||||
+++ b/bottles/frontend/views/bottle_details.py
|
||||
@@ -21,7 +21,7 @@ from datetime import datetime
|
||||
from gettext import gettext as _
|
||||
from typing import List, Optional
|
||||
|
||||
-from gi.repository import Gtk, Gio, Adw, Gdk, GLib, Xdp
|
||||
+from gi.repository import Gtk, Gio, Adw, Gdk, GLib
|
||||
|
||||
from bottles.backend.managers.backup import BackupManager
|
||||
from bottles.backend.models.config import BottleConfig
|
||||
@@ -436,20 +436,7 @@ class BottleView(Adw.PreferencesPage):
|
||||
dialog.connect("response", execute)
|
||||
dialog.show()
|
||||
|
||||
- if Xdp.Portal.running_under_sandbox():
|
||||
- if self.window.settings.get_boolean("show-sandbox-warning"):
|
||||
- dialog = Adw.MessageDialog.new(
|
||||
- self.window,
|
||||
- _("Be Aware of Sandbox"),
|
||||
- _(
|
||||
- "Bottles is running in a sandbox, a restricted permission environment needed to keep you safe. If the program won't run, consider moving inside the bottle (3 dots icon on the top), then launch from there."
|
||||
- ),
|
||||
- )
|
||||
- dialog.add_response("dismiss", _("_Dismiss"))
|
||||
- dialog.connect("response", show_chooser)
|
||||
- dialog.present()
|
||||
- else:
|
||||
- show_chooser()
|
||||
+ show_chooser()
|
||||
|
||||
def __backup(self, widget, backup_type):
|
||||
"""
|
||||
diff --git a/bottles/frontend/views/bottle_preferences.py b/bottles/frontend/views/bottle_preferences.py
|
||||
index 0d450f29..eb67714a 100644
|
||||
--- a/bottles/frontend/views/bottle_preferences.py
|
||||
+++ b/bottles/frontend/views/bottle_preferences.py
|
||||
@@ -20,7 +20,7 @@ import os
|
||||
import re
|
||||
from gettext import gettext as _
|
||||
|
||||
-from gi.repository import Gtk, Adw, Xdp
|
||||
+from gi.repository import Gtk, Adw
|
||||
|
||||
from bottles.backend.globals import (
|
||||
gamemode_available,
|
||||
@@ -139,9 +139,6 @@ class PreferencesView(Adw.PreferencesPage):
|
||||
self.queue = details.queue
|
||||
self.details = details
|
||||
|
||||
- if not gamemode_available or 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 flatpak install"
|
||||
diff --git a/bottles/frontend/views/list.py b/bottles/frontend/views/list.py
|
||||
index 43ab9c22..a8f6c587 100644
|
||||
--- a/bottles/frontend/views/list.py
|
||||
+++ b/bottles/frontend/views/list.py
|
||||
@@ -18,7 +18,7 @@
|
||||
from datetime import datetime
|
||||
from gettext import gettext as _
|
||||
|
||||
-from gi.repository import Gtk, GLib, Adw, Xdp
|
||||
+from gi.repository import Gtk, GLib, Adw
|
||||
|
||||
from bottles.backend.models.config import BottleConfig
|
||||
from bottles.backend.models.result import Result
|
||||
@@ -82,9 +82,6 @@ class BottlesBottleRow(Adw.ActionRow):
|
||||
|
||||
def run_executable(self, *_args):
|
||||
"""Display file dialog for executable"""
|
||||
- if not Xdp.Portal.running_under_sandbox():
|
||||
- return
|
||||
-
|
||||
def set_path(_dialog, response):
|
||||
if response != Gtk.ResponseType.ACCEPT:
|
||||
return
|
||||
diff --git a/bottles/frontend/views/new_bottle_dialog.py b/bottles/frontend/views/new_bottle_dialog.py
|
||||
index 6774b10b..a34957eb 100644
|
||||
--- a/bottles/frontend/views/new_bottle_dialog.py
|
||||
+++ b/bottles/frontend/views/new_bottle_dialog.py
|
||||
@@ -21,7 +21,7 @@ from threading import Event
|
||||
from typing import Any, Optional
|
||||
|
||||
from bottles.backend.state import Task, TaskManager
|
||||
-from gi.repository import Gtk, Adw, Pango, Gio, Xdp, GObject, GLib
|
||||
+from gi.repository import Gtk, Adw, Pango, Gio, GObject, GLib
|
||||
|
||||
from bottles.backend.models.config import BottleConfig
|
||||
from bottles.backend.utils.threading import RunAsync
|
||||
@@ -86,7 +86,7 @@ class BottlesNewBottleDialog(Adw.Dialog):
|
||||
super().__init__(**kwargs)
|
||||
# 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:
|
||||
return
|
||||
|
||||
self.app = self.window.get_application()
|
||||
diff --git a/bottles/frontend/windows/window.py b/bottles/frontend/windows/window.py
|
||||
index 05c20092..f9625016 100644
|
||||
--- a/bottles/frontend/windows/window.py
|
||||
+++ b/bottles/frontend/windows/window.py
|
||||
@@ -21,7 +21,7 @@ import webbrowser
|
||||
from gettext import gettext as _
|
||||
from typing import Optional
|
||||
|
||||
-from gi.repository import Gtk, GLib, Gio, Adw, GObject, Gdk, Xdp
|
||||
+from gi.repository import Gtk, GLib, Gio, Adw, GObject, Gdk
|
||||
|
||||
from bottles.backend.globals import Paths
|
||||
from bottles.backend.health import HealthChecker
|
||||
@@ -111,32 +111,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():
|
||||
-
|
||||
- def response(dialog, response, *args):
|
||||
- if response == "close":
|
||||
- return
|
||||
-
|
||||
- body = _(
|
||||
- "Bottles developers (upstream) only support Flatpak. Please report any issues with the RPM package in"
|
||||
- )
|
||||
- bug_url = "bugz.fedoraproject.org/bottles"
|
||||
-
|
||||
- error_dialog = Adw.AlertDialog.new(
|
||||
- _("RPM Package Note"),
|
||||
- f"{body} <a href='https://{bug_url}' title='https://{bug_url}'>Bugzilla.</a>"
|
||||
- )
|
||||
-
|
||||
- error_dialog.add_response("close", _("Understood"))
|
||||
- error_dialog.set_body_use_markup(True)
|
||||
- error_dialog.connect("response", response)
|
||||
- error_dialog.present(self)
|
||||
- logging.warn(_("Bottles is only supported within a sandboxed environment. Official sources of Bottles are available at:"))
|
||||
- logging.warn("https://usebottles.com/download/")
|
||||
- logging.warn(_("Please report any issues using the RPM package to:"))
|
||||
- logging.warn("https://bugz.fedoraproject.org/bottles")
|
||||
-
|
||||
# Loading view
|
||||
self.page_loading = LoadingView()
|
||||
|
||||
--
|
||||
2.51.0
|
||||
|
||||
|
|
@ -1,30 +0,0 @@
|
|||
From 9874f7e6d9289c1dd398c26eb9f8c585412aacff Mon Sep 17 00:00:00 2001
|
||||
From: Sandro <devel@penguinpee.nl>
|
||||
Date: Sat, 8 Nov 2025 12:06:54 +0100
|
||||
Subject: [PATCH 1005/1005] Search for system installed vkBasalt
|
||||
|
||||
Also look in /usr/local in case a local install is present.
|
||||
---
|
||||
bottles/backend/globals.py | 6 +++---
|
||||
1 file changed, 3 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/bottles/backend/globals.py b/bottles/backend/globals.py
|
||||
index 488acea3..d6a6a466 100644
|
||||
--- a/bottles/backend/globals.py
|
||||
+++ b/bottles/backend/globals.py
|
||||
@@ -52,9 +52,9 @@ class Paths:
|
||||
@staticmethod
|
||||
def is_vkbasalt_available():
|
||||
vkbasalt_paths = [
|
||||
- "/usr/lib/extensions/vulkan/vkBasalt/etc/vkBasalt",
|
||||
- "/usr/local",
|
||||
- "/usr/share/vkBasalt",
|
||||
+ "/usr/lib64/vkbasalt/libvkbasalt.so",
|
||||
+ "/usr/local/lib64/libvkbasalt.so",
|
||||
+ "/usr/local/lib64/vkbasalt/libvkbasalt.so",
|
||||
]
|
||||
for path in vkbasalt_paths:
|
||||
if os.path.exists(path):
|
||||
--
|
||||
2.51.0
|
||||
|
||||
|
|
@ -1,3 +1,3 @@
|
|||
This repository is maintained by packit.
|
||||
https://packit.dev/
|
||||
The file was generated using packit 1.12.0.
|
||||
The file was generated using packit 0.102.1.post1.dev6+g64f7460b.
|
||||
|
|
|
|||
32
bottles.spec
32
bottles.spec
|
|
@ -1,10 +1,11 @@
|
|||
%global forgeurl https://github.com/bottlesdevs/Bottles
|
||||
|
||||
Name: bottles
|
||||
Epoch: 2
|
||||
Version: 52.0
|
||||
Epoch: 1
|
||||
Version: 51.15
|
||||
Release: %autorelease
|
||||
Summary: Run Windows in a Bottle
|
||||
|
||||
%global forgeurl https://github.com/bottlesdevs/Bottles
|
||||
%global tag %{version}
|
||||
%forgemeta
|
||||
|
||||
|
|
@ -24,18 +25,16 @@ Patch: 0002-Catch-AttributeError-in-set_manager.patch
|
|||
# Catch AttributeError when closing window
|
||||
# https://bugzilla.redhat.com/show_bug.cgi?id=2313567
|
||||
Patch: 0003-Catch-AttributeError-when-window-is-closed.patch
|
||||
# Downstream only patches counteracting upstream's enforcement of Flatpak
|
||||
Patch: 1001-Revert-meson-Add-check-for-Flatpak.patch
|
||||
Patch: 1002-Change-issue-URL-to-Bugzilla.patch
|
||||
Patch: 1003-Display-warning-regarding-issue-tracker.patch
|
||||
Patch: 1004-Do-not-require-Xdp.patch
|
||||
# Attempt to prevent segfaults when picking files
|
||||
# https://bugzilla.redhat.com/show_bug.cgi?id=2296214
|
||||
Patch: 0004-Use-FileDialog-for-all-file-path-pickers.patch
|
||||
|
||||
BuildArch: noarch
|
||||
|
||||
BuildRequires: desktop-file-utils
|
||||
BuildRequires: libappstream-glib
|
||||
BuildRequires: meson
|
||||
BuildRequires: python3-devel
|
||||
BuildRequires: python3
|
||||
BuildRequires: pkgconfig(glib-2.0)
|
||||
BuildRequires: pkgconfig(gtk4)
|
||||
BuildRequires: pkgconfig(libadwaita-1) >= 1.1.99
|
||||
|
|
@ -91,18 +90,6 @@ Recommends: mesa-vulkan-drivers.i686
|
|||
Recommends: SDL2.i686
|
||||
Recommends: vulkan-loader.i686
|
||||
|
||||
# Optional dependencies that will provide extra features in Bottles
|
||||
# when installed.
|
||||
Recommends: gamemode
|
||||
Recommends: gamescope
|
||||
Recommends: mangohud
|
||||
# Since this pulls in OBS Studio and is not generally required for gaming
|
||||
# setups, we only suggest.
|
||||
Suggests: obs-studio-plugin-vkcapture
|
||||
Recommends: vkBasalt
|
||||
Recommends: vmtouch
|
||||
|
||||
|
||||
%description
|
||||
Bottles lets you run Windows software on Linux, such as applications
|
||||
and games. It introduces a workflow that helps you organize by
|
||||
|
|
@ -123,9 +110,6 @@ Features:
|
|||
%prep
|
||||
%forgeautosetup -p1
|
||||
|
||||
# F40 only has meson 1.4.1. Lower requirement.
|
||||
sed -r -i 's/(meson_version.*)1\.[0-9]\.[0-9]/\11.4.1/' meson.build
|
||||
|
||||
|
||||
%build
|
||||
%meson
|
||||
|
|
|
|||
2
sources
2
sources
|
|
@ -1 +1 @@
|
|||
SHA512 (Bottles-52.0.tar.gz) = d133cf07a224c7f1848786f7b6f90e9e834fec7e855e5c48b4413657a7566f148f8ceece958a2cce575ae5ba66dea0963c19a79a893900b88c0c6af6c8bb1c41
|
||||
SHA512 (Bottles-51.15.tar.gz) = 8917e519c6b537e54a2492b8b0955589e3d0ee2eddf59ba801e84a9f9790187e9f9d3dce990b90a7eb4fe612aaa59f98bc3368e9f43a298a59825b74b74e7ac2
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue