Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion pkg/deb/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@

# Build pulsar client library in Centos with tools to

FROM debian:11
FROM debian:12

ARG PLATFORM

Expand Down
5 changes: 5 additions & 0 deletions pkg/rpm/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -23,9 +23,14 @@ FROM rockylinux:8

ARG PLATFORM

# gcc-toolset-12 supplies GCC 12 for the C++20 scalable-topics code (concepts,
# coroutines, `using enum`) while keeping the el8 / glibc 2.28 ABI, so the produced
# RPM still runs on RHEL/Rocky/CentOS 8. It is enabled in the spec %build via
# `source /opt/rh/gcc-toolset-12/enable`.
RUN yum update -y && \
yum install -y \
gcc-c++ \
gcc-toolset-12 \
make \
rpm-build \
which \
Expand Down
4 changes: 4 additions & 0 deletions pkg/rpm/SPECS/pulsar-client.spec
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,10 @@ static library.
%setup -q -n apache-pulsar-client-cpp-%{pom_version}

%build
# Build with GCC 12 from gcc-toolset-12 (installed in the build image) for C++20
# support, while keeping the el8 ABI. Sets PATH/LD_LIBRARY_PATH to the toolset for
# the cmake build below.
source /opt/rh/gcc-toolset-12/enable
git clone https://github.com/microsoft/vcpkg.git
cmake -B build -DINTEGRATE_VCPKG=ON -DCMAKE_BUILD_TYPE=Release \
-DBUILD_TESTS=OFF -DBUILD_DYNAMIC_LIB=ON -DBUILD_STATIC_LIB=ON
Expand Down
Loading