diff options
author | Gonzalo Exequiel Pedone | 2025-03-11 00:42:18 -0300 |
---|---|---|
committer | Gonzalo Exequiel Pedone | 2025-03-11 00:42:18 -0300 |
commit | 83239baadff68f22f6df465eb45fea3d5b3d2854 (patch) | |
tree | 3b724b7cdadbfab3232edf408caae8204f9c9144 | |
download | aur-android-riscv64-boost.tar.gz |
Package updated to 1.87.0.
-rw-r--r-- | .SRCINFO | 25 | ||||
-rw-r--r-- | .gitignore | 6 | ||||
-rw-r--r-- | 0001-Disable-wordexp.patch | 104 | ||||
-rw-r--r-- | PKGBUILD | 116 |
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 +} |