Re: D support, not sure what to do
Russel Winder <[email protected]>
| Newsgroups | gmane.comp.programming.tools.scons.devel |
|---|---|
| Message-ID | <[email protected]> |
On Fri, 2017-04-07 at 21:51 +0200, Jean-Baptiste Lab wrote: > Hi list, > > This is mainly directed at Russell, but I hope he and I are not the > only one willing to build D code with SCons. There are others out there. Dub is not universally liked as a build tool, there are SCons, Meson and CMake likers. > I have a pet project of mine[1], mainly to scratch 2 itches: > - learning D > - helping me with managing my time > > I started using dub as the build system for it but started quickly > spending a lot of time fighting with it to get it to do things I > expected it to be able to do (installing stuff, integrating with > system dependencies, handling translations, etc) instead of actually > coding the thing. I even submitted patches. > Eventually, I acknowledge that dub wasn't either quite there yet or > simply that I was using the wrong wrench to nail that thing (?). > Anyway, what I ended up doing (which I must admit is pretty much what > I always end up doing) was going with SCons which doesn't quite do > what I want, but most of the time is halfway there because of its > flexibility. I have had to finally allow myself to be drawn into using Dub. It has at least one fundamental flaw when it comes to building downloaded packages, but if you restrict to "dub fetch" for just getting the source code, it is OK. > I implemented a few wrappers and utilities around the D builders in > SCons [2] (unit test builder, ddoc builder, etc) and am now up to a > point where I think they're worth sharing, at least with you guys. I was (but then had to switch to CMake and Meson which already have this) trying to create a GNUInstall toolkit for doing an install in an XDG compliant way. As far as I know there is no official SCons tool for this. In fact is this a tool or just a package for import into a SConstruct or SConscript file? Should we be making a distinction and supporting both equally? I think SCons needs a resurgence of activity making it trivial to get extra support tooling in place. The infrastructure is there, it just needs a layer on top to make it a trivial UX. Clearly using Git, Mercurial, or Bazaar (though Git has become the only one these days) allows people to have their own repositories for tools and packages. This part of the infrastructure now just works, but you have to use it correctly. I think we need to ramp up centralising vetted and tested tools and support packages to the central repository, and then have a command to install and uninstall tools and support packages from a project, user, or for the whole machine. > I am willing to help with D support in SCons as I hope this would > attract more people to both D and SCons (the best combo if you ask > me), but I don't have much time, a situation many of you I'm sure are > familiar with😉 Whilst Python is likely the best solution to write SCons support stuff in, maybe we could do it in D. :-) > I'm writing this on my phone while waiting for my kids to fall > asleep, I'll try to elaborate a bit more tomorrow.... > > [1] https://bitbucket.org/jbl/ttracker > [2] https://bitbucket.org/jbl/site_scons > […] -- Russel. ============================================================================= Dr Russel Winder t: +44 20 7585 2200 voip: sip:[email protected] 41 Buckmaster Road m: +44 7770 465 077 xmpp: [email protected] London SW11 1EN, UK w: www.russel.org.uk skype: russel_winder _______________________________________________ Scons-dev mailing list [email protected] https://pairlist2.pair.net/mailman/listinfo/scons-dev
signature.asc
(application/pgp-signature, 833 B)
-----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEETwDs1X+Beyaiaer41L3V0s7Np7gFAljo5WAACgkQ1L3V0s7N p7jDOw/+KRsKqDCrkcUxlQTcMu+xWfMdUh0WHMU/rSmMcrnEO2nHTPX77RbIlotA t94rtZrs3Xw5Z4ySDpN0CvSe2ZLuaau2g7s7zRyWNqgo7ch1OufFBhoZA3a5vAvs zd5jl0VqTAc6mVnjczBuunH8eCJuEjfEbqZOqOS7cQfBLdbTiWe9VNwGFa7bwBUC FbtKDmIpD0B64phLqiHxIP5QNzL7G1hgecKMR+PPYeUpTsiTcECyjZsViIwHyVOm 8v3aPRf5O8H0d+/Mkvy7TgHNP2LIhAPqmvVych0pvTa9ojpItF9aZgn2YobNctKV 8GVVfs5D8wUTJCchLSJeP5h/FB98DPkpPyKYRjYy9oJYRMdqVxF9jcc0QkFtJXUA MKiqZulIJhCYelNDdos5BpJ3YEaMX66QocYd7/L/4KpKEX25HdQVLWr+mHk8/e2e pOV/tRGxl9nbU9q33ieOaPs7siDK/B3GAEY76X9ILulX6voK8DdR578a0qBhl5d+ pSyTelAh0mZEu+uFySP1iB8BlkdWXQMdCdF4cCV+K2wnT5YCG9NjMeYIk77AeepB QLFj/jTNLlcaBrm+kK0zF8N3l+V3n7rgf9V645ZFHOhZw5nl8NfNNJFw1dTjTbF0 8S+g9ByUcY1e8SLZELJRLVi2117Pmx6K8rFaPKVUlcpxCnLcyHY= =mjGk -----END PGP SIGNATURE-----