gnu: libffi: Update to 3.1.

* gnu/packages/patches/libffi-mips-n32-fix.patch: Remove.
* gnu-system.am (dist_patch_DATA): Remove it.
* gnu/packages/libffi.scm (libffi): Update to 3.1.  Remove patch.
This commit is contained in:
Mark H Weaver 2014-08-20 01:43:05 -04:00
parent a23276cd8b
commit 785c33e3af
3 changed files with 3 additions and 26 deletions

View File

@ -328,7 +328,6 @@ dist_patch_DATA = \
gnu/packages/patches/kmod-module-directory.patch \
gnu/packages/patches/libbonobo-activation-test-race.patch \
gnu/packages/patches/libevent-dns-tests.patch \
gnu/packages/patches/libffi-mips-n32-fix.patch \
gnu/packages/patches/liboop-mips64-deplibs-fix.patch \
gnu/packages/patches/libmad-mips-newgcc.patch \
gnu/packages/patches/libtheora-config-guess.patch \

View File

@ -29,11 +29,11 @@
;; available in $includedir where some users expect them.
'(lambda* (#:key outputs #:allow-other-keys)
(define out (assoc-ref outputs "out"))
(symlink (string-append out "/lib/libffi-3.0.13/include")
(symlink (string-append out "/lib/libffi-3.1/include")
(string-append out "/include")))))
(package
(name "libffi")
(version "3.0.13")
(version "3.1")
(source (origin
(method url-fetch)
(uri
@ -41,8 +41,7 @@
name "-" version ".tar.gz"))
(sha256
(base32
"077ibkf84bvcd6rw1m6jb107br63i2pp301rkmsbgg6300adxp8x"))
(patches (list (search-patch "libffi-mips-n32-fix.patch")))))
"1sznmrhcswwbyqla9y2ximlkzbxks59wjfs3lh7qf8ayranyxzlp"))))
(build-system gnu-build-system)
(arguments `(#:phases (alist-cons-after 'install 'post-install
,post-install-phase

View File

@ -1,21 +0,0 @@
Fix handling of uint32_t arguments on the MIPS N32 ABI.
Patch by Mark H Weaver <mhw@netris.org>.
--- libffi/src/mips/ffi.c.orig 2013-03-16 07:19:39.000000000 -0400
+++ libffi/src/mips/ffi.c 2013-10-22 01:11:03.111985247 -0400
@@ -170,7 +170,14 @@
break;
case FFI_TYPE_UINT32:
+#ifdef FFI_MIPS_N32
+ /* The N32 ABI requires that 32-bit integers
+ be sign-extended to 64-bits, regardless of
+ whether they are signed or unsigned. */
+ *(ffi_arg *)argp = *(SINT32 *)(* p_argv);
+#else
*(ffi_arg *)argp = *(UINT32 *)(* p_argv);
+#endif
break;
/* This can only happen with 64bit slots. */