diff --git a/.ci_support/linux_64_cuda_compiler_version11.2.yaml b/.ci_support/linux_64_cuda_compiler_version11.2.yaml index 999176339..d9d653232 100644 --- a/.ci_support/linux_64_cuda_compiler_version11.2.yaml +++ b/.ci_support/linux_64_cuda_compiler_version11.2.yaml @@ -61,7 +61,7 @@ python: - 3.8.* *_cpython - 3.9.* *_cpython re2: -- 2023.03.02 +- 2023.06.02 snappy: - '1' target_platform: diff --git a/.ci_support/linux_64_cuda_compiler_versionNone.yaml b/.ci_support/linux_64_cuda_compiler_versionNone.yaml index e4424df88..c81e611ca 100644 --- a/.ci_support/linux_64_cuda_compiler_versionNone.yaml +++ b/.ci_support/linux_64_cuda_compiler_versionNone.yaml @@ -61,7 +61,7 @@ python: - 3.8.* *_cpython - 3.9.* *_cpython re2: -- 2023.03.02 +- 2023.06.02 snappy: - '1' target_platform: diff --git a/.ci_support/linux_aarch64_cuda_compiler_version11.2.yaml b/.ci_support/linux_aarch64_cuda_compiler_version11.2.yaml index a36c9083b..fbf61e8ad 100644 --- a/.ci_support/linux_aarch64_cuda_compiler_version11.2.yaml +++ b/.ci_support/linux_aarch64_cuda_compiler_version11.2.yaml @@ -65,7 +65,7 @@ python: - 3.8.* *_cpython - 3.9.* *_cpython re2: -- 2023.03.02 +- 2023.06.02 snappy: - '1' target_platform: diff --git a/.ci_support/linux_aarch64_cuda_compiler_versionNone.yaml b/.ci_support/linux_aarch64_cuda_compiler_versionNone.yaml index 7271362c8..dbb4db38c 100644 --- a/.ci_support/linux_aarch64_cuda_compiler_versionNone.yaml +++ b/.ci_support/linux_aarch64_cuda_compiler_versionNone.yaml @@ -65,7 +65,7 @@ python: - 3.8.* *_cpython - 3.9.* *_cpython re2: -- 2023.03.02 +- 2023.06.02 snappy: - '1' target_platform: diff --git a/.ci_support/linux_ppc64le_cuda_compiler_version11.2.yaml b/.ci_support/linux_ppc64le_cuda_compiler_version11.2.yaml index 71d168727..792c1d527 100644 --- a/.ci_support/linux_ppc64le_cuda_compiler_version11.2.yaml +++ b/.ci_support/linux_ppc64le_cuda_compiler_version11.2.yaml @@ -61,7 +61,7 @@ python: - 3.8.* *_cpython - 3.9.* *_cpython re2: -- 2023.03.02 +- 2023.06.02 snappy: - '1' target_platform: diff --git a/.ci_support/linux_ppc64le_cuda_compiler_versionNone.yaml b/.ci_support/linux_ppc64le_cuda_compiler_versionNone.yaml index 5ae36e495..1baf4e03d 100644 --- a/.ci_support/linux_ppc64le_cuda_compiler_versionNone.yaml +++ b/.ci_support/linux_ppc64le_cuda_compiler_versionNone.yaml @@ -61,7 +61,7 @@ python: - 3.8.* *_cpython - 3.9.* *_cpython re2: -- 2023.03.02 +- 2023.06.02 snappy: - '1' target_platform: diff --git a/.ci_support/migrations/re220230602.yaml b/.ci_support/migrations/re220230602.yaml new file mode 100644 index 000000000..b065c6c2f --- /dev/null +++ b/.ci_support/migrations/re220230602.yaml @@ -0,0 +1,8 @@ +__migrator: + build_number: 1 + kind: version + migration_number: 1 + commit_message: "Rebuild for re2 2023.06.02" +migrator_ts: 1697153785.6780672 +re2: +- 2023.06.02 diff --git a/.ci_support/osx_64_.yaml b/.ci_support/osx_64_.yaml index 5670e5072..b527c243c 100644 --- a/.ci_support/osx_64_.yaml +++ b/.ci_support/osx_64_.yaml @@ -57,7 +57,7 @@ python: - 3.8.* *_cpython - 3.9.* *_cpython re2: -- 2023.03.02 +- 2023.06.02 snappy: - '1' target_platform: diff --git a/.ci_support/osx_arm64_.yaml b/.ci_support/osx_arm64_.yaml index 9c9d3d667..4bf4b1b75 100644 --- a/.ci_support/osx_arm64_.yaml +++ b/.ci_support/osx_arm64_.yaml @@ -57,7 +57,7 @@ python: - 3.8.* *_cpython - 3.9.* *_cpython re2: -- 2023.03.02 +- 2023.06.02 snappy: - '1' target_platform: diff --git a/.ci_support/win_64_cuda_compiler_version11.2.yaml b/.ci_support/win_64_cuda_compiler_version11.2.yaml index 4f9e831af..ec27d0c8e 100644 --- a/.ci_support/win_64_cuda_compiler_version11.2.yaml +++ b/.ci_support/win_64_cuda_compiler_version11.2.yaml @@ -57,7 +57,7 @@ python: - 3.8.* *_cpython - 3.9.* *_cpython re2: -- 2023.03.02 +- 2023.06.02 snappy: - '1' target_platform: diff --git a/.ci_support/win_64_cuda_compiler_versionNone.yaml b/.ci_support/win_64_cuda_compiler_versionNone.yaml index 1d8eab8fb..c16293c1a 100644 --- a/.ci_support/win_64_cuda_compiler_versionNone.yaml +++ b/.ci_support/win_64_cuda_compiler_versionNone.yaml @@ -57,7 +57,7 @@ python: - 3.8.* *_cpython - 3.9.* *_cpython re2: -- 2023.03.02 +- 2023.06.02 snappy: - '1' target_platform: diff --git a/recipe/meta.yaml b/recipe/meta.yaml index fb6028d86..df73a5971 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -21,13 +21,15 @@ source: patches: - patches/0001-GH-15017-Python-Harden-test_memory.py-for-use-with-A.patch - patches/0002-GH-37480-Python-Bump-pandas-version-that-contains-re.patch + # backport https://github.com/apache/arrow/pull/38265 + - patches/0003-GH-38263-C-Prefer-to-call-string_view-data-instead-o.patch # testing-submodule not part of release tarball - git_url: https://github.com/apache/arrow-testing.git git_rev: 47f7b56b25683202c1fd957668e13f2abafc0f12 folder: testing build: - number: 8 + number: 9 # for cuda support, building with one version is enough to be compatible with # all later versions, since arrow is only using libcuda, and not libcudart. skip: true # [cuda_compiler_version not in ("None", cuda_compiler_version_min)] diff --git a/recipe/patches/0001-GH-15017-Python-Harden-test_memory.py-for-use-with-A.patch b/recipe/patches/0001-GH-15017-Python-Harden-test_memory.py-for-use-with-A.patch index db9b9ec3d..8926abf52 100644 --- a/recipe/patches/0001-GH-15017-Python-Harden-test_memory.py-for-use-with-A.patch +++ b/recipe/patches/0001-GH-15017-Python-Harden-test_memory.py-for-use-with-A.patch @@ -1,7 +1,7 @@ From 0ff739a0d3c8c4df4b46625f0bb0bc87c6b0d29d Mon Sep 17 00:00:00 2001 From: h-vetinari Date: Fri, 28 Jul 2023 13:31:01 +1100 -Subject: [PATCH 1/2] GH-15017: [Python] Harden test_memory.py for use with +Subject: [PATCH 1/3] GH-15017: [Python] Harden test_memory.py for use with ARROW_USE_GLOG=ON (#36901) Accept output pattern for ARROW_USE_GLOG=ON too. diff --git a/recipe/patches/0002-GH-37480-Python-Bump-pandas-version-that-contains-re.patch b/recipe/patches/0002-GH-37480-Python-Bump-pandas-version-that-contains-re.patch index 8a6006a11..1a1578e78 100644 --- a/recipe/patches/0002-GH-37480-Python-Bump-pandas-version-that-contains-re.patch +++ b/recipe/patches/0002-GH-37480-Python-Bump-pandas-version-that-contains-re.patch @@ -1,7 +1,7 @@ From 2caeef5e4ad232013e769e36fb957cf4f0c5992f Mon Sep 17 00:00:00 2001 From: Dane Pitkin <48041712+danepitkin@users.noreply.github.com> Date: Thu, 31 Aug 2023 00:32:26 -0400 -Subject: [PATCH 2/2] GH-37480: [Python] Bump pandas version that contains +Subject: [PATCH 2/3] GH-37480: [Python] Bump pandas version that contains regression for pandas issue 50127 (#37481) ### Rationale for this change diff --git a/recipe/patches/0003-GH-38263-C-Prefer-to-call-string_view-data-instead-o.patch b/recipe/patches/0003-GH-38263-C-Prefer-to-call-string_view-data-instead-o.patch new file mode 100644 index 000000000..6a2b01d4b --- /dev/null +++ b/recipe/patches/0003-GH-38263-C-Prefer-to-call-string_view-data-instead-o.patch @@ -0,0 +1,65 @@ +From 3c3727e6ad66ce3494e6c2cfe9905e3dfdf7ee00 Mon Sep 17 00:00:00 2001 +From: Felipe Oliveira Carvalho +Date: Fri, 13 Oct 2023 18:15:39 -0300 +Subject: [PATCH 3/3] GH-38263 [C++]: Prefer to call string_view::data() + instead of begin() where a char pointer is expected + +* Use re2::StringPiece instead of std::string_view when using re2` + +* Prefer data() instead of begin() + +* Don't rely on missing absl::string_view::ToString() +--- + cpp/src/arrow/compute/kernels/scalar_string_ascii.cc | 12 ++++++------ + 1 file changed, 6 insertions(+), 6 deletions(-) + +diff --git a/cpp/src/arrow/compute/kernels/scalar_string_ascii.cc b/cpp/src/arrow/compute/kernels/scalar_string_ascii.cc +index a90a7282b..90f5d40b9 100644 +--- a/cpp/src/arrow/compute/kernels/scalar_string_ascii.cc ++++ b/cpp/src/arrow/compute/kernels/scalar_string_ascii.cc +@@ -2063,12 +2063,12 @@ struct RegexSubstringReplacer { + regex_find_("(" + options_.pattern + ")", MakeRE2Options()), + regex_replacement_(options_.pattern, MakeRE2Options()) {} + +- Status ReplaceString(std::string_view s, TypedBufferBuilder* builder) const { ++ Status ReplaceString(re2::StringPiece s, TypedBufferBuilder* builder) const { + re2::StringPiece replacement(options_.replacement); + + // If s is empty, then it's essentially global + if (options_.max_replacements == -1 || s.empty()) { +- std::string s_copy(s); ++ std::string s_copy{s.data(), s.length()}; + RE2::GlobalReplace(&s_copy, regex_replacement_, replacement); + return builder->Append(reinterpret_cast(s_copy.data()), + s_copy.length()); +@@ -2079,18 +2079,18 @@ struct RegexSubstringReplacer { + // We might do this faster similar to RE2::GlobalReplace using Match and Rewrite + const char* i = s.data(); + const char* end = s.data() + s.length(); +- re2::StringPiece piece(s.data(), s.length()); ++ re2::StringPiece mutable_s{s}; + + int64_t max_replacements = options_.max_replacements; + while ((i < end) && (max_replacements != 0)) { + std::string found; +- if (!RE2::FindAndConsume(&piece, regex_find_, &found)) { ++ if (!RE2::FindAndConsume(&mutable_s, regex_find_, &found)) { + RETURN_NOT_OK(builder->Append(reinterpret_cast(i), + static_cast(end - i))); + i = end; + } else { + // wind back to the beginning of the match +- const char* pos = piece.begin() - found.length(); ++ const char* pos = mutable_s.data() - found.length(); + // the string before the pattern + RETURN_NOT_OK(builder->Append(reinterpret_cast(i), + static_cast(pos - i))); +@@ -2101,7 +2101,7 @@ struct RegexSubstringReplacer { + RETURN_NOT_OK(builder->Append(reinterpret_cast(found.data()), + static_cast(found.length()))); + // skip pattern +- i = piece.begin(); ++ i = mutable_s.data(); + max_replacements--; + } + }