# lxqt-desktop
The LXQt desktop
**LXQT** utilise **cmake** afin de configurer les sources en vue de leur compilation:
* **PCRE** - **P**erl **C**ompatible **R**egular **E**xpressions par cmake qui fait appel à **libpcre.so.3** qui est la version debian de **libpcre.so.0**, mais **libpcre.so.3** n'est pas fourni par la source de **PCRE**, il faut donc créer un lien symbolique dans l'arbre de l'host:\\ `if [[ ! -L "$(HOST_DIR)/usr/lib/libpcre.so.3" ]]; then ln -s $(HOST_DIR)/usr/lib/libpcre.so $(HOST_DIR)/usr/lib/libpcre.so.3; fi`
* Les options suivantes doivent être utilisées dans le linker:
* **-Wl,--as-needed -Wl,--allow-shlib-undefined** Pour permettre l'éditeur de liens de créer des bibliothèques partagées auxquelles il manque des dépendances indirectes.
* **-pthread** indique au compilateur de créer un lien dans la bibliothèque **pthread** ainsi que de configurer la compilation pour les threads.
`-DPULSEAUDIO_INCLUDE_DIR=$(TARGET_DIR)/usr/include \`
`-DPULSEAUDIO_LIBRARY=pulse \`
**FFMEG** doit être construit avec **libswscale**
```
mkdir /data/buildroot/package/lxqt-desktop
cat > /data/buildroot/package/lxqt-desktop/Config.in<< 'EOF'
config BR2_PACKAGE_LXQT_DESKTOP
bool "lxqt-desktop"
select BR2_PACKAGE_MESA3D
select BR2_PACKAGE_MESA3D_DRIVER
select BR2_PACKAGE_MESA3D_DRI_DRIVER
select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER
select BR2_PACKAGE_MESA3D_OPENGL_GLX
select BR2_PACKAGE_MESA3D_OPENGL_EGL
select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_V3D
select BR2_PACKAGE_MESA3D_OPENGL_ES
select BR2_PACKAGE_LIBGL
select BR2_PACKAGE_WAYLAND
select BR2_PACKAGE_PCRE
select BR2_PACKAGE_KF5
select BR2_PACKAGE_KF5_EXTRA_CMAKE_MODULES
select BR2_PACKAGE_BASH
select BR2_PACKAGE_CONNMAN
select BR2_PACKAGE_GLIB2
select BR2_PACKAGE_GVFS
select BR2_PACKAGE_HICOLOR_ICON_THEME
select BR2_PACKAGE_JSON_GLIB
select BR2_PACKAGE_LIBCONFIG
select BR2_PACKAGE_LIBGCRYPT
select BR2_PACKAGE_LIBGLIB2
select BR2_PACKAGE_LIBSECRET
select BR2_PACKAGE_LINUX_PAM
select BR2_PACKAGE_MENU_CACHE
select BR2_PACKAGE_NETWORK_MANAGER
select BR2_PACKAGE_OPENAL
select BR2_PACKAGE_OPENBOX
select BR2_PACKAGE_PERL
select BR2_PACKAGE_POLKIT
select BR2_PACKAGE_PROCPS_NG
select BR2_PACKAGE_PULSEAUDIO
select BR2_PACKAGE_PYTHON3
select BR2_PACKAGE_PYTHON_PYQT5
select BR2_PACKAGE_PYQT_BUILDER
select BR2_PACKAGE_QT5
select BR2_PACKAGE_QT5BASE
select BR2_PACKAGE_QT5BASE_XCB
select BR2_PACKAGE_QT5BASE_DBUS
select BR2_PACKAGE_QT5TOOLS
select BR2_PACKAGE_QT5TOOLS_LINGUIST_TOOLS
select BR2_PACKAGE_QT5SVG
select BR2_PACKAGE_QT5X11EXTRAS
select BR2_PACKAGE_QT5IMAGEFORMATS
select BR2_PACKAGE_QT5MULTIMEDIA
select BR2_PACKAGE_QT5QUICKCONTROLS
select BR2_PACKAGE_QT5WAYLAND
select BR2_PACKAGE_QTERMWIDGET
select BR2_PACKAGE_READLINE
select BR2_PACKAGE_SUDO
select BR2_PACKAGE_TPM2_TSS
select BR2_PACKAGE_UDISKS
select BR2_PACKAGE_XORG7
select BR2_PACKAGE_UDEV
select BR2_PACKAGE_XSERVER_XORG_SERVER
select BR2_PACKAGE_XDRIVER_XF86_INPUT_LIBINPUT
select BR2_PACKAGE_XLIB_XRANDR
select BR2_PACKAGE_XAPP_XAUTH
select BR2_PACKAGE_XLIB_LIBX11
select BR2_PACKAGE_XLIB_LIBXCOMPOSITE
select BR2_PACKAGE_XLIB_LIBXCURSOR
select BR2_PACKAGE_XLIB_LIBXFIXES
select BR2_PACKAGE_XLIB_LIBXI
select BR2_PACKAGE_XLIB_LIBXV
select BR2_PACKAGE_XLIB_LIBXTST
select BR2_PACKAGE_XCB_PROTO
select BR2_PACKAGE_XDG_USER_DIRS
select BR2_PACKAGE_FFMPEG
select BR2_PACKAGE_LIBGCRYPT
select BR2_PACKAGE_QT5BASE
select BR2_PACKAGE_LIBEXIF
select BR2_PACKAGE_ALSA_LIB
select BR2_PACKAGE_PULSEAUDIO
select BR2_PACKAGE_LM_SENSORS
select BR2_PACKAGE_SYSSTAT
select BR2_PACKAGE_MENU_CACHE
select BR2_PACKAGE_UPOWER
select BR2_PACKAGE_LXQT_DESKTOP_PKG
help
The Base for LXQt desktop
config BR2_PACKAGE_LXQT_DESKTOP_PKG
bool "lxqt-desktop-pkg"
depends on BR2_PACKAGE_LXQT_DESKTOP
select BR2_PACKAGE_DESKTOP_FILE_UTILS
select BR2_PACKAGE_HUNSPELL
select BR2_PACKAGE_LIBDBUSMENU_QT5
select BR2_PACKAGE_LIBQTXDG
select BR2_PACKAGE_LIBLXQT
select BR2_PACKAGE_LIBFM_QT
select BR2_PACKAGE_LIBSTATGRAB
select BR2_PACKAGE_LIBSYSSTAT
select BR2_PACKAGE_LIBXSS
select BR2_PACKAGE_LIBXDMCP
select BR2_PACKAGE_NETWORKMANAGER_QT
select BR2_PACKAGE_KIDLETIME
select BR2_PACKAGE_PLASMA_WAYLAND_PROTOCOLS
select BR2_PACKAGE_KWAYLAND
select BR2_PACKAGE_KWINDOWSYSTEM
select BR2_PACKAGE_COMPTON_CONF
select BR2_PACKAGE_LXMENU_DATA
select BR2_PACKAGE_LXQT_ABOUT
select BR2_PACKAGE_LXQT_ADMIN
select BR2_PACKAGE_LXQT_ARCHIVER
select BR2_PACKAGE_LXQT_CONFIG
select BR2_PACKAGE_LXQT_BUILD_TOOLS
select BR2_PACKAGE_LXQT_GLOBALKEYS
select BR2_PACKAGE_LXQT_NOTIFICATIOND
select BR2_PACKAGE_LXQT_OPENSSH_ASKPASS
select BR2_PACKAGE_LXQT_PANEL
select BR2_PACKAGE_LXQT_POLICYKIT
select BR2_PACKAGE_LXQT_POWERMANAGEMENT
select BR2_PACKAGE_LXQT_QTPLUGIN
select BR2_PACKAGE_LXQT_RUNNER
select BR2_PACKAGE_LXQT_SUDO
select BR2_PACKAGE_LXQT_THEMES
select BR2_PACKAGE_LXQT_WALLET
select BR2_PACKAGE_LXIMAGE_QT
select BR2_PACKAGE_LXMENU_DATA
select BR2_PACKAGE_MEDIA_PLAYER_INFO
select BR2_PACKAGE_MUPARSER
select BR2_PACKAGE_NM_TRAY
select BR2_PACKAGE_PAVUCONTROL_QT
select BR2_PACKAGE_PCMANFM_QT
select BR2_PACKAGE_POLKIT_QT5
select BR2_PACKAGE_QLIPPER
select BR2_PACKAGE_QT5_TRANSLATIONS
select BR2_PACKAGE_QTAV
select BR2_PACKAGE_QTERMINAL
select BR2_PACKAGE_QTXDG_TOOLS
select BR2_PACKAGE_SCREENGRAB
select BR2_PACKAGE_SDDM
select BR2_PACKAGE_SDDM_CONFIG_EDITOR
select BR2_PACKAGE_SOLID
select BR2_PACKAGE_UCHARDET
help
The LXQt desktop
EOF
sed -i '/menu "Custom packages"/a source "package/lxqt-desktop/Config.in"' /data/buildroot/package/Config.in
```