Forum > Unix

Packaging application as snap

(1/2) > >>

Chronos:
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 :)

devEric69:
Hello,

Thank you very much for your contribution.

PascalDragon:

--- Quote from: Chronos on April 26, 2021, 11:43:02 am ---I have done this for C-evo game which can be now installed easily from Snap store https://snapcraft.io/c-evo/

--- End quote ---

Out of curiosity: where are the sources for that Lazarus port of C-Evo located? :)

Chronos:
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.

PascalDragon:

--- Quote from: Chronos on April 26, 2021, 03:31:14 pm ---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.
--- End quote ---

Thank you! I wonder why I had missed that link... :-[

Navigation

[0] Message Index

[#] Next page

Go to full version