From fb9af9399c2e018cbc14ab9c3bbfe26fae700d3f Mon Sep 17 00:00:00 2001 From: Andrew Chin Date: Wed, 3 Dec 2025 14:18:54 -0500 Subject: [PATCH 1/3] Fix build on macos std::shared_ptr::unique() is deprecated in C++17 and removed in C++20. The CI builds on macos fail because of this --- src/terminal/terminalframebuffer.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/terminal/terminalframebuffer.h b/src/terminal/terminalframebuffer.h index 9039d4e7f..075be53d7 100644 --- a/src/terminal/terminalframebuffer.h +++ b/src/terminal/terminalframebuffer.h @@ -428,7 +428,7 @@ class Framebuffer row = ds.get_cursor_row(); row_pointer& mutable_row = rows.at( row ); // If the row is shared, copy it. - if ( !mutable_row.unique() ) { + if ( mutable_row.use_count() > 1 ) { mutable_row = std::make_shared( *mutable_row ); } return mutable_row.get(); From 05942ccfa2e5be9128ce9a7f14fc05144320272e Mon Sep 17 00:00:00 2001 From: Andrew Chin Date: Sat, 6 Dec 2025 09:36:35 -0500 Subject: [PATCH 2/3] Fix CI build on macos On macos, protobuf depends on abseil, which doesn't build cleanly with the -Werror and -pedantic options we use in CI. However this is a 3rd party library, so these errors aren't useful for us. This is a bit of a hack, but it changes the protobuf include paths to be "system" paths (with -isystem), which tells the compiler to ignore them for the purposes of pedantic warning checking. --- .github/workflows/ci.yml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 27a6fcae9..0de619c00 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -24,7 +24,11 @@ jobs: - name: "setup macos build environment" if: ${{ startsWith(matrix.os, 'macos') }} - run: brew install protobuf automake + run: | + brew install protobuf automake + F=$(pkg-config --cflags protobuf | sed 's/-I\/opt\/homebrew/-isystem \/opt\/homebrew/g') + echo "protobuf_CFLAGS=$F" >> $GITHUB_ENV + - name: "generate build scripts" run: ./autogen.sh From 6077286494a5f35297ced59cc75b239b0461438a Mon Sep 17 00:00:00 2001 From: Andrew Chin Date: Sat, 6 Dec 2025 15:14:55 -0500 Subject: [PATCH 3/3] Drop ubuntu-20.04 from CI and add ubuntu-24.04 --- .github/workflows/ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 0de619c00..14ca8098a 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -8,11 +8,11 @@ jobs: strategy: matrix: - os: [macos-latest, ubuntu-20.04, ubuntu-22.04] + os: [macos-latest, ubuntu-22.04, ubuntu-24.04] crypto: [auto] include: - crypto: nettle - os: ubuntu-20.04 + os: ubuntu-22.04 steps: