app-id: org.lhowon.alephone runtime: org.freedesktop.Platform runtime-version: &runtime-version '25.08' sdk: org.freedesktop.Sdk command: alephone finish-args: # X11 - --share=ipc - --socket=x11 # Hardware 3D, audio and network for multiplayer - --device=dri - --socket=pulseaudio - --share=network cleanup: - /include - '*.a' - /lib/cmake - /lib/pkgconfig - /share/aclocal - /share/doc - /share/man add-extensions: org.freedesktop.Platform.ffmpeg-full: directory: lib/ffmpeg add-ld-path: . version: *runtime-version no-autodownload: true autodelete: false build-options: strip: true no-debuginfo: true modules: - ../shared-modules/glu/glu-9.json - ../shared-modules/SDL2/SDL2_ttf.json - ../shared-modules/SDL2/SDL2_image.json - name: boost buildsystem: cmake-ninja builddir: true config-opts: - -DBOOST_INCLUDE_LIBRARIES=algorithm;filesystem;iostreams;iterator;lockfree;property_tree;system;tokenizer;unordered;uuid sources: - type: archive url: https://github.com/boostorg/boost/releases/download/boost-1.92.0/boost-1.92.0-cmake.tar.xz sha256: 9bed76128d4e46755dbe818487788c6fceb6f72b378f4daa49b7e1e600d9088d x-checker-data: type: json url: https://api.github.com/repos/boostorg/boost/releases/latest version-query: .tag_name | sub("boost-"; "") url-query: .assets[] | select(.name | test("^boost-.*-cmake.tar.xz$")).browser_download_url - name: zziplib buildsystem: cmake-ninja sources: - type: archive url: https://github.com/gdraheim/zziplib/archive/refs/tags/v0.13.80.tar.gz sha256: 21f40d111c0f7a398cfee3b0a30b20c5d92124b08ea4290055fbfe7bdd53a22c x-checker-data: type: anitya project-id: 13802 url-template: https://github.com/gdraheim/zziplib/archive/refs/tags/v$version.tar.gz - name: miniupnpc buildsystem: cmake-ninja subdir: miniupnpc sources: - type: archive sha256: 8cf2c833b3e76fc4893ff29c2a376e3394962449e5970e373c0a91421724d222 url: https://github.com/miniupnp/miniupnp/archive/refs/tags/miniupnpc_2_3_3.tar.gz x-checker-data: type: anitya project-id: 1986 url-template: https://github.com/miniupnp/miniupnp/archive/refs/tags/miniupnpc_${major}_${minor}_${patch}.tar.gz config-opts: - -DUPNPC_BUILD_STATIC=FALSE - -DUPNPC_BUILD_SHARED=TRUE - -DUPNPC_BUILD_TESTS=FALSE - -DUPNPC_BUILD_SAMPLE=FALSE - name: asio config-opts: - --prefix=/app sources: - type: archive url: https://sourceforge.net/projects/asio/files/asio/1.38.2%20(Stable)/asio-1.38.2.tar.gz sha256: 4893ad026013d1f64bf111c606e6abd857bb953823a4744e449969f1063fd9ce x-checker-data: type: anitya project-id: 117 url-template: https://sourceforge.net/projects/asio/files/asio/${version}%20(Stable)/asio-${version}.tar.gz - name: alephone buildsystem: autotools config-opts: - --prefix=/app - --with-boost-libdir=/app/lib - --with-sdl_image - --with-ffmpeg - --with-curl - --with-zzip - --with-png - --with-miniupnpc sources: - type: archive url: https://api.github.com/repos/Aleph-One-Marathon/alephone/tarball/release-20250829 dest-filename: alephone.tar.gz sha256: 29a5c5592a630b58941ca7161f380371ea4a45c3ba9b17d5f3e892c81ee4a1b6 x-checker-data: type: json url: https://api.github.com/repos/aleph-one-marathon/alephone/releases/latest version-query: .tag_name url-query: .tarball_url - type: file path: org.lhowon.alephone.metainfo.xml - type: extra-data url: https://github.com/Aleph-One-Marathon/alephone/releases/download/release-20250829/Marathon-20250829-Data.zip sha256: 644fa202a8df19fd5c36b8c4bc3777c33afd291e2874669defc1819d8e132620 size: 26408514 filename: marathon-data.zip x-checker-data: type: json url: https://api.github.com/repos/aleph-one-marathon/alephone/releases/latest version-query: .tag_name url-query: .assets[] | select(.name | test("^Marathon-.*-Data.zip")).browser_download_url - type: extra-data url: https://github.com/Aleph-One-Marathon/alephone/releases/download/release-20250829/Marathon2-20250829-Data.zip sha256: cac0ce7bd37b91f5da15ad63be1b6131e1f75496906e8fd6af20f0bb1ab86cf9 size: 28902408 filename: marathon2-data.zip x-checker-data: type: json url: https://api.github.com/repos/aleph-one-marathon/alephone/releases/latest version-query: .tag_name url-query: .assets[] | select(.name | test("^Marathon2-.*-Data.zip")).browser_download_url - type: extra-data url: https://github.com/Aleph-One-Marathon/alephone/releases/download/release-20250829/MarathonInfinity-20250829-Data.zip sha256: 8b6ba6b2ca9714a2235b3063281f176ccd27a2e23b96c014f5c700d9a222a018 size: 31852152 filename: marathon-infinity-data.zip x-checker-data: type: json url: https://api.github.com/repos/aleph-one-marathon/alephone/releases/latest version-query: .tag_name url-query: .assets[] | select(.name | test("^MarathonInfinity-.*-Data.zip")).browser_download_url - type: script dest-filename: apply_extra commands: - mkdir tmp - for game in "marathon" "marathon2" "marathon-infinity"; do - echo "Installing $game..." - mkdir -p /app/extra/$game - unzip -d tmp $game-data.zip - rm $game-data.zip - mv "tmp/$(ls tmp)/"* /app/extra/$game - rm -rf tmp - done - type: script dest-filename: autogen.sh commands: - autoreconf -v -i post-install: - mkdir -p /app/lib/ffmpeg /app/lib/x86_64-linux-gnu/dri/intel-vaapi-driver /app/share/icons/hicolor/256x256/apps # Aleph One main shortcut - desktop-file-edit --set-icon=${FLATPAK_ID} flatpak/alephone.desktop - desktop-file-edit --set-key=Exec --set-value=alephone flatpak/alephone.desktop - install -Dm644 flatpak/alephone.png /app/share/icons/hicolor/512x512/apps/${FLATPAK_ID}.png - install -Dm755 flatpak/alephone.desktop -T /app/share/applications/${FLATPAK_ID}.desktop # Marathon shortcut - desktop-file-edit --set-icon=${FLATPAK_ID}.marathon flatpak/marathon.desktop - desktop-file-edit --set-key=Exec --set-value="alephone /app/extra/marathon" flatpak/marathon.desktop - desktop-file-edit --set-key=Name --set-value="Marathon" flatpak/marathon.desktop - install -Dm644 flatpak/marathon.png /app/share/icons/hicolor/512x512/apps/${FLATPAK_ID}.marathon.png - install -Dm755 flatpak/marathon.desktop -T /app/share/applications/${FLATPAK_ID}.marathon.desktop # Marathon 2 shortcut - desktop-file-edit --set-icon=${FLATPAK_ID}.marathon2 flatpak/marathon2.desktop - desktop-file-edit --set-key=Exec --set-value="alephone /app/extra/marathon2" flatpak/marathon2.desktop - desktop-file-edit --set-key=Name --set-value="Marathon 2 - Durandal" flatpak/marathon2.desktop - install -Dm644 flatpak/marathon2.png /app/share/icons/hicolor/512x512/apps/${FLATPAK_ID}.marathon2.png - install -Dm755 flatpak/marathon2.desktop -T /app/share/applications/${FLATPAK_ID}.marathon2.desktop # Marathon Infinity shortcut - desktop-file-edit --set-icon=${FLATPAK_ID}.marathon-infinity flatpak/marathon-infinity.desktop - desktop-file-edit --set-key=Exec --set-value="alephone /app/extra/marathon-infinity" flatpak/marathon-infinity.desktop - desktop-file-edit --set-key=Name --set-value="Marathon Infinity" flatpak/marathon-infinity.desktop - install -Dm644 flatpak/marathon-infinity.png /app/share/icons/hicolor/512x512/apps/${FLATPAK_ID}.marathon-infinity.png - install -Dm755 flatpak/marathon-infinity.desktop -T /app/share/applications/${FLATPAK_ID}.marathon-infinity.desktop # Game data installation script - install -Dm755 apply_extra /app/bin/ - install -Dm644 ${FLATPAK_ID}.metainfo.xml -t /app/share/metainfo/