Even though dmd-bin-2.008-r1 emerges sucessfully, there are errors in the emerge process: >>> Compiling source in /var/tmp/portage/dev-lang/dmd-bin-2.008-r1/work ... sed: couldn't open temporary file ./sed1ClEcS: Permission denied mkdir: cannot create directory `obj': Permission denied mkdir: cannot create directory `obj': Permission denied for m in algorithm array asserterror base64 bind bitarray bitmanip boxer compiler contracts conv cover cpuid cstream ctype date dateparse demangle file format functional gc getopt hiddenfunc intrinsic loader math math2 md5 metastrings mmfile moduleinit numeric openrj outbuffer outofmemory path perf process random regexp signals socket socketstream stdint stdio stream string switcherr syserror system thread traits typecons typetuple uni uri utf variant zip zlib; do echo public import std.$m\;; done > all_std_modules_generated.d /bin/sh: all_std_modules_generated.d: Permission denied make: *** [all_std_modules_generated.d] Error 1 cp: cannot stat `obj/release/libphobos2.a': No such file or directory rm -f libphobos2.a all_std_modules_generated.d rm -f -r doc obj >>> Source compiled. >>> Test phase [not enabled]: dev-lang/dmd-bin-2.008-r1 >>> Install dmd-bin-2.008-r1 into /var/tmp/portage/dev-lang/dmd-bin-2.008-r1/image/ category dev-lang install: cannot stat `samples/d/*': No such file or directory (This happens with 2.012 as well, see bug #212793.) Reproducible: Always Steps to Reproduce:
Created attachment 147210 [details] working ebuild The attached ebuild fixes the issues mentioned previously. It also fixes linking problems on x86_64 (linking i383 compiled files into a i386:x86_64 will not work). Additionaly it installs most docs now and the style is also (hopefully) improved.
PS: This ebuild builds 32bit binaries (and libs) even on x86_64. I simply could not get that binary dmd to output any x86_64 object files and thus had to make gcc use -m32. (Also when linking. Digitalmars apparently forgot that case...)
Created upstream bugs: http://d.puremagic.com/issues/show_bug.cgi?id=1940 http://d.puremagic.com/issues/show_bug.cgi?id=1939
Created attachment 147931 [details] Fixed ebuild Previous ebuild was broken, this should fix it. I did not install the contents of src/, which are needed because of the lack of headers in D. I wanted to generate headers using the -H switch and just install them (instead of all the sourcecode). That failed because of an upstream bug: http://d.puremagic.com/issues/show_bug.cgi?id=1963 I will attach the Makefile patch anyway, in case it is interesting, or Digitalmars fixes the problem before the Gentoo version bump happens.
Created attachment 147932 [details, diff] Makefile patch for header generation (currently unused)
I also submited the Makefile patch upstream: http://d.puremagic.com/issues/show_bug.cgi?id=1964
Moving to herd since Anant left Gentoo.
Patch has been incorporated upstreams. Also this version of dmd is long outdated. dmd can be built from source now, later versions are available through layman. This ebuild should just be removed from the tree as it isn't compatible with todays D libraries any more and doesn't reflect the current state of the language. (Open http://dlang.org/changelog.html#new2_008 and scroll upwards for all the changes since then.)
Package removed.