Summary: | dev-lang/dmd-bin-2.012 and dev-lang/dmd-bin-1.028 version bump | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | David Ferenczi <raggae> |
Component: | New packages | Assignee: | No maintainer - Look at https://wiki.gentoo.org/wiki/Project:Proxy_Maintainers if you want to take care of it <maintainer-needed> |
Status: | RESOLVED WONTFIX | ||
Severity: | enhancement | CC: | bique.alexandre, darkjames, dschridde+gentoobugs, korionis, Marco.Leise, markusle, srunni, treecleaner, virkony |
Priority: | High | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
URL: | http://www.digitalmars.com/d/2.0/changelog.html | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: |
working ebuild
Fixed ebuild Makefile patch for header generation (currently unused) Ebuild for 2.014 Updated ebuild for 2.015 |
Description
David Ferenczi
2008-03-09 05:45:55 UTC
Tried renaming the ebuild, but that seems to result in this behaviour: >>> Compiling source in /var/tmp/portage/dev-lang/dmd-bin-2.012/work ... sed: couldn't open temporary file ./sedeXpoTd: 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 complex contracts conv cover cpuid cstream ctype date dateparse demangle encoding file format functional gc getopt hiddenfunc intrinsic iterator loader math 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 xml 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 web/phobos obj and: >>> Install dmd-bin-2.012 into /var/tmp/portage/dev-lang/dmd-bin-2.012/image/ category dev-lang install: cannot stat `samples/d/*': No such file or directory Though this also happens with 2.008-r1 (bug #214623)... Created attachment 147209 [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.
Created attachment 147934 [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 147935 [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 Created attachment 156563 [details]
Ebuild for 2.014
header generation patches were included upstream.
The header generation still does not work though. (So make ... headers should be removed from the ebuild in case it is really imported into the tree.)
Created attachment 158113 [details] Updated ebuild for 2.015 Same ebuild as before, just removed STDDOC hack and adapted sed command to the whitespace changes in 2.015. This ebuild is still affected by http://d.puremagic.com/issues/show_bug.cgi?id=1963 (broken header generation). I hope Digitalmars will fix it before this ebuild hits the tree (otherwise just remove "make ... headers"). http://d.puremagic.com/issues/show_bug.cgi?id=1940 (broken build on x86_64) is still open, though worked around using sed magic in the ebuild. http://d.puremagic.com/issues/show_bug.cgi?id=2145 (broken html building) was fixed for this release. A generic buildsystem-improvement bug has been filed: http://d.puremagic.com/issues/show_bug.cgi?id=2164. dmd-bin-1.031 was released 18th June ( http://www.digitalmars.com/d/1.0/changelog.html#new1_031 ) Moving to herd since Anant left Gentoo. Just a note, that the current versions are 1.042 and 2.027 Another note: I will not maintain these ebuilds any longer, until Digital Mars has fixed the build-system-mess. They are making the same mistakes over and over again, and with every new release they introduce new build problems. Fixing all those stopped being fun several versions ago. (In reply to comment #11) > Another note: I will not maintain these ebuilds any longer, until Digital Mars > has fixed the build-system-mess. > They are making the same mistakes over and over again, and with every new > release they introduce new build problems. Fixing all those stopped being fun > several versions ago. > Hi Dennis, many thanks for maintaining this ebuild, so far. I'm really sorry that you've abandoned, but I know well that some bugs are quite neglected in dmd. But there is a movement towards a new compiler platform (llvm), so dmd is not the only choice any more. Another great news is that there is a d-language overlay (d-overlay: http://www.assembla.com/wiki/show/d-overlay), if you are interested in. (I would be glad to see these ebuilds in the main portage tree.) *** Bug 269619 has been marked as a duplicate of this bug. *** *** Bug 355527 has been marked as a duplicate of this bug. *** *** Bug 490794 has been marked as a duplicate of this bug. *** CCing treecleaners as looks like nobody wants to maintain/update/fix this package dmd-bin in isolation would work. But the eco-system is more similar to Python right now. We have three production ready compilers (dmd, gdc, ldc) with their own version of the runtime and little ABI compatibility across them. As soon as you do more than "Hello, world!", for example a GUI application with shared D library dependencies installed by portage things hit the fan. If you are interested in sorting this out, drop me a note. The latest hacks can be found here: https://github.com/gentoo/dlang Like Python this overlay uses a home brewed USE-expand system, allowing D libraries to be installed per compiler and language version and also to blacklist compiler versions for packages, as not all packages compile on a wide range of compilers. To complicate things more, >=dmd-2.069 (and in parts 2.068) is self-hosted and requires an existing D compiler, so currently you have to emerge dmd-2.067, then dmd-2.069[dmd-2_067], then dmd-2.069[dmd-2_069] to get the latest dmd compiled with itself. It's semi-user-friendly right now compared to gcc which does the boot-strapping itself. :) Package removed. |