Re: UPDATE: gpgme-1.9.0

2017-11-17 Thread Edd Barrett
On Fri, Nov 17, 2017 at 12:23:59PM +, Edd Barrett wrote:
> Below is a revised diff which updates gpgme and fixes the WANTLIBs
> on the above ports

Here's another which forces the test suite to run under gpg2. This means
we exercise the gpg-agent tests and avoid a failing test (I think due to
a missing feature test for a crypto engine missing in gpg1).

https://dev.gnupg.org/T3512


Index: audio/rhythmbox/Makefile
===
RCS file: /home/edd/source/OpenBSD-CVS//ports/audio/rhythmbox/Makefile,v
retrieving revision 1.164
diff -u -p -r1.164 Makefile
--- audio/rhythmbox/Makefile15 Nov 2017 16:48:41 -  1.164
+++ audio/rhythmbox/Makefile17 Nov 2017 14:52:07 -
@@ -4,7 +4,7 @@ COMMENT=integrated music management ap
 
 GNOME_PROJECT= rhythmbox
 GNOME_VERSION= 3.4.2
-REVISION=  3
+REVISION=  4
 
 SHARED_LIBS +=  rhythmbox-core   0.0  # 7.0
 
@@ -21,7 +21,7 @@ WANTLIB += Xrandr Xrender Xtst archive a
 WANTLIB += atspi bz2 c cairo cairo-gobject crypto dbus-1 epoxy
 WANTLIB += expat ffi fontconfig freetype gdk-3 gdk_pixbuf-2.0
 WANTLIB += gio-2.0 girepository-1.0 glib-2.0 gmime-3.0 gmodule-2.0
-WANTLIB += gobject-2.0 gpg-error gpgme-pthread gpod graphite2
+WANTLIB += gobject-2.0 gpg-error gpgme gpod graphite2
 WANTLIB += grilo-0.3 gstaudio-1.0 gstbase-1.0 gstcontroller-1.0
 WANTLIB += gstpbutils-1.0 gstreamer-1.0 gsttag-1.0 gstvideo-1.0
 WANTLIB += gthread-2.0 gtk-3 harfbuzz iconv idn intl json-glib-1.0
Index: mail/gmime/Makefile
===
RCS file: /home/edd/source/OpenBSD-CVS//ports/mail/gmime/Makefile,v
retrieving revision 1.57
diff -u -p -r1.57 Makefile
--- mail/gmime/Makefile 25 Apr 2017 09:00:26 -  1.57
+++ mail/gmime/Makefile 17 Nov 2017 14:52:07 -
@@ -6,7 +6,7 @@ COMMENT=MIME messages creation and par
 
 GNOME_PROJECT= gmime
 GNOME_VERSION= 2.6.23
-REVISION=  0
+REVISION=  1
 
 SHARED_LIBS +=  gmime-2.60.2  # 623.0
 
@@ -20,7 +20,7 @@ MAINTAINER=   Antoine Jacoutot http://www.djcbsoftware.nl/code/mu/
@@ -24,7 +24,7 @@ LIB_DEPENDS=  databases/xapian-core \
security/gpgme
 
 WANTLIB += assuan c ffi gio-2.0 glib-2.0 gmime-2.6 gmodule-2.0
-WANTLIB += gobject-2.0 gpg-error gpgme-pthread gthread-2.0 iconv
+WANTLIB += gobject-2.0 gpg-error gpgme gthread-2.0 iconv
 WANTLIB += intl m pcre pthread ${COMPILER_LIBCXX} uuid xapian z
 
 AUTOCONF_VERSION=  2.69
Index: mail/trojita/Makefile
===
RCS file: /home/edd/source/OpenBSD-CVS//ports/mail/trojita/Makefile,v
retrieving revision 1.24
diff -u -p -r1.24 Makefile
--- mail/trojita/Makefile   30 Jul 2017 15:00:39 -  1.24
+++ mail/trojita/Makefile   17 Nov 2017 14:52:07 -
@@ -3,7 +3,7 @@
 COMMENT =  fast Qt IMAP e-mail client
 
 DISTNAME = trojita-0.7
-REVISION = 3
+REVISION = 4
 
 SHARED_LIBS =  trojita_plugins 2.0 # 2.0
 
@@ -20,7 +20,7 @@ PERMIT_PACKAGE_CDROM =Yes
 WANTLIB += c m pthread z KF5Gpgmepp-pthread KF5QGpgme
 WANTLIB += Qt5Core Qt5DBus Qt5Gui Qt5Network Qt5Sql Qt5WebKit
 WANTLIB += Qt5WebKitWidgets Qt5Widgets qt5keychain gpg-error
-WANTLIB += gpgme-pthread mimetic assuan
+WANTLIB += gpgme mimetic assuan
 WANTLIB += ${COMPILER_LIBCXX}
 
 MODULES =  devel/cmake x11/qt5
Index: net/pidgin-sipe/Makefile
===
RCS file: /home/edd/source/OpenBSD-CVS//ports/net/pidgin-sipe/Makefile,v
retrieving revision 1.28
diff -u -p -r1.28 Makefile
--- net/pidgin-sipe/Makefile9 Nov 2017 19:44:12 -   1.28
+++ net/pidgin-sipe/Makefile17 Nov 2017 14:52:07 -
@@ -5,7 +5,7 @@ BROKEN-hppa =   -Werror + sip-csta.c:707: 
 COMMENT =  SIPE plugin for Pidgin
 
 DISTNAME = pidgin-sipe-1.20.0
-REVISION = 3
+REVISION = 4
 
 CATEGORIES =   net
 
@@ -19,7 +19,7 @@ PERMIT_PACKAGE_CDROM =Yes
 WANTLIB += crypto dbus-1 dbus-glib-1 ffi gadu gio-2.0 glib-2.0 gmime-2.6
 WANTLIB += gmodule-2.0 gobject-2.0 gthread-2.0 idn lzma m nspr4 
 WANTLIB += nss3 nssutil3 pcre plc4 plds4 pthread purple smime3 
-WANTLIB += sqlite3 ssl3 xml2 z assuan gpg-error gpgme-pthread
+WANTLIB += ssl3 xml2 z assuan gpg-error gpgme
 
 MASTER_SITES = ${MASTER_SITE_SOURCEFORGE:=sipe/}
 
Index: productivity/kmymoney/Makefile
===
RCS file: /home/edd/source/OpenBSD-CVS//ports/productivity/kmymoney/Makefile,v
retrieving revision 1.14
diff -u -p -r1.14 Makefile
--- productivity/kmymoney/Makefile  8 Nov 2017 05:36:11 -   1.14
+++ productivity/kmymoney/Makefile  17 Nov 2017 14:52:07 -

Re: UPDATE: gpgme-1.9.0

2017-11-17 Thread Edd Barrett
On Tue, Nov 07, 2017 at 01:47:38PM +0100, Jeremie Courreges-Anglas wrote:
> So the ports below still package?
> 
> $ sqlite3 /usr/local/share/sqlports "select * from wantlib where value = 
> 'gpgme-pthread';"
> audio/rhythmbox|gpgme-pthread|
> mail/gmime|gpgme-pthread|
> mail/gmime30|gpgme-pthread|
> mail/mu|gpgme-pthread|
> mail/trojita|gpgme-pthread|
> net/pidgin-sipe|gpgme-pthread|
> productivity/kmymoney|gpgme-pthread|
> x11/gnome/grilo|gpgme-pthread|
> x11/gnome/grilo-plugins|gpgme-pthread|
> x11/gnome/totem|gpgme-pthread|
> x11/gnome/tracker|gpgme-pthread|
> x11/kde-applications/gpgmepp|gpgme-pthread|
> x11/kde4/pimlibs|gpgme-pthread|
> x11/kde4/runtime,-main|gpgme-pthread|
> x11/kde4/pim|gpgme-pthread|
> x11/kde4/kget|gpgme-pthread|
> x11/pinot|gpgme-pthread|

Below is a revised diff which not updates gpgme and fixes the WANTLIBs
on the above ports (apart from totem, which doesn't seem to WANTLIB
gpgme any more). I did this by manually running 'make
port-lib-depends-check' in each, verifying the build crashes, then
fixing.

Some of the ports had other small WANTLIB niggles that I fixed along the
way.

x11/gnome/grilo-plugins and x11/gnome/tracker-miners have weird WANTLIB
entries that cause WANTLIB wanrings that I don't understand. I've left
those be, as they don't break packaging, and they look like special
cases to me.

---8<---
WANTLIB += lib/tracker-${TRACKER_API}/tracker-common
WANTLIB += lib/tracker-${TRACKER_API}/tracker-data

grilo-plugins-0.3.5p3(x11/gnome/grilo-plugins):
Bogus WANTLIB: tracker-common.4 (/usr/local/lib/grilo-0.3/libgrltracker.so) 
(NOT REACHABLE)
Bogus WANTLIB: tracker-data.4 (/usr/local/lib/grilo-0.3/libgrltracker.so) (NOT 
REACHABLE)
--->8---

Please check carefully that I've not done anything stupid, or missed
anything. These diffs that span across the tree always make me nervous
:)

I've also not runtime tested anything yet.


Index: audio/rhythmbox/Makefile
===
RCS file: /home/edd/source/OpenBSD-CVS//ports/audio/rhythmbox/Makefile,v
retrieving revision 1.164
diff -u -p -r1.164 Makefile
--- audio/rhythmbox/Makefile15 Nov 2017 16:48:41 -  1.164
+++ audio/rhythmbox/Makefile17 Nov 2017 10:37:34 -
@@ -4,7 +4,7 @@ COMMENT=integrated music management ap
 
 GNOME_PROJECT= rhythmbox
 GNOME_VERSION= 3.4.2
-REVISION=  3
+REVISION=  4
 
 SHARED_LIBS +=  rhythmbox-core   0.0  # 7.0
 
@@ -21,7 +21,7 @@ WANTLIB += Xrandr Xrender Xtst archive a
 WANTLIB += atspi bz2 c cairo cairo-gobject crypto dbus-1 epoxy
 WANTLIB += expat ffi fontconfig freetype gdk-3 gdk_pixbuf-2.0
 WANTLIB += gio-2.0 girepository-1.0 glib-2.0 gmime-3.0 gmodule-2.0
-WANTLIB += gobject-2.0 gpg-error gpgme-pthread gpod graphite2
+WANTLIB += gobject-2.0 gpg-error gpgme gpod graphite2
 WANTLIB += grilo-0.3 gstaudio-1.0 gstbase-1.0 gstcontroller-1.0
 WANTLIB += gstpbutils-1.0 gstreamer-1.0 gsttag-1.0 gstvideo-1.0
 WANTLIB += gthread-2.0 gtk-3 harfbuzz iconv idn intl json-glib-1.0
Index: mail/gmime/Makefile
===
RCS file: /home/edd/source/OpenBSD-CVS//ports/mail/gmime/Makefile,v
retrieving revision 1.57
diff -u -p -r1.57 Makefile
--- mail/gmime/Makefile 25 Apr 2017 09:00:26 -  1.57
+++ mail/gmime/Makefile 17 Nov 2017 10:37:34 -
@@ -6,7 +6,7 @@ COMMENT=MIME messages creation and par
 
 GNOME_PROJECT= gmime
 GNOME_VERSION= 2.6.23
-REVISION=  0
+REVISION=  1
 
 SHARED_LIBS +=  gmime-2.60.2  # 623.0
 
@@ -20,7 +20,7 @@ MAINTAINER=   Antoine Jacoutot http://www.djcbsoftware.nl/code/mu/
@@ -24,7 +24,7 @@ LIB_DEPENDS=  databases/xapian-core \
security/gpgme
 
 WANTLIB += assuan c ffi gio-2.0 glib-2.0 gmime-2.6 gmodule-2.0
-WANTLIB += gobject-2.0 gpg-error gpgme-pthread gthread-2.0 iconv
+WANTLIB += gobject-2.0 gpg-error gpgme gthread-2.0 iconv
 WANTLIB += intl m pcre pthread ${COMPILER_LIBCXX} uuid xapian z
 
 AUTOCONF_VERSION=  2.69
Index: mail/trojita/Makefile
===
RCS file: /home/edd/source/OpenBSD-CVS//ports/mail/trojita/Makefile,v
retrieving revision 1.24
diff -u -p -r1.24 Makefile
--- mail/trojita/Makefile   30 Jul 2017 15:00:39 -  1.24
+++ mail/trojita/Makefile   17 Nov 2017 10:37:34 -
@@ -3,7 +3,7 @@
 COMMENT =  fast Qt IMAP e-mail client
 
 DISTNAME = trojita-0.7
-REVISION = 3
+REVISION = 4
 
 SHARED_LIBS =  trojita_plugins 2.0 # 2.0
 
@@ -20,7 +20,7 @@ PERMIT_PACKAGE_CDROM =Yes
 WANTLIB += c m pthread z KF5Gpgmepp-pthread KF5QGpgme
 WANTLIB += Qt5Core Qt5DBus Qt5Gui Qt5Network Qt5Sql Qt5WebKit
 WANTLIB += Qt5WebKitWidgets Qt5Widgets qt5keychain gpg-error
-WANTLIB += gpgme-pthread mimetic assuan
+WANTLIB +=   

Re: UPDATE: gpgme-1.9.0

2017-11-07 Thread Edd Barrett
On Tue, Nov 07, 2017 at 09:24:15PM +, Edd Barrett wrote:
> So is it correct that we didn't link pthread despite the use of
> __thread?

FWIW, I can build a simple C program that uses __thread and which does
not link libpthread, so I think it should be fine, but I'd like a second
opinion.

Thanks

-- 
Best Regards
Edd Barrett

http://www.theunixzoo.co.uk



Re: UPDATE: gpgme-1.9.0

2017-11-07 Thread Edd Barrett
On Tue, Nov 07, 2017 at 01:50:47PM +, Edd Barrett wrote:
> Ah, I have the same. It's just a matter of killing that entry.
> 
> > > -# not without -pthread
> > > -CONFIGURE_ENV += gpgme_cv_tls_works=no
> > 
> > So now TLS is detected/works properly because gpgme links against
> > libpthread?

I've just realised that TLS here is nothing to do with SSL. It's Thread
Local Storage.

The check looks like this:

---8<---
# Only used for debugging, so no serious test needed (for actual
# functionality you have to test libc as well, this only tests the
# compiler).
AC_CACHE_CHECK([for __thread],[gpgme_cv_tls_works],
   AC_COMPILE_IFELSE([AC_LANG_PROGRAM([__thread int foo;])],
 gpgme_cv_tls_works=yes,gpgme_cv_tls_works=no))
if test "$gpgme_cv_tls_works" = yes; then
  AC_DEFINE(HAVE_TLS, [1], [Define if __thread is supported])
fi
--->8---

And the result is:

---8<---
configure:21195: checking for __thread
configure:21211: cc -c -O2 -pipe -Wall -Wcast-align -Wshadow 
-Wstrict-prototypes  conftest.c >&5
configure:21211: $? = 0
configure:21218: result: yes
--->8---

And gives us `#define HAVE_TLS 1` in config.h.

So it looks like it TLS is detected all right, but notice that we don't
link libpthread.

The only use of HAVE_TLS is in src/debug.c:

---8<---
#ifdef HAVE_TLS
#define FRAME_NR
static __thread int frame_nr = 0;
#endif
--->8---

And I added a '#warning' to verify this line is actually compiled, it
is. So is it correct that we didn't link pthread despite the use of
__thread?

-- 
Best Regards
Edd Barrett

http://www.theunixzoo.co.uk



Re: UPDATE: gpgme-1.9.0

2017-11-07 Thread Edd Barrett
Hi,

On Tue, Nov 07, 2017 at 01:47:38PM +0100, Jeremie Courreges-Anglas wrote:
> Already being discussed on ports@:

Yes, my aplogies, I missed this.

> $ sqlite3 /usr/local/share/sqlports "select * from wantlib where value = 
> 'gpgme-pthread';"

I did a partial bulk using the result of:
select fullpkgpath from ports where lib_depends like '%%gpgme%%';

Which admittedly doesn't pick up transitive dependencies, as your query
does. I can re-run the bulk including those if you like.

The paths my query tested were:

mail/claws-mail,-main
mail/claws-mail,ldap,-main
mail/gmime
mail/gmime30
mail/mu
mail/mutt,gpgme
mail/mutt,gpgme,sasl
mail/neomutt,gpgme
mail/neomutt,gpgme,sasl
mail/sylpheed
mail/trojita
misc/reprepro
net/centerim
net/mcabber
net/profanity
net/retroshare
security/fwknop
security/gpa
security/p5-Crypt-GpgME
x11/gnome/libcryptui
x11/gnome/seahorse
x11/gnome/seahorse-sharing
x11/kde-applications/gpgmepp
x11/kde4/pimlibs
x11/kde4/pim

> Also port-lib-depends-check says this here (but I still have old-ish
> packages on my laptop).
> 
> gpgme-1.9.0(security/gpgme):
> Extra:  pthread.25

Ah, I have the same. It's just a matter of killing that entry.

> > -# not without -pthread
> > -CONFIGURE_ENV +=   gpgme_cv_tls_works=no
> 
> So now TLS is detected/works properly because gpgme links against
> libpthread?

Actually I'm not sure. I found the comment confusing.

Presumably if this were picking up tls dependencies we would see them in
WANTLIB?

> > -TEST_DEPENDS +=security/gnupg
> > +TEST_DEPENDS +=security/gnupg2
> 
> I guess that means that the tests now require gpg2?

They appear to need gpg-agent, so yes.

-- 
Best Regards
Edd Barrett

http://www.theunixzoo.co.uk



Re: UPDATE: gpgme-1.9.0

2017-11-07 Thread Jeremie Courreges-Anglas
On Tue, Nov 07 2017, Edd Barrett  wrote:
> Hi,
>
> A much needed update to gpgme-1.9.0.

Already being discussed on ports@:

  https://marc.info/?l=openbsd-ports=150955525131345=2

> I noticed we were out of date when a Rust crate I was looking at using
> failed to build due to the old gpgme version.
>
> The newer version has the possibility to make several language bindings.
> I have disabled them all for now. People can enable them as they become
> needed.

Rafael already needs the qt bindings, but the solution is not ripe yet
(and maybe this will take the form of another port anyway).  I'm fine
with not enabling the python bindings for now.

> Also the pthread variant of the shared library has gone, presumably
> because the main shared object is now, since 1.8.0, thread safe
> (according to https://gnupg.org/documentation/manuals/gpgme.pdf).
>
> I bumped the shared library version because diffing the headers shows
> some deprecated functions being removed.

Diffing the headers is good, but checking the symbols exported by the
libs should te the first step.  /usr/src/lib/check_sym is very nice for
this.

> I've tested the build of all ports which LIB_DEPEND this (using
> gnupg-2.2.1) and have tested mutt using the new gpgme. Nothing caught
> fire.

So the ports below still package?

$ sqlite3 /usr/local/share/sqlports "select * from wantlib where value = 
'gpgme-pthread';"
audio/rhythmbox|gpgme-pthread|
mail/gmime|gpgme-pthread|
mail/gmime30|gpgme-pthread|
mail/mu|gpgme-pthread|
mail/trojita|gpgme-pthread|
net/pidgin-sipe|gpgme-pthread|
productivity/kmymoney|gpgme-pthread|
x11/gnome/grilo|gpgme-pthread|
x11/gnome/grilo-plugins|gpgme-pthread|
x11/gnome/totem|gpgme-pthread|
x11/gnome/tracker|gpgme-pthread|
x11/kde-applications/gpgmepp|gpgme-pthread|
x11/kde4/pimlibs|gpgme-pthread|
x11/kde4/runtime,-main|gpgme-pthread|
x11/kde4/pim|gpgme-pthread|
x11/kde4/kget|gpgme-pthread|
x11/pinot|gpgme-pthread|

Also port-lib-depends-check says this here (but I still have old-ish
packages on my laptop).

gpgme-1.9.0(security/gpgme):
Extra:  pthread.25

> Thoughts? OK?

As is, not ok on my side.  More questions below,

> Index: Makefile
> ===
> RCS file: /home/edd/source/OpenBSD-CVS/ports/security/gpgme/Makefile,v
> retrieving revision 1.38
> diff -u -p -r1.38 Makefile
> --- Makefile  11 May 2017 00:29:50 -  1.38
> +++ Makefile  7 Nov 2017 09:05:50 -
> @@ -2,12 +2,10 @@
>  
>  COMMENT= GnuPG Made Easy
>  
> -DISTNAME=gpgme-1.6.0
> -REVISION=0
> +DISTNAME=gpgme-1.9.0
>  CATEGORIES=  security devel
>  
> -SHARED_LIBS +=  gpgme20.0 # 25.0
> -SHARED_LIBS +=  gpgme-pthread20.0 # 25.0
> +SHARED_LIBS +=  gpgme21.0 # 29.0
>  
>  HOMEPAGE=http://www.gnupg.org/gpgme.html
>  
> @@ -20,9 +18,7 @@ MASTER_SITES=   ${MASTER_SITE_GNUPG:=gpgm
>  EXTRACT_SUFX=.tar.bz2
>  
>  CONFIGURE_STYLE= gnu
> -
> -# not without -pthread
> -CONFIGURE_ENV += gpgme_cv_tls_works=no

So now TLS is detected/works properly because gpgme links against
libpthread?

> +CONFIGURE_ARGS +=--enable-languages=''
>  
>  # Requires gpgsm (gnupg 2.x) during build, but can run with any gnupg.
>  BUILD_DEPENDS=   gnupg->=2:security/gnupg2
> @@ -33,10 +29,9 @@ LIB_DEPENDS=   devel/gettext \
>   security/libgpg-error>=1.4 \
>   security/libassuan
>  
> -TEST_DEPENDS +=  security/gnupg
> +TEST_DEPENDS +=  security/gnupg2

I guess that means that the tests now require gpg2?

>  # needed for the regression tests
>  USE_GMAKE=   Yes
> -
>  
>  .include 
> Index: distinfo
> ===
> RCS file: /home/edd/source/OpenBSD-CVS/ports/security/gpgme/distinfo,v
> retrieving revision 1.12
> diff -u -p -r1.12 distinfo
> --- distinfo  19 Sep 2016 17:13:55 -  1.12
> +++ distinfo  7 Nov 2017 09:05:50 -
> @@ -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
> Index: pkg/PLIST
> ===
> RCS file: /home/edd/source/OpenBSD-CVS/ports/security/gpgme/pkg/PLIST,v
> retrieving revision 1.8
> diff -u -p -r1.8 PLIST
> --- pkg/PLIST 19 Sep 2016 17:13:55 -  1.8
> +++ pkg/PLIST 7 Nov 2017 09:05:50 -
> @@ -3,16 +3,7 @@ bin/gpgme-config
>  @bin bin/gpgme-tool
>  include/gpgme.h
>  @info info/gpgme.info
> -lib/libgpgme-pthread.a
> -lib/libgpgme-pthread.la
> -@lib lib/libgpgme-pthread.so.${LIBgpgme-pthread_VERSION}
>  lib/libgpgme.a
>  lib/libgpgme.la
>  @lib lib/libgpgme.so.${LIBgpgme_VERSION}
>  

Re: UPDATE: gpgme-1.9.0

2017-11-07 Thread Edd Barrett
On Tue, Nov 07, 2017 at 12:34:10PM +, Nigel Taylor wrote:
> I prefer yours to go ahead, then make changes to add the bindings later,
> start from something working. They took too big a step, lets do one step
> at a time, and get this up to date.

I totally agree, and this was a very deliberate decision :)

I didn't know that someone else was working on this though. Thanks for
that.

-- 
Best Regards
Edd Barrett

http://www.theunixzoo.co.uk



Re: UPDATE: gpgme-1.9.0

2017-11-07 Thread Nigel Taylor
There is already a post for an update, however that included all the
bindings, for common lisp, qt5, python, python3 as well. From the post...

"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."

Having included qt5 in the incorrect manner, so everything requires qt5
built if they want the gpgme library. I prefer your, version can't check
it fully for a while, visual scan of changes it looks ok, unlike the
previous post.

I prefer yours to go ahead, then make changes to add the bindings later,
start from something working. They took too big a step, lets do one step
at a time, and get this up to date.


On 11/07/17 11:18, Edd Barrett wrote:
> Hi,
> 
> A much needed update to gpgme-1.9.0.
> 
> I noticed we were out of date when a Rust crate I was looking at using
> failed to build due to the old gpgme version.
> 
> The newer version has the possibility to make several language bindings.
> I have disabled them all for now. People can enable them as they become
> needed.
> 
> Also the pthread variant of the shared library has gone, presumably
> because the main shared object is now, since 1.8.0, thread safe
> (according to https://gnupg.org/documentation/manuals/gpgme.pdf).
> 
> I bumped the shared library version because diffing the headers shows
> some deprecated functions being removed.
> 
> I've tested the build of all ports which LIB_DEPEND this (using
> gnupg-2.2.1) and have tested mutt using the new gpgme. Nothing caught
> fire.
> 
> Thoughts? OK?
> 
> 
> Index: Makefile
> ===
> RCS file: /home/edd/source/OpenBSD-CVS/ports/security/gpgme/Makefile,v
> retrieving revision 1.38
> diff -u -p -r1.38 Makefile
> --- Makefile  11 May 2017 00:29:50 -  1.38
> +++ Makefile  7 Nov 2017 09:05:50 -
> @@ -2,12 +2,10 @@
>  
>  COMMENT= GnuPG Made Easy
>  
> -DISTNAME=gpgme-1.6.0
> -REVISION=0
> +DISTNAME=gpgme-1.9.0
>  CATEGORIES=  security devel
>  
> -SHARED_LIBS +=  gpgme20.0 # 25.0
> -SHARED_LIBS +=  gpgme-pthread20.0 # 25.0
> +SHARED_LIBS +=  gpgme21.0 # 29.0
>  
>  HOMEPAGE=http://www.gnupg.org/gpgme.html
>  
> @@ -20,9 +18,7 @@ MASTER_SITES=   ${MASTER_SITE_GNUPG:=gpgm
>  EXTRACT_SUFX=.tar.bz2
>  
>  CONFIGURE_STYLE= gnu
> -
> -# not without -pthread
> -CONFIGURE_ENV += gpgme_cv_tls_works=no
> +CONFIGURE_ARGS +=--enable-languages=''
>  
>  # Requires gpgsm (gnupg 2.x) during build, but can run with any gnupg.
>  BUILD_DEPENDS=   gnupg->=2:security/gnupg2
> @@ -33,10 +29,9 @@ LIB_DEPENDS=   devel/gettext \
>   security/libgpg-error>=1.4 \
>   security/libassuan
>  
> -TEST_DEPENDS +=  security/gnupg
> +TEST_DEPENDS +=  security/gnupg2
>  
>  # needed for the regression tests
>  USE_GMAKE=   Yes
> -
>  
>  .include 
> Index: distinfo
> ===
> RCS file: /home/edd/source/OpenBSD-CVS/ports/security/gpgme/distinfo,v
> retrieving revision 1.12
> diff -u -p -r1.12 distinfo
> --- distinfo  19 Sep 2016 17:13:55 -  1.12
> +++ distinfo  7 Nov 2017 09:05:50 -
> @@ -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
> Index: pkg/PLIST
> ===
> RCS file: /home/edd/source/OpenBSD-CVS/ports/security/gpgme/pkg/PLIST,v
> retrieving revision 1.8
> diff -u -p -r1.8 PLIST
> --- pkg/PLIST 19 Sep 2016 17:13:55 -  1.8
> +++ pkg/PLIST 7 Nov 2017 09:05:50 -
> @@ -3,16 +3,7 @@ bin/gpgme-config
>  @bin bin/gpgme-tool
>  include/gpgme.h
>  @info info/gpgme.info
> -lib/libgpgme-pthread.a
> -lib/libgpgme-pthread.la
> -@lib lib/libgpgme-pthread.so.${LIBgpgme-pthread_VERSION}
>  lib/libgpgme.a
>  lib/libgpgme.la
>  @lib lib/libgpgme.so.${LIBgpgme_VERSION}
>  share/aclocal/gpgme.m4
> -@comment share/common-lisp/
> -@comment share/common-lisp/source/
> -@comment share/common-lisp/source/gpgme/
> -@comment share/common-lisp/source/gpgme/gpgme-package.lisp
> -@comment share/common-lisp/source/gpgme/gpgme.asd
> -@comment share/common-lisp/source/gpgme/gpgme.lisp
> 



UPDATE: gpgme-1.9.0

2017-11-07 Thread Edd Barrett
Hi,

A much needed update to gpgme-1.9.0.

I noticed we were out of date when a Rust crate I was looking at using
failed to build due to the old gpgme version.

The newer version has the possibility to make several language bindings.
I have disabled them all for now. People can enable them as they become
needed.

Also the pthread variant of the shared library has gone, presumably
because the main shared object is now, since 1.8.0, thread safe
(according to https://gnupg.org/documentation/manuals/gpgme.pdf).

I bumped the shared library version because diffing the headers shows
some deprecated functions being removed.

I've tested the build of all ports which LIB_DEPEND this (using
gnupg-2.2.1) and have tested mutt using the new gpgme. Nothing caught
fire.

Thoughts? OK?


Index: Makefile
===
RCS file: /home/edd/source/OpenBSD-CVS/ports/security/gpgme/Makefile,v
retrieving revision 1.38
diff -u -p -r1.38 Makefile
--- Makefile11 May 2017 00:29:50 -  1.38
+++ Makefile7 Nov 2017 09:05:50 -
@@ -2,12 +2,10 @@
 
 COMMENT=   GnuPG Made Easy
 
-DISTNAME=  gpgme-1.6.0
-REVISION=  0
+DISTNAME=  gpgme-1.9.0
 CATEGORIES=security devel
 
-SHARED_LIBS +=  gpgme20.0 # 25.0
-SHARED_LIBS +=  gpgme-pthread20.0 # 25.0
+SHARED_LIBS +=  gpgme21.0 # 29.0
 
 HOMEPAGE=  http://www.gnupg.org/gpgme.html
 
@@ -20,9 +18,7 @@ MASTER_SITES= ${MASTER_SITE_GNUPG:=gpgm
 EXTRACT_SUFX=  .tar.bz2
 
 CONFIGURE_STYLE=   gnu
-
-# not without -pthread
-CONFIGURE_ENV +=   gpgme_cv_tls_works=no
+CONFIGURE_ARGS +=  --enable-languages=''
 
 # Requires gpgsm (gnupg 2.x) during build, but can run with any gnupg.
 BUILD_DEPENDS= gnupg->=2:security/gnupg2
@@ -33,10 +29,9 @@ LIB_DEPENDS= devel/gettext \
security/libgpg-error>=1.4 \
security/libassuan
 
-TEST_DEPENDS +=security/gnupg
+TEST_DEPENDS +=security/gnupg2
 
 # needed for the regression tests
 USE_GMAKE= Yes
-
 
 .include 
Index: distinfo
===
RCS file: /home/edd/source/OpenBSD-CVS/ports/security/gpgme/distinfo,v
retrieving revision 1.12
diff -u -p -r1.12 distinfo
--- distinfo19 Sep 2016 17:13:55 -  1.12
+++ distinfo7 Nov 2017 09:05:50 -
@@ -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
Index: pkg/PLIST
===
RCS file: /home/edd/source/OpenBSD-CVS/ports/security/gpgme/pkg/PLIST,v
retrieving revision 1.8
diff -u -p -r1.8 PLIST
--- pkg/PLIST   19 Sep 2016 17:13:55 -  1.8
+++ pkg/PLIST   7 Nov 2017 09:05:50 -
@@ -3,16 +3,7 @@ bin/gpgme-config
 @bin bin/gpgme-tool
 include/gpgme.h
 @info info/gpgme.info
-lib/libgpgme-pthread.a
-lib/libgpgme-pthread.la
-@lib lib/libgpgme-pthread.so.${LIBgpgme-pthread_VERSION}
 lib/libgpgme.a
 lib/libgpgme.la
 @lib lib/libgpgme.so.${LIBgpgme_VERSION}
 share/aclocal/gpgme.m4
-@comment share/common-lisp/
-@comment share/common-lisp/source/
-@comment share/common-lisp/source/gpgme/
-@comment share/common-lisp/source/gpgme/gpgme-package.lisp
-@comment share/common-lisp/source/gpgme/gpgme.asd
-@comment share/common-lisp/source/gpgme/gpgme.lisp

-- 
Best Regards
Edd Barrett

http://www.theunixzoo.co.uk