diff --git a/.github/actions/build-with-host/action.yml b/.github/actions/build-with-host/action.yml index aa3065bf..0ae4e4f0 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,7 +33,7 @@ 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: | @@ -48,7 +48,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 +60,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 }} 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 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 1108693f..5a2b8216 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": "588319964489874699b378e3a94b4285126e112e", "dependencies": [ { "name": "vcpkg-cmake", @@ -12,17 +13,13 @@ "host": true } ], - "overrides": [ - { - "name": "cli11", - "version": "2.3.1" - } + "default-features": [ + "api", + "api-bindings", + "server", + "tests", + "tools" ], - "vcpkg-configuration": { - "overlay-ports": [ - "packaging/vcpkg/ports/abseil" - ] - }, "features": { "api": { "description": "Provide the API protocol buffers + gRPC .proto source files" @@ -31,73 +28,72 @@ "description": "Provide the API protocol buffers + gRPC library bindings", "dependencies": [ "grpc", - "protobuf", - { - "name": "netremote", - "features": [ - "api" - ] - } + "protobuf" ] }, - "server":{ + "server": { "description": "Provide the server binary", "dependencies": [ - { - "name": "netremote", - "features": [ - "api-bindings" - ] - }, - { - "name": "sdbus-cpp", - "platform": "linux" - }, + "cli11", + "grpc", { "name": "libsystemd", "platform": "linux" }, - "cli11", "magic-enum", + "nlohmann-json", "plog", - "nlohmann-json" + "protobuf", + { + "name": "sdbus-cpp", + "platform": "linux" + } ] }, - "tests":{ + "tests": { "description": "Enable building the tests", "dependencies": [ "catch2", + "cli11", + "grpc", + { + "name": "libsystemd", + "platform": "linux" + }, "magic-enum", "nlohmann-json", "plog", + "protobuf", { - "name": "netremote", - "features": [ - "api-bindings", - "server" - ] + "name": "sdbus-cpp", + "platform": "linux" } ] }, - "tools":{ + "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" } ] } }, - "default-features": [ - "api", - "api-bindings", - "server", - "tests", - "tools" - ], - "builtin-baseline": "9224b3bbd8df24999d85720b1d005dd6f969ade0" -} \ No newline at end of file + "overrides": [ + { + "name": "cli11", + "version": "2.3.1" + } + ] +}