[needs-packaging] Panda3D graphics engine

Bug #254978 reported by moma
26
This bug affects 4 people
Affects Status Importance Assigned to Milestone
Debian
New
Unknown
Ubuntu
Confirmed
Wishlist
Jörn Schönyan
Nominated for Intrepid by Michael Craft

Bug Description

This is a request and wish, not an error message.

Panda3D is a graphics engine for 3D rendering and game development. The library is written in C++/OpenGL and it provides both Python and C++ programming API. Python is the recommended programming language.

About the license:
At Wednesday 28 May 2008, the Panda3D development switched to the BSD license. However, since the release was still using the old license, it has not been officially updated yet until the next major release of Panda3D.

Study: http://www.panda3d.org
and http://en.wikipedia.org/wiki/Panda3d

Currently Ubuntu does not include ready-made packages and we have to compile it from source code or use some old packages. So please, include Panda3d in Ubuntu's repo.

See: http://ubuntuforums.org/showthread.php?t=45667
(note: Moma's posting on page 2 shows how to compile it and create a .deb package)

See: http://brainstorm.ubuntu.com/idea/3856/promote/
(a brainstorm request)
----
I will help with anything you ask, but I have no experience or capacity to maintain the packages myself.

Revision history for this message
Michael Craft (holographicpizza) wrote :

It would be excellent to see this in the repos. Right now this is very complicated to compile and install.

Revision history for this message
moma (osmoma) wrote :

Panda's home page has now ready-made packages for Ubuntu.
http://www.panda3d.org/download.php

Changed in debian:
status: Unknown → New
Revision history for this message
Rob van der Linde (robvdl) wrote :

I want to look into packaging this if it's cool, I am proficient with Python, C++, and we use Panda 3D extensively at work already.

I have done my own .deb packaging and also package our own software at work, so I am fairly familiar with the packaging tools already.

I will look into building some packages at work tomorrow and see how it goes, I might need some help in getting started though, as I have never been an official maintainer.

Revision history for this message
Rob van der Linde (robvdl) wrote :

I downloaded the source and it doesn't seem to have any source of standard build environment, no make files, no automake, no cmake, or qmake, so this might not be as easy as I thought.

I did find this:

https://launchpad.net/~panda3d/+archive/ppa

Does this not mean we need to get these packages in the repository first??

Revision history for this message
Rob van der Linde (robvdl) wrote :

I think one of the problems might be that this requires fmod to compile, which isn't an open source license. It appears that the Panda 3D Launchpad team have packaged up fmoxex, but it may be a binary only package.

Revision history for this message
Rob van der Linde (robvdl) wrote :

Sorry I meant "fmodex", and the license of this library is not really open source compatible from what I can see, which might be half the problem why Panda3D is not in the repository now.

Fmod have a non-commercial license which is restrictive, the library comes as pre-compiled .so files without source, and some header files to use the library, that is all.

Revision history for this message
Rigved Rakshit (rigved) wrote :

Devel builds for Precise are also up now on the website: http://www.panda3d.org/download.php?platform=precise&version=devel&sdk

Plus, they already have .debs for the other Ubuntu versions: http://www.panda3d.org/download.php?platform=ubuntu&version=1.8.0&sdk

Here is a cheatsheet which I followed to get Panda3D to compile on my Ubuntu 12.04: https://github.com/PeteX/friendlyfruit/wiki/Building-Panda3D

One problem is that some of the third-party plugins which Panda3D uses are not available in Ubuntu. So, there is a need to package those first or they will have to be included inside the Panda3D .deb (like fmodex which was mentioned earlier).

Revision history for this message
Rob van der Linde (robvdl) wrote :

They do already have debs yes, however the problem we have always experienced at work over the years, is that when a newer version of Ubuntu comes out they won't build the current stable version of Panda 3D for that newer version for a quite some time. In the end, we usually have to end up installing one for an older version of Ubuntu, which may or may not work, this isn't cool.

I am going to look if it is possible to build Panda3D wihout fmodex.

Revision history for this message
rdb (rdb) wrote :

I'm the release maintainer for the Panda3D project, and I'd love to offer any assistance if required. We currently offer Ubuntu and Debian repositories at http://archive.panda3d.org, but it'd be cool to have Panda3D in the official repositories.

Panda3D supports two audio libraries: OpenAL and FMOD Ex. It can easily be compiled without support for the latter - OpenAL is already in the repositories, so that should be not much of a problem.

The only other libraries that Panda depends on that aren't currently in the repositories are libsquish (DXT texture compression), libvrpn (for VR hardware), and libfcollada (support for COLLADA 3D format). All of these are open source, and I've uploaded source packages to the aforementioned PPA. I'm not much of an expert at debian packaging though, so the quality is probably not up to standards. All of these libraries are optional, but recommended.

We don't have a makefile, but the equivalent for "make" would be:
python makepanda/makepanda.py --everything --verbose
makepanda can automatically generate a .deb file by adding the --installer flag, but I assume that you'll want to build a source package.
The equivalent for "make install DESTDIR=target" is:
python makepanda/installpanda.py --prefix /usr/local --destdir target

We have plans to migrate to CMake, but Panda3D is a big project, so it may take a while for that to happen.

PS. I'll be on vacation for two weeks starting tomorrow, so I won't be able to reply during that time.

Changed in ubuntu:
assignee: nobody → Jörn Schönyan (joern-schoenyan)
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.