Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add org.upbge.UPBGE #4713

Closed
wants to merge 9 commits into from
Closed
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
178 changes: 178 additions & 0 deletions .gitignore
MolassesLover marked this conversation as resolved.
Show resolved Hide resolved
Original file line number Diff line number Diff line change
@@ -0,0 +1,178 @@
# Prerequisites
*.d

# Compiled Object files
*.slo
*.lo
*.o

# Precompiled Headers
*.gch
*.pch

# Compiled Dynamic libraries
*.so
*.dylib
*.dll

# Fortran module files
*.mod
*.smod

# Compiled Static libraries
*.lai
*.la
*.a
*.lib

# Executables
*.exe
*.out
*.app

# Binaries
[Bb]uild*
[Bb]in*
[Tt]arget*
*[Rr]esult*

# AppImage
AppDir/
AppImage/
appimage-build
*.AppImage*

# Flatpak
.flatpak-builder/

# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
*$py.class

# Distribution / packaging
.Python
develop-eggs/
dist/
[Dd]ownloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
wheels/
share/python-wheels/
*.egg-info/
.installed.cfg
*.egg
MANIFEST

# PyInstaller
*.manifest
*.spec

# Installer logs
pip-log.txt
pip-delete-this-directory.txt

# Unit test / coverage reports
htmlcov/
.tox/
.nox/
.coverage
.coverage.*
.cache
nosetests.xml
coverage.xml
*.cover
*.py,cover
.hypothesis/
.pytest_cache/
cover/

# Translations
*.mo
*.pot

# Django stuff:
*.log
local_settings.py
db.sqlite3
db.sqlite3-journal

# Flask stuff:
instance/
.webassets-cache

# Scrapy stuff:
.scrapy

# Sphinx documentation
docs/_build/

# PyBuilder
.pybuilder/

# Jupyter Notebook
.ipynb_checkpoints

# IPython
profile_default/
ipython_config.py

# pdm
.pdm.toml

# Temporary files
.swp

# PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm
__pypackages__/

# Celery stuff
celerybeat-schedule
celerybeat.pid

# SageMath parsed files
*.sage.py

# Environments
.env
.venv
env/
venv/
ENV/
env.bak/
venv.bak/

# Spyder project settings
.spyderproject
.spyproject

# Rope project settings
.ropeproject

# mkdocs documentation
/site

# mypy
.mypy_cache/
.dmypy.json
dmypy.json

# Pyre type checker
.pyre/

# pytype static type analyzer
.pytype/

# Cython debug symbols
cython_debug/

# Valgrind
vgcore*

# Temporary
*[Tt][Mm][Pp]*
3 changes: 3 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[submodule "shared-modules"]
path = shared-modules
url = https://github.com/flathub/shared-modules.git
3 changes: 3 additions & 0 deletions flathub.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"only-arches": ["x86_64"]
}
67 changes: 67 additions & 0 deletions org.upbge.UPBGE.appdata.xml
bbhtt marked this conversation as resolved.
Show resolved Hide resolved
bbhtt marked this conversation as resolved.
Show resolved Hide resolved
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
<?xml version="1.0" encoding="UTF-8"?>
<component type="desktop">
<id>org.upbge.UPBGE</id>
<launchable type="desktop-id">org.upbge.UPBGE.desktop</launchable>
<name>UPBGE</name>
<developer_name>UPBGE Community</developer_name>
<summary>Free and Open Source game engine integrated in Blender</summary>
<metadata_license>CC0-1.0</metadata_license>
<project_license>GPL-3.0</project_license>
<description>
<p>
An independent fork of Blender created by Porteries Tristan, aiming to
clean up and improve current Blender Game Engine (BGE) code, experiment
with new features, and implement forgotten features that currently exist
but have not been merged with the official releases of Blender.
</p>
<p>
UPBGE is a public, free and open-source project held together by its
community. Hundreds of contributors have volunteered to make this
project possible.
</p>
</description>
<url type="homepage">https://upbge.org</url>
<url type="help">https://upbge.org/#/documentation</url>
<url type="bugtracker">https://github.com/UPBGE/upbge/issues</url>
<screenshots>
<screenshot type="default">
<image>https://upbge.org/975e00fef0bd07865974.jpg</image>
</screenshot>
<screenshot>
<image>https://upbge.org/1d46281dc23f6cb1ab1a.jpg</image>
</screenshot>
</screenshots>
<content_rating type="oars-1.1"/>
<releases>
<release version="0.36.1" date="2023-08-20">
<description>
<p>New features:</p>
<ul>
<li>Most of new features comes from Blender development itself.</li>
<li>Convert DupliGroups/Instance collections at bge runtime.</li>
<li>BGUI library added to python modules folder.</li>
<li>Easy Online addon included.</li>
<li>Enable support of SoftBody volumes when we uncheck Shape Match.</li>
<li>Added the ability to play NLA tracks with Action actuator.</li>
<li>Added the possibility to convert actions at runtime.</li>
<li>Remove hardcoded limit for objects linked in logic bricks editor.</li>
<li>Allow antialiasing for ImageRender if nothing is moving.</li>
<li>Allow full rendered passes in ImageRender.</li>
<li>Added number of render passes per frame option.</li>
<li>Added an option for AddObject to duplicate object data.</li>
<li>Added an option to update LOD physics.</li>
<li>Allow hidden lodlevels to be evaluated by depsgraph.</li>
<li>Added experimental support for openXR.</li>
<li>Allow activity culling for all object types.</li>
<li>Blender realtime compositor in viewport works in game engine now.</li>
<li>Option for Show Profile and Debug Properties in bigger size for High Dpi Screens.</li>
<li>Added a "Soft Shadow Override" per light switch.</li>
<li>4 extra buttons added for Mouse.</li>
<li>Support for Grease Pencil modifiers animation added.</li>
<li>Use the up-to-date dshow format instead of death vfwcap format for camera capture.</li>
<li>New video play and video capture component template.</li>
</ul>
</description>
</release>
</releases>
</component>
137 changes: 137 additions & 0 deletions org.upbge.UPBGE.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,137 @@
id: org.upbge.UPBGE
runtime: org.freedesktop.Platform
runtime-version: '22.08'
MolassesLover marked this conversation as resolved.
Show resolved Hide resolved
sdk: org.freedesktop.Sdk
command: blender
finish-args:
- "--share=ipc"
- "--socket=wayland"
- "--socket=fallback-x11"
- "--socket=pulseaudio"
- "--device=dri"
- "--share=network"
- "--filesystem=host"
TingPing marked this conversation as resolved.
Show resolved Hide resolved
- "--filesystem=/run/spnav.sock:ro"
- "--env=SPNAV_SOCKET=/run/spnav.sock"
- "--env=TMP_DIR=/tmp"
- "--env=TMP=/tmp"
bbhtt marked this conversation as resolved.
Show resolved Hide resolved
add-extensions:
org.upbge.UPBGE.Codecs:
directory: lib/codecs
add-ld-path: lib
bundle: true
autodelete: true
org.freedesktop.Platform.ffmpeg-full:
directory: lib/ffmpeg
version: '22.08'
bbhtt marked this conversation as resolved.
Show resolved Hide resolved
add-ld-path: "."
cleanup-commands:
- mkdir -p /app/lib/ffmpeg
modules:
- shared-modules/libdecor/libdecor-0.1.1.json
- name: x264
config-opts:
- "--prefix=/app/lib/codecs"
- "--enable-lto"
- "--enable-pic"
- "--enable-shared"
- "--disable-cli"
sources:
- type: git
url: https://code.videolan.org/videolan/x264.git
commit: baee400fa9ced6f5481a728138fed6e867b0ff7f
cleanup:
- "/lib/codecs/include"
- "/lib/codecs/lib/pkgconfig"
- name: ffmpeg
MolassesLover marked this conversation as resolved.
Show resolved Hide resolved
build-options:
env:
PKG_CONFIG_PATH: "/app/lib/codecs/lib/pkgconfig"
config-opts:
- "--prefix=/app/lib/codecs"
- "--enable-shared"
- "--disable-static"
- "--disable-doc"
- "--enable-gpl"
- "--enable-version3"
- "--disable-nonfree"
- "--enable-optimizations"
- "--enable-pthreads"
- "--disable-bzlib"
- "--disable-libgsm"
- "--enable-libtheora"
- "--enable-libvorbis"
- "--enable-libvpx"
- "--enable-libx264"
- "--enable-zlib"
- "--disable-libxcb"
- "--disable-lzma"
- "--disable-programs"
- "--disable-network"
- "--disable-protocols"
- "--enable-protocol=file"
- "--disable-devices"
- "--enable-muxer=avi"
- "--enable-muxer=h264"
- "--enable-muxer=mov"
- "--enable-muxer=mp4"
- "--enable-muxer=ogg"
- "--enable-muxer=webm"
- "--enable-demuxer=avi"
- "--enable-demuxer=h264"
- "--enable-demuxer=mov"
- "--enable-demuxer=mp3"
- "--enable-demuxer=ogg"
- "--enable-demuxer=wav"
- "--enable-parser=h264"
- "--enable-parser=vorbis"
- "--enable-encoder=aac"
- "--enable-encoder=libtheora"
- "--enable-encoder=libvorbis"
- "--enable-encoder=libvpx_vp8"
- "--enable-encoder=libvpx_vp9"
- "--enable-encoder=libx264"
- "--enable-encoder=mpeg4"
- "--enable-decoder=aac"
- "--enable-decoder=h264"
- "--enable-decoder=libvorbis"
- "--enable-decoder=libvpx_vp8"
- "--enable-decoder=libvpx_vp9"
- "--enable-decoder=mp3"
- "--enable-decoder=mpeg4"
- "--enable-decoder=pcm_s16le"
- "--enable-decoder=theora"
sources:
- type: archive
url: https://www.ffmpeg.org/releases/ffmpeg-6.0.tar.xz
sha256: 57be87c22d9b49c112b6d24bc67d42508660e6b718b3db89c44e47e289137082
cleanup:
- "/lib/codecs/include"
- "/lib/codecs/lib/pkgconfig"
- "/lib/codecs/share"
- name: upbge
buildsystem: simple
build-commands:
- install -Dm755 blender.sh /app/bin/blender
- mv blender /app/blender
- install -Dm644 /app/blender/upbge.desktop /app/share/applications/$FLATPAK_ID.desktop
- desktop-file-edit --set-icon=${FLATPAK_ID} /app/share/applications/${FLATPAK_ID}.desktop
bbhtt marked this conversation as resolved.
Show resolved Hide resolved
- install -Dm644 /app/blender/upbge.svg /app/share/icons/hicolor/scalable/apps/$FLATPAK_ID.svg
- install -Dm644 /app/blender/upbge-symbolic.svg /app/share/icons/hicolor/symbolic/apps/$FLATPAK_ID-symbolic.svg
- cd /app/blender/*.*/datafiles && mv locale /app/share/locale && ln -sf /app/share/locale locale
- install -Dm644 $FLATPAK_ID.appdata.xml /app/share/metainfo/$FLATPAK_ID.metainfo.xml
sources:
- type: archive
url: https://github.com/UPBGE/upbge/releases/download/v0.36.1/upbge-0.36.1-linux-x86_64.tar.xz
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

no build from source?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Building Blender and its forks from source is extremely convoluted and not sustainable. Building each dependency from source is currently not very well supported by Blender, and as such you need to use the pre-compiled binaries which in return causes problems with building in a sandbox because of how their build system works. If there's a problem with this, please take it up to the official Blender Flatpak because I'm following their footsteps.

sha256: 0d53fdace0f9755c3475e5cb98dfee3e63f9968aa2b7fe516b0a8c4b1326ca4f
strip-components: 0
- type: shell
commands:
- mv upbge*linux* blender
bbhtt marked this conversation as resolved.
Show resolved Hide resolved
- type: script
commands:
- cd /app/blender
- exec ./blender "$@"
dest-filename: blender.sh
- type: file
path: org.upbge.UPBGE.appdata.xml
bbhtt marked this conversation as resolved.
Show resolved Hide resolved
1 change: 1 addition & 0 deletions shared-modules
Submodule shared-modules added at 17c149