Re: Packaging GNUstep apps?

Artyom Shalkhakov <[email protected]> Thu, 30 Jul 2026 17:20:54 +0500
Newsgroups gmane.comp.lib.gnustep.general
Message-ID <[email protected]>
--Apple-Mail=_9F1DCC59-BDBC-430B-8ED8-1AF73B4AB448
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=utf-8

Hi Michael,

> On Jul 29, 2026, at 1:31=E2=80=AFAM, Michael Rans =
<[email protected]> wrote:
>=20
> You might be able to borrow from Oolite's setup which produces =
AnyLinux appimages (ie. appimages with modern dependencies that still =
work on older distros) as well as Flatpak. Oolite has a step to build =
the GNUstep libraries as part of its build process which uses latest =
Arch for appimage. See: =
https://github.com/OoliteProject/oolite/blob/master/.github/workflows/buil=
d-all.yaml.=20
>=20

This is very useful, thanks!

Could you tell me the pros and cons of packaging both Flatpak and =
AppImage? Why does Oolite use both?

> Cheers,
> Mike
>=20
> On 25/07/2026 20:44, [email protected] =
<mailto:[email protected]> wrote:
>> Hi all,
>>=20
>> Apologies if this has already been discussed.
>>=20
>> I have created a couple apps using GNUstep and now I=E2=80=99m facing =
the issue of distributing them to end users. The documented approach =
seems to be to build a whole GNUstep system on top of the host OS, and =
then build the apps from source.
>>=20
>> I find that to be a difficult sell to non-power users. So, there is a =
PR [1] for gnustep-make to package apps into app images, and there is =
also PikoPixel that distributes app images. [2]
>>=20
>> I came up with my own pipelines and an LXC to build and package my =
apps [3]. I tested it on Bazzite and Debian 13, both without any GNUstep =
base installed. So you can just download the appimage and run it. Oh, =
and it also uses Eau theme by default. I=E2=80=99m really happy with the =
way it turned out.
>>=20
>> The pipelines are run on my own self-hosted infrastructure, and the =
repo is mirrored to GitHub. I'd open source the build agent's LXC if I =
can figure out how to do it easily. I set it up manually so cannot =
remember every tiny detail.
>>=20
>> Now the question is, what is the community approved approach to do =
this? I don't want to rely on Linux distros for now, until the apps have =
become useful enough to a large number of people.
>>=20
>> --
>> Cheers,
>> Artyom
>>=20
>> [1] https://github.com/gnustep/tools-make/pull/70
>> [2] https://twilightedge.com/mac/pikopixel/index.html
>> [3] https://github.com/ashalkhakov/UDQuakeTools
>>=20


--Apple-Mail=_9F1DCC59-BDBC-430B-8ED8-1AF73B4AB448
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html;
	charset=utf-8

<html><head><meta http-equiv=3D"content-type" content=3D"text/html; =
charset=3Dutf-8"></head><body style=3D"overflow-wrap: break-word; =
-webkit-nbsp-mode: space; line-break: after-white-space;">Hi Michael,<br =
id=3D"lineBreakAtBeginningOfMessage"><div><br><blockquote =
type=3D"cite"><div>On Jul 29, 2026, at 1:31=E2=80=AFAM, Michael Rans =
&lt;[email protected]&gt; wrote:</div><br =
class=3D"Apple-interchange-newline"><div>

 =20
    <meta http-equiv=3D"Content-Type" content=3D"text/html; =
charset=3DUTF-8">
 =20
  <div><p>You might be able to borrow from Oolite's setup which produces
      AnyLinux appimages (ie. appimages with modern dependencies that
      still work on older distros) as well as Flatpak. Oolite has a step
      to build the GNUstep libraries as part of its build process which
      uses latest Arch for appimage. See:
<a class=3D"moz-txt-link-freetext" =
href=3D"https://github.com/OoliteProject/oolite/blob/master/.github/workfl=
ows/build-all.yaml">https://github.com/OoliteProject/oolite/blob/master/.g=
ithub/workflows/build-all.yaml</a>.&nbsp;</p></div></div></blockquote><div=
><br></div>This is very useful, thanks!<br><div><br></div><div>Could you =
tell me the pros and cons of packaging both Flatpak and AppImage? Why =
does Oolite use both?</div><br><blockquote =
type=3D"cite"><div><div><p>Cheers,<br>
      Mike</p>
    <div class=3D"moz-cite-prefix">On 25/07/2026 20:44,
      <a class=3D"moz-txt-link-abbreviated" =
href=3D"mailto:[email protected]">[email protected]</a=
> wrote:<br>
    </div>
    <blockquote type=3D"cite" =
cite=3D"mid:[email protected]">
      <meta http-equiv=3D"content-type" content=3D"text/html; =
charset=3DUTF-8">
      <meta http-equiv=3D"content-type" content=3D"text/html; =
charset=3DUTF-8">
      <div dir=3D"auto">Hi all,
        <div><br>
        </div>
        <div>Apologies if this has already been discussed.</div>
        <div><br>
        </div>
        <div>I have created a couple apps using GNUstep and now I=E2=80=99=
m
          facing the issue of distributing them to end users. The
          documented approach seems to be to build a whole GNUstep
          system on top of the host OS, and then build the apps from
          source.</div>
        <div><br>
        </div>
        <div>I find that to be a difficult sell to non-power users. So,
          there is a PR [1] for gnustep-make to package apps into app
          images, and there is also PikoPixel that distributes app
          images. [2]</div>
        <div><br>
        </div>
        <div>I came up with my own pipelines and an LXC to build and
          package my apps [3]. I tested it on Bazzite and Debian 13,
          both without any GNUstep base installed. So you can just
          download the appimage and run it. Oh, and it also uses Eau
          theme by default. I=E2=80=99m really happy with the way it =
turned out.</div>
        <div><br>
        </div>
        <div>The pipelines are run on my own self-hosted infrastructure,
          and the repo is mirrored to GitHub. I'd open source the build
          agent's LXC if I can figure out how to do it easily. I set it
          up manually so cannot remember every tiny detail.</div>
        <div><br>
        </div>
        <div>Now the question is, what is the community approved
          approach to do this? I don't want to rely on Linux distros for
          now, until the apps have become useful enough to a large
          number of people.</div>
        <div><br id=3D"lineBreakAtBeginningOfSignature">
          <div dir=3D"ltr"><!-- signature open -->--<!-- signature close =
--></div>
        </div>
        <div dir=3D"ltr">Cheers,</div>
        <div dir=3D"ltr">Artyom</div>
        <div dir=3D"ltr"><br>
        </div>
        <div dir=3D"ltr">[1]&nbsp;<a =
href=3D"https://github.com/gnustep/tools-make/pull/70" =
moz-do-not-send=3D"true" =
class=3D"moz-txt-link-freetext">https://github.com/gnustep/tools-make/pull=
/70</a></div>
        <div dir=3D"ltr">[2]&nbsp;<a =
href=3D"https://twilightedge.com/mac/pikopixel/index.html" =
moz-do-not-send=3D"true" =
class=3D"moz-txt-link-freetext">https://twilightedge.com/mac/pikopixel/ind=
ex.html</a></div>
        <div dir=3D"ltr">[3]&nbsp;<a =
href=3D"https://github.com/ashalkhakov/UDQuakeTools" =
moz-do-not-send=3D"true" =
class=3D"moz-txt-link-freetext">https://github.com/ashalkhakov/UDQuakeTool=
s</a></div>
        <div dir=3D"ltr"><br>
        </div>
      </div>
    </blockquote>
  </div>

</div></blockquote></div><br></body></html>=

--Apple-Mail=_9F1DCC59-BDBC-430B-8ED8-1AF73B4AB448--