From 9bbec84fe1debdae0c74fc8d0d61a1574efa3a92 Mon Sep 17 00:00:00 2001 From: Andrew Beltrano Date: Sat, 31 Jan 2026 16:55:00 -0700 Subject: [PATCH 1/7] Update vcpkg baseline to latest. --- vcpkg.json | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/vcpkg.json b/vcpkg.json index 1108693f..2f8f32c2 100644 --- a/vcpkg.json +++ b/vcpkg.json @@ -40,7 +40,7 @@ } ] }, - "server":{ + "server": { "description": "Provide the server binary", "dependencies": [ { @@ -63,7 +63,7 @@ "nlohmann-json" ] }, - "tests":{ + "tests": { "description": "Enable building the tests", "dependencies": [ "catch2", @@ -79,7 +79,7 @@ } ] }, - "tools":{ + "tools": { "description": "Enable building the tools", "dependencies": [ { @@ -99,5 +99,5 @@ "tests", "tools" ], - "builtin-baseline": "9224b3bbd8df24999d85720b1d005dd6f969ade0" -} \ No newline at end of file + "builtin-baseline": "6d7bf7ef2193e2d1c5798a5ff8811d533104c861" +} From 31bdd290fa36bfcfc5e319d9af3166fb09d13a9c Mon Sep 17 00:00:00 2001 From: Andrew Beltrano Date: Sat, 31 Jan 2026 16:57:58 -0700 Subject: [PATCH 2/7] Move vcpkg configuration to separate file. --- vcpkg | 2 +- vcpkg-configuration.json | 6 ++++++ vcpkg.json | 7 +------ 3 files changed, 8 insertions(+), 7 deletions(-) create mode 100644 vcpkg-configuration.json diff --git a/vcpkg b/vcpkg index 9224b3bb..76a382b7 160000 --- a/vcpkg +++ b/vcpkg @@ -1 +1 @@ -Subproject commit 9224b3bbd8df24999d85720b1d005dd6f969ade0 +Subproject commit 76a382b7b8ce7ed30bbf976aa9aecae868594d5e diff --git a/vcpkg-configuration.json b/vcpkg-configuration.json new file mode 100644 index 00000000..3ecb54e8 --- /dev/null +++ b/vcpkg-configuration.json @@ -0,0 +1,6 @@ +{ + "$schema": "https://raw.githubusercontent.com/microsoft/vcpkg-tool/main/docs/vcpkg-configuration.schema.json", + "overlay-ports": [ + "packaging/vcpkg/ports/abseil" + ] +} diff --git a/vcpkg.json b/vcpkg.json index 2f8f32c2..541b09c1 100644 --- a/vcpkg.json +++ b/vcpkg.json @@ -18,11 +18,6 @@ "version": "2.3.1" } ], - "vcpkg-configuration": { - "overlay-ports": [ - "packaging/vcpkg/ports/abseil" - ] - }, "features": { "api": { "description": "Provide the API protocol buffers + gRPC .proto source files" @@ -99,5 +94,5 @@ "tests", "tools" ], - "builtin-baseline": "6d7bf7ef2193e2d1c5798a5ff8811d533104c861" + "builtin-baseline": "76a382b7b8ce7ed30bbf976aa9aecae868594d5e" } From 4c95951351b8f25da21e1b2b4b8ac70c21352589 Mon Sep 17 00:00:00 2001 From: Andrew Beltrano Date: Sat, 31 Jan 2026 18:37:26 -0700 Subject: [PATCH 3/7] Force use of system binaries for vcpkg. --- .github/actions/build-with-host/action.yml | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/.github/actions/build-with-host/action.yml b/.github/actions/build-with-host/action.yml index aa3065bf..f42b7250 100644 --- a/.github/actions/build-with-host/action.yml +++ b/.github/actions/build-with-host/action.yml @@ -1,4 +1,4 @@ - + name: 'build-on-host' description: 'Build the repository on the runner host system' inputs: @@ -33,13 +33,14 @@ inputs: runs: using: 'composite' steps: - - name: Configure vcpkg to use Github Actions Cache + - name: Configure vcpkg to use Github Actions Cache uses: actions/github-script@v7 with: script: | core.exportVariable('ACTIONS_CACHE_URL', process.env.ACTIONS_CACHE_URL || ''); core.exportVariable('ACTIONS_RUNTIME_TOKEN', process.env.ACTIONS_RUNTIME_TOKEN || ''); core.exportVariable('VCPKG_BINARY_SOURCES', 'clear;x-gha,readwrite'); + core.exportVariable('VCPKG_FORCE_SYSTEM_BINARIES', '1'); - name: Install Linux build dependencies if: ${{ inputs.os == 'linux' }} @@ -48,7 +49,7 @@ runs: sudo -E apt-get update sudo -E apt-get upgrade # Install core build dependencies - sudo -E apt-get install -qq --no-install-recommends autoconf automake autopoint build-essential ca-certificates cmake curl git gnupg libltdl-dev libmount-dev libtool linux-libc-dev libstdc++-14-dev ninja-build pkg-config python3-jinja2 tar unzip zip + sudo -E apt-get install -qq --no-install-recommends autoconf automake autopoint build-essential ca-certificates cmake curl git gnupg libltdl-dev libmount-dev libtool linux-libc-dev libstdc++-14-dev ninja-build pkg-config python3-jinja2 tar unzip zip # Install LLVM 18 toolchain sudo -E apt-get install -qq --no-install-recommends libllvm-18-ocaml-dev libllvm18 llvm-18 llvm-18-dev llvm-18-doc llvm-18-examples llvm-18-runtime clang-18 clang-tools-18 clang-18-doc libclang-common-18-dev libclang-18-dev libclang1-18 clang-format-18 python3-clang-18 clangd-18 clang-tidy-18 libclang-rt-18-dev libpolly-18-dev libfuzzer-18-dev lldb-18 libc++-18-dev libc++abi-18-dev libomp-18-dev libclc-18-dev libunwind-18-dev libmlir-18-dev mlir-18-tools libbolt-18-dev bolt-18 flang-18 libclang-rt-18-dev-wasm32 libclang-rt-18-dev-wasm64 libc++-18-dev-wasm32 libc++abi-18-dev-wasm32 libclang-rt-18-dev-wasm32 libclang-rt-18-dev-wasm64 libllvmlibc-18-dev # Install hostapd dependencies @@ -60,6 +61,16 @@ runs: run: cmake --preset ${{ inputs.preset-name }}-${{ inputs.os }} --fresh -DCMAKE_BUILD_TYPE=${{ inputs.build-type }} shell: pwsh + - name: Upload vcpkg logs on failure + if: failure() + uses: actions/upload-artifact@v4 + with: + name: vcpkg-logs-${{ runner.os }}-${{ inputs.build-type }} + path: | + ${{ github.workspace }}-cmake/build/${{ inputs.preset-name }}-${{ inputs.os }}/vcpkg-manifest-install.log + ${{ github.workspace }}/vcpkg/buildtrees/**/*.log + if-no-files-found: ignore + - name: CMake Configure Cross-Compile ${{ inputs.arch }} if: ${{ inputs.arch }} run: cmake --preset ${{ inputs.preset-name }}-${{ inputs.os }} --fresh -DCMAKE_BUILD_TYPE=${{ inputs.build-type }} -DNETREMOTE_EXCLUDE_TESTS=TRUE -A ${{ inputs.arch }} From 53c3a675470c52283803354b9b46ebfbfea9f448 Mon Sep 17 00:00:00 2001 From: Andrew Beltrano Date: Mon, 2 Feb 2026 10:39:44 -0700 Subject: [PATCH 4/7] Re-jig to use old vcpkg baseline. --- vcpkg | 2 +- vcpkg.json | 54 +++++++++++++++++++++++++++--------------------------- 2 files changed, 28 insertions(+), 28 deletions(-) diff --git a/vcpkg b/vcpkg index 76a382b7..9224b3bb 160000 --- a/vcpkg +++ b/vcpkg @@ -1 +1 @@ -Subproject commit 76a382b7b8ce7ed30bbf976aa9aecae868594d5e +Subproject commit 9224b3bbd8df24999d85720b1d005dd6f969ade0 diff --git a/vcpkg.json b/vcpkg.json index 541b09c1..7f0c306a 100644 --- a/vcpkg.json +++ b/vcpkg.json @@ -2,6 +2,7 @@ "$schema": "https://raw.githubusercontent.com/microsoft/vcpkg-tool/main/docs/vcpkg.schema.json", "name": "netremote", "version-string": "0.5.2", + "builtin-baseline": "9224b3bbd8df24999d85720b1d005dd6f969ade0", "dependencies": [ { "name": "vcpkg-cmake", @@ -12,11 +13,12 @@ "host": true } ], - "overrides": [ - { - "name": "cli11", - "version": "2.3.1" - } + "default-features": [ + "api", + "api-bindings", + "server", + "tests", + "tools" ], "features": { "api": { @@ -26,36 +28,36 @@ "description": "Provide the API protocol buffers + gRPC library bindings", "dependencies": [ "grpc", - "protobuf", { "name": "netremote", "features": [ "api" ] - } + }, + "protobuf" ] }, "server": { "description": "Provide the server binary", "dependencies": [ + "cli11", + { + "name": "libsystemd", + "platform": "linux" + }, + "magic-enum", { "name": "netremote", "features": [ "api-bindings" ] }, + "nlohmann-json", + "plog", { "name": "sdbus-cpp", "platform": "linux" - }, - { - "name": "libsystemd", - "platform": "linux" - }, - "cli11", - "magic-enum", - "plog", - "nlohmann-json" + } ] }, "tests": { @@ -63,15 +65,15 @@ "dependencies": [ "catch2", "magic-enum", - "nlohmann-json", - "plog", { "name": "netremote", "features": [ "api-bindings", "server" ] - } + }, + "nlohmann-json", + "plog" ] }, "tools": { @@ -87,12 +89,10 @@ ] } }, - "default-features": [ - "api", - "api-bindings", - "server", - "tests", - "tools" - ], - "builtin-baseline": "76a382b7b8ce7ed30bbf976aa9aecae868594d5e" + "overrides": [ + { + "name": "cli11", + "version": "2.3.1" + } + ] } From 38dc1c2f57a54803258706bd7b9ab27282f6fdce Mon Sep 17 00:00:00 2001 From: Andrew Beltrano Date: Mon, 2 Feb 2026 10:48:48 -0700 Subject: [PATCH 5/7] Remove self-referential dependencies from vcpkg manifest. --- vcpkg | 2 +- vcpkg.json | 51 ++++++++++++++++++++++++++------------------------- 2 files changed, 27 insertions(+), 26 deletions(-) diff --git a/vcpkg b/vcpkg index 9224b3bb..58831996 160000 --- a/vcpkg +++ b/vcpkg @@ -1 +1 @@ -Subproject commit 9224b3bbd8df24999d85720b1d005dd6f969ade0 +Subproject commit 588319964489874699b378e3a94b4285126e112e diff --git a/vcpkg.json b/vcpkg.json index 7f0c306a..5a2b8216 100644 --- a/vcpkg.json +++ b/vcpkg.json @@ -2,7 +2,7 @@ "$schema": "https://raw.githubusercontent.com/microsoft/vcpkg-tool/main/docs/vcpkg.schema.json", "name": "netremote", "version-string": "0.5.2", - "builtin-baseline": "9224b3bbd8df24999d85720b1d005dd6f969ade0", + "builtin-baseline": "588319964489874699b378e3a94b4285126e112e", "dependencies": [ { "name": "vcpkg-cmake", @@ -28,12 +28,6 @@ "description": "Provide the API protocol buffers + gRPC library bindings", "dependencies": [ "grpc", - { - "name": "netremote", - "features": [ - "api" - ] - }, "protobuf" ] }, @@ -41,19 +35,15 @@ "description": "Provide the server binary", "dependencies": [ "cli11", + "grpc", { "name": "libsystemd", "platform": "linux" }, "magic-enum", - { - "name": "netremote", - "features": [ - "api-bindings" - ] - }, "nlohmann-json", "plog", + "protobuf", { "name": "sdbus-cpp", "platform": "linux" @@ -64,27 +54,38 @@ "description": "Enable building the tests", "dependencies": [ "catch2", - "magic-enum", + "cli11", + "grpc", { - "name": "netremote", - "features": [ - "api-bindings", - "server" - ] + "name": "libsystemd", + "platform": "linux" }, + "magic-enum", "nlohmann-json", - "plog" + "plog", + "protobuf", + { + "name": "sdbus-cpp", + "platform": "linux" + } ] }, "tools": { "description": "Enable building the tools", "dependencies": [ + "cli11", + "grpc", { - "name": "netremote", - "features": [ - "api-bindings", - "server" - ] + "name": "libsystemd", + "platform": "linux" + }, + "magic-enum", + "nlohmann-json", + "plog", + "protobuf", + { + "name": "sdbus-cpp", + "platform": "linux" } ] } From 269d94cce7670204defb6e21c7b6fd4e62d77c71 Mon Sep 17 00:00:00 2001 From: Andrew Beltrano Date: Mon, 2 Feb 2026 10:59:57 -0700 Subject: [PATCH 6/7] Remove abseil overlay port and vcpkg-configuration.json file (no longer needed). --- ...-absl_cc_library-target-as-test-only.patch | 24 -------- packaging/vcpkg/ports/abseil/portfile.cmake | 60 ------------------- packaging/vcpkg/ports/abseil/vcpkg.json | 27 --------- vcpkg-configuration.json | 6 -- 4 files changed, 117 deletions(-) delete mode 100644 packaging/vcpkg/ports/abseil/0001-Mark-absl_cc_library-target-as-test-only.patch delete mode 100644 packaging/vcpkg/ports/abseil/portfile.cmake delete mode 100644 packaging/vcpkg/ports/abseil/vcpkg.json delete mode 100644 vcpkg-configuration.json diff --git a/packaging/vcpkg/ports/abseil/0001-Mark-absl_cc_library-target-as-test-only.patch b/packaging/vcpkg/ports/abseil/0001-Mark-absl_cc_library-target-as-test-only.patch deleted file mode 100644 index 23e3e4dc..00000000 --- a/packaging/vcpkg/ports/abseil/0001-Mark-absl_cc_library-target-as-test-only.patch +++ /dev/null @@ -1,24 +0,0 @@ -From ccb2f752f6ba4f90eda8931de78c9d8535286602 Mon Sep 17 00:00:00 2001 -From: Andrew Beltrano -Date: Tue, 16 Jul 2024 13:36:58 -0600 -Subject: [PATCH 1/1] Mark absl_cc_library target as test-only. - ---- - absl/container/CMakeLists.txt | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/absl/container/CMakeLists.txt b/absl/container/CMakeLists.txt -index 128cc0e9..11d65d55 100644 ---- a/absl/container/CMakeLists.txt -+++ b/absl/container/CMakeLists.txt -@@ -213,6 +213,7 @@ absl_cc_library( - DEPS - absl::config - GTest::gmock -+ TESTONLY - ) - - absl_cc_test( --- -2.43.0 - diff --git a/packaging/vcpkg/ports/abseil/portfile.cmake b/packaging/vcpkg/ports/abseil/portfile.cmake deleted file mode 100644 index cd5c007e..00000000 --- a/packaging/vcpkg/ports/abseil/portfile.cmake +++ /dev/null @@ -1,60 +0,0 @@ -if (NOT VCPKG_TARGET_IS_WINDOWS) - vcpkg_check_linkage(ONLY_STATIC_LIBRARY) -endif() - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO abseil/abseil-cpp - REF "${VERSION}" - SHA512 41504899ac4fd4a6eaa0a5fdf27a7765ec81962fb99b6a07982ceed32c5289e9eb12206c83a70fd44c5c3e1b96c2bfa160eb12f1dbbb45f1109d632c7690de90 - HEAD_REF master - PATCHES - 0001-Mark-absl_cc_library-target-as-test-only.patch -) - -vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS - FEATURES - cxx17 ABSL_USE_CXX17 -) - -# With ABSL_PROPAGATE_CXX_STD=ON abseil automatically detect if it is being -# compiled with C++14 or C++17, and modifies the installed `absl/base/options.h` -# header accordingly. This works even if CMAKE_CXX_STANDARD is not set. Abseil -# uses the compiler default behavior to update `absl/base/options.h` as needed. -if (ABSL_USE_CXX17) - set(ABSL_USE_CXX17_OPTION "-DCMAKE_CXX_STANDARD=17") -endif () - -vcpkg_cmake_configure( - SOURCE_PATH "${SOURCE_PATH}" - DISABLE_PARALLEL_CONFIGURE - OPTIONS - -DABSL_PROPAGATE_CXX_STD=ON - ${ABSL_USE_CXX17_OPTION} -) - -vcpkg_cmake_install() -vcpkg_cmake_config_fixup(PACKAGE_NAME absl CONFIG_PATH lib/cmake/absl) -vcpkg_fixup_pkgconfig() - -vcpkg_copy_pdbs() -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share" - "${CURRENT_PACKAGES_DIR}/debug/include" - "${CURRENT_PACKAGES_DIR}/include/absl/copts" - "${CURRENT_PACKAGES_DIR}/include/absl/strings/testdata" - "${CURRENT_PACKAGES_DIR}/include/absl/time/internal/cctz/testdata" -) - -if (VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") - file(GLOB_RECURSE headers "${CURRENT_PACKAGES_DIR}/include/absl/*.h") - foreach(header IN LISTS ${headers}) - vcpkg_replace_string("${header}" - "!defined(ABSL_CONSUME_DLL)" "0" - ) - vcpkg_replace_string("${header}" - "defined(ABSL_CONSUME_DLL)" "1" - ) - endforeach() -endif() - -vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/packaging/vcpkg/ports/abseil/vcpkg.json b/packaging/vcpkg/ports/abseil/vcpkg.json deleted file mode 100644 index 2749d4f1..00000000 --- a/packaging/vcpkg/ports/abseil/vcpkg.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "name": "abseil", - "version": "20240116.1", - "port-version": 1, - "description": [ - "Abseil is an open-source collection of C++ library code designed to augment the C++ standard library. The Abseil library code is collected from Google's own C++ code base, has been extensively tested and used in production, and is the same code we depend on in our daily coding lives.", - "In some cases, Abseil provides pieces missing from the C++ standard; in others, Abseil provides alternatives to the standard for special needs we've found through usage in the Google code base. We denote those cases clearly within the library code we provide you.", - "Abseil is not meant to be a competitor to the standard library; we've just found that many of these utilities serve a purpose within our code base, and we now want to provide those resources to the C++ community as a whole." - ], - "homepage": "https://github.com/abseil/abseil-cpp", - "license": "Apache-2.0", - "dependencies": [ - { - "name": "vcpkg-cmake", - "host": true - }, - { - "name": "vcpkg-cmake-config", - "host": true - } - ], - "features": { - "cxx17": { - "description": "Enable compiler C++17." - } - } -} diff --git a/vcpkg-configuration.json b/vcpkg-configuration.json deleted file mode 100644 index 3ecb54e8..00000000 --- a/vcpkg-configuration.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "$schema": "https://raw.githubusercontent.com/microsoft/vcpkg-tool/main/docs/vcpkg-configuration.schema.json", - "overlay-ports": [ - "packaging/vcpkg/ports/abseil" - ] -} From c560e3c57ee946a5899dae92adc0df6fd908b505 Mon Sep 17 00:00:00 2001 From: Andrew Beltrano Date: Mon, 2 Feb 2026 11:00:41 -0700 Subject: [PATCH 7/7] Remove earlier vcpkg debugging settings. --- .github/actions/build-with-host/action.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/actions/build-with-host/action.yml b/.github/actions/build-with-host/action.yml index f42b7250..0ae4e4f0 100644 --- a/.github/actions/build-with-host/action.yml +++ b/.github/actions/build-with-host/action.yml @@ -40,7 +40,6 @@ runs: core.exportVariable('ACTIONS_CACHE_URL', process.env.ACTIONS_CACHE_URL || ''); core.exportVariable('ACTIONS_RUNTIME_TOKEN', process.env.ACTIONS_RUNTIME_TOKEN || ''); core.exportVariable('VCPKG_BINARY_SOURCES', 'clear;x-gha,readwrite'); - core.exportVariable('VCPKG_FORCE_SYSTEM_BINARIES', '1'); - name: Install Linux build dependencies if: ${{ inputs.os == 'linux' }}