Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Appimage? #20

Open
Thatoo opened this issue Oct 14, 2023 · 14 comments
Open

Appimage? #20

Thatoo opened this issue Oct 14, 2023 · 14 comments

Comments

@Thatoo
Copy link

Thatoo commented Oct 14, 2023

Would it be possible to release an appimage on gitlab of your software for those who don't have/want to use flatpack or depend (be traced) on flathub?

@nokyan
Copy link
Owner

nokyan commented Oct 15, 2023

Hi,
I'm sorry but I'm not planning to do and maintain an AppImage release any time soon, though if someone else wants to do that, feel free.

@cs-mshah
Copy link

I'm in favour of AppImage too.

@Adesin-fr
Copy link

+1
Installing flatpak + all the shares resources is many hunders MB just to allow a small hundreds KB program to run !?
Feels like I'm running under MS Windows ;)

@pktiuk
Copy link
Contributor

pktiuk commented Oct 16, 2023

@Adesin-fr
But Runtimes are often shared among apps. And org.gnome.Platform is one of the most popular, so there is a very high chance, that you already have an app which uses it.

@nokyan
Would you accept a Pull Request which automatically builds an AppImage and uploads it after creating GitHub release? I could implement this one.

@Lukas-Heiligenbrunner
Copy link
Contributor

Being able to get resources from the AUR with a pkgbuild would be great for me! What do you think of that? :)

@Adesin-fr
Copy link

@Adesin-fr But Runtimes are often shared among apps. And org.gnome.Platform is one of the most popular, so there is a very high chance, that you already have an app which uses it.

Sure, But I don't have any package installed with flatpak : I had to install flatpak just to run Resources !

@nokyan
Copy link
Owner

nokyan commented Oct 17, 2023

@nokyan Would you accept a Pull Request which automatically builds an AppImage and uploads it after creating GitHub release? I could implement this one.

Sure

@pktiuk
Copy link
Contributor

pktiuk commented Oct 20, 2023

Do all of these dependencies have to be so new?

dependency('gtk4', version: '>= 4.8.0')
dependency('libadwaita-1', version: '>= 1.4.0')

For example Ubuntu 22.04 has gtk4 4.6.2 in repos and building AppImage on Ubuntu runner would require compiling entire gtk4.

@nokyan
Copy link
Owner

nokyan commented Oct 20, 2023

Do all of these dependencies have to be so new?

dependency('gtk4', version: '>= 4.8.0')
dependency('libadwaita-1', version: '>= 1.4.0')

For example Ubuntu 22.04 has gtk4 4.6.2 in repos and building AppImage on Ubuntu runner would require compiling entire gtk4.

Yes, they do. Resources requires GtkInscription which is a gtk ≥ 4.8 feature and AdwOverlaySplitView which is a libadwaita ≥1.4 feature.

@xoir
Copy link

xoir commented Oct 27, 2023

@pktiuk any progress? Having this as an Appimage would be awesome!

@pktiuk
Copy link
Contributor

pktiuk commented Oct 27, 2023

For now not. AppImage should be compiled on Ubuntu 20.04 (to ensure that glib is not too new), and there are a lot of packages in repositories which are too old for resources app, so they have to be compiled from source to meet dependencies. This is a daunting task, so I want to try to build appimage inside of flatpak runtime.
I haven't tried this yet.

@pktiuk
Copy link
Contributor

pktiuk commented Oct 29, 2023

How could I open a required flatpak runtime and launch some commands inside of it?
I am looking for command which would work like docker run --volume /project_path:/project_path -it some_docker_image bash.

I tried to use Flatpak for vscode , but command Open a build terminal mounted project directory in read-only mode

pawel@pop-os:~/PROJEKTY/resources$ touch p
touch: cannot touch 'p': Read-only file system

@nokyan
Copy link
Owner

nokyan commented Oct 31, 2023

How could I open a required flatpak runtime and launch some commands inside of it? I am looking for command which would work like docker run --volume /project_path:/project_path -it some_docker_image bash.

I tried to use Flatpak for vscode , but command Open a build terminal mounted project directory in read-only mode

pawel@pop-os:~/PROJEKTY/resources$ touch p
touch: cannot touch 'p': Read-only file system

If you only want to access the runtime itself, try flatpak run --command="bash" org.gnome.Sdk.
If you've built Resources locally as a flatpak and you want to access its specific runtime, that'd be flatpak-builder --run .flatpak/repo build-aux/net.nokyan.Resources.Devel.json "bash", with .flatpak/repo being the folder in which your local build resides in.

@pktiuk
Copy link
Contributor

pktiuk commented Nov 2, 2023

Your answer helped me a lot.

I have a basic instruction which could be used as a base for building AppImage

flatpak-builder --socket=fuse --run .flatpak/repo build-aux/net.nokyan.Resources.Devel.json "bash"

mkdir /tmp/AppDir
meson . build --prefix=/tmp/AppDir
ninja -C build install

wget https://github.com/linuxdeploy/linuxdeploy/releases/download/continuous/linuxdeploy-x86_64.AppImage
wget https://github.com/AppImage/AppImageKit/releases/download/continuous/appimagetool-x86_64.AppImage
chmod +x linuxdeploy-x86_64.AppImage
chmod +x appimagetool-x86_64.AppImage

./linuxdeploy-x86_64.AppImage --appdir /tmp/AppDir
./appimagetool-x86_64.AppImage AppDir/

But there is a problem with running AppImages inside of Flatpak

dlopen(): error loading libfuse.so.2

AppImages require FUSE to run. 
You might still be able to extract the contents of this AppImage 
if you run it with the --appimage-extract option.

Extracting it not helped

 ./squashfs-root/usr/bin/linuxdeploy --appdir /tmp/AppDir
linuxdeploy version 1-alpha (git commit ID 6a583d5), GitHub actions build 196 built on 2023-11-01 01:03:40 UTC
terminate called after throwing an instance of 'std::logic_error'
  what():  subprocess failed (exit code 1)
Aborted (core dumped)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

7 participants