r-arrow: fix build

This commit is contained in:
Pekka Ristola 2024-02-24 00:29:52 +02:00
parent 0b0daca83b
commit 46fe5c0fb0
No known key found for this signature in database
GPG key ID: 2C20BE716E05213E
3 changed files with 21 additions and 36 deletions

View file

@ -2,10 +2,10 @@
# Contributor: Guoyi Zhang <guoyizhang at malacology dot net>
_pkgname=arrow
_pkgver=14.0.0.2
_pkgver=14.0.2.1
pkgname=r-${_pkgname,,}
pkgver=${_pkgver//-/.}
pkgrel=2
pkgrel=0
pkgdesc="Integration to 'Apache' 'Arrow'"
arch=(x86_64)
url="https://cran.r-project.org/package=$_pkgname"
@ -62,10 +62,10 @@ optdepends=(
)
source=("https://cran.r-project.org/src/contrib/${_pkgname}_${_pkgver}.tar.gz"
"fix-build.patch")
md5sums=('84cefe34da6af43984b308ca2a57d7bd'
'3c7ea1780d1a7eff30d0243e161534ce')
b2sums=('5d234175981bde6b094593856e8286048ca05308eb00d591c96a68826e43e78c2cf8d594316c50946b374e6e872ff065aeb191c36d0ba0b1104f31cc94ae6102'
'1926311b6ec30259adcfcfa94cfff8cbe55bf3a87c324112fba5e601bd1daa404efd79e7b78a21eb72982686e12614f33c17421a59cc07858734d58676edd70c')
md5sums=('aaf2deb867c78ca49e5cb4e5931a42b4'
'583d52743ac4b0c6fc0d9b9dd3ebce49')
b2sums=('db02956a4fca2bf7218d6f580cafaf2cacf27650a602cc04b72a3c6d1cfecb6951b9becce01fc88723fa6175b80d851fcaeae80346ed1bf1f23909b41463e432'
'8d44a056f4885e03bf97b30066302d6ccfef738baeb761ba7e6c32ec547b83c5a3d202ff8e44e98de4afa786240e937e9a0bd9eb2dcaa3992226607953939e2d')
prepare() {
# fix build with system arrow, skip failing tests
@ -74,7 +74,8 @@ prepare() {
build() {
mkdir build
R CMD INSTALL -l build "$_pkgname"
R CMD INSTALL -l build "$_pkgname" \
--configure-vars=ARROW_R_ALLOW_CPP_VERSION_MISMATCH=true
}
check() {

View file

@ -1,8 +1,8 @@
diff --git a/arrow/src/r_to_arrow.cpp b/arrow/src/r_to_arrow.cpp
index 19c2397..d9bf848 100644
index 302c61e..a81210f 100644
--- a/arrow/src/r_to_arrow.cpp
+++ b/arrow/src/r_to_arrow.cpp
@@ -1051,10 +1051,15 @@ struct RConverterTrait;
@@ -1054,7 +1054,7 @@ struct RConverterTrait;
template <typename T>
struct RConverterTrait<
T, enable_if_t<!is_nested_type<T>::value && !is_interval_type<T>::value &&
@ -11,14 +11,6 @@ index 19c2397..d9bf848 100644
using type = RPrimitiveConverter<T>;
};
+template <typename T>
+struct RConverterTrait<T, enable_if_binary_view_like<T>> {
+ // not implemented
+};
+
template <typename T>
struct RConverterTrait<T, enable_if_list_like<T>> {
using type = RListConverter<T>;
diff --git a/arrow/tests/testthat/test-dplyr-filter.R b/arrow/tests/testthat/test-dplyr-filter.R
index 724b93c..dccc41a 100644
--- a/arrow/tests/testthat/test-dplyr-filter.R
@ -44,23 +36,15 @@ index 0889fff..7e507ff 100644
# that need to be forced to fail because they error ambiguously
diff --git a/arrow/tools/check-versions.R b/arrow/tools/check-versions.R
index 3d8cbf0..920a7ef 100644
index 34b2ef6..53e1bba 100644
--- a/arrow/tools/check-versions.R
+++ b/arrow/tools/check-versions.R
@@ -49,16 +49,6 @@ check_versions <- function(r_version, cpp_version) {
r_version
)
)
- } else if (r_version != cpp_version) {
- cat(
- sprintf(
- "**** Not using: C++ library version (%s) does not match R package (%s)\n",
- cpp_version,
- r_version
- )
- )
- stop("version mismatch")
- # Add ALLOW_VERSION_MISMATCH env var to override stop()? (Could be useful for debugging)
} else {
# OK
cat(sprintf("**** C++ and R library versions match: %s\n", cpp_version))
@@ -30,7 +30,7 @@ release_version_supported <- function(r_version, cpp_version) {
# If we allow a version mismatch we still need to cover the minimum version (13.0.0 for now)
# we don't allow newer C++ versions as new features without additional feature gates are likely to
# break the R package
- version_valid <- cpp_version >= minimum_cpp_version && major(cpp_version) <= major(r_version)
+ version_valid <- cpp_version >= minimum_cpp_version
allow_mismatch && version_valid || major(r_version) == major(cpp_version)
}

View file

@ -9,7 +9,7 @@ from lilac_r_utils import r_pre_build
def pre_build():
r_pre_build(
_G,
expect_systemrequirements = "C++17; for AWS S3 support on Linux, libcurl and openssl (optional)",
expect_systemrequirements = "C++17; for AWS S3 support on Linux, libcurl and openssl (optional); cmake >= 3.16 (build-time only, and only for full source build)",
)
def post_build():