[PATCH] gnu: public-inbox: Update to 1.6.1.

  • Done
  • quality assurance status badge
Details
2 participants
  • Kyle Meyer
  • Xinglu Chen
Owner
unassigned
Submitted by
Xinglu Chen
Severity
normal
X
X
Xinglu Chen wrote on 26 Apr 2021 14:35
(address . guix-patches@gnu.org)(name . Kyle Meyer)(address . kyle@kyleam.com)
8d66684c511e3a36830465481851f9d86d4d6231.1619439907.git.public@yoctocell.xyz
* gnu/packages/mail.scm (public-inbox): Update to 1.6.1.
[synopsis]: Capitalize “git”.
[description]: Likewise.
---
I haven’t tested it thoroughly; ‘public-inbox-init‘ and
‘public-inbox-index’ seem to work fine.

Cc: Kyle since you have been somewhat active on the public-inbox ML. :)

gnu/packages/mail.scm | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)

Toggle diff (38 lines)
diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm
index 64c84d145d..43291ac267 100644
--- a/gnu/packages/mail.scm
+++ b/gnu/packages/mail.scm
@@ -4082,7 +4082,7 @@ Git and exports them in maildir format or to an MDA through a pipe.")
(define-public public-inbox
(package
(name "public-inbox")
- (version "1.5.0")
+ (version "1.6.1")
(source
(origin (method git-fetch)
(uri (git-reference
@@ -4090,7 +4090,7 @@ Git and exports them in maildir format or to an MDA through a pipe.")
(commit (string-append "v" version))))
(sha256
(base32
- "03zj7shdl3vibs7k5lr673bwcf8j1xx8is3mjz34ca4cdh6p5j2k"))
+ "0mlwnp5knr7rk9kv8grlh342wsq2193m22zs83cjn9p7x9r2x5f9"))
(file-name (git-file-name name version))))
(build-system perl-build-system)
(arguments
@@ -4156,9 +4156,9 @@ Git and exports them in maildir format or to an MDA through a pipe.")
("perl-ipc-run" ,perl-ipc-run)
("perl-xml-feed" ,perl-xml-feed)))
(home-page "https://public-inbox.org/README.html")
- (synopsis "Archive mailing lists in git repositories")
+ (synopsis "Archive mailing lists in Git repositories")
(description
- "public-inbox implements the sharing of an email inbox via git to
+ "public-inbox implements the sharing of an email inbox via Git to
complement or replace traditional mailing lists. Readers may read via NNTP,
Atom feeds or HTML archives.")
(license license:agpl3+)))

base-commit: f365d48909156ad754a2ade45375f45b54b06bbc
--
2.31.1
K
K
Kyle Meyer wrote on 27 Apr 2021 02:59
(name . Xinglu Chen)(address . public@yoctocell.xyz)(address . 48033@debbugs.gnu.org)
871rawa6g0.fsf@kyleam.com
Xinglu Chen writes:

Toggle quote (9 lines)
> * gnu/packages/mail.scm (public-inbox): Update to 1.6.1.
> [synopsis]: Capitalize “git”.
> [description]: Likewise.
> ---
> I haven’t tested it thoroughly; ‘public-inbox-init‘ and
> ‘public-inbox-index’ seem to work fine.
>
> Cc: Kyle since you have been somewhat active on the public-inbox ML. :)

Thanks for updating this.

To add to your manual checks above (and to the passing test suite), I
tested out public-inbox-httpd with some inboxes I have locally, and
everything there seems to be working as expected.

I think the perl-filesys-notify-simple input should be dropped because
Filesys::Notify::Simple isn't used as of v1.6.0. Linux::Inotify2 is
used instead, but it doesn't look like that's packaged for Guix yet. I
believe public-inbox has some fallback behavior here so that
public-inbox-watch is still functional, but ideally Linux::Inotify2
would be added as an input with this update to 1.6.1.

Otherwise, this patch looks good to me, but fwiw there are a few
optional dependencies (already packaged in Guix) that could be added:

* highlight (syntax highlight for associated code repositories)
* perl-inline-c (nice to have for performance reasons)
* perl-parse-recdescent (as of v1.6.0, used only for public-inbox-imapd)
K
K
Kyle Meyer wrote on 27 Apr 2021 03:09
(name . Xinglu Chen)(address . public@yoctocell.xyz)(address . 48033@debbugs.gnu.org)
87wnso8re5.fsf@kyleam.com
Xinglu Chen writes:

Toggle quote (6 lines)
> (description
> - "public-inbox implements the sharing of an email inbox via git to
> + "public-inbox implements the sharing of an email inbox via Git to
> complement or replace traditional mailing lists. Readers may read via NNTP,
> Atom feeds or HTML archives.")

As of 1.6.0, public-inbox supports running an anonymous IMAP server, so
it may be worth adding IMAP to this list.
X
X
Xinglu Chen wrote on 27 Apr 2021 22:21
Re: [bug#48033] [PATCH] gnu: public-inbox: Update to 1.6.1.
(name . Kyle Meyer)(address . kyle@kyleam.com)(address . 48033@debbugs.gnu.org)
87zgxjv5q5.fsf@yoctocell.xyz
On Mon, Apr 26 2021, Kyle Meyer wrote:

Toggle quote (6 lines)
> Thanks for updating this.
>
> To add to your manual checks above (and to the passing test suite), I
> tested out public-inbox-httpd with some inboxes I have locally, and
> everything there seems to be working as expected.

Good to know.

Toggle quote (7 lines)
> I think the perl-filesys-notify-simple input should be dropped because
> Filesys::Notify::Simple isn't used as of v1.6.0. Linux::Inotify2 is
> used instead, but it doesn't look like that's packaged for Guix yet. I
> believe public-inbox has some fallback behavior here so that
> public-inbox-watch is still functional, but ideally Linux::Inotify2
> would be added as an input with this update to 1.6.1.

Ok, I don't know much about Perl, but I will try to package
Linux::Inotify2.

Toggle quote (7 lines)
> Otherwise, this patch looks good to me, but fwiw there are a few
> optional dependencies (already packaged in Guix) that could be added:
>
> * highlight (syntax highlight for associated code repositories)
> * perl-inline-c (nice to have for performance reasons)
> * perl-parse-recdescent (as of v1.6.0, used only for public-inbox-imapd)

Thanks for pointing these out, I will make sure to add them.

Toggle quote (9 lines)
>> (description
>> - "public-inbox implements the sharing of an email inbox via git to
>> + "public-inbox implements the sharing of an email inbox via Git to
>> complement or replace traditional mailing lists. Readers may read via NNTP,
>> Atom feeds or HTML archives.")
>
> As of 1.6.0, public-inbox supports running an anonymous IMAP server, so
> it may be worth adding IMAP to this list.

Yeah, will do.

Thanks for the review!
X
X
Xinglu Chen wrote on 27 Apr 2021 23:03
(name . Kyle Meyer)(address . kyle@kyleam.com)(address . 48033@debbugs.gnu.org)
87v987v3sg.fsf@yoctocell.xyz
On Tue, Apr 27 2021, Xinglu Chen wrote:

Toggle quote (9 lines)
>> Otherwise, this patch looks good to me, but fwiw there are a few
>> optional dependencies (already packaged in Guix) that could be added:
>>
>> * highlight (syntax highlight for associated code repositories)
>> * perl-inline-c (nice to have for performance reasons)
>> * perl-parse-recdescent (as of v1.6.0, used only for public-inbox-imapd)
>
> Thanks for pointing these out, I will make sure to add them.

When adding ‘highlight’ to the inputs, one of the tests fail.

Toggle snippet (26 lines)
[...]
t/filter_subjecttag.t ........ ok
t/filter_vger.t .............. ok
t/git.t ...................... ok
t/gzip_filter.t .............. ok
failed to open(filetypes.conf): No such file or directory at /tmp/guix-build-public-inbox-1.6.1.drv-0/source/blib/lib/PublicInbox/HlMod.pm line 25.
# Tests were run but no plan was declared and done_testing() was not seen.
# Looks like your test exited with 2 just after 1.
t/hl_mod.t ...................
Dubious, test returned 2 (wstat 512, 0x200)
All 1 subtests passed
t/html_index.t ............... ok
t/httpd-corner.t ............. ok
[...]

Test Summary Report
-------------------
t/hl_mod.t (Wstat: 512 Tests: 1 Failed: 0)
Non-zero exit status: 2
Parse errors: No plan found in TAP output
Files=108, Tests=4046, 241 wallclock secs ( 2.26 usr 0.33 sys + 98.46 cusr 114.51 csys = 215.56 CPU)
Result: FAIL
Failed 1/108 test programs. 0/4046 subtests failed.
make: *** [Makefile:1060: test_dynamic] Error 255

Any ideas?
K
K
Kyle Meyer wrote on 28 Apr 2021 06:22
(name . Xinglu Chen)(address . public@yoctocell.xyz)(address . 48033@debbugs.gnu.org)
87a6pjujgc.fsf@kyleam.com
Xinglu Chen writes:

Toggle quote (2 lines)
> When adding ‘highlight’ to the inputs, one of the tests fail.
>
[...]
Toggle quote (4 lines)
> failed to open(filetypes.conf): No such file or directory at /tmp/guix-build-public-inbox-1.6.1.drv-0/source/blib/lib/PublicInbox/HlMod.pm line 25.
> # Tests were run but no plan was declared and done_testing() was not seen.
> # Looks like your test exited with 2 just after 1.

Hmm, HlMod.pm is calling highlight's getFiletypesConfPath(), and it
looks like that returns a bare "filetypes.conf" (which doesn't exist)
rather than
"/gnu/store/...-highlight-3.62/share/highlight/config/filetypes.conf".

Here's what public-inbox's call boils down to:

Toggle snippet (6 lines)
use highlight;
my $dir = highlight::DataDir->new;
$dir->initSearchDirectories('');
print $dir->getFiletypesConfPath('filetypes')."\n";

On my Debian Buster system that prints

$ perl scratch.pl
/etc/highlight/filetypes.conf

And when I go through Guix:

$ guix environment -C --ad-hoc perl highlight -- perl scratch.pl
filetypes.conf


I'm not sure why that would be. Guix's highlight definition sets
HL_CONFIG_DIR, and that seems to get wired up correctly:

$ guix environment -C --ad-hoc highlight -- highlight --print-config

Config file search directories:
/gnu/store/6a3jjm38qs80miyqpcb6j9madzy26plg-highlight-3.62/share/highlight/
/gnu/store/6a3jjm38qs80miyqpcb6j9madzy26plg-highlight-3.62/share/highlight/config/

Filetype config file:
/gnu/store/6a3jjm38qs80miyqpcb6j9madzy26plg-highlight-3.62/share/highlight/config/filetypes.conf

Compiler directive HL_DATA_DIR = /gnu/store/6a3jjm38qs80miyqpcb6j9madzy26plg-highlight-3.62/share/highlight/
Compiler directive HL_CONFIG_DIR = /gnu/store/6a3jjm38qs80miyqpcb6j9madzy26plg-highlight-3.62/share/highlight/config/
X
X
Xinglu Chen wrote on 28 Apr 2021 15:16
(name . Kyle Meyer)(address . kyle@kyleam.com)(address . 48033@debbugs.gnu.org)
871rautuqw.fsf@yoctocell.xyz
On Wed, Apr 28 2021, Kyle Meyer wrote:

Toggle quote (8 lines)
> Hmm, HlMod.pm is calling highlight's getFiletypesConfPath(), and it
> looks like that returns a bare "filetypes.conf" (which doesn't exist)
> rather than
> "/gnu/store/...-highlight-3.62/share/highlight/config/filetypes.conf".
>
> Here's what public-inbox's call boils down to:
> [...]

Thanks for looking into this. I played around with the make flags for
‘highlight’, but that didn’t get me anywhere.

Maybe we could remove ‘highlight’ for now? Also,
lib/PublicInbox/WwwHighlight.pm has this comment:

# TODO: support highlight(1) for distros which don't package the
# SWIG extension. Also, there may be admins who don't want to
# have ugly SWIG-generated code in a long-lived Perl process.

Maybe this will become true in the future. :)
K
K
Kyle Meyer wrote on 28 Apr 2021 23:53
(name . Xinglu Chen)(address . public@yoctocell.xyz)(address . 48033@debbugs.gnu.org)
87r1iut6rz.fsf@kyleam.com
Xinglu Chen writes:

Toggle quote (2 lines)
> Maybe we could remove ‘highlight’ for now?

Sure, not adding it to the current definition sounds fine to me.

Toggle quote (9 lines)
> Also,
> lib/PublicInbox/WwwHighlight.pm has this comment:
>
> # TODO: support highlight(1) for distros which don't package the
> # SWIG extension. Also, there may be admins who don't want to
> # have ugly SWIG-generated code in a long-lived Perl process.
>
> Maybe this will become true in the future. :)

X
X
Xinglu Chen wrote on 29 Apr 2021 14:18
(name . Kyle Meyer)(address . kyle@kyleam.com)(address . 48033@debbugs.gnu.org)
87sg39uvwi.fsf@yoctocell.xyz
On Wed, Apr 28 2021, Kyle Meyer wrote:

Toggle quote (12 lines)
>> Also,
>> lib/PublicInbox/WwwHighlight.pm has this comment:
>>
>> # TODO: support highlight(1) for distros which don't package the
>> # SWIG extension. Also, there may be admins who don't want to
>> # have ugly SWIG-generated code in a long-lived Perl process.
>>
>> Maybe this will become true in the future. :)
>
> Yeah :) Or even pygments support:
> https://public-inbox.org/meta/20191008215321.GA23962@dcvr/

That would be even better :)

I will send an updated series for this.
X
X
Xinglu Chen wrote on 29 Apr 2021 14:37
[PATCH v2 0/2] Update public-inbox to 1.6.1
(address . 48033@debbugs.gnu.org)
cover.1619699566.git.public@yoctocell.xyz
Changes since v1:
- Add some optional dependencies for ‘public-inbox’.

- Follow upstream and replace ‘perl-filesys-notify-simple’ with
‘perl-linux-inotify2’.

- Mention IMAP support in the description.

Xinglu Chen (2):
gnu: Add perl-linux-inotify2.
gnu: public-inbox: Update to 1.6.1.

gnu/packages/mail.scm | 19 +++++++++++++------
gnu/packages/perl.scm | 23 +++++++++++++++++++++++
2 files changed, 36 insertions(+), 6 deletions(-)


base-commit: 510fbf7f9360ec5c7b93a45c2fa7ce168a15d9ae
--
2.31.1
X
X
Xinglu Chen wrote on 29 Apr 2021 14:37
[PATCH v2 1/2] gnu: Add perl-linux-inotify2.
(address . 48033@debbugs.gnu.org)
aebb930ea41df54db0e9042cb2db3c40aa861927.1619699566.git.public@yoctocell.xyz
* gnu/packages/perl.scm (perl-linux-inotify2): New variable.
---
gnu/packages/perl.scm | 23 +++++++++++++++++++++++
1 file changed, 23 insertions(+)

Toggle diff (43 lines)
diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm
index 559e6ad9e0..f0750e5620 100644
--- a/gnu/packages/perl.scm
+++ b/gnu/packages/perl.scm
@@ -29,6 +29,7 @@
;;; Copyright © 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2020 Malte Frank Gerdes <malte.f.gerdes@gmail.com>
;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
+;;; Copyright © 2021 Xinglu Chen <public@yoctocell.xyz>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -5905,6 +5906,28 @@ writing system to another, based on national or international transliteration
tables. Where possible a reverse transliteration is supported.")
(license (package-license perl))))
+(define-public perl-linux-inotify2
+ (package
+ (name "perl-linux-inotify2")
+ (version "2.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "mirror://cpan/authors/id/M/ML/MLEHMANN/Linux-Inotify2-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "0crlxmaa4lsgdjm5p9ib8rdxiy70qj1s68za3q3v57v8ll6s4hfx"))))
+ (build-system perl-build-system)
+ (propagated-inputs
+ `(("perl-common-sense" ,perl-common-sense)))
+ (home-page "https://metacpan.org/release/Linux-Inotify2")
+ (synopsis "Scalable file change notification")
+ (description "This module implements an interface to the Linux 2.6.13 and
+later Inotify file change notification system.")
+ (license (package-license perl))))
+
(define-public perl-list-allutils
(package
(name "perl-list-allutils")
--
2.31.1
?
Your comment

This issue is archived.

To comment on this conversation send an email to 48033@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 48033
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch