818a044aa1
Python application / build (push) Has been cancelled
- update документация - промт для ии полу конфигурируемый
125 lines
2.8 KiB
RPMSpec
125 lines
2.8 KiB
RPMSpec
# -*- mode: python ; coding: utf-8 -*-
|
|
from pathlib import Path
|
|
|
|
from PyInstaller.utils.hooks import (
|
|
collect_data_files,
|
|
collect_dynamic_libs,
|
|
collect_submodules,
|
|
)
|
|
|
|
ROOT = Path(SPECPATH).resolve()
|
|
|
|
datas = [
|
|
(str(ROOT / "md2gost" / "Template.docx"), "md2gost"),
|
|
(str(ROOT / "md2gost" / "mml2omml"), "md2gost"),
|
|
(str(ROOT / "md2gost" / "diagrams"), "md2gost/diagrams"),
|
|
(str(ROOT / "prompts"), "prompts"),
|
|
(str(ROOT / "docs"), "docs"),
|
|
]
|
|
_plantuml = ROOT / "md2gost" / "vendor" / "plantuml.jar"
|
|
if _plantuml.is_file():
|
|
datas.append((str(_plantuml), "md2gost/vendor"))
|
|
binaries = []
|
|
hiddenimports = collect_submodules("md2gost")
|
|
|
|
datas += collect_data_files("certifi")
|
|
datas += collect_data_files("lxml")
|
|
datas += collect_data_files("latex2mathml")
|
|
datas += collect_data_files("docx")
|
|
datas += collect_data_files("matplotlib", includes=["mpl-data/**"])
|
|
|
|
for pkg in ("lxml", "freetype"):
|
|
try:
|
|
binaries += collect_dynamic_libs(pkg)
|
|
except Exception:
|
|
pass
|
|
|
|
hiddenimports += [
|
|
"lxml",
|
|
"lxml.etree",
|
|
"lxml._elementpath",
|
|
"PIL",
|
|
"PIL.Image",
|
|
"PIL.PngImagePlugin",
|
|
"pygments",
|
|
"pygments.lexers",
|
|
"pygments.formatters",
|
|
"freetype",
|
|
"docx",
|
|
"docxcompose",
|
|
"docxcompose.composer",
|
|
"marko",
|
|
"marko.ext.gfm",
|
|
"latex2mathml",
|
|
"latex2mathml.converter",
|
|
"requests",
|
|
"certifi",
|
|
"matplotlib",
|
|
"matplotlib.font_manager",
|
|
"matplotlib.ft2font",
|
|
"tkinter",
|
|
"tkinter.filedialog",
|
|
"tkinter.messagebox",
|
|
"tkinter.ttk",
|
|
]
|
|
hiddenimports += collect_submodules("pygments.lexers")
|
|
hiddenimports += collect_submodules("marko")
|
|
try:
|
|
hiddenimports += collect_submodules("tkinterdnd2")
|
|
except Exception:
|
|
pass
|
|
|
|
excludes = [
|
|
"pytest",
|
|
"PyQt5",
|
|
"PyQt6",
|
|
"PySide2",
|
|
"PySide6",
|
|
"IPython",
|
|
"jupyter",
|
|
"notebook",
|
|
"zmq",
|
|
"matplotlib.backends.qt_compat",
|
|
"matplotlib.backends.backend_qtagg",
|
|
"matplotlib.backends.backend_qt5agg",
|
|
"matplotlib.backends.backend_qt5",
|
|
"matplotlib.backends.backend_qt",
|
|
"matplotlib.backends.backend_gtk3",
|
|
"matplotlib.backends.backend_gtk4",
|
|
"matplotlib.backends.backend_macosx",
|
|
]
|
|
|
|
a = Analysis(
|
|
[str(ROOT / "scripts" / "md2gost_exe.py")],
|
|
pathex=[str(ROOT)],
|
|
binaries=binaries,
|
|
datas=datas,
|
|
hiddenimports=hiddenimports,
|
|
hookspath=[],
|
|
hooksconfig={},
|
|
runtime_hooks=[],
|
|
excludes=excludes,
|
|
noarchive=False,
|
|
)
|
|
|
|
pyz = PYZ(a.pure)
|
|
|
|
exe = EXE(
|
|
pyz,
|
|
a.scripts,
|
|
a.binaries,
|
|
a.datas,
|
|
[],
|
|
name="md2gost",
|
|
debug=False,
|
|
bootloader_ignore_signals=False,
|
|
strip=False,
|
|
upx=False,
|
|
console=False,
|
|
disable_windowed_traceback=False,
|
|
argv_emulation=False,
|
|
target_arch=None,
|
|
codesign_identity=None,
|
|
entitlements_file=None,
|
|
)
|