summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArfrever Frehtes Taifersar Arahesis <arfrever@gentoo.org>2011-03-30 20:39:59 +0000
committerArfrever Frehtes Taifersar Arahesis <arfrever@gentoo.org>2011-03-30 20:39:59 +0000
commit47ba174e175a7a36819d2f9ee5b74eb34724a489 (patch)
tree7386b798319ea0972731987e73f4b030053704fa /net-libs/gnutls
parentAdopted package (diff)
downloadgentoo-2-47ba174e175a7a36819d2f9ee5b74eb34724a489.tar.gz
gentoo-2-47ba174e175a7a36819d2f9ee5b74eb34724a489.tar.bz2
gentoo-2-47ba174e175a7a36819d2f9ee5b74eb34724a489.zip
Fix compatibility with C++.
(Portage version: 2.2.0_alpha29_p2/cvs/Linux x86_64)
Diffstat (limited to 'net-libs/gnutls')
-rw-r--r--net-libs/gnutls/ChangeLog8
-rw-r--r--net-libs/gnutls/files/gnutls-2.12.0-C++.patch25
-rw-r--r--net-libs/gnutls/gnutls-2.12.0-r1.ebuild116
3 files changed, 148 insertions, 1 deletions
diff --git a/net-libs/gnutls/ChangeLog b/net-libs/gnutls/ChangeLog
index a990d5517da2..d4f4aa9d5e98 100644
--- a/net-libs/gnutls/ChangeLog
+++ b/net-libs/gnutls/ChangeLog
@@ -1,6 +1,12 @@
# ChangeLog for net-libs/gnutls
# Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/net-libs/gnutls/ChangeLog,v 1.297 2011/03/25 01:19:08 arfrever Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-libs/gnutls/ChangeLog,v 1.298 2011/03/30 20:39:58 arfrever Exp $
+
+*gnutls-2.12.0-r1 (30 Mar 2011)
+
+ 30 Mar 2011; Arfrever Frehtes Taifersar Arahesis <arfrever@gentoo.org>
+ +gnutls-2.12.0-r1.ebuild, +files/gnutls-2.12.0-C++.patch:
+ Fix compatibility with C++.
*gnutls-2.12.0 (25 Mar 2011)
diff --git a/net-libs/gnutls/files/gnutls-2.12.0-C++.patch b/net-libs/gnutls/files/gnutls-2.12.0-C++.patch
new file mode 100644
index 000000000000..eec5254dc6b8
--- /dev/null
+++ b/net-libs/gnutls/files/gnutls-2.12.0-C++.patch
@@ -0,0 +1,25 @@
+http://git.savannah.gnu.org/cgit/gnutls.git/commit/?id=66ebfc0120a47c350c4485e195f72ff851296e30
+
+--- lib/includes/gnutls/compat.h
++++ lib/includes/gnutls/compat.h
+@@ -3,6 +3,11 @@
+ #ifndef _GNUTLS_COMPAT_H
+ #define _GNUTLS_COMPAT_H
+
++#ifdef __cplusplus
++extern "C"
++{
++#endif
++
+ #ifdef __GNUC__
+
+ #define _GNUTLS_GCC_VERSION (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__)
+@@ -345,4 +350,8 @@
+
+ void gnutls_transport_set_lowat (gnutls_session_t session, int num) _GNUTLS_GCC_ATTR_DEPRECATED;
+
++#ifdef __cplusplus
++}
++#endif
++
+ #endif /* _GNUTLS_COMPAT_H */
diff --git a/net-libs/gnutls/gnutls-2.12.0-r1.ebuild b/net-libs/gnutls/gnutls-2.12.0-r1.ebuild
new file mode 100644
index 000000000000..259c703dd007
--- /dev/null
+++ b/net-libs/gnutls/gnutls-2.12.0-r1.ebuild
@@ -0,0 +1,116 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-libs/gnutls/gnutls-2.12.0-r1.ebuild,v 1.1 2011/03/30 20:39:58 arfrever Exp $
+
+EAPI="3"
+
+inherit autotools eutils libtool
+
+DESCRIPTION="A TLS 1.2 and SSL 3.0 implementation for the GNU project"
+HOMEPAGE="http://www.gnutls.org/"
+
+if [[ "${PV}" == *pre* ]]; then
+ SRC_URI="http://daily.josefsson.org/${P%.*}/${P%.*}-${PV#*pre}.tar.gz"
+else
+ MINOR_VERSION="${PV#*.}"
+ MINOR_VERSION="${MINOR_VERSION%.*}"
+ if [[ $((MINOR_VERSION % 2)) == 0 ]]; then
+ #SRC_URI="ftp://ftp.gnu.org/pub/gnu/${PN}/${P}.tar.bz2"
+ SRC_URI="mirror://gnu/${PN}/${P}.tar.bz2"
+ else
+ SRC_URI="ftp://alpha.gnu.org/gnu/${PN}/${P}.tar.bz2"
+ fi
+ unset MINOR_VERSION
+fi
+
+# GPL-3 for the gnutls-extras library and LGPL for the gnutls library.
+LICENSE="LGPL-2.1 GPL-3"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~sparc-fbsd ~x86-fbsd"
+IUSE="bindist +cxx doc examples guile lzo +nettle nls test zlib"
+
+# lib/m4/hooks.m4 says that GnuTLS uses a fork of PaKChoiS.
+RDEPEND=">=dev-libs/libtasn1-0.3.4
+ nls? ( virtual/libintl )
+ guile? ( >=dev-scheme/guile-1.8[networking] )
+ nettle? ( >=dev-libs/nettle-2.1[gmp] )
+ !nettle? ( >=dev-libs/libgcrypt-1.4.0 )
+ zlib? ( >=sys-libs/zlib-1.2.3.1 )
+ !bindist? ( lzo? ( >=dev-libs/lzo-2 ) )"
+DEPEND="${RDEPEND}
+ sys-devel/libtool
+ doc? ( dev-util/gtk-doc )
+ nls? ( sys-devel/gettext )
+ test? ( app-misc/datefudge )"
+
+S="${WORKDIR}/${P%_pre*}"
+
+pkg_setup() {
+ if use lzo && use bindist; then
+ ewarn "lzo support is disabled for binary distribution of GnuTLS due to licensing issues."
+ fi
+}
+
+src_prepare() {
+ # tests/suite directory is not distributed.
+ sed -e 's|AC_CONFIG_FILES(\[tests/suite/Makefile\])|:|' -i configure.ac
+
+ sed -e 's/imagesdir = $(infodir)/imagesdir = $(htmldir)/' -i doc/Makefile.am
+
+ epatch "${FILESDIR}/${P}-C++.patch"
+
+ local dir
+ for dir in m4 lib/m4 libextra/m4; do
+ rm -f "${dir}/lt"* "${dir}/libtool.m4"
+ done
+ find . -name ltmain.sh -exec rm {} \;
+ for dir in . lib libextra; do
+ pushd "${dir}" > /dev/null
+ eautoreconf
+ popd > /dev/null
+ done
+
+ # Use sane .so versioning on FreeBSD.
+ elibtoolize
+}
+
+src_configure() {
+ local myconf
+ use bindist && myconf="--without-lzo" || myconf="$(use_with lzo)"
+ [[ "${VALGRIND_TESTS}" != "1" ]] && myconf+=" --disable-valgrind-tests"
+
+ econf --htmldir=/usr/share/doc/${P}/html \
+ $(use_enable cxx) \
+ $(use_enable doc gtk-doc) \
+ $(use_enable guile) \
+ $(use_with !nettle libgcrypt) \
+ $(use_enable nls) \
+ $(use_with zlib) \
+ ${myconf}
+}
+
+src_test() {
+ if has_version dev-util/valgrind && [[ "${VALGRIND_TESTS}" != "1" ]]; then
+ elog
+ elog "You can set VALGRIND_TESTS=\"1\" to enable Valgrind tests."
+ elog
+ fi
+
+ default
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die "emake install failed"
+
+ dodoc AUTHORS ChangeLog NEWS README THANKS doc/TODO || die "dodoc failed"
+
+ if use doc; then
+ dodoc doc/gnutls.{pdf,ps} || die "dodoc failed"
+ dohtml doc/gnutls.html || die "dohtml failed"
+ fi
+
+ if use examples; then
+ docinto examples
+ dodoc doc/examples/*.c || die "dodoc failed"
+ fi
+}