summaryrefslogtreecommitdiff
path: root/extra/gnutls
diff options
context:
space:
mode:
authorNicolas Reynolds <fauno@kiwwwi.com.ar>2011-08-23 18:28:19 -0300
committerNicolas Reynolds <fauno@kiwwwi.com.ar>2011-08-23 18:28:19 -0300
commitd07d53d7af1e9694d9558783841bc2df3124a90f (patch)
tree40d68de204b29d3360efd654d3c458c9cdad3cd6 /extra/gnutls
parenta873bdc69d24650d832933463af71dfaa96f1a8a (diff)
parent64e290184042563a240e2d6d15c02e06703d00ee (diff)
Merge branch 'master' of ssh://vparabola/home/parabola/abslibre-pre-mips64el
Conflicts: community/obconf/PKGBUILD community/obconf/obconf.install community/qstardict/PKGBUILD core/binutils/PKGBUILD core/gcc/PKGBUILD.mips64el extra/cups/PKGBUILD extra/eject/PKGBUILD extra/emacs/PKGBUILD extra/evilwm/PKGBUILD extra/fbset/PKGBUILD extra/gmpc/PKGBUILD extra/gnome-alsamixer/PKGBUILD extra/gtkpod/PKGBUILD extra/kdepim/PKGBUILD extra/kile/PKGBUILD extra/libvpx/PKGBUILD extra/php-apc/PKGBUILD extra/php-suhosin/PKGBUILD extra/php/PKGBUILD extra/pidgin/PKGBUILD extra/potrace/PKGBUILD extra/racket/PKGBUILD extra/soundtouch/PKGBUILD extra/wireshark/PKGBUILD extra/xpdf/PKGBUILD multilib/binutils-multilib/PKGBUILD multilib/lib32-acl/PKGBUILD multilib/lib32-attr/PKGBUILD multilib/lib32-glibc/PKGBUILD multilib/lib32-udev/PKGBUILD ~xihh/abiword/PKGBUILD
Diffstat (limited to 'extra/gnutls')
-rw-r--r--extra/gnutls/PKGBUILD20
-rw-r--r--extra/gnutls/align.patch64
2 files changed, 75 insertions, 9 deletions
diff --git a/extra/gnutls/PKGBUILD b/extra/gnutls/PKGBUILD
index c8358321c..eccfb9f99 100644
--- a/extra/gnutls/PKGBUILD
+++ b/extra/gnutls/PKGBUILD
@@ -1,32 +1,34 @@
-# $Id: PKGBUILD 130900 2011-07-08 17:01:10Z andyrtr $
+# $Id: PKGBUILD 135996 2011-08-21 08:10:46Z andyrtr $
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=gnutls
-pkgver=2.12.7
-pkgrel=2
+pkgver=3.0.1
+pkgrel=1
pkgdesc="A library which provides a secure layer over a reliable transport layer"
arch=('i686' 'x86_64' 'mips64el')
license=('GPL3' 'LGPL')
url="http://www.gnu.org/software/gnutls/"
install=gnutls.install
options=('!libtool' '!zipman')
-depends=('gcc-libs' 'libtasn1' 'readline' 'zlib' 'nettle')
-source=(ftp://ftp.gnu.org/gnu/gnutls/${pkgname}-${pkgver}.tar.bz2)
-md5sums=(4b48aa3119f549d30d550bf4162c721b'')
+depends=('gcc-libs' 'libtasn1' 'readline' 'zlib' 'nettle>=2.2')
+makedepends=('valgrind')
+source=(ftp://ftp.gnu.org/gnu/gnutls/${pkgname}-${pkgver}.tar.xz)
+md5sums=('23d86dbb3ef9985ce7d2b8dc37fa17a3')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
./configure --prefix=/usr \
--with-zlib \
--disable-static \
- --disable-guile
+ --disable-guile \
+ --without-p11-kit \
+ --disable-valgrind-tests # breaks make check. errors have been reported upstream
make
}
check() {
cd "${srcdir}/${pkgname}-${pkgver}"
- #make check # passes all || /bin/true
- make check # || /bin/true # see https://lists.gnu.org/archive/html/gnutls-devel/2011-06/msg00007.html
+ make check # passes all || /bin/true
}
package() {
diff --git a/extra/gnutls/align.patch b/extra/gnutls/align.patch
new file mode 100644
index 000000000..dce5cf408
--- /dev/null
+++ b/extra/gnutls/align.patch
@@ -0,0 +1,64 @@
+diff --git a/lib/accelerated/intel/aes-x86.c b/lib/accelerated/intel/aes-x86.c
+index 6801e7e..ff5b714 100644
+--- a/lib/accelerated/intel/aes-x86.c
++++ b/lib/accelerated/intel/aes-x86.c
+@@ -40,6 +40,10 @@ struct aes_ctx
+ uint8_t iv[16];
+ };
+
++#define AESNI_MIN_ALIGN 16
++#define AESNI_ALIGN(x) \
++ ((void *)(((size_t)(x)+AESNI_MIN_ALIGN-1)&~(AESNI_MIN_ALIGN-1)))
++
+ static int
+ aes_cipher_init (gnutls_cipher_algorithm_t algorithm, void **_ctx)
+ {
+@@ -69,11 +73,11 @@ aes_cipher_setkey (void *_ctx, const void *userkey, size_t keysize)
+ struct aes_ctx *ctx = _ctx;
+ int ret;
+
+- ret = aesni_set_encrypt_key (userkey, keysize * 8, &ctx->expanded_key);
++ ret = aesni_set_encrypt_key (userkey, keysize * 8, AESNI_ALIGN(&ctx->expanded_key));
+ if (ret != 0)
+ return gnutls_assert_val (GNUTLS_E_ENCRYPTION_FAILED);
+
+- ret = aesni_set_decrypt_key (userkey, keysize * 8, &ctx->expanded_key_dec);
++ ret = aesni_set_decrypt_key (userkey, keysize * 8, AESNI_ALIGN(&ctx->expanded_key_dec));
+ if (ret != 0)
+ return gnutls_assert_val (GNUTLS_E_ENCRYPTION_FAILED);
+
+@@ -95,7 +99,7 @@ aes_encrypt (void *_ctx, const void *src, size_t src_size,
+ {
+ struct aes_ctx *ctx = _ctx;
+
+- aesni_cbc_encrypt (src, dst, src_size, &ctx->expanded_key, ctx->iv, 1);
++ aesni_cbc_encrypt (src, dst, src_size, AESNI_ALIGN(&ctx->expanded_key), ctx->iv, 1);
+ return 0;
+ }
+
+@@ -105,7 +109,7 @@ aes_decrypt (void *_ctx, const void *src, size_t src_size,
+ {
+ struct aes_ctx *ctx = _ctx;
+
+- aesni_cbc_encrypt (src, dst, src_size, &ctx->expanded_key_dec, ctx->iv, 0);
++ aesni_cbc_encrypt (src, dst, src_size, AESNI_ALIGN(&ctx->expanded_key_dec), ctx->iv, 0);
+
+ return 0;
+ }
+diff --git a/lib/accelerated/intel/aes-x86.h b/lib/accelerated/intel/aes-x86.h
+index 8f49ff3..20a169e 100644
+--- a/lib/accelerated/intel/aes-x86.h
++++ b/lib/accelerated/intel/aes-x86.h
+@@ -11,10 +11,11 @@ void register_x86_crypto (void);
+ # define ALIGN16
+ #endif
+
++#define AES_KEY_ALIGN_SIZE 8
+ #define AES_MAXNR 14
+ typedef struct
+ {
+- uint32_t ALIGN16 rd_key[4 * (AES_MAXNR + 1)];
++ uint32_t rd_key[4 * (AES_MAXNR + 1)+AES_KEY_ALIGN_SIZE];
+ int rounds;
+ } AES_KEY;
+