diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index bceff796b..3432302bd 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -21,7 +21,7 @@ jobs: build: permissions: contents: read # actions/upload-artifact doesn't need contents: write - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 strategy: matrix: target_arch: [aarch64, arm, i686, x86_64] @@ -33,7 +33,12 @@ jobs: fetch-depth: 1000 - name: Set up QEMU - uses: docker/setup-qemu-action@v3.0.0 + run: | + sudo apt update + yes | sudo apt install qemu-user qemu-user-static binfmt-support + sudo update-binfmts --enable qemu-aarch64 + sudo update-binfmts --enable qemu-arm + docker run --rm --privileged tonistiigi/binfmt --install all - name: Get files from termux-packages repository run: ./get-build-package.sh diff --git a/gpkg/asciidoc/build.sh b/gpkg/asciidoc/build.sh index 9da0e69d6..a3dbc5c7e 100644 --- a/gpkg/asciidoc/build.sh +++ b/gpkg/asciidoc/build.sh @@ -3,6 +3,7 @@ TERMUX_PKG_DESCRIPTION="Text document format for short documents, articles, book TERMUX_PKG_LICENSE="GPL-2.0" TERMUX_PKG_MAINTAINER="@termux-pacman" TERMUX_PKG_VERSION="10.2.1" +TERMUX_PKG_REVISION=1 TERMUX_PKG_SRCURL=https://github.com/asciidoc/asciidoc-py3/archive/${TERMUX_PKG_VERSION}.tar.gz TERMUX_PKG_SHA256=8e1fb9691952cc4f13357e1ef58172e566c5f88e3c44222d4a8693585f884507 TERMUX_PKG_DEPENDS="docbook-xsl-glibc, libxml2-utils-glibc, python-glibc, xsltproc-glibc" diff --git a/gpkg/cmake/build.sh b/gpkg/cmake/build.sh index 888b82294..ee66e9a79 100644 --- a/gpkg/cmake/build.sh +++ b/gpkg/cmake/build.sh @@ -2,9 +2,9 @@ TERMUX_PKG_HOMEPAGE=https://cmake.org/ TERMUX_PKG_DESCRIPTION="Family of tools designed to build, test and package software" TERMUX_PKG_LICENSE="BSD 3-Clause" TERMUX_PKG_MAINTAINER="@termux-pacman" -TERMUX_PKG_VERSION=3.30.3 +TERMUX_PKG_VERSION=3.30.4 TERMUX_PKG_SRCURL=https://www.cmake.org/files/v${TERMUX_PKG_VERSION:0:4}/cmake-${TERMUX_PKG_VERSION}.tar.gz -TERMUX_PKG_SHA256=6d5de15b6715091df7f5441007425264bdd477809f80333fdf95f846aaff88e4 +TERMUX_PKG_SHA256=c759c97274f1e7aaaafcb1f0d261f9de9bf3a5d6ecb7e2df616324a46fe704b2 TERMUX_PKG_DEPENDS="libcurl-glibc, libarchive-glibc, jsoncpp-glibc, libuv-glibc, rhash-glibc, cppdap-glibc, libexpat-glibc" TERMUX_PKG_RECOMMENDS="gcc-glibc, make-glibc" TERMUX_PKG_FORCE_CMAKE=true diff --git a/gpkg/fribidi/build.sh b/gpkg/fribidi/build.sh index dcc5759c2..c251a59a3 100644 --- a/gpkg/fribidi/build.sh +++ b/gpkg/fribidi/build.sh @@ -2,9 +2,9 @@ TERMUX_PKG_HOMEPAGE=https://github.com/fribidi/fribidi/ TERMUX_PKG_DESCRIPTION="Implementation of the Unicode Bidirectional Algorithm" TERMUX_PKG_LICENSE="LGPL-2.0" TERMUX_PKG_MAINTAINER="@termux-pacman" -TERMUX_PKG_VERSION="1.0.15" +TERMUX_PKG_VERSION="1.0.16" TERMUX_PKG_SRCURL=https://github.com/fribidi/fribidi/releases/download/v$TERMUX_PKG_VERSION/fribidi-$TERMUX_PKG_VERSION.tar.xz -TERMUX_PKG_SHA256=0bbc7ff633bfa208ae32d7e369cf5a7d20d5d2557a0b067c9aa98bcbf9967587 +TERMUX_PKG_SHA256=1b1cde5b235d40479e91be2f0e88a309e3214c8ab470ec8a2744d82a5a9ea05c TERMUX_PKG_DEPENDS="glibc" termux_step_configure() { diff --git a/gpkg/git/build.sh b/gpkg/git/build.sh index 0409fcecd..ff6a8395b 100644 --- a/gpkg/git/build.sh +++ b/gpkg/git/build.sh @@ -2,9 +2,9 @@ TERMUX_PKG_HOMEPAGE=https://git-scm.com/ TERMUX_PKG_DESCRIPTION="Fast, scalable, distributed revision control system" TERMUX_PKG_LICENSE="GPL-2.0" TERMUX_PKG_MAINTAINER="@termux-pacman" -TERMUX_PKG_VERSION="2.46.1" +TERMUX_PKG_VERSION="2.46.2" TERMUX_PKG_SRCURL=https://mirrors.kernel.org/pub/software/scm/git/git-${TERMUX_PKG_VERSION}.tar.xz -TERMUX_PKG_SHA256=888cafb8bd6ab4cbbebc168040a8850eb088f81dc3ac2617195cfc0877f0f543 +TERMUX_PKG_SHA256=5ee8a1c68536094a4f7f9515edc154b12a275b8a57dda4c21ecfbf1afbae2ca3 TERMUX_PKG_DEPENDS="libcurl-glibc, libexpat-glibc, libiconv-glibc, openssl-glibc, pcre2-glibc, zlib-glibc, less-glibc" TERMUX_PKG_SUGGESTS="perl-glibc" TERMUX_PKG_BUILD_IN_SRC=true diff --git a/gpkg/glib/build.sh b/gpkg/glib/build.sh index 719de404c..30ccade8c 100644 --- a/gpkg/glib/build.sh +++ b/gpkg/glib/build.sh @@ -2,9 +2,9 @@ TERMUX_PKG_HOMEPAGE=https://developer.gnome.org/glib/ TERMUX_PKG_DESCRIPTION="Library providing core building blocks for libraries and applications written in C" TERMUX_PKG_LICENSE="LGPL-2.1" TERMUX_PKG_MAINTAINER="@termux-pacman" -TERMUX_PKG_VERSION="2.80.4" +TERMUX_PKG_VERSION="2.80.5" TERMUX_PKG_SRCURL=https://ftp.gnome.org/pub/gnome/sources/glib/${TERMUX_PKG_VERSION%.*}/glib-${TERMUX_PKG_VERSION}.tar.xz -TERMUX_PKG_SHA256=24e029c5dfc9b44e4573697adf33078a9827c48938555004b3b9096fa4ea034f +TERMUX_PKG_SHA256=9f23a9de803c695bbfde7e37d6626b18b9a83869689dd79019bf3ae66c3e6771 TERMUX_PKG_DEPENDS="libffi-glibc, pcre2-glibc, util-linux-glibc, zlib-glibc, openssl-glibc, libunwind-glibc" TERMUX_PKG_BUILD_DEPENDS="gobject-introspection-glibc" TERMUX_PKG_PYTHON_COMMON_DEPS="pygments, itstool, packaging, gi-docgen" diff --git a/gpkg/gobject-introspection/build.sh b/gpkg/gobject-introspection/build.sh index 48d4d88eb..96b27a65f 100644 --- a/gpkg/gobject-introspection/build.sh +++ b/gpkg/gobject-introspection/build.sh @@ -3,11 +3,12 @@ TERMUX_PKG_DESCRIPTION="Uniform machine readable API" TERMUX_PKG_LICENSE="LGPL-2.0, GPL-2.0" TERMUX_PKG_MAINTAINER="@termux-pacman" TERMUX_PKG_VERSION="1.80.1" -TERMUX_PKG_REVISION=1 +TERMUX_PKG_REVISION=2 TERMUX_PKG_SRCURL=https://download.gnome.org/sources/gobject-introspection/${TERMUX_PKG_VERSION%.*}/gobject-introspection-${TERMUX_PKG_VERSION}.tar.xz TERMUX_PKG_SHA256=a1df7c424e15bda1ab639c00e9051b9adf5cea1a9e512f8a603b53cd199bc6d8 TERMUX_PKG_DEPENDS="libgirepository-glibc, python-glibc" TERMUX_PKG_BUILD_DEPENDS="coreutils-glibc" +TERMUX_PKG_PYTHON_COMMON_DEPS="setuptools" TERMUX_PKG_MESON_NATIVE=true TERMUX_PKG_EXTRA_CONFIGURE_ARGS=" -Dpython=$TERMUX_PREFIX/bin/python3 diff --git a/gpkg/harfbuzz/build.sh b/gpkg/harfbuzz/build.sh index d1fd09a05..5350c844a 100644 --- a/gpkg/harfbuzz/build.sh +++ b/gpkg/harfbuzz/build.sh @@ -2,9 +2,9 @@ TERMUX_PKG_HOMEPAGE=https://www.freedesktop.org/wiki/Software/HarfBuzz/ TERMUX_PKG_DESCRIPTION="OpenType text shaping engine" TERMUX_PKG_LICENSE="MIT" TERMUX_PKG_MAINTAINER="@termux-pacman" -TERMUX_PKG_VERSION=9.0.0 +TERMUX_PKG_VERSION=10.0.1 TERMUX_PKG_SRCURL=https://github.com/harfbuzz/harfbuzz/archive/${TERMUX_PKG_VERSION}.tar.gz -TERMUX_PKG_SHA256=b7e481b109d19aefdba31e9f5888aa0cdfbe7608fed9a43494c060ce1f8a34d2 +TERMUX_PKG_SHA256=e7358ea86fe10fb9261931af6f010d4358dac64f7074420ca9bc94aae2bdd542 TERMUX_PKG_DEPENDS="freetype-glibc, glib-glibc, libcairo-glibc, libgraphite-glibc, libicu-glibc" TERMUX_PKG_BUILD_DEPENDS="gobject-introspection-glibc" TERMUX_PKG_EXTRA_CONFIGURE_ARGS=" diff --git a/gpkg/libarchive/build.sh b/gpkg/libarchive/build.sh index b1e4886e1..9b5d18a22 100644 --- a/gpkg/libarchive/build.sh +++ b/gpkg/libarchive/build.sh @@ -2,9 +2,9 @@ TERMUX_PKG_HOMEPAGE=https://www.libarchive.org/ TERMUX_PKG_DESCRIPTION="Multi-format archive and compression library" TERMUX_PKG_LICENSE="BSD 2-Clause" TERMUX_PKG_MAINTAINER="@termux-pacman" -TERMUX_PKG_VERSION="3.7.5" +TERMUX_PKG_VERSION="3.7.6" TERMUX_PKG_SRCURL=https://github.com/libarchive/libarchive/releases/download/v$TERMUX_PKG_VERSION/libarchive-$TERMUX_PKG_VERSION.tar.gz -TERMUX_PKG_SHA256=37556113fe44d77a7988f1ef88bf86ab68f53d11e85066ffd3c70157cc5110f1 +TERMUX_PKG_SHA256=b4071807367b15b72777c2eaac80f42c8ea2d20212ab279514a19fe1f6f96ef4 TERMUX_PKG_DEPENDS="libacl-glibc, libbz2-glibc, libexpat-glibc, liblz4-glibc, openssl-glibc, liblzma-glibc, zlib-glibc, zstd-glibc" TERMUX_PKG_EXTRA_CONFIGURE_ARGS=" --without-xml2 diff --git a/gpkg/libuv/build.sh b/gpkg/libuv/build.sh index 0f63d9f61..633f5fa4f 100644 --- a/gpkg/libuv/build.sh +++ b/gpkg/libuv/build.sh @@ -3,9 +3,9 @@ TERMUX_PKG_DESCRIPTION="Support library with a focus on asynchronous I/O" TERMUX_PKG_LICENSE="MIT, BSD 2-Clause, ISC, BSD 3-Clause" TERMUX_PKG_LICENSE_FILE="LICENSE" TERMUX_PKG_MAINTAINER="@termux-pacman" -TERMUX_PKG_VERSION=1.48.0 +TERMUX_PKG_VERSION=1.49.0 TERMUX_PKG_SRCURL=https://dist.libuv.org/dist/v${TERMUX_PKG_VERSION}/libuv-v${TERMUX_PKG_VERSION}.tar.gz -TERMUX_PKG_SHA256=7f1db8ac368d89d1baf163bac1ea5fe5120697a73910c8ae6b2fffb3551d59fb +TERMUX_PKG_SHA256=17e6463bb51c7956430f04ec722ae638402402b5cca669ea90dab2907d10091a TERMUX_PKG_DEPENDS="libnsl-glibc" termux_step_pre_configure() { diff --git a/gpkg/libxcb/build.sh b/gpkg/libxcb/build.sh index c32634bbb..40d3e49e9 100644 --- a/gpkg/libxcb/build.sh +++ b/gpkg/libxcb/build.sh @@ -3,6 +3,7 @@ TERMUX_PKG_DESCRIPTION="X11 client-side library" TERMUX_PKG_LICENSE="MIT" TERMUX_PKG_MAINTAINER="@termux-pacman" TERMUX_PKG_VERSION="1.17.0" +TERMUX_PKG_REVISION=1 TERMUX_PKG_SRCURL=https://xorg.freedesktop.org/archive/individual/lib/libxcb-$TERMUX_PKG_VERSION.tar.xz TERMUX_PKG_SHA256=599ebf9996710fea71622e6e184f3a8ad5b43d0e5fa8c4e407123c88a59a6d55 TERMUX_PKG_DEPENDS="libxau-glibc, libxdmcp-glibc, xcb-proto-glibc" diff --git a/gpkg/libxml2/build.sh b/gpkg/libxml2/build.sh index 43213740c..6f498871d 100644 --- a/gpkg/libxml2/build.sh +++ b/gpkg/libxml2/build.sh @@ -4,6 +4,7 @@ TERMUX_PKG_LICENSE="MIT" TERMUX_PKG_MAINTAINER="@termux-pacman" _MAJOR_VERSION=2.13 TERMUX_PKG_VERSION=${_MAJOR_VERSION}.4 +TERMUX_PKG_REVISION=1 TERMUX_PKG_SRCURL=https://download.gnome.org/sources/libxml2/${_MAJOR_VERSION}/libxml2-${TERMUX_PKG_VERSION}.tar.xz TERMUX_PKG_SHA256=65d042e1c8010243e617efb02afda20b85c2160acdbfbcb5b26b80cec6515650 TERMUX_PKG_SETUP_PYTHON=true diff --git a/gpkg/libxslt/build.sh b/gpkg/libxslt/build.sh index 87ce4450c..c736b4380 100644 --- a/gpkg/libxslt/build.sh +++ b/gpkg/libxslt/build.sh @@ -5,6 +5,7 @@ TERMUX_PKG_LICENSE_FILE="COPYING" TERMUX_PKG_MAINTAINER="@termux-pacman" _MAJOR_VERSION=1.1 TERMUX_PKG_VERSION=${_MAJOR_VERSION}.42 +TERMUX_PKG_REVISION=1 TERMUX_PKG_SRCURL=https://download.gnome.org/sources/libxslt/${_MAJOR_VERSION}/libxslt-${TERMUX_PKG_VERSION}.tar.xz TERMUX_PKG_SHA256=85ca62cac0d41fc77d3f6033da9df6fd73d20ea2fc18b0a3609ffb4110e1baeb TERMUX_PKG_DEPENDS="libgcrypt-glibc, libxml2-glibc, liblzma-glibc" diff --git a/gpkg/opengl/build.sh b/gpkg/opengl/build.sh index 47b564fd5..dd1d9c362 100644 --- a/gpkg/opengl/build.sh +++ b/gpkg/opengl/build.sh @@ -3,6 +3,7 @@ TERMUX_PKG_DESCRIPTION="A metapackage for OpenGL implementation" TERMUX_PKG_LICENSE="Public Domain" TERMUX_PKG_MAINTAINER="@termux-pacman" TERMUX_PKG_VERSION=0.1 +TERMUX_PKG_REVISION=1 TERMUX_PKG_SKIP_SRC_EXTRACT=true TERMUX_PKG_DEPENDS="libglvnd-glibc, mesa-glibc" TERMUX_PKG_ANTI_BUILD_DEPENDS="mesa-glibc" diff --git a/gpkg/python/build.sh b/gpkg/python/build.sh index ca3c24b3d..a4e34b9bc 100644 --- a/gpkg/python/build.sh +++ b/gpkg/python/build.sh @@ -4,6 +4,7 @@ TERMUX_PKG_LICENSE="custom" TERMUX_PKG_LICENSE_FILE="LICENSE" TERMUX_PKG_MAINTAINER="@termux-pacman" TERMUX_PKG_VERSION=3.12.6 +TERMUX_PKG_REVISION=1 _MAJOR_VERSION="${TERMUX_PKG_VERSION%.*}" _SETUPTOOLS_VERSION=69.5.1 TERMUX_PKG_SRCURL=(https://www.python.org/ftp/python/${TERMUX_PKG_VERSION%rc*}/Python-${TERMUX_PKG_VERSION}.tar.xz @@ -13,6 +14,7 @@ TERMUX_PKG_SHA256=(1999658298cf2fb837dffed8ff3c033ef0c98ef20cf73c5d5f66bed5ab896 TERMUX_PKG_DEPENDS="libbz2-glibc, libexpat-glibc, gdbm-glibc, libffi-glibc, libnsl-glibc, libxcrypt-glibc, openssl-glibc, zlib-glibc" TERMUX_PKG_BUILD_DEPENDS="sqlite-glibc, mpdecimal-glibc, llvm-glibc" TERMUX_PKG_PROVIDES="python3-glibc" +TERMUX_PKG_RM_AFTER_INSTALL="glibc/lib/python${_MAJOR_VERSION}/site-packages/*/" TERMUX_PKG_BUILD_IN_SRC=true termux_step_pre_configure() { @@ -62,7 +64,6 @@ termux_step_make_install() { } termux_step_post_make_install() { - echo README.txt > ${TERMUX_PKG_SRCDIR}/setuptools-files ( export TERMUX_PKG_SETUP_PYTHON=true export TERMUX_SKIP_DEPCHECK=true @@ -70,17 +71,7 @@ termux_step_post_make_install() { termux_step_get_dependencies_python cd ${TERMUX_PKG_SRCDIR}/setuptools-${_SETUPTOOLS_VERSION} - pip install --no-deps . --prefix $TERMUX_PREFIX - - pip show -f setuptools | grep "^ " | sed 's/ //' \ - | awk -F '/' '{printf $1 "\n"}' | uniq >> ${TERMUX_PKG_SRCDIR}/setuptools-files + pip install --no-deps . --target ${TERMUX_PKG_SRCDIR}/setuptools + cp -r ${TERMUX_PKG_SRCDIR}/setuptools/setuptools/_distutils ${TERMUX_PYTHON_HOME}/distutils ) } - -termux_step_post_massage() { - for i in glibc/lib/python${_MAJOR_VERSION}/site-packages/*; do - if ! grep -q "^${i##*/}$" ${TERMUX_PKG_SRCDIR}/setuptools-files; then - rm -fr $i - fi - done -} diff --git a/gpkg/python/initconfig.c.patch b/gpkg/python/initconfig.c.patch new file mode 100644 index 000000000..a41a34f1a --- /dev/null +++ b/gpkg/python/initconfig.c.patch @@ -0,0 +1,55 @@ +--- Python-3.12.6/Python/initconfig.c 2024-09-06 22:03:47.000000000 +0300 ++++ Python-3.12.6/Python/initconfig.c.patch 2024-09-28 15:11:27.913324313 +0300 +@@ -1454,11 +1454,40 @@ + #endif + } + +- + #define CONFIG_GET_ENV_DUP(CONFIG, DEST, WNAME, NAME) \ + config_get_env_dup(CONFIG, DEST, WNAME, NAME, "cannot decode " NAME) + + ++static PyStatus ++config_get_env_dup2(PyConfig *config, ++ wchar_t **dest, ++ char *name1, char *name2, ++ const char *decode_err_msg) ++{ ++ assert(*dest == NULL); ++ assert(config->use_environment >= 0); ++ ++ if (!config->use_environment) { ++ *dest = NULL; ++ return _PyStatus_OK(); ++ } ++ ++ const char *var = getenv(name1); ++ if (!var) ++ var = getenv(name2); ++ ++ if (!var || var[0] == '\0') { ++ *dest = NULL; ++ return _PyStatus_OK(); ++ } ++ ++ return config_set_bytes_string(config, dest, var, decode_err_msg); ++} ++ ++#define CONFIG_GET_ENV_DUP2(CONFIG, DEST, NAME1, NAME2) \ ++ config_get_env_dup2(CONFIG, DEST, NAME1, NAME2, "cannot decode " NAME2) ++ ++ + static void + config_get_global_vars(PyConfig *config) + { +@@ -1668,8 +1697,8 @@ + } + + if (config->pythonpath_env == NULL) { +- status = CONFIG_GET_ENV_DUP(config, &config->pythonpath_env, +- L"PYTHONPATH", "PYTHONPATH"); ++ status = CONFIG_GET_ENV_DUP2(config, &config->pythonpath_env, ++ "TERMUX_PYTHON_MAINPATH", "PYTHONPATH"); + if (_PyStatus_EXCEPTION(status)) { + return status; + } diff --git a/gpkg/subversion/build.sh b/gpkg/subversion/build.sh index 6804cf231..1670e95de 100644 --- a/gpkg/subversion/build.sh +++ b/gpkg/subversion/build.sh @@ -3,6 +3,7 @@ TERMUX_PKG_DESCRIPTION="Centralized version control system characterized by its TERMUX_PKG_LICENSE="Apache-2.0" TERMUX_PKG_MAINTAINER="@termux-pacman" TERMUX_PKG_VERSION=1.14.3 +TERMUX_PKG_REVISION=1 TERMUX_PKG_SRCURL=https://www.apache.org/dist/subversion/subversion-${TERMUX_PKG_VERSION}.tar.bz2 TERMUX_PKG_SHA256=949efd451a09435f7e8573574c71c7b71b194d844890fa49cd61d2262ea1a440 TERMUX_PKG_DEPENDS="gcc-libs-glibc, apr-util-glibc, serf-glibc, libexpat-glibc, libsqlite-glibc, liblz4-glibc, utf8proc-glibc, zlib-glibc" diff --git a/gpkg/xcb-proto/build.sh b/gpkg/xcb-proto/build.sh index 503fc3a71..7205ea847 100644 --- a/gpkg/xcb-proto/build.sh +++ b/gpkg/xcb-proto/build.sh @@ -3,6 +3,7 @@ TERMUX_PKG_DESCRIPTION="XML-XCB protocol descriptions" TERMUX_PKG_LICENSE="MIT" TERMUX_PKG_MAINTAINER="@termux-pacman" TERMUX_PKG_VERSION="1.17.0" +TERMUX_PKG_REVISION=1 TERMUX_PKG_SRCURL=https://xorg.freedesktop.org/archive/individual/proto/xcb-proto-$TERMUX_PKG_VERSION.tar.xz TERMUX_PKG_SHA256=2c1bacd2110f4799f74de6ebb714b94cf6f80fb112316b1219480fd22562148c TERMUX_PKG_BUILD_DEPENDS="libxml2-glibc"