From 57fd8944b1801a0ad41a78ba7022a5bb2aea14dc Mon Sep 17 00:00:00 2001 From: Ian Stewart Date: Wed, 24 Jul 2024 12:05:29 -0600 Subject: [PATCH] holohub-apps: Update for Holoscan SDK 2.3.0 --- .../holohub-apps/0001-Add-install-rules.patch | 69 ++++++++++++++++--- .../0003-Fix-ajantv2-dependencies.patch | 4 +- ...-Remove-relative-gxf_extension-paths.patch | 16 ++--- .../0006-Enable-Emergent-apps.patch | 8 +-- ...ix-default-data-paths-in-python-apps.patch | 4 +- .../holohub-volume-rendering.desktop | 2 +- recipes-devtools/holoscan/holohub-apps_git.bb | 4 +- 7 files changed, 77 insertions(+), 30 deletions(-) diff --git a/recipes-devtools/holoscan/holohub-apps/0001-Add-install-rules.patch b/recipes-devtools/holoscan/holohub-apps/0001-Add-install-rules.patch index bbc8da7..2a50c66 100644 --- a/recipes-devtools/holoscan/holohub-apps/0001-Add-install-rules.patch +++ b/recipes-devtools/holoscan/holohub-apps/0001-Add-install-rules.patch @@ -44,7 +44,7 @@ index 8ad93dd..e8e4fd0 100644 if(BUILD_TESTING) # Configure the yaml file to only play 10 frames diff --git a/applications/endoscopy_tool_tracking/cpp/CMakeLists.txt b/applications/endoscopy_tool_tracking/cpp/CMakeLists.txt -index e8a7806..cec5fcb 100644 +index eacb93b..1b4f530 100644 --- a/applications/endoscopy_tool_tracking/cpp/CMakeLists.txt +++ b/applications/endoscopy_tool_tracking/cpp/CMakeLists.txt @@ -53,6 +53,15 @@ add_custom_target(endoscopy_tool_tracking_deps @@ -64,7 +64,7 @@ index e8a7806..cec5fcb 100644 if(BUILD_TESTING) diff --git a/applications/endoscopy_tool_tracking/python/CMakeLists.txt b/applications/endoscopy_tool_tracking/python/CMakeLists.txt -index 007f5a5..d3ce4af 100644 +index e26de61..8da0b0a 100644 --- a/applications/endoscopy_tool_tracking/python/CMakeLists.txt +++ b/applications/endoscopy_tool_tracking/python/CMakeLists.txt @@ -13,6 +13,14 @@ @@ -103,12 +103,12 @@ index 36b5212..61b3d6c 100644 if(BUILD_TESTING) add_test(NAME h264_endoscopy_tool_tracking_cpp_test diff --git a/applications/h264/h264_endoscopy_tool_tracking/python/CMakeLists.txt b/applications/h264/h264_endoscopy_tool_tracking/python/CMakeLists.txt -index bd55e3c..762ecbc 100644 +index aa3c787..ca0ee29 100644 --- a/applications/h264/h264_endoscopy_tool_tracking/python/CMakeLists.txt +++ b/applications/h264/h264_endoscopy_tool_tracking/python/CMakeLists.txt -@@ -13,6 +13,14 @@ - # See the License for the specific language governing permissions and - # limitations under the License. +@@ -21,6 +21,14 @@ find_package(holoscan 2.1.0 REQUIRED CONFIG + add_library(nvidia_nim_imaging INTERFACE) + target_link_libraries(nvidia_nim_imaging INTERFACE holoscan::core holoscan::ops::holoviz holoscan::ops::lstm_tensor_rt_inference holoscan::ops::tensor_to_video_buffer holoscan::ops::tool_tracking_postprocessor) +# Install the application +file(RELATIVE_PATH install_path ${CMAKE_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}) @@ -120,11 +120,11 @@ index bd55e3c..762ecbc 100644 + # Add testing if(BUILD_TESTING) - # To get the environment path -diff --git a/applications/h264/h264_video_decode/CMakeLists.txt b/applications/h264/h264_video_decode/CMakeLists.txt + add_test(NAME h264_endoscopy_tool_tracking_python_test +diff --git a/applications/h264/h264_video_decode/cpp/CMakeLists.txt b/applications/h264/h264_video_decode/cpp/CMakeLists.txt index 9e5be1e..bbc024d 100644 ---- a/applications/h264/h264_video_decode/CMakeLists.txt -+++ b/applications/h264/h264_video_decode/CMakeLists.txt +--- a/applications/h264/h264_video_decode/cpp/CMakeLists.txt ++++ b/applications/h264/h264_video_decode/cpp/CMakeLists.txt @@ -51,6 +51,15 @@ if(HOLOHUB_DOWNLOAD_DATASETS) add_dependencies(h264_video_decode endoscopy_data) endif() @@ -141,6 +141,25 @@ index 9e5be1e..bbc024d 100644 # Add testing if(BUILD_TESTING) add_test(NAME h264_video_decode_cpp_test +diff --git a/applications/h264/h264_video_decode/python/CMakeLists.txt b/applications/h264/h264_video_decode/python/CMakeLists.txt +index b024ff3..8a6fdb0 100644 +--- a/applications/h264/h264_video_decode/python/CMakeLists.txt ++++ b/applications/h264/h264_video_decode/python/CMakeLists.txt +@@ -17,6 +17,14 @@ cmake_minimum_required(VERSION 3.20) + find_package(holoscan 2.1.0 REQUIRED CONFIG + PATHS "/opt/nvidia/holoscan" "/workspace/holoscan-sdk/install") + ++# Install the application ++file(RELATIVE_PATH install_path ${CMAKE_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}) ++install(FILES ++ ${CMAKE_CURRENT_SOURCE_DIR}/h264_video_decode.py ++ ${CMAKE_CURRENT_SOURCE_DIR}/h264_video_decode.yaml ++ DESTINATION ${install_path} ++) ++ + # Add testing + if(BUILD_TESTING) + add_test(NAME h264_video_decode_python_test diff --git a/applications/high_speed_endoscopy/cpp/CMakeLists.txt b/applications/high_speed_endoscopy/cpp/CMakeLists.txt index ea261e0..311a441 100644 --- a/applications/high_speed_endoscopy/cpp/CMakeLists.txt @@ -322,9 +341,18 @@ index 240fbb5..848bb1a 100644 if(BUILD_TESTING) # To get the environment path diff --git a/applications/volume_rendering/CMakeLists.txt b/applications/volume_rendering/CMakeLists.txt -index df8d721..aeb189f 100644 +index bdcb8c9..bad9c16 100644 --- a/applications/volume_rendering/CMakeLists.txt +++ b/applications/volume_rendering/CMakeLists.txt +@@ -15,4 +15,3 @@ + + add_subdirectory(cpp) + add_subdirectory(python) +- +diff --git a/applications/volume_rendering/cpp/CMakeLists.txt b/applications/volume_rendering/cpp/CMakeLists.txt +index c9c5e51..d7a3088 100644 +--- a/applications/volume_rendering/cpp/CMakeLists.txt ++++ b/applications/volume_rendering/cpp/CMakeLists.txt @@ -54,3 +54,9 @@ if(BUILD_TESTING) set_tests_properties(volume_rendering_test PROPERTIES PASS_REGULAR_EXPRESSION "Application has finished running.") @@ -335,6 +363,25 @@ index df8d721..aeb189f 100644 +install(TARGETS volume_rendering + DESTINATION ${install_path} +) +diff --git a/applications/volume_rendering/python/CMakeLists.txt b/applications/volume_rendering/python/CMakeLists.txt +index 4e29a8d..5506f13 100644 +--- a/applications/volume_rendering/python/CMakeLists.txt ++++ b/applications/volume_rendering/python/CMakeLists.txt +@@ -35,4 +35,12 @@ if(HOLOHUB_DOWNLOAD_DATASETS) + ALL + ) + add_dependencies(volume_rendering volume_rendering_data) +-endif() +\ No newline at end of file ++endif() ++ ++# Install the application ++file(RELATIVE_PATH install_path ${CMAKE_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}) ++install(FILES ++ ${CMAKE_CURRENT_SOURCE_DIR}/volume_rendering.py ++ DESTINATION ${install_path} ++) ++ diff --git a/cmake/pybind11_add_holohub_module.cmake b/cmake/pybind11_add_holohub_module.cmake index cb9bd6b..3f30510 100644 --- a/cmake/pybind11_add_holohub_module.cmake diff --git a/recipes-devtools/holoscan/holohub-apps/0003-Fix-ajantv2-dependencies.patch b/recipes-devtools/holoscan/holohub-apps/0003-Fix-ajantv2-dependencies.patch index e0a03c1..dc191c8 100644 --- a/recipes-devtools/holoscan/holohub-apps/0003-Fix-ajantv2-dependencies.patch +++ b/recipes-devtools/holoscan/holohub-apps/0003-Fix-ajantv2-dependencies.patch @@ -18,11 +18,11 @@ index e8e4fd0..f92e12b 100644 add_executable(endoscopy_out_of_body_detection diff --git a/applications/endoscopy_tool_tracking/cpp/CMakeLists.txt b/applications/endoscopy_tool_tracking/cpp/CMakeLists.txt -index cec5fcb..4e6da91 100644 +index 1b4f530..152b9e6 100644 --- a/applications/endoscopy_tool_tracking/cpp/CMakeLists.txt +++ b/applications/endoscopy_tool_tracking/cpp/CMakeLists.txt @@ -19,6 +19,8 @@ project(endoscopy_tool_tracking CXX) - find_package(holoscan 0.5 REQUIRED CONFIG + find_package(holoscan 1.0 REQUIRED CONFIG PATHS "/opt/nvidia/holoscan" "/workspace/holoscan-sdk/install") +find_package(ajantv2 17.0 REQUIRED CONFIG) diff --git a/recipes-devtools/holoscan/holohub-apps/0004-Remove-relative-gxf_extension-paths.patch b/recipes-devtools/holoscan/holohub-apps/0004-Remove-relative-gxf_extension-paths.patch index d02004f..01a6c5c 100644 --- a/recipes-devtools/holoscan/holohub-apps/0004-Remove-relative-gxf_extension-paths.patch +++ b/recipes-devtools/holoscan/holohub-apps/0004-Remove-relative-gxf_extension-paths.patch @@ -5,20 +5,20 @@ Subject: Remove relative gxf_extension paths diff --git a/applications/endoscopy_tool_tracking/cpp/endoscopy_tool_tracking.yaml b/applications/endoscopy_tool_tracking/cpp/endoscopy_tool_tracking.yaml -index ca9f9bd..27511d9 100644 +index 5cb52f4..76db2f0 100644 --- a/applications/endoscopy_tool_tracking/cpp/endoscopy_tool_tracking.yaml +++ b/applications/endoscopy_tool_tracking/cpp/endoscopy_tool_tracking.yaml -@@ -20,7 +20,7 @@ extensions: - - libgxf_multimedia.so - - libgxf_serialization.so - - libgxf_stream_playback.so +@@ -15,7 +15,7 @@ + # limitations under the License. + --- + extensions: - - gxf_extensions/lstm_tensor_rt_inference/libgxf_lstm_tensor_rt_inference.so + - libgxf_lstm_tensor_rt_inference.so # Uncomment the following extension when using deltacast as a source # - gxf_extensions/deltacast_videomaster/libgxf_videomaster.so # Uncomment the following extension when using yuan as source diff --git a/applications/endoscopy_tool_tracking/python/endoscopy_tool_tracking.yaml b/applications/endoscopy_tool_tracking/python/endoscopy_tool_tracking.yaml -index a8b5bd6..04f8bbd 100644 +index 4247280..bf3e2cb 100644 --- a/applications/endoscopy_tool_tracking/python/endoscopy_tool_tracking.yaml +++ b/applications/endoscopy_tool_tracking/python/endoscopy_tool_tracking.yaml @@ -15,8 +15,8 @@ @@ -30,8 +30,8 @@ index a8b5bd6..04f8bbd 100644 +- libgxf_lstm_tensor_rt_inference.so +- libgxf_qcap_source.so - aja: - width: 1920 + visualizer: "holoviz" # "holoviz" or "vtk" + diff --git a/applications/h264/h264_endoscopy_tool_tracking/cpp/h264_endoscopy_tool_tracking.yaml b/applications/h264/h264_endoscopy_tool_tracking/cpp/h264_endoscopy_tool_tracking.yaml index 57254ef..6b72dbe 100644 --- a/applications/h264/h264_endoscopy_tool_tracking/cpp/h264_endoscopy_tool_tracking.yaml diff --git a/recipes-devtools/holoscan/holohub-apps/0006-Enable-Emergent-apps.patch b/recipes-devtools/holoscan/holohub-apps/0006-Enable-Emergent-apps.patch index cffdf94..a771358 100644 --- a/recipes-devtools/holoscan/holohub-apps/0006-Enable-Emergent-apps.patch +++ b/recipes-devtools/holoscan/holohub-apps/0006-Enable-Emergent-apps.patch @@ -5,7 +5,7 @@ Subject: Enable Emergent apps diff --git a/CMakeLists.txt b/CMakeLists.txt -index 9bc72ec..bb1587e 100644 +index 096e5de..6cb6d84 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -30,6 +30,7 @@ include(CTest) @@ -17,11 +17,11 @@ index 9bc72ec..bb1587e 100644 # Enable flow benchmarking option(FLOW_BENCHMARKING "Enable Flow Benchmarking" OFF) diff --git a/applications/CMakeLists.txt b/applications/CMakeLists.txt -index b9288cf..24401a3 100644 +index 8f87822..f5d38d3 100644 --- a/applications/CMakeLists.txt +++ b/applications/CMakeLists.txt -@@ -47,8 +47,10 @@ add_holohub_application(endoscopy_tool_tracking DEPENDS - +@@ -50,8 +50,10 @@ add_holohub_application(endoscopy_tool_tracking_distributed DEPENDS + tool_tracking_postprocessor) add_subdirectory(h264) +if(HOLOHUB_ENABLE_EMERGENT) diff --git a/recipes-devtools/holoscan/holohub-apps/0007-Fix-default-data-paths-in-python-apps.patch b/recipes-devtools/holoscan/holohub-apps/0007-Fix-default-data-paths-in-python-apps.patch index 17bc7ee..688ec9e 100644 --- a/recipes-devtools/holoscan/holohub-apps/0007-Fix-default-data-paths-in-python-apps.patch +++ b/recipes-devtools/holoscan/holohub-apps/0007-Fix-default-data-paths-in-python-apps.patch @@ -18,10 +18,10 @@ index 97997aa..ac7a182 100644 self.sample_data_path = data diff --git a/applications/endoscopy_tool_tracking/python/endoscopy_tool_tracking.py b/applications/endoscopy_tool_tracking/python/endoscopy_tool_tracking.py -index 734fc52..f277dd1 100644 +index 5189001..62b7244 100644 --- a/applications/endoscopy_tool_tracking/python/endoscopy_tool_tracking.py +++ b/applications/endoscopy_tool_tracking/python/endoscopy_tool_tracking.py -@@ -65,7 +65,7 @@ class EndoscopyApp(Application): +@@ -68,7 +68,7 @@ class EndoscopyApp(Application): self.source = source if data == "none": diff --git a/recipes-devtools/holoscan/holohub-apps/desktop-icons/holohub-volume-rendering.desktop b/recipes-devtools/holoscan/holohub-apps/desktop-icons/holohub-volume-rendering.desktop index ca47495..7915738 100644 --- a/recipes-devtools/holoscan/holohub-apps/desktop-icons/holohub-volume-rendering.desktop +++ b/recipes-devtools/holoscan/holohub-apps/desktop-icons/holohub-volume-rendering.desktop @@ -2,6 +2,6 @@ Type=Application Name=Holohub: Volume Rendering Comment=Holohub Volume Rendering Application -Exec=rxvt -cd /opt/nvidia/holohub/applications -fg white -bg black -e volume_rendering/volume_rendering +Exec=rxvt -cd /opt/nvidia/holohub/applications/volume_rendering/cpp -fg white -bg black -e ./volume_rendering Icon=holohub-volume-rendering Categories=Holoscan diff --git a/recipes-devtools/holoscan/holohub-apps_git.bb b/recipes-devtools/holoscan/holohub-apps_git.bb index c0b440b..c76d997 100644 --- a/recipes-devtools/holoscan/holohub-apps_git.bb +++ b/recipes-devtools/holoscan/holohub-apps_git.bb @@ -24,8 +24,8 @@ LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=86d3f3a95c324c9479bd8986968f4327" SRC_URI = "git://github.com/nvidia-holoscan/holohub.git;branch=main;protocol=https" -SRCREV = "557413ec76bf13961f48903952862ea83d04d8b6" -PV = "2.2.0+git${SRCPV}" +SRCREV = "4c1573261b60c7924c707d68e9d596939d660fd1" +PV = "2.3.0+git${SRCPV}" SRC_URI += " \ file://desktop-icons \