git-annex runs git-annex-shell or git-remote-tor-annex functionality according to the name it's called by (http://source.git-annex.branchable.com/?p=source.git;a=blob;f=git-annex.hs;h=4992f4c76ef00a2c6326cedeedefbec72ef7eb5e;hb=HEAD for instance).
On current hs-git-annex installations, those commands are symlinks to a wrapper script /usr/local/bin/git-annex, not the binary itself, which is located at /usr/local/libexec/cabal/git-annex.
Running either will just result in running the non-qualified git-annex functionality. The indirection defeats the calling convention.
I believe the wrapper script approach was introduced here: https://svnweb.freebsd.org/ports?view=revision&sortby=log&sortdir=down&revision=504093.
Not sure how to keep setting the environment variables without dedicated wrappers for those commands calling links in /usr/local/libexec/cabal/ pointing to git-annex.
Presumably this issue applies to any other program that relies on this kind of calling convention.
Sigh. Problem acknowledged. I'll try to come up with a solution for this.
A commit references this bug:
Date: Wed Jul 31 18:18:34 UTC 2019
New revision: 507727
devel/hs-git-annex: Fix git-annex-shell and git-remote-tor-annex executables.
Should be fixed now. Thanks for the report.