Re: Packaging GNUstep apps?

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

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. 


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
>
--------------BJVRlsFlB6PUv9ovTjhn4L4y
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>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">https://github.com/OoliteProject/oolite/blob/master/.github/workflows/build-all.yaml</a>. </p>
    <p>Cheers,<br>
      Mike</p>
    <div class="moz-cite-prefix">On 25/07/2026 20:44,
      <a class="moz-txt-link-abbreviated" href="mailto:[email protected]">[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>
  </body>
</html>

--------------BJVRlsFlB6PUv9ovTjhn4L4y--