* Package for LXQt. Help wanted.
@ 2018-10-22 4:57 Meiyo Peng
2018-10-22 14:31 ` 宋文武
2018-10-26 14:24 ` 宋文武
0 siblings, 2 replies; 10+ messages in thread
From: Meiyo Peng @ 2018-10-22 4:57 UTC (permalink / raw)
To: guix-devel
Hello everyone,
I made a series of packages for LXQt. The code is at:
https://github.com/meiyopeng/guix/tree/lxqt
I did this beacuse I want to run i3 window manager within lxqt
session. Currently most things work great except lxqt-panel. I have two
problems.
1. The $QT_PLUGIN_PATH environment variable points to
/run/current-system/profile/lib/qt5/plugins. I don't know where it's
set. So qtsvg has to be installed into syetem profile, or all the lxqt
applications can not properly display icons. Should I add qtsvg to
lxqt applications' propagated-inputs? If so, should I add qtbase too,
since qtbase also provides lib/qt5/plugins, although lxqt works without
qtbase in system profile but I can never be sure.
2. lxqt-panel complains about "Warning: Could not find any platform
plugin". (lxqt-runner also prints this message but it works.) I found
out this message was printed by kwindowsystem.
The related code in kwindowsystem:
https://github.com/KDE/kwindowsystem/blob/9f88c9a5d25ff7909c25ce399572ca348b5706b1/src/pluginwrapper.cpp#L79
Qt's document (https://doc.qt.io/qt-5/qcoreapplication.html#libraryPaths)
says "entries of the QT_PLUGIN_PATH environment variable are always
added to libraryPaths". So I install kwindowsystem into system profile,
and add /run/current-system/profile/lib/plugins to QT_PLUGIN_PATH. Then
this error message disappear. But lxqt-panel still does not work.
I still have no idea how to fix lxqt-panel. This does not affect me
because I use i3, so lxqt-panel is useless to me. But there may be other
people interested in LXQt and I want to help them get this fixed. Can
anybody help me?
Will anybody help me review the code? I'd appreciate it.
--
Meiyo Peng
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: Package for LXQt. Help wanted.
2018-10-22 4:57 Meiyo Peng
@ 2018-10-22 14:31 ` 宋文武
2018-10-26 14:24 ` 宋文武
1 sibling, 0 replies; 10+ messages in thread
From: 宋文武 @ 2018-10-22 14:31 UTC (permalink / raw)
To: Meiyo Peng; +Cc: guix-devel
Meiyo Peng <meiyo.peng@gmail.com> writes:
> Hello everyone,
>
> I made a series of packages for LXQt. The code is at:
> https://github.com/meiyopeng/guix/tree/lxqt
Hello, it looks great!
>
> I did this beacuse I want to run i3 window manager within lxqt
> session. Currently most things work great except lxqt-panel. I have two
> problems.
>
> 1. The $QT_PLUGIN_PATH environment variable points to
> /run/current-system/profile/lib/qt5/plugins. I don't know where it's
> set.
The QT_PLUGIN_PATH can be set by the 'native-search-paths' of qtbase, I
guess you have qtbase in your system profile. If you install qtbase
into the user profile, the variable would contains
'~/.guix-profile/lib/qt5/plugins'.
> So qtsvg has to be installed into syetem profile, or all the lxqt
> applications can not properly display icons.
Yeah, instead the system profile you can also install qtsvg, etc. into
the user profile.
> Should I add qtsvg to lxqt applications' propagated-inputs? If so,
> should I add qtbase too, since qtbase also provides lib/qt5/plugins,
> although lxqt works without qtbase in system profile but I can never
> be sure.
Yes, we can make them 'propagated-inputs' so that the variables can be
set by the profile (via native-search-paths), or we can wrap the
binaries with all the environment variables (eg: krita).
>
> 2. lxqt-panel complains about "Warning: Could not find any platform
> plugin". (lxqt-runner also prints this message but it works.) I found
> out this message was printed by kwindowsystem.
>
> The related code in kwindowsystem:
> https://github.com/KDE/kwindowsystem/blob/9f88c9a5d25ff7909c25ce399572ca348b5706b1/src/pluginwrapper.cpp#L79
>
> Qt's document (https://doc.qt.io/qt-5/qcoreapplication.html#libraryPaths)
> says "entries of the QT_PLUGIN_PATH environment variable are always
> added to libraryPaths". So I install kwindowsystem into system profile,
> and add /run/current-system/profile/lib/plugins to QT_PLUGIN_PATH. Then
> this error message disappear. But lxqt-panel still does not work.
Okay, we can look into it later...
>
> I still have no idea how to fix lxqt-panel. This does not affect me
> because I use i3, so lxqt-panel is useless to me. But there may be other
> people interested in LXQt and I want to help them get this fixed. Can
> anybody help me?
>
> Will anybody help me review the code? I'd appreciate it.
Generally it look good to me, and I had cherry-pick 2 commits, and push
them (hope it doesn't break existing other lxqt things...), and will
look into others in next days.
Some notes to you:
- Wrap lines under 80 characters if possible.
- Keep comments for '#:tests #f', etc.
Thank you!
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: Package for LXQt. Help wanted.
@ 2018-10-23 0:33 Meiyo Peng
0 siblings, 0 replies; 10+ messages in thread
From: Meiyo Peng @ 2018-10-23 0:33 UTC (permalink / raw)
To: guix-devel
Hello,
I checked kwindowsystem's package in debian. It seems the plugins
directory in kwindowsystem should be installed to
/run/current-system/profile/lib/qt5/plugins rather than
/run/current-system/profile/lib/plugins. Maybe this is a bug in the
kwindowsystem package.
File list of package libkf5windowsystem5 in stretch of architecture
amd64:
(link: https://packages.debian.org/stretch/amd64/libkf5windowsystem5/filelist)
#+BEGIN_EXAMPLE
/usr/lib/x86_64-linux-gnu/libKF5WindowSystem.so.5
/usr/lib/x86_64-linux-gnu/libKF5WindowSystem.so.5.28.0
/usr/lib/x86_64-linux-gnu/qt5/plugins/kf5/org.kde.kwindowsystem.platforms/KF5WindowSystemWaylandPlugin.so
/usr/lib/x86_64-linux-gnu/qt5/plugins/kf5/org.kde.kwindowsystem.platforms/KF5WindowSystemX11Plugin.so
/usr/share/doc/libkf5windowsystem5/changelog.Debian.gz
/usr/share/doc/libkf5windowsystem5/copyright
#+END_EXAMPLE
File list of kwindowsystem in guix:
#+BEGIN_EXAMPLE
/gnu/store/snf6dh8fprihac2y0mwspgc5lchv12b6-kwindowsystem-5.49.0/lib
├── cmake
│ └── KF5WindowSystem
│ ├── KF5WindowSystemConfig.cmake
│ ├── KF5WindowSystemConfigVersion.cmake
│ ├── KF5WindowSystemTargets.cmake
│ └── KF5WindowSystemTargets-relwithdebinfo.cmake
├── libKF5WindowSystem.so -> libKF5WindowSystem.so.5
├── libKF5WindowSystem.so.5 -> libKF5WindowSystem.so.5.49.0
├── libKF5WindowSystem.so.5.49.0
├── plugins
│ └── kf5
│ └── org.kde.kwindowsystem.platforms
│ ├── KF5WindowSystemWaylandPlugin.so
│ └── KF5WindowSystemX11Plugin.so
└── qt5
└── mkspecs
└── modules
└── qt_KWindowSystem.pri
#+END_EXAMPLE
--
Meiyo Peng
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: Package for LXQt. Help wanted.
@ 2018-10-23 3:41 Meiyo Peng
2018-10-23 13:27 ` 宋文武
0 siblings, 1 reply; 10+ messages in thread
From: Meiyo Peng @ 2018-10-23 3:41 UTC (permalink / raw)
To: iyzsong; +Cc: guix-devel
Hello, Mr. Song.
Thank you for your reply.
> Some notes to you:
> - Wrap lines under 80 characters if possible.
My emacs automatically wrap lines at exactly 80 characters. Should I set
it to less than 80?
#+BEGIN_SRC emacs-lisp
(setq-default fill-column 80) ;; Change this to 70?
#+END_SRC
"宋文武" is a Chinese name. Are you a Chinese? I am a Chinese. My name
is 彭美玉 (Peng Mei Yu in Pinyin).
--
Meiyo Peng
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: Package for LXQt. Help wanted.
2018-10-23 3:41 Meiyo Peng
@ 2018-10-23 13:27 ` 宋文武
0 siblings, 0 replies; 10+ messages in thread
From: 宋文武 @ 2018-10-23 13:27 UTC (permalink / raw)
To: Meiyo Peng; +Cc: guix-devel
Meiyo Peng <meiyo.peng@gmail.com> writes:
> Hello, Mr. Song.
>
> Thank you for your reply.
>
>> Some notes to you:
>> - Wrap lines under 80 characters if possible.
>
> My emacs automatically wrap lines at exactly 80 characters. Should I set
> it to less than 80?
Not needed (there is 'guix lint', which warn lines longer than 90
characters), no problem.
>
> #+BEGIN_SRC emacs-lisp
> (setq-default fill-column 80) ;; Change this to 70?
> #+END_SRC
>
> "宋文武" is a Chinese name. Are you a Chinese? I am a Chinese. My name
> is 彭美玉 (Peng Mei Yu in Pinyin).
是的,你好,很高兴认识你~
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: Package for LXQt. Help wanted.
2018-10-22 4:57 Meiyo Peng
2018-10-22 14:31 ` 宋文武
@ 2018-10-26 14:24 ` 宋文武
2018-10-27 8:19 ` Meiyo Peng
1 sibling, 1 reply; 10+ messages in thread
From: 宋文武 @ 2018-10-26 14:24 UTC (permalink / raw)
To: Meiyo Peng; +Cc: guix-devel
Meiyo Peng <meiyo.peng@gmail.com> writes:
> Hello everyone,
>
> I made a series of packages for LXQt. The code is at:
> https://github.com/meiyopeng/guix/tree/lxqt
Hello, thank you again, I have push them!
With some minor edits:
- Add comments about the missing translations (disable the
PULL_TANSLATIONS), which are in the lxqt-l10n git repository. I think
we can prefetch it as a 'origin', add it to the input of the
application, or add a 'lxqt-l10n' package.
- Correct some licenses, eg: obconf-qt, qps are under GPL2+.
And a "lxqt-build-tools: Dedifen LXQT_*_DIR variables" patch is
unapplied:
(build-system cmake-build-system)
(arguments
- `(#:tests? #f)) ; no tests
+ `(#:tests? #f ;; no tests
+ #:configure-flags
+ `("-DLXQT_DATA_DIR=/run/current-system/profile/share"
+ "-DLXQT_ETC_XDG_DIR=/run/current-system/profile/etc/xdg")))
What are thoses variables used for? If I install the 'lxqt' package
into my user profile, should I set them to the directories under my
profile ($HOME/.guix-profile/share and $HOME/.guix-profile/etc/xdg)?
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: Package for LXQt. Help wanted.
@ 2018-10-26 15:11 Meiyo Peng
2018-10-27 11:51 ` 宋文武
0 siblings, 1 reply; 10+ messages in thread
From: Meiyo Peng @ 2018-10-26 15:11 UTC (permalink / raw)
To: iyzsong; +Cc: guix-devel
Hello Song,
> Hello, thank you again, I have push them!
Thank you.
> - Add comments about the missing translations (disable the
> PULL_TANSLATIONS), which are in the lxqt-l10n git repository. I think
> we can prefetch it as a 'origin', add it to the input of the
> application, or add a 'lxqt-l10n' package.
I didn't add lxqt-l10n because it is stated as deprecated on it's home
page.
> - Correct some licenses, eg: obconf-qt, qps are under GPL2+.
Sorry about this. I should have been more careful.
> And a "lxqt-build-tools: Dedifen LXQT_*_DIR variables" patch is
> unapplied:
>
> (build-system cmake-build-system)
> (arguments
> - `(#:tests? #f)) ; no tests
> + `(#:tests? #f ;; no tests
> + #:configure-flags
> + `("-DLXQT_DATA_DIR=/run/current-system/profile/share"
> + "-DLXQT_ETC_XDG_DIR=/run/current-system/profile/etc/xdg")))
>
> What are thoses variables used for? If I install the 'lxqt' package
> into my user profile, should I set them to the directories under my
> profile ($HOME/.guix-profile/share and $HOME/.guix-profile/etc/xdg)?
These variables are used by all LXQt packages during build time. But
there is no big issue if they are not defined here, I guess it is
because XDG_*_DIRS environment variables are set correctly during
runtime. They default to directories within
/gnu/store/*-lxqt-build-tools-*/ like this:
"/gnu/store/86wy8q4yplhalf3yvmzv673naarxn3na-lxqt-build-tools-0.5.0/share"
I defined these variables here to serve an aesthetic purpose, so that
the "Technical Info" tab within lxqt-about can show the values defined
above rather than directories like this:
"/gnu/store/86wy8q4yplhalf3yvmzv673naarxn3na-lxqt-build-tools-0.5.0/share".
--
Meiyo Peng
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: Package for LXQt. Help wanted.
2018-10-26 14:24 ` 宋文武
@ 2018-10-27 8:19 ` Meiyo Peng
2018-10-27 10:24 ` 宋文武
0 siblings, 1 reply; 10+ messages in thread
From: Meiyo Peng @ 2018-10-27 8:19 UTC (permalink / raw)
To: iyzsong; +Cc: guix-devel
[-- Attachment #1.1: Type: text/plain, Size: 456 bytes --]
Hello Song,
On Fri, Oct 26, 2018 at 2:26 PM 宋文武 <iyzsong@member.fsf.org> wrote:
> - Correct some licenses, eg: obconf-qt, qps are under GPL2+.
I made a terrible mistake. I assumed that all LXQt apps are licensed
under LGPL2.1+. But in fact only core LXQt apps are licensed under
LGPL2.1+. Several apps are licensed under GPL2+.
GPL2+ apps: pcmanfm-qt, lximage-qt, obconf-qt, pavucontrol-qt, qps,
qtermwidget, qterminal, screengrab.
[-- Attachment #1.2: Type: text/html, Size: 562 bytes --]
[-- Attachment #2: 0001-gnu-lxqt-Correct-licenses-for-several-packages.patch --]
[-- Type: text/x-patch, Size: 2519 bytes --]
From 45804407d2c886005f1a9e01eae952ae6aa4a1ac Mon Sep 17 00:00:00 2001
From: Meiyo Peng <meiyo.peng@gmail.com>
Date: Sat, 27 Oct 2018 15:56:47 +0800
Subject: [PATCH] gnu: lxqt: Correct licenses for several packages.
* gnu/packages/lxqt.scm (lxqt): Correct licenses for several packages.
---
gnu/packages/lxqt.scm | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/gnu/packages/lxqt.scm b/gnu/packages/lxqt.scm
index 878998d8f..aeee87b16 100644
--- a/gnu/packages/lxqt.scm
+++ b/gnu/packages/lxqt.scm
@@ -903,7 +903,7 @@ components to build desktop file managers which belongs to LXDE.")
(synopsis "File manager and desktop icon manager")
(description "PCManFM-Qt is the Qt port of PCManFM, the file manager of
LXDE.")
- (license license:lgpl2.1+)))
+ (license license:gpl2+)))
;; Extra
@@ -977,7 +977,7 @@ manager Compton.")
(synopsis "The image viewer and screenshot tool for lxqt")
(description "LXImage-Qt is the Qt port of LXImage, a simple and fast
image viewer.")
- (license license:lgpl2.1+)))
+ (license license:gpl2+)))
(define-public obconf-qt
(package
@@ -1048,7 +1048,7 @@ window manager OpenBox.")
(synopsis "Pulseaudio mixer in Qt")
(description "@code{pavucontrol-qt} is the Qt port of volume control
@code{pavucontrol} of sound server @code{PulseAudio}.")
- (license license:lgpl2.1+)))
+ (license license:gpl2+)))
(define-public qps
(package
@@ -1101,7 +1101,7 @@ processes currently in existence, much like code{top} or code{ps}.")
(home-page "https://lxqt.org/")
(synopsis "The terminal widget for QTerminal")
(description "QTermWidget is a terminal emulator widget for Qt 5.")
- (license license:lgpl2.1+)))
+ (license license:gpl2+)))
(define-public qterminal
(package
@@ -1131,7 +1131,7 @@ processes currently in existence, much like code{top} or code{ps}.")
(synopsis "Lightweight Qt-based terminal emulator")
(description "QTerminal is a lightweight Qt terminal emulator based on
QTermWidget.")
- (license license:lgpl2.1+)))
+ (license license:gpl2+)))
(define-public screengrab
(package
@@ -1160,7 +1160,7 @@ QTermWidget.")
(synopsis "Crossplatform tool for fast making screenshots")
(description "ScreenGrab is a program for fast creating screenshots, and
easily publishing them on internet image hosting services.")
- (license license:lgpl2.1+)))
+ (license license:gpl2+)))
;; The LXQt Desktop Environment
--
2.19.1
^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: Package for LXQt. Help wanted.
2018-10-27 8:19 ` Meiyo Peng
@ 2018-10-27 10:24 ` 宋文武
0 siblings, 0 replies; 10+ messages in thread
From: 宋文武 @ 2018-10-27 10:24 UTC (permalink / raw)
To: Meiyo Peng; +Cc: guix-devel
Meiyo Peng <meiyo.peng@gmail.com> writes:
> Hello Song,
>
> On Fri, Oct 26, 2018 at 2:26 PM 宋文武 <iyzsong@member.fsf.org> wrote:
>
>> - Correct some licenses, eg: obconf-qt, qps are under GPL2+.
>
> I made a terrible mistake. I assumed that all LXQt apps are licensed
> under LGPL2.1+. But in fact only core LXQt apps are licensed under
> LGPL2.1+. Several apps are licensed under GPL2+.
Indeed.
>
> GPL2+ apps: pcmanfm-qt, lximage-qt, obconf-qt, pavucontrol-qt, qps,
> qtermwidget, qterminal, screengrab.
> [4. text/x-patch;
> 0001-gnu-lxqt-Correct-licenses-for-several-packages.patch]...
Good catch, applied, thanks! (I thought I had checked all the licenses,
but forget...)
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: Package for LXQt. Help wanted.
2018-10-26 15:11 Package for LXQt. Help wanted Meiyo Peng
@ 2018-10-27 11:51 ` 宋文武
0 siblings, 0 replies; 10+ messages in thread
From: 宋文武 @ 2018-10-27 11:51 UTC (permalink / raw)
To: Meiyo Peng; +Cc: guix-devel
Meiyo Peng <meiyo.peng@gmail.com> writes:
> Hello Song,
>
>> Hello, thank you again, I have push them!
>
> Thank you.
>
>> - Add comments about the missing translations (disable the
>> PULL_TANSLATIONS), which are in the lxqt-l10n git repository. I think
>> we can prefetch it as a 'origin', add it to the input of the
>> application, or add a 'lxqt-l10n' package.
>
> I didn't add lxqt-l10n because it is stated as deprecated on it's home
> page.
Okay, I see now the repositories (lxqt-about, etc) have their
translations checked in, so the next release will have translations
files in the tarballs. In the meantime, we could add 'lxqt-l10n' as a
package to get translations for those LXQt applications. I tried to
build lxqt-l10n, but its CMakeLists.txt can't be used as-is, I'd leave
it now...
>
>> - Correct some licenses, eg: obconf-qt, qps are under GPL2+.
>
> Sorry about this. I should have been more careful.
>
>> And a "lxqt-build-tools: Dedifen LXQT_*_DIR variables" patch is
>> unapplied:
>>
>> (build-system cmake-build-system)
>> (arguments
>> - `(#:tests? #f)) ; no tests
>> + `(#:tests? #f ;; no tests
>> + #:configure-flags
>> + `("-DLXQT_DATA_DIR=/run/current-system/profile/share"
>> + "-DLXQT_ETC_XDG_DIR=/run/current-system/profile/etc/xdg")))
>>
>> What are thoses variables used for? If I install the 'lxqt' package
>> into my user profile, should I set them to the directories under my
>> profile ($HOME/.guix-profile/share and $HOME/.guix-profile/etc/xdg)?
>
> These variables are used by all LXQt packages during build time. But
> there is no big issue if they are not defined here, I guess it is
> because XDG_*_DIRS environment variables are set correctly during
> runtime. They default to directories within
> /gnu/store/*-lxqt-build-tools-*/ like this:
> "/gnu/store/86wy8q4yplhalf3yvmzv673naarxn3na-lxqt-build-tools-0.5.0/share"
>
> I defined these variables here to serve an aesthetic purpose, so that
> the "Technical Info" tab within lxqt-about can show the values defined
> above rather than directories like this:
> "/gnu/store/86wy8q4yplhalf3yvmzv673naarxn3na-lxqt-build-tools-0.5.0/share".
>
Yeah, thanks for the explanation.
^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2018-10-27 11:52 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-10-26 15:11 Package for LXQt. Help wanted Meiyo Peng
2018-10-27 11:51 ` 宋文武
-- strict thread matches above, loose matches on Subject: below --
2018-10-23 3:41 Meiyo Peng
2018-10-23 13:27 ` 宋文武
2018-10-23 0:33 Meiyo Peng
2018-10-22 4:57 Meiyo Peng
2018-10-22 14:31 ` 宋文武
2018-10-26 14:24 ` 宋文武
2018-10-27 8:19 ` Meiyo Peng
2018-10-27 10:24 ` 宋文武
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/guix.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).