mirror of
https://github.com/nextcloud/desktop.git
synced 2024-11-22 21:15:55 +03:00
let appimage build script work with Qt6 based version
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
This commit is contained in:
parent
44f6d514ff
commit
b7bba50672
1 changed files with 35 additions and 43 deletions
|
@ -2,17 +2,12 @@
|
|||
|
||||
set -xe
|
||||
|
||||
export APPNAME=${APPNAME:-nextcloud}
|
||||
export APPNAME=${APPNAME:-Nextcloud}
|
||||
export EXECUTABLE_NAME=${EXECUTABLE_NAME:-nextcloud}
|
||||
export BUILD_UPDATER=${BUILD_UPDATER:-OFF}
|
||||
export BUILDNR=${BUILDNR:-0000}
|
||||
export DESKTOP_CLIENT_ROOT=${DESKTOP_CLIENT_ROOT:-/home/user}
|
||||
|
||||
#Set Qt-5.15
|
||||
export QT_BASE_DIR=/opt/kdeqt5.15
|
||||
|
||||
export QTDIR=$QT_BASE_DIR
|
||||
export PATH=$QT_BASE_DIR/bin:$PATH
|
||||
|
||||
# Set defaults
|
||||
export SUFFIX=${DRONE_PULL_REQUEST:=master}
|
||||
if [ $SUFFIX != "master" ]; then
|
||||
|
@ -29,12 +24,13 @@ mkdir build-client
|
|||
cd build-client
|
||||
cmake \
|
||||
-G Ninja \
|
||||
-D CMAKE_INSTALL_PREFIX=/usr \
|
||||
-D BUILD_TESTING=OFF \
|
||||
-D BUILD_UPDATER=$BUILD_UPDATER \
|
||||
-D MIRALL_VERSION_BUILD=$BUILDNR \
|
||||
-D MIRALL_VERSION_SUFFIX="$VERSION_SUFFIX" \
|
||||
-D CMAKE_UNITY_BUILD=ON \
|
||||
-DQT_MAJOR_VERSION=6 \
|
||||
-DCMAKE_INSTALL_PREFIX=/usr \
|
||||
-DBUILD_TESTING=OFF \
|
||||
-DBUILD_UPDATER=$BUILD_UPDATER \
|
||||
-DMIRALL_VERSION_BUILD=$BUILDNR \
|
||||
-DMIRALL_VERSION_SUFFIX="$VERSION_SUFFIX" \
|
||||
-DCMAKE_UNITY_BUILD=ON \
|
||||
${DESKTOP_CLIENT_ROOT}
|
||||
cmake --build . --target all
|
||||
DESTDIR=/app cmake --install .
|
||||
|
@ -64,44 +60,40 @@ rm -rf etc
|
|||
|
||||
# com.nextcloud.desktopclient.nextcloud.desktop
|
||||
DESKTOP_FILE=$(ls /app/usr/share/applications/*.desktop)
|
||||
sed -i -e 's|Icon=nextcloud|Icon=Nextcloud|g' ${DESKTOP_FILE} # Bug in desktop file?
|
||||
cp ./usr/share/icons/hicolor/512x512/apps/*.png . # Workaround for linuxeployqt bug, FIXME
|
||||
|
||||
# Because distros need to get their shit together
|
||||
cp -R /usr/lib/x86_64-linux-gnu/libssl.so* ./usr/lib/
|
||||
cp -R /usr/lib/x86_64-linux-gnu/libcrypto.so* ./usr/lib/
|
||||
cp -P /usr/local/lib*/libssl.so* ./usr/lib/
|
||||
cp -P /usr/local/lib*/libcrypto.so* ./usr/lib/
|
||||
cp -P /usr/local/lib*/libsqlite*.so* ./usr/lib/
|
||||
|
||||
# NSS fun
|
||||
cp -P -r /usr/lib/x86_64-linux-gnu/nss ./usr/lib/
|
||||
|
||||
# Use linuxdeployqt to deploy
|
||||
LINUXDEPLOYQT_VERSION="continuous"
|
||||
wget -O linuxdeployqt.AppImage --ca-directory=/etc/ssl/certs -c "https://github.com/probonopd/linuxdeployqt/releases/download/${LINUXDEPLOYQT_VERSION}/linuxdeployqt-continuous-x86_64.AppImage"
|
||||
chmod a+x linuxdeployqt.AppImage
|
||||
./linuxdeployqt.AppImage --appimage-extract
|
||||
rm ./linuxdeployqt.AppImage
|
||||
# Use linuxdeploy to deploy
|
||||
export APPIMAGE_NAME=linuxdeploy-x86_64.AppImage
|
||||
wget -O ${APPIMAGE_NAME} --ca-directory=/etc/ssl/certs -c "https://github.com/linuxdeploy/linuxdeploy/releases/download/continuous/linuxdeploy-x86_64.AppImage"
|
||||
chmod a+x ${APPIMAGE_NAME}
|
||||
./${APPIMAGE_NAME} --appimage-extract
|
||||
rm ./${APPIMAGE_NAME}
|
||||
cp -r ./squashfs-root ./linuxdeployqt-squashfs-root
|
||||
unset QTDIR; unset QT_PLUGIN_PATH ; unset LD_LIBRARY_PATH
|
||||
export LD_LIBRARY_PATH=/usr/local/lib:/usr/local/lib/x86_64-linux-gnu
|
||||
./squashfs-root/AppRun ${DESKTOP_FILE} -bundle-non-qt-libs -qmldir=${DESKTOP_CLIENT_ROOT}/src/gui
|
||||
export LD_LIBRARY_PATH=/app/usr/lib:/usr/local/lib/x86_64-linux-gnu:/usr/local/lib:/usr/local/lib64
|
||||
./squashfs-root/AppRun -bundle-non-qt-libs -qmldir=${DESKTOP_CLIENT_ROOT}/src/gui --desktop-file=${DESKTOP_FILE} --icon-file=usr/share/icons/hicolor/512x512/apps/${APPNAME}.png --executable=usr/bin/${EXECUTABLE_NAME} --appdir=AppDir --output appimage
|
||||
|
||||
# Use linuxdeploy-plugin-qt to deploy qt dependencies
|
||||
#export APPIMAGE_NAME=linuxdeploy-plugin-qt-x86_64.AppImage
|
||||
#wget -O ${APPIMAGE_NAME} --ca-directory=/etc/ssl/certs -c "https://github.com/linuxdeploy/linuxdeploy-plugin-qt/releases/download/continuous/linuxdeploy-plugin-qt-x86_64.AppImage"
|
||||
#chmod a+x ${APPIMAGE_NAME}
|
||||
#./${APPIMAGE_NAME} --appimage-extract
|
||||
#rm ./${APPIMAGE_NAME}
|
||||
#cp -r ./squashfs-root ./linuxdeployqt-squashfs-root
|
||||
#./squashfs-root/AppRun --appdir AppDir
|
||||
|
||||
# Set origin
|
||||
./squashfs-root/usr/bin/patchelf --set-rpath '$ORIGIN/' /app/usr/lib/lib*sync.so.0
|
||||
#./squashfs-root/usr/bin/patchelf --set-rpath '$ORIGIN/' /app/usr/lib/lib*sync.so.0
|
||||
|
||||
# Build AppImage
|
||||
./squashfs-root/AppRun ${DESKTOP_FILE} -appimage -updateinformation="gh-releases-zsync|nextcloud-releases|desktop|latest|Nextcloud-*-x86_64.AppImage.zsync"
|
||||
#./squashfs-root/AppRun ${DESKTOP_FILE} -appimage -updateinformation="gh-releases-zsync|nextcloud-releases|desktop|latest|Nextcloud-*-x86_64.AppImage.zsync"
|
||||
|
||||
# Workaround issue #103
|
||||
rm -rf ./squashfs-root
|
||||
APPIMAGE=$(ls *.AppImage)
|
||||
"./${APPIMAGE}" --appimage-extract
|
||||
rm "./${APPIMAGE}"
|
||||
rm ./squashfs-root/usr/lib/libglib-2.0.so.0
|
||||
rm ./squashfs-root/usr/lib/libgobject-2.0.so.0
|
||||
PATH=./linuxdeployqt-squashfs-root/usr/bin:$PATH appimagetool -n ./squashfs-root "$APPIMAGE"
|
||||
#rm -rf ./squashfs-root
|
||||
#APPIMAGE=$(ls *.AppImage)
|
||||
#"./${APPIMAGE}" --appimage-extract
|
||||
#rm "./${APPIMAGE}"
|
||||
#rm ./squashfs-root/usr/lib/libglib-2.0.so.0
|
||||
#rm ./squashfs-root/usr/lib/libgobject-2.0.so.0
|
||||
#PATH=./linuxdeployqt-squashfs-root/usr/bin:$PATH appimagetool -n ./squashfs-root "$APPIMAGE"
|
||||
|
||||
#move AppImage
|
||||
if [ ! -z "$DRONE_COMMIT" ]
|
||||
|
|
Loading…
Reference in a new issue