> I guess this is fine since it is an executable and not a module.  I'm
> usure if this warrants the addition of the python module to the port.
> It should be needed (so that python is added as RDEP), but on the
> other hand this filter not enable by default.

I haven't looked in to the manpages in a while but I'm under the
impression that we cannot mix and match MODGO variables with MODPY
variables. Perhaps this isn't the case anymore? Should it ever become an
problem, one solution would be to split the port.

> > I can't recall if this was the case previously, but I would assume
> > so. After all, this is a golang port so those variables are never set. I am
> > sending this mail from aerc which has been running 0.15.2 for a week and I
> > haven't really encountered any issues.
> > 
> > 
> > Thoughts? @op is the maintainer so he will will have the final say.
>
> It's missing a bdep on converters/base64, but does it really build it
> for you?  I get an error from the 'link' go internal program about a
> wrong usage; doesn't tell me why though.  That's why after a bit I
> stopped trying.
>
> I looked again today and after a lot of headscratching, with the help
> of ktrace, I see why it fails to build.  Upstream' makefile has this
> gem:
>
> GO_LDFLAGS+=-X main.Flags=$$(echo -- $(GOFLAGS) | base64 | tr -d '\n')
>
> Base64 splits every 72 characters using \r\n, tr deletes \n and the
> shell seems to do word splitting on the carriage return.

Strange, it did build for me and I recompiled it a couple of times just to be
sure before I mailed the diff. But it complained about base64 along with the
usage of deprecated notmuch functions, but from what I remember these has been
here all along. The base64 warning is something that could be fixed but
the deprecated notmuch functions sounds like it is suited to upstream.


``
# github.com/zenhack/go.notmuch
cgo-gcc-prolog:347:11: warning: 'notmuch_database_open' is deprecated: function 
deprecated as of libnotmuch 5.4 [-Wdeprecated-declarations]
/usr/local/include/notmuch.h:334:1: note: 'notmuch_database_open' has been 
explicitly marked deprecated here
/usr/local/include/notmuch.h:69:21: note: expanded from macro 
'NOTMUCH_DEPRECATED'
git.sr.ht/~rjarry/aerc/worker/notmuch/lib
``

And here's the that base64 warning,
``
===>  Building for aerc-0.15.2
cd 
/usr/ports/pobj/aerc-0.15.2/git.sr.ht/~rjarry/[email protected]
 && /usr/bin/env -i GO386=softfloat 
GOCACHE="/usr/ports/pobj/aerc-0.15.2/go-cache" 
TMPDIR="/usr/ports/pobj/aerc-0.15.2/build-amd64" 
GOPROXY=file:///usr/ports/pobj/aerc-0.15.2/go_modules GO111MODULE=on 
GOPATH="/usr/ports/pobj/aerc-0.15.2/go:/usr/local/go-pkg" PORTSDIR="/usr/ports" 
LIBTOOL="/usr/bin/libtool"  
PATH='/usr/ports/pobj/aerc-0.15.2/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11R6/bin'
 PREFIX='/usr/local'  LOCALBASE='/usr/local' X11BASE='/usr/X11R6'  CFLAGS='-O2 
-pipe -I/usr/local/include'  TRUEPREFIX='/usr/local' DESTDIR=''  
HOME='/aerc-0.15.2_writes_to_HOME' PICFLAG="-fpic"  BINGRP=bin BINOWN=root 
BINMODE=755 NONBINMODE=644  DIRMODE=755  INSTALL_COPY=-c INSTALL_STRIP=  
MANGRP=bin MANOWN=root MANMODE=644 
BSD_INSTALL_PROGRAM="/usr/ports/pobj/aerc-0.15.2/bin/install -c  -m 755"  
BSD_INSTALL_SCRIPT="/usr/ports/pobj/aerc-0.15.2/bin/install -c -m 755"  
BSD_INSTALL_DATA="/usr/ports/pobj/aerc-0.15.2/bin/install -c -m 644"  
BSD_INSTALL_MAN="/usr/ports/pobj/aerc-0.15.2/bin/install -c -m 644"  
BSD_INSTALL_PROGRAM_DIR="/usr/ports/pobj/aerc-0.15.2/bin/install -d -m 755"  
BSD_INSTALL_SCRIPT_DIR="/usr/ports/pobj/aerc-0.15.2/bin/install -d -m 755"  
BSD_INSTALL_DATA_DIR="/usr/ports/pobj/aerc-0.15.2/bin/install -d -m 755"  
BSD_INSTALL_MAN_DIR="/usr/ports/pobj/aerc-0.15.2/bin/install -d -m 755" gmake 
CC="cc"  CGO_CFLAGS="-O2 -pipe  -I/usr/local/include "  CGO_LDFLAGS=" 
-L/usr/local/lib"  GOFLAGS="-tags=notmuch -modcacherw -trimpath -v 
-buildvcs=false -p=1"  PREFIX=/usr/local  VERSION=0.15.2 
LIBTOOL="/usr/bin/libtool"  
SHARED_LIBS_LOG=/usr/ports/pobj/aerc-0.15.2/build-amd64/shared_libs.log
go build -trimpath -tags=notmuch -modcacherw -trimpath -v -buildvcs=false -p=1 
-ldflags "-X main.Version=0.15.2 -X main.Flags=$(echo -- -tags=notmuch 
-modcacherw -trimpath -v -buildvcs=false -p=1 | base64 | tr -d '\n') -X 
git.sr.ht/~rjarry/aerc/config.shareDir=/usr/local/share/aerc -X 
git.sr.ht/~rjarry/aerc/config.libexecDir=/usr/local/libexec/aerc" -o aerc
/bin/sh: base64: not found
``

>
> Can you try with this patch instead?  I only use aerc to get an
> immediate notification when I receive an email (the window goes
> urgent) and otherwise only use mblaze, so my testing is minimal.

I see. Your patch fails at the linking stage when converts/base64 is
installed. if I pkg_delete that and remove it from the dependencies list
it compiles fine.

Otherwise I get this:

``
cgo-gcc-prolog:347:11: warning: 'notmuch_database_open' is deprecated: function 
deprecated as of libnotmuch 5.4 [-Wdeprecated-declarations]
/usr/local/include/notmuch.h:334:1: note: 'notmuch_database_open' has been 
explicitly marked deprecated here
/usr/local/include/notmuch.h:69:21: note: expanded from macro 
'NOTMUCH_DEPRECATED'
git.sr.ht/~rjarry/aerc/worker/notmuch/lib
git.sr.ht/~rjarry/aerc/worker/notmuch
git.sr.ht/~rjarry/aerc/worker
git.sr.ht/~rjarry/aerc/widgets
os/user
github.com/riywo/loginshell
github.com/emersion/go-smtp
git.sr.ht/~rjarry/aerc/lib/ipc
github.com/xo/terminfo
# git.sr.ht/~rjarry/aerc
usage: link [options] main.o
  -B note
        add an ELF NT_GNU_BUILD_ID note when using ELF
  -E entry
        set entry symbol name
  -H type
        set header type
  -I linker
        use linker as ELF dynamic linker
  -L directory
        add specified directory to library path
  -R quantum
        set address rounding quantum (default -1)
  -T address
        set text segment address (default -1)
  -V    print version and exit
  -X definition
        add string value definition of the form importpath.name=value
  -a    no-op (deprecated)
  -asan
        enable ASan interface
  -aslr
        enable ASLR for buildmode=c-shared on windows (default true)
  -benchmark string
        set to 'mem' or 'cpu' to enable phase benchmarking
  -benchmarkprofile base
        emit phase profiles to base_phase.{cpu,mem}prof
  -buildid id
        record id as Go toolchain build id
  -buildmode mode
        set build mode
  -c    dump call graph
  -capturehostobjs string
        capture host object files loaded during internal linking to specified 
dir
  -compressdwarf
        compress DWARF if possible (default true)
  -cpuprofile file
        write cpu profile to file
  -d    disable dynamic executable
  -debugnosplit
        dump nosplit call graph
  -debugtextsize int
        debug text section max size
  -debugtramp int
        debug trampolines
  -dumpdep
        dump symbol dependency graph
  -extar string
        archive program for buildmode=c-archive
  -extld linker
        use linker when linking in external mode
  -extldflags flags
        pass flags to external linker
  -f    ignore version mismatch
  -g    disable go package data checks
  -h    halt on error
  -importcfg file
        read import configuration from file
  -installsuffix suffix
        set package directory suffix
  -k symbol
        set field tracking symbol
  -libgcc string
        compiler support lib for internal linking; use "none" to disable
  -linkmode mode
        set link mode
  -linkshared
        link against installed Go shared libraries
  -memprofile file
        write memory profile to file
  -memprofilerate rate
        set runtime.MemProfileRate to rate
  -msan
        enable MSan interface
  -n    dump symbol table
  -o file
        write output to file
  -pluginpath string
        full path name for plugin
  -r path
        set the ELF dynamic linker search path to dir1:dir2:...
  -race
        enable race detector
  -s    disable symbol table
  -strictdups int
        sanity check duplicate symbol contents during object file reading 
(1=warn 2=err).
  -tmpdir directory
        use directory for temporary files
  -v    print link trace
  -w    disable DWARF generation
gmake: *** [Makefile:44: aerc] Error 1
*** Error 2 in . (Makefile:51 'do-build')
*** Error 2 in . (/usr/ports/infrastructure/mk/bsd.port.mk:2957 
'/usr/ports/pobj/aerc-0.15.2/build-amd64/.build_done': @cd /usr/ports/mystuf...)
*** Error 2 in /usr/ports/mystuff/mail/aerc 
(/usr/ports/infrastructure/mk/bsd.port.mk:2601 'all': @lock=aerc-0.15.2;  
export _LOCKS_HELD=" a...)
``

> By the way, since you seem to actively use it, would you mind to take
> maintainership?  I'll still be around for reviewing diffs and help,
> but would be better to have a maintainer that actually uses it.

Yes why not, I use aerc as my mail client so that works for me.


Best Regards,

Thim Cederlund

Reply via email to