Pygame用のフラットパックパッケージ
Flatpakは、Linux(開発者ドキュメント)用のサンドボックス化されたアプリケーションパッケージシステムです。 Pygameはゲームを作成するためのフレームワークです。
昨年始めたPythonツールではなく、JSONマニフェストでflatpak-builderを使用することに焦点を当てました。 Flathubでホストされているアプリは、このように構築する必要があります。
関心のある主なファイルは次のとおりです。
org.pygame.baseapp.jsonorg.pygame.baseapp-py35.jsonorg.pygame.aliens.jsonこれは、Pygameゲーム用のフラットパックパッケージを作成するための実験ツールです。それを使用するには:
Fedora 25やUbuntu 17.10など、Flatpak> = 0.8がインストールされているLinuxシステムが必要です。
pip install pygame_fpakを使用してインストールします。ゲームがPython 2を使用している場合でも、このツールはPython 3を実行する必要があります。
このようなpygame-fpak.toml configファイルを作成します。
# At the moment, you can specify "3.6", "3.4" or "2.7".
# 3.6 produces a somewhat bigger app to download.
python = " 3.6 "
# User-visible name
name = " Solarwolf "
# Identifier based on a reverse domain name you control. E.g. if your
# project is on Github, you could use io.github.username.reponame
appid = " org.pygame.solarwolf "
# Files/directories needed to run the game - relative paths from where
# the config file lives.
files = [
" solarwolf "
]
# The function to start your game. This will be called like:
# from solarwolf.cli import main; main()
entry-point = " solarwolf.cli:main "
# Icons in different sizes. Icons should be square, sizes are pixels
# along one side of a square. 32, 48 and 64 are common.
[ icons ]
64 = " dist/solarwolf.png " python3 -m pygame_fpak pygame-fpak.toml実行します。
このレポの他のコードは、上記のツールのベースアプリを構築します。それらを構築してインストールするには:
# Slow, but only needed once:
make install-runtime
# Build the base applications and install them:
make install-baseapp-py36.done
make install-baseapp-py34.done
make install-baseapp-py27.doneベースアプリケーションには3つのバリエーションがあります。
-py36には、Python 3.6 As /app/bin/python3が含まれています。これは、ダウンロードする約30 MIB、インストール時に140 MIBです。エイリアンの例は、デフォルトでこれに基づいて構築されています。-py34 、freedesktop.orgランタイムによって提供されるpython 3.4を使用します。これにより、ダウンロードするのが約7ミブ、40 MIBがインストールされていますが、コードで最新のPython機能を使用することはできません。py27はPython 2.7を使用します。 Python 3.4ベースアプリと同様のサイズです。フラットパックアプリケーションは、ランタイム、一般的なライブラリと実行可能ファイルの束を使用します。アプリケーションが特定のランタイムで最初のインストールされている場合、FlatPakはランタイムもダウンロードします。うまくいけば、ほとんどのアプリが数回のランタイムを共有することを願っています。そのため、インストールが迅速かつ簡単になります。