diff --git a/.gitignore b/.gitignore index f1e8efa..42731b4 100644 --- a/.gitignore +++ b/.gitignore @@ -3,3 +3,4 @@ libgcrypt-1.4.4.tar.bz2 /libgcrypt-1.5.2-hobbled.tar.xz /libgcrypt-1.5.3-hobbled.tar.xz /libgcrypt-1.6.1-hobbled.tar.xz +/libgcrypt-1.6.2-hobbled.tar.xz diff --git a/ecc-curves.c b/ecc-curves.c index b8679da..ef8ff94 100644 --- a/ecc-curves.c +++ b/ecc-curves.c @@ -889,7 +889,7 @@ _gcry_ecc_get_mpi (const char *name, mpi_ec_t ec, int copy) unsigned char *encpk; unsigned int encpklen; - if (!_gcry_ecc_eddsa_encodepoint (ec->Q, ec, NULL, NULL, + if (!_gcry_ecc_eddsa_encodepoint (ec->Q, ec, NULL, NULL, 0, &encpk, &encpklen)) return mpi_set_opaque (NULL, encpk, encpklen*8); } diff --git a/libgcrypt-use-correct-asm-code-for-win64.patch b/libgcrypt-use-correct-asm-code-for-win64.patch index 8227ac6..b5309ea 100644 --- a/libgcrypt-use-correct-asm-code-for-win64.patch +++ b/libgcrypt-use-correct-asm-code-for-win64.patch @@ -1,6 +1,34 @@ ---- mpi/mpi-internal.h.orig 2013-01-02 12:04:49.634772462 +0100 -+++ mpi/mpi-internal.h 2013-01-02 12:11:41.222744150 +0100 -@@ -168,6 +168,12 @@ +diff -ur libgcrypt-1.6.2/acinclude.m4 libgcrypt-1.6.2.new/acinclude.m4 +--- libgcrypt-1.6.2/acinclude.m4 2014-08-18 08:46:51.000000000 +0200 ++++ libgcrypt-1.6.2.new/acinclude.m4 2014-11-07 21:48:36.315702591 +0100 +@@ -102,7 +102,9 @@ + [tmp_do_check="no" + case "${host}" in + *-mingw32*) +- ac_cv_sys_symbol_underscore=yes ++ if test "x$ac_cv_sys_symbol_underscore" = x ; then ++ ac_cv_sys_symbol_underscore=yes ++ fi + ;; + i386-emx-os2 | i[3456]86-pc-os2*emx | i386-pc-msdosdjgpp) + ac_cv_sys_symbol_underscore=yes +diff -ur libgcrypt-1.6.2/mpi/generic/mpi-asm-defs.h libgcrypt-1.6.2.new/mpi/generic/mpi-asm-defs.h +--- libgcrypt-1.6.2/mpi/generic/mpi-asm-defs.h 2014-08-18 08:46:51.000000000 +0200 ++++ libgcrypt-1.6.2.new/mpi/generic/mpi-asm-defs.h 2014-11-07 21:47:30.932355415 +0100 +@@ -4,5 +4,9 @@ + #if __GNUC__ >= 3 && defined(__x86_64__) && defined(__ILP32__) + #define BYTES_PER_MPI_LIMB 8 + #else ++#ifdef _WIN64 ++#define BYTES_PER_MPI_LIMB (SIZEOF_UNSIGNED_LONG_LONG) ++#else + #define BYTES_PER_MPI_LIMB (SIZEOF_UNSIGNED_LONG) + #endif ++#endif +diff -ur libgcrypt-1.6.2/mpi/mpi-internal.h libgcrypt-1.6.2.new/mpi/mpi-internal.h +--- libgcrypt-1.6.2/mpi/mpi-internal.h 2014-08-18 08:46:51.000000000 +0200 ++++ libgcrypt-1.6.2.new/mpi/mpi-internal.h 2014-11-07 21:46:02.009004456 +0100 +@@ -169,6 +169,12 @@ } while (0) @@ -13,7 +41,7 @@ /*-- mpiutil.c --*/ #define mpi_alloc_limb_space(n,f) _gcry_mpi_alloc_limb_space((n),(f)) mpi_ptr_t _gcry_mpi_alloc_limb_space( unsigned nlimbs, int sec ); -@@ -186,7 +192,7 @@ +@@ -187,7 +193,7 @@ mpi_limb_t _gcry_mpih_add_1(mpi_ptr_t res_ptr, mpi_ptr_t s1_ptr, mpi_size_t s1_size, mpi_limb_t s2_limb ); mpi_limb_t _gcry_mpih_add_n( mpi_ptr_t res_ptr, mpi_ptr_t s1_ptr, @@ -22,7 +50,7 @@ mpi_limb_t _gcry_mpih_add(mpi_ptr_t res_ptr, mpi_ptr_t s1_ptr, mpi_size_t s1_size, mpi_ptr_t s2_ptr, mpi_size_t s2_size); -@@ -194,7 +200,7 @@ +@@ -195,7 +201,7 @@ mpi_limb_t _gcry_mpih_sub_1( mpi_ptr_t res_ptr, mpi_ptr_t s1_ptr, mpi_size_t s1_size, mpi_limb_t s2_limb ); mpi_limb_t _gcry_mpih_sub_n( mpi_ptr_t res_ptr, mpi_ptr_t s1_ptr, @@ -31,7 +59,7 @@ mpi_limb_t _gcry_mpih_sub(mpi_ptr_t res_ptr, mpi_ptr_t s1_ptr, mpi_size_t s1_size, mpi_ptr_t s2_ptr, mpi_size_t s2_size); -@@ -216,9 +222,9 @@ +@@ -217,9 +223,9 @@ void _gcry_mpih_release_karatsuba_ctx( struct karatsuba_ctx *ctx ); mpi_limb_t _gcry_mpih_addmul_1( mpi_ptr_t res_ptr, mpi_ptr_t s1_ptr, @@ -43,7 +71,7 @@ void _gcry_mpih_mul_n( mpi_ptr_t prodp, mpi_ptr_t up, mpi_ptr_t vp, mpi_size_t size); mpi_limb_t _gcry_mpih_mul( mpi_ptr_t prodp, mpi_ptr_t up, mpi_size_t usize, -@@ -235,7 +241,7 @@ +@@ -236,7 +242,7 @@ /*-- mpih-mul_1.c (or xxx/cpu/ *.S) --*/ mpi_limb_t _gcry_mpih_mul_1( mpi_ptr_t res_ptr, mpi_ptr_t s1_ptr, @@ -52,7 +80,7 @@ /*-- mpih-div.c --*/ mpi_limb_t _gcry_mpih_mod_1(mpi_ptr_t dividend_ptr, mpi_size_t dividend_size, -@@ -249,9 +255,9 @@ +@@ -250,9 +256,9 @@ /*-- mpih-shift.c --*/ mpi_limb_t _gcry_mpih_lshift( mpi_ptr_t wp, mpi_ptr_t up, mpi_size_t usize, @@ -64,18 +92,3 @@ /* Define stuff for longlong.h. */ ---- mpi/generic/mpi-asm-defs.h.orig 2013-01-02 15:07:53.540464492 +0100 -+++ mpi/generic/mpi-asm-defs.h 2013-01-02 15:08:16.720633878 +0100 -@@ -1,8 +1,11 @@ - /* This file defines some basic constants for the MPI machinery. We - * need to define the types on a per-CPU basis, so it is done with - * this file here. */ -+#ifdef _WIN64 -+#define BYTES_PER_MPI_LIMB (SIZEOF_UNSIGNED_LONG_LONG) -+#else - #define BYTES_PER_MPI_LIMB (SIZEOF_UNSIGNED_LONG) -- -+#endif - - - diff --git a/mingw-libgcrypt.spec b/mingw-libgcrypt.spec index f706551..9a04e35 100644 --- a/mingw-libgcrypt.spec +++ b/mingw-libgcrypt.spec @@ -3,8 +3,8 @@ %define run_tests 0 Name: mingw-libgcrypt -Version: 1.6.1 -Release: 2%{?dist} +Version: 1.6.2 +Release: 1%{?dist} Summary: MinGW Windows gcrypt encryption library License: LGPLv2+ and GPLv2+ @@ -49,6 +49,8 @@ BuildRequires: mingw64-gcc BuildRequires: mingw64-binutils BuildRequires: mingw64-libgpg-error +BuildRequires: autoconf automake libtool + %if %run_tests BuildRequires: wine %endif @@ -106,10 +108,13 @@ Static library for mingw64-libgcrypt development. %{SOURCE3} %patch0 -p0 -b .win64 %patch2 -p0 -b .def -%patch3 -p0 -b .asm64 +%patch3 -p1 -b .asm64 cp %{SOURCE4} cipher/ cp %{SOURCE5} %{SOURCE6} tests/ +# Needed for the asm64 patch +autoreconf -i --force + %build MINGW64_CONFIGURE_ARGS="ac_cv_sys_symbol_underscore=no --disable-padlock-support" @@ -178,6 +183,9 @@ rm $RPM_BUILD_ROOT%{mingw64_libdir}/libgcrypt.la %changelog +* Tue Dec 23 2014 Erik van Pienbroek - 1.6.2-1 +- Update to 1.6.2 + * Sat Jun 07 2014 Fedora Release Engineering - 1.6.1-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild diff --git a/sources b/sources index c971c98..d296f4f 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -3f1076b38a407f4775adcf6e9bf43893 libgcrypt-1.6.1-hobbled.tar.xz +e682099d3bf9cd13802e5a5e67a66544 libgcrypt-1.6.2-hobbled.tar.xz