[Solved] Package as Appimage

Post your Gambas programming questions here.
User avatar
Philippe734
Posts: 20
Joined: Sunday 16th February 2020 7:37pm
Contact:

[Solved] Package as Appimage

Post by Philippe734 »

Hello,
Please, could tell me where to find a guide to how to package my applications (developed in Gambas) as Appimage.
The following guide from Appimage don't help me to package a Gambas application as Appimage package.
https://docs.appimage.org/packaging-guide/index.html
Any help will be much appreciate.
Solved: https://appimage-builder.readthedocs.io ... mbas3.html
Last edited by Philippe734 on Sunday 12th February 2023 7:26am, edited 3 times in total.
Linux & Android enthusiast - France
User avatar
cogier
Site Admin
Posts: 1118
Joined: Wednesday 21st September 2016 2:22pm
Location: Guernsey, Channel Islands

Re: Package as Appimage

Post by cogier »

Hi Philippe734 and welcome to the forum.

I had a quick look at Appimage as I had not seen it before. I'll be honest and say I have no idea how to solve your problem but if you could explain your intentions we may be able to offer another solution, for example if you are looking for an easy way to update your program on a remote computer or.....
User avatar
Philippe734
Posts: 20
Joined: Sunday 16th February 2020 7:37pm
Contact:

Re: Package as Appimage

Post by Philippe734 »

My goal is to share my applications as Appimage. As my applications are small, no need to do update in time, that's why I think Appimage is a ideal package type for share my apps.
Linux & Android enthusiast - France
User avatar
Serban
Posts: 39
Joined: Saturday 28th March 2020 8:17am
Location: Alexandria
Contact:

Re: Package as Appimage

Post by Serban »

I see the point.
AppImage, makes it possible to share an App without the need to install other dependencies.
Problem is that you need to know way too many things in order to make it run.
Most frequent issues here, are DE incompatibilities.
On some distros, the same installation work flawlessly while on some others, installing Gambas might fail. It happened already many times.
If there were a packager capable to build a package as AppImage, this would make the Gambas Apps, distro agnostic which, I guess, is exactly the point of the topic.
So, is there any available choice?
Can we get to some result with this?
It would be beneficial for many Apps and for Gambas, as programming environnement.
For instance:
I packed DirLister and installed on the same computer I developped it. Worked flawlessly.
My DE is XFCE, on Linux Lite 4.8.
I moved to the other computer, where I have Linux Mint 19.3, also XFCE.
I had trouble installing the same package... Why did it happen, difficult to guess...
Maybe, Gambas installation somewhere was flawed, because later, after deleting everything and reinstalling Gambas, it worked.
The idea is that it would be far better without forcing the user to install Gambas, just to run an application. Makes sense to me.
As for me, it's of less interest if some MBs are occupied by Gambas. For some others though, might look like a great trrouble.
The only thing necessary for the triumph of evil is for good men to do nothing.”― Edmund Burke;
It's easy to die for an idea. It is way harder to LIVE for your idea! (Me)
cage
Posts: 123
Joined: Monday 2nd September 2019 5:47am
Location: Phoenix Arizona

Re: Package as Appimage

Post by cage »

Serban I agree with you. Even if you install Gambas on some one's computer there are still problems with how the program looks. I run Arch XFCE and programs I create look good and run good. While a friend runs Xubutu there are problems with the way the program even looks. I normally have to do some modifications to the program to make it look any where near how the program was designed. While the code runs without problems the way the program looks changes. Also I noticed that even some of the programs on the farm will not run on my version of Gambas because of QT4 libraries are no longer supported. If I try to put in the QT4/QT5 switcher or GTK3 the IDE crashes. So it's not the fault of Gambas 99% of the time but rather the non conformity of Linux from OS to OS, and Desktop to Desktop.
User avatar
grayghost4
Posts: 174
Joined: Wednesday 5th December 2018 5:00am
Location: Marengo, Illinois usa

Re: Package as Appimage

Post by grayghost4 »

My takeaway from this thread is that Gambas is for personal use only.
cage
Posts: 123
Joined: Monday 2nd September 2019 5:47am
Location: Phoenix Arizona

Re: Package as Appimage

Post by cage »

Actually grayghost4 it works rather well for programming for others. You just have to keep in mind that there are differences between the way the different versions of Linux handles the programs. Some versions use GTK as the basis for graphical interfaces while other use either QT4 or QT5. On my friends machine his version of Linux still uses QT4 for graphical interfaces and thus still has support for QT4 in Gambas. In most cases I only need to switch to the version of QT that his system uses. Some times I will have to go into the program itself and do some color changes. It's basically the same with some of the programs available on the farm. How ever like I said a few of the farm programs require QT4 which my version of Linux no longer supports. This can be problematic but not unsolvable.
User avatar
Serban
Posts: 39
Joined: Saturday 28th March 2020 8:17am
Location: Alexandria
Contact:

Appimage: Can we give it a try?

Post by Serban »

While my knowledge might be way behind the requirements of making it possible, the "Fail - Learn - Succeed" approach, looks far better to me than "I'm too small for this big war" paradigm.
Assuming we'll fail. So, what? Will that be deadly? :o

Here is the start point:
https://docs.appimage.org/packaging-guide/index.html

Question is:
What if it works?
The only thing necessary for the triumph of evil is for good men to do nothing.”― Edmund Burke;
It's easy to die for an idea. It is way harder to LIVE for your idea! (Me)
User avatar
BruceSteers
Posts: 1521
Joined: Thursday 23rd July 2020 5:20pm
Location: Isle of Wight
Contact:

Re: Package as Appimage

Post by BruceSteers »

Not sure if it'd be possible.
The gambas application says we compile a stand-alone app but it's not really.
Still gonna need the gambas-runtime installed to run it and the components like gb.form and gb.image as well.
Like a Windows .net app , it's not going to run without the .net runtime stuff installed in the system.

I'm currently making a project called GambasMan.
I select one of my project folders and it gives some options like compiling the exe into a different dir as any name (without .gambas extension if you want)

Another more relevant function it has is a "minimum requirement installer"
This makes a simple bash script that'll run apt-get install (or yumi) and install just the gambas-runtime for the user plus the components required by the app.
Simple i should think for most users to use okay.
(i just need to figure out how to add the gambas filetype to the system to negate the need to use the gbr3 prefix)
Just the runtime and the components is a relatively small/quick install too.

As for the look on different machines i've also noticed this and think all it needs is a bit more coding/thinking when it comes to object sizing, Ie. setting object dimensions at runtime before the form loads using the object.Font.TextWidth and TextHeight functions. I think it's safe to consider making an object that's size looks okay on your machine may not look the same on another machine. Various objects have an .AutoResize switch that helps (shame they don't all have it)

Only OS's i got to try it on though at mo are Debian, Mint (both MATE), and Raspbian (not sure what it is, lxde or xfce4), , might set up some more.

I'll have a look at AppImage though and see what i can figure out :)
If at first you don't succeed , try doing something differently.
BruceS
User avatar
BruceSteers
Posts: 1521
Joined: Thursday 23rd July 2020 5:20pm
Location: Isle of Wight
Contact:

Re: Package as Appimage

Post by BruceSteers »

I'll have a look at AppImage though and see what i can figure out
I had a look and found if i went to the appImage website and downloaded their AppImage maker , that was an AppImage , it didn't work lol.
It's not looking promising lol.

I've made this...
GambasAppInstallMaker.zip
It's some code i've ripped out of one of my other apps.

it asks for your gambas project directory and reads the .project file in it and gets your apps required gambas components.

It then makes a simple bash script to ask to install the minimum required stuff in the project folder or another of your choosing.
searches for apt-get yum and dnf

the script is set up in a way that it passes the components required through the GetFormat() routine (this is in case we need to change the '-' separator to a '.' or something ie. gambas3-gb-form or gambas3.gb.form as i think some distros use a different way)
the app uses the gambas3-gb-form syntax for apt yum and dnf

PS, it's compiled on Gambas 3.15 , if your gambas is older you can just load it up and recompile.
If at first you don't succeed , try doing something differently.
BruceS
Post Reply