Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
65 commits
Select commit Hold shift + click to select a range
ea2bfe5
feat(ci): init host os build setup
gouravkhunger Jul 9, 2025
6c25c67
chore: avoid data folder
gouravkhunger Jul 9, 2025
21fd472
chore: clean before build
gouravkhunger Jul 9, 2025
edb12a6
fix: file path
gouravkhunger Jul 9, 2025
4af2796
fix: setup-android-sdk.sh
gouravkhunger Jul 9, 2025
02ba382
fix: file paths
gouravkhunger Jul 9, 2025
6f8e82b
chore: setup java
gouravkhunger Jul 9, 2025
7a7db04
fix: properties
gouravkhunger Jul 9, 2025
5947c20
fix: build dir
gouravkhunger Jul 9, 2025
a302e0d
fix: TERMUX_PACKAGES_DIRECTORY
gouravkhunger Jul 9, 2025
180d0a0
fix: env
gouravkhunger Jul 9, 2025
53d45ce
fix
gouravkhunger Jul 9, 2025
8f63f07
chore: create /data
gouravkhunger Jul 9, 2025
032a5fd
chore: try all required packages
gouravkhunger Jul 9, 2025
9de56ae
chore: install gettext
gouravkhunger Jul 9, 2025
6598603
fix: add deps
gouravkhunger Jul 9, 2025
74a397d
chore: try libxml2
gouravkhunger Jul 9, 2025
b1c35fb
chore: try git
gouravkhunger Jul 9, 2025
23f91cc
chore: try ruby
gouravkhunger Jul 9, 2025
e0ad2a6
fix: ruby
gouravkhunger Jul 9, 2025
caf9375
fix: var
gouravkhunger Jul 9, 2025
32d3862
fix: attempt fixing mini_portile2 installation
gouravkhunger Jul 9, 2025
c7d28de
fix: rbinstall patch
gouravkhunger Jul 9, 2025
c8f9f8d
chore: log paths
gouravkhunger Jul 9, 2025
48f2a02
chore: log paths
gouravkhunger Jul 9, 2025
b8496ed
chore: move files
gouravkhunger Jul 9, 2025
69bb474
fix: move files
gouravkhunger Jul 9, 2025
53841a1
chore: debug
gouravkhunger Jul 9, 2025
84b01a2
refactor: better
gouravkhunger Jul 9, 2025
70d95b5
fix: path
gouravkhunger Jul 9, 2025
2e391b4
feat: build all arches
gouravkhunger Jul 9, 2025
f74005c
chore: test store bootstrap
gouravkhunger Jul 9, 2025
14d0fcc
refactor: update build tools
gouravkhunger Jul 9, 2025
e652d8e
fix: attempt at docker build
gouravkhunger Jul 9, 2025
03a47fc
fix: container home
gouravkhunger Jul 9, 2025
e7045c2
chore: debug info
gouravkhunger Jul 9, 2025
25bea6e
fix: docker workdir
gouravkhunger Jul 9, 2025
1c1e5b5
chore: re-add removed vars
gouravkhunger Jul 9, 2025
03bc24e
fix: JAVA_HOME variable
gouravkhunger Jul 9, 2025
5906bf1
fix: set docker container HOME variable
gouravkhunger Jul 9, 2025
a0c426a
fix: update container path
gouravkhunger Jul 9, 2025
073f916
chore: use HOME
gouravkhunger Jul 9, 2025
6984e61
chore: update docker user
gouravkhunger Jul 9, 2025
1470d24
chore: try other method to change docker home
gouravkhunger Jul 9, 2025
29995f7
fix: run-docker.sh
gouravkhunger Jul 9, 2025
55da752
fix: change to /home/builder
gouravkhunger Jul 9, 2025
1ccc0e3
fix
gouravkhunger Jul 9, 2025
bbb4278
fix: container workdir
gouravkhunger Jul 9, 2025
8811639
fix: missing env
gouravkhunger Jul 9, 2025
61bf45a
fix: upload zips
gouravkhunger Jul 9, 2025
241d5de
chore: try setting up ndk
gouravkhunger Jul 9, 2025
06ef941
feat: ready
gouravkhunger Jul 9, 2025
b24b266
fix: paths
gouravkhunger Jul 10, 2025
65a64f4
chore: remove env
gouravkhunger Jul 10, 2025
96b6844
fix: patch application
gouravkhunger Jul 10, 2025
7ef6d83
chore: check fs
gouravkhunger Jul 10, 2025
dd4092a
fix: gem install path
gouravkhunger Jul 10, 2025
0e8041a
fix: apply patches
gouravkhunger Jul 10, 2025
09933c6
chore: alter host build tools
gouravkhunger Jul 10, 2025
d2a5938
chore: try lesser tools
gouravkhunger Jul 10, 2025
fbf53e8
chore: switch to host build completely
gouravkhunger Jul 10, 2025
5b730f5
chore: workaround for sdk
gouravkhunger Jul 10, 2025
be1a694
fix: sdk not found
gouravkhunger Jul 10, 2025
244c5a3
chore: add autopoint
gouravkhunger Jul 10, 2025
53074ec
refactor: simplify dependency installation
gouravkhunger Jul 10, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
31 changes: 20 additions & 11 deletions .github/workflows/build-bootstraps.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,16 +14,20 @@ jobs:
bootstraps:
runs-on: ubuntu-latest

env:
NDK: "/opt/termux/android-ndk"
ANDROID_HOME: "/opt/termux/android-sdk"

strategy:
fail-fast: false
matrix:
target_arch: [aarch64, arm, i686, x86_64]

steps:
- name: Install requirements
run: |
sudo mkdir -p /data
sudo chown $USER:$USER /data

sudo apt-get update
sudo apt-get install -y autopoint

- name: Clone repository
uses: actions/checkout@v4
with:
Expand All @@ -36,30 +40,35 @@ jobs:
repository: termux/termux-packages
ref: 'acf1df1e90034ce0100ac54726ae56792bf56859'

- name: Setup java
uses: actions/setup-java@v1
with:
java-version: 17

- name: Setup environment
run: |
# Use custom packaging properties for JekyllEx
rm termux-packages/scripts/properties.sh termux-packages/scripts/build-bootstraps.sh
mv *.sh termux-packages/scripts/
mv termux-packages/* .
rm -rf termux-packages
mv properties.sh run-docker.sh build-bootstraps.sh scripts/
for package in patches/*; do
cp -r $package packages;
done
find packages/git -type f -name "*subpackage*" -exec rm {} +
find packages/libxml2 -type f -name "*python*" -exec rm {} +
sudo mkdir -p /home/builder && mv ./* /home/builder

- name: Create bootstrap archive
working-directory: /home/builder
run: |
./scripts/run-docker.sh ./clean.sh
./scripts/run-docker.sh ./build-package.sh libxml2 libxslt -a ${{ matrix.target_arch }} -q
./scripts/run-docker.sh ./scripts/build-bootstraps.sh --android10 --architectures ${{ matrix.target_arch }}
./clean.sh
./scripts/setup-android-sdk.sh
./scripts/build-bootstraps.sh --android10 --architectures ${{ matrix.target_arch }}

- name: Store bootstrap
uses: actions/upload-artifact@v4
with:
name: ruby-${{ matrix.target_arch }}
path: "*.zip"
path: "/home/builder/*.zip"

release:
needs: bootstraps
Expand Down
4 changes: 0 additions & 4 deletions .github/workflows/host-build.yml

This file was deleted.

2 changes: 1 addition & 1 deletion build-bootstraps.sh
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ BOOTSTRAP_ANDROID10_COMPATIBLE=false
TERMUX_DEFAULT_ARCHITECTURES=("aarch64" "arm" "i686" "x86_64")
TERMUX_ARCHITECTURES=("${TERMUX_DEFAULT_ARCHITECTURES[@]}")

TERMUX_PACKAGES_DIRECTORY="/home/builder/termux-packages"
TERMUX_PACKAGES_DIRECTORY="/home/builder"
TERMUX_BUILT_DEBS_DIRECTORY="$TERMUX_PACKAGES_DIRECTORY/output"
TERMUX_BUILT_PACKAGES_DIRECTORY="/data/data/.built-packages"

Expand Down
2 changes: 1 addition & 1 deletion patches/gems/nokogiri-1.16.7/extconf.rb.patch
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ index 07db836..a09f744 100644
end

def process_recipe(name, version, static_p, cross_p, cacheable_p = true)
+ system("gem install mini_portile2 -v '#{REQUIRED_MINI_PORTILE_VERSION}' --no-document -i /home/builder/.local/share/gem/ruby/3.3.0")
+ system("gem install mini_portile2 -v '#{REQUIRED_MINI_PORTILE_VERSION}' --no-document -i #{ENV['HOME']}/.local/share/gem/ruby/3.3.0")
require "rubygems"
gem("mini_portile2", REQUIRED_MINI_PORTILE_VERSION) # gemspec is not respected at install time
require "mini_portile2"
Expand Down
2 changes: 1 addition & 1 deletion patches/ruby/rbinstall.rb.patch
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ index bb2e6a2..8b98bd8 100755
next
end
spec.extension_dir = "#{extensions_dir}/#{spec.full_name}"
+ patch_files = Dir.glob("/home/builder/termux-packages/patches/gems/#{gem_name}/*")
+ patch_files = Dir.glob("/home/builder/patches/gems/#{gem_name}/*")
+ patch_files.each do |patch_file|
+ target = "#{srcdir}/.bundle/gems/#{gem_name}"
+ FileUtils.cp(patch_file, target)
Expand Down
20 changes: 12 additions & 8 deletions properties.sh
100644 → 100755
Original file line number Diff line number Diff line change
Expand Up @@ -6,15 +6,19 @@ TERMUX_ANDROID_BUILD_TOOLS_VERSION=33.0.1
: "${TERMUX_NDK_REVISION:=""}"
TERMUX_NDK_VERSION=$TERMUX_NDK_VERSION_NUM$TERMUX_NDK_REVISION

: "${TERMUX_JAVA_HOME:=/usr/lib/jvm/java-17-openjdk-amd64}"
export JAVA_HOME=${TERMUX_JAVA_HOME}

if [ "${TERMUX_PACKAGES_OFFLINE-false}" = "true" ]; then
export ANDROID_HOME=${TERMUX_SCRIPTDIR}/build-tools/android-sdk-$TERMUX_SDK_REVISION
export NDK=${TERMUX_SCRIPTDIR}/build-tools/android-ndk-r${TERMUX_NDK_VERSION}
if [ -n "${JAVA_HOME+x}" ]; then
: "${TERMUX_JAVA_HOME:="${JAVA_HOME}"}"
else
: "${ANDROID_HOME:="${HOME}/lib/android-sdk-$TERMUX_SDK_REVISION"}"
: "${NDK:="${HOME}/lib/android-ndk-r${TERMUX_NDK_VERSION}"}"
: "${TERMUX_JAVA_HOME:=/usr/lib/jvm/java-17-openjdk-amd64}"
export JAVA_HOME="${TERMUX_JAVA_HOME}"
fi

if [ -z "${ANDROID_HOME+x}" ]; then
: "${ANDROID_HOME:="${HOME}/lib/android-sdk-$TERMUX_SDK_REVISION"}"
fi

if [ -z "${NDK+x}" ]; then
: "${NDK:="${HOME}/lib/android-ndk-r${TERMUX_NDK_VERSION}"}"
fi

# Termux packages configuration.
Expand Down
76 changes: 0 additions & 76 deletions run-docker.sh

This file was deleted.