diff options
author | Fabian Groffen <grobian@gentoo.org> | 2011-11-24 08:56:51 +0000 |
---|---|---|
committer | Fabian Groffen <grobian@gentoo.org> | 2011-11-24 08:56:51 +0000 |
commit | 49e8b2480b89349bf8e5e8cc90cff4797600fe75 (patch) | |
tree | d57b451370eb0747450429fcffeee74bcfdb9828 /sys-devel/llvm | |
parent | Remove spurious backup file in info dir, bug 391633 comment #3. (diff) | |
download | gentoo-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/ChangeLog | 7 | ||||
-rw-r--r-- | sys-devel/llvm/llvm-2.8-r2.ebuild | 8 | ||||
-rw-r--r-- | sys-devel/llvm/llvm-2.9-r2.ebuild | 8 | ||||
-rw-r--r-- | sys-devel/llvm/llvm-3.0_rc3.ebuild | 8 | ||||
-rw-r--r-- | sys-devel/llvm/llvm-9999.ebuild | 8 |
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 $? |