commit:     ccd35db8f273258b4b792861d8830e1b6fb86da0
Author:     Ian Stakenvicius <axs <AT> gentoo <DOT> org>
AuthorDate: Sun Aug 23 13:17:04 2015 +0000
Commit:     Ian Stakenvicius <axs <AT> gentoo <DOT> org>
CommitDate: Sun Aug 23 13:17:04 2015 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ccd35db8

www-client/firefox: fix hard-coded libc.so.6 for ctypes.util.find_library('c')

Mozilla codebase starting with version 36 had a couple of hard-coded 
CDLL('libc.so.6'),
which causes compilation failures on linu systems that don't have a libc.so.6, 
such
as ia64 and possibly others.

Gentoo Bug: 557956

Package-Manager: portage-2.2.20

 .../firefox-38-dont-hardcode-libc-soname.patch     | 22 ++++++++++++++++++++++
 www-client/firefox/firefox-38.2.0.ebuild           |  1 +
 www-client/firefox/firefox-40.0.2.ebuild           |  2 +-
 3 files changed, 24 insertions(+), 1 deletion(-)

diff --git 
a/www-client/firefox/files/firefox-38-dont-hardcode-libc-soname.patch 
b/www-client/firefox/files/firefox-38-dont-hardcode-libc-soname.patch
new file mode 100644
index 0000000..83779bc
--- /dev/null
+++ b/www-client/firefox/files/firefox-38-dont-hardcode-libc-soname.patch
@@ -0,0 +1,22 @@
+--- a/testing/mozbase/mozinfo/mozinfo/mozinfo.py       2015-08-06 
13:41:02.000000000 -0400
++++ b/testing/mozbase/mozinfo/mozinfo/mozinfo.py       2015-08-21 
21:17:00.320766493 -0400
+@@ -96,7 +96,7 @@
+     import errno
+     PR_SET_SECCOMP = 22
+     SECCOMP_MODE_FILTER = 2
+-    ctypes.CDLL("libc.so.6", use_errno=True).prctl(PR_SET_SECCOMP, 
SECCOMP_MODE_FILTER, 0)
++    ctypes.CDLL(ctypes.util.find_library('c'), 
use_errno=True).prctl(PR_SET_SECCOMP, SECCOMP_MODE_FILTER, 0)
+     info['has_sandbox'] = ctypes.get_errno() == errno.EFAULT
+ else:
+     info['has_sandbox'] = True
+--- a/testing/mochitest/runtests.py    2015-08-06 13:41:02.000000000 -0400
++++ b/testing/mochitest/runtests.py    2015-08-21 21:17:36.060766000 -0400
+@@ -1097,7 +1097,7 @@
+     if not mozinfo.isLinux:
+         return False, ''
+ 
+-    libc = ctypes.cdll.LoadLibrary('libc.so.6')
++    libc = ctypes.cdll.LoadLibrary(ctypes.util.find_library('c'))
+     O_RDWR = 2
+     # These are from linux/videodev2.h
+ 

diff --git a/www-client/firefox/firefox-38.2.0.ebuild 
b/www-client/firefox/firefox-38.2.0.ebuild
index 7d755db..c83df85 100644
--- a/www-client/firefox/firefox-38.2.0.ebuild
+++ b/www-client/firefox/firefox-38.2.0.ebuild
@@ -140,6 +140,7 @@ src_prepare() {
        EPATCH_SUFFIX="patch" \
        EPATCH_FORCE="yes" \
        epatch "${WORKDIR}/firefox"
+       epatch "${FILESDIR}"/${PN}-38-dont-hardcode-libc-soname.patch
 
        # Allow user to apply any additional patches without modifing ebuild
        epatch_user

diff --git a/www-client/firefox/firefox-40.0.2.ebuild 
b/www-client/firefox/firefox-40.0.2.ebuild
index 6bf44be..b7f8218 100644
--- a/www-client/firefox/firefox-40.0.2.ebuild
+++ b/www-client/firefox/firefox-40.0.2.ebuild
@@ -143,7 +143,7 @@ src_prepare() {
        EPATCH_EXCLUDE="8010_bug114311-freetype26.patch" \
        epatch "${WORKDIR}/firefox"
        epatch "${FILESDIR}"/${PN}-38-hppa-js-syntax-error.patch #556196
-
+       epatch "${FILESDIR}"/${PN}-38-dont-hardcode-libc-soname.patch #557956
        # Allow user to apply any additional patches without modifing ebuild
        epatch_user
 

Reply via email to