mirror of
https://github.com/xgui4/LCE-Qt-Launcher.git
synced 2026-07-18 01:20:45 +00:00
add initial support for freebsd
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
{
|
||||
"version" : "Version",
|
||||
"help-message" : "-h or --help to get this help \n -v or --version to get the app version \n -L or --license to get the license information \n -a or --about to get information about the app \n -cl or --cli to launch the cli version \n -g or --gen-config to generate or update the app config",
|
||||
"about-message" : "This is a custom Minecraft LCE Launcher written in Python and Qt with Freedom and GNU/Linux support in mind.",
|
||||
"play" : "Play",
|
||||
"install" : "Install",
|
||||
"username" : "Username",
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
{
|
||||
"version" : "Version",
|
||||
"help-message" : "-h ou --help pour obtenir cette aide \n -v ou --version pour obtenir la version de l'application \n -L ou --license pour obtenir les informations de licence \n -a ou --about pour obtenir des informations sur l'application \n -cl ou --cli pour lancer la version en ligne de commande \n -g ou --gen-config pour générer ou mettre à jour la configuration de l'application",
|
||||
"about-meessage" : "Il s'agit d'un lanceur Minecraft LCE personnalisé, écrit en Python et Qt, conçu pour prendre en charge Freedom et GNU/Linux.",
|
||||
"play" : "Jouer",
|
||||
"install" : "Installer",
|
||||
"username" : "Nom d'utilisateur",
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
{
|
||||
"version" : "Version",
|
||||
"help-message" : "-h or --help to get this help \n -v or --version to get the app version \n -L or --license to get the license information \n -a or --about to get information about the app \n -cl or --cli to launch the cli version \n -g or --gen-config to generate or update the app config",
|
||||
"about-message" : "This is a custom Minecraft LCE Launcher written in Python and Qt with Freedom and GNU/Linux support in mind.",
|
||||
"play" : "Play",
|
||||
"install" : "Install",
|
||||
"username" : "Username",
|
||||
|
||||
12
build.sh
12
build.sh
@@ -2,6 +2,12 @@
|
||||
|
||||
set -e
|
||||
|
||||
pyside6-rcc "res.qrc" -o "src/res_rc.py" &&
|
||||
pyside6-uic "src/form.ui" -o "src/ui_form.py" &&
|
||||
pyside6-uic "src/system_info.ui" -o "src/ui_system_info.py"
|
||||
if [[ $("uname -s") != "FreeBSD" ]]; then
|
||||
pyside6-rcc "res.qrc" -o "src/res_rc.py" &&
|
||||
pyside6-uic "src/form.ui" -o "src/ui_form.py" &&
|
||||
pyside6-uic "src/system_info.ui" -o "src/ui_system_info.py"
|
||||
else
|
||||
/usr/local/pyside6/rcc -g python "res.qrc" -o "src/res_rc.py" &&
|
||||
/usr/local/pyside6/uic -g python "src/form.ui" -o "src/ui_form.py" &&
|
||||
/usr/local/pyside6/uic -g python "src/system_info.ui" -o "src/ui_system_info.py"
|
||||
fi
|
||||
@@ -1,10 +1,10 @@
|
||||
[build-system]
|
||||
requires = ["hatchling", "PySide6"]
|
||||
requires = ["hatchling", "pyside6; sys_platform == 'win32' or sys_platform == 'linux' or sys_platform == 'darwin'"]
|
||||
build-backend = "hatchling.build"
|
||||
|
||||
[project]
|
||||
name = "LCE-Qt-Launcher"
|
||||
version = "26.3.27a"
|
||||
version = "26.3.27a0"
|
||||
description = "This is a custom Free/Libre Minecraft LCE Launcher written in Python and Qt."
|
||||
requires-python = ">3.10, <3.13"
|
||||
license = "GPL-3.0-or-later"
|
||||
@@ -12,7 +12,7 @@ readme = "readme.md"
|
||||
license-files = [ "license.md" ]
|
||||
|
||||
dependencies = [
|
||||
"pyside6",
|
||||
"pyside6; sys_platform == 'win32' or sys_platform == 'linux' or sys_platform == 'darwin'",
|
||||
"requests",
|
||||
"rich",
|
||||
"term-image",
|
||||
@@ -20,6 +20,7 @@ dependencies = [
|
||||
"pip",
|
||||
"hatch",
|
||||
"nuitka",
|
||||
"walker; sys_platform == 'win32'",
|
||||
"patchelf; sys_platform == 'linux'",
|
||||
]
|
||||
|
||||
@@ -44,8 +45,8 @@ windows-icon-from-ico = "assets/app.ico"
|
||||
product-name = "LCE-Qt-Launcher"
|
||||
file-description = "Custom Free/Libre Minecraft LCE Launcher"
|
||||
copyright = "GPL-3.0-or-later"
|
||||
windows-file-version = "{from_modules:src._version}"
|
||||
windows-product-version = "{from_modules:src._version}"
|
||||
windows-file-version = "26.3.27a0.0"
|
||||
windows-product-version = "26.3.27a0.0"
|
||||
include-data-dir = "assets"
|
||||
include-distribution-metadata = "LCE-Qt-Launcher"
|
||||
include-module = [
|
||||
|
||||
12
readme.md
12
readme.md
@@ -18,15 +18,17 @@ This is a custom Minecraft LCE Launcher written in Python and Qt with Freedom an
|
||||
- Customisable
|
||||
- Free Software (GPLv3)
|
||||
- Multiple Instance (Work in progress)
|
||||
- localisatiions (Work in progress)
|
||||
<!--
|
||||
- Coming laters:
|
||||
- Plugins
|
||||
- Skin support
|
||||
- Modding Support
|
||||
- in-app news
|
||||
- localisatiions
|
||||
-->
|
||||
- GNU/Linux compatibility first (with secondary Windows and FreeBSD support)
|
||||
- GNU/Linux compatibility
|
||||
- Experimental FreeBSD support
|
||||
- Windows support
|
||||
- Focus on being the main hub for Minecraft LCE on GNU/Linux
|
||||
- Minecraft Theme pre-configured
|
||||
|
||||
@@ -45,12 +47,12 @@ Guide coming laters
|
||||
|
||||
## How to build
|
||||
|
||||
Coming in version 0.0.1 when the program will be more stable
|
||||
Coming in the next stable release when the program will be more stable
|
||||
|
||||
## Nigthly Build
|
||||
|
||||
> [!NOTE]
|
||||
> This automatic nighly build is currently not-stable and very experimental and is in constant change
|
||||
> This automatic nighly build is currently not-stable and very experimental and active developpement
|
||||
|
||||
In this [GitHub Relese](https://github.com/xgui4/LCE-Qt-Launcher/releases/tag/nightly) page you will found Nighly Build which are made automatically
|
||||
via GitHub Action when change are made in the `nighly` branch
|
||||
@@ -59,7 +61,7 @@ MacOS is not avaiable in the Nigthly Build for now since I lack a way to test it
|
||||
|
||||
## Software Requirement
|
||||
|
||||
- [Python 3.12.x](https://www.python.org/downloads/latest/python3.12/)
|
||||
- [Python 3.10 to Python 3.13](https://www.python.org)
|
||||
- with a virtual env with the required library install (specified in the readme and [`pyproject.toml`](pyproject.toml))
|
||||
- [PySide6](https://pypi.org/project/PySide6/)
|
||||
- [Monocraft Font](https://github.com/IdreesInc/Monocraft) installed
|
||||
|
||||
@@ -8,9 +8,9 @@ import lce_qt_launcher.term_service as term_service
|
||||
|
||||
class JsonTrans(QObject):
|
||||
|
||||
languageChanged: Signal = Signal() # Signal QT about the language changes
|
||||
languageChanged: Signal = Signal()
|
||||
|
||||
FALLBACK_LANG: str = "en"
|
||||
FALLBACK_LANG: str = "translations"
|
||||
|
||||
def __init__(self, lang_code: str = FALLBACK_LANG):
|
||||
super().__init__()
|
||||
@@ -26,10 +26,10 @@ class JsonTrans(QObject):
|
||||
return
|
||||
|
||||
try:
|
||||
with open(file_path, "r", "utf-8") as f:
|
||||
with open(file_path, "r", encoding="utf-8") as f:
|
||||
self.json_data = json.load(f)
|
||||
self._current_lang = lang_code
|
||||
self.languageChanged.emit() # Notify the UI
|
||||
self.languageChanged.emit()
|
||||
except Exception as e:
|
||||
term_service.print_error(f"loading JSON: {e}. Defaulting to English Fallback.")
|
||||
|
||||
|
||||
13
src/main.py
13
src/main.py
@@ -42,14 +42,11 @@ if platform.system() == "FreeBSD":
|
||||
_FREEBSD_QT6_PATH = "/usr/local/lib/qt6/plugins"
|
||||
os.environ["QT_PLUGIN_PATH"] = _FREEBSD_QT6_PATH
|
||||
|
||||
HELP_STR = """
|
||||
-h or --help to get this help
|
||||
-v or --version to get the app version
|
||||
-L or --license to get the license information
|
||||
-a or --about to get information about the app
|
||||
-cl or --cli to launch the cli version
|
||||
-g or --gen-config to generate or update the app config
|
||||
"""
|
||||
PLAY_BUTTON_LABEL = "play"
|
||||
|
||||
HELP_STR = "help-message"
|
||||
|
||||
ABOUT_STR = "about-message"
|
||||
|
||||
INSTANCE_MANAGER_LABEL = translator.translate("instance_manager_label")
|
||||
SAVE_INSTANCE_MSG_BOX_LABEL = translator.translate("save_instance_msg_box_label")
|
||||
|
||||
12
uv.lock
generated
12
uv.lock
generated
@@ -473,10 +473,11 @@ dependencies = [
|
||||
{ name = "patchelf", marker = "sys_platform == 'linux'" },
|
||||
{ name = "pillow" },
|
||||
{ name = "pip" },
|
||||
{ name = "pyside6" },
|
||||
{ name = "pyside6", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" },
|
||||
{ name = "requests" },
|
||||
{ name = "rich" },
|
||||
{ name = "term-image" },
|
||||
{ name = "walker", marker = "sys_platform == 'win32'" },
|
||||
]
|
||||
|
||||
[package.metadata]
|
||||
@@ -486,10 +487,11 @@ requires-dist = [
|
||||
{ name = "patchelf", marker = "sys_platform == 'linux'" },
|
||||
{ name = "pillow" },
|
||||
{ name = "pip" },
|
||||
{ name = "pyside6" },
|
||||
{ name = "pyside6", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" },
|
||||
{ name = "requests" },
|
||||
{ name = "rich" },
|
||||
{ name = "term-image" },
|
||||
{ name = "walker", marker = "sys_platform == 'win32'" },
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -955,6 +957,12 @@ wheels = [
|
||||
{ url = "https://files.pythonhosted.org/packages/c6/59/7d02447a55b2e55755011a647479041bc92a82e143f96a8195cb33bd0a1c/virtualenv-21.2.0-py3-none-any.whl", hash = "sha256:1bd755b504931164a5a496d217c014d098426cddc79363ad66ac78125f9d908f", size = 5825084, upload-time = "2026-03-09T17:24:35.378Z" },
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "walker"
|
||||
version = "0.0.2"
|
||||
source = { registry = "https://pypi.org/simple" }
|
||||
sdist = { url = "https://files.pythonhosted.org/packages/d6/60/27737c77b9447b08baa7796f3ab210e22d4d4bfbdfd4f49a7d932be27efb/walker-0.0.2.tar.gz", hash = "sha256:50d3e3fac38d88383a471e27eff2740ac77a838d577c795997434c597eee333d", size = 11659, upload-time = "2014-09-13T07:37:38.531Z" }
|
||||
|
||||
[[package]]
|
||||
name = "zipp"
|
||||
version = "3.23.0"
|
||||
|
||||
Reference in New Issue
Block a user