Opened 10 years ago

Closed 9 years ago

#5683 closed task (fixed)

Add LXQt 0.9.1

Reported by: Armin K Owned by: Fernando de Oliveira
Priority: normal Milestone: 7.8
Component: BOOK Version: SVN
Severity: normal Keywords:
Cc:

Description

LXDE and Razor-Qt devs created this desktop environment which is Qt-based. We may want to add it at some point. This ticket serves as a reminder.

Currently, 0.8.0 release (which was recently released) supports both Qt4 and Qt5, while, as I've read, next release will be Qt5 only.

LXDE will be maintained as long as there's someone that wants to do the work - it hasn't been completely abandoned just yet.

http://lxqt.org/

Change History (26)

comment:1 by Fernando de Oliveira, 10 years ago

I have built it (last year, I think), soon after LXDE got into BLFS, and Igor talked about pcmanfm-qt. It worked fine. The results are in the dev list archives.

Easy, still have the scripts, but that time I had to use git or similar.

Few problems, IIRC, but a major one: Interfered with LXDE, which never ecame the same again, in that machine.

This is just to remember that when time comes, we may want to make a decision of leaving only one, or having two editors combining to split exclusively the two jobs: who does one should not do the other.

comment:2 by Armin K, 10 years ago

Well, that was way to early I believe. I guess until now they either sorted all the name conflicts from LXDE itself as there have been few releases.

It would be possible to keep both of them like we are keeping both KDE4 and Plasma 5 - separate prefixes. Should be doable, given that there's very small number of packages around LXDE.

Also, I've found out that next LXQt release will make use of KDE Frameworks 5 (based on Qt5) and drop some of their replacements for stuff provided by the "rock solid" KDE libraries that have been polished over the years. But that's for another ticket and I've done most of work regarding that.

comment:3 by christopher, 10 years ago

The only time I will have this in the systemd branch is IF it replaces the current version. I already knew that they had released a variant of it.

I have absolutely no intentions of ever building it.

comment:4 by Armin K, 9 years ago

This is for the record.

LXQt-0.8.0 has no file conflicts with LXDE. It does however require few packages from the current LXDE chapter, mainly the lxmenu-data, libfm-extra, menu-cache and libfm. This version is the last Qt4 version. Next version will be pure Qt5 version and will depend on one or more KDE Frameworks. Currently it depends on KWindowSystem, a Tier 1 KDE Framework in git.

comment:5 by Fernando de Oliveira, 9 years ago

I am using and updating each Friday Siduction LXQt. But it is still inferior to LXDE, for my taste (I mean IMHO). In the LXDE.org blog, they consider that there are things still to be done.

Last edited 9 years ago by Fernando de Oliveira (previous) (diff)

comment:6 by Fernando de Oliveira, 9 years ago

In my attempts of closing long-standing tickets, I've very slowly started to build lxqt-0.9.0 yesterday.

One problem is that it depends on KDE Frameworks through kwindowsystem-5.9.0 (and consequently, extra-cmake-modules-5.9.0), which Bruce will include in the book. For the moment, I've installed these two packages with prefix /opt/kde -> kde-5.9.0. When Bruce is back, will rebuild everything with a proper prefix for KDE Frameworks.

comment:7 by Fernando de Oliveira, 9 years ago

I've stopped working on this ticket.

comment:8 by Fernando de Oliveira, 9 years ago

Milestone: future7.8
Owner: changed from blfs-book@… to Fernando de Oliveira
Priority: lownormal
Status: newassigned
Summary: Add LXQtAdd LXQt 0.9.1

http://downloads.lxqt.org/lxqt/0.9.1/

Will try to fit in one page like KF5.

comment:9 by Fernando de Oliveira, 9 years ago

Owner: changed from Fernando de Oliveira to blfs-book@…
Status: assignednew

Re: http://lists.linuxfromscratch.org/pipermail/blfs-dev/2015-July/030440.html

I don't feel capable to do in multiple pages, so, giving back to the book.

comment:10 by Fernando de Oliveira, 9 years ago

Forgot: I am using only LXQt, now. I have a script and some guides about dependencies (which might be far from accurate). If anyone wants, I can make them available.

comment:11 by Fernando de Oliveira, 9 years ago

By request.

BOOK/general/genlib/libstatgrab.xml (finished)
BOOK/lxqt/lxqt-build.xml (was editing this one)
BOOK/lxqt/lxqt-intro.xml (had not started this one)
BOOK/lxqt/lxqt.xml (finished)

lxqt/lxqt.xml:

<?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;
]>

<!--
$LastChangedBy: bdubbs $
$Date: 2015-06-24 18:03:07 -0500 (Wed, 24 Jun 2015) $
-->

<chapter id="lxqt">
  <?dbhtml filename="lxqt.html"?>
 
  <title>KDE Frameworks 5</title>

  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="lxqt-intro.xml"/>
  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="lxqt-build.xml"/>

</chapter>

Dependencies:

  <bridgehead renderas="sect4">Required</bridgehead>
  <para role="required">
    <xref linkend="extra-cmake-modules"/>,
    kwindowsystem and kguiaddons, from <xref linkend="kf5-frameworks"/>,
    <xref linkend="openbox"/>,
    <xref linkend="lxmenu-data"/>,
    <xref linkend="menu-cache"/>,
    <xref linkend="qt5"/>, and
    <xref linkend="wget"/> (required to download the packages)
  </para>

  <bridgehead renderas="sect4">Recommended</bridgehead>
  <para role="recommended">
    <xref linkend="alsa"/> or
    <xref linkend="pulseaudio"/> (Volume control panel plugin),
    <xref linkend="libdbusmenu-qt"/> (built with qt5), 
    <xref linkend="libstatgrab"/> (CPU load and Network monitor panel plugins),
    <xref linkend="lm_sensors"/> (Sensors panel plugin), and
    <xref linkend="polkit-qt"/> (built with qt5),
  </para>

libstatgrab.xml is ready:

<?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;

  <!ENTITY libstatgrab-download-http "http://www.mirrorservice.org/sites/ftp.i-scream.org/pub/i-scream/libstatgrab/libstatgrab-&libstatgrab-version;.tar.gz">
  <!ENTITY libstatgrab-download-ftp "ftp://www.mirrorservice.org/sites/ftp.i-scream.org/pub/i-scream/libstatgrab/libstatgrab-&libstatgrab-version;.tar.gz">
  <!ENTITY libstatgrab-md5sum        "b906d312076ca9be3d5188edfe07f496">
  <!ENTITY libstatgrab-size          "760 KB">
  <!ENTITY libstatgrab-buildsize     "9.0 MB (with the test suite)">
  <!ENTITY libstatgrab-time          "0.1 SBU (1.6 SBU with the test suite)">
]>

<sect1 id="libstatgrab" xreflabel="libstatgrab-&libstatgrab-version;">
  <?dbhtml filename="libstatgrab.html"?>

  <sect1info>
    <othername>$LastChangedBy: ken $</othername>
    <date>$Date: 2015-04-28 21:00:18 -0300 (Ter, 28 Abr 2015) $</date>
  </sect1info>

  <title>libstatgrab-&libstatgrab-version;</title>

  <indexterm zone="libstatgrab">
    <primary sortas="a-libstatgrab">libstatgrab</primary>
  </indexterm>

  <sect2 role="package">
    <title>Introduction to libstatgrab</title>

    <para>
      This is a library that provides cross platform access to statistics about
      the system on which it's run. It's written in C and presents a selection
      of useful interfaces which can be used to access key system statistics.
      The current list of statistics includes CPU usage, memory utilisation,
      disk usage, process counts, network traffic, disk I/O, and more.
    </para>

    &lfs77_checked; &gcc5_checked;

    <bridgehead renderas="sect3">Package Information</bridgehead>
    <itemizedlist spacing="compact">
      <listitem>
        <para>
          Download (HTTP): <ulink url="&libstatgrab-download-http;"/>
        </para>
      </listitem>
      <listitem>
        <para>
          Download (FTP): <ulink url="&libstatgrab-download-ftp;"/>
        </para>
      </listitem>
      <listitem>
        <para>
          Download MD5 sum: &libstatgrab-md5sum;
        </para>
      </listitem>
      <listitem>
        <para>
          Download size: &libstatgrab-size;
        </para>
      </listitem>
      <listitem>
        <para>
          Estimated disk space required: &libstatgrab-buildsize;
        </para>
      </listitem>
      <listitem>
        <para>
          Estimated build time: &libstatgrab-time;
        </para>
      </listitem>
    </itemizedlist>

    <para condition="html" role="usernotes">
      User Notes: <ulink url="&blfs-wiki;/libstatgrab"/>
    </para>

  </sect2>

  <sect2 role="installation">
    <title>Installation of libstatgrab</title>

    <para>
      Install <application>libstatgrab</application> by running the following
      commands:
    </para>

<screen><userinput>./configure --prefix=/usr   \
            --disable-static \
            --docdir=/usr/share/doc/libstatgrab-&libstatgrab-version; &amp;&amp;
make</userinput></screen>

    <para>To test the results, issue: <command>make check</command>.</para>

    <para>
      Now, as the <systemitem class="username">root</systemitem> user:
    </para>

<screen role="root"><userinput>make install</userinput></screen>

  </sect2>

  <sect2 role="commands">
    <title>Command Explanations</title>

    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
      href="../../xincludes/static-libraries.xml"/>

  </sect2>

  <sect2 role="content">
    <title>Contents</title>

    <segmentedlist>
      <segtitle>Installed Programs</segtitle>
      <segtitle>Installed Library</segtitle>
      <segtitle>Installed Directories</segtitle>

      <seglistitem>
        <seg>
          saidar, statgrab, statgrab-make-mrtg-config, and
          statgrab-make-mrtg-index
        </seg>
        <seg>
          libstatgrab.so
        </seg>
        <seg>
          /usr/share/doc/libstatgrab-&libstatgrab-version;
        </seg>
      </seglistitem>
    </segmentedlist>

    <variablelist>
      <bridgehead renderas="sect3">Short Descriptions</bridgehead>
      <?dbfo list-presentation="list"?>
      <?dbhtml list-presentation="table"?>

      <varlistentry id="saidar">
        <term><command>saidar</command></term>
        <listitem>
          <para>
            is a curses-based tool for viewing system statistics.
          </para>
          <indexterm zone="libstatgrab saidar">
            <primary sortas="b-saidar">saidar</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="statgrab">
        <term><command>statgrab</command></term>
        <listitem>
          <para>
            is a sysctl-style interface to system statistics.
          </para>
          <indexterm zone="libstatgrab statgrab">
            <primary sortas="b-statgrab">statgrab</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="statgrab-make-mrtg-config">
        <term><command>statgrab-make-mrtg-config</command></term>
        <listitem>
          <para>
            generates MRTG configuration.
          </para>
          <indexterm zone="libstatgrab statgrab-make-mrtg-config">
            <primary sortas="b-statgrab-make-mrtg-config">statgrab-make-mrtg-config</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="statgrab-make-mrtg-index">
        <term><command>statgrab-make-mrtg-index</command></term>
        <listitem>
          <para>
            generates an XHTML index page from MRTG configuration files or
            stdin.
          </para>
          <indexterm zone="libstatgrab statgrab-make-mrtg-index">
            <primary sortas="b-statgrab-make-mrtg-index">statgrab-make-mrtg-index</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="libstatgrab-lib">
        <term><filename class="libraryfile">libstatgrab.so</filename></term>
        <listitem>
          <para>
            is a library for handling page faults in user mode.
          </para>
          <indexterm zone="libstatgrab libstatgrab-lib">
            <primary sortas="c-libstatgrab">libstatgrab.so</primary>
          </indexterm>
        </listitem>
      </varlistentry>

    </variablelist>

  </sect2>

</sect1>

Downloads and order:

cat > ../lxqt-0.9.1.md5 << "EOF"
3e92e224da807710862a0a94fad14dcd  libqtxdg-1.2.0.tar.xz
b027c6114d543e24a35846d37d374009  liblxqt-0.9.0.tar.xz
f7e0de7cac2379a7dd7af7fd97e9138c  lxqt-globalkeys-0.9.0.tar.xz
11d8e306c0b2e23a4cca312cdcb54dbd  lxqt-notificationd-0.9.0.tar.xz
2d9d9889ba2ed8712d34e6835001e6d0  libsysstat-0.3.0.tar.xz
476d91d6680f63b0dd7ab445120b9e20  liblxqt-mount-0.9.0.tar.xz
cdae5a811c68fe8162230f1e9ef765f2  lxqt-panel-0.9.0.tar.xz
b0ce100b4380ad1a47926a3465aeb6e9  pcmanfm-qt-0.9.0.tar.xz
92fca1504bcd61d0c8a761ba3748e81f  lxqt-session-0.9.0.tar.xz
f68f8b9876bc825a2f5c9d6e9621211a  lxqt-runner-0.9.0.tar.xz
91220a62607ea42a439bd56c23e7303d  lxqt-qtplugin-0.9.0.tar.xz
15f8f12465d9475ca15562431a21bf38  lxqt-policykit-0.9.0.tar.xz
5efa3de8ee1b8548ee59dc8f7fd773d0  lxqt-powermanagement-0.9.0.tar.xz
af485d58ed9aa78e46bb76db5c51eb9a  lxqt-config-0.9.0.tar.xz
8a9ea5b780101b071911a84bb258675d  lxqt-about-0.9.0.tar.xz
7db547d46c4e4e5efb6b3ee8e4a90ad9  lxqt-common-0.9.1.tar.xz
EOF

http://downloads.lxqt.org/libqtxdg/1.2.0/libqtxdg-1.2.0.tar.xz

http://downloads.lxqt.org/libsysstat/0.3.0/libsysstat-0.3.0.tar.xz

http://downloads.lxqt.org/lxqt/0.9.1/

Pre-install:

install -vdm755 /opt/lxqt/lib

cat >> /etc/profile.d/extrapaths.sh << "EOF"

# Begin LXQt addition

pathappend /opt/lxqt/share/man/  MANPATH
pathappend /opt/lxqt/bin

# End LXQt addition

EOF

source /etc/profile

cat >> /etc/ld.so.conf << "EOF"

# Begin LXQt addition

/opt/lxqt/lib

# End LXQt addition

EOF

Post-install

ln -svfn /opt/lxqt/share/lxqt /usr/share/lxqt &&

for i in /opt/lxqt/share/applications/*
do
  ln -svf $i /usr/share/applications/
done
unset i

Build/Install

Sources and user under lxqt-0.9.1 directory.

    for package in \
        $(grep -v '^#' ../lxqt-0.9.1.md5 | awk '{print $2}')
    do
      packagedir=$(echo $package | sed 's/.tar.xz//') &&
      DESTINODIR=/tmp/DEST-$packagedir &&
      tar -xf $package -C /tmp &&
      pushd /tmp/$packagedir &&
      case $packagedir in
        liblxqt-[0-9]* )
     
          sed -e '/lxqtnotification.h/ i #include <QObject>' \
              -i lxqtnotification.cpp

        ;;
        lxqt-notificationd-[0-9]* )
     
          sed -e '/QDebug/ i #include <QObject>' \
              -e 's:<KF5/KWindowSystem/:<:' \
              -i src/notification.cpp &&

          sed -e '/LXQt\/Notification/ i  #include <QObject>' \
              -i config/basicsettings.cpp

        ;;
        lxqt-runner-[0-9]* )
     
          sed -i 's:<KF5/KWindowSystem/:<:' dialog.cpp

        ;;
        lxqt-session-[0-9]* )
     
          sed -i 's:<KF5/KWindowSystem/:<:' lxqt-session/src/lxqtmodman.cpp

        ;;
        lxqt-panel-[0-9]* )
     
          sed -i 's:<KF5/KWindowSystem/:<:' \
                 plugin-mainmenu/lxqtmainmenu.cpp \
                 plugin-kbindicator/lxqtkbindicator.h \
                 plugin-showdesktop/showdesktop.cpp \
                 plugin-taskbar/lxqttaskbutton.cpp \
                 plugin-taskbar/lxqttaskbar.h \
                 plugin-desktopswitch/desktopswitch.cpp \
                 panel/lxqtpanel.cpp \
                 panel/config/configpaneldialog.cpp &&
          sed -i 's:<KF5/KGuiAddons/:<:' plugin-kbindicator/lxqtkbindicator.h
               
        ;;
        lxqt-config-[0-9]* )
     
          sed -e '/<QRect>/ i  #include <QObject>' \
              -i lxqt-config-monitor/monitor.h

        ;;
      esac
      mkdir -vp build &&
      cd        build &&
      cmake -DCMAKE_BUILD_TYPE=Release       \
            -DCMAKE_INSTALL_PREFIX=/opt/lxqt \
            .. &&
      time make -j${MKFLGS} &&
      if [ $INSTVAR = s ]
      then
        make DESTDIR=$DESTINODIR install
      elif [ $INSTVAR = e ]
      then
        make install &&
        echo "`date` $packagedir $package" >> /usr/src/packages.log &&
        ldconfig
      fi &&
      popd
    done

comment:12 by bdubbs@…, 9 years ago

Milestone: 7.8future

Back to the future for now.

comment:13 by Fernando de Oliveira, 9 years ago

Milestone: future7.8
Owner: changed from blfs-book@… to Fernando de Oliveira
Status: newassigned

comment:14 by Fernando de Oliveira, 9 years ago

Leaving open for discussions, as explained in -dev.

Added at r16249.

comment:15 by Fernando de Oliveira, 9 years ago

Fix URLs to point to http://downloads.lxqt.org at r16255.

comment:16 by Fernando de Oliveira, 9 years ago

Added the applications at r16259.

comment:17 by Fernando de Oliveira, 9 years ago

I am working on the applications.

  1. Fixing typos, errors when I find them.
  1. Improving and clarifying instructions for Qt4 builds.
  1. Trying to rewrite qupzilla's page and also do points 1. and 2. for it.

comment:18 by Fernando de Oliveira, 9 years ago

• Add chrpath-0.16.
• Add QScintilla-gpl-2.9.
• Add juffed-0.10.r71.gc3c1a3f.
• Fixes for lximage-qt-0.4.0 and obconf-qt-0.9.0.8.g1ce85f1.
• Replace "_" by "-" in lximage-qt-0.4.0 and obconf-qt-0.9.0.8.g1ce85f1
  file names.

I think this closes the additions.

Ticket remains open for more fixes, hopefully reported by fellow devs.

Bruce, as expected, JuffEd needed to be from git, last one released was at 2013, could not work with Qt5.

It would be over 10 MB, but removing .git and .gitignore, reduced the size, to 1.3 MN, less than the sat released tar.gz. Will copy to my space on anduin, at

~/git/j/juffed-0.10.r71.gc3c1a3f.tar.xz

Hoping and thanking you, Bruce, for your understanding.

Thanks to all that discussed with me about a Qt based editor.

At r16267.

comment:19 by Fernando de Oliveira, 9 years ago

At r16273: fixed some statistics and added documentation build/install instructions to QScintilla-gpl-2.9 and qterminal-0.6.0, with optional dependencies for the docs of the latter.

comment:20 by Douglas R. Reno, 9 years ago

Fixed some typos and build problems at r16295. It is also worth noting that I had problems running LXQT for the first time. I could not get much of anything to launch. This was fixed by running "ldconfig" as it wasn't run in the install processes. Also I moved qtermwidget to before JuffEd and added it as a required dependency for JuffEd. I also changed the recommended icon theme from lxde-icon-theme to oxygen-icons.

comment:21 by Fernando de Oliveira, 9 years ago

Great!

Thanks, Doug!

I think we can finally close this ticket and any more fixes could be done normally.

Opinions, please?

in reply to:  21 comment:22 by Fernando de Oliveira, 9 years ago

Replying to fo:

Great!

Thanks, Doug!

I mean: thanks for taking the trouble of testing and for the fixes.

in reply to:  21 comment:23 by Fernando de Oliveira, 9 years ago

Replying to fo:

I think we can finally close this ticket and any more fixes could be done normally.

Opinions, please?

Forgot: Douglas only made the critical fixes. There are still some more fixes he is going to do.

So, will not close the ticket, for now.

comment:24 by Fernando de Oliveira, 9 years ago

Doug, please, forgive me for asking, but I wanted very much to close this ticket.

Do you have any idea when you are going to do the last fixes?

If you don't have time, I acn try doing them myself.

in reply to:  24 comment:25 by Douglas R. Reno, 9 years ago

Replying to fo:

Doug, please, forgive me for asking, but I wanted very much to close this ticket.

Do you have any idea when you are going to do the last fixes?

If you don't have time, I acn try doing them myself.

If you can try to do them, please go ahead. I am going to get BlueZ done today, but I have some other stuff that I need to get done soon.

comment:26 by Fernando de Oliveira, 9 years ago

Resolution: fixed
Status: assignedclosed

Thanks, Douglas.

Closed at r16307.

Note: See TracTickets for help on using tickets.