public inbox for gentoo-dev@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-dev] Re: [gentoo-commits] gentoo-x86 commit in sys-devel/llvm: llvm-3.4.ebuild llvm-9999.ebuild ChangeLog
       [not found] <20140401172402.597B22005E@flycatcher.gentoo.org>
@ 2014-04-02 23:33 ` hasufell
  0 siblings, 0 replies; only message in thread
From: hasufell @ 2014-04-02 23:33 UTC (permalink / raw
  To: gentoo-dev; +Cc: mgorny, clang, multilib

Maybe it is just me, but I take the chance and responsibility.

This commit caused /usr/bin/clang being 32bit on my amd64 system. I
compiled it 3 times.

I have reverted the commit for the live ebuild, reverted it for 3.4-r1
and hardmasked 3.4 to ensure that people who unmasked 3.4 on stable arch
will get the fix as well.

The breakage is not immediate, depending on what you compiled. I noticed
it only after a chain of 3-4 packages that failed to link at some point.



Michal Gorny (mgorny):
> mgorny      14/04/01 17:24:02
> 
>   Modified:             llvm-3.4.ebuild llvm-9999.ebuild ChangeLog
>   Log:
>   Use alternate root install instead of dumb removal to work-around non-clobber install target. Use MULTILIB_CHOST_TOOLS rather than inline code to handle llvm-config, bug #506398.
>   
>   (Portage version: 2.2.10/cvs/Linux x86_64, signed Manifest commit with key EFB4464E!)
> 
> Revision  Changes    Path
> 1.10                 sys-devel/llvm/llvm-3.4.ebuild
> 
> file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-devel/llvm/llvm-3.4.ebuild?rev=1.10&view=markup
> plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-devel/llvm/llvm-3.4.ebuild?rev=1.10&content-type=text/plain
> diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-devel/llvm/llvm-3.4.ebuild?r1=1.9&r2=1.10
> 
> Index: llvm-3.4.ebuild
> ===================================================================
> RCS file: /var/cvsroot/gentoo-x86/sys-devel/llvm/llvm-3.4.ebuild,v
> retrieving revision 1.9
> retrieving revision 1.10
> diff -u -r1.9 -r1.10
> --- llvm-3.4.ebuild	31 Mar 2014 21:21:24 -0000	1.9
> +++ llvm-3.4.ebuild	1 Apr 2014 17:24:02 -0000	1.10
> @@ -1,13 +1,13 @@
>  # Copyright 1999-2014 Gentoo Foundation
>  # Distributed under the terms of the GNU General Public License v2
> -# $Header: /var/cvsroot/gentoo-x86/sys-devel/llvm/llvm-3.4.ebuild,v 1.9 2014/03/31 21:21:24 mgorny Exp $
> +# $Header: /var/cvsroot/gentoo-x86/sys-devel/llvm/llvm-3.4.ebuild,v 1.10 2014/04/01 17:24:02 mgorny Exp $
>  
>  EAPI=5
>  
>  PYTHON_COMPAT=( python{2_6,2_7} pypy pypy2_0 )
>  
> -inherit cmake-utils eutils flag-o-matic multilib multilib-minimal \
> -	python-r1 toolchain-funcs pax-utils check-reqs
> +inherit cmake-utils eutils flag-o-matic multibuild multilib \
> +	multilib-minimal python-r1 toolchain-funcs pax-utils check-reqs
>  
>  DESCRIPTION="Low Level Virtual Machine"
>  HOMEPAGE="http://llvm.org/"
> @@ -69,6 +69,10 @@
>  # so why did it call itself ninja in the first place?
>  CMAKE_MAKEFILE_GENERATOR=emake
>  
> +MULTILIB_CHOST_TOOLS=(
> +	/usr/bin/llvm-config
> +)
> +
>  pkg_pretend() {
>  	# in megs
>  	# !clang !debug !multitarget -O2       400
> @@ -387,25 +391,15 @@
>  	local MAKEARGS
>  	set_makeargs
>  
> -	emake "${MAKEARGS[@]}" DESTDIR="${D}" install
> +	local root=${D}/_${ABI}
>  
> -	# Preserve ABI-variant of llvm-config.
> -	dodir /tmp
> -	mv "${ED}"/usr/bin/llvm-config "${ED}"/tmp/"${CHOST}"-llvm-config || die
> +	emake "${MAKEARGS[@]}" DESTDIR="${root}" install
> +	multibuild_merge_root "${root}" "${D}"
>  
>  	if ! multilib_build_binaries; then
> -		# Drop all the executables since LLVM doesn't like to
> -		# clobber when installing.
> -		rm -r "${ED}"/usr/bin || die
> -
>  		# Backwards compat, will be happily removed someday.
> -		dosym "${CHOST}"-llvm-config /tmp/llvm-config.${ABI}
> +		dosym "${CHOST}"-llvm-config /usr/bin/llvm-config.${ABI}
>  	else
> -		# Move files back.
> -		mv "${ED}"/tmp/*llvm-config* "${ED}"/usr/bin || die
> -		# Create a symlink for host's llvm-config.
> -		dosym "${CHOST}"-llvm-config /usr/bin/llvm-config
> -
>  		# Install docs.
>  		if use doc; then
>  			doman "${S}"/docs/_build/man/*.1
> 
> 
> 
> 1.80                 sys-devel/llvm/llvm-9999.ebuild
> 
> file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-devel/llvm/llvm-9999.ebuild?rev=1.80&view=markup
> plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-devel/llvm/llvm-9999.ebuild?rev=1.80&content-type=text/plain
> diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-devel/llvm/llvm-9999.ebuild?r1=1.79&r2=1.80
> 
> Index: llvm-9999.ebuild
> ===================================================================
> RCS file: /var/cvsroot/gentoo-x86/sys-devel/llvm/llvm-9999.ebuild,v
> retrieving revision 1.79
> retrieving revision 1.80
> diff -u -r1.79 -r1.80
> --- llvm-9999.ebuild	11 Mar 2014 18:40:17 -0000	1.79
> +++ llvm-9999.ebuild	1 Apr 2014 17:24:02 -0000	1.80
> @@ -1,13 +1,13 @@
>  # Copyright 1999-2014 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.79 2014/03/11 18:40:17 mgorny Exp $
> +# $Header: /var/cvsroot/gentoo-x86/sys-devel/llvm/llvm-9999.ebuild,v 1.80 2014/04/01 17:24:02 mgorny Exp $
>  
>  EAPI=5
>  
>  PYTHON_COMPAT=( python{2_5,2_6,2_7} pypy{1_9,2_0} )
>  
> -inherit cmake-utils eutils flag-o-matic git-r3 multilib multilib-minimal \
> -	python-r1 toolchain-funcs pax-utils check-reqs
> +inherit cmake-utils eutils flag-o-matic git-r3 multibuild multilib \
> +	multilib-minimal python-r1 toolchain-funcs pax-utils check-reqs
>  
>  DESCRIPTION="Low Level Virtual Machine"
>  HOMEPAGE="http://llvm.org/"
> @@ -65,6 +65,10 @@
>  # so why did it call itself ninja in the first place?
>  CMAKE_MAKEFILE_GENERATOR=emake
>  
> +MULTILIB_CHOST_TOOLS=(
> +	/usr/bin/llvm-config
> +)
> +
>  pkg_pretend() {
>  	# in megs
>  	# !clang !debug !multitarget -O2       400
> @@ -371,25 +375,15 @@
>  	local MAKEARGS
>  	set_makeargs
>  
> -	emake "${MAKEARGS[@]}" DESTDIR="${D}" install
> +	local root=${D}/_${ABI}
>  
> -	# Preserve ABI-variant of llvm-config.
> -	dodir /tmp
> -	mv "${ED}"/usr/bin/llvm-config "${ED}"/tmp/"${CHOST}"-llvm-config || die
> +	emake "${MAKEARGS[@]}" DESTDIR="${root}" install
> +	multibuild_merge_root "${root}" "${D}"
>  
>  	if ! multilib_build_binaries; then
> -		# Drop all the executables since LLVM doesn't like to
> -		# clobber when installing.
> -		rm -r "${ED}"/usr/bin || die
> -
>  		# Backwards compat, will be happily removed someday.
> -		dosym "${CHOST}"-llvm-config /tmp/llvm-config.${ABI}
> +		dosym "${CHOST}"-llvm-config /usr/bin/llvm-config.${ABI}
>  	else
> -		# Move files back.
> -		mv "${ED}"/tmp/*llvm-config* "${ED}"/usr/bin || die
> -		# Create a symlink for host's llvm-config.
> -		dosym "${CHOST}"-llvm-config /usr/bin/llvm-config
> -
>  		# Install docs.
>  		doman "${S}"/docs/_build/man/*.1
>  		use clang && doman "${T}"/clang.1
> 
> 
> 
> 1.184                sys-devel/llvm/ChangeLog
> 
> file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-devel/llvm/ChangeLog?rev=1.184&view=markup
> plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-devel/llvm/ChangeLog?rev=1.184&content-type=text/plain
> diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-devel/llvm/ChangeLog?r1=1.183&r2=1.184
> 
> Index: ChangeLog
> ===================================================================
> RCS file: /var/cvsroot/gentoo-x86/sys-devel/llvm/ChangeLog,v
> retrieving revision 1.183
> retrieving revision 1.184
> diff -u -r1.183 -r1.184
> --- ChangeLog	31 Mar 2014 21:21:24 -0000	1.183
> +++ ChangeLog	1 Apr 2014 17:24:02 -0000	1.184
> @@ -1,6 +1,12 @@
>  # ChangeLog for sys-devel/llvm
>  # Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2
> -# $Header: /var/cvsroot/gentoo-x86/sys-devel/llvm/ChangeLog,v 1.183 2014/03/31 21:21:24 mgorny Exp $
> +# $Header: /var/cvsroot/gentoo-x86/sys-devel/llvm/ChangeLog,v 1.184 2014/04/01 17:24:02 mgorny Exp $
> +
> +  01 Apr 2014; Michał Górny <mgorny@gentoo.org> llvm-3.4.ebuild,
> +  llvm-9999.ebuild:
> +  Use alternate root install instead of dumb removal to work-around non-clobber
> +  install target. Use MULTILIB_CHOST_TOOLS rather than inline code to handle
> +  llvm-config, bug #506398.
>  
>    31 Mar 2014; Michał Górny <mgorny@gentoo.org> llvm-3.3-r1.ebuild,
>    llvm-3.3-r3.ebuild, llvm-3.4.ebuild:
> 
> 
> 
> 



^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2014-04-02 23:33 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <20140401172402.597B22005E@flycatcher.gentoo.org>
2014-04-02 23:33 ` [gentoo-dev] Re: [gentoo-commits] gentoo-x86 commit in sys-devel/llvm: llvm-3.4.ebuild llvm-9999.ebuild ChangeLog hasufell

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox