summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonathan Callen <abcd@gentoo.org>2010-02-20 22:06:58 +0000
committerJonathan Callen <abcd@gentoo.org>2010-02-20 22:06:58 +0000
commita61a3ed7771a56fc654da234201c35ab8b3cbf09 (patch)
tree67212bd6b58f6066d213ae5a888f44e1a5bad60d /dev-libs/libffi
parentFix quoting. (diff)
downloadgentoo-2-a61a3ed7771a56fc654da234201c35ab8b3cbf09.tar.gz
gentoo-2-a61a3ed7771a56fc654da234201c35ab8b3cbf09.tar.bz2
gentoo-2-a61a3ed7771a56fc654da234201c35ab8b3cbf09.zip
Add patches from prefix, add prefix keywords
(Portage version: -svn/cvs/Linux i686)
Diffstat (limited to 'dev-libs/libffi')
-rw-r--r--dev-libs/libffi/ChangeLog6
-rw-r--r--dev-libs/libffi/files/libffi-3.0.9-interix.patch62
-rw-r--r--dev-libs/libffi/files/libffi-3.0.9-irix.patch55
-rw-r--r--dev-libs/libffi/libffi-3.0.9.ebuild10
4 files changed, 129 insertions, 4 deletions
diff --git a/dev-libs/libffi/ChangeLog b/dev-libs/libffi/ChangeLog
index ea07bc54f6f0..51172aa5c66a 100644
--- a/dev-libs/libffi/ChangeLog
+++ b/dev-libs/libffi/ChangeLog
@@ -1,6 +1,10 @@
# ChangeLog for dev-libs/libffi
# Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-libs/libffi/ChangeLog,v 1.98 2010/01/25 18:37:37 armin76 Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-libs/libffi/ChangeLog,v 1.99 2010/02/20 22:06:58 abcd Exp $
+
+ 20 Feb 2010; Jonathan Callen <abcd@gentoo.org> libffi-3.0.9.ebuild,
+ +files/libffi-3.0.9-interix.patch, +files/libffi-3.0.9-irix.patch:
+ Add patches from prefix, add prefix keywords
25 Jan 2010; Raúl Porcel <armin76@gentoo.org> libffi-3.0.9.ebuild:
Add ~m68k, thanks to kolla for testing
diff --git a/dev-libs/libffi/files/libffi-3.0.9-interix.patch b/dev-libs/libffi/files/libffi-3.0.9-interix.patch
new file mode 100644
index 000000000000..e2a48677bc64
--- /dev/null
+++ b/dev-libs/libffi/files/libffi-3.0.9-interix.patch
@@ -0,0 +1,62 @@
+diff --git a/configure b/configure
+index d849c7a..fed97e2 100755
+--- a/configure
++++ b/configure
+@@ -12180,7 +12180,7 @@ case "$host" in
+ i?86-*-freebsd* | i?86-*-openbsd*)
+ TARGET=X86_FREEBSD; TARGETDIR=x86
+ ;;
+- i?86-win32* | i?86-*-cygwin* | i?86-*-mingw*)
++ i?86-win32* | i?86-*-cygwin* | i?86-*-mingw* | i?86-*-interix*)
+ TARGET=X86_WIN32; TARGETDIR=x86
+ # All mingw/cygwin/win32 builds require this for sharedlib
+ AM_LTLDFLAGS="-no-undefined"
+diff --git a/configure.ac b/configure.ac
+index 6314a6a..4e178a2 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -80,7 +80,7 @@ case "$host" in
+ i?86-*-freebsd* | i?86-*-openbsd*)
+ TARGET=X86_FREEBSD; TARGETDIR=x86
+ ;;
+- i?86-win32* | i?86-*-cygwin* | i?86-*-mingw*)
++ i?86-win32* | i?86-*-cygwin* | i?86-*-mingw* | i?86-*-interix*)
+ TARGET=X86_WIN32; TARGETDIR=x86
+ # All mingw/cygwin/win32 builds require this for sharedlib
+ AM_LTLDFLAGS="-no-undefined"
+diff --git a/src/closures.c b/src/closures.c
+index bc087d9..65bf6a9 100644
+--- a/src/closures.c
++++ b/src/closures.c
+@@ -193,11 +193,11 @@ static int dlmalloc_trim(size_t) MAYBE_UNUSED;
+ static size_t dlmalloc_usable_size(void*) MAYBE_UNUSED;
+ static void dlmalloc_stats(void) MAYBE_UNUSED;
+
+-#if !(defined(X86_WIN32) || defined(X86_WIN64)) || defined (__CYGWIN__)
++#if !(defined(X86_WIN32) || defined(X86_WIN64)) || defined (__CYGWIN__) || defined(__INTERIX)
+ /* Use these for mmap and munmap within dlmalloc.c. */
+ static void *dlmmap(void *, size_t, int, int, int, off_t);
+ static int dlmunmap(void *, size_t);
+-#endif /* !(defined(X86_WIN32) || defined(X86_WIN64)) || defined (__CYGWIN__) */
++#endif /* !(defined(X86_WIN32) || defined(X86_WIN64)) || defined (__CYGWIN__) || defined(__INTERIX) */
+
+ #define mmap dlmmap
+ #define munmap dlmunmap
+@@ -207,7 +207,7 @@ static int dlmunmap(void *, size_t);
+ #undef mmap
+ #undef munmap
+
+-#if !(defined(X86_WIN32) || defined(X86_WIN64)) || defined (__CYGWIN__)
++#if !(defined(X86_WIN32) || defined(X86_WIN64)) || defined (__CYGWIN__) || defined(__INTERIX)
+
+ #if FFI_MMAP_EXEC_SELINUX
+
+@@ -545,7 +545,7 @@ segment_holding_code (mstate m, char* addr)
+ }
+ #endif
+
+-#endif /* !(defined(X86_WIN32) || defined(X86_WIN64)) || defined (__CYGWIN__) */
++#endif /* !(defined(X86_WIN32) || defined(X86_WIN64)) || defined (__CYGWIN__) || defined(__INTERIX) */
+
+ /* Allocate a chunk of memory with the given size. Returns a pointer
+ to the writable address, and sets *CODE to the executable
diff --git a/dev-libs/libffi/files/libffi-3.0.9-irix.patch b/dev-libs/libffi/files/libffi-3.0.9-irix.patch
new file mode 100644
index 000000000000..2f759f509478
--- /dev/null
+++ b/dev-libs/libffi/files/libffi-3.0.9-irix.patch
@@ -0,0 +1,55 @@
+http://bugs.gentoo.org/show_bug.cgi?id=286911
+
+--- src/mips/ffitarget.h.orig 2009-06-19 19:52:37.000000000 +0200
++++ src/mips/ffitarget.h 2009-06-19 19:52:43.000000000 +0200
+@@ -43,7 +43,7 @@
+ # endif
+
+ #if !defined(_MIPS_SIM)
+--- something is very wrong --
++# error -- something is very wrong --
+ #else
+ # if (_MIPS_SIM==_ABIN32 && defined(_ABIN32)) || (_MIPS_SIM==_ABI64 && defined(_ABI64))
+ # define FFI_MIPS_N32
+@@ -51,7 +51,7 @@
+ # if (_MIPS_SIM==_ABIO32 && defined(_ABIO32))
+ # define FFI_MIPS_O32
+ # else
+--- this is an unsupported platform --
++# error -- this is an unsupported platform --
+ # endif
+ # endif
+ #endif
+--- include/ffi.h.in.orig 2009-06-19 19:52:36.000000000 +0200
++++ include/ffi.h.in 2009-06-19 19:52:43.000000000 +0200
+@@ -251,6 +251,9 @@
+
+ #if FFI_CLOSURES
+
++#ifdef __sgi
++# pragma pack 8
++#endif
+ typedef struct {
+ char tramp[FFI_TRAMPOLINE_SIZE];
+ ffi_cif *cif;
+@@ -260,6 +263,9 @@
+ } ffi_closure __attribute__((aligned (8)));
+ #else
+ } ffi_closure;
++# ifdef __sgi
++# pragma pack 0
++# endif
+ #endif
+
+ void *ffi_closure_alloc (size_t size, void **code);
+--- src/java_raw_api.c.dist 2009-09-29 11:04:56.517219880 +0100
++++ src/java_raw_api.c 2009-09-29 11:05:56.836581720 +0100
+@@ -311,7 +311,7 @@
+ ffi_raw_closure *cl = (ffi_raw_closure*)user_data;
+
+ ffi_java_ptrarray_to_raw (cif, avalue, raw);
+- (*cl->fun) (cif, rvalue, raw, cl->user_data);
++ (*cl->fun) (cif, rvalue, (ffi_raw*)raw, cl->user_data);
+ ffi_java_raw_to_rvalue (cif, rvalue);
+ }
+
diff --git a/dev-libs/libffi/libffi-3.0.9.ebuild b/dev-libs/libffi/libffi-3.0.9.ebuild
index 3fccb6dd1407..05fb96038303 100644
--- a/dev-libs/libffi/libffi-3.0.9.ebuild
+++ b/dev-libs/libffi/libffi-3.0.9.ebuild
@@ -1,8 +1,8 @@
# Copyright 1999-2010 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/dev-libs/libffi/libffi-3.0.9.ebuild,v 1.6 2010/01/25 18:37:37 armin76 Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-libs/libffi/libffi-3.0.9.ebuild,v 1.7 2010/02/20 22:06:58 abcd Exp $
-inherit libtool
+inherit eutils libtool
DESCRIPTION="a portable, high level programming interface to various calling conventions."
HOMEPAGE="http://sourceware.org/libffi/"
@@ -10,7 +10,7 @@ SRC_URI="ftp://sourceware.org/pub/${PN}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~sh ~sparc ~x86 ~sparc-fbsd ~x86-fbsd"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~sh ~sparc ~x86 ~ppc-aix ~sparc-fbsd ~x86-fbsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
IUSE="debug static-libs test"
RDEPEND=""
@@ -19,6 +19,10 @@ DEPEND="test? ( dev-util/dejagnu )"
src_unpack() {
unpack ${A}
cd "${S}"
+
+ epatch "${FILESDIR}"/${P}-interix.patch
+ epatch "${FILESDIR}"/${P}-irix.patch
+
elibtoolize
}