www.digitalmars.com         C & C++   DMDScript  

D.gnu - One (RPM) Spec to Rule Them All

reply =?ISO-8859-1?Q?Anders_F_Bj=F6rklund?= <afb algonet.se> writes:
... and in the Darkness bind them:
http://www.algonet.se/~afb/d/gdc.spec
(yes, that's the same URL as last time)

This new and improved GDC spec is now
updated to version 0.17, and can build
versions both in /usr and in /opt/gdc.


Here is how you build a /usr version,
matching your current GCC compiler:

rpmbuild -bb gdc.spec
(you will need the GCC/GDC tarballs)

And here is you build an alternative
version, bundled with both GCC/G++:

rpmbuild -bb --with opt --define 'gcc 4.0.2' gdc.spec
(you can change the GCC version here)

To build on ancient systems that have GCC 2.95 for
their system gcc compiler, you can use "--with gcc3"
and then install any "gcc3" RPM, as required by GDC.


This will build binary RPMS, like the following :

2.4M    gdc-0.17-0.i386.rpm
5.3M    gdc-c-0.17-0.i386.rpm
12M     gdc-c++-0.17-0.i386.rpm

2.9M    opt-gdc-0.17-0.i386.rpm
8.8M    opt-gdc-c-0.17-0.i386.rpm
12M     opt-gdc-c++-0.17-0.i386.rpm

Here you can either just install "gdc" RPM
and use your regular gcc and gcc-c++ RPMS,
or you can replace with gdc-c and gdc-c++.

Or you can install the opt-gdc packages,
if you prefer to leave the system compiler
alone (or if it doesn't work, too patched)


So now when David gets the new SourceForge project
for GDC up, he can offer RPMS for popular distros ?

By default it will build the SRPM *without* the GCC
tarballs (only the GDC one), change this --with src :

920K    gdc-0.17-0.nosrc.rpm
16M     gdc-0.17-0.src.rpm


Post your successes and failures, building packages...
--anders


PS. I thought about including the GCC version too in
     the RPM version, but in the end didn't. Thoughts ?

     Also thought about naming the two gdc subpackages
     "gcc" and "g++" instead of "c" and "c++" like now.
Dec 07 2005
next sibling parent reply Peri Hankey <mpah thegreen.co.uk> writes:
Anders F Björklund wrote:
 ... and in the Darkness bind them:
 http://www.algonet.se/~afb/d/gdc.spec
 (yes, that's the same URL as last time)
 
 This new and improved GDC spec is now
 updated to version 0.17, and can build
 versions both in /usr and in /opt/gdc.
 
 
 Here is how you build a /usr version,
 matching your current GCC compiler:
 
 rpmbuild -bb gdc.spec
 (you will need the GCC/GDC tarballs)
 
 And here is you build an alternative
 version, bundled with both GCC/G++:
 
 rpmbuild -bb --with opt --define 'gcc 4.0.2' gdc.spec
 (you can change the GCC version here)
 
 To build on ancient systems that have GCC 2.95 for
 their system gcc compiler, you can use "--with gcc3"
 and then install any "gcc3" RPM, as required by GDC.
 
 
 This will build binary RPMS, like the following :
 
 2.4M    gdc-0.17-0.i386.rpm
 5.3M    gdc-c-0.17-0.i386.rpm
 12M     gdc-c++-0.17-0.i386.rpm
 
 2.9M    opt-gdc-0.17-0.i386.rpm
 8.8M    opt-gdc-c-0.17-0.i386.rpm
 12M     opt-gdc-c++-0.17-0.i386.rpm
 
 Here you can either just install "gdc" RPM
 and use your regular gcc and gcc-c++ RPMS,
 or you can replace with gdc-c and gdc-c++.
 
 Or you can install the opt-gdc packages,
 if you prefer to leave the system compiler
 alone (or if it doesn't work, too patched)
 
 
 So now when David gets the new SourceForge project
 for GDC up, he can offer RPMS for popular distros ?
 
 By default it will build the SRPM *without* the GCC
 tarballs (only the GDC one), change this --with src :
 
 920K    gdc-0.17-0.nosrc.rpm
 16M     gdc-0.17-0.src.rpm
 
 
 Post your successes and failures, building packages...
 --anders
 
 
 PS. I thought about including the GCC version too in
     the RPM version, but in the end didn't. Thoughts ?
 
     Also thought about naming the two gdc subpackages
     "gcc" and "g++" instead of "c" and "c++" like now.

Sounds good - better than mine, which was in any case originally yours. Peri -- http://languagemachine.sourceforge.net - The language machine
Dec 07 2005
parent =?ISO-8859-1?Q?Anders_F_Bj=F6rklund?= <afb algonet.se> writes:
Peri Hankey wrote:

 Sounds good - better than mine, which was in any case originally yours.

Biggest change is that it is much more "dynamic" now, and that I moved some files from the D to the C package to allow for better co-existance with the system compiler when you don't want/need to install a new GCC. Otherwise it's pretty much the same packaging. --anders
Dec 08 2005
prev sibling parent reply Neal Becker <ndbecker2 gmail.com> writes:
Sorry, newbie here.  I'd like to build on fedora fc6 (x86_64).

rpmbuild
error: File /home/nbecker/RPM/SOURCES/gcc-core-4.1.1.tar.bz2: No such file or
directory

I grabbed the current fc6 gcc srpm, which includes:
gcc-4.1.1-20061011.tar.bz2
and a bunch of patches.

What do I need to do?
Dec 08 2006
parent =?ISO-8859-1?Q?Anders_F_Bj=F6rklund?= <afb algonet.se> writes:
Neal Becker wrote:

 Sorry, newbie here.  I'd like to build on fedora fc6 (x86_64).
 
 rpmbuild
 error: File /home/nbecker/RPM/SOURCES/gcc-core-4.1.1.tar.bz2: No such file or
directory
 
 I grabbed the current fc6 gcc srpm, which includes:
 gcc-4.1.1-20061011.tar.bz2
 and a bunch of patches.
 
 What do I need to do?

Set GCC to a supported version like 4.0.3, and download the sources. (GCC 4.1 doesn't work, especially not FC) The full URL should be listed in the RPM specfile, I use "spectool": http://dag.wieers.com/packages/spectool/ --anders
Dec 08 2006