Re: security/gpgme (needs help)

2017-11-03 Thread Jeremie Courreges-Anglas

On Fri, Nov 03 2017, Nigel Taylor  wrote:
> As you say it's not a FLAVOR what's this in the Makefile for

What I meant is that PSEUDO_FLAVORS are meant to disable subpackages,
they are not proper flavors.

> -CONFIGURE_STYLE= gnu
> +MULTI_PACKAGES = -main -qt -py2 -py3
> +PSEUDO_FLAVORS = no_qt no_py2 no_py3
> +FLAVOR ?=
>
> As subpackage is even worse so even the simplest ports using gpgme needs
> Qt5 built to build.

And I agree with you that requiring Qt5 to build gpgme in bulk builds is
not reasonable, as said in my previous mail.

Availability of a C++11 compiler, portability problems on
low-powered/"just different" architectures, build times (gpgme is on the
path of important ports).  Maybe even circular deps? (I did not check.).
All those are hard problems.

I also agree with you that forcing Qt5 on people who just need gpgme is
not good.

  FLAVOR ?= no_qt bootstrap

could be a way to avoid Qt5 except when explicitely needed.

But qt5.port.mk changes the C (and ofc C++) compiler used for the whole
build, if base doesn't provide clang; and this is not acceptable for
a PSEUDO_FLAVOR.

So we need something smarter.

Thoughts?

-- 
jca | PGP : 0x1524E7EE / 5135 92C1 AD36 5293 2BDF  DDCC 0DFA 74AE 1524 E7EE



Re: security/gpgme (needs help)

2017-11-03 Thread Nigel Taylor
As you say it's not a FLAVOR what's this in the Makefile for

-CONFIGURE_STYLE=   gnu
+MULTI_PACKAGES =   -main -qt -py2 -py3
+PSEUDO_FLAVORS =   no_qt no_py2 no_py3
+FLAVOR ?=

As subpackage is even worse so even the simplest ports using gpgme needs
Qt5 built to build.

On 11/03/17 15:39, Jeremie Courreges-Anglas wrote:
> On Thu, Nov 02 2017, Nigel Taylor  wrote:
>> Should you promote gpgme-qt to be the default flavor over others
> 
> It's a subpackage, not a flavor.
> 
>> FLAVOR ?=
>>
>> should default to no_qt no_python2 no_python3, that is the default as
>> before. Building with qt should be an extra, in fact use of this sort of
>> complex PSEUDO_FLAVOR causes problems especially with something as large
>> as qt5, which means dpb can't be used for build a subset of packages.
>>
>> I dpb tries to build security/gpgme,no_qt,no_py2,no_py3,-main as
>> effectively used by all current ports using gpgme which would have to be
>> changed in the ports tree.
>>
>> The existing dpb xxx/yyy or list that built a subset of packages, this
>> change on seeing reference to security/gpgme will build not only the
>> packages as before, but all the packages for the included modules, that
>> is python2 and sub packages, python3 and sub packages, and the whole of qt5.
>>
>> This is enforcing qt5 on those who don't want and don't need qt5.
>>
>> python2 / python3 I can live with. qt5 I can live without.
>>
>> For those wanting a small light weight system, qt5 - everywhere -
>> everything just isn't what they want.
> 
> This is not about qt5 everywhere, this about qt5 on the build machine;
> remember that the ports tree is optimized for bulk builds.
> 
> I'm *much more* concerned about introducing a hard dep on a C++11
> compiler (and Qt5?) on such an important library.
> 
>> Just why should if we want a small light weight system should we need to
>> go around adding in no_qt,no_py2,no_py3,-main to everything? Maybe here
>> also there would be less objections on my part if dpb didn't try to
>> build every possible flavor, until it does. I suggest using a separate
>> security/qt-gpgme and security/gpgme
> 
> This may be a good idea.
> 
>> also strictly python2 and python3 flavor should default to no_qt rather
>> than with qt5. The main choice for python isn't qt5 it's Tk, and a Tk
>> flavor of gpgme would tie in with the use of python2/3.
> 
> I don't understand the link between the possible -python* *subpackages*
> and qt5.  Of course those subpackages shouldn't depend on Qt.  We're
> talking about optional subpackages here, not package flavors.
> 
>> Littering qt5 around just about everything is bad as is the whole qt
>> mind set of having to put anything and everything into it's own wrappers.
>>
>> On 11/01/17 16:53, Rafael Sadowski wrote:
>>> Hi porters,
>>>
>>> I need help with the gpgme update. Special thing here, I need the Qt
>>> bindings because kde-applications/gpgmepp is dead and all dependent
>>> programs work with gpgme-qt now.
>>>
>>> But I always trap into the following link issue:
>>>
>>> libtool: link: cc -shared -fPIC -DPIC -o
>>> .libs/libgpgme.so.20.0 -I/usr/local/include -O2 -pipe -Wall -Wcast-align 
>>> -Wshadow -Wstrict-prototypes
>>> .libs/conversion.o .libs/b64dec.o .libs/get-env.o .libs/parsetlv.o
>>> .libs/mbox-util.o .libs/data.o .libs/data-fd.o .libs/data-stream.o
>>> .libs/data-mem.o .libs/data-user.o .libs/data-compat.o
>>> .libs/data-identify.o .libs/signers.o .libs/sig-notation.o
>>> .libs/wait.o .libs/wait-global.o .libs/wait-private.o
>>> .libs/wait-user.o .libs/op-support.o .libs/encrypt.o
>>> .libs/encrypt-sign.o .libs/decrypt.o .libs/decrypt-verify.o
>>> .libs/verify.o .libs/sign.o .libs/passphrase.o .libs/progress.o
>>> .libs/key.o .libs/keylist.o .libs/keysign.o .libs/trust-item.o
>>> .libs/trustlist.o .libs/tofupolicy.o .libs/import.o .libs/export.o
>>> .libs/genkey.o .libs/delete.o .libs/edit.o .libs/getauditlog.o
>>> .libs/opassuan.o .libs/passwd.o .libs/spawn.o .libs/assuan-support.o
>>> .libs/engine.o .libs/engine-gpg.o .libs/status-table.o
>>> .libs/engine-gpgsm.o .libs/engine-assuan.o .libs/engine-gpgconf.o
>>> .libs/engine-uiserver.o .libs/engine-g13.o .libs/vfs-mount.o
>>> .libs/vfs-create.o .libs/engine-spawn.o .libs/gpgconf.o
>>> .libs/queryswdb.o .libs/posix-util.o .libs/posix-io.o .libs/dirinfo.o
>>> .libs/debug.o .libs/gpgme.o .libs/version.o .libs/error.o
>>> .libs/ath.o -L.libs -lassuan -lgpg-error -lintl -liconv
>>> libtool: link: ar cru .libs/libgpgme.a conversion.o b64dec.o get-env.o
>>> parsetlv.o mbox-util.o data.o data-fd.o data-stream.o data-mem.o
>>> data-user.o data-compat.o data-identify.o signers.o sig-notation.o
>>> wait.o wait-global.o wait-private.o wait-user.o op-support.o encrypt.o
>>> encrypt-sign.o decrypt.o decrypt-verify.o verify.o sign.o passphrase.o
>>> progress.o key.o keylist.o keysign.o trust-item.o trustlist.o
>>> tofupolicy.o import.o export.o genkey.o delete.o edit.o getauditlog.o
>>> opassuan.o 

Re: security/gpgme (needs help)

2017-11-03 Thread Jeremie Courreges-Anglas
On Thu, Nov 02 2017, Nigel Taylor  wrote:
> Should you promote gpgme-qt to be the default flavor over others

It's a subpackage, not a flavor.

> FLAVOR ?=
>
> should default to no_qt no_python2 no_python3, that is the default as
> before. Building with qt should be an extra, in fact use of this sort of
> complex PSEUDO_FLAVOR causes problems especially with something as large
> as qt5, which means dpb can't be used for build a subset of packages.
>
> I dpb tries to build security/gpgme,no_qt,no_py2,no_py3,-main as
> effectively used by all current ports using gpgme which would have to be
> changed in the ports tree.
>
> The existing dpb xxx/yyy or list that built a subset of packages, this
> change on seeing reference to security/gpgme will build not only the
> packages as before, but all the packages for the included modules, that
> is python2 and sub packages, python3 and sub packages, and the whole of qt5.
>
> This is enforcing qt5 on those who don't want and don't need qt5.
>
> python2 / python3 I can live with. qt5 I can live without.
>
> For those wanting a small light weight system, qt5 - everywhere -
> everything just isn't what they want.

This is not about qt5 everywhere, this about qt5 on the build machine;
remember that the ports tree is optimized for bulk builds.

I'm *much more* concerned about introducing a hard dep on a C++11
compiler (and Qt5?) on such an important library.

> Just why should if we want a small light weight system should we need to
> go around adding in no_qt,no_py2,no_py3,-main to everything? Maybe here
> also there would be less objections on my part if dpb didn't try to
> build every possible flavor, until it does. I suggest using a separate
> security/qt-gpgme and security/gpgme

This may be a good idea.

> also strictly python2 and python3 flavor should default to no_qt rather
> than with qt5. The main choice for python isn't qt5 it's Tk, and a Tk
> flavor of gpgme would tie in with the use of python2/3.

I don't understand the link between the possible -python* *subpackages*
and qt5.  Of course those subpackages shouldn't depend on Qt.  We're
talking about optional subpackages here, not package flavors.

> Littering qt5 around just about everything is bad as is the whole qt
> mind set of having to put anything and everything into it's own wrappers.
>
> On 11/01/17 16:53, Rafael Sadowski wrote:
>> Hi porters,
>> 
>> I need help with the gpgme update. Special thing here, I need the Qt
>> bindings because kde-applications/gpgmepp is dead and all dependent
>> programs work with gpgme-qt now.
>> 
>> But I always trap into the following link issue:
>> 
>> libtool: link: cc -shared -fPIC -DPIC -o
>> .libs/libgpgme.so.20.0 -I/usr/local/include -O2 -pipe -Wall -Wcast-align 
>> -Wshadow -Wstrict-prototypes
>> .libs/conversion.o .libs/b64dec.o .libs/get-env.o .libs/parsetlv.o
>> .libs/mbox-util.o .libs/data.o .libs/data-fd.o .libs/data-stream.o
>> .libs/data-mem.o .libs/data-user.o .libs/data-compat.o
>> .libs/data-identify.o .libs/signers.o .libs/sig-notation.o
>> .libs/wait.o .libs/wait-global.o .libs/wait-private.o
>> .libs/wait-user.o .libs/op-support.o .libs/encrypt.o
>> .libs/encrypt-sign.o .libs/decrypt.o .libs/decrypt-verify.o
>> .libs/verify.o .libs/sign.o .libs/passphrase.o .libs/progress.o
>> .libs/key.o .libs/keylist.o .libs/keysign.o .libs/trust-item.o
>> .libs/trustlist.o .libs/tofupolicy.o .libs/import.o .libs/export.o
>> .libs/genkey.o .libs/delete.o .libs/edit.o .libs/getauditlog.o
>> .libs/opassuan.o .libs/passwd.o .libs/spawn.o .libs/assuan-support.o
>> .libs/engine.o .libs/engine-gpg.o .libs/status-table.o
>> .libs/engine-gpgsm.o .libs/engine-assuan.o .libs/engine-gpgconf.o
>> .libs/engine-uiserver.o .libs/engine-g13.o .libs/vfs-mount.o
>> .libs/vfs-create.o .libs/engine-spawn.o .libs/gpgconf.o
>> .libs/queryswdb.o .libs/posix-util.o .libs/posix-io.o .libs/dirinfo.o
>> .libs/debug.o .libs/gpgme.o .libs/version.o .libs/error.o
>> .libs/ath.o -L.libs -lassuan -lgpg-error -lintl -liconv
>> libtool: link: ar cru .libs/libgpgme.a conversion.o b64dec.o get-env.o
>> parsetlv.o mbox-util.o data.o data-fd.o data-stream.o data-mem.o
>> data-user.o data-compat.o data-identify.o signers.o sig-notation.o
>> wait.o wait-global.o wait-private.o wait-user.o op-support.o encrypt.o
>> encrypt-sign.o decrypt.o decrypt-verify.o verify.o sign.o passphrase.o
>> progress.o key.o keylist.o keysign.o trust-item.o trustlist.o
>> tofupolicy.o import.o export.o genkey.o delete.o edit.o getauditlog.o
>> opassuan.o passwd.o spawn.o assuan-support.o engine.o engine-gpg.o
>> status-table.o engine-gpgsm.o engine-assuan.o engine-gpgconf.o
>> engine-uiserver.o engine-g13.o vfs-mount.o vfs-create.o engine-spawn.o
>> gpgconf.o queryswdb.o posix-util.o posix-io.o dirinfo.o debug.o
>> gpgme.o version.o error.o ath.o
>> libtool: link: ranlib .libs/libgpgme.a
>> cc -DHAVE_CONFIG_H -I. -I.. -I/usr/local/include -I/usr/local/include -O2 
>> -pipe -Wall -Wcast-align 

Re: security/gpgme (needs help)

2017-11-02 Thread Nigel Taylor
Should you promote gpgme-qt to be the default flavor over others

FLAVOR ?=

should default to no_qt no_python2 no_python3, that is the default as
before. Building with qt should be an extra, in fact use of this sort of
complex PSEUDO_FLAVOR causes problems especially with something as large
as qt5, which means dpb can't be used for build a subset of packages.

I dpb tries to build security/gpgme,no_qt,no_py2,no_py3,-main as
effectively used by all current ports using gpgme which would have to be
changed in the ports tree.

The existing dpb xxx/yyy or list that built a subset of packages, this
change on seeing reference to security/gpgme will build not only the
packages as before, but all the packages for the included modules, that
is python2 and sub packages, python3 and sub packages, and the whole of qt5.

This is enforcing qt5 on those who don't want and don't need qt5.

python2 / python3 I can live with. qt5 I can live without.

For those wanting a small light weight system, qt5 - everywhere -
everything just isn't what they want.

Just why should if we want a small light weight system should we need to
go around adding in no_qt,no_py2,no_py3,-main to everything? Maybe here
also there would be less objections on my part if dpb didn't try to
build every possible flavor, until it does. I suggest using a separate
security/qt-gpgme and security/gpgme

also strictly python2 and python3 flavor should default to no_qt rather
than with qt5. The main choice for python isn't qt5 it's Tk, and a Tk
flavor of gpgme would tie in with the use of python2/3.

Littering qt5 around just about everything is bad as is the whole qt
mind set of having to put anything and everything into it's own wrappers.



On 11/01/17 16:53, Rafael Sadowski wrote:
> Hi porters,
> 
> I need help with the gpgme update. Special thing here, I need the Qt
> bindings because kde-applications/gpgmepp is dead and all dependent
> programs work with gpgme-qt now.
> 
> But I always trap into the following link issue:
> 
> libtool: link: cc -shared -fPIC -DPIC -o .libs/libgpgme.so.20.0 
> -I/usr/local/include -O2 -pipe -Wall -Wcast-align -Wshadow 
> -Wstrict-prototypes .libs/conversion.o .libs/b64dec.o .libs/get-env.o 
> .libs/parsetlv.o .libs/mbox-util.o .libs/data.o .libs/data-fd.o 
> .libs/data-stream.o .libs/data-mem.o .libs/data-user.o .libs/data-compat.o 
> .libs/data-identify.o .libs/signers.o .libs/sig-notation.o .libs/wait.o 
> .libs/wait-global.o .libs/wait-private.o .libs/wait-user.o .libs/op-support.o 
> .libs/encrypt.o .libs/encrypt-sign.o .libs/decrypt.o .libs/decrypt-verify.o 
> .libs/verify.o .libs/sign.o .libs/passphrase.o .libs/progress.o .libs/key.o 
> .libs/keylist.o .libs/keysign.o .libs/trust-item.o .libs/trustlist.o 
> .libs/tofupolicy.o .libs/import.o .libs/export.o .libs/genkey.o 
> .libs/delete.o .libs/edit.o .libs/getauditlog.o .libs/opassuan.o 
> .libs/passwd.o .libs/spawn.o .libs/assuan-support.o .libs/engine.o 
> .libs/engine-gpg.o .libs/status-table.o .libs/engine-gpgsm.o 
> .libs/engine-assuan.o .libs/engine-gpgconf.o .libs/engine-uiserver.o 
> .libs/engine-g13.o .libs/vfs-mount.o .libs/vfs-create.o .libs/engine-spawn.o 
> .libs/gpgconf.o .libs/queryswdb.o .libs/posix-util.o .libs/posix-io.o 
> .libs/dirinfo.o .libs/debug.o .libs/gpgme.o .libs/version.o .libs/error.o 
> .libs/ath.o -L.libs -lassuan -lgpg-error -lintl -liconv
> libtool: link: ar cru .libs/libgpgme.a conversion.o b64dec.o get-env.o 
> parsetlv.o mbox-util.o data.o data-fd.o data-stream.o data-mem.o data-user.o 
> data-compat.o data-identify.o signers.o sig-notation.o wait.o wait-global.o 
> wait-private.o wait-user.o op-support.o encrypt.o encrypt-sign.o decrypt.o 
> decrypt-verify.o verify.o sign.o passphrase.o progress.o key.o keylist.o 
> keysign.o trust-item.o trustlist.o tofupolicy.o import.o export.o genkey.o 
> delete.o edit.o getauditlog.o opassuan.o passwd.o spawn.o assuan-support.o 
> engine.o engine-gpg.o status-table.o engine-gpgsm.o engine-assuan.o 
> engine-gpgconf.o engine-uiserver.o engine-g13.o vfs-mount.o vfs-create.o 
> engine-spawn.o gpgconf.o queryswdb.o posix-util.o posix-io.o dirinfo.o 
> debug.o gpgme.o version.o error.o ath.o
> libtool: link: ranlib .libs/libgpgme.a
> cc -DHAVE_CONFIG_H -I. -I..   -I/usr/local/include -I/usr/local/include  -O2 
> -pipe -Wall -Wcast-align -Wshadow -Wstrict-prototypes -MT gpgme-tool.o -MD 
> -MP -MF .deps/gpgme-tool.Tpo -c -o gpgme-tool.o gpgme-tool.c
> mv -f .deps/gpgme-tool.Tpo .deps/gpgme-tool.Po
> cc -DHAVE_CONFIG_H -I. -I..   -I/usr/local/include -I/usr/local/include  -O2 
> -pipe -Wall -Wcast-align -Wshadow -Wstrict-prototypes -MT argparse.o -MD -MP 
> -MF .deps/argparse.Tpo -c -o argparse.o argparse.c   
> mv -f .deps/argparse.Tpo .deps/argparse.Po
> c++ gpgme-tool.o argparse.o libgpgme.la -lassuan -L/usr/local/lib -lgpg-error
> libgpgme.la: file not recognized: File format not recognized
> c++: error: linker command failed with exit code 1 (use -v to see invocation)
> 
> Help, Feedback 

Re: security/gpgme (needs help)

2017-11-02 Thread Landry Breuil
On Wed, Nov 01, 2017 at 05:53:43PM +0100, Rafael Sadowski wrote:
> Hi porters,
> 
> I need help with the gpgme update. Special thing here, I need the Qt
> bindings because kde-applications/gpgmepp is dead and all dependent
> programs work with gpgme-qt now.

Not really going to help you on the actual issue, but for consistency:
>  
> -COMMENT= GnuPG Made Easy
> +COMMENT-main=GnuPG Made Easy
> +COMMENT-qt=  Qt bindings for GPGme
> +COMMENT-py2= Python 2 bindings for GPGme
> +COMMENT-py3= Python 3 bindings for GPGme

Use -python and -python3 ?
> +
> +V =  1.9.0
> +DISTNAME=gpgme-$V
> +
> +PKGNAME-main =   ${PKGNAME}
> +PKGNAME-qt=  gpgme-qt-$V
> +PKGNAME-py2= gpgme-py2-$V
> +PKGNAME-py3= gpgme-py3-$V

That should be py-gpgme and py3-gpgme.



Re: security/gpgme (needs help)

2017-11-01 Thread Steven Mestdagh
Rafael Sadowski [2017-11-01, 17:53:43]:
> Hi porters,
> 
> I need help with the gpgme update. Special thing here, I need the Qt
> bindings because kde-applications/gpgmepp is dead and all dependent
> programs work with gpgme-qt now.
> 
> But I always trap into the following link issue:
> 
> libtool: link: cc -shared -fPIC -DPIC -o .libs/libgpgme.so.20.0 
> -I/usr/local/include -O2 -pipe -Wall -Wcast-align -Wshadow 
> -Wstrict-prototypes .libs/conversion.o .libs/b64dec.o .libs/get-env.o 
> .libs/parsetlv.o .libs/mbox-util.o .libs/data.o .libs/data-fd.o 
> .libs/data-stream.o .libs/data-mem.o .libs/data-user.o .libs/data-compat.o 
> .libs/data-identify.o .libs/signers.o .libs/sig-notation.o .libs/wait.o 
> .libs/wait-global.o .libs/wait-private.o .libs/wait-user.o .libs/op-support.o 
> .libs/encrypt.o .libs/encrypt-sign.o .libs/decrypt.o .libs/decrypt-verify.o 
> .libs/verify.o .libs/sign.o .libs/passphrase.o .libs/progress.o .libs/key.o 
> .libs/keylist.o .libs/keysign.o .libs/trust-item.o .libs/trustlist.o 
> .libs/tofupolicy.o .libs/import.o .libs/export.o .libs/genkey.o 
> .libs/delete.o .libs/edit.o .libs/getauditlog.o .libs/opassuan.o 
> .libs/passwd.o .libs/spawn.o .libs/assuan-support.o .libs/engine.o 
> .libs/engine-gpg.o .libs/status-table.o .libs/engine-gpgsm.o 
> .libs/engine-assuan.o .libs/engine-gpgconf.o .libs/engine-uiserver.o 
> .libs/engine-g13.o .libs/vfs-mount.o .libs/vfs-create.o .libs/engine-spawn.o 
> .libs/gpgconf.o .libs/queryswdb.o .libs/posix-util.o .libs/posix-io.o 
> .libs/dirinfo.o .libs/debug.o .libs/gpgme.o .libs/version.o .libs/error.o 
> .libs/ath.o -L.libs -lassuan -lgpg-error -lintl -liconv
> libtool: link: ar cru .libs/libgpgme.a conversion.o b64dec.o get-env.o 
> parsetlv.o mbox-util.o data.o data-fd.o data-stream.o data-mem.o data-user.o 
> data-compat.o data-identify.o signers.o sig-notation.o wait.o wait-global.o 
> wait-private.o wait-user.o op-support.o encrypt.o encrypt-sign.o decrypt.o 
> decrypt-verify.o verify.o sign.o passphrase.o progress.o key.o keylist.o 
> keysign.o trust-item.o trustlist.o tofupolicy.o import.o export.o genkey.o 
> delete.o edit.o getauditlog.o opassuan.o passwd.o spawn.o assuan-support.o 
> engine.o engine-gpg.o status-table.o engine-gpgsm.o engine-assuan.o 
> engine-gpgconf.o engine-uiserver.o engine-g13.o vfs-mount.o vfs-create.o 
> engine-spawn.o gpgconf.o queryswdb.o posix-util.o posix-io.o dirinfo.o 
> debug.o gpgme.o version.o error.o ath.o
> libtool: link: ranlib .libs/libgpgme.a
> cc -DHAVE_CONFIG_H -I. -I..   -I/usr/local/include -I/usr/local/include  -O2 
> -pipe -Wall -Wcast-align -Wshadow -Wstrict-prototypes -MT gpgme-tool.o -MD 
> -MP -MF .deps/gpgme-tool.Tpo -c -o gpgme-tool.o gpgme-tool.c
> mv -f .deps/gpgme-tool.Tpo .deps/gpgme-tool.Po
> cc -DHAVE_CONFIG_H -I. -I..   -I/usr/local/include -I/usr/local/include  -O2 
> -pipe -Wall -Wcast-align -Wshadow -Wstrict-prototypes -MT argparse.o -MD -MP 
> -MF .deps/argparse.Tpo -c -o argparse.o argparse.c   
> mv -f .deps/argparse.Tpo .deps/argparse.Po
> c++ gpgme-tool.o argparse.o libgpgme.la -lassuan -L/usr/local/lib -lgpg-error
> libgpgme.la: file not recognized: File format not recognized
> c++: error: linker command failed with exit code 1 (use -v to see invocation)

libgpgme.la is a libtool library file, which indeed isn't recognized by 
the linker.

maybe it is an error caused by our libtool.
can you try building this with USE_LIBTOOL=gnu ?



security/gpgme (needs help)

2017-11-01 Thread Rafael Sadowski
Hi porters,

I need help with the gpgme update. Special thing here, I need the Qt
bindings because kde-applications/gpgmepp is dead and all dependent
programs work with gpgme-qt now.

But I always trap into the following link issue:

libtool: link: cc -shared -fPIC -DPIC -o .libs/libgpgme.so.20.0 
-I/usr/local/include -O2 -pipe -Wall -Wcast-align -Wshadow -Wstrict-prototypes 
.libs/conversion.o .libs/b64dec.o .libs/get-env.o .libs/parsetlv.o 
.libs/mbox-util.o .libs/data.o .libs/data-fd.o .libs/data-stream.o 
.libs/data-mem.o .libs/data-user.o .libs/data-compat.o .libs/data-identify.o 
.libs/signers.o .libs/sig-notation.o .libs/wait.o .libs/wait-global.o 
.libs/wait-private.o .libs/wait-user.o .libs/op-support.o .libs/encrypt.o 
.libs/encrypt-sign.o .libs/decrypt.o .libs/decrypt-verify.o .libs/verify.o 
.libs/sign.o .libs/passphrase.o .libs/progress.o .libs/key.o .libs/keylist.o 
.libs/keysign.o .libs/trust-item.o .libs/trustlist.o .libs/tofupolicy.o 
.libs/import.o .libs/export.o .libs/genkey.o .libs/delete.o .libs/edit.o 
.libs/getauditlog.o .libs/opassuan.o .libs/passwd.o .libs/spawn.o 
.libs/assuan-support.o .libs/engine.o .libs/engine-gpg.o .libs/status-table.o 
.libs/engine-gpgsm.o .libs/engine-assuan.o .libs/engine-gpgconf.o 
.libs/engine-uiserver.o .libs/engine-g13.o .libs/vfs-mount.o .libs/vfs-create.o 
.libs/engine-spawn.o .libs/gpgconf.o .libs/queryswdb.o .libs/posix-util.o 
.libs/posix-io.o .libs/dirinfo.o .libs/debug.o .libs/gpgme.o .libs/version.o 
.libs/error.o .libs/ath.o -L.libs -lassuan -lgpg-error -lintl -liconv
libtool: link: ar cru .libs/libgpgme.a conversion.o b64dec.o get-env.o 
parsetlv.o mbox-util.o data.o data-fd.o data-stream.o data-mem.o data-user.o 
data-compat.o data-identify.o signers.o sig-notation.o wait.o wait-global.o 
wait-private.o wait-user.o op-support.o encrypt.o encrypt-sign.o decrypt.o 
decrypt-verify.o verify.o sign.o passphrase.o progress.o key.o keylist.o 
keysign.o trust-item.o trustlist.o tofupolicy.o import.o export.o genkey.o 
delete.o edit.o getauditlog.o opassuan.o passwd.o spawn.o assuan-support.o 
engine.o engine-gpg.o status-table.o engine-gpgsm.o engine-assuan.o 
engine-gpgconf.o engine-uiserver.o engine-g13.o vfs-mount.o vfs-create.o 
engine-spawn.o gpgconf.o queryswdb.o posix-util.o posix-io.o dirinfo.o debug.o 
gpgme.o version.o error.o ath.o
libtool: link: ranlib .libs/libgpgme.a
cc -DHAVE_CONFIG_H -I. -I..   -I/usr/local/include -I/usr/local/include  -O2 
-pipe -Wall -Wcast-align -Wshadow -Wstrict-prototypes -MT gpgme-tool.o -MD -MP 
-MF .deps/gpgme-tool.Tpo -c -o gpgme-tool.o gpgme-tool.c
mv -f .deps/gpgme-tool.Tpo .deps/gpgme-tool.Po
cc -DHAVE_CONFIG_H -I. -I..   -I/usr/local/include -I/usr/local/include  -O2 
-pipe -Wall -Wcast-align -Wshadow -Wstrict-prototypes -MT argparse.o -MD -MP 
-MF .deps/argparse.Tpo -c -o argparse.o argparse.c   
mv -f .deps/argparse.Tpo .deps/argparse.Po
c++ gpgme-tool.o argparse.o libgpgme.la -lassuan -L/usr/local/lib -lgpg-error
libgpgme.la: file not recognized: File format not recognized
c++: error: linker command failed with exit code 1 (use -v to see invocation)

Help, Feedback is welcome.

Index: Makefile
===
RCS file: /cvs/ports/security/gpgme/Makefile,v
retrieving revision 1.38
diff -u -p -u -p -r1.38 Makefile
--- Makefile11 May 2017 00:29:50 -  1.38
+++ Makefile1 Nov 2017 16:48:31 -
@@ -1,31 +1,46 @@
 # $OpenBSD: Makefile,v 1.38 2017/05/11 00:29:50 espie Exp $
 
-COMMENT=   GnuPG Made Easy
+COMMENT-main=  GnuPG Made Easy
+COMMENT-qt=Qt bindings for GPGme
+COMMENT-py2=   Python 2 bindings for GPGme
+COMMENT-py3=   Python 3 bindings for GPGme
+
+V =1.9.0
+DISTNAME=  gpgme-$V
+
+PKGNAME-main = ${PKGNAME}
+PKGNAME-qt=gpgme-qt-$V
+PKGNAME-py2=   gpgme-py2-$V
+PKGNAME-py3=   gpgme-py3-$V
 
-DISTNAME=  gpgme-1.6.0
-REVISION=  0
 CATEGORIES=security devel
 
 SHARED_LIBS +=  gpgme20.0 # 25.0
 SHARED_LIBS +=  gpgme-pthread20.0 # 25.0
 
-HOMEPAGE=  http://www.gnupg.org/gpgme.html
+HOMEPAGE=  https://www.gnupg.org/related_software/gpgme/
 
 # GPLv2 - LGPLv2.1
 PERMIT_PACKAGE_CDROM=  Yes
 
-WANTLIB += assuan c gpg-error iconv intl pthread
+WANTLIB-main += ${COMPILER_LIBCXX} assuan c gpg-error iconv intl m
 
 MASTER_SITES=  ${MASTER_SITE_GNUPG:=gpgme/}
 EXTRACT_SUFX=  .tar.bz2
 
-CONFIGURE_STYLE=   gnu
+MULTI_PACKAGES =   -main -qt -py2 -py3
+PSEUDO_FLAVORS =   no_qt no_py2 no_py3
+FLAVOR ?=
 
 # not without -pthread
-CONFIGURE_ENV +=   gpgme_cv_tls_works=no
+CONFIGURE_ENV +=   gpgme_cv_tls_works=no
+CONFIGURE_ENV +=   CPPFLAGS="-I${LOCALBASE}/include" \
+   LDFLAGS="-L${LOCALBASE}/lib"
 
 # Requires gpgsm (gnupg 2.x) during build, but can run with any gnupg.