Re: Packaging GNUstep apps?

Michael Rans <[email protected]> Fri, 31 Jul 2026 09:24:16 +1200
Newsgroups gmane.comp.lib.gnustep.general
Message-ID <[email protected]>
This is a multi-part message in MIME format.
--------------XUXFidpcbW1GELcH38WImNGP
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi Artyom,

Oolite was released to FlatHub so it appears in distro package managers. 
If you're not planning on releasing to FlatHub, there's probably little 
benefit since flatpak is more complicated to set up than appimage. Both 
appimage and flatpak seem to me like duct tape around Linux's fragmented 
packaging ecosystem to try to make life a a bit less painful for developers.

Cheers,
Mike

On 31/07/2026 00:20, Artyom Shalkhakov wrote:
> Hi Michael,
>
>> On Jul 29, 2026, at 1:31 AM, Michael Rans <[email protected]> wrote:
>>
>> 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/build-all.yaml. 
>>
>>
>
> 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
>>
>> On 25/07/2026 20:44, [email protected] wrote:
>>> Hi all,
>>>
>>> Apologies if this has already been discussed.
>>>
>>> I have created a couple apps using GNUstep and now I’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.
>>>
>>> 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]
>>>
>>> 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’m really happy 
>>> with the way it turned out.
>>>
>>> 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.
>>>
>>> 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.
>>>
>>> --
>>> Cheers,
>>> Artyom
>>>
>>> [1] https://github.com/gnustep/tools-make/pull/70
>>> [2] https://twilightedge.com/mac/pikopixel/index.html
>>> [3] https://github.com/ashalkhakov/UDQuakeTools
>>>
>
--------------XUXFidpcbW1GELcH38WImNGP
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: 8bit

<!DOCTYPE html>
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p>Hi Artyom,</p>
    <p>Oolite was released to FlatHub so it appears in distro package
      managers. If you're not planning on releasing to FlatHub, there's
      probably little benefit since flatpak is more complicated to set
      up than appimage. Both appimage and flatpak seem to me like duct
      tape around Linux's fragmented packaging ecosystem to try to make
      life a a bit less painful for developers.</p>
    <p>Cheers,<br>
      Mike</p>
    <div class="moz-cite-prefix">On 31/07/2026 00:20, Artyom Shalkhakov
      wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:[email protected]">
      <meta http-equiv="content-type" content="text/html; charset=UTF-8">
      Hi Michael,<br id="lineBreakAtBeginningOfMessage">
      <div><br>
        <blockquote type="cite">
          <div>On Jul 29, 2026, at 1:31 AM, Michael Rans
            <a class="moz-txt-link-rfc2396E" href="mailto:[email protected]">&lt;[email protected]&gt;</a> wrote:</div>
          <br class="Apple-interchange-newline">
          <div>
            <meta http-equiv="Content-Type"
              content="text/html; charset=UTF-8">
            <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="moz-txt-link-freetext"
href="https://github.com/OoliteProject/oolite/blob/master/.github/workflows/build-all.yaml"
                  moz-do-not-send="true">https://github.com/OoliteProject/oolite/blob/master/.github/workflows/build-all.yaml</a>. </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="cite">
          <div>
            <div>
              <p>Cheers,<br>
                Mike</p>
              <div class="moz-cite-prefix">On 25/07/2026 20:44, <a
                  class="moz-txt-link-abbreviated moz-txt-link-freetext"
                  href="mailto:[email protected]"
                  moz-do-not-send="true">[email protected]</a>
                wrote:<br>
              </div>
              <blockquote type="cite"
cite="mid:[email protected]">
                <meta http-equiv="content-type"
                  content="text/html; charset=UTF-8">
                <meta http-equiv="content-type"
                  content="text/html; charset=UTF-8">
                <div dir="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’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’m 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="lineBreakAtBeginningOfSignature">
                    <div dir="ltr"><!-- signature open -->--<!-- signature close --></div>
                  </div>
                  <div dir="ltr">Cheers,</div>
                  <div dir="ltr">Artyom</div>
                  <div dir="ltr"><br>
                  </div>
                  <div dir="ltr">[1] <a
href="https://github.com/gnustep/tools-make/pull/70"
                      moz-do-not-send="true"
                      class="moz-txt-link-freetext">https://github.com/gnustep/tools-make/pull/70</a></div>
                  <div dir="ltr">[2] <a
href="https://twilightedge.com/mac/pikopixel/index.html"
                      moz-do-not-send="true"
                      class="moz-txt-link-freetext">https://twilightedge.com/mac/pikopixel/index.html</a></div>
                  <div dir="ltr">[3] <a
                      href="https://github.com/ashalkhakov/UDQuakeTools"
                      moz-do-not-send="true"
                      class="moz-txt-link-freetext">https://github.com/ashalkhakov/UDQuakeTools</a></div>
                  <div dir="ltr"><br>
                  </div>
                </div>
              </blockquote>
            </div>
          </div>
        </blockquote>
      </div>
      <br>
    </blockquote>
  </body>
</html>

--------------XUXFidpcbW1GELcH38WImNGP--