Hi, I try to build ldc2 but i have a litlle problem: LDC2 need source file from the garbage collector named druntime and druntime for build need a compiler D2 as LDC2 so how i could package this ?
can i add druntime in same package as LDC2 ?
Le 21/01/2011 21:45, jonathan MERCIER a écrit :
Hi, I try to build ldc2 but i have a litlle problem: LDC2 need source file from the garbage collector named druntime and druntime for build need a compiler D2 as LDC2 so how i could package this ?
can i add druntime in same package as LDC2 ?
One way would be to drop a *-bootstrap package containing ldc2 and druntime, then you could build ldc2 and druntime. Off course, both packages should obsolete the bootstrap package. My fellow packagers might confirm this, but it might require approval from fesco.
best regards, H.
Le vendredi 21 janvier 2011 à 22:10 +0100, Haïkel Guémar a écrit :
Le 21/01/2011 21:45, jonathan MERCIER a écrit :
Hi, I try to build ldc2 but i have a litlle problem: LDC2 need source file from the garbage collector named druntime and druntime for build need a compiler D2 as LDC2 so how i could package this ?
can i add druntime in same package as LDC2 ?
One way would be to drop a *-bootstrap package containing ldc2 and druntime, then you could build ldc2 and druntime. Off course, both packages should obsolete the bootstrap package. My fellow packagers might confirm this, but it might require approval from fesco.
best regards, H.
Yeah exactly this sound great, what i need do for submit this request to fesco ?
On Fri, Jan 21, 2011 at 10:20:00PM +0100, jonathan MERCIER wrote:
Le vendredi 21 janvier 2011 à 22:10 +0100, Haïkel Guémar a écrit :
Le 21/01/2011 21:45, jonathan MERCIER a écrit :
Hi, I try to build ldc2 but i have a litlle problem: LDC2 need source file from the garbage collector named druntime and druntime for build need a compiler D2 as LDC2 so how i could package this ?
can i add druntime in same package as LDC2 ?
One way would be to drop a *-bootstrap package containing ldc2 and druntime, then you could build ldc2 and druntime. Off course, both packages should obsolete the bootstrap package. My fellow packagers might confirm this, but it might require approval from fesco.
best regards, H.
Yeah exactly this sound great, what i need do for submit this request to fesco ?
No request necessary: https://fedoraproject.org/wiki/Packaging:Treatment_Of_Bundled_Libraries#Boot...
You are allowed to bundle in order to bootstrap this in but no farther than that. There are a few packages that show basically how to do this -- you need a copy of the binary that you're bootstrapping with, the binary needs to be verifiably coming from upstream, you can keep that as Source1 or something. It's a good idea to use a with_bootstrap define to conditionalize the bootstrapping stuff so that your reviewer can see what's going to happen both during the bootstrap and afterwards.
An abridged example follows:
%global with_bootstrap 1
%if 0%{?with_bootstrap} Source1: druntime.so %else BuildRequires: druntime-devel Requires: druntime %endif
[...]
%if 0%{?with_bootstrap} cp %{SOURCE1} . %configure --with-druntime=druntime.so %else %configure %endif
When you put this up for review, you should also put the druntime package up for review that will be used once bootstrapping is done and link the reviews together so that people can see that all the requirements will be met. Once the package is approved you will want to build the packages into rawhide several times to stop using the bootstrap binaries as soon as possible. If you want to build for a released Fedora, you probaby want to have rel-eng add the ldc2 package to the buildroot so that you can build druntime and then rebuild ldc2 without the bundled druntime before promoting the package to the stable repository.
-Toshio
On Fri, Jan 21, 2011 at 09:45:33PM +0100, jonathan MERCIER wrote:
Hi, I try to build ldc2 but i have a litlle problem: LDC2 need source file from the garbage collector named druntime and druntime for build need a compiler D2 as LDC2 so how i could package this ?
can i add druntime in same package as LDC2 ?
You can't directly add this to Fedora yourself, but you can build a binary of the compiler, get rel-eng to upload it to the buildroot temporarily, then build both packages from source, then have rel-eng remove the binary. This is roughly what we did the first time we added MinGW:
http://fedoraproject.org/wiki/MinGW/Bootstrapping
Note this process is only required the very first time that MinGW was added (back in Fedora 7 or 8??). Since then we have built every version from source by using the previous version.
Rich.
devel@lists.stg.fedoraproject.org