Add cx_setup.py for building the ReticulumMeshChatX application
- Introduced a new setup script using cx_Freeze to facilitate building the application. - Updated version.py to maintain consistency in version string formatting. - Modified build-backend.js to use poetry for executing the build process.
This commit is contained in:
48
cx_setup.py
Normal file
48
cx_setup.py
Normal file
@@ -0,0 +1,48 @@
|
|||||||
|
from pathlib import Path
|
||||||
|
|
||||||
|
from cx_Freeze import Executable, setup
|
||||||
|
|
||||||
|
from meshchatx.src.version import __version__
|
||||||
|
|
||||||
|
ROOT = Path(__file__).resolve().parent
|
||||||
|
PUBLIC_DIR = ROOT / "meshchatx" / "public"
|
||||||
|
|
||||||
|
include_files = [
|
||||||
|
(str(PUBLIC_DIR), "public"),
|
||||||
|
("logo", "logo"),
|
||||||
|
]
|
||||||
|
|
||||||
|
setup(
|
||||||
|
name="ReticulumMeshChatX",
|
||||||
|
version=__version__,
|
||||||
|
description="A simple mesh network communications app powered by the Reticulum Network Stack",
|
||||||
|
executables=[
|
||||||
|
Executable(
|
||||||
|
script="meshchatx/meshchat.py",
|
||||||
|
base=None,
|
||||||
|
target_name="ReticulumMeshChatX",
|
||||||
|
shortcut_name="ReticulumMeshChatX",
|
||||||
|
shortcut_dir="ProgramMenuFolder",
|
||||||
|
icon="logo/icon.ico",
|
||||||
|
),
|
||||||
|
],
|
||||||
|
options={
|
||||||
|
"build_exe": {
|
||||||
|
"packages": [
|
||||||
|
"RNS",
|
||||||
|
"RNS.Interfaces",
|
||||||
|
"LXMF",
|
||||||
|
],
|
||||||
|
"include_files": include_files,
|
||||||
|
"excludes": [
|
||||||
|
"PIL",
|
||||||
|
],
|
||||||
|
"optimize": 2,
|
||||||
|
"build_exe": "build/exe",
|
||||||
|
"replace_paths": [
|
||||||
|
("*", ""),
|
||||||
|
],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
)
|
||||||
|
|
||||||
@@ -1,5 +1,6 @@
|
|||||||
"""Auto-generated helper so Python tooling and the Electron build
|
"""
|
||||||
|
Auto-generated helper so Python tooling and the Electron build
|
||||||
share the same version string.
|
share the same version string.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
__version__ = "2.41.0"
|
__version__ = '2.41.0'
|
||||||
|
|||||||
@@ -1,16 +1,8 @@
|
|||||||
#!/usr/bin/env node
|
#!/usr/bin/env node
|
||||||
|
|
||||||
const { execSync } = require('child_process');
|
const { execSync } = require('child_process');
|
||||||
const path = require('path');
|
|
||||||
const os = require('os');
|
|
||||||
|
|
||||||
const platform = os.platform();
|
|
||||||
const venvPython = platform === 'win32'
|
|
||||||
? path.join('venv', 'Scripts', 'python.exe')
|
|
||||||
: path.join('venv', 'bin', 'python');
|
|
||||||
|
|
||||||
try {
|
try {
|
||||||
execSync(`${venvPython} setup.py build`, { stdio: 'inherit' });
|
execSync(`poetry run python cx_setup.py build`, { stdio: 'inherit' });
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error('Build failed:', error.message);
|
console.error('Build failed:', error.message);
|
||||||
process.exit(1);
|
process.exit(1);
|
||||||
|
|||||||
Reference in New Issue
Block a user