diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile index c5f1dea45..49aabd10e 100644 --- a/.devcontainer/Dockerfile +++ b/.devcontainer/Dockerfile @@ -67,6 +67,10 @@ RUN wget -qO- "https://cmake.org/files/v3.19/cmake-3.19.2-Linux-x86_64.tar.gz" \ apt-get -y clean && \ rm -rf /var/lib/apt/lists/* +RUN wget https://github.com/AppImage/appimagetool/releases/download/continuous/appimagetool-x86_64.AppImage \ + && chmod +x appimagetool-x86_64.AppImage \ + && mv appimagetool-x86_64.AppImage /usr/local/bin/appimagetool + # Generating a universally unique ID for the Container RUN dbus-uuidgen > /etc/machine-id @@ -79,4 +83,4 @@ RUN groupadd --gid $USER_GID $USERNAME \ && echo $USERNAME ALL=\(root\) NOPASSWD:ALL > /etc/sudoers.d/$USERNAME \ && chmod 0440 /etc/sudoers.d/$USERNAME -USER $USERNAME \ No newline at end of file +USER $USERNAME diff --git a/resources/linux/linuxdeploy-arm/linuxdeploy b/resources/linux/linuxdeploy-arm/linuxdeploy new file mode 100644 index 000000000..71c7335f9 Binary files /dev/null and b/resources/linux/linuxdeploy-arm/linuxdeploy differ diff --git a/resources/linux/linuxdeploy-arm/linuxdeploy-plugin-appimage b/resources/linux/linuxdeploy-arm/linuxdeploy-plugin-appimage new file mode 100644 index 000000000..b01a4e980 Binary files /dev/null and b/resources/linux/linuxdeploy-arm/linuxdeploy-plugin-appimage differ diff --git a/resources/linux/linuxdeploy-arm/linuxdeploy-plugin-qt b/resources/linux/linuxdeploy-arm/linuxdeploy-plugin-qt new file mode 100644 index 000000000..383983be5 Binary files /dev/null and b/resources/linux/linuxdeploy-arm/linuxdeploy-plugin-qt differ diff --git a/scripts/Linux/internal/2d_appimage.sh b/scripts/Linux/internal/2d_appimage.sh index 1164f37e6..e23c380ed 100644 --- a/scripts/Linux/internal/2d_appimage.sh +++ b/scripts/Linux/internal/2d_appimage.sh @@ -23,8 +23,24 @@ case $i in esac done -ARCH=$(uname -m) +# Ensure appimagetool is in the PATH +if ! command -v appimagetool &> /dev/null +then + echo "appimagetool could not be found, attempting to install it..." + wget https://github.com/AppImage/appimagetool/releases/download/continuous/appimagetool-x86_64.AppImage \ + && chmod +x appimagetool-x86_64.AppImage \ + && sudo mv appimagetool-x86_64.AppImage /usr/local/bin/appimagetool + + if ! command -v appimagetool &> /dev/null + then + echo "Failed to install appimagetool. Please install it manually." + exit 1 + fi +else + echo "appimagetool is already installed." +fi +ARCH=$(uname -m) $RESOURCES_PATH/linux/$ARCH/linuxdeploy --appdir=$INSTALL_PATH \ --output appimage @@ -34,5 +50,9 @@ STR_VERSION=$($INSTALL_PATH/AppRun --version) read -a strarr <<< "$STR_VERSION" ML_VERSION=${strarr[1]} #get the meshlab version from the string +# Ensure the packages path exists +mkdir -p $PACKAGES_PATH + +# Move the AppImage to the packages directory mkdir -p $PACKAGES_PATH mv MeshLab-*.AppImage $PACKAGES_PATH/MeshLab$ML_VERSION-linux_$ARCH.AppImage