Add wip/gnutls-guile in version 3.6.5

GnuTLS with attempted guile bindings building.
This commit is contained in:
ng0 2019-05-26 16:40:59 +00:00
parent ca84620537
commit 323edca779
13 changed files with 1534 additions and 0 deletions

15
gnutls-guile/DESCR Normal file
View File

@ -0,0 +1,15 @@
GnuTLS is a portable ANSI C based library which implements the TLS 1.0 and SSL
3.0 protocols. The library does not include any patented algorithms and is
available under the GNU Lesser GPL license.
Important features of the GnuTLS library include:
- Thread safety
- Support for both TLS 1.0 and SSL 3.0 protocols
- Support for both X.509 and OpenPGP certificates
- Support for basic parsing and verification of certificates
- Support for SRP for TLS authentication
- Support for TLS Extension mechanism
- Support for TLS Compression Methods
Additionally GnuTLS provides an emulation API for the widely used OpenSSL
library, to ease integration with existing applications.

107
gnutls-guile/Makefile Normal file
View File

@ -0,0 +1,107 @@
# $NetBSD$
DISTNAME= gnutls-3.6.5
CATEGORIES= security devel
MASTER_SITES= ftp://ftp.gnutls.org/gcrypt/gnutls/v3.6/
EXTRACT_SUFX= .tar.xz
MAINTAINER= pkgsrc-users@NetBSD.org
HOMEPAGE= http://www.gnutls.org/
COMMENT= GNU Transport Layer Security library
LICENSE= gnu-gpl-v3 AND gnu-lgpl-v2.1
DEPENDS+= mozilla-rootcerts-[0-9]*:../../security/mozilla-rootcerts
USE_LANGUAGES= c c++
USE_LIBTOOL= yes
USE_PKGLOCALEDIR= yes
USE_TOOLS+= gmake gsed perl pkg-config bash automake autoconf autoreconf
GNU_CONFIGURE= yes
# this library duplicates (and conflicts with) openssl
CONFIGURE_ARGS+= --disable-openssl-compatibility
CONFIGURE_ARGS+= --enable-guile
CONFIGURE_ARGS+= --disable-libdane
CONFIGURE_ARGS+= --without-idn
CONFIGURE_ARGS+= --without-tpm
CONFIGURE_ARGS+= --disable-valgrind-tests
CONFIGURE_ARGS+= --with-default-trust-store-file=${PREFIX}/share/mozilla-rootcerts/cacert.pem
CONFIGURE_ARGS+= --with-libintl-prefix=${BUILDLINK_PREFIX.gettext}
CONFIGURE_ARGS+= --enable-local-libopts
# Assembler support is broken for SunOS in 3.2.9.
CONFIGURE_ARGS.SunOS+= --disable-hardware-acceleration
CONFIGURE_ARGS.FreeBSD+= ac_cv_type_max_align_t=yes
CONFIGURE_ARGS+= --host=${MACHINE_GNU_PLATFORM:Q}
TEST_TARGET= check
INFO_FILES= yes
REPLACE_BASH+= tests/cert-tests/certtool
REPLACE_BASH+= tests/danetool.sh
REPLACE_BASH+= tests/fastopen.sh
REPLACE_BASH+= tests/gnutls-cli-debug.sh
REPLACE_BASH+= tests/ocsp-tests/ocsp-must-staple-connection
REPLACE_BASH+= tests/ocsp-tests/ocsp-tls-connection
REPLACE_BASH+= tests/starttls.sh
REPLACE_BASH+= tests/suite/cbc-record-check.sh
REPLACE_BASH+= tests/suite/testcompat-main-openssl
REPLACE_BASH+= tests/suite/testcompat-main-polarssl
REPLACE_BASH+= tests/cert-tests/pkcs12-utf8
REPLACE_PERL+= doc/scripts/gdoc doc/scripts/sort2.pl
PKGCONFIG_OVERRIDE= lib/gnutls.pc.in
PKGCONFIG_OVERRIDE+= libdane/gnutls-dane.pc.in
MAKE_ENV+= RM=${RM:Q}
MAKE_ENV+= TZ=UTC
SUBST_CLASSES+= configure
SUBST_SED.configure+= -e 's,2.0 1.8,2.2 2.0 1.8,'
SUBST_STAGE.configure= pre-configure
SUBST_FILES.configure+= configure
SUBST_MESSAGE.configure= Fixing supported Guile versions
# Might not be enough for guile bindings...
SUBST_CLASSES+= target
SUBST_STAGE.target= pre-configure
SUBST_FILES.target+= build-aux/config.guess
SUBST_FILES.target+= configure
SUBST_SED.target= -e "s|=.*config.guess)|= ${MACHINE_GNU_PLATFORM}|"
SUBST_MESSAGE.target= Fixing target name.
SUBST_CLASSES+= shell
SUBST_SED.shell+= -e 's,define POSIX_SHELL .*,define POSIX_SHELL "'${TOOLS_PATH.bash}'",'
SUBST_STAGE.shell= post-configure
SUBST_FILES.shell+= config.h
SUBST_MESSAGE.shell= Fixing path to bash.
EGDIR= ${PREFIX}/share/examples/gnutls
INSTALLATION_DIRS= ${EGDIR} include/gnutls
post-install:
cd ${WRKSRC}/doc/examples && ${INSTALL_DATA} *.c ${DESTDIR}${EGDIR}
.include "../../archivers/lzo/buildlink3.mk"
.include "../../converters/libiconv/buildlink3.mk"
.include "../../devel/gettext-lib/buildlink3.mk"
BUILDLINK_API_DEPENDS.gmp+= gmp>=5.0
.include "../../devel/gmp/buildlink3.mk"
.include "../../devel/libcfg+/buildlink3.mk"
# Avoid creating a fake zlib.pc, because if it does
# gnutls will add a Requires.private for it in its .pc file
CHECK_BUILTIN.zlib:=yes
.include "../../devel/zlib/buildlink3.mk"
# guile is useful for selftests, but bindings should be separate pkgs
.include "../../lang/guile22/buildlink3.mk"
BUILDLINK_API_DEPENDS.libtasn1+= libtasn1>=4.9
.include "../../security/libtasn1/buildlink3.mk"
BUILDLINK_API_DEPENDS.nettle+= nettle>=3.4.1
.include "../../security/nettle/buildlink3.mk"
BUILDLINK_API_DEPENDS.p11-kit+= p11-kit>=0.23.1
.include "../../security/p11-kit/buildlink3.mk"
.include "../../textproc/libunistring/buildlink3.mk"
.include "../../mk/readline.buildlink3.mk"
.include "../../mk/bsd.pkg.mk"

1223
gnutls-guile/PLIST Normal file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,23 @@
# $NetBSD: buildlink3.mk,v 1.34 2018/12/09 20:12:41 leot Exp $
BUILDLINK_TREE+= gnutls
.if !defined(GNUTLS_BUILDLINK3_MK)
GNUTLS_BUILDLINK3_MK:=
BUILDLINK_API_DEPENDS.gnutls+= gnutls>=3.3.0
BUILDLINK_ABI_DEPENDS.gnutls+= gnutls>=3.6.0nb1
BUILDLINK_PKGSRCDIR.gnutls?= ../../security/gnutls
.include "../../archivers/lzo/buildlink3.mk"
.include "../../devel/gettext-lib/buildlink3.mk"
.include "../../devel/libcfg+/buildlink3.mk"
.include "../../devel/zlib/buildlink3.mk"
.include "../../security/libtasn1/buildlink3.mk"
BUILDLINK_API_DEPENDS.nettle+= nettle>=3.4.1
.include "../../security/nettle/buildlink3.mk"
.include "../../security/p11-kit/buildlink3.mk"
.include "../../textproc/libunistring/buildlink3.mk"
.endif # GNUTLS_BUILDLINK3_MK
BUILDLINK_TREE+= -gnutls

13
gnutls-guile/distinfo Normal file
View File

@ -0,0 +1,13 @@
$NetBSD: distinfo,v 1.132 2018/12/09 20:12:41 leot Exp $
SHA1 (gnutls-3.6.5.tar.xz) = 749fcaba23f63b523ec2ad262caeca6f1e62fc6f
RMD160 (gnutls-3.6.5.tar.xz) = a7194f821deb3b1cd9efa7be8382bf893e317a8e
SHA512 (gnutls-3.6.5.tar.xz) = 127f053ce45c63cd745fa5a654a2d8e4fbc322f5e17dcc3740fb2e7b376dd18dad59318d66e6e93e37d6a179fca4b35cf2ae62d13be5645cd2d06badd79d4dce
Size (gnutls-3.6.5.tar.xz) = 8192888 bytes
SHA1 (patch-lib_Makefile.in) = c9a6bbe6238ccd9de41c708012e36b202d2a86e7
SHA1 (patch-lib_accelerated_x86_x86-common.c) = eaf3c473b1ca83c5b15be26f8c06a82d7961420c
SHA1 (patch-src_libopts_autoopts_options.h) = 9202c55314fe8764ac82c95bbfabfa1b031e9ba4
SHA1 (patch-src_libopts_compat_compat.h) = 240fbfc0ba20af35e0634ba873fe9e34bfbcc921
SHA1 (patch-src_libopts_libopts.c) = ce5e7681def882e95ed5ab770564d1f999b97039
SHA1 (patch-src_libopts_makeshell.c) = e5b7d66caaec45e12ae5490d515fc9fc75de3d92
SHA1 (patch-src_libopts_proto.h) = 78f845bdcbac8de74953a3cee0b77fa9c5b05386

View File

@ -0,0 +1,19 @@
# $NetBSD: libgnutls-config.mk,v 1.3 2014/01/16 10:14:09 wiz Exp $
# Makefile intended to be included by packages that need "libgnutls-config"
# during build time.
USE_TOOLS+= pkg-config
pre-configure: hack-libgnutls-config
.PHONY: hack-libgnutls-config
hack-libgnutls-config:
${PRINTF} "#! ${SH}\\n\
case \$$1 in\\n\
--cflags|--libs) pkg-config \$$1 gnutls;;\\n\
--version) pkg-config --modversion gnutls;;\\n\
*) exit 1;;\\n\
esac\\n\
" > ${BUILDLINK_DIR}/bin/libgnutls-config
${CHMOD} +x ${BUILDLINK_DIR}/bin/libgnutls-config

View File

@ -0,0 +1,15 @@
$NetBSD: patch-lib_Makefile.in,v 1.9 2018/07/06 16:15:28 prlw1 Exp $
Correct path to locale files.
--- lib/Makefile.in.orig 2015-05-03 17:30:56.000000000 +0000
+++ lib/Makefile.in
@@ -1443,7 +1443,7 @@ infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
-localedir = $(datadir)/locale
+localedir = @prefix@/share/locale
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@

View File

@ -0,0 +1,15 @@
$NetBSD: patch-lib_accelerated_x86_x86-common.c,v 1.2 2018/07/06 16:15:28 prlw1 Exp $
Avoid unsupported xgetbv instruction on older Darwin assemblers.
--- lib/accelerated/x86/x86-common.c.orig 2018-02-12 07:06:04.000000000 +0000
+++ lib/accelerated/x86/x86-common.c
@@ -101,6 +101,8 @@ static unsigned check_4th_gen_intel_feat
#if defined(_MSC_VER) && !defined(__clang__)
xcr0 = _xgetbv(0);
+#elif defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ < 1070
+ return 0;
#else
__asm__ ("xgetbv" : "=a" (xcr0) : "c" (0) : "%edx");
#endif

View File

@ -0,0 +1,15 @@
$NetBSD: patch-src_libopts_autoopts_options.h,v 1.2 2015/06/01 21:50:22 spz Exp $
Workaround for older OSX.
--- src/libopts/autoopts/options.h.orig 2015-03-23 07:19:23.000000000 +0000
+++ src/libopts/autoopts/options.h
@@ -62,7 +62,7 @@
# include <sysexits.h>
# endif /* HAVE_SYSEXITS_H */
-# if defined(HAVE_STDBOOL_H)
+# if defined(HAVE_STDBOOL_H) || defined(__APPLE__)
# include <stdbool.h>
# else
typedef enum { false = 0, true = 1 } _Bool;

View File

@ -0,0 +1,15 @@
$NetBSD: patch-src_libopts_compat_compat.h,v 1.2 2015/06/01 21:50:22 spz Exp $
Workaround for older OSX.
--- src/libopts/compat/compat.h.orig 2015-03-23 07:19:23.000000000 +0000
+++ src/libopts/compat/compat.h
@@ -182,7 +182,7 @@
# include <unistd.h>
#endif
-#ifdef HAVE_STDBOOL_H
+#if defined(HAVE_STDBOOL_H) || defined(__APPLE__)
# include <stdbool.h>
#else
typedef enum { false = 0, true = 1 } _Bool;

View File

@ -0,0 +1,15 @@
$NetBSD: patch-src_libopts_libopts.c,v 1.1 2015/06/08 13:44:57 joerg Exp $
Workaround broken gettext.h conflicting with native implementation of
message contexts in NetBSD.
--- src/libopts/libopts.c.orig 2015-06-08 13:12:30.000000000 +0000
+++ src/libopts/libopts.c
@@ -1,3 +1,7 @@
+#include <config.h>
+#if ENABLE_NLS
+#include <gettext.h>
+#endif
#define AUTOOPTS_INTERNAL 1
#include "autoopts/project.h"
#define LOCAL static

View File

@ -0,0 +1,33 @@
$NetBSD: patch-src_libopts_makeshell.c,v 1.2 2015/06/01 21:50:22 spz Exp $
Avoid stdnoreturn.h.
--- src/libopts/makeshell.c.orig 2015-03-23 07:19:23.000000000 +0000
+++ src/libopts/makeshell.c
@@ -68,7 +68,7 @@ static void
open_out(char const * fname, char const * pname);
/* = = = END-STATIC-FORWARD = = = */
-LOCAL noreturn void
+LOCAL void
option_exits(int exit_code)
{
if (print_exit)
@@ -76,7 +76,7 @@ option_exits(int exit_code)
exit(exit_code);
}
-LOCAL noreturn void
+LOCAL void
ao_bug(char const * msg)
{
fprintf(stderr, zao_bug_msg, msg);
@@ -90,7 +90,7 @@ fserr_warn(char const * prog, char const
op, fname);
}
-LOCAL noreturn void
+LOCAL void
fserr_exit(char const * prog, char const * op, char const * fname)
{
fserr_warn(prog, op, fname);

View File

@ -0,0 +1,26 @@
$NetBSD: patch-src_libopts_proto.h,v 1.2 2015/06/01 21:50:22 spz Exp $
Avoid stdnoreturn.h.
--- src/libopts/proto.h.orig 2015-03-23 07:19:23.000000000 +0000
+++ src/libopts/proto.h
@@ -98,16 +98,16 @@ load_opt_line(tOptions * opts, tOptState
/*
* Extracted from makeshell.c
*/
-static noreturn void
+static void
option_exits(int exit_code);
-static noreturn void
+static void
ao_bug(char const * msg);
static void
fserr_warn(char const * prog, char const * op, char const * fname);
-static noreturn void
+static void
fserr_exit(char const * prog, char const * op, char const * fname);
/*