Skip to content
GitLab
Explorer
Connexion
Navigation principale
Rechercher ou aller à…
Projet
lektor
Gestion
Activité
Membres
Labels
Programmation
Tickets
Tableaux des tickets
Jalons
Code
Requêtes de fusion
Dépôt
Branches
Validations
Étiquettes
Graphe du dépôt
Comparer les révisions
Compilation
Pipelines
Jobs
Planifications de pipeline
Artéfacts
Aide
Aide
Support
Documentation de GitLab
Comparer les forfaits GitLab
Forum de la communauté
Contribuer à GitLab
Donner votre avis
Raccourcis clavier
?
Extraits de code
Groupes
Projets
Afficher davantage de fils d'Ariane
Kubat
lektor
Validations
13402591
Valider
13402591
rédigé
1 year ago
par
Elliu
Parcourir les fichiers
Options
Téléchargements
Correctifs
Plain Diff
BUILD: WIP: try wayland appimage
parent
143012f1
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
Modifications
2
Masquer les modifications d'espaces
En ligne
Côte à côte
Affichage de
2 fichiers modifiés
utils/scripts/docker/package_appimages.bash
+108
-51
108 ajouts, 51 suppressions
utils/scripts/docker/package_appimages.bash
utils/scripts/docker/setup_base.bash
+1
-0
1 ajout, 0 suppression
utils/scripts/docker/setup_base.bash
avec
109 ajouts
et
51 suppressions
utils/scripts/docker/package_appimages.bash
+
108
−
51
Voir le fichier @
13402591
...
...
@@ -21,68 +21,124 @@ function join_by() {
fi
}
function
get_additional_libs
()
{
case
$*
in
*
qt
*
)
for
LIB
in
/usr/lib/x86_64-linux-gnu/libQt6WaylandEglCompositorHwIntegration.so
\
/usr/lib/x86_64-linux-gnu/libQt6WaylandEglClientHwIntegration.so
\
/usr/lib/x86_64-linux-gnu/libQt6WaylandCompositor.so
\
/usr/lib/x86_64-linux-gnu/libQt6OpenGLWidgets.so
\
/usr/lib/x86_64-linux-gnu/libQt6OpenGL.so
\
/usr/lib/x86_64-linux-gnu/libQt6MultimediaWidgets.so
\
/usr/lib/x86_64-linux-gnu/libQt6Multimedia.so
\
/usr/lib/x86_64-linux-gnu/libQt6Concurrent.so
\
/usr/lib/x86_64-linux-gnu/libQt6WaylandClient.so
\
/usr/lib/x86_64-linux-gnu/libQt6XcbQpa.so
\
/usr/lib/x86_64-linux-gnu/libQt6EglFSDeviceIntegration.so
\
/usr/lib/x86_64-linux-gnu/libQt6EglFsKmsGbmSupport.so
\
/usr/lib/x86_64-linux-gnu/libQt6EglFsKmsSupport.so
;
do
for
FILE
in
${
LIB
}*
;
do
echo
-n
" -l
${
FILE
}
"
done
done
;;
*
);;
esac
}
function
deploy
()
{
local
EXEC
=
${
1
,,
}
local
WITHQTPLUGIN
=
"
$2
"
local
EXTRA_QT_PLUGINS
=
"concurrent;core;dbus;eglfsdeviceintegration;eglfskmssupport;gui;multimedia;multimediawidgets;"
local
EXTRA_QT_PLUGINS+
=
"opengl;openglwidgets;waylandclient;waylandcompositor;widgets;xcbqpa;"
export
EXTRA_QT_PLUGINS
local
EXTRA_CUSTOM_QT_PLUGINS
=(
"wayland-shell-integration/libxdg-shell.so"
"wayland-graphics-integration-client/libdmabuf-server.so"
"wayland-graphics-integration-client/libdrm-egl-server.so"
"wayland-graphics-integration-client/libqt-plugin-wayland-egl.so"
"wayland-graphics-integration-client/libshm-emulation-server.so"
"wayland-graphics-integration-client/libvulkan-server.so"
"wayland-graphics-integration-server/libqt-wayland-compositor-drm-egl-server-buffer.so"
"wayland-graphics-integration-server/libqt-wayland-compositor-wayland-egl.so"
"wayland-graphics-integration-server/libqt-wayland-compositor-wayland-eglstream-controller.so"
"egldeviceintegrations/libqeglfs-emu-integration.so"
"egldeviceintegrations/libqeglfs-kms-egldevice-integration.so"
"egldeviceintegrations/libqeglfs-kms-integration.so"
"egldeviceintegrations/libqeglfs-x11-integration.so"
)
local
EXTRA_GRAPHIC_LIBS
=(
"/usr/lib/x86_64-linux-gnu/libEGL_mesa.so.0"
"/usr/lib/x86_64-linux-gnu/libEGL_mesa.so.0.0.0"
"/usr/lib/x86_64-linux-gnu/libEGL.so.1"
"/usr/lib/x86_64-linux-gnu/libEGL.so.1.1.0"
"/usr/lib/x86_64-linux-gnu/libOpenGL.so"
"/usr/lib/x86_64-linux-gnu/libOpenGL.so.0"
"/usr/lib/x86_64-linux-gnu/libOpenGL.so.0.0.0"
"/usr/lib/x86_64-linux-gnu/libgbm.so.1.0.0"
"/usr/lib/x86_64-linux-gnu/libgbm.so.1"
"/usr/lib/x86_64-linux-gnu/libglapi.so.0.0.0"
"/usr/lib/x86_64-linux-gnu/libglapi.so.0"
"/usr/lib/x86_64-linux-gnu/libGLdispatch.so.0.0.0"
"/usr/lib/x86_64-linux-gnu/libGLdispatch.so.0"
"/usr/lib/x86_64-linux-gnu/libGLX_mesa.so.0.0.0"
"/usr/lib/x86_64-linux-gnu/libGLX_indirect.so.0"
"/usr/lib/x86_64-linux-gnu/libGLX_mesa.so.0"
"/usr/lib/x86_64-linux-gnu/libGLX.so.0.0.0"
"/usr/lib/x86_64-linux-gnu/libGLX.so.0"
"/usr/lib/x86_64-linux-gnu/libGL.so.1.7.0"
"/usr/lib/x86_64-linux-gnu/libGL.so.1"
"/usr/lib/x86_64-linux-gnu/libGLX.so"
"/usr/lib/x86_64-linux-gnu/libGL.so"
)
local
EXTRA_DRI_LIBS
=(
"i915_dri.so"
"i965_dri.so"
"iris_dri.so"
"kms_swrast_dri.so"
"nouveau_dri.so"
"nouveau_vieux_dri.so"
"r200_dri.so"
"r300_dri.so"
"r600_dri.so"
"radeon_dri.so"
"radeonsi_dri.so"
"swrast_dri.so"
"virtio_gpu_dri.so"
"vmwgfx_dri.so"
"zink_dri.so"
"i965_drv_video.so"
"iHD_drv_video.so"
"nouveau_drv_video.so"
"r600_drv_video.so"
"radeonsi_drv_video.so"
)
local
EXTRA_DRM_LIBS
=(
"libdrm.so.2.4.0"
"libdrm.so.2"
"libdrm_amdgpu.so.1.0.0"
"libdrm_amdgpu.so.1"
"libdrm_intel.so.1.0.0"
"libdrm_intel.so.1"
"libdrm_nouveau.so.2.0.0"
"libdrm_nouveau.so.2"
"libdrm_radeon.so.1.0.1"
"libdrm_radeon.so.1"
)
local
EXTRA_PLATFORM_PLUGINS
=
"libqxcb.so;
libqeglfs.so;
libqwayland-egl.so;libqwayland-generic.so;"
local
EXTRA_PLATFORM_PLUGINS
=
"libqxcb.so;libqwayland-egl.so;libqwayland-generic.so;"
export
EXTRA_PLATFORM_PLUGINS
local
EXCLUDE_LIBS
=
"libgdk_pixbuf libpango libcairo libgio libglib libgmodule libgobject libgthread"
local
EXCLUDE_LIBS
=
"-name *
$(
join_by
"* -or -name *"
$EXCLUDE_LIBS
)
*"
local
QT_SRC
=
/usr/lib/x86_64-linux-gnu/qt6/plugins
local
QT_DST
=
${
EXEC
^
}
/usr/plugins
local
qtPlugin
=()
if
[[
"x
$WITHQTPLUGIN
"
==
"x1"
]]
;
then
qtPlugin+
=(
--plugin
qt
)
# Will do most of the work
linuxdeploy
-v1
--appdir
${
EXEC
^
}
-e
target/release/
${
EXEC
}
\
-i
${
EXEC
}
/
${
EXEC
}
.png
-d
${
EXEC
}
/
${
EXEC
}
.desktop
\
${
*
:2
}
$(
get_additional_libs
$*
)
# Handle aftermath things here, we force copy the qt plugins for wayland and remove unwanted
# libs... NOTE: For now we force the xcb platform because of troubles with wayland...
mkdir
-p
${
EXEC
^
}
/apprun-hooks/
case
${
*
:2
}
in
*
qt
*
)
for
PLUGIN
in
${
QT_SRC
}
/
*
;
do
local
PLUGIN
=
$(
basename
${
PLUGIN
}
)
mkdir
-p
${
QT_DST
}
/
${
PLUGIN
}
cp
-rf
${
QT_SRC
}
/
${
PLUGIN
}
/
*
${
QT_DST
}
/
${
PLUGIN
}
/
for
lib
in
"
${
EXTRA_DRI_LIBS
[@]
}
"
;
do
local
dest
=
"
$(
dirname
"
${
EXEC
^
}
/usr/lib/dri/
$lib
"
)
"
mkdir
-p
"
$dest
"
cp
"/usr/lib/x86_64-linux-gnu/dri/
$lib
"
"
$dest
"
qtPlugin+
=(
--deploy-deps-only
=
"
${
EXEC
^
}
/usr/lib/dri/
$lib
"
--library
=
"/usr/lib/x86_64-linux-gnu/dri/
$lib
"
)
done
for
lib
in
"
${
EXTRA_DRM_LIBS
[@]
}
"
;
do
local
dest
=
"
$(
dirname
"
${
EXEC
^
}
/usr/lib/dri/
$lib
"
)
"
mkdir
-p
"
$dest
"
cp
"/usr/lib/x86_64-linux-gnu/
$lib
"
"
$dest
"
qtPlugin+
=(
--deploy-deps-only
=
"
${
EXEC
^
}
/usr/lib/dri/
$lib
"
--library
=
"/usr/lib/x86_64-linux-gnu/
$lib
"
)
done
for
lib
in
"
${
EXTRA_GRAPHIC_LIBS
[@]
}
"
;
do
qtPlugin+
=(
--library
=
"
$lib
"
)
done
for
PRL_FILE
in
/usr/lib/x86_64-linux-gnu/libQt6Wayland
*
.prl
;
do
cp
${
PRL_FILE
}
${
EXEC
^
}
/usr/lib/
$(
basename
${
PRL_FILE
}
)
for
plug
in
"
${
EXTRA_CUSTOM_QT_PLUGINS
[@]
}
"
;
do
local
dest
=
"
$(
dirname
"
${
EXEC
^
}
/usr/plugins/
$plug
"
)
"
mkdir
-p
"
$dest
"
cp
"/usr/lib/x86_64-linux-gnu/qt6/plugins/
$plug
"
"
$dest
"
qtPlugin+
=(
--deploy-deps-only
=
"
${
EXEC
^
}
/usr/plugins/
$plug
"
--library
=
"/usr/lib/x86_64-linux-gnu/qt6/plugins/
$plug
"
)
done
;;
*
);;
esac
fi
# Will do most of the work
linuxdeploy
-v1
--appdir
${
EXEC
^
}
-e
target/release/
${
EXEC
}
\
-i
${
EXEC
}
/
${
EXEC
}
.png
-d
${
EXEC
}
/
${
EXEC
}
.desktop
"
${
qtPlugin
[@]
}
"
find
${
EXEC
^
}
/usr/lib/
-type
f
-and
\(
${
EXCLUDE_LIBS
}
\)
-delete
cp
LICENSE CHANGELOG.md CONTRIBUTING.md
${
EXEC
^
}
/
install
-Dm644
${
EXEC
}
/
${
EXEC
}
.appdata.xml
${
EXEC
^
}
/usr/share/metainfo/
${
EXEC
}
.appdata.xml
...
...
@@ -102,6 +158,7 @@ this_dir="\$(readlink -f "\$(dirname "\$0")")"
source "
\$
HOOK"
done
}
export LD_PRELOAD="/usr/lib/libdrm.so.2"
exec "
\$
this_dir/usr/bin/
${
EXEC
}
"
\$
@
EOF
...
...
@@ -112,5 +169,5 @@ EOF
deploy lkt
deploy amadeus
deploy lektord
--plugin
qt
deploy lektord
1
Ce diff est replié.
Cliquez pour l'agrandir.
utils/scripts/docker/setup_base.bash
+
1
−
0
Voir le fichier @
13402591
...
...
@@ -11,6 +11,7 @@ PKG_BACKPORT+=" qt6-image-formats-plugins qt6-gtk-platformtheme qt6-base-abi lib
PKG_BACKPORT+
=
" libqt6multimedia6 libqt6concurrent6 libqt6multimediawidgets6 "
PKG_BACKPORT+
=
" libqt6opengl6 libqt6openglwidgets6 libqt6widgets6"
PKG_BACKPORT+
=
" qt6-translations-l10n qt6-l10n-tools"
PKG_BACKPORT+
=
" libdrm2 libdrm-nouveau2 libdrm-radeon1 libdrm-amdgpu1 libdrm-common libdrm-intel1"
PKG_BACKPORT+
=
" qt6-wayland-dev qt6-wayland qt6-wayland-dev-tools"
PKG_BACKPORT+
=
" libqt6waylandclient6 libqt6waylandcompositor6 libqt6waylandeglclienthwintegration6"
...
...
Ce diff est replié.
Cliquez pour l'agrandir.
Aperçu
0%
Chargement en cours
Veuillez réessayer
ou
joindre un nouveau fichier
.
Annuler
You are about to add
0
people
to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Enregistrer le commentaire
Annuler
Veuillez vous
inscrire
ou vous
se connecter
pour commenter