og-odamex/packaging/flatpak/net.odamex.Odamex.yml
2026-07-31 21:20:44 -05:00

118 lines
3.7 KiB
YAML

# yaml-language-server: $schema=https://raw.githubusercontent.com/flatpak/flatpak-builder/main/data/flatpak-manifest.schema.json
---
app-id: net.odamex.Odamex
runtime: org.freedesktop.Platform
runtime-version: "25.08"
sdk: org.freedesktop.Sdk
command: select-exe
separate-locales: false
finish-args:
- --share=ipc
- --device-if=all:!has-input-device
- --device=input
- --device=dri
- --socket=pulseaudio
- --share=network
- --socket=wayland
- --socket=fallback-x11
- --filesystem=~/.odamex:create
- --filesystem=home # needs to be able to create banfile.json and read any odasrv cfgs
- --filesystem=host-os:ro # for standard doom data locations in /usr
- --filesystem=host-etc:ro # standard location for timidity configs, so users can override the included one
- --env=TIMIDITY_CFG=/app/etc/timidity.cfg
modules:
- name: timidity-instruments
buildsystem: simple
build-commands:
- mkdir -p /app/etc/
- install timidity.cfg /app/etc/sdl_timidity.cfg
- mkdir -p /app/share/timidity/
- cp -r instruments /app/share/timidity/instruments
sources:
- type: archive
url: https://www.libsdl.org/projects/old/SDL_mixer/timidity/timidity.tar.gz
sha256: ee7c59bb5d5fae206d53eef0e82b5ed739e7cbf69252a3754024f8f52ebe77aa
- name: SDL2-mixer
buildsystem: cmake-ninja
builddir: true
config-opts:
- -D SDL2MIXER_VENDORED=ON
- -D SDL2MIXER_DEPS_SHARED=OFF
- -D SDL2MIXER_SAMPLES=OFF
- -D CMAKE_INSTALL_LIBDIR=lib
sources:
- type: git
url: https://github.com/libsdl-org/SDL_mixer.git
tag: release-2.8.2
commit: b208916aed9250fe434360e6c6a95f0697bb7b01
# cpptrace dependencies
- name: libdwarf
buildsystem: cmake-ninja
config-opts:
- -D BUILD_DWARFDUMP=OFF
sources:
- type: git
url: https://github.com/jeremy-rifkin/libdwarf-lite.git
tag: v2.3.1
commit: d06f37ed6660b324e458387d43efde3d84c9dd55
# Odalaunch dependencies
- name: WxWidgets
buildsystem: cmake-ninja
config-opts:
- -D wxBUILD_SHARED=ON
- -D wxBUILD_TESTS=OFF
- -D wxBUILD_SAMPLES=OFF
- -D wxBUILD_DEMOS=OFF
- -D wxBUILD_TOOLKIT=gtk3
- -D wxUSE_SYS_LIBS=sys
cleanup:
- "/lib/wx"
- "/share/aclocal"
- "/share/bakefile"
- "/lib/libwx_gtk3u_adv-3.3*"
- "/lib/libwx_gtk3u_aui-3.3*"
- "/lib/libwx_gtk3u_gl-3.3*"
- "/lib/libwx_gtk3u_media-3.3*"
- "/lib/libwx_gtk3u_propgrid-3.3*"
- "/lib/libwx_gtk3u_qa-3.3*"
- "/lib/libwx_gtk3u_ribbon-3.3*"
- "/lib/libwx_gtk3u_richtext-3.3*"
- "/lib/libwx_gtk3u_stc-3.3*"
sources:
- type: git
url: https://github.com/wxWidgets/wxWidgets.git
tag: v3.3.3
commit: 670835aec7e54b9e9d5a50d6a1aea1e8ba0bcdb2
# Odamex (combined)
- name: Odamex
buildsystem: cmake-ninja
config-opts:
- -D CMAKE_BUILD_TYPE=RelWithDebInfo
- -D BUILD_OR_FAIL=1
- -D BUILD_CLIENT=1
- -D BUILD_SERVER=1
- -D BUILD_LAUNCHER=1
- -D BUILD_TESTS=0
- -D BUILD_MASTER=0
- -D BUILD_TESTS=0
- -D USE_INTERNAL_LIBS=0
- -D ODAMEX_INSTALL_BINDIR=/app/bin
- -D ODAMEX_INSTALL_DATADIR=/app/share
- -D USE_EXTERNAL_LIBDWARF=1
- -D ODAMEX_NO_GITVER=0
- -D ODAMEX_UPDATE_CVARDOCS=0
post-install:
- ./flatpak-post-install.sh
# delete files that cleanup can't see
- rm -rf /app/bin/wx*
- rm -rf /app/lib/cmake
- rm -rf /app/lib/pkgconfig
- rm -rf /app/lib64/cmake
- rm -rf /app/lib64/libdwarf.a
- rm -rf /app/lib64/pkgconfig
- rm -rf /app/include
sources:
- type: dir
path: ../..
- type: file
path: ./flatpak-post-install.sh