committed by
edendev
6 changed files with 428 additions and 125 deletions
-
259.ci/eden.dwfsprof
-
41.ci/linux.sh
-
198.ci/package-appimage.sh
-
49.github/workflows/build.yml
-
6.github/workflows/license-header.yml
-
2src/core/hle/service/am/process_creation.cpp
@ -0,0 +1,259 @@ |
|||||
|
AppRun |
||||
|
org.eden_emu.eden.desktop |
||||
|
bin/eden |
||||
|
shared/lib/lib.path |
||||
|
shared/lib/ld-linux-x86-64.so.2 |
||||
|
shared/lib/libQt6Widgets.so.6.9.0 |
||||
|
shared/lib/libQt6Network.so.6.9.0 |
||||
|
shared/lib/libusb-1.0.so.0.5.0 |
||||
|
shared/lib/libenet.so.7.0.6 |
||||
|
shared/lib/libbrotlicommon.so.1.1.0 |
||||
|
shared/lib/libbrotlienc.so.1.1.0 |
||||
|
shared/lib/libbrotlidec.so.1.1.0 |
||||
|
shared/lib/libz.so.1.3.1 |
||||
|
shared/lib/libssl.so.3 |
||||
|
shared/lib/libcrypto.so.3 |
||||
|
shared/lib/libavcodec.so.61.19.100 |
||||
|
shared/lib/libavdevice.so.61.3.100 |
||||
|
shared/lib/libavfilter.so.10.4.100 |
||||
|
shared/lib/libavformat.so.61.7.100 |
||||
|
shared/lib/libavutil.so.59.39.100 |
||||
|
shared/lib/libswresample.so.5.3.100 |
||||
|
shared/lib/libswscale.so.8.3.100 |
||||
|
shared/lib/libva.so.2.2200.0 |
||||
|
shared/lib/libboost_context.so.1.87.0 |
||||
|
shared/lib/liblz4.so.1.10.0 |
||||
|
shared/lib/libzstd.so.1.5.7 |
||||
|
shared/lib/libSDL2-2.0.so.0.3200.54 |
||||
|
shared/lib/libfmt.so.11.1.4 |
||||
|
shared/lib/libopus.so.0.10.1 |
||||
|
shared/lib/libQt6Gui.so.6.9.0 |
||||
|
shared/lib/libQt6DBus.so.6.9.0 |
||||
|
shared/lib/libGLX.so.0.0.0 |
||||
|
shared/lib/libOpenGL.so.0.0.0 |
||||
|
shared/lib/libQt6Core.so.6.9.0 |
||||
|
shared/lib/libstdc++.so.6.0.33 |
||||
|
shared/lib/libm.so.6 |
||||
|
shared/lib/libgcc_s.so.1 |
||||
|
shared/lib/libc.so.6 |
||||
|
shared/lib/libgssapi_krb5.so.2.2 |
||||
|
shared/lib/libproxy.so.0.5.9 |
||||
|
shared/lib/libudev.so.1.7.10 |
||||
|
shared/lib/libvpx.so.9.1.0 |
||||
|
shared/lib/libwebpmux.so.3.1.1 |
||||
|
shared/lib/liblzma.so.5.8.1 |
||||
|
shared/lib/libdav1d.so.7.0.0 |
||||
|
shared/lib/libopencore-amrwb.so.0.0.5 |
||||
|
shared/lib/librsvg-2.so.2.60.0 |
||||
|
shared/lib/libcairo.so.2.11804.4 |
||||
|
shared/lib/libgobject-2.0.so.0.8400.1 |
||||
|
shared/lib/libglib-2.0.so.0.8400.1 |
||||
|
shared/lib/libsnappy.so.1.2.2 |
||||
|
shared/lib/libaom.so.3.12.0 |
||||
|
shared/lib/libgsm.so.1.0.22 |
||||
|
shared/lib/libjxl.so.0.11.1 |
||||
|
shared/lib/libjxl_threads.so.0.11.1 |
||||
|
shared/lib/libmp3lame.so.0.0.0 |
||||
|
shared/lib/libopencore-amrnb.so.0.0.5 |
||||
|
shared/lib/libopenjp2.so.2.5.3 |
||||
|
shared/lib/libspeex.so.1.5.2 |
||||
|
shared/lib/libtheoraenc.so.1.1.2 |
||||
|
shared/lib/libtheoradec.so.1.1.4 |
||||
|
shared/lib/libvorbis.so.0.4.9 |
||||
|
shared/lib/libvorbisenc.so.2.0.12 |
||||
|
shared/lib/libwebp.so.7.1.10 |
||||
|
shared/lib/libx264.so.164 |
||||
|
shared/lib/libxvidcore.so.4.3 |
||||
|
shared/lib/libvpl.so.2.14 |
||||
|
shared/lib/libraw1394.so.11.1.0 |
||||
|
shared/lib/libavc1394.so.0.3.0 |
||||
|
shared/lib/librom1394.so.0.3.0 |
||||
|
shared/lib/libiec61883.so.0.1.1 |
||||
|
shared/lib/libjack.so.0.1.0 |
||||
|
shared/lib/libdrm.so.2.124.0 |
||||
|
shared/lib/libxcb.so.1.1.0 |
||||
|
shared/lib/libxcb-shm.so.0.0.0 |
||||
|
shared/lib/libxcb-shape.so.0.0.0 |
||||
|
shared/lib/libxcb-xfixes.so.0.0.0 |
||||
|
shared/lib/libasound.so.2.0.0 |
||||
|
shared/lib/libGL.so.1.7.0 |
||||
|
shared/lib/libpulse.so.0.24.3 |
||||
|
shared/lib/libv4l2.so.0.0.0 |
||||
|
shared/lib/libXv.so.1.0.0 |
||||
|
shared/lib/libX11.so.6.4.0 |
||||
|
shared/lib/libXext.so.6.4.0 |
||||
|
shared/lib/libpostproc.so.58.3.100 |
||||
|
shared/lib/libbs2b.so.0.0.0 |
||||
|
shared/lib/librubberband.so.3.0.0 |
||||
|
shared/lib/libharfbuzz.so.0.61101.0 |
||||
|
shared/lib/libfribidi.so.0.4.0 |
||||
|
shared/lib/libplacebo.so.349 |
||||
|
shared/lib/libvmaf.so.3.0.0 |
||||
|
shared/lib/libass.so.9.3.1 |
||||
|
shared/lib/libvidstab.so.1.2 |
||||
|
shared/lib/libzmq.so.5.2.5 |
||||
|
shared/lib/libzimg.so.2.0.0 |
||||
|
shared/lib/libglslang.so.15.2.0 |
||||
|
shared/lib/libOpenCL.so.1.0.0 |
||||
|
shared/lib/libfontconfig.so.1.15.0 |
||||
|
shared/lib/libfreetype.so.6.20.2 |
||||
|
shared/lib/libdvdnav.so.4.3.0 |
||||
|
shared/lib/libdvdread.so.8.0.0 |
||||
|
shared/lib/libxml2.so.2.13.5 |
||||
|
shared/lib/libbz2.so.1.0.8 |
||||
|
shared/lib/libmodplug.so.1.0.0 |
||||
|
shared/lib/libopenmpt.so.0.4.4 |
||||
|
shared/lib/libbluray.so.2.4.3 |
||||
|
shared/lib/libgmp.so.10.5.0 |
||||
|
shared/lib/libgnutls.so.30.40.3 |
||||
|
shared/lib/libsrt.so.1.5.4 |
||||
|
shared/lib/libssh.so.4.10.1 |
||||
|
shared/lib/libva-drm.so.2.2200.0 |
||||
|
shared/lib/libva-x11.so.2.2200.0 |
||||
|
shared/lib/libvdpau.so.1.0.0 |
||||
|
shared/lib/libsoxr.so.0.1.2 |
||||
|
shared/lib/libEGL.so.1.1.0 |
||||
|
shared/lib/libxkbcommon.so.0.8.1 |
||||
|
shared/lib/libpng16.so.16.47.0 |
||||
|
shared/lib/libmd4c.so.0.5.2 |
||||
|
shared/lib/libdbus-1.so.3.38.3 |
||||
|
shared/lib/libGLdispatch.so.0.0.0 |
||||
|
shared/lib/libdouble-conversion.so.3.3.0 |
||||
|
shared/lib/libb2.so.1.0.4 |
||||
|
shared/lib/libpcre2-16.so.0.14.0 |
||||
|
shared/lib/libkrb5.so.3.3 |
||||
|
shared/lib/libk5crypto.so.3.1 |
||||
|
shared/lib/libcom_err.so.2.1 |
||||
|
shared/lib/libkrb5support.so.0.1 |
||||
|
shared/lib/libkeyutils.so.1.10 |
||||
|
shared/lib/libresolv.so.2 |
||||
|
shared/lib/libproxy/libpxbackend-1.0.so |
||||
|
shared/lib/libcap.so.2.75 |
||||
|
shared/lib/libgio-2.0.so.0.8400.1 |
||||
|
shared/lib/libgdk_pixbuf-2.0.so.0.4200.12 |
||||
|
shared/lib/libpangocairo-1.0.so.0.5600.3 |
||||
|
shared/lib/libpango-1.0.so.0.5600.3 |
||||
|
shared/lib/libXrender.so.1.3.0 |
||||
|
shared/lib/libxcb-render.so.0.0.0 |
||||
|
shared/lib/libpixman-1.so.0.44.2 |
||||
|
shared/lib/libffi.so.8.1.4 |
||||
|
shared/lib/libpcre2-8.so.0.14.0 |
||||
|
shared/lib/libjxl_cms.so.0.11.1 |
||||
|
shared/lib/libhwy.so.1.2.0 |
||||
|
shared/lib/libogg.so.0.8.5 |
||||
|
shared/lib/libsharpyuv.so.0.1.1 |
||||
|
shared/lib/libdb-5.3.so |
||||
|
shared/lib/libXau.so.6.0.0 |
||||
|
shared/lib/libXdmcp.so.6.0.0 |
||||
|
shared/lib/pulseaudio/libpulsecommon-17.0.so |
||||
|
shared/lib/libv4lconvert.so.0.0.0 |
||||
|
shared/lib/libfftw3.so.3.6.10 |
||||
|
shared/lib/libsamplerate.so.0.2.2 |
||||
|
shared/lib/libgraphite2.so.3.2.1 |
||||
|
shared/lib/libunwind.so.8.1.0 |
||||
|
shared/lib/libshaderc_shared.so.1 |
||||
|
shared/lib/libglslang-default-resource-limits.so.15.2.0 |
||||
|
shared/lib/libvulkan.so.1.4.309 |
||||
|
shared/lib/liblcms2.so.2.0.17 |
||||
|
shared/lib/libdovi.so.3.3.1 |
||||
|
shared/lib/libunibreak.so.6.0.1 |
||||
|
shared/lib/libgomp.so.1.0.0 |
||||
|
shared/lib/libsodium.so.26.2.0 |
||||
|
shared/lib/libpgm-5.3.so.0.0.128 |
||||
|
shared/lib/libSPIRV-Tools-opt.so |
||||
|
shared/lib/libSPIRV-Tools.so |
||||
|
shared/lib/libexpat.so.1.10.2 |
||||
|
shared/lib/libmpg123.so.0.48.3 |
||||
|
shared/lib/libvorbisfile.so.3.3.8 |
||||
|
shared/lib/libleancrypto.so.1 |
||||
|
shared/lib/libp11-kit.so.0.4.1 |
||||
|
shared/lib/libidn2.so.0.4.0 |
||||
|
shared/lib/libunistring.so.5.2.0 |
||||
|
shared/lib/libtasn1.so.6.6.4 |
||||
|
shared/lib/libhogweed.so.6.10 |
||||
|
shared/lib/libnettle.so.8.10 |
||||
|
shared/lib/libXfixes.so.3.1.0 |
||||
|
shared/lib/libX11-xcb.so.1.0.0 |
||||
|
shared/lib/libxcb-dri3.so.0.1.0 |
||||
|
shared/lib/libsystemd.so.0.40.0 |
||||
|
shared/lib/libcurl.so.4.8.0 |
||||
|
shared/lib/libduktape.so.207.20700 |
||||
|
shared/lib/libgmodule-2.0.so.0.8400.1 |
||||
|
shared/lib/libmount.so.1.1.0 |
||||
|
shared/lib/libjpeg.so.8.3.2 |
||||
|
shared/lib/libtiff.so.6.1.0 |
||||
|
shared/lib/libpangoft2-1.0.so.0.5600.3 |
||||
|
shared/lib/libthai.so.0.3.1 |
||||
|
shared/lib/libsndfile.so.1.0.37 |
||||
|
shared/lib/libasyncns.so.0.3.1 |
||||
|
shared/lib/libnghttp3.so.9.2.6 |
||||
|
shared/lib/libnghttp2.so.14.28.4 |
||||
|
shared/lib/libssh2.so.1.0.1 |
||||
|
shared/lib/libpsl.so.5.3.5 |
||||
|
shared/lib/libblkid.so.1.1.0 |
||||
|
shared/lib/libjbig.so.2.1 |
||||
|
shared/lib/libdatrie.so.1.4.0 |
||||
|
shared/lib/libFLAC.so.14.0.0 |
||||
|
shared/lib/libSDL3.so.0.2.10 |
||||
|
share/vulkan/icd.d/intel_hasvk_icd.x86_64.json |
||||
|
shared/lib/libvulkan_intel_hasvk.so |
||||
|
shared/lib/libxcb-present.so.0.0.0 |
||||
|
shared/lib/libxcb-sync.so.1.0.0 |
||||
|
shared/lib/libxcb-randr.so.0.1.0 |
||||
|
shared/lib/libxshmfence.so.1.0.0 |
||||
|
shared/lib/libxcb-keysyms.so.1.0.0 |
||||
|
shared/lib/libwayland-client.so.0.23.1 |
||||
|
share/vulkan/icd.d/intel_icd.x86_64.json |
||||
|
shared/lib/libvulkan_intel.so |
||||
|
share/vulkan/icd.d/nouveau_icd.x86_64.json |
||||
|
shared/lib/libvulkan_nouveau.so |
||||
|
share/vulkan/icd.d/radeon_icd.x86_64.json |
||||
|
shared/lib/libvulkan_radeon.so |
||||
|
shared/lib/libLLVM.so.19.1 |
||||
|
shared/lib/libelf-0.192.so |
||||
|
shared/lib/libdrm_amdgpu.so.1.124.0 |
||||
|
shared/lib/libedit.so.0.0.75 |
||||
|
shared/lib/libncursesw.so.6.5 |
||||
|
bin/qt.conf |
||||
|
shared/lib/qt6/plugins/platforms/libqeglfs.so |
||||
|
shared/lib/qt6/plugins/platforms/libqlinuxfb.so |
||||
|
shared/lib/qt6/plugins/platforms/libqminimal.so |
||||
|
shared/lib/qt6/plugins/platforms/libqminimalegl.so |
||||
|
shared/lib/qt6/plugins/platforms/libqoffscreen.so |
||||
|
shared/lib/qt6/plugins/platforms/libqvkkhrdisplay.so |
||||
|
shared/lib/qt6/plugins/platforms/libqvnc.so |
||||
|
shared/lib/qt6/plugins/platforms/libqwayland-egl.so |
||||
|
shared/lib/qt6/plugins/platforms/libqwayland-generic.so |
||||
|
shared/lib/qt6/plugins/platforms/libqxcb.so |
||||
|
shared/lib/libQt6XcbQpa.so.6.9.0 |
||||
|
shared/lib/libxcb-cursor.so.0.0.0 |
||||
|
shared/lib/libxcb-icccm.so.4.0.0 |
||||
|
shared/lib/libxcb-image.so.0.0.0 |
||||
|
shared/lib/libxcb-render-util.so.0.0.0 |
||||
|
shared/lib/libxcb-xkb.so.1.0.0 |
||||
|
shared/lib/libSM.so.6.0.1 |
||||
|
shared/lib/libICE.so.6.3.0 |
||||
|
shared/lib/libxcb-xinput.so.0.1.0 |
||||
|
shared/lib/libxkbcommon-x11.so.0.8.1 |
||||
|
shared/lib/libxcb-util.so.1.0.0 |
||||
|
shared/lib/libuuid.so.1.3.0 |
||||
|
shared/lib/qt6/plugins/platformthemes/libqgtk3.so |
||||
|
shared/lib/qt6/plugins/platformthemes/libqt6ct.so |
||||
|
shared/lib/qt6/plugins/platformthemes/libqxdgdesktopportal.so |
||||
|
shared/lib/libqt6ct-common.so.0.10 |
||||
|
etc/fonts/fonts.conf |
||||
|
shared/lib/libXi.so.6.1.0 |
||||
|
shared/lib/libwayland-cursor.so.0.23.1 |
||||
|
shared/lib/libwayland-egl.so.1.23.1 |
||||
|
shared/lib/libXcursor.so.1.0.2 |
||||
|
shared/lib/libXrandr.so.2.2.0 |
||||
|
shared/lib/qt6/plugins/styles/libqt6ct-style.so |
||||
|
shared/lib/qt6/plugins/platforminputcontexts/libcomposeplatforminputcontextplugin.so |
||||
|
shared/lib/qt6/plugins/platforminputcontexts/libibusplatforminputcontextplugin.so |
||||
|
shared/lib/qt6/plugins/iconengines/libqsvgicon.so |
||||
|
shared/lib/qt6/plugins/imageformats/libqgif.so |
||||
|
shared/lib/qt6/plugins/imageformats/libqico.so |
||||
|
shared/lib/qt6/plugins/imageformats/libqjpeg.so |
||||
|
shared/lib/qt6/plugins/imageformats/libqsvg.so |
||||
|
shared/lib/libQt6Svg.so.6.9.0 |
||||
|
shared/lib/libXss.so.1.0.0 |
||||
@ -1,120 +1,120 @@ |
|||||
#!/bin/bash -ex |
|
||||
|
#!/bin/sh |
||||
|
|
||||
GITDATE="$(git show -s --date=short --format='%ad' | sed 's/-//g')" |
|
||||
GITREV="$(git show -s --format='%h')" |
|
||||
ARTIFACTS_DIR="$PWD/artifacts" |
|
||||
mkdir -p "${ARTIFACTS_DIR}/" |
|
||||
|
# This script assumes you're in the source directory |
||||
|
set -ex |
||||
|
|
||||
if [ "$1" == "master" ]; then |
|
||||
RELEASE_NAME="mainline" |
|
||||
else |
|
||||
RELEASE_NAME="$1" |
|
||||
fi |
|
||||
|
export APPIMAGE_EXTRACT_AND_RUN=1 |
||||
|
export ARCH="$(uname -m)" |
||||
|
|
||||
BASE_NAME="eden-linux" |
|
||||
REV_NAME="${BASE_NAME}-${GITDATE}-${GITREV}" |
|
||||
ARCHIVE_NAME="${REV_NAME}.tar.xz" |
|
||||
COMPRESSION_FLAGS="-cJvf" |
|
||||
|
LIB4BN="https://raw.githubusercontent.com/VHSgunzo/sharun/refs/heads/main/lib4bin" |
||||
|
URUNTIME="https://github.com/VHSgunzo/uruntime/releases/latest/download/uruntime-appimage-dwarfs-$ARCH" |
||||
|
|
||||
if [ "${RELEASE_NAME}" = "mainline" ] || [ "${RELEASE_NAME}" = "early-access" ]; then |
|
||||
DIR_NAME="${BASE_NAME}-${RELEASE_NAME}" |
|
||||
else |
|
||||
DIR_NAME="${REV_NAME}-${RELEASE_NAME}" |
|
||||
|
if [ "$ARCH" = 'x86_64' ]; then |
||||
|
if [ "$1" = 'v3' ]; then |
||||
|
ARCH="${ARCH}_v3" |
||||
fi |
fi |
||||
|
|
||||
mkdir -p "$DIR_NAME" |
|
||||
|
|
||||
|
|
||||
cp LICENSE.txt "$DIR_NAME/" || echo "LICENSE.txt not found" |
|
||||
cp README.md "$DIR_NAME/" || echo "README.md not found" |
|
||||
|
|
||||
create_appimage() { |
|
||||
local binary_name="$1" |
|
||||
local display_name="$2" |
|
||||
local needs_qt="$3" |
|
||||
local app_dir="build/AppDir-${binary_name}" |
|
||||
local appimage_output="${binary_name}.AppImage" |
|
||||
|
|
||||
echo "Creating AppImage for ${binary_name}..." |
|
||||
|
|
||||
mkdir -p "${app_dir}/usr/bin" |
|
||||
mkdir -p "${app_dir}/usr/lib" |
|
||||
mkdir -p "${app_dir}/usr/share/applications" |
|
||||
mkdir -p "${app_dir}/usr/share/icons/hicolor/scalable/apps" |
|
||||
mkdir -p "${app_dir}/usr/optional/libstdc++" |
|
||||
mkdir -p "${app_dir}/usr/optional/libgcc_s" |
|
||||
|
|
||||
if [ -d "build/bin/Release" ]; then |
|
||||
cp "build/bin/Release/${binary_name}" "${app_dir}/usr/bin/" || echo "${binary_name} not found for AppDir" |
|
||||
else |
|
||||
cp "build/bin/${binary_name}" "${app_dir}/usr/bin/" || echo "${binary_name} not found for AppDir" |
|
||||
fi |
fi |
||||
|
|
||||
strip -s "${app_dir}/usr/bin/${binary_name}" |
|
||||
|
|
||||
cat > "${app_dir}/org.yuzu_emu.${binary_name}.desktop" << EOL |
|
||||
|
#if [ "$DEVEL" = 'true' ]; then |
||||
|
# YUZU_TAG="$(git rev-parse --short HEAD)" |
||||
|
# echo "Making nightly \"$YUZU_TAG\" build" |
||||
|
# VERSION="$YUZU_TAG" |
||||
|
#else |
||||
|
# YUZU_TAG=$(git describe --tags) |
||||
|
# echo "Making stable \"$YUZU_TAG\" build" |
||||
|
# git checkout "$YUZU_TAG" |
||||
|
# VERSION="$(echo "$YUZU_TAG" | awk -F'-' '{print $1}')" |
||||
|
#fi |
||||
|
|
||||
|
# TODO: use real tags |
||||
|
YUZU_TAG="0.0.0" |
||||
|
|
||||
|
# NOW MAKE APPIMAGE |
||||
|
mkdir -p ./AppDir |
||||
|
cd ./AppDir |
||||
|
|
||||
|
cat > org.eden_emu.eden.desktop << EOL |
||||
[Desktop Entry] |
[Desktop Entry] |
||||
Type=Application |
Type=Application |
||||
Name=${display_name} |
|
||||
Icon=org.yuzu_emu.${binary_name} |
|
||||
Exec=${binary_name} |
|
||||
|
Name=Eden |
||||
|
Icon=org.eden_emu.eden |
||||
|
Exec=eden |
||||
Categories=Game;Emulator; |
Categories=Game;Emulator; |
||||
EOL |
EOL |
||||
|
|
||||
cp "${app_dir}/org.yuzu_emu.${binary_name}.desktop" "${app_dir}/usr/share/applications/" |
|
||||
|
|
||||
cp "dist/eden.svg" "${app_dir}/org.yuzu_emu.${binary_name}.svg" |
|
||||
cp "dist/eden.svg" "${app_dir}/usr/share/icons/hicolor/scalable/apps/org.yuzu_emu.${binary_name}.svg" |
|
||||
|
cp ../dist/eden.svg ./org.eden_emu.eden.svg |
||||
|
|
||||
cd build |
|
||||
wget -nc https://raw.githubusercontent.com/eden-emulator/ext-linux-bin/main/appimage/deploy-linux.sh || echo "Failed to download deploy script" |
|
||||
wget -nc https://raw.githubusercontent.com/eden-emulator/AppImageKit-checkrt/old/AppRun.sh || echo "Failed to download AppRun script" |
|
||||
wget -nc https://github.com/eden-emulator/ext-linux-bin/raw/main/appimage/exec-x86_64.so || echo "Failed to download exec wrapper" |
|
||||
chmod +x deploy-linux.sh |
|
||||
|
ln -sf ./org.eden_emu.eden.svg.svg ./.DirIcon |
||||
|
|
||||
cd .. |
|
||||
if [ "$needs_qt" = "true" ]; then |
|
||||
echo "Deploying with Qt dependencies for ${binary_name}..." |
|
||||
DEPLOY_QT=1 build/deploy-linux.sh "${app_dir}/usr/bin/${binary_name}" "${app_dir}" |
|
||||
else |
|
||||
echo "Deploying without Qt dependencies for ${binary_name}..." |
|
||||
build/deploy-linux.sh "${app_dir}/usr/bin/${binary_name}" "${app_dir}" |
|
||||
|
if [ "$DEVEL" = 'true' ]; then |
||||
|
sed -i 's|Name=Eden|Name=Eden Nightly|' ./org.eden_emu.eden.desktop |
||||
|
UPINFO="$(echo "$UPINFO" | sed 's|latest|nightly|')" |
||||
fi |
fi |
||||
|
|
||||
cp --dereference /usr/lib/x86_64-linux-gnu/libstdc++.so.6 "${app_dir}/usr/optional/libstdc++/libstdc++.so.6" || true |
|
||||
cp --dereference /lib/x86_64-linux-gnu/libgcc_s.so.1 "${app_dir}/usr/optional/libgcc_s/libgcc_s.so.1" || true |
|
||||
|
|
||||
cp build/exec-x86_64.so "${app_dir}/usr/optional/exec.so" || true |
|
||||
cp build/AppRun.sh "${app_dir}/AppRun" |
|
||||
chmod +x "${app_dir}/AppRun" |
|
||||
|
|
||||
find "${app_dir}" -type f -regex '.*libwayland-client\.so.*' -delete -print || true |
|
||||
|
|
||||
cd build |
|
||||
|
|
||||
if [ ! -f "appimagetool-x86_64.AppImage" ]; then |
|
||||
wget -nc https://github.com/AppImage/AppImageKit/releases/download/continuous/appimagetool-x86_64.AppImage |
|
||||
chmod +x appimagetool-x86_64.AppImage |
|
||||
|
# Bundle all libs |
||||
|
wget --retry-connrefused --tries=30 "$LIB4BN" -O ./lib4bin |
||||
|
chmod +x ./lib4bin |
||||
|
xvfb-run -a -- ./lib4bin -p -v -e -s -k \ |
||||
|
../build/bin/eden* \ |
||||
|
/usr/lib/libGLX* \ |
||||
|
/usr/lib/libGL.so* \ |
||||
|
/usr/lib/libEGL* \ |
||||
|
/usr/lib/dri/* \ |
||||
|
/usr/lib/vdpau/* \ |
||||
|
/usr/lib/libvulkan* \ |
||||
|
/usr/lib/libXss.so* \ |
||||
|
/usr/lib/libdecor-0.so* \ |
||||
|
/usr/lib/libgamemode.so* \ |
||||
|
/usr/lib/qt6/plugins/audio/* \ |
||||
|
/usr/lib/qt6/plugins/bearer/* \ |
||||
|
/usr/lib/qt6/plugins/imageformats/* \ |
||||
|
/usr/lib/qt6/plugins/iconengines/* \ |
||||
|
/usr/lib/qt6/plugins/platforms/* \ |
||||
|
/usr/lib/qt6/plugins/platformthemes/* \ |
||||
|
/usr/lib/qt6/plugins/platforminputcontexts/* \ |
||||
|
/usr/lib/qt6/plugins/styles/* \ |
||||
|
/usr/lib/qt6/plugins/xcbglintegrations/* \ |
||||
|
/usr/lib/qt6/plugins/wayland-*/* \ |
||||
|
/usr/lib/pulseaudio/* \ |
||||
|
/usr/lib/pipewire-0.3/* \ |
||||
|
/usr/lib/spa-0.2/*/* \ |
||||
|
/usr/lib/alsa-lib/* |
||||
|
|
||||
|
# Prepare sharun |
||||
|
if [ "$ARCH" = 'aarch64' ]; then |
||||
|
# allow the host vulkan to be used for aarch64 given the sed situation |
||||
|
echo 'SHARUN_ALLOW_SYS_VKICD=1' > ./.env |
||||
fi |
fi |
||||
|
|
||||
if ! ./appimagetool-x86_64.AppImage --version; then |
|
||||
echo "FUSE not available, using extract and run mode" |
|
||||
export APPIMAGE_EXTRACT_AND_RUN=1 |
|
||||
fi |
|
||||
|
wget https://github.com/VHSgunzo/sharun/releases/download/v0.6.3/sharun-x86_64 -O sharun |
||||
|
chmod a+x sharun |
||||
|
|
||||
echo "Generating AppImage: ${appimage_output}" |
|
||||
./appimagetool-x86_64.AppImage "AppDir-${binary_name}" "${appimage_output}" || echo "AppImage generation failed for ${binary_name}" |
|
||||
|
ln -f ./sharun ./AppRun |
||||
|
./sharun -g |
||||
|
|
||||
cp "${appimage_output}" "../${DIR_NAME}/" || echo "AppImage not copied to DIR_NAME for ${binary_name}" |
|
||||
cp "${appimage_output}" "../${ARTIFACTS_DIR}/" || echo "AppImage not copied to artifacts for ${binary_name}" |
|
||||
|
# turn appdir into appimage |
||||
cd .. |
cd .. |
||||
} |
|
||||
|
|
||||
create_appimage "eden" "Eden" "true" |
|
||||
create_appimage "eden-cli" "Eden-CLI" "false" |
|
||||
create_appimage "eden-room" "Eden-Room" "false" |
|
||||
|
|
||||
tar $COMPRESSION_FLAGS "$ARCHIVE_NAME" "$DIR_NAME" |
|
||||
mv "$ARCHIVE_NAME" "${ARTIFACTS_DIR}/" |
|
||||
|
|
||||
ls -la "${ARTIFACTS_DIR}/" |
|
||||
|
wget -q "$URUNTIME" -O ./uruntime |
||||
|
chmod +x ./uruntime |
||||
|
|
||||
|
#Add udpate info to runtime |
||||
|
echo "Adding update information \"$UPINFO\" to runtime..." |
||||
|
./uruntime --appimage-addupdinfo "$UPINFO" |
||||
|
|
||||
|
echo "Generating AppImage..." |
||||
|
./uruntime --appimage-mkdwarfs -f \ |
||||
|
--set-owner 0 --set-group 0 \ |
||||
|
--no-history --no-create-timestamp \ |
||||
|
--categorize=hotness --hotness-list=.ci/eden.dwfsprof \ |
||||
|
--compression zstd:level=22 -S26 -B32 \ |
||||
|
--header uruntime \ |
||||
|
-i ./AppDir -o Eden-"$VERSION"-"$ARCH".AppImage |
||||
|
|
||||
|
echo "Generating zsync file..." |
||||
|
zsyncmake *.AppImage -u *.AppImage |
||||
|
echo "All Done!" |
||||
|
|
||||
|
# Cleanup |
||||
|
|
||||
|
rm -rf AppDir |
||||
|
rm uruntime |
||||
Write
Preview
Loading…
Cancel
Save
Reference in new issue