dev-lang/spidermonkey:38 - don't hardcode libc soname
authorIan Stakenvicius <axs@gentoo.org>
Sat, 13 Jan 2018 01:47:27 +0000 (20:47 -0500)
committerIan Stakenvicius <axs@gentoo.org>
Sat, 13 Jan 2018 01:47:56 +0000 (20:47 -0500)
This patch attempts to fix issues linking to libc on platforms
whos libc is not libc.so.6 (ie, ia64 and others).

Bug: http://bugs.gentoo.org/631574
Package-Manager: Portage-2.3.13, Repoman-2.3.3

dev-lang/spidermonkey/files/moz38-dont-hardcode-libc-soname.patch [new file with mode: 0644]
dev-lang/spidermonkey/spidermonkey-38.2.1_rc0.ebuild

diff --git a/dev-lang/spidermonkey/files/moz38-dont-hardcode-libc-soname.patch b/dev-lang/spidermonkey/files/moz38-dont-hardcode-libc-soname.patch
new file mode 100644 (file)
index 0000000..708c749
--- /dev/null
@@ -0,0 +1,15 @@
+--- a/testing/mozbase/mozinfo/mozinfo/mozinfo.py       2018-01-12 12:21:16.764318254 -0500
++++ b/testing/mozbase/mozinfo/mozinfo/mozinfo.py       2018-01-12 12:22:23.392069398 -0500
+@@ -93,10 +93,11 @@
+ if info['os'] == 'linux':
+     import ctypes
++    import ctypes.util
+     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
index 476c5c40b7851e572204ca85566f9fa67a979699..6b3861a9c18f975abd4d58b848833dbcc864ed41 100644 (file)
@@ -42,7 +42,8 @@ src_prepare() {
                "${WORKDIR}"/sm38/mozjs38-fix-tracelogger.patch \
                "${WORKDIR}"/sm38/mozjs38-copy-headers.patch \
                "${WORKDIR}"/sm38/mozjs38-pkg-config-version.patch \
-               "${WORKDIR}"/sm38/mozilla_configure_regexp_esr38.patch
+               "${WORKDIR}"/sm38/mozilla_configure_regexp_esr38.patch \
+               "${FILESDIR}"/moz38-dont-hardcode-libc-soname.patch
 
        eapply_user