[PATCH] FeatherPad package

  • Open
  • quality assurance status badge
Details
4 participants
  • Maxime Devos
  • Mathieu Othacehe
  • Pavel Shlyak
  • Tsu Jan
Owner
unassigned
Submitted by
Pavel Shlyak
Severity
normal
P
P
Pavel Shlyak wrote on 30 Jul 2022 14:31
(address . guix-patches@gnu.org)
C40297F8-C57B-41E8-BA92-28902A00C091@pantherx.org
Hello!

Here is my patch to add FeatherPad package to guix. I upstream it from PantherX channel, hence 3 copyright lines.
I build it against Qt5 as Qt6 support in FeatherPad is experimental and is not recommended for daily usage yet.

Thank you in advance for your feedback.
Have a nice day!
M
M
Maxime Devos wrote on 30 Jul 2022 15:00
302e84b7-b42b-ecc7-072e-d05b92d1b7ef@telenet.be
On 30-07-2022 14:31, Pavel Shlyak wrote:
Toggle quote (11 lines)
> Hello!
>
> Here is my patch to add FeatherPad package to guix. I upstream it from PantherX channel, hence 3 copyright lines.
> I build it against Qt5 as Qt6 support in FeatherPad is experimental and is not recommended for daily usage yet.
>
> Thank you in advance for your feedback.
> Have a nice day!
>
> +    (synopsis "Lightweight Qt5 plain-text editor for Linux")
> +    (description "FeatherPad is a lightweight Qt5 plain-text editor
> for Linux")
If it's only for Linux, that needs to be mentioned in the
'supported-systems'; there is no need to duplicate this information in
the description and synopsis. Also, according to the README, this is
incorrect -- e.g., it mentions 'Haiku OS' support; maybe it supports the
Hurd too. There is also no need to mention implementation details such
as Qt5 -- if the user is interested in that, they can do "guix show
featherpad" to see the list of dependencies.
Additionally, descriptions are not the same thing as descriptions, yet
you are writing essentially the same thing in both, try mentioning what
FeatherPad can do and its limitations (especially if they are
limitations compared to other text editors or features not implemented
by them, to help the user deciding between them). Marketing talk like
"lightweight" (*) is to be avoided, see (guix)Synopses and Descriptions.
(*) It's super subjective. Is "lightweight" considering memory usage,
disk usage, CPU usage, ...? I've tested this statement (with disk usage)
for "nano" and the inputs of FeatherPad, and I find that nano takes 86.7
MiB in total and FeatherPad's dependencies take 1156.5 MiB in total --
13.3 times larger! So in a certain sense, it's not lightweight at all,
but heavyweight. If you really want to mention it's lightweight, then be
precise in your exact claim.
> +    (native-inputs (list pkg-config hunspell qtsvg qtx11extras
qtbase-5))
Only pkg-config looks like a native-input to me. See (guix)package
Reference for the difference.
Toggle quote (1 lines)
> +    (arguments `(#:tests? #f))
Tests exist for a reason, don't simply disable them -- if there is a
reason, write down the reason, in a comment. Also, there appears to be
some preference for (list #:tests? #false) -- ` / , is a complicated
construct, and if used, you can get things like ,#~.
Toggle quote (1 lines)
> +    (license license:gpl3)))
Looking at a random source file (featherpad/fpwin.cpp), this appears to
be incorrect -- GPL-3.0 and GPL-3.0+ are different.
Toggle quote (2 lines)
>
Greetings,
Maxime.
Attachment: OpenPGP_signature
P
P
Pavel Shlyak wrote on 30 Jul 2022 16:59
(address . 56840@debbugs.gnu.org)
E9E2CD6B-8D99-4FE0-A345-481138C0FFF5@pantherx.org
Thank you for your feedback! I have tried to fix the issues you mentioned and I also added translations. I have edited the package description in accordance with your recommendations and I kindly asked app author/maintainer to appear in this thread to comment it.
Toggle quote (39 lines)
> 30 ???? 2022 ?., ? 16:00, Maxime Devos <maximedevos@telenet.be> ???????(?):
>
>
> On 30-07-2022 14:31, Pavel Shlyak wrote:
>> Hello!
>>
>> Here is my patch to add FeatherPad package to guix. I upstream it from PantherX channel, hence 3 copyright lines.
>> I build it against Qt5 as Qt6 support in FeatherPad is experimental and is not recommended for daily usage yet.
>>
>> Thank you in advance for your feedback.
>> Have a nice day!
>>
>> + (synopsis "Lightweight Qt5 plain-text editor for Linux")
>> + (description "FeatherPad is a lightweight Qt5 plain-text editor for Linux")
>
> If it's only for Linux, that needs to be mentioned in the 'supported-systems'; there is no need to duplicate this information in the description and synopsis. Also, according to the README, this is incorrect -- e.g., it mentions 'Haiku OS' support; maybe it supports the Hurd too. There is also no need to mention implementation details such as Qt5 -- if the user is interested in that, they can do "guix show featherpad" to see the list of dependencies.
>
> Additionally, descriptions are not the same thing as descriptions, yet you are writing essentially the same thing in both, try mentioning what FeatherPad can do and its limitations (especially if they are limitations compared to other text editors or features not implemented by them, to help the user deciding between them). Marketing talk like "lightweight" (*) is to be avoided, see (guix)Synopses and Descriptions.
>
> (*) It's super subjective. Is "lightweight" considering memory usage, disk usage, CPU usage, ...? I've tested this statement (with disk usage) for "nano" and the inputs of FeatherPad, and I find that nano takes 86.7 MiB in total and FeatherPad's dependencies take 1156.5 MiB in total -- 13.3 times larger! So in a certain sense, it's not lightweight at all, but heavyweight. If you really want to mention it's lightweight, then be precise in your exact claim.
>
> > + (native-inputs (list pkg-config hunspell qtsvg qtx11extras qtbase-5))
>
> Only pkg-config looks like a native-input to me. See (guix)package Reference for the difference.
>
>> + (arguments `(#:tests? #f))
>
> Tests exist for a reason, don't simply disable them -- if there is a reason, write down the reason, in a comment. Also, there appears to be some preference for (list #:tests? #false) -- ` / , is a complicated construct, and if used, you can get things like ,#~.
>
>> + (license license:gpl3)))
>
> Looking at a random source file (featherpad/fpwin.cpp), this appears to be incorrect -- GPL-3.0 and GPL-3.0+ are different.
>
>> https://github.com/tsujan/FeatherPad/blob/master/cmake/Modules/FindHUNSPELL.cmake
>
> Greetings,
> Maxime.
>
> <OpenPGP_0x49E3EE22191725EE.asc>
T
T
Tsu Jan wrote on 30 Jul 2022 15:52
[PATCH] FeatherPad package
(address . 56840@debbugs.gnu.org)
95b37227-803a-c6ee-842d-8170f0ea426b@gmail.com
I don't have any comment on guix but:


> It's super subjective...


It isn't. Most users judge about "lightweight" pragmatically, based on
response time (CPU usage), RAM usage, and the amount of features
compared to similar apps.

The disk usage is relative and depends on the DE -- installing a light
Qt app under Gnome, a light GTK app under LXQt or a light EFL app under
both may require lots of packages.


> Marketing talk like "lightweight"


Who cares about marketing?! It's a valid info, helpful to users. It also
tells about the direction of development.
P
P
Pavel Shlyak wrote on 30 Jul 2022 23:52
(address . 56840@debbugs.gnu.org)
53B0C4AB-ECF7-4BEC-8938-1242962AACF5@pantherx.org
Also, the app works as I expect it to work and I’m not sure if it is good/required to change build system to qt-build-system (it is now cmake-build-system). On the one hand, docs say it adds extra helpful steps. On the other hand, it works fine here as submitted in the previous patch. What do you think?
M
M
Maxime Devos wrote on 31 Jul 2022 01:17
b339ec97-3e25-4029-ad28-d7991dabd86f@telenet.be
On 30-07-2022 23:52, Pavel Shlyak wrote:
Toggle quote (2 lines)
> Also, the app works as I expect it to work and I’m not sure if it is good/required to change build system to qt-build-system (it is now cmake-build-system). On the one hand, docs say it adds extra helpful steps. On the other hand, it works fine here as submitted in the previous patch. What do you think?
>
Those helpful steps that 'work fine without' are there for a reason,
from the documentation:
     ‘qt-wrap’
          The phase ‘qt-wrap’ searches for Qt5 plugin paths, QML paths
          and some XDG in the inputs and output.  In case some path is
          found, all programs in the output’s ‘bin/’, ‘sbin/’,
          ‘libexec/’ and ‘lib/libexec/’ directories are wrapped in
          scripts defining the necessary environment variables.
-- quite likely, it won't actually work without -- try "guix shell
--pure featherpad -- featherpad" (the --pure is important). Does that work?
Greetings,
Maxime
Attachment: OpenPGP_signature
M
M
Maxime Devos wrote on 31 Jul 2022 01:31
a0be460d-605d-fcde-0d5b-e9a907dd9153@telenet.be
On 30-07-2022 15:52, Tsu Jan wrote:
Toggle quote (10 lines)
> > It's super subjective...
>
>
> It isn't. Most users judge about "lightweight" pragmatically, based on
> response time (CPU usage), RAM usage, and the amount of features
> compared to similar apps.
>
> The disk usage is relative and depends on the DE -- installing a light
> Qt app under Gnome, a light GTK app under LXQt or a light EFL app
> under both may require lots of packages.
Exactly, it's an 'it depends', whether it's lightweight depends on
what's important to the user -- e.g., on my previous computer, lots of
disk was practically irrelevant but RAM and CPU was limited. "It's
relative" and "it depends" is pretty much a definition of subjectivity;
everyone's notion of pragmatism is different.
> Who cares about marketing?!
Guix doesn't, as I wrote previously.
> It's a valid info,
Theoretically, it could be, but currently just copying the "lightweight"
descriptor would give undue weight to some projects that just say
"lightweight" without making any tests on how lightweight it is w.r.t.
feature set and lack-of-bugs, etc., especially given that many other
projects are more modest in their claims even if they are are more
lightweight than much of the rest (e.g.: nano).
As such, words like "lightweight" tend to appear mere marketing to me,
with some very few exceptions where the claims were actually precise,
measurable and proven and the writer was honest and upfront on the
limitations.
Greetings,
Maxime.
Attachment: OpenPGP_signature
P
P
Pavel Shlyak wrote on 1 Aug 2022 22:51
(name . Maxime Devos)(address . maximedevos@telenet.be)(address . 56840@debbugs.gnu.org)
E41C1718-4610-4F58-9924-29859E23EDF3@pantherx.org
Toggle quote (2 lines)
> -- quite likely, it won't actually work without -- try "guix shell --pure featherpad -- featherpad" (the --pure is important). Does that work?

It works fine on my machine. However, I decided to follow guidelines and to use qt-build-system just in case. Here is the patch.
P
P
Pavel Shlyak wrote on 1 Aug 2022 23:58
(address . 56840@debbugs.gnu.org)
F701C872-5962-4E07-850E-8E7148FE6031@pantherx.org
Hello

The patch is not valid, as qtsvg became qtsvg-5 in 1ef04fb2288dade3ad2883026ae286a68ef13a1e and qttools became qttools-5 in eef8e2ec46c4155980815e00a394428c0c3de075
Here’s the fixed version.
I just hope qtx11extras hasn’t become qtx11extras-5 as I compose this email XD
By the way, I’m glad to see Qt being updated and I’d like to thank everyone who works on it.

Have a nice day!
M
M
Mathieu Othacehe wrote on 11 Aug 2022 09:58
Re: bug#56840: [PATCH] FeatherPad package
(name . Pavel Shlyak)(address . p.shlyak@pantherx.org)(address . 56840@debbugs.gnu.org)
878rnv43em.fsf_-_@gnu.org
Hello Pavel,

Thanks for the updated version. I was about to push when I noticed that
the 1.3.1 is out there. Could you please update this patch?

Thanks,

Mathieu
P
P
Pavel Shlyak wrote on 20 Aug 2022 12:26
[PATCH] FeatherPad package
(address . 56840@debbugs.gnu.org)
E26D2E4E-D6C9-4C5D-A51A-584E5FFED94D@pantherx.org
Dear Mathieu,

We need to discuss it before I can update the patch. The latest FeatherPad and FeatherNotes require dbus in runtime for single process mode to function. If dbus is not present, the app changes previous behavior and opens a new process/window each time it is called.
So, we can
1. Keep the same inputs. Systems that have dbus will function as they functioned before, others will loose single instance mode.
2. Add dbus to propagated-inputs. This will not ensure dbus is actually running, will it?
3. Do something else
I am not experienced enough to know how to handle this change.


Sincerely,
Pavel
P
P
Pavel Shlyak wrote on 5 Oct 2022 17:37
(name . Mathieu Othacehe)(address . othacehe@gnu.org)(address . 56840@debbugs.gnu.org)
188BAB54-F6DB-462D-A862-1F8B4CEB48D9@pantherx.org
Ok, as there’s no clear answer for the question above, let’s keep it without dbus support for now.
Toggle quote (11 lines)
> 11 ???. 2022 ?., ? 10:58, Mathieu Othacehe <othacehe@gnu.org> ???????(?):
>
>
> Hello Pavel,
>
> Thanks for the updated version. I was about to push when I noticed that
> the 1.3.1 is out there. Could you please update this patch?
>
> Thanks,
>
> Mathieu
?