diff --git a/.ci/AppImageBuilder.yml b/.ci/AppImageBuilder.yml index f45f0b2dd..8a757439f 100644 --- a/.ci/AppImageBuilder.yml +++ b/.ci/AppImageBuilder.yml @@ -21,7 +21,7 @@ AppDir: id: !ENV 'net.${project_lower}.${project_lower}' name: !ENV '${project}' icon: !ENV '${project_lower}' - version: '3.2' + version: !ENV '${project_version}' exec: !ENV 'usr/local/bin/${project}' exec_args: $@ apt: @@ -40,6 +40,7 @@ AppDir: - libevdev2 - libgbm1 - libgles2 + - libglvnd0 - libopenal-data=1:1.17* - libopenal1=1:1.17* - libpng16-16 @@ -57,7 +58,6 @@ AppDir: - libxcb-shm0 - libxcb-xfixes0 - libxcb1 - - zlib1g files: exclude: - etc diff --git a/.ci/build.sh b/.ci/build.sh index f4cf190cb..b44e71186 100644 --- a/.ci/build.sh +++ b/.ci/build.sh @@ -470,6 +470,12 @@ else *) arch_appimage="$arch";; esac + # Get version for AppImage metadata. + project_version=$(grep -oP '#define\s+EMU_VERSION\s+"\K([^"]+)' "build/src/include/$project_lower/version.h" 2>/dev/null) + [ -z "$project_version" ] && project_version=unknown + build_num=$(grep -oP '#define\s+EMU_BUILD_NUM\s+\K([0-9]+)' "build/src/include/$project_lower/version.h" 2>/dev/null) + [ ! -z "$build_num" -a "$build_num" != "0" ] && project_version="$project_version-b$build_num" + # Download appimage-builder if necessary. [ ! -e "appimage-builder.AppImage" ] && wget -qO appimage-builder.AppImage \ https://github.com/AppImageCrafters/appimage-builder/releases/download/v0.9.2/appimage-builder-0.9.2-35e3eab-x86_64.AppImage @@ -479,7 +485,7 @@ else rm -rf "$project-"*".AppImage" # Run appimage-builder in extract-and-run mode for Docker compatibility. - project="$project" project_lower="$project_lower" arch_deb="$arch_deb" arch_appimage="$arch_appimage" \ + project="$project" project_lower="$project_lower" project_version="$project_version" arch_deb="$arch_deb" arch_appimage="$arch_appimage" \ APPIMAGE_EXTRACT_AND_RUN=1 ./appimage-builder.AppImage --recipe .ci/AppImageBuilder.yml status=$?