Skip to main content

Flatpak support for Panda3D

Project description

NOTE ==========================================================================

This works on Linux only.

INSTALLATION ==================================================================

pip install panda3d-flatpak

USAGE =========================================================================

In your setup.py file, add the following:

from direct.dist.commands import bdist_apps
from p3d_flatpak import FlatpakBuilder

class BDistAppsCmd(bdist_apps):
def run(self):
bdist_apps.run(self)
bld = FlatpakBuilder(
self,
'com.yourCompany.YourProject',
'/home/you/path/to/flatpak_repo',
'D43B...B5',
'/home/you/path/to/gpg',
'http://www.yourdomain.org/flatpak')
bld.build()

setup(
...
cmdclass={"bdist_apps": BDistAppsCmd},
... )

This article
(https://blogs.gnome.org/alexl/2017/02/10/maintaining-a-flatpak-repository/)
contains a section which explains how to create GPG keys for signing Flatpak
repos.

UPDATES =======================================================================

If you built a Flatpak repo, and later you modify your code and execute 'python
setup.py bdist_apps' again, your Flatpak repo will be updated. So, your users
can do their 'flatpak update' command to update your project.

EXAMPLE =======================================================================

Let's build a Flatpak repository for the Panda3D's Asteroids example.

First of all, create your GPG key (look at the article cited earlier).

Modify the file setup.py
(https://github.com/panda3d/panda3d/blob/master/samples/asteroids/setup.py)
adding these lines:

from direct.dist.commands import bdist_apps
from p3d_flatpak import FlatpakBuilder

class BDistAppsCmd(bdist_apps):
def run(self):
bdist_apps.run(self)
bld = FlatpakBuilder(
self,
'org.panda3d.Asteroids',
'/home/you/panda3d/samples/asteroids/dist/flatpak_repo',
'D43B...B5',
'/home/you/path/to/gpg',
'file:///home/you/panda3d/samples/asteroids/dist/flatpak_repo')
bld.build()

setup(
...
cmdclass={"bdist_apps": BDistAppsCmd},
... )

Then, launch the standard Panda3D build command:

python setup.py bdist_apps

At the end of the process, you will get the builds created by Panda3D, your
Flatpak repository in dist/flatpak_repo/ and a .flatpakref file in dist/.

Let's install Asteroids:
flatpak --user install file:///home/you/panda3d/samples/asteroids/dist/asteroids-stable.flatpakref

Let's run Asteroids:
flatpak run org.panda3d.Asteroids

Now, you can delete build/ and dist/, then you can rebuild it changing the URL
(from file:///... to https://...), so you can use it online (in place of
locally): just upload the repo to the path you specified and the .flatpakref
somewhere and everything should work.

Project details


Download files

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

Source Distribution

panda3d-flatpak-0.1.2.tar.gz (5.8 kB view details)

Uploaded Source

Built Distribution

panda3d_flatpak-0.1.2-py3-none-any.whl (5.6 kB view details)

Uploaded Python 3

File details

Details for the file panda3d-flatpak-0.1.2.tar.gz.

File metadata

  • Download URL: panda3d-flatpak-0.1.2.tar.gz
  • Upload date:
  • Size: 5.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.0 CPython/3.9.12

File hashes

Hashes for panda3d-flatpak-0.1.2.tar.gz
Algorithm Hash digest
SHA256 0603de149a9e66e4037b2f09a9d2bcb9558eea47aba22b72a1563f7cb9f9fed7
MD5 586cf32c7c5c31cdb641d0e79a46db06
BLAKE2b-256 5c2fa7fbe71ca3104f5eac78f6813062c5e1cb7e601a2946d7b2a552e794852e

See more details on using hashes here.

File details

Details for the file panda3d_flatpak-0.1.2-py3-none-any.whl.

File metadata

File hashes

Hashes for panda3d_flatpak-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 5659545f475c7b73973ef83b75304c4b10dfd08b821927fda2bbc2aa60504141
MD5 bceb9a232456885b87d98d10e4c54987
BLAKE2b-256 7a7bd84f57f22c4bd8eddc14da850061adeec66ae355703217a77031f28df847

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