Pygame 용 Flatpak 포장
Flatpak은 Linux (Developer Docs) 용 샌드 박스 응용 프로그램 포장 시스템입니다. Pygame은 게임을 만드는 프레임 워크입니다.
나는 작년에 시작한 파이썬 도구보다는 JSON 매니페스트와 함께 flatpak-builder 사용하는 데 중점을 두었습니다. Flatub에서 호스팅 된 앱은이 방법으로 구축해야합니다.
관심있는 주요 파일은 다음과 같습니다.
org.pygame.baseapp.jsonorg.pygame.baseapp-py35.jsonorg.pygame.aliens.json이것은 Pygame 게임을위한 Flatpak 패키지를 만드는 실험 도구입니다. 그것을 사용하려면 :
페도라 25 또는 우분투 17.10과 같은 flatpak> = 0.8이 설치된 Linux 시스템이 필요합니다.
pip install pygame_fpak 사용하여 설치하십시오. 이 도구는 게임에서 Python 2를 사용하더라도 Python 3을 실행해야합니다.
pygame-fpak.toml 구성 파일을 작성하십시오.
# 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 실행하십시오.
이 repo의 다른 코드는 위에서 설명한 도구의 기본 앱을 빌드합니다. 제작 및 설치하려면 :
# 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기본 응용 프로그램에는 세 가지 변형이 있습니다.
-py36 에는 Python 3.6 AS /app/bin/python3 포함됩니다. 다운로드 할 약 30 MIB, 설치시 140 MIB입니다. 외계인 예제는 기본적으로이를 구축합니다.-py34 Freedesktop.org 런타임에서 제공하는 Python 3.4를 사용합니다. 이로 인해 다운로드 할 수있는 약 7 MIB, 40 MIB가 설치되어 있지만 코드에서 최신 Python 기능을 사용할 수는 없습니다.py27 Python 2.7을 사용합니다. Python 3.4 Base 앱과 비슷한 크기입니다.Flatpak 응용 프로그램은 런타임 , 공통 라이브러리 및 실행 파일 묶음을 사용합니다. 응용 프로그램이 주어진 런타임으로 사용자가 첫 번째로 설치 한 경우 FlatPak도 런타임을 다운로드합니다. 바라건대 대부분의 앱이 몇 번의 런타임을 공유하므로 설치가 빠르고 쉽습니다.