December 18, 2004
I have made RPM packages for installing
the D compilers: DMD 0.109 and GDC 0.8
http://www.digitalmars.com/d/dcompiler.html#linux
http://home.earthlink.net/~dvdfrdmn/d/


The DMD compiler is not distributable,
and the GDC is a rather huge download,
so I am only posting the source RPMS...

You can make binary RPMS by adding missing
source files (listed below) to SOURCES, and:
rpmbuild --rebuild --target=i686 *.nosrc.rpm


You can build and run the Phobos unittest with:
--with unittest
Currently it breaks on: format.d, line 725/730

The unittest doesn't run cleanly on either DMD
or GDC, hopefully this is being addressed for
future versions of the Phobos runtime library ?


I also did manual pages, that were missing ?
(they are also in the .nosrc.rpm files below)

GDC should build for the usual GCC suspects,
but DMD requires Linux and X86 (it's binary).

Share and Enjoy,
--anders


PS. The versions are at the top of the .spec,
so it should be easy to update in the future ?
Hopefully less patches and workarounds will be
needed then too, so "release" can go back to 1...


DMD
===
http://www.algonet.se/~afb/d/dmd-0.109-3.nosrc.rpm (8K)

> Source0: ftp://ftp.digitalmars.com/dmd.109.zip (2.9M)

RPMS
512K    dmd-0.109-3.i686.rpm
448K    phobos-0.109-3.i686.rpm

dmd:
/etc/dmd.conf
/usr/bin/dmd
/usr/bin/dumpobj
/usr/bin/obj2asm

phobos:
/usr/include/d/*
/usr/lib/libphobos.a


GDC
===
http://www.algonet.se/~afb/d/gdc-0.8-3.nosrc.rpm (12K)

> Source0: http://home.earthlink.net/~dvdfrdmn/d/gdc-0.8.tar.bz2 (756K)
> Source1: ftp://gcc.gnu.org/pub/gcc/releases/gcc-3.4.3/gcc-core-3.4.3.tar.bz2 (13M)
> Source2: ftp://gcc.gnu.org/pub/gcc/releases/gcc-3.4.3/gcc-g++-3.4.3.tar.bz2 (2.4M)
> Source3: ftp://gcc.gnu.org/pub/gcc/releases/gcc-3.4.3/gcc-java-3.4.3.tar.bz2 (4.5M)

RPMS
6.7M    gdc-0.8-3.i686.rpm
8.2M    gdc-c++-0.8-3.i686.rpm

gdc:
/opt/gdc/bin/cpp
/opt/gdc/bin/dmd
/opt/gdc/bin/gcc
/opt/gdc/bin/gccbug
/opt/gdc/bin/gcov
/opt/gdc/bin/gdc
/opt/gdc/include/d/*
/opt/gdc/lib/libiberty.a
/opt/gdc/lib/libphobos.a
/opt/gdc/lib/libphobos.spec
/opt/gdc/lib/gcc/i686-redhat-linux/3.4.3/*
/opt/gdc/libexec/gcc/i686-redhat-linux/3.4.3/*

gdc-c++:
/opt/gdc/include/c++/3.4.3/*
/opt/gdc/lib/libgcc_s.so
/opt/gdc/lib/libstdc++.a
/opt/gdc/lib/libstdc++.so
/opt/gdc/lib/libsupc++.a

Usage: (something like this)
export PATH="/opt/gdc/bin:$PATH"
export LD_LIBRARY_PATH="/opt/gdc/lib:$LD_LIBRARY_PATH"