Files
goose/io.github.block.Goose.yaml
BestCodes dc58534dd6 fixes
2026-05-29 09:31:44 -05:00

80 lines
4.3 KiB
YAML

app-id: io.github.block.Goose
runtime: org.freedesktop.Platform
runtime-version: '25.08'
sdk: org.freedesktop.Sdk
base: org.electronjs.Electron2.BaseApp
base-version: '25.08'
sdk-extensions:
- org.freedesktop.Sdk.Extension.node24
- org.freedesktop.Sdk.Extension.rust-stable
- org.freedesktop.Sdk.Extension.llvm22
command: goose-desktop
separate-locales: false
finish-args:
- --device=dri
- --share=ipc
- --socket=wayland
- --socket=fallback-x11
- --socket=pulseaudio
- --share=network
- --filesystem=home
- --talk-name=org.freedesktop.Flatpak
- --env=ELECTRON_TRASH=gio
- --env=XCURSOR_PATH=/run/host/user-share/icons:/run/host/share/icons
modules:
- name: goose-desktop
buildsystem: simple
build-options:
append-path: /usr/lib/sdk/node24/bin:/usr/lib/sdk/rust-stable/bin
env:
XDG_CACHE_HOME: /run/build/goose-desktop/flatpak-node/cache
npm_config_nodedir: /usr/lib/sdk/node24
CARGO_HOME: /run/build/goose-desktop/cargo
CARGO_NET_OFFLINE: 'true'
ELECTRON_SKIP_BINARY_DOWNLOAD: '1'
BINDGEN_EXTRA_CLANG_ARGS: --sysroot=/ -isystem /usr/lib/sdk/llvm22/lib/clang/22/include -isystem /usr/include
LIBCLANG_PATH: /usr/lib/sdk/llvm22/lib
RUSTY_V8_ARCHIVE: /run/build/goose-desktop/librusty_v8_release_x86_64-unknown-linux-gnu.a.gz
build-commands:
- install -Dm0644 cargo/config .cargo/config.toml
- cargo --offline build --release -p goose-server
- install -Dm0755 target/release/goosed ui/desktop/src/bin/goosed
- mkdir -p /run/build/goose-desktop/pnpm-cli /run/build/goose-desktop/pnpm-bin && tar -xzf pnpm-10.30.3.tgz -C /run/build/goose-desktop/pnpm-cli && ln -sf /run/build/goose-desktop/pnpm-cli/package/bin/pnpm.cjs /run/build/goose-desktop/pnpm-bin/pnpm && ln -sf /run/build/goose-desktop/pnpm-cli/package/bin/pnpx.cjs /run/build/goose-desktop/pnpm-bin/pnpx
- export PATH="/run/build/goose-desktop/pnpm-bin:$PATH" && cd ui && pnpm config set store-dir /run/build/goose-desktop/flatpak-node/pnpm-store && pnpm install --offline --frozen-lockfile
- |
export PATH="/run/build/goose-desktop/pnpm-bin:$PATH" && \
cd ui/desktop && \
perl -0pi -e "s/const \{ resolve \} = require\('path'\);\n/const { resolve } = require('path');\nconst postPackage = require('..\/..\/forge-post-package');\n/" forge.config.ts && \
perl -0pi -e "s/ icon: 'src\/images\/icon',\n/ icon: 'src\/images\/icon',\n electronZipDir: process.env.ELECTRON_ZIP_DIR,\n/" forge.config.ts && \
perl -0pi -e "s/module\.exports = \{\n/module.exports = {\n hooks: { postPackage },\n/" forge.config.ts && \
pnpm run i18n:compile && \
ELECTRON_SKIP_BINARY_DOWNLOAD=1 \
ELECTRON_ZIP_DIR=/run/build/goose-desktop/flatpak-node/cache/electron \
pnpm exec electron-forge package --platform=linux
- install -Dm0755 goose-desktop.sh /app/bin/goose-desktop
- install -Dm0644 io.github.block.Goose.desktop /app/share/applications/io.github.block.Goose.desktop
- install -Dm0644 io.github.block.Goose.metainfo.xml /app/share/metainfo/io.github.block.Goose.metainfo.xml
- install -Dm0644 ui/desktop/src/images/icon.svg /app/share/icons/hicolor/scalable/apps/io.github.block.Goose.svg
- install -Dm0644 ui/desktop/src/images/icon-512.png /app/share/icons/hicolor/512x512/apps/io.github.block.Goose.png
sources:
- type: archive
url: https://github.com/aaif-goose/goose/archive/refs/tags/v1.34.1.tar.gz
sha256: f8bb579750bb7dba3fd8685a27b4986f7caa2d629f6d80cd7879308dcf540c36
strip-components: 1
- type: file
url: https://github.com/denoland/rusty_v8/releases/download/v145.0.0/librusty_v8_release_x86_64-unknown-linux-gnu.a.gz
sha256: 7215753c0c78d141f752d7b993794bae07e18a1dfd466dcaa84fa64e76bacac1
- type: file
url: https://registry.npmjs.org/pnpm/-/pnpm-10.30.3.tgz
sha512: c961d1e0a2d8e354ecaa5166b822516668b7f44cb5bd95122d590dd81922f606f5473b6d23ec4a5be05e7fcd18e8488d47d978bbe981872f1145d06e9a740017
- type: file
path: flatpak/forge-post-package.js
- type: file
path: flatpak/goose-desktop.sh
- type: file
path: flatpak/io.github.block.Goose.desktop
- type: file
path: flatpak/io.github.block.Goose.metainfo.xml
- flatpak/cargo-sources.json
- flatpak/generated-sources.json