summaryrefslogtreecommitdiff
path: root/devel
diff options
context:
space:
mode:
authorryoon <ryoon@pkgsrc.org>2013-07-26 13:12:25 +0000
committerryoon <ryoon@pkgsrc.org>2013-07-26 13:12:25 +0000
commit7bd80c34e59fbd72630804279fdd7da531670472 (patch)
tree5d97f4fdcba2c0c368509d9cc7ddb40c000866b5 /devel
parent159d66d403e51b1c59ef62faaeca79faed26768d (diff)
downloadpkgsrc-7bd80c34e59fbd72630804279fdd7da531670472.tar.gz
Fix build on Cygwin64.
* Patches borrowed from cygwin64's libffi-3.0.13-1-src.tar.bz2.
Diffstat (limited to 'devel')
-rw-r--r--devel/libffi/distinfo4
-rw-r--r--devel/libffi/patches/patch-src_x86_ffi.c15
-rw-r--r--devel/libffi/patches/patch-src_x86_win64.S15
3 files changed, 33 insertions, 1 deletions
diff --git a/devel/libffi/distinfo b/devel/libffi/distinfo
index 46d386d5ea7..39718e31179 100644
--- a/devel/libffi/distinfo
+++ b/devel/libffi/distinfo
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.28 2013/04/06 12:41:23 obache Exp $
+$NetBSD: distinfo,v 1.29 2013/07/26 13:12:25 ryoon Exp $
SHA1 (libffi-3.0.13.tar.gz) = f5230890dc0be42fb5c58fbf793da253155de106
RMD160 (libffi-3.0.13.tar.gz) = 03f0627c0fcc800d38636258a2fab2d6bb8b6625
@@ -13,3 +13,5 @@ SHA1 (patch-ah) = e9580069ede90cd616da7bc230b28acbf5d204a6
SHA1 (patch-ai) = f85a6cb64d4a9d7c3e56b47b7092fce10a744b5b
SHA1 (patch-aj) = d130b2b20b94ca26c70dcc46614e36c6d0ac9153
SHA1 (patch-fficonfig.h.in) = fd85fa767bc057c843ff71cc61bedfcff84def43
+SHA1 (patch-src_x86_ffi.c) = b9ac64a53a92de663a339212e22c1286fa41c1d5
+SHA1 (patch-src_x86_win64.S) = 5b6836bae6c73743b925de4d11bc241c783bffd6
diff --git a/devel/libffi/patches/patch-src_x86_ffi.c b/devel/libffi/patches/patch-src_x86_ffi.c
new file mode 100644
index 00000000000..eee8bedfc57
--- /dev/null
+++ b/devel/libffi/patches/patch-src_x86_ffi.c
@@ -0,0 +1,15 @@
+$NetBSD: patch-src_x86_ffi.c,v 1.1 2013/07/26 13:12:25 ryoon Exp $
+
+Fix build on Cygwin64. From Cygwin64 1.7.22's 3.0.12-cygwin.patch.
+
+--- src/x86/ffi.c.orig 2013-03-16 11:25:04.000000000 +0000
++++ src/x86/ffi.c
+@@ -28,7 +28,7 @@
+ DEALINGS IN THE SOFTWARE.
+ ----------------------------------------------------------------------- */
+
+-#if !defined(__x86_64__) || defined(_WIN64)
++#if !defined(__x86_64__) || defined(_WIN64) || defined(__CYGWIN__)
+
+ #ifdef _WIN64
+ #include <windows.h>
diff --git a/devel/libffi/patches/patch-src_x86_win64.S b/devel/libffi/patches/patch-src_x86_win64.S
new file mode 100644
index 00000000000..c37faa9ce34
--- /dev/null
+++ b/devel/libffi/patches/patch-src_x86_win64.S
@@ -0,0 +1,15 @@
+$NetBSD: patch-src_x86_win64.S,v 1.1 2013/07/26 13:12:25 ryoon Exp $
+
+Fix build on Cygwin64. From Cygwin64 1.7.22's 3.0.12-cygwin.patch.
+
+--- src/x86/win64.S.orig 2013-03-16 11:19:39.000000000 +0000
++++ src/x86/win64.S
+@@ -295,7 +295,7 @@ SYMBOL_NAME(ffi_closure_win64):
+ mov %rax, %rcx # context is first parameter
+ mov %rsp, %rdx # stack is second parameter
+ add $48, %rdx # point to start of arguments
+- mov $SYMBOL_NAME(ffi_closure_win64_inner), %rax
++ lea SYMBOL_NAME(ffi_closure_win64_inner)(%rip), %rax
+ callq *%rax # call the real closure function
+ add $40, %rsp
+ movq %rax, %xmm0 # If the closure returned a float,