summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorGonzalo Exequiel Pedone2025-03-11 00:42:18 -0300
committerGonzalo Exequiel Pedone2025-03-11 00:42:18 -0300
commit83239baadff68f22f6df465eb45fea3d5b3d2854 (patch)
tree3b724b7cdadbfab3232edf408caae8204f9c9144
downloadaur-android-riscv64-boost.tar.gz
Package updated to 1.87.0.
-rw-r--r--.SRCINFO25
-rw-r--r--.gitignore6
-rw-r--r--0001-Disable-wordexp.patch104
-rw-r--r--PKGBUILD116
4 files changed, 251 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..5e3f5ddc9a44
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,25 @@
+pkgbase = android-riscv64-boost
+ pkgdesc = Free peer-reviewed portable C++ source libraries (Android riscv64)
+ pkgver = 1.87.0
+ pkgrel = 1
+ url = https://www.boost.org/
+ arch = any
+ groups = android-boost
+ license = custom
+ makedepends = android-cmake
+ makedepends = android-riscv64-openmpi
+ depends = android-riscv64-bzip2
+ depends = android-riscv64-icu
+ depends = android-riscv64-zlib
+ depends = android-riscv64-zstd
+ optdepends = android-riscv64-openmpi: for mpi support
+ options = !strip
+ options = !buildflags
+ options = staticlibs
+ options = !emptydirs
+ source = https://github.com/boostorg/boost/releases/download/boost-1.87.0/boost-1.87.0-cmake.tar.xz
+ source = 0001-Disable-wordexp.patch
+ md5sums = d55d43218e81ca3d0fc14436b7665bf1
+ md5sums = d880b3d0c05ef6da0d44912cdb82ef1c
+
+pkgname = android-riscv64-boost
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 000000000000..b5b03b115225
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,6 @@
+pkg
+src
+*.tar.xz
+*.tar.gz
+*.tar.bz2
+*.asc
diff --git a/0001-Disable-wordexp.patch b/0001-Disable-wordexp.patch
new file mode 100644
index 000000000000..19cd4dfb2b99
--- /dev/null
+++ b/0001-Disable-wordexp.patch
@@ -0,0 +1,104 @@
+--- a/libs/process/src/shell.cpp
++++ b/libs/process/src/shell.cpp
+@@ -19,8 +19,6 @@
+ #if defined(BOOST_PROCESS_V2_WINDOWS)
+ #include <windows.h>
+ #include <shellapi.h>
+-#elif !defined(__OpenBSD__)
+-#include <wordexp.h>
+ #endif
+
+ BOOST_PROCESS_V2_BEGIN_NAMESPACE
+@@ -30,42 +28,6 @@
+ {
+ return system_category();
+ }
+-#elif !defined(__OpenBSD__)
+-
+-struct shell_category_t final : public error_category
+-{
+- shell_category_t() : error_category(0xDAF1u) {}
+-
+- const char* name() const noexcept
+- {
+- return "process.v2.shell";
+- }
+- std::string message(int value) const
+- {
+- switch (value)
+- {
+- case WRDE_BADCHAR:
+- return "Illegal occurrence of newline or one of |, &, ;, <, >, (, ), {, }.";
+- case WRDE_BADVAL:
+- return "An undefined shell variable was referenced, and the WRDE_UNDEF flag told us to consider this an error.";
+- case WRDE_CMDSUB:
+- return "Command substitution occurred, and the WRDE_NOCMD flag told us to consider this an error.";
+- case WRDE_NOSPACE:
+- return "Out of memory.";
+- case WRDE_SYNTAX:
+- return "Shell syntax error, such as unbalanced parentheses or unmatched quotes.";
+- default:
+- return "process.v2.wordexp error";
+- }
+- }
+-};
+-
+-BOOST_PROCESS_V2_DECL const error_category& get_shell_category()
+-{
+- static shell_category_t instance;
+- return instance;
+-}
+-
+ #else
+
+ const error_category& get_shell_category()
+@@ -99,49 +61,6 @@
+ return input_.c_str();
+ }
+
+-#elif !defined(__OpenBSD__)
+-
+-void shell::parse_()
+-{
+- wordexp_t we{};
+- auto cd = wordexp(input_.c_str(), &we, WRDE_NOCMD);
+-
+- if (cd != 0)
+- detail::throw_error(error_code(cd, get_shell_category()), "shell::parse");
+- else
+- {
+- argc_ = static_cast<int>(we.we_wordc);
+- argv_ = we.we_wordv;
+- }
+-
+- free_argv_ = +[](int argc, char ** argv)
+- {
+- wordexp_t we{
+- .we_wordc = static_cast<std::size_t>(argc),
+- .we_wordv = argv,
+- .we_offs = 0
+- };
+- wordfree(&we);
+- };
+-}
+-
+-shell::~shell()
+-{
+- if (argv_ != nullptr && free_argv_ != nullptr)
+- free_argv_(argc_, argv_);
+-}
+-
+-auto shell::args() const -> args_type
+-{
+- if (argc() == 0)
+- {
+- static const char * helper = nullptr;
+- return &helper;
+- }
+- else
+- return const_cast<const char**>(argv());
+-}
+-
+ #else
+
+ void shell::parse_()
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..ef30debe5a44
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,116 @@
+# Maintainer: Gonzalo Exequiel Pedone <hipersayan DOT x AT gmail DOT com>
+# Contributor: Martchus <martchus@gmx.net>
+
+_android_arch=riscv64
+
+pkgname=android-${_android_arch}-boost
+pkgver=1.87.0
+pkgrel=1
+arch=('any')
+pkgdesc="Free peer-reviewed portable C++ source libraries (Android ${_android_arch})"
+url="https://www.boost.org/"
+license=('custom')
+groups=('android-boost')
+depends=("android-${_android_arch}-bzip2"
+ "android-${_android_arch}-icu"
+ "android-${_android_arch}-zlib"
+ "android-${_android_arch}-zstd")
+makedepends=('android-cmake'
+ "android-${_android_arch}-openmpi")
+optdepends=("android-${_android_arch}-openmpi: for mpi support")
+options=(!strip !buildflags staticlibs !emptydirs)
+source=("https://github.com/boostorg/boost/releases/download/boost-${pkgver}/boost-${pkgver}-cmake.tar.xz"
+ '0001-Disable-wordexp.patch')
+md5sums=('d55d43218e81ca3d0fc14436b7665bf1'
+ 'd880b3d0c05ef6da0d44912cdb82ef1c')
+
+prepare() {
+ cd "${srcdir}/boost-${pkgver}"
+
+ patch -Np1 -i ../0001-Disable-wordexp.patch
+}
+
+build() {
+ cd "${srcdir}/boost-${pkgver}"
+ source android-env ${_android_arch}
+
+ ./bootstrap.sh -with-toolset=gcc
+
+ android-${_android_arch}-cmake \
+ -S . \
+ -B build-shared \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBOOST_ENABLE_MPI=ON \
+ -DBOOST_IOSTREAMS_ENABLE_BZIP2=ON \
+ -DBOOST_IOSTREAMS_ENABLE_LZMA=ON \
+ -DBOOST_IOSTREAMS_ENABLE_ZLIB=ON \
+ -DBOOST_IOSTREAMS_ENABLE_ZSTD=ON \
+ -DBOOST_LOCALE_ENABLE_ICONV=ON \
+ -DBOOST_LOCALE_ENABLE_ICU=ON \
+ -DZLIB_INCLUDE_DIR="${ANDROID_PREFIX_INCLUDE}" \
+ -DZLIB_LIBRARY_RELEASE="${ANDROID_PREFIX_LIB}/libz.so" \
+ -DBZIP2_INCLUDE_DIR="${ANDROID_PREFIX_INCLUDE}" \
+ -DBZIP2_LIBRARY_RELEASE="${ANDROID_PREFIX_LIB}/libbz2.so" \
+ -DLIBLZMA_INCLUDE_DIR="${ANDROID_PREFIX_INCLUDE}/lzma" \
+ -DLIBLZMA_LIBRARY="${ANDROID_PREFIX_LIB}/liblzma.so" \
+ -Dzstd_DIR="${ANDROID_PREFIX_LIB}/cmake/zstd" \
+ -DIconv_INCLUDE_DIR="${ANDROID_PREFIX_INCLUDE}" \
+ -DIconv_LIBRARY="${ANDROID_PREFIX_LIB}/libiconv.so" \
+ -DICU_INCLUDE_DIR="${ANDROID_PREFIX_INCLUDE}" \
+ -DICU_LIBRARY="${ANDROID_PREFIX_LIB}/libiconv.so" \
+ -DICU_DATA_LIBRARY_RELEASE="${ANDROID_PREFIX_LIB}/libicudata.so" \
+ -DICU_I18N_LIBRARY_RELEASE="${ANDROID_PREFIX_LIB}/libicui18n.so" \
+ -DICU_UC_LIBRARY_RELEASE="${ANDROID_PREFIX_LIB}/libicuuc.so" \
+ -DMPI_C_HEADER_DIR="${ANDROID_PREFIX_INCLUDE}" \
+ -DMPI_CXX_HEADER_DIR="${ANDROID_PREFIX_INCLUDE}" \
+ -DMPI_mpi_LIBRARY="${ANDROID_PREFIX_LIB}/libmpi.so" \
+ -DCMAKE_CXX_FLAGS="-DBOOST_ALL_NO_EMBEDDED_GDB_SCRIPTS -DBOOST_STACKTRACE_LIBCXX_RUNTIME_MAY_CAUSE_MEMORY_LEAK" \
+ -Wno-dev \
+ ${extra_options}
+ make -C build-shared $MAKEFLAGS
+
+ android-${_android_arch}-cmake \
+ -S . \
+ -B build-static \
+ -DBUILD_SHARED_LIBS=OFF \
+ -DBOOST_ENABLE_MPI=OFF \
+ -DBOOST_IOSTREAMS_ENABLE_BZIP2=ON \
+ -DBOOST_IOSTREAMS_ENABLE_LZMA=ON \
+ -DBOOST_IOSTREAMS_ENABLE_ZLIB=ON \
+ -DBOOST_IOSTREAMS_ENABLE_ZSTD=ON \
+ -DBOOST_LOCALE_ENABLE_ICONV=ON \
+ -DBOOST_LOCALE_ENABLE_ICU=ON \
+ -DZLIB_INCLUDE_DIR="${ANDROID_PREFIX_INCLUDE}" \
+ -DZLIB_LIBRARY_RELEASE="${ANDROID_PREFIX_LIB}/libz.a" \
+ -DBZIP2_INCLUDE_DIR="${ANDROID_PREFIX_INCLUDE}" \
+ -DBZIP2_LIBRARY_RELEASE="${ANDROID_PREFIX_LIB}/libbz2.a" \
+ -DLIBLZMA_INCLUDE_DIR="${ANDROID_PREFIX_INCLUDE}/lzma" \
+ -DLIBLZMA_LIBRARY="${ANDROID_PREFIX_LIB}/liblzma.a" \
+ -Dzstd_DIR="${ANDROID_PREFIX_LIB}/cmake/zstd" \
+ -DIconv_INCLUDE_DIR="${ANDROID_PREFIX_INCLUDE}" \
+ -DIconv_LIBRARY="${ANDROID_PREFIX_LIB}/libiconv.a" \
+ -DICU_INCLUDE_DIR="${ANDROID_PREFIX_INCLUDE}" \
+ -DICU_LIBRARY="${ANDROID_PREFIX_LIB}/libiconv.a" \
+ -DICU_DATA_LIBRARY_RELEASE="${ANDROID_PREFIX_LIB}/libicudata.a" \
+ -DICU_I18N_LIBRARY_RELEASE="${ANDROID_PREFIX_LIB}/libicui18n.a" \
+ -DICU_UC_LIBRARY_RELEASE="${ANDROID_PREFIX_LIB}/libicuuc.a" \
+ -DMPI_C_HEADER_DIR="${ANDROID_PREFIX_INCLUDE}" \
+ -DMPI_CXX_HEADER_DIR="${ANDROID_PREFIX_INCLUDE}" \
+ -DMPI_mpi_LIBRARY="${ANDROID_PREFIX_LIB}/libmpi.a" \
+ -DCMAKE_CXX_FLAGS="-DBOOST_ALL_NO_EMBEDDED_GDB_SCRIPTS -DBOOST_STACKTRACE_LIBCXX_RUNTIME_MAY_CAUSE_MEMORY_LEAK" \
+ -Wno-dev \
+ ${extra_options}
+ make -C build-static $MAKEFLAGS
+}
+
+package() {
+ cd "${srcdir}/boost-${pkgver}"
+ source android-env ${_android_arch}
+
+ make -C build-shared DESTDIR="${pkgdir}" install
+ make -C build-static DESTDIR="${pkgdir}" install
+ ${ANDROID_STRIP} -g --strip-unneeded "${pkgdir}/${ANDROID_PREFIX_LIB}"/*.so
+ ${ANDROID_STRIP} -g "${pkgdir}/${ANDROID_PREFIX_LIB}"/*.a
+
+ install -Dm644 -t "${pkgdir}/usr/share/licenses/${pkgname}" LICENSE_1_0.txt
+}