From 73bc296b6f02a42b339b3f6efca7cab4d9ae73d7 Mon Sep 17 00:00:00 2001 From: John Wason Date: Fri, 9 Feb 2024 23:10:49 -0500 Subject: [PATCH] [robotraconteur] Add robotraconteur and robotraconteur-companion ports (#36596) * Add robotraconteur port * version database * Add robotraconteur-companion port * version database * Install usage * Update manifests * Add dbus and libusb dependencies on linux * version database * Add back vcpkg-cmake dependency * version database * Disable robotraconteur on linux * version database * usage newline * Use vcpkg_cmake_config_fixup * Add back linux support * version database * Improve check for libbluetooth using pkgconfig * version database * Change libbluetooth check to warning * version database * Set PACKAGE_NAME in vcpkg_cmake_config_fixup * version database --- ports/robotraconteur-companion/portfile.cmake | 37 ++++++++++++ ports/robotraconteur-companion/usage | 5 ++ ports/robotraconteur-companion/vcpkg.json | 20 +++++++ ports/robotraconteur/portfile.cmake | 38 ++++++++++++ ports/robotraconteur/usage | 5 ++ ports/robotraconteur/vcpkg.json | 59 +++++++++++++++++++ scripts/ci.baseline.txt | 3 + versions/baseline.json | 8 +++ versions/r-/robotraconteur-companion.json | 9 +++ versions/r-/robotraconteur.json | 9 +++ 10 files changed, 193 insertions(+) create mode 100644 ports/robotraconteur-companion/portfile.cmake create mode 100644 ports/robotraconteur-companion/usage create mode 100644 ports/robotraconteur-companion/vcpkg.json create mode 100644 ports/robotraconteur/portfile.cmake create mode 100644 ports/robotraconteur/usage create mode 100644 ports/robotraconteur/vcpkg.json create mode 100644 versions/r-/robotraconteur-companion.json create mode 100644 versions/r-/robotraconteur.json diff --git a/ports/robotraconteur-companion/portfile.cmake b/ports/robotraconteur-companion/portfile.cmake new file mode 100644 index 0000000000..4314c63c62 --- /dev/null +++ b/ports/robotraconteur-companion/portfile.cmake @@ -0,0 +1,37 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO robotraconteur/robotraconteur_companion + REF v0.3.1 + SHA512 ba6ac3777eb37411d1c52d3639aad668bc8bb6aa1a39e77a6b0288b6c130756f5bbbc0adcbaa13bb07fb152e76e29462eccc36c1cf1baf6aa0bfb81e3566a32f + HEAD_REF master +) + +vcpkg_from_github( + OUT_SOURCE_PATH ROBDEF_SOURCE_PATH + REPO robotraconteur/robotraconteur_standard_robdef + REF group1-v1 + SHA512 84724717e57c6e7ceefa957a8d94ee68db189e9a114564662d37b16a307735feea2a01c5622140118f537e6c084437d4bf11d0eb1e015b475fb3b636ed5009aa + HEAD_REF master +) + +file(COPY ${ROBDEF_SOURCE_PATH}/group1 DESTINATION ${SOURCE_PATH}/robdef/) + +vcpkg_cmake_configure( + SOURCE_PATH ${SOURCE_PATH} +) + +vcpkg_cmake_install() + +vcpkg_cmake_config_fixup( + PACKAGE_NAME RobotRaconteurCompanion + CONFIG_PATH "lib/cmake/RobotRaconteurCompanion" +) + +vcpkg_copy_pdbs() + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) + +file(INSTALL "${SOURCE_PATH}/LICENSE.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") + diff --git a/ports/robotraconteur-companion/usage b/ports/robotraconteur-companion/usage new file mode 100644 index 0000000000..123bb1ddbf --- /dev/null +++ b/ports/robotraconteur-companion/usage @@ -0,0 +1,5 @@ +The package robotraconteur-companion is compatible with built-in CMake targets: + + find_package(RobotRaconteurCompanion REQUIRED) + target_link_libraries(main PRIVATE RobotRaconteurCompanion) + diff --git a/ports/robotraconteur-companion/vcpkg.json b/ports/robotraconteur-companion/vcpkg.json new file mode 100644 index 0000000000..787ee304bd --- /dev/null +++ b/ports/robotraconteur-companion/vcpkg.json @@ -0,0 +1,20 @@ +{ + "name": "robotraconteur-companion", + "version-semver": "0.3.1", + "homepage": "https://github.com/robotraconteur/robotraconteur_companion", + "license": "Apache-2.0", + "supports": "(windows & (x86 | x64)) | (linux & (x86 | x64 | arm64)) | (osx & (x64 | arm64))", + "dependencies": [ + "eigen3", + "robotraconteur", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + }, + "yaml-cpp" + ] +} diff --git a/ports/robotraconteur/portfile.cmake b/ports/robotraconteur/portfile.cmake new file mode 100644 index 0000000000..c398789486 --- /dev/null +++ b/ports/robotraconteur/portfile.cmake @@ -0,0 +1,38 @@ +if(VCPKG_TARGET_IS_LINUX) + MESSAGE(WARNING "${PORT} requires libbluetooth-dev from the system package manager.\nTry: 'sudo yum install libbluetooth-dev ' (or sudo apt-get install libbluetooth-dev)") +endif() + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO robotraconteur/robotraconteur + REF v1.0.0 + SHA512 c21dd0af579272c565dd66ca935aababfa3742db524fae66fe82c929561680608e5759ce954f31a8bbcb4ffb7c4e5314f2050b513ccddb8fb49a005c6cfa6d74 + HEAD_REF master +) + +vcpkg_cmake_configure( + SOURCE_PATH ${SOURCE_PATH} + OPTIONS + -DBUILD_GEN=ON + -DBUILD_TESTING=OFF +) + +vcpkg_cmake_install() + +vcpkg_copy_tools(TOOL_NAMES RobotRaconteurGen AUTO_CLEAN) + +vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/robotraconteur) + +vcpkg_cmake_config_fixup( + PACKAGE_NAME RobotRaconteur + CONFIG_PATH "lib/cmake/RobotRaconteur" +) + +vcpkg_copy_pdbs() + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) + +file(INSTALL "${SOURCE_PATH}/LICENSE.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") + diff --git a/ports/robotraconteur/usage b/ports/robotraconteur/usage new file mode 100644 index 0000000000..17ebd24db7 --- /dev/null +++ b/ports/robotraconteur/usage @@ -0,0 +1,5 @@ +The package robotraconteur is compatible with built-in CMake targets: + + find_package(RobotRaconteur REQUIRED) + target_link_libraries(main PRIVATE RobotRaconteurCore) + diff --git a/ports/robotraconteur/vcpkg.json b/ports/robotraconteur/vcpkg.json new file mode 100644 index 0000000000..0f61608fbd --- /dev/null +++ b/ports/robotraconteur/vcpkg.json @@ -0,0 +1,59 @@ +{ + "name": "robotraconteur", + "version-semver": "1.0.0", + "description": "The Robot Raconteur communication framework core library", + "homepage": "http://robotraconteur.com", + "license": "Apache-2.0", + "supports": "(windows & (x86 | x64)) | (linux & (x86 | x64 | arm64)) | (osx & (x64 | arm64))", + "dependencies": [ + "boost-algorithm", + "boost-array", + "boost-asio", + "boost-assign", + "boost-atomic", + "boost-bind", + "boost-config", + "boost-container", + "boost-date-time", + "boost-filesystem", + "boost-foreach", + "boost-format", + "boost-function", + "boost-interprocess", + "boost-intrusive", + "boost-lexical-cast", + "boost-locale", + "boost-program-options", + "boost-random", + "boost-range", + "boost-regex", + "boost-scope-exit", + "boost-signals2", + "boost-smart-ptr", + "boost-thread", + "boost-tuple", + "boost-unordered", + "boost-utility", + "boost-uuid", + { + "name": "dbus", + "platform": "linux" + }, + { + "name": "libusb", + "platform": "linux" + }, + { + "name": "openssl", + "platform": "!windows" + }, + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/scripts/ci.baseline.txt b/scripts/ci.baseline.txt index 804f184b78..3b8eab2867 100644 --- a/scripts/ci.baseline.txt +++ b/scripts/ci.baseline.txt @@ -999,6 +999,9 @@ rest-rpc:arm64-windows=skip rest-rpc:x64-linux=skip rest-rpc:x64-osx=skip rest-rpc:arm64-osx=skip +# Missing system libraries +robotraconteur:x64-linux=fail +robotraconteur-companion:x64-linux=fail rpclib:arm64-windows=fail rpclib:arm64-uwp=fail rpclib:x64-uwp=fail diff --git a/versions/baseline.json b/versions/baseline.json index 126b6251f2..31ff62765d 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -7624,6 +7624,14 @@ "baseline": "1.2.1", "port-version": 0 }, + "robotraconteur": { + "baseline": "1.0.0", + "port-version": 0 + }, + "robotraconteur-companion": { + "baseline": "0.3.1", + "port-version": 0 + }, "rocksdb": { "baseline": "8.10.0", "port-version": 0 diff --git a/versions/r-/robotraconteur-companion.json b/versions/r-/robotraconteur-companion.json new file mode 100644 index 0000000000..0c1e13aca8 --- /dev/null +++ b/versions/r-/robotraconteur-companion.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "ea627026fece9dea23b555957a5298e894c665b5", + "version-semver": "0.3.1", + "port-version": 0 + } + ] +} diff --git a/versions/r-/robotraconteur.json b/versions/r-/robotraconteur.json new file mode 100644 index 0000000000..b66d8f4aab --- /dev/null +++ b/versions/r-/robotraconteur.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "3c14da3e3dcf13b70904a04d988437c786032398", + "version-semver": "1.0.0", + "port-version": 0 + } + ] +}