Build and docker updates
This commit is contained in:
parent
f2344eab0f
commit
88183689ef
26
Dockerfile
26
Dockerfile
|
@ -1,26 +0,0 @@
|
||||||
FROM ubuntu:16.04
|
|
||||||
|
|
||||||
# Fix locale to avoid warnings:
|
|
||||||
RUN locale-gen en_US.UTF-8
|
|
||||||
RUN dpkg-reconfigure locales
|
|
||||||
|
|
||||||
# Add this folder to the container and set as working directory:
|
|
||||||
ADD . /root/termux-packages
|
|
||||||
WORKDIR /root/termux-packages
|
|
||||||
|
|
||||||
# Allow configure to be run as root:
|
|
||||||
ENV FORCE_UNSAFE_CONFIGURE 1
|
|
||||||
|
|
||||||
RUN apt-get update && \
|
|
||||||
apt-get install -y sudo && \
|
|
||||||
USER=root /root/termux-packages/scripts/ubuntu-setup.sh && \
|
|
||||||
# Setup Android SDK and NDK:
|
|
||||||
mkdir -p /root/lib && \
|
|
||||||
cd /root/lib && \
|
|
||||||
curl -o sdk.tgz http://dl.google.com/android/android-sdk_r24.3.4-linux.tgz && \
|
|
||||||
tar xzvf sdk.tgz && \
|
|
||||||
mv android-sdk-linux android-sdk && \
|
|
||||||
curl -o ndk.zip http://dl.google.com/android/repository/android-ndk-r11-linux-x86_64.zip && \
|
|
||||||
unzip ndk.zip && \
|
|
||||||
mv android-ndk-r11 android-ndk && \
|
|
||||||
/root/termux-packages/scripts/install-sdk.sh
|
|
92
README.md
92
README.md
|
@ -3,7 +3,7 @@ Termux packages
|
||||||
[![Join the chat at https://gitter.im/termux/termux](https://badges.gitter.im/termux/termux.svg)](https://gitter.im/termux/termux)
|
[![Join the chat at https://gitter.im/termux/termux](https://badges.gitter.im/termux/termux.svg)](https://gitter.im/termux/termux)
|
||||||
|
|
||||||
This project contains scripts and patches to cross compile and package packages for
|
This project contains scripts and patches to cross compile and package packages for
|
||||||
the [Termux](http://termux.com/) Android application.
|
the [Termux](https://termux.com/) Android application.
|
||||||
|
|
||||||
The scripts and patches to build each package is licensed under the same license as
|
The scripts and patches to build each package is licensed under the same license as
|
||||||
the actual package (so the patches and scripts to build bash are licensed under
|
the actual package (so the patches and scripts to build bash are licensed under
|
||||||
|
@ -13,43 +13,39 @@ under the same license as python, etc).
|
||||||
NOTE: This is in a rough state - be prepared for some work and frustrations, and give
|
NOTE: This is in a rough state - be prepared for some work and frustrations, and give
|
||||||
feedback if you find incorrect our outdated things!
|
feedback if you find incorrect our outdated things!
|
||||||
|
|
||||||
Initial setup
|
|
||||||
=============
|
Build environment on Ubuntu 16.04
|
||||||
|
=================================
|
||||||
Packages are normally built using Ubuntu 16.04. Most packages should build also under
|
Packages are normally built using Ubuntu 16.04. Most packages should build also under
|
||||||
other Linux distributions (or even on OS X), but those environments will need manual setup
|
other Linux distributions (or even on OS X), but those environments will need manual setup
|
||||||
adapted from the below setup for Ubuntu:
|
adapted from the below setup for Ubuntu:
|
||||||
|
|
||||||
* Run `scripts/ubuntu-setup.sh` to install required packages and setup the `/data/` folder (see below).
|
* Run `scripts/setup-ubuntu.sh` to install required packages and setup the `/data/` folder.
|
||||||
|
|
||||||
* Install the Android SDK at `$HOME/lib/android-sdk`. Override this by setting the environment
|
* Run `scripts/setup-android-sdk.sh` to install the Android SDK and NDK at `$HOME/lib/android-{sdk,ndk}`.
|
||||||
variable `$ANDROID_HOME` to point at another location.
|
|
||||||
|
|
||||||
* Install the Android NDK, version r11, at `$HOME/lib/android-ndk`. Override this by setting
|
|
||||||
the environment variable `$NDK` to point at another location.
|
|
||||||
|
|
||||||
Alternatively a Dockerfile is provided which sets up a pristine image suitable for building
|
Build environment using Docker
|
||||||
packages. To build the docker image, run the following command:
|
==============================
|
||||||
|
A Docker container configured for building images can be downloaded an run with:
|
||||||
|
|
||||||
docker build -t termux .
|
./scripts/run-docker.sh
|
||||||
|
|
||||||
After build is successful, you can open an interactive prompt inside the container using:
|
This will set you up with a interactive prompt in a container, where this source folder
|
||||||
|
is mounted as the /root/termux-packages data volume, so changes are kept in sync between
|
||||||
|
the host and the container when trying things out before committing.
|
||||||
|
|
||||||
|
The build output folder is mounted to $HOME/termux, so deb files can be found in
|
||||||
|
$HOME/termux/_deb on the host for trying them out on a device or emulator.
|
||||||
|
|
||||||
docker run -ti termux bash
|
|
||||||
|
|
||||||
Building a package
|
Building a package
|
||||||
==================
|
==================
|
||||||
In a non-rooted Android device an app such as Termux may not write to system locations,
|
The basic build operation is to run `./build-package.sh $PKG`, which:
|
||||||
which is why every package is installed inside the private file area of the Termux app:
|
|
||||||
|
|
||||||
PREFIX=/data/data/com.termux/files/usr
|
|
||||||
|
|
||||||
For simplicity while developing and building, the build scripts here uses a /data
|
|
||||||
folder that is reserved for use on the host builder and install everything there.
|
|
||||||
|
|
||||||
The basic flow is then to run `./build-package.sh $PKG`, which:
|
|
||||||
* Sets up a patched stand-alone Android NDK toolchain if necessary.
|
* Sets up a patched stand-alone Android NDK toolchain if necessary.
|
||||||
|
|
||||||
* Reads packages/$PKG/build.sh to find out where to find the source code of the package and how to build it.
|
* Reads `packages/$PKG/build.s`h to find out where to find the source code of the package and how to build it.
|
||||||
|
|
||||||
* Applies all patches in packages/$PKG/\*.patch.
|
* Applies all patches in packages/$PKG/\*.patch.
|
||||||
|
|
||||||
|
@ -57,41 +53,37 @@ The basic flow is then to run `./build-package.sh $PKG`, which:
|
||||||
|
|
||||||
* Creates a dpkg package file for distribution in `$HOME/termux/_deb`.
|
* Creates a dpkg package file for distribution in `$HOME/termux/_deb`.
|
||||||
|
|
||||||
Reading and following build-package.sh is the best way to understand what's going on here.
|
Reading `build-package.sh` is the best way to understand what is going on.
|
||||||
|
|
||||||
|
|
||||||
Additional utilities
|
Additional utilities
|
||||||
====================
|
====================
|
||||||
* build-all.sh: used for building all packages in the correct order (using buildorder.py)
|
* build-all.sh: used for building all packages in the correct order (using buildorder.py).
|
||||||
|
|
||||||
* check-pie.sh: Used for verifying that all binaries are using PIE, which is required for Android 5+
|
* clean-rebuild-all.sh: used for doing a clean rebuild of all packages.
|
||||||
|
|
||||||
* detect-hardlinks.sh: Used for finding if any packages uses hardlinks, which does not work on Android M
|
* scripts/check-pie.sh: Used for verifying that all binaries are using PIE, which is required for Android 5+.
|
||||||
|
|
||||||
* check-versions.sh: used for checking for package updates
|
* scripts/detect-hardlinks.sh: Used for finding if any packages uses hardlinks, which does not work on Android M.
|
||||||
|
|
||||||
* clean-rebuild-all.sh: used for doing a clean rebuild of all packages (takes a couple of hours)
|
* scripts/check-versions.sh: used for checking for package updates.
|
||||||
|
|
||||||
* list-packages.sh: used for listing all packages with a one-line summary
|
* scripts/list-packages.sh: used for listing all packages with a one-line summary.
|
||||||
|
|
||||||
|
|
||||||
Resources about cross-compiling packages
|
Resources about cross-compiling packages
|
||||||
========================================
|
========================================
|
||||||
* [Linux From Scratch](http://www.linuxfromscratch.org/blfs/view/svn/index.html)
|
* [Linux From Scratch](http://www.linuxfromscratch.org/blfs/view/svn/index.html)
|
||||||
|
|
||||||
* [Beyond Linux From Scratch](http://www.linuxfromscratch.org/blfs/view/svn/)
|
* [Beyond Linux From Scratch](http://www.linuxfromscratch.org/blfs/view/stable/)
|
||||||
|
|
||||||
* [Cross-Compiled Linux From Scratch](http://cross-lfs.org/view/svn/x86_64-64/)
|
* [Cross-Compiled Linux From Scratch](http://www.clfs.org/view/CLFS-3.0.0-SYSVINIT/mips64-64/)
|
||||||
|
|
||||||
* [OpenWrt](https://openwrt.org/), an embedded Linx distribution, contains [patches and build scripts](https://dev.openwrt.org/browser/packages)
|
* [OpenWrt](https://openwrt.org/) as an embedded Linx distribution contains [patches and build scripts](https://dev.openwrt.org/browser/packages)
|
||||||
|
|
||||||
* http://dan.drown.org/android contains [patches for cross-compiling to Android](http://dan.drown.org/android/src/) as well as [work notes](http://dan.drown.org/android/worknotes.html), including a modified dynamic linker to avoid messing with LD_LIBRARY_PATH.
|
* http://dan.drown.org/android contains [patches for cross-compiling to Android](http://dan.drown.org/android/src/) as well as [work notes](http://dan.drown.org/android/worknotes.html), including a modified dynamic linker to avoid messing with `LD_LIBRARY_PATH`.
|
||||||
|
|
||||||
* [CCTools](http://cctools.info/index.php?title=Main_Page) is an Android native IDE containing [patches for several programs](https://code.google.com/p/cctools/source/browse/#svn%2Ftrunk%2Fcctools-repo%2Fpatches) and [a bug tracker](https://code.google.com/p/cctools/issues/list).
|
* [Kivy recipes](https://github.com/kivy/python-for-android/tree/master/pythonforandroid/recipes) contains recipes for building packages for Android.
|
||||||
|
|
||||||
* [BotBrew](http://botbrew.com/) was a package manager for rooted devices with [sources on github](https://github.com/jyio/botbrew). Based on opkg and was transitioning to apt.
|
|
||||||
|
|
||||||
* [Kivy recipes](https://github.com/kivy/python-for-android/tree/master/recipes) contains recipes for building packages for Android.
|
|
||||||
|
|
||||||
|
|
||||||
Common porting problems
|
Common porting problems
|
||||||
|
@ -109,10 +101,9 @@ contains these and may be used by all packages.
|
||||||
|
|
||||||
* glob(3) system function (glob.h) - not in bionic, but use the `libandroid-glob` package
|
* glob(3) system function (glob.h) - not in bionic, but use the `libandroid-glob` package
|
||||||
|
|
||||||
* cmake and cross compiling: http://www.cmake.org/Wiki/CMake_Cross_Compiling
|
* [Cmake and cross compiling](http://www.cmake.org/Wiki/CMake_Cross_Compiling).
|
||||||
CMAKE_FIND_ROOT_PATH=$TERMUX_PREFIX to search there.
|
`CMAKE_FIND_ROOT_PATH=$TERMUX_PREFIX` to search there.
|
||||||
CMAKE_FIND_ROOT_PATH_MODE_LIBRARY=ONLY and
|
`CMAKE_FIND_ROOT_PATH_MODE_LIBRARY=ONLY` and `CMAKE_FIND_ROOT_PATH_MODE_INCLUDE=ONLY`
|
||||||
CMAKE_FIND_ROOT_PATH_MODE_INCLUDE=ONLY
|
|
||||||
for only searching there and don't fall back to build machines
|
for only searching there and don't fall back to build machines
|
||||||
|
|
||||||
* Android is removing sys/timeb.h because it was removed in POSIX 2008, but ftime(3) can be replaced with gettimeofday(2)
|
* Android is removing sys/timeb.h because it was removed in POSIX 2008, but ftime(3) can be replaced with gettimeofday(2)
|
||||||
|
@ -130,21 +121,20 @@ dlopen() and RTLD_* flags
|
||||||
|
|
||||||
These differs from glibc ones in that
|
These differs from glibc ones in that
|
||||||
|
|
||||||
1. They are not preprocessor #define:s so cannot be checked for with `#ifdef RTLD_GLOBAL`. Termux patches this to
|
1. They are not preprocessor #define:s so cannot be checked for with `#ifdef RTLD_GLOBAL`. Termux patches this to #define values for compatibility with several packages.
|
||||||
#define values for compatibility with several packages.
|
|
||||||
2. They differ in value from glibc ones, so cannot be hardcoded in files (DLFCN.py in python does this)
|
2. They differ in value from glibc ones, so cannot be hardcoded in files (DLFCN.py in python does this)
|
||||||
3. They are missing some values (`RTLD_BINDING_MASK`, `RTLD_NOLOAD`, ...)
|
3. They are missing some values (`RTLD_BINDING_MASK`, `RTLD_NOLOAD`, ...)
|
||||||
|
|
||||||
|
|
||||||
RPATH, LD_LIBRARY_PATH AND RUNPATH
|
RPATH, RUNPATH AND LD\_LIBRARY\_PATH
|
||||||
==================================
|
====================================
|
||||||
On desktop linux the linker searches for shared libraries in:
|
On desktop linux the linker searches for shared libraries in:
|
||||||
|
|
||||||
1. RPATH - a list of directories which is linked into the executable, supported on most UNIX systems. It is ignored if RUNPATH is present.
|
1. `RPATH` - a list of directories which is linked into the executable, supported on most UNIX systems. It is ignored if `RUNPATH` is present.
|
||||||
2. LD_LIBRARY_PATH - an environment variable which holds a list of directories
|
2. `LD_LIBRARY_PATH` - an environment variable which holds a list of directories
|
||||||
3. RUNPATH - same as RPATH, but searched after LD_LIBRARY_PATH, supported only on most recent UNIX systems
|
3. `RUNPATH` - same as `RPATH`, but searched after `LD_LIBRARY_PATH`, supported only on most recent UNIX systems
|
||||||
|
|
||||||
The Android linker (/system/bin/linker) does not support RPATH or RUNPATH, so we set LD_LIBRARY_PATH=$USR/lib and try to avoid building useless rpath entries with --disable-rpath configure flags. Another option to avoid depending on LD_LIBRARY_PATH would be supplying a custom linker - this is not done due to the overhead of maintaining a custom linker.
|
The Android linker (/system/bin/linker) does not support `RPATH` or `RUNPATH`, so we set `LD_LIBRARY_PATH=$PREFIX/lib` and try to avoid building useless rpath entries with --disable-rpath configure flags. Another option to avoid depending on `LD_LIBRARY_PATH` would be supplying a custom linker - this is not done due to the overhead of maintaining a custom linker.
|
||||||
|
|
||||||
|
|
||||||
Warnings about unused DT entries
|
Warnings about unused DT entries
|
||||||
|
@ -153,7 +143,9 @@ Starting from 5.1 the Android linker warns about VERNEED (0x6FFFFFFE) and VERNEE
|
||||||
|
|
||||||
WARNING: linker: $BINARY: unused DT entry: type 0x6ffffffe arg ...
|
WARNING: linker: $BINARY: unused DT entry: type 0x6ffffffe arg ...
|
||||||
WARNING: linker: $BINARY: unused DT entry: type 0x6fffffff arg ...
|
WARNING: linker: $BINARY: unused DT entry: type 0x6fffffff arg ...
|
||||||
|
|
||||||
These may come from version scripts in a Makefile such as:
|
These may come from version scripts in a Makefile such as:
|
||||||
|
|
||||||
-Wl,--version-script=$(top_srcdir)/proc/libprocps.sym
|
-Wl,--version-script=$(top_srcdir)/proc/libprocps.sym
|
||||||
|
|
||||||
The termux-elf-cleaner utilty is run from build-package.sh and should normally take care of that problem.
|
The termux-elf-cleaner utilty is run from build-package.sh and should normally take care of that problem.
|
||||||
|
|
|
@ -10,7 +10,7 @@ BUILDSTATUS_FILE=$HOME/termux/_buildall/buildstatus.txt
|
||||||
if [ -e $BUILDORDER_FILE ]; then
|
if [ -e $BUILDORDER_FILE ]; then
|
||||||
echo "Using existing buildorder file: $BUILDORDER_FILE"
|
echo "Using existing buildorder file: $BUILDORDER_FILE"
|
||||||
else
|
else
|
||||||
rm -Rf $HOME/termux /data/data $HOME/termux/_buildall
|
rm -Rf $HOME/termux/* /data/data $HOME/termux/_buildall
|
||||||
mkdir -p $HOME/termux/_buildall
|
mkdir -p $HOME/termux/_buildall
|
||||||
./scripts/buildorder.py > $BUILDORDER_FILE
|
./scripts/buildorder.py > $BUILDORDER_FILE
|
||||||
fi
|
fi
|
||||||
|
|
|
@ -2,7 +2,7 @@ TERMUX_PKG_HOMEPAGE=http://curl.haxx.se/
|
||||||
TERMUX_PKG_DESCRIPTION="Easy-to-use client-side URL transfer library"
|
TERMUX_PKG_DESCRIPTION="Easy-to-use client-side URL transfer library"
|
||||||
TERMUX_PKG_DEPENDS="openssl"
|
TERMUX_PKG_DEPENDS="openssl"
|
||||||
TERMUX_PKG_VERSION=7.49.0
|
TERMUX_PKG_VERSION=7.49.0
|
||||||
TERMUX_PKG_SRCURL=http://curl.haxx.se/download/curl-${TERMUX_PKG_VERSION}.tar.bz2
|
TERMUX_PKG_SRCURL=http://curl.askapache.com/download/curl-${TERMUX_PKG_VERSION}.tar.bz2
|
||||||
export TERMUX_CA_BUNDLE=$TERMUX_PREFIX/etc/tls/cert.pem
|
export TERMUX_CA_BUNDLE=$TERMUX_PREFIX/etc/tls/cert.pem
|
||||||
TERMUX_PKG_EXTRA_CONFIGURE_ARGS="--with-ssl --without-libidn --with-ca-bundle=$TERMUX_CA_BUNDLE"
|
TERMUX_PKG_EXTRA_CONFIGURE_ARGS="--with-ssl --without-libidn --with-ca-bundle=$TERMUX_CA_BUNDLE"
|
||||||
TERMUX_PKG_RM_AFTER_INSTALL="bin/curl-config share/man/man1/curl-config.1"
|
TERMUX_PKG_RM_AFTER_INSTALL="bin/curl-config share/man/man1/curl-config.1"
|
||||||
|
|
|
@ -0,0 +1,32 @@
|
||||||
|
# Build with 'docker build -t termux/package-builder .' and push
|
||||||
|
# to docker hub with 'docker push termux/package-builder' after
|
||||||
|
# changing scripts/setup-ubuntu.sh or scripts/setup-android.sdk.sh.
|
||||||
|
FROM ubuntu:16.04
|
||||||
|
|
||||||
|
# Fix locale to avoid warnings:
|
||||||
|
RUN locale-gen en_US.UTF-8
|
||||||
|
RUN dpkg-reconfigure locales
|
||||||
|
|
||||||
|
# We expect this to be mounted with '-v $PWD:/root/termux-packages':
|
||||||
|
WORKDIR /root/termux-packages
|
||||||
|
|
||||||
|
# Needed for setup:
|
||||||
|
ADD ./setup-ubuntu.sh /tmp/setup-ubuntu.sh
|
||||||
|
ADD ./setup-android-sdk.sh /tmp/setup-android-sdk.sh
|
||||||
|
|
||||||
|
# Allow configure to be run as root:
|
||||||
|
ENV FORCE_UNSAFE_CONFIGURE 1
|
||||||
|
|
||||||
|
# Setup needed packages and the Android SDK and NDK:
|
||||||
|
RUN apt-get update && \
|
||||||
|
DEBIAN_FRONTEND=noninteractive apt-get install -yq sudo && \
|
||||||
|
/tmp/setup-ubuntu.sh && \
|
||||||
|
apt-get clean && \
|
||||||
|
/tmp/setup-android-sdk.sh && \
|
||||||
|
# Removed unused parts to make a smaller Docker image:
|
||||||
|
cd /root/lib/android-ndk/ && \
|
||||||
|
rm -Rf toolchains/mips* && \
|
||||||
|
rm -Rf sources/cxx-stl/gabi++ sources/cxx-stl/llvm-libc++* sources/cxx-stl/system/ sources/cxx-stl/stlport && \
|
||||||
|
cd platforms && ls | grep -v android-21 | xargs rm -Rf && \
|
||||||
|
cd /root/lib/android-sdk/tools && rm -Rf emulator* lib* proguard templates
|
||||||
|
|
|
@ -1,7 +0,0 @@
|
||||||
#!/bin/sh
|
|
||||||
|
|
||||||
# Install desired parts of the Android SDK:
|
|
||||||
test -f $HOME/.termuxrc && . $HOME/.termuxrc
|
|
||||||
: ${ANDROID_HOME:="${HOME}/lib/android-sdk"}
|
|
||||||
echo y | $ANDROID_HOME/tools/android update sdk --no-ui --all --no-https -t "build-tools-23.0.3"
|
|
||||||
echo y | $ANDROID_HOME/tools/android update sdk --no-ui --all --no-https -t "android-23"
|
|
|
@ -0,0 +1,15 @@
|
||||||
|
#!/bin/sh
|
||||||
|
set -e -u
|
||||||
|
|
||||||
|
# Create build output folder if necessary:
|
||||||
|
mkdir -p $HOME/termux
|
||||||
|
|
||||||
|
IMAGE_NAME=termux/package-builder
|
||||||
|
|
||||||
|
echo "Running container from image '$IMAGE_NAME'..."
|
||||||
|
|
||||||
|
docker run \
|
||||||
|
-v $PWD:/root/termux-packages \
|
||||||
|
-v $HOME/termux:/root/termux \
|
||||||
|
-ti $IMAGE_NAME bash
|
||||||
|
|
|
@ -0,0 +1,33 @@
|
||||||
|
#!/bin/sh
|
||||||
|
set -e -u
|
||||||
|
|
||||||
|
# Install desired parts of the Android SDK:
|
||||||
|
test -f $HOME/.termuxrc && . $HOME/.termuxrc
|
||||||
|
: ${ANDROID_HOME:="${HOME}/lib/android-sdk"}
|
||||||
|
: ${NDK:="${HOME}/lib/android-ndk"}
|
||||||
|
|
||||||
|
if [ ! -d $ANDROID_HOME ]; then
|
||||||
|
mkdir -p $ANDROID_HOME
|
||||||
|
cd $ANDROID_HOME/..
|
||||||
|
rm -Rf `basename $ANDROID_HOME`
|
||||||
|
curl -o android-sdk.tgz http://dl.google.com/android/android-sdk_r24.3.4-linux.tgz
|
||||||
|
|
||||||
|
rm -Rf android-sdk-linux
|
||||||
|
tar xzf android-sdk.tgz
|
||||||
|
mv android-sdk-linux `basename $ANDROID_HOME`
|
||||||
|
rm android-sdk.tgz
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ ! -d $NDK ]; then
|
||||||
|
mkdir -p $NDK
|
||||||
|
cd $NDK/..
|
||||||
|
rm -Rf `basename $NDK`
|
||||||
|
curl -o ndk.zip http://dl.google.com/android/repository/android-ndk-r11-linux-x86_64.zip
|
||||||
|
|
||||||
|
rm -Rf android-ndk-r11
|
||||||
|
unzip -q ndk.zip
|
||||||
|
mv android-ndk-r11 `basename $NDK`
|
||||||
|
rm ndk.zip
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo y | $ANDROID_HOME/tools/android update sdk --no-ui --all --no-https -t "build-tools-23.0.3,android-23"
|
|
@ -5,15 +5,15 @@ PACKAGES="$PACKAGES asciidoc"
|
||||||
PACKAGES="$PACKAGES automake"
|
PACKAGES="$PACKAGES automake"
|
||||||
PACKAGES="$PACKAGES bison"
|
PACKAGES="$PACKAGES bison"
|
||||||
PACKAGES="$PACKAGES cmake"
|
PACKAGES="$PACKAGES cmake"
|
||||||
PACKAGES="$PACKAGES curl" # Used for fetching sources
|
PACKAGES="$PACKAGES curl" # Used for fetching sources.
|
||||||
PACKAGES="$PACKAGES flex"
|
PACKAGES="$PACKAGES flex"
|
||||||
PACKAGES="$PACKAGES gettext" # Provides 'msgfmt' which the apt build uses
|
PACKAGES="$PACKAGES gettext" # Provides 'msgfmt' which the apt build uses.
|
||||||
PACKAGES="$PACKAGES git" # Used by the neovim build
|
PACKAGES="$PACKAGES git" # Used by the neovim build.
|
||||||
PACKAGES="$PACKAGES help2man"
|
PACKAGES="$PACKAGES help2man"
|
||||||
PACKAGES="$PACKAGES libc6-dev-i386" # Needed by luajit host part of the build for <sys/cdefs.h>
|
PACKAGES="$PACKAGES libc6-dev-i386" # Needed by luajit host part of the build for <sys/cdefs.h>.
|
||||||
PACKAGES="$PACKAGES libcurl4-openssl-dev" # XXX: Needed by apt build
|
PACKAGES="$PACKAGES libcurl4-openssl-dev" # XXX: Needed by apt build.
|
||||||
PACKAGES="$PACKAGES libgdk-pixbuf2.0-dev" # Provides 'gkd-pixbuf-query-loaders' which the librsvg build uses
|
PACKAGES="$PACKAGES libgdk-pixbuf2.0-dev" # Provides 'gkd-pixbuf-query-loaders' which the librsvg build uses.
|
||||||
PACKAGES="$PACKAGES libglib2.0-dev" # Provides 'glib-genmarshal' which the glib build uses
|
PACKAGES="$PACKAGES libglib2.0-dev" # Provides 'glib-genmarshal' which the glib build uses.
|
||||||
PACKAGES="$PACKAGES libncurses5-dev"
|
PACKAGES="$PACKAGES libncurses5-dev"
|
||||||
PACKAGES="$PACKAGES libtool-bin"
|
PACKAGES="$PACKAGES libtool-bin"
|
||||||
PACKAGES="$PACKAGES lzip"
|
PACKAGES="$PACKAGES lzip"
|
||||||
|
@ -27,13 +27,13 @@ PACKAGES="$PACKAGES pkg-config"
|
||||||
PACKAGES="$PACKAGES scons"
|
PACKAGES="$PACKAGES scons"
|
||||||
PACKAGES="$PACKAGES texinfo"
|
PACKAGES="$PACKAGES texinfo"
|
||||||
PACKAGES="$PACKAGES xmlto"
|
PACKAGES="$PACKAGES xmlto"
|
||||||
PACKAGES="$PACKAGES xutils-dev" # Provides u'makedepend' which the openssl build uses
|
PACKAGES="$PACKAGES xutils-dev" # Provides 'makedepend' which the openssl build uses.
|
||||||
sudo apt-get install -y $PACKAGES
|
DEBIAN_FRONTEND=noninteractive sudo apt-get install -yq $PACKAGES
|
||||||
|
|
||||||
# Needed by neovim build:
|
# Needed by neovim build:
|
||||||
luarocks install lpeg
|
sudo luarocks install lpeg
|
||||||
luarocks install mpack
|
sudo luarocks install mpack
|
||||||
luarocks install luabitop
|
sudo luarocks install luabitop
|
||||||
|
|
||||||
sudo mkdir -p /data/data/com.termux/files/usr
|
sudo mkdir -p /data/data/com.termux/files/usr
|
||||||
sudo chown -R $USER /data
|
sudo chown -R `whoami` /data
|
Loading…
Reference in New Issue