diff options
author | Bruce Dubbs <bdubbs@linuxfromscratch.org> | 2023-06-17 11:37:23 -0500 |
---|---|---|
committer | Bruce Dubbs <bdubbs@linuxfromscratch.org> | 2023-06-17 11:37:23 -0500 |
commit | 66f4ab43f69cf0c4977d458a5d3494fe098d2f9e (patch) | |
tree | 917864d516d4abef78d04717cad88643113fb4f7 | |
parent | 677cf19bdf728b35873a43773d93d693dbe936c7 (diff) |
Initial start of lxqt branch
-rw-r--r-- | index.xml | 2 | ||||
-rw-r--r-- | lxqt/desktop/desktop.xml | 63 | ||||
-rw-r--r-- | lxqt/desktop/pre-install.xml | 265 | ||||
-rw-r--r-- | lxqt/lxqt.xml | 16 | ||||
-rw-r--r-- | packages.ent | 3 |
5 files changed, 348 insertions, 1 deletions
@@ -24,7 +24,7 @@ $Date$ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="gnome/gnome.xml"/> <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="xfce/xfce.xml"/> <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="lxde/lxde.xml"/> -<!-- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="lxqt/lxqt.xml"/> --> + <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="lxqt/lxqt.xml"/> <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="xsoft/xsoft.xml"/> <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="multimedia/multimedia.xml"/> <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="pst/pst.xml"/> diff --git a/lxqt/desktop/desktop.xml b/lxqt/desktop/desktop.xml new file mode 100644 index 0000000000..679e55612b --- /dev/null +++ b/lxqt/desktop/desktop.xml @@ -0,0 +1,63 @@ +<?xml version="1.0" encoding="ISO-8859-1"?> +<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" + "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [ + <!ENTITY % general-entities SYSTEM "../../general.ent"> + %general-entities; +]> + +<chapter id="lxqt-desktop"> + <?dbhtml filename="lxqt-desktop.html" ?> + + <title>LXQt Desktop</title> + + <para> + LXQt is an extremely fast-performing and energy-saving desktop environment. + </para> + + <para> + <application>LXQt</application> is a <application>Qt</application> based + Desktop Environment. It is focused on being a classic desktop with a + modern look and feel. It can customize appearance everywhere. + The panel(s) have plugins and settings. It is Window Manager agnostic, + has multi-language support and standard keyboard shortcuts. + <application>LXQt</application> uses + less CPU and less RAM than most other environments. It is especially + useful for cloud computers with low hardware specifications, such as + netbooks, mobile devices (e.g. MIDs) or older computers, but can be used + with modern hardware. + </para> + + <para> + Build LXQt core packages in the order presented in the book for the + easiest resolution of dependencies. + </para> + + <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="pre-install.xml"/> +<!-- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="libqtxdg.xml"/> + <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="lxqt-build-tools.xml"/> + <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="libsysstat.xml"/> + <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="lxqt-kwindowsystem.xml"/> + <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="liblxqt.xml"/> + <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="libfm-qt.xml"/> + <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="lxqt-l10n.xml"/> + <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="lxqt-themes.xml"/> + <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="lxqt-qtplugin.xml"/> + <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="lxqt-about.xml"/> + <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="lxqt-admin.xml"/> + <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="lxqt-kwayland.xml"/> + <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="lxqt-libkscreen.xml"/> + <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="lxqt-config.xml"/> + <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="lxqt-globalkeys.xml"/> + <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="lxqt-notificationd.xml"/> + <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="lxqt-policykit.xml"/> + <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="lxqt-kidletime.xml"/> + <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="lxqt-solid.xml"/> + <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="lxqt-powermanagement.xml"/> + <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="lxqt-session.xml"/> + <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="lxqt-kguiaddons.xml"/> + <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="pcmanfm-qt.xml"/> + <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="lxqt-panel.xml"/> + <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="lxqt-runner.xml"/> + <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="post-install.xml"/>--> + +</chapter> diff --git a/lxqt/desktop/pre-install.xml b/lxqt/desktop/pre-install.xml new file mode 100644 index 0000000000..a015758e49 --- /dev/null +++ b/lxqt/desktop/pre-install.xml @@ -0,0 +1,265 @@ +<?xml version="1.0" encoding="ISO-8859-1"?> +<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" + "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [ + <!ENTITY % general-entities SYSTEM "../../general.ent"> + %general-entities; +]> + +<sect1 id="lxqt-pre-install" xreflabel="LXQt Pre-Install"> + <?dbhtml filename="pre-install.html"?> + + + <title>LXQt Desktop Pre-Install Instructions</title> + + <indexterm zone="lxqt-pre-install"> + <primary sortas="g-lxqt-pre-install">LXQt Pre-Install</primary> + </indexterm> +<!-- + <caution> + <para> + Due to recent changes in <command>grep</command> it is essential that + the installing system be set to a UTF-8 locale. An example + is <command>export LANG=en_US.UTF-8</command>, but any UTF-8 locale is + sufficient. Failure to do this will result in a faulty installation. + </para> + </caution> +--> + <para> + LXQt can be installed in /usr or /opt/lxqt. + </para> + + <sect2> + <title>Installing in /usr</title> + + <para> + Installing in <filename class="directory">/usr</filename> creates + a simpler setup. Run: + </para> + +<screen><userinput>export LXQT_PREFIX=/usr</userinput></screen> + + <para> + Either add that to your own <filename>.bash_profile</filename> + so that it will still be set if you build the packages over a + period of time, or else add it to the system profile as the + <systemitem class="username">root</systemitem> user: + </para> + +<screen role="root"><userinput>cat > /etc/profile.d/lxqt.sh << "EOF" +<literal># Begin LXQt profile + +export LXQT_PREFIX=/usr + +# End LXQt profile</literal> +EOF</userinput></screen> + + <para> + There is no other configuration needed to install LXQt in + <filename class="directory">/usr</filename>. + </para> + + </sect2> + + <sect2> + <title>Installing in /opt/lxqt</title> + + <para> + Installing in <filename class="directory">/opt/lxqt</filename> may + simplify upgrading to a later version of LXQt. + </para> + + <para> + Some variables need to be defined in your system profile, as the + <systemitem class="username">root</systemitem> user: + </para> + +<screen role="root"><userinput>install -vdm755 /opt/lxqt/{bin,lib,share/man} + +cat > /etc/profile.d/lxqt.sh << "EOF" +<literal># Begin LXQt profile + +export LXQT_PREFIX=/opt/lxqt + +pathappend /opt/lxqt/bin PATH +pathappend /opt/lxqt/share/man/ MANPATH +pathappend /opt/lxqt/lib/pkgconfig PKG_CONFIG_PATH +pathappend /opt/lxqt/lib/plugins QT_PLUGIN_PATH + +# End LXQt profile</literal> +EOF + +cat >> /etc/profile.d/qt5.sh << "EOF" +<literal> +# Begin Qt5 changes for LXQt + +pathappend $QT5DIR/plugins QT_PLUGIN_PATH + +# End Qt5 changes for LXQt</literal> +EOF</userinput></screen> + + <para> + Expand your <filename>/etc/ld.so.conf</filename> file: + </para> + +<screen role="root"><userinput>cat >> /etc/ld.so.conf << "EOF" +<literal> +# Begin LXQt addition + +/opt/lxqt/lib + +# End LXQt addition +</literal> +EOF</userinput></screen> + + <para> + Before starting to install the packages in the following pages, remember + to execute: + </para> + +<screen><userinput>source /etc/profile</userinput></screen> + + <para> + Some packages from the KDE Frameworks 5 bundle install files into D-Bus + directories. In order to have D-Bus find those files, the easiest + way is to create a symlink. Some packages may also install icons from + the <quote>hicolor</quote> icon set. Since that icon set is used by many + packages, it is a good idea to create a symlink to the one in <filename + class="directory">/usr/share</filename> to avoid having multiple + installations of <xref linkend="hicolor-icon-theme"/>. Run the + following commands as the <systemitem class="username">root</systemitem> + user: + </para> + +<screen role="root"><userinput>source /etc/profile && +install -v -dm755 $LXQT_PREFIX/share/icons && +ln -sfv /usr/share/icons/hicolor $LXQT_PREFIX/share/icons && +ln -sfv /usr/share/dbus-1 $LXQT_PREFIX/share </userinput></screen> + + <tip> + <para> + Sometimes, the installation paths are hardcoded into installed files. + This is the reason why <filename class="directory">/opt/lxqt</filename> + is used as installation prefix instead of <filename + class="directory">/opt/lxqt-&lxqt-version;</filename>. After installing + <application>LXQt Desktop</application>, you may rename the directory + and create a symlink: + </para> + +<screen role="root"><userinput>mv /opt/lxqt{,-&lxqt-version;} +ln -sfv lxqt-&lxqt-version; /opt/lxqt</userinput></screen> + + <para> + Later on, you may want to install other versions of <application>LXQt + Desktop</application>. To do that, just remove the symlink and use + <filename class="directory">/opt/lxqt</filename> as the prefix again. + Which version of <application>LXQt Desktop</application> you use + depends only on where the symlink points. No other reconfiguration will + be needed. + </para> + </tip> + + </sect2> + + <sect2> + <title>Notes about building LXQt dependencies</title> + + <para> + <application>LXQt</application> obviously needs <xref linkend="qt5"/>, + but not all Qt5 modules and dependencies are necessary. Since the aim + of <application>LXQt</application> is to be light weight, it may be + interesting to cut down the Qt5 overhead, and to build only parts of it. + To build Qt and LXQT dependencies, the proposed order is the following: + </para> + + <procedure> + <step> + <para> + Build <xref linkend="linux-pam"/>, <xref linkend="shadow"/>, + and <xref linkend="sudo"/>, with their dependencies + </para> + </step> + + <step> + <para> + Build the whole <xref linkend="x-window-system"/> chapter, with + Wayland support, and replacing twm vith <xref linkend="openbox"/> + (and its required dependencies). Some Xorg applications and fonts + may be omitted, but with a negligible impact on build time and size + </para> + </step> + + <step> + <para> + Build <xref linkend="gtk2"/> and its required and recommended + dependencies. GTK+2 is needed for <xref linkend="libfm"/>, and + brings the <command>gtk-update-icon-cache</command> executable, + which is needed by libqtxdg + </para> + </step> + + <step> + <para> + Build required Qt dependencies, and some of the recommended or + optional dependencies, namely: + <xref linkend="dbus"/>, + <xref linkend="alsa-lib"/>, + <xref linkend="pulseaudio"/>, and + <xref linkend="libxkbcommon"/> + </para> + </step> + + <step> + <para> + Build the required parts of <xref linkend="qt5"/>. To skip all + modules but the four needed for LXQt, do: + </para> +<screen role="nodump"><userinput>ls -Fd qt* | grep / | sed 's/^/-skip /;s/qt//;s@/@@' > tempconf +sed -i '/base/d;/tools/d;/x11extras/d;/svg/d' tempconf +# if you plan to build SDDM, add: +sed -i '/declarative/d' tempconf +./configure <book flags> $(cat tempconf)</userinput></screen> + <para> + The time needed to complete the Qt installation is thus reduced to + around 6 SBU + </para> + </step> + + <step> + <para> + Build miscellaneous dependencies (with their required ones): + <xref linkend="libexif"/>, + <xref linkend="libstatgrab"/>, + <xref linkend="polkit"/>, + <phrase revision="sysv"> + <!-- <xref linkend="consolekit"/> (after polkit), --> + <xref linkend="pm-utils"/>, + </phrase> + <xref linkend="lm_sensors"/>, + <xref linkend="upower"/>, and + <xref linkend="libfm"/>. If <xref linkend="cmake"/> has not been + built during the preceding steps, build it now + </para> + </step> + + <step> + <para> + Build KDE frameworks dependencies: + <xref linkend="extra-cmake-modules"/>, + <xref linkend="libdbusmenu-qt"/>, and + <xref linkend="polkit-qt"/> + </para> + </step> + + <step> + <para> + Finally, build some desktop utilities: + <xref linkend="xdg-utils"/> (needs only xmlto), + <xref linkend="xdg-user-dirs"/>, + <xref linkend="oxygen-icons5"/> or other sets of icons + </para> + </step> + </procedure> + + </sect2> + +</sect1> diff --git a/lxqt/lxqt.xml b/lxqt/lxqt.xml new file mode 100644 index 0000000000..d3d07ed51a --- /dev/null +++ b/lxqt/lxqt.xml @@ -0,0 +1,16 @@ +<?xml version="1.0" encoding="ISO-8859-1"?> +<!DOCTYPE part PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" + "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [ + <!ENTITY % general-entities SYSTEM "../general.ent"> + %general-entities; +]> + +<part id="lxqt" xreflabel="LXQt"> + <?dbhtml filename="lxqt.html" dir="lxqt"?> + + <title>LXQt</title> + + <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="desktop/desktop.xml"/> +<!-- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="apps/apps.xml"/>--> + +</part> diff --git a/packages.ent b/packages.ent index 8bafdb97ef..3f86c4bcd6 100644 --- a/packages.ent +++ b/packages.ent @@ -953,6 +953,9 @@ to avoid building libxml2 twice, which is slow with all deps --> <!ENTITY vte2-version "0.28.2"> <!ENTITY lxterminal-version "0.4.0"> +<!-- Part XI new --> +<!ENTITY lxqt-version "1.3.0"> + <!-- Part XI --> <!-- Chapter 39 --> <!ENTITY AbiWord-version "3.0.5"> |