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 is welcome. > > Index: Makefile > =================================================================== > RCS file: /cvs/ports/security/gpgme/Makefile,v > retrieving revision 1.38 > diff -u -p -u -p -r1.38 Makefile > --- Makefile 11 May 2017 00:29:50 -0000 1.38 > +++ Makefile 1 Nov 2017 16:48:31 -0000 > @@ -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 += gpgme 20.0 # 25.0 > SHARED_LIBS += gpgme-pthread 20.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. > -BUILD_DEPENDS= gnupg->=2:security/gnupg2 > +BUILD_DEPENDS= gnupg->=2:security/gnupg2 \ > + devel/swig > + > # gnupg-* is normally the default anyway, but gnupg1 overrides PKGSPEC > # so we must be explicit here. > RUN_DEPENDS= gnupg-*:security/gnupg > @@ -35,8 +50,33 @@ LIB_DEPENDS= devel/gettext \ > > TEST_DEPENDS += security/gnupg > > +CONFIGURE_STYLE = gnu > + > # needed for the regression tests > USE_GMAKE= Yes > > +.include <bsd.port.arch.mk> > + > +.if ${BUILD_PACKAGES:M-qt} > +MODULES += x11/qt5 > +USE_QT = "qt" > +.endif > + > +.if ${BUILD_PACKAGES:M-py2} > +MODULES += lang/python > +USE_PY2 = "python2" > +.endif > + > +.if ${BUILD_PACKAGES:M-py3} > +MODULES += lang/python > +USE_PY3 = "python3" > +.endif > + > +CONFIGURE_ARGS += --enable-languages="cl cpp ${USE_QT} ${USE_PY2} > ${USE_PY3}" > + > +#post-patch: > +# find ${WRKSRC} -name Makefile.in -type f -exec \ > +# sed -i -e 's|\.\./\.\./\.\./src/libgpgme.la|-lgpgme|g' \ > +# -e 's|\.\./\.\./\.\./src/libgpgmepp.la|-lgpgmepp|g' {} + > > .include <bsd.port.mk> > Index: distinfo > =================================================================== > RCS file: /cvs/ports/security/gpgme/distinfo,v > retrieving revision 1.12 > diff -u -p -u -p -r1.12 distinfo > --- distinfo 19 Sep 2016 17:13:55 -0000 1.12 > +++ distinfo 1 Nov 2017 16:48:31 -0000 > @@ -1,2 +1,2 @@ > -SHA256 (gpgme-1.6.0.tar.bz2) = sJ3kGXrCgLECCA4J6uxiEdCB7/8ZY794Ic+PT5kWCZ0= > -SIZE (gpgme-1.6.0.tar.bz2) = 983573 > +SHA256 (gpgme-1.9.0.tar.bz2) = Gyn+24v613XnDq+sWwWQYhaDstmGnbmUVo5kAfQDTOs= > +SIZE (gpgme-1.9.0.tar.bz2) = 1344222 > >