Lazarus
Free Pascal => Unix => Topic started by: Chronos on April 26, 2021, 11:43:02 am
-
Here you can find a new wiki page with information how to create a snap package for your Lazarus/FPC application:
https://wiki.freepascal.org/Create_snap_package
I have done this for C-evo game which can be now installed easily from Snap store https://snapcraft.io/c-evo/
Sure normal deb application takes less space. In case of C-evo deb is just 6,2 MB where C-evo snap takes 40 MB as it contains also various libraries needed for runtime. But with speed and memory capacity of current computers this is less of the problem. And thanks to Snap store we can keep updating latest version of our apps and we can reach wider audience. Snap packages can be even installed on other Linux distributions like Fedora, Arch, OpenSUSE so one package is usable on wide number of user machines.
Perhaps we can have also snaps for other popular Lazarus apps like Lazarus IDE, Double Commander or LazPaint :)
-
Hello,
Thank you very much for your contribution.
-
I have done this for C-evo game which can be now installed easily from Snap store https://snapcraft.io/c-evo/
Out of curiosity: where are the sources for that Lazarus port of C-Evo located? :)
-
The link to C-evo Lazarus port is also available directly on C-evo snap page as "Developer website" link. It points to this port homepage https://app.zdechov.net/c-evo/
Here you can either browse code https://app.zdechov.net/c-evo/browser/trunk or download code as Zip file or find more info obtaining source as subversion checkout.
Specific snapcraft.yaml file for C-evo is https://app.zdechov.net/c-evo/browser/trunk/Install/snap/snapcraft.yaml
Here "plugin: nil" is used because snapcraft doesn't support Lazarus/FPC plugin. It would be nice to have such plugin :) See existing plugins here https://snapcraft.io/docs/supported-plugins But as you can see we can directly call lazbuild and install needed files to install area for further staging and priming so we can still build Lazarus app.
Creation of a snap is also easier way how to get our applications to Snap store or Ubuntu Software and also with icon, screen shots, user ratings and other details. Normal way to get deb package to Ubuntu would be to find a mentor in Debian community and go through complex process of package normalization for Debian distro to get final approval. With snaps anybody can just register new snap and upload latest code as to stable/beta/edge channel and it will be immediately available for all users.
-
The link to C-evo Lazarus port is also available directly on C-evo snap page as "Developer website" link. It points to this port homepage https://app.zdechov.net/c-evo/
Here you can either browse code https://app.zdechov.net/c-evo/browser/trunk or download code as Zip file or find more info obtaining source as subversion checkout.
Thank you! I wonder why I had missed that link... :-[
-
After many hours of trying and with help from snapcraft.io forum I was able to get sound working for snapped C-evo game. See https://wiki.freepascal.org/Create_snap_package#Sound_support
Also I've snapped one more game: https://snapcraft.io/2048x
-
Two more snapped apps:
https://snapcraft.io/big-metro
https://snapcraft.io/xtactics
So in total, there are now four Lazarus apps https://snapcraft.io/search?q=chronoscz
-
Nine Lazarus/FPC applications published as snaps to date and more to come:
https://snapcraft.io/acronym-decoder
https://snapcraft.io/2048x
https://snapcraft.io/big-metro
https://snapcraft.io/c-evo
https://snapcraft.io/cudatext
https://snapcraft.io/lazfuck
https://snapcraft.io/picpas
https://snapcraft.io/vcard-studio
https://snapcraft.io/xtactics
Although snaps aren't without their problems still, it is another nice way how to reach wider Linux users audience. Also in this way users can enjoy using latest application versions even with older Ubuntu versions like 20.04 LTS.
-
...
Although snaps aren't without their problems still, it is another nice way how to reach wider Linux users audience. Also in this way users can enjoy using latest application versions even with older Ubuntu versions like 20.04 LTS.
Hmm, thats the trend is it ? As a very long term Ubuntu user, I am about to switch because of these Snaps clogging up my system. They appear to be a solution in search of a problem to solve.
But good to see FPC/Lazarus penetrating even that market ! Thanks Chronos.
Davo