Opened 11 years ago

Closed 11 years ago

#29719 closed update (fixed)

gnutls: Update to version

Reported by: sqs@… Owned by: ryandesign (Ryan Schmidt)
Priority: Normal Milestone:
Component: ports Version: 1.9.2
Keywords: haspatch Cc: drkp (Dan Ports)
Port: gnutls


This patch updates the devel/gnutls Portfile to GnuTLS, released on 4 Jun 2011. The previous version was GnuTLS 2.8.6, released on 15 Mar 2010, which was quite old.

Also, this patch adds the configure option --with-libgcrypt. This is because GnuTLS 2.10.3 switched default crypto libraries from libgcrypt to libnettle. Libnettle is faster, but libgcrypt is what this port has always used, so this patch doesn't change that.

Attachments (2)

Portfile-gnutls-update-version-20110605.patch (964 bytes) - added by sqs@… 11 years ago.
gnutls- (1007 bytes) - added by ryandesign (Ryan Schmidt) 11 years ago.
revised patch proposal

Download all attachments as: .zip

Change History (8)

Changed 11 years ago by sqs@…

comment:1 Changed 11 years ago by ryandesign (Ryan Schmidt)

Keywords: haspatch added
Owner: changed from macports-tickets@… to ryandesign@…
Status: newassigned
Summary: devel/gnutls: Update to version Update to version


  • r79239: Fixed livecheck to identify these newer versions

Changed 11 years ago by ryandesign (Ryan Schmidt)

Attachment: gnutls- added

revised patch proposal

comment:2 Changed 11 years ago by ryandesign (Ryan Schmidt)

I attached a revised update proposal, which differs from your patch in that it removes the revision line (because the first revision of any given version of a port should be 0), removes the md5 checksum (because md5 is an obsolete checksum algorithm which I would like to eventually remove from MacPorts), and observes the whitespace conventions of the portfile (spaces not tabs).

The reason I'm not committing it yet is that the library version of both libraries has increased from 26 to 27, which means that all ports that use (or can optionally use) gnutls (and possibly some ports that use ports that use gnutls, and so on) must simultaneously have their revisions increased to force a rebuild against the new library, and I haven't yet tried to identify what all those ports are, but there are probably a lot.

comment:3 Changed 11 years ago by rmstonecipher@…

Version 2.12.7 is now available.

As mentioned in the ticket description, libgcrypt is only a dependency for historical reasons.
According to the documentation, gnutls can use either libgcrypt or nettle but not both.
The nettle port is up-to-date as of r79955.
Should gnutls use its default dependency or stick to an optional alternative?

Ryan Stonecipher

comment:4 Changed 11 years ago by drkp (Dan Ports)

Cc: dports@… added

Latest version on the 2.x branch is now 2.12.9, and there's now a new stable branch currently at 3.0.1. I'm sure revbumps are required; I have no idea if there are further compatibility-breaking changes.

It would be good to get this port up to date. openssl is a problematic dependency for licensing reasons when it comes to distributing binary packages, and gnutls would be a good alternative in some cases. (nss, and even the Apple-provided openssl may also be options.)

For other license-related reasons, I think it'd be better to stick to gcrypt instead of nettle, if there isn't a really strong technical reason to do otherwise.

comment:5 Changed 11 years ago by ryandesign (Ryan Schmidt)

Should we update this port to the latest 2.x and leave 3.x for later (or make a gnutls3 port), or update this port straight to 3.x? I wonder how different version 3 is from version 2.

comment:6 Changed 11 years ago by drkp (Dan Ports)

Resolution: fixed
Status: assignedclosed

I updated the port to v2.12.11, the latest 2.x release, in r84942. I couldn't get 3.x to compile (possibly due to a bug which might be fixed in the next release?)

This only increases the library version of libgnutls-openssl and libgnutlsxx, not libgnutls or libgnutls-extra. If ports depend on those libraries, they'll need to be revbumped, but I couldn't find any.

Note: See TracTickets for help on using tickets.