buildscripts for appimage
This commit is contained in:
parent
2dbaec726c
commit
e5406ae4c4
5 changed files with 1160 additions and 852 deletions
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -1,5 +1,6 @@
|
|||
docs/build
|
||||
dist
|
||||
build
|
||||
__pycache__
|
||||
.venv
|
||||
.idea
|
||||
|
|
1659
poetry.lock
generated
1659
poetry.lock
generated
File diff suppressed because it is too large
Load diff
|
@ -32,7 +32,7 @@ syng = "syng.main:main"
|
|||
python = "^3.9"
|
||||
python-socketio = "^5.10.0"
|
||||
aiohttp = "^3.9.1"
|
||||
yarl = "<1.14.0"
|
||||
# yarl = "<1.14.0"
|
||||
platformdirs = "^4.0.0"
|
||||
yt-dlp = { version = ">=2024.11.18", extras = ["default"] }
|
||||
minio = { version = "^7.2.0", optional = true }
|
||||
|
|
|
@ -1,56 +1,118 @@
|
|||
FROM archlinux:latest
|
||||
RUN pacman -Syu --noconfirm \
|
||||
alsa-lib \
|
||||
base-devel \
|
||||
desktop-file-utils \
|
||||
ffmpeg \
|
||||
git \
|
||||
glibc \
|
||||
hicolor-icon-theme \
|
||||
jack \
|
||||
lcms2 \
|
||||
libarchive \
|
||||
libass \
|
||||
libbluray \
|
||||
libcdio \
|
||||
libcdio-paranoia \
|
||||
libdrm \
|
||||
libdvdnav \
|
||||
libdvdread \
|
||||
libegl \
|
||||
libgl \
|
||||
libglvnd \
|
||||
libjpeg-turbo \
|
||||
libplacebo \
|
||||
libpulse \
|
||||
libsixel \
|
||||
libva \
|
||||
libvdpau \
|
||||
libx11 \
|
||||
libxext \
|
||||
libxkbcommon \
|
||||
libxpresent \
|
||||
libxrandr \
|
||||
libxss \
|
||||
libxv \
|
||||
luajit \
|
||||
mesa \
|
||||
meson \
|
||||
FROM ubuntu:20.04
|
||||
ENV DEBIAN_FRONTEND=noninteractive
|
||||
RUN sed -i 's/htt[p|ps]:\/\/archive.ubuntu.com\/ubuntu\//mirror:\/\/mirrors.ubuntu.com\/mirrors.txt/g' /etc/apt/sources.list
|
||||
RUN apt update && apt install -y git \
|
||||
build-essential \
|
||||
pkg-config \
|
||||
ninja-build \
|
||||
libgl1-mesa-dev \
|
||||
autotools-dev \
|
||||
autoconf \
|
||||
libtool \
|
||||
libfribidi-dev \
|
||||
libharfbuzz-dev \
|
||||
libfontconfig1-dev \
|
||||
libx11-dev \
|
||||
nasm \
|
||||
patchelf \
|
||||
libpipewire \
|
||||
rubberband \
|
||||
openal \
|
||||
uchardet \
|
||||
vulkan-headers \
|
||||
vulkan-icd-loader \
|
||||
wayland \
|
||||
wayland-protocols \
|
||||
libxv-dev \
|
||||
libva-dev \
|
||||
liblcms2-dev \
|
||||
libdrm-dev \
|
||||
libasound2-dev \
|
||||
libgnutls28-dev \
|
||||
libmp3lame-dev \
|
||||
libvorbis-dev \
|
||||
libopus-dev \
|
||||
libtheora-dev \
|
||||
libvpx-dev \
|
||||
libx264-dev \
|
||||
libx265-dev \
|
||||
libpulse-dev \
|
||||
libxext-dev \
|
||||
libxpresent-dev \
|
||||
libxrandr-dev \
|
||||
libxss-dev \
|
||||
libwebp-dev \
|
||||
libxkbcommon-dev \
|
||||
libpulse-dev \
|
||||
libxkbcommon-x11-dev \
|
||||
binutils \
|
||||
python3-pip \
|
||||
fuse3 \
|
||||
libpipewire-0.2-dev \
|
||||
libfreetype-dev \
|
||||
glslang-dev \
|
||||
wget \
|
||||
xorg-server-xvfb \
|
||||
zlib \
|
||||
zsync
|
||||
RUN pacman -S --noconfirm fuse2
|
||||
RUN pacman -S --noconfirm squashfs-tools
|
||||
RUN useradd -m builder
|
||||
USER builder
|
||||
libxcb-cursor0 libxcb-ewmh2 libxcb-icccm4 luajit libluajit-5.1-dev libpcsclite1 libxcb-keysyms1 libxcb-shape0 libjpeg-dev \
|
||||
libfontconfig1-dev \
|
||||
libfreetype-dev \
|
||||
libgtk-3-dev \
|
||||
libx11-dev \
|
||||
libx11-xcb-dev \
|
||||
libxcb-cursor-dev \
|
||||
libxcb-glx0-dev \
|
||||
libxcb-icccm4-dev \
|
||||
libxcb-image0-dev \
|
||||
libxcb-keysyms1-dev \
|
||||
libxcb-randr0-dev \
|
||||
libxcb-render-util0-dev \
|
||||
libxcb-shape0-dev \
|
||||
libxcb-shm0-dev \
|
||||
libxcb-sync-dev \
|
||||
libxcb-util-dev \
|
||||
libxcb-xfixes0-dev \
|
||||
libxcb-xkb-dev \
|
||||
libxcb1-dev \
|
||||
libxext-dev \
|
||||
libxfixes-dev \
|
||||
libxi-dev \
|
||||
libxkbcommon-dev \
|
||||
libxkbcommon-x11-dev \
|
||||
libxrender-dev \
|
||||
libmediainfo0v5
|
||||
RUN pip3 install meson
|
||||
RUN useradd -m builder
|
||||
RUN wget https://github.com/Kitware/CMake/releases/download/v4.0.3/cmake-4.0.3-linux-x86_64.sh -O /tmp/cmake.sh
|
||||
RUN chmod +x /tmp/cmake.sh && /tmp/cmake.sh --skip-license --prefix=/usr
|
||||
RUN git clone https://github.com/google/shaderc.git /deps/shaderc && cd /deps/shaderc && /deps/shaderc/utils/git-sync-deps && mkdir -p /deps/shaderc/build && cd /deps/shaderc/build && \
|
||||
cmake -GNinja -DCMAKE_BUILD_TYPE=Release -DSHADERC_SKIP_TESTS=ON -DSHADERC_SKIP_EXAMPLES=ON \
|
||||
/deps/shaderc && \
|
||||
ninja && ninja install && rm -rf /deps/shaderc
|
||||
RUN git clone https://github.com/Cyan4973/xxHash.git /deps/xxHash && cd /deps/xxHash && make && make install && rm -rf /deps/xxHash
|
||||
RUN git clone https://code.videolan.org/videolan/dav1d.git /deps/dav1d && cd /deps/dav1d && git checkout 1.5.1 && \
|
||||
mkdir -p /deps/dav1d/build && cd /deps/dav1d/build && \
|
||||
meson setup .. --default-library=static --buildtype=release --prefix=/usr && \
|
||||
ninja && ninja install && rm -rf /deps/dav1d
|
||||
#RUN git clone https://gitlab.freedesktop.org/wayland/wayland.git /deps/wayland
|
||||
#RUN cd /deps/wayland && git checkout 1.24 && \
|
||||
# meson setup build --prefix=/usr -Ddocumentation=false -Ddtd_validation=false && \
|
||||
# ninja -C build install
|
||||
#RUN git clone https://gitlab.freedesktop.org/wayland/wayland-protocols.git /deps/wayland-protocols
|
||||
#RUN cd /deps/wayland-protocols && git checkout 1.45 && \
|
||||
# meson setup build --prefix=/usr -Dtests=false && \
|
||||
# ninja -C build install
|
||||
RUN wget https://download.qt.io/official_releases/qt/6.9/6.9.1/single/qt-everywhere-src-6.9.1.tar.xz -O /tmp/qt.tar.xz && tar -xf /tmp/qt.tar.xz -C /deps && rm /tmp/qt.tar.xz && mkdir /deps/qt-build && cd /deps/qt-build && \
|
||||
/deps/qt-everywhere-src-6.9.1/configure -opensource -confirm-license -nomake examples -nomake tests -release -prefix /usr -skip qtwayland -skip qtwebengine -skip qtwebview -skip qt3d -skip qtdeclarative -skip qtscript -skip qtserialport -skip qttools -skip qtquick3d -skip qtxmlpatterns -skip qtcanvas3d -skip qtgraphs -skip qtlocation -skip qtdoc -skip qtlottie -skip qt5compat -skip qtmqtt -skip qtopcua -skip qtquick3dphysics -skip qtquickeffectmaker -skip qtquicktimeline -skip qttranslations -skip qtvirtualkeyboard -skip qtactiveqt -skip qtshadertools -skip qtmultimedia -skip qtspeech -skip qtcoap -skip qtconnectivity -skip qtdatavis3d -skip qtcharts -skip qtgrpc -skip qtwebsockets -skip qthttpserver -skip qtlanguageserver -skip qtpositioning -skip qtnetworkauth -skip qtremoteobjects -skip qtscmxml -skip qtsensors -skip qtserialbus -skip qtwebchannel -skip qtscxml && \
|
||||
cd /deps/qt-build && cmake --build . --parallel && cmake --install . && rm -rf /deps/qt-everywhere-src-6.9.1 /deps/qt-build
|
||||
RUN git clone https://github.com/mpv-player/mpv-build.git /deps/mpv-build/ && cd /deps/mpv-build && echo "-Djavascript=disabled" > mpv_options \
|
||||
&& echo "--disable-debug" > ffmpeg_options \
|
||||
&& echo "--disable-doc" >> ffmpeg_options \
|
||||
&& echo "--enable-encoder=png" >> ffmpeg_options \
|
||||
&& echo "--enable-gnutls" >> ffmpeg_options \
|
||||
&& echo "--enable-gpl" >> ffmpeg_options \
|
||||
&& echo "--enable-version3" >> ffmpeg_options \
|
||||
&& echo "--enable-libass" >> ffmpeg_options \
|
||||
&& echo "--enable-libdav1d" >> ffmpeg_options \
|
||||
&& echo "--enable-libfreetype" >> ffmpeg_options \
|
||||
&& echo "--enable-libmp3lame" >> ffmpeg_options \
|
||||
&& echo "--enable-libopus" >> ffmpeg_options \
|
||||
&& echo "--enable-libtheora" >> ffmpeg_options \
|
||||
&& echo "--enable-libvorbis" >> ffmpeg_options \
|
||||
&& echo "--enable-libvpx" >> ffmpeg_options \
|
||||
&& echo "--enable-libx264" >> ffmpeg_options \
|
||||
&& echo "--enable-libx265" >> ffmpeg_options \
|
||||
&& echo "--enable-libwebp" >> ffmpeg_options \
|
||||
&& /deps/mpv-build/rebuild -j32 \
|
||||
&& cp /deps/mpv-build/build_libs/bin/ffmpeg /usr/bin/ffmpeg \
|
||||
&& cp /deps/mpv-build/mpv/build/libmpv.so.2.5.0 /usr/lib/libmpv.so.2.5.0 \
|
||||
&& rm -rf /deps/mpv-build
|
||||
|
|
|
@ -1,10 +1,11 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
mkdir /app && cd /app
|
||||
if [ ! -x /app/python3.13.5-cp313-cp313-manylinux_2_28_x86_64.AppImage ]; then
|
||||
PKGDIR=usr/lib/python3.13/site-packages
|
||||
cd /app
|
||||
if [ ! -x /app/python3.13.5-cp313-cp313-manylinux2014_x86_64.AppImage ]; then
|
||||
echo "Downloading Python 3.13 AppImage..."
|
||||
wget https://github.com/niess/python-appimage/releases/download/python3.13/python3.13.5-cp313-cp313-manylinux_2_28_x86_64.AppImage
|
||||
chmod +x python3.13.5-cp313-cp313-manylinux_2_28_x86_64.AppImage
|
||||
wget https://github.com/niess/python-appimage/releases/download/python3.13/python3.13.5-cp313-cp313-manylinux2014_x86_64.AppImage
|
||||
chmod +x python3.13.5-cp313-cp313-manylinux2014_x86_64.AppImage
|
||||
else
|
||||
echo "Python 3.13 AppImage already exists."
|
||||
fi
|
||||
|
@ -12,31 +13,9 @@ if [ ! -x /app/linuxdeploy-x86_64.AppImage ]; then
|
|||
echo "Downloading linuxdeploy AppImage..."
|
||||
wget https://github.com/linuxdeploy/linuxdeploy/releases/download/continuous/linuxdeploy-x86_64.AppImage
|
||||
chmod +x linuxdeploy-x86_64.AppImage
|
||||
# ./linuxdeploy-x86_64.AppImage --appimage-extract
|
||||
# rm linuxdeploy-x86_64.AppImage
|
||||
# rm squashfs-root/usr/bin/strip
|
||||
# cp /usr/bin/strip squashfs-root/usr/bin/strip
|
||||
# squashfs-root/plugins/linuxdeploy-plugin-appimage/appimagetool-prefix/usr/bin/appimagetool -gn squashfs-root/
|
||||
# rm -r squashfs-root
|
||||
else
|
||||
echo "linuxdeploy AppImage already exists."
|
||||
fi
|
||||
if [ ! -x /app/linuxdeploy-plugin-qt-x86_64.AppImage ]; then
|
||||
echo "Downloading linuxdeploy-plugin-qt AppImage..."
|
||||
wget https://github.com/linuxdeploy/linuxdeploy-plugin-qt/releases/download/continuous/linuxdeploy-plugin-qt-x86_64.AppImage
|
||||
chmod +x linuxdeploy-plugin-qt-x86_64.AppImage
|
||||
else
|
||||
echo "linuxdeploy-plugin-qt AppImage already exists."
|
||||
fi
|
||||
|
||||
if [ ! -x /app/ffmpeg-linux-x64 ]; then
|
||||
echo "Downloading ffmpeg static binary..."
|
||||
wget https://github.com/eugeneware/ffmpeg-static/releases/download/b6.0/ffmpeg-linux-x64
|
||||
chmod +x ffmpeg-linux-x64
|
||||
else
|
||||
echo "ffmpeg static binary already exists."
|
||||
fi
|
||||
|
||||
if [ ! -d /app/syng ]; then
|
||||
echo "Cloning Syng repository..."
|
||||
git clone https://github.com/christofsteel/syng.git /app/syng
|
||||
|
@ -44,44 +23,66 @@ else
|
|||
echo "Syng repository already exists."
|
||||
fi
|
||||
|
||||
if [ -d /app/AppDir ]; then
|
||||
echo "Directory /app/AppDir already exists, deleting..."
|
||||
rm -rf /app/AppDir
|
||||
fi
|
||||
# if [ ! -x /app/mpv/mpv-build/mpv/build/libmpv.so.2.5.0 ]; then
|
||||
# echo "Building MPV..."
|
||||
# mkdir -p /app/mpv
|
||||
# cd /app/mpv
|
||||
# git clone https://github.com/mpv-player/mpv-build.git
|
||||
# cd mpv-build
|
||||
# echo "-Dlibmpv=true" > mpv_options
|
||||
# echo "-Djavascript=disabled" >> mpv_options
|
||||
# echo "--disable-debug" > ffmpeg_options
|
||||
# echo "--disable-doc" >> ffmpeg_options
|
||||
# echo "--enable-encoder=png" >> ffmpeg_options
|
||||
# echo "--enable-gnutls" >> ffmpeg_options
|
||||
# echo "--enable-gpl" >> ffmpeg_options
|
||||
# echo "--enable-version3" >> ffmpeg_options
|
||||
# echo "--enable-libass" >> ffmpeg_options
|
||||
# echo "--enable-libdav1d" >> ffmpeg_options
|
||||
# echo "--enable-libfreetype" >> ffmpeg_options
|
||||
# echo "--enable-libmp3lame" >> ffmpeg_options
|
||||
# echo "--enable-libopus" >> ffmpeg_options
|
||||
# echo "--enable-libtheora" >> ffmpeg_options
|
||||
# echo "--enable-libvorbis" >> ffmpeg_options
|
||||
# echo "--enable-libvpx" >> ffmpeg_options
|
||||
# echo "--enable-libx264" >> ffmpeg_options
|
||||
# echo "--enable-libx265" >> ffmpeg_options
|
||||
# echo "--enable-libwebp" >> ffmpeg_options
|
||||
# # echo "--enable-vulkan" >> ffmpeg_options
|
||||
# ./rebuild -j32
|
||||
#
|
||||
# cd /app
|
||||
# else
|
||||
# echo "MPV build already exists."
|
||||
# fi
|
||||
|
||||
if [ ! -x /app/mpv/mpv-build/mpv/build/libmpv.so.2.5.0 ]; then
|
||||
echo "Building MPV..."
|
||||
mkdir -p /app/mpv
|
||||
cd /app/mpv
|
||||
git clone https://github.com/mpv-player/mpv-build.git
|
||||
cd mpv-build
|
||||
echo "-Dlibmpv=true" > mpv_options
|
||||
./rebuild -j16
|
||||
if [ ! -d /app/AppDir ]; then
|
||||
echo "Extracting Python AppImage..."
|
||||
/app/python3.13.5-cp313-cp313-manylinux2014_x86_64.AppImage --appimage-extract
|
||||
mv /app/squashfs-root /app/AppDir
|
||||
|
||||
cd /app
|
||||
else
|
||||
echo "MPV build already exists."
|
||||
fi
|
||||
echo "Building MPV..."
|
||||
echo "Copy FFmpeg and MPV libraries..."
|
||||
cp /usr/bin/ffmpeg /app/AppDir/usr/bin/ffmpeg
|
||||
cp /usr/lib/libmpv.so.2.5.0 /app/AppDir/usr/lib/libmpv.so.2.5.0
|
||||
cp /usr/bin/ld /app/AppDir/usr/bin/ld
|
||||
|
||||
/app/python3.13.5-cp313-cp313-manylinux_2_28_x86_64.AppImage --appimage-extract
|
||||
mv /app/squashfs-root /app/AppDir
|
||||
ln -s libmpv.so.2.5.0 /app/AppDir/usr/lib/libmpv.so.2
|
||||
ln -s libmpv.so.2 /app/AppDir/usr/lib/libmpv.so
|
||||
|
||||
echo "Copy FFmpeg and MPV libraries..."
|
||||
cp /app/ffmpeg-linux-x64 /app/AppDir/usr/bin/ffmpeg
|
||||
cp /app/mpv/build_libs/bin/ffmpeg /app/AppDir/usr/bin/ffmpeg
|
||||
echo "Copy xcb libraries..."
|
||||
# qt6 needs them
|
||||
cp /usr/lib/x86_64-linux-gnu/libxcb-ewmh* /app/AppDir/usr/lib/
|
||||
cp /usr/lib/x86_64-linux-gnu/libxcb-icccm* /app/AppDir/usr/lib/
|
||||
cp /usr/lib/x86_64-linux-gnu/libxcb-keysyms* /app/AppDir/usr/lib/
|
||||
cp /usr/lib/x86_64-linux-gnu/libxcb* /app/AppDir/usr/lib/
|
||||
|
||||
cp /app/mpv/mpv-build/mpv/build/libmpv.so.2.5.0 /app/AppDir/usr/lib/libmpv.so.2.5.0
|
||||
ln -s libmpv.so.2.5.0 /app/AppDir/usr/lib/libmpv.so.2
|
||||
ln -s libmpv.so.2.5.0 /app/AppDir/usr/lib/libmpv.so
|
||||
|
||||
/app/AppDir/opt/python3.13/bin/python3.13 -m pip install syng[client] --target=/app/AppDir/packages
|
||||
/app/AppDir/opt/python3.13/bin/python3.13 -m pip install syng[client] --no-binary pillow --target=/app/AppDir/$PKGDIR
|
||||
|
||||
echo "Modifying AppDir structure..."
|
||||
|
||||
rm /app/AppDir/python3.13.5.desktop /app/AppDir/python.png /app/AppDir/usr/share/applications/python3.13.5.desktop
|
||||
|
||||
cat <<EOF > /app/AppDir/usr/share/applications/syng.desktop
|
||||
cat <<EOF > /app/AppDir/usr/share/applications/rocks.syng.Syng.desktop
|
||||
[Desktop Entry]
|
||||
Version=1.0
|
||||
Type=Application
|
||||
|
@ -96,17 +97,66 @@ Categories=AudioVideo
|
|||
EOF
|
||||
|
||||
cp /app/syng/resources/icons/hicolor/256x256/apps/rocks.syng.Syng.png /app/AppDir/usr/share/icons/hicolor/256x256/apps/
|
||||
APPRUN_LENGTH=$(wc -l < /app/AppDir/AppRun | cut -d' ' -f1)
|
||||
head -n $(($APPRUN_LENGTH - 2)) /app/AppDir/AppRun > /app/AppDir/AppRun.tmp
|
||||
echo 'export LD_LIBRARY_PATH="$APPDIR/usr/lib:$LD_LIBRARY_PATH"' >> /app/AppDir/AppRun.tmp
|
||||
echo 'export PYTHONPATH="$APPDIR/packages"' >> /app/AppDir/AppRun.tmp
|
||||
echo '"$APPDIR/opt/python3.13/bin/python3.13" -m syng "$@"' >> /app/AppDir/AppRun.tmp
|
||||
mv /app/AppDir/AppRun.tmp /app/AppDir/usr/bin/syng
|
||||
cp /app/bin/syng /app/AppDir/usr/bin/syng
|
||||
cp /app/bin/yt-dlp /app/AppDir/usr/bin/yt-dlp
|
||||
cp /usr/bin/ld /app/AppDir/usr/bin/ld
|
||||
chmod +x /app/AppDir/usr/bin/syng
|
||||
rm /app/AppDir/AppRun
|
||||
# ln -s usr/bin/syng /app/AppDir/AppRun
|
||||
cp /app/syng/resources/flatpak/rocks.syng.Syng.yaml /app/AppDir/usr/share/metainfo/rocks.syng.Syng.appdata.xml
|
||||
else
|
||||
echo "Python AppImage already extracted."
|
||||
fi
|
||||
|
||||
export EXTRA_PLATFORM_PLUGINS=wayland
|
||||
echo "Building AppImage..."
|
||||
export NO_STRIP=true
|
||||
/app/linuxdeploy-x86_64.AppImage --appdir /app/AppDir --output appimage
|
||||
echo "Patching mpv.py..."
|
||||
patch -p0 < libmpv.patch
|
||||
|
||||
echo "Removing unnecessary files..."
|
||||
for plugin in assetimporters generic help "imageformats/libqpdf.so" networkinformation position qmllint renderers sceneparsers sensors tls wayland-graphics-integration-client sqldrivers webview egldeviceintegrations geometryloaders multimedia platforminputcontexts printsupport qmlls renderplugins scxmldatamodel texttospeech wayland-decoration-client wayland-shell-integration; do
|
||||
rm -rf /app/AppDir/usr/lib/python3.13/site-packages/PyQt6/Qt6/plugins/$plugin
|
||||
done
|
||||
for lib in libavcodec.so.61 libQt6PdfQuick.so.6 libQt6Quick3DIblBaker.so.6 libQt6QuickControls2Material.so.6 libQt6QuickTimeline.so.6 libQt6Test.so.6 \
|
||||
libavformat.so.61 libQt6Help.so.6 libQt6Pdf.so.6 libQt6Quick3DParticles.so.6 libQt6QuickControls2MaterialStyleImpl.so.6 libQt6QuickVectorImageGenerator.so.6 libQt6TextToSpeech.so.6 \
|
||||
libavutil.so.59 libQt6LabsAnimation.so.6 libQt6PdfWidgets.so.6 libQt6Quick3DPhysicsHelpers.so.6 libQt6QuickControls2.so.6 libQt6QuickVectorImage.so.6 \
|
||||
libQt6LabsFolderListModel.so.6 libQt6PositioningQuick.so.6 libQt6Quick3DPhysics.so.6 libQt6QuickControls2Universal.so.6 libQt6QuickWidgets.so.6 libQt6WaylandEglClientHwIntegration.so.6 \
|
||||
libQt6LabsPlatform.so.6 libQt6Positioning.so.6 libQt6Quick3DRuntimeRender.so.6 libQt6QuickControls2UniversalStyleImpl.so.6 libQt6RemoteObjectsQml.so.6 libQt6WebChannelQuick.so.6 \
|
||||
libQt6LabsQmlModels.so.6 libQt6PrintSupport.so.6 libQt6Quick3D.so.6 libQt6QuickDialogs2QuickImpl.so.6 libQt6RemoteObjects.so.6 libQt6WebChannel.so.6 \
|
||||
libQt6Bluetooth.so.6 libQt6LabsSettings.so.6 libQt6QmlMeta.so.6 libQt6Quick3DSpatialAudio.so.6 libQt6QuickDialogs2.so.6 libQt6SensorsQuick.so.6 libQt6WebSockets.so.6 \
|
||||
libQt6Concurrent.so.6 libQt6LabsSharedImage.so.6 libQt6QmlModels.so.6 libQt6Quick3DUtils.so.6 libQt6QuickDialogs2Utils.so.6 libQt6Sensors.so.6 \
|
||||
libQt6LabsWavefrontMesh.so.6 libQt6Qml.so.6 libQt6Quick3DXr.so.6 libQt6QuickEffects.so.6 libQt6SerialPort.so.6 libQt6WlShellIntegration.so.6 \
|
||||
libQt6MultimediaQuick.so.6 libQt6QmlWorkerScript.so.6 libQt6QuickControls2Basic.so.6 libQt6QuickLayouts.so.6 libQt6ShaderTools.so.6 \
|
||||
libQt6Designer.so.6 libQt6Multimedia.so.6 libQt6Quick3DAssetImport.so.6 libQt6QuickControls2BasicStyleImpl.so.6 libQt6QuickParticles.so.6 libQt6SpatialAudio.so.6 \
|
||||
libQt6FFmpegStub-crypto.so.3 libQt6MultimediaWidgets.so.6 libQt6Quick3DAssetUtils.so.6 libQt6QuickControls2Fusion.so.6 libQt6QuickShapes.so.6 libQt6Sql.so.6 libswresample.so.5 \
|
||||
libQt6FFmpegStub-ssl.so.3 libQt6Network.so.6 libQt6Quick3DEffects.so.6 libQt6QuickControls2FusionStyleImpl.so.6 libQt6Quick.so.6 libQt6StateMachineQml.so.6 libswscale.so.8 \
|
||||
libQt6FFmpegStub-va-drm.so.2 libQt6Nfc.so.6 libQt6Quick3DGlslParser.so.6 libQt6QuickControls2Imagine.so.6 libQt6QuickTemplates2.so.6 libQt6StateMachine.so.6 \
|
||||
libQt6FFmpegStub-va.so.2 libQt6Quick3DHelpersImpl.so.6 libQt6QuickControls2ImagineStyleImpl.so.6 libQt6QuickTest.so.6 \
|
||||
libQt6FFmpegStub-va-x11.so.2 libQt6OpenGLWidgets.so.6 libQt6Quick3DHelpers.so.6 libQt6QuickControls2Impl.so.6 libQt6QuickTimelineBlendTrees.so.6 libQt6WaylandClient.so.6; do
|
||||
echo "Removing Qt library: $lib"
|
||||
rm /app/AppDir/usr/lib/python3.13/site-packages/PyQt6/Qt6/lib/$lib
|
||||
done
|
||||
|
||||
for platform in libqeglfs.so libqlinuxfb.so libqminimalegl.so libqminimal.so libqoffscreen.so libqvkkhrdisplay.so libqvnc.so libqwayland-egl.so libqwayland-generic.so; do
|
||||
echo "Removing Qt platform plugin: $platform"
|
||||
rm /app/AppDir/usr/lib/python3.13/site-packages/PyQt6/Qt6/plugins/platforms/$platform
|
||||
done
|
||||
|
||||
for lib in QtHelp.abi3.so QtNfc.abi3.so QtPdfWidgets.abi3.so QtQuick3D.abi3.so QtSensors.abi3.so QtStateMachine.abi3.so QtTextToSpeech.abi3.so \
|
||||
QtMultimedia.abi3.so QtPositioning.abi3.so QtQuick.abi3.so QtSerialPort.abi3.so QtWebChannel.abi3.so \
|
||||
QtDesigner.abi3.so QtMultimediaWidgets.abi3.so QtOpenGLWidgets.abi3.so QtPrintSupport.abi3.so QtQuickWidgets.abi3.so QtSpatialAudio.abi3.so QtWebSockets.abi3.so \
|
||||
QtBluetooth.abi3.so QtNetwork.abi3.so QtPdf.abi3.so QtQml.abi3.so QtRemoteObjects.abi3.so QtSql.abi3.so QtTest.abi3.so; do
|
||||
echo "Removing PyQt6 library: $lib"
|
||||
rm /app/AppDir/usr/lib/python3.13/site-packages/PyQt6/$lib
|
||||
done
|
||||
|
||||
# rm /app/AppDir/usr/lib/python3.13/site-packages/PyQt6/Qt6/translations/*
|
||||
|
||||
echo "Removing unnecessary QML files..."
|
||||
rm -rf /app/AppDir/usr/lib/python3.13/site-packages/PyQt6/Qt6/qml/
|
||||
# ln -s python3.13/site-packages/PyQt6/Qt6/ /app/AppDir/usr/lib/qt6
|
||||
# for file in /app/AppDir/usr/lib/python3.13/site-packages/PyQt6/Qt6/lib/*; do
|
||||
# echo "Linking $file to /app/AppDir/usr/lib/$(basename $file)"
|
||||
# relative_path=$(realpath --relative-to=/app/AppDir/usr/lib/ $file)
|
||||
# ln -s "$relative_path" /app/AppDir/usr/lib/$(basename $file)
|
||||
# done
|
||||
|
||||
echo "Creating AppImage..."
|
||||
/app/linuxdeploy-x86_64.AppImage --plugin qt --appdir /app/AppDir --output appimage
|
||||
|
|
Loading…
Add table
Reference in a new issue