@nila https://gist.github.com/pojntfx/bc688a887a940e3e458684df62058843
Little hacky packaging script for all of this so far - allows you to build a .dmg for a puregotk #Go #GTK app, all from Linux, code signing included. `go-gettext` still needs a way to specify where to load the `gettext` dylib from when it's not available in the default location, so I stubbed that out, but no other code changes necessary :)
@pojntfx @nila Pixi is a pretty good fit for "cross platform manifests"!
For example, the Pixi manifest for Shortwave, which both works on macOS and Windows (and Linux):
https://gitlab.gnome.org/World/Shortwave/-/blob/pixi/pixi.toml
(WIP - not merged yet)
@pojntfx @nila the most easiest / straight-forward way would be to publish the app to conda-forge, this way you don't have to deal with self-updates. It's comparable with Flathub, but cross platform.
The Pixi manifest describes the environment which you can use for development (cross platform), for the actual packaging you use a separate recipe file, which describes the needed dependencies + commands to build the app.
For example (WIP)
https://github.com/conda-forge/staged-recipes/pull/32284
@pojntfx @nila yep, that's something for which there isn't a perfect solution at the moment.
There are two options:
1) Make a "wrapper installer", which installs Pixi on the machine, and then in a second step downloads and installs the actual app from conda-forge. This way you don't have to take care of the update mechanism.
2) Wrap the Conda package and all of the dependencies in some MSIX / macOS app bundle. This way the user doesn't need some additional package manager, but you have to deal with updates (unless you publish it in MS Store / AppStore).
Oh, and you don't need Conda (the tool), Pixi can be used as global package manager, just like homebrew or winget (but is using the same Conda package format).