From cf93bb11d6abb96feb0c9c979eb87f41b282b809 Mon Sep 17 00:00:00 2001 From: Dylan Baker Date: Fri, 21 Aug 2026 14:35:58 +0000 Subject: [PATCH 1/3] data: Delete runtime data This is moving to it's own repo --- ...github.dcbaker.flatpaker.RPGM.Platform.yml | 26 -- ...thub.dcbaker.flatpaker.RenPy.7.py2.Sdk.yml | 74 ------ ...thub.dcbaker.flatpaker.RenPy.7.py3.Sdk.yml | 83 ------ ...m.github.dcbaker.flatpaker.RenPy.8.Sdk.yml | 116 --------- flatpaker/data/files/00enabledebug.rpy | 3 - flatpaker/data/files/renpy.py | 130 ---------- flatpaker/data/modules/python-2.7.json | 60 ----- .../data/modules/python2-requirements.json | 180 ------------- .../data/modules/python3-requirements.json | 140 ---------- flatpaker/data/modules/renpy-shared.yml | 85 ------ flatpaker/data/modules/sdl2.json | 48 ---- .../patches/ftgl-disable-docs-demos.patch | 11 - .../data/patches/ftgl-fix-illegal-cast.patch | 11 - .../patches/icns-add-missing-headers.patch | 244 ------------------ .../data/patches/icoutils-fix-iterators.patch | 134 ---------- .../pygame-sdl2-7-install-headers.patch | 22 -- .../pygame-sdl2-7-remove-pathlib.patch | 28 -- .../pygame-sdl2-7-use-correct-cython.patch | 14 - .../pygame-sdl2-fix-header-install-path.patch | 17 -- .../patches/renpy-7-fix-styles-dirname.patch | 12 - flatpaker/data/patches/renpy-ffmpeg-7.patch | 105 -------- .../patches/renpy-setuplib-fix-paths.patch | 11 - pyproject.toml | 1 - 23 files changed, 1555 deletions(-) delete mode 100644 flatpaker/data/com.github.dcbaker.flatpaker.RPGM.Platform.yml delete mode 100644 flatpaker/data/com.github.dcbaker.flatpaker.RenPy.7.py2.Sdk.yml delete mode 100644 flatpaker/data/com.github.dcbaker.flatpaker.RenPy.7.py3.Sdk.yml delete mode 100644 flatpaker/data/com.github.dcbaker.flatpaker.RenPy.8.Sdk.yml delete mode 100644 flatpaker/data/files/00enabledebug.rpy delete mode 100755 flatpaker/data/files/renpy.py delete mode 100644 flatpaker/data/modules/python-2.7.json delete mode 100644 flatpaker/data/modules/python2-requirements.json delete mode 100644 flatpaker/data/modules/python3-requirements.json delete mode 100644 flatpaker/data/modules/renpy-shared.yml delete mode 100644 flatpaker/data/modules/sdl2.json delete mode 100644 flatpaker/data/patches/ftgl-disable-docs-demos.patch delete mode 100644 flatpaker/data/patches/ftgl-fix-illegal-cast.patch delete mode 100644 flatpaker/data/patches/icns-add-missing-headers.patch delete mode 100644 flatpaker/data/patches/icoutils-fix-iterators.patch delete mode 100644 flatpaker/data/patches/pygame-sdl2-7-install-headers.patch delete mode 100644 flatpaker/data/patches/pygame-sdl2-7-remove-pathlib.patch delete mode 100644 flatpaker/data/patches/pygame-sdl2-7-use-correct-cython.patch delete mode 100644 flatpaker/data/patches/pygame-sdl2-fix-header-install-path.patch delete mode 100644 flatpaker/data/patches/renpy-7-fix-styles-dirname.patch delete mode 100644 flatpaker/data/patches/renpy-ffmpeg-7.patch delete mode 100644 flatpaker/data/patches/renpy-setuplib-fix-paths.patch diff --git a/flatpaker/data/com.github.dcbaker.flatpaker.RPGM.Platform.yml b/flatpaker/data/com.github.dcbaker.flatpaker.RPGM.Platform.yml deleted file mode 100644 index b023886..0000000 --- a/flatpaker/data/com.github.dcbaker.flatpaker.RPGM.Platform.yml +++ /dev/null @@ -1,26 +0,0 @@ -build-runtime: true -id: com.github.dcbaker.flatpaker.RPGM.Platform -runtime-version: "25.08" -runtime: org.freedesktop.Platform -sdk: org.freedesktop.Sdk -inherit-extensions: - - "org.freedesktop.Platform.GL" - - "org.freedesktop.Platform.VAAPI.Intel" - - "org.freedesktop.Platform.VAAPI.nvidia" -modules: - - name: "nwjs" - buildsystem: "simple" - sources: - - type: "archive" - url: "https://dl.nwjs.io/v0.114.1/nwjs-v0.114.1-linux-x64.tar.gz" - sha256: "35e53de9b37edf8a0cd77068d74728bcd470ae6569f88a4a15b97d27647635db" - only_arches: - - x86_64 - - type: "archive" - url: "https://dl.nwjs.io/v0.114.1/nwjs-v0.114.1-linux-arm64.tar.gz" - sha256: "40befc36553e189151a3d89481da2aa02b1d250df447f57020e142e1953090ff" - only_arches: - - aarch64 - build-commands: - - "mkdir /usr/lib/nwjs" - - "mv * /usr/lib/nwjs/" diff --git a/flatpaker/data/com.github.dcbaker.flatpaker.RenPy.7.py2.Sdk.yml b/flatpaker/data/com.github.dcbaker.flatpaker.RenPy.7.py2.Sdk.yml deleted file mode 100644 index 1266564..0000000 --- a/flatpaker/data/com.github.dcbaker.flatpaker.RenPy.7.py2.Sdk.yml +++ /dev/null @@ -1,74 +0,0 @@ -build-runtime: true -id: com.github.dcbaker.flatpaker.RenPy.Sdk -id-platform: com.github.dcbaker.flatpaker.RenPy.Platform -branch: "7" -runtime-version: "25.08" -runtime: org.freedesktop.Platform -sdk: org.freedesktop.Sdk -inherit-extensions: - - "org.freedesktop.Platform.GL" - - "org.freedesktop.Platform.VAAPI.Intel" -modules: - - "modules/renpy-shared.yml" - - "modules/python-2.7.json" - - "modules/python2-requirements.json" - - "modules/sdl2.json" - - name: PyGame_SDL2 - buildsystem: simple - build-commands: - - pip2 install --prefix=${FLATPAK_DEST} --no-deps . - sources: - - type: archive - url: https://www.renpy.org/dl/7.8.7/pygame_sdl2-2.1.0+renpy7.8.7.tar.gz - sha256: 8103b73e32604456db3950d4729982cd3243413a651014d06fc8196365ede37a - - type: patch - path: patches/pygame-sdl2-7-remove-pathlib.patch - - type: patch - path: patches/pygame-sdl2-7-install-headers.patch - - name: RenPy - buildsystem: simple - build-commands: - - RENPY_DEPS_INSTALL="${FLATPAK_DEST}" python2 module/setup.py install --prefix=${FLATPAK_DEST} || exit 1 - - # If this is initialized it tries to write files into a readonly location - # and causes a crash. It's also not useful since there is no steam in the - # sandbox - - rm renpy/common/00steam.rpy* || true - - - mv 00enabledebug.rpy renpy/common/ - - # TODO: calculate where site packages is instead of hardocding - - cp -rv renpy ${FLATPAK_DEST}/lib/python2.7/site-packages || exit 1 - - python -m compileall ${FLATPAK_DEST}/lib/python2.7/site-packages/renpy || exit 1 - - sed -i s@python3@python2@g renpy-bin || exit 1 - - install -Dm755 renpy-bin -t ${FLATPAK_DEST}/bin/ || exit 1 - - # the renpy script gets mad that /app/lib/game doesn't exist, use the - # demo game as we need something complex enough to get the compile script - # to compile everything - # renpy-bin needs the extra fake arguments - - | - mkdir -p /app/lib/game/ || exit 1 - mv the_question /app/lib/game/game || exit 1 - pushd ${FLATPAK_DEST}/lib/python2.7/site-packages/renpy || exit 1 - ${FLATPAK_DEST}/bin/renpy-bin 'dummy' 'dummy' "/app/lib/game" compile || exit 1 - popd - rm -r /app/lib/game || exit 1 - sources: - - type: archive - url: https://www.renpy.org/dl/7.8.7/renpy-7.8.7-source.tar.bz2 - sha256: 6f4968fccb473432276bbc1e3379ffe4ff765653f142ac15622ab7c720a09fdb - - type: patch - path: patches/renpy-setuplib-fix-paths.patch - - type: patch - path: patches/renpy-ffmpeg-7.patch - - type: patch - path: patches/renpy-7-fix-styles-dirname.patch - - type: file - path: files/renpy.py - dest-filename: renpy-bin - - type: file - path: files/00enabledebug.rpy - cleanup: - - /app - diff --git a/flatpaker/data/com.github.dcbaker.flatpaker.RenPy.7.py3.Sdk.yml b/flatpaker/data/com.github.dcbaker.flatpaker.RenPy.7.py3.Sdk.yml deleted file mode 100644 index d39988e..0000000 --- a/flatpaker/data/com.github.dcbaker.flatpaker.RenPy.7.py3.Sdk.yml +++ /dev/null @@ -1,83 +0,0 @@ -build-runtime: true -id: com.github.dcbaker.flatpaker.RenPy.Sdk -id-platform: com.github.dcbaker.flatpaker.RenPy.Platform -branch: "7-PY3" -runtime-version: "24.08" -runtime: org.freedesktop.Platform -sdk: org.freedesktop.Sdk -inherit-extensions: - - "org.freedesktop.Platform.GL" - - "org.freedesktop.Platform.VAAPI.Intel" -modules: - - "modules/renpy-shared.yml" - - "modules/python3-requirements.json" - - name: "python3-cython0" - buildsystem: "simple" - build-commands: - - pip3 install --prefix=${FLATPAK_DEST} --no-deps . --verbose --exists-action=i --no-index --no-build-isolation - sources: - - type: "git" - url: "https://github.com/dcbaker/cython.git" - branch: "cython0" - cleanup-platform: - - '*' - - name: PyGame_SDL2 - buildsystem: simple - build-commands: - - pip3 install --prefix=${FLATPAK_DEST} --no-deps . --exists-action=i --no-index --no-build-isolation - sources: - - type: archive - url: https://www.renpy.org/dl/7.8.7/pygame_sdl2-2.1.0+renpy7.8.7.tar.gz - sha256: 8103b73e32604456db3950d4729982cd3243413a651014d06fc8196365ede37a - - type: patch - path: patches/pygame-sdl2-7-use-correct-cython.patch - - type: patch - path: patches/pygame-sdl2-7-remove-pathlib.patch - - type: patch - path: patches/pygame-sdl2-7-install-headers.patch - - name: RenPy - buildsystem: simple - build-commands: - - RENPY_CYTHON=cython0 RENPY_DEPS_INSTALL="${FLATPAK_DEST}" pip3 install --prefix=${FLATPAK_DEST} --no-deps ./module --exists-action=i --no-index --no-build-isolation || exit 1 - - # If this is initialized it tries to write files into a readonly location - # and causes a crash It's also not useful since there is no steam in the - # sandbox - - rm renpy/common/00steam.rpy* || true - - - mv 00enabledebug.rpy renpy/common/ - - # TODO: calculate where site packages is instead of hardocding - - cp -rv renpy ${FLATPAK_DEST}/lib/python3.12/site-packages || exit 1 - - python -m compileall ${FLATPAK_DEST}/lib/python3.12/site-packages/renpy || exit 1 - - install -Dm755 renpy-bin -t ${FLATPAK_DEST}/bin/ || exit 1 - - # the renpy script gets mad that /app/lib/game doesn't exist, use the - # demo game as we need something complex enough to get the compile script - # to compile everything - # renpy-bin needs the extra fake arguments - - | - mkdir -p /app/lib/game/ || exit 1 - mv the_question /app/lib/game/game || exit 1 - pushd ${FLATPAK_DEST}/lib/python3.12/site-packages/renpy || exit 1 - ${FLATPAK_DEST}/bin/renpy-bin 'dummy' 'dummy' "/app/lib/game" compile || exit 1 - popd - rm -r /app/lib/game || exit 1 - sources: - - type: archive - url: https://www.renpy.org/dl/7.8.7/renpy-7.8.7-source.tar.bz2 - sha256: 6f4968fccb473432276bbc1e3379ffe4ff765653f142ac15622ab7c720a09fdb - - type: patch - path: patches/renpy-setuplib-fix-paths.patch - - type: patch - path: patches/renpy-ffmpeg-7.patch - - type: patch - path: patches/renpy-7-fix-styles-dirname.patch - - type: file - path: files/renpy.py - dest-filename: renpy-bin - - type: file - path: files/00enabledebug.rpy - cleanup: - - /app - diff --git a/flatpaker/data/com.github.dcbaker.flatpaker.RenPy.8.Sdk.yml b/flatpaker/data/com.github.dcbaker.flatpaker.RenPy.8.Sdk.yml deleted file mode 100644 index 3a3f62a..0000000 --- a/flatpaker/data/com.github.dcbaker.flatpaker.RenPy.8.Sdk.yml +++ /dev/null @@ -1,116 +0,0 @@ -build-runtime: true -id: com.github.dcbaker.flatpaker.RenPy.Sdk -id-platform: com.github.dcbaker.flatpaker.RenPy.Platform -branch: "8" -runtime-version: "25.08" -runtime: org.freedesktop.Platform -sdk: org.freedesktop.Sdk -inherit-extensions: - - "org.freedesktop.Platform.GL" - - "org.freedesktop.Platform.VAAPI.Intel" - - "org.freedesktop.Platform.VAAPI.nvidia" -modules: - - "modules/renpy-shared.yml" - - "modules/python3-requirements.json" - - "modules/sdl2.json" - - name: assimp - buildsystem: cmake-ninja - config-opts: - - "-DASSIMP_BUILD_SAMPLES=OFF" - - "-DASSIMP_WARNINGS_AS_ERRORS=OFF" - - "-DASSIMP_BUILD_ASSIMP_TOOLS=OFF" - - "-DASSIMP_BUILD_ZLIB=OFF" - cleanup-platform: - - "/include" - - "/lib/*/cmake" - - "/lib/*/pkgconfig" - sources: - - type: "archive" - url: "https://github.com/assimp/assimp/archive/refs/tags/v6.0.5.tar.gz" - sha256: "edf3749559c2b7d1f758ffb66fc5bec62186221e623b7f2e8969f17ee46ecb6f" - - name: glu - buildsystem: meson - sources: - - type: archive - url: https://archive.mesa3d.org/glu/glu-9.0.3.tar.xz - sha256: bd43fe12f374b1192eb15fe20e45ff456b9bc26ab57f0eee919f96ca0f8a330f - cleanup: - - "/include" - - "/lib/*/*.a" - - "/lib/*/*.la" - - "/lib/*/pkgconfig" - - name: "ftgl" - buildsystem: "autotools" - config-opts: - - "--with-pic" - - "--disable-static" - cleanup: - - "/share" - - "/lib/*.la" - cleanup-platform: - - "/include" - - "/lib/*/cmake" - - "/lib/*/pkgconfig" - - "/lib/*/*.a" - sources: - - type: "git" - url: "https://github.com/frankheckenbach/ftgl" - commit: "483639219095ad080538e07ceb5996de901d4e74" - - type: "patch" - path: "patches/ftgl-disable-docs-demos.patch" - - type: "patch" - path: "patches/ftgl-fix-illegal-cast.patch" - - name: PyGame_SDL2 - buildsystem: simple - build-commands: - - pip3 install --prefix=${FLATPAK_DEST} --no-deps . --exists-action=i --no-index --no-build-isolation - sources: - - type: archive - url: "https://www.renpy.org/dl/8.4.1/pygame_sdl2-2.1.0+renpy8.4.1.tar.gz" - sha256: "ac05762de19f2799784f23f474170b2dab0b63018b8b151291d6dc8afb8b93f8" - - type: patch - path: patches/pygame-sdl2-fix-header-install-path.patch - - name: RenPy - buildsystem: simple - build-commands: - - RENPY_DEPS_INSTALL="${FLATPAK_DEST}" CFLAGS="$CFLAGS $(pkg-config --cflags sdl2 ftgl)" pip3 install --prefix=${FLATPAK_DEST} --no-deps . --exists-action=i --no-index --no-build-isolation || exit 1 - - # If this is initialized it tries to write files into a readonly location - # and causes a crash It's also not useful since there is no steam in the - # sandbox - - rm renpy/common/00steam.rpy* || true - - - mv 00enabledebug.rpy renpy/common/ - - # TODO: calculate where site packages is instead of hardocding - - cp -rv renpy ${FLATPAK_DEST}/lib/python3.13/site-packages || exit 1 - - python -m compileall ${FLATPAK_DEST}/lib/python3.13/site-packages/renpy || exit 1 - - install -Dm755 renpy-bin -t ${FLATPAK_DEST}/bin/ || exit 1 - - # the renpy script gets mad that /app/lib/game doesn't exist, use the - # demo game as we need something complex enough to get the compile script - # to compile everything - # renpy-bin needs the extra fake arguments - - | - mkdir -p /app/lib/game/ || exit 1 - mv the_question /app/lib/game/game || exit 1 - pushd ${FLATPAK_DEST}/lib/python3.13/site-packages/renpy || exit 1 - ${FLATPAK_DEST}/bin/renpy-bin 'dummy' 'dummy' "/app/lib/game" compile || exit 1 - popd - rm -r /app/lib/game || exit 1 - sources: - - type: archive - url: "https://www.renpy.org/dl/8.4.1/renpy-8.4.1-source.tar.bz2" - sha256: "29e185b090a59a2415beeaf29e4067471dfc5d4ff296eb53b63d3954e171f2a1" - # - type: patch - # path: patches/renpy-setuplib-fix-paths.patch - # - type: patch - # path: patches/renpy-ffmpeg-7.patch - - type: file - path: files/renpy.py - dest-filename: renpy-bin - - type: file - path: files/00enabledebug.rpy - cleanup: - - /app - diff --git a/flatpaker/data/files/00enabledebug.rpy b/flatpaker/data/files/00enabledebug.rpy deleted file mode 100644 index a96033f..0000000 --- a/flatpaker/data/files/00enabledebug.rpy +++ /dev/null @@ -1,3 +0,0 @@ -init +1: - python hide: - config.developer = True diff --git a/flatpaker/data/files/renpy.py b/flatpaker/data/files/renpy.py deleted file mode 100755 index 754503e..0000000 --- a/flatpaker/data/files/renpy.py +++ /dev/null @@ -1,130 +0,0 @@ -#!/usr/bin/env python3 -# coding=utf-8 # noqa: UP009 - -# This file is part of Ren'Py. The license below applies to Ren'Py only. -# Games and other projects that use Ren'Py may use a different license. - -# This particular version of the file has been highly modified to work inside of -# a flatpak environment - -# Copyright © 2025 Dylan Baker -# Copyright 2004-2024 Tom Rothamel -# -# Permission is hereby granted, free of charge, to any person -# obtaining a copy of this software and associated documentation files -# (the "Software"), to deal in the Software without restriction, -# including without limitation the rights to use, copy, modify, merge, -# publish, distribute, sublicense, and/or sell copies of the Software, -# and to permit persons to whom the Software is furnished to do so, -# subject to the following conditions: -# -# The above copyright notice and this permission notice shall be -# included in all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -from __future__ import absolute_import, print_function # noqa: UP010 - -import os -import sys -import warnings - -# Functions to be customized by distributors. ################################ - -_game_name = '' - - -def path_to_gamedir(basedir, name): - """ - Returns the absolute path to the directory containing the game - scripts an assets. (This becomes config.gamedir.) - - `basedir` - The base directory (config.basedir) - `name` - The basename of the executable, with the extension removed. - """ - return "/app/lib/game/game" - - -def path_to_common(renpy_base): - """ - Returns the absolute path to the Ren'Py common directory. - - `renpy_base` - The absolute path to the Ren'Py base directory, the directory - containing this file. - """ - import renpy - return os.path.join(str(renpy.__path__[0]), 'common') - - -def path_to_saves(gamedir, save_directory=None): # type: (str, str|None) -> str - """ - Given the path to a Ren'Py game directory, and the value of config. - save_directory, returns absolute path to the directory where save files - will be placed. - - `gamedir` - The absolute path to the game directory. - - `save_directory` - The value of config.save_directory. - """ - return os.path.join( - os.environ.get('XDG_DATA_HOME', os.path.expanduser('~/.local/share')), - _game_name, 'saves') - - -def path_to_logdir(basedir): - """ - Returns the absolute path to the log directory. - `basedir` - The base directory (config.basedir) - """ - return os.path.join( - os.environ.get('XDG_STATE_HOME', os.path.expanduser('~/.local/state')), - _game_name, 'logs') - - -def predefined_searchpath(commondir): - return [path_to_gamedir('', ''), commondir] - - -############################################################################## - - -android = False - -def main(): - global _game_name - - # We're being a bit tricky here. - # We're passing extra arguments, then storing and removing them - _game_path = sys.argv[1] - del sys.argv[1] - _game_name = sys.argv[1] - del sys.argv[1] - - # boostrap expects sys.argv[0] to be /path/to/GameName.py - sys.argv[0] = os.path.join(_game_path, _game_name) - - # Ignore warnings. - warnings.simplefilter("ignore", DeprecationWarning) - - import renpy.bootstrap - - # Set renpy.__main__ to this module. - renpy.__main__ = sys.modules[__name__] # type: ignore - - renpy.bootstrap.bootstrap('/app/lib/game') - - -if __name__ == "__main__": - main() diff --git a/flatpaker/data/modules/python-2.7.json b/flatpaker/data/modules/python-2.7.json deleted file mode 100644 index 4bad3fa..0000000 --- a/flatpaker/data/modules/python-2.7.json +++ /dev/null @@ -1,60 +0,0 @@ -{ - "name": "python-2.7", - "sources": [ - { - "type": "archive", - "url": "https://www.python.org/ftp/python/2.7.18/Python-2.7.18.tar.xz", - "sha256": "b62c0e7937551d0cc02b8fd5cb0f544f9405bafc9a54d3808ed4594812edef43" - } - ], - "build-options": { - "cflags": "-std=c11" - }, - "config-opts": [ - "--enable-shared", - "--with-ensurepip=yes", - "--with-system-expat", - "--with-system-ffi", - "--with-lto", - "--with-threads", - "--with-dbmliborder=gdbm", - "--enable-unicode=ucs4", - "--mandir=/share/mand" - ], - "make-install-args": [ - "DESTSHARED=${FLATPAK_DEST}/lib/python2.7/lib-dynload" - ], - "post-install": [ - /* Theres seem to be a permissions missmatch that causes the debug stripping to fail */ - "chmod 644 $FLATPAK_DEST/lib/*/libpython2.7.so.1.0" - ], - "cleanup": [ - "/bin/2to3*", - "/bin/easy_install*", - "/bin/idle*", - "/bin/pydoc*", - "/bin/python*-config", - "/bin/pyvenv*", - "/include", - "/lib/pkgconfig", - "/lib/*/python*/config", - "/share", - - /* Test scripts */ - "/lib/*/python*/test", - "/lib/*/python*/*/test", - "/lib/*/python*/*/tests", - "/lib/*/python*/lib-tk/test", - "/lib/*/python*/lib-dynload/_*_test.*.so", - "/lib/*/python*/lib-dynload/_test*.*.so", - - /* Unused modules */ - "/lib/*/python*/idlelib", - "/lib/*/python*/tkinter*", - "/lib/*/python*/turtle*", - "/lib/*/python*/lib2to3*", - - /* Static library */ - "/lib/*/python2.7/config/libpython2.7.a" - ] -} diff --git a/flatpaker/data/modules/python2-requirements.json b/flatpaker/data/modules/python2-requirements.json deleted file mode 100644 index f47bd8c..0000000 --- a/flatpaker/data/modules/python2-requirements.json +++ /dev/null @@ -1,180 +0,0 @@ -{ - "name": "python2-requirements", - "buildsystem": "simple", - "build-commands": [], - "modules": [ - { - "name": "python2-six", - "buildsystem": "simple", - "build-commands": [ - "pip2 install --verbose --exists-action=i --no-index --find-links=\"file://${PWD}\" --prefix=${FLATPAK_DEST} \"six\" --no-build-isolation" - ], - "sources": [ - { - "type": "file", - "url": "https://files.pythonhosted.org/packages/b7/ce/149a00dd41f10bc29e5921b496af8b574d8413afcd5e30dfa0ed46c2cc5e/six-1.17.0-py2.py3-none-any.whl", - "sha256": "4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274" - } - ], - "cleanup": [ - "/bin", - "/share/man/man1" - ] - }, - { - "name": "python2-ecdsa", - "buildsystem": "simple", - "build-commands": [ - "pip2 install --verbose --exists-action=i --no-index --find-links=\"file://${PWD}\" --prefix=${FLATPAK_DEST} \"ecdsa\" --no-build-isolation" - ], - "sources": [ - { - "type": "file", - "url": "https://files.pythonhosted.org/packages/51/79/119091c98e2bf49e24ed9f3ae69f816d715d2904aefa6a2baa039a2ba0b0/ecdsa-0.19.2-py2.py3-none-any.whl", - "sha256": "840f5dc5e375c68f36c1a7a5b9caad28f95daa65185c9253c0c08dd952bb7399" - } - ], - "cleanup": [ - "/bin", - "/share/man/man1" - ] - }, - { - "name": "python2-future", - "buildsystem": "simple", - "build-commands": [ - "pip2 install --verbose --exists-action=i --no-index --find-links=\"file://${PWD}\" --prefix=${FLATPAK_DEST} \"future\" --no-build-isolation" - ], - "sources": [ - { - "type": "file", - "url": "https://files.pythonhosted.org/packages/a7/b2/4140c69c6a66432916b26158687e821ba631a4c9273c474343badf84d3ba/future-1.0.0.tar.gz", - "sha256": "bd2968309307861edae1458a4f8a4f3598c03be43b97521076aebf5d94c07b05" - } - ], - "cleanup": [ - "/bin", - "/share/man/man1" - ] - }, - { - "name": "python2-pefile", - "buildsystem": "simple", - "build-commands": [ - "pip2 install --verbose --exists-action=i --no-index --find-links=\"file://${PWD}\" --prefix=${FLATPAK_DEST} \"pefile\" --no-build-isolation" - ], - "sources": [ - { - "type": "file", - "url": "https://files.pythonhosted.org/packages/a7/b2/4140c69c6a66432916b26158687e821ba631a4c9273c474343badf84d3ba/future-1.0.0.tar.gz", - "sha256": "bd2968309307861edae1458a4f8a4f3598c03be43b97521076aebf5d94c07b05" - }, - { - "type": "file", - "url": "https://files.pythonhosted.org/packages/36/58/acf7f35859d541985f0a6ea3c34baaefbfaee23642cf11e85fe36453ae77/pefile-2019.4.18.tar.gz", - "sha256": "a5d6e8305c6b210849b47a6174ddf9c452b2888340b8177874b862ba6c207645" - } - ], - "cleanup": [ - "/bin", - "/share/man/man1" - ] - }, - { - "name": "python2-requests", - "buildsystem": "simple", - "build-commands": [ - "pip2 install --verbose --exists-action=i --no-index --find-links=\"file://${PWD}\" --prefix=${FLATPAK_DEST} \"requests\" --no-build-isolation" - ], - "sources": [ - { - "type": "file", - "url": "https://files.pythonhosted.org/packages/37/45/946c02767aabb873146011e665728b680884cd8fe70dde973c640e45b775/certifi-2021.10.8-py2.py3-none-any.whl", - "sha256": "d62a0163eb4c2344ac042ab2bdf75399a71a2d8c7d47eac2e2ee91b9d6339569" - }, - { - "type": "file", - "url": "https://files.pythonhosted.org/packages/19/c7/fa589626997dd07bd87d9269342ccb74b1720384a4d739a1872bd84fbe68/chardet-4.0.0-py2.py3-none-any.whl", - "sha256": "f864054d66fd9118f2e67044ac8981a54775ec5b67aed0441892edb553d21da5" - }, - { - "type": "file", - "url": "https://files.pythonhosted.org/packages/a2/38/928ddce2273eaa564f6f50de919327bf3a00f091b5baba8dfa9460f3a8a8/idna-2.10-py2.py3-none-any.whl", - "sha256": "b97d804b1e9b523befed77c48dacec60e6dcb0b5391d57af6a65a312a90648c0" - }, - { - "type": "file", - "url": "https://files.pythonhosted.org/packages/2d/61/08076519c80041bc0ffa1a8af0cbd3bf3e2b62af10435d269a9d0f40564d/requests-2.27.1-py2.py3-none-any.whl", - "sha256": "f22fa1e554c9ddfd16e6e41ac79759e17be9e492b3587efa038054674760e72d" - }, - { - "type": "file", - "url": "https://files.pythonhosted.org/packages/33/cf/8435d5a7159e2a9c83a95896ed596f68cf798005fe107cc655b5c5c14704/urllib3-1.26.20-py2.py3-none-any.whl", - "sha256": "0ed14ccfbf1c30a9072c7ca157e4319b70d65f623e91e7b32fadb2853431016e" - } - ], - "cleanup": [ - "/bin", - "/share/man/man1" - ] - }, - { - "name": "python2-rsa", - "buildsystem": "simple", - "build-commands": [ - "pip2 install --verbose --exists-action=i --no-index --find-links=\"file://${PWD}\" --prefix=${FLATPAK_DEST} \"rsa==4.0\" --no-build-isolation" - ], - "sources": [ - { - "type": "file", - "url": "https://files.pythonhosted.org/packages/d1/75/4686d2872bf2fc0b37917cbc8bbf0dd3a5cdb0990799be1b9cbf1e1eb733/pyasn1-0.5.1-py2.py3-none-any.whl", - "sha256": "4439847c58d40b1d0a573d07e3856e95333f1976294494c325775aeca506eb58" - }, - { - "type": "file", - "url": "https://files.pythonhosted.org/packages/02/e5/38518af393f7c214357079ce67a317307936896e961e35450b70fad2a9cf/rsa-4.0-py2.py3-none-any.whl", - "sha256": "14ba45700ff1ec9eeb206a2ce76b32814958a98e372006c8fb76ba820211be66" - } - ], - "cleanup": [ - "/bin", - "/share/man/man1" - ] - }, - { - "name": "python2-typing", - "buildsystem": "simple", - "build-commands": [ - "pip2 install --verbose --exists-action=i --no-index --find-links=\"file://${PWD}\" --prefix=${FLATPAK_DEST} \"typing\" --no-build-isolation" - ], - "sources": [ - { - "type": "file", - "url": "https://files.pythonhosted.org/packages/0b/cb/da856e81731833b94da70a08712f658416266a5fb2a9d9e426c8061becef/typing-3.10.0.0-py2-none-any.whl", - "sha256": "c7219ef20c5fbf413b4567092adfc46fa6203cb8454eda33c3fc1afe1398a308" - } - ], - "cleanup": [ - "/bin", - "/share/man/man1" - ] - }, - { - "name": "python2-cython", - "buildsystem": "simple", - "build-commands": [ - "pip2 install --verbose --exists-action=i --no-index --find-links=\"file://${PWD}\" --prefix=${FLATPAK_DEST} \"cython==0.29.37\" --no-build-isolation" - ], - "sources": [ - { - "type": "file", - "url": "https://files.pythonhosted.org/packages/7e/26/9d8de10005fedb1eceabe713348d43bae1dbab1786042ca0751a2e2b0f8c/Cython-0.29.37-py2.py3-none-any.whl", - "sha256": "95f1d6a83ef2729e67b3fa7318c829ce5b07ac64c084cd6af11c228e0364662c" - } - ], - "cleanup": [ - "*" - ] - } - ] -} diff --git a/flatpaker/data/modules/python3-requirements.json b/flatpaker/data/modules/python3-requirements.json deleted file mode 100644 index f460ce5..0000000 --- a/flatpaker/data/modules/python3-requirements.json +++ /dev/null @@ -1,140 +0,0 @@ -{ - "name": "python3-requirements", - "buildsystem": "simple", - "build-commands": [], - "modules": [ - { - "name": "python3-six", - "buildsystem": "simple", - "build-commands": [ - "pip3 install --verbose --exists-action=i --no-index --find-links=\"file://${PWD}\" --prefix=${FLATPAK_DEST} \"six\" --no-build-isolation" - ], - "sources": [ - { - "type": "file", - "url": "https://files.pythonhosted.org/packages/b7/ce/149a00dd41f10bc29e5921b496af8b574d8413afcd5e30dfa0ed46c2cc5e/six-1.17.0-py2.py3-none-any.whl", - "sha256": "4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274" - } - ], - "cleanup": [ - "/bin", - "/share/man/man1" - ] - }, - { - "name": "python3-ecdsa", - "buildsystem": "simple", - "build-commands": [ - "pip3 install --verbose --exists-action=i --no-index --find-links=\"file://${PWD}\" --prefix=${FLATPAK_DEST} \"ecdsa\" --no-build-isolation" - ], - "sources": [ - { - "type": "file", - "url": "https://files.pythonhosted.org/packages/51/79/119091c98e2bf49e24ed9f3ae69f816d715d2904aefa6a2baa039a2ba0b0/ecdsa-0.19.2-py2.py3-none-any.whl", - "sha256": "840f5dc5e375c68f36c1a7a5b9caad28f95daa65185c9253c0c08dd952bb7399" - } - ], - "cleanup": [ - "/bin", - "/share/man/man1" - ] - }, - { - "name": "python3-future", - "buildsystem": "simple", - "build-commands": [ - "pip3 install --verbose --exists-action=i --no-index --find-links=\"file://${PWD}\" --prefix=${FLATPAK_DEST} \"future\" --no-build-isolation" - ], - "sources": [ - { - "type": "file", - "url": "https://files.pythonhosted.org/packages/da/71/ae30dadffc90b9006d77af76b393cb9dfbfc9629f339fc1574a1c52e6806/future-1.0.0-py3-none-any.whl", - "sha256": "929292d34f5872e70396626ef385ec22355a1fae8ad29e1a734c3e43f9fbc216" - } - ], - "cleanup": [ - "/bin", - "/share/man/man1" - ] - }, - { - "name": "python3-pefile", - "buildsystem": "simple", - "build-commands": [ - "pip3 install --verbose --exists-action=i --no-index --find-links=\"file://${PWD}\" --prefix=${FLATPAK_DEST} \"pefile\" --no-build-isolation" - ], - "sources": [ - { - "type": "file", - "url": "https://files.pythonhosted.org/packages/54/16/12b82f791c7f50ddec566873d5bdd245baa1491bac11d15ffb98aecc8f8b/pefile-2024.8.26-py3-none-any.whl", - "sha256": "76f8b485dcd3b1bb8166f1128d395fa3d87af26360c2358fb75b80019b957c6f" - } - ], - "cleanup": [ - "/bin", - "/share/man/man1" - ] - }, - { - "name": "python3-requests", - "buildsystem": "simple", - "build-commands": [ - "pip3 install --verbose --exists-action=i --no-index --find-links=\"file://${PWD}\" --prefix=${FLATPAK_DEST} \"requests\" --no-build-isolation" - ], - "sources": [ - { - "type": "file", - "url": "https://files.pythonhosted.org/packages/0b/a7/71ac2cff56fec219ed242bb11b8efb69fcc4bec75db06fb7bfe35de520e6/certifi-2026.7.22-py3-none-any.whl", - "sha256": "62f22742b58a1a33014a2b6b706588a8d7e2a88ae7bd1a6ebe8c992928483775" - }, - { - "type": "file", - "url": "https://files.pythonhosted.org/packages/22/c7/754d09943a616937df61e4ba367c409ded2a987e872972098d51a6fcf73b/charset_normalizer-3.5.0-py3-none-any.whl", - "sha256": "993dfcbe75a85a3784abb5084f2c41b915767c90546fcc92803cffa28611baea" - }, - { - "type": "file", - "url": "https://files.pythonhosted.org/packages/1e/5e/d4e9f1a599fb8e573b7b87160658329fbf28d19eac2718f51fc3def3aa5a/idna-3.18-py3-none-any.whl", - "sha256": "7f952cbe720b688055e3f87de14f5c3e5fdaa8bc3928985c4077ca689de849a2" - }, - { - "type": "file", - "url": "https://files.pythonhosted.org/packages/a0/f4/c67b0b3f1b9245e8d266f0f112c500d50e5b4e83cb6f3b71b6528104182a/requests-2.34.2-py3-none-any.whl", - "sha256": "2a0d60c172f83ac6ab31e4554906c0f3b3588d37b5cb939b1c061f4907e278e0" - }, - { - "type": "file", - "url": "https://files.pythonhosted.org/packages/7f/3e/5db95bcf282c52709639744ca2a8b149baccf648e39c8cc87553df9eae0c/urllib3-2.7.0-py3-none-any.whl", - "sha256": "9fb4c81ebbb1ce9531cce37674bbc6f1360472bc18ca9a553ede278ef7276897" - } - ], - "cleanup": [ - "/bin", - "/share/man/man1" - ] - }, - { - "name": "python3-rsa", - "buildsystem": "simple", - "build-commands": [ - "pip3 install --verbose --exists-action=i --no-index --find-links=\"file://${PWD}\" --prefix=${FLATPAK_DEST} \"rsa\" --no-build-isolation" - ], - "sources": [ - { - "type": "file", - "url": "https://files.pythonhosted.org/packages/9a/3b/6163796d69c3977d1e4287bea4a6979161cbbdd170ebb430511e8e1999ce/pyasn1-0.6.4-py3-none-any.whl", - "sha256": "deda9277cfd454080ec40b207fb6df82206a3a2688735233cdcd8d3d565f088b" - }, - { - "type": "file", - "url": "https://files.pythonhosted.org/packages/64/8d/0133e4eb4beed9e425d9a98ed6e081a55d195481b7632472be1af08d2f6b/rsa-4.9.1-py3-none-any.whl", - "sha256": "68635866661c6836b8d39430f97a996acbd61bfa49406748ea243539fe239762" - } - ], - "cleanup": [ - "/bin", - "/share/man/man1" - ] - } - ] -} diff --git a/flatpaker/data/modules/renpy-shared.yml b/flatpaker/data/modules/renpy-shared.yml deleted file mode 100644 index 61ad0fc..0000000 --- a/flatpaker/data/modules/renpy-shared.yml +++ /dev/null @@ -1,85 +0,0 @@ -name: renpy-shared-components -buildsystem: "simple" -build-commands: [] -modules: - - name: "icoutils" - buildsystem: "autotools" - config-opts: - - --mandir=/share/man - cleanup: - - "/share" - - "/lib/*/*.a" - - "/lib/*/*.la" - cleanup-platform: - - '*' - sources: - - type: "archive" - url: "https://download.savannah.gnu.org/releases/icoutils/icoutils-0.32.3.tar.bz2" - sha256: "17abe02d043a253b68b47e3af69c9fc755b895db68fdc8811786125df564c6e0" - - type: "patch" - path: ../patches/icoutils-fix-iterators.patch - - - name: icns - config-opts: - - --mandir=/share/man - cleanup: - - "/share" - - "/lib/*/*.a" - - "/lib/*/*.la" - cleanup-platform: - - '*' - sources: - - type: "archive" - url: "https://downloads.sf.net/icns/libicns-0.8.1.tar.gz" - sha256: "335f10782fc79855cf02beac4926c4bf9f800a742445afbbf7729dab384555c2" - - type: "patch" - path: "../patches/icns-add-missing-headers.patch" - - - name: unrar - buildsystem: "simple" - build-commands: - # Use system cflags - - sed -e '/CXXFLAGS=/d' -e '/LDFLAGS=/d' -i makefile - - - make -j$FLATPAK_BUILDER_N_JOBS - - DESTDIR="${FLATPAK_DEST}" make install - cleanup-platform: - - '*' - sources: - - type: "archive" - url: "https://www.rarlab.com/rar/unrarsrc-7.2.7.tar.gz" - sha256: "01d903a7dcf413cb2925696d7796e48e38d471f79bfe7ef3ad2aebf6c12dbefd" - - - name: rpatool - buildsystem: "simple" - build-commands: - - install -Dm755 rpatool -t ${FLATPAK_DEST}/bin - cleanup-platform: - - '*' - sources: - # Pointing to a fork with support for newer DMA archives - - type: "git" - url: "https://github.com/sebastic/rpatool.git" - commit: "1ccda7a6dfa0617d3b4f2135a6def814b0ae17c4" - - - name: unrpa - buildsystem: "simple" - build-commands: - - pip3 install --verbose --exists-action=i --no-index --find-links="file://${PWD}" --prefix=${FLATPAK_DEST} "unrpa" --no-build-isolation - cleanup-platform: - - '*' - sources: - - type: "file" - url: https://files.pythonhosted.org/packages/59/c7/eac5f1c131f8e4e41268944bbfe60cb42dfcea2ec8fc5a0ee8476fd8b6bd/unrpa-2.3.0-py3-none-any.whl - sha256: 17b024050e19edf470eb9abd91fa5fb2be63aa73c01f44d2ef9cf6978289eea9 - - - name: un.rpyc - buildsystem: "simple" - build-commands: - - pip3 install --verbose --exists-action=i --no-index --find-links="file://${PWD}" --prefix=${FLATPAK_DEST} . --no-build-isolation - cleanup-platform: - - '*' - sources: - - type: "git" - url: "https://github.com/CensoredUsername/unrpyc.git" - tag: v2.0.2 diff --git a/flatpaker/data/modules/sdl2.json b/flatpaker/data/modules/sdl2.json deleted file mode 100644 index 1c8ddd8..0000000 --- a/flatpaker/data/modules/sdl2.json +++ /dev/null @@ -1,48 +0,0 @@ -{ - "name": "sdl2", - "buildsystem": "simple", - "build-commands": [], - "modules": [ - { - "name": "SDL2_image", - "config-opts": [ - "-DSDL2IMAGE_DEPS_SHARED=OFF", - "-DSDL2IMAGE_STRICT=ON" - ], - "cleanup-platform": [ - "/include", - "/lib/*/cmake", - "/lib/*/pkgconfig" - ], - "buildsystem": "cmake-ninja", - "builddir": true, - "sources": [ - { - "type": "archive", - "url": "https://github.com/libsdl-org/SDL_image/releases/download/release-2.8.12/SDL2_image-2.8.12.tar.gz", - "sha256": "393f5efb50536ec13ca4f4affb69cc9966d3c3f969e6c5e701faddf9f9785381" - } - ] - }, - { - "name": "SDL2_ttf", - "config-opts": [ - "-DSDL2TTF_HARFBUZZ=ON" - ], - "cleanup-platform": [ - "/include", - "/lib/*/cmake", - "/lib/*/pkgconfig" - ], - "buildsystem": "cmake-ninja", - "builddir": true, - "sources": [ - { - "type": "archive", - "url": "https://github.com/libsdl-org/SDL_ttf/releases/download/release-2.24.0/SDL2_ttf-2.24.0.tar.gz", - "sha256": "0b2bf1e7b6568adbdbc9bb924643f79d9dedafe061fa1ed687d1d9ac4e453bfd" - } - ] - } - ] -} diff --git a/flatpaker/data/patches/ftgl-disable-docs-demos.patch b/flatpaker/data/patches/ftgl-disable-docs-demos.patch deleted file mode 100644 index 555b845..0000000 --- a/flatpaker/data/patches/ftgl-disable-docs-demos.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- ftgl/Makefile.am 2026-08-10 09:05:24.973016890 -0000 -+++ ftgl/Makefile.am 2026-08-10 09:06:13.861319158 -0000 -@@ -1,7 +1,7 @@ - - ACLOCAL_AMFLAGS = -I m4 - --SUBDIRS = src demo docs # test (does not build) -+SUBDIRS = src - DIST_SUBDIRS = $(SUBDIRS) msvc - - pkgconfigdir = $(libdir)/pkgconfig diff --git a/flatpaker/data/patches/ftgl-fix-illegal-cast.patch b/flatpaker/data/patches/ftgl-fix-illegal-cast.patch deleted file mode 100644 index 9785b1f..0000000 --- a/flatpaker/data/patches/ftgl-fix-illegal-cast.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- ftgl/src/FTVectoriser.cpp 2026-08-10 08:59:56.547220008 -0000 -+++ ftgl/src/FTVectoriser.cpp 2026-08-10 09:02:11.581010988 -0000 -@@ -168,7 +168,7 @@ - for(int i = 0; i < ftContourCount; ++i) - { - FT_Vector* pointList = &outline.points[startIndex]; -- char* tagList = &outline.tags[startIndex]; -+ char* tagList = (char *)&outline.tags[startIndex]; - - endIndex = outline.contours[i]; - contourLength = (endIndex - startIndex) + 1; diff --git a/flatpaker/data/patches/icns-add-missing-headers.patch b/flatpaker/data/patches/icns-add-missing-headers.patch deleted file mode 100644 index 7626061..0000000 --- a/flatpaker/data/patches/icns-add-missing-headers.patch +++ /dev/null @@ -1,244 +0,0 @@ -From 035516ef839327f5738234d58e5eb6916be64fa6 Mon Sep 17 00:00:00 2001 -From: Paul Wise -Date: Sat, 20 Jul 2024 14:07:12 -0700 -Subject: [PATCH] Add missing headers -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Compilation failed with: - -png2icns.c:328:25: error: implicit declaration of function ‘unlink’ -[-Wimplicit-function-declaration] - -This is a rebase of de0ae9ab. ---- - icnsutils/icns2png.c | 1 + - icnsutils/icontainer2icns.c | 1 - - icnsutils/png2icns.c | 3 +++ - src/icns.h | 8 +++----- - src/icns_colormaps.h | 2 ++ - src/icns_debug.c | 8 ++------ - src/icns_element.c | 1 - - src/icns_family.c | 3 --- - src/icns_internals.h | 6 +----- - src/icns_jp2.c | 4 ++++ - src/icns_png.c | 3 ++- - src/icns_rle24.c | 1 - - src/icns_utils.c | 1 - - 14 files changed, 18 insertions(+), 25 deletions(-) - -diff --git a/icnsutils/icns2png.c b/icnsutils/icns2png.c -index cd53545..40b9faa 100644 ---- a/icnsutils/icns2png.c -+++ b/icnsutils/icns2png.c -@@ -20,6 +20,7 @@ Boston, MA 02110-1301, USA. - - #include - #include -+#include - #include - - #include -diff --git a/icnsutils/icontainer2icns.c b/icnsutils/icontainer2icns.c -index 70c12dc..4b0e0db 100644 ---- a/icnsutils/icontainer2icns.c -+++ b/icnsutils/icontainer2icns.c -@@ -18,7 +18,6 @@ Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - Boston, MA 02110-1301, USA. - */ - #include --#include - - // --> find icns data[i] - // --> data[i-9] - data[i-1] = "[######]" (id) -diff --git a/icnsutils/png2icns.c b/icnsutils/png2icns.c -index 93bb863..432b918 100644 ---- a/icnsutils/png2icns.c -+++ b/icnsutils/png2icns.c -@@ -22,10 +22,13 @@ - #include - #include - #include -+#include -+#include - - #include - - #include -+#include - #include - - #define FALSE 0 -diff --git a/src/icns.h b/src/icns.h -index f834497..917abb7 100644 ---- a/src/icns.h -+++ b/src/icns.h -@@ -20,14 +20,12 @@ Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - Boston, MA 02110-1301, USA. - */ - --#include --#include --#include --#include -- - #ifndef _ICNS_H_ - #define _ICNS_H_ - -+#include -+#include -+ - /* basic data types */ - typedef uint8_t icns_bool_t; - -diff --git a/src/icns_colormaps.h b/src/icns_colormaps.h -index 74b9b81..522511e 100644 ---- a/src/icns_colormaps.h -+++ b/src/icns_colormaps.h -@@ -23,6 +23,8 @@ Boston, MA 02110-1301, USA. - #ifndef _COLORMAPS_H_ - #define _COLORMAPS_H_ 1 - -+#include "icns.h" -+ - typedef struct icns_colormap_rgb_t - { - icns_byte_t r; -diff --git a/src/icns_debug.c b/src/icns_debug.c -index a3dd075..846d30f 100644 ---- a/src/icns_debug.c -+++ b/src/icns_debug.c -@@ -18,14 +18,10 @@ Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - Boston, MA 02110-1301, USA. - */ - -+#ifdef ICNS_DEBUG -+ - #include --#include --#include --#include - --#include "icns.h" --#include "icns_internals.h" --#ifdef ICNS_DEBUG - void bin_print_byte(int x) - { - int n; -diff --git a/src/icns_element.c b/src/icns_element.c -index 1b08668..5132953 100644 ---- a/src/icns_element.c -+++ b/src/icns_element.c -@@ -22,7 +22,6 @@ Boston, MA 02110-1301, USA. - - #include - #include --#include - #include - - #include "icns.h" -diff --git a/src/icns_family.c b/src/icns_family.c -index bcc4d70..83f7d8b 100644 ---- a/src/icns_family.c -+++ b/src/icns_family.c -@@ -20,10 +20,7 @@ Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - Boston, MA 02110-1301, USA. - */ - --#include - #include --#include --#include - - #include "icns.h" - #include "icns_internals.h" -diff --git a/src/icns_internals.h b/src/icns_internals.h -index cfda3da..1adf671 100644 ---- a/src/icns_internals.h -+++ b/src/icns_internals.h -@@ -20,11 +20,6 @@ Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - Boston, MA 02110-1301, USA. - */ - --#include --#include --#include --#include -- - #include "icns.h" - - #include "config.h" -@@ -150,6 +145,7 @@ memory alignment. So, we try to work around this here. - #define ICNS_READ_UNALIGNED(val, addr, size) icns_memcpy(&(val), (addr), size) - #define ICNS_WRITE_UNALIGNED(addr, val, size) icns_memcpy((addr), &(val), size) - #else -+ #include - #define ICNS_READ_UNALIGNED(val, addr, size) memcpy(&(val), (addr), size) - #define ICNS_WRITE_UNALIGNED(addr, val, size) memcpy((addr), &(val), size) - #endif -diff --git a/src/icns_jp2.c b/src/icns_jp2.c -index 6d809fb..7c71cc7 100644 ---- a/src/icns_jp2.c -+++ b/src/icns_jp2.c -@@ -21,9 +21,13 @@ Boston, MA 02110-1301, USA. - */ - - #include -+#ifdef ICNS_DEBUG - #include -+#endif - #include -+#ifdef ICNS_OPENJPEG - #include -+#endif - - #include "icns.h" - #include "icns_internals.h" -diff --git a/src/icns_png.c b/src/icns_png.c -index a5b26e3..8a5facf 100644 ---- a/src/icns_png.c -+++ b/src/icns_png.c -@@ -20,13 +20,14 @@ Boston, MA 02110-1301, USA. - - #include - #include --#include -+#include - #include - - #include "icns.h" - #include "icns_internals.h" - - #include -+#include - - typedef struct icns_png_io_ref { - void* data; -diff --git a/src/icns_rle24.c b/src/icns_rle24.c -index 2f07213..914542d 100644 ---- a/src/icns_rle24.c -+++ b/src/icns_rle24.c -@@ -22,7 +22,6 @@ Boston, MA 02110-1301, USA. - - #include - #include --#include - #include - - #include "icns.h" -diff --git a/src/icns_utils.c b/src/icns_utils.c -index 47bdbeb..2b1af72 100644 ---- a/src/icns_utils.c -+++ b/src/icns_utils.c -@@ -19,7 +19,6 @@ Boston, MA 02110-1301, USA. - */ - - #include --#include - #include - #include - #include --- -2.45.2 - diff --git a/flatpaker/data/patches/icoutils-fix-iterators.patch b/flatpaker/data/patches/icoutils-fix-iterators.patch deleted file mode 100644 index 5f3bffb..0000000 --- a/flatpaker/data/patches/icoutils-fix-iterators.patch +++ /dev/null @@ -1,134 +0,0 @@ -From 298da402990ebe1279fb82b63ae2dc66ad78fd36 Mon Sep 17 00:00:00 2001 -From: Colin Watson -Date: Tue, 18 Feb 2025 10:01:05 +0000 -Subject: [PATCH] Specify arguments in function declarations for iterators - -GCC 15 rejected the previous code, since it is no longer valid in C23. - -Fixes: https://bugs.debian.org/1096829 ---- - common/hmap.c | 4 ++-- - common/hmap.h | 4 ++-- - common/llist.c | 2 +- - common/llist.h | 2 +- - common/tmap.c | 8 ++++---- - common/tmap.h | 4 ++-- - 6 files changed, 12 insertions(+), 12 deletions(-) - -diff --git a/common/hmap.c b/common/hmap.c -index 9c5d657..8b77205 100644 ---- a/common/hmap.c -+++ b/common/hmap.c -@@ -363,7 +363,7 @@ hmap_iterator(HMap *map, HMapIterator *it) - * function. But no other entry. - */ - void --hmap_foreach_value(HMap *map, void (*iterator)()) -+hmap_foreach_value(HMap *map, void (*iterator)(void *)) - { - uint32_t c; - -@@ -378,7 +378,7 @@ hmap_foreach_value(HMap *map, void (*iterator)()) - } - - void --hmap_foreach_key(HMap *map, void (*iterator)()) -+hmap_foreach_key(HMap *map, void (*iterator)(void *)) - { - uint32_t c; - -diff --git a/common/hmap.h b/common/hmap.h -index bf6684b..a124b53 100644 ---- a/common/hmap.h -+++ b/common/hmap.h -@@ -50,8 +50,8 @@ void *hmap_put(HMap *map, void *key, void *value); - bool hmap_contains_key(HMap *map, const void *key); - void *hmap_remove(HMap *map, const void *key); - void hmap_iterator(HMap *map, HMapIterator *it); --void hmap_foreach_key(HMap *map, void (*iterator)()); --void hmap_foreach_value(HMap *map, void (*iterator)()); -+void hmap_foreach_key(HMap *map, void (*iterator)(void *)); -+void hmap_foreach_value(HMap *map, void (*iterator)(void *)); - void hmap_clear(HMap *map); - size_t hmap_size(HMap *map); - void hmap_set_hash_fn(HMap *map, hash_fn_t hash); -diff --git a/common/llist.c b/common/llist.c -index 873f36c..d65438d 100644 ---- a/common/llist.c -+++ b/common/llist.c -@@ -445,7 +445,7 @@ llist_is_empty(LList *list) - } - - void --llist_iterate(LList *list, void (*iterator_func)()) -+llist_iterate(LList *list, void (*iterator_func)(void *)) - { - LNode *entry; - for (entry = list->first; entry != NULL; entry = entry->next) -diff --git a/common/llist.h b/common/llist.h -index 11d13a3..a2bf77b 100644 ---- a/common/llist.h -+++ b/common/llist.h -@@ -68,7 +68,7 @@ LList *llist_clone(LList *list); - void **llist_to_array(LList *list); - void **llist_to_null_terminated_array(LList *list); - --void llist_iterate(LList *list, void (*iterator_func)()); -+void llist_iterate(LList *list, void (*iterator_func)(void *)); - void llist_iterator(LList *list, LListIterator *it); - - void llist_reverse(LList *list); -diff --git a/common/tmap.c b/common/tmap.c -index bdbd0e3..1512c7c 100644 ---- a/common/tmap.c -+++ b/common/tmap.c -@@ -512,7 +512,7 @@ predecessor(TMapNode *node) - #endif - - static void --tmap_foreach_nodes_key(TMapNode *node, void (*iterator)()) -+tmap_foreach_nodes_key(TMapNode *node, void (*iterator)(void *)) - { - if (node->left != &nil) - tmap_foreach_nodes_key(node->left, iterator); -@@ -522,7 +522,7 @@ tmap_foreach_nodes_key(TMapNode *node, void (*iterator)()) - } - - static void --tmap_foreach_nodes_value(TMapNode *node, void (*iterator)()) -+tmap_foreach_nodes_value(TMapNode *node, void (*iterator)(void *)) - { - if (node->left != &nil) - tmap_foreach_nodes_value(node->left, iterator); -@@ -532,14 +532,14 @@ tmap_foreach_nodes_value(TMapNode *node, void (*iterator)()) - } - - void --tmap_foreach_key(TMap *map, void (*iterator)()) -+tmap_foreach_key(TMap *map, void (*iterator)(void *)) - { - if (map->root != &nil) - tmap_foreach_nodes_key(map->root, iterator); - } - - void --tmap_foreach_value(TMap *map, void (*iterator)()) -+tmap_foreach_value(TMap *map, void (*iterator)(void *)) - { - if (map->root != &nil) - tmap_foreach_nodes_value(map->root, iterator); -diff --git a/common/tmap.h b/common/tmap.h -index b1368f8..e3e422d 100644 ---- a/common/tmap.h -+++ b/common/tmap.h -@@ -51,8 +51,8 @@ void *tmap_remove(TMap *map, const void *key); - void tmap_iterator(TMap *map, TMapIterator *it); /* value iterator */ - bool tmap_iterator_partial(TMap *map, TMapIterator *it, const void *match, comparison_fn_t comparator); - void tmap_clear(TMap *map); --void tmap_foreach_key(TMap *map, void (*iterator)()); --void tmap_foreach_value(TMap *map, void (*iterator)()); -+void tmap_foreach_key(TMap *map, void (*iterator)(void *)); -+void tmap_foreach_value(TMap *map, void (*iterator)(void *)); - - #ifdef ENABLE_TMAP_TESTING - #include diff --git a/flatpaker/data/patches/pygame-sdl2-7-install-headers.patch b/flatpaker/data/patches/pygame-sdl2-7-install-headers.patch deleted file mode 100644 index 89b2b38..0000000 --- a/flatpaker/data/patches/pygame-sdl2-7-install-headers.patch +++ /dev/null @@ -1,22 +0,0 @@ ---- PyGame_SDL2/setup.py.orig 2025-05-21 11:52:40.074234086 -0700 -+++ PyGame_SDL2/setup.py 2025-05-21 11:53:04.653766647 -0700 -@@ -139,18 +139,10 @@ - ] - - if __name__ == "__main__": -- -- -- if sys.version_info.major <= 3 and sys.version_info.minor <= 11: -- py_headers = headers -- headers = [ ] -- else: -- py_headers = [ ] -- - setup( - "pygame_sdl2", - VERSION, -- headers=py_headers, -+ headers=headers, - url="https://github.com/renpy/pygame_sdl2", - maintainer="Tom Rothamel", - maintainer_email="tom@rothamel.us", diff --git a/flatpaker/data/patches/pygame-sdl2-7-remove-pathlib.patch b/flatpaker/data/patches/pygame-sdl2-7-remove-pathlib.patch deleted file mode 100644 index 62a4103..0000000 --- a/flatpaker/data/patches/pygame-sdl2-7-remove-pathlib.patch +++ /dev/null @@ -1,28 +0,0 @@ ---- PyGame_SDL2/setup.py.orig 2025-05-21 11:48:43.701351573 -0700 -+++ PyGame_SDL2/setup.py 2025-05-21 11:50:04.758374404 -0700 -@@ -162,19 +162,11 @@ - os.unlink(os.path.join(os.path.dirname(__file__), "src", "pygame_sdl2", i)) - - if headers: -- import pathlib -- -- virtual_env = os.environ.get("VIRTUAL_ENV", None) -- -- if virtual_env: -- headers_dir = pathlib.Path(virtual_env) / "include" / "pygame_sdl2" -- else: -- headers_dir = pathlib.Path(sysconfig.get_paths()['include']) / "pygame_sdl2" -- -- headers_dir.mkdir(parents=True, exist_ok=True) -+ headers_dir = os.path.join(os.environ['FLATPAK_DEST'], 'include', 'pygame_sdl2') -+ try: -+ os.makedirs(headers_dir) -+ except: -+ pass - - for header in headers: -- srcpath = pathlib.Path(header) -- dstpath = headers_dir / srcpath.name -- -- shutil.copy(srcpath, dstpath) -+ shutil.copy(header, os.path.join(headers_dir, os.path.basename(header))) diff --git a/flatpaker/data/patches/pygame-sdl2-7-use-correct-cython.patch b/flatpaker/data/patches/pygame-sdl2-7-use-correct-cython.patch deleted file mode 100644 index 1e6eb17..0000000 --- a/flatpaker/data/patches/pygame-sdl2-7-use-correct-cython.patch +++ /dev/null @@ -1,14 +0,0 @@ ---- PyGame_SDL2/setuplib.py 2024-10-24 21:45:23.000000000 -0700 -+++ PyGame_SDL2/setuplib.py 2025-02-20 15:59:42.943756727 -0800 -@@ -59,10 +59,7 @@ - windows = platform.win32_ver()[0] - - # The cython command. --if windows: -- cython_command = os.path.join(os.path.dirname(sys.executable), "Scripts", "cython.exe") --else: -- cython_command = "cython" -+cython_command = "cython0" - - if sys.version_info[0] >= 3: - gen = "gen3" diff --git a/flatpaker/data/patches/pygame-sdl2-fix-header-install-path.patch b/flatpaker/data/patches/pygame-sdl2-fix-header-install-path.patch deleted file mode 100644 index bd74941..0000000 --- a/flatpaker/data/patches/pygame-sdl2-fix-header-install-path.patch +++ /dev/null @@ -1,17 +0,0 @@ ---- PyGame_SDL2/setup.py 2025-05-21 10:34:02.714427292 -0000 -+++ PyGame_SDL2/setup.py 2025-05-21 10:35:28.433434319 -0000 -@@ -164,13 +164,7 @@ - if headers: - import pathlib - -- virtual_env = os.environ.get("VIRTUAL_ENV", None) -- -- if virtual_env: -- headers_dir = pathlib.Path(virtual_env) / "include" / "pygame_sdl2" -- else: -- headers_dir = pathlib.Path(sysconfig.get_paths()['include']) / "pygame_sdl2" -- -+ headers_dir = pathlib.Path(os.environ['FLATPAK_DEST']) / 'include' / 'pygame_sdl2' - headers_dir.mkdir(parents=True, exist_ok=True) - - for header in headers: diff --git a/flatpaker/data/patches/renpy-7-fix-styles-dirname.patch b/flatpaker/data/patches/renpy-7-fix-styles-dirname.patch deleted file mode 100644 index d5dbb82..0000000 --- a/flatpaker/data/patches/renpy-7-fix-styles-dirname.patch +++ /dev/null @@ -1,12 +0,0 @@ ---- RenPy/module/generate_styles.py 2024-08-22 21:43:28.700000000 -0700 -+++ RenPy/module/generate_styles.py 2025-02-20 16:19:00.161792042 -0800 -@@ -481,6 +481,9 @@ - if old == text: - return - -+ dirname = os.path.dirname(self.filename) -+ if not os.path.exists(dirname): -+ os.makedirs(dirname) - with open(self.filename, "w") as f: - f.write(text) - diff --git a/flatpaker/data/patches/renpy-ffmpeg-7.patch b/flatpaker/data/patches/renpy-ffmpeg-7.patch deleted file mode 100644 index 7cb5015..0000000 --- a/flatpaker/data/patches/renpy-ffmpeg-7.patch +++ /dev/null @@ -1,105 +0,0 @@ ---- a/module/ffmedia.c -+++ b/module/ffmedia.c -@@ -4,6 +4,7 @@ - #include - #include - #include -+#include - - #include - #include -@@ -71,7 +72,11 @@ - - } - -+#if (LIBAVFORMAT_VERSION_MAJOR < 61) - static int rwops_write(void *opaque, uint8_t *buf, int buf_size) { -+#else -+static int rwops_write(void *opaque, const uint8_t *buf, int buf_size) { -+#endif - printf("Writing to an SDL_rwops is a really bad idea.\n"); - return -1; - } -@@ -585,7 +590,6 @@ - return NULL; - } - -- const AVCodec *codec = NULL; - AVCodecContext *codec_ctx = NULL; - - codec_ctx = avcodec_alloc_context3(NULL); -@@ -600,7 +604,7 @@ - - codec_ctx->pkt_timebase = ctx->streams[index]->time_base; - -- codec = avcodec_find_decoder(codec_ctx->codec_id); -+ const AVCodec *codec = avcodec_find_decoder(codec_ctx->codec_id); - - if (codec == NULL) { - goto fail; -@@ -690,9 +694,14 @@ - } - - converted_frame->sample_rate = audio_sample_rate; -+#if (LIBAVUTIL_VERSION_MAJOR < 59) - converted_frame->channel_layout = AV_CH_LAYOUT_STEREO; -+#else -+ converted_frame->ch_layout = (AVChannelLayout) AV_CHANNEL_LAYOUT_STEREO; -+#endif - converted_frame->format = AV_SAMPLE_FMT_S16; - -+#if (LIBAVUTIL_VERSION_MAJOR < 59) - if (!ms->audio_decode_frame->channel_layout) { - ms->audio_decode_frame->channel_layout = av_get_default_channel_layout(ms->audio_decode_frame->channels); - -@@ -711,6 +720,26 @@ - swr_set_matrix(ms->swr, stereo_matrix, 1); - } - } -+#else -+ if (ms->audio_decode_frame->ch_layout.order == AV_CHANNEL_ORDER_UNSPEC) { -+ av_channel_layout_default(&ms->audio_decode_frame->ch_layout, ms->audio_decode_frame->ch_layout.nb_channels); -+ -+ if (audio_equal_mono && (ms->audio_decode_frame->ch_layout.nb_channels == 1)) { -+ swr_alloc_set_opts2( -+ &ms->swr, -+ &converted_frame->ch_layout, -+ converted_frame->format, -+ converted_frame->sample_rate, -+ &ms->audio_decode_frame->ch_layout, -+ ms->audio_decode_frame->format, -+ ms->audio_decode_frame->sample_rate, -+ 0, -+ NULL); -+ -+ swr_set_matrix(ms->swr, stereo_matrix, 1); -+ } -+ } -+#endif - - if(swr_convert_frame(ms->swr, converted_frame, ms->audio_decode_frame)) { - av_frame_free(&converted_frame); -@@ -1159,7 +1188,11 @@ - - // Compute the number of samples we need to play back. - if (ms->audio_duration < 0) { -+#if (LIBAVFORMAT_VERSION_MAJOR < 62) - if (av_fmt_ctx_get_duration_estimation_method(ctx) != AVFMT_DURATION_FROM_BITRATE) { -+#else -+ if (ctx->duration_estimation_method != AVFMT_DURATION_FROM_BITRATE) { -+#endif - - long long duration = ((long long) ctx->duration) * audio_sample_rate; - ms->audio_duration = (unsigned int) (duration / AV_TIME_BASE); -@@ -1319,7 +1352,11 @@ - - // Compute the number of samples we need to play back. - if (ms->audio_duration < 0) { -+#if (LIBAVFORMAT_VERSION_MAJOR < 62) - if (av_fmt_ctx_get_duration_estimation_method(ctx) != AVFMT_DURATION_FROM_BITRATE) { -+#else -+ if (ctx->duration_estimation_method != AVFMT_DURATION_FROM_BITRATE) { -+#endif - - long long duration = ((long long) ctx->duration) * audio_sample_rate; - ms->audio_duration = (unsigned int) (duration / AV_TIME_BASE); diff --git a/flatpaker/data/patches/renpy-setuplib-fix-paths.patch b/flatpaker/data/patches/renpy-setuplib-fix-paths.patch deleted file mode 100644 index 3be248e..0000000 --- a/flatpaker/data/patches/renpy-setuplib-fix-paths.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- RenPy/module/setuplib.py 2025-02-18 16:05:48.162861005 -0800 -+++ RenPy/module/setuplib.py 2025-02-18 16:11:43.949962656 -0800 -@@ -165,7 +165,7 @@ - - for i in install: - -- for ldir in [i, os.path.join(i, "lib"), os.path.join(i, "lib64"), os.path.join(i, "lib32") ]: -+ for ldir in [i, os.path.join(i, "lib/x86_64-linux-gnu")]: - - for suffix in (".so", ".a", ".dll.a", ".dylib"): - diff --git a/pyproject.toml b/pyproject.toml index ed6f4df..02c8473 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -37,7 +37,6 @@ [tool.mypy] strict = true packages = "flatpaker" - exclude = ['data/.*'] [tool.ruff] line-length = 100 From eea508963ef8d4ef6a6ca38eb80ff141198963b5 Mon Sep 17 00:00:00 2001 From: Dylan Baker Date: Fri, 21 Aug 2026 15:49:40 +0000 Subject: [PATCH 2/3] build-runtimes: Add support for fetching runtime data This requires git. Because the zip download doesn't inlcude submodules, I've required git for this. If someone wants to come up with a good automated way to create an archive that has the submodules in it, I'm open to that. --- README.md | 1 + flatpaker/actions/build_runtime.py | 39 +++++++++++++++++++++++++----- 2 files changed, 34 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index b0f4986..7a4fc39 100644 --- a/README.md +++ b/README.md @@ -222,6 +222,7 @@ That file must be written to `$XDG_CONFIG_HOME/flatpaker/config.toml` (if unset - flatpak-builder - flatpak - flat-manager-client (if using flat-manager export) +- git (if building runtimes) ### Schema diff --git a/flatpaker/actions/build_runtime.py b/flatpaker/actions/build_runtime.py index 8c48958..ec52017 100644 --- a/flatpaker/actions/build_runtime.py +++ b/flatpaker/actions/build_runtime.py @@ -3,8 +3,9 @@ from __future__ import annotations -import importlib.resources +import os import pathlib +import shutil import subprocess import typing @@ -17,6 +18,13 @@ _RUNTIME_ID_BASE = 'com.github.dcbaker.flatpaker' +def _get_runtime_dir() -> pathlib.Path: + cachedir = pathlib.Path( + os.environ.get('XDG_CACHE_HOME', os.path.expanduser('~/.cache'))) / 'flatpaker' + cachedir.mkdir(parents=True, exist_ok=True) + return cachedir / 'runtimes' + + def _get_renpy_branch(sdk: str) -> str: if '8' in sdk: return '8' @@ -87,6 +95,24 @@ def _need_platform_workaround() -> bool: return tuple(int(v) for v in raw_ver.split('.')) < (1, 4, 5) +def _fetch_runtimes() -> None: + runtimedir = _get_runtime_dir() + + git = shutil.which('git') + assert git is not None + if not runtimedir.exists(): + subprocess.run( + [git, 'clone', '--recurse-submodules', 'https://github.com/dcbaker/flatpaker-runtime.git', + runtimedir.as_posix()], + check=True, + ) + else: + subprocess.run( + [git, '-C', runtimedir.as_posix(), 'pull', '--recurse-submodules'], + check=True, + ) + + def build_runtimes(args: BuildRuntimeConfig) -> bool: runtimes: list[str] = [] if 'rpgmaker' in args.runtimes: @@ -98,14 +124,15 @@ def build_runtimes(args: BuildRuntimeConfig) -> bool: if 'renpy7-py3' in args.runtimes: runtimes.append(f'{_RUNTIME_ID_BASE}.RenPy.7.py3.Sdk.yml') - success = True - need_platform_workaround = _need_platform_workaround() - datadir = importlib.resources.files('flatpaker') / 'data' + runtimedir = _get_runtime_dir() + if not runtimedir.exists(): + _fetch_runtimes() + + success = True for runtime in runtimes: try: - with importlib.resources.as_file(datadir / runtime) as sdk: - _build_runtime(args, sdk, need_platform_workaround) + _build_runtime(args, runtimedir.joinpath(runtime), need_platform_workaround) except Exception: if not args.keep_going: raise From 082c739e9ecef3cdbb11a8189d0bb1d0f872755c Mon Sep 17 00:00:00 2001 From: Dylan Baker Date: Fri, 21 Aug 2026 15:55:24 +0000 Subject: [PATCH 3/3] build-runtime: Add option to force runtime updates --- flatpaker/actions/build_runtime.py | 2 +- flatpaker/entry.py | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/flatpaker/actions/build_runtime.py b/flatpaker/actions/build_runtime.py index ec52017..a693035 100644 --- a/flatpaker/actions/build_runtime.py +++ b/flatpaker/actions/build_runtime.py @@ -126,7 +126,7 @@ def build_runtimes(args: BuildRuntimeConfig) -> bool: need_platform_workaround = _need_platform_workaround() runtimedir = _get_runtime_dir() - if not runtimedir.exists(): + if not runtimedir.exists() or args.update: _fetch_runtimes() success = True diff --git a/flatpaker/entry.py b/flatpaker/entry.py index 043d898..1c1bcfb 100644 --- a/flatpaker/entry.py +++ b/flatpaker/entry.py @@ -42,6 +42,7 @@ class BuildArguments(BaseBuildArguments, typing.Protocol): class BuildRuntimeArguments(BaseBuildArguments, typing.Protocol): runtimes: list[EngineName] + update: bool class GenerateArguments(BaseArguments, typing.Protocol): url: str @@ -86,6 +87,7 @@ class BuildRuntimeConfig(_BuildCommonConfig): """Configuration for "build-runtimes".""" runtimes: list[EngineName] + update: bool @dataclasses.dataclass(slots=False, eq=False) @@ -199,6 +201,11 @@ def _parse_args() -> BaseArguments: default=_all_runtimes, help="Which runtimes to build", ) + runtimes_parser.add_argument( + '--update', + action='store_true', + help='Update the runtimes definitions to the latest', + ) runtimes_parser.set_defaults(action='build-runtimes') generate_parser = subparsers.add_parser( @@ -317,6 +324,7 @@ def _args_to_config() -> BuildFlatpakConfig | BuildRuntimeConfig | GenerateConfi gpg=rargs.gpg, keep_going=rargs.keep_going, runtimes=rargs.runtimes, + update=rargs.update, flat_manager=_flat_manager_config(rargs) ) case 'generate':