zealdocs / zeal-packaging

Packaging metadata and tools for various operating systems
MIT License
40 stars 13 forks source link

Package request: Termux aarch64 #50

Closed altamawiosama closed 1 month ago

altamawiosama commented 1 month ago

Zeal is not available for Termux. It would be nice to have Debian aarch64 package available and compatible with Termux's file system (although not necessary, I am used to porting packages to adapt to Termux's file system paths).

trollixx commented 1 month ago

I am not exactly sure what is the ask here? Isn't Termux just Android terminal emulator? What kind of packaging is needed? Do you have any references?

altamawiosama commented 1 month ago

Thank you for your reply; I appreciate your time. Termux is more than just a terminal emulator; it's a single-user, sandboxed Linux environment on Android. It allows package management via 'apt-get' and 'pkg', similar to traditional Linux systems, and supports desktop environments like Xfce4 or GNOME through VNC. Termux's architecture differs from standard Linux, using aarch64 for arm64 support. Zeal is available for arm64 on other systems, but there's no aarch64 package for Termux. This distinction is often misunderstood, so I wanted to clarify it. I also want to point out that Termux's filesystem is not FHS compliant. This means you cannot find directories like /bin, /etc, /usr, /tmp and others at the usual locations. Thus, all programs must be patched and recompiled to meet requirements of the Termux environment, otherwise they will not be able to find their configuration files or other data. For more information on Termux, its capabilities and how it differs from Linux, you can refer to the following: General information about Termux: Termux-Wikipedia Termux documentation: Termux Wiki Package management in Termux: Termux Packages Termux's differences from Linux: Termux Differences

jkozera commented 1 month ago

It actually seems to mostly work fine without any code changes:

screenshot

Built using the following:

termux-packages$ cat x11-packages/zeal/build.sh 
TERMUX_PKG_HOMEPAGE=https://zealdocs.org
TERMUX_PKG_DESCRIPTION="Zeal"
TERMUX_PKG_LICENSE="GPL-3.0"
TERMUX_PKG_MAINTAINER=""
TERMUX_PKG_VERSION="0.7.1"
TERMUX_PKG_SRCURL="https://github.com/zealdocs/zeal/releases/download/v${TERMUX_PKG_VERSION}/zeal-${TERMUX_PKG_VERSION}.tar.xz"
TERMUX_PKG_SHA256=90f0eb7743c72663de96efb6fc90995ec37843b046c60ffc210adaf34f11d3a9
TERMUX_PKG_DEPENDS="libc++, libx11, qt5-qtbase, qt5-qtwebchannel, qt5-qtwebengine, qt5-qtx11extras"
TERMUX_PKG_BUILD_DEPENDS="qt5-qttools-cross-tools"
TERMUX_PKG_AUTO_UPDATE=true
TERMUX_PKG_EXTRA_CONFIGURE_ARGS="

"

(Qt5 only though, because Termux has no qt6-qtwebengine)

trollixx commented 1 month ago

I am not in position to maintain additional packages, and this is a pretty niche case. It seems like anyone can contribute a build script and patches to the termux-packages repo. Looks like it "mostly" works already. @altamawiosama have you considered submitting and maintaining a package yourself? :)

trollixx commented 1 month ago

If there are issues with building/running Zeal on Aarch64 not specific to Termux, we should totally fix that in the main repository.