Re: [new] mail/aerc - terminal email client

2022-05-11 Thread Omar Polo
"James Cook"  wrote:
> On Mon May 2, 2022 at 12:25 AM UTC, James Cook wrote:
> > > It's based on a previous submission by Raymond (+cc).  I've enabled the
> > > notmuch support (but not really tried it yet) and updated it, plus some
> > > other minor tweaks.
> >
> > It is working for me with notmuch. I'm sending this with your aerc port.
> > This is my first time using aerc. Thanks for porting it!
> >
> > -- 
> > James
> 
> There is a quirk which I forgot to mention: when I do a notmuch search
> using :cf, the new "folder" is added to the left with the number of
> results, but the right pane says "(no messages)". If I :cf with the same
> search a second time, the messages appear.
> 
> It seems the messages appear as long as I've :cf'd with that specific
> search before in the same session; it still works if I do intermediate
> searches. Maybe some kind of cacheing is involved?

very much likely.  have you tried reporting it upstream? :)

P.S.: the wizard bug was fixed today \o/



Re: [new] mail/aerc - terminal email client

2022-05-08 Thread James Cook
On Mon May 2, 2022 at 12:25 AM UTC, James Cook wrote:
> > It's based on a previous submission by Raymond (+cc).  I've enabled the
> > notmuch support (but not really tried it yet) and updated it, plus some
> > other minor tweaks.
>
> It is working for me with notmuch. I'm sending this with your aerc port.
> This is my first time using aerc. Thanks for porting it!
>
> -- 
> James

There is a quirk which I forgot to mention: when I do a notmuch search
using :cf, the new "folder" is added to the left with the number of
results, but the right pane says "(no messages)". If I :cf with the same
search a second time, the messages appear.

It seems the messages appear as long as I've :cf'd with that specific
search before in the same session; it still works if I do intermediate
searches. Maybe some kind of cacheing is involved?

-- 
James



Re: [new] mail/aerc - terminal email client

2022-05-04 Thread Omar Polo
Omar Polo  wrote:
> "James Cook"  wrote:
> > > It's based on a previous submission by Raymond (+cc).  I've enabled the
> > > notmuch support (but not really tried it yet) and updated it, plus some
> > > other minor tweaks.
> > 
> > It is working for me with notmuch. I'm sending this with your aerc port.
> > This is my first time using aerc. Thanks for porting it!
> 
> thanks for testing!  I'm using aerc in a box where I don't want to sync
> locally the mail (otherwise I'd be using mu+mblaze there too probably),
> so I didn't have an (easy) mean to test notmuch.
> 
> I've also find out why `make clean' failed: I'm not propagating
> MODGO_FLAGS to the upstream makefile.  With that fixed, cleaning works
> fine.

this broke with go.port.mk, but it's now fixed; make sure to update the
port tree before trying the tarball.

Stuart hit the crash in the setup too, I've reported it upstream and
added a README for time being.



aerc.tar.gz
Description: GNU Zip compressed data



Re: [new] mail/aerc - terminal email client

2022-05-04 Thread Omar Polo
"James Cook"  wrote:
> > It's based on a previous submission by Raymond (+cc).  I've enabled the
> > notmuch support (but not really tried it yet) and updated it, plus some
> > other minor tweaks.
> 
> It is working for me with notmuch. I'm sending this with your aerc port.
> This is my first time using aerc. Thanks for porting it!

thanks for testing!  I'm using aerc in a box where I don't want to sync
locally the mail (otherwise I'd be using mu+mblaze there too probably),
so I didn't have an (easy) mean to test notmuch.

I've also find out why `make clean' failed: I'm not propagating
MODGO_FLAGS to the upstream makefile.  With that fixed, cleaning works
fine.



aerc.tar.gz
Description: GNU Zip compressed data


Re: [new] mail/aerc - terminal email client

2022-05-01 Thread James Cook
> It's based on a previous submission by Raymond (+cc).  I've enabled the
> notmuch support (but not really tried it yet) and updated it, plus some
> other minor tweaks.

It is working for me with notmuch. I'm sending this with your aerc port.
This is my first time using aerc. Thanks for porting it!

-- 
James



[new] mail/aerc - terminal email client

2022-04-24 Thread Omar Polo
Hello ports,

Please find attached a tarball for aerc, a terminal email client:

% pkg_info aerc
Information for inst:aerc-0.9.0

Comment:
terminal email client

Description:
Aerc is a terminal email client with IMAP and Maildir support.  Features
include asynchronous IMAP and IMAP IDLE support, a tabbed multitasking
interface, built-in terminal multiplexer, and customizable rendering
filters for message parts.

Maintainer: Omar Polo 

WWW: https://aerc-mail.org


It's based on a previous submission by Raymond (+cc).  I've enabled the
notmuch support (but not really tried it yet) and updated it, plus some
other minor tweaks.

The previous issue with MODGO_VERSION still applies, so we can't use
0.9.0 as MODGO_VERSION but rather the 0.0.0-timestamp stuff.

There's an issue with `make clean' which is unable to clean go stuff
after building due to permission errors.

There's also a bug in the program itself: if you happen to have a long
password and are using a small xterm window, the initial setup wizard
may crash due to "drawing outside of the context", so make sure to have
an xterm wide enough :)

Raymond: are you still interested in aerc?  I'd be happy to leave the
maintainership to you, or to co-maintain it if you prefer.


aerc.tar.gz
Description: application/gzip


Re: [NEW] mail/aerc 0.4.0

2020-07-31 Thread Raymond E. Pasco
On Fri Jul 31, 2020 at 7:28 AM EDT, Raymond E. Pasco wrote:
> This diff should fix WRKDIST and enable go ports to be patched again.

And, dependent on that diff, the attached port replaces go-libvterm with
a properly dynamic-linking go-libvterm, and depends on devel/libvterm
from ports.


aerc-0.4.0.tar.gz
Description: GNU Zip compressed data


Re: [NEW] mail/aerc 0.4.0

2020-07-31 Thread Raymond E. Pasco
This diff should fix WRKDIST and enable go ports to be patched again.

diff --git a/lang/go/go.port.mk b/lang/go/go.port.mk
index 0d254934f32..32a367a29bb 100644
--- a/lang/go/go.port.mk
+++ b/lang/go/go.port.mk
@@ -107,6 +107,7 @@ MODGO_SETUP_WORKSPACE = mkdir -p ${WRKSRC:H}; mv 
${MODGO_SUBDIR} ${WRKSRC};
 WRKSRC ?=  ${WRKDIR}/${MODGO_MODNAME}@${MODGO_VERSION}
 MODGO_SETUP_WORKSPACE =ln -sf ${WRKSRC} ${WRKDIR}/${MODGO_MODNAME}
 .endif
+WRKDIST =  ${WRKSRC}
 
 INSTALL_STRIP =
 .if ${MODGO_TYPE:L:Mbin}
-- 
2.27.0



Re: [NEW] mail/aerc 0.4.0

2020-07-30 Thread Raymond E. Pasco
On Thu Jul 30, 2020 at 12:35 AM EDT, Raymond E. Pasco wrote:
> - The previous time around, with a vendor directory, I was able to patch
> the go-libvterm module to link against devel/libvterm instead of
> bringing along its own libvterm. I am no longer quite sure how to do
> this with the newer Go ports tools because patches apply to WRKDIST,
> which doesn't resolve to a directory that actually exists at any point
> during the build; if I come up with a fix I'll email it here.

Oh, and the way the build works, it doesn't actually "download" the
modules from /usr/ports/distfiles until after patch anyway. If we had
patching capability on the main distribution, maybe we could patch its
go.mod to use an alternate module that properly uses cgo pkg-config.

This ecosystem is a real headache. :)



[NEW] mail/aerc 0.4.0

2020-07-30 Thread Raymond E. Pasco
With the arrival of the new Go ports tools, I wanted to try mail/aerc
again. Here's my attempt. Notes:

- Because upstream uses git tags like 0.4.0 instead of v0.4.0,
  proxy.golang.org relegates him to v0.0.0-longsuffix hell instead of
  letting him use real versions. I have no opinion on this important
  bikeshed, but the MODGO_VERSION you see here is in fact 0.4.0.

- portgen go based its module list on go.mod from the only version it
  was able to fetch, the latest commit, but I changed the modules back
  to what they were in 0.4.0.

- The previous time around, with a vendor directory, I was able to patch
  the go-libvterm module to link against devel/libvterm instead of
  bringing along its own libvterm. I am no longer quite sure how to do
  this with the newer Go ports tools because patches apply to WRKDIST,
  which doesn't resolve to a directory that actually exists at any point
  during the build; if I come up with a fix I'll email it here.


aerc-0.4.0.tar.gz
Description: GNU Zip compressed data


Re: [NEW] mail/aerc

2020-03-30 Thread Raymond E. Pasco
On Mon Mar 30, 2020 at 3:48 PM, Omar Polo wrote:
> There's only one thing that I would like to report, as I think it's
> an error. In the default config, in the filters section, there are
> some paths that I don't expect:
>
> 
> subject,~^\[PATCH=awk -f
> /usr/ports/pobj/aerc-0.3.0/fake-amd64/usr/local/share/aerc/filters/hldiff
> #text/html=/usr/ports/pobj/aerc-0.3.0/fake-amd64/usr/local/share/aerc/filters/html
> text/*=awk -f
> /usr/ports/pobj/aerc-0.3.0/fake-amd64/usr/local/share/aerc/filters/plaintext

Thanks for the report. My config generated the correct paths, but I'll
try to reproduce and fix this on my end.



Re: [NEW] mail/aerc

2020-03-30 Thread Omar Polo
On Sat, Feb 01, 2020 at 03:29:25AM -0500, Raymond E. Pasco wrote:
> - I used a modified distfile provided by abieber with a vendor directory,
>   which is necessary due to the large number of go package dependencies.
> 
> - The custom version of go-libvterm used by aerc upstream includes an
>   (unmodified) bundled copy of libvterm itself, which causes issues with
>   the build. I instead link against devel/libvterm.
> 
> - One filter script shipped with aerc (to display HTML email) depends on
>   socksify (provided by security/dante) and www/w3m. I did not include these
>   as RUN_DEPENDS because this is an optional script disabled by default,
>   but I'm not sure whether this approach is correct.
> 
> - cgo in go 1.13 (but not go 1.14) considers ~ an invalid path character,
>   but the top-level package name here (and therefore WRKSRC) contains an ~.
>   I remedied this by moving the vendor directory contents up to the level
>   of the MODGO_WORKSPACE. This workaround shouldn't be necessary when go
>   1.14 is released.
> 
> - aerc can be built with notmuch support, but notmuch isn't in ports (yet?),
>   so I didn't bother with this.

Thank you for porting this!  I'm trying it and so far it seems to
work.

There's only one thing that I would like to report, as I think it's
an error.  In the default config, in the filters section, there are
some paths that I don't expect:

subject,~^\[PATCH=awk -f 
/usr/ports/pobj/aerc-0.3.0/fake-amd64/usr/local/share/aerc/filters/hldiff
#text/html=/usr/ports/pobj/aerc-0.3.0/fake-amd64/usr/local/share/aerc/filters/html
text/*=awk -f 
/usr/ports/pobj/aerc-0.3.0/fake-amd64/usr/local/share/aerc/filters/plaintext

In the port makefile there is a rule to generate aerc.conf that use
sed to replace @SHAREDDIR@ to $SHAREDDIR.  I tried to add
SHAREDDIR=/usr/local/share/aerc to MAKE_FLAGS but it didn't work.

(this on a updated -current on amd64)

-- 
/Omar Polo



Re: [NEW] mail/aerc

2020-02-20 Thread Joerg Jung
On Mon, Feb 10, 2020 at 09:10:15AM -0700, Aaron Bieber wrote:
> On Sat, 01 Feb 2020 at 03:29:25 -0500, Raymond E. Pasco wrote:
> > - I used a modified distfile provided by abieber with a vendor directory,
> >   which is necessary due to the large number of go package dependencies.
> > 
> > - The custom version of go-libvterm used by aerc upstream includes an
> >   (unmodified) bundled copy of libvterm itself, which causes issues with
> >   the build. I instead link against devel/libvterm.
> > 
> > - One filter script shipped with aerc (to display HTML email) depends on
> >   socksify (provided by security/dante) and www/w3m. I did not include these
> >   as RUN_DEPENDS because this is an optional script disabled by default,
> >   but I'm not sure whether this approach is correct.
> > 
> > - cgo in go 1.13 (but not go 1.14) considers ~ an invalid path character,
> >   but the top-level package name here (and therefore WRKSRC) contains an ~.
> >   I remedied this by moving the vendor directory contents up to the level
> >   of the MODGO_WORKSPACE. This workaround shouldn't be necessary when go
> >   1.14 is released.
> > 
> > - aerc can be built with notmuch support, but notmuch isn't in ports (yet?),
> >   so I didn't bother with this.
> 
> It looks good to me. I'd like to pass in MODGO_FLAGS so we can have verbose
> info when DEBUG is set. Something like:
>   MAKE_ENV += GOFLAGS="${MODGO_FLAGS}"
> 
> But it seems the "-p ${MAKE_JOBS}" bit from go.port.mk isn't getting parsed
> properly in this case.
> 
> Anyway, if that bit can be sorted out, OK abieber@ for import!

ok jung@ as well (convinced by sthen's args earlier in this thread) 



Re: [NEW] mail/aerc

2020-02-16 Thread Raymond E. Pasco
Whoops, last message bounced from the list due to a bug in the very
email client in question (although it went through to Aaron). Grabbed a
patch from their list to address this for now, attached; the diff to
go.port.mk is also reproduced below.

diff --git a/lang/go/go.port.mk b/lang/go/go.port.mk
index 983c3990706..21bccbd7053 100644
--- a/lang/go/go.port.mk
+++ b/lang/go/go.port.mk
@@ -67,7 +67,7 @@ MODGO_SETUP_WORKSPACE =   mkdir -p ${WRKSRC:H}; mv 
${MODGO_SUBDIR} ${WRKSRC};
 CATEGORIES +=  lang/go
 
 MODGO_BUILD_TARGET =   ${MODGO_BUILD_CMD} ${ALL_TARGET}
-MODGO_FLAGS += -v -p ${MAKE_JOBS}
+MODGO_FLAGS += -v -p=${MAKE_JOBS}
 
 .if empty(DEBUG)
 # by default omit symbol table, debug information and DWARF symbol table



aerc.tgz
Description: GNU Zip compressed data


Re: [NEW] mail/aerc

2020-02-12 Thread Aaron Bieber
On Wed, 12 Feb 2020 at 22:26:24 -0500, Raymond E. Pasco wrote:
> On Mon Feb 10, 2020 at 9:10 AM, Aaron Bieber wrote:
> > It looks good to me. I'd like to pass in MODGO_FLAGS so we can have
> > verbose
> > info when DEBUG is set. Something like:
> > MAKE_ENV += GOFLAGS="${MODGO_FLAGS}"
> >
> > 
> > But it seems the "-p ${MAKE_JOBS}" bit from go.port.mk isn't getting
> > parsed
> > properly in this case.
> 
> Go is being a real pain here. It seems to want the syntax to be -p=1
> rather than -p 1 - however, it only cares to *enforce* this when it's in
> the GOFLAGS environment variable and not when it's regular command line
> flags, as MODGO_FLAGS ordinarily are by go.port.mk. The below diff to
> go.port.mk makes it work, and doesn't break the couple other lang/go
> ports I tried; combined with the attached port it respects the flags.
> 
> diff --git a/lang/go/go.port.mk b/lang/go/go.port.mk
> index 983c3990706..21bccbd7053 100644
> --- a/lang/go/go.port.mk
> +++ b/lang/go/go.port.mk
> @@ -67,7 +67,7 @@ MODGO_SETUP_WORKSPACE =   mkdir -p ${WRKSRC:H}; mv
> ${MODGO_SUBDIR} ${WRKSRC};
>  CATEGORIES +=  lang/go
>  
>  MODGO_BUILD_TARGET =   ${MODGO_BUILD_CMD} ${ALL_TARGET}
> -MODGO_FLAGS += -v -p ${MAKE_JOBS}
> +MODGO_FLAGS += -v -p=${MAKE_JOBS}
>  
>  .if empty(DEBUG)
>  # by default omit symbol table, debug information and DWARF symbol
> table
> 

Tested a few ports with this (dnscontrol, gopass, ogvt, go-tools and a few
others that set MODGO_FLAGS), no issues found.

OK abieber@

-- 
PGP: 0x1F81112D62A9ADCE / 3586 3350 BFEA C101 DB1A  4AF0 1F81 112D 62A9 ADCE



Re: [NEW] mail/aerc

2020-02-10 Thread Aaron Bieber
On Sat, 01 Feb 2020 at 03:29:25 -0500, Raymond E. Pasco wrote:
> - I used a modified distfile provided by abieber with a vendor directory,
>   which is necessary due to the large number of go package dependencies.
> 
> - The custom version of go-libvterm used by aerc upstream includes an
>   (unmodified) bundled copy of libvterm itself, which causes issues with
>   the build. I instead link against devel/libvterm.
> 
> - One filter script shipped with aerc (to display HTML email) depends on
>   socksify (provided by security/dante) and www/w3m. I did not include these
>   as RUN_DEPENDS because this is an optional script disabled by default,
>   but I'm not sure whether this approach is correct.
> 
> - cgo in go 1.13 (but not go 1.14) considers ~ an invalid path character,
>   but the top-level package name here (and therefore WRKSRC) contains an ~.
>   I remedied this by moving the vendor directory contents up to the level
>   of the MODGO_WORKSPACE. This workaround shouldn't be necessary when go
>   1.14 is released.
> 
> - aerc can be built with notmuch support, but notmuch isn't in ports (yet?),
>   so I didn't bother with this.

It looks good to me. I'd like to pass in MODGO_FLAGS so we can have verbose
info when DEBUG is set. Something like:
  MAKE_ENV += GOFLAGS="${MODGO_FLAGS}"

But it seems the "-p ${MAKE_JOBS}" bit from go.port.mk isn't getting parsed
properly in this case.

Anyway, if that bit can be sorted out, OK abieber@ for import!

-- 
PGP: 0x1F81112D62A9ADCE / 3586 3350 BFEA C101 DB1A  4AF0 1F81 112D 62A9 ADCE



Re: [NEW] mail/aerc

2020-02-09 Thread Stuart Henderson
On 2020/02/08 23:39, Joerg Jung wrote:
> On Sat, Feb 01, 2020 at 03:29:25AM -0500, Raymond E. Pasco wrote:
> > - I used a modified distfile provided by abieber with a vendor directory,
> >   which is necessary due to the large number of go package dependencies.
> 
> IMHO, bundling things defeats the purpose of ports/package system.  What
> do you do if a dependency got a security update? Grep all distfiles if
> bundled somewhere and re-roll and depend on abieber (no offense!) to 
> handle that?
> 
> How about adding the dependencies as own ports instead? We do the same
> for python, perl, etc.  I know, this is a lot of work, may be portgen
> can be tricked into handling go first...

Python and Perl's own packaging systems are generally friendly with
standard OS packaging systems (sometimes incompatible changes happen and
we have to update a chain of ports to handle it, but these affect users
on all OS so it doesn't usually stay a big problem for too long).

go (and others like node/npm, rust/cargo, maven) standard ecosystems
work differently - actively encouraging incompatible changes by
providing the mechanism to pin to a particular version as standard -
and in most cases by statically linking so there's no conflict with
files on disk. The downside as you rightly say is that security
updates don't propagate, but that's baked into the whole ecosystem,
it's not sanely possible to change that in ports.

If we did try to then:

- we would be actively fighting build systems to do what we want.
it's already tricky enough to avoid network fetches during build (though
this does seem to be getting better), but converting these dependencies
to ports would be orders of magnitude worse

- we would likely need to have multiple incompatible versions of the
same thing to satisfy different dependencies

- with static-linked languages we would still have to chase the
dependency tree and bump revisions every time we update a "library" port
(it's not like it would even save disk space), we don't have the shared
library version mechanism, or even "load at runtime" like perl/python
to let us bypass this

It would be possible to convert to a multi-distfile port instead (like
rust/cargo ports do) but really we need better infrastructure before
that's a good idea - until that happens bundling a vendored tarball
makes it *easier* to update (as long as there's a comment in the
Makefile showing how) than making it multi-distfile.


> > - aerc can be built with notmuch support, but notmuch isn't in ports (yet?),
> >   so I didn't bother with this.
> 
> There were some submissions for notmuch in the past, but afaik never
> imported.

It isn't finished. It still has use-after-frees and some other problems
showing up in the test suite.



Re: [NEW] mail/aerc

2020-02-08 Thread Joerg Jung
On Sat, Feb 01, 2020 at 03:29:25AM -0500, Raymond E. Pasco wrote:
> - I used a modified distfile provided by abieber with a vendor directory,
>   which is necessary due to the large number of go package dependencies.

IMHO, bundling things defeats the purpose of ports/package system.  What
do you do if a dependency got a security update? Grep all distfiles if
bundled somewhere and re-roll and depend on abieber (no offense!) to 
handle that?

How about adding the dependencies as own ports instead? We do the same
for python, perl, etc.  I know, this is a lot of work, may be portgen
can be tricked into handling go first...

> - The custom version of go-libvterm used by aerc upstream includes an
>   (unmodified) bundled copy of libvterm itself, which causes issues with
>   the build. I instead link against devel/libvterm.

What issues? However, using the existing port makes sense, but why have
you still bundled it?
 
> - One filter script shipped with aerc (to display HTML email) depends on
>   socksify (provided by security/dante) and www/w3m. I did not include these
>   as RUN_DEPENDS because this is an optional script disabled by default,
>   but I'm not sure whether this approach is correct.

I suggest to add a note to package readme.

> - cgo in go 1.13 (but not go 1.14) considers ~ an invalid path character,
>   but the top-level package name here (and therefore WRKSRC) contains an ~.
>   I remedied this by moving the vendor directory contents up to the level
>   of the MODGO_WORKSPACE. This workaround shouldn't be necessary when go
>   1.14 is released.

Weird.

> - aerc can be built with notmuch support, but notmuch isn't in ports (yet?),
>   so I didn't bother with this.

There were some submissions for notmuch in the past, but afaik never
imported.


Other than that, I tested your port and it works for me. Would be nice
to have this imported.

Thanks,
Regards,
Joerg



[NEW] mail/aerc

2020-02-01 Thread Raymond E. Pasco
- I used a modified distfile provided by abieber with a vendor directory,
  which is necessary due to the large number of go package dependencies.

- The custom version of go-libvterm used by aerc upstream includes an
  (unmodified) bundled copy of libvterm itself, which causes issues with
  the build. I instead link against devel/libvterm.

- One filter script shipped with aerc (to display HTML email) depends on
  socksify (provided by security/dante) and www/w3m. I did not include these
  as RUN_DEPENDS because this is an optional script disabled by default,
  but I'm not sure whether this approach is correct.

- cgo in go 1.13 (but not go 1.14) considers ~ an invalid path character,
  but the top-level package name here (and therefore WRKSRC) contains an ~.
  I remedied this by moving the vendor directory contents up to the level
  of the MODGO_WORKSPACE. This workaround shouldn't be necessary when go
  1.14 is released.

- aerc can be built with notmuch support, but notmuch isn't in ports (yet?),
  so I didn't bother with this.


aerc.tgz
Description: GNU Zip compressed data