diff --git a/deps/CMakeLists.txt b/deps/CMakeLists.txt index a6a4187c9f..967f47aac2 100644 --- a/deps/CMakeLists.txt +++ b/deps/CMakeLists.txt @@ -238,7 +238,7 @@ if (NOT IS_CROSS_COMPILE OR NOT APPLE) DEPENDEES download # do after download COMMENT "Freeing Space: Removing source archive" WORKING_DIRECTORY ${DEP_DOWNLOAD_DIR} - COMMAND ${CMAKE_COMMAND} -E rm -r ${projectname} + COMMAND ${CMAKE_COMMAND} -E rm -rf ${projectname} ) ExternalProject_Add_Step(dep_${projectname} free_build_space DEPENDEES install # do after install diff --git a/deps/DataChannel/DataChannel.cmake b/deps/DataChannel/DataChannel.cmake index 50d49a7148..23c256b365 100644 --- a/deps/DataChannel/DataChannel.cmake +++ b/deps/DataChannel/DataChannel.cmake @@ -1,6 +1,25 @@ # libdatachannel is the native ICE/DTLS/SCTP implementation used by the # GUI WebRTC camera controller. Keep the source revision fixed: the signaling # protocol is evolving independently of this transport dependency. +# +# It vendors plog, usrsctp and libjuice as git submodules, which a plain +# GitHub tag tarball does not include. The flatpak sandbox has no network +# access during the build, so there the manifest itself clones the repo +# (submodules and all) straight into this ExternalProject's default source +# dir before the sandbox closes; with no download method given here and that +# dir already non-empty, ExternalProject_Add silently uses it as-is instead +# of trying its own (network) git step. +if (FLATPAK) + set(_datachannel_source "") +else() + set(_datachannel_source + GIT_REPOSITORY https://github.com/paullouisageneau/libdatachannel.git + GIT_TAG v0.24.5 + GIT_SHALLOW ON + GIT_SUBMODULES_RECURSE ON + ) +endif() + orcaslicer_add_cmake_project(DataChannel DEPENDS ${OPENSSL_PKG} CMAKE_ARGS @@ -13,8 +32,5 @@ orcaslicer_add_cmake_project(DataChannel -DUSE_SYSTEM_USRSCTP=OFF -DOPENSSL_ROOT_DIR:PATH=${DESTDIR} -DOPENSSL_USE_STATIC_LIBS=ON - GIT_REPOSITORY https://github.com/paullouisageneau/libdatachannel.git - GIT_TAG v0.24.5 - GIT_SHALLOW ON - GIT_SUBMODULES_RECURSE ON + ${_datachannel_source} ) diff --git a/scripts/flatpak/com.orcaslicer.OrcaSlicer.yml b/scripts/flatpak/com.orcaslicer.OrcaSlicer.yml index 6d6029c6b2..e6aa25d88c 100644 --- a/scripts/flatpak/com.orcaslicer.OrcaSlicer.yml +++ b/scripts/flatpak/com.orcaslicer.OrcaSlicer.yml @@ -326,9 +326,15 @@ modules: dest: external-packages/FFMPEG # libdatachannel v0.24.5 - - type: file - url: https://github.com/paullouisageneau/libdatachannel/archive/refs/tags/v0.24.5.tar.gz - sha256: 454537c3cd526bed935d847bb2dff4046f266eef84d43b2a5f2f2f293c0026f4 + # Use git instead of archive: it vendors plog, usrsctp and libjuice as + # git submodules, which a plain GitHub tag tarball does not include. + # Cloned (with submodules) straight into the ExternalProject source dir + # that deps/DataChannel/DataChannel.cmake expects, since the sandboxed + # build step has no network to do this itself. + - type: git + url: https://github.com/paullouisageneau/libdatachannel.git + tag: v0.24.5 + commit: 443f6934d9007eb7076ab7825ba330f355fcbead dest: deps/build_flatpak/dep_DataChannel-prefix/src/dep_DataChannel # ---------------------------------------------------------------