Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a5e94c6b33 | ||
|
|
88341f3192 |
@@ -1,14 +0,0 @@
|
||||
daysUntilStale: 45
|
||||
daysUntilClose: 14
|
||||
|
||||
exemptLabels:
|
||||
- "not stale"
|
||||
- "package request"
|
||||
|
||||
markComment: >
|
||||
This issue/PR has been automatically marked as stale because it has not had
|
||||
recent activity. It will be closed if no further activity occurs. Thank you
|
||||
for your contributions.
|
||||
|
||||
staleLabel: wontfix
|
||||
|
||||
@@ -7,7 +7,6 @@ on:
|
||||
|
||||
jobs:
|
||||
update-packages:
|
||||
if: github.repository == 'termux/termux-packages'
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Clone repository
|
||||
|
||||
+89
-132
@@ -9,11 +9,6 @@ on:
|
||||
pull_request:
|
||||
paths:
|
||||
- 'packages/**'
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
packages:
|
||||
description: "A space-separated names of packages selected for rebuilding"
|
||||
required: true
|
||||
|
||||
jobs:
|
||||
build:
|
||||
@@ -32,83 +27,72 @@ jobs:
|
||||
fetch-depth: 1000
|
||||
- name: Build
|
||||
run: |
|
||||
if [ "${{ github.event_name }}" != "workflow_dispatch" ]; then
|
||||
BASE_COMMIT=$(jq --raw-output .pull_request.base.sha "$GITHUB_EVENT_PATH")
|
||||
OLD_COMMIT=$(jq --raw-output .commits[0].id "$GITHUB_EVENT_PATH")
|
||||
HEAD_COMMIT=$(jq --raw-output .commits[-1].id "$GITHUB_EVENT_PATH")
|
||||
if [ "$BASE_COMMIT" = "null" ]; then
|
||||
if [ "$OLD_COMMIT" = "$HEAD_COMMIT" ]; then
|
||||
# Single-commit push.
|
||||
echo "Processing commit: ${HEAD_COMMIT}"
|
||||
CHANGED_FILES=$(git diff-tree --no-commit-id --name-only -r "${HEAD_COMMIT}")
|
||||
else
|
||||
# Multi-commit push.
|
||||
OLD_COMMIT="${OLD_COMMIT}~1"
|
||||
echo "Processing commit range: ${OLD_COMMIT}..${HEAD_COMMIT}"
|
||||
CHANGED_FILES=$(git diff-tree --no-commit-id --name-only -r "${OLD_COMMIT}" "${HEAD_COMMIT}")
|
||||
fi
|
||||
BASE_COMMIT=$(jq --raw-output .pull_request.base.sha "$GITHUB_EVENT_PATH")
|
||||
OLD_COMMIT=$(jq --raw-output .commits[0].id "$GITHUB_EVENT_PATH")
|
||||
HEAD_COMMIT=$(jq --raw-output .commits[-1].id "$GITHUB_EVENT_PATH")
|
||||
if [ "$BASE_COMMIT" = "null" ]; then
|
||||
if [ "$OLD_COMMIT" = "$HEAD_COMMIT" ]; then
|
||||
# Single-commit push.
|
||||
echo "Processing commit: ${HEAD_COMMIT}"
|
||||
CHANGED_FILES=$(git diff-tree --no-commit-id --name-only -r "${HEAD_COMMIT}")
|
||||
else
|
||||
# Pull requests.
|
||||
echo "Processing pull request #$(jq --raw-output .pull_request.number "$GITHUB_EVENT_PATH"): ${BASE_COMMIT}..HEAD"
|
||||
CHANGED_FILES=$(git diff-tree --no-commit-id --name-only -r "${BASE_COMMIT}" "HEAD")
|
||||
# Multi-commit push.
|
||||
OLD_COMMIT="${OLD_COMMIT}~1"
|
||||
echo "Processing commit range: ${OLD_COMMIT}..${HEAD_COMMIT}"
|
||||
CHANGED_FILES=$(git diff-tree --no-commit-id --name-only -r "${OLD_COMMIT}" "${HEAD_COMMIT}")
|
||||
fi
|
||||
else
|
||||
# Pull requests.
|
||||
echo "Processing pull request #$(jq --raw-output .pull_request.number "$GITHUB_EVENT_PATH"): ${BASE_COMMIT}..HEAD"
|
||||
CHANGED_FILES=$(git diff-tree --no-commit-id --name-only -r "${BASE_COMMIT}" "HEAD")
|
||||
fi
|
||||
mkdir -p ./artifacts ./debs
|
||||
touch ./debs/.placeholder
|
||||
if [ "${{ github.event_name }}" != "workflow_dispatch" ]; then
|
||||
# Process tag '%ci:no-build' that may be added as line to commit message.
|
||||
# Forces CI to cancel current build with status 'passed'.
|
||||
if grep -qiP '^\s*%ci:no-build\s*$' <(git log --format="%B" -n 1 "HEAD"); then
|
||||
tar cf artifacts/debs-${{ matrix.target_arch }}.tar debs
|
||||
echo "[!] Force exiting as tag '%ci:no-build' was applied to HEAD commit message."
|
||||
exit 0
|
||||
fi
|
||||
# Build local Docker image if setup scripts were changed.
|
||||
# Useful for pull requests submitting changes for both build environment and packages.
|
||||
if grep -qP '^scripts/(Dockerfile|setup-ubuntu\.sh)$' <<< "$CHANGED_FILES"; then
|
||||
echo "Detected changes for environment setup scripts. Building custom Docker image now."
|
||||
cd ./scripts
|
||||
docker build -t termux/package-builder:latest .
|
||||
cd ..
|
||||
fi
|
||||
# Parse changed files and identify new packages and deleted packages.
|
||||
# Create lists of those packages that will be passed to upload job for
|
||||
# further processing.
|
||||
while read -r file; do
|
||||
if ! [[ $file == packages/* ]]; then
|
||||
# This file does not belong to a package, so ignore it
|
||||
continue
|
||||
fi
|
||||
if [[ $file =~ ^packages/([.a-z0-9+-]*)/([.a-z0-9+-]*).subpackage.sh$ ]]; then
|
||||
# A subpackage was modified, check if it was deleted or just updated
|
||||
pkg=${BASH_REMATCH[1]}
|
||||
subpkg=${BASH_REMATCH[2]}
|
||||
if [ ! -f "packages/${pkg}/${subpkg}.subpackage.sh" ]; then
|
||||
echo "$subpkg" >> ./deleted_packages.txt
|
||||
fi
|
||||
elif [[ $file =~ ^packages/([.a-z0-9+-]*)/.*$ ]]; then
|
||||
# package, check if it was deleted or updated
|
||||
pkg=${BASH_REMATCH[1]}
|
||||
if [ ! -d "packages/${pkg}" ]; then
|
||||
echo "$pkg" >> ./deleted_packages.txt
|
||||
else
|
||||
echo "$pkg" >> ./built_packages.txt
|
||||
# If there are subpackages we want to create a list of those
|
||||
# as well
|
||||
for file in $(find "packages/${pkg}/" -maxdepth 1 -type f -name \*.subpackage.sh | sort); do
|
||||
echo "$(basename "${file%%.subpackage.sh}")" >> ./built_subpackages.txt
|
||||
done
|
||||
fi
|
||||
fi
|
||||
done<<<${CHANGED_FILES}
|
||||
else
|
||||
for pkg in ${{ github.event.inputs.packages }}; do
|
||||
echo "$pkg" >> ./built_packages.txt
|
||||
for subpkg in $(find "packages/${pkg}/" -maxdepth 1 -type f -name \*.subpackage.sh | sort); do
|
||||
echo "$(basename "${subpkg%%.subpackage.sh}")" >> ./built_subpackages.txt
|
||||
done
|
||||
done
|
||||
# Process tag '%ci:no-build' that may be added as line to commit message.
|
||||
# Forces CI to cancel current build with status 'passed'.
|
||||
if grep -qiP '^\s*%ci:no-build\s*$' <(git log --format="%B" -n 1 "HEAD"); then
|
||||
tar cf artifacts/debs-${{ matrix.target_arch }}.tar debs
|
||||
echo "[!] Force exiting as tag '%ci:no-build' was applied to HEAD commit message."
|
||||
exit 0
|
||||
fi
|
||||
# Build local Docker image if setup scripts were changed.
|
||||
# Useful for pull requests submitting changes for both build environment and packages.
|
||||
if grep -qP '^scripts/(Dockerfile|setup-ubuntu\.sh)$' <<< "$CHANGED_FILES"; then
|
||||
echo "Detected changes for environment setup scripts. Building custom Docker image now."
|
||||
cd ./scripts
|
||||
docker build -t termux/package-builder:latest .
|
||||
cd ..
|
||||
fi
|
||||
# Parse changed files and identify new packages and deleted packages.
|
||||
# Create lists of those packages that will be passed to upload job for
|
||||
# further processing.
|
||||
while read -r file; do
|
||||
if ! [[ $file == packages/* ]]; then
|
||||
# This file does not belong to a package, so ignore it
|
||||
continue
|
||||
fi
|
||||
if [[ $file =~ ^packages/([a-z0-9-]*)/([a-z0-9-]*).subpackage.sh$ ]]; then
|
||||
# A subpackage was modified, check if it was deleted or just updated
|
||||
pkg=${BASH_REMATCH[1]}
|
||||
subpkg=${BASH_REMATCH[2]}
|
||||
if [ ! -f "packages/${pkg}/${subpkg}.subpackage.sh" ]; then
|
||||
echo "$subpkg" >> ./deleted_packages.txt
|
||||
fi
|
||||
elif [[ $file =~ ^packages/([a-z0-9-]*)/.*$ ]]; then
|
||||
# package, check if it was deleted or updated
|
||||
pkg=${BASH_REMATCH[1]}
|
||||
if [ ! -d "packages/${pkg}" ]; then
|
||||
echo "$pkg" >> ./deleted_packages.txt
|
||||
else
|
||||
echo "$pkg" >> ./built_packages.txt
|
||||
# If there are subpackages we want to create a list of those
|
||||
# as well
|
||||
for file in $(find "packages/${pkg}/" -maxdepth 1 -type f -name \*.subpackage.sh | sort); do
|
||||
echo "$(basename "${file%%.subpackage.sh}")" >> ./built_subpackages.txt
|
||||
done
|
||||
fi
|
||||
fi
|
||||
done<<<${CHANGED_FILES}
|
||||
|
||||
# Fix so that lists do not contain duplicates
|
||||
if [ -f ./built_packages.txt ]; then
|
||||
@@ -179,15 +163,12 @@ jobs:
|
||||
# Function for deleting temporary directory with uploaded files from
|
||||
# the server.
|
||||
aptly_delete_dir() {
|
||||
echo "[$(date +%H:%M:%S)] Deleting uploads temporary directory..."
|
||||
echo "[*] Deleting uploads temporary directory."
|
||||
|
||||
curl_response=$(
|
||||
curl \
|
||||
--silent \
|
||||
--retry 2 \
|
||||
--retry-delay 3 \
|
||||
--user "${{ secrets.APTLY_API_AUTH }}" \
|
||||
--user-agent "Termux-Packages/1.0 (https://github.com/termux/termux-packages)" \
|
||||
--request DELETE \
|
||||
--write-out "|%{http_code}" \
|
||||
https://packages.termux.org/aptly-api/files/${REPOSITORY_NAME}-${{ github.sha }}
|
||||
@@ -196,7 +177,7 @@ jobs:
|
||||
http_status_code=$(echo "$curl_response" | cut -d'|' -f2)
|
||||
|
||||
if [ "$http_status_code" != "200" ]; then
|
||||
echo "[$(date +%H:%M:%S)] Warning: server returned $http_status_code code while deleting temporary directory."
|
||||
echo "[!] Server returned $http_status_code code while deleting temporary directory."
|
||||
fi
|
||||
}
|
||||
|
||||
@@ -207,30 +188,22 @@ jobs:
|
||||
curl_response=$(
|
||||
curl \
|
||||
--silent \
|
||||
--retry 2 \
|
||||
--retry-delay 3 \
|
||||
--user "${{ secrets.APTLY_API_AUTH }}" \
|
||||
--user-agent "Termux-Packages/1.0 (https://github.com/termux/termux-packages)" \
|
||||
--request POST \
|
||||
--form file=@${filename} \
|
||||
--write-out "|%{http_code}" \
|
||||
https://packages.termux.org/aptly-api/files/${REPOSITORY_NAME}-${{ github.sha }} || true
|
||||
https://packages.termux.org/aptly-api/files/${REPOSITORY_NAME}-${{ github.sha }}
|
||||
)
|
||||
|
||||
http_status_code=$(echo "$curl_response" | cut -d'|' -f2)
|
||||
|
||||
if [ "$http_status_code" = "200" ]; then
|
||||
echo "[$(date +%H:%M:%S)] Uploaded: $(echo "$curl_response" | cut -d'|' -f1 | jq -r '.[]' | cut -d'/' -f2)"
|
||||
elif [ "$http_status_code" = "000" ]; then
|
||||
echo "[$(date +%H:%M:%S)]: Failed to upload '$filename'. Server/proxy dropped connection during upload."
|
||||
echo "[$(date +%H:%M:%S)]: Aborting any further uploads."
|
||||
aptly_delete_dir
|
||||
exit 1
|
||||
echo "[*] Uploaded: $(echo "$curl_response" | cut -d'|' -f1 | jq -r '.[]' | cut -d'/' -f2)"
|
||||
else
|
||||
# Manually cleaning up the temporary directory to reclaim disk space.
|
||||
# Don't rely on scheduled server-side scripts.
|
||||
echo "[$(date +%H:%M:%S)] Error: failed to upload '$filename'. Server returned $http_status_code code."
|
||||
echo "[$(date +%H:%M:%S)] Aborting any further uploads."
|
||||
echo "[!] Failed to upload '$filename'. Server returned $http_status_code code."
|
||||
echo "[!] Aborting any further uploads."
|
||||
aptly_delete_dir
|
||||
exit 1
|
||||
fi
|
||||
@@ -241,67 +214,51 @@ jobs:
|
||||
|
||||
# Publishing repository changes.
|
||||
if [ "$uploaded_files" = "true" ]; then
|
||||
echo "[$(date +%H:%M:%S)] Adding packages to repository '$REPOSITORY_NAME'..."
|
||||
http_status_code=""
|
||||
echo "[*] Adding packages to repository '$REPOSITORY_NAME'..."
|
||||
|
||||
curl_response=$(
|
||||
curl \
|
||||
--silent \
|
||||
--retry 2 \
|
||||
--retry-delay 3 \
|
||||
--user "${{ secrets.APTLY_API_AUTH }}" \
|
||||
--user-agent "Termux-Packages/1.0 (https://github.com/termux/termux-packages)" \
|
||||
--request POST \
|
||||
--write-out "|%{http_code}" \
|
||||
https://packages-cf.termux.org/aptly-api/repos/${REPOSITORY_NAME}/file/${REPOSITORY_NAME}-${{ github.sha }} || true
|
||||
https://packages.termux.org/aptly-api/repos/${REPOSITORY_NAME}/file/${REPOSITORY_NAME}-${{ github.sha }} || true
|
||||
)
|
||||
|
||||
http_status_code=$(echo "$curl_response" | cut -d'|' -f2)
|
||||
|
||||
if [ "$http_status_code" = "200" ]; then
|
||||
warnings=$(echo "$curl_response" | cut -d'|' -f1 | jq '.Report.Warnings' | jq -r '.[]')
|
||||
if [ -n "$warnings" ]; then
|
||||
echo "[$(date +%H:%M:%S)] APTLY WARNINGS (NON-CRITICAL):"
|
||||
echo "[!] WARNINGS (NON-CRITICAL):"
|
||||
echo
|
||||
echo "$warnings"
|
||||
echo
|
||||
fi
|
||||
else
|
||||
echo "[$(date +%H:%M:%S)] Error: got http_status_code == '$http_status_code', packages may not appear in repository."
|
||||
fi
|
||||
|
||||
# Usually temporary directory is deleted automatically, but in certain cases it is left.
|
||||
aptly_delete_dir
|
||||
|
||||
# Final part to make changes appear in web root.
|
||||
echo "[$(date +%H:%M:%S)] Publishing repository changes..."
|
||||
http_status_code=""
|
||||
curl_response=$(
|
||||
curl \
|
||||
--silent \
|
||||
--retry 2 \
|
||||
--retry-delay 3 \
|
||||
--user "${{ secrets.APTLY_API_AUTH }}" \
|
||||
--user-agent "Termux-Packages/1.0 (https://github.com/termux/termux-packages)" \
|
||||
--header 'Content-Type: application/json' \
|
||||
--request PUT \
|
||||
--data '{"Signing": {"Passphrase": "${{ secrets.GPG_PASSPHRASE }}"}}' \
|
||||
--write-out '|%{http_code}' \
|
||||
https://packages-cf.termux.org/aptly-api/publish/${REPOSITORY_NAME}/${REPOSITORY_DISTRIBUTION} || true
|
||||
)
|
||||
http_status_code=$(echo "$curl_response" | cut -d'|' -f2 | grep -oP '\d{3}$')
|
||||
echo "[*] Publishing repository changes..."
|
||||
set +e
|
||||
curl \
|
||||
--silent \
|
||||
--user "${{ secrets.APTLY_API_AUTH }}" \
|
||||
--header 'Content-Type: application/json' \
|
||||
--request PUT \
|
||||
--data '{"Signing": {"Passphrase": "${{ secrets.GPG_PASSPHRASE }}"}}' \
|
||||
https://packages.termux.org/aptly-api/publish/${REPOSITORY_NAME}/${REPOSITORY_DISTRIBUTION}
|
||||
exit_code=$?
|
||||
echo
|
||||
|
||||
if [ "$http_status_code" = "200" ]; then
|
||||
echo "[$(date +%H:%M:%S)] Repository has been updated successfully."
|
||||
elif [ "$http_status_code" = "000" ]; then
|
||||
echo "[$(date +%H:%M:%S)] Warning: server/proxy has dropped connection."
|
||||
# Ignore - nothing can be done with that unless we change proxy.
|
||||
#exit 1
|
||||
elif [ "$http_status_code" = "504" ]; then
|
||||
echo "[$(date +%H:%M:%S)] Warning: request processing time was too long, connection dropped."
|
||||
# Ignore - nothing can be done with that unless we change repository
|
||||
# management tool or reduce repository size.
|
||||
#exit 1
|
||||
if [ "$exit_code" = 0 ]; then
|
||||
echo "[*] Repository updated successfully."
|
||||
elif [ "$exit_code" = 52 ]; then
|
||||
echo "[!] Repository update takes more time than expected, server returned empty response."
|
||||
echo "[!] This is expected if large amount of data has been submitted."
|
||||
else
|
||||
echo "[$(date +%H:%M:%S)] Error: got http_status_code == '$http_status_code'"
|
||||
exit 1
|
||||
echo "[!] curl exited with error code $exit_status."
|
||||
exit "$exit_code"
|
||||
fi
|
||||
fi
|
||||
|
||||
-199
@@ -1,199 +0,0 @@
|
||||
# Default assignment: frequent contributors from @termux.
|
||||
* @buttaface @Grimler91 @landfillbaby @xeffyr
|
||||
|
||||
# GitHub Actions.
|
||||
/.github/workflows/ @xeffyr
|
||||
|
||||
# Build system.
|
||||
/build-all.sh @Grimler91 @xeffyr
|
||||
/build-package.sh @Grimler91 @xeffyr
|
||||
/clean.sh @Grimler91 @xeffyr
|
||||
/scripts/ @Grimler91 @xeffyr
|
||||
|
||||
# GN setup script
|
||||
/scripts/build/setup/termux_setup_gn.sh @thunder-coding
|
||||
|
||||
# Repository utilities.
|
||||
/scripts/bin/ @xeffyr
|
||||
|
||||
# Packages owned by @buttaface
|
||||
/packages/kak-lsp/ @buttaface
|
||||
/packages/libdispatch/ @buttaface
|
||||
/packages/libllvm/ @buttaface
|
||||
/packages/llbuild/ @buttaface
|
||||
/packages/swift/ @buttaface
|
||||
|
||||
# Packages owned by @DLC01
|
||||
/packages/exhale/ @DLC01
|
||||
/packages/fdkaac/ @DLC01
|
||||
/packages/libfdk-aac/ @DLC01
|
||||
|
||||
# Packages owned by @Grimler91
|
||||
/packages/chezmoi/ @Grimler91
|
||||
/packages/docopt/ @Grimler91
|
||||
/packages/game-repo/ @Grimler91
|
||||
/packages/libprotobuf-c/ @Grimler91
|
||||
/packages/libqrencode/ @Grimler91
|
||||
/packages/mpdscribble/ @Grimler91
|
||||
/packages/pass-otp/ @Grimler91
|
||||
/packages/root-repo/ @Grimler91
|
||||
/packages/runit/ @Grimler91
|
||||
/packages/science-repo/ @Grimler91
|
||||
/packages/smalltalk/ @Grimler91
|
||||
/packages/teckit/ @Grimler91
|
||||
/packages/termux-services/ @Grimler91
|
||||
/packages/texlive-bin/ @Grimler91
|
||||
|
||||
# Packages owned by @ian4hu
|
||||
/packages/php-apcu/ @ian4hu
|
||||
/packages/php-imagick/ @ian4hu
|
||||
/packages/php-psr/ @ian4hu
|
||||
/packages/php-zephir-parser/ @ian4hu
|
||||
/packages/re2c/ @ian4hu
|
||||
|
||||
# Packages owned by @kcubeterm
|
||||
/packages/brook/ @kcubeterm
|
||||
/packages/delve/ @kcubeterm
|
||||
/packages/duf/ @kcubeterm
|
||||
/packages/fzy/ @kcubeterm
|
||||
/packages/gh/ @kcubeterm
|
||||
/packages/gping/ @kcubeterm
|
||||
/packages/hors/ @kcubeterm
|
||||
/packages/k9s/ @kcubeterm
|
||||
/packages/lazygit/ @kcubeterm
|
||||
/packages/libtorrent/ @kcubeterm
|
||||
/packages/lsd/ @kcubeterm
|
||||
/packages/pup/ @kcubeterm
|
||||
/packages/ripgrep-all/ @kcubeterm
|
||||
/packages/rush/ @kcubeterm
|
||||
/packages/rustscan/ @kcubeterm
|
||||
/packages/shc/ @kcubeterm
|
||||
/packages/shell2http/ @kcubeterm
|
||||
/packages/shiori/ @kcubeterm
|
||||
/packages/youtubedr/ @kcubeterm
|
||||
|
||||
# Packages owned by @librehat
|
||||
/packages/flatbuffers/ @librehat
|
||||
/packages/mimetic/ @librehat
|
||||
|
||||
# Packages owned by @msoose
|
||||
/packages/dns2tcp/ @msoose
|
||||
/packages/proxmark3/ @msoose
|
||||
/packages/proxmark3-git/ @msoose
|
||||
/packages/recode/ @msoose
|
||||
|
||||
# Packages owned by @michalbednarski
|
||||
/packages/proot/ @michalbednarski
|
||||
/packages/termux-am/ @michalbednarski
|
||||
|
||||
# Packages owned by @MrAdityaAlok
|
||||
/packages/helix/ @MrAdityaAlok
|
||||
/packages/libdvbcsa/ @MrAdityaAlok
|
||||
/packages/lua-language-server/ @MrAdityaAlok
|
||||
/packages/tvheadend/ @MrAdityaAlok
|
||||
|
||||
# Packages owned by @Neo-Oli
|
||||
/packages/cava/ @Neo-Oli
|
||||
/packages/colordiff/ @Neo-Oli
|
||||
/packages/ed/ @Neo-Oli
|
||||
/packages/libmesode/ @Neo-Oli
|
||||
/packages/libotr/ @Neo-Oli
|
||||
/packages/libsignal-protocol-c/ @Neo-Oli
|
||||
/packages/nyancat/ @Neo-Oli
|
||||
/packages/par2/ @Neo-Oli
|
||||
/packages/profanity/ @Neo-Oli
|
||||
/packages/tsocks/ @Neo-Oli
|
||||
/packages/tty-clock/ @Neo-Oli
|
||||
|
||||
# Packages owned by @suhan-paradkar
|
||||
/packages/libsecret/ @suhan-paradkar
|
||||
/packages/mailutils/ @suhan-paradkar
|
||||
|
||||
# Packages owned by @thunder-coding
|
||||
/packages/flyctl/ @thunder-coding
|
||||
/packages/git-sizer/ @thunder-coding
|
||||
/packages/gn/ @thunder-coding
|
||||
/packages/lychee/ @thunder-coding
|
||||
/packages/nodejs/ @thunder-coding
|
||||
/packages/nodejs-lts/ @thunder-coding
|
||||
/packages/silicon/ @thunder-coding
|
||||
/packages/slides/ @thunder-coding
|
||||
|
||||
# Packages owned by @xeffyr
|
||||
/packages/at/ @xeffyr
|
||||
/packages/beanshell/ @xeffyr
|
||||
/packages/btfs/ @xeffyr
|
||||
/packages/build-essential/ @xeffyr
|
||||
/packages/clamav/ @xeffyr
|
||||
/packages/codecrypt/ @xeffyr
|
||||
/packages/cryptopp/ @xeffyr
|
||||
/packages/dbus/ @xeffyr
|
||||
/packages/distcc/ @xeffyr
|
||||
/packages/e2fsprogs/ @xeffyr
|
||||
/packages/exiftool/ @xeffyr
|
||||
/packages/fakeroot/ @xeffyr
|
||||
/packages/fdroidcl/ @xeffyr
|
||||
/packages/geoip2-database/ @xeffyr
|
||||
/packages/geth/ @xeffyr
|
||||
/packages/gitea/ @xeffyr
|
||||
/packages/go-findimagedupes/ @xeffyr
|
||||
/packages/gopass/ @xeffyr
|
||||
/packages/haproxy/ @xeffyr
|
||||
/packages/ipfs/ @xeffyr
|
||||
/packages/kubectl/ @xeffyr
|
||||
/packages/libice/ @xeffyr
|
||||
/packages/libmcrypt/ @xeffyr
|
||||
/packages/libmhash/ @xeffyr
|
||||
/packages/libseccomp/ @xeffyr
|
||||
/packages/libsixel/ @xeffyr
|
||||
/packages/libsm/ @xeffyr
|
||||
/packages/libx11/ @xeffyr
|
||||
/packages/libxau/ @xeffyr
|
||||
/packages/libxcb/ @xeffyr
|
||||
/packages/libxcursor/ @xeffyr
|
||||
/packages/libxdmcp/ @xeffyr
|
||||
/packages/libxext/ @xeffyr
|
||||
/packages/libxfixes/ @xeffyr
|
||||
/packages/libxft/ @xeffyr
|
||||
/packages/libxi/ @xeffyr
|
||||
/packages/libxrandr/ @xeffyr
|
||||
/packages/libxrender/ @xeffyr
|
||||
/packages/libxss/ @xeffyr
|
||||
/packages/libxtst/ @xeffyr
|
||||
/packages/libxt/ @xeffyr
|
||||
/packages/lua-lpeg/ @xeffyr
|
||||
/packages/openldap/ @xeffyr
|
||||
/packages/proot-distro/ @xeffyr
|
||||
/packages/qemu-system-x86-64-headless/ @xeffyr
|
||||
/packages/restic-server/ @xeffyr
|
||||
/packages/seccure/ @xeffyr
|
||||
/packages/shtool/ @xeffyr
|
||||
/packages/srelay/ @xeffyr
|
||||
/packages/ssss/ @xeffyr
|
||||
/packages/steghide/ @xeffyr
|
||||
/packages/termux-auth/ @xeffyr
|
||||
/packages/tk/ @xeffyr
|
||||
/packages/ttf-dejavu/ @xeffyr
|
||||
/packages/unstable-repo/ @xeffyr
|
||||
/packages/virustotal-cli/ @xeffyr
|
||||
/packages/vis/ @xeffyr
|
||||
/packages/x11-repo/ @xeffyr
|
||||
/packages/xcb-proto/ @xeffyr
|
||||
/packages/xorgproto/ @xeffyr
|
||||
/packages/xorg-util-macros/ @xeffyr
|
||||
/packages/xtrans/ @xeffyr
|
||||
|
||||
# Packages owned by @Yonle
|
||||
/packages/chafa/ @Yonle
|
||||
/packages/fluidsynth/ @Yonle
|
||||
|
||||
# Misc
|
||||
/packages/blogc/ @rafaelmartins
|
||||
/packages/cfengine/ @craigcomstock
|
||||
/packages/composer/ @PuneetGopinath
|
||||
/packages/emscripten/ @truboxl
|
||||
/packages/germanium/ @ravener
|
||||
/packages/gotop/ @medzikuser
|
||||
/packages/rust/ @kcotugno
|
||||
/packages/squashfs-tools-ng/ @WMCB-Tech
|
||||
/packages/xmake/ @waruqi
|
||||
+5
-21
@@ -16,10 +16,6 @@ Developer's wiki is available at https://github.com/termux/termux-packages/wiki.
|
||||
statements like "solve it quickly", "urgently need solution" and so on. Be
|
||||
patient.
|
||||
|
||||
Avoid digging and commenting in old, already closed issues. Read them carefully
|
||||
\- likely they already give solution. If it didn't worked, only then open a new
|
||||
one. Note that we will lock down issues that are really outdated.
|
||||
|
||||
You may report only issues happening within our official packages. Do not
|
||||
submit issues happening in third-party software - we will ignore them.
|
||||
|
||||
@@ -92,8 +88,8 @@ met these conditions:
|
||||
- **Packages must be licensed under widely recognized open source license**
|
||||
|
||||
Software should be licensed under Apache, BSD, GNU GPL, MIT or other well
|
||||
known open-source licenses. Software for which the source is available but
|
||||
distributed under non-free conditions is processed on an individual basis.
|
||||
known open source license. Software which is open source but is distributed
|
||||
under non-free conditions is processed on individual basis.
|
||||
|
||||
Software which is either closed-source, contain binary-only components or
|
||||
is distributed under End User License Agreement is not accepted.
|
||||
@@ -212,21 +208,9 @@ More about `build.sh` variables you can read on [developer's wiki](https://githu
|
||||
You can check which packages are out-of-date by visiting Termux page on
|
||||
[Repology](https://repology.org/projects/?inrepo=termux&outdated=1).
|
||||
|
||||
### General package update procedure
|
||||
|
||||
Usually to update packages you need to just modify few variables and commit
|
||||
the changes.
|
||||
|
||||
1. Assign the new version value to `TERMUX_PKG_VERSION`. Be careful to not
|
||||
remove the epoch (numbered prefix, e.g `1:`, `2:`) accidentally.
|
||||
2. If there is `TERMUX_PKG_REVISION` variable set, remove it. Revision
|
||||
should be set only for subsequent package builds within the same version.
|
||||
3. Download the source code archive and compute SHA-256 checksum:
|
||||
```
|
||||
cd ./packages/${YOUR_PACKAGE}
|
||||
(source build.sh 2>/dev/null; curl -LO "$TERMUX_PKG_SRCURL")
|
||||
```
|
||||
4. Assign the new checksum value to `TERMUX_PKG_SHA256`.
|
||||
Most of packages can be updated by just modifying variables `TERMUX_PKG_VERSION`
|
||||
and `TERMUX_PKG_SHA256`, which represent the package version and checksum for
|
||||
source code archive respectively.
|
||||
|
||||
### Dealing with patch errors
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
[](https://hub.docker.com/r/termux/package-builder)
|
||||
[](https://repology.org/repository/termux)
|
||||
[](https://gitter.im/termux/termux)
|
||||
[](https://discord.gg/HXpF69X)
|
||||
[](https://discord.gg/HXpF69X)
|
||||
|
||||
<img src=".github/static/powered-by-fosshost.png" alt="Powered by FossHost" width="128px"></img>
|
||||
|
||||
|
||||
+3
-3
@@ -374,9 +374,9 @@ if [ "${TERMUX_INSTALL_DEPS-false}" = "true" ]; then
|
||||
gpg --import "$TERMUX_SCRIPTDIR/packages/termux-keyring/fornwall.gpg"
|
||||
gpg --no-tty --command-file <(echo -e "trust\n5\ny") --edit-key 2218893D3F679BEFC421FD976700B77E6D8D0AE7
|
||||
}
|
||||
gpg --list-keys 2C7F29AE97891F6419A9E2CDB0076E490B71616B > /dev/null 2>&1 || {
|
||||
gpg --list-keys B63168609E8839CA9150CE2DD9EFD56891B2BB50 > /dev/null 2>&1 || {
|
||||
gpg --import "$TERMUX_SCRIPTDIR/packages/termux-keyring/grimler.gpg"
|
||||
gpg --no-tty --command-file <(echo -e "trust\n5\ny") --edit-key 2C7F29AE97891F6419A9E2CDB0076E490B71616B
|
||||
gpg --no-tty --command-file <(echo -e "trust\n5\ny") --edit-key B63168609E8839CA9150CE2DD9EFD56891B2BB50
|
||||
}
|
||||
gpg --list-keys CC72CF8BA7DBFA0182877D045A897D96E57CF20C > /dev/null 2>&1 || {
|
||||
gpg --import "$TERMUX_SCRIPTDIR/packages/termux-keyring/termux-autobuilds.gpg"
|
||||
@@ -405,7 +405,7 @@ for ((i=0; i<${#PACKAGE_LIST[@]}; i++)); do
|
||||
env TERMUX_ARCH="$arch" TERMUX_BUILD_IGNORE_LOCK=true ./build-package.sh \
|
||||
${TERMUX_FORCE_BUILD+-f} ${TERMUX_INSTALL_DEPS+-i} ${TERMUX_IS_DISABLED+-D} \
|
||||
${TERMUX_DEBUG_BUILD+-d} ${TERMUX_OUTPUT_DIR+-o $TERMUX_OUTPUT_DIR} \
|
||||
--format ${TERMUX_PACKAGE_FORMAT:=debian} "${PACKAGE_LIST[i]}"
|
||||
--format ${TERMUX_PACKAGE_FORMAT} "${PACKAGE_LIST[i]}"
|
||||
done
|
||||
exit
|
||||
fi
|
||||
|
||||
@@ -1,17 +0,0 @@
|
||||
--- ghc-8.10.1/compiler/main/DynFlags.hs.orig 2020-06-13 08:56:50.595808526 +0100
|
||||
+++ ghc-8.10.1/compiler/main/DynFlags.hs 2020-06-13 08:57:24.770000253 +0100
|
||||
@@ -4624,6 +4624,14 @@
|
||||
default_PIC platform =
|
||||
case (platformOS platform, platformArch platform) of
|
||||
(OSDarwin, ArchX86_64) -> [Opt_PIC]
|
||||
+ (OSLinux, ArchARM{}) -> [Opt_PIC]
|
||||
+ (OSLinux, ArchARM64) -> [Opt_PIC]
|
||||
+ (OSLinux, ArchX86) -> [Opt_PIC]
|
||||
+ (OSLinux, ArchX86_64) -> [Opt_PIC]
|
||||
+ (OSUnknown, ArchARM{}) -> [Opt_PIC]
|
||||
+ (OSUnknown, ArchARM64) -> [Opt_PIC]
|
||||
+ (OSUnknown, ArchX86) -> [Opt_PIC]
|
||||
+ (OSUnknown, ArchX86_64) -> [Opt_PIC]
|
||||
(OSOpenBSD, ArchX86_64) -> [Opt_PIC] -- Due to PIE support in
|
||||
-- OpenBSD since 5.3 release
|
||||
-- (1 May 2013) we need to
|
||||
@@ -1,30 +0,0 @@
|
||||
diff --git a/compiler/main/SysTools.hs b/compiler/main/SysTools.hs
|
||||
index b3312b0..b0e3d90 100644
|
||||
--- a/compiler/main/SysTools.hs
|
||||
+++ b/compiler/main/SysTools.hs
|
||||
@@ -414,11 +414,7 @@ linkDynLib dflags0 o_files dep_packages
|
||||
-- math-y things are used (which we assume to include all programs). See #14022.
|
||||
libmLinkOpts :: [Option]
|
||||
libmLinkOpts =
|
||||
-#if defined(HAVE_LIBM)
|
||||
[Option "-lm"]
|
||||
-#else
|
||||
- []
|
||||
-#endif
|
||||
|
||||
getPkgFrameworkOpts :: DynFlags -> Platform -> [InstalledUnitId] -> IO [String]
|
||||
getPkgFrameworkOpts dflags platform dep_packages
|
||||
diff --git a/rts/package.conf.in b/rts/package.conf.in
|
||||
index e4cb159..7a234cd 100644
|
||||
--- a/rts/package.conf.in
|
||||
+++ b/rts/package.conf.in
|
||||
@@ -26,9 +26,7 @@ library-dirs: TOP"/rts/dist/build" FFI_LIB_DIR LIBDW_LIB_DIR
|
||||
hs-libraries: "HSrts" FFI_LIB
|
||||
|
||||
extra-libraries:
|
||||
-#if defined(HAVE_LIBM)
|
||||
"m" /* for ldexp() */
|
||||
-#endif
|
||||
#if defined(HAVE_LIBRT)
|
||||
, "rt"
|
||||
#endif
|
||||
@@ -1,154 +0,0 @@
|
||||
# Build failure with recent NDK.
|
||||
|
||||
TERMUX_PKG_HOMEPAGE=https://www.haskell.org/ghc/
|
||||
TERMUX_PKG_DESCRIPTION="The Glasgow Haskell Compilation system"
|
||||
TERMUX_PKG_LICENSE="BSD 2-Clause, BSD 3-Clause, LGPL-2.1"
|
||||
TERMUX_PKG_VERSION=8.10.1
|
||||
TERMUX_PKG_REVISION=5
|
||||
TERMUX_PKG_SRCURL=http://downloads.haskell.org/~ghc/${TERMUX_PKG_VERSION}/ghc-${TERMUX_PKG_VERSION}-src.tar.xz
|
||||
TERMUX_PKG_SHA256=4e3b07f83a266b3198310f19f71e371ebce97c769b14f0d688f4cbf2a2a1edf5
|
||||
TERMUX_PKG_DEPENDS="binutils, clang, iconv, libffi, llvm, ncurses"
|
||||
TERMUX_PKG_BUILD_IN_SRC=true
|
||||
TERMUX_PKG_NO_STATICSPLIT=true
|
||||
TERMUX_PKG_EXTRA_CONFIGURE_ARGS=" --disable-ld-override --build=x86_64-unknown-linux --host=x86_64-unknown-linux"
|
||||
TERMUX_PKG_BLACKLISTED_ARCHES="arm"
|
||||
|
||||
DYNAMIC_GHC_PROGRAMS=NO
|
||||
|
||||
termux_step_pre_configure() {
|
||||
termux_setup_ghc
|
||||
|
||||
TERMUX_PKG_EXTRA_CONFIGURE_ARGS+=" --target=${TERMUX_HOST_PLATFORM}"
|
||||
|
||||
# After stage 0, cabal passes a host string to the libraries' configure scripts that isn't valid.
|
||||
# We set one ourselves anyway, so this simply isn't needed.
|
||||
sed -i 's/maybeHostFlag = i/maybeHostFlag = [] -- i/' libraries/Cabal/Cabal/Distribution/Simple.hs
|
||||
|
||||
# Android will only run PIE executables, so --no-pie, like GHC suggests, is out. GHC relies on relocations.
|
||||
# Combine PIE and -Wl,-r together, and the linker will tell you those flags are mutually exclusive.
|
||||
# This poses a problem as we need both. If you let the compiler handle it, then apparently all's well.
|
||||
sed -i 's/"-Wl,-r"/"-r"/' compiler/main/DriverPipeline.hs
|
||||
|
||||
cp mk/build.mk.sample mk/build.mk
|
||||
cat >> mk/build.mk <<-EOF
|
||||
SRC_HC_OPTS += -optc-Wno-unused-label -optc-Wno-unused-but-set-variable
|
||||
SRC_HC_OPTS += -optc-Wno-unused-variable -optc-Wno-unused-function
|
||||
SRC_HC_OPTS += -optc-Wno-unused-command-line-argument -optc-Wno-unknown-warning-option
|
||||
GhcStage2HcOpts += -optl-Wl,--enable-new-dtags
|
||||
INTEGER_LIBRARY = integer-simple
|
||||
SplitSections = YES
|
||||
BuildFlavour = quick-cross
|
||||
HADDOCK_DOCS = NO
|
||||
BUILD_SPHINX_HTML = NO
|
||||
BUILD_SPHINX_PS = NO
|
||||
BUILD_SPHINX_PDF = NO
|
||||
DYNAMIC_GHC_PROGRAMS = $DYNAMIC_GHC_PROGRAMS
|
||||
GhcLibWays = v
|
||||
BUILD_MAN = NO
|
||||
#STRIP_CMD = $STRIP
|
||||
EOF
|
||||
# If choosing to build a GHC dynamically linked to its libs, then
|
||||
# $TERMUX_PREFIX/lib automatically gets added to the rpath that's generated
|
||||
if [ "$DYNAMIC_GHC_PROGRAMS" != "YES" ]; then
|
||||
echo "GhcStage2HcOpts += -optl-Wl,-rpath=$TERMUX_PREFIX/lib" >> mk/build.mk
|
||||
fi
|
||||
|
||||
# So... this is fun. If these options are initially passed to the configure script,
|
||||
# then building stage 0 breaks, because it's meant to run on the host with the
|
||||
# host's libs. But of course, we need to link to Termux's libffi etc. and use the
|
||||
# cross-compiler when building something to run on Android in the later stages
|
||||
patch -Np1 <<EOF
|
||||
--- a/rules/build-package-data.mk.orig 2020-06-09 23:44:52.013029077 +0000
|
||||
+++ b/rules/build-package-data.mk 2020-06-09 23:45:10.589149807 +0000
|
||||
@@ -108,6 +108,15 @@
|
||||
\$1_\$2_CONFIGURE_OPTS += --configure-option=--host=\$(TargetPlatformFull)
|
||||
endif
|
||||
|
||||
+ifneq "\$3" "0"
|
||||
+\$1_\$2_CONFIGURE_OPTS += --configure-option=--host=$TERMUX_HOST_PLATFORM --configure-option=CXX=$CXX --configure-option=LD=$LD --configure-option=AR=$AR
|
||||
+\$1_\$2_CONFIGURE_OPTS += --configure-option=AS=$AS --configure-option=CC=$CC --configure-option=RANLIB=$RANLIB --configure-option=READELF=$READELF
|
||||
+\$1_\$2_CONFIGURE_OPTS += --configure-option=OBJCOPY=$OBJCOPY --configure-option=OBJDUMP=$OBJDUMP --configure-option=--with-system-libffi
|
||||
+\$1_\$2_CONFIGURE_OPTS += --configure-option=--with-ffi-includes=$TERMUX_PREFIX/include --configure-option=--with-ffi-libraries=$TERMUX_PREFIX/lib
|
||||
+\$1_\$2_CONFIGURE_OPTS += --configure-option=--with-iconv-includes=$TERMUX_PREFIX/include --configure-option=--with-iconv-libraries=$TERMUX_PREFIX/lib
|
||||
+\$1_\$2_CONFIGURE_OPTS += --configure-option=--with-curses-includes=$TERMUX_PREFIX/include/ncursesw --configure-option=--with-curses-libraries=$TERMUX_PREFIX/lib
|
||||
+endif
|
||||
+
|
||||
ifeq "\$3" "0"
|
||||
\$1_\$2_CONFIGURE_OPTS += \$\$(BOOT_PKG_CONSTRAINTS)
|
||||
endif
|
||||
EOF
|
||||
|
||||
unset AR
|
||||
unset AS
|
||||
unset CC
|
||||
export CFLAGS=""
|
||||
unset CPP
|
||||
export CPPFLAGS=""
|
||||
unset CXXFLAGS
|
||||
unset CXX
|
||||
export LDFLAGS=""
|
||||
unset LD
|
||||
unset PKG_CONFIG
|
||||
unset RANLIB
|
||||
unset READELF
|
||||
unset OBJCOPY
|
||||
unset OBJDUMP
|
||||
|
||||
autoreconf
|
||||
}
|
||||
|
||||
termux_step_post_make_install() {
|
||||
# We may build GHC with `llc-9` etc., but only `llc` is present in Termux
|
||||
sed -i 's/"LLVM llc command", "llc.*"/"LLVM llc command", "llc"/' "$TERMUX_PREFIX/lib/ghc-$TERMUX_PKG_VERSION/settings"
|
||||
sed -i 's/"LLVM opt command", "opt.*"/"LLVM opt command", "opt"/' "$TERMUX_PREFIX/lib/ghc-$TERMUX_PKG_VERSION/settings"
|
||||
|
||||
if [ "$DYNAMIC_GHC_PROGRAMS" = "YES" ]; then
|
||||
# Hack to turn the binaries' rpath from something relative to the build environment
|
||||
# into something that matches Termux's FHS. patchelf needs to be installed on the host.
|
||||
while IFS= read -r -d '' bin; do
|
||||
local curr_rpath="$(patchelf --print-rpath "$bin" 2>/dev/null)"
|
||||
if [ -n "$curr_rpath" ]; then
|
||||
local paths_to_prepend=()
|
||||
local new_rpath=()
|
||||
|
||||
IFS=':' read -ra paths <<< "$curr_rpath"
|
||||
for i in "${!paths[@]}"; do
|
||||
# Prioritise non-Haskell library paths
|
||||
if [[ ${paths[$i]} != *ghc-$TERMUX_PKG_VERSION* ]]; then
|
||||
paths_to_prepend+=("${paths[$i]}")
|
||||
continue
|
||||
fi
|
||||
local fixed_path="${paths[$i]/\/dist-install\/build}"
|
||||
if [ "$fixed_path" != "${paths[$i]}" ]; then
|
||||
# Naïvely correct the path to a Haskell library
|
||||
fixed_path="${fixed_path##*/}"
|
||||
fixed_path=$(echo "$TERMUX_PREFIX/lib/ghc-$TERMUX_PKG_VERSION/$fixed_path-"[[:digit:]]*)
|
||||
new_rpath+=("$fixed_path")
|
||||
else
|
||||
# This may be the path to RTS, which does not have a version number in the folder name
|
||||
# and nor is it apparently expected to be found in dist-install
|
||||
fixed_path="${paths[$i]/\/dist\/build}"
|
||||
if [ "$fixed_path" != "${paths[$i]}" ]; then
|
||||
new_rpath+=("$TERMUX_PREFIX/lib/ghc-$TERMUX_PKG_VERSION/${fixed_path##*/}")
|
||||
else
|
||||
new_rpath+=("$fixed_path")
|
||||
fi
|
||||
fi
|
||||
done
|
||||
# Make sure the standard Termux library path is the first entry
|
||||
[[ ! " ${paths_to_prepend[@]} " =~ " $TERMUX_PREFIX/lib " ]] && paths_to_prepend=("$TERMUX_PREFIX/lib" "${paths_to_prepend[@]}")
|
||||
# This isn't in the original rpath at all, but is needed
|
||||
paths_to_prepend+=("$TERMUX_PREFIX/lib/ghc-$TERMUX_PKG_VERSION/ghc-$TERMUX_PKG_VERSION")
|
||||
local OIFS="$IFS"
|
||||
local IFS=':'
|
||||
printf -v new_rpath "%s:%s" "${paths_to_prepend[*]}" "${new_rpath[*]}"
|
||||
IFS="$OIFS"
|
||||
patchelf --set-rpath "$new_rpath" "$bin"
|
||||
fi
|
||||
done < <(find "$TERMUX_PREFIX/lib/ghc-$TERMUX_PKG_VERSION/bin/" -type f -print0)
|
||||
fi
|
||||
}
|
||||
|
||||
termux_step_install_license() {
|
||||
install -Dm600 -t "$TERMUX_PREFIX/share/doc/ghc" "$TERMUX_PKG_SRCDIR/LICENSE"
|
||||
}
|
||||
@@ -1,24 +0,0 @@
|
||||
--- ghc-8.10.1/rts/Trace.c 2020-03-24 04:53:17.000000000 +0000
|
||||
+++ ghc-8.10.1.new/rts/Trace.c 2020-06-12 13:33:14.775373605 +0100
|
||||
@@ -12,6 +12,10 @@
|
||||
// internal headers
|
||||
#include "Trace.h"
|
||||
|
||||
+int TRACE_sched;
|
||||
+int TRACE_gc;
|
||||
+int TRACE_spark_sampled;
|
||||
+
|
||||
#if defined(TRACING)
|
||||
|
||||
#include "GetTime.h"
|
||||
@@ -28,10 +32,7 @@
|
||||
#endif
|
||||
|
||||
// events
|
||||
-int TRACE_sched;
|
||||
-int TRACE_gc;
|
||||
int TRACE_nonmoving_gc;
|
||||
-int TRACE_spark_sampled;
|
||||
int TRACE_spark_full;
|
||||
int TRACE_user;
|
||||
int TRACE_cap;
|
||||
@@ -1,28 +0,0 @@
|
||||
Description: Use the stage1 binaries for install
|
||||
In order to be able to perform a cross-build, we need to use
|
||||
the stage1 binaries during installation. Both ghc and ghc-pkg
|
||||
are run during the install target and therefore must be able
|
||||
to run on the build machine.
|
||||
.
|
||||
Author: John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
|
||||
Last-Update: 2017-01-29
|
||||
|
||||
Index: ghc-8.8.1+dfsg1/ghc.mk
|
||||
===================================================================
|
||||
--- ghc-8.8.1+dfsg1.orig/ghc.mk
|
||||
+++ ghc-8.8.1+dfsg1/ghc.mk
|
||||
@@ -963,8 +963,12 @@
|
||||
# Install packages in the right order, so that ghc-pkg doesn't complain.
|
||||
# Also, install ghc-pkg first.
|
||||
ifeq "$(Windows_Host)" "NO"
|
||||
-INSTALLED_GHC_REAL=$(DESTDIR)$(ghclibexecdir)/bin/ghc
|
||||
-INSTALLED_GHC_PKG_REAL=$(DESTDIR)$(ghclibexecdir)/bin/ghc-pkg
|
||||
+# Use the inplace/stage1 versions for installation,
|
||||
+# since the installed versions are built for the target
|
||||
+#INSTALLED_GHC_REAL=$(DESTDIR)$(ghclibexecdir)/bin/ghc
|
||||
+#INSTALLED_GHC_PKG_REAL=$(DESTDIR)$(ghclibexecdir)/bin/ghc-pkg
|
||||
+INSTALLED_GHC_REAL=$(CURDIR)/inplace/bin/ghc-stage1
|
||||
+INSTALLED_GHC_PKG_REAL=$(CURDIR)/utils/ghc-pkg/dist/build/tmp/ghc-pkg
|
||||
else
|
||||
INSTALLED_GHC_REAL=$(DESTDIR)$(bindir)/ghc.exe
|
||||
INSTALLED_GHC_PKG_REAL=$(DESTDIR)$(bindir)/ghc-pkg.exe
|
||||
@@ -0,0 +1,14 @@
|
||||
# NOTE: Disabled due to not being ffmpeg 4 compatible.
|
||||
TERMUX_PKG_HOMEPAGE=https://gstreamer.freedesktop.org/
|
||||
TERMUX_PKG_DESCRIPTION="GStreamer libav/ffmpeg wrapper"
|
||||
TERMUX_PKG_VERSION=1.14.1
|
||||
TERMUX_PKG_SHA256=eff80a02d2f2fb9f34b67e9a26e9954d3218c7aa18e863f2a47805fa7066029d
|
||||
TERMUX_PKG_SRCURL=https://gstreamer.freedesktop.org/src/gst-libav/gst-libav-${TERMUX_PKG_VERSION}.tar.xz
|
||||
TERMUX_PKG_BUILD_IN_SRC=true
|
||||
TERMUX_PKG_DEPENDS="gst-plugins-base,ffmpeg"
|
||||
TERMUX_PKG_EXTRA_CONFIGURE_ARGS="
|
||||
--disable-android_media
|
||||
--disable-examples
|
||||
--disable-tests
|
||||
--with-system-libav
|
||||
"
|
||||
@@ -0,0 +1,14 @@
|
||||
TERMUX_PKG_HOMEPAGE=https://sourceware.org/libffi/
|
||||
TERMUX_PKG_DESCRIPTION="Library providing a portable, high level programming interface to various calling conventions"
|
||||
local _COMMIT=716bfd83177689e2244c4707bd513003cff92c68
|
||||
local _DATE=20171105
|
||||
TERMUX_PKG_VERSION=3.2.1.$_DATE
|
||||
TERMUX_PKG_SHA256=454577ab2d046dbdf5697f71598247fb8d8bf2d378817d5d5b8bc5dceaf822ac
|
||||
TERMUX_PKG_SRCURL=https://github.com/libffi/libffi/archive/${_COMMIT}.zip
|
||||
TERMUX_PKG_EXTRA_CONFIGURE_ARGS="--disable-multi-os-directory --enable-symvers=no"
|
||||
TERMUX_PKG_RM_AFTER_INSTALL="lib/libffi-${TERMUX_PKG_VERSION}/include"
|
||||
|
||||
termux_step_pre_configure() {
|
||||
cd $TERMUX_PKG_SRCDIR
|
||||
./autogen.sh
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
TERMUX_PKG_HOMEPAGE=https://ohse.de/uwe/software/lrzsz.html
|
||||
TERMUX_PKG_DESCRIPTION="Tools for zmodem/xmodem/ymodem file transfer"
|
||||
TERMUX_PKG_VERSION=0.12.20
|
||||
TERMUX_PKG_SRCURL=https://ohse.de/uwe/releases/lrzsz-${TERMUX_PKG_VERSION}.tar.gz
|
||||
TERMUX_PKG_SHA256=c28b36b14bddb014d9e9c97c52459852f97bd405f89113f30bee45ed92728ff1
|
||||
TERMUX_PKG_EXTRA_CONFIGURE_ARGS="--disable-syslog --mandir=$TERMUX_PREFIX/share/man"
|
||||
+7
-8
@@ -1,6 +1,9 @@
|
||||
--- ./src/Makefile.am.orig 2021-11-10 10:12:52.155281162 +0100
|
||||
+++ ./src/Makefile.am 2021-11-10 10:13:10.452346589 +0100
|
||||
@@ -16,19 +16,19 @@
|
||||
Hard links are not supported on Android 6.0+
|
||||
|
||||
diff -u -r ../lrzsz-0.12.20/src/Makefile.in ./src/Makefile.in
|
||||
--- ../lrzsz-0.12.20/src/Makefile.in 1998-12-30 17:31:46.000000000 +0100
|
||||
+++ ./src/Makefile.in 2017-01-25 01:17:46.135033894 +0100
|
||||
@@ -370,16 +370,16 @@
|
||||
|
||||
install-exec-local:
|
||||
rm -f $(DESTDIR)/$(bindir)/`echo lsb | sed -e '$(transform)'`
|
||||
@@ -20,8 +23,4 @@
|
||||
+ ln -s $(DESTDIR)/$(bindir)/`echo lrz |sed -e '$(transform)'` \
|
||||
$(DESTDIR)/$(bindir)/`echo lrx |sed -e '$(transform)'`
|
||||
# rm -f $(bindir)/`echo lrzszbug | sed -e '$(transform)'`
|
||||
-# ln $(bindir)/`echo lrzszbug |sed -e '$(transform)'` \
|
||||
+# ln -s $(bindir)/`echo lrzszbug |sed -e '$(transform)'` \
|
||||
# $(bindir)/`echo lrzszbug |sed -e '$(transform)'`
|
||||
|
||||
uninstall-local:
|
||||
# ln $(bindir)/`echo lrzszbug |sed -e '$(transform)'` \
|
||||
@@ -115,4 +115,4 @@ float complex ctanhf(float complex);
|
||||
#pragma GCC visibility pop
|
||||
__END_DECLS
|
||||
|
||||
#endif /* _COMPLEX_H */
|
||||
#endif /* _COMPLEX_H */
|
||||
@@ -761,4 +761,4 @@ long double __kernel_sinl(long double, long double, int);
|
||||
long double __kernel_cosl(long double, long double);
|
||||
long double __kernel_tanl(long double, long double, int);
|
||||
|
||||
#endif /* !_MATH_PRIVATE_H_ */
|
||||
#endif /* !_MATH_PRIVATE_H_ */
|
||||
@@ -1,8 +0,0 @@
|
||||
TERMUX_PKG_HOMEPAGE=https://www.unidata.ucar.edu/software/netcdf/
|
||||
TERMUX_PKG_DESCRIPTION="NetCDF is a set of software libraries and self-describing, machine-independent data formats that support the creation, access, and sharing of array-oriented scientific data"
|
||||
TERMUX_PKG_LICENSE="custom"
|
||||
TERMUX_PKG_MAINTAINER="Henrik Grimler @Grimler91"
|
||||
TERMUX_PKG_VERSION=4.3.0
|
||||
TERMUX_PKG_SHA256=25da1c97d7a01bc4cee34121c32909872edd38404589c0427fefa1301743f18f
|
||||
TERMUX_PKG_SRCURL=https://github.com/Unidata/netcdf-cxx4/archive/v${TERMUX_PKG_VERSION}.tar.gz
|
||||
TERMUX_PKG_DEPENDS="libhdf5, libcurl, openssl, libnghttp2, netcdf-c"
|
||||
@@ -1,38 +0,0 @@
|
||||
## * Requires pulseaudio build and source directory.
|
||||
## * Uses scons build system which is not good at cross-compiling.
|
||||
|
||||
TERMUX_PKG_HOMEPAGE=https://roc-project.github.io
|
||||
TERMUX_PKG_DESCRIPTION="Roc real-time streaming over the network"
|
||||
TERMUX_PKG_LICENSE="LGPL-2.0, MPL-2.0"
|
||||
TERMUX_PKG_MAINTAINER="Leonid Pliushch <leonid.pliushch@gmail.com>"
|
||||
TERMUX_PKG_VERSION=0.1.1
|
||||
TERMUX_PKG_REVISION=3
|
||||
TERMUX_PKG_SRCURL=https://github.com/roc-project/roc/archive/v$TERMUX_PKG_VERSION.tar.gz
|
||||
TERMUX_PKG_SHA256=2aa63061b586a5f16cfcb0bfe304015a6effdcb373513cb62e76283bde7dd104
|
||||
TERMUX_PKG_DEPENDS="libltdl, libopenfec, libuv, pulseaudio"
|
||||
TERMUX_PKG_BREAKS="roc-dev"
|
||||
TERMUX_PKG_REPLACES="roc-dev"
|
||||
TERMUX_PKG_BUILD_IN_SRC=true
|
||||
|
||||
termux_step_make() {
|
||||
SCONS_CONFIGURE_ARGS=""
|
||||
SCONS_CONFIGURE_ARGS+=" --prefix=$TERMUX_PREFIX"
|
||||
SCONS_CONFIGURE_ARGS+=" --host=$TERMUX_HOST_PLATFORM"
|
||||
SCONS_CONFIGURE_ARGS+=" --compiler=clang"
|
||||
SCONS_CONFIGURE_ARGS+=" --disable-tools"
|
||||
SCONS_CONFIGURE_ARGS+=" --disable-tests"
|
||||
SCONS_CONFIGURE_ARGS+=" --disable-examples"
|
||||
SCONS_CONFIGURE_ARGS+=" --disable-doc"
|
||||
SCONS_CONFIGURE_ARGS+=" --disable-sox"
|
||||
#SCONS_CONFIGURE_ARGS+=" --disable-openfec"
|
||||
SCONS_CONFIGURE_ARGS+=" --enable-pulseaudio-modules"
|
||||
SCONS_CONFIGURE_ARGS+=" --with-openfec-includes=$TERMUX_PREFIX/include/openfec"
|
||||
SCONS_CONFIGURE_ARGS+=" --with-pulseaudio=$TERMUX_TOPDIR/pulseaudio/src"
|
||||
SCONS_CONFIGURE_ARGS+=" --with-pulseaudio-build-dir=$TERMUX_TOPDIR/pulseaudio/build"
|
||||
|
||||
scons $SCONS_CONFIGURE_ARGS
|
||||
}
|
||||
|
||||
termux_step_make_install() {
|
||||
scons $SCONS_CONFIGURE_ARGS install
|
||||
}
|
||||
@@ -1,111 +0,0 @@
|
||||
TERMUX_PKG_HOMEPAGE=https://www.rust-lang.org
|
||||
TERMUX_PKG_DESCRIPTION="Rust compiler and utilities (nightly version)"
|
||||
TERMUX_PKG_DEPENDS="libc++, clang, openssl, lld, zlib, libllvm"
|
||||
TERMUX_PKG_LICENSE="MIT"
|
||||
TERMUX_PKG_MAINTAINER="@its-pointless"
|
||||
TERMUX_PKG_VERSION=1.52.0
|
||||
TERMUX_PKG_REVISION=2
|
||||
TERMUX_PKG_SRCURL=https://static.rust-lang.org/dist/2021-02-24/rustc-nightly-src.tar.xz
|
||||
TERMUX_PKG_SHA256=80536b0050fc83cdffedf617bac0fd23dc60081adc00648b90404e1a14baba18
|
||||
TERMUX_PKG_KEEP_SHARE_DOC=true
|
||||
|
||||
termux_step_configure () {
|
||||
termux_setup_cmake
|
||||
termux_setup_rust
|
||||
|
||||
# nightlys don't build with stable
|
||||
rustup install beta-2021-02-14-x86_64-unknown-linux-gnu
|
||||
rustup target add $CARGO_TARGET_NAME
|
||||
export PATH=$HOME/.rustup/toolchains/beta-2021-02-14-x86_64-unknown-linux-gnu/bin:$PATH
|
||||
export RUST_BACKTRACE=1
|
||||
mkdir -p $TERMUX_PREFIX/opt/rust-nightly
|
||||
RUST_PREFIX=$TERMUX_PREFIX/opt/rust-nightly
|
||||
export PATH=$TERMUX_PKG_TMPDIR/bin:$PATH
|
||||
sed $TERMUX_PKG_BUILDER_DIR/config.toml \
|
||||
-e "s|@RUST_PREFIX@|$RUST_PREFIX|g" \
|
||||
-e "s|@TERMUX_PREFIX@|$TERMUX_PREFIX|g" \
|
||||
-e "s|@TERMUX_HOST_PLATFORM@|$TERMUX_HOST_PLATFORM|g" \
|
||||
-e "s|@RUST_TARGET_TRIPLE@|$CARGO_TARGET_NAME|g" \
|
||||
-e "s|@CARGO@|$(which cargo)|g" \
|
||||
-e "s|@RUSTC@|$(which rustc)|g" > $TERMUX_PKG_BUILDDIR/config.toml
|
||||
|
||||
export X86_64_UNKNOWN_LINUX_GNU_OPENSSL_LIB_DIR=/usr/lib/x86_64-linux-gnu
|
||||
export X86_64_UNKNOWN_LINUX_GNU_OPENSSL_INCLUDE_DIR=/usr/include
|
||||
export PKG_CONFIG_ALLOW_CROSS=1
|
||||
# for backtrace-sys
|
||||
export CC_x86_64_unknown_linux_gnu=gcc
|
||||
export CFLAGS_x86_64_unknown_linux_gnu="-O2"
|
||||
# it won't link with it in TERMUX_PREFIX/lib without breaking other things.
|
||||
cp $PREFIX/lib/libLLVM-11.1.0.so $TERMUX_STANDALONE_TOOLCHAIN/sysroot/usr/lib/$TERMUX_HOST_PLATFORM/$TERMUX_PKG_API_LEVEL/
|
||||
unset CC CXX CPP LD CFLAGS CXXFLAGS CPPFLAGS LDFLAGS PKG_CONFIG AR RANLIB
|
||||
if [ $TERMUX_ARCH = "x86_64" ]; then
|
||||
cp $TERMUX_STANDALONE_TOOLCHAIN/sysroot/usr/lib/x86_64-linux-android/$TERMUX_PKG_API_LEVEL/libc.so $TERMUX_PREFIX/lib/
|
||||
cp $TERMUX_STANDALONE_TOOLCHAIN/sysroot/usr/lib/x86_64-linux-android/$TERMUX_PKG_API_LEVEL/libdl.so $TERMUX_PREFIX/lib/
|
||||
mv $TERMUX_PREFIX/lib/libtinfo.so.6 $TERMUX_PREFIX/lib/libtinfo.so.6.tmp
|
||||
fi
|
||||
}
|
||||
|
||||
termux_step_make_install () {
|
||||
if [ ! -f "/usr/bin/llvm-dwp" ]; then
|
||||
# errr yeah this needs to be here for docker stuff
|
||||
sudo ln -s /usr/bin/llvm-dwp-10 /usr/bin/llvm-dwp
|
||||
fi
|
||||
if [ $TERMUX_ARCH = "x86_64" ]; then
|
||||
mv $TERMUX_PREFIX ${TERMUX_PREFIX}a
|
||||
../src/x.py dist cargo --host x86_64-unknown-linux-gnu
|
||||
../src/x.py dist rls --host x86_64-unknown-linux-gnu
|
||||
../src/x.py dist rust-analyzer --host x86_64-unknown-linux-gnu
|
||||
../src/x.py dist rustfmt --host x86_64-unknown-linux-gnu
|
||||
../src/x.py dist miri --host x86_64-unknown-linux-gnu
|
||||
mv ${TERMUX_PREFIX}a ${TERMUX_PREFIX}
|
||||
fi
|
||||
../src/x.py build --host $CARGO_TARGET_NAME --target $CARGO_TARGET_NAME --target wasm32-unknown-unknown || bash
|
||||
../src/x.py dist --host $CARGO_TARGET_NAME --target $CARGO_TARGET_NAME --target wasm32-unknown-unknown || bash
|
||||
mkdir $TERMUX_PKG_BUILDDIR/install
|
||||
# miri-nightly not working.
|
||||
for tar in rustc-nightly miri-nightly rustc-dev-nightly rust-docs-nightly rust-std-nightly rust-analysis-nightly cargo-nightly rls-nightly rustc-dev-nightly rustfmt-nightly clippy-nightly; do
|
||||
tar -xf $TERMUX_PKG_BUILDDIR/build/dist/$tar-$CARGO_TARGET_NAME.tar.gz -C $TERMUX_PKG_BUILDDIR/install
|
||||
# uninstall previous version
|
||||
$TERMUX_PKG_BUILDDIR/install/$tar-$CARGO_TARGET_NAME/install.sh --uninstall --prefix=$RUST_PREFIX || true
|
||||
$TERMUX_PKG_BUILDDIR/install/$tar-$CARGO_TARGET_NAME/install.sh --prefix=$RUST_PREFIX
|
||||
done
|
||||
|
||||
tar -xf $TERMUX_PKG_BUILDDIR/build/dist/rust-src-nightly.tar.gz -C $TERMUX_PKG_BUILDDIR/install
|
||||
$TERMUX_PKG_BUILDDIR/install/rust-src-nightly/install.sh --uninstall --prefix=$RUST_PREFIX || true
|
||||
$TERMUX_PKG_BUILDDIR/install/rust-src-nightly/install.sh --prefix=$RUST_PREFIX
|
||||
WASM=wasm32-unknown-unknown
|
||||
for tar in rust-std-nightly rust-analysis-nightly; do
|
||||
tar -xf $TERMUX_PKG_BUILDDIR/build/dist/$tar-$WASM.tar.gz -C $TERMUX_PKG_BUILDDIR/install
|
||||
# uninstall previous version
|
||||
$TERMUX_PKG_BUILDDIR/install/$tar-$WASM/install.sh --uninstall --prefix=$RUST_PREFIX || true
|
||||
$TERMUX_PKG_BUILDDIR/install/$tar-$WASM/install.sh --prefix=$RUST_PREFIX
|
||||
done
|
||||
if [ $TERMUX_ARCH = "x86_64" ]; then
|
||||
rm -f $TERMUX_PREFIX/lib/libc.so $TERMUX_PREFIX/lib/libdl.so
|
||||
mv $TERMUX_PREFIX/lib/libtinfo.so.6.tmp $TERMUX_PREFIX/lib/libtinfo.so.6
|
||||
fi
|
||||
|
||||
}
|
||||
|
||||
termux_step_post_massage () {
|
||||
rm $TERMUX_PKG_MASSAGEDIR/$RUST_PREFIX/lib/rustlib/{components,rust-installer-version,install.log,uninstall.sh}
|
||||
mkdir -p $TERMUX_PKG_MASSAGEDIR/$TERMUX_PREFIX/etc/profile.d
|
||||
mkdir -p $TERMUX_PKG_MASSAGEDIR/$TERMUX_PREFIX/lib
|
||||
echo "#!$TERMUX_PREFIX/bin/sh" > $TERMUX_PKG_MASSAGEDIR/$TERMUX_PREFIX/etc/profile.d/rust-nightly.sh
|
||||
echo "export PATH=$RUST_PREFIX/bin:\$PATH" >> $TERMUX_PKG_MASSAGEDIR/$TERMUX_PREFIX/etc/profile.d/rust-nightly.sh
|
||||
cd $TERMUX_PKG_MASSAGEDIR/$RUST_PREFIX/lib
|
||||
ln -sf rustlib/$CARGO_TARGET_NAME/lib/lib*.so .
|
||||
cd $TERMUX_PKG_MASSAGEDIR/$TERMUX_PREFIX/lib
|
||||
ln -sf ../opt/rust-nightly/lib/lib*.so .
|
||||
ln -sf $TERMUX_PREFIX/bin/lld $TERMUX_PKG_MASSAGEDIR$RUST_PREFIX/bin/rust-lld
|
||||
rm -f ../bin/llvm-dwp
|
||||
if [ $TERMUX_ARCH = "x86_64" ]; then
|
||||
rm -f $TERMUX_PKG_MASSAGEDIR/$TERMUX_PREFIX/lib/libtinfo.so.6
|
||||
fi
|
||||
rm $TERMUX_STANDALONE_TOOLCHAIN/sysroot/usr/lib/$TERMUX_HOST_PLATFORM/$TERMUX_PKG_API_LEVEL/libLLVM-11.1.0.so
|
||||
}
|
||||
termux_step_create_debscripts () {
|
||||
echo "#!$TERMUX_PREFIX/bin/sh" > postinst
|
||||
echo "echo 'source \$PREFIX/etc/profile.d/rust-nightly.sh to use nightly'" >> postinst
|
||||
echo "echo 'or export RUSTC=\$PREFIX/opt/rust-nightly/bin/rustc'" >> postinst
|
||||
}
|
||||
@@ -1,48 +0,0 @@
|
||||
[build]
|
||||
build = "x86_64-unknown-linux-gnu"
|
||||
host = [ "@RUST_TARGET_TRIPLE@" ]
|
||||
target = [ '@RUST_TARGET_TRIPLE@', 'wasm32-unknown-unknown' ]
|
||||
#python = "python2.7"
|
||||
#full-bootstrap = false
|
||||
extended = true
|
||||
rustc = '@RUSTC@'
|
||||
cargo = '@CARGO@'
|
||||
#configure-args = ['--target=wasm32-unknown-unknown', '--set', 'llvm.experimental-targets=WebAssembly']
|
||||
#tools = ["rls", "rustfmt", "analysis"]
|
||||
local-rebuild = false
|
||||
|
||||
[install]
|
||||
prefix = "@RUST_PREFIX@"
|
||||
|
||||
[llvm]
|
||||
experimental-targets = 'WebAssembly'
|
||||
link-shared = true
|
||||
|
||||
[rust]
|
||||
#backtrace = false
|
||||
#default-linker = "clang"
|
||||
#default-ar = "ar"
|
||||
channel = "nightly"
|
||||
rpath = true
|
||||
optimize-tests = false
|
||||
codegen-tests = false
|
||||
#lld = false
|
||||
deny-warnings = false
|
||||
backtrace-on-ice = true
|
||||
|
||||
[target.wasm32-unknown-unknown]
|
||||
#linker = @TERMUX_PREFIX@/bin/wasm-ld
|
||||
#crt-static = true
|
||||
|
||||
[target.x86_64-unknown-linux-gnu]
|
||||
llvm-config = "/usr/bin/llvm-config-10"
|
||||
|
||||
[target.@RUST_TARGET_TRIPLE@]
|
||||
cc = "@TERMUX_HOST_PLATFORM@-clang"
|
||||
cxx = "@TERMUX_HOST_PLATFORM@-clang++"
|
||||
llvm-config = "@TERMUX_PREFIX@/bin/llvm-config"
|
||||
|
||||
#jemalloc = "/path/to/jemalloc/libjemalloc_pic.a"
|
||||
#android-ndk = "/path/to/ndk"
|
||||
[dist]
|
||||
missing-tools = true
|
||||
@@ -1,4 +0,0 @@
|
||||
TERMUX_SUBPKG_DESCRIPTION="An interpreter for Rust's mid-level intermediate representation"
|
||||
TERMUX_SUBPKG_INCLUDE="opt/rust-nightly/bin/cargo-miri opt/rust-nightly/bin/miri opt/rust-nightlyshare/doc/miri"
|
||||
TERMUX_SUBPKG_DEPENDS="rustc-nightly"
|
||||
|
||||
@@ -1,11 +0,0 @@
|
||||
--- ../rustc-1.29.2-src/src/libstd/sys/unix/os.rs 2018-10-19 14:12:31.000000000 -0700
|
||||
+++ ./library/std/src/sys/unix/os.rs 2018-10-19 14:11:20.000000000 -0700
|
||||
@@ -488,7 +488,7 @@
|
||||
pub fn temp_dir() -> PathBuf {
|
||||
::env::var_os("TMPDIR").map(PathBuf::from).unwrap_or_else(|| {
|
||||
if cfg!(target_os = "android") {
|
||||
- PathBuf::from("/data/local/tmp")
|
||||
+ PathBuf::from("@TERMUX_PREFIX@/tmp")
|
||||
} else {
|
||||
PathBuf::from("/tmp")
|
||||
}
|
||||
@@ -1,3 +0,0 @@
|
||||
TERMUX_SUBPKG_DESCRIPTION="rust std for wasm32-unknown-unknown target"
|
||||
TERMUX_SUBPKG_PLATFORM_INDEPENDENT=true
|
||||
TERMUX_SUBPKG_INCLUDE="opt/rust-nightly/lib/rustlib/wasm32-unknown-unknown"
|
||||
@@ -1,3 +0,0 @@
|
||||
TERMUX_SUBPKG_DESCRIPTION="server that provides IDEs, editors, and other tools with information about Rust programs"
|
||||
TERMUX_SUBPKG_INCLUDE="opt/rust-nightly/bin/rls opt/rust-nightly/share/doc/rls"
|
||||
TERMUX_PKG_DEPENDS="rustc-nightly"
|
||||
@@ -1,3 +0,0 @@
|
||||
TERMUX_SUBPKG_DESCRIPTION="rust src"
|
||||
TERMUX_SUBPKG_PLATFORM_INDEPENDENT=true
|
||||
TERMUX_SUBPKG_INCLUDE="opt/rust-nightly/lib/rustlib/src"
|
||||
@@ -1,3 +0,0 @@
|
||||
TERMUX_SUBPKG_DESCRIPTION="developer compiler libs"
|
||||
INCLUDED=$(sed 's/^...../opt\/rust-nightly\//' $TERMUX_PKG_BUILDDIR/install/rustc-dev-nightly-$CARGO_TARGET_NAME/rustc-dev/manifest.in | grep -v '\.so$' )
|
||||
TERMUX_SUBPKG_INCLUDE="$INCLUDED"
|
||||
@@ -1,4 +0,0 @@
|
||||
TERMUX_SUBPKG_DESCRIPTION="A tool for formatting Rust code according to style guidelines"
|
||||
TERMUX_SUBPKG_INCLUDE="opt/rust-nightly/bin/cargo-fmt opt/rust-nightly/bin/rustfmt opt/rust-nightlyshare/doc/rustfmt"
|
||||
TERMUX_SUBPKG_DEPENDS="rustc-nightly"
|
||||
|
||||
@@ -1,12 +0,0 @@
|
||||
diff -u -r ../rustc-1.34.1-src/src/librustc_llvm/build.rs ./src/librustc_llvm/build.rs
|
||||
--- ../rustc-1.34.1-src/src/librustc_llvm/build.rs 2019-04-24 21:07:08.000000000 +0000
|
||||
+++ ./compiler/rustc_llvm/build.rs 2019-05-05 20:56:34.090330174 +0000
|
||||
@@ -244,6 +244,8 @@
|
||||
"c++"
|
||||
} else if target.contains("darwin") {
|
||||
"c++"
|
||||
+ } else if target.contains("android") {
|
||||
+ "c++_shared"
|
||||
} else if target.contains("netbsd") && llvm_static_stdcpp.is_some() {
|
||||
// NetBSD uses a separate library when relocation is required
|
||||
"stdc++_pic"
|
||||
@@ -1,2 +0,0 @@
|
||||
#!/data/data/com.termux/files/usr/bin/sh
|
||||
export PATH=/data/data/com.termux/files/usr/opt/rustc-nightly/bin:$PATH
|
||||
@@ -1,58 +0,0 @@
|
||||
TERMUX_PKG_HOMEPAGE=https://bellard.org/tcc/
|
||||
TERMUX_PKG_DESCRIPTION="Tiny C Compiler"
|
||||
TERMUX_PKG_LICENSE="LGPL-2.1"
|
||||
TERMUX_PKG_MAINTAINER="Leonid Pliushch <leonid.pliushch@gmail.com>"
|
||||
TERMUX_PKG_VERSION=1:0.9.27
|
||||
TERMUX_PKG_REVISION=10
|
||||
TERMUX_PKG_SRCURL=https://repo.or.cz/tinycc.git/snapshot/fef838db2d124db3f1357385972371ccba7af2c6.tar.gz
|
||||
TERMUX_PKG_SHA256=f6a022994b9903485a1777540c0c9e0571990fc339a2b325be6127b616534f33
|
||||
TERMUX_PKG_BUILD_IN_SRC=true
|
||||
TERMUX_PKG_NO_STATICSPLIT=true
|
||||
|
||||
termux_step_configure() {
|
||||
unset CFLAGS CXXFLAGS
|
||||
|
||||
if [ "${TERMUX_ARCH}" = "arm" ] || [ "${TERMUX_ARCH}" = "i686" ]; then
|
||||
ELF_INTERPRETER_PATH="/system/bin/linker"
|
||||
ANDROID_LIB_PATH="/system/lib:/system/vendor/lib"
|
||||
else
|
||||
ELF_INTERPRETER_PATH="/system/bin/linker64"
|
||||
ANDROID_LIB_PATH="/system/lib64:/system/vendor/lib64"
|
||||
fi
|
||||
}
|
||||
|
||||
termux_step_make() {
|
||||
(
|
||||
unset CC CFLAGS LDFLAGS
|
||||
./configure --prefix="/tmp/tcc.host" --cpu="${TERMUX_ARCH}"
|
||||
make -j $TERMUX_MAKE_PROCESSES tcc
|
||||
mv -f tcc tcc.host
|
||||
make distclean
|
||||
)
|
||||
|
||||
./configure \
|
||||
--prefix="$TERMUX_PREFIX" \
|
||||
--cross-prefix="${CC//clang}" \
|
||||
--cc="clang" \
|
||||
--cpu="$TERMUX_ARCH" \
|
||||
--disable-rpath \
|
||||
--elfinterp="$ELF_INTERPRETER_PATH" \
|
||||
--crtprefix="$TERMUX_PREFIX/lib/tcc/crt" \
|
||||
--sysincludepaths="$TERMUX_PREFIX/include:$TERMUX_PREFIX/lib/tcc/include" \
|
||||
--libpaths="$TERMUX_PREFIX/lib:$TERMUX_PREFIX/lib/tcc:$ANDROID_LIB_PATH"
|
||||
|
||||
mv tcc.host tcc
|
||||
touch -d "next minute" tcc
|
||||
make -j ${TERMUX_MAKE_PROCESSES} libtcc1.a
|
||||
|
||||
rm -f tcc
|
||||
make -j ${TERMUX_MAKE_PROCESSES} tcc
|
||||
|
||||
make install
|
||||
|
||||
for file in crtbegin_dynamic.o crtbegin_so.o crtend_android.o crtend_so.o; do
|
||||
install -Dm600 \
|
||||
"${TERMUX_STANDALONE_TOOLCHAIN}/sysroot/usr/lib/$TERMUX_HOST_PLATFORM/$TERMUX_PKG_API_LEVEL/$file" \
|
||||
"${TERMUX_PREFIX}/lib/tcc/crt/$file"
|
||||
done
|
||||
}
|
||||
@@ -1,25 +0,0 @@
|
||||
diff -uNr tcc-0.9.27/libtcc.c tcc-0.9.27.mod/libtcc.c
|
||||
--- tcc-0.9.27/libtcc.c 2017-12-17 10:27:05.000000000 +0200
|
||||
+++ tcc-0.9.27.mod/libtcc.c 2018-08-09 19:25:44.086756864 +0300
|
||||
@@ -974,9 +974,20 @@
|
||||
/* add libc crt1/crti objects */
|
||||
if ((output_type == TCC_OUTPUT_EXE || output_type == TCC_OUTPUT_DLL) &&
|
||||
!s->nostdlib) {
|
||||
- if (output_type != TCC_OUTPUT_DLL)
|
||||
+
|
||||
+#ifdef __ANDROID__
|
||||
+ if (output_type != TCC_OUTPUT_DLL) {
|
||||
+ tcc_add_crt(s, "crtbegin_dynamic.o");
|
||||
+ } else {
|
||||
+ tcc_add_crt(s, "crtbegin_so.o");
|
||||
+ }
|
||||
+#else
|
||||
+ if (output_type != TCC_OUTPUT_DLL) {
|
||||
tcc_add_crt(s, "crt1.o");
|
||||
+ }
|
||||
tcc_add_crt(s, "crti.o");
|
||||
+#endif // __ANDROID__
|
||||
+
|
||||
}
|
||||
#endif
|
||||
return 0;
|
||||
@@ -1,22 +0,0 @@
|
||||
diff -uNr tcc-0.9.27/tccelf.c tcc-0.9.27.mod/tccelf.c
|
||||
--- tcc-0.9.27/tccelf.c 2017-12-17 10:27:05.000000000 +0200
|
||||
+++ tcc-0.9.27.mod/tccelf.c 2018-08-09 19:28:33.036752853 +0300
|
||||
@@ -1202,8 +1202,17 @@
|
||||
#endif
|
||||
tcc_add_support(s1, TCC_LIBTCC1);
|
||||
/* add crt end if not memory output */
|
||||
- if (s1->output_type != TCC_OUTPUT_MEMORY)
|
||||
+ if (s1->output_type != TCC_OUTPUT_MEMORY) {
|
||||
+#ifdef __ANDROID__
|
||||
+ if (s1->output_type == TCC_OUTPUT_DLL) {
|
||||
+ tcc_add_crt(s1, "crtend_so.o");
|
||||
+ } else {
|
||||
+ tcc_add_crt(s1, "crtend_android.o");
|
||||
+ }
|
||||
+#else
|
||||
tcc_add_crt(s1, "crtn.o");
|
||||
+#endif
|
||||
+ }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,28 +0,0 @@
|
||||
diff -uNr v-0.2.2/Makefile v-0.2.2.mod/Makefile
|
||||
--- v-0.2.2/Makefile 2021-01-22 09:39:44.000000000 +0000
|
||||
+++ v-0.2.2.mod/Makefile 2021-05-06 11:58:25.054252805 +0000
|
||||
@@ -82,23 +82,16 @@
|
||||
$(V) self
|
||||
endif
|
||||
else
|
||||
- $(CC) $(CFLAGS) -g -std=gnu99 -w -o $(V) $(VC)/$(VCFILE) -lm -lpthread $(LDFLAGS)
|
||||
+ $(CC) $(CFLAGS) -g -std=gnu99 -w -o $(V) $(VC)/$(VCFILE) -lm $(LDFLAGS)
|
||||
ifdef ANDROID
|
||||
chmod 755 v
|
||||
endif
|
||||
|
||||
-ifdef prod
|
||||
- $(V) -prod self
|
||||
-else
|
||||
- $(V) self
|
||||
-endif
|
||||
-
|
||||
ifndef ANDROID
|
||||
$(MAKE) modules
|
||||
endif
|
||||
endif
|
||||
@echo "V has been successfully built"
|
||||
- @$(V) -version
|
||||
|
||||
#clean: clean_tmp
|
||||
#git clean -xf
|
||||
@@ -1,19 +0,0 @@
|
||||
TERMUX_PKG_HOMEPAGE=https://github.com/vlang/v
|
||||
TERMUX_PKG_DESCRIPTION="Simple, fast, safe, compiled language for developing maintainable software"
|
||||
TERMUX_PKG_LICENSE="MIT"
|
||||
TERMUX_PKG_MAINTAINER="Leonid Pliushch <leonid.pliushch@gmail.com>"
|
||||
TERMUX_PKG_VERSION=0.2.2
|
||||
TERMUX_PKG_REVISION=1
|
||||
TERMUX_PKG_SRCURL=https://github.com/vlang/v/archive/$TERMUX_PKG_VERSION.tar.gz
|
||||
TERMUX_PKG_SHA256=9152eec96d2eeb575782cf138cb837f315e48c173878857441d98ba679e3a9bf
|
||||
TERMUX_PKG_DEPENDS="clang"
|
||||
TERMUX_PKG_BUILD_IN_SRC=true
|
||||
TERMUX_PKG_EXTRA_MAKE_ARGS="ANDROID=1"
|
||||
|
||||
termux_step_make_install() {
|
||||
install -Dm700 v "$TERMUX_PREFIX"/libexec/vlang/v
|
||||
ln -sfr "$TERMUX_PREFIX"/libexec/vlang/v "$TERMUX_PREFIX"/bin/v
|
||||
rm -rf "$TERMUX_PREFIX"/libexec/vlang/vlib
|
||||
cp -a cmd vlib "$TERMUX_PREFIX"/libexec/vlang/
|
||||
}
|
||||
|
||||
@@ -9,13 +9,3 @@ diff -u -r /home/builder/lib/android-ndk/sysroot/usr/include/asm-generic/termbit
|
||||
+/* TCSAFLUSH is patched to be TCSANOW in Termux to work around Android SELinux rule */
|
||||
+#define TCSAFLUSH 0
|
||||
#endif
|
||||
--- ./usr/include/bits/termios_inlines.h.orig 2021-08-16 17:05:16.001067630 +0200
|
||||
+++ ./usr/include/bits/termios_inlines.h 2021-08-16 17:05:05.851074187 +0200
|
||||
@@ -117,7 +117,6 @@
|
||||
switch (optional_actions) {
|
||||
case TCSANOW: cmd = TCSETS; break;
|
||||
case TCSADRAIN: cmd = TCSETSW; break;
|
||||
- case TCSAFLUSH: cmd = TCSETSF; break;
|
||||
default: errno = EINVAL; return -1;
|
||||
}
|
||||
return ioctl(fd, cmd, s);
|
||||
@@ -1,12 +0,0 @@
|
||||
--- ./usr/include/dirent.h.orig
|
||||
+++ ./usr/include/dirent.h
|
||||
@@ -57,6 +57,9 @@
|
||||
#define DT_SOCK 12
|
||||
#define DT_WHT 14
|
||||
|
||||
+#define IFTODT(x) ((x)>>12 & 0xF)
|
||||
+#define DTTOIF(x) ((x)<<12)
|
||||
+
|
||||
#if defined(__LP64__)
|
||||
#define __DIRENT64_INO_T ino_t
|
||||
#else
|
||||
@@ -1,11 +1,16 @@
|
||||
--- ./usr/include/linux/fcntl.h
|
||||
+++ ./usr/include/linux/fcntl.h
|
||||
@@ -54,7 +54,7 @@
|
||||
diff -uNr sysroot.orig/usr/include/linux/fcntl.h sysroot/usr/include/linux/fcntl.h
|
||||
--- sysroot.orig/usr/include/linux/fcntl.h 2019-02-12 16:12:24.000000000 +0000
|
||||
+++ sysroot/usr/include/linux/fcntl.h 2019-03-20 13:22:32.823142545 +0000
|
||||
@@ -51,6 +51,12 @@
|
||||
#define DN_ATTRIB 0x00000020
|
||||
#define DN_MULTISHOT 0x80000000
|
||||
#define AT_FDCWD - 100
|
||||
#define AT_SYMLINK_NOFOLLOW 0x100
|
||||
-#define AT_EACCESS 0x200
|
||||
+/* Termux patch: This flag is not supported on Android 6.0+, and should not
|
||||
+ be needed since there are not setuid binaries. Define AT_EACCESS to 0 to
|
||||
+ avoid packages defining their own AT_EACCESS (which e.g. coreutil does)
|
||||
+ since that will only result in errors. See:
|
||||
+ https://android.googlesource.com/platform/bionic/+/3577825%5E!/ */
|
||||
+#define AT_EACCESS 0
|
||||
#define AT_SYMLINK_NOFOLLOW 0x100
|
||||
#define AT_REMOVEDIR 0x200
|
||||
#define AT_SYMLINK_FOLLOW 0x400
|
||||
#define AT_NO_AUTOMOUNT 0x800
|
||||
|
||||
@@ -1,15 +0,0 @@
|
||||
--- ./usr/include/mntent.h.orig 2021-12-10 16:17:07.041722648 +0530
|
||||
+++ ./usr/include/mntent.h 2021-12-10 16:17:41.171722635 +0530
|
||||
@@ -70,9 +70,9 @@
|
||||
#endif /* __ANDROID_API__ >= 21 */
|
||||
|
||||
|
||||
-#if __ANDROID_API__ >= 26
|
||||
-char* hasmntopt(const struct mntent* __entry, const char* __option) __INTRODUCED_IN(26);
|
||||
-#endif /* __ANDROID_API__ >= 26 */
|
||||
+#if __ANDROID_API__ >= 21
|
||||
+char* hasmntopt(const struct mntent* __entry, const char* __option) __INTRODUCED_IN(21);
|
||||
+#endif /* __ANDROID_API__ >= 21 */
|
||||
|
||||
|
||||
__END_DECLS
|
||||
@@ -1,5 +1,5 @@
|
||||
--- ./usr/include/paths.h.orig 2021-08-16 11:55:04.492150066 +0200
|
||||
+++ ./usr/include/paths.h 2021-08-16 11:55:42.498804733 +0200
|
||||
--- ./usr/include/paths.h.orig 2020-07-10 21:50:03.778299300 +0000
|
||||
+++ ./usr/include/paths.h 2020-07-10 21:51:03.127602196 +0000
|
||||
@@ -40,14 +40,14 @@
|
||||
|
||||
#ifndef _PATH_BSHELL
|
||||
@@ -12,7 +12,7 @@
|
||||
#define _PATH_CONSOLE "/dev/console"
|
||||
|
||||
/** Default shell search path. */
|
||||
-#define _PATH_DEFPATH "/product/bin:/apex/com.android.runtime/bin:/apex/com.android.art/bin:/system_ext/bin:/system/bin:/system/xbin:/odm/bin:/vendor/bin:/vendor/xbin"
|
||||
-#define _PATH_DEFPATH "/product/bin:/apex/com.android.runtime/bin:/apex/com.android.art/bin:/system/bin:/system/xbin:/odm/bin:/vendor/bin:/vendor/xbin"
|
||||
+#define _PATH_DEFPATH "@TERMUX_PREFIX@/bin"
|
||||
|
||||
/** Path to the directory containing device files. */
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
--- ./usr/include/stdio.h.orig 2021-08-16 11:48:44.308954400 +0200
|
||||
+++ ./usr/include/stdio.h 2021-08-16 11:50:00.438924014 +0200
|
||||
@@ -44,6 +44,9 @@
|
||||
diff -uNr ./usr.old/include/stdio.h ./usr/include/stdio.h
|
||||
--- ./usr.old/include/stdio.h 2019-05-22 12:49:28.000000000 +0300
|
||||
+++ ./usr/include/stdio.h 2019-12-13 21:50:02.765565736 +0200
|
||||
@@ -44,11 +44,12 @@
|
||||
#include <stdarg.h>
|
||||
#include <stddef.h>
|
||||
|
||||
@@ -9,11 +10,16 @@
|
||||
+
|
||||
#include <bits/seek_constants.h>
|
||||
|
||||
#if __ANDROID_API__ < 24
|
||||
-#if __ANDROID_API__ < __ANDROID_API_N__
|
||||
#include <bits/struct_file.h>
|
||||
-#endif
|
||||
|
||||
__BEGIN_DECLS
|
||||
|
||||
@@ -165,7 +166,7 @@
|
||||
__printflike(2, 0) __warnattr_strict("vsprintf is often misused; please use vsnprintf");
|
||||
char* tmpnam(char* __s)
|
||||
__warnattr("tmpnam is unsafe, use mkstemp or tmpfile instead");
|
||||
__warnattr("tempnam is unsafe, use mkstemp or tmpfile instead");
|
||||
-#define P_tmpdir "/tmp/" /* deprecated */
|
||||
+#define P_tmpdir "@TERMUX_PREFIX@/tmp/" /* deprecated */
|
||||
char* tempnam(const char* __dir, const char* __prefix)
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
--- ./usr/include/stdlib.h.orig 2021-08-16 11:50:47.432239182 +0200
|
||||
+++ ./usr/include/stdlib.h 2021-08-16 11:51:31.102222894 +0200
|
||||
diff -uNr sysroot.orig/usr/include/stdlib.h sysroot/usr/include/stdlib.h
|
||||
--- sysroot.orig/usr/include/stdlib.h 2019-02-12 16:12:24.000000000 +0000
|
||||
+++ sysroot/usr/include/stdlib.h 2019-03-20 13:23:48.870108924 +0000
|
||||
@@ -33,6 +33,7 @@
|
||||
#include <bits/wait.h>
|
||||
#include <malloc.h>
|
||||
@@ -11,7 +12,7 @@
|
||||
@@ -224,8 +225,7 @@
|
||||
size_t wcstombs(char* __dst, const wchar_t* __src, size_t __n);
|
||||
|
||||
#if __ANDROID_API__ >= 21
|
||||
#if __ANDROID_API__ >= __ANDROID_API_L__
|
||||
-size_t __ctype_get_mb_cur_max(void) __INTRODUCED_IN(21);
|
||||
-#define MB_CUR_MAX __ctype_get_mb_cur_max()
|
||||
+#define MB_CUR_MAX 4
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
--- ./usr/include/sys/cdefs.h.orig 2021-08-16 11:52:08.128876161 +0200
|
||||
+++ ./usr/include/sys/cdefs.h 2021-08-16 11:52:08.555542676 +0200
|
||||
@@ -372,3 +372,6 @@
|
||||
--- ./usr/include/sys/cdefs.h.orig 2020-01-18 00:06:05.760188085 +0000
|
||||
+++ ./usr/include/sys/cdefs.h 2020-01-18 00:09:52.363968728 +0000
|
||||
@@ -358,3 +358,6 @@
|
||||
#if __has_include(<android/ndk-version.h>)
|
||||
#include <android/ndk-version.h>
|
||||
#endif
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
--- ./usr/include/unistd.h.orig 2021-08-16 11:52:08.095542840 +0200
|
||||
+++ ./usr/include/unistd.h 2021-08-16 11:52:08.565542673 +0200
|
||||
@@ -375,6 +375,74 @@
|
||||
--- sysroot/usr/include/unistd.h 2018-04-30 19:24:22.000000000 +0000
|
||||
+++ usr/include/unistd.h 2018-08-16 10:42:51.158596753 +0000
|
||||
@@ -377,4 +377,72 @@
|
||||
#undef _UNISTD_H_
|
||||
#endif
|
||||
|
||||
@@ -73,5 +73,3 @@
|
||||
+#endif
|
||||
+
|
||||
__END_DECLS
|
||||
|
||||
#include <android/legacy_unistd_inlines.h>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
--- ./usr/include/utmp.h.orig 2021-08-16 11:52:08.095542840 +0200
|
||||
+++ ./usr/include/utmp.h 2021-08-16 11:52:08.565542673 +0200
|
||||
@@ -37,9 +37,9 @@
|
||||
--- sysroot/usr/include/utmp.h 2021-05-07 05:45:33.518467959 +0000
|
||||
+++ usr/include/utmp.h 2021-05-07 05:46:25.195022662 +0000
|
||||
@@ -32,9 +32,9 @@
|
||||
#include <sys/types.h>
|
||||
#include <time.h>
|
||||
|
||||
|
||||
@@ -1,15 +0,0 @@
|
||||
TERMUX_PKG_HOMEPAGE=https://github.com/hackndev/0verkill
|
||||
TERMUX_PKG_DESCRIPTION="Bloody 2D action deathmatch-like game in ASCII-ART"
|
||||
TERMUX_PKG_LICENSE="GPL-2.0"
|
||||
TERMUX_PKG_MAINTAINER="@termux"
|
||||
TERMUX_PKG_VERSION=0.16-git
|
||||
TERMUX_PKG_REVISION=3
|
||||
TERMUX_PKG_SRCURL=https://github.com/ravener/0verkill/archive/refs/tags/v${TERMUX_PKG_VERSION:0:4}.tar.gz
|
||||
TERMUX_PKG_SHA256=d337e4a7dd91f26c837e96492d960c7fd77c75bc24bcc6ed8d350df39edf8bb8
|
||||
TERMUX_PKG_BUILD_IN_SRC=true
|
||||
TERMUX_PKG_GROUPS="games"
|
||||
|
||||
termux_step_pre_configure() {
|
||||
autoreconf -vfi
|
||||
CFLAGS+=" -fcommon"
|
||||
}
|
||||
@@ -5,7 +5,7 @@ TERMUX_PKG_MAINTAINER="@termux"
|
||||
_TAG_VERSION=7.1.2
|
||||
_TAG_REVISION=33
|
||||
TERMUX_PKG_VERSION=${_TAG_VERSION}.${_TAG_REVISION}
|
||||
TERMUX_PKG_REVISION=15
|
||||
TERMUX_PKG_REVISION=13
|
||||
TERMUX_PKG_SKIP_SRC_EXTRACT=true
|
||||
TERMUX_PKG_BUILD_IN_SRC=true
|
||||
TERMUX_PKG_DEPENDS="libc++, libexpat, libpng, libzopfli, zlib"
|
||||
@@ -102,7 +102,7 @@ termux_step_make_install() {
|
||||
socket_network_client_unix.c \
|
||||
sockets_unix.o \
|
||||
str_parms.c"
|
||||
$CC $CPPFLAGS $LDFLAGS \
|
||||
$CC $LDFLAGS \
|
||||
-Dchar16_t=uint16_t \
|
||||
-std=c11 \
|
||||
-isystem $AOSP_INCLUDE_DIR \
|
||||
@@ -114,6 +114,8 @@ termux_step_make_install() {
|
||||
-shared \
|
||||
-o $TERMUX_PREFIX/lib/libandroid-cutils.so
|
||||
|
||||
|
||||
|
||||
# Build libutil:
|
||||
local LIBUTILS_TARFILE=$TERMUX_PKG_CACHEDIR/libutils_${_TAGNAME}.tar.gz
|
||||
test ! -f $LIBUTILS_TARFILE && termux_download \
|
||||
|
||||
@@ -2,9 +2,9 @@ TERMUX_PKG_HOMEPAGE=https://algernon.roboticoverlords.org/
|
||||
TERMUX_PKG_DESCRIPTION="Small self-contained web server with Lua, Markdown, QUIC, Redis and PostgreSQL support"
|
||||
TERMUX_PKG_LICENSE="MIT"
|
||||
TERMUX_PKG_MAINTAINER="@termux"
|
||||
TERMUX_PKG_VERSION=1.12.14
|
||||
TERMUX_PKG_VERSION=1.12.12
|
||||
TERMUX_PKG_SRCURL=https://github.com/xyproto/algernon/archive/$TERMUX_PKG_VERSION.tar.gz
|
||||
TERMUX_PKG_SHA256=cab5b01923142e0326ea2a01797814bb2e8ea9f7c6c41a3ea0ae7df3b667e86e
|
||||
TERMUX_PKG_SHA256=6127eb975da960fd8aa7732c82f3b5e62d14ea763801778552bdbeec28846bf7
|
||||
TERMUX_PKG_AUTO_UPDATE=true
|
||||
|
||||
termux_step_make() {
|
||||
|
||||
@@ -1,13 +0,0 @@
|
||||
https://github.com/lib/pq/pull/1060
|
||||
diff --git a/vendor/github.com/lib/pq/user_posix.go b/vendor/github.com/lib/pq/user_posix.go
|
||||
index a510192..33bc5b7 100644
|
||||
--- a/vendor/github.com/lib/pq/user_posix.go
|
||||
+++ b/vendor/github.com/lib/pq/user_posix.go
|
||||
@@ -1,6 +1,6 @@
|
||||
// Package pq is a pure Go Postgres driver for the database/sql package.
|
||||
|
||||
-// +build aix darwin dragonfly freebsd linux nacl netbsd openbsd plan9 solaris rumprun
|
||||
+// +build aix darwin dragonfly freebsd linux,!android nacl netbsd openbsd plan9 solaris rumprun
|
||||
|
||||
package pq
|
||||
|
||||
@@ -1,12 +1,11 @@
|
||||
TERMUX_PKG_HOMEPAGE=http://alpine.x10host.com/
|
||||
TERMUX_PKG_HOMEPAGE=https://repo.or.cz/alpine.git
|
||||
TERMUX_PKG_DESCRIPTION="Fast, easy to use email client"
|
||||
TERMUX_PKG_LICENSE="Apache-2.0"
|
||||
TERMUX_PKG_MAINTAINER="@termux"
|
||||
TERMUX_PKG_VERSION=2.25
|
||||
TERMUX_PKG_REVISION=1
|
||||
TERMUX_PKG_SRCURL=http://alpine.x10host.com/alpine/release/src/alpine-$TERMUX_PKG_VERSION.tar.xz
|
||||
TERMUX_PKG_SHA256=658a150982f6740bb4128e6dd81188eaa1212ca0bf689b83c2093bb518ecf776
|
||||
TERMUX_PKG_DEPENDS="coreutils, libcrypt, ncurses, openssl-tool"
|
||||
TERMUX_PKG_VERSION=2.24.2
|
||||
TERMUX_PKG_SRCURL=https://repo.or.cz/alpine.git/snapshot/refs/tags/v$TERMUX_PKG_VERSION.tar.gz
|
||||
TERMUX_PKG_SHA256=8e4654bce91837e053adf9d5b512f8c54234f527148a238f60ad49598581fb61
|
||||
TERMUX_PKG_DEPENDS="libcrypt, ncurses, openssl-tool"
|
||||
TERMUX_PKG_EXTRA_CONFIGURE_ARGS="
|
||||
--disable-debug
|
||||
--with-c-client-target=lnx
|
||||
|
||||
@@ -2,9 +2,10 @@ TERMUX_PKG_HOMEPAGE=https://developer.android.com/
|
||||
TERMUX_PKG_DESCRIPTION="Android platform tools"
|
||||
TERMUX_PKG_LICENSE="Apache-2.0, MIT"
|
||||
TERMUX_PKG_MAINTAINER="@termux"
|
||||
TERMUX_PKG_VERSION=31.0.3
|
||||
TERMUX_PKG_VERSION=31.0.0p1
|
||||
TERMUX_PKG_REVISION=2
|
||||
TERMUX_PKG_SRCURL=https://github.com/nmeum/android-tools/releases/download/$TERMUX_PKG_VERSION/android-tools-$TERMUX_PKG_VERSION.tar.xz
|
||||
TERMUX_PKG_SHA256=d7d2d945b6e1a7ba0c7d0b68a6d21ada6914155bf3ca02ff06c9db628ae6b029
|
||||
TERMUX_PKG_SHA256=51a4c3ba5f16945905449c4bd2c1c781a4df7469f6b7362f8837f4f640d8c7b6
|
||||
TERMUX_PKG_AUTO_UPDATE=true
|
||||
TERMUX_PKG_DEPENDS="libc++, libusb, pcre2, googletest, libprotobuf, brotli, zstd, liblz4"
|
||||
|
||||
|
||||
@@ -0,0 +1,352 @@
|
||||
diff -uNr android-tools-31.0.0p1/vendor/CMakeLists.adb.txt android-tools-31.0.0p1.mod/vendor/CMakeLists.adb.txt
|
||||
--- android-tools-31.0.0p1/vendor/CMakeLists.adb.txt 2021-03-22 17:48:01.000000000 +0000
|
||||
+++ android-tools-31.0.0p1.mod/vendor/CMakeLists.adb.txt 2021-05-03 17:56:53.036722882 +0000
|
||||
@@ -192,7 +192,6 @@
|
||||
brotlidec
|
||||
brotlienc
|
||||
lz4
|
||||
- pthread
|
||||
usb-1.0
|
||||
z
|
||||
zstd)
|
||||
diff -uNr android-tools-31.0.0p1/vendor/CMakeLists.fastboot.txt android-tools-31.0.0p1.mod/vendor/CMakeLists.fastboot.txt
|
||||
--- android-tools-31.0.0p1/vendor/CMakeLists.fastboot.txt 2021-03-22 17:48:01.000000000 +0000
|
||||
+++ android-tools-31.0.0p1.mod/vendor/CMakeLists.fastboot.txt 2021-05-03 17:56:53.036722882 +0000
|
||||
@@ -133,4 +133,4 @@
|
||||
target_link_libraries(fastboot
|
||||
libsparse libzip libcutils liblog libfsmgr libutil
|
||||
libbase libext4 libselinux libsepol libdiagnoseusb crypto
|
||||
- z pcre2-8 pthread dl)
|
||||
+ z pcre2-8 dl)
|
||||
diff -uNr android-tools-31.0.0p1/vendor/CMakeLists.mke2fs.txt android-tools-31.0.0p1.mod/vendor/CMakeLists.mke2fs.txt
|
||||
--- android-tools-31.0.0p1/vendor/CMakeLists.mke2fs.txt 2020-03-06 13:43:50.000000000 +0000
|
||||
+++ android-tools-31.0.0p1.mod/vendor/CMakeLists.mke2fs.txt 2021-05-03 17:56:53.036722882 +0000
|
||||
@@ -112,6 +112,6 @@
|
||||
e2fsprogs/misc/util.c)
|
||||
|
||||
target_link_libraries("${ANDROID_MKE2FS_NAME}"
|
||||
- libext2fs libsparse libbase libzip liblog libutil pthread z)
|
||||
+ libext2fs libsparse libbase libzip liblog libutil z)
|
||||
target_include_directories("${ANDROID_MKE2FS_NAME}" PRIVATE
|
||||
e2fsprogs/lib)
|
||||
diff -uNr android-tools-31.0.0p1/vendor/adb/pairing_auth/include/adb/pairing/pairing_auth.h android-tools-31.0.0p1.mod/vendor/adb/pairing_auth/include/adb/pairing/pairing_auth.h
|
||||
--- android-tools-31.0.0p1/vendor/adb/pairing_auth/include/adb/pairing/pairing_auth.h 2021-04-14 15:24:51.000000000 +0000
|
||||
+++ android-tools-31.0.0p1.mod/vendor/adb/pairing_auth/include/adb/pairing/pairing_auth.h 2021-05-03 17:56:53.036722882 +0000
|
||||
@@ -26,7 +26,7 @@
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
-#if !defined(__ANDROID__) || __ANDROID_API__ >= 30
|
||||
+#if 1
|
||||
|
||||
/**
|
||||
* PairingAuthCtx is a wrapper around the SPAKE2 protocol + cipher initialization
|
||||
diff -uNr android-tools-31.0.0p1/vendor/adb/pairing_connection/include/adb/pairing/pairing_connection.h android-tools-31.0.0p1.mod/vendor/adb/pairing_connection/include/adb/pairing/pairing_connection.h
|
||||
--- android-tools-31.0.0p1/vendor/adb/pairing_connection/include/adb/pairing/pairing_connection.h 2021-04-14 15:24:51.000000000 +0000
|
||||
+++ android-tools-31.0.0p1.mod/vendor/adb/pairing_connection/include/adb/pairing/pairing_connection.h 2021-05-03 17:56:53.036722882 +0000
|
||||
@@ -37,7 +37,7 @@
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
-#if !defined(__ANDROID__) || __ANDROID_API__ >= 30
|
||||
+#if 1
|
||||
|
||||
const uint32_t kMaxPeerInfoSize = 8192;
|
||||
struct PeerInfo {
|
||||
diff -uNr android-tools-31.0.0p1/vendor/adb/pairing_connection/include/adb/pairing/pairing_server.h android-tools-31.0.0p1.mod/vendor/adb/pairing_connection/include/adb/pairing/pairing_server.h
|
||||
--- android-tools-31.0.0p1/vendor/adb/pairing_connection/include/adb/pairing/pairing_server.h 2021-04-14 15:24:51.000000000 +0000
|
||||
+++ android-tools-31.0.0p1.mod/vendor/adb/pairing_connection/include/adb/pairing/pairing_server.h 2021-05-03 17:56:53.036722882 +0000
|
||||
@@ -33,7 +33,7 @@
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
-#if !defined(__ANDROID__) || __ANDROID_API__ >= 30
|
||||
+#if 1
|
||||
|
||||
// PairingServerCtx is a wrapper around the #PairingConnectionCtx APIs,
|
||||
// which handles multiple client connections.
|
||||
diff -uNr android-tools-31.0.0p1/vendor/adb/sysdeps.h android-tools-31.0.0p1.mod/vendor/adb/sysdeps.h
|
||||
--- android-tools-31.0.0p1/vendor/adb/sysdeps.h 2021-04-14 15:24:51.000000000 +0000
|
||||
+++ android-tools-31.0.0p1.mod/vendor/adb/sysdeps.h 2021-05-03 17:56:53.036722882 +0000
|
||||
@@ -482,7 +482,11 @@
|
||||
}
|
||||
|
||||
static inline int adb_getlogin_r(char* buf, size_t bufsize) {
|
||||
- return getlogin_r(buf, bufsize);
|
||||
+ char* logname = getlogin();
|
||||
+ if (!logname) return ENXIO;
|
||||
+ if (strlen(logname) >= bufsize) return ERANGE;
|
||||
+ strcpy(buf, logname);
|
||||
+ return 0;
|
||||
}
|
||||
|
||||
static inline int adb_read(borrowed_fd fd, void* buf, size_t len) {
|
||||
diff -uNr android-tools-31.0.0p1/vendor/base/libs/androidfw/ResourceTypes.cpp android-tools-31.0.0p1.mod/vendor/base/libs/androidfw/ResourceTypes.cpp
|
||||
--- android-tools-31.0.0p1/vendor/base/libs/androidfw/ResourceTypes.cpp 2020-11-12 18:02:26.000000000 +0000
|
||||
+++ android-tools-31.0.0p1.mod/vendor/base/libs/androidfw/ResourceTypes.cpp 2021-05-03 17:56:53.036722882 +0000
|
||||
@@ -41,7 +41,7 @@
|
||||
#include <utils/String16.h>
|
||||
#include <utils/String8.h>
|
||||
|
||||
-#ifdef __ANDROID__
|
||||
+#if 0
|
||||
#include <binder/TextOutput.h>
|
||||
#endif
|
||||
|
||||
diff -uNr android-tools-31.0.0p1/vendor/boringssl/crypto/CMakeLists.txt android-tools-31.0.0p1.mod/vendor/boringssl/crypto/CMakeLists.txt
|
||||
--- android-tools-31.0.0p1/vendor/boringssl/crypto/CMakeLists.txt 2021-03-22 17:48:14.000000000 +0000
|
||||
+++ android-tools-31.0.0p1.mod/vendor/boringssl/crypto/CMakeLists.txt 2021-05-03 17:56:53.036722882 +0000
|
||||
@@ -167,7 +167,7 @@
|
||||
|
||||
add_custom_command(
|
||||
OUTPUT err_data.c
|
||||
- COMMAND ${GO_EXECUTABLE} run err_data_generate.go > ${CMAKE_CURRENT_BINARY_DIR}/err_data.c
|
||||
+ COMMAND GOOS=linux GOARCH=amd64 ${GO_EXECUTABLE} run err_data_generate.go > ${CMAKE_CURRENT_BINARY_DIR}/err_data.c
|
||||
DEPENDS
|
||||
err/err_data_generate.go
|
||||
err/asn1.errordata
|
||||
diff -uNr android-tools-31.0.0p1/vendor/core/fs_mgr/liblp/utility.cpp android-tools-31.0.0p1.mod/vendor/core/fs_mgr/liblp/utility.cpp
|
||||
--- android-tools-31.0.0p1/vendor/core/fs_mgr/liblp/utility.cpp 2020-12-20 20:06:59.000000000 +0000
|
||||
+++ android-tools-31.0.0p1.mod/vendor/core/fs_mgr/liblp/utility.cpp 2021-05-03 17:56:53.040722882 +0000
|
||||
@@ -34,7 +34,7 @@
|
||||
#include <ext4_utils/ext4_utils.h>
|
||||
#include <openssl/sha.h>
|
||||
|
||||
-#ifdef __ANDROID__
|
||||
+#if 0
|
||||
#include <cutils/android_get_control_file.h>
|
||||
#endif
|
||||
|
||||
@@ -208,7 +208,7 @@
|
||||
}
|
||||
|
||||
base::unique_fd GetControlFileOrOpen(std::string_view path, int flags) {
|
||||
-#if defined(__ANDROID__)
|
||||
+#if 0
|
||||
int fd = android_get_control_file(path.data());
|
||||
if (fd >= 0) {
|
||||
int newfd = TEMP_FAILURE_RETRY(dup(fd));
|
||||
diff -uNr android-tools-31.0.0p1/vendor/core/init/reboot.cpp android-tools-31.0.0p1.mod/vendor/core/init/reboot.cpp
|
||||
--- android-tools-31.0.0p1/vendor/core/init/reboot.cpp 2021-04-14 15:24:51.000000000 +0000
|
||||
+++ android-tools-31.0.0p1.mod/vendor/core/init/reboot.cpp 2021-05-03 17:56:53.040722882 +0000
|
||||
@@ -247,7 +247,7 @@
|
||||
if (dump) {
|
||||
LOG(INFO) << "mount entry " << mentry->mnt_fsname << ":" << mentry->mnt_dir << " opts "
|
||||
<< mentry->mnt_opts << " type " << mentry->mnt_type;
|
||||
- } else if (MountEntry::IsBlockDevice(*mentry) && hasmntopt(mentry, "rw")) {
|
||||
+ } else if (MountEntry::IsBlockDevice(*mentry) && 0) {
|
||||
std::string mount_dir(mentry->mnt_dir);
|
||||
// These are R/O partitions changed to R/W after adb remount.
|
||||
// Do not umount them as shutdown critical services may rely on them.
|
||||
diff -uNr android-tools-31.0.0p1/vendor/core/libcutils/properties.cpp android-tools-31.0.0p1.mod/vendor/core/libcutils/properties.cpp
|
||||
--- android-tools-31.0.0p1/vendor/core/libcutils/properties.cpp 2020-12-20 20:06:59.000000000 +0000
|
||||
+++ android-tools-31.0.0p1.mod/vendor/core/libcutils/properties.cpp 2021-05-03 17:56:53.040722882 +0000
|
||||
@@ -91,7 +91,7 @@
|
||||
return len;
|
||||
}
|
||||
|
||||
-#if __has_include(<sys/system_properties.h>)
|
||||
+#if 0
|
||||
|
||||
#define _REALLY_INCLUDE_SYS__SYSTEM_PROPERTIES_H_
|
||||
#include <sys/_system_properties.h>
|
||||
diff -uNr android-tools-31.0.0p1/vendor/e2fsprogs/lib/ext2fs/ismounted.c android-tools-31.0.0p1.mod/vendor/e2fsprogs/lib/ext2fs/ismounted.c
|
||||
--- android-tools-31.0.0p1/vendor/e2fsprogs/lib/ext2fs/ismounted.c 2019-08-21 17:14:14.000000000 +0000
|
||||
+++ android-tools-31.0.0p1.mod/vendor/e2fsprogs/lib/ext2fs/ismounted.c 2021-05-03 17:56:53.044722882 +0000
|
||||
@@ -196,7 +196,7 @@
|
||||
#endif /* __GNU__ */
|
||||
*mount_flags = EXT2_MF_MOUNTED;
|
||||
|
||||
-#ifdef MNTOPT_RO
|
||||
+#if 0
|
||||
/* Check to see if the ro option is set */
|
||||
if (hasmntopt(mnt, MNTOPT_RO))
|
||||
*mount_flags |= EXT2_MF_READONLY;
|
||||
diff -uNr android-tools-31.0.0p1/vendor/f2fs-tools/lib/libf2fs.c android-tools-31.0.0p1.mod/vendor/f2fs-tools/lib/libf2fs.c
|
||||
--- android-tools-31.0.0p1/vendor/f2fs-tools/lib/libf2fs.c 2020-12-20 12:53:55.000000000 +0000
|
||||
+++ android-tools-31.0.0p1.mod/vendor/f2fs-tools/lib/libf2fs.c 2021-05-03 17:56:53.044722882 +0000
|
||||
@@ -714,7 +714,7 @@
|
||||
|
||||
while ((mnt = getmntent(file)) != NULL) {
|
||||
if (!strcmp(device, mnt->mnt_fsname)) {
|
||||
-#ifdef MNTOPT_RO
|
||||
+#if 0
|
||||
if (hasmntopt(mnt, MNTOPT_RO))
|
||||
c.ro = 1;
|
||||
#endif
|
||||
diff -uNr android-tools-31.0.0p1/vendor/libbase/include/android-base/unique_fd.h android-tools-31.0.0p1.mod/vendor/libbase/include/android-base/unique_fd.h
|
||||
--- android-tools-31.0.0p1/vendor/libbase/include/android-base/unique_fd.h 2020-11-12 18:02:33.000000000 +0000
|
||||
+++ android-tools-31.0.0p1.mod/vendor/libbase/include/android-base/unique_fd.h 2021-05-03 17:56:53.044722882 +0000
|
||||
@@ -46,7 +46,7 @@
|
||||
// unique_fd is also known as ScopedFd/ScopedFD/scoped_fd; mentioned here to help
|
||||
// you find this class if you're searching for one of those names.
|
||||
|
||||
-#if defined(__BIONIC__)
|
||||
+#if 0
|
||||
#include <android/fdsan.h>
|
||||
#endif
|
||||
|
||||
@@ -54,7 +54,7 @@
|
||||
namespace base {
|
||||
|
||||
struct DefaultCloser {
|
||||
-#if defined(__BIONIC__)
|
||||
+#if 0
|
||||
static void Tag(int fd, void* old_addr, void* new_addr) {
|
||||
if (android_fdsan_exchange_owner_tag) {
|
||||
uint64_t old_tag = android_fdsan_create_owner_tag(ANDROID_FDSAN_OWNER_TYPE_UNIQUE_FD,
|
||||
diff -uNr android-tools-31.0.0p1/vendor/libbase/logging.cpp android-tools-31.0.0p1.mod/vendor/libbase/logging.cpp
|
||||
--- android-tools-31.0.0p1/vendor/libbase/logging.cpp 2021-04-14 15:24:51.000000000 +0000
|
||||
+++ android-tools-31.0.0p1.mod/vendor/libbase/logging.cpp 2021-05-03 17:56:53.044722882 +0000
|
||||
@@ -65,11 +65,17 @@
|
||||
namespace android {
|
||||
namespace base {
|
||||
|
||||
+#if defined(__linux__)
|
||||
+extern "C" {
|
||||
+extern char* __progname;
|
||||
+}
|
||||
+#endif
|
||||
+
|
||||
// BSD-based systems like Android/macOS have getprogname(). Others need us to provide one.
|
||||
#if defined(__linux__) || defined(_WIN32)
|
||||
static const char* getprogname() {
|
||||
#if defined(__linux__)
|
||||
- return program_invocation_short_name;
|
||||
+ return __progname;
|
||||
#elif defined(_WIN32)
|
||||
static bool first = true;
|
||||
static char progname[MAX_PATH] = {};
|
||||
diff -uNr android-tools-31.0.0p1/vendor/libbase/properties.cpp android-tools-31.0.0p1.mod/vendor/libbase/properties.cpp
|
||||
--- android-tools-31.0.0p1/vendor/libbase/properties.cpp 2020-11-12 18:02:33.000000000 +0000
|
||||
+++ android-tools-31.0.0p1.mod/vendor/libbase/properties.cpp 2021-05-03 17:56:53.044722882 +0000
|
||||
@@ -16,7 +16,7 @@
|
||||
|
||||
#include "android-base/properties.h"
|
||||
|
||||
-#if defined(__BIONIC__)
|
||||
+#if 0
|
||||
#define _REALLY_INCLUDE_SYS__SYSTEM_PROPERTIES_H_
|
||||
#include <sys/system_properties.h>
|
||||
#include <sys/_system_properties.h>
|
||||
@@ -32,8 +32,6 @@
|
||||
#include <android-base/parseint.h>
|
||||
#include <android-base/strings.h>
|
||||
|
||||
-#if !defined(__BIONIC__)
|
||||
-
|
||||
#define PROP_VALUE_MAX 92
|
||||
|
||||
static std::map<std::string, std::string>& g_properties = *new std::map<std::string, std::string>;
|
||||
@@ -63,8 +61,6 @@
|
||||
return strlen(value);
|
||||
}
|
||||
|
||||
-#endif
|
||||
-
|
||||
namespace android {
|
||||
namespace base {
|
||||
|
||||
@@ -108,7 +104,7 @@
|
||||
|
||||
std::string GetProperty(const std::string& key, const std::string& default_value) {
|
||||
std::string property_value;
|
||||
-#if defined(__BIONIC__)
|
||||
+#if 0
|
||||
const prop_info* pi = __system_property_find(key.c_str());
|
||||
if (pi == nullptr) return default_value;
|
||||
|
||||
@@ -134,7 +130,7 @@
|
||||
return (__system_property_set(key.c_str(), value.c_str()) == 0);
|
||||
}
|
||||
|
||||
-#if defined(__BIONIC__)
|
||||
+#if 0
|
||||
|
||||
struct WaitForPropertyData {
|
||||
bool done;
|
||||
diff -uNr android-tools-31.0.0p1/vendor/libziparchive/zip_archive.cc android-tools-31.0.0p1.mod/vendor/libziparchive/zip_archive.cc
|
||||
--- android-tools-31.0.0p1/vendor/libziparchive/zip_archive.cc 2020-11-12 18:02:33.000000000 +0000
|
||||
+++ android-tools-31.0.0p1.mod/vendor/libziparchive/zip_archive.cc 2021-05-03 17:56:53.044722882 +0000
|
||||
@@ -39,7 +39,9 @@
|
||||
#define lseek64 lseek
|
||||
#endif
|
||||
|
||||
-#if defined(__BIONIC__)
|
||||
+#undef __ANDROID__
|
||||
+
|
||||
+#if 0
|
||||
#include <android/fdsan.h>
|
||||
#endif
|
||||
|
||||
@@ -88,7 +90,7 @@
|
||||
* of the string length into the hash table entry.
|
||||
*/
|
||||
|
||||
-#if defined(__BIONIC__)
|
||||
+#if 0
|
||||
uint64_t GetOwnerTag(const ZipArchive* archive) {
|
||||
return android_fdsan_create_owner_tag(ANDROID_FDSAN_OWNER_TYPE_ZIPARCHIVE,
|
||||
reinterpret_cast<uint64_t>(archive));
|
||||
@@ -102,7 +104,7 @@
|
||||
central_directory(),
|
||||
directory_map(),
|
||||
num_entries(0) {
|
||||
-#if defined(__BIONIC__)
|
||||
+#if 0
|
||||
if (assume_ownership) {
|
||||
CHECK(mapped_zip.HasFd());
|
||||
android_fdsan_exchange_owner_tag(mapped_zip.GetFileDescriptor(), 0, GetOwnerTag(this));
|
||||
@@ -120,7 +122,7 @@
|
||||
|
||||
ZipArchive::~ZipArchive() {
|
||||
if (close_file && mapped_zip.GetFileDescriptor() >= 0) {
|
||||
-#if defined(__BIONIC__)
|
||||
+#if 0
|
||||
android_fdsan_close_with_tag(mapped_zip.GetFileDescriptor(), GetOwnerTag(this));
|
||||
#else
|
||||
close(mapped_zip.GetFileDescriptor());
|
||||
diff -uNr android-tools-31.0.0p1/vendor/logging/liblog/logger_write.cpp android-tools-31.0.0p1.mod/vendor/logging/liblog/logger_write.cpp
|
||||
--- android-tools-31.0.0p1/vendor/logging/liblog/logger_write.cpp 2021-04-14 15:24:52.000000000 +0000
|
||||
+++ android-tools-31.0.0p1.mod/vendor/logging/liblog/logger_write.cpp 2021-05-03 17:56:53.044722882 +0000
|
||||
@@ -39,6 +39,8 @@
|
||||
#include "logger.h"
|
||||
#include "uio.h"
|
||||
|
||||
+#undef __ANDROID__
|
||||
+
|
||||
#ifdef __ANDROID__
|
||||
#include "logd_writer.h"
|
||||
#include "pmsg_writer.h"
|
||||
@@ -108,31 +110,6 @@
|
||||
#endif
|
||||
}
|
||||
|
||||
-#if defined(__linux__) || defined(_WIN32)
|
||||
-static const char* getprogname() {
|
||||
-#if defined(__linux__)
|
||||
- return program_invocation_short_name;
|
||||
-#elif defined(_WIN32)
|
||||
- static bool first = true;
|
||||
- static char progname[MAX_PATH] = {};
|
||||
-
|
||||
- if (first) {
|
||||
- char path[PATH_MAX + 1];
|
||||
- DWORD result = GetModuleFileName(nullptr, path, sizeof(path) - 1);
|
||||
- if (result == 0 || result == sizeof(path) - 1) return "";
|
||||
- path[PATH_MAX - 1] = 0;
|
||||
-
|
||||
- char* path_basename = basename(path);
|
||||
-
|
||||
- snprintf(progname, sizeof(progname), "%s", path_basename);
|
||||
- first = false;
|
||||
- }
|
||||
-
|
||||
- return progname;
|
||||
-#endif
|
||||
-}
|
||||
-#endif
|
||||
-
|
||||
// It's possible for logging to happen during static initialization before our globals are
|
||||
// initialized, so we place this std::string in a function such that it is initialized on the first
|
||||
// call.
|
||||
@@ -1,12 +0,0 @@
|
||||
diff --git a/vendor/CMakeLists.adb.txt b/vendor/CMakeLists.adb.txt
|
||||
index 2b6d8f0..ee55949 100644
|
||||
--- a/vendor/CMakeLists.adb.txt
|
||||
+++ b/vendor/CMakeLists.adb.txt
|
||||
@@ -192,7 +192,6 @@ target_link_libraries(adb
|
||||
brotlidec
|
||||
brotlienc
|
||||
lz4
|
||||
- pthread
|
||||
usb-1.0
|
||||
z
|
||||
zstd)
|
||||
@@ -1,10 +0,0 @@
|
||||
diff --git a/vendor/CMakeLists.fastboot.txt b/vendor/CMakeLists.fastboot.txt
|
||||
index 1d43937..189d91b 100644
|
||||
--- a/vendor/CMakeLists.fastboot.txt
|
||||
+++ b/vendor/CMakeLists.fastboot.txt
|
||||
@@ -135,4 +135,4 @@ target_compile_definitions(fastboot PRIVATE
|
||||
target_link_libraries(fastboot
|
||||
libsparse libzip libcutils liblog libfsmgr libutil
|
||||
libbase libext4 libselinux libsepol libdiagnoseusb crypto
|
||||
- z pcre2-8 pthread dl)
|
||||
+ z pcre2-8 dl)
|
||||
@@ -1,12 +0,0 @@
|
||||
diff --git a/vendor/CMakeLists.mke2fs.txt b/vendor/CMakeLists.mke2fs.txt
|
||||
index a8f89fd..d1cae40 100644
|
||||
--- a/vendor/CMakeLists.mke2fs.txt
|
||||
+++ b/vendor/CMakeLists.mke2fs.txt
|
||||
@@ -112,6 +112,6 @@ add_executable("${ANDROID_MKE2FS_NAME}"
|
||||
e2fsprogs/misc/util.c)
|
||||
|
||||
target_link_libraries("${ANDROID_MKE2FS_NAME}"
|
||||
- libext2fs libsparse libbase libzip liblog libutil pthread z)
|
||||
+ libext2fs libsparse libbase libzip liblog libutil z)
|
||||
target_include_directories("${ANDROID_MKE2FS_NAME}" PRIVATE
|
||||
e2fsprogs/lib)
|
||||
-93
@@ -1,93 +0,0 @@
|
||||
diff --git a/vendor/adb/pairing_auth/include/adb/pairing/pairing_auth.h b/vendor/adb/pairing_auth/include/adb/pairing/pairing_auth.h
|
||||
index 83f40a9..9804b76 100644
|
||||
--- a/vendor/adb/pairing_auth/include/adb/pairing/pairing_auth.h
|
||||
+++ b/vendor/adb/pairing_auth/include/adb/pairing/pairing_auth.h
|
||||
@@ -53,7 +53,7 @@ typedef struct PairingAuthCtx PairingAuthCtx;
|
||||
* @return a new PairingAuthCtx server instance. Caller is responsible for
|
||||
* destroying the context via #pairing_auth_destroy.
|
||||
*/
|
||||
-PairingAuthCtx* pairing_auth_server_new(const uint8_t* pswd, size_t len) __INTRODUCED_IN(30);
|
||||
+PairingAuthCtx* pairing_auth_server_new(const uint8_t* pswd, size_t len) __INTRODUCED_IN(24);
|
||||
|
||||
/**
|
||||
* Creates a new PairingAuthCtx instance as the client.
|
||||
@@ -64,14 +64,14 @@ PairingAuthCtx* pairing_auth_server_new(const uint8_t* pswd, size_t len) __INTRO
|
||||
* @return a new PairingAuthCtx client instance. Caller is responsible for
|
||||
* destroying the context via #pairing_auth_destroy.
|
||||
*/
|
||||
-PairingAuthCtx* pairing_auth_client_new(const uint8_t* pswd, size_t len) __INTRODUCED_IN(30);
|
||||
+PairingAuthCtx* pairing_auth_client_new(const uint8_t* pswd, size_t len) __INTRODUCED_IN(24);
|
||||
|
||||
/**
|
||||
* Destroys the PairingAuthCtx.
|
||||
*
|
||||
* @param ctx the PairingAuthCtx instance to destroy. Will abort if null.
|
||||
*/
|
||||
-void pairing_auth_destroy(PairingAuthCtx* ctx) __INTRODUCED_IN(30);
|
||||
+void pairing_auth_destroy(PairingAuthCtx* ctx) __INTRODUCED_IN(24);
|
||||
|
||||
/**
|
||||
* Returns the exact size of the SPAKE2 msg.
|
||||
@@ -82,7 +82,7 @@ void pairing_auth_destroy(PairingAuthCtx* ctx) __INTRODUCED_IN(30);
|
||||
* @param ctx the PairingAuthCtx instance. Will abort if null.
|
||||
* @return the size of the SPAKE2 message in bytes. This is guaranteed to be > 0.
|
||||
*/
|
||||
-size_t pairing_auth_msg_size(PairingAuthCtx* ctx) __INTRODUCED_IN(30);
|
||||
+size_t pairing_auth_msg_size(PairingAuthCtx* ctx) __INTRODUCED_IN(24);
|
||||
|
||||
/**
|
||||
* Writes the SPAKE2 message to exchange with the other party to |out_buf|.
|
||||
@@ -96,7 +96,7 @@ size_t pairing_auth_msg_size(PairingAuthCtx* ctx) __INTRODUCED_IN(30);
|
||||
* be have at least #pairing_auth_msg_size size. Will abort if
|
||||
* out_buf is null.
|
||||
*/
|
||||
-void pairing_auth_get_spake2_msg(PairingAuthCtx* ctx, uint8_t* out_buf) __INTRODUCED_IN(30);
|
||||
+void pairing_auth_get_spake2_msg(PairingAuthCtx* ctx, uint8_t* out_buf) __INTRODUCED_IN(24);
|
||||
|
||||
/**
|
||||
* Processes the peer's |their_msg| and attempts to initialize the cipher for
|
||||
@@ -117,7 +117,7 @@ void pairing_auth_get_spake2_msg(PairingAuthCtx* ctx, uint8_t* out_buf) __INTROD
|
||||
* for more details on the SPAKE2 protocol.
|
||||
*/
|
||||
bool pairing_auth_init_cipher(PairingAuthCtx* ctx, const uint8_t* their_msg, size_t msg_len)
|
||||
- __INTRODUCED_IN(30);
|
||||
+ __INTRODUCED_IN(24);
|
||||
|
||||
/**
|
||||
* Returns a safe buffer size for encrypting data of a certain size.
|
||||
@@ -130,7 +130,7 @@ bool pairing_auth_init_cipher(PairingAuthCtx* ctx, const uint8_t* their_msg, siz
|
||||
* @return the minimum buffer size, in bytes, to hold an encrypted message of size len. See
|
||||
* #pairing_auth_encrypt for usage.
|
||||
*/
|
||||
-size_t pairing_auth_safe_encrypted_size(PairingAuthCtx* ctx, size_t len) __INTRODUCED_IN(30);
|
||||
+size_t pairing_auth_safe_encrypted_size(PairingAuthCtx* ctx, size_t len) __INTRODUCED_IN(24);
|
||||
|
||||
/**
|
||||
* Encrypts input data and writes the encrypted data into a user-provided buffer.
|
||||
@@ -147,7 +147,7 @@ size_t pairing_auth_safe_encrypted_size(PairingAuthCtx* ctx, size_t len) __INTRO
|
||||
* otherwise.
|
||||
*/
|
||||
bool pairing_auth_encrypt(PairingAuthCtx* ctx, const uint8_t* inbuf, size_t inlen, uint8_t* outbuf,
|
||||
- size_t* outlen) __INTRODUCED_IN(30);
|
||||
+ size_t* outlen) __INTRODUCED_IN(24);
|
||||
|
||||
/**
|
||||
* Returns a safe buffer size for decrypting data of a certain size.
|
||||
@@ -162,7 +162,7 @@ bool pairing_auth_encrypt(PairingAuthCtx* ctx, const uint8_t* inbuf, size_t inle
|
||||
* #pairing_auth_decrypt for usage.
|
||||
*/
|
||||
size_t pairing_auth_safe_decrypted_size(PairingAuthCtx* ctx, const uint8_t* buf, size_t len)
|
||||
- __INTRODUCED_IN(30);
|
||||
+ __INTRODUCED_IN(24);
|
||||
|
||||
/**
|
||||
* Decrypts input data and writes the decrypted data into a user-provided buffer.
|
||||
@@ -180,7 +180,7 @@ size_t pairing_auth_safe_decrypted_size(PairingAuthCtx* ctx, const uint8_t* buf,
|
||||
* otherwise.
|
||||
*/
|
||||
bool pairing_auth_decrypt(PairingAuthCtx* ctx, const uint8_t* inbuf, size_t inlen, uint8_t* outbuf,
|
||||
- size_t* outlen) __INTRODUCED_IN(30);
|
||||
+ size_t* outlen) __INTRODUCED_IN(24);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
-39
@@ -1,39 +0,0 @@
|
||||
diff --git a/vendor/adb/pairing_connection/include/adb/pairing/pairing_connection.h b/vendor/adb/pairing_connection/include/adb/pairing/pairing_connection.h
|
||||
index 8e63db7..f158015 100644
|
||||
--- a/vendor/adb/pairing_connection/include/adb/pairing/pairing_connection.h
|
||||
+++ b/vendor/adb/pairing_connection/include/adb/pairing/pairing_connection.h
|
||||
@@ -79,7 +79,7 @@ typedef void (*pairing_result_cb)(const PeerInfo*, int, void*);
|
||||
// invoked. Otherwise, cb is guaranteed to be invoked, even if you
|
||||
// destroy the ctx while in the pairing process.
|
||||
bool pairing_connection_start(PairingConnectionCtx* ctx, int fd, pairing_result_cb cb, void* opaque)
|
||||
- __INTRODUCED_IN(30);
|
||||
+ __INTRODUCED_IN(24);
|
||||
|
||||
// Creates a new PairingConnectionCtx instance as the client.
|
||||
//
|
||||
@@ -98,7 +98,7 @@ PairingConnectionCtx* pairing_connection_client_new(const uint8_t* pswd, size_t
|
||||
const PeerInfo* peer_info,
|
||||
const uint8_t* x509_cert_pem, size_t x509_size,
|
||||
const uint8_t* priv_key_pem, size_t priv_size)
|
||||
- __INTRODUCED_IN(30);
|
||||
+ __INTRODUCED_IN(24);
|
||||
|
||||
// Creates a new PairingConnectionCtx instance as the server.
|
||||
//
|
||||
@@ -117,14 +117,14 @@ PairingConnectionCtx* pairing_connection_server_new(const uint8_t* pswd, size_t
|
||||
const PeerInfo* peer_info,
|
||||
const uint8_t* x509_cert_pem, size_t x509_size,
|
||||
const uint8_t* priv_key_pem, size_t priv_size)
|
||||
- __INTRODUCED_IN(30);
|
||||
+ __INTRODUCED_IN(24);
|
||||
|
||||
// Destroys the PairingConnectionCtx instance.
|
||||
//
|
||||
// It is safe to destroy the instance at any point in the pairing process.
|
||||
//
|
||||
// @param ctx the PairingConnectionCtx instance to destroy. Will abort if null.
|
||||
-void pairing_connection_destroy(PairingConnectionCtx* ctx) __INTRODUCED_IN(30);
|
||||
+void pairing_connection_destroy(PairingConnectionCtx* ctx) __INTRODUCED_IN(24);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
-46
@@ -1,46 +0,0 @@
|
||||
diff --git a/vendor/adb/pairing_connection/include/adb/pairing/pairing_server.h b/vendor/adb/pairing_connection/include/adb/pairing/pairing_server.h
|
||||
index babff94..93dcf9a 100644
|
||||
--- a/vendor/adb/pairing_connection/include/adb/pairing/pairing_server.h
|
||||
+++ b/vendor/adb/pairing_connection/include/adb/pairing/pairing_server.h
|
||||
@@ -45,7 +45,7 @@ typedef struct PairingServerCtx PairingServerCtx;
|
||||
// Callback containing the result of the pairing. If #PeerInfo is null,
|
||||
// then the pairing failed. Otherwise, pairing succeeded and #PeerInfo
|
||||
// contains information about the peer.
|
||||
-typedef void (*pairing_server_result_cb)(const PeerInfo*, void*) __INTRODUCED_IN(30);
|
||||
+typedef void (*pairing_server_result_cb)(const PeerInfo*, void*) __INTRODUCED_IN(24);
|
||||
|
||||
// Starts the pairing server.
|
||||
//
|
||||
@@ -61,7 +61,7 @@ typedef void (*pairing_server_result_cb)(const PeerInfo*, void*) __INTRODUCED_IN
|
||||
// @param opaque the opaque userdata.
|
||||
// @return the port number the server is listening on. Returns 0 on failure.
|
||||
uint16_t pairing_server_start(PairingServerCtx* ctx, pairing_server_result_cb cb, void* opaque)
|
||||
- __INTRODUCED_IN(30);
|
||||
+ __INTRODUCED_IN(24);
|
||||
|
||||
// Creates a new PairingServerCtx instance.
|
||||
//
|
||||
@@ -83,7 +83,7 @@ uint16_t pairing_server_start(PairingServerCtx* ctx, pairing_server_result_cb cb
|
||||
PairingServerCtx* pairing_server_new(const uint8_t* pswd, size_t pswd_len,
|
||||
const PeerInfo* peer_info, const uint8_t* x509_cert_pem,
|
||||
size_t x509_size, const uint8_t* priv_key_pem,
|
||||
- size_t priv_size, uint16_t port) __INTRODUCED_IN(30);
|
||||
+ size_t priv_size, uint16_t port) __INTRODUCED_IN(24);
|
||||
|
||||
// Same as #pairing_server_new, except that the x509 certificate and private key
|
||||
// is generated internally.
|
||||
@@ -100,12 +100,12 @@ PairingServerCtx* pairing_server_new(const uint8_t* pswd, size_t pswd_len,
|
||||
// for destroying the context via #pairing_server_destroy.
|
||||
PairingServerCtx* pairing_server_new_no_cert(const uint8_t* pswd, size_t pswd_len,
|
||||
const PeerInfo* peer_info, uint16_t port)
|
||||
- __INTRODUCED_IN(30);
|
||||
+ __INTRODUCED_IN(24);
|
||||
|
||||
// Destroys the PairingServerCtx instance.
|
||||
//
|
||||
// @param ctx the PairingServerCtx instance to destroy.
|
||||
-void pairing_server_destroy(PairingServerCtx* ctx) __INTRODUCED_IN(30);
|
||||
+void pairing_server_destroy(PairingServerCtx* ctx) __INTRODUCED_IN(24);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
@@ -1,17 +0,0 @@
|
||||
diff --git a/vendor/adb/sysdeps.h b/vendor/adb/sysdeps.h
|
||||
index 316afe7..8d5da69 100644
|
||||
--- a/vendor/adb/sysdeps.h
|
||||
+++ b/vendor/adb/sysdeps.h
|
||||
@@ -514,7 +514,11 @@ static inline int adb_gethostname(char* name, size_t len) {
|
||||
}
|
||||
|
||||
static inline int adb_getlogin_r(char* buf, size_t bufsize) {
|
||||
- return getlogin_r(buf, bufsize);
|
||||
+ char* logname = getlogin();
|
||||
+ if (!logname) return ENXIO;
|
||||
+ if (strlen(logname) >= bufsize) return ERANGE;
|
||||
+ strcpy(buf, logname);
|
||||
+ return 0;
|
||||
}
|
||||
|
||||
static inline int adb_read(borrowed_fd fd, void* buf, size_t len) {
|
||||
@@ -1,13 +0,0 @@
|
||||
diff --git a/vendor/base/libs/androidfw/ResourceTypes.cpp b/vendor/base/libs/androidfw/ResourceTypes.cpp
|
||||
index 2233827..bc5e9e2 100644
|
||||
--- a/vendor/base/libs/androidfw/ResourceTypes.cpp
|
||||
+++ b/vendor/base/libs/androidfw/ResourceTypes.cpp
|
||||
@@ -42,7 +42,7 @@
|
||||
#include <utils/String16.h>
|
||||
#include <utils/String8.h>
|
||||
|
||||
-#ifdef __ANDROID__
|
||||
+#if 0
|
||||
#include <binder/TextOutput.h>
|
||||
#endif
|
||||
|
||||
@@ -1,13 +0,0 @@
|
||||
diff --git a/vendor/boringssl/crypto/CMakeLists.txt b/vendor/boringssl/crypto/CMakeLists.txt
|
||||
index cde92b5..e25871c 100644
|
||||
--- a/vendor/boringssl/crypto/CMakeLists.txt
|
||||
+++ b/vendor/boringssl/crypto/CMakeLists.txt
|
||||
@@ -167,7 +167,7 @@ perlasm(test/trampoline-x86_64.${ASM_EXT} test/asm/trampoline-x86_64.pl)
|
||||
|
||||
add_custom_command(
|
||||
OUTPUT err_data.c
|
||||
- COMMAND ${GO_EXECUTABLE} run err_data_generate.go > ${CMAKE_CURRENT_BINARY_DIR}/err_data.c
|
||||
+ COMMAND GOOS=linux GOARCH=amd64 ${GO_EXECUTABLE} run err_data_generate.go > ${CMAKE_CURRENT_BINARY_DIR}/err_data.c
|
||||
DEPENDS
|
||||
err/err_data_generate.go
|
||||
err/asn1.errordata
|
||||
@@ -1,22 +0,0 @@
|
||||
diff --git a/vendor/core/fs_mgr/liblp/utility.cpp b/vendor/core/fs_mgr/liblp/utility.cpp
|
||||
index d8e171b..31b34a5 100644
|
||||
--- a/vendor/core/fs_mgr/liblp/utility.cpp
|
||||
+++ b/vendor/core/fs_mgr/liblp/utility.cpp
|
||||
@@ -34,7 +34,7 @@
|
||||
#include <ext4_utils/ext4_utils.h>
|
||||
#include <openssl/sha.h>
|
||||
|
||||
-#ifdef __ANDROID__
|
||||
+#if 0
|
||||
#include <cutils/android_get_control_file.h>
|
||||
#endif
|
||||
|
||||
@@ -208,7 +208,7 @@ bool SetBlockReadonly(int fd, bool readonly) {
|
||||
}
|
||||
|
||||
base::unique_fd GetControlFileOrOpen(std::string_view path, int flags) {
|
||||
-#if defined(__ANDROID__)
|
||||
+#if 0
|
||||
int fd = android_get_control_file(path.data());
|
||||
if (fd >= 0) {
|
||||
int newfd = TEMP_FAILURE_RETRY(dup(fd));
|
||||
@@ -1,13 +0,0 @@
|
||||
diff --git a/vendor/core/init/reboot.cpp b/vendor/core/init/reboot.cpp
|
||||
index 464746d..dadf811 100644
|
||||
--- a/vendor/core/init/reboot.cpp
|
||||
+++ b/vendor/core/init/reboot.cpp
|
||||
@@ -246,7 +246,7 @@ static bool FindPartitionsToUmount(std::vector<MountEntry>* block_dev_partitions
|
||||
if (dump) {
|
||||
LOG(INFO) << "mount entry " << mentry->mnt_fsname << ":" << mentry->mnt_dir << " opts "
|
||||
<< mentry->mnt_opts << " type " << mentry->mnt_type;
|
||||
- } else if (MountEntry::IsBlockDevice(*mentry) && hasmntopt(mentry, "rw")) {
|
||||
+ } else if (MountEntry::IsBlockDevice(*mentry) && 0) {
|
||||
std::string mount_dir(mentry->mnt_dir);
|
||||
// These are R/O partitions changed to R/W after adb remount.
|
||||
// Do not umount them as shutdown critical services may rely on them.
|
||||
@@ -1,13 +0,0 @@
|
||||
diff --git a/vendor/core/libcutils/properties.cpp b/vendor/core/libcutils/properties.cpp
|
||||
index 03f0496..11c4786 100644
|
||||
--- a/vendor/core/libcutils/properties.cpp
|
||||
+++ b/vendor/core/libcutils/properties.cpp
|
||||
@@ -91,7 +91,7 @@ int property_get(const char* key, char* value, const char* default_value) {
|
||||
return len;
|
||||
}
|
||||
|
||||
-#if __has_include(<sys/system_properties.h>)
|
||||
+#if 0
|
||||
|
||||
#define _REALLY_INCLUDE_SYS__SYSTEM_PROPERTIES_H_
|
||||
#include <sys/_system_properties.h>
|
||||
@@ -1,13 +0,0 @@
|
||||
diff --git a/vendor/e2fsprogs/lib/ext2fs/ismounted.c b/vendor/e2fsprogs/lib/ext2fs/ismounted.c
|
||||
index 6cd497d..dcdd4fd 100644
|
||||
--- a/vendor/e2fsprogs/lib/ext2fs/ismounted.c
|
||||
+++ b/vendor/e2fsprogs/lib/ext2fs/ismounted.c
|
||||
@@ -196,7 +196,7 @@ static errcode_t check_mntent_file(const char *mtab_file, const char *file,
|
||||
#endif /* __GNU__ */
|
||||
*mount_flags = EXT2_MF_MOUNTED;
|
||||
|
||||
-#ifdef MNTOPT_RO
|
||||
+#if 0
|
||||
/* Check to see if the ro option is set */
|
||||
if (hasmntopt(mnt, MNTOPT_RO))
|
||||
*mount_flags |= EXT2_MF_READONLY;
|
||||
@@ -1,13 +0,0 @@
|
||||
diff --git a/vendor/f2fs-tools/lib/libf2fs.c b/vendor/f2fs-tools/lib/libf2fs.c
|
||||
index 55fa391..cf2716c 100644
|
||||
--- a/vendor/f2fs-tools/lib/libf2fs.c
|
||||
+++ b/vendor/f2fs-tools/lib/libf2fs.c
|
||||
@@ -714,7 +714,7 @@ static int is_mounted(const char *mpt, const char *device)
|
||||
|
||||
while ((mnt = getmntent(file)) != NULL) {
|
||||
if (!strcmp(device, mnt->mnt_fsname)) {
|
||||
-#ifdef MNTOPT_RO
|
||||
+#if 0
|
||||
if (hasmntopt(mnt, MNTOPT_RO))
|
||||
c.ro = 1;
|
||||
#endif
|
||||
-12
@@ -1,12 +0,0 @@
|
||||
diff --git a/vendor/incremental_delivery/incfs/util/include/util/map_ptr.h b/vendor/incremental_delivery/incfs/util/include/util/map_ptr.h
|
||||
index 6fd38ee..bb62fd4 100644
|
||||
--- a/vendor/incremental_delivery/incfs/util/include/util/map_ptr.h
|
||||
+++ b/vendor/incremental_delivery/incfs/util/include/util/map_ptr.h
|
||||
@@ -23,6 +23,7 @@
|
||||
#include <android-base/logging.h>
|
||||
#include <android-base/off64_t.h>
|
||||
|
||||
+#undef __ANDROID__
|
||||
#ifdef __ANDROID__
|
||||
#include <linux/incrementalfs.h>
|
||||
#endif
|
||||
@@ -1,22 +0,0 @@
|
||||
diff --git a/vendor/libbase/include/android-base/unique_fd.h b/vendor/libbase/include/android-base/unique_fd.h
|
||||
index 9ceb5db..bf6f5cc 100644
|
||||
--- a/vendor/libbase/include/android-base/unique_fd.h
|
||||
+++ b/vendor/libbase/include/android-base/unique_fd.h
|
||||
@@ -46,7 +46,7 @@
|
||||
// unique_fd is also known as ScopedFd/ScopedFD/scoped_fd; mentioned here to help
|
||||
// you find this class if you're searching for one of those names.
|
||||
|
||||
-#if defined(__BIONIC__)
|
||||
+#if 0
|
||||
#include <android/fdsan.h>
|
||||
#endif
|
||||
|
||||
@@ -54,7 +54,7 @@ namespace android {
|
||||
namespace base {
|
||||
|
||||
struct DefaultCloser {
|
||||
-#if defined(__BIONIC__)
|
||||
+#if 0
|
||||
static void Tag(int fd, void* old_addr, void* new_addr) {
|
||||
if (android_fdsan_exchange_owner_tag) {
|
||||
uint64_t old_tag = android_fdsan_create_owner_tag(ANDROID_FDSAN_OWNER_TYPE_UNIQUE_FD,
|
||||
@@ -1,53 +0,0 @@
|
||||
diff --git a/vendor/libbase/properties.cpp b/vendor/libbase/properties.cpp
|
||||
index 8190987..6d48ab8 100644
|
||||
--- a/vendor/libbase/properties.cpp
|
||||
+++ b/vendor/libbase/properties.cpp
|
||||
@@ -16,7 +16,7 @@
|
||||
|
||||
#include "android-base/properties.h"
|
||||
|
||||
-#if defined(__BIONIC__)
|
||||
+#if 0
|
||||
#define _REALLY_INCLUDE_SYS__SYSTEM_PROPERTIES_H_
|
||||
#include <sys/system_properties.h>
|
||||
#include <sys/_system_properties.h>
|
||||
@@ -32,11 +32,9 @@
|
||||
#include <android-base/parseint.h>
|
||||
#include <android-base/strings.h>
|
||||
|
||||
-#if !defined(__BIONIC__)
|
||||
-
|
||||
#define PROP_VALUE_MAX 92
|
||||
|
||||
-static std::map<std::string, std::string>& g_properties = *new std::map<std::string, std::string>;
|
||||
+static std::map<std::string, std::string> g_properties;
|
||||
|
||||
int __system_property_set(const char* key, const char* value) {
|
||||
if (key == nullptr || *key == '\0') return -1;
|
||||
@@ -63,8 +61,6 @@ int __system_property_get(const char* key, char* value) {
|
||||
return strlen(value);
|
||||
}
|
||||
|
||||
-#endif
|
||||
-
|
||||
namespace android {
|
||||
namespace base {
|
||||
|
||||
@@ -108,7 +104,7 @@ template uint64_t GetUintProperty(const std::string&, uint64_t, uint64_t);
|
||||
|
||||
std::string GetProperty(const std::string& key, const std::string& default_value) {
|
||||
std::string property_value;
|
||||
-#if defined(__BIONIC__)
|
||||
+#if 0
|
||||
const prop_info* pi = __system_property_find(key.c_str());
|
||||
if (pi == nullptr) return default_value;
|
||||
|
||||
@@ -134,7 +130,7 @@ bool SetProperty(const std::string& key, const std::string& value) {
|
||||
return (__system_property_set(key.c_str(), value.c_str()) == 0);
|
||||
}
|
||||
|
||||
-#if defined(__BIONIC__)
|
||||
+#if 0
|
||||
|
||||
struct WaitForPropertyData {
|
||||
bool done;
|
||||
@@ -1,42 +0,0 @@
|
||||
diff --git a/vendor/libziparchive/zip_archive.cc b/vendor/libziparchive/zip_archive.cc
|
||||
index fe1baa1..21d2627 100644
|
||||
--- a/vendor/libziparchive/zip_archive.cc
|
||||
+++ b/vendor/libziparchive/zip_archive.cc
|
||||
@@ -39,7 +39,9 @@
|
||||
#define lseek64 lseek
|
||||
#endif
|
||||
|
||||
-#if defined(__BIONIC__)
|
||||
+#undef __ANDROID__
|
||||
+
|
||||
+#if 0
|
||||
#include <android/fdsan.h>
|
||||
#endif
|
||||
|
||||
@@ -88,7 +90,7 @@ static constexpr uint64_t kMaxFileLength = 256 * static_cast<uint64_t>(1u << 30u
|
||||
* of the string length into the hash table entry.
|
||||
*/
|
||||
|
||||
-#if defined(__BIONIC__)
|
||||
+#if 0
|
||||
uint64_t GetOwnerTag(const ZipArchive* archive) {
|
||||
return android_fdsan_create_owner_tag(ANDROID_FDSAN_OWNER_TYPE_ZIPARCHIVE,
|
||||
reinterpret_cast<uint64_t>(archive));
|
||||
@@ -102,7 +104,7 @@ ZipArchive::ZipArchive(MappedZipFile&& map, bool assume_ownership)
|
||||
central_directory(),
|
||||
directory_map(),
|
||||
num_entries(0) {
|
||||
-#if defined(__BIONIC__)
|
||||
+#if 0
|
||||
if (assume_ownership) {
|
||||
CHECK(mapped_zip.HasFd());
|
||||
android_fdsan_exchange_owner_tag(mapped_zip.GetFileDescriptor(), 0, GetOwnerTag(this));
|
||||
@@ -120,7 +122,7 @@ ZipArchive::ZipArchive(const void* address, size_t length)
|
||||
|
||||
ZipArchive::~ZipArchive() {
|
||||
if (close_file && mapped_zip.GetFileDescriptor() >= 0) {
|
||||
-#if defined(__BIONIC__)
|
||||
+#if 0
|
||||
android_fdsan_close_with_tag(mapped_zip.GetFileDescriptor(), GetOwnerTag(this));
|
||||
#else
|
||||
close(mapped_zip.GetFileDescriptor());
|
||||
@@ -1,112 +0,0 @@
|
||||
diff --git a/vendor/logging/liblog/include/android/log.h b/vendor/logging/liblog/include/android/log.h
|
||||
index 12de595..6742aa9 100644
|
||||
--- a/vendor/logging/liblog/include/android/log.h
|
||||
+++ b/vendor/logging/liblog/include/android/log.h
|
||||
@@ -229,7 +229,7 @@ typedef void (*__android_aborter_function)(const char* abort_message);
|
||||
*
|
||||
* Available since API level 30.
|
||||
*/
|
||||
-void __android_log_write_log_message(struct __android_log_message* log_message) __INTRODUCED_IN(30);
|
||||
+void __android_log_write_log_message(struct __android_log_message* log_message) __INTRODUCED_IN(24);
|
||||
|
||||
/**
|
||||
* Sets a user defined logger function. All log messages sent to liblog will be set to the
|
||||
@@ -241,7 +241,7 @@ void __android_log_write_log_message(struct __android_log_message* log_message)
|
||||
*
|
||||
* Available since API level 30.
|
||||
*/
|
||||
-void __android_log_set_logger(__android_logger_function logger) __INTRODUCED_IN(30);
|
||||
+void __android_log_set_logger(__android_logger_function logger) __INTRODUCED_IN(24);
|
||||
|
||||
/**
|
||||
* Writes the log message to logd. This is an __android_logger_function and can be provided to
|
||||
@@ -251,7 +251,7 @@ void __android_log_set_logger(__android_logger_function logger) __INTRODUCED_IN(
|
||||
*
|
||||
* Available since API level 30.
|
||||
*/
|
||||
-void __android_log_logd_logger(const struct __android_log_message* log_message) __INTRODUCED_IN(30);
|
||||
+void __android_log_logd_logger(const struct __android_log_message* log_message) __INTRODUCED_IN(24);
|
||||
|
||||
/**
|
||||
* Writes the log message to stderr. This is an __android_logger_function and can be provided to
|
||||
@@ -262,7 +262,7 @@ void __android_log_logd_logger(const struct __android_log_message* log_message)
|
||||
* Available since API level 30.
|
||||
*/
|
||||
void __android_log_stderr_logger(const struct __android_log_message* log_message)
|
||||
- __INTRODUCED_IN(30);
|
||||
+ __INTRODUCED_IN(24);
|
||||
|
||||
/**
|
||||
* Sets a user defined aborter function that is called for __android_log_assert() failures. This
|
||||
@@ -273,7 +273,7 @@ void __android_log_stderr_logger(const struct __android_log_message* log_message
|
||||
*
|
||||
* Available since API level 30.
|
||||
*/
|
||||
-void __android_log_set_aborter(__android_aborter_function aborter) __INTRODUCED_IN(30);
|
||||
+void __android_log_set_aborter(__android_aborter_function aborter) __INTRODUCED_IN(24);
|
||||
|
||||
/**
|
||||
* Calls the stored aborter function. This allows for other logging libraries to use the same
|
||||
@@ -284,7 +284,7 @@ void __android_log_set_aborter(__android_aborter_function aborter) __INTRODUCED_
|
||||
*
|
||||
* Available since API level 30.
|
||||
*/
|
||||
-void __android_log_call_aborter(const char* abort_message) __INTRODUCED_IN(30);
|
||||
+void __android_log_call_aborter(const char* abort_message) __INTRODUCED_IN(24);
|
||||
|
||||
/**
|
||||
* Sets android_set_abort_message() on device then aborts(). This is the default aborter.
|
||||
@@ -295,7 +295,7 @@ void __android_log_call_aborter(const char* abort_message) __INTRODUCED_IN(30);
|
||||
* Available since API level 30.
|
||||
*/
|
||||
void __android_log_default_aborter(const char* abort_message) __attribute__((noreturn))
|
||||
-__INTRODUCED_IN(30);
|
||||
+__INTRODUCED_IN(24);
|
||||
|
||||
/**
|
||||
* Use the per-tag properties "log.tag.<tagname>" along with the minimum priority from
|
||||
@@ -314,7 +314,7 @@ __INTRODUCED_IN(30);
|
||||
*
|
||||
* Available since API level 30.
|
||||
*/
|
||||
-int __android_log_is_loggable(int prio, const char* tag, int default_prio) __INTRODUCED_IN(30);
|
||||
+int __android_log_is_loggable(int prio, const char* tag, int default_prio) __INTRODUCED_IN(24);
|
||||
|
||||
/**
|
||||
* Use the per-tag properties "log.tag.<tagname>" along with the minimum priority from
|
||||
@@ -335,7 +335,7 @@ int __android_log_is_loggable(int prio, const char* tag, int default_prio) __INT
|
||||
* Available since API level 30.
|
||||
*/
|
||||
int __android_log_is_loggable_len(int prio, const char* tag, size_t len, int default_prio)
|
||||
- __INTRODUCED_IN(30);
|
||||
+ __INTRODUCED_IN(24);
|
||||
|
||||
/**
|
||||
* Sets the minimum priority that will be logged for this process.
|
||||
@@ -346,7 +346,7 @@ int __android_log_is_loggable_len(int prio, const char* tag, size_t len, int def
|
||||
*
|
||||
* Available since API level 30.
|
||||
*/
|
||||
-int32_t __android_log_set_minimum_priority(int32_t priority) __INTRODUCED_IN(30);
|
||||
+int32_t __android_log_set_minimum_priority(int32_t priority) __INTRODUCED_IN(24);
|
||||
|
||||
/**
|
||||
* Gets the minimum priority that will be logged for this process. If none has been set by a
|
||||
@@ -357,7 +357,7 @@ int32_t __android_log_set_minimum_priority(int32_t priority) __INTRODUCED_IN(30)
|
||||
*
|
||||
* Available since API level 30.
|
||||
*/
|
||||
-int32_t __android_log_get_minimum_priority(void) __INTRODUCED_IN(30);
|
||||
+int32_t __android_log_get_minimum_priority(void) __INTRODUCED_IN(24);
|
||||
|
||||
/**
|
||||
* Sets the default tag if no tag is provided when writing a log message. Defaults to
|
||||
@@ -368,7 +368,7 @@ int32_t __android_log_get_minimum_priority(void) __INTRODUCED_IN(30);
|
||||
*
|
||||
* Available since API level 30.
|
||||
*/
|
||||
-void __android_log_set_default_tag(const char* tag) __INTRODUCED_IN(30);
|
||||
+void __android_log_set_default_tag(const char* tag) __INTRODUCED_IN(24);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
@@ -1,13 +0,0 @@
|
||||
diff --git a/vendor/logging/liblog/logger_write.cpp b/vendor/logging/liblog/logger_write.cpp
|
||||
index a0153f8..8863f29 100644
|
||||
--- a/vendor/logging/liblog/logger_write.cpp
|
||||
+++ b/vendor/logging/liblog/logger_write.cpp
|
||||
@@ -39,6 +39,8 @@
|
||||
#include "logger.h"
|
||||
#include "uio.h"
|
||||
|
||||
+#undef __ANDROID__
|
||||
+
|
||||
#ifdef __ANDROID__
|
||||
#include "logd_writer.h"
|
||||
#include "pmsg_writer.h"
|
||||
@@ -1,27 +0,0 @@
|
||||
TERMUX_PKG_HOMEPAGE=http://rephial.org/
|
||||
TERMUX_PKG_DESCRIPTION="Dungeon exploration adventure game"
|
||||
TERMUX_PKG_LICENSE="GPL-2.0"
|
||||
TERMUX_PKG_MAINTAINER="@termux"
|
||||
TERMUX_PKG_VERSION=4.2.3
|
||||
TERMUX_PKG_REVISION=2
|
||||
TERMUX_PKG_SHA256=f001299283fb8a81865e07983d54cf04cd0f9addfeb7daeef75ed60f6ca417ff
|
||||
TERMUX_PKG_SRCURL=https://github.com/angband/angband/archive/refs/tags/${TERMUX_PKG_VERSION}.tar.gz
|
||||
TERMUX_PKG_DEPENDS="ncurses"
|
||||
TERMUX_PKG_BUILD_IN_SRC=true
|
||||
TERMUX_PKG_EXTRA_CONFIGURE_ARGS="
|
||||
--disable-x11
|
||||
--bindir=$TERMUX_PREFIX/bin
|
||||
--sysconfdir=$TERMUX_PREFIX/share/angband
|
||||
"
|
||||
TERMUX_PKG_RM_AFTER_INSTALL="
|
||||
share/angband/fonts
|
||||
share/angband/icons
|
||||
share/angband/sounds
|
||||
share/angband/xtra
|
||||
"
|
||||
TERMUX_PKG_GROUPS="games"
|
||||
|
||||
termux_step_pre_configure () {
|
||||
./autogen.sh
|
||||
perl -p -i -e 's|ncursesw5-config|ncursesw6-config|g' configure
|
||||
}
|
||||
@@ -1,23 +0,0 @@
|
||||
--- ./src/main.c.orig 2021-08-01 00:28:01.000000000 +0200
|
||||
+++ ./src/main.c 2021-09-10 09:34:27.031713786 +0200
|
||||
@@ -36,7 +36,7 @@
|
||||
*/
|
||||
#include "locale.h"
|
||||
|
||||
-#if !defined(WINDOWS)
|
||||
+#if !defined(WINDOWS) && !defined(__ANDROID__)
|
||||
#include "langinfo.h"
|
||||
#endif
|
||||
|
||||
@@ -497,9 +497,11 @@
|
||||
ANGBAND_SYS = mstr;
|
||||
#if !defined(WINDOWS)
|
||||
if (setlocale(LC_CTYPE, "")) {
|
||||
+#ifndef __ANDROID__
|
||||
/* Require UTF-8 */
|
||||
if (!streq(nl_langinfo(CODESET), "UTF-8"))
|
||||
quit("Angband requires UTF-8 support");
|
||||
+#endif
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -2,8 +2,7 @@ TERMUX_PKG_HOMEPAGE=https://github.com/rcoh/angle-grinder
|
||||
TERMUX_PKG_DESCRIPTION="Slice and dice logs on the command line"
|
||||
TERMUX_PKG_LICENSE="MIT"
|
||||
TERMUX_PKG_MAINTAINER="@termux"
|
||||
TERMUX_PKG_VERSION=0.18.0
|
||||
TERMUX_PKG_VERSION=0.17.0
|
||||
TERMUX_PKG_SRCURL="https://github.com/rcoh/angle-grinder/archive/v$TERMUX_PKG_VERSION.tar.gz"
|
||||
TERMUX_PKG_SHA256=7a282d9eff88bb2e224b02d80b887de92286e451abf8a193248d30136d08f4e0
|
||||
TERMUX_PKG_AUTO_UPDATE=true
|
||||
TERMUX_PKG_SHA256=5a2054ba9eb5fcee1fef2d5fbbf1735e71bc563fc7b273890097f63297e64bf4
|
||||
TERMUX_PKG_BUILD_IN_SRC=true
|
||||
|
||||
@@ -1,10 +1,11 @@
|
||||
TERMUX_PKG_HOMEPAGE=http://ant.apache.org/
|
||||
TERMUX_PKG_DESCRIPTION="Java based build tool like make"
|
||||
TERMUX_PKG_VERSION=1.10.11
|
||||
TERMUX_PKG_REVISION=2
|
||||
TERMUX_PKG_SRCURL=http://apache.mirrors.spacedump.net//ant/binaries/apache-ant-${TERMUX_PKG_VERSION}-bin.tar.bz2
|
||||
TERMUX_PKG_SHA256=ffc6c9eb2d153db76e18df70fa145744ddd0d754339df5a797a47603cfeaa8a6
|
||||
TERMUX_PKG_LICENSE="Apache-2.0"
|
||||
TERMUX_PKG_MAINTAINER="@termux"
|
||||
TERMUX_PKG_VERSION=1.10.12
|
||||
TERMUX_PKG_SRCURL=http://apache.mirrors.spacedump.net//ant/binaries/apache-ant-${TERMUX_PKG_VERSION}-bin.tar.bz2
|
||||
TERMUX_PKG_SHA256=276ea73f267a5b1a58f02e2eb5ef594a9b2885e33afb05ef995251d4d18377a6
|
||||
TERMUX_PKG_DEPENDS="openjdk-17"
|
||||
TERMUX_PKG_PLATFORM_INDEPENDENT=true
|
||||
TERMUX_PKG_BUILD_IN_SRC=true
|
||||
@@ -17,5 +18,5 @@ termux_step_make_install() {
|
||||
rm -rf $TERMUX_PREFIX/opt/ant
|
||||
mkdir -p $TERMUX_PREFIX/opt/ant
|
||||
cp -r ./* $TERMUX_PREFIX/opt/ant
|
||||
ln -sfr $TERMUX_PREFIX/opt/ant/bin/ant $TERMUX_PREFIX/bin/ant
|
||||
ln -sfr $TERMUX_PREFIX/opt/ant/bin/ant $PREFIX/bin/ant
|
||||
}
|
||||
|
||||
@@ -2,10 +2,9 @@ TERMUX_PKG_HOMEPAGE=https://httpd.apache.org
|
||||
TERMUX_PKG_DESCRIPTION="Apache Web Server"
|
||||
TERMUX_PKG_LICENSE="Apache-2.0"
|
||||
TERMUX_PKG_MAINTAINER="@termux"
|
||||
TERMUX_PKG_VERSION=1:2.4.51
|
||||
TERMUX_PKG_REVISION=2
|
||||
TERMUX_PKG_VERSION=1:2.4.50
|
||||
TERMUX_PKG_SRCURL=https://www.apache.org/dist/httpd/httpd-${TERMUX_PKG_VERSION:2}.tar.bz2
|
||||
TERMUX_PKG_SHA256=20e01d81fecf077690a4439e3969a9b22a09a8d43c525356e863407741b838f4
|
||||
TERMUX_PKG_SHA256=6a2817c070c606682eb53ed963511407d3c3d7a379cdf855971467b00fb3890f
|
||||
TERMUX_PKG_DEPENDS="apr, apr-util, pcre, openssl, libcrypt, libandroid-support, libnghttp2, libexpat, libuuid, zlib"
|
||||
TERMUX_PKG_BREAKS="apache2-dev"
|
||||
TERMUX_PKG_REPLACES="apache2-dev"
|
||||
@@ -73,12 +72,7 @@ TERMUX_PKG_BUILD_IN_SRC=true
|
||||
TERMUX_PKG_RM_AFTER_INSTALL="share/apache2/manual etc/apache2/original share/man/man8/suexec.8 libexec/httpd.exp"
|
||||
TERMUX_PKG_EXTRA_MAKE_ARGS="-s"
|
||||
TERMUX_PKG_SERVICE_SCRIPT=("httpd" 'exec httpd -DNO_DETACH 2>&1')
|
||||
TERMUX_PKG_HOSTBUILD=true
|
||||
|
||||
termux_step_host_build() {
|
||||
gcc -O2 -DCROSS_COMPILE $TERMUX_PKG_SRCDIR/server/gen_test_char.c \
|
||||
-o gen_test_char
|
||||
}
|
||||
|
||||
termux_step_pre_configure() {
|
||||
# Certain packages are not safe to build on device because their
|
||||
@@ -101,19 +95,11 @@ termux_step_pre_configure() {
|
||||
|
||||
# use custom layout
|
||||
cat $TERMUX_PKG_BUILDER_DIR/Termux.layout > $TERMUX_PKG_SRCDIR/config.layout
|
||||
|
||||
make -C $TERMUX_PKG_SRCDIR/libdummy
|
||||
ldflags_tmp="-L$TERMUX_PKG_SRCDIR/libdummy -Wl,--as-needed"
|
||||
for m in cache dav proxy session watchdog; do
|
||||
ldflags_tmp+=,-ldummy-mod_$m
|
||||
done
|
||||
libexecdir=$TERMUX_PREFIX/libexec/apache2
|
||||
LDFLAGS+=" $ldflags_tmp -Wl,-rpath=$libexecdir"
|
||||
}
|
||||
|
||||
termux_step_post_configure() {
|
||||
install -m700 $TERMUX_PKG_HOSTBUILD_DIR/gen_test_char \
|
||||
$TERMUX_PKG_BUILDDIR/server/gen_test_char
|
||||
# thanks to @JetBalsa
|
||||
gcc -O2 -DCROSS_COMPILE $TERMUX_PKG_SRCDIR/server/gen_test_char.c -o $TERMUX_PKG_BUILDDIR/server/gen_test_char
|
||||
touch -d "1 hour" $TERMUX_PKG_BUILDDIR/server/gen_test_char
|
||||
}
|
||||
|
||||
|
||||
@@ -1,113 +0,0 @@
|
||||
--- a/libdummy/Makefile
|
||||
+++ b/libdummy/Makefile
|
||||
@@ -0,0 +1,10 @@
|
||||
+
|
||||
+libdummy-%.so: dummy-%.c
|
||||
+ $(CC) $< -shared -nostdlib -Wl,-soname=$*.so -o $@
|
||||
+
|
||||
+all: $(patsubst %,libdummy-mod_%.so,cache dav proxy session watchdog)
|
||||
+
|
||||
+install:
|
||||
+
|
||||
+clean:
|
||||
+ $(RM) *.so
|
||||
--- a/libdummy/dummy-mod_cache.c
|
||||
+++ b/libdummy/dummy-mod_cache.c
|
||||
@@ -0,0 +1,3 @@
|
||||
+void ap_cache_cacheable_headers_in(void){}
|
||||
+void ap_cache_cacheable_headers_out(void){}
|
||||
+void ap_cache_generate_name(void){}
|
||||
--- a/libdummy/dummy-mod_dav.c
|
||||
+++ b/libdummy/dummy-mod_dav.c
|
||||
@@ -0,0 +1,18 @@
|
||||
+void dav_add_response(void){}
|
||||
+void dav_buffer_append(void){}
|
||||
+void dav_buffer_init(void){}
|
||||
+void dav_buffer_place(void){}
|
||||
+void dav_buffer_place_mem(void){}
|
||||
+void dav_check_bufsize(void){}
|
||||
+void dav_do_find_liveprop(void){}
|
||||
+void dav_get_liveprop_info(void){}
|
||||
+void dav_hook_find_liveprop(void){}
|
||||
+void dav_hook_gather_propsets(void){}
|
||||
+void dav_hook_insert_all_liveprops(void){}
|
||||
+void dav_lock_query(void){}
|
||||
+void dav_new_error(void){}
|
||||
+void dav_push_error(void){}
|
||||
+void dav_register_liveprop_group(void){}
|
||||
+void dav_register_provider(void){}
|
||||
+void dav_set_bufsize(void){}
|
||||
+void dav_xmlns_add(void){}
|
||||
--- a/libdummy/dummy-mod_proxy.c
|
||||
+++ b/libdummy/dummy-mod_proxy.c
|
||||
@@ -0,0 +1,58 @@
|
||||
+void ap_proxy_acquire_connection(void){}
|
||||
+void ap_proxy_backend_broke(void){}
|
||||
+void ap_proxy_buckets_lifetime_transform(void){}
|
||||
+void ap_proxy_canon_netloc(void){}
|
||||
+void ap_proxy_canonenc(void){}
|
||||
+void ap_proxy_check_connection(void){}
|
||||
+void ap_proxy_checkproxyblock2(void){}
|
||||
+void ap_proxy_conn_is_https(void){}
|
||||
+void ap_proxy_connect_backend(void){}
|
||||
+void ap_proxy_connect_to_backend(void){}
|
||||
+void ap_proxy_connect_uds(void){}
|
||||
+void ap_proxy_connection_create(void){}
|
||||
+void ap_proxy_connection_create_ex(void){}
|
||||
+void ap_proxy_connection_reusable(void){}
|
||||
+void ap_proxy_cookie_reverse_map(void){}
|
||||
+void ap_proxy_create_hdrbrgd(void){}
|
||||
+void ap_proxy_define_worker(void){}
|
||||
+void ap_proxy_determine_connection(void){}
|
||||
+void ap_proxy_find_balancershm(void){}
|
||||
+void ap_proxy_find_workershm(void){}
|
||||
+void ap_proxy_get_balancer(void){}
|
||||
+void ap_proxy_get_worker(void){}
|
||||
+void ap_proxy_hashfunc(void){}
|
||||
+void ap_proxy_hex2c(void){}
|
||||
+void ap_proxy_initialize_balancer(void){}
|
||||
+void ap_proxy_initialize_worker(void){}
|
||||
+void ap_proxy_location_reverse_map(void){}
|
||||
+void ap_proxy_parse_wstatus(void){}
|
||||
+void ap_proxy_pass_brigade(void){}
|
||||
+void ap_proxy_port_of_scheme(void){}
|
||||
+void ap_proxy_pre_http_request(void){}
|
||||
+void ap_proxy_prefetch_input(void){}
|
||||
+void ap_proxy_read_input(void){}
|
||||
+void ap_proxy_release_connection(void){}
|
||||
+void ap_proxy_set_wstatus(void){}
|
||||
+void ap_proxy_share_balancer(void){}
|
||||
+void ap_proxy_share_worker(void){}
|
||||
+void ap_proxy_should_override(void){}
|
||||
+void ap_proxy_show_hcmethod(void){}
|
||||
+void ap_proxy_spool_input(void){}
|
||||
+void ap_proxy_ssl_engine(void){}
|
||||
+void ap_proxy_ssl_val(void){}
|
||||
+void ap_proxy_strncpy(void){}
|
||||
+void ap_proxy_sync_balancer(void){}
|
||||
+void ap_proxy_transfer_between_connections(void){}
|
||||
+void ap_proxy_tunnel_create(void){}
|
||||
+void ap_proxy_tunnel_run(void){}
|
||||
+void ap_proxy_worker_can_upgrade(void){}
|
||||
+void ap_proxy_worker_name(void){}
|
||||
+void ap_proxyerror(void){}
|
||||
+void proxy_hcmethods(void){}
|
||||
+void proxy_hook_canon_handler(void){}
|
||||
+void proxy_hook_check_trans(void){}
|
||||
+void proxy_hook_post_request(void){}
|
||||
+void proxy_hook_pre_request(void){}
|
||||
+void proxy_hook_scheme_handler(void){}
|
||||
+void proxy_module(void){}
|
||||
+void proxy_run_create_req(void){}
|
||||
--- a/libdummy/dummy-mod_session.c
|
||||
+++ b/libdummy/dummy-mod_session.c
|
||||
@@ -0,0 +1,2 @@
|
||||
+void ap_hook_session_load(void){}
|
||||
+void ap_hook_session_save(void){}
|
||||
--- a/libdummy/dummy-mod_watchdog.c
|
||||
+++ b/libdummy/dummy-mod_watchdog.c
|
||||
@@ -0,0 +1,4 @@
|
||||
+void ap_hook_watchdog_exit(void){}
|
||||
+void ap_hook_watchdog_init(void){}
|
||||
+void ap_hook_watchdog_need(void){}
|
||||
+void ap_hook_watchdog_step(void){}
|
||||
@@ -1,23 +0,0 @@
|
||||
TERMUX_PKG_HOMEPAGE=https://github.com/EFForg/apkeep
|
||||
TERMUX_PKG_DESCRIPTION="A command-line tool for downloading APK files from various sources"
|
||||
TERMUX_PKG_LICENSE="MIT"
|
||||
TERMUX_PKG_MAINTAINER="@termux"
|
||||
TERMUX_PKG_VERSION=0.8.0
|
||||
TERMUX_PKG_SRCURL=https://github.com/EFForg/apkeep/archive/refs/tags/${TERMUX_PKG_VERSION}.tar.gz
|
||||
TERMUX_PKG_SHA256=2b3ca13fc23f5e08ef52de76d02b3f6e0a9d39a02496b5a895c618c99264ddbe
|
||||
TERMUX_PKG_DEPENDS="openssl"
|
||||
TERMUX_PKG_BUILD_IN_SRC=true
|
||||
|
||||
termux_step_pre_configure() {
|
||||
export OPENSSL_INCLUDE_DIR=$TERMUX_PREFIX/include/openssl
|
||||
export OPENSSL_LIB_DIR=$TERMUX_PREFIX/lib
|
||||
}
|
||||
|
||||
termux_step_make() {
|
||||
termux_setup_rust
|
||||
cargo build --jobs $TERMUX_MAKE_PROCESSES --target $CARGO_TARGET_NAME --release
|
||||
}
|
||||
|
||||
termux_step_make_install() {
|
||||
install -Dm755 -t $TERMUX_PREFIX/bin target/${CARGO_TARGET_NAME}/release/apkeep
|
||||
}
|
||||
@@ -1,30 +0,0 @@
|
||||
--- a/aapt-wrapper/aapt-wrapper.c
|
||||
+++ b/aapt-wrapper/aapt-wrapper.c
|
||||
@@ -0,0 +1,12 @@
|
||||
+
|
||||
+#include <stdio.h>
|
||||
+#include <unistd.h>
|
||||
+#include <errno.h>
|
||||
+
|
||||
+int
|
||||
+main(int argc, char **argv, char **envp)
|
||||
+{
|
||||
+ execve("@TERMUX_PREFIX@/bin/aapt", argv, envp);
|
||||
+ perror("aapt-wrapper: execve");
|
||||
+ return -1;
|
||||
+}
|
||||
--- a/aapt-wrapper/aapt2-wrapper.c
|
||||
+++ b/aapt-wrapper/aapt2-wrapper.c
|
||||
@@ -0,0 +1,12 @@
|
||||
+
|
||||
+#include <stdio.h>
|
||||
+#include <unistd.h>
|
||||
+#include <errno.h>
|
||||
+
|
||||
+int
|
||||
+main(int argc, char **argv, char **envp)
|
||||
+{
|
||||
+ execve("@TERMUX_PREFIX@/bin/aapt2", argv, envp);
|
||||
+ perror("aapt2-wrapper: execve");
|
||||
+ return -1;
|
||||
+}
|
||||
@@ -1,36 +0,0 @@
|
||||
TERMUX_PKG_HOMEPAGE=https://ibotpeaches.github.io/Apktool/
|
||||
TERMUX_PKG_DESCRIPTION="A tool for reverse engineering 3rd party, closed, binary Android apps"
|
||||
TERMUX_PKG_LICENSE="Apache-2.0"
|
||||
TERMUX_PKG_MAINTAINER="@termux"
|
||||
TERMUX_PKG_VERSION=2.6.0
|
||||
TERMUX_PKG_SRCURL=https://github.com/iBotPeaches/Apktool/archive/refs/tags/v${TERMUX_PKG_VERSION}.tar.gz
|
||||
TERMUX_PKG_SHA256=74739cdb1434ca35ec34e51ca7272ad3f378ae3ed0a2d5805d9a2fab5016037f
|
||||
TERMUX_PKG_DEPENDS="aapt, openjdk-17"
|
||||
TERMUX_PKG_BUILD_IN_SRC=true
|
||||
|
||||
termux_step_pre_configure() {
|
||||
local prebuilt_dir="brut.apktool/apktool-lib/src/main/resources/prebuilt"
|
||||
rm -rf $prebuilt_dir/{linux,macosx,windows}
|
||||
mkdir -p $prebuilt_dir/linux
|
||||
for exe_name in aapt aapt2; do
|
||||
local exe_path=$prebuilt_dir/linux/${exe_name}
|
||||
$CC $CFLAGS $CPPFLAGS aapt-wrapper/${exe_name}-wrapper.c \
|
||||
-o ${exe_path} $LDFLAGS
|
||||
$STRIP --strip-unneeded ${exe_path}
|
||||
cp -a ${exe_path} ${exe_path}_64
|
||||
done
|
||||
}
|
||||
|
||||
termux_step_make() {
|
||||
sh gradlew build shadowJar -x test
|
||||
}
|
||||
|
||||
termux_step_make_install() {
|
||||
install -Dm600 brut.apktool/apktool-cli/build/libs/apktool-cli-all.jar \
|
||||
$TERMUX_PREFIX/share/java/apktool.jar
|
||||
cat <<- EOF > $TERMUX_PREFIX/bin/apktool
|
||||
#!${TERMUX_PREFIX}/bin/sh
|
||||
exec java -jar $TERMUX_PREFIX/share/java/apktool.jar "\$@"
|
||||
EOF
|
||||
chmod 700 $TERMUX_PREFIX/bin/apktool
|
||||
}
|
||||
@@ -4,7 +4,7 @@ TERMUX_PKG_LICENSE="Apache-2.0"
|
||||
TERMUX_PKG_MAINTAINER="@termux"
|
||||
TERMUX_PKG_VERSION=1.6.1
|
||||
TERMUX_PKG_REVISION=5
|
||||
TERMUX_PKG_SRCURL=https://downloads.apache.org/apr/apr-util-${TERMUX_PKG_VERSION}.tar.gz
|
||||
TERMUX_PKG_SRCURL=https://ftp.acc.umu.se/mirror/apache.org/apr/apr-util-${TERMUX_PKG_VERSION}.tar.gz
|
||||
TERMUX_PKG_SHA256=b65e40713da57d004123b6319828be7f1273fbc6490e145874ee1177e112c459
|
||||
TERMUX_PKG_DEPENDS="apr, libcrypt, libexpat, libiconv, libuuid"
|
||||
TERMUX_PKG_BREAKS="apr-util-dev"
|
||||
|
||||
@@ -3,9 +3,9 @@ TERMUX_PKG_DESCRIPTION="Apache Portable Runtime Library"
|
||||
TERMUX_PKG_LICENSE="Apache-2.0"
|
||||
TERMUX_PKG_MAINTAINER="@termux"
|
||||
TERMUX_PKG_VERSION=1.7.0
|
||||
TERMUX_PKG_REVISION=5
|
||||
TERMUX_PKG_SRCURL=https://dlcdn.apache.org/apr/apr-${TERMUX_PKG_VERSION}.tar.bz2
|
||||
TERMUX_PKG_SHA256=e2e148f0b2e99b8e5c6caa09f6d4fb4dd3e83f744aa72a952f94f5a14436f7ea
|
||||
TERMUX_PKG_REVISION=4
|
||||
TERMUX_PKG_SRCURL=https://ftp.acc.umu.se/mirror/apache.org/apr/apr-${TERMUX_PKG_VERSION}.tar.gz
|
||||
TERMUX_PKG_SHA256=48e9dbf45ae3fdc7b491259ffb6ccf7d63049ffacbc1c0977cced095e4c2d5a2
|
||||
TERMUX_PKG_DEPENDS="libuuid"
|
||||
TERMUX_PKG_BREAKS="apr-dev"
|
||||
TERMUX_PKG_REPLACES="apr-dev"
|
||||
@@ -22,3 +22,7 @@ apr_cv_tcp_nodelay_with_cork=yes
|
||||
ac_cv_sizeof_struct_iovec=$(( TERMUX_ARCH_BITS==32 ? 8 : 16 ))
|
||||
ac_cv_search_crypt="
|
||||
TERMUX_PKG_RM_AFTER_INSTALL="lib/apr.exp"
|
||||
|
||||
termux_step_post_make_install() {
|
||||
sed -i "s%NM=\".*%NM=\"${TERMUX_HOST_PLATFORM}-nm -B\"%g" $TERMUX_PREFIX/share/apr-1/build/libtool
|
||||
}
|
||||
|
||||
@@ -1,45 +0,0 @@
|
||||
https://github.com/Debian/apt/pull/136
|
||||
diff --git a/apt-pkg/cachefilter-patterns.cc b/apt-pkg/cachefilter-patterns.cc
|
||||
index 12d8ae748..7a3255f41 100644
|
||||
--- a/apt-pkg/cachefilter-patterns.cc
|
||||
+++ b/apt-pkg/cachefilter-patterns.cc
|
||||
@@ -30,7 +30,7 @@ static const constexpr struct
|
||||
{"c"_sv, "?config-files"_sv, false},
|
||||
// FIXME: The words after ~D should be case-insensitive
|
||||
{"DDepends:"_sv, "?depends"_sv, true},
|
||||
- {"DPre-Depends:"_sv, "?pre-depends"_sv, true},
|
||||
+ {"DPreDepends:"_sv, "?predepends"_sv, true},
|
||||
{"DSuggests:"_sv, "?suggests"_sv, true},
|
||||
{"DRecommends:"_sv, "?recommends"_sv, true},
|
||||
{"DConflicts:"_sv, "?conflicts"_sv, true},
|
||||
@@ -40,7 +40,7 @@ static const constexpr struct
|
||||
{"DEnhances:"_sv, "?enhances"_sv, true},
|
||||
{"D"_sv, "?depends"_sv, true},
|
||||
{"RDepends:"_sv, "?reverse-depends"_sv, true},
|
||||
- {"RPre-Depends:"_sv, "?reverse-pre-depends"_sv, true},
|
||||
+ {"RPreDepends:"_sv, "?reverse-predepends"_sv, true},
|
||||
{"RSuggests:"_sv, "?reverse-suggests"_sv, true},
|
||||
{"RRecommends:"_sv, "?reverse-recommends"_sv, true},
|
||||
{"RConflicts:"_sv, "?reverse-conflicts"_sv, true},
|
||||
diff --git a/doc/apt-patterns.7.xml b/doc/apt-patterns.7.xml
|
||||
index 6b1c0f20b..bbcf01138 100644
|
||||
--- a/doc/apt-patterns.7.xml
|
||||
+++ b/doc/apt-patterns.7.xml
|
||||
@@ -161,14 +161,15 @@
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term><code>?depends(PATTERN)</code></term><term><code>~DPATTERN</code></term>
|
||||
- <term><code>?pre-depends(PATTERN)</code></term><term><code>~DPre-Depends:PATTERN</code></term>
|
||||
+ <term><code>?predepends(PATTERN)</code></term><term><code>~DPreDepends:PATTERN</code></term>
|
||||
<term><code>?suggests(PATTERN)</code></term><term><code>~DSuggests:PATTERN</code></term>
|
||||
+ <term><code>?recommends(PATTERN)</code></term><term><code>~DRecommends:PATTERN</code></term>
|
||||
<term><code>?conflicts(PATTERN)</code></term><term><code>~DConflicts:PATTERN</code></term>
|
||||
<term><code>?replaces(PATTERN)</code></term><term><code>~DReplaces:PATTERN</code></term>
|
||||
<term><code>?obsoletes(PATTERN)</code></term><term><code>~DObsoletes:PATTERN</code></term>
|
||||
<term><code>?breaks(PATTERN)</code></term><term><code>~DBreaks:PATTERN</code></term>
|
||||
<term><code>?enhances(PATTERN)</code></term><term><code>~DEnhances:PATTERN</code></term>
|
||||
- <listitem><para>Selects versions depending/pre-depending/suggesting/conflicting/etc on/with/ packages matching PATTERN.</para></listitem>
|
||||
+ <listitem><para>Selects versions depending/pre-depending/suggesting/recommending/conflicting/etc on/with/ packages matching PATTERN.</para></listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><code>?reverse-<replaceable>depType</replaceable>(PATTERN)</code></term>
|
||||
@@ -2,17 +2,16 @@ TERMUX_PKG_HOMEPAGE=https://packages.debian.org/apt
|
||||
TERMUX_PKG_DESCRIPTION="Front-end for the dpkg package manager"
|
||||
TERMUX_PKG_LICENSE="GPL-2.0"
|
||||
TERMUX_PKG_MAINTAINER="@termux"
|
||||
TERMUX_PKG_VERSION=2.3.13
|
||||
TERMUX_PKG_REVISION=2
|
||||
TERMUX_PKG_VERSION=2.3.9
|
||||
TERMUX_PKG_SRCURL=https://deb.debian.org/debian/pool/main/a/apt/apt_${TERMUX_PKG_VERSION}.tar.xz
|
||||
TERMUX_PKG_SHA256=e519e55f1015d656425e68f8c7c7bebd1908df3ac87836eb6e7b6b58ce3f965d
|
||||
TERMUX_PKG_SHA256=28597fe803a652f55f618dd7a44bd2fb2712dbd91c258dfa5981cb75356291e3
|
||||
# apt-key requires utilities from coreutils, findutils, gpgv, grep, sed.
|
||||
TERMUX_PKG_DEPENDS="coreutils, dpkg, findutils, gpgv, grep, libandroid-glob, libbz2, libc++, libcurl, libgnutls, liblz4, liblzma, sed, termux-licenses, xxhash, zlib"
|
||||
TERMUX_PKG_BUILD_DEPENDS="docbook-xsl"
|
||||
TERMUX_PKG_CONFLICTS="apt-transport-https, libapt-pkg"
|
||||
TERMUX_PKG_REPLACES="apt-transport-https, libapt-pkg, unstable-repo, game-repo, science-repo"
|
||||
TERMUX_PKG_PROVIDES="unstable-repo, game-repo, science-repo"
|
||||
TERMUX_PKG_SUGGESTS="gnupg, x11-repo"
|
||||
TERMUX_PKG_REPLACES="apt-transport-https, libapt-pkg"
|
||||
TERMUX_PKG_RECOMMENDS="game-repo, science-repo"
|
||||
TERMUX_PKG_SUGGESTS="gnupg, unstable-repo, x11-repo"
|
||||
TERMUX_PKG_ESSENTIAL=true
|
||||
|
||||
TERMUX_PKG_CONFFILES="
|
||||
|
||||
@@ -3,7 +3,7 @@ TERMUX_PKG_DESCRIPTION="A password-hashing function (reference C implementation)
|
||||
TERMUX_PKG_LICENSE="Apache-2.0"
|
||||
TERMUX_PKG_MAINTAINER="@termux"
|
||||
TERMUX_PKG_VERSION=20190702
|
||||
TERMUX_PKG_SRCURL=https://github.com/P-H-C/phc-winner-argon2/archive/refs/tags/${TERMUX_PKG_VERSION}.tar.gz
|
||||
TERMUX_PKG_SRCURL=https://github.com/P-H-C/phc-winner-argon2/archive/${TERMUX_PKG_VERSION}/argon2-${TERMUX_PKG_VERSION}.tar.gz
|
||||
TERMUX_PKG_SHA256=daf972a89577f8772602bf2eb38b6a3dd3d922bf5724d45e7f9589b5e830442c
|
||||
TERMUX_PKG_EXTRA_MAKE_ARGS="LIBRARY_REL=lib"
|
||||
TERMUX_PKG_BUILD_IN_SRC=true
|
||||
|
||||
@@ -3,7 +3,7 @@ TERMUX_PKG_DESCRIPTION="Download utility supporting HTTP/HTTPS, FTP, BitTorrent
|
||||
TERMUX_PKG_LICENSE="GPL-2.0"
|
||||
TERMUX_PKG_MAINTAINER="@termux"
|
||||
TERMUX_PKG_VERSION=1.36.0
|
||||
TERMUX_PKG_REVISION=2
|
||||
TERMUX_PKG_REVISION=1
|
||||
TERMUX_PKG_SRCURL=https://github.com/aria2/aria2/releases/download/release-${TERMUX_PKG_VERSION}/aria2-${TERMUX_PKG_VERSION}.tar.xz
|
||||
TERMUX_PKG_SHA256=58d1e7608c12404f0229a3d9a4953d0d00c18040504498b483305bcb3de907a5
|
||||
TERMUX_PKG_AUTO_UPDATE=true
|
||||
|
||||
@@ -3,7 +3,6 @@ TERMUX_PKG_DESCRIPTION="Text document format for short documents, articles, book
|
||||
TERMUX_PKG_LICENSE="GPL-2.0"
|
||||
TERMUX_PKG_MAINTAINER="@termux"
|
||||
TERMUX_PKG_VERSION=9.1.1
|
||||
TERMUX_PKG_REVISION=2
|
||||
TERMUX_PKG_SRCURL=https://github.com/asciidoc/asciidoc-py3/archive/${TERMUX_PKG_VERSION}.tar.gz
|
||||
TERMUX_PKG_SHA256=914dfc1542c30bd47faa0aaaae0985cb57d0ca584015729ccd1b94d90da3a616
|
||||
TERMUX_PKG_AUTO_UPDATE=true
|
||||
|
||||
@@ -5,7 +5,7 @@ diff -u -r ../asciinema-2.0.2/asciinema/__main__.py ./asciinema/__main__.py
|
||||
|
||||
|
||||
def main():
|
||||
- if locale.nl_langinfo(locale.CODESET).upper() not in ['US-ASCII', 'UTF-8', 'UTF8']:
|
||||
- if locale.nl_langinfo(locale.CODESET).upper() not in ['US-ASCII', 'UTF-8']:
|
||||
- print("asciinema needs an ASCII or UTF-8 character encoding to run. Check the output of `locale` command.")
|
||||
- sys.exit(1)
|
||||
-
|
||||
|
||||
@@ -2,9 +2,10 @@ TERMUX_PKG_HOMEPAGE=https://asciinema.org/
|
||||
TERMUX_PKG_DESCRIPTION="Record and share your terminal sessions, the right way"
|
||||
TERMUX_PKG_LICENSE="GPL-3.0"
|
||||
TERMUX_PKG_MAINTAINER="@termux"
|
||||
TERMUX_PKG_VERSION=2.1.0
|
||||
TERMUX_PKG_VERSION=2.0.2
|
||||
TERMUX_PKG_REVISION=5
|
||||
TERMUX_PKG_SRCURL=https://github.com/asciinema/asciinema/archive/v${TERMUX_PKG_VERSION}.tar.gz
|
||||
TERMUX_PKG_SHA256=f4f4a04ab891dd513c99f72527c83fa9e634e858f2744a17e80258b90a6bf409
|
||||
TERMUX_PKG_SHA256=2578a1b5611e5375771ef6582a6533ef8d40cdbed1ba1c87786fd23af625ab68
|
||||
TERMUX_PKG_AUTO_UPDATE=true
|
||||
# ncurses-utils for tput which asciinema uses:
|
||||
TERMUX_PKG_DEPENDS="python, ncurses-utils"
|
||||
@@ -12,7 +13,7 @@ TERMUX_PKG_BUILD_IN_SRC=true
|
||||
TERMUX_PKG_PLATFORM_INDEPENDENT=true
|
||||
TERMUX_PKG_HAS_DEBUG=false
|
||||
|
||||
_PYTHON_VERSION=3.10
|
||||
_PYTHON_VERSION=3.9
|
||||
|
||||
TERMUX_PKG_RM_AFTER_INSTALL="
|
||||
lib/python${_PYTHON_VERSION}/site-packages/easy-install.pth
|
||||
|
||||
@@ -3,8 +3,5 @@ TERMUX_PKG_DESCRIPTION="A free and open source spell checker designed to replace
|
||||
TERMUX_PKG_LICENSE="LGPL-2.1"
|
||||
TERMUX_PKG_MAINTAINER="@termux"
|
||||
TERMUX_PKG_VERSION=0.60.8
|
||||
TERMUX_PKG_REVISION=1
|
||||
TERMUX_PKG_SRCURL=https://ftp.gnu.org/gnu/aspell/aspell-${TERMUX_PKG_VERSION}.tar.gz
|
||||
TERMUX_PKG_SHA256=f9b77e515334a751b2e60daab5db23499e26c9209f5e7b7443b05235ad0226f2
|
||||
# To use the same compiled dictionaries on every platform:
|
||||
TERMUX_PKG_EXTRA_CONFIGURE_ARGS+=" --enable-32-bit-hash-fun"
|
||||
|
||||
@@ -2,9 +2,10 @@ TERMUX_PKG_HOMEPAGE=http://assimp.sourceforge.net/index.html
|
||||
TERMUX_PKG_DESCRIPTION="Library to import various well-known 3D model formats in an uniform manner"
|
||||
TERMUX_PKG_LICENSE="BSD"
|
||||
TERMUX_PKG_MAINTAINER="@termux"
|
||||
TERMUX_PKG_VERSION=5.1.4
|
||||
TERMUX_PKG_VERSION=5.0.1
|
||||
TERMUX_PKG_REVISION=5
|
||||
TERMUX_PKG_SRCURL=https://github.com/assimp/assimp/archive/v$TERMUX_PKG_VERSION.tar.gz
|
||||
TERMUX_PKG_SHA256=bd32cdc27e1f8b7ac09d914ab92dd81d799c97e9e47315c1f40dcb7c6f7938c6
|
||||
TERMUX_PKG_SHA256=11310ec1f2ad2cd46b95ba88faca8f7aaa1efe9aa12605c55e3de2b977b3dbfc
|
||||
TERMUX_PKG_AUTO_UPDATE=true
|
||||
TERMUX_PKG_DEPENDS="boost, zlib"
|
||||
TERMUX_PKG_BREAKS="assimp-dev"
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
diff -uNr assimp-4.1.0/test/CMakeLists.txt assimp-4.1.0.mod/test/CMakeLists.txt
|
||||
--- assimp-4.1.0/test/CMakeLists.txt 2017-12-11 15:22:45.000000000 +0200
|
||||
+++ assimp-4.1.0.mod/test/CMakeLists.txt 2019-07-01 22:47:01.990765003 +0300
|
||||
@@ -174,7 +174,7 @@
|
||||
IF( WIN32 )
|
||||
SET( platform_libs )
|
||||
ELSE( WIN32 )
|
||||
- SET( platform_libs pthread )
|
||||
+ SET( platform_libs )
|
||||
ENDIF( WIN32 )
|
||||
|
||||
IF( WIN32 )
|
||||
@@ -3,7 +3,6 @@ TERMUX_PKG_DESCRIPTION="Read, parse and set metadata of MPEG-4 and 3gp files"
|
||||
TERMUX_PKG_LICENSE="GPL-2.0"
|
||||
TERMUX_PKG_MAINTAINER="@termux"
|
||||
TERMUX_PKG_VERSION=1:20210715.151551.e7ad03a
|
||||
TERMUX_PKG_REVISION=1
|
||||
TERMUX_PKG_SRCURL=https://github.com/wez/atomicparsley/archive/${TERMUX_PKG_VERSION:2}.tar.gz
|
||||
TERMUX_PKG_SHA256=546dcb5f3b625aff4f6bf22d27a0a636d15854fd729402a6933d31f3d0417e0d
|
||||
TERMUX_PKG_AUTO_UPDATE=true
|
||||
|
||||
@@ -1,43 +0,0 @@
|
||||
diff -uNr atomvm/src/CMakeLists.txt atomvm.mod/src/CMakeLists.txt
|
||||
--- atomvm/src/CMakeLists.txt 2019-06-13 13:50:54.000000000 +0300
|
||||
+++ atomvm.mod/src/CMakeLists.txt 2019-07-02 20:56:59.790369109 +0300
|
||||
@@ -10,13 +10,14 @@
|
||||
|
||||
if((${CMAKE_SYSTEM_NAME} STREQUAL "Darwin") OR
|
||||
(${CMAKE_SYSTEM_NAME} STREQUAL "Linux") OR
|
||||
+ (${CMAKE_SYSTEM_NAME} STREQUAL "Android") OR
|
||||
(${CMAKE_SYSTEM_NAME} STREQUAL "FreeBSD"))
|
||||
add_subdirectory(platforms/generic_unix)
|
||||
else()
|
||||
message(FATAL_ERROR "Unsupported platform: ${CMAKE_SYSTEM_NAME}")
|
||||
endif()
|
||||
|
||||
-if(${CMAKE_SYSTEM_NAME} STREQUAL "Linux")
|
||||
+if((${CMAKE_SYSTEM_NAME} STREQUAL "Linux") OR (${CMAKE_SYSTEM_NAME} STREQUAL "Android"))
|
||||
include(CheckFunctionExists)
|
||||
include(CheckLibraryExists)
|
||||
check_library_exists(rt clock_gettime "time.h" HAVE_CLOCK_GETTIME)
|
||||
diff -uNr atomvm/src/libAtomVM/CMakeLists.txt atomvm.mod/src/libAtomVM/CMakeLists.txt
|
||||
--- atomvm/src/libAtomVM/CMakeLists.txt 2019-06-13 13:50:54.000000000 +0300
|
||||
+++ atomvm.mod/src/libAtomVM/CMakeLists.txt 2019-07-02 20:57:46.597379691 +0300
|
||||
@@ -63,7 +63,7 @@
|
||||
term.c
|
||||
valueshashtable.c
|
||||
)
|
||||
-if (${CMAKE_SYSTEM_NAME} STREQUAL "Darwin" OR ${CMAKE_SYSTEM_NAME} STREQUAL "Linux" OR ${CMAKE_SYSTEM_NAME} STREQUAL "FreeBSD")
|
||||
+if (${CMAKE_SYSTEM_NAME} STREQUAL "Darwin" OR ${CMAKE_SYSTEM_NAME} STREQUAL "Linux" OR ${CMAKE_SYSTEM_NAME} STREQUAL "Android" OR ${CMAKE_SYSTEM_NAME} STREQUAL "FreeBSD")
|
||||
find_package(ZLIB)
|
||||
if (ZLIB_FOUND)
|
||||
add_definitions(-DWITH_ZLIB)
|
||||
diff -uNr atomvm/tests/CMakeLists.txt atomvm.mod/tests/CMakeLists.txt
|
||||
--- atomvm/tests/CMakeLists.txt 2019-06-13 13:50:54.000000000 +0300
|
||||
+++ atomvm.mod/tests/CMakeLists.txt 2019-07-02 20:55:37.143095702 +0300
|
||||
@@ -13,7 +13,7 @@
|
||||
|
||||
include_directories(${CMAKE_CURRENT_BINARY_DIR} ../src/libAtomVM/)
|
||||
|
||||
-if(${CMAKE_SYSTEM_NAME} STREQUAL "Linux")
|
||||
+if((${CMAKE_SYSTEM_NAME} STREQUAL "Linux") OR (${CMAKE_SYSTEM_NAME} STREQUAL "Android"))
|
||||
include(CheckFunctionExists)
|
||||
include(CheckLibraryExists)
|
||||
check_library_exists(rt clock_gettime "time.h" HAVE_CLOCK_GETTIME)
|
||||
@@ -1,29 +0,0 @@
|
||||
TERMUX_PKG_HOMEPAGE=https://github.com/bettio/AtomVM
|
||||
TERMUX_PKG_DESCRIPTION="The minimal Erlang VM implementation"
|
||||
TERMUX_PKG_LICENSE="LGPL-2.1"
|
||||
TERMUX_PKG_MAINTAINER="Leonid Pliushch <leonid.pliushch@gmail.com>"
|
||||
_COMMIT=82624fbf68ad8a0c8815456adbd33de98e4901ea
|
||||
TERMUX_PKG_VERSION=0.git${_COMMIT:0:8}
|
||||
TERMUX_PKG_REVISION=7
|
||||
TERMUX_PKG_SRCURL=https://github.com/bettio/AtomVM/archive/${_COMMIT}.tar.gz
|
||||
TERMUX_PKG_SHA256=b141812be3fe157766464b8fcedc13f40b36bc9346b3e039ac736c5d30359729
|
||||
TERMUX_PKG_DEPENDS="zlib"
|
||||
TERMUX_PKG_HOSTBUILD=true
|
||||
|
||||
termux_step_host_build() {
|
||||
termux_setup_cmake
|
||||
cmake "$TERMUX_PKG_SRCDIR"
|
||||
make -j $TERMUX_MAKE_PROCESSES
|
||||
}
|
||||
|
||||
termux_step_post_configure() {
|
||||
# We need the "PackBEAM" compiled for host.
|
||||
export PATH=$PATH:$TERMUX_PKG_HOSTBUILD_DIR/tools/packbeam
|
||||
}
|
||||
|
||||
termux_step_make_install() {
|
||||
install -Dm700 "$TERMUX_PKG_BUILDDIR"/src/AtomVM \
|
||||
"$TERMUX_PREFIX"/bin/AtomVM
|
||||
install -Dm700 "$TERMUX_PKG_BUILDDIR"/tools/packbeam/PackBEAM \
|
||||
"$TERMUX_PREFIX"/bin/PackBEAM
|
||||
}
|
||||
@@ -1,51 +0,0 @@
|
||||
diff -uNr atomvm/CMakeModules/BuildElixir.cmake atomvm.mod/CMakeModules/BuildElixir.cmake
|
||||
--- atomvm/CMakeModules/BuildElixir.cmake 2019-06-13 13:50:54.000000000 +0300
|
||||
+++ atomvm.mod/CMakeModules/BuildElixir.cmake 2019-07-02 18:26:59.146026706 +0300
|
||||
@@ -24,7 +24,7 @@
|
||||
add_custom_target(
|
||||
${avm_name} ALL
|
||||
DEPENDS ${avm_name}_beams PackBEAM
|
||||
- COMMAND ${CMAKE_BINARY_DIR}/tools/packbeam/PackBEAM -a ${avm_name}.avm ${BEAMS}
|
||||
+ COMMAND PackBEAM -a ${avm_name}.avm ${BEAMS}
|
||||
COMMENT "Packing archive ${avm_name}.avm"
|
||||
VERBATIM
|
||||
)
|
||||
@@ -55,7 +55,7 @@
|
||||
|
||||
add_custom_target(
|
||||
${avm_name} ALL
|
||||
- COMMAND ${CMAKE_BINARY_DIR}/tools/packbeam/PackBEAM ${avm_name}.avm Elixir.${main}.beam ${ARCHIVES}
|
||||
+ COMMAND PackBEAM ${avm_name}.avm Elixir.${main}.beam ${ARCHIVES}
|
||||
COMMENT "Packing runnable ${avm_name}.avm"
|
||||
VERBATIM
|
||||
)
|
||||
diff -uNr atomvm/CMakeModules/BuildErlang.cmake atomvm.mod/CMakeModules/BuildErlang.cmake
|
||||
--- atomvm/CMakeModules/BuildErlang.cmake 2019-06-13 13:50:54.000000000 +0300
|
||||
+++ atomvm.mod/CMakeModules/BuildErlang.cmake 2019-07-02 18:26:27.599082112 +0300
|
||||
@@ -25,7 +25,7 @@
|
||||
${avm_name} ALL
|
||||
DEPENDS ${avm_name}_beams PackBEAM
|
||||
#DEPENDS ${BEAMS}
|
||||
- COMMAND ${CMAKE_BINARY_DIR}/tools/packbeam/PackBEAM -a ${avm_name}.avm ${BEAMS}
|
||||
+ COMMAND PackBEAM -a ${avm_name}.avm ${BEAMS}
|
||||
COMMENT "Packing archive ${avm_name}.avm"
|
||||
VERBATIM
|
||||
)
|
||||
@@ -56,7 +56,7 @@
|
||||
|
||||
add_custom_target(
|
||||
${avm_name} ALL
|
||||
- COMMAND ${CMAKE_BINARY_DIR}/tools/packbeam/PackBEAM ${avm_name}.avm ${main}.beam ${ARCHIVES}
|
||||
+ COMMAND PackBEAM ${avm_name}.avm ${main}.beam ${ARCHIVES}
|
||||
COMMENT "Packing runnable ${avm_name}.avm"
|
||||
VERBATIM
|
||||
)
|
||||
@@ -77,7 +77,7 @@
|
||||
add_custom_target(
|
||||
${test_avm_name} ALL
|
||||
COMMAND erlc -I ${CMAKE_SOURCE_DIR}/libs/include ${CMAKE_CURRENT_SOURCE_DIR}/tests.erl
|
||||
- COMMAND ${CMAKE_BINARY_DIR}/tools/packbeam/PackBEAM ${CMAKE_CURRENT_BINARY_DIR}/${test_avm_name}.avm ${CMAKE_CURRENT_BINARY_DIR}/tests.beam ${ARCHIVES}
|
||||
+ COMMAND PackBEAM ${CMAKE_CURRENT_BINARY_DIR}/${test_avm_name}.avm ${CMAKE_CURRENT_BINARY_DIR}/tests.beam ${ARCHIVES}
|
||||
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/tests.erl
|
||||
COMMENT "Packing runnable ${test_avm_name}.avm"
|
||||
VERBATIM
|
||||
@@ -1,55 +0,0 @@
|
||||
--- a/avahi-autoipd/main.c
|
||||
+++ b/avahi-autoipd/main.c
|
||||
@@ -934,6 +934,7 @@
|
||||
|
||||
/* Get user/group ID */
|
||||
|
||||
+#ifndef __ANDROID__
|
||||
if (!no_drop_root) {
|
||||
|
||||
if (!(pw = getpwnam(AVAHI_AUTOIPD_USER))) {
|
||||
@@ -948,6 +949,7 @@
|
||||
|
||||
daemon_log(LOG_INFO, "Found user '"AVAHI_AUTOIPD_USER"' (UID %lu) and group '"AVAHI_AUTOIPD_GROUP"' (GID %lu).", (unsigned long) pw->pw_uid, (unsigned long) gr->gr_gid);
|
||||
}
|
||||
+#endif
|
||||
|
||||
/* Create directory */
|
||||
u = umask(0000);
|
||||
@@ -964,14 +966,20 @@
|
||||
if (!no_drop_root) {
|
||||
struct stat st;
|
||||
|
||||
+#ifndef __ANDROID__
|
||||
chown(AVAHI_IPDATA_DIR, pw->pw_uid, gr->gr_gid);
|
||||
+#endif
|
||||
|
||||
if (stat(AVAHI_IPDATA_DIR, &st) < 0) {
|
||||
daemon_log(LOG_ERR, "stat(): %s\n", strerror(errno));
|
||||
return -1;
|
||||
}
|
||||
|
||||
+#ifndef __ANDROID__
|
||||
if (!S_ISDIR(st.st_mode) || st.st_uid != pw->pw_uid || st.st_gid != gr->gr_gid) {
|
||||
+#else
|
||||
+ if (!S_ISDIR(st.st_mode)) {
|
||||
+#endif
|
||||
daemon_log(LOG_ERR, "Failed to create runtime directory "AVAHI_IPDATA_DIR".");
|
||||
return -1;
|
||||
}
|
||||
@@ -995,6 +1003,7 @@
|
||||
|
||||
#endif
|
||||
|
||||
+#ifndef __ANDROID__
|
||||
if (!no_drop_root) {
|
||||
|
||||
if (initgroups(AVAHI_AUTOIPD_USER, gr->gr_gid) != 0) {
|
||||
@@ -1040,6 +1049,7 @@
|
||||
|
||||
daemon_log(LOG_INFO, "Successfully dropped root privileges.");
|
||||
}
|
||||
+#endif /* __ANDROID__ */
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -1,105 +0,0 @@
|
||||
--- a/avahi-daemon/main.c
|
||||
+++ b/avahi-daemon/main.c
|
||||
@@ -135,7 +135,7 @@
|
||||
#endif
|
||||
} DaemonConfig;
|
||||
|
||||
-#define RESOLV_CONF "/etc/resolv.conf"
|
||||
+#define RESOLV_CONF "@TERMUX_PREFIX@/etc/resolv.conf"
|
||||
#define BROWSE_DOMAINS_MAX 16
|
||||
|
||||
static AvahiSEntryGroup *dns_servers_entry_group = NULL;
|
||||
@@ -587,9 +587,9 @@
|
||||
int fd;
|
||||
char buf[32];
|
||||
|
||||
- fd = open("/etc/machine-id", O_RDONLY|O_CLOEXEC|O_NOCTTY);
|
||||
+ fd = open("@TERMUX_PREFIX@/etc/machine-id", O_RDONLY|O_CLOEXEC|O_NOCTTY);
|
||||
if (fd == -1 && errno == ENOENT)
|
||||
- fd = open("/var/lib/dbus/machine-id", O_RDONLY|O_CLOEXEC|O_NOCTTY);
|
||||
+ fd = open("@TERMUX_PREFIX@/var/lib/dbus/machine-id", O_RDONLY|O_CLOEXEC|O_NOCTTY);
|
||||
if (fd == -1)
|
||||
return NULL;
|
||||
|
||||
@@ -1338,6 +1338,7 @@
|
||||
|
||||
#define set_env(key, value) putenv(avahi_strdup_printf("%s=%s", (key), (value)))
|
||||
|
||||
+#ifndef __ANDROID__
|
||||
static int drop_root(void) {
|
||||
struct passwd *pw;
|
||||
struct group * gr;
|
||||
@@ -1400,6 +1401,7 @@
|
||||
|
||||
return 0;
|
||||
}
|
||||
+#endif /* __ANDROID__ */
|
||||
|
||||
static const char* pid_file_proc(void) {
|
||||
return AVAHI_DAEMON_RUNTIME_DIR"/pid";
|
||||
@@ -1413,6 +1415,7 @@
|
||||
struct group * gr;
|
||||
struct stat st;
|
||||
|
||||
+#ifndef __ANDROID__
|
||||
if (!(pw = getpwnam(AVAHI_USER))) {
|
||||
avahi_log_error( "Failed to find user '"AVAHI_USER"'.");
|
||||
goto fail;
|
||||
@@ -1422,6 +1425,7 @@
|
||||
avahi_log_error( "Failed to find group '"AVAHI_GROUP"'.");
|
||||
goto fail;
|
||||
}
|
||||
+#endif
|
||||
|
||||
u = umask(0000);
|
||||
reset_umask = 1;
|
||||
@@ -1431,14 +1435,20 @@
|
||||
goto fail;
|
||||
}
|
||||
|
||||
+#ifndef __ANDROID__
|
||||
chown(AVAHI_DAEMON_RUNTIME_DIR, pw->pw_uid, gr->gr_gid);
|
||||
+#endif
|
||||
|
||||
if (stat(AVAHI_DAEMON_RUNTIME_DIR, &st) < 0) {
|
||||
avahi_log_error("stat(): %s\n", strerror(errno));
|
||||
goto fail;
|
||||
}
|
||||
|
||||
+#ifndef __ANDROID__
|
||||
if (!S_ISDIR(st.st_mode) || st.st_uid != pw->pw_uid || st.st_gid != gr->gr_gid) {
|
||||
+#else
|
||||
+ if (!S_ISDIR(st.st_mode)) {
|
||||
+#endif
|
||||
avahi_log_error("Failed to create runtime directory "AVAHI_DAEMON_RUNTIME_DIR".");
|
||||
goto fail;
|
||||
}
|
||||
@@ -1594,10 +1604,12 @@
|
||||
else if (config.command == DAEMON_RUN) {
|
||||
pid_t pid;
|
||||
|
||||
+#ifndef __ANDROID__
|
||||
if (getuid() != 0 && config.drop_root) {
|
||||
avahi_log_error("This program is intended to be run as root.");
|
||||
goto finish;
|
||||
}
|
||||
+#endif
|
||||
|
||||
if ((pid = daemon_pid_file_is_running()) >= 0) {
|
||||
avahi_log_error("Daemon already running on PID %u", pid);
|
||||
@@ -1641,6 +1653,7 @@
|
||||
if (make_runtime_dir() < 0)
|
||||
goto finish;
|
||||
|
||||
+#ifndef __ANDROID__
|
||||
if (config.drop_root) {
|
||||
#ifdef ENABLE_CHROOT
|
||||
if (config.use_chroot)
|
||||
@@ -1657,6 +1670,7 @@
|
||||
goto finish;
|
||||
#endif
|
||||
}
|
||||
+#endif /* __ANDROID__ */
|
||||
|
||||
if (daemon_pid_file_create() < 0) {
|
||||
avahi_log_error("Failed to create PID file: %s", strerror(errno));
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user