Wednesday, November 01, 2017

security/gpgme (needs help)

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

No comments:

Post a Comment