mirror of
https://github.com/markqvist/Sideband.git
synced 2024-10-01 03:15:37 -04:00
Added freeze script
This commit is contained in:
parent
f31caebdca
commit
83b64619b2
95
sbapp/freeze.py
Normal file
95
sbapp/freeze.py
Normal file
@ -0,0 +1,95 @@
|
||||
import os
|
||||
import re
|
||||
import setuptools
|
||||
import cx_Freeze
|
||||
from pathlib import Path
|
||||
|
||||
build_appimage = True
|
||||
|
||||
def get_version() -> str:
|
||||
version_file = os.path.join(
|
||||
os.path.dirname(__file__), "main.py"
|
||||
)
|
||||
|
||||
version_file_data = open(version_file, "rt", encoding="utf-8").read()
|
||||
version_regex = r"(?<=^__version__ = ['\"])[^'\"]+(?=['\"]$)"
|
||||
try:
|
||||
version = re.findall(version_regex, version_file_data, re.M)[0]
|
||||
return version
|
||||
except IndexError:
|
||||
raise ValueError(f"Unable to find version string in {version_file}.")
|
||||
|
||||
def get_variant() -> str:
|
||||
version_file = os.path.join(
|
||||
os.path.dirname(__file__), "main.py"
|
||||
)
|
||||
|
||||
version_file_data = open(version_file, "rt", encoding="utf-8").read()
|
||||
version_regex = r"(?<=^__variant__ = ['\"])[^'\"]+(?=['\"]$)"
|
||||
try:
|
||||
version = re.findall(version_regex, version_file_data, re.M)[0]
|
||||
return version
|
||||
except IndexError:
|
||||
raise ValueError(f"Unable to find version string in {version_file}.")
|
||||
|
||||
__version__ = get_version()
|
||||
__variant__ = get_variant()
|
||||
|
||||
def glob_paths(pattern):
|
||||
out_files = []
|
||||
src_path = os.path.join(os.path.dirname(__file__), "kivymd")
|
||||
|
||||
for root, dirs, files in os.walk(src_path):
|
||||
for file in files:
|
||||
if file.endswith(pattern):
|
||||
filepath = os.path.join(str(Path(*Path(root).parts[1:])), file)
|
||||
out_files.append(filepath.split(f"kivymd{os.sep}")[1])
|
||||
|
||||
return out_files
|
||||
|
||||
package_data = {
|
||||
"": [
|
||||
"assets/*",
|
||||
"assets/fonts/*",
|
||||
"assets/geoids/*",
|
||||
"kivymd/fonts/*",
|
||||
"kivymd/images/*",
|
||||
"kivymd/*",
|
||||
"mapview/icons/*",
|
||||
*glob_paths(".kv")
|
||||
]
|
||||
}
|
||||
|
||||
print("Freezing Sideband "+__version__+" "+__variant__)
|
||||
|
||||
if build_appimage:
|
||||
global_excludes = [".buildozer", "build", "dist"]
|
||||
# Dependencies are automatically detected, but they might need fine-tuning.
|
||||
appimage_options = {
|
||||
"target_name": "Sideband",
|
||||
"target_version": __version__+" "+__variant__,
|
||||
"include_files": [],
|
||||
"excludes": [],
|
||||
"packages": ["kivy"],
|
||||
"zip_include_packages": [],
|
||||
"bin_path_excludes": global_excludes,
|
||||
}
|
||||
|
||||
cx_Freeze.setup(
|
||||
name="Sideband",
|
||||
version=__version__,
|
||||
author="Mark Qvist",
|
||||
author_email="mark@unsigned.io",
|
||||
url="https://unsigned.io/sideband",
|
||||
executables=[
|
||||
cx_Freeze.Executable(
|
||||
script="main.py",
|
||||
base="console",
|
||||
target_name="Sideband",
|
||||
shortcut_name="Sideband",
|
||||
icon="assets/icon.png",
|
||||
copyright="Copyright (c) 2024 Mark Qvist",
|
||||
),
|
||||
],
|
||||
options={"build_appimage": appimage_options},
|
||||
)
|
Loading…
Reference in New Issue
Block a user