From 20d71ab4a8461554baec8024f5c7110210bd11e3 Mon Sep 17 00:00:00 2001 From: Kevin Mihelich Date: Fri, 31 Jan 2014 16:48:08 +0000 Subject: [PATCH] core/libgcrypt to 1.6.1-1 --- ...her-Take-care-of-ENABLE_NEON_SUPPORT.patch | 97 +++++++++++++++++++ core/libgcrypt/PKGBUILD | 33 +++---- 2 files changed, 112 insertions(+), 18 deletions(-) create mode 100644 core/libgcrypt/0001-cipher-Take-care-of-ENABLE_NEON_SUPPORT.patch diff --git a/core/libgcrypt/0001-cipher-Take-care-of-ENABLE_NEON_SUPPORT.patch b/core/libgcrypt/0001-cipher-Take-care-of-ENABLE_NEON_SUPPORT.patch new file mode 100644 index 000000000..68c6e3f43 --- /dev/null +++ b/core/libgcrypt/0001-cipher-Take-care-of-ENABLE_NEON_SUPPORT.patch @@ -0,0 +1,97 @@ +From 3216da3ddbc3eeb49171ab179acd9d75ca4d0218 Mon Sep 17 00:00:00 2001 +From: Werner Koch +Date: Tue, 28 Jan 2014 17:00:27 +0100 +Subject: [PATCH] cipher: Take care of ENABLE_NEON_SUPPORT. + +* cipher/salsa20.c (USE_ARM_NEON_ASM): Define only if +ENABLE_NEON_SUPPORT is defined. +* cipher/serpent.c (USE_NEON): Ditto. +* cipher/sha512.c (USE_ARM_NEON_ASM): Ditto. +-- + +The generic C source files must only include NEON support if that is +enabled. The dedicated ASM files are conditionally compiled and thus +do not need to use it. + +GnuPG-bug-id: 1603 +Signed-off-by: Werner Koch +(cherry picked from commit 52f7c48c901a3de51bd690a218f3de2f71e8d790) + +Resolved conflicts: +* cipher/sha1.c: Remove changes - no asm support in 1.6. +--- + cipher/salsa20.c | 9 +++++---- + cipher/serpent.c | 10 +++++----- + cipher/sha512.c | 9 +++++---- + 3 files changed, 15 insertions(+), 13 deletions(-) + +diff --git a/cipher/salsa20.c b/cipher/salsa20.c +index 72b28b0..d75fe51 100644 +--- a/cipher/salsa20.c ++++ b/cipher/salsa20.c +@@ -49,12 +49,13 @@ + + /* USE_ARM_NEON_ASM indicates whether to enable ARM NEON assembly code. */ + #undef USE_ARM_NEON_ASM +-#if defined(HAVE_ARM_ARCH_V6) && defined(__ARMEL__) +-# if defined(HAVE_COMPATIBLE_GCC_ARM_PLATFORM_AS) && \ +- defined(HAVE_GCC_INLINE_ASM_NEON) ++#ifdef ENABLE_NEON_SUPPORT ++# if defined(HAVE_ARM_ARCH_V6) && defined(__ARMEL__) \ ++ && defined(HAVE_COMPATIBLE_GCC_ARM_PLATFORM_AS) \ ++ && defined(HAVE_GCC_INLINE_ASM_NEON) + # define USE_ARM_NEON_ASM 1 + # endif +-#endif ++#endif /*ENABLE_NEON_SUPPORT*/ + + + #define SALSA20_MIN_KEY_SIZE 16 /* Bytes. */ +diff --git a/cipher/serpent.c b/cipher/serpent.c +index 8e647d4..0be49da 100644 +--- a/cipher/serpent.c ++++ b/cipher/serpent.c +@@ -48,13 +48,13 @@ + + /* USE_NEON indicates whether to enable ARM NEON assembly code. */ + #undef USE_NEON +-#if defined(HAVE_ARM_ARCH_V6) && defined(__ARMEL__) +-# if defined(HAVE_COMPATIBLE_GCC_ARM_PLATFORM_AS) && \ +- defined(HAVE_GCC_INLINE_ASM_NEON) ++#ifdef ENABLE_NEON_SUPPORT ++# if defined(HAVE_ARM_ARCH_V6) && defined(__ARMEL__) \ ++ && defined(HAVE_COMPATIBLE_GCC_ARM_PLATFORM_AS) \ ++ && defined(HAVE_GCC_INLINE_ASM_NEON) + # define USE_NEON 1 + # endif +-#endif +- ++#endif /*ENABLE_NEON_SUPPORT*/ + + /* Number of rounds per Serpent encrypt/decrypt operation. */ + #define ROUNDS 32 +diff --git a/cipher/sha512.c b/cipher/sha512.c +index 26ed031..6f729cc 100644 +--- a/cipher/sha512.c ++++ b/cipher/sha512.c +@@ -57,12 +57,13 @@ + + /* USE_ARM_NEON_ASM indicates whether to enable ARM NEON assembly code. */ + #undef USE_ARM_NEON_ASM +-#if defined(HAVE_ARM_ARCH_V6) && defined(__ARMEL__) +-# if defined(HAVE_COMPATIBLE_GCC_ARM_PLATFORM_AS) && \ +- defined(HAVE_GCC_INLINE_ASM_NEON) ++#ifdef ENABLE_NEON_SUPPORT ++# if defined(HAVE_ARM_ARCH_V6) && defined(__ARMEL__) \ ++ && defined(HAVE_COMPATIBLE_GCC_ARM_PLATFORM_AS) \ ++ && defined(HAVE_GCC_INLINE_ASM_NEON) + # define USE_ARM_NEON_ASM 1 + # endif +-#endif ++#endif /*ENABLE_NEON_SUPPORT*/ + + + /* USE_SSSE3 indicates whether to compile with Intel SSSE3 code. */ +-- +1.8.4.3 + diff --git a/core/libgcrypt/PKGBUILD b/core/libgcrypt/PKGBUILD index e373ec0b0..f3a91a6be 100644 --- a/core/libgcrypt/PKGBUILD +++ b/core/libgcrypt/PKGBUILD @@ -2,35 +2,32 @@ # Maintainer: Andreas Radke # ALARM: Kevin Mihelich -# - Note: this package needs to be fully re-checked beyond version 1.6.0 -# -# - switch to git repo to pull in missing ARM assembly files and fixes -# - switch ifdef's in cipher files to actually respect --disable-neon-support -# - disable intel's RNG -# - drop docs from building in the makefile, all sorts of busted in git -# - disable .install so it doesn't try to install nonexistent docs +# - disable DRNG and NEON support +# - patch to fix --disable-neon-support, should be fixed in 1.6.2 pkgname=libgcrypt -pkgver=1.6.0 -pkgrel=2 +pkgver=1.6.1 +pkgrel=1 pkgdesc="General purpose cryptographic library based on the code from GnuPG" arch=(i686 x86_64) url="http://www.gnupg.org" license=('LGPL') depends=('libgpg-error>=1.10-2') -makedepends=('git') options=('!emptydirs') -#install=$pkgname.install -source=("${pkgname}-${pkgver}::git://git.gnupg.org/libgcrypt.git#branch=LIBGCRYPT-1-6-BRANCH") -sha1sums=('SKIP') +install=$pkgname.install +source=(ftp://ftp.gnupg.org/gcrypt/${pkgname}/${pkgname}-${pkgver}.tar.bz2 + 0001-cipher-Take-care-of-ENABLE_NEON_SUPPORT.patch) +sha1sums=('f03d9b63ac3b17a6972fc11150d136925b702f02' + '6b7e9a735e27a0cf7331c3cb6b518ef0c6d5f345') + +prepare() { + cd ${pkgname}-${pkgver} + + patch -Np1 -i ../0001-cipher-Take-care-of-ENABLE_NEON_SUPPORT.patch +} build() { cd ${pkgname}-${pkgver} - - sed -i 's/HAVE_GCC_INLINE_ASM_NEON/ENABLE_NEON_SUPPORT/g' cipher/* - sed -i 's/ doc / /g' Makefile.am - autoreconf -fi - ./configure --prefix=/usr \ --disable-static \ --disable-padlock-support \