New issue by Marie-Joseph on void-packages repository https://github.com/void-linux/void-packages/issues/34752 Description: ## Rationale Currently, ldc is only available for x86 systems. This is likely because it requires an extant D compiler to build, and the template uses dmd since gdc and its gdmd wrapper are not packaged. Dmd only supports x86. What this means in effect is that D is only available to Void users on x86. Fear not! We (and I do intend to work on this so I really do mean we) can bring D to other Void users in three relatively simple steps. ## Steps - [ ] package gdc This is the ldc team's suggested D compiler for bootstrapping ldc and is cross-platform. Gdc is available in gcc sources, and versions <=11.2 use a C++ frontend (no D compiler needed). Since Void uses 10.x anyway, all that's required is to update the template with an option to pass the flag `--enable_languages=d` (like is done now for Ada) and the relevant packaging code. - [ ] package [gdmd](https://github.com/D-Programming-GDC/gdmd) When using gdc to bootstrap ldc, the gdmd frontend is required. It's just a wrapper to make gdc accept the same arguments as ldc and dmd. - [ ] update ldc template to use gdc and gdmd instead of dmd This should be as simple as adding them as dependencies and possibly passing a flag to point ldc's build system at them. Et voilĂ , D will be available to (almost) every Void user, as well as a new frontend and backend for x86 users! And, since there will now be two cross-platform D compilers available in addition to dmd, moving beyond gcc 11.2 shouldn't affect this much. ## Notes Since I need this, I'm going to work on it and will update this issue as I progress. If more capable hands want to take over, feel absolutely free. It'll likely take me several days to a couple weeks to do this (especially since my build machine for testing is a Raspberry Pi 4) and I'm sure others with more experience would be able to do it faster.