aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBruce Dubbs <bdubbs@linuxfromscratch.org>2023-06-17 11:37:23 -0500
committerBruce Dubbs <bdubbs@linuxfromscratch.org>2023-06-17 11:37:23 -0500
commit66f4ab43f69cf0c4977d458a5d3494fe098d2f9e (patch)
tree917864d516d4abef78d04717cad88643113fb4f7
parent677cf19bdf728b35873a43773d93d693dbe936c7 (diff)
Initial start of lxqt branch
-rw-r--r--index.xml2
-rw-r--r--lxqt/desktop/desktop.xml63
-rw-r--r--lxqt/desktop/pre-install.xml265
-rw-r--r--lxqt/lxqt.xml16
-rw-r--r--packages.ent3
5 files changed, 348 insertions, 1 deletions
diff --git a/index.xml b/index.xml
index fe9f36acb6..936d3efbaa 100644
--- a/index.xml
+++ b/index.xml
@@ -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 &gt; /etc/profile.d/lxqt.sh &lt;&lt; "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 &gt; /etc/profile.d/lxqt.sh &lt;&lt; "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 &gt;&gt; /etc/profile.d/qt5.sh &lt;&lt; "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 &gt;&gt; /etc/ld.so.conf &lt;&lt; "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 &amp;&amp;
+install -v -dm755 $LXQT_PREFIX/share/icons &amp;&amp;
+ln -sfv /usr/share/icons/hicolor $LXQT_PREFIX/share/icons &amp;&amp;
+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 &lt;book flags&gt; $(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">