Files
flathub/org.redotengine.Redot.yaml

141 lines
5.1 KiB
YAML

app-id: org.redotengine.Redot
runtime: org.freedesktop.Sdk
runtime-version: &runtime-version '24.08'
sdk: org.freedesktop.Sdk
add-extensions:
org.freedesktop.Sdk.Extension.openjdk17:
directory: jdk
version: *runtime-version
no-autodownload: false
autodelete: false
command: redot
build-options:
env:
# Will be appended to the version string displayed in the editor and command-line help
BUILD_NAME: flathub
finish-args:
- --share=ipc
- --socket=wayland
- --socket=x11
- --share=network
- --socket=pulseaudio
- --filesystem=host
- --filesystem=xdg-run/speech-dispatcher # For TTS via libspeechd
- --device=all
- --talk-name=org.freedesktop.Flatpak
modules:
- shared-modules/glu/glu-9.json
- name: jdk
buildsystem: simple
build-commands:
- mkdir -p /app/jdk
# This section is borrowed from:
# https://github.com/flathub/org.electronjs.Electron2.BaseApp/blob/c4635368f6c11ace8c1290525da4435d13d9173f/org.electronjs.Electron2.BaseApp.yml#L103
# https://github.com/flathub/net.lutris.Lutris/blob/76e94a0b80ef3ebc1b9a6b61f47d736f5ddd772c/net.lutris.Lutris.yml#L495
# https://gitlab.archlinux.org/archlinux/packaging/packages/speech-dispatcher/-/blob/414baaf78b5fe416df88a89ac18d2dd579a0c653/PKGBUILD
- name: libspeechd
config-opts:
- --disable-static
- --with-ibmtts=no
- --with-kali=no
- --with-baratinoo=no
- --with-voxin=no
- --without-flite
- --disable-python
no-make-install: true
post-install:
- cd ./src/api/c && make install
cleanup:
- '*.la'
- '*.a'
- /include
sources:
- type: archive
url: https://github.com/brailcom/speechd/releases/download/0.11.5/speech-dispatcher-0.11.5.tar.gz
sha512: d6d880bce0ae5bc2a5d519ef7740c689ae8b4b0bb658379762810e4beae3e465a429fbe19f7c490e89db0ea6a36aedd4b2287ac9251b90059b5c2cb3c0dd8a28
x-checker-data:
type: anitya
project-id: 13411
stable-only: true
url-template: https://github.com/brailcom/speechd/releases/download/$version/speech-dispatcher-$version.tar.gz
modules:
# dotconf provides utility functions to parse config files. It's only linked with the speech-dispatcher server,
# which we aren't building, but it needs to exist to get past the ./configure step anyway
- name: dotconf
sources:
- type: archive
url: https://github.com/williamh/dotconf/archive/refs/tags/v1.4.1.tar.gz
sha512: a6cada8621295b268d4b4fd85bc0c207e78324c9e84754ead2fdf6c1598ec8bdf626f9c24e66063d921c95d73e83b50ab50416a9b4c9a7a631392552ec46f55a
x-checker-data:
type: anitya
project-id: 13410
url-template: https://github.com/williamh/dotconf/archive/refs/tags/v$version.tar.gz
- type: script
commands:
- autoreconf -fiv
dest-filename: autogen.sh
cleanup:
- '*'
- name: scons
buildsystem: simple
cleanup: ['*']
sources:
- type: archive
sha256: cad573b329b6a5bc7e654b01f0231064acc979026af68a9e467ddb32bf2ee501
url: https://downloads.sourceforge.net/project/scons/scons/4.8.1/SCons-4.8.1.tar.gz
x-checker-data:
type: anitya
project-id: 4770
url-template: https://downloads.sourceforge.net/project/scons/scons/$version/SCons-$version.tar.gz
build-commands:
- pip3 install --no-index --no-build-isolation --prefix=/app .
- name: redot-tools
buildsystem: simple
sources:
# Source code tarball
- type: archive
sha256: e9f3ead7e28337f39d1cfe5dd02a496b366399bbfc9e047b98bb0ca937e2184f
url: https://github.com/Redot-Engine/redot-engine/archive/refs/tags/redot-4.3-rc.4.tar.gz
# Binary tarball
- type: archive
sha256: c99c6bb0fa2f187c3672bc97e6dbbbc3f74dac84363914e3999bf1fb44953c22
url: https://github.com/Redot-Engine/redot-engine/releases/download/redot-4.3-rc.4/Redot_v4.3-rc.4_linux.x86_64.zip
- type: script
dest-filename: redot.sh
commands:
- export APPDATA="$XDG_DATA_HOME"
- if [ -f /app/jdk/enable.sh ]; then source /app/jdk/enable.sh; fi
- /app/bin/redot-bin "$@"
- type: file
path: org.redotengine.Redot.metainfo.xml
build-commands:
- install -D -m755 Redot_*_linux.* /app/bin/redot-bin
- install -D -m755 redot.sh /app/bin/redot
- desktop-file-edit --set-icon=$FLATPAK_ID misc/dist/linux/$FLATPAK_ID.desktop
- install -Dm644 misc/dist/linux/$FLATPAK_ID.desktop /app/share/applications/$FLATPAK_ID.desktop
- install -Dm644 misc/dist/linux/$FLATPAK_ID.xml /app/share/mime/packages/$FLATPAK_ID.xml
- install -Dm644 $FLATPAK_ID.metainfo.xml /app/share/metainfo/$FLATPAK_ID.metainfo.xml
- install -Dm644 icon.svg /app/share/icons/hicolor/scalable/apps/$FLATPAK_ID.svg
- >
for size in {32,64,128,256}; do
rsvg-convert icon.svg -w "$size" -h "$size" -a -f png -o "$size.png";
install -Dm644 "$size.png" "/app/share/icons/hicolor/${size}x${size}/apps/$FLATPAK_ID.png";
done