flatpak / flatpak-builder

Tool to build flatpaks from source
GNU Lesser General Public License v2.1
139 stars 91 forks source link

Document / Implement ability to build application extensions with flatpak-builder #26

Open alexlarsson opened 7 years ago

alexlarsson commented 7 years ago

From @ace13 on May 3, 2017 12:38

Currently, flatpak-builder seems to assume - in most cases rightfully so - that any build of an extension is for a runtime.

Was hoping to use this to split out an optional extension - DFHack - for the game Dwarf Fortress, since they don't follow anything like the same release schedules. The documentation here seems sorely lacking, if it's even possible to do what I want at the moment, can't find anything saying either way. And just the specification of how to expose extension points wasn't very well documented either.

Snippets from manifests;

{
    "name": "com.bay12games.DwarfFortress",
    "branch": "0.43.05",

    "runtime": "org.gnome.Platform",
    "runtime-version": "3.24",
    "sdk": "org.gnome.Sdk",
    // ...
    "finish-args": [
        // ...
        "--extension=com.bay12games.DwarfFortress.dfhack=directory=/app/dfhack",
        "--extension=com.bay12games.DwarfFortress.dfhack=no-autodownload=true",
        "--extension=com.bay12games.DwarfFortress.dfhack=version=0.43.05",
    ]
    // ...
}
{
    "app-id": "com.bay12games.DwarfFortress.dfhack",
    "branch": "0.43.05",

    // What goes in here to make it build as an application extension?
    "runtime": "org.gnome.Platform",
    "runtime-version": "3.24",
    "sdk": "org.gnome.Sdk",

    "build-extension": true,
    "build-options": {
        "prefix": "/app/dfhack"
    },
    "modules": [
        // ...
    ]
}

Getting complaints to the tune of;

Error: No extension point matching com.bay12games.DwarfFortress.dfhack in runtime/org.gnome.Platform/x86_64/3.24

Copied from original issue: flatpak/flatpak#762

ranisalt commented 4 years ago

No feedback at all after 3 years?

artemmolotov commented 2 years ago

Given the lack of new versions of some extensions, this functionality is really needed by users.