Skip to content

Commit aaeb740

Browse files
lnagelclaude
andcommitted
Migrate Linux CI from OpenSSL 3.0.19 to 3.5.5 LTS
OpenSSL 3.0 reaches EOL on 2026-09-07. Update the manylinux wheel build to compile OpenSSL 3.5.5 (LTS, supported until 2030) from source, and update documented version requirements accordingly. Closes #9 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent f703e72 commit aaeb740

4 files changed

Lines changed: 12 additions & 12 deletions

File tree

.github/workflows/build.yml

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -109,22 +109,22 @@ jobs:
109109
# Use manylinux_2_28 for GCC 13 (C++23 support)
110110
CIBW_MANYLINUX_X86_64_IMAGE: manylinux_2_28
111111
CIBW_MANYLINUX_AARCH64_IMAGE: manylinux_2_28
112-
# Install build dependencies in the container (need GCC 13 for C++23, OpenSSL 3.x)
112+
# Install build dependencies in the container (need GCC 13 for C++23, OpenSSL 3.5 LTS)
113113
CIBW_BEFORE_ALL_LINUX: >
114114
dnf install -y gcc-toolset-13 perl-IPC-Cmd perl-Time-Piece libxml2-devel zlib-devel &&
115115
source /opt/rh/gcc-toolset-13/enable &&
116-
curl -L https://www.openssl.org/source/openssl-3.0.19.tar.gz | tar xz &&
117-
cd openssl-3.0.19 &&
118-
./config --prefix=/usr/local/openssl3 --openssldir=/usr/local/openssl3 &&
116+
curl -L https://github.com/openssl/openssl/releases/download/openssl-3.5.5/openssl-3.5.5.tar.gz | tar xz &&
117+
cd openssl-3.5.5 &&
118+
./config --prefix=/usr/local/openssl35 --openssldir=/usr/local/openssl35 &&
119119
make -j$(nproc) &&
120120
make install_sw install_ssldirs
121121
CIBW_ENVIRONMENT_LINUX: >
122122
CC=/opt/rh/gcc-toolset-13/root/usr/bin/gcc
123123
CXX=/opt/rh/gcc-toolset-13/root/usr/bin/g++
124-
OPENSSL_ROOT_DIR=/usr/local/openssl3
125-
PKG_CONFIG_PATH=/usr/local/openssl3/lib64/pkgconfig
124+
OPENSSL_ROOT_DIR=/usr/local/openssl35
125+
PKG_CONFIG_PATH=/usr/local/openssl35/lib64/pkgconfig
126126
PATH=/opt/rh/gcc-toolset-13/root/usr/bin:$PATH
127-
LD_LIBRARY_PATH=/usr/local/openssl3/lib64:/usr/local/openssl3/lib:/opt/rh/gcc-toolset-13/root/usr/lib64:$LD_LIBRARY_PATH
127+
LD_LIBRARY_PATH=/usr/local/openssl35/lib64:/usr/local/openssl35/lib:/opt/rh/gcc-toolset-13/root/usr/lib64:$LD_LIBRARY_PATH
128128
# Install flatbuffers from source on Linux
129129
CIBW_BEFORE_BUILD_LINUX: >
130130
uv pip install --system cmake swig &&

CLAUDE.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ Python bindings for [libcdoc](https://github.com/open-eid/libcdoc) via SWIG. Pro
1515
- **Static linking** (`BUILD_SHARED_LIBS=OFF`) — self-contained wheels, LGPL-2.1 compliance via RELINKING.md + sdist source
1616
- **Patch-based approach** — upstream libcdoc.i is modified via `patches/libcdoc-python.patch` at CMake configure time (rather than forking)
1717
- **SWIG `%rename` before `%include`** — order matters, rename rules must appear before upstream interface is included
18-
- **`MACOSX_DEPLOYMENT_TARGET=15.0`** — required by Homebrew OpenSSL 3
18+
- **`MACOSX_DEPLOYMENT_TARGET=15.0`** — required by Homebrew OpenSSL 3.5+
1919

2020
## Test
2121

@@ -46,7 +46,7 @@ Never use `git -C <path>` — always run git commands from the working directory
4646
4. `build_sdist` — on release/PR
4747
5. `publish` — OIDC trusted publishing to PyPI
4848

49-
Linux wheels build OpenSSL and flatbuffers from source inside manylinux_2_28 with GCC 13.
49+
Linux wheels build OpenSSL 3.5 LTS and flatbuffers from source inside manylinux_2_28 with GCC 13.
5050

5151
## Version management
5252

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,15 +14,15 @@ uv add pycdoc
1414

1515
### Runtime
1616
- Python 3.10+
17-
- OpenSSL 3.0+ (usually pre-installed on modern systems)
17+
- OpenSSL 3.5+ (usually pre-installed on modern systems)
1818

1919
### Building from Source
2020

2121
Building from source requires:
2222
- Python 3.10+
2323
- CMake 3.20+
2424
- SWIG 4.0+
25-
- OpenSSL 3.0+
25+
- OpenSSL 3.5+
2626
- libxml2
2727
- zlib
2828
- FlatBuffers

RELINKING.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ Section 6, you have the right to modify libcdoc and relink. Here's how.
99
- CMake 3.20+
1010
- C++23 compiler (GCC 13+, Clang 16+, MSVC 2022+)
1111
- SWIG 4.0+
12-
- System libraries: OpenSSL 3.0+, libxml2, zlib, flatbuffers
12+
- System libraries: OpenSSL 3.5+, libxml2, zlib, flatbuffers
1313

1414
## Rebuilding from source distribution
1515

0 commit comments

Comments
 (0)