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

Create Celestia #353

Open
wants to merge 5 commits into
base: master
Choose a base branch
from
Open

Create Celestia #353

wants to merge 5 commits into from

Conversation

furquan-lp
Copy link

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

@KurtPfeifle
Copy link
Contributor

@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
Copy link
Contributor

I found binary builds of Celestia for OpenSUSE here:

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

@furquan-lp
Copy link
Author

Celestia requires very old libraries (and their development headers) so it can't be easily compiled on Debian (see: CelestiaProject/Celestia#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 furquan-lp closed this Feb 9, 2018
@KurtPfeifle
Copy link
Contributor

@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?

@codrinbucur
Copy link

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

Why not try to collaborate?

@iglosiggio
Copy link

iglosiggio commented Feb 15, 2018

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!

@probonopd
Copy link
Member

Celestia-i386.AppImage

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

@probonopd probonopd reopened this Aug 4, 2019
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

Successfully merging this pull request may close these issues.

None yet

6 participants