Menu

#207 Provide a Flatpak on Flathub

Not planned
open
nobody
None
5
2026-01-27
2024-10-02
Sébastien
No

It would be very nice to have XTrackCAD distributed as a Flatpak package on Flathub.

Flatpak offer a good way to ensure the app to run in the same
environment, for each GNU/Linux system that support Flatpak. Which is a
lot of them. And distributing the app on Flathub will make it
downloadable and installable with a simple click.

For more informations:

Flatpak is a GNU/Linux Desktop package format. Is goal is to provide the
same environment to execute an app on each GNU/Linux distribution that
support Flatpak. Which include Debian, Ubuntu, Fedora, CentOS, OpenSuse,
etc.

Each app can request a runtime that include the majority of its
dependencies. It exist generic runtimes, like Gnome, KDE or FreeDesktop.
But it's possible to make custom runtime.

Each app can also request extension(s) for their runtime. These extensions
add specific dependencies. Like for example audio/video codecs.

And finally, for specific dependencies who are not provided by runtime end
their extension, the app is packages with them.

When the app is launched by an user: A container is created with the app file
system, a read-only access the runtime and its extension(s) and the
software is executed inside this container.

For more about Flatpak:
* The official Flatpak website: https://www.flatpak.org/
* The documentation: https://docs.flatpak.org/en/latest/
* The list of GNU/Linux distributions who support Flatpak: https://www.flatpak.org/setup/

Flathub is a community repository who provide a lot of desktop apps:

Best regards

Discussion

  • Dave Bullis

    Dave Bullis - 2024-10-02

    Good suggestion. It's been on my list to investigate for some time
    Have you used flatpak to release apps?

    Dave

     
  • Sébastien

    Sébastien - 2024-10-08

    Not yet. I mostly contribute to already existing softwares and never have to package them with Flatpak.

     
  • Dave Bullis

    Dave Bullis - 2024-10-12

    I've hit a wall
    I've installed .gnome.[Sdk,Paltform]
    I've built a manifest.yml that doesn't cause too many complaints.
    I can create a sandbox ad download the source
    But running cmake:
    flatpak build org.xtrkcad.xtrkcad cmake src
    complains it can't find freeimage
    I don't see how to add the freeimage package and suspect more packages will have the same problem

    I'm missing some basic concepts: do I need to move to git? How do I do the simplest things like add shared libs. Why do instructions require obscure 15 steps with no clear examples

    Life's too short

    Maybe Appimages is a better path

    Dave

     
  • Sébastien

    Sébastien - 2024-10-16

    With Flatpak, you have 2 kind of dependencies:

    • The ones packaged in the runtime
    • The ones packaged with the app

    Runtime provide general dependencies. Ex: Gnome runtime provide GTK, Gobject, etc.
    Runtime can have extensions. For example an extension that provide codecs.

    The libs who are specific to an app have to be packaged with the app.

     
  • Dave Bullis

    Dave Bullis - 2024-10-23

    A little progress.
    I found FreeImage on github and I can get it start building but I get multiple C++ errors:
    Source/OpenEXR/Imath/ImathMatrix.h:2822:43: error: ISO C++17 does not allow dynamic exception specifications
    I have no idea how to fix this

    I've attached my manfest file (org.xtrkcad.xtrkcad.yml) and steps I've taken (build-xtrkcad-instr.yml) if anyone wants to take a try.

    flatpak seems tried to git and fedora so I don't if there is a major road block ahead.
    Also, I suspect that many/most/all of our 3rd party libraries will require significant work to build

    I'm giving up for now.

     
    • Martin Fischer

      Martin Fischer - 2024-10-23
      I haven't done any Linux development for quite some time, so I may be wrong. But as far as I remember, FreeImage is a dependency for the Windows version. Its functionality is provided by GTK on *ix

      Did you  crosscheck building the same version on Linux?

      Am 23.10.2024 16:34 schrieb Dave Bullis <sillub@users.sourceforge.net>:

      A little progress.
      I found FreeImage on github and I can get it start building but I get multiple C++ errors:
      Source/OpenEXR/Imath/ImathMatrix.h:2822:43: error: ISO C++17 does not allow dynamic exception specifications
      I have no idea how to fix this

      I've attached my manfest file (org.xtrkcad.xtrkcad.yml) and steps I've taken (build-xtrkcad-instr.yml) if anyone wants to take a try.

      flatpak seems tried to git and fedora so I don't if there is a major road block ahead.
      Also, I suspect that many/most/all of our 3rd party libraries will require significant work to build

      I'm giving up for now.

      Attachments:

      - [build-xtrkcad-instr.txt](https://sourceforge.net/p/xtrkcad-fork/feature-requests/_discuss/thread/a780972bb2/8b82/attachment/build-xtrkcad-instr.txt) (827 Bytes; text/plain)
      - [org.xtrkcad.xtrkcad.yml](https://sourceforge.net/p/xtrkcad-fork/feature-requests/_discuss/thread/a780972bb2/8b82/attachment/org.xtrkcad.xtrkcad.yml) (502 Bytes; application/x-yaml)

      ---

      **[feature-requests:#207] Provide a Flatpak on Flathub**

      **Status:** open
      **Group:** Not planned
      **Created:** Wed Oct 02, 2024 03:31 AM UTC by Sébastien
      **Last Updated:** Wed Oct 16, 2024 11:03 PM UTC
      **Owner:** nobody

      It would be very nice to have XTrackCAD distributed as a Flatpak package on Flathub.

      Flatpak offer a good way to ensure the app to run in the same
      environment, for each GNU/Linux system that support Flatpak. Which is a
      lot of them. And distributing the app on Flathub will make it
      downloadable and installable with a simple click.

      For more informations:

      Flatpak is a GNU/Linux Desktop package format. Is goal is to provide the
      same environment to execute an app on each GNU/Linux distribution that
      support Flatpak. Which include Debian, Ubuntu, Fedora, CentOS, OpenSuse,
      etc.

      Each app can request a runtime that include the majority of its
      dependencies. It exist generic runtimes, like Gnome, KDE or FreeDesktop.
      But it's possible to make custom runtime.

      Each app can also request extension(s) for their runtime. These extensions
      add specific dependencies. Like for example audio/video codecs.

      And finally, for specific dependencies who are not provided by runtime end
      their extension, the app is packages with them.

      When the app is launched by an user: A container is created with the app file
      system, a read-only access the runtime and its extension(s) and the
      software is executed inside this container.

      For more about Flatpak:
      * The official Flatpak website:  https://www.flatpak.org/
      * The documentation: https://docs.flatpak.org/en/latest/
      * The list of GNU/Linux distributions who support Flatpak:  https://www.flatpak.org/setup/


      Flathub is a community repository who provide a lot of desktop apps:

      * The official Flathub website:  https://flathub.org/
      * The publication documentation: https://docs.flathub.org/docs/for-app-authors/submission/
      * The app author documentation:  https://docs.flathub.org/docs/category/for-app-authors


      Best regards

      ---

      Sent from sourceforge.net because you indicated interest in <https://sourceforge.net/p/xtrkcad-fork/feature-requests/207/>

      To unsubscribe from further messages, please visit <https://sourceforge.net/auth/subscriptions/>


       
  • Dave Bullis

    Dave Bullis - 2024-10-23

    FindFreeImage.cmake looks for FreeImage on UNIX, but apparentely doesn't do anything with it.
    Not finding it is fatal.
    Unless FindFreeImage.cmake is updated to a no-op on UNIX

    Arghh

     
    • Martin Fischer

      Martin Fischer - 2024-10-23
      This puzzles me. Let me check and fix that. Which branch are you using, Default?

      Am 23.10.2024 20:50 schrieb Dave Bullis <sillub@users.sourceforge.net>:

      FindFreeImage.cmake looks for FreeImage on UNIX, but apparentely doesn't do anything with it.
      Not finding it is fatal.
      Unless FindFreeImage.cmake is updated to a no-op on UNIX

      Arghh

      ---

      **[feature-requests:#207] Provide a Flatpak on Flathub**

      **Status:** open
      **Group:** Not planned
      **Created:** Wed Oct 02, 2024 03:31 AM UTC by Sébastien
      **Last Updated:** Wed Oct 23, 2024 02:34 PM UTC
      **Owner:** nobody

      It would be very nice to have XTrackCAD distributed as a Flatpak package on Flathub.

      Flatpak offer a good way to ensure the app to run in the same
      environment, for each GNU/Linux system that support Flatpak. Which is a
      lot of them. And distributing the app on Flathub will make it
      downloadable and installable with a simple click.

      For more informations:

      Flatpak is a GNU/Linux Desktop package format. Is goal is to provide the
      same environment to execute an app on each GNU/Linux distribution that
      support Flatpak. Which include Debian, Ubuntu, Fedora, CentOS, OpenSuse,
      etc.

      Each app can request a runtime that include the majority of its
      dependencies. It exist generic runtimes, like Gnome, KDE or FreeDesktop.
      But it's possible to make custom runtime.

      Each app can also request extension(s) for their runtime. These extensions
      add specific dependencies. Like for example audio/video codecs.

      And finally, for specific dependencies who are not provided by runtime end
      their extension, the app is packages with them.

      When the app is launched by an user: A container is created with the app file
      system, a read-only access the runtime and its extension(s) and the
      software is executed inside this container.

      For more about Flatpak:
      * The official Flatpak website:  https://www.flatpak.org/
      * The documentation: https://docs.flatpak.org/en/latest/
      * The list of GNU/Linux distributions who support Flatpak:  https://www.flatpak.org/setup/


      Flathub is a community repository who provide a lot of desktop apps:

      * The official Flathub website:  https://flathub.org/
      * The publication documentation: https://docs.flathub.org/docs/for-app-authors/submission/
      * The app author documentation:  https://docs.flathub.org/docs/category/for-app-authors


      Best regards

      ---

      Sent from sourceforge.net because you indicated interest in <https://sourceforge.net/p/xtrkcad-fork/feature-requests/207/>

      To unsubscribe from further messages, please visit <https://sourceforge.net/auth/subscriptions/>


       
  • Dave Bullis

    Dave Bullis - 2024-10-24

    yes, default

     

Log in to post a comment.

MongoDB Logo MongoDB