appimage.github.io icon indicating copy to clipboard operation
appimage.github.io copied to clipboard

Create Celestia

Open furquan-lp opened this issue 6 years ago • 8 comments

Created Celestia from the autopackage found at the official site here: https://celestia.space/download.html.

Reasons for creating AppImage:

  • autopackage is a dead format (autopackage.org redirects to some other irrelevant website)
  • Celestia installer doesn't work as the autopackage link is broken (see this issue for more information)
  • Celestia uses some very old libraries (libpng12 for example) so manually extracting the payload and running it won't work.

Steps taken:

  • Download the autopackage here and run it inside a terminal.
  • After the installation unsuccessfully exits, the payload is left behind in /tmp in the form of a zip archive.
  • Extract the payload. It contains bin and share directories.
  • Put the directories in a stable structure where it can be safely tested. ~/.local the safest bet.
  • Attempt to run the binary in bin/ repeatedly and install and put the missing dependencies it requires in ~/.local/lib.
  • When the binary is finally able to run, create an AppImage directory structure and adapt the installer directories to it (putting .desktop at top-level and everything else in usr/).
  • Put AppRun inside the AppImage directory and generate AppImage with ./appimagetool-x86_64.AppImage -n [APPIMAGE DIR].
  • If appimagetool outputs errors related to the .desktop file, remove the erroneous lines and run again.

Known issues:

  • Icon doesn't adapt to the user-selected icon theme. I don't know enough AppImages to do this (just learned to create them a few hours ago) and either way the above command needs an icon file (for some reason).

Misc.:

  • libpng12 fetched from here: http://mirrors.kernel.org/ubuntu/pool/main/libp/libpng/libpng12-0_1.2.54-1ubuntu1_amd64.deb
  • Rest of the shared-libraries fetched from Debian's unstable repositories

furquan-lp avatar Feb 08 '18 17:02 furquan-lp

@furquan-lp:

It's nice that you started to work on an AppImage for Celestia such a short time after you learned how to create them. Thank you!

If you need help to overcome any obstacles, feel free to come to #AppImage IRC channel on Freenode and ask for support there.

Some observations:

  • The last working Linux autopackage for Celestia is 1.5.1 which was released almost 10 years ago (May 5, 2008).

  • Even the most current version, v1.6.1 (only available for Windows and macOS) was released already nearly 7 years ago (June 2011).

  • This looks to me like the best path to success would be to compile Celestia from source code, since a 10 year old binary (autopackage) may be too cumbersome to get to work on Linux distros from the last 4 years.

  • Keep in mind that the preferred way to offer AppImages for distribution is if the upstream project (the Celestia development team) adopts its maintenance and distributes the Linux AppImage alongside their other (Windows, macOS) binaries.

  • While it is fully OK if initially you build an AppImage for testing and polishing it, your final goal should be to come up with a pull request that provides a ready-made recipe (if possible via GitHub's Travis CI integration) for the "Official Celestians" to accept and build an AppImage for each release (or even for each source code push, as a "continuous" build).

KurtPfeifle avatar Feb 08 '18 18:02 KurtPfeifle

I found binary builds of Celestia for OpenSUSE here:

  • https://build.opensuse.org/package/show/home:munix9/celestia

This seems to build its binary from a tarball of current Git sources: celestia-1.7.0.git.20180123.tar.xz

KurtPfeifle avatar Feb 08 '18 18:02 KurtPfeifle

Celestia requires very old libraries (and their development headers) so it can't be easily compiled on Debian (see: https://github.com/CelestiaProject/Celestia/issues/16) unless you're willing to hunt down old versions of the required dependencies. As of now the only way to run it without compiling is to manually extract the payload and place it in a safe directory structure.

However I understand that this is a very old version and not suited for an AppImage build. I'll be sure to build an AppImage and submit it here if I ever get the trunk to compile on Debian.

Thanks for all the help.

furquan-lp avatar Feb 09 '18 06:02 furquan-lp

@furquan-lp:

Did you have a look at the openSUSE package and its RPM spec file?

Maybe this would give you pointers about the libs it uses, their sources and the configure options applied?

KurtPfeifle avatar Feb 09 '18 08:02 KurtPfeifle

There is also this: https://github.com/JohnVV/MyCelestiaBuild/

Why not try to collaborate?

codrinbucur avatar Feb 13 '18 20:02 codrinbucur

Hi! The latests commits in the Celestia dev branch are compilable on any modern distro (the only weird dependency is libcspice). I'm working on a package for a debian based distro you can use thedebian/rules and in debian/patches files on my repo as a start.

The patches for linux compilation are really simple, if you need any help just ask!

iglosiggio avatar Feb 15 '18 18:02 iglosiggio

Celestia-i386.AppImage

AppImageHub currently only lists 64-bit AppImages. Please change the URL to the 64-bit version, thanks.

probonopd avatar Feb 16 '18 19:02 probonopd

I could offer Celestia stable/unstable:

Stable (1.6.2.2) https://download.opensuse.org/repositories/home:/munix9/AppImage/ https://download.opensuse.org/repositories/home:/munix9/AppImage/celestia-latest-x86_64.AppImage Project: https://build.opensuse.org/package/show/home:munix9/celestia

Unstable (1.7.0~git) https://download.opensuse.org/repositories/home:/munix9:/unstable/AppImage/ https://download.opensuse.org/repositories/home:/munix9:/unstable/AppImage/celestia-latest-x86_64.AppImage Project: https://build.opensuse.org/package/show/home:munix9:unstable/celestia

See also https://github.com/CelestiaProject/Celestia/issues/333

btw: https://output.jsbin.com/qoqukof is currently broken => Internal Server Error

munix9 avatar Oct 17 '21 05:10 munix9