From c9a89127ca95a94100809f9e6bbda632750561dd Mon Sep 17 00:00:00 2001 From: Rinigus Date: Wed, 25 Mar 2020 10:04:56 +0200 Subject: [PATCH] Automate flatpak manifest generation and document building flatpak --- .gitignore | 9 + packaging/flatpak/README.md | 40 ++ packaging/flatpak/collector.py | 33 + packaging/flatpak/flatpak-pip-generator | 173 +++++ packaging/flatpak/generate-flatpak-script.sh | 23 + packaging/flatpak/mirage.flatpak.base.yaml | 109 +++ packaging/flatpak/mirage.flatpak.yaml | 716 +++++++++++++++++++ packaging/flatpak/requirements.flatpak.txt | 5 + 8 files changed, 1108 insertions(+) create mode 100644 packaging/flatpak/README.md create mode 100644 packaging/flatpak/collector.py create mode 100755 packaging/flatpak/flatpak-pip-generator create mode 100755 packaging/flatpak/generate-flatpak-script.sh create mode 100644 packaging/flatpak/mirage.flatpak.base.yaml create mode 100644 packaging/flatpak/mirage.flatpak.yaml create mode 100644 packaging/flatpak/requirements.flatpak.txt diff --git a/.gitignore b/.gitignore index cb52bceb..d17a1343 100644 --- a/.gitignore +++ b/.gitignore @@ -6,6 +6,8 @@ __pycache__ *.qmlc *.jsc +*~ + tmp-* build @@ -17,3 +19,10 @@ mirage.pro.user *.AppImage tags + +packaging/flatpak/flatpak-env +packaging/flatpak/requirements.txt +packaging/flatpak/flatpak-requirements.txt +packaging/flatpak/flatpak-pip.json +.flatpak-builder/ +flatpak-build/ diff --git a/packaging/flatpak/README.md b/packaging/flatpak/README.md new file mode 100644 index 00000000..f30d0b17 --- /dev/null +++ b/packaging/flatpak/README.md @@ -0,0 +1,40 @@ +# Flatpak packaging + +## Manifest + +Flatpak packaging manifest is generated by running + +``` +packaging/flatpak/generate-flatpak-script.sh +``` + +from the root of the project. This script requires `libolm` to be +installed on the development PC as it will create Python virtual +environment and install all the requirements in it. + +Note that the requirements are taken from +`packaging/flatpak/requirements.flatpak.txt` and the ones specified in +the project' root `requirements.txt`. At the moment of writing, +included packages are `multidict` with the version that installs in +Flatpak (newer versions seem to have some issues), `uvloop`, and few +packages required for building other packages. + +In addition, the list of ignored packages is in +`packaging/flatpak/generate-flatpak-script.sh`. + +Flatpak manifest is created automatically by +`generate-flatpak-script.sh` using `mirage.flatpak.base.yaml` and +replacing the marked placeholder with Python module dependencies. + + +## Building Flatpak + +To build flatpak package, you will need flatpak, runtime and SDK (KDE +5.12), and flatpak-builder. + +To build, run + +``` +flatpak-builder --repo=../flatpak-repo --force-clean flatpak-build packaging/flatpak/mirage.flatpak.yaml +``` + diff --git a/packaging/flatpak/collector.py b/packaging/flatpak/collector.py new file mode 100644 index 00000000..351100e3 --- /dev/null +++ b/packaging/flatpak/collector.py @@ -0,0 +1,33 @@ +import json +import yaml + +with open('mirage.flatpak.base.yaml') as f: + base = yaml.load(f, Loader=yaml.FullLoader) + +with open('flatpak-pip.json') as f: + modules = json.load(f)['modules'] + +# set some modules in front as dependencies and dropping matrix-nio +# which is declared separately +front = [] +back = [] +for m in modules: + n = m['name'] + if n.startswith('python3-') and \ + n[len('python3-'):] in ['multidict', 'cffi', 'pytest-runner', 'setuptools-scm']: + front.append(m) + else: + back.append(m) + +# replace placeholder with modules +phold = None +for i in range(len(base['modules'])): + if base['modules'][i]['name'] == 'PLACEHOLDER PYTHON DEPENDENCIES': + phold = i + break + +base['modules'] = base['modules'][:i] + front + back + base['modules'][i+1:] + +with open('mirage.flatpak.yaml', 'w') as f: + f.write(yaml.dump(base, sort_keys=False, indent=2)) + #json.dump(base, f, indent=4) diff --git a/packaging/flatpak/flatpak-pip-generator b/packaging/flatpak/flatpak-pip-generator new file mode 100755 index 00000000..631e30b3 --- /dev/null +++ b/packaging/flatpak/flatpak-pip-generator @@ -0,0 +1,173 @@ +#!/usr/bin/env python3 + +__license__ = 'MIT' + +import argparse +import json +import hashlib +import os +import subprocess +import tempfile +import urllib.request +import shlex +from collections import OrderedDict + + +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('--cleanup', choices=['scripts', 'all'], + help='Select what to clean up after build') +parser.add_argument('--requirements-file', + help='Specify requirements.txt file') +parser.add_argument('--build-only', action='store_const', + dest='cleanup', const='all', + help='Clean up all files after build') +parser.add_argument('--no-build-isolation', + help='https://pip.pypa.io/en/stable/reference/pip/#pep-517-and-518-support') +parser.add_argument('--output', + help='Specify output file name') +opts = parser.parse_args() + + +def get_pypi_url(name: str, filename: str) -> str: + url = 'https://pypi.org/pypi/{}/json'.format(name) + print('Extracting download url for', name) + with urllib.request.urlopen(url) as response: + 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'] + else: + raise Exception('Failed to extract url from {}'.format(url)) + + +def get_package_name(filename: str) -> str: + if filename.endswith(('bz2', 'gz', 'xz', 'zip')): + segments = filename.split("-") + if len(segments) == 2: + return segments[0] + return "-".join(segments[:len(segments) - 1]) + elif filename.endswith('whl'): + segments = filename.split("-") + if len(segments) == 5: + return segments[0] + return "-".join(segments[:len(segments) - 4]) + else: + raise Exception( + 'Downloaded filename: {} does not end with bz2, gz, xz, zip, or whl'.format(filename) + ) + +def get_file_hash(filename: str) -> str: + sha = hashlib.sha256() + print('Generating hash for', filename) + with open(filename, 'rb') as f: + while True: + data = f.read(1024 * 1024 * 32) + if not data: + break + sha.update(data) + return sha.hexdigest() + + +if not opts.packages and not opts.requirements_file: + exit("Please specifiy either packages or requirements file argument") + +packages = [] +if opts.requirements_file and os.path.exists(opts.requirements_file): + with open(opts.requirements_file, 'r') as req_file: + packages = [package.strip() for package in req_file.readlines()] +else: + packages = opts.packages + + +if opts.python2: + pip_executable = 'pip2' +else: + pip_executable = 'pip3' + +modules = [] + +for package in packages: + package_name = 'python{}-{}'.format('2' if opts.python2 else '3', + package.split("=")[0]) + tempdir_prefix = 'pip-generator-{}-'.format(package_name) + with tempfile.TemporaryDirectory(prefix=tempdir_prefix) as tempdir: + + pip_download = [ + pip_executable, + 'download', + '--dest', + tempdir + ] + pip_command = [ + pip_executable, + 'install', + '--no-index', + '--find-links="file://${PWD}"', + '--prefix=${FLATPAK_DEST}', + shlex.quote(package) + ] + if opts.no_build_isolation: + pip_command.append('--no-build-isolation') + module = OrderedDict([ + ('name', package_name), + ('buildsystem', 'simple'), + ('build-commands', [' '.join(pip_command)]), + ('sources', []), + ]) + + if opts.cleanup == 'all': + module['cleanup'] = ['*'] + elif opts.cleanup == 'scripts': + module['cleanup'] = ['/bin', '/share/man/man1'] + + try: + # May download the package twice, the first time it allows pip to + # select the preferred package, if the package downloaded is not + # platform generic, then it forces pip to download the sdist (using + # the --no-binary option). + subprocess.run(pip_download + [package], check=True) + for filename in os.listdir(tempdir): + if not filename.endswith(('gz', 'any.whl')): + os.remove(os.path.join(tempdir, filename)) + subprocess.run(pip_download + [ + '--no-binary', ':all:', package + ], check=True) + for filename in os.listdir(tempdir): + name = get_package_name(filename) + if name == 'setuptools': # Already installed + continue + sha256 = get_file_hash(os.path.join(tempdir, filename)) + url = get_pypi_url(name, filename) + source = OrderedDict([ + ('type', 'file'), + ('url', url), + ('sha256', sha256), + ]) + module['sources'].append(source) + except subprocess.CalledProcessError: + print("Failed to download {}".format(package)) + print("Please fix the module manually in the generated file") + modules.append(module) + +if opts.requirements_file: + output_package = opts.output or 'pypi-dependencies' +else: + output_package = opts.output or package_name +output_filename = output_package + '.json' + +if len(modules) == 1: + pypi_module = modules[0] +else: + pypi_module = { + 'name': output_package, + 'buildsystem': 'simple', + 'build-commands': [], + 'modules': modules, + } + +with open(output_filename, 'w') as output: + output.write(json.dumps(pypi_module, indent=4)) diff --git a/packaging/flatpak/generate-flatpak-script.sh b/packaging/flatpak/generate-flatpak-script.sh new file mode 100755 index 00000000..1dafe5ef --- /dev/null +++ b/packaging/flatpak/generate-flatpak-script.sh @@ -0,0 +1,23 @@ +#!/bin/bash + +set -e + +DIR=`dirname "$(readlink -f "$0")"` + +cd $DIR + +python3 -m venv flatpak-env +export PATH=$DIR/flatpak-env/bin:$PATH + +cat requirements.flatpak.txt ../../requirements.txt > requirements.txt + +flatpak-env/bin/pip install -Ur requirements.txt + +# freeze requirements and ignore blacklisted packages +flatpak-env/bin/pip freeze | grep -v PyYAML | grep -v six= | grep -v matrix-nio > flatpak-requirements.txt + +# generate flatpak requirements +flatpak-env/bin/python flatpak-pip-generator --output flatpak-pip --requirements-file=flatpak-requirements.txt + +flatpak-env/bin/pip install PyYAML +python collector.py diff --git a/packaging/flatpak/mirage.flatpak.base.yaml b/packaging/flatpak/mirage.flatpak.base.yaml new file mode 100644 index 00000000..8a9639d6 --- /dev/null +++ b/packaging/flatpak/mirage.flatpak.base.yaml @@ -0,0 +1,109 @@ +id: io.github.mirukana.mirage +runtime: org.kde.Platform +sdk: org.kde.Sdk +runtime-version: "5.12" + +command: mirage +finish-args: + - --share=ipc + - --share=network + - --socket=x11 + - --socket=wayland + - --device=dri + - --filesystem=xdg-download + - --talk-name=org.freedesktop.Notifications + +rename-icon: mirage +rename-desktop-file: mirage.desktop + +cleanup: + - /app/include + - /app/usr/tests + - /app/lib/cmake + - /app/bin/cairosvg + - /app/bin/chardetect + - /app/bin/futurize + - /app/bin/jsonschema + - /app/bin/pasteurize + - /app/bin/pwiz.py + +modules: + - name: pyotherside + buildsystem: qmake + make-install-args: + - INSTALL_ROOT=/app + post-install: + - mkdir -p /app/lib/qml + - ln -s /app/usr/lib/qml/io /app/lib/qml + sources: + - type: archive + url: https://github.com/thp/pyotherside/archive/1.5.3.tar.gz + sha256: 00049d5f42cac448368bc2a521edb8de36bb6d2a624e195b7f1004236758b805 + + - name: olm + buildsystem: cmake-ninja + sources: + - type: git + url: https://gitlab.matrix.org/matrix-org/olm.git + tag: 3.1.4 + commit: 6753595300767dd70150831dbbe6f92d64e75038 + disable-shallow-clone: true + config-opts: + - -DCMAKE_BUILD_TYPE=Release + + - name: libzen + subdir: Project/GNU/Library + config-opts: + - --enable-shared + - --disable-static + cleanup: + - /bin + - /include + - /lib/pkgconfig + - /lib/*.la + sources: + - type: archive + url: https://mediaarea.net/download/source/libzen/0.4.37/libzen_0.4.37.tar.xz + sha256: 38c0a68b715b55d6685d2759eecda040adf37bd066955d79a5d01f91977bd9a0 + + - name: libmediainfo + subdir: Project/GNU/Library + config-opts: + - --enable-shared + - --disable-static + - --with-libcurl + cleanup: + - /bin + - /include + - /lib/pkgconfig + - /lib/*.la + sources: + - type: archive + url: https://mediaarea.net/download/source/libmediainfo/19.09/libmediainfo_19.09.tar.xz + sha256: ff06e1a449dfbe6f2c51f27ae1187d3e72386cb54476fbb189ffaacf845f478e + + # Python dependencies + - name: PLACEHOLDER PYTHON DEPENDENCIES + + # matrix-nio separate + - name: python3-matrix-nio + buildsystem: simple + build-commands: + - pip3 install --prefix=${FLATPAK_DEST} . + sources: + - type: git + url: https://github.com/mirukana/matrix-nio.git + commit: ee2a90da2f1d7ce12df7153dd944fffdaf978787 + + - name: mirage + buildsystem: qmake + sources: + - type: dir + path: ../.. + + # - name: mirage + # buildsystem: qmake + # sources: + # - type: git + # url: https://github.com/mirukana/mirage.git + # tag: v0.4.1 diff --git a/packaging/flatpak/mirage.flatpak.yaml b/packaging/flatpak/mirage.flatpak.yaml new file mode 100644 index 00000000..f0833926 --- /dev/null +++ b/packaging/flatpak/mirage.flatpak.yaml @@ -0,0 +1,716 @@ +id: io.github.mirukana.mirage +runtime: org.kde.Platform +sdk: org.kde.Sdk +runtime-version: '5.12' +command: mirage +finish-args: +- --share=ipc +- --share=network +- --socket=x11 +- --socket=wayland +- --device=dri +- --filesystem=xdg-download +- --talk-name=org.freedesktop.Notifications +rename-icon: mirage +rename-desktop-file: mirage.desktop +cleanup: +- /app/include +- /app/usr/tests +- /app/lib/cmake +- /app/bin/cairosvg +- /app/bin/chardetect +- /app/bin/futurize +- /app/bin/jsonschema +- /app/bin/pasteurize +- /app/bin/pwiz.py +modules: +- name: pyotherside + buildsystem: qmake + make-install-args: + - INSTALL_ROOT=/app + post-install: + - mkdir -p /app/lib/qml + - ln -s /app/usr/lib/qml/io /app/lib/qml + sources: + - type: archive + url: https://github.com/thp/pyotherside/archive/1.5.3.tar.gz + sha256: 00049d5f42cac448368bc2a521edb8de36bb6d2a624e195b7f1004236758b805 +- name: olm + buildsystem: cmake-ninja + sources: + - type: git + url: https://gitlab.matrix.org/matrix-org/olm.git + tag: 3.1.4 + commit: 6753595300767dd70150831dbbe6f92d64e75038 + disable-shallow-clone: true + config-opts: + - -DCMAKE_BUILD_TYPE=Release +- name: libzen + subdir: Project/GNU/Library + config-opts: + - --enable-shared + - --disable-static + cleanup: + - /bin + - /include + - /lib/pkgconfig + - /lib/*.la + sources: + - type: archive + url: https://mediaarea.net/download/source/libzen/0.4.37/libzen_0.4.37.tar.xz + sha256: 38c0a68b715b55d6685d2759eecda040adf37bd066955d79a5d01f91977bd9a0 +- name: libmediainfo + subdir: Project/GNU/Library + config-opts: + - --enable-shared + - --disable-static + - --with-libcurl + cleanup: + - /bin + - /include + - /lib/pkgconfig + - /lib/*.la + sources: + - type: archive + url: https://mediaarea.net/download/source/libmediainfo/19.09/libmediainfo_19.09.tar.xz + sha256: ff06e1a449dfbe6f2c51f27ae1187d3e72386cb54476fbb189ffaacf845f478e +- name: python3-cffi + buildsystem: simple + build-commands: + - pip3 install --no-index --find-links="file://${PWD}" --prefix=${FLATPAK_DEST} + cffi==1.14.0 + sources: + - type: file + url: https://files.pythonhosted.org/packages/0f/86/e19659527668d70be91d0369aeaa055b4eb396b0f387a4f92293a20035bd/pycparser-2.20.tar.gz + sha256: 2d475327684562c3a96cc71adf7dc8c4f0565175cf86b6d7a404ff4c771f15f0 + - type: file + url: https://files.pythonhosted.org/packages/05/54/3324b0c46340c31b909fcec598696aaec7ddc8c18a63f2db352562d3354c/cffi-1.14.0.tar.gz + sha256: 2d384f4a127a15ba701207f7639d94106693b6cd64173d6c8988e2c25f3ac2b6 + - type: file + url: https://files.pythonhosted.org/packages/ae/e7/d9c3a176ca4b02024debf82342dab36efadfc5776f9c8db077e8f6e71821/pycparser-2.20-py2.py3-none-any.whl + sha256: 7582ad22678f0fcd81102833f60ef8d0e57288b6b5fb00323d101be910e35705 +- name: python3-multidict + buildsystem: simple + build-commands: + - pip3 install --no-index --find-links="file://${PWD}" --prefix=${FLATPAK_DEST} + multidict==4.5.2 + sources: + - type: file + url: https://files.pythonhosted.org/packages/7f/8f/b3c8c5b062309e854ce5b726fc101195fbaa881d306ffa5c2ba19efa3af2/multidict-4.5.2.tar.gz + sha256: 024b8129695a952ebd93373e45b5d341dbb87c17ce49637b34000093f243dd4f +- name: python3-pytest-runner + buildsystem: simple + build-commands: + - pip3 install --no-index --find-links="file://${PWD}" --prefix=${FLATPAK_DEST} + pytest-runner==5.2 + sources: + - type: file + url: https://files.pythonhosted.org/packages/16/45/81b5262c0efc08882bdf183b788e6d28e3d684863990996d8b60967d48da/pytest_runner-5.2-py2.py3-none-any.whl + sha256: 5534b08b133ef9a5e2c22c7886a8f8508c95bb0b0bdc6cc13214f269c3c70d51 +- name: python3-setuptools-scm + buildsystem: simple + build-commands: + - pip3 install --no-index --find-links="file://${PWD}" --prefix=${FLATPAK_DEST} + setuptools-scm==3.5.0 + sources: + - type: file + url: https://files.pythonhosted.org/packages/4b/c1/118ec08816737cc46b4dd93b22f7a138fbfb14b53f4b4718fd9983e70a50/setuptools_scm-3.5.0-py2.py3-none-any.whl + sha256: 0d23db3d43e0a43eb7196bcf0eb8a4a2eb0561f621ed7ec44b2fdccfd907e38f +- name: python3-aiofiles + buildsystem: simple + build-commands: + - pip3 install --no-index --find-links="file://${PWD}" --prefix=${FLATPAK_DEST} + aiofiles==0.4.0 + sources: + - type: file + url: https://files.pythonhosted.org/packages/cf/f2/a67a23bc0bb61d88f82aa7fb84a2fb5f278becfbdc038c5cbb36c31feaf1/aiofiles-0.4.0-py3-none-any.whl + sha256: 1e644c2573f953664368de28d2aa4c89dfd64550429d0c27c4680ccd3aa4985d +- name: python3-aiohttp + buildsystem: simple + build-commands: + - pip3 install --no-index --find-links="file://${PWD}" --prefix=${FLATPAK_DEST} + aiohttp==3.6.2 + sources: + - type: file + url: https://files.pythonhosted.org/packages/cb/19/57503b5de719ee45e83472f339f617b0c01ad75cba44aba1e4c97c2b0abd/idna-2.9.tar.gz + sha256: 7588d1c14ae4c77d74036e8c22ff447b26d0fde8f007354fd48a7814db15b7cb + - type: file + url: https://files.pythonhosted.org/packages/e7/dd/f1713bc6638cc3a6a23735eff6ee09393b44b96176d3296693ada272a80b/typing_extensions-3.7.4.1.tar.gz + sha256: 091ecc894d5e908ac75209f10d5b4f118fbdb2eb1ede6a63544054bb1edb41f2 + - type: file + url: https://files.pythonhosted.org/packages/d6/67/6e2507586eb1cfa6d55540845b0cd05b4b77c414f6bca8b00b45483b976e/yarl-1.4.2.tar.gz + sha256: 58cd9c469eced558cd81aa3f484b2924e8897049e06889e8ff2510435b7ef74b + - type: file + url: https://files.pythonhosted.org/packages/a1/78/aae1545aba6e87e23ecab8d212b58bb70e72164b67eb090b81bb17ad38e3/async-timeout-3.0.1.tar.gz + sha256: 0c3c816a028d47f659d6ff5c745cb2acf1f966da1fe5c19c77a70282b25f4c5f + - type: file + url: https://files.pythonhosted.org/packages/61/b4/475114b3f1671da634f89239e61038f8742d9ac13aa34b32a05bf8022d22/multidict-4.7.5.tar.gz + sha256: aee283c49601fa4c13adc64c09c978838a7e812f85377ae130a24d7198c0331e + - type: file + url: https://files.pythonhosted.org/packages/fc/bb/a5768c230f9ddb03acc9ef3f0d4a3cf93462473795d18e9535498c8f929d/chardet-3.0.4.tar.gz + sha256: 84ab92ed1c4d4f16916e05906b6b75a6c0fb5db821cc65e70cbd64a3e2a5eaae + - type: file + url: https://files.pythonhosted.org/packages/98/c3/2c227e66b5e896e15ccdae2e00bbc69aa46e9a8ce8869cc5fa96310bf612/attrs-19.3.0.tar.gz + sha256: f7b7ce16570fe9965acd6d30101a28f62fb4a7f9e926b3bbc9b61f8b04247e72 + - type: file + url: https://files.pythonhosted.org/packages/00/94/f9fa18e8d7124d7850a5715a0b9c0584f7b9375d331d35e157cee50f27cc/aiohttp-3.6.2.tar.gz + sha256: 259ab809ff0727d0e834ac5e8a283dc5e3e0ecc30c4d80b3cd17a4139ce1f326 + - type: file + url: https://files.pythonhosted.org/packages/89/e3/afebe61c546d18fb1709a61bee788254b40e736cff7271c7de5de2dc4128/idna-2.9-py2.py3-none-any.whl + sha256: a068a21ceac8a4d63dbfd964670474107f541babbd2250d61922f029858365fa + - type: file + url: https://files.pythonhosted.org/packages/e1/1e/5a4441be21b0726c4464f3f23c8b19628372f606755a9d2e46c187e65ec4/async_timeout-3.0.1-py3-none-any.whl + sha256: 4291ca197d287d274d0b6cb5d6f8f8f82d434ed288f962539ff18cc9012f9ea3 + - type: file + url: https://files.pythonhosted.org/packages/bc/a9/01ffebfb562e4274b6487b4bb1ddec7ca55ec7510b22e4c51f14098443b8/chardet-3.0.4-py2.py3-none-any.whl + sha256: fc323ffcaeaed0e0a02bf4d117757b98aed530d9ed4531e3e15460124c106691 + - type: file + url: https://files.pythonhosted.org/packages/46/03/07c4894aae38b0de52b52586b24bf189bb83e4ddabfe2e2c8f2419eec6f4/idna-ssl-1.1.0.tar.gz + sha256: a933e3bb13da54383f9e8f35dc4f9cb9eb9b3b78c6b36f311254d6d0d92c6c7c + - type: file + url: https://files.pythonhosted.org/packages/a2/db/4313ab3be961f7a763066401fb77f7748373b6094076ae2bda2806988af6/attrs-19.3.0-py2.py3-none-any.whl + sha256: 08a96c641c3a74e44eb59afb61a24f2cb9f4d7188748e76ba4bb5edfa3cb7d1c + - type: file + url: https://files.pythonhosted.org/packages/03/92/705fe8aca27678e01bbdd7738173b8e7df0088a2202c80352f664630d638/typing_extensions-3.7.4.1-py3-none-any.whl + sha256: cf8b63fedea4d89bab840ecbb93e75578af28f76f66c35889bd7065f5af88575 +- name: python3-appdirs + buildsystem: simple + build-commands: + - pip3 install --no-index --find-links="file://${PWD}" --prefix=${FLATPAK_DEST} + appdirs==1.4.3 + sources: + - type: file + url: https://files.pythonhosted.org/packages/56/eb/810e700ed1349edde4cbdc1b2a21e28cdf115f9faf263f6bbf8447c1abf3/appdirs-1.4.3-py2.py3-none-any.whl + sha256: d8b24664561d0d34ddfaec54636d502d7cea6e29c3eaf68f3df6180863e2166e +- name: python3-async-generator + buildsystem: simple + build-commands: + - pip3 install --no-index --find-links="file://${PWD}" --prefix=${FLATPAK_DEST} + async-generator==1.10 + sources: + - type: file + url: https://files.pythonhosted.org/packages/71/52/39d20e03abd0ac9159c162ec24b93fbcaa111e8400308f2465432495ca2b/async_generator-1.10-py3-none-any.whl + sha256: 01c7bf666359b4967d2cda0000cc2e4af16a0ae098cbffcb8472fb9e8ad6585b +- name: python3-async-timeout + buildsystem: simple + build-commands: + - pip3 install --no-index --find-links="file://${PWD}" --prefix=${FLATPAK_DEST} + async-timeout==3.0.1 + sources: + - type: file + url: https://files.pythonhosted.org/packages/e1/1e/5a4441be21b0726c4464f3f23c8b19628372f606755a9d2e46c187e65ec4/async_timeout-3.0.1-py3-none-any.whl + sha256: 4291ca197d287d274d0b6cb5d6f8f8f82d434ed288f962539ff18cc9012f9ea3 +- name: python3-atomicwrites + buildsystem: simple + build-commands: + - pip3 install --no-index --find-links="file://${PWD}" --prefix=${FLATPAK_DEST} + atomicwrites==1.3.0 + sources: + - type: file + url: https://files.pythonhosted.org/packages/52/90/6155aa926f43f2b2a22b01be7241be3bfd1ceaf7d0b3267213e8127d41f4/atomicwrites-1.3.0-py2.py3-none-any.whl + sha256: 03472c30eb2c5d1ba9227e4c2ca66ab8287fbfbbda3888aa93dc2e28fc6811b4 +- name: python3-attrs + buildsystem: simple + build-commands: + - pip3 install --no-index --find-links="file://${PWD}" --prefix=${FLATPAK_DEST} + attrs==19.3.0 + sources: + - type: file + url: https://files.pythonhosted.org/packages/a2/db/4313ab3be961f7a763066401fb77f7748373b6094076ae2bda2806988af6/attrs-19.3.0-py2.py3-none-any.whl + sha256: 08a96c641c3a74e44eb59afb61a24f2cb9f4d7188748e76ba4bb5edfa3cb7d1c +- name: python3-beautifulsoup4 + buildsystem: simple + build-commands: + - pip3 install --no-index --find-links="file://${PWD}" --prefix=${FLATPAK_DEST} + beautifulsoup4==4.8.2 + sources: + - type: file + url: https://files.pythonhosted.org/packages/05/cf/ea245e52f55823f19992447b008bcbb7f78efc5960d77f6c34b5b45b36dd/soupsieve-2.0-py2.py3-none-any.whl + sha256: fcd71e08c0aee99aca1b73f45478549ee7e7fc006d51b37bec9e9def7dc22b69 + - type: file + url: https://files.pythonhosted.org/packages/cb/a1/c698cf319e9cfed6b17376281bd0efc6bfc8465698f54170ef60a485ab5d/beautifulsoup4-4.8.2-py3-none-any.whl + sha256: 9fbb4d6e48ecd30bcacc5b63b94088192dcda178513b2ae3c394229f8911b887 +- name: python3-blist + buildsystem: simple + build-commands: + - pip3 install --no-index --find-links="file://${PWD}" --prefix=${FLATPAK_DEST} + blist==1.3.6 + sources: + - type: file + url: https://files.pythonhosted.org/packages/6b/a8/dca5224abe81ccf8db81f8a2ca3d63e7a5fa7a86adc198d4e268c67ce884/blist-1.3.6.tar.gz + sha256: 3a12c450b001bdf895b30ae818d4d6d3f1552096b8c995f0fe0c74bef04d1fc3 +- name: python3-cachetools + buildsystem: simple + build-commands: + - pip3 install --no-index --find-links="file://${PWD}" --prefix=${FLATPAK_DEST} + cachetools==4.0.0 + sources: + - type: file + url: https://files.pythonhosted.org/packages/08/6a/abf83cb951617793fd49c98cb9456860f5df66ff89883c8660aa0672d425/cachetools-4.0.0-py3-none-any.whl + sha256: b304586d357c43221856be51d73387f93e2a961598a9b6b6670664746f3b6c6c +- name: python3-cairocffi + buildsystem: simple + build-commands: + - pip3 install --no-index --find-links="file://${PWD}" --prefix=${FLATPAK_DEST} + cairocffi==1.1.0 + sources: + - type: file + url: https://files.pythonhosted.org/packages/0f/86/e19659527668d70be91d0369aeaa055b4eb396b0f387a4f92293a20035bd/pycparser-2.20.tar.gz + sha256: 2d475327684562c3a96cc71adf7dc8c4f0565175cf86b6d7a404ff4c771f15f0 + - type: file + url: https://files.pythonhosted.org/packages/05/54/3324b0c46340c31b909fcec598696aaec7ddc8c18a63f2db352562d3354c/cffi-1.14.0.tar.gz + sha256: 2d384f4a127a15ba701207f7639d94106693b6cd64173d6c8988e2c25f3ac2b6 + - type: file + url: https://files.pythonhosted.org/packages/ae/e7/d9c3a176ca4b02024debf82342dab36efadfc5776f9c8db077e8f6e71821/pycparser-2.20-py2.py3-none-any.whl + sha256: 7582ad22678f0fcd81102833f60ef8d0e57288b6b5fb00323d101be910e35705 + - type: file + url: https://files.pythonhosted.org/packages/f7/99/b3a2c6393563ccbe081ffcceb359ec27a6227792c5169604c1bd8128031a/cairocffi-1.1.0.tar.gz + sha256: f1c0c5878f74ac9ccb5d48b2601fcc75390c881ce476e79f4cfedd288b1b05db +- name: python3-CairoSVG + buildsystem: simple + build-commands: + - pip3 install --no-index --find-links="file://${PWD}" --prefix=${FLATPAK_DEST} + CairoSVG==2.4.2 + sources: + - type: file + url: https://files.pythonhosted.org/packages/0f/86/e19659527668d70be91d0369aeaa055b4eb396b0f387a4f92293a20035bd/pycparser-2.20.tar.gz + sha256: 2d475327684562c3a96cc71adf7dc8c4f0565175cf86b6d7a404ff4c771f15f0 + - type: file + url: https://files.pythonhosted.org/packages/0b/02/ae6ceac1baeda530866a85075641cec12989bd8d31af6d5ab4a3e8c92f47/webencodings-0.5.1.tar.gz + sha256: b36a1c245f2d304965eb4e0a82848379241dc04b865afcc4aab16748587e1923 + - type: file + url: https://files.pythonhosted.org/packages/05/54/3324b0c46340c31b909fcec598696aaec7ddc8c18a63f2db352562d3354c/cffi-1.14.0.tar.gz + sha256: 2d384f4a127a15ba701207f7639d94106693b6cd64173d6c8988e2c25f3ac2b6 + - type: file + url: https://files.pythonhosted.org/packages/0b/10/8332e2a40334292e584c88f24ebf1635c1704f77be50af73cccc7babdbb7/tinycss2-1.0.2.tar.gz + sha256: 6427d0e3faa0a5e0e8c9f6437e2de26148a7a197a8b0992789f23d9a802788cf + - type: file + url: https://files.pythonhosted.org/packages/39/47/f28067b187dd664d205f75b07dcc6e0e95703e134008a14814827eebcaab/Pillow-7.0.0.tar.gz + sha256: 4d9ed9a64095e031435af120d3c910148067087541131e82b3e8db302f4c8946 + - type: file + url: https://files.pythonhosted.org/packages/a4/5f/f8aa58ca0cf01cbcee728abc9d88bfeb74e95e6cb4334cfd5bed5673ea77/defusedxml-0.6.0.tar.gz + sha256: f684034d135af4c6cbb949b8a4d2ed61634515257a67299e5f940fbaa34377f5 + - type: file + url: https://files.pythonhosted.org/packages/03/37/0e28364d4c2bce998171199ab59650b3174c077ef2c8b6d4ff57aa47676a/cssselect2-0.3.0.tar.gz + sha256: 5c2716f06b5de93f701d5755a9666f2ee22cbcd8b4da8adddfc30095ffea3abc + - type: file + url: https://files.pythonhosted.org/packages/ba/46/24514db9c111f4d0b18bc050ff7204065ae9c89db6badcf283661528b329/CairoSVG-2.4.2.tar.gz + sha256: 4e668f96653326780036ebb0a9ff2bb59a8443d7bcfc51a14aab77b57a8e67ad + - type: file + url: https://files.pythonhosted.org/packages/ae/e7/d9c3a176ca4b02024debf82342dab36efadfc5776f9c8db077e8f6e71821/pycparser-2.20-py2.py3-none-any.whl + sha256: 7582ad22678f0fcd81102833f60ef8d0e57288b6b5fb00323d101be910e35705 + - type: file + url: https://files.pythonhosted.org/packages/f4/24/2a3e3df732393fed8b3ebf2ec078f05546de641fe1b667ee316ec1dcf3b7/webencodings-0.5.1-py2.py3-none-any.whl + sha256: a0af1213f3c2226497a97e2b3aa01a7e4bee4f403f95be16fc9acd2947514a78 + - type: file + url: https://files.pythonhosted.org/packages/f7/99/b3a2c6393563ccbe081ffcceb359ec27a6227792c5169604c1bd8128031a/cairocffi-1.1.0.tar.gz + sha256: f1c0c5878f74ac9ccb5d48b2601fcc75390c881ce476e79f4cfedd288b1b05db + - type: file + url: https://files.pythonhosted.org/packages/72/bb/9ad85eacc5f273b08bd5203a1d587479a93f27df9056e4e5f63276f4fd0e/cssselect2-0.3.0-py3-none-any.whl + sha256: 97d7d4234f846f9996d838964d38e13b45541c18143bc55cf00e4bc1281ace76 + - type: file + url: https://files.pythonhosted.org/packages/06/74/9b387472866358ebc08732de3da6dc48e44b0aacd2ddaa5cb85ab7e986a2/defusedxml-0.6.0-py2.py3-none-any.whl + sha256: 6687150770438374ab581bb7a1b327a847dd9c5749e396102de3fad4e8a3ef93 + - type: file + url: https://files.pythonhosted.org/packages/94/2c/4e501f9c351343c8ba10d70b5a7ca97cdab2690af043a6e52ada65b85b6b/tinycss2-1.0.2-py3-none-any.whl + sha256: 9fdacc0e22d344ddd2ca053837c133900fe820ae1222f63b79617490a498507a + - type: file + url: https://files.pythonhosted.org/packages/8e/3a/762f9272c20db092f4d537aaf364dd0770ecf8f7101b58c4e933e99ee2f6/CairoSVG-2.4.2-py3-none-any.whl + sha256: 9cb1df7e9bc60f75fb87f67940a8fb805aad544337a67a40b67c05cfe33711a2 +- name: python3-chardet + buildsystem: simple + build-commands: + - pip3 install --no-index --find-links="file://${PWD}" --prefix=${FLATPAK_DEST} + chardet==3.0.4 + sources: + - type: file + url: https://files.pythonhosted.org/packages/bc/a9/01ffebfb562e4274b6487b4bb1ddec7ca55ec7510b22e4c51f14098443b8/chardet-3.0.4-py2.py3-none-any.whl + sha256: fc323ffcaeaed0e0a02bf4d117757b98aed530d9ed4531e3e15460124c106691 +- name: python3-cssselect2 + buildsystem: simple + build-commands: + - pip3 install --no-index --find-links="file://${PWD}" --prefix=${FLATPAK_DEST} + cssselect2==0.3.0 + sources: + - type: file + url: https://files.pythonhosted.org/packages/94/2c/4e501f9c351343c8ba10d70b5a7ca97cdab2690af043a6e52ada65b85b6b/tinycss2-1.0.2-py3-none-any.whl + sha256: 9fdacc0e22d344ddd2ca053837c133900fe820ae1222f63b79617490a498507a + - type: file + url: https://files.pythonhosted.org/packages/f4/24/2a3e3df732393fed8b3ebf2ec078f05546de641fe1b667ee316ec1dcf3b7/webencodings-0.5.1-py2.py3-none-any.whl + sha256: a0af1213f3c2226497a97e2b3aa01a7e4bee4f403f95be16fc9acd2947514a78 + - type: file + url: https://files.pythonhosted.org/packages/72/bb/9ad85eacc5f273b08bd5203a1d587479a93f27df9056e4e5f63276f4fd0e/cssselect2-0.3.0-py3-none-any.whl + sha256: 97d7d4234f846f9996d838964d38e13b45541c18143bc55cf00e4bc1281ace76 +- name: python3-dataclasses + buildsystem: simple + build-commands: + - pip3 install --no-index --find-links="file://${PWD}" --prefix=${FLATPAK_DEST} + dataclasses==0.6 + sources: + - type: file + url: https://files.pythonhosted.org/packages/26/2f/1095cdc2868052dd1e64520f7c0d5c8c550ad297e944e641dbf1ffbb9a5d/dataclasses-0.6-py3-none-any.whl + sha256: 454a69d788c7fda44efd71e259be79577822f5e3f53f029a22d08004e951dc9f +- name: python3-defusedxml + buildsystem: simple + build-commands: + - pip3 install --no-index --find-links="file://${PWD}" --prefix=${FLATPAK_DEST} + defusedxml==0.6.0 + sources: + - type: file + url: https://files.pythonhosted.org/packages/06/74/9b387472866358ebc08732de3da6dc48e44b0aacd2ddaa5cb85ab7e986a2/defusedxml-0.6.0-py2.py3-none-any.whl + sha256: 6687150770438374ab581bb7a1b327a847dd9c5749e396102de3fad4e8a3ef93 +- name: python3-filetype + buildsystem: simple + build-commands: + - pip3 install --no-index --find-links="file://${PWD}" --prefix=${FLATPAK_DEST} + filetype==1.0.6 + sources: + - type: file + url: https://files.pythonhosted.org/packages/f1/ad/e1e0e85a2c2d02f634a9a400b4476f8187a634ee9d629df16f6432a6ed21/filetype-1.0.6-py2.py3-none-any.whl + sha256: fd6d0ec56820acccf8c9fb6c3ba7e04a302f6ff6c70bcc09daf4842ae9e2ac30 +- name: python3-future + buildsystem: simple + build-commands: + - pip3 install --no-index --find-links="file://${PWD}" --prefix=${FLATPAK_DEST} + future==0.18.2 + sources: + - type: file + url: https://files.pythonhosted.org/packages/45/0b/38b06fd9b92dc2b68d58b75f900e97884c45bedd2ff83203d933cf5851c9/future-0.18.2.tar.gz + sha256: b1bead90b70cf6ec3f0710ae53a525360fa360d306a86583adc6bf83a4db537d +- name: python3-h11 + buildsystem: simple + build-commands: + - pip3 install --no-index --find-links="file://${PWD}" --prefix=${FLATPAK_DEST} + h11==0.9.0 + sources: + - type: file + url: https://files.pythonhosted.org/packages/5a/fd/3dad730b0f95e78aeeb742f96fa7bbecbdd56a58e405d3da440d5bfb90c6/h11-0.9.0-py2.py3-none-any.whl + sha256: 4bc6d6a1238b7615b266ada57e0618568066f57dd6fa967d1290ec9309b2f2f1 +- name: python3-h2 + buildsystem: simple + build-commands: + - pip3 install --no-index --find-links="file://${PWD}" --prefix=${FLATPAK_DEST} + h2==3.2.0 + sources: + - type: file + url: https://files.pythonhosted.org/packages/19/0c/bf88182bcb5dce3094e2f3e4fe20db28a9928cb7bd5b08024030e4b140db/hyperframe-5.2.0-py2.py3-none-any.whl + sha256: 5187962cb16dcc078f23cb5a4b110098d546c3f41ff2d4038a9896893bbd0b40 + - type: file + url: https://files.pythonhosted.org/packages/8a/cc/e53517f4a1e13f74776ca93271caef378dadec14d71c61c949d759d3db69/hpack-3.0.0-py2.py3-none-any.whl + sha256: 0edd79eda27a53ba5be2dfabf3b15780928a0dff6eb0c60a3d6767720e970c89 + - type: file + url: https://files.pythonhosted.org/packages/25/de/da019bcc539eeab02f6d45836f23858ac467f584bfec7a526ef200242afe/h2-3.2.0-py2.py3-none-any.whl + sha256: 61e0f6601fa709f35cdb730863b4e5ec7ad449792add80d1410d4174ed139af5 +- name: python3-hpack + buildsystem: simple + build-commands: + - pip3 install --no-index --find-links="file://${PWD}" --prefix=${FLATPAK_DEST} + hpack==3.0.0 + sources: + - type: file + url: https://files.pythonhosted.org/packages/8a/cc/e53517f4a1e13f74776ca93271caef378dadec14d71c61c949d759d3db69/hpack-3.0.0-py2.py3-none-any.whl + sha256: 0edd79eda27a53ba5be2dfabf3b15780928a0dff6eb0c60a3d6767720e970c89 +- name: python3-html-sanitizer + buildsystem: simple + build-commands: + - pip3 install --no-index --find-links="file://${PWD}" --prefix=${FLATPAK_DEST} + html-sanitizer==1.9.0 + sources: + - type: file + url: https://files.pythonhosted.org/packages/15/53/3692c565aea19f7d9dd696fee3d0062782e9ad5bf9535267180511a15967/soupsieve-2.0.tar.gz + sha256: e914534802d7ffd233242b785229d5ba0766a7f487385e3f714446a07bf540ae + - type: file + url: https://files.pythonhosted.org/packages/52/ba/0e121661f529e7f456e903bf5c4d255b8051d8ce2b5e629c5212efe4c3f1/beautifulsoup4-4.8.2.tar.gz + sha256: 05fd825eb01c290877657a56df4c6e4c311b3965bda790c613a3d6fb01a5462a + - type: file + url: https://files.pythonhosted.org/packages/39/2b/0a66d5436f237aff76b91e68b4d8c041d145ad0a2cdeefe2c42f76ba2857/lxml-4.5.0.tar.gz + sha256: 8620ce80f50d023d414183bf90cc2576c2837b88e00bea3f33ad2630133bbb60 + - type: file + url: https://files.pythonhosted.org/packages/72/ff/88fbb7c46d359f7cbf1f8bc9f63379ed6b5e3940a9fda88f9cf5cedf24da/html-sanitizer-1.9.0.tar.gz + sha256: ef86b10c653b288dff4c51c0cc9cf93025c4c6a519a6e40eb1aa152861101929 + - type: file + url: https://files.pythonhosted.org/packages/05/cf/ea245e52f55823f19992447b008bcbb7f78efc5960d77f6c34b5b45b36dd/soupsieve-2.0-py2.py3-none-any.whl + sha256: fcd71e08c0aee99aca1b73f45478549ee7e7fc006d51b37bec9e9def7dc22b69 + - type: file + url: https://files.pythonhosted.org/packages/cb/a1/c698cf319e9cfed6b17376281bd0efc6bfc8465698f54170ef60a485ab5d/beautifulsoup4-4.8.2-py3-none-any.whl + sha256: 9fbb4d6e48ecd30bcacc5b63b94088192dcda178513b2ae3c394229f8911b887 + - type: file + url: https://files.pythonhosted.org/packages/0a/a5/ed03ad639853d467988582ddb879ebe386057fa6fcc6adb29752bd8f4cbf/html_sanitizer-1.9.0-py2.py3-none-any.whl + sha256: 8a2a43c9f8737675bf04dad817803b3a42fab7a1f8987d27433db7b2f1d8b34d +- name: python3-hyperframe + buildsystem: simple + build-commands: + - pip3 install --no-index --find-links="file://${PWD}" --prefix=${FLATPAK_DEST} + hyperframe==5.2.0 + sources: + - type: file + url: https://files.pythonhosted.org/packages/19/0c/bf88182bcb5dce3094e2f3e4fe20db28a9928cb7bd5b08024030e4b140db/hyperframe-5.2.0-py2.py3-none-any.whl + sha256: 5187962cb16dcc078f23cb5a4b110098d546c3f41ff2d4038a9896893bbd0b40 +- name: python3-idna + buildsystem: simple + build-commands: + - pip3 install --no-index --find-links="file://${PWD}" --prefix=${FLATPAK_DEST} + idna==2.9 + sources: + - type: file + url: https://files.pythonhosted.org/packages/89/e3/afebe61c546d18fb1709a61bee788254b40e736cff7271c7de5de2dc4128/idna-2.9-py2.py3-none-any.whl + sha256: a068a21ceac8a4d63dbfd964670474107f541babbd2250d61922f029858365fa +- name: python3-idna-ssl + buildsystem: simple + build-commands: + - pip3 install --no-index --find-links="file://${PWD}" --prefix=${FLATPAK_DEST} + idna-ssl==1.1.0 + sources: + - type: file + url: https://files.pythonhosted.org/packages/89/e3/afebe61c546d18fb1709a61bee788254b40e736cff7271c7de5de2dc4128/idna-2.9-py2.py3-none-any.whl + sha256: a068a21ceac8a4d63dbfd964670474107f541babbd2250d61922f029858365fa + - type: file + url: https://files.pythonhosted.org/packages/46/03/07c4894aae38b0de52b52586b24bf189bb83e4ddabfe2e2c8f2419eec6f4/idna-ssl-1.1.0.tar.gz + sha256: a933e3bb13da54383f9e8f35dc4f9cb9eb9b3b78c6b36f311254d6d0d92c6c7c +- name: python3-importlib-metadata + buildsystem: simple + build-commands: + - pip3 install --no-index --find-links="file://${PWD}" --prefix=${FLATPAK_DEST} + importlib-metadata==1.5.0 + sources: + - type: file + url: https://files.pythonhosted.org/packages/b2/34/bfcb43cc0ba81f527bc4f40ef41ba2ff4080e047acb0586b56b3d017ace4/zipp-3.1.0-py3-none-any.whl + sha256: aa36550ff0c0b7ef7fa639055d797116ee891440eac1a56f378e2d3179e0320b + - type: file + url: https://files.pythonhosted.org/packages/8b/03/a00d504808808912751e64ccf414be53c29cad620e3de2421135fcae3025/importlib_metadata-1.5.0-py2.py3-none-any.whl + sha256: b97607a1a18a5100839aec1dc26a1ea17ee0d93b20b0f008d80a5a050afb200b +- name: python3-jsonschema + buildsystem: simple + build-commands: + - pip3 install --no-index --find-links="file://${PWD}" --prefix=${FLATPAK_DEST} + jsonschema==3.2.0 + sources: + - type: file + url: https://files.pythonhosted.org/packages/b2/34/bfcb43cc0ba81f527bc4f40ef41ba2ff4080e047acb0586b56b3d017ace4/zipp-3.1.0-py3-none-any.whl + sha256: aa36550ff0c0b7ef7fa639055d797116ee891440eac1a56f378e2d3179e0320b + - type: file + url: https://files.pythonhosted.org/packages/65/eb/1f97cb97bfc2390a276969c6fae16075da282f5058082d4cb10c6c5c1dba/six-1.14.0-py2.py3-none-any.whl + sha256: 8f3cd2e254d8f793e7f3d6d9df77b92252b52637291d0f0da013c76ea2724b6c + - type: file + url: https://files.pythonhosted.org/packages/8b/03/a00d504808808912751e64ccf414be53c29cad620e3de2421135fcae3025/importlib_metadata-1.5.0-py2.py3-none-any.whl + sha256: b97607a1a18a5100839aec1dc26a1ea17ee0d93b20b0f008d80a5a050afb200b + - type: file + url: https://files.pythonhosted.org/packages/a2/db/4313ab3be961f7a763066401fb77f7748373b6094076ae2bda2806988af6/attrs-19.3.0-py2.py3-none-any.whl + sha256: 08a96c641c3a74e44eb59afb61a24f2cb9f4d7188748e76ba4bb5edfa3cb7d1c + - type: file + url: https://files.pythonhosted.org/packages/9f/0d/cbca4d0bbc5671822a59f270e4ce3f2195f8a899c97d0d5abb81b191efb5/pyrsistent-0.16.0.tar.gz + sha256: 28669905fe725965daa16184933676547c5bb40a5153055a8dee2a4bd7933ad3 + - type: file + url: https://files.pythonhosted.org/packages/c5/8f/51e89ce52a085483359217bc72cdbf6e75ee595d5b1d4b5ade40c7e018b8/jsonschema-3.2.0-py2.py3-none-any.whl + sha256: 4e5b3cf8216f577bee9ce139cbe72eca3ea4f292ec60928ff24758ce626cd163 +- name: python3-Logbook + buildsystem: simple + build-commands: + - pip3 install --no-index --find-links="file://${PWD}" --prefix=${FLATPAK_DEST} + Logbook==1.5.3 + sources: + - type: file + url: https://files.pythonhosted.org/packages/2f/d9/16ac346f7c0102835814cc9e5b684aaadea101560bb932a2403bd26b2320/Logbook-1.5.3.tar.gz + sha256: 66f454ada0f56eae43066f604a222b09893f98c1adc18df169710761b8f32fe8 +- name: python3-lxml + buildsystem: simple + build-commands: + - pip3 install --no-index --find-links="file://${PWD}" --prefix=${FLATPAK_DEST} + lxml==4.5.0 + sources: + - type: file + url: https://files.pythonhosted.org/packages/39/2b/0a66d5436f237aff76b91e68b4d8c041d145ad0a2cdeefe2c42f76ba2857/lxml-4.5.0.tar.gz + sha256: 8620ce80f50d023d414183bf90cc2576c2837b88e00bea3f33ad2630133bbb60 +- name: python3-mistune + buildsystem: simple + build-commands: + - pip3 install --no-index --find-links="file://${PWD}" --prefix=${FLATPAK_DEST} + mistune==0.8.4 + sources: + - type: file + url: https://files.pythonhosted.org/packages/09/ec/4b43dae793655b7d8a25f76119624350b4d65eb663459eb9603d7f1f0345/mistune-0.8.4-py2.py3-none-any.whl + sha256: 88a1051873018da288eee8538d476dffe1262495144b33ecb586c4ab266bb8d4 +- name: python3-peewee + buildsystem: simple + build-commands: + - pip3 install --no-index --find-links="file://${PWD}" --prefix=${FLATPAK_DEST} + peewee==3.13.1 + sources: + - type: file + url: https://files.pythonhosted.org/packages/d4/30/0083f0e484902d118927236497c5f55c14a46c2a0e1b95083d26e5608371/peewee-3.13.1.tar.gz + sha256: 9492af4d1f8e18a7fa0e930960315b38931286ea0f1659bbd5503456cffdacde +- name: python3-Pillow + buildsystem: simple + build-commands: + - pip3 install --no-index --find-links="file://${PWD}" --prefix=${FLATPAK_DEST} + Pillow==7.0.0 + sources: + - type: file + url: https://files.pythonhosted.org/packages/39/47/f28067b187dd664d205f75b07dcc6e0e95703e134008a14814827eebcaab/Pillow-7.0.0.tar.gz + sha256: 4d9ed9a64095e031435af120d3c910148067087541131e82b3e8db302f4c8946 +- name: python3-pycparser + buildsystem: simple + build-commands: + - pip3 install --no-index --find-links="file://${PWD}" --prefix=${FLATPAK_DEST} + pycparser==2.20 + sources: + - type: file + url: https://files.pythonhosted.org/packages/ae/e7/d9c3a176ca4b02024debf82342dab36efadfc5776f9c8db077e8f6e71821/pycparser-2.20-py2.py3-none-any.whl + sha256: 7582ad22678f0fcd81102833f60ef8d0e57288b6b5fb00323d101be910e35705 +- name: python3-pycryptodome + buildsystem: simple + build-commands: + - pip3 install --no-index --find-links="file://${PWD}" --prefix=${FLATPAK_DEST} + pycryptodome==3.9.7 + sources: + - type: file + url: https://files.pythonhosted.org/packages/69/2a/298b2689bee8e88c502c7e85ba1c9f07c7e182ea91c705c449f693056c9f/pycryptodome-3.9.7.tar.gz + sha256: f1add21b6d179179b3c177c33d18a2186a09cc0d3af41ff5ed3f377360b869f2 +- name: python3-pyfastcopy + buildsystem: simple + build-commands: + - pip3 install --no-index --find-links="file://${PWD}" --prefix=${FLATPAK_DEST} + pyfastcopy==1.0.3 + sources: + - type: file + url: https://files.pythonhosted.org/packages/43/80/535d6b3de415e26d0a1cb774c6895dd07aa5986d2f8bde200393bd916790/pyfastcopy-1.0.3.tar.gz + sha256: ed4620f1087a8949888973e315d3d59fbe9b8cc4ca5df553d76d2f21d2748999 +- name: python3-pymediainfo + buildsystem: simple + build-commands: + - pip3 install --no-index --find-links="file://${PWD}" --prefix=${FLATPAK_DEST} + pymediainfo==4.1 + sources: + - type: file + url: https://files.pythonhosted.org/packages/97/87/1a79ccbf656392b3053d667dbf903b183d55ecf13cb6439293a700a8de00/pymediainfo-4.1.tar.gz + sha256: ed6a8f3dcd255895021d40d1299be333a1bead3dbe8df4cbe1a863ba8fee1756 +- name: python3-pyrsistent + buildsystem: simple + build-commands: + - pip3 install --no-index --find-links="file://${PWD}" --prefix=${FLATPAK_DEST} + pyrsistent==0.16.0 + sources: + - type: file + url: https://files.pythonhosted.org/packages/65/eb/1f97cb97bfc2390a276969c6fae16075da282f5058082d4cb10c6c5c1dba/six-1.14.0-py2.py3-none-any.whl + sha256: 8f3cd2e254d8f793e7f3d6d9df77b92252b52637291d0f0da013c76ea2724b6c + - type: file + url: https://files.pythonhosted.org/packages/9f/0d/cbca4d0bbc5671822a59f270e4ce3f2195f8a899c97d0d5abb81b191efb5/pyrsistent-0.16.0.tar.gz + sha256: 28669905fe725965daa16184933676547c5bb40a5153055a8dee2a4bd7933ad3 +- name: python3-python-olm + buildsystem: simple + build-commands: + - pip3 install --no-index --find-links="file://${PWD}" --prefix=${FLATPAK_DEST} + python-olm==3.1.3 + sources: + - type: file + url: https://files.pythonhosted.org/packages/0f/86/e19659527668d70be91d0369aeaa055b4eb396b0f387a4f92293a20035bd/pycparser-2.20.tar.gz + sha256: 2d475327684562c3a96cc71adf7dc8c4f0565175cf86b6d7a404ff4c771f15f0 + - type: file + url: https://files.pythonhosted.org/packages/05/54/3324b0c46340c31b909fcec598696aaec7ddc8c18a63f2db352562d3354c/cffi-1.14.0.tar.gz + sha256: 2d384f4a127a15ba701207f7639d94106693b6cd64173d6c8988e2c25f3ac2b6 + - type: file + url: https://files.pythonhosted.org/packages/ae/e7/d9c3a176ca4b02024debf82342dab36efadfc5776f9c8db077e8f6e71821/pycparser-2.20-py2.py3-none-any.whl + sha256: 7582ad22678f0fcd81102833f60ef8d0e57288b6b5fb00323d101be910e35705 + - type: file + url: https://files.pythonhosted.org/packages/45/0b/38b06fd9b92dc2b68d58b75f900e97884c45bedd2ff83203d933cf5851c9/future-0.18.2.tar.gz + sha256: b1bead90b70cf6ec3f0710ae53a525360fa360d306a86583adc6bf83a4db537d + - type: file + url: https://files.pythonhosted.org/packages/d4/a4/1face47e65118d7c52726dfa305410a96bc4a0c6f3f99c90bc7104aebf21/python-olm-3.1.3.tar.gz + sha256: 9a6c6133ce3777788c88e3f18b13c5b36a2f76ed1a0e774d1a48adf542fee871 +- name: python3-soupsieve + buildsystem: simple + build-commands: + - pip3 install --no-index --find-links="file://${PWD}" --prefix=${FLATPAK_DEST} + soupsieve==2.0 + sources: + - type: file + url: https://files.pythonhosted.org/packages/05/cf/ea245e52f55823f19992447b008bcbb7f78efc5960d77f6c34b5b45b36dd/soupsieve-2.0-py2.py3-none-any.whl + sha256: fcd71e08c0aee99aca1b73f45478549ee7e7fc006d51b37bec9e9def7dc22b69 +- name: python3-tinycss2 + buildsystem: simple + build-commands: + - pip3 install --no-index --find-links="file://${PWD}" --prefix=${FLATPAK_DEST} + tinycss2==1.0.2 + sources: + - type: file + url: https://files.pythonhosted.org/packages/f4/24/2a3e3df732393fed8b3ebf2ec078f05546de641fe1b667ee316ec1dcf3b7/webencodings-0.5.1-py2.py3-none-any.whl + sha256: a0af1213f3c2226497a97e2b3aa01a7e4bee4f403f95be16fc9acd2947514a78 + - type: file + url: https://files.pythonhosted.org/packages/94/2c/4e501f9c351343c8ba10d70b5a7ca97cdab2690af043a6e52ada65b85b6b/tinycss2-1.0.2-py3-none-any.whl + sha256: 9fdacc0e22d344ddd2ca053837c133900fe820ae1222f63b79617490a498507a +- name: python3-typing-extensions + buildsystem: simple + build-commands: + - pip3 install --no-index --find-links="file://${PWD}" --prefix=${FLATPAK_DEST} + typing-extensions==3.7.4.1 + sources: + - type: file + url: https://files.pythonhosted.org/packages/03/92/705fe8aca27678e01bbdd7738173b8e7df0088a2202c80352f664630d638/typing_extensions-3.7.4.1-py3-none-any.whl + sha256: cf8b63fedea4d89bab840ecbb93e75578af28f76f66c35889bd7065f5af88575 +- name: python3-unpaddedbase64 + buildsystem: simple + build-commands: + - pip3 install --no-index --find-links="file://${PWD}" --prefix=${FLATPAK_DEST} + unpaddedbase64==1.1.0 + sources: + - type: file + url: https://files.pythonhosted.org/packages/96/da/2ebf30d2fdf0f4dc949b4935e408aaa9cca948963e55ea3c99730b1f74c0/unpaddedbase64-1.1.0-py2.py3-none-any.whl + sha256: 81cb4eaaa28cc6a282dd3f2c3855eaa1fbaafa736b5ee64df69889e20540a339 +- name: python3-uvloop + buildsystem: simple + build-commands: + - pip3 install --no-index --find-links="file://${PWD}" --prefix=${FLATPAK_DEST} + uvloop==0.14.0 + sources: + - type: file + url: https://files.pythonhosted.org/packages/84/2e/462e7a25b787d2b40cf6c9864a9e702f358349fc9cfb77e83c38acb73048/uvloop-0.14.0.tar.gz + sha256: 123ac9c0c7dd71464f58f1b4ee0bbd81285d96cdda8bc3519281b8973e3a461e +- name: python3-webencodings + buildsystem: simple + build-commands: + - pip3 install --no-index --find-links="file://${PWD}" --prefix=${FLATPAK_DEST} + webencodings==0.5.1 + sources: + - type: file + url: https://files.pythonhosted.org/packages/f4/24/2a3e3df732393fed8b3ebf2ec078f05546de641fe1b667ee316ec1dcf3b7/webencodings-0.5.1-py2.py3-none-any.whl + sha256: a0af1213f3c2226497a97e2b3aa01a7e4bee4f403f95be16fc9acd2947514a78 +- name: python3-yarl + buildsystem: simple + build-commands: + - pip3 install --no-index --find-links="file://${PWD}" --prefix=${FLATPAK_DEST} + yarl==1.4.2 + sources: + - type: file + url: https://files.pythonhosted.org/packages/cb/19/57503b5de719ee45e83472f339f617b0c01ad75cba44aba1e4c97c2b0abd/idna-2.9.tar.gz + sha256: 7588d1c14ae4c77d74036e8c22ff447b26d0fde8f007354fd48a7814db15b7cb + - type: file + url: https://files.pythonhosted.org/packages/61/b4/475114b3f1671da634f89239e61038f8742d9ac13aa34b32a05bf8022d22/multidict-4.7.5.tar.gz + sha256: aee283c49601fa4c13adc64c09c978838a7e812f85377ae130a24d7198c0331e + - type: file + url: https://files.pythonhosted.org/packages/d6/67/6e2507586eb1cfa6d55540845b0cd05b4b77c414f6bca8b00b45483b976e/yarl-1.4.2.tar.gz + sha256: 58cd9c469eced558cd81aa3f484b2924e8897049e06889e8ff2510435b7ef74b + - type: file + url: https://files.pythonhosted.org/packages/89/e3/afebe61c546d18fb1709a61bee788254b40e736cff7271c7de5de2dc4128/idna-2.9-py2.py3-none-any.whl + sha256: a068a21ceac8a4d63dbfd964670474107f541babbd2250d61922f029858365fa +- name: python3-zipp + buildsystem: simple + build-commands: + - pip3 install --no-index --find-links="file://${PWD}" --prefix=${FLATPAK_DEST} + zipp==3.1.0 + sources: + - type: file + url: https://files.pythonhosted.org/packages/b2/34/bfcb43cc0ba81f527bc4f40ef41ba2ff4080e047acb0586b56b3d017ace4/zipp-3.1.0-py3-none-any.whl + sha256: aa36550ff0c0b7ef7fa639055d797116ee891440eac1a56f378e2d3179e0320b +- name: python3-matrix-nio + buildsystem: simple + build-commands: + - pip3 install --prefix=${FLATPAK_DEST} . + sources: + - type: git + url: https://github.com/mirukana/matrix-nio.git + commit: ee2a90da2f1d7ce12df7153dd944fffdaf978787 +- name: mirage + buildsystem: qmake + sources: + - type: dir + path: ../.. diff --git a/packaging/flatpak/requirements.flatpak.txt b/packaging/flatpak/requirements.flatpak.txt new file mode 100644 index 00000000..07199972 --- /dev/null +++ b/packaging/flatpak/requirements.flatpak.txt @@ -0,0 +1,5 @@ +multidict == 4.5.2 +uvloop == 0.14.0 + +pytest-runner +setuptools-scm