Skip to content

Commit b6652c9

Browse files
committed
bump(main/boost): 1.89.0
- Progress on termux#23492 - Dependency of termux#25826 - In order to rebuild all reverse dependencies successfully, also includes some fixes for builds of packages that currently fail to build with CMake 4, which are either the commonly-used `-DCMAKE_POLICY_VERSION_MINIMUM=3.5` argument, or are patches named to indicate their purpose - All patches with attribution headers are cherry-picked from respective upstream PRs or commits - All patches without attribution headers are written from scratch by me to solve errors that are either Termux-specific or are not yet fixed anywhere in upstream Some notes about unique patches: - Very big thanks to cho-m, who almost single-handedly brought boost 1.89 to `libc++`-based UNIX-like operating systems with their work on boost 1.89 for MacOS in Homebrew/homebrew-core#233031. Many cherry-picked patches originated from them. - I chose to write my own patch for `ncmpcpp` for boost 1.89 rather then exactly copy the example of cho-m, even though my method involves more lines of code, because **I decided that I would like to be notified, through the patch failing to apply, when upstream `ncmpcpp` has added official support for boost 1.89**, indicating that the downstream change can then be removed without me having to remember it, which cho-m's example unfortunately wouldn't do. - For some reason, building `openfoam` with boost 1.89 instead of boost 1.87 causes it to attempt to link to `libgmp.so` in a nonexistent folder `/data/data/com.termux/files/usr/lib64`, instead of `/data/data/com.termux/files/usr/lib` - It's unclear how exactly boost 1.89 draws out this error, but it can also be seen that the origin of the "lib64" instance is within openfoam, and Termux does not use any "lib64" folder, so it should be patched out from `openfoam` (which resolves the error) ``` -L/data/data/com.termux/files/usr/lib64 -L/home/builder/.termux-build/openfoam/src/ThirdParty/platforms/linuxARM64Clang/boost-system/lib -L/home/builder/.termux-build/openfoam/src/ThirdParty/platforms/linuxARM64Clang/boost-system/lib64 -lmpfr -lgmp -lfileFormats -lsurfMesh -lmeshTools -ldecompose -ldynamicMesh -lsnappyHexMesh -o /home/builder/.termux-build/openfoam/src/platforms/linuxARM64ClangDPInt32Opt/lib/libconformalVoronoiMesh.so ld.lld: error: unable to find library -lmpfr ``` - `ravencoin` and `mkvtoolnix` use `autoreconf -fi` during their `build.sh` files, but unfortunately, in the Ubuntu 24.04 cross-builder Docker image, there is a package installed in Ubuntu `autoconf-archive` version 20220903-3, which contains a file `/usr/share/aclocal/ax_boost_system.m4`, and this file is unfortunately propagated into the build systems of `ravencoin` and `mkvtoolnix` by `autoreconf -fi` and "pollutes" them with "awareness" that they would not otherwise have of the `Boost::System` shared library that no longer exists in boost 1.89, so temporary changes to `TERMUX_PKG_EXTRA_CONFIGURE_ARGS` are required, which should be removed the next time the Ubuntu cross-builder image is bumped, since after that happens, they will no longer be necessary. - Copy and paste fix for building `abiword` with `libc++` 19+ (NDK r28c) from FreeBSD: freebsd/freebsd-ports@e6daa21 - Fix prefix pollution `libjxl`->`telegram-desktop` - (i.e. the command `scripts/run-docker.sh ./build-package.sh -I -f libjxl telegram-desktop`) - For clarity, the edits to `packages/libjxl/fix-pkgconfig-file.patch` are primarily implementing this fix by removing the invalid path `/data/data/com.termux/files/usr//data/data/com.termux/files/usr/include` from the command `pkg-config --cflags libjxl`
1 parent 0d7fac1 commit b6652c9

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

62 files changed

+641
-99
lines changed

packages/assimp/build.sh

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ TERMUX_PKG_DESCRIPTION="Library to import various well-known 3D model formats in
33
TERMUX_PKG_LICENSE="BSD"
44
TERMUX_PKG_MAINTAINER="@termux"
55
TERMUX_PKG_VERSION="6.0.2"
6+
TERMUX_PKG_REVISION=1
67
TERMUX_PKG_SRCURL=https://github.com/assimp/assimp/archive/v$TERMUX_PKG_VERSION.tar.gz
78
TERMUX_PKG_SHA256=d1822d9a19c9205d6e8bc533bf897174ddb360ce504680f294170cc1d6319751
89
TERMUX_PKG_AUTO_UPDATE=true
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
--- a/contrib/Open3DGC/o3dgcArithmeticCodec.cpp
2+
+++ b/contrib/Open3DGC/o3dgcArithmeticCodec.cpp
3+
@@ -98,7 +98,7 @@ namespace o3dgc
4+
fprintf(stderr, "\n\n -> Arithmetic coding error: ");
5+
fputs(msg, stderr);
6+
fputs("\n Execution terminated!\n", stderr);
7+
- getchar();
8+
+ (void)getchar();
9+
exit(1);
10+
}
11+

packages/bastet/build.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ TERMUX_PKG_DESCRIPTION="Tetris clone with 'bastard' block-choosing AI"
33
TERMUX_PKG_LICENSE="GPL-3.0"
44
TERMUX_PKG_MAINTAINER="@termux"
55
TERMUX_PKG_VERSION=0.43.2
6-
TERMUX_PKG_REVISION=11
6+
TERMUX_PKG_REVISION=12
77
TERMUX_PKG_SRCURL=https://github.com/fph/bastet/archive/$TERMUX_PKG_VERSION.tar.gz
88
TERMUX_PKG_SHA256=f219510afc1d83e4651fbffd5921b1e0b926d5311da4f8fa7df103dc7f2c403f
99
TERMUX_PKG_DEPENDS="libc++, ncurses"

packages/bitcoin/build.sh

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ TERMUX_PKG_DESCRIPTION="Bitcoin Core"
33
TERMUX_PKG_LICENSE="MIT"
44
TERMUX_PKG_MAINTAINER="@termux"
55
TERMUX_PKG_VERSION="29.0"
6+
TERMUX_PKG_REVISION=1
67
TERMUX_PKG_SRCURL=https://github.com/bitcoin/bitcoin/archive/refs/tags/v${TERMUX_PKG_VERSION}.tar.gz
78
TERMUX_PKG_SHA256=e2347dcca0ce657c85fcd81d793d8d84502c85f673686579e8cf8a4c9c412ba2
89
TERMUX_PKG_AUTO_UPDATE=true
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
From 9ac89e9936b826c13e90611cb9a81a7aa0508d20 Mon Sep 17 00:00:00 2001
2+
From: Michael Cho <[email protected]>
3+
Date: Sun, 30 Mar 2025 21:45:49 -0400
4+
Subject: [PATCH] Add include for add_const
5+
6+
Signed-off-by: Michael Cho <[email protected]>
7+
---
8+
include/boost/range/detail/any_iterator_interface.hpp | 1 +
9+
1 file changed, 1 insertion(+)
10+
11+
--- a/boost/range/detail/any_iterator_interface.hpp
12+
+++ b/boost/range/detail/any_iterator_interface.hpp
13+
@@ -15,6 +15,7 @@
14+
#include <boost/iterator/iterator_categories.hpp>
15+
#include <boost/type_traits/is_convertible.hpp>
16+
#include <boost/type_traits/is_reference.hpp>
17+
+#include <boost/type_traits/add_const.hpp>
18+
#include <boost/type_traits/remove_const.hpp>
19+
#include <boost/type_traits/remove_reference.hpp>
20+

packages/boost/build.sh

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,10 @@ TERMUX_PKG_LICENSE="BSL-1.0"
44
TERMUX_PKG_MAINTAINER="@termux"
55
# Never forget to always bump revision of reverse dependencies and rebuild them
66
# when bumping version.
7-
TERMUX_PKG_VERSION="1:1.87.0"
8-
TERMUX_PKG_REVISION=2
7+
TERMUX_PKG_VERSION="1:1.89.0"
98
_VERSION="${TERMUX_PKG_VERSION:2}"
109
TERMUX_PKG_SRCURL="https://archives.boost.io/release/${_VERSION}/source/boost_${_VERSION//./_}.tar.bz2"
11-
TERMUX_PKG_SHA256=af57be25cb4c4f4b413ed692fe378affb4352ea50fbe294a11ef548f4d527d89
10+
TERMUX_PKG_SHA256=85a33fa22621b4f314f8e85e1a5e2a9363d22e4f4992925d4bb3bc631b5a0c7a
1211
TERMUX_PKG_AUTO_UPDATE=false
1312
TERMUX_PKG_DEPENDS="libc++, libbz2, libiconv, liblzma, zlib, libandroid-wordexp"
1413
TERMUX_PKG_BUILD_DEPENDS="python"

packages/boost/fix-arm-inline-asm-error.patch

Lines changed: 0 additions & 55 deletions
This file was deleted.

packages/botan3/build.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ TERMUX_PKG_LICENSE="BSD 2-Clause"
44
TERMUX_PKG_MAINTAINER="@termux"
55
# This specific package is for libbotan-3.
66
TERMUX_PKG_VERSION="3.7.1"
7-
TERMUX_PKG_REVISION=2
7+
TERMUX_PKG_REVISION=3
88
TERMUX_PKG_SRCURL=https://botan.randombit.net/releases/Botan-${TERMUX_PKG_VERSION}.tar.xz
99
TERMUX_PKG_SHA256=fc0620463461caaea8e60f06711d7e437a3ad1eebd6de4ac29c14bbd901ccd1b
1010
TERMUX_PKG_DEPENDS="libbz2, libc++, liblzma, libsqlite, zlib"

packages/enblend/build.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ TERMUX_PKG_LICENSE="GPL-2.0"
44
TERMUX_PKG_MAINTAINER="@termux"
55
_VERSION=4.2.0_p20161007
66
TERMUX_PKG_VERSION=${_VERSION//_/}
7-
TERMUX_PKG_REVISION=6
7+
TERMUX_PKG_REVISION=7
88
TERMUX_PKG_SRCURL=https://dev.gentoo.org/~soap/distfiles/enblend-${_VERSION}.tar.xz
99
TERMUX_PKG_SHA256=4fe05af3d697bd6b2797facc8ba5aeabdc91e233156552301f1c7686232ff4c3
1010
TERMUX_PKG_DEPENDS="gsl, libandroid-glob, libc++, libtiff, libvigra, littlecms"
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
Like boost-1.89.patch, but implemented for CMakeLists.txt also
2+
3+
--- a/build/CMakeLists.txt
4+
+++ b/build/CMakeLists.txt
5+
@@ -256,14 +256,14 @@ else()
6+
if(NOT MSVC)
7+
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC")
8+
endif()
9+
- add_definitions(-DBOOST_ATOMIC_DYN_LINK -DBOOST_SYSTEM_DYN_LINK -DBOOST_FILESYSTEM_DYN_LINK -DBOOST_PROGRAM_OPTIONS_DYN_LINK)
10+
+ add_definitions(-DBOOST_ATOMIC_DYN_LINK -DBOOST_FILESYSTEM_DYN_LINK -DBOOST_PROGRAM_OPTIONS_DYN_LINK)
11+
if(WIN32)
12+
set(Boost_USE_STATIC_LIBS OFF)
13+
set(Boost_USE_STATIC_RUNTIME OFF)
14+
endif()
15+
endif()
16+
17+
-find_package(Boost REQUIRED COMPONENTS system filesystem program_options)
18+
+find_package(Boost REQUIRED COMPONENTS filesystem program_options)
19+
if(NOT DEFINED Boost_FOUND)
20+
message(SEND_ERROR "Boost is not found, or your boost version was below 1.46. Please download Boost!")
21+
endif()
22+

0 commit comments

Comments
 (0)