From 0566fe9bf3933b6586e14439059d96f1ba56ecfb Mon Sep 17 00:00:00 2001 From: "riseproject-dev[bot]" <330740410+riseproject-dev[bot]@users.noreply.github.com> Date: Thu, 22 Oct 2026 12:09:56 +0000 Subject: [PATCH 1/3] pyorc: Add version 0.12.0 Signed-off-by: riseproject-dev[bot] <330740410+riseproject-dev[bot]@users.noreply.github.com> --- docs/packages/pyorc.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/packages/pyorc.yaml b/docs/packages/pyorc.yaml index 4f31e920ea1b..56594d930803 100644 --- a/docs/packages/pyorc.yaml +++ b/docs/packages/pyorc.yaml @@ -18,3 +18,4 @@ versions: - filename: pyorc-0.11.0-cp314-cp314t-manylinux_2_39_riscv64.whl sha256: 9a83b8f46e268b5c78713e9647e0da6d1757acca735e47ce34f4e52e956e8705 requires-python: <4.0,>=3.6 +- version: 0.12.0 From 0dee2371aaf6aa61523dd3b0c18457f382ce3dfa Mon Sep 17 00:00:00 2001 From: Ludovic Henry Date: Fri, 23 Oct 2026 09:09:00 +0800 Subject: [PATCH 2/3] pyorc: apply patches only for versions that have them 0.12.0's setup.py already passes -DSTOP_BUILD_ON_WARNING=OFF, which the 0.11.0 patch worked around, so there is no 0.12.0 patch directory and the unconditional git apply failed on the missing glob. --- .github/workflows/build-pyorc.yml | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build-pyorc.yml b/.github/workflows/build-pyorc.yml index a0a767c7eed6..9a6fa61634d8 100644 --- a/.github/workflows/build-pyorc.yml +++ b/.github/workflows/build-pyorc.yml @@ -80,8 +80,14 @@ jobs: path: python-wheels persist-credentials: false + # Only some versions need patching (0.12.0's setup.py already passes + # -DSTOP_BUILD_ON_WARNING=OFF), so a missing directory is not an error. - name: Patch pyorc source - run: git apply python-wheels/patches/pyorc/${{ env.PYORC_VERSION }}/*.patch + run: | + patches="$PWD/python-wheels/patches/pyorc/${PYORC_VERSION}" + if [ -d "$patches" ]; then + git apply -v "$patches"/*.patch + fi - name: Stage the vendored Apache ORC/lz4/zstd licences # setup.py downloads and compiles all three from source; none of their From 5605d579d29c07f67d5c9cfae6cf62aea29e3960 Mon Sep 17 00:00:00 2001 From: Ludovic Henry Date: Fri, 23 Oct 2026 17:31:12 +0800 Subject: [PATCH 3/3] pyorc: carry the liborc -Wunused-parameter patch over to 0.12.0 --- ...-Werror-unused-parameter-in-liborc-s.patch | 69 +++++++++++++++++++ 1 file changed, 69 insertions(+) create mode 100644 patches/pyorc/0.12.0/0001-setup.py-silence-Werror-unused-parameter-in-liborc-s.patch diff --git a/patches/pyorc/0.12.0/0001-setup.py-silence-Werror-unused-parameter-in-liborc-s.patch b/patches/pyorc/0.12.0/0001-setup.py-silence-Werror-unused-parameter-in-liborc-s.patch new file mode 100644 index 000000000000..e26b8f585404 --- /dev/null +++ b/patches/pyorc/0.12.0/0001-setup.py-silence-Werror-unused-parameter-in-liborc-s.patch @@ -0,0 +1,69 @@ +From c332c54a506abef333f41f687088a1e95e4f5f75 Mon Sep 17 00:00:00 2001 +From: Ludovic Henry +Date: Tue, 8 Sep 2026 08:31:16 +0200 +Subject: [PATCH] setup.py: silence -Werror=unused-parameter in liborc's + CpuInfoUtil.cc fallback stubs + +Upstream-Status: To upstream [not filed: this session does not open issues/PRs against third-party repos] + +liborc's CpuInfoUtil.cc gates its CPU-detection code on x86/ARM/PPC; any other +architecture (riscv64 included) falls into the '#else' stub branch, whose +no-op ArchParseUserSimdLevel/ArchVerifyCpuRequirements bodies leave +simdLevel/hardwareFlags/ci unused. liborc's CMakeLists.txt defaults +STOP_BUILD_ON_WARNING to ON, turning GCC's -Wunused-parameter into a hard +build error on any architecture that hits this branch; upstream's own CI +only ever builds x86/ARM/PPC, so it never trips this. Add explicit (void) +casts to the extracted source right after download, mirroring the existing +_patch_protobuf_version fixup. + +Signed-off-by: Ludovic Henry +--- + setup.py | 25 +++++++++++++++++++++++++ + 1 file changed, 25 insertions(+) + +diff --git a/setup.py b/setup.py +index e00a766..ab3b15e 100644 +--- a/setup.py ++++ b/setup.py +@@ -112,6 +112,30 @@ class BuildExt(build_ext): + tar_src.extractall(self.output_dir) + tar_src.close() + ++ def _fix_cpuinfo_util_unused_params(self) -> None: ++ file_path = ( ++ self.output_dir / f"orc-{self.orc_version}" / "c++" / "src" / "CpuInfoUtil.cc" ++ ) ++ text = file_path.read_text(encoding="utf-8") ++ text = text.replace( ++ "bool ArchParseUserSimdLevel(const std::string& simdLevel, int64_t* hardwareFlags) {\n" ++ " return true;\n" ++ " }", ++ "bool ArchParseUserSimdLevel(const std::string& simdLevel, int64_t* hardwareFlags) {\n" ++ " (void)simdLevel;\n" ++ " (void)hardwareFlags;\n" ++ " return true;\n" ++ " }", ++ 1, ++ ) ++ text = text.replace( ++ "void ArchVerifyCpuRequirements(const CpuInfo* ci) {}", ++ "void ArchVerifyCpuRequirements(const CpuInfo* ci) { (void)ci; }", ++ 1, ++ ) ++ file_path.write_text(text, encoding="utf-8") ++ logging.info("Silenced unused-parameter warnings in CpuInfoUtil.cc's non-x86/ARM/PPC stubs") ++ + def _patch_protobuf_version(self, version, hash) -> None: + file_path = ( + self.output_dir +@@ -372,6 +396,7 @@ class BuildExt(build_ext): + ) + if not os.path.isdir(self.output_dir / f"orc-{self.orc_version}"): + self._download_source() ++ self._fix_cpuinfo_util_unused_params() + + if self.download_only: + logging.info("Only downloaded the ORC library source. Skip build_ext") +-- +2.50.1 (Apple Git-155) +