chicken-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Request for feedback: Chicken as a self-contained AppImage


From: Daniel Ziltener
Subject: Re: Request for feedback: Chicken as a self-contained AppImage
Date: Wed, 28 Sep 2022 22:00:06 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.3.0

Hi elf,

basically the AppImage contains a squashfs partition which gets mounted like any other device when you run it. Egg installations/updates get put in the same location as they would with a normally installed Chicken, so, /usr/lib64/chicken/11 or similar. Compiler and interpreter do both work, at least for very basic things I did a quick test with. The compiler will use your system's C/C++ compiler.

Linking is something I have not gotten to yet; the main library is inside the AppImage, so statically linked binaries should work properly, but for dynamic linking I suppose I'll have to provide a command to extract the library to the libdir.

Finding external dependencies also works just the same as with a normally installed Chicken. Nothing gets sandboxed.

On 28.09.22 21:52, elf@ephemeral.net wrote:
Hi!

I love the idea, but a few questions:

1) How does this handle egg installation/updates?
2) Do both the compiler and interpreter work?
3) How do binaries built with csc work, in terms of linking and including?
4) How do eggs handle finding external dependencies?

All of these should make it (painfully) obvious that I don't know anything 
about AppImage, so if you can explain in more detail or send links to clarify, 
it would be most appreciated.

Thanks!

-elf

From: Daniel Ziltener <dziltener@lyrion.ch>
To: chicken-users@nongnu.org
Date: 28 Sep 2022 22:37:59
Subject: Request for feedback: Chicken as a self-contained AppImage

Hello Chickeners!

I had a "why not?" idea recently. I'm maintaining the RPM packages for Chicken, and I 
thought "why not pack Chicken into an AppImage?" - and that's what I did!

For those who don't know AppImages: they are single-file volumes (think ISO or 
DMG) but executable, and they work, without any further requirements apart from 
FUSE (to mount the embedded SquashFS), on every Linux distribution. You 
download an AppImage, rename it if you want, make it executable, and it's ready 
for use. (if you have AppImageUpdate installed, you can even automatically 
check for and get updates).

So in this case, I packed a little script into the AppImage, since Chicken has 
a whole bunch of executables. The AppImage is being built on OpenSUSE's OBS 
service, and a download page is on https://www.appimagehub.com/p/1911578/ , 
where you'll also find further description on how to use it.

Try it out if you like, and let me know about your thoughts, bugs to fix, or 
improvements to make. A bit later I will link it on the installation page of 
the Chicken wiki.

Best regards,
Daniel



reply via email to

[Prev in Thread] Current Thread [Next in Thread]