3af25bc2a9
This new variable is extremely useful when iterating on creating a large package, as otherwise you have to wipe the source and rebuild each time you make a mistake with the patches or build.sh script. Simply set TERMUX_PKG_QUICK_REBUILD=true in build.sh if a build fails and then the TERMUX_PKG_SRCDIR and TERMUX_PKG_BUILDDIR will not be touched when you rebuild, including that the patches will not be applied again. When you're done iterating, diff for any new patches, save them, and remove this variable before rebuilding from scratch, hopefully for the last time. ;) An example is shown for the giant libllvm package, where other modifications are also excluded if this variable is set. |
||
---|---|---|
.github | ||
disabled-packages | ||
ndk-patches | ||
packages | ||
sample | ||
scripts | ||
.gitattributes | ||
.gitignore | ||
BACKERS.md | ||
build-all.sh | ||
build-package.sh | ||
clean.sh | ||
LICENSE.md | ||
README.md |
Termux packages
This project contains scripts and patches to build packages for the Termux Android application.
The packages available here are only from main set. We have some additional repositories:
-
https://github.com/termux/game-packages
Game packages, e.g.
angband
ormoon-buggy
. -
https://github.com/termux/science-packages
Science-related packages like
gap
andgnucap
. -
https://github.com/termux/termux-root-packages
Packages which can be used only on rooted devices. Some stuff available here requires custom kernel (like
aircrack-ng
orlxc
). -
https://github.com/termux/unstable-packages
Staging repository. Packages that are not stable are only available here.Most likely, new packages will also be placed here.
-
https://github.com/termux/x11-packages
Packages that require X11 Windows System.
Termux package management quick how-to available on https://wiki.termux.com/wiki/Package_Management. To learn about using our build environment, read the Developer's Wiki.
Project structure
Directories:
-
Packages that cannot be published due to serious issues.
-
Our changes to Android NDK headers.
-
Main set of packages.
-
Sample structure for creating new packages.
-
Set of utilities and build system scripts.
Contributing
Bug reports
Please, use templates for submitting bug reports. The bug report issue template can be initialized by clicking on https://github.com/termux/termux-packages/issues/new?template=bug_report.md.
General requirements for bug reports are:
-
All packages are up-to-date.
-
Problem is not related to third-party software.
-
Output of
termux-info
attached. -
Be ready to provide more info if requested.
New packages
Use the package request template: https://github.com/termux/termux-packages/issues/new?template=package_request.md.
General requirements for new packages are:
-
Packages should be open source and have widely recognised OSS licenses like GNU GPL.
-
Packages should not be installable via language-specific package managers such as
gem
,pip
orcpan
. -
Packages should not be outdated dead projects.
-
Be ready that your package request will not be processed immediately.
Pull Requests
All pull requests are welcome.
We use Github Actions for processing all pushes including pull requests. All build logs and artifacts are public, so you can verify whether your changes work properly.
People who are new for packaging can begin with sending PRs for updating packages. Check the outdated packages on https://repology.org/projects/?inrepo=termux&outdated=1.
Get started with information available on Developer's Wiki.
Contacts
-
General Mailing List: https://groups.io/g/termux
-
Developer Mailing List: https://groups.io/g/termux-dev
-
Developer Chat: https://gitter.im/termux/dev or #termux/development on IRC/freenode.
If you are interested in our weekly development sessions, please check the https://wiki.termux.com/wiki/Dev:Development_Sessions. Also, you may want to check the https://wiki.termux.com/wiki/Development.