summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFabian Groffen <grobian@gentoo.org>2011-11-24 08:56:51 +0000
committerFabian Groffen <grobian@gentoo.org>2011-11-24 08:56:51 +0000
commit49e8b2480b89349bf8e5e8cc90cff4797600fe75 (patch)
treed57b451370eb0747450429fcffeee74bcfdb9828 /sys-devel/llvm
parentRemove spurious backup file in info dir, bug 391633 comment #3. (diff)
downloadgentoo-2-49e8b2480b89349bf8e5e8cc90cff4797600fe75.tar.gz
gentoo-2-49e8b2480b89349bf8e5e8cc90cff4797600fe75.tar.bz2
gentoo-2-49e8b2480b89349bf8e5e8cc90cff4797600fe75.zip
Fix install_name pointer to libLLVM-x.y.dylib in a more flexible way to avoid bugs like #391763
(Portage version: 2.2.01.19572-prefix/cvs/SunOS i386)
Diffstat (limited to 'sys-devel/llvm')
-rw-r--r--sys-devel/llvm/ChangeLog7
-rw-r--r--sys-devel/llvm/llvm-2.8-r2.ebuild8
-rw-r--r--sys-devel/llvm/llvm-2.9-r2.ebuild8
-rw-r--r--sys-devel/llvm/llvm-3.0_rc3.ebuild8
-rw-r--r--sys-devel/llvm/llvm-9999.ebuild8
5 files changed, 26 insertions, 13 deletions
diff --git a/sys-devel/llvm/ChangeLog b/sys-devel/llvm/ChangeLog
index ccfe7217efe9..60012d580fa9 100644
--- a/sys-devel/llvm/ChangeLog
+++ b/sys-devel/llvm/ChangeLog
@@ -1,6 +1,11 @@
# ChangeLog for sys-devel/llvm
# Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sys-devel/llvm/ChangeLog,v 1.51 2011/11/22 13:42:23 voyageur Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-devel/llvm/ChangeLog,v 1.52 2011/11/24 08:56:51 grobian Exp $
+
+ 24 Nov 2011; Fabian Groffen <grobian@gentoo.org> llvm-2.8-r2.ebuild,
+ llvm-9999.ebuild, llvm-2.9-r2.ebuild, llvm-3.0_rc3.ebuild:
+ Fix install_name pointer to libLLVM-x.y.dylib in a more flexible way to avoid
+ bugs like #391763
22 Nov 2011; Bernard Cafarelli <voyageur@gentoo.org> llvm-3.0_rc3.ebuild,
metadata.xml:
diff --git a/sys-devel/llvm/llvm-2.8-r2.ebuild b/sys-devel/llvm/llvm-2.8-r2.ebuild
index 9a5ee3e983ac..100bb598ff8b 100644
--- a/sys-devel/llvm/llvm-2.8-r2.ebuild
+++ b/sys-devel/llvm/llvm-2.8-r2.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2011 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-devel/llvm/llvm-2.8-r2.ebuild,v 1.7 2011/10/04 11:43:37 voyageur Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-devel/llvm/llvm-2.8-r2.ebuild,v 1.8 2011/11/24 08:56:51 grobian Exp $
EAPI="3"
inherit eutils multilib toolchain-funcs
@@ -160,6 +160,7 @@ src_install() {
# Fix install_names on Darwin. The build system is too complicated
# to just fix this, so we correct it post-install
+ local lib= f= odylib=
if [[ ${CHOST} == *-darwin* ]] ; then
for lib in lib{EnhancedDisassembly,LLVM-${PV},BugpointPasses,LLVMHello,LTO,profile_rt}.dylib ; do
# libEnhancedDisassembly is Darwin10 only, so non-fatal
@@ -171,9 +172,10 @@ src_install() {
eend $?
done
for f in "${ED}"/usr/bin/* "${ED}"/usr/lib/${PN}/libLTO.dylib ; do
- ebegin "fixing install_name reference to libLLVM-${PV}.dylib of ${f##*/}"
+ odylib=$(scanmacho -BF'%n#f' "${f}" | tr ',' '\n' | grep libLLVM-${PV}.dylib)
+ ebegin "fixing install_name reference to ${odylib} of ${f##*/}"
install_name_tool \
- -change "${S}"/Release/lib/libLLVM-${PV}.dylib \
+ -change "${odylib}" \
"${EPREFIX}"/usr/lib/${PN}/libLLVM-${PV}.dylib \
"${f}"
eend $?
diff --git a/sys-devel/llvm/llvm-2.9-r2.ebuild b/sys-devel/llvm/llvm-2.9-r2.ebuild
index a7d8b5983eeb..7243f1107fae 100644
--- a/sys-devel/llvm/llvm-2.9-r2.ebuild
+++ b/sys-devel/llvm/llvm-2.9-r2.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2011 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-devel/llvm/llvm-2.9-r2.ebuild,v 1.4 2011/11/17 18:50:50 phajdan.jr Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-devel/llvm/llvm-2.9-r2.ebuild,v 1.5 2011/11/24 08:56:51 grobian Exp $
EAPI="3"
inherit eutils flag-o-matic multilib toolchain-funcs
@@ -162,6 +162,7 @@ src_install() {
# Fix install_names on Darwin. The build system is too complicated
# to just fix this, so we correct it post-install
+ local lib= f= odylib=
if [[ ${CHOST} == *-darwin* ]] ; then
for lib in lib{EnhancedDisassembly,LLVM-${PV},LTO}.dylib {BugpointPasses,LLVMHello,profile_rt}.dylib ; do
# libEnhancedDisassembly is Darwin10 only, so non-fatal
@@ -173,9 +174,10 @@ src_install() {
eend $?
done
for f in "${ED}"/usr/bin/* "${ED}"/usr/lib/${PN}/libLTO.dylib ; do
- ebegin "fixing install_name reference to libLLVM-${PV}.dylib of ${f##*/}"
+ odylib=$(scanmacho -BF'%n#f' "${f}" | tr ',' '\n' | grep libLLVM-${PV}.dylib)
+ ebegin "fixing install_name reference to ${odylib} of ${f##*/}"
install_name_tool \
- -change "@executable_path/../lib/libLLVM-${PV}.dylib" \
+ -change "${odylib}" \
"${EPREFIX}"/usr/lib/${PN}/libLLVM-${PV}.dylib \
"${f}"
eend $?
diff --git a/sys-devel/llvm/llvm-3.0_rc3.ebuild b/sys-devel/llvm/llvm-3.0_rc3.ebuild
index 4114f5673542..c763098c7233 100644
--- a/sys-devel/llvm/llvm-3.0_rc3.ebuild
+++ b/sys-devel/llvm/llvm-3.0_rc3.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2011 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-devel/llvm/llvm-3.0_rc3.ebuild,v 1.2 2011/11/22 13:42:23 voyageur Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-devel/llvm/llvm-3.0_rc3.ebuild,v 1.3 2011/11/24 08:56:51 grobian Exp $
EAPI="3"
inherit eutils flag-o-matic multilib toolchain-funcs
@@ -141,6 +141,7 @@ src_install() {
# Fix install_names on Darwin. The build system is too complicated
# to just fix this, so we correct it post-install
+ local lib= f= odylib=
if [[ ${CHOST} == *-darwin* ]] ; then
for lib in lib{EnhancedDisassembly,LLVM-${PV},LTO}.dylib {BugpointPasses,LLVMHello,profile_rt}.dylib ; do
# libEnhancedDisassembly is Darwin10 only, so non-fatal
@@ -152,9 +153,10 @@ src_install() {
eend $?
done
for f in "${ED}"/usr/bin/* "${ED}"/usr/lib/${PN}/libLTO.dylib ; do
- ebegin "fixing install_name reference to libLLVM-${PV}.dylib of ${f##*/}"
+ odylib=$(scanmacho -BF'%n#f' "${f}" | tr ',' '\n' | grep libLLVM-${PV}.dylib)
+ ebegin "fixing install_name reference to ${odylib} of ${f##*/}"
install_name_tool \
- -change "@executable_path/../lib/libLLVM-${PV}.dylib" \
+ -change "${odylib}" \
"${EPREFIX}"/usr/lib/${PN}/libLLVM-${PV}.dylib \
"${f}"
eend $?
diff --git a/sys-devel/llvm/llvm-9999.ebuild b/sys-devel/llvm/llvm-9999.ebuild
index 171369e9b8b6..e0304fbe1c08 100644
--- a/sys-devel/llvm/llvm-9999.ebuild
+++ b/sys-devel/llvm/llvm-9999.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2011 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-devel/llvm/llvm-9999.ebuild,v 1.16 2011/11/09 15:11:05 voyageur Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-devel/llvm/llvm-9999.ebuild,v 1.17 2011/11/24 08:56:51 grobian Exp $
EAPI="3"
inherit subversion eutils flag-o-matic multilib toolchain-funcs
@@ -132,6 +132,7 @@ src_install() {
# Fix install_names on Darwin. The build system is too complicated
# to just fix this, so we correct it post-install
+ local lib= f= odylib=
if [[ ${CHOST} == *-darwin* ]] ; then
for lib in lib{EnhancedDisassembly,LLVM-${PV},LTO}.dylib {BugpointPasses,LLVMHello,profile_rt}.dylib ; do
# libEnhancedDisassembly is Darwin10 only, so non-fatal
@@ -143,9 +144,10 @@ src_install() {
eend $?
done
for f in "${ED}"/usr/bin/* "${ED}"/usr/lib/${PN}/libLTO.dylib ; do
- ebegin "fixing install_name reference to libLLVM-${PV}.dylib of ${f##*/}"
+ odylib=$(scanmacho -BF'%n#f' "${f}" | tr ',' '\n' | grep libLLVM-${PV}.dylib)
+ ebegin "fixing install_name reference to ${odylib} of ${f##*/}"
install_name_tool \
- -change "@executable_path/../lib/libLLVM-${PV}.dylib" \
+ -change "${odylib}" \
"${EPREFIX}"/usr/lib/${PN}/libLLVM-${PV}.dylib \
"${f}"
eend $?