Skip to content

Commit 0b1c190

Browse files
committed
feat: add first preparations for beta2
1 parent 4208741 commit 0b1c190

File tree

4 files changed

+137
-69
lines changed

4 files changed

+137
-69
lines changed

Justfile

Lines changed: 9 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -10,15 +10,19 @@ DESKTOP_FILE := 'io.github.mpvqc.mpvQC.desktop'
1010
BUILD_DIR := 'build-dir'
1111

1212
@_default:
13-
just --list
13+
just --list --unsorted
1414

1515
# Initialize repository
16-
@init:
16+
init:
1717
uv sync --group dev
1818

1919
# Format code
20-
@format:
21-
uvx prek run --all-files
20+
format:
21+
uvx prek@0.2.12 run --all-files
22+
23+
# Lint Python files (type checker)
24+
lint:
25+
uvx pyrefly@0.39.4 check flatpak-pypi-updater.py
2226

2327
# Regenerate Python dependency file
2428
[group('support')]
@@ -30,28 +34,7 @@ BUILD_DIR := 'build-dir'
3034
--dependency MarkupSafe==3.0.2::cp312:manylinux:x86_64 \
3135
--dependency Jinja2::none:any \
3236
--dependency mpv::none:any \
33-
--dependency loguru::none:any \
34-
--cleanup "/bin" \
35-
--cleanup "/lib/python3.12/site-packages/PySide6/lupdate" \
36-
--cleanup "/lib/python3.12/site-packages/PySide6/qmlls" \
37-
--cleanup "/lib/python3.12/site-packages/PySide6/qmlformat" \
38-
--cleanup "/lib/python3.12/site-packages/PySide6/assistant" \
39-
--cleanup "/lib/python3.12/site-packages/PySide6/linguist" \
40-
--cleanup "/lib/python3.12/site-packages/PySide6/designer" \
41-
--cleanup "/lib/python3.12/site-packages/PySide6/lrelease" \
42-
--cleanup "/lib/python3.12/site-packages/PySide6/qmllint" \
43-
--cleanup "/lib/python3.12/site-packages/PySide6/svgtoqml" \
44-
--cleanup "/lib/python3.12/site-packages/PySide6/QtWidgets.abi3.so" \
45-
--cleanup "/lib/python3.12/site-packages/PySide6/Qt/lib/libQt6Widgets.so.6" \
46-
--cleanup "/lib/python3.12/site-packages/PySide6/Qt/lib/libQt6Designer.so.6" \
47-
--cleanup "/lib/python3.12/site-packages/PySide6/Qt/lib/libQt6DesignerComponents.so.6" \
48-
--cleanup "/lib/python3.12/site-packages/PySide6/Qt/lib/libQt6QuickControls2Imagine.so.6" \
49-
--cleanup "/lib/python3.12/site-packages/PySide6/Qt/lib/libQt6QuickControls2Fusion.so.6" \
50-
--cleanup "/lib/python3.12/site-packages/PySide6/Qt/lib/libQt6QuickControls2Universal.so.6" \
51-
--cleanup "/lib/python3.12/site-packages/PySide6/Qt/translations/assistant_*" \
52-
--cleanup "/lib/python3.12/site-packages/PySide6/Qt/translations/designer_*" \
53-
--cleanup "/lib/python3.12/site-packages/PySide6/Qt/translations/linguist_*" \
54-
--cleanup "/lib/python3.12/site-packages/PySide6/Qt/translations/qt_help_*" \
37+
--dependency colorlog::none:any \
5538
--output {{ MANIFEST_PYPI_FILE }}
5639

5740
# Lint flatpak appstream file

flatpak-pypi-updater.py

Lines changed: 27 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ class Requirement:
1717
name: str
1818
version: str
1919
filters: list[str] # filter1:filter2:filter3
20-
data: list = None
20+
data: list
2121

2222

2323
@dataclass(frozen=True)
@@ -49,7 +49,7 @@ def configure_for(self, dependencies: list[str]) -> None:
4949
else:
5050
version = "latest"
5151

52-
self._requirements[name] = Requirement(name, version, filters)
52+
self._requirements[name] = Requirement(name, version, filters, data=[])
5353

5454
def resolve(self) -> None:
5555
for requirement in self._requirements.values():
@@ -117,16 +117,14 @@ def run(args):
117117
updater.resolve()
118118

119119
dump_yml_requirements(
120-
output=Path(args.output).absolute(),
120+
yaml_file=Path(args.output).absolute(),
121121
requirements=updater.extract(),
122-
cleanup=args.cleanup,
123122
)
124123

125124

126125
def dump_yml_requirements(
127-
output: Path,
126+
yaml_file: Path,
128127
requirements: list[ResolvedRequirement],
129-
cleanup: list[str],
130128
):
131129
app_names = " ".join(f"{req.name.lower()}~={req.version}" for req in requirements)
132130
sources = [
@@ -137,9 +135,12 @@ def dump_yml_requirements(
137135
}
138136
for req in requirements
139137
]
138+
139+
# noinspection PyTypeChecker
140+
cleanup = sorted(read_existing_cleanup(yaml_file), key=str.lower)
141+
140142
yaml_object = {
141143
"name": "pypi-dependencies",
142-
"cleanup": cleanup,
143144
"buildsystem": "simple",
144145
"build-commands": [
145146
(
@@ -149,10 +150,27 @@ def dump_yml_requirements(
149150
),
150151
],
151152
"sources": sources,
153+
"cleanup": cleanup,
152154
}
153-
content = yaml.dump(yaml_object, Dumper=yaml.Dumper)
154-
output.write_text(content, encoding="utf-8")
155155

156+
content = yaml.dump(yaml_object, Dumper=yaml.Dumper, sort_keys=False)
157+
yaml_file.write_text(content, encoding="utf-8")
158+
159+
160+
def read_existing_cleanup(yaml_file: Path) -> list[str]:
161+
if not yaml_file.exists():
162+
return []
163+
164+
try:
165+
content = yaml_file.read_text(encoding="utf-8")
166+
data = yaml.safe_load(content)
167+
return data.get("cleanup", [])
168+
except Exception:
169+
return []
170+
171+
172+
if __name__ == "__main__":
173+
main()
156174

157175
if __name__ == "__main__":
158176
main()

io.github.mpvqc.mpvQC.pypi.yml

Lines changed: 93 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -1,48 +1,107 @@
1-
build-commands:
2-
- pip3 install --verbose --exists-action=i --no-index --find-links="file://${PWD}" --prefix=${FLATPAK_DEST} --no-build-isolation jinja2~=3.1.6 markupsafe~=3.0.2 pyside6-essentials~=6.10.0 inject~=5.3.0 loguru~=0.7.3 mpv~=1.0.8 shiboken6~=6.10.0
1+
name: pypi-dependencies
32
buildsystem: simple
3+
build-commands:
4+
- pip3 install --verbose --exists-action=i --no-index --find-links="file://${PWD}" --prefix=${FLATPAK_DEST} --no-build-isolation jinja2~=3.1.6 markupsafe~=3.0.2 pyside6-essentials~=6.10.0 colorlog~=6.10.1 inject~=5.3.0 mpv~=1.0.8 shiboken6~=6.10.0
5+
sources:
6+
- type: file
7+
url: https://files.pythonhosted.org/packages/62/a1/3d680cbfd5f4b8f15abc1d571870c5fc3e594bb582bc3b64ea099db13e56/jinja2-3.1.6-py3-none-any.whl
8+
sha256: 85ece4451f492d0c13c5dd7c13a64681a86afae63a5f347908daf103ce6d2f67
9+
- type: file
10+
url: https://files.pythonhosted.org/packages/f3/f0/89e7aadfb3749d0f52234a0c8c7867877876e0a20b60e2188e9850794c17/MarkupSafe-3.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
11+
sha256: e17c96c14e19278594aa4841ec148115f9c7615a47382ecb6b82bd8fea3ab0c8
12+
- type: file
13+
url: https://files.pythonhosted.org/packages/5c/75/e17efc7eb900993e0e3925885635c6cf373c817196f09bcbcc102b00ac94/pyside6_essentials-6.10.0-cp39-abi3-manylinux_2_34_x86_64.whl
14+
sha256: 1d5e013a8698e37ab8ef360e6960794eb5ef20832a8d562e649b8c5a0574b2d8
15+
- type: file
16+
url: https://files.pythonhosted.org/packages/6d/c1/e419ef3723a074172b68aaa89c9f3de486ed4c2399e2dbd8113a4fdcaf9e/colorlog-6.10.1-py3-none-any.whl
17+
sha256: 2d7e8348291948af66122cff006c9f8da6255d224e7cf8e37d8de2df3bad8c9c
18+
- type: file
19+
url: https://files.pythonhosted.org/packages/98/6e/b00ef8fe9a43aa3a6f5687b710832f0d876c0812bd0ce1c3af3e71bf7dd1/inject-5.3.0-py2.py3-none-any.whl
20+
sha256: 4758eb6c464d3e2badbbf65ac991c64752b05429d6af4c3c0e5b2765efaf7e73
21+
- type: file
22+
url: https://files.pythonhosted.org/packages/f4/cf/0d5f52753366ecf2c3d763e331dcda54b0f20a1a8e52b175feb9c625399d/mpv-1.0.8-py3-none-any.whl
23+
sha256: dcf77f612e3f5ce49bd89393f37d286de7ac290db6b0800f1fdcfe0aeb5ba9b8
24+
- type: file
25+
url: https://files.pythonhosted.org/packages/ea/09/4ffa3284a17b6b765d45b41c9a7f1b2cde6c617c853ac6f170fb62bbbece/shiboken6-6.10.0-cp39-abi3-manylinux_2_34_x86_64.whl
26+
sha256: e612734da515d683696980107cdc0396a3ae0f07b059f0f422ec8a2333810234
427
cleanup:
528
- /bin
6-
- /lib/python3.12/site-packages/PySide6/lupdate
7-
- /lib/python3.12/site-packages/PySide6/qmlls
8-
- /lib/python3.12/site-packages/PySide6/qmlformat
29+
- /lib/python3.12/site-packages/PySide6/*.pyi
930
- /lib/python3.12/site-packages/PySide6/assistant
10-
- /lib/python3.12/site-packages/PySide6/linguist
1131
- /lib/python3.12/site-packages/PySide6/designer
32+
- /lib/python3.12/site-packages/PySide6/doc
33+
- /lib/python3.12/site-packages/PySide6/examples
34+
- /lib/python3.12/site-packages/PySide6/glue
35+
- /lib/python3.12/site-packages/PySide6/include
36+
- /lib/python3.12/site-packages/PySide6/linguist
1237
- /lib/python3.12/site-packages/PySide6/lrelease
38+
- /lib/python3.12/site-packages/PySide6/lupdate
39+
- /lib/python3.12/site-packages/PySide6/py.typed
40+
- /lib/python3.12/site-packages/PySide6/qmlformat
1341
- /lib/python3.12/site-packages/PySide6/qmllint
14-
- /lib/python3.12/site-packages/PySide6/svgtoqml
15-
- /lib/python3.12/site-packages/PySide6/QtWidgets.abi3.so
16-
- /lib/python3.12/site-packages/PySide6/Qt/lib/libQt6Widgets.so.6
42+
- /lib/python3.12/site-packages/PySide6/qmlls
43+
- /lib/python3.12/site-packages/PySide6/Qt/lib/libQt6Concurrent.so.6
1744
- /lib/python3.12/site-packages/PySide6/Qt/lib/libQt6Designer.so.6
1845
- /lib/python3.12/site-packages/PySide6/Qt/lib/libQt6DesignerComponents.so.6
19-
- /lib/python3.12/site-packages/PySide6/Qt/lib/libQt6QuickControls2Imagine.so.6
46+
- /lib/python3.12/site-packages/PySide6/Qt/lib/libQt6Help.so.6
47+
- /lib/python3.12/site-packages/PySide6/Qt/lib/libQt6LabsAnimation.so.6
48+
- /lib/python3.12/site-packages/PySide6/Qt/lib/libQt6LabsFolderListModel.so.6
49+
- /lib/python3.12/site-packages/PySide6/Qt/lib/libQt6LabsPlatform.so.6
50+
- /lib/python3.12/site-packages/PySide6/Qt/lib/libQt6LabsQmlModels.so.6
51+
- /lib/python3.12/site-packages/PySide6/Qt/lib/libQt6LabsSettings.so.6
52+
- /lib/python3.12/site-packages/PySide6/Qt/lib/libQt6LabsSharedImage.so.6
53+
- /lib/python3.12/site-packages/PySide6/Qt/lib/libQt6LabsWavefrontMesh.so.6
54+
- /lib/python3.12/site-packages/PySide6/Qt/lib/libQt6PrintSupport.so.6
55+
- /lib/python3.12/site-packages/PySide6/Qt/lib/libQt6QmlLocalStorage.so.6
56+
- /lib/python3.12/site-packages/PySide6/Qt/lib/libQt6QmlNetwork.so.6
57+
- /lib/python3.12/site-packages/PySide6/Qt/lib/libQt6QmlXmlListModel.so.6
58+
- /lib/python3.12/site-packages/PySide6/Qt/lib/libQt6QuickControls2FluentWinUI3StyleImpl.so.6
2059
- /lib/python3.12/site-packages/PySide6/Qt/lib/libQt6QuickControls2Fusion.so.6
60+
- /lib/python3.12/site-packages/PySide6/Qt/lib/libQt6QuickControls2FusionStyleImpl.so.6
61+
- /lib/python3.12/site-packages/PySide6/Qt/lib/libQt6QuickControls2Imagine.so.6
62+
- /lib/python3.12/site-packages/PySide6/Qt/lib/libQt6QuickControls2ImagineStyleImpl.so.6
2163
- /lib/python3.12/site-packages/PySide6/Qt/lib/libQt6QuickControls2Universal.so.6
64+
- /lib/python3.12/site-packages/PySide6/Qt/lib/libQt6QuickControls2UniversalStyleImpl.so.6
65+
- /lib/python3.12/site-packages/PySide6/Qt/lib/libQt6QuickTest.so.6
66+
- /lib/python3.12/site-packages/PySide6/Qt/lib/libQt6QuickTimeline.so.6
67+
- /lib/python3.12/site-packages/PySide6/Qt/lib/libQt6QuickTimelineBlendTrees.so.6
68+
- /lib/python3.12/site-packages/PySide6/Qt/lib/libQt6QuickVectorImageGenerator.so.6
69+
- /lib/python3.12/site-packages/PySide6/Qt/lib/libQt6QuickWidgets.so.6
70+
- /lib/python3.12/site-packages/PySide6/Qt/lib/libQt6Sql.so.6
71+
- /lib/python3.12/site-packages/PySide6/Qt/lib/libQt6SvgWidgets.so.6
72+
- /lib/python3.12/site-packages/PySide6/Qt/lib/libQt6Test.so.6
73+
- /lib/python3.12/site-packages/PySide6/Qt/lib/libQt6UiTools.so.6
74+
- /lib/python3.12/site-packages/PySide6/Qt/lib/libQt6Widgets.so.6
75+
- /lib/python3.12/site-packages/PySide6/Qt/lib/libQt6Xml.so.6
76+
- /lib/python3.12/site-packages/PySide6/Qt/plugins/designer
77+
- /lib/python3.12/site-packages/PySide6/Qt/plugins/generic
78+
- /lib/python3.12/site-packages/PySide6/Qt/plugins/networkinformation
79+
- /lib/python3.12/site-packages/PySide6/Qt/plugins/printsupport
80+
- /lib/python3.12/site-packages/PySide6/Qt/plugins/qmllint
81+
- /lib/python3.12/site-packages/PySide6/Qt/plugins/qmltooling
82+
- /lib/python3.12/site-packages/PySide6/Qt/plugins/sqldrivers
83+
- /lib/python3.12/site-packages/PySide6/Qt/plugins/tls
84+
- /lib/python3.12/site-packages/PySide6/Qt/plugins/wayland-graphics-integration-server
85+
- /lib/python3.12/site-packages/PySide6/Qt/qml/Qt
86+
- /lib/python3.12/site-packages/PySide6/Qt/qml/QtNetwork
87+
- /lib/python3.12/site-packages/PySide6/Qt/qml/QtQuick/Controls/FluentWinUI3
88+
- /lib/python3.12/site-packages/PySide6/Qt/qml/QtQuick/VirtualKeyboard
2289
- /lib/python3.12/site-packages/PySide6/Qt/translations/assistant_*
2390
- /lib/python3.12/site-packages/PySide6/Qt/translations/designer_*
2491
- /lib/python3.12/site-packages/PySide6/Qt/translations/linguist_*
25-
- /lib/python3.12/site-packages/PySide6/Qt/translations/qt_help_*
26-
name: pypi-dependencies
27-
sources:
28-
- sha256: 85ece4451f492d0c13c5dd7c13a64681a86afae63a5f347908daf103ce6d2f67
29-
type: file
30-
url: https://files.pythonhosted.org/packages/62/a1/3d680cbfd5f4b8f15abc1d571870c5fc3e594bb582bc3b64ea099db13e56/jinja2-3.1.6-py3-none-any.whl
31-
- sha256: e17c96c14e19278594aa4841ec148115f9c7615a47382ecb6b82bd8fea3ab0c8
32-
type: file
33-
url: https://files.pythonhosted.org/packages/f3/f0/89e7aadfb3749d0f52234a0c8c7867877876e0a20b60e2188e9850794c17/MarkupSafe-3.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
34-
- sha256: 1d5e013a8698e37ab8ef360e6960794eb5ef20832a8d562e649b8c5a0574b2d8
35-
type: file
36-
url: https://files.pythonhosted.org/packages/5c/75/e17efc7eb900993e0e3925885635c6cf373c817196f09bcbcc102b00ac94/pyside6_essentials-6.10.0-cp39-abi3-manylinux_2_34_x86_64.whl
37-
- sha256: 4758eb6c464d3e2badbbf65ac991c64752b05429d6af4c3c0e5b2765efaf7e73
38-
type: file
39-
url: https://files.pythonhosted.org/packages/98/6e/b00ef8fe9a43aa3a6f5687b710832f0d876c0812bd0ce1c3af3e71bf7dd1/inject-5.3.0-py2.py3-none-any.whl
40-
- sha256: 31a33c10c8e1e10422bfd431aeb5d351c7cf7fa671e3c4df004162264b28220c
41-
type: file
42-
url: https://files.pythonhosted.org/packages/0c/29/0348de65b8cc732daa3e33e67806420b2ae89bdce2b04af740289c5c6c8c/loguru-0.7.3-py3-none-any.whl
43-
- sha256: dcf77f612e3f5ce49bd89393f37d286de7ac290db6b0800f1fdcfe0aeb5ba9b8
44-
type: file
45-
url: https://files.pythonhosted.org/packages/f4/cf/0d5f52753366ecf2c3d763e331dcda54b0f20a1a8e52b175feb9c625399d/mpv-1.0.8-py3-none-any.whl
46-
- sha256: e612734da515d683696980107cdc0396a3ae0f07b059f0f422ec8a2333810234
47-
type: file
48-
url: https://files.pythonhosted.org/packages/ea/09/4ffa3284a17b6b765d45b41c9a7f1b2cde6c617c853ac6f170fb62bbbece/shiboken6-6.10.0-cp39-abi3-manylinux_2_34_x86_64.whl
92+
- /lib/python3.12/site-packages/PySide6/Qt/translations/qt_*
93+
- /lib/python3.12/site-packages/PySide6/Qt/translations/qtdeclarative_*
94+
- /lib/python3.12/site-packages/PySide6/QtConcurrent.abi3.so
95+
- /lib/python3.12/site-packages/PySide6/QtDesigner.abi3.so
96+
- /lib/python3.12/site-packages/PySide6/QtHelp.abi3.so
97+
- /lib/python3.12/site-packages/PySide6/QtPrintSupport.abi3.so
98+
- /lib/python3.12/site-packages/PySide6/QtQuickTest.abi3.so
99+
- /lib/python3.12/site-packages/PySide6/QtQuickWidgets.abi3.so
100+
- /lib/python3.12/site-packages/PySide6/QtSql.abi3.so
101+
- /lib/python3.12/site-packages/PySide6/QtSvgWidgets.abi3.so
102+
- /lib/python3.12/site-packages/PySide6/QtTest.abi3.so
103+
- /lib/python3.12/site-packages/PySide6/QtUiTools.abi3.so
104+
- /lib/python3.12/site-packages/PySide6/QtWidgets.abi3.so
105+
- /lib/python3.12/site-packages/PySide6/QtXml.abi3.so
106+
- /lib/python3.12/site-packages/PySide6/svgtoqml
107+
- /lib/python3.12/site-packages/PySide6/typesystems

io.github.mpvqc.mpvQC.yml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,13 @@ finish-args:
1313
- --socket=pulseaudio
1414
- --filesystem=xdg-run/pipewire-0:ro
1515

16+
#add-extensions:
17+
# org.freedesktop.Platform.codecs-extra:
18+
# directory: lib/codecs
19+
# version: '25.08'
20+
# add-ld-path: lib
21+
# autodelete: false
22+
1623
build-options:
1724
cflags: -O2 -fno-lto
1825
cxxflags: -O2 -fno-lto
@@ -208,6 +215,7 @@ modules:
208215
config-opts:
209216
- -Dvulkan=enabled
210217
- -Dshaderc=enabled
218+
- -Ddemos=false
211219
cleanup:
212220
- /include
213221
- /lib/pkgconfig

0 commit comments

Comments
 (0)