From f5c5b8ddbb88dec7eed4a5ac54c36d1c64d2d29d Mon Sep 17 00:00:00 2001 From: talregev Date: Thu, 9 Nov 2023 21:28:51 +0200 Subject: [PATCH] Add port gui7 (#34830) --- ports/gz-gui7/dependencies.patch | 22 ++++++++++++++++++++++ ports/gz-gui7/portfile.cmake | 28 ++++++++++++++++++++++++++++ ports/gz-gui7/vcpkg.json | 32 ++++++++++++++++++++++++++++++++ ports/gz-physics6/portfile.cmake | 4 ++-- ports/gz-physics6/vcpkg.json | 1 + versions/baseline.json | 6 +++++- versions/g-/gz-gui7.json | 9 +++++++++ versions/g-/gz-physics6.json | 5 +++++ 8 files changed, 104 insertions(+), 3 deletions(-) create mode 100644 ports/gz-gui7/dependencies.patch create mode 100644 ports/gz-gui7/portfile.cmake create mode 100644 ports/gz-gui7/vcpkg.json create mode 100644 versions/g-/gz-gui7.json diff --git a/ports/gz-gui7/dependencies.patch b/ports/gz-gui7/dependencies.patch new file mode 100644 index 00000000000000..3d5d2f29375a5e --- /dev/null +++ b/ports/gz-gui7/dependencies.patch @@ -0,0 +1,22 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -80,13 +80,17 @@ + set(GZ_TOOLS_VER 2) + + #-------------------------------------- + # Find QT ++set(qt_pkgconfig "Qt5Core Qt5Quick Qt5QuickControls2 Qt5Widgets") ++if (WIN32) ++set(qt_pkgconfig "") ++endif() + gz_find_package (Qt5 + COMPONENTS + Core + Quick + QuickControls2 + Widgets + REQUIRED +- PKGCONFIG "Qt5Core Qt5Quick Qt5QuickControls2 Qt5Widgets" ++ PKGCONFIG ${qt_pkgconfig} + ) diff --git a/ports/gz-gui7/portfile.cmake b/ports/gz-gui7/portfile.cmake new file mode 100644 index 00000000000000..c9a42982267012 --- /dev/null +++ b/ports/gz-gui7/portfile.cmake @@ -0,0 +1,28 @@ +set(PACKAGE_NAME gui) + +ignition_modular_library( + NAME ${PACKAGE_NAME} + REF ${PORT}_${VERSION} + VERSION ${VERSION} + SHA512 29f37a31bbf90dd35f37e80053c1aff9fb404b7a09c8c10e640da505cc6261387e6ce77e3bf379a911e6131c684f866cf1ef8d83777112b3c7f148b1f95cc72f + OPTIONS + PATCHES + dependencies.patch +) + +if(VCPKG_TARGET_IS_WINDOWS) + file(GLOB plugins "${CURRENT_PACKAGES_DIR}/lib/gz-gui-7/plugins/*.dll") + if (NOT plugins STREQUAL "") + file(COPY ${plugins} DESTINATION "${CURRENT_PACKAGES_DIR}/engine-plugins/") + file(REMOVE ${plugins}) + endif() + + file(GLOB plugins_debug "${CURRENT_PACKAGES_DIR}/debug/lib/gz-gui-7/plugins/*.dll") + if (NOT plugins_debug STREQUAL "") + file(COPY ${plugins_debug} DESTINATION "${CURRENT_PACKAGES_DIR}/debug/engine-plugins/") + file(REMOVE ${plugins_debug}) + endif() + + # Lacking pc files for Qt + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib/pkgconfig" "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig") +endif() diff --git a/ports/gz-gui7/vcpkg.json b/ports/gz-gui7/vcpkg.json new file mode 100644 index 00000000000000..a70f344915dbd1 --- /dev/null +++ b/ports/gz-gui7/vcpkg.json @@ -0,0 +1,32 @@ +{ + "name": "gz-gui7", + "version": "7.2.1", + "description": "Gazebo GUI builds on top of Qt to provide widgets which are useful when developing robotics applications, such as a 3D view, plots, dashboard, etc, and can be used together in a convenient unified interface.", + "homepage": "https://gazebosim.org/libs/gui", + "license": "Apache-2.0", + "dependencies": [ + "gz-cmake3", + "gz-common5", + "gz-math7", + "gz-msgs9", + "gz-plugin2", + "gz-rendering7", + "gz-transport12", + "gz-utils2", + { + "name": "ignition-modularscripts", + "host": true + }, + "protobuf", + { + "name": "qt5-base", + "default-features": false + }, + { + "name": "qt5-quickcontrols2", + "default-features": false + }, + "sdformat13", + "tinyxml2" + ] +} diff --git a/ports/gz-physics6/portfile.cmake b/ports/gz-physics6/portfile.cmake index 1b7f2ad4430e47..d6b1087a807423 100644 --- a/ports/gz-physics6/portfile.cmake +++ b/ports/gz-physics6/portfile.cmake @@ -13,13 +13,13 @@ ignition_modular_library( if(VCPKG_TARGET_IS_WINDOWS) file(GLOB plugins "${CURRENT_PACKAGES_DIR}/lib/gz-physics-6/engine-plugins/*.dll") if (NOT plugins STREQUAL "") - file(COPY ${plugins} DESTINATION "${CURRENT_PACKAGES_DIR}/bin/engine-plugins/") + file(COPY ${plugins} DESTINATION "${CURRENT_PACKAGES_DIR}/engine-plugins/") file(REMOVE ${plugins}) endif() file(GLOB plugins_debug "${CURRENT_PACKAGES_DIR}/debug/lib/gz-physics-6/engine-plugins/*.dll") if (NOT plugins_debug STREQUAL "") - file(COPY ${plugins_debug} DESTINATION "${CURRENT_PACKAGES_DIR}/debug/bin/engine-plugins/") + file(COPY ${plugins_debug} DESTINATION "${CURRENT_PACKAGES_DIR}/debug/engine-plugins/") file(REMOVE ${plugins_debug}) endif() endif() diff --git a/ports/gz-physics6/vcpkg.json b/ports/gz-physics6/vcpkg.json index 6ec3970062fca3..e72fe3c34e8c5a 100644 --- a/ports/gz-physics6/vcpkg.json +++ b/ports/gz-physics6/vcpkg.json @@ -1,6 +1,7 @@ { "name": "gz-physics6", "version": "6.5.1", + "port-version": 1, "description": "component of Gazebo, provides an abstract physics interface designed to support simulation and rapid development of robot applications.", "homepage": "https://gazebosim.org/libs/physics", "license": "Apache-2.0", diff --git a/versions/baseline.json b/versions/baseline.json index b78b166a3c554f..b71a0457e0ca7f 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -3188,6 +3188,10 @@ "baseline": "8.1.0", "port-version": 0 }, + "gz-gui7": { + "baseline": "7.2.1", + "port-version": 0 + }, "gz-math7": { "baseline": "7.3.0", "port-version": 0 @@ -3198,7 +3202,7 @@ }, "gz-physics6": { "baseline": "6.5.1", - "port-version": 0 + "port-version": 1 }, "gz-plugin2": { "baseline": "2.0.1", diff --git a/versions/g-/gz-gui7.json b/versions/g-/gz-gui7.json new file mode 100644 index 00000000000000..737ccb5c2c8633 --- /dev/null +++ b/versions/g-/gz-gui7.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "3fc2d2bd35c8d9c5dad86739f113b952cb65913a", + "version": "7.2.1", + "port-version": 0 + } + ] +} diff --git a/versions/g-/gz-physics6.json b/versions/g-/gz-physics6.json index fafcde192d89d0..4fc4b164441d86 100644 --- a/versions/g-/gz-physics6.json +++ b/versions/g-/gz-physics6.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "f21733a38332420967e218df27d7adfc125c6f07", + "version": "6.5.1", + "port-version": 1 + }, { "git-tree": "9e84a89c5e37806e67295d51b6bd1ec565ccaede", "version": "6.5.1",