Updated dependencies and version bump to 2.2.0
All checks were successful
Check / mypy (push) Successful in 1m4s
Check / ruff (push) Successful in 7s

This commit is contained in:
Christoph Stahl 2025-07-02 23:12:47 +02:00
parent 63eff81740
commit 8107d47e11
14 changed files with 1967 additions and 3112 deletions

View file

@ -3,6 +3,7 @@ RUN useradd -m -d /app syng
USER syng
ENV PATH="/app/.local/bin:${PATH}"
WORKDIR /app/
RUN pip install --user alt-profanity-check
RUN pip install --user "syng[server]@git+https://github.com/christofsteel/syng.git"
RUN touch /app/keys.txt
EXPOSE 8080

View file

@ -4,7 +4,7 @@
./flatpak-pip-generator --build-only --yaml expandvars
./flatpak-pip-generator --yaml cffi
awk -v package="pyqt6" '
AWK_PROG='
BEGIN { inside_block = 0 }
# Handle continuation lines
/\\$/ {
@ -16,7 +16,10 @@ awk -v package="pyqt6" '
if (inside_block == 1 && !/\\$/) { inside_block = 0; next }
if (inside_block == 0 && $0 ~ package) { next }
print
}
' "../../requirements-client.txt" > "requirements-client.txt"
}'
awk -v package="pyqt6" "$AWK_PROG" "../../requirements-client.txt" \
| awk -v package="brotlicffi" "$AWK_PROG" \
| awk -v package="colorama" "$AWK_PROG" \
> "requirements-client.txt"
./flatpak-pip-generator --requirements-file requirements-client.txt --ignore-pkg cffi==1.17.1 --yaml

View file

@ -3,8 +3,8 @@
__license__ = "MIT"
import argparse
import json
import hashlib
import json
import os
import re
import shutil
@ -12,22 +12,28 @@ import subprocess
import sys
import tempfile
import urllib.request
from collections import OrderedDict
from typing import Dict
from collections.abc import Iterator
from contextlib import suppress
from typing import Any, TextIO
try:
import requirements
except ImportError:
exit('Requirements modules is not installed. Run "pip install requirements-parser"')
sys.exit(
'Requirements module is not installed. Run "pip install requirements-parser"'
)
parser = argparse.ArgumentParser()
parser.add_argument("packages", nargs="*")
parser.add_argument("--python2", action="store_true", help="Look for a Python 2 package")
parser.add_argument(
"--python2", action="store_true", help="Look for a Python 2 package"
)
parser.add_argument(
"--cleanup", choices=["scripts", "all"], help="Select what to clean up after build"
)
parser.add_argument("--requirements-file", "-r", help="Specify requirements.txt file")
parser.add_argument("--pyproject-file", help="Specify pyproject.toml file")
parser.add_argument(
"--build-only",
action="store_const",
@ -62,47 +68,69 @@ parser.add_argument(
parser.add_argument("--output", "-o", help="Specify output file name")
parser.add_argument(
"--runtime",
help="Specify a flatpak to run pip inside of a sandbox, ensures python version compatibility",
help=(
"Specify a flatpak to run pip inside of a sandbox, "
"ensures python version compatibility"
),
)
parser.add_argument("--yaml", action="store_true", help="Use YAML as output format instead of JSON")
parser.add_argument(
"--ignore-errors", action="store_true", help="Ignore errors when downloading packages"
"--yaml", action="store_true", help="Use YAML as output format instead of JSON"
)
parser.add_argument(
"--ignore-errors",
action="store_true",
help="Ignore errors when downloading packages",
)
parser.add_argument(
"--ignore-pkg",
nargs="*",
help="Ignore a package when generating the manifest. Can only be used with a requirements file",
help=(
"Ignore a package when generating the manifest. "
"Can only be used with a requirements file"
),
)
opts = parser.parse_args()
if opts.requirements_file and opts.pyproject_file:
sys.exit("Can't use both requirements and pyproject files at the same time")
if opts.pyproject_file:
try:
from tomllib import load as toml_load
except ModuleNotFoundError:
try:
from tomli import load as toml_load # type: ignore
except ModuleNotFoundError:
sys.exit('tomli modules is not installed. Run "pip install tomli"')
if opts.yaml:
try:
import yaml
except ImportError:
exit('PyYAML modules is not installed. Run "pip install PyYAML"')
sys.exit('PyYAML modules is not installed. Run "pip install PyYAML"')
def get_pypi_url(name: str, filename: str) -> str:
url = "https://pypi.org/pypi/{}/json".format(name)
url = f"https://pypi.org/pypi/{name}/json"
print("Extracting download url for", name)
with urllib.request.urlopen(url) as response:
with urllib.request.urlopen(url) as response: # noqa: S310
body = json.loads(response.read().decode("utf-8"))
for release in body["releases"].values():
for source in release:
if source["filename"] == filename:
return source["url"]
raise Exception("Failed to extract url from {}".format(url))
return str(source["url"])
raise Exception(f"Failed to extract url from {url}")
def get_tar_package_url_pypi(name: str, version: str) -> str:
url = "https://pypi.org/pypi/{}/{}/json".format(name, version)
with urllib.request.urlopen(url) as response:
url = f"https://pypi.org/pypi/{name}/{version}/json"
with urllib.request.urlopen(url) as response: # noqa: S310
body = json.loads(response.read().decode("utf-8"))
for ext in ["bz2", "gz", "xz", "zip"]:
for ext in ["bz2", "gz", "xz", "zip", "none-any.whl"]:
for source in body["urls"]:
if source["url"].endswith(ext):
return source["url"]
err = "Failed to get {}-{} source from {}".format(name, version, url)
return str(source["url"])
err = f"Failed to get {name}-{version} source from {url}"
raise Exception(err)
@ -112,7 +140,7 @@ def get_package_name(filename: str) -> str:
if len(segments) == 2:
return segments[0]
return "-".join(segments[: len(segments) - 1])
elif filename.endswith("whl"):
if filename.endswith("whl"):
segments = filename.split("-")
if len(segments) == 5:
return segments[0]
@ -122,10 +150,9 @@ def get_package_name(filename: str) -> str:
if candidate[-1] == segments[len(segments) - 4]:
return "-".join(candidate[:-1])
return "-".join(candidate)
else:
raise Exception(
"Downloaded filename: {} does not end with bz2, gz, xz, zip, or whl".format(filename)
)
raise Exception(
f"Downloaded filename: {filename} does not end with bz2, gz, xz, zip, or whl"
)
def get_file_version(filename: str) -> str:
@ -150,20 +177,26 @@ def get_file_hash(filename: str) -> str:
def download_tar_pypi(url: str, tempdir: str) -> None:
with urllib.request.urlopen(url) as response:
if not url.startswith(("https://", "http://")):
raise ValueError("URL must be HTTP(S)")
with urllib.request.urlopen(url) as response: # noqa: S310
file_path = os.path.join(tempdir, url.split("/")[-1])
with open(file_path, "x+b") as tar_file:
shutil.copyfileobj(response, tar_file)
def parse_continuation_lines(fin):
for line in fin:
line = line.rstrip("\n")
def parse_continuation_lines(fin: TextIO) -> Iterator[str]:
for raw_line in fin:
line = raw_line.rstrip("\n")
while line.endswith("\\"):
try:
line = line[:-1] + next(fin).rstrip("\n")
except StopIteration:
exit('Requirements have a wrong number of line continuation characters "\\"')
sys.exit(
"Requirements have a wrong number of line "
'continuation characters "\\"'
)
yield line
@ -178,8 +211,8 @@ packages = []
if opts.requirements_file:
requirements_file_input = os.path.expanduser(opts.requirements_file)
try:
with open(requirements_file_input, "r") as req_file:
reqs = parse_continuation_lines(req_file)
with open(requirements_file_input) as in_req_file:
reqs = parse_continuation_lines(in_req_file)
reqs_as_str = "\n".join([r.split("--hash")[0] for r in reqs])
reqs_list_raw = reqs_as_str.splitlines()
py_version_regex = re.compile(
@ -191,44 +224,54 @@ if opts.requirements_file:
else:
reqs_new = reqs_as_str
packages = list(requirements.parse(reqs_new))
with tempfile.NamedTemporaryFile("w", delete=False, prefix="requirements.") as req_file:
req_file.write(reqs_new)
requirements_file_output = req_file.name
with tempfile.NamedTemporaryFile(
"w", delete=False, prefix="requirements."
) as temp_req_file:
temp_req_file.write(reqs_new)
requirements_file_output = temp_req_file.name
except FileNotFoundError as err:
print(err)
sys.exit(1)
elif opts.pyproject_file:
pyproject_file = os.path.expanduser(opts.pyproject_file)
with open(pyproject_file, "rb") as f:
pyproject_data = toml_load(f)
dependencies = pyproject_data.get("project", {}).get("dependencies", [])
packages = list(requirements.parse("\n".join(dependencies)))
with tempfile.NamedTemporaryFile(
"w", delete=False, prefix="requirements."
) as req_file:
req_file.write("\n".join(dependencies))
requirements_file_output = req_file.name
elif opts.packages:
packages = list(requirements.parse("\n".join(opts.packages)))
with tempfile.NamedTemporaryFile("w", delete=False, prefix="requirements.") as req_file:
with tempfile.NamedTemporaryFile(
"w", delete=False, prefix="requirements."
) as req_file:
req_file.write("\n".join(opts.packages))
requirements_file_output = req_file.name
elif not len(sys.argv) > 1:
sys.exit("Please specifiy either packages or requirements file argument")
else:
if not len(sys.argv) > 1:
exit("Please specifiy either packages or requirements file argument")
else:
exit("This option can only be used with requirements file")
qt = []
sys.exit("This option can only be used with requirements file")
for i in packages:
if i["name"].lower().startswith("pyqt"):
print("PyQt packages are not supported by flapak-pip-generator")
print("However, there is a BaseApp for PyQt available, that you should use")
print(
"Visit https://github.com/flathub/com.riverbankcomputing.PyQt.BaseApp for more information"
"Visit https://github.com/flathub/com.riverbankcomputing.PyQt.BaseApp "
"for more information"
)
# sys.exit(0)
print("Ignoring", i["name"])
qt.append(i)
packages = [i for i in packages if i not in qt]
sys.exit(0)
with open(requirements_file_output, "r") as req_file:
use_hash = "--hash=" in req_file.read()
with open(requirements_file_output) as in_req_file:
use_hash = "--hash=" in in_req_file.read()
python_version = "2" if opts.python2 else "3"
if opts.python2:
pip_executable = "pip2"
else:
pip_executable = "pip3"
pip_executable = "pip2" if opts.python2 else "pip3"
if opts.runtime:
flatpak_cmd = [
@ -236,47 +279,53 @@ if opts.runtime:
"--devel",
"--share=network",
"--filesystem=/tmp",
"--command={}".format(pip_executable),
f"--command={pip_executable}",
"run",
opts.runtime,
]
if opts.requirements_file:
if os.path.exists(requirements_file_output):
prefix = os.path.realpath(requirements_file_output)
flag = "--filesystem={}".format(prefix)
flatpak_cmd.insert(1, flag)
if opts.requirements_file and os.path.exists(requirements_file_output):
prefix = os.path.realpath(requirements_file_output)
flag = f"--filesystem={prefix}"
flatpak_cmd.insert(1, flag)
else:
flatpak_cmd = [pip_executable]
output_path = ""
output_package = ""
if opts.output:
output_path = os.path.dirname(opts.output)
output_package = os.path.basename(opts.output)
elif opts.requirements_file:
output_package = "python{}-{}".format(
python_version,
os.path.basename(opts.requirements_file).replace(".txt", ""),
)
elif len(packages) == 1:
output_package = "python{}-{}".format(
python_version,
packages[0].name,
)
else:
output_package = "python{}-modules".format(python_version)
if opts.yaml:
output_filename = os.path.join(output_path, output_package) + ".yaml"
else:
output_filename = os.path.join(output_path, output_package) + ".json"
if os.path.isdir(opts.output):
output_path = opts.output
else:
output_path = os.path.dirname(opts.output)
output_package = os.path.basename(opts.output)
modules = []
vcs_modules = []
if not output_package:
if opts.requirements_file:
output_package = "python{}-{}".format(
python_version,
os.path.basename(opts.requirements_file).replace(".txt", ""),
)
elif len(packages) == 1:
output_package = f"python{python_version}-{packages[0].name}"
else:
output_package = f"python{python_version}-modules"
output_filename = os.path.join(output_path, output_package)
suffix = ".yaml" if opts.yaml else ".json"
if not output_filename.endswith(suffix):
output_filename += suffix
modules: list[dict[str, str | list[str] | list[dict[str, Any]]]] = []
vcs_modules: list[dict[str, str | list[str] | list[dict[str, Any]]]] = []
sources = {}
tempdir_prefix = "pip-generator-{}".format(output_package)
unresolved_dependencies_errors = []
tempdir_prefix = f"pip-generator-{output_package}"
with tempfile.TemporaryDirectory(prefix=tempdir_prefix) as tempdir:
pip_download = flatpak_cmd + [
pip_download = [
*flatpak_cmd,
"download",
"--exists-action=i",
"--dest",
@ -289,7 +338,7 @@ with tempfile.TemporaryDirectory(prefix=tempdir_prefix) as tempdir:
fprint("Downloading sources")
cmd = " ".join(pip_download)
print('Running: "{}"'.format(cmd))
print(f'Running: "{cmd}"')
try:
subprocess.run(pip_download, check=True)
os.remove(requirements_file_output)
@ -301,81 +350,89 @@ with tempfile.TemporaryDirectory(prefix=tempdir_prefix) as tempdir:
print("Ignore the error by passing --ignore-errors")
raise
try:
with suppress(FileNotFoundError):
os.remove(requirements_file_output)
except FileNotFoundError:
pass
fprint("Downloading arch independent packages")
for filename in os.listdir(tempdir):
if not filename.endswith(("bz2", "any.whl", "gz", "xz", "zip")):
version = get_file_version(filename)
name = get_package_name(filename)
url = get_tar_package_url_pypi(name, version)
print("Deleting", filename)
try:
url = get_tar_package_url_pypi(name, version)
print(f"Downloading {url}")
download_tar_pypi(url, tempdir)
except Exception as err:
# Can happen if only an arch dependent wheel is
# available like for wasmtime-27.0.2
unresolved_dependencies_errors.append(err)
print("Deleting", filename)
with suppress(FileNotFoundError):
os.remove(os.path.join(tempdir, filename))
except FileNotFoundError:
pass
print("Downloading {}".format(url))
download_tar_pypi(url, tempdir)
files = {get_package_name(f): [] for f in os.listdir(tempdir)}
files: dict[str, list[str]] = {get_package_name(f): [] for f in os.listdir(tempdir)}
for filename in os.listdir(tempdir):
name = get_package_name(filename)
files[name].append(filename)
# Delete redundant sources, for vcs sources
for name in files:
if len(files[name]) > 1:
for name, files_list in files.items():
if len(files_list) > 1:
zip_source = False
for f in files[name]:
if f.endswith(".zip"):
for fname in files[name]:
if fname.endswith(".zip"):
zip_source = True
if zip_source:
for f in files[name]:
if not f.endswith(".zip"):
try:
os.remove(os.path.join(tempdir, f))
except FileNotFoundError:
pass
for fname in files[name]:
if not fname.endswith(".zip"):
with suppress(FileNotFoundError):
os.remove(os.path.join(tempdir, fname))
vcs_packages = {
x.name: {"vcs": x.vcs, "revision": x.revision, "uri": x.uri} for x in packages if x.vcs
vcs_packages: dict[str, dict[str, str | None]] = {
str(x.name): {"vcs": x.vcs, "revision": x.revision, "uri": x.uri}
for x in packages
if x.vcs and x.name
}
fprint("Obtaining hashes and urls")
for filename in os.listdir(tempdir):
source: OrderedDict[str, str | dict[str, str]] = OrderedDict()
name = get_package_name(filename)
sha256 = get_file_hash(os.path.join(tempdir, filename))
is_pypi = False
if name in vcs_packages:
uri = vcs_packages[name]["uri"]
if not uri:
raise ValueError(f"Missing URI for VCS package: {name}")
revision = vcs_packages[name]["revision"]
vcs = vcs_packages[name]["vcs"]
if not vcs:
raise ValueError(
f"Unable to determine VCS type for VCS package: {name}"
)
url = "https://" + uri.split("://", 1)[1]
s = "commit"
if vcs == "svn":
s = "revision"
source = OrderedDict(
[
("type", vcs),
("url", url),
(s, revision),
]
)
source["type"] = vcs
source["url"] = url
if revision:
source[s] = revision
is_vcs = True
else:
name = name.casefold()
is_pypi = True
url = get_pypi_url(name, filename)
source = OrderedDict([("type", "file"), ("url", url), ("sha256", sha256)])
source["type"] = "file"
source["url"] = url
source["sha256"] = sha256
if opts.checker_data:
source["x-checker-data"] = {"type": "pypi", "name": name}
checker_data = {"type": "pypi", "name": name}
if url.endswith(".whl"):
source["x-checker-data"]["packagetype"] = "bdist_wheel"
checker_data["packagetype"] = "bdist_wheel"
source["x-checker-data"] = checker_data
is_vcs = False
sources[name] = {"source": source, "vcs": is_vcs, "pypi": is_pypi}
@ -397,14 +454,20 @@ fprint("Generating dependencies")
for package in packages:
if package.name is None:
print(
"Warning: skipping invalid requirement specification {} because it is missing a name".format(
package.line
),
f"Warning: skipping invalid requirement specification {package.line} "
"because it is missing a name",
file=sys.stderr,
)
print(
"Append #egg=<pkgname> to the end of the requirement line to fix",
file=sys.stderr,
)
print("Append #egg=<pkgname> to the end of the requirement line to fix", file=sys.stderr)
continue
elif package.name.casefold() in system_packages:
elif (
not opts.python2
and package.name.casefold() in system_packages
and package.name.casefold() not in opts.ignore_installed
):
print(f"{package.name} is in system_packages. Skipping.")
continue
@ -427,29 +490,33 @@ for package in packages:
dependencies = []
# Downloads the package again to list dependencies
tempdir_prefix = "pip-generator-{}".format(package.name)
tempdir_prefix = f"pip-generator-{package.name}"
with tempfile.TemporaryDirectory(
prefix="{}-{}".format(tempdir_prefix, package.name)
prefix=f"{tempdir_prefix}-{package.name}"
) as tempdir:
pip_download = flatpak_cmd + [
pip_download = [
*flatpak_cmd,
"download",
"--exists-action=i",
"--dest",
tempdir,
]
try:
print("Generating dependencies for {}".format(package.name))
subprocess.run(pip_download + [pkg], check=True, stdout=subprocess.DEVNULL)
print(f"Generating dependencies for {package.name}")
subprocess.run([*pip_download, pkg], check=True, stdout=subprocess.DEVNULL)
for filename in sorted(os.listdir(tempdir)):
dep_name = get_package_name(filename)
if dep_name.casefold() in system_packages:
if (
dep_name.casefold() in system_packages
and dep_name.casefold() not in opts.ignore_installed
):
continue
dependencies.append(dep_name)
except subprocess.CalledProcessError:
print("Failed to download {}".format(package.name))
print(f"Failed to download {package.name}")
is_vcs = True if package.vcs else False
is_vcs = bool(package.vcs)
package_sources = []
for dependency in dependencies:
casefolded = dependency.casefold()
@ -475,12 +542,9 @@ for package in packages:
package_sources.append(source["source"])
if package.vcs:
name_for_pip = "."
else:
name_for_pip = pkg
name_for_pip = "." if package.vcs else pkg
module_name = "python{}-{}".format(python_version, package.name)
module_name = f"python{python_version}-{package.name}"
pip_command = [
pip_executable,
@ -490,7 +554,7 @@ for package in packages:
"--no-index",
'--find-links="file://${PWD}"',
"--prefix=${FLATPAK_DEST}",
'"{}"'.format(name_for_pip),
f'"{name_for_pip}"',
]
if package.name in opts.ignore_installed:
pip_command.append("--ignore-installed")
@ -531,16 +595,43 @@ with open(output_filename, "w") as output:
if opts.yaml:
class OrderedDumper(yaml.Dumper):
def increase_indent(self, flow=False, indentless=False):
return super(OrderedDumper, self).increase_indent(flow, False)
def increase_indent(
self, flow: bool = False, indentless: bool = False
) -> None:
return super().increase_indent(flow, indentless)
def dict_representer(dumper, data):
def dict_representer(
dumper: yaml.Dumper, data: OrderedDict[str, Any]
) -> yaml.nodes.MappingNode:
return dumper.represent_dict(data.items())
OrderedDumper.add_representer(OrderedDict, dict_representer)
output.write("# Generated with flatpak-pip-generator " + " ".join(sys.argv[1:]) + "\n")
output.write(
"# Generated with flatpak-pip-generator " + " ".join(sys.argv[1:]) + "\n"
)
yaml.dump(pypi_module, output, Dumper=OrderedDumper)
else:
output.write(json.dumps(pypi_module, indent=4))
print("Output saved to {}".format(output_filename))
output.write(json.dumps(pypi_module, indent=4) + "\n")
print(f"Output saved to {output_filename}")
if len(unresolved_dependencies_errors) != 0:
print("Unresolved dependencies. Handle them manually")
for e in unresolved_dependencies_errors:
print(f"- ERROR: {e}")
workaround = """Example on how to handle arch dependent wheels:
- type: file
url: https://files.pythonhosted.org/packages/79/ae/7e5b85136806f9dadf4878bf73cf223fe5c2636818ba3ab1c585d0403164/numpy-1.26.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
sha256: 7ab55401287bfec946ced39700c053796e7cc0e3acbef09993a9ad2adba6ca6e
only-arches:
- aarch64
- type: file
url: https://files.pythonhosted.org/packages/3a/d0/edc009c27b406c4f9cbc79274d6e46d634d139075492ad055e3d68445925/numpy-1.26.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
sha256: 666dbfb6ec68962c033a450943ded891bed2d54e6755e35e5835d63f4f6931d5
only-arches:
- x86_64
"""
raise Exception(
f"Not all dependencies can be determined. Handle them manually.\n{workaround}"
)

View file

@ -2,12 +2,12 @@
name: python3-cffi
buildsystem: simple
build-commands:
- pip3 install --verbose --exists-action=i --no-index --find-links="file://${PWD}"
--prefix=${FLATPAK_DEST} "cffi" --no-build-isolation
- pip3 install --verbose --exists-action=i --no-index --find-links="file://${PWD}"
--prefix=${FLATPAK_DEST} "cffi" --no-build-isolation
sources:
- type: file
url: https://files.pythonhosted.org/packages/fc/97/c783634659c2920c3fc70419e3af40972dbaf758daa229a7d6ea6135c90d/cffi-1.17.1.tar.gz
sha256: 1c39c6016c32bc48dd54561950ebd6836e1670f2ae46128f67cf49e789c52824
- type: file
url: https://files.pythonhosted.org/packages/13/a3/a812df4e2dd5696d1f351d58b8fe16a405b234ad2886a0dab9183fb78109/pycparser-2.22-py3-none-any.whl
sha256: c3702b6d3dd8c7abc1afa565d7e63d53a1d0bd86cdc24edd75470f4de499cfcc
- type: file
url: https://files.pythonhosted.org/packages/fc/97/c783634659c2920c3fc70419e3af40972dbaf758daa229a7d6ea6135c90d/cffi-1.17.1.tar.gz
sha256: 1c39c6016c32bc48dd54561950ebd6836e1670f2ae46128f67cf49e789c52824
- type: file
url: https://files.pythonhosted.org/packages/13/a3/a812df4e2dd5696d1f351d58b8fe16a405b234ad2886a0dab9183fb78109/pycparser-2.22-py3-none-any.whl
sha256: c3702b6d3dd8c7abc1afa565d7e63d53a1d0bd86cdc24edd75470f4de499cfcc

View file

@ -2,11 +2,11 @@
name: python3-expandvars
buildsystem: simple
build-commands:
- pip3 install --verbose --exists-action=i --no-index --find-links="file://${PWD}"
--prefix=${FLATPAK_DEST} "expandvars" --no-build-isolation
- pip3 install --verbose --exists-action=i --no-index --find-links="file://${PWD}"
--prefix=${FLATPAK_DEST} "expandvars" --no-build-isolation
sources:
- type: file
url: https://files.pythonhosted.org/packages/df/b3/072c28eace372ba7630ea187b7efd7f09cc8bcebf847a96b5e03e9cc0828/expandvars-0.12.0-py3-none-any.whl
sha256: 7432c1c2ae50c671a8146583177d60020dd210ada7d940e52af91f1f84f753b2
- type: file
url: https://files.pythonhosted.org/packages/29/ff/a2440069461c63b95fa8b5b89e26eb606e57d8a01391ccaae3738f1b845d/expandvars-1.0.0-py3-none-any.whl
sha256: ff1690eceb90bbdeefd1e4b15f4d217f22a3e66f776c2cb060635d2dde4a7689
cleanup:
- '*'
- '*'

View file

@ -2,11 +2,11 @@
name: python3-poetry-core
buildsystem: simple
build-commands:
- pip3 install --verbose --exists-action=i --no-index --find-links="file://${PWD}"
--prefix=${FLATPAK_DEST} "poetry-core" --no-build-isolation
- pip3 install --verbose --exists-action=i --no-index --find-links="file://${PWD}"
--prefix=${FLATPAK_DEST} "poetry-core" --no-build-isolation
sources:
- type: file
url: https://files.pythonhosted.org/packages/f7/b4/ae500aaba6e003ff80889e3dee449b154d2dd70d520dc0402f23535a5995/poetry_core-1.9.1-py3-none-any.whl
sha256: 6f45dd3598e0de8d9b0367360253d4c5d4d0110c8f5c71120a14f0e0f116c1a0
- type: file
url: https://files.pythonhosted.org/packages/d2/f1/fb218aebd29bca5c506230201c346881ae9b43de7bbb21a68dc648e972b3/poetry_core-2.1.3-py3-none-any.whl
sha256: 2c704f05016698a54ca1d327f46ce2426d72eaca6ff614132c8477c292266771
cleanup:
- '*'
- '*'

View file

@ -2,452 +2,444 @@
build-commands: []
buildsystem: simple
modules:
- name: python3-aiohappyeyeballs
buildsystem: simple
build-commands:
- pip3 install --verbose --exists-action=i --no-index --find-links="file://${PWD}"
--prefix=${FLATPAK_DEST} "aiohappyeyeballs==2.4.3" --no-build-isolation
sources:
- &id001
type: file
url: https://files.pythonhosted.org/packages/f7/d8/120cd0fe3e8530df0539e71ba9683eade12cae103dd7543e50d15f737917/aiohappyeyeballs-2.4.3-py3-none-any.whl
sha256: 8a7a83727b2756f394ab2895ea0765a0a8c475e3c71e98d43d76f22b4b435572
- name: python3-aiohttp
buildsystem: simple
build-commands:
- pip3 install --verbose --exists-action=i --no-index --find-links="file://${PWD}"
--prefix=${FLATPAK_DEST} "aiohttp==3.10.11" --no-build-isolation
sources:
- *id001
- type: file
url: https://files.pythonhosted.org/packages/25/a8/8e2ba36c6e3278d62e0c88aa42bb92ddbef092ac363b390dab4421da5cf5/aiohttp-3.10.11.tar.gz
sha256: 9dc2b8f3dcab2e39e0fa309c8da50c3b55e6f34ab25f1a71d3288f24924d33a7
- &id002
type: file
url: https://files.pythonhosted.org/packages/76/ac/a7305707cb852b7e16ff80eaf5692309bde30e2b1100a1fcacdc8f731d97/aiosignal-1.3.1-py3-none-any.whl
sha256: f8376fb07dd1e86a584e4fcdec80b36b7f81aac666ebc724e2c090300dd83b17
- &id007
type: file
url: https://files.pythonhosted.org/packages/6a/21/5b6702a7f963e95456c0de2d495f67bf5fd62840ac655dc451586d23d39a/attrs-24.2.0-py3-none-any.whl
sha256: 81921eb96de3191c8258c199618104dd27ac608d9366f5e35d011eae1867ede2
- &id003
type: file
url: https://files.pythonhosted.org/packages/8f/ed/0f4cec13a93c02c47ec32d81d11c0c1efbadf4a471e3f3ce7cad366cbbd3/frozenlist-1.5.0.tar.gz
sha256: 81d5af29e61b9c8348e876d442253723928dce6433e0e76cd925cd83f1b4b817
- &id008
type: file
url: https://files.pythonhosted.org/packages/76/c6/c88e154df9c4e1a2a66ccf0005a88dfb2650c1dffb6f5ce603dfbd452ce3/idna-3.10-py3-none-any.whl
sha256: 946d195a0d259cbba61165e88e65941f16e9b36ea6ddb97f00452bae8b1287d3
- &id011
type: file
url: https://files.pythonhosted.org/packages/d6/be/504b89a5e9ca731cd47487e91c469064f8ae5af93b7259758dcfc2b9c848/multidict-6.1.0.tar.gz
sha256: 22ae2ebf9b0c69d206c003e2f6a914ea33f0a932d4aa16f236afc049d9958f4a
- &id022
type: file
url: https://files.pythonhosted.org/packages/e0/11/2b8334f4192646677a2e7da435670d043f536088af943ec242f31453e5ba/yarl-1.13.1.tar.gz
sha256: ec8cfe2295f3e5e44c51f57272afbd69414ae629ec7c6b27f5a410efc78b70a0
- name: python3-aiosignal
buildsystem: simple
build-commands:
- pip3 install --verbose --exists-action=i --no-index --find-links="file://${PWD}"
--prefix=${FLATPAK_DEST} "aiosignal==1.3.1" --no-build-isolation
sources:
- *id002
- *id003
- name: python3-argon2-cffi-bindings
buildsystem: simple
build-commands:
- pip3 install --verbose --exists-action=i --no-index --find-links="file://${PWD}"
--prefix=${FLATPAK_DEST} "argon2-cffi-bindings==21.2.0" --no-build-isolation
sources:
- &id004
type: file
url: https://files.pythonhosted.org/packages/b9/e9/184b8ccce6683b0aa2fbb7ba5683ea4b9c5763f1356347f1312c32e3c66e/argon2-cffi-bindings-21.2.0.tar.gz
sha256: bb89ceffa6c791807d1305ceb77dbfacc5aa499891d2c55661c6459651fc39e3
- &id005
type: file
url: https://files.pythonhosted.org/packages/fc/97/c783634659c2920c3fc70419e3af40972dbaf758daa229a7d6ea6135c90d/cffi-1.17.1.tar.gz
sha256: 1c39c6016c32bc48dd54561950ebd6836e1670f2ae46128f67cf49e789c52824
- &id006
type: file
url: https://files.pythonhosted.org/packages/13/a3/a812df4e2dd5696d1f351d58b8fe16a405b234ad2886a0dab9183fb78109/pycparser-2.22-py3-none-any.whl
sha256: c3702b6d3dd8c7abc1afa565d7e63d53a1d0bd86cdc24edd75470f4de499cfcc
- name: python3-argon2-cffi
buildsystem: simple
build-commands:
- pip3 install --verbose --exists-action=i --no-index --find-links="file://${PWD}"
--prefix=${FLATPAK_DEST} "argon2-cffi==23.1.0" --no-build-isolation
sources:
- &id009
type: file
url: https://files.pythonhosted.org/packages/a4/6a/e8a041599e78b6b3752da48000b14c8d1e8a04ded09c88c714ba047f34f5/argon2_cffi-23.1.0-py3-none-any.whl
sha256: c670642b78ba29641818ab2e68bd4e6a78ba53b7eff7b4c3815ae16abf91c7ea
- *id004
- *id005
- *id006
- name: python3-async-timeout
buildsystem: simple
build-commands:
- pip3 install --verbose --exists-action=i --no-index --find-links="file://${PWD}"
--prefix=${FLATPAK_DEST} "async-timeout==5.0.1" --no-build-isolation
sources:
- type: file
url: https://files.pythonhosted.org/packages/fe/ba/e2081de779ca30d473f21f5b30e0e737c438205440784c7dfc81efc2b029/async_timeout-5.0.1-py3-none-any.whl
sha256: 39e3809566ff85354557ec2398b55e096c8364bacac9405a7a1fa429e77fe76c
- name: python3-attrs
buildsystem: simple
build-commands:
- pip3 install --verbose --exists-action=i --no-index --find-links="file://${PWD}"
--prefix=${FLATPAK_DEST} "attrs==24.2.0" --no-build-isolation
sources:
- *id007
- name: python3-bidict
buildsystem: simple
build-commands:
- pip3 install --verbose --exists-action=i --no-index --find-links="file://${PWD}"
--prefix=${FLATPAK_DEST} "bidict==0.23.1" --no-build-isolation
sources:
- &id014
type: file
url: https://files.pythonhosted.org/packages/99/37/e8730c3587a65eb5645d4aba2d27aae48e8003614d6aaf15dda67f702f1f/bidict-0.23.1-py3-none-any.whl
sha256: 5dae8d4d79b552a71cbabc7deb25dfe8ce710b17ff41711e13010ead2abfc3e5
- name: python3-brotli
buildsystem: simple
build-commands:
- pip3 install --verbose --exists-action=i --no-index --find-links="file://${PWD}"
--prefix=${FLATPAK_DEST} "brotli==1.1.0" --no-build-isolation
sources:
- &id023
type: file
url: https://files.pythonhosted.org/packages/2f/c2/f9e977608bdf958650638c3f1e28f85a1b075f075ebbe77db8555463787b/Brotli-1.1.0.tar.gz
sha256: 81de08ac11bcb85841e440c13611c00b67d3bf82698314928d0b676362546724
- name: python3-brotlicffi
buildsystem: simple
build-commands:
- pip3 install --verbose --exists-action=i --no-index --find-links="file://${PWD}"
--prefix=${FLATPAK_DEST} "brotlicffi==1.1.0.0" --no-build-isolation
sources:
- type: file
url: https://files.pythonhosted.org/packages/95/9d/70caa61192f570fcf0352766331b735afa931b4c6bc9a348a0925cc13288/brotlicffi-1.1.0.0.tar.gz
sha256: b77827a689905143f87915310b93b273ab17888fd43ef350d4832c4a71083c13
- *id005
- *id006
- name: python3-certifi
buildsystem: simple
build-commands:
- pip3 install --verbose --exists-action=i --no-index --find-links="file://${PWD}"
--prefix=${FLATPAK_DEST} "certifi==2024.8.30" --no-build-isolation
sources:
- &id010
type: file
url: https://files.pythonhosted.org/packages/12/90/3c9ff0512038035f59d279fddeb79f5f1eccd8859f06d6163c58798b9487/certifi-2024.8.30-py3-none-any.whl
sha256: 922820b53db7a7257ffbda3f597266d435245903d80737e34f8a45ff3e3230d8
- name: python3-cffi
buildsystem: simple
build-commands:
- pip3 install --verbose --exists-action=i --no-index --find-links="file://${PWD}"
--prefix=${FLATPAK_DEST} "cffi==1.17.1" --no-build-isolation
sources:
- *id005
- *id006
- name: python3-charset-normalizer
buildsystem: simple
build-commands:
- pip3 install --verbose --exists-action=i --no-index --find-links="file://${PWD}"
--prefix=${FLATPAK_DEST} "charset-normalizer==3.4.0" --no-build-isolation
sources:
- &id020
type: file
url: https://files.pythonhosted.org/packages/f2/4f/e1808dc01273379acc506d18f1504eb2d299bd4131743b9fc54d7be4df1e/charset_normalizer-3.4.0.tar.gz
sha256: 223217c3d4f82c3ac5e29032b3f1c2eb0fb591b72161f86d93f5719079dae93e
- name: python3-colorama
buildsystem: simple
build-commands:
- pip3 install --verbose --exists-action=i --no-index --find-links="file://${PWD}"
--prefix=${FLATPAK_DEST} "colorama==0.4.6" --no-build-isolation
sources:
- type: file
url: https://files.pythonhosted.org/packages/d1/d6/3965ed04c63042e047cb6a3e6ed1a63a35087b6a609aa3a15ed8ac56c221/colorama-0.4.6-py2.py3-none-any.whl
sha256: 4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6
- name: python3-frozenlist
buildsystem: simple
build-commands:
- pip3 install --verbose --exists-action=i --no-index --find-links="file://${PWD}"
--prefix=${FLATPAK_DEST} "frozenlist==1.5.0" --no-build-isolation
sources:
- *id003
- name: python3-h11
buildsystem: simple
build-commands:
- pip3 install --verbose --exists-action=i --no-index --find-links="file://${PWD}"
--prefix=${FLATPAK_DEST} "h11==0.14.0" --no-build-isolation
sources:
- &id013
type: file
url: https://files.pythonhosted.org/packages/95/04/ff642e65ad6b90db43e668d70ffb6736436c7ce41fcc549f4e9472234127/h11-0.14.0-py3-none-any.whl
sha256: e3fe4ac4b851c468cc8363d500db52c2ead036020723024a109d37346efaa761
- name: python3-idna
buildsystem: simple
build-commands:
- pip3 install --verbose --exists-action=i --no-index --find-links="file://${PWD}"
--prefix=${FLATPAK_DEST} "idna==3.10" --no-build-isolation
sources:
- *id008
- name: python3-minio
buildsystem: simple
build-commands:
- pip3 install --verbose --exists-action=i --no-index --find-links="file://${PWD}"
--prefix=${FLATPAK_DEST} "minio==7.2.10" --no-build-isolation
sources:
- *id009
- *id004
- *id010
- *id005
- type: file
url: https://files.pythonhosted.org/packages/20/6f/1b1f5025bf43c2a4ca8112332db586c8077048ec8bcea2deb269eac84577/minio-7.2.10-py3-none-any.whl
sha256: 5961c58192b1d70d3a2a362064b8e027b8232688998a6d1251dadbb02ab57a7d
- *id006
- &id012
type: file
url: https://files.pythonhosted.org/packages/13/52/13b9db4a913eee948152a079fe58d035bd3d1a519584155da8e786f767e6/pycryptodome-3.21.0.tar.gz
sha256: f7787e0d469bdae763b876174cf2e6c0f7be79808af26b1da96f1a64bcf47297
- &id019
type: file
url: https://files.pythonhosted.org/packages/26/9f/ad63fc0248c5379346306f8668cda6e2e2e9c95e01216d2b8ffd9ff037d0/typing_extensions-4.12.2-py3-none-any.whl
sha256: 04e5ca0351e0f3f85c6853954072df659d0d13fac324d0072316b67d7794700d
- &id021
type: file
url: https://files.pythonhosted.org/packages/ce/d9/5f4c13cecde62396b0d3fe530a50ccea91e7dfc1ccf0e09c228841bb5ba8/urllib3-2.2.3-py3-none-any.whl
sha256: ca899ca043dcb1bafa3e262d73aa25c465bfb49e0bd9dd5d59f1d0acba2f8fac
- name: python3-mpv
buildsystem: simple
build-commands:
- pip3 install --verbose --exists-action=i --no-index --find-links="file://${PWD}"
--prefix=${FLATPAK_DEST} "mpv==1.0.7" --no-build-isolation
sources:
- type: file
url: https://files.pythonhosted.org/packages/aa/3f/d835556e34804cd0078507ed0f8a550f15d2861b875656193dd3451b720b/mpv-1.0.7-py3-none-any.whl
sha256: 520fb134c18185b69c7fce4aa3514f14371028022d92eb193818e9fefb1e9fe8
- name: python3-multidict
buildsystem: simple
build-commands:
- pip3 install --verbose --exists-action=i --no-index --find-links="file://${PWD}"
--prefix=${FLATPAK_DEST} "multidict==6.1.0" --no-build-isolation
sources:
- *id011
- name: python3-mutagen
buildsystem: simple
build-commands:
- pip3 install --verbose --exists-action=i --no-index --find-links="file://${PWD}"
--prefix=${FLATPAK_DEST} "mutagen==1.47.0" --no-build-isolation
sources:
- &id024
type: file
url: https://files.pythonhosted.org/packages/b0/7a/620f945b96be1f6ee357d211d5bf74ab1b7fe72a9f1525aafbfe3aee6875/mutagen-1.47.0-py3-none-any.whl
sha256: edd96f50c5907a9539d8e5bba7245f62c9f520aef333d13392a79a4f70aca719
- name: python3-pillow
buildsystem: simple
build-commands:
- pip3 install --verbose --exists-action=i --no-index --find-links="file://${PWD}"
--prefix=${FLATPAK_DEST} "pillow==10.4.0" --no-build-isolation
sources:
- type: file
url: https://files.pythonhosted.org/packages/cd/74/ad3d526f3bf7b6d3f408b73fde271ec69dfac8b81341a318ce825f2b3812/pillow-10.4.0.tar.gz
sha256: 166c1cd4d24309b30d61f79f4a9114b7b2313d7450912277855ff5dfd7cd4a06
- name: python3-platformdirs
buildsystem: simple
build-commands:
- pip3 install --verbose --exists-action=i --no-index --find-links="file://${PWD}"
--prefix=${FLATPAK_DEST} "platformdirs==4.3.6" --no-build-isolation
sources:
- type: file
url: https://files.pythonhosted.org/packages/3c/a6/bc1012356d8ece4d66dd75c4b9fc6c1f6650ddd5991e421177d9f8f671be/platformdirs-4.3.6-py3-none-any.whl
sha256: 73e575e1408ab8103900836b97580d5307456908a03e92031bab39e4554cc3fb
- name: python3-pycparser
buildsystem: simple
build-commands:
- pip3 install --verbose --exists-action=i --no-index --find-links="file://${PWD}"
--prefix=${FLATPAK_DEST} "pycparser==2.22" --no-build-isolation
sources:
- *id006
- name: python3-pycryptodome
buildsystem: simple
build-commands:
- pip3 install --verbose --exists-action=i --no-index --find-links="file://${PWD}"
--prefix=${FLATPAK_DEST} "pycryptodome==3.21.0" --no-build-isolation
sources:
- *id012
- name: python3-pycryptodomex
buildsystem: simple
build-commands:
- pip3 install --verbose --exists-action=i --no-index --find-links="file://${PWD}"
--prefix=${FLATPAK_DEST} "pycryptodomex==3.21.0" --no-build-isolation
sources:
- &id025
type: file
url: https://files.pythonhosted.org/packages/11/dc/e66551683ade663b5f07d7b3bc46434bf703491dbd22ee12d1f979ca828f/pycryptodomex-3.21.0.tar.gz
sha256: 222d0bd05381dd25c32dd6065c071ebf084212ab79bab4599ba9e6a3e0009e6c
- name: python3-pymediainfo
buildsystem: simple
build-commands:
- pip3 install --verbose --exists-action=i --no-index --find-links="file://${PWD}"
--prefix=${FLATPAK_DEST} "pymediainfo==6.1.0" --no-build-isolation
sources:
- type: file
url: https://files.pythonhosted.org/packages/0f/ed/a02b18943f9162644f90354fe6445410e942c857dd21ded758f630ba41c0/pymediainfo-6.1.0.tar.gz
sha256: 186a0b41a94524f0984d085ca6b945c79a254465b7097f2560dc0c04e8d1d8a5
- name: python3-pypng
buildsystem: simple
build-commands:
- pip3 install --verbose --exists-action=i --no-index --find-links="file://${PWD}"
--prefix=${FLATPAK_DEST} "pypng==0.20220715.0" --no-build-isolation
sources:
- &id018
type: file
url: https://files.pythonhosted.org/packages/3e/b9/3766cc361d93edb2ce81e2e1f87dd98f314d7d513877a342d31b30741680/pypng-0.20220715.0-py3-none-any.whl
sha256: 4a43e969b8f5aaafb2a415536c1a8ec7e341cd6a3f957fd5b5f32a4cfeed902c
- name: python3-python-engineio
buildsystem: simple
build-commands:
- pip3 install --verbose --exists-action=i --no-index --find-links="file://${PWD}"
--prefix=${FLATPAK_DEST} "python-engineio==4.10.1" --no-build-isolation
sources:
- *id013
- &id015
type: file
url: https://files.pythonhosted.org/packages/fc/74/1cec7f067ade8ed0351aed93ae6cfcd070e803d60fa70ecac6705de62936/python_engineio-4.10.1-py3-none-any.whl
sha256: 445a94004ec8034960ab99e7ce4209ec619c6e6b6a12aedcb05abeab924025c0
- &id016
type: file
url: https://files.pythonhosted.org/packages/52/59/0782e51887ac6b07ffd1570e0364cf901ebc36345fea669969d2084baebb/simple_websocket-1.1.0-py3-none-any.whl
sha256: 4af6069630a38ed6c561010f0e11a5bc0d4ca569b36306eb257cd9a192497c8c
- &id017
type: file
url: https://files.pythonhosted.org/packages/78/58/e860788190eba3bcce367f74d29c4675466ce8dddfba85f7827588416f01/wsproto-1.2.0-py3-none-any.whl
sha256: b9acddd652b585d75b20477888c56642fdade28bdfd3579aa24a4d2c037dd736
- name: python3-python-socketio
buildsystem: simple
build-commands:
- pip3 install --verbose --exists-action=i --no-index --find-links="file://${PWD}"
--prefix=${FLATPAK_DEST} "python-socketio==5.11.4" --no-build-isolation
sources:
- *id014
- *id013
- *id015
- type: file
url: https://files.pythonhosted.org/packages/7e/9a/52b94c8c9516e07844d3da3d0da3e68649f172aeeace8d7a1becca9e6111/python_socketio-5.11.4-py3-none-any.whl
sha256: 42efaa3e3e0b166fc72a527488a13caaac2cefc76174252486503bd496284945
- *id016
- *id017
- name: python3-pyyaml
buildsystem: simple
build-commands:
- pip3 install --verbose --exists-action=i --no-index --find-links="file://${PWD}"
--prefix=${FLATPAK_DEST} "pyyaml==6.0.2" --no-build-isolation
sources:
- type: file
url: https://files.pythonhosted.org/packages/54/ed/79a089b6be93607fa5cdaedf301d7dfb23af5f25c398d5ead2525b063e17/pyyaml-6.0.2.tar.gz
sha256: d584d9ec91ad65861cc08d42e834324ef890a082e591037abe114850ff7bbc3e
- name: python3-qasync
buildsystem: simple
build-commands:
- pip3 install --verbose --exists-action=i --no-index --find-links="file://${PWD}"
--prefix=${FLATPAK_DEST} "qasync==0.27.1" --no-build-isolation
sources:
- type: file
url: https://files.pythonhosted.org/packages/51/06/bc628aa2981bcfd452a08ee435b812fd3eee4ada8acb8a76c4a09d1a5a77/qasync-0.27.1-py3-none-any.whl
sha256: 5d57335723bc7d9b328dadd8cb2ed7978640e4bf2da184889ce50ee3ad2602c7
- name: python3-qrcode
buildsystem: simple
build-commands:
- pip3 install --verbose --exists-action=i --no-index --find-links="file://${PWD}"
--prefix=${FLATPAK_DEST} "qrcode==7.4.2" --no-build-isolation
sources:
- *id018
- type: file
url: https://files.pythonhosted.org/packages/24/79/aaf0c1c7214f2632badb2771d770b1500d3d7cbdf2590ae62e721ec50584/qrcode-7.4.2-py3-none-any.whl
sha256: 581dca7a029bcb2deef5d01068e39093e80ef00b4a61098a2182eac59d01643a
- *id019
- name: python3-requests
buildsystem: simple
build-commands:
- pip3 install --verbose --exists-action=i --no-index --find-links="file://${PWD}"
--prefix=${FLATPAK_DEST} "requests==2.32.3" --no-build-isolation
sources:
- *id010
- *id020
- *id008
- &id026
type: file
url: https://files.pythonhosted.org/packages/f9/9b/335f9764261e915ed497fcdeb11df5dfd6f7bf257d4a6a2a686d80da4d54/requests-2.32.3-py3-none-any.whl
sha256: 70761cfe03c773ceb22aa2f671b4757976145175cdfca038c02654d061d6dcc6
- *id021
- name: python3-simple-websocket
buildsystem: simple
build-commands:
- pip3 install --verbose --exists-action=i --no-index --find-links="file://${PWD}"
--prefix=${FLATPAK_DEST} "simple-websocket==1.1.0" --no-build-isolation
sources:
- *id013
- *id016
- *id017
- name: python3-typing-extensions
buildsystem: simple
build-commands:
- pip3 install --verbose --exists-action=i --no-index --find-links="file://${PWD}"
--prefix=${FLATPAK_DEST} "typing-extensions==4.12.2" --no-build-isolation
sources:
- *id019
- name: python3-urllib3
buildsystem: simple
build-commands:
- pip3 install --verbose --exists-action=i --no-index --find-links="file://${PWD}"
--prefix=${FLATPAK_DEST} "urllib3==2.2.3" --no-build-isolation
sources:
- *id021
- name: python3-websockets
buildsystem: simple
build-commands:
- pip3 install --verbose --exists-action=i --no-index --find-links="file://${PWD}"
--prefix=${FLATPAK_DEST} "websockets==13.1" --no-build-isolation
sources:
- &id027
type: file
url: https://files.pythonhosted.org/packages/e2/73/9223dbc7be3dcaf2a7bbf756c351ec8da04b1fa573edaf545b95f6b0c7fd/websockets-13.1.tar.gz
sha256: a3b3366087c1bc0a2795111edcadddb8b3b59509d5db5d7ea3fdd69f954a8878
- name: python3-wsproto
buildsystem: simple
build-commands:
- pip3 install --verbose --exists-action=i --no-index --find-links="file://${PWD}"
--prefix=${FLATPAK_DEST} "wsproto==1.2.0" --no-build-isolation
sources:
- *id013
- *id017
- name: python3-yarl
buildsystem: simple
build-commands:
- pip3 install --verbose --exists-action=i --no-index --find-links="file://${PWD}"
--prefix=${FLATPAK_DEST} "yarl==1.13.1" --no-build-isolation
sources:
- *id008
- *id011
- *id022
- name: python3-yt-dlp
buildsystem: simple
build-commands:
- pip3 install --verbose --exists-action=i --no-index --find-links="file://${PWD}"
--prefix=${FLATPAK_DEST} "yt-dlp[default]==2024.11.18" --no-build-isolation
sources:
- *id023
- *id010
- *id020
- *id008
- *id024
- *id025
- *id026
- *id021
- *id027
- type: file
url: https://files.pythonhosted.org/packages/64/22/1918d2c8c123e9157efd7c2063ea89b4826f904d67b17e77152862ac3347/yt_dlp-2024.11.18-py3-none-any.whl
sha256: b9741695911dc566498b5f115cdd6b1abbc5be61cb01fd98abe649990a41656c
- name: python3-aiohappyeyeballs
buildsystem: simple
build-commands:
- pip3 install --verbose --exists-action=i --no-index --find-links="file://${PWD}"
--prefix=${FLATPAK_DEST} "aiohappyeyeballs==2.6.1" --no-build-isolation
sources:
- &id001
type: file
url: https://files.pythonhosted.org/packages/0f/15/5bf3b99495fb160b63f95972b81750f18f7f4e02ad051373b669d17d44f2/aiohappyeyeballs-2.6.1-py3-none-any.whl
sha256: f349ba8f4b75cb25c99c5c2d84e997e485204d2902a9597802b0371f09331fb8
- name: python3-aiohttp
buildsystem: simple
build-commands:
- pip3 install --verbose --exists-action=i --no-index --find-links="file://${PWD}"
--prefix=${FLATPAK_DEST} "aiohttp==3.12.13" --no-build-isolation
sources:
- *id001
- type: file
url: https://files.pythonhosted.org/packages/42/6e/ab88e7cb2a4058bed2f7870276454f85a7c56cd6da79349eb314fc7bbcaa/aiohttp-3.12.13.tar.gz
sha256: 47e2da578528264a12e4e3dd8dd72a7289e5f812758fe086473fab037a10fcce
- &id002
type: file
url: https://files.pythonhosted.org/packages/ec/6a/bc7e17a3e87a2985d3e8f4da4cd0f481060eb78fb08596c42be62c90a4d9/aiosignal-1.3.2-py2.py3-none-any.whl
sha256: 45cde58e409a301715980c2b01d0c28bdde3770d8290b5eb2173759d9acb31a5
- &id007
type: file
url: https://files.pythonhosted.org/packages/77/06/bb80f5f86020c4551da315d78b3ab75e8228f89f0162f2c3a819e407941a/attrs-25.3.0-py3-none-any.whl
sha256: 427318ce031701fea540783410126f03899a97ffc6f61596ad581ac2e40e3bc3
- &id003
type: file
url: https://files.pythonhosted.org/packages/79/b1/b64018016eeb087db503b038296fd782586432b9c077fc5c7839e9cb6ef6/frozenlist-1.7.0.tar.gz
sha256: 2e310d81923c2437ea8670467121cc3e9b0f76d3043cc1d2331d56c7fb7a3a8f
- &id008
type: file
url: https://files.pythonhosted.org/packages/76/c6/c88e154df9c4e1a2a66ccf0005a88dfb2650c1dffb6f5ce603dfbd452ce3/idna-3.10-py3-none-any.whl
sha256: 946d195a0d259cbba61165e88e65941f16e9b36ea6ddb97f00452bae8b1287d3
- &id011
type: file
url: https://files.pythonhosted.org/packages/3d/2c/5dad12e82fbdf7470f29bff2171484bf07cb3b16ada60a6589af8f376440/multidict-6.6.3.tar.gz
sha256: 798a9eb12dab0a6c2e29c1de6f3468af5cb2da6053a20dfa3344907eed0937cc
- &id012
type: file
url: https://files.pythonhosted.org/packages/a6/16/43264e4a779dd8588c21a70f0709665ee8f611211bdd2c87d952cfa7c776/propcache-0.3.2.tar.gz
sha256: 20d7d62e4e7ef05f221e0db2856b979540686342e7dd9973b815599c7057e168
- &id023
type: file
url: https://files.pythonhosted.org/packages/3c/fb/efaa23fa4e45537b827620f04cf8f3cd658b76642205162e072703a5b963/yarl-1.20.1.tar.gz
sha256: d017a4997ee50c91fd5466cef416231bb82177b93b029906cefc542ce14c35ac
- name: python3-aiosignal
buildsystem: simple
build-commands:
- pip3 install --verbose --exists-action=i --no-index --find-links="file://${PWD}"
--prefix=${FLATPAK_DEST} "aiosignal==1.3.2" --no-build-isolation
sources:
- *id002
- *id003
- name: python3-argon2-cffi-bindings
buildsystem: simple
build-commands:
- pip3 install --verbose --exists-action=i --no-index --find-links="file://${PWD}"
--prefix=${FLATPAK_DEST} "argon2-cffi-bindings==21.2.0" --no-build-isolation
sources:
- &id004
type: file
url: https://files.pythonhosted.org/packages/b9/e9/184b8ccce6683b0aa2fbb7ba5683ea4b9c5763f1356347f1312c32e3c66e/argon2-cffi-bindings-21.2.0.tar.gz
sha256: bb89ceffa6c791807d1305ceb77dbfacc5aa499891d2c55661c6459651fc39e3
- &id005
type: file
url: https://files.pythonhosted.org/packages/fc/97/c783634659c2920c3fc70419e3af40972dbaf758daa229a7d6ea6135c90d/cffi-1.17.1.tar.gz
sha256: 1c39c6016c32bc48dd54561950ebd6836e1670f2ae46128f67cf49e789c52824
- &id006
type: file
url: https://files.pythonhosted.org/packages/13/a3/a812df4e2dd5696d1f351d58b8fe16a405b234ad2886a0dab9183fb78109/pycparser-2.22-py3-none-any.whl
sha256: c3702b6d3dd8c7abc1afa565d7e63d53a1d0bd86cdc24edd75470f4de499cfcc
- name: python3-argon2-cffi
buildsystem: simple
build-commands:
- pip3 install --verbose --exists-action=i --no-index --find-links="file://${PWD}"
--prefix=${FLATPAK_DEST} "argon2-cffi==25.1.0" --no-build-isolation
sources:
- &id009
type: file
url: https://files.pythonhosted.org/packages/4f/d3/a8b22fa575b297cd6e3e3b0155c7e25db170edf1c74783d6a31a2490b8d9/argon2_cffi-25.1.0-py3-none-any.whl
sha256: fdc8b074db390fccb6eb4a3604ae7231f219aa669a2652e0f20e16ba513d5741
- *id004
- *id005
- *id006
- name: python3-async-timeout
buildsystem: simple
build-commands:
- pip3 install --verbose --exists-action=i --no-index --find-links="file://${PWD}"
--prefix=${FLATPAK_DEST} "async-timeout==5.0.1" --no-build-isolation
sources:
- type: file
url: https://files.pythonhosted.org/packages/fe/ba/e2081de779ca30d473f21f5b30e0e737c438205440784c7dfc81efc2b029/async_timeout-5.0.1-py3-none-any.whl
sha256: 39e3809566ff85354557ec2398b55e096c8364bacac9405a7a1fa429e77fe76c
- name: python3-attrs
buildsystem: simple
build-commands:
- pip3 install --verbose --exists-action=i --no-index --find-links="file://${PWD}"
--prefix=${FLATPAK_DEST} "attrs==25.3.0" --no-build-isolation
sources:
- *id007
- name: python3-bidict
buildsystem: simple
build-commands:
- pip3 install --verbose --exists-action=i --no-index --find-links="file://${PWD}"
--prefix=${FLATPAK_DEST} "bidict==0.23.1" --no-build-isolation
sources:
- &id015
type: file
url: https://files.pythonhosted.org/packages/99/37/e8730c3587a65eb5645d4aba2d27aae48e8003614d6aaf15dda67f702f1f/bidict-0.23.1-py3-none-any.whl
sha256: 5dae8d4d79b552a71cbabc7deb25dfe8ce710b17ff41711e13010ead2abfc3e5
- name: python3-brotli
buildsystem: simple
build-commands:
- pip3 install --verbose --exists-action=i --no-index --find-links="file://${PWD}"
--prefix=${FLATPAK_DEST} "brotli==1.1.0" --no-build-isolation
sources:
- &id024
type: file
url: https://files.pythonhosted.org/packages/2f/c2/f9e977608bdf958650638c3f1e28f85a1b075f075ebbe77db8555463787b/Brotli-1.1.0.tar.gz
sha256: 81de08ac11bcb85841e440c13611c00b67d3bf82698314928d0b676362546724
- name: python3-certifi
buildsystem: simple
build-commands:
- pip3 install --verbose --exists-action=i --no-index --find-links="file://${PWD}"
--prefix=${FLATPAK_DEST} "certifi==2025.6.15" --no-build-isolation
sources:
- &id010
type: file
url: https://files.pythonhosted.org/packages/84/ae/320161bd181fc06471eed047ecce67b693fd7515b16d495d8932db763426/certifi-2025.6.15-py3-none-any.whl
sha256: 2e0c7ce7cb5d8f8634ca55d2ba7e6ec2689a2fd6537d8dec1296a477a4910057
- name: python3-cffi
buildsystem: simple
build-commands:
- pip3 install --verbose --exists-action=i --no-index --find-links="file://${PWD}"
--prefix=${FLATPAK_DEST} "cffi==1.17.1" --no-build-isolation
sources:
- *id005
- *id006
- name: python3-charset-normalizer
buildsystem: simple
build-commands:
- pip3 install --verbose --exists-action=i --no-index --find-links="file://${PWD}"
--prefix=${FLATPAK_DEST} "charset-normalizer==3.4.2" --no-build-isolation
sources:
- &id021
type: file
url: https://files.pythonhosted.org/packages/e4/33/89c2ced2b67d1c2a61c19c6751aa8902d46ce3dacb23600a283619f5a12d/charset_normalizer-3.4.2.tar.gz
sha256: 5baececa9ecba31eff645232d59845c07aa030f0c81ee70184a90d35099a0e63
- name: python3-frozenlist
buildsystem: simple
build-commands:
- pip3 install --verbose --exists-action=i --no-index --find-links="file://${PWD}"
--prefix=${FLATPAK_DEST} "frozenlist==1.7.0" --no-build-isolation
sources:
- *id003
- name: python3-h11
buildsystem: simple
build-commands:
- pip3 install --verbose --exists-action=i --no-index --find-links="file://${PWD}"
--prefix=${FLATPAK_DEST} "h11==0.16.0" --no-build-isolation
sources:
- &id014
type: file
url: https://files.pythonhosted.org/packages/04/4b/29cac41a4d98d144bf5f6d33995617b185d14b22401f75ca86f384e87ff1/h11-0.16.0-py3-none-any.whl
sha256: 63cf8bbe7522de3bf65932fda1d9c2772064ffb3dae62d55932da54b31cb6c86
- name: python3-idna
buildsystem: simple
build-commands:
- pip3 install --verbose --exists-action=i --no-index --find-links="file://${PWD}"
--prefix=${FLATPAK_DEST} "idna==3.10" --no-build-isolation
sources:
- *id008
- name: python3-minio
buildsystem: simple
build-commands:
- pip3 install --verbose --exists-action=i --no-index --find-links="file://${PWD}"
--prefix=${FLATPAK_DEST} "minio==7.2.15" --no-build-isolation
sources:
- *id009
- *id004
- *id010
- *id005
- type: file
url: https://files.pythonhosted.org/packages/fb/6f/3690028e846fe432bfa5ba724a0dc37ec9c914965b7733e19d8ca2c4c48d/minio-7.2.15-py3-none-any.whl
sha256: c06ef7a43e5d67107067f77b6c07ebdd68733e5aa7eed03076472410ca19d876
- *id006
- &id013
type: file
url: https://files.pythonhosted.org/packages/8e/a6/8452177684d5e906854776276ddd34eca30d1b1e15aa1ee9cefc289a33f5/pycryptodome-3.23.0.tar.gz
sha256: 447700a657182d60338bab09fdb27518f8856aecd80ae4c6bdddb67ff5da44ef
- &id020
type: file
url: https://files.pythonhosted.org/packages/69/e0/552843e0d356fbb5256d21449fa957fa4eff3bbc135a74a691ee70c7c5da/typing_extensions-4.14.0-py3-none-any.whl
sha256: a1514509136dd0b477638fc68d6a91497af5076466ad0fa6c338e44e359944af
- &id022
type: file
url: https://files.pythonhosted.org/packages/a7/c2/fe1e52489ae3122415c51f387e221dd0773709bad6c6cdaa599e8a2c5185/urllib3-2.5.0-py3-none-any.whl
sha256: e6b01673c0fa6a13e374b50871808eb3bf7046c4b125b216f6bf1cc604cff0dc
- name: python3-mpv
buildsystem: simple
build-commands:
- pip3 install --verbose --exists-action=i --no-index --find-links="file://${PWD}"
--prefix=${FLATPAK_DEST} "mpv==1.0.8" --no-build-isolation
sources:
- type: file
url: https://files.pythonhosted.org/packages/f4/cf/0d5f52753366ecf2c3d763e331dcda54b0f20a1a8e52b175feb9c625399d/mpv-1.0.8-py3-none-any.whl
sha256: dcf77f612e3f5ce49bd89393f37d286de7ac290db6b0800f1fdcfe0aeb5ba9b8
- name: python3-multidict
buildsystem: simple
build-commands:
- pip3 install --verbose --exists-action=i --no-index --find-links="file://${PWD}"
--prefix=${FLATPAK_DEST} "multidict==6.6.3" --no-build-isolation
sources:
- *id011
- name: python3-mutagen
buildsystem: simple
build-commands:
- pip3 install --verbose --exists-action=i --no-index --find-links="file://${PWD}"
--prefix=${FLATPAK_DEST} "mutagen==1.47.0" --no-build-isolation
sources:
- &id025
type: file
url: https://files.pythonhosted.org/packages/b0/7a/620f945b96be1f6ee357d211d5bf74ab1b7fe72a9f1525aafbfe3aee6875/mutagen-1.47.0-py3-none-any.whl
sha256: edd96f50c5907a9539d8e5bba7245f62c9f520aef333d13392a79a4f70aca719
- name: python3-pillow
buildsystem: simple
build-commands:
- pip3 install --verbose --exists-action=i --no-index --find-links="file://${PWD}"
--prefix=${FLATPAK_DEST} "pillow==10.4.0" --no-build-isolation
sources:
- type: file
url: https://files.pythonhosted.org/packages/cd/74/ad3d526f3bf7b6d3f408b73fde271ec69dfac8b81341a318ce825f2b3812/pillow-10.4.0.tar.gz
sha256: 166c1cd4d24309b30d61f79f4a9114b7b2313d7450912277855ff5dfd7cd4a06
- name: python3-platformdirs
buildsystem: simple
build-commands:
- pip3 install --verbose --exists-action=i --no-index --find-links="file://${PWD}"
--prefix=${FLATPAK_DEST} "platformdirs==4.3.8" --no-build-isolation
sources:
- type: file
url: https://files.pythonhosted.org/packages/fe/39/979e8e21520d4e47a0bbe349e2713c0aac6f3d853d0e5b34d76206c439aa/platformdirs-4.3.8-py3-none-any.whl
sha256: ff7059bb7eb1179e2685604f4aaf157cfd9535242bd23742eadc3c13542139b4
- name: python3-propcache
buildsystem: simple
build-commands:
- pip3 install --verbose --exists-action=i --no-index --find-links="file://${PWD}"
--prefix=${FLATPAK_DEST} "propcache==0.3.2" --no-build-isolation
sources:
- *id012
- name: python3-pycparser
buildsystem: simple
build-commands:
- pip3 install --verbose --exists-action=i --no-index --find-links="file://${PWD}"
--prefix=${FLATPAK_DEST} "pycparser==2.22" --no-build-isolation
sources:
- *id006
- name: python3-pycryptodome
buildsystem: simple
build-commands:
- pip3 install --verbose --exists-action=i --no-index --find-links="file://${PWD}"
--prefix=${FLATPAK_DEST} "pycryptodome==3.23.0" --no-build-isolation
sources:
- *id013
- name: python3-pycryptodomex
buildsystem: simple
build-commands:
- pip3 install --verbose --exists-action=i --no-index --find-links="file://${PWD}"
--prefix=${FLATPAK_DEST} "pycryptodomex==3.23.0" --no-build-isolation
sources:
- &id026
type: file
url: https://files.pythonhosted.org/packages/c9/85/e24bf90972a30b0fcd16c73009add1d7d7cd9140c2498a68252028899e41/pycryptodomex-3.23.0.tar.gz
sha256: 71909758f010c82bc99b0abf4ea12012c98962fbf0583c2164f8b84533c2e4da
- name: python3-pymediainfo
buildsystem: simple
build-commands:
- pip3 install --verbose --exists-action=i --no-index --find-links="file://${PWD}"
--prefix=${FLATPAK_DEST} "pymediainfo==6.1.0" --no-build-isolation
sources:
- type: file
url: https://files.pythonhosted.org/packages/0f/ed/a02b18943f9162644f90354fe6445410e942c857dd21ded758f630ba41c0/pymediainfo-6.1.0.tar.gz
sha256: 186a0b41a94524f0984d085ca6b945c79a254465b7097f2560dc0c04e8d1d8a5
- name: python3-pypng
buildsystem: simple
build-commands:
- pip3 install --verbose --exists-action=i --no-index --find-links="file://${PWD}"
--prefix=${FLATPAK_DEST} "pypng==0.20220715.0" --no-build-isolation
sources:
- &id019
type: file
url: https://files.pythonhosted.org/packages/3e/b9/3766cc361d93edb2ce81e2e1f87dd98f314d7d513877a342d31b30741680/pypng-0.20220715.0-py3-none-any.whl
sha256: 4a43e969b8f5aaafb2a415536c1a8ec7e341cd6a3f957fd5b5f32a4cfeed902c
- name: python3-python-engineio
buildsystem: simple
build-commands:
- pip3 install --verbose --exists-action=i --no-index --find-links="file://${PWD}"
--prefix=${FLATPAK_DEST} "python-engineio==4.12.2" --no-build-isolation
sources:
- *id014
- &id016
type: file
url: https://files.pythonhosted.org/packages/0c/fa/df59acedf7bbb937f69174d00f921a7b93aa5a5f5c17d05296c814fff6fc/python_engineio-4.12.2-py3-none-any.whl
sha256: 8218ab66950e179dfec4b4bbb30aecf3f5d86f5e58e6fc1aa7fde2c698b2804f
- &id017
type: file
url: https://files.pythonhosted.org/packages/52/59/0782e51887ac6b07ffd1570e0364cf901ebc36345fea669969d2084baebb/simple_websocket-1.1.0-py3-none-any.whl
sha256: 4af6069630a38ed6c561010f0e11a5bc0d4ca569b36306eb257cd9a192497c8c
- &id018
type: file
url: https://files.pythonhosted.org/packages/78/58/e860788190eba3bcce367f74d29c4675466ce8dddfba85f7827588416f01/wsproto-1.2.0-py3-none-any.whl
sha256: b9acddd652b585d75b20477888c56642fdade28bdfd3579aa24a4d2c037dd736
- name: python3-python-socketio
buildsystem: simple
build-commands:
- pip3 install --verbose --exists-action=i --no-index --find-links="file://${PWD}"
--prefix=${FLATPAK_DEST} "python-socketio==5.13.0" --no-build-isolation
sources:
- *id015
- *id014
- *id016
- type: file
url: https://files.pythonhosted.org/packages/3c/32/b4fb8585d1be0f68bde7e110dffbcf354915f77ad8c778563f0ad9655c02/python_socketio-5.13.0-py3-none-any.whl
sha256: 51f68d6499f2df8524668c24bcec13ba1414117cfb3a90115c559b601ab10caf
- *id017
- *id018
- name: python3-pyyaml
buildsystem: simple
build-commands:
- pip3 install --verbose --exists-action=i --no-index --find-links="file://${PWD}"
--prefix=${FLATPAK_DEST} "pyyaml==6.0.2" --no-build-isolation
sources:
- type: file
url: https://files.pythonhosted.org/packages/54/ed/79a089b6be93607fa5cdaedf301d7dfb23af5f25c398d5ead2525b063e17/pyyaml-6.0.2.tar.gz
sha256: d584d9ec91ad65861cc08d42e834324ef890a082e591037abe114850ff7bbc3e
- name: python3-qasync
buildsystem: simple
build-commands:
- pip3 install --verbose --exists-action=i --no-index --find-links="file://${PWD}"
--prefix=${FLATPAK_DEST} "qasync==0.27.1" --no-build-isolation
sources:
- type: file
url: https://files.pythonhosted.org/packages/51/06/bc628aa2981bcfd452a08ee435b812fd3eee4ada8acb8a76c4a09d1a5a77/qasync-0.27.1-py3-none-any.whl
sha256: 5d57335723bc7d9b328dadd8cb2ed7978640e4bf2da184889ce50ee3ad2602c7
- name: python3-qrcode
buildsystem: simple
build-commands:
- pip3 install --verbose --exists-action=i --no-index --find-links="file://${PWD}"
--prefix=${FLATPAK_DEST} "qrcode==7.4.2" --no-build-isolation
sources:
- *id019
- type: file
url: https://files.pythonhosted.org/packages/24/79/aaf0c1c7214f2632badb2771d770b1500d3d7cbdf2590ae62e721ec50584/qrcode-7.4.2-py3-none-any.whl
sha256: 581dca7a029bcb2deef5d01068e39093e80ef00b4a61098a2182eac59d01643a
- *id020
- name: python3-requests
buildsystem: simple
build-commands:
- pip3 install --verbose --exists-action=i --no-index --find-links="file://${PWD}"
--prefix=${FLATPAK_DEST} "requests==2.32.4" --no-build-isolation
sources:
- *id010
- *id021
- *id008
- &id027
type: file
url: https://files.pythonhosted.org/packages/7c/e4/56027c4a6b4ae70ca9de302488c5ca95ad4a39e190093d6c1a8ace08341b/requests-2.32.4-py3-none-any.whl
sha256: 27babd3cda2a6d50b30443204ee89830707d396671944c998b5975b031ac2b2c
- *id022
- name: python3-simple-websocket
buildsystem: simple
build-commands:
- pip3 install --verbose --exists-action=i --no-index --find-links="file://${PWD}"
--prefix=${FLATPAK_DEST} "simple-websocket==1.1.0" --no-build-isolation
sources:
- *id014
- *id017
- *id018
- name: python3-typing-extensions
buildsystem: simple
build-commands:
- pip3 install --verbose --exists-action=i --no-index --find-links="file://${PWD}"
--prefix=${FLATPAK_DEST} "typing-extensions==4.14.0" --no-build-isolation
sources:
- *id020
- name: python3-urllib3
buildsystem: simple
build-commands:
- pip3 install --verbose --exists-action=i --no-index --find-links="file://${PWD}"
--prefix=${FLATPAK_DEST} "urllib3==2.5.0" --no-build-isolation
sources:
- *id022
- name: python3-websockets
buildsystem: simple
build-commands:
- pip3 install --verbose --exists-action=i --no-index --find-links="file://${PWD}"
--prefix=${FLATPAK_DEST} "websockets==15.0.1" --no-build-isolation
sources:
- &id028
type: file
url: https://files.pythonhosted.org/packages/21/e6/26d09fab466b7ca9c7737474c52be4f76a40301b08362eb2dbc19dcc16c1/websockets-15.0.1.tar.gz
sha256: 82544de02076bafba038ce055ee6412d68da13ab47f0c60cab827346de828dee
- name: python3-wsproto
buildsystem: simple
build-commands:
- pip3 install --verbose --exists-action=i --no-index --find-links="file://${PWD}"
--prefix=${FLATPAK_DEST} "wsproto==1.2.0" --no-build-isolation
sources:
- *id014
- *id018
- name: python3-yarl
buildsystem: simple
build-commands:
- pip3 install --verbose --exists-action=i --no-index --find-links="file://${PWD}"
--prefix=${FLATPAK_DEST} "yarl==1.20.1" --no-build-isolation
sources:
- *id008
- *id011
- *id012
- *id023
- name: python3-yt-dlp
buildsystem: simple
build-commands:
- pip3 install --verbose --exists-action=i --no-index --find-links="file://${PWD}"
--prefix=${FLATPAK_DEST} "yt-dlp[default]==2025.6.30" --no-build-isolation
sources:
- *id024
- *id010
- *id021
- *id008
- *id025
- *id026
- *id027
- *id022
- *id028
- type: file
url: https://files.pythonhosted.org/packages/14/41/2f048ae3f6d0fa2e59223f08ba5049dbcdac628b0a9f9deac722dd9260a5/yt_dlp-2025.6.30-py3-none-any.whl
sha256: 541becc29ed7b7b3a08751c0a66da4b7f8ee95cb81066221c78e83598bc3d1f3
name: python3-requirements-client

View file

@ -1,9 +1,9 @@
id: rocks.syng.Syng
runtime: org.kde.Platform
runtime-version: '6.7'
runtime-version: '6.9'
sdk: org.kde.Sdk
base: com.riverbankcomputing.PyQt.BaseApp
base-version: '6.7'
base-version: '6.9'
cleanup-commands:
- /app/cleanup-BaseApp.sh
build-options:
@ -73,13 +73,7 @@ modules:
- type: git
url: https://github.com/LuaJIT/LuaJIT.git
disable-shallow-clone: true
commit: f5fd22203eadf57ccbaa4a298010d23974b22fc0
x-checker-data:
type: json
url: https://api.github.com/repos/LuaJIT/LuaJIT/commits
commit-query: first( .[].sha )
version-query: first( .[].sha )
timestamp-query: first( .[].commit.committer.date )
commit: fe71d0fb54ceadfb5b5f3b6baf29e486d97f6059
- type: shell
commands:
- sed -i 's|/usr/local|/app|' ./Makefile
@ -94,8 +88,8 @@ modules:
- install yt-dlp /app/bin
sources:
- type: archive
url: https://github.com/yt-dlp/yt-dlp/releases/download/2024.09.27/yt-dlp.tar.gz
sha256: ffce6ebd742373eff6dac89b23f706ec7513a0367160eb8b5a550cd706cd883f
url: https://github.com/yt-dlp/yt-dlp/releases/download/2025.06.30/yt-dlp.tar.gz
sha256: 606f3e3e431839998d1f377de615a9792e77e5968ad929c2c6ba1a17774bbf1b
x-checker-data:
type: json
url: https://api.github.com/repos/yt-dlp/yt-dlp/releases/latest
@ -131,32 +125,12 @@ modules:
sources:
- type: git
url: https://github.com/libass/libass.git
tag: 0.17.3
commit: e46aedea0a0d17da4c4ef49d84b94a7994664ab5
tag: 0.17.4
commit: bbb3c7f1570a4a021e52683f3fbdf74fe492ae84
x-checker-data:
type: git
tag-pattern: ^(\d\.\d{1,3}\.\d{1,2})$
- name: libaacs
config-opts:
- --disable-static
- --disable-bdjava-jar
cleanup:
- /include
- /lib/pkgconfig
sources:
- sha256: a88aa0ebe4c98a77f7aeffd92ab3ef64ac548c6b822e8248a8b926725bea0a39
type: archive
url: https://download.videolan.org/pub/videolan/libaacs/0.11.1/libaacs-0.11.1.tar.bz2
mirror-urls:
- https://videolan.mirror.ba/libaacs/0.11.1/libaacs-0.11.1.tar.bz2
- https://videolan.c3sl.ufpr.br/libaacs/0.11.1/libaacs-0.11.1.tar.bz2
x-checker-data:
type: html
url: https://www.videolan.org/developers/libaacs.html
version-pattern: Latest release is <b>libaacs (\d\.\d+\.?\d*)</b>
url-template: https://download.videolan.org/pub/videolan/libaacs/$version/libaacs-$version.tar.bz2
- name: zimg
config-opts:
- --disable-static
@ -176,28 +150,6 @@ modules:
version-query: .tag_name | sub("^release-"; "")
timestamp-query: .published_at
- name: mujs
buildsystem: autotools
no-autogen: true
make-args:
- release
make-install-args:
- prefix=/app
- install-shared
cleanup:
- /bin
- /include
- /lib/pkgconfig
sources:
- type: git
url: https://github.com/ccxvii/mujs.git
tag: 1.3.5
commit: 0df0707f2f10187127e36acfbc3ba9b9ca5b5cf0
x-checker-data:
type: git
url: https://api.github.com/repos/ccxvii/mujs/tags
tag-pattern: ^([\d.]+)$
- name: nv-codec-headers
cleanup:
- '*'
@ -207,8 +159,8 @@ modules:
sources:
- type: git
url: https://github.com/FFmpeg/nv-codec-headers.git
tag: n12.2.72.0
commit: c69278340ab1d5559c7d7bf0edf615dc33ddbba7
tag: n13.0.19.0
commit: e844e5b26f46bb77479f063029595293aa8f812d
x-checker-data:
type: git
tag-pattern: ^n([\d.]+)$
@ -224,16 +176,7 @@ modules:
sources:
- type: git
url: https://github.com/jpsdr/x264
commit: c24e06c2e184345ceb33eb20a15d1024d9fd3497
# Every commit to the master branch is considered a release
# https://code.videolan.org/videolan/x264/-/issues/35
x-checker-data:
type: json
url: https://code.videolan.org/api/v4/projects/536/repository/commits
commit-query: first( .[].id )
version-query: first( .[].id )
timestamp-query: first( .[].committed_date )
commit: da14df5535fd46776fb1c9da3130973295c87aca
- name: x265
buildsystem: cmake
subdir: source
@ -249,16 +192,13 @@ modules:
url: https://bitbucket.org/multicoreware/x265_git.git
tag: '4.0'
commit: 6318f223684118a2c71f67f3f4633a9e35046b00
x-checker-data:
type: git
tag-pattern: ^([\d.]+)$
- name: vulkan-headers
buildsystem: cmake-ninja
sources:
- type: archive
url: https://github.com/KhronosGroup/Vulkan-Headers/archive/v1.3.286.tar.gz
sha256: a82a6982efe5e603e23505ca19b469e8f3d876fc677c46b7bfb6177f517bf8fe
url: https://github.com/KhronosGroup/Vulkan-Headers/archive/v1.4.306.tar.gz
sha256: 18f4b4de873d071ddd7b73ea48e2ec4e7c6133e2ebb6b4236ca2345acd056994
- name: ffmpeg
cleanup:
@ -292,8 +232,8 @@ modules:
sources:
- type: git
url: https://github.com/FFmpeg/FFmpeg.git
commit: b08d7969c550a804a59511c7b83f2dd8cc0499b8
tag: n7.1
commit: db69d06eeeab4f46da15030a80d539efb4503ca8
tag: n7.1.1
x-checker-data:
type: git
tag-pattern: ^n([\d.]{3,7})$
@ -311,62 +251,11 @@ modules:
url: https://github.com/haasn/libplacebo.git
tag: v7.349.0
commit: 1fd3c7bde7b943fe8985c893310b5269a09b46c5
x-checker-data:
type: git
tag-pattern: ^v([\d.]+)$
modules:
- name: shaderc
buildsystem: cmake-ninja
builddir: true
config-opts:
- -DSHADERC_SKIP_COPYRIGHT_CHECK=ON
- -DSHADERC_SKIP_EXAMPLES=ON
- -DSHADERC_SKIP_TESTS=ON
- -DSPIRV_SKIP_EXECUTABLES=ON
- -DENABLE_GLSLANG_BINARIES=OFF
cleanup:
- /bin
- /include
- /lib/cmake
- /lib/pkgconfig
sources:
- type: git
url: https://github.com/google/shaderc.git
#tag: v2023.7
commit: 40bced4e1e205ecf44630d2dfa357655b6dabd04
#x-checker-data:
# type: git
# tag-pattern: ^v(\d{4}\.\d{1,2})$
- type: git
url: https://github.com/KhronosGroup/SPIRV-Tools.git
tag: v2024.1
commit: 04896c462d9f3f504c99a4698605b6524af813c1
dest: third_party/spirv-tools
#x-checker-data:
# type: git
# tag-pattern: ^v(\d{4}\.\d{1})$
- type: git
url: https://github.com/KhronosGroup/SPIRV-Headers.git
#tag: sdk-1.3.250.1
commit: 4f7b471f1a66b6d06462cd4ba57628cc0cd087d7
dest: third_party/spirv-headers
#x-checker-data:
# type: git
# tag-pattern: ^sdk-([\d.]+)$
- type: git
url: https://github.com/KhronosGroup/glslang.git
tag: 15.0.0
commit: 46ef757e048e760b46601e6e77ae0cb72c97bd2f
dest: third_party/glslang
x-checker-data:
type: git
tag-pattern: ^(\d{1,2}\.\d{1,2}\.\d{1,4})$
- name: mpv
buildsystem: meson
config-opts:
- -Dbuild-date=false
- -Dlibmpv=false
- -Dlibmpv=true
- -Dmanpage-build=disabled
- -Dlibarchive=enabled
- -Dsdl2=enabled
@ -378,15 +267,43 @@ modules:
sources:
- type: git
url: https://github.com/mpv-player/mpv.git
tag: v0.39.0
commit: a0fba7be57f3822d967b04f0f6b6d6341e7516e7
tag: v0.40.0
commit: e48ac7ce08462f5e33af6ef9deeac6fa87eef01e
x-checker-data:
type: git
tag-pattern: ^v([\d.]+)$
- name: libzen
subdir: Project/GNU/Library
config-opts:
- --enable-shared
- --disable-static
sources:
- type: archive
url: https://mediaarea.net/download/source/libzen/0.4.41/libzen_0.4.41.tar.xz
sha256: 933bad3b7ecd29dc6bdc88a83645c83dfd098c15b0b90d6177a37fa1536704e8
cleanup:
- /bin
- /include
- /lib/pkgconfig
- /lib/*.la
- name: libmediainfo
subdir: Project/GNU/Library
config-opts:
- --enable-shared
- --disable-static
sources:
- type: archive
url: https://mediaarea.net/download/source/libmediainfo/24.06/libmediainfo_24.06.tar.xz
sha256: 0683f28a2475dc2417205ba528debccc407da4d9fa6516eb4b75b3ff7244e96e
cleanup:
- /bin
- /include
- /lib/pkgconfig
- /lib/*.la
- python3-poetry-core.yaml
- python3-expandvars.yaml
- python3-cffi.yaml
- python3-requirements-client.yaml
- python3-poetry-core.yaml
- name: syng
buildsystem: simple
build-commands:
@ -403,5 +320,4 @@ modules:
sources:
- type: git
url: https://github.com/christofsteel/syng.git
commit: dd84ff361bbd10efd14147d8dd0453438f4e32ff
commit: 63eff81740c2cd4a3fb886d0f98a1d1eb3972e81