commit:     25f864c733b97212f71e3677f4f1a2fbaca4e857
Author:     Joshua Kinard <kumba <AT> gentoo <DOT> org>
AuthorDate: Sat Jul 29 22:48:00 2017 +0000
Commit:     Joshua Kinard <kumba <AT> gentoo <DOT> org>
CommitDate: Sat Jul 29 22:49:07 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=25f864c7

dev-libs/libpcre: Fix compile error on MIPS.  Fixes #626564

Fixes a compile error on certain MIPS platforms that leads to a
violation of C grammar in sljit/sljitNativeMIPS_common.c.  Patch
has been upstreamed:
https://bugs.exim.org/show_bug.cgi?id=2154

Signed-off-by: Joshua Kinard <kumba <AT> gentoo.org>
Package-Manager: Portage-2.3.6, Repoman-2.3.3

 .../libpcre-8.41-sljit_mips-label-statement-fix.patch     | 15 +++++++++++++++
 dev-libs/libpcre/libpcre-8.41.ebuild                      |  7 ++++---
 2 files changed, 19 insertions(+), 3 deletions(-)

diff --git 
a/dev-libs/libpcre/files/libpcre-8.41-sljit_mips-label-statement-fix.patch 
b/dev-libs/libpcre/files/libpcre-8.41-sljit_mips-label-statement-fix.patch
new file mode 100644
index 00000000000..0494ccc25eb
--- /dev/null
+++ b/dev-libs/libpcre/files/libpcre-8.41-sljit_mips-label-statement-fix.patch
@@ -0,0 +1,15 @@
+diff -Naurp pcre-8.41.orig/sljit/sljitNativeMIPS_common.c 
pcre-8.41/sljit/sljitNativeMIPS_common.c
+--- pcre-8.41.orig/sljit/sljitNativeMIPS_common.c      2017-05-07 
11:32:25.000000000 -0400
++++ pcre-8.41/sljit/sljitNativeMIPS_common.c   2017-07-29 17:50:24.508909742 
-0400
+@@ -503,9 +503,11 @@ SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit
+ #ifdef SLJIT_IS_FPU_AVAILABLE
+               return SLJIT_IS_FPU_AVAILABLE;
+ #elif defined(__GNUC__)
++      {
+               sljit_sw fir;
+               asm ("cfc1 %0, $0" : "=r"(fir));
+               return (fir >> 22) & 0x1;
++      }
+ #else
+ #error "FIR check is not implemented for this architecture"
+ #endif

diff --git a/dev-libs/libpcre/libpcre-8.41.ebuild 
b/dev-libs/libpcre/libpcre-8.41.ebuild
index a681e836fee..397cbd7f417 100644
--- a/dev-libs/libpcre/libpcre-8.41.ebuild
+++ b/dev-libs/libpcre/libpcre-8.41.ebuild
@@ -47,11 +47,12 @@ MULTILIB_CHOST_TOOLS=(
        /usr/bin/pcre-config
 )
 
-#PATCHES=(
-#)
+PATCHES=(
+       "${FILESDIR}"/${PN}-8.41-sljit_mips-label-statement-fix.patch
+)
 
 src_prepare() {
-       #epatch "${PATCHES[@]}"
+       epatch "${PATCHES[@]}"
        sed -i -e "s:-lpcre ::" libpcrecpp.pc.in || die
        elibtoolize
 }

Reply via email to