app-id: org.metamuffin.hurrycurry.client runtime: org.freedesktop.Platform runtime-version: "24.08" sdk: org.freedesktop.Sdk sdk-extensions: - org.freedesktop.Sdk.Extension.node20 command: hurrycurry finish-args: - --share=ipc - --socket=wayland - --socket=fallback-x11 - --socket=pulseaudio - --device=dri - --share=network build-options: arch: x86_64: env: # Only enable link-time optimization when targeting x86_64 # (causes issues on other architectures) SCONS_FLAGS_EXTRA: use_lto=yes env: BUILD_NAME: hurrycurry modules: - shared-modules/glu/glu-9.json - name: scons buildsystem: simple cleanup: ["*"] sources: - type: archive sha256: 6e928fc97984e719814270f6863f2183b3b72180b0162a5ed09db68c9994100c url: https://downloads.sourceforge.net/project/scons/scons/4.8.0/SCons-4.8.0.tar.gz build-commands: - python3 -m pip install --no-index --no-build-isolation --prefix=/app . - name: godot buildsystem: simple sources: - type: archive sha256: 751e55bfad8e04b846f9cf7b6eb80e058986a2cb1b103fc0fe6a4d8526a20e56 url: https://downloads.tuxfamily.org/godotengine/4.3/godot-4.3-stable.tar.xz - type: file path: custom.py build-commands: - python3 /app/bin/scons $SCONS_FLAGS_EXTRA profile=custom.py target=editor -j "$FLATPAK_BUILDER_N_JOBS" - python3 /app/bin/scons $SCONS_FLAGS_EXTRA profile=custom.py target=template_release -j "$FLATPAK_BUILDER_N_JOBS" - install -Dm755 bin/godot.linuxbsd.template_release.* /app/bin/godot - install -Dm755 bin/godot.linuxbsd.editor.* /app/bin/godot-editor - name: rust buildsystem: simple build-options: strip: false no-debuginfo: true cleanup: ["*"] sources: - type: archive only-arches: - aarch64 dest: rust url: https://static.rust-lang.org/dist/2024-09-30/rust-nightly-aarch64-unknown-linux-gnu.tar.xz sha256: 1f62e18f4097a7dee54867ea143e838a0e7f76fe72939da004b778ab97f45af4 - type: archive only-arches: - x86_64 dest: rust url: https://static.rust-lang.org/dist/2024-09-30/rust-nightly-x86_64-unknown-linux-gnu.tar.xz sha256: 4292aae15c11b6559c903743d1db309ee82f7f632644f8a9492571b2358931df build-commands: - cd rust && ./install.sh --prefix=/app/sdk/rust-nightly --without=rust-docs --without=rust-docs-json-preview --disable-ldconfig --verbose - name: hurrycurry-dist buildsystem: simple sources: - type: archive sha256: 26213c02bcaed6b87dd362c020c074902d43aa019d7e0490c035a59ec7e1fc6f url: https://codeberg.org/hurrycurry/hurrycurry-dist-extra/archive/fcf1cdbfa1cdbd73857b7d6507f667abde8eb0d1.tar.gz build-commands: - python translate.py - install -Dm755 hurrycurry /app/bin/hurrycurry - install -Dm644 org.metamuffin.hurrycurry.client.desktop /app/share/applications/org.metamuffin.hurrycurry.client.desktop - install -Dm644 org.metamuffin.hurrycurry.client.metainfo.xml /app/share/metainfo/org.metamuffin.hurrycurry.client.metainfo.xml - name: hurrycurry buildsystem: simple build-options: append-path: /usr/lib/sdk/node20/bin:/app/sdk/rust-nightly/bin env: CARGO_HOME: /run/build/hurrycurry/cargo sources: - type: archive sha256: f165fd6ddd2b0ce22cdb010049a8a39dd74de4943dbf0e994e6e0ca02b6b2a54 url: https://codeberg.org/hurrycurry/hurrycurry/archive/v2.1.1.tar.gz - generated-sources.json - type: file sha256: 294062c1e23a47f6bf4277ab5bcd51c9ddcb65fd5ece22b48c0171b465a9d3e7 url: https://s.metamuffin.org/static/hurrycurry-2.0/book.webp.tar.zst build-commands: - tar -xf book.webp.tar.zst -C client/menu/book - cargo --offline fetch --manifest-path Cargo.toml - make JSR=node -C data - make DATA_SEARCH_PATH=/app/share/hurrycurry/data CARGOFLAGS=--offline -C server discover server - make -C client assets locales - install -Dm755 target/release/hurrycurry-server /app/bin/hurrycurry-server - install -Dm755 target/release/hurrycurry-discover /app/bin/hurrycurry-discover - install -dD /app/share/hurrycurry/data/recipes - install -dD /app/share/hurrycurry/data/maps - cp -v data/index.yaml /app/share/hurrycurry/data/index.yaml - cp -vr data/recipes/*.yaml /app/share/hurrycurry/data/recipes - cp -vr data/maps/*.yaml /app/share/hurrycurry/data/maps - godot-editor --headless --export-pack wasm32-unknown-unknown /app/share/hurrycurry/client.pck client/project.godot - rm /app/bin/godot-editor - > for size in {32,64,128,256,512}; do ffmpeg -i client/icons/main.png -vf scale=${size}:${size} "$size.png" install -Dm644 "$size.png" "/app/share/icons/hicolor/${size}x${size}/apps/org.metamuffin.hurrycurry.client.png" done