Skip to main content

Flatpak packaging for pygame games.

Project description

Flatpak packaging for pygame

Flatpak is a sandboxed application packaging system for Linux (developer docs). Pygame is a framework for making games.

This is an experimental tool to make Flatpak packages for pygame games. To use it:

  1. You will need a Linux system with Flatpak >= 0.8 installed, such as Fedora 25 or Ubuntu 17.10.

  2. Install using pip install pygame_fpak. The tool needs Python 3 to run, even if your game uses Python 2.

  3. Create a pygame-fpak.toml config file like this:

    # 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"
  4. Run python3 -m pygame_fpak pygame-fpak.toml.


The other code in this repo builds the base apps for the tool described above. To build & install them:

# 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

There are three variants of the base application:

  • -py36 includes Python 3.6 as /app/bin/python3. This is approximately 30 MiB to download, and 140 MiB when installed. The Aliens example is built on this by default.

  • -py34 uses Python 3.4, which is provided by the freedesktop.org runtime. This makes it smaller - about 7 MiB to download, and 40 MiB installed - but you can’t use the latest Python features in your code.

  • py27 uses Python 2.7. It is a similar size to the Python 3.4 base app.

Flatpak applications use a runtime, a bundle of common libraries and executables. If your application is the first a user installs with a given runtime, Flatpak will download the runtime as well. Hopefully most apps will share a few runtimes, so that installation is quick and easy.

Project details


Release history Release notifications | RSS feed

This version

0.1

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

pygame_fpak-0.1-py3-none-any.whl (8.9 kB view details)

Uploaded Python 3

File details

Details for the file pygame_fpak-0.1-py3-none-any.whl.

File metadata

File hashes

Hashes for pygame_fpak-0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 ccc753a52cf923826d806f0d9e3dc01bbe4bbc04f942a5a1d9a219900ad2cb1d
MD5 e3950b9479f73c502145991eea3aaf14
BLAKE2b-256 11f59d544f0a17626b0a668a7377bcb806ad39e7357a274f5a23f99cf1c0f968

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page